From 7cd717205f8b1b1e406f7100462a2fa556145e82 Mon Sep 17 00:00:00 2001 From: Yifeng Zhao Date: Thu, 7 Jan 2021 10:38:10 +0800 Subject: [PATCH] drivers: rknand: zftl: fix to support samsung ss14 8GB NAND FLASH Signed-off-by: Yifeng Zhao Change-Id: I86d47db8988b56d36ae76d08997c840b34f0b0d8 --- drivers/rknand/rk_zftl_arm_v7.S | 22847 +++++++++++++------------ drivers/rknand/rk_zftl_arm_v8.S | 23484 +++++++++++++------------- drivers/rknand/rk_zftl_spl_arm_v8.S | 23403 ++++++++++++------------- 3 files changed, 35799 insertions(+), 33935 deletions(-) diff --git a/drivers/rknand/rk_zftl_arm_v7.S b/drivers/rknand/rk_zftl_arm_v7.S index ff0bc33715..334b778efc 100644 --- a/drivers/rknand/rk_zftl_arm_v7.S +++ b/drivers/rknand/rk_zftl_arm_v7.S @@ -5,7 +5,7 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * date: 2020-11-30 + * date: 2021-01-07 */ .arch armv7-a .eabi_attribute 20, 1 @@ -183,54 +183,62 @@ _list_remove_node: .word .LANCHOR5 .word .LC0 .size _list_remove_node, .-_list_remove_node - .section .text._list_pop_index_node,"ax",%progbits + .section .text.hynix_set_rr_para,"ax",%progbits .align 1 .syntax unified .thumb .thumb_func .fpu softvfp - .type _list_pop_index_node, %function -_list_pop_index_node: + .type hynix_set_rr_para, %function +hynix_set_rr_para: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - push {r3, r4, r5, r6, r7, lr} - ldr r5, [r0] - cbz r5, .L34 - ldr r3, .L35 - movw r6, #65535 - movs r7, #6 - ldr r4, [r3] -.L30: - cbnz r1, .L31 -.L33: - subs r4, r5, r4 - asrs r3, r4, #1 - ldr r4, .L35+4 - muls r4, r3, r4 - uxth r1, r4 - bl _list_remove_node - movw r3, #65535 - uxth r0, r4 - strh r3, [r5] @ movhi - strh r3, [r5, #2] @ movhi - pop {r3, r4, r5, r6, r7, pc} + push {r3, r4, r5, r6, r7, r8, r10, lr} + lsls r7, r0, #8 + ldr r3, .L33 + ldr r4, .L33+4 + ldr r6, [r3] + ldr r8, [r4] + ldrb r2, [r6, #113] @ zero_extendqisi2 + add r4, r6, #112 + ldrb r5, [r6, #112] @ zero_extendqisi2 + add ip, r6, #128 + adds r6, r6, #127 + muls r1, r2, r1 + cmp r5, #8 + it ne + movne r5, #160 + add r2, r2, #-1 + add r10, ip, r2 + add r1, r1, #32 + it ne + smlabbne r1, r5, r0, r1 + add r5, r8, r7 + add r4, r4, r1 + movs r1, #54 + subs r4, r4, #1 + str r1, [r5, #2056] .L31: - ldrh r3, [r5] - cmp r3, r6 - beq .L33 - subs r1, r1, #1 - mla r5, r7, r3, r4 - uxth r1, r1 - b .L30 + cmp r6, r10 + bne .L32 + add r7, r7, r8 + movs r3, #22 + str r3, [r7, #2056] + pop {r3, r4, r5, r6, r7, r8, r10, pc} +.L32: + ldrb r3, [r6, #1]! @ zero_extendqisi2 + movs r0, #1 + str r3, [r5, #2052] + bl udelay + ldrsb r3, [r4, #1]! + str r3, [r5, #2048] + b .L31 .L34: - movw r0, #65535 - pop {r3, r4, r5, r6, r7, pc} -.L36: .align 2 -.L35: - .word .LANCHOR4 - .word -1431655765 - .size _list_pop_index_node, .-_list_pop_index_node +.L33: + .word .LANCHOR6 + .word .LANCHOR7 + .size hynix_set_rr_para, .-hynix_set_rr_para .section .text._insert_free_list,"ax",%progbits .align 1 .syntax unified @@ -241,32 +249,32 @@ _list_pop_index_node: _insert_free_list: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L45 + ldr r3, .L43 push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} ldrh r3, [r3] cmp r3, r1 - bls .L37 + bls .L35 ldrh r3, [r2] movw r10, #65535 ldr r7, [r0] adds r3, r3, #1 strh r3, [r2] @ movhi movs r2, #6 - ldr r3, .L45+4 + ldr r3, .L43+4 mul lr, r2, r1 ldr r5, [r3] add r6, r5, lr strh r10, [r6, #2] @ movhi strh r10, [r5, lr] @ movhi - cbnz r7, .L39 -.L44: + cbnz r7, .L37 +.L42: str r6, [r0] - b .L37 -.L39: - ldr r3, .L45+8 + b .L35 +.L37: + ldr r3, .L43+8 str r2, [sp, #4] ldr ip, [r3] - ldr r3, .L45+12 + ldr r3, .L43+12 ldrh r4, [ip, r1, lsl #2] ldrh r8, [r3] ldr r3, [ip, r1, lsl #2] @@ -278,11 +286,11 @@ _insert_free_list: str r3, [sp] subs r3, r7, r5 asrs r4, r3, #1 - ldr r3, .L45+16 + ldr r3, .L43+16 muls r3, r4, r3 mov r4, r7 uxth r3, r3 -.L42: +.L40: ldr r2, [ip, r3, lsl #2] ldrh fp, [ip, r3, lsl #2] ubfx r2, r2, #11, #8 @@ -292,43 +300,43 @@ _insert_free_list: uxth fp, r2 ldr r2, [sp] cmp r2, fp - bls .L40 + bls .L38 ldrh r2, [r4] cmp r2, r10 - bne .L41 + bne .L39 strh r3, [r6, #2] @ movhi strh r1, [r4] @ movhi -.L37: +.L35: add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L41: +.L39: ldr r3, [sp, #4] mla r4, r3, r2, r5 mov r3, r2 - b .L42 -.L40: + b .L40 +.L38: ldrh r2, [r4, #2] cmp r7, r4 strh r2, [r6, #2] @ movhi strh r3, [r5, lr] @ movhi - bne .L43 + bne .L41 strh r1, [r7, #2] @ movhi - b .L44 -.L43: + b .L42 +.L41: ldrh r2, [r4, #2] movs r3, #6 muls r3, r2, r3 strh r1, [r5, r3] @ movhi strh r1, [r4, #2] @ movhi - b .L37 -.L46: + b .L35 +.L44: .align 2 -.L45: - .word .LANCHOR6 - .word .LANCHOR4 - .word .LANCHOR7 +.L43: .word .LANCHOR8 + .word .LANCHOR4 + .word .LANCHOR9 + .word .LANCHOR10 .word -1431655765 .size _insert_free_list, .-_insert_free_list .section .text._insert_data_list,"ax",%progbits @@ -341,18 +349,18 @@ _insert_free_list: _insert_data_list: @ args = 0, pretend = 0, frame = 24 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L69 + ldr r3, .L67 push {r4, r5, r6, r7, r8, r10, fp, lr} mov lr, r0 sub sp, sp, #24 ldrh r3, [r3] cmp r3, r1 - bls .L47 + bls .L45 ldrh r3, [r2] ldr r0, [r0] adds r3, r3, #1 strh r3, [r2] @ movhi - ldr r3, .L69+4 + ldr r3, .L67+4 ldr r5, [r3] movs r3, #6 mul r10, r3, r1 @@ -360,35 +368,35 @@ _insert_data_list: add r6, r5, r10 strh r3, [r6, #2] @ movhi strh r3, [r5, r10] @ movhi - cbnz r0, .L50 -.L68: + cbnz r0, .L48 +.L66: str r6, [lr] - b .L47 -.L50: - ldr r3, .L69+8 + b .L45 +.L48: + ldr r3, .L67+8 ldrh r7, [r6, #4] ldr r3, [r3] ldrh r4, [r3, r1, lsl #1] muls r4, r7, r4 str r3, [sp, #8] - ldr r3, .L69+12 + ldr r3, .L67+12 str r4, [sp] ldr r8, [r3] ldr r3, [r8, r1, lsl #2] ubfx r2, r3, #11, #8 - ldr r3, .L69+16 + ldr r3, .L67+16 ldrh r3, [r3] str r3, [sp, #12] ldrh r3, [r8, r1, lsl #2] ubfx r3, r3, #0, #11 - beq .L51 + beq .L49 ldrh r4, [sp, #12] smulbb r2, r2, r4 add r3, r3, r2 ldr r2, [sp] uxtah r3, r2, r3 str r3, [sp] -.L51: +.L49: ldr r3, [sp] cmp r7, #0 it eq @@ -398,14 +406,14 @@ _insert_data_list: str r3, [sp] subs r3, r0, r5 asrs r2, r3, #1 - ldr r3, .L69+20 + ldr r3, .L67+20 muls r3, r2, r3 - ldr r2, .L69 + ldr r2, .L67 ldrh r2, [r2] uxth r3, r3 str r2, [sp, #20] mov r2, r0 -.L57: +.L55: ldr r7, [sp, #4] adds r7, r7, #1 uxth r7, r7 @@ -413,9 +421,9 @@ _insert_data_list: str r7, [sp, #4] ldr r7, [sp, #20] cmp r4, r7 - bhi .L47 + bhi .L45 cmp r1, r3 - beq .L47 + beq .L45 ldrh r7, [r2, #4] ldr r4, [r8, r3, lsl #2] ldrh ip, [r8, r3, lsl #2] @@ -433,93 +441,50 @@ _insert_data_list: itt ne addne fp, fp, ip uxtahne r7, r7, fp - cbz r4, .L55 + cbz r4, .L53 ldr r4, [sp] cmp r4, r7 - bls .L55 + bls .L53 ldrh r7, [r2] movw r4, #65535 cmp r7, r4 - bne .L56 + bne .L54 strh r3, [r6, #2] @ movhi strh r1, [r2] @ movhi -.L47: +.L45: add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L56: +.L54: movs r3, #6 mla r2, r3, r7, r5 mov r3, r7 - b .L57 -.L55: + b .L55 +.L53: ldrh r4, [r2, #2] cmp r0, r2 strh r4, [r6, #2] @ movhi strh r3, [r5, r10] @ movhi - bne .L58 + bne .L56 strh r1, [r0, #2] @ movhi - b .L68 -.L58: + b .L66 +.L56: ldrh r0, [r2, #2] movs r3, #6 muls r3, r0, r3 strh r1, [r5, r3] @ movhi strh r1, [r2, #2] @ movhi - b .L47 -.L70: + b .L45 +.L68: .align 2 -.L69: - .word .LANCHOR6 - .word .LANCHOR4 - .word .LANCHOR9 - .word .LANCHOR7 +.L67: .word .LANCHOR8 + .word .LANCHOR4 + .word .LANCHOR11 + .word .LANCHOR9 + .word .LANCHOR10 .word -1431655765 .size _insert_data_list, .-_insert_data_list - .section .text._list_get_gc_head_node.isra.2,"ax",%progbits - .align 1 - .syntax unified - .thumb - .thumb_func - .fpu softvfp - .type _list_get_gc_head_node.isra.2, %function -_list_get_gc_head_node.isra.2: - @ args = 0, pretend = 0, frame = 0 - @ frame_needed = 0, uses_anonymous_args = 0 - push {r4, lr} - cbz r0, .L76 - ldr r3, .L78 - movw r2, #65535 - movs r4, #6 - ldr r3, [r3] -.L73: - cbz r1, .L74 - ldrh r0, [r0] - cmp r0, r2 - bne .L75 - pop {r4, pc} -.L75: - subs r1, r1, #1 - mla r0, r4, r0, r3 - uxth r1, r1 - b .L73 -.L76: - movw r0, #65535 - pop {r4, pc} -.L74: - subs r0, r0, r3 - asrs r3, r0, #1 - ldr r0, .L78+4 - muls r0, r3, r0 - uxth r0, r0 - pop {r4, pc} -.L79: - .align 2 -.L78: - .word .LANCHOR4 - .word -1431655765 - .size _list_get_gc_head_node.isra.2, .-_list_get_gc_head_node.isra.2 .section .text._list_update_data_list,"ax",%progbits .align 1 .syntax unified @@ -530,7 +495,7 @@ _list_get_gc_head_node.isra.2: _list_update_data_list: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L90 + ldr r3, .L79 push {r4, r5, r6, r7, r8, r10, fp, lr} mov r6, r2 mov r7, r0 @@ -538,14 +503,14 @@ _list_update_data_list: ldr r3, [r3] ldrh r2, [r3, #16] cmp r2, r1 - beq .L80 + beq .L69 ldrh r2, [r3, #48] cmp r2, r1 - beq .L80 + beq .L69 ldrh r3, [r3, #80] cmp r3, r1 - beq .L80 - ldr r3, .L90+4 + beq .L69 + ldr r3, .L79+4 movs r5, #6 muls r5, r1, r5 ldr r2, [r0] @@ -553,48 +518,48 @@ _list_update_data_list: mov r8, r3 add r10, fp, r5 cmp r10, r2 - beq .L80 + beq .L69 ldrh r3, [r10, #2] movw r2, #65535 cmp r3, r2 - bne .L84 + bne .L73 ldrh r2, [fp, r5] cmp r2, r3 - bne .L84 + bne .L73 movw r2, #273 - ldr r1, .L90+8 - ldr r0, .L90+12 + ldr r1, .L79+8 + ldr r0, .L79+12 bl printf -.L84: +.L73: ldrh r3, [r10, #2] movw r2, #65535 cmp r3, r2 - bne .L85 + bne .L74 ldrh r2, [fp, r5] cmp r2, r3 - beq .L80 -.L85: - ldr r2, .L90+16 + beq .L69 +.L74: + ldr r2, .L79+16 ldr r0, [r2] ldrh r2, [r10, #4] ldrh r1, [r0, r4, lsl #1] - cbz r2, .L88 + cbz r2, .L77 muls r2, r1, r2 -.L86: +.L75: movs r1, #6 muls r1, r3, r1 - ldr r3, .L90+20 + ldr r3, .L79+20 asrs r5, r1, #1 muls r3, r5, r3 ldrh r5, [r0, r3, lsl #1] ldr r0, [r8] add r1, r1, r0 ldrh r3, [r1, #4] - cbz r3, .L89 + cbz r3, .L78 muls r3, r5, r3 -.L87: +.L76: cmp r2, r3 - bcs .L80 + bcs .L69 mov r2, r6 mov r1, r4 mov r0, r7 @@ -604,445 +569,47 @@ _list_update_data_list: mov r0, r7 pop {r4, r5, r6, r7, r8, r10, fp, lr} b _insert_data_list -.L88: +.L77: mov r2, #-1 - b .L86 -.L89: + b .L75 +.L78: mov r3, #-1 - b .L87 -.L80: + b .L76 +.L69: pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L91: +.L80: .align 2 -.L90: - .word .LANCHOR10 +.L79: + .word .LANCHOR12 .word .LANCHOR4 - .word .LANCHOR11 + .word .LANCHOR13 .word .LC0 - .word .LANCHOR9 + .word .LANCHOR11 .word -1431655765 .size _list_update_data_list, .-_list_update_data_list - .section .text.zftl_get_gc_node.part.9,"ax",%progbits + .section .text.nandc_de_cs.constprop.32,"ax",%progbits .align 1 .syntax unified .thumb .thumb_func .fpu softvfp - .type zftl_get_gc_node.part.9, %function -zftl_get_gc_node.part.9: + .type nandc_de_cs.constprop.32, %function +nandc_de_cs.constprop.32: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L93 - mov r1, r0 - ldr r0, [r3] - b _list_get_gc_head_node.isra.2 -.L94: - .align 2 -.L93: - .word .LANCHOR12 - .size zftl_get_gc_node.part.9, .-zftl_get_gc_node.part.9 - .section .text.nandc_de_cs.constprop.33,"ax",%progbits - .align 1 - .syntax unified - .thumb - .thumb_func - .fpu softvfp - .type nandc_de_cs.constprop.33, %function -nandc_de_cs.constprop.33: - @ args = 0, pretend = 0, frame = 0 - @ frame_needed = 0, uses_anonymous_args = 0 - @ link register save eliminated. - ldr r3, .L96 + ldr r3, .L82 ldr r2, [r3] ldr r3, [r2] bfc r3, #0, #8 bfc r3, #17, #1 str r3, [r2] bx lr -.L97: +.L83: .align 2 -.L96: - .word .LANCHOR13 - .size nandc_de_cs.constprop.33, .-nandc_de_cs.constprop.33 - .section .text.nand_flash_print_info,"ax",%progbits - .align 1 - .global nand_flash_print_info - .syntax unified - .thumb - .thumb_func - .fpu softvfp - .type nand_flash_print_info, %function -nand_flash_print_info: - @ args = 0, pretend = 0, frame = 0 - @ frame_needed = 0, uses_anonymous_args = 0 - push {r4, r5, lr} - sub sp, sp, #20 - ldr r4, .L216 - ldr r3, [r4] - lsls r5, r3, #19 - bpl .L99 - ldr r1, .L216+4 - ldr r0, .L216+8 - bl printf -.L99: - ldr r3, [r4] - lsls r0, r3, #19 - bpl .L100 - ldr r3, .L216+12 - ldr r0, [r3] - ldrb r5, [r0, #6] @ zero_extendqisi2 - ldrb r3, [r0, #3] @ zero_extendqisi2 - ldrb r2, [r0, #2] @ zero_extendqisi2 - ldrb r1, [r0, #1] @ zero_extendqisi2 - str r5, [sp, #8] - ldrb r5, [r0, #5] @ zero_extendqisi2 - str r5, [sp, #4] - ldrb r0, [r0, #4] @ zero_extendqisi2 - str r0, [sp] - ldr r0, .L216+16 - bl printf -.L100: - ldr r3, [r4] - lsls r1, r3, #19 - bpl .L101 - ldr r3, .L216+12 - ldr r0, .L216+20 - ldr r3, [r3] - ldrb r1, [r3, #8] @ zero_extendqisi2 - bl printf -.L101: - ldr r3, [r4] - lsls r2, r3, #19 - bpl .L102 - ldr r3, .L216+12 - ldr r0, .L216+24 - ldr r3, [r3] - ldrb r1, [r3, #9] @ zero_extendqisi2 - bl printf -.L102: - ldr r3, [r4] - lsls r3, r3, #19 - bpl .L103 - ldr r3, .L216+12 - ldr r0, .L216+28 - ldr r3, [r3] - ldrh r1, [r3, #10] - bl printf -.L103: - ldr r3, [r4] - lsls r5, r3, #19 - bpl .L104 - ldr r3, .L216+12 - ldr r0, .L216+32 - ldr r3, [r3] - ldrb r1, [r3, #12] @ zero_extendqisi2 - bl printf -.L104: - ldr r3, [r4] - lsls r0, r3, #19 - bpl .L105 - ldr r3, .L216+12 - ldr r0, .L216+36 - ldr r3, [r3] - ldrb r1, [r3, #13] @ zero_extendqisi2 - bl printf -.L105: - ldr r3, [r4] - lsls r1, r3, #19 - bpl .L106 - ldr r3, .L216+12 - ldr r0, .L216+40 - ldr r3, [r3] - ldrh r1, [r3, #14] - bl printf -.L106: - ldr r3, [r4] - lsls r2, r3, #19 - bpl .L107 - ldr r3, .L216+12 - ldr r0, .L216+44 - ldr r3, [r3] - ldrb r1, [r3, #23] @ zero_extendqisi2 - bl printf -.L107: - ldr r3, [r4] - lsls r3, r3, #19 - bpl .L108 - ldr r3, .L216+12 - ldr r0, .L216+48 - ldr r3, [r3] - ldrb r1, [r3, #18] @ zero_extendqisi2 - bl printf -.L108: - ldr r3, [r4] - lsls r5, r3, #19 - bpl .L109 - ldr r3, .L216+12 - ldr r0, .L216+52 - ldr r3, [r3] - ldrb r1, [r3, #19] @ zero_extendqisi2 - bl printf -.L109: - ldr r3, [r4] - lsls r0, r3, #19 - bpl .L110 - ldr r3, .L216+12 - ldr r0, .L216+56 - ldr r3, [r3] - ldrb r1, [r3, #20] @ zero_extendqisi2 - bl printf -.L110: - ldr r3, [r4] - lsls r1, r3, #19 - bpl .L111 - ldr r3, .L216+60 - ldr r0, .L216+64 - ldrb r1, [r3] @ zero_extendqisi2 - bl printf -.L111: - ldr r3, [r4] - lsls r2, r3, #19 - bpl .L112 - ldr r3, .L216+12 - ldr r0, .L216+68 - ldr r3, [r3] - ldrb r1, [r3, #22] @ zero_extendqisi2 - bl printf -.L112: - ldr r3, [r4] - lsls r3, r3, #19 - bpl .L113 - ldr r3, .L216+72 - ldr r0, .L216+76 - ldrb r1, [r3] @ zero_extendqisi2 - bl printf -.L113: - ldr r3, [r4] - lsls r5, r3, #19 - bpl .L114 - ldr r3, .L216+12 - ldr r0, .L216+80 - ldr r3, [r3] - ldrb r1, [r3, #16] @ zero_extendqisi2 - and r1, r1, #1 - bl printf -.L114: - ldr r3, [r4] - lsls r0, r3, #19 - bpl .L115 - ldr r3, .L216+12 - ldr r0, .L216+84 - ldr r3, [r3] - ldrh r1, [r3, #16] - ubfx r1, r1, #1, #1 - bl printf -.L115: - ldr r3, [r4] - lsls r1, r3, #19 - bpl .L116 - ldr r3, .L216+12 - ldr r0, .L216+88 - ldr r3, [r3] - ldrh r1, [r3, #16] - ubfx r1, r1, #2, #1 - bl printf -.L116: - ldr r3, [r4] - lsls r2, r3, #19 - bpl .L117 - ldr r3, .L216+12 - ldr r0, .L216+92 - ldr r3, [r3] - ldrh r1, [r3, #16] - ubfx r1, r1, #3, #1 - bl printf -.L117: - ldr r3, [r4] - lsls r3, r3, #19 - bpl .L118 - ldr r3, .L216+12 - ldr r0, .L216+96 - ldr r3, [r3] - ldrh r1, [r3, #16] - ubfx r1, r1, #4, #1 - bl printf -.L118: - ldr r3, [r4] - lsls r5, r3, #19 - bpl .L119 - ldr r3, .L216+12 - ldr r0, .L216+100 - ldr r3, [r3] - ldrh r1, [r3, #16] - ubfx r1, r1, #5, #1 - bl printf -.L119: - ldr r3, [r4] - lsls r0, r3, #19 - bpl .L120 - ldr r3, .L216+12 - ldr r0, .L216+104 - ldr r3, [r3] - ldrh r1, [r3, #16] - ubfx r1, r1, #6, #1 - bl printf -.L120: - ldr r3, [r4] - lsls r1, r3, #19 - bpl .L121 - ldr r3, .L216+12 - ldr r0, .L216+108 - ldr r3, [r3] - ldrh r1, [r3, #16] - ubfx r1, r1, #7, #1 - bl printf -.L121: - ldr r3, [r4] - lsls r2, r3, #19 - bpl .L122 - ldr r3, .L216+12 - ldr r0, .L216+112 - ldr r3, [r3] - ldrh r1, [r3, #16] - ubfx r1, r1, #8, #1 - bl printf -.L122: - ldr r3, [r4] - lsls r3, r3, #19 - bpl .L123 - ldr r3, .L216+12 - ldr r0, .L216+116 - ldr r3, [r3] - ldrh r1, [r3, #16] - ubfx r1, r1, #9, #1 - bl printf -.L123: - ldr r3, [r4] - lsls r5, r3, #19 - bpl .L124 - ldr r3, .L216+12 - ldr r0, .L216+120 - ldr r3, [r3] - ldrh r1, [r3, #16] - ubfx r1, r1, #10, #1 - bl printf -.L124: - ldr r3, [r4] - lsls r0, r3, #19 - bpl .L125 - ldr r3, .L216+124 - ldr r0, .L216+128 - ldrb r2, [r3] @ zero_extendqisi2 - ldr r3, .L216+132 - ldrb r1, [r3] @ zero_extendqisi2 - bl printf -.L125: - ldr r3, [r4] - lsls r1, r3, #19 - bpl .L126 - ldr r3, .L216+136 - ldr r0, .L216+140 - ldrb r2, [r3, #11] @ zero_extendqisi2 - ldrb r1, [r3, #10] @ zero_extendqisi2 - bl printf -.L126: - ldr r3, [r4] - lsls r2, r3, #19 - bpl .L127 - ldr r3, .L216+136 - ldr r0, .L216+144 - ldrb r2, [r3, #9] @ zero_extendqisi2 - ldrb r1, [r3, #8] @ zero_extendqisi2 - bl printf -.L127: - ldr r3, [r4] - lsls r3, r3, #19 - bpl .L98 - ldr r3, .L216+148 - b .L217 -.L218: - .align 2 -.L216: - .word .LANCHOR14 - .word .LANCHOR15 - .word .LC1 - .word .LANCHOR16 - .word .LC2 - .word .LC3 - .word .LC4 - .word .LC5 - .word .LC6 - .word .LC7 - .word .LC8 - .word .LC9 - .word .LC10 - .word .LC11 - .word .LC12 - .word .LANCHOR17 - .word .LC13 - .word .LC14 - .word .LANCHOR18 - .word .LC15 - .word .LC16 - .word .LC17 - .word .LC18 - .word .LC19 - .word .LC20 - .word .LC21 - .word .LC22 - .word .LC23 - .word .LC24 - .word .LC25 - .word .LC26 - .word .LANCHOR19 - .word .LC27 - .word .LANCHOR0 - .word .LANCHOR20 - .word .LC28 - .word .LC29 - .word .LANCHOR21 -.L217: - ldr r0, .L219 - ldrb r1, [r3] @ zero_extendqisi2 - add sp, sp, #20 - @ sp needed - pop {r4, r5, lr} - b printf -.L98: - add sp, sp, #20 - @ sp needed - pop {r4, r5, pc} -.L220: - .align 2 -.L219: - .word .LC30 - .size nand_flash_print_info, .-nand_flash_print_info - .section .text.timer_delay_ns,"ax",%progbits - .align 1 - .global timer_delay_ns - .syntax unified - .thumb - .thumb_func - .fpu softvfp - .type timer_delay_ns, %function -timer_delay_ns: - @ args = 0, pretend = 0, frame = 8 - @ frame_needed = 0, uses_anonymous_args = 0 - @ link register save eliminated. - lsrs r0, r0, #4 - sub sp, sp, #8 - str r0, [sp, #4] -.L222: - ldr r3, [sp, #4] - subs r2, r3, #1 - str r2, [sp, #4] - cmp r3, #0 - bne .L222 - add sp, sp, #8 - @ sp needed - bx lr - .size timer_delay_ns, .-timer_delay_ns +.L82: + .word .LANCHOR7 + .size nandc_de_cs.constprop.32, .-nandc_de_cs.constprop.32 .section .text.flash_read_status,"ax",%progbits .align 1 .global flash_read_status @@ -1054,15 +621,15 @@ timer_delay_ns: flash_read_status: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - push {r3, lr} movs r3, #112 - mov r1, r0 + push {r4, lr} + mov r4, r0 str r3, [r0, #8] - movs r0, #120 - bl timer_delay_ns - ldr r0, [r1] + movs r0, #1 + bl udelay + ldr r0, [r4] uxtb r0, r0 - pop {r3, pc} + pop {r4, pc} .size flash_read_status, .-flash_read_status .section .text.toshiba_set_rr_para,"ax",%progbits .align 1 @@ -1075,112 +642,57 @@ flash_read_status: toshiba_set_rr_para: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - push {r4, r5, r6, r7, r8, lr} - add r6, r1, r1, lsl #2 - ldr r8, .L233+16 + push {r3, r4, r5, r6, r7, r8, r10, lr} + add r7, r1, r1, lsl #2 + ldr r10, .L93+12 mov r5, r0 + mov r6, r1 movs r4, #0 - ldr r7, .L233 -.L226: - ldrb r3, [r8] @ zero_extendqisi2 + ldr r8, .L93+16 +.L86: + ldrb r3, [r10] @ zero_extendqisi2 cmp r4, r3 - bcc .L230 - pop {r4, r5, r6, r7, r8, pc} -.L230: + bcc .L90 + pop {r3, r4, r5, r6, r7, r8, r10, pc} +.L90: movs r3, #85 - movs r0, #200 + movs r0, #1 str r3, [r5, #8] - ldrsb r3, [r4, r7] + ldrsb r3, [r4, r8] str r3, [r5, #4] - bl timer_delay_ns - ldr r3, .L233+4 + bl udelay + ldr r3, .L93 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #34 - bne .L227 - adds r3, r4, r6 - add r3, r3, r7 -.L232: + bne .L87 + adds r3, r4, r7 + add r3, r3, r8 +.L92: ldrsb r3, [r3, #5] -.L231: +.L91: str r3, [r5] adds r4, r4, #1 - b .L226 -.L227: + b .L86 +.L87: cmp r3, #35 - bne .L229 - ldr r3, .L233+8 - adds r2, r4, r6 + bne .L89 + ldr r3, .L93+4 + adds r2, r4, r7 add r3, r3, r2 - b .L232 -.L229: - ldr r3, .L233+12 - ldrsb r3, [r3, r1] - b .L231 -.L234: + b .L92 +.L89: + ldr r3, .L93+8 + ldrsb r3, [r3, r6] + b .L91 +.L94: .align 2 -.L233: - .word .LANCHOR22 - .word .LANCHOR23 - .word .LANCHOR24 - .word .LANCHOR25 - .word .LANCHOR26 +.L93: + .word .LANCHOR15 + .word .LANCHOR16 + .word .LANCHOR17 + .word .LANCHOR18 + .word .LANCHOR14 .size toshiba_set_rr_para, .-toshiba_set_rr_para - .section .text.hynix_set_rr_para,"ax",%progbits - .align 1 - .syntax unified - .thumb - .thumb_func - .fpu softvfp - .type hynix_set_rr_para, %function -hynix_set_rr_para: - @ args = 0, pretend = 0, frame = 0 - @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L240 - push {r4, r5, r6, r7, r8, lr} - lsls r6, r0, #8 - ldr r4, .L240+4 - ldr r3, [r3] - ldr r7, [r4] - ldrb r2, [r3, #113] @ zero_extendqisi2 - add ip, r3, #128 - ldrb r5, [r3, #112] @ zero_extendqisi2 - mul r4, r1, r2 - cmp r5, #8 - it ne - movne r5, #160 - add r1, r3, #112 - add r2, r2, #-1 - add r8, ip, r2 - add r4, r4, #32 - it ne - smlabbne r4, r5, r0, r4 - add r5, r3, #127 - movs r0, #54 - add r1, r1, r4 - adds r4, r7, r6 - subs r1, r1, #1 - str r0, [r4, #2056] -.L238: - cmp r5, r8 - bne .L239 - add r6, r6, r7 - movs r3, #22 - str r3, [r6, #2056] - pop {r4, r5, r6, r7, r8, pc} -.L239: - ldrb r3, [r5, #1]! @ zero_extendqisi2 - movs r0, #120 - str r3, [r4, #2052] - bl timer_delay_ns - ldrsb r3, [r1, #1]! - str r3, [r4, #2048] - b .L238 -.L241: - .align 2 -.L240: - .word .LANCHOR27 - .word .LANCHOR13 - .size hynix_set_rr_para, .-hynix_set_rr_para .section .text.hynix_reconfig_rr_para,"ax",%progbits .align 1 .global hynix_reconfig_rr_para @@ -1194,30 +706,405 @@ hynix_reconfig_rr_para: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, lr} mov r4, r0 - ldr r3, .L247 + ldr r3, .L100 ldrb r3, [r3] @ zero_extendqisi2 subs r3, r3, #1 cmp r3, #7 - bhi .L242 - ldr r5, .L247+4 + bhi .L95 + ldr r5, .L100+4 ldr r3, [r5] add r3, r3, r0 ldrb r3, [r3, #120] @ zero_extendqisi2 - cbz r3, .L242 + cbz r3, .L95 movs r1, #0 bl hynix_set_rr_para ldr r0, [r5] movs r3, #0 add r0, r0, r4 strb r3, [r0, #120] -.L242: +.L95: pop {r3, r4, r5, pc} -.L248: +.L101: .align 2 -.L247: - .word .LANCHOR23 - .word .LANCHOR27 +.L100: + .word .LANCHOR15 + .word .LANCHOR6 .size hynix_reconfig_rr_para, .-hynix_reconfig_rr_para + .section .text.nand_flash_print_info,"ax",%progbits + .align 1 + .global nand_flash_print_info + .syntax unified + .thumb + .thumb_func + .fpu softvfp + .type nand_flash_print_info, %function +nand_flash_print_info: + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + push {r4, r5, lr} + sub sp, sp, #20 + ldr r4, .L220 + ldr r3, [r4] + lsls r5, r3, #19 + bpl .L103 + ldr r1, .L220+4 + ldr r0, .L220+8 + bl printf +.L103: + ldr r3, [r4] + lsls r0, r3, #19 + bpl .L104 + ldr r3, .L220+12 + ldr r0, [r3] + ldrb r5, [r0, #6] @ zero_extendqisi2 + ldrb r3, [r0, #3] @ zero_extendqisi2 + ldrb r2, [r0, #2] @ zero_extendqisi2 + ldrb r1, [r0, #1] @ zero_extendqisi2 + str r5, [sp, #8] + ldrb r5, [r0, #5] @ zero_extendqisi2 + str r5, [sp, #4] + ldrb r0, [r0, #4] @ zero_extendqisi2 + str r0, [sp] + ldr r0, .L220+16 + bl printf +.L104: + ldr r3, [r4] + lsls r1, r3, #19 + bpl .L105 + ldr r3, .L220+12 + ldr r0, .L220+20 + ldr r3, [r3] + ldrb r1, [r3, #8] @ zero_extendqisi2 + bl printf +.L105: + ldr r3, [r4] + lsls r2, r3, #19 + bpl .L106 + ldr r3, .L220+12 + ldr r0, .L220+24 + ldr r3, [r3] + ldrb r1, [r3, #9] @ zero_extendqisi2 + bl printf +.L106: + ldr r3, [r4] + lsls r3, r3, #19 + bpl .L107 + ldr r3, .L220+12 + ldr r0, .L220+28 + ldr r3, [r3] + ldrh r1, [r3, #10] + bl printf +.L107: + ldr r3, [r4] + lsls r5, r3, #19 + bpl .L108 + ldr r3, .L220+12 + ldr r0, .L220+32 + ldr r3, [r3] + ldrb r1, [r3, #12] @ zero_extendqisi2 + bl printf +.L108: + ldr r3, [r4] + lsls r0, r3, #19 + bpl .L109 + ldr r3, .L220+12 + ldr r0, .L220+36 + ldr r3, [r3] + ldrb r1, [r3, #13] @ zero_extendqisi2 + bl printf +.L109: + ldr r3, [r4] + lsls r1, r3, #19 + bpl .L110 + ldr r3, .L220+12 + ldr r0, .L220+40 + ldr r3, [r3] + ldrh r1, [r3, #14] + bl printf +.L110: + ldr r3, [r4] + lsls r2, r3, #19 + bpl .L111 + ldr r3, .L220+12 + ldr r0, .L220+44 + ldr r3, [r3] + ldrb r1, [r3, #23] @ zero_extendqisi2 + bl printf +.L111: + ldr r3, [r4] + lsls r3, r3, #19 + bpl .L112 + ldr r3, .L220+12 + ldr r0, .L220+48 + ldr r3, [r3] + ldrb r1, [r3, #18] @ zero_extendqisi2 + bl printf +.L112: + ldr r3, [r4] + lsls r5, r3, #19 + bpl .L113 + ldr r3, .L220+12 + ldr r0, .L220+52 + ldr r3, [r3] + ldrb r1, [r3, #19] @ zero_extendqisi2 + bl printf +.L113: + ldr r3, [r4] + lsls r0, r3, #19 + bpl .L114 + ldr r3, .L220+12 + ldr r0, .L220+56 + ldr r3, [r3] + ldrb r1, [r3, #20] @ zero_extendqisi2 + bl printf +.L114: + ldr r3, [r4] + lsls r1, r3, #19 + bpl .L115 + ldr r3, .L220+60 + ldr r0, .L220+64 + ldrb r1, [r3] @ zero_extendqisi2 + bl printf +.L115: + ldr r3, [r4] + lsls r2, r3, #19 + bpl .L116 + ldr r3, .L220+12 + ldr r0, .L220+68 + ldr r3, [r3] + ldrb r1, [r3, #22] @ zero_extendqisi2 + bl printf +.L116: + ldr r3, [r4] + lsls r3, r3, #19 + bpl .L117 + ldr r3, .L220+72 + ldr r0, .L220+76 + ldrb r1, [r3] @ zero_extendqisi2 + bl printf +.L117: + ldr r3, [r4] + lsls r5, r3, #19 + bpl .L118 + ldr r3, .L220+12 + ldr r0, .L220+80 + ldr r3, [r3] + ldrb r1, [r3, #16] @ zero_extendqisi2 + and r1, r1, #1 + bl printf +.L118: + ldr r3, [r4] + lsls r0, r3, #19 + bpl .L119 + ldr r3, .L220+12 + ldr r0, .L220+84 + ldr r3, [r3] + ldrh r1, [r3, #16] + ubfx r1, r1, #1, #1 + bl printf +.L119: + ldr r3, [r4] + lsls r1, r3, #19 + bpl .L120 + ldr r3, .L220+12 + ldr r0, .L220+88 + ldr r3, [r3] + ldrh r1, [r3, #16] + ubfx r1, r1, #2, #1 + bl printf +.L120: + ldr r3, [r4] + lsls r2, r3, #19 + bpl .L121 + ldr r3, .L220+12 + ldr r0, .L220+92 + ldr r3, [r3] + ldrh r1, [r3, #16] + ubfx r1, r1, #3, #1 + bl printf +.L121: + ldr r3, [r4] + lsls r3, r3, #19 + bpl .L122 + ldr r3, .L220+12 + ldr r0, .L220+96 + ldr r3, [r3] + ldrh r1, [r3, #16] + ubfx r1, r1, #4, #1 + bl printf +.L122: + ldr r3, [r4] + lsls r5, r3, #19 + bpl .L123 + ldr r3, .L220+12 + ldr r0, .L220+100 + ldr r3, [r3] + ldrh r1, [r3, #16] + ubfx r1, r1, #5, #1 + bl printf +.L123: + ldr r3, [r4] + lsls r0, r3, #19 + bpl .L124 + ldr r3, .L220+12 + ldr r0, .L220+104 + ldr r3, [r3] + ldrh r1, [r3, #16] + ubfx r1, r1, #6, #1 + bl printf +.L124: + ldr r3, [r4] + lsls r1, r3, #19 + bpl .L125 + ldr r3, .L220+12 + ldr r0, .L220+108 + ldr r3, [r3] + ldrh r1, [r3, #16] + ubfx r1, r1, #7, #1 + bl printf +.L125: + ldr r3, [r4] + lsls r2, r3, #19 + bpl .L126 + ldr r3, .L220+12 + ldr r0, .L220+112 + ldr r3, [r3] + ldrh r1, [r3, #16] + ubfx r1, r1, #8, #1 + bl printf +.L126: + ldr r3, [r4] + lsls r3, r3, #19 + bpl .L127 + ldr r3, .L220+12 + ldr r0, .L220+116 + ldr r3, [r3] + ldrh r1, [r3, #16] + ubfx r1, r1, #9, #1 + bl printf +.L127: + ldr r3, [r4] + lsls r5, r3, #19 + bpl .L128 + ldr r3, .L220+12 + ldr r0, .L220+120 + ldr r3, [r3] + ldrh r1, [r3, #16] + ubfx r1, r1, #10, #1 + bl printf +.L128: + ldr r3, [r4] + lsls r0, r3, #19 + bpl .L129 + ldr r3, .L220+124 + ldr r0, .L220+128 + ldrb r2, [r3] @ zero_extendqisi2 + ldr r3, .L220+132 + ldrb r1, [r3] @ zero_extendqisi2 + bl printf +.L129: + ldr r3, [r4] + lsls r1, r3, #19 + bpl .L130 + ldr r3, .L220+136 + ldr r0, .L220+140 + ldrb r2, [r3, #11] @ zero_extendqisi2 + ldrb r1, [r3, #10] @ zero_extendqisi2 + bl printf +.L130: + ldr r3, [r4] + lsls r2, r3, #19 + bpl .L131 + ldr r3, .L220+136 + ldr r0, .L220+144 + ldrb r2, [r3, #9] @ zero_extendqisi2 + ldrb r1, [r3, #8] @ zero_extendqisi2 + bl printf +.L131: + ldr r3, [r4] + lsls r3, r3, #19 + bpl .L102 + ldr r3, .L220+148 + b .L221 +.L222: + .align 2 +.L220: + .word .LANCHOR19 + .word .LANCHOR20 + .word .LC1 + .word .LANCHOR21 + .word .LC2 + .word .LC3 + .word .LC4 + .word .LC5 + .word .LC6 + .word .LC7 + .word .LC8 + .word .LC9 + .word .LC10 + .word .LC11 + .word .LC12 + .word .LANCHOR22 + .word .LC13 + .word .LC14 + .word .LANCHOR23 + .word .LC15 + .word .LC16 + .word .LC17 + .word .LC18 + .word .LC19 + .word .LC20 + .word .LC21 + .word .LC22 + .word .LC23 + .word .LC24 + .word .LC25 + .word .LC26 + .word .LANCHOR24 + .word .LC27 + .word .LANCHOR0 + .word .LANCHOR25 + .word .LC28 + .word .LC29 + .word .LANCHOR26 +.L221: + ldr r0, .L223 + ldrb r1, [r3] @ zero_extendqisi2 + add sp, sp, #20 + @ sp needed + pop {r4, r5, lr} + b printf +.L102: + add sp, sp, #20 + @ sp needed + pop {r4, r5, pc} +.L224: + .align 2 +.L223: + .word .LC30 + .size nand_flash_print_info, .-nand_flash_print_info + .section .text.timer_delay_ns,"ax",%progbits + .align 1 + .global timer_delay_ns + .syntax unified + .thumb + .thumb_func + .fpu softvfp + .type timer_delay_ns, %function +timer_delay_ns: + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + @ link register save eliminated. + ldr r3, .L226 + addw r0, r0, #999 + umull r0, r1, r0, r3 + lsrs r0, r1, #6 + b udelay +.L227: + .align 2 +.L226: + .word 274877907 + .size timer_delay_ns, .-timer_delay_ns .section .text.nandc_set_ddr_para,"ax",%progbits .align 1 .global nandc_set_ddr_para @@ -1230,8 +1117,8 @@ nandc_set_ddr_para: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L252 - ldr r2, .L252+4 + ldr r3, .L231 + ldr r2, .L231+4 ldrb r3, [r3] @ zero_extendqisi2 ldr r2, [r2] cmp r3, #9 @@ -1243,11 +1130,11 @@ nandc_set_ddr_para: streq r3, [r2, #80] strne r3, [r2, #304] bx lr -.L253: +.L232: .align 2 -.L252: - .word .LANCHOR28 - .word .LANCHOR13 +.L231: + .word .LANCHOR27 + .word .LANCHOR7 .size nandc_set_ddr_para, .-nandc_set_ddr_para .section .text.nandc_get_ddr_para,"ax",%progbits .align 1 @@ -1261,21 +1148,21 @@ nandc_get_ddr_para: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L258 + ldr r3, .L237 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #9 - ldr r3, .L258+4 + ldr r3, .L237+4 ldr r3, [r3] ite eq ldreq r0, [r3, #80] ldrne r0, [r3, #304] ubfx r0, r0, #8, #8 bx lr -.L259: +.L238: .align 2 -.L258: - .word .LANCHOR28 - .word .LANCHOR13 +.L237: + .word .LANCHOR27 + .word .LANCHOR7 .size nandc_get_ddr_para, .-nandc_get_ddr_para .section .text.nandc_set_if_mode,"ax",%progbits .align 1 @@ -1289,13 +1176,13 @@ nandc_set_if_mode: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L268 + ldr r3, .L247 ands r1, r0, #6 ldr r3, [r3] ldr r2, [r3] - beq .L261 + beq .L240 lsls r1, r0, #29 - ldr r1, .L268+4 + ldr r1, .L247+4 orr r2, r2, #24576 bfc r2, #15, #1 ldrb r1, [r1] @ zero_extendqisi2 @@ -1303,8 +1190,8 @@ nandc_set_if_mode: it mi orrmi r2, r2, #32768 cmp r1, #9 - ldr r1, .L268+8 - bne .L263 + ldr r1, .L247+8 + bne .L242 movw r0, #8321 str r0, [r3, #8] str r1, [r3, #80] @@ -1312,10 +1199,10 @@ nandc_set_if_mode: str r1, [r3, #84] movs r1, #39 str r1, [r3, #84] -.L264: +.L243: str r2, [r3] bx lr -.L263: +.L242: movw r0, #8322 str r0, [r3, #344] str r1, [r3, #304] @@ -1323,15 +1210,15 @@ nandc_set_if_mode: str r1, [r3, #308] movs r1, #39 str r1, [r3, #308] - b .L264 -.L261: + b .L243 +.L240: bfi r2, r1, #13, #1 - b .L264 -.L269: + b .L243 +.L248: .align 2 -.L268: - .word .LANCHOR13 - .word .LANCHOR28 +.L247: + .word .LANCHOR7 + .word .LANCHOR27 .word 1052675 .size nandc_set_if_mode, .-nandc_set_if_mode .section .text.nandc_cs,"ax",%progbits @@ -1346,7 +1233,7 @@ nandc_cs: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L271 + ldr r3, .L250 movs r2, #1 lsl r0, r2, r0 ldr r1, [r3] @@ -1354,10 +1241,10 @@ nandc_cs: bfi r3, r0, #0, #8 str r3, [r1] bx lr -.L272: +.L251: .align 2 -.L271: - .word .LANCHOR13 +.L250: + .word .LANCHOR7 .size nandc_cs, .-nandc_cs .section .text.flash_wait_device_ready_raw,"ax",%progbits .align 1 @@ -1370,60 +1257,60 @@ nandc_cs: flash_wait_device_ready_raw: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L283 + ldr r3, .L262 push {r4, r5, r6, r7, r8, r10, fp, lr} mov r4, r0 mov r5, r1 mov fp, r2 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, r0 - bhi .L274 - movw r2, #805 - ldr r1, .L283+4 - ldr r0, .L283+8 + bhi .L253 + mov r2, #812 + ldr r1, .L262+4 + ldr r0, .L262+8 bl printf -.L274: - ldr r3, .L283+12 +.L253: + ldr r3, .L262+12 lsrs r7, r5, #8 lsr r8, r5, #16 lsr r10, r5, #24 ldrb r6, [r3, r4] @ zero_extendqisi2 - ldr r3, .L283+16 + ldr r3, .L262+16 ldr r4, [r3] add r4, r4, r6, lsl #8 -.L280: +.L259: mov r0, r6 bl nandc_cs movs r3, #120 str r3, [r4, #2056] uxtb r3, r5 str r3, [r4, #2052] - ldr r3, .L283+20 + ldr r3, .L262+20 str r7, [r4, #2052] str r8, [r4, #2052] ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L275 + cbz r3, .L254 str r10, [r4, #2052] -.L275: - movs r0, #120 - bl timer_delay_ns +.L254: + movs r0, #1 + bl udelay ldr r0, [r4, #2048] uxtb r0, r0 - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 bics r3, fp, r0 - bne .L280 + bne .L259 cmp r0, #255 - beq .L280 + beq .L259 pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L284: +.L263: .align 2 -.L283: - .word .LANCHOR18 - .word .LANCHOR29 +.L262: + .word .LANCHOR23 + .word .LANCHOR28 .word .LC0 + .word .LANCHOR29 + .word .LANCHOR7 .word .LANCHOR30 - .word .LANCHOR13 - .word .LANCHOR31 .size flash_wait_device_ready_raw, .-flash_wait_device_ready_raw .section .text.flash_wait_device_ready,"ax",%progbits .align 1 @@ -1438,7 +1325,7 @@ flash_wait_device_ready: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, r6, r7, r8, r10, lr} tst r0, #50331648 - ldr r3, .L295 + ldr r3, .L274 mov r7, r1 ldrb r5, [r3] @ zero_extendqisi2 mov r3, #1 @@ -1451,15 +1338,15 @@ flash_wait_device_ready: and r5, r5, r6 and r4, r4, r0 uxtb r5, r5 - bne .L286 - ldr r3, .L295+4 - ldr r10, .L295+16 + bne .L265 + ldr r3, .L274+4 + ldr r10, .L274+16 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L287 + cbz r3, .L266 ldrb r3, [r10] @ zero_extendqisi2 - cbz r3, .L286 -.L287: - ldr r3, .L295+8 + cbz r3, .L265 +.L266: + ldr r3, .L274+8 mov r0, r4 ldrh r6, [r3] mov r1, r6 @@ -1469,23 +1356,23 @@ flash_wait_device_ready: mov r0, r4 bl __aeabi_uidivmod ldrb r3, [r10] @ zero_extendqisi2 - cbz r3, .L288 + cbz r3, .L267 add r4, r8, r1, lsl #1 -.L286: +.L265: mov r2, r7 mov r1, r4 mov r0, r5 pop {r3, r4, r5, r6, r7, r8, r10, lr} b flash_wait_device_ready_raw -.L288: - ldr r3, .L295+12 +.L267: + ldr r3, .L274+12 ldrh r4, [r3, r1, lsl #1] add r4, r4, r8 - b .L286 -.L296: + b .L265 +.L275: .align 2 -.L295: - .word .LANCHOR32 +.L274: + .word .LANCHOR31 .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR3 @@ -1503,17 +1390,17 @@ nandc_de_cs: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L298 + ldr r3, .L277 ldr r2, [r3] ldr r3, [r2] bfc r3, #0, #8 bfc r3, #17, #1 str r3, [r2] bx lr -.L299: +.L278: .align 2 -.L298: - .word .LANCHOR13 +.L277: + .word .LANCHOR7 .size nandc_de_cs, .-nandc_de_cs .section .text.nandc_wait_flash_ready_no_delay,"ax",%progbits .align 1 @@ -1526,33 +1413,33 @@ nandc_de_cs: nandc_wait_flash_ready_no_delay: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - push {r0, r1, r4, lr} - ldr r1, .L305 - ldr r4, .L305+4 -.L302: - ldr r3, [r4] + push {r0, r1, r2, r4, r5, lr} + ldr r4, .L284 + ldr r5, .L284+4 +.L281: + ldr r3, [r5] ldr r3, [r3] str r3, [sp, #4] ldr r3, [sp, #4] lsls r3, r3, #22 - bmi .L303 - movs r0, #10 - bl timer_delay_ns - subs r1, r1, #1 - bne .L302 + bmi .L282 + movs r0, #1 + bl udelay + subs r4, r4, #1 + bne .L281 mov r0, #-1 -.L300: - add sp, sp, #8 +.L279: + add sp, sp, #12 @ sp needed - pop {r4, pc} -.L303: + pop {r4, r5, pc} +.L282: movs r0, #0 - b .L300 -.L306: + b .L279 +.L285: .align 2 -.L305: +.L284: .word 100000 - .word .LANCHOR13 + .word .LANCHOR7 .size nandc_wait_flash_ready_no_delay, .-nandc_wait_flash_ready_no_delay .section .text.zftl_flash_enter_slc_mode,"ax",%progbits .align 1 @@ -1565,74 +1452,76 @@ nandc_wait_flash_ready_no_delay: zftl_flash_enter_slc_mode: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L327 - push {r4, r5, r6, lr} - mov r6, r0 + push {r3, r4, r5, r6, r7, lr} + mov r7, r0 + ldr r3, .L305 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L307 - ldr r2, .L327+4 + cmp r3, #0 + beq .L286 + ldr r2, .L305+4 cmp r3, #1 ldr r4, [r2] - bne .L310 - ldr r3, .L327+8 + bne .L289 + ldr r3, .L305+8 ldrb r3, [r3, #29] @ zero_extendqisi2 - cbz r3, .L307 -.L326: - add r4, r4, r6, lsl #8 -.L325: + cmp r3, #0 + beq .L286 +.L304: + add r4, r4, r7, lsl #8 str r3, [r4, #2056] -.L307: - pop {r4, r5, r6, pc} -.L310: + pop {r3, r4, r5, r6, r7, pc} +.L289: cmp r3, #2 - bne .L312 - ldr r3, .L327+12 + bne .L291 + ldr r3, .L305+12 ldrb r2, [r3, r0] @ zero_extendqisi2 - cmp r2, #0 - beq .L307 - ldr r5, .L327+8 + cbz r2, .L286 + ldr r5, .L305+8 movs r2, #0 strb r2, [r3, r0] ldrb r3, [r5, #29] @ zero_extendqisi2 - cmp r3, #0 - beq .L307 + cbz r3, .L286 bl nandc_wait_flash_ready_no_delay ldrb r3, [r5, #29] @ zero_extendqisi2 - b .L326 -.L312: + b .L304 +.L291: cmp r3, #3 - bne .L307 - ldr r5, .L327+12 - ldrb r3, [r5, r0] @ zero_extendqisi2 - cmp r3, #0 - beq .L307 - add r4, r4, r6, lsl #8 + bne .L286 + ldr r6, .L305+12 + ldrb r3, [r6, r0] @ zero_extendqisi2 + cbz r3, .L286 + add r4, r4, r7, lsl #8 + movs r5, #0 bl nandc_wait_flash_ready_no_delay movs r3, #239 - movs r1, #0 + strb r5, [r6, r7] str r3, [r4, #2056] movs r3, #145 str r3, [r4, #2052] - movs r0, #100 - strb r1, [r5, r6] - bl timer_delay_ns - movs r3, #1 - str r1, [r4, #2048] - movs r0, #150 - str r3, [r4, #2048] - str r1, [r4, #2048] - str r1, [r4, #2048] - bl timer_delay_ns + movs r6, #1 + movs r0, #1 + bl udelay + str r5, [r4, #2048] + mov r0, r6 + str r6, [r4, #2048] + str r5, [r4, #2048] + str r5, [r4, #2048] + bl udelay bl nandc_wait_flash_ready_no_delay movs r3, #218 - b .L325 -.L328: + mov r0, r6 + str r3, [r4, #2056] + pop {r3, r4, r5, r6, r7, lr} + b udelay +.L286: + pop {r3, r4, r5, r6, r7, pc} +.L306: .align 2 -.L327: +.L305: .word .LANCHOR0 - .word .LANCHOR13 + .word .LANCHOR7 + .word .LANCHOR32 .word .LANCHOR33 - .word .LANCHOR34 .size zftl_flash_enter_slc_mode, .-zftl_flash_enter_slc_mode .section .text.zftl_flash_exit_slc_mode,"ax",%progbits .align 1 @@ -1645,89 +1534,93 @@ zftl_flash_enter_slc_mode: zftl_flash_exit_slc_mode: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L350 - push {r4, r5, r6, r7, r8, lr} + push {r3, r4, r5, r6, r7, r8, r10, lr} mov r4, r0 + ldr r3, .L328 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - beq .L329 - ldr r2, .L350+4 + beq .L307 + ldr r2, .L328+4 cmp r3, #1 - ldr r5, [r2] - bne .L332 - ldr r3, .L350+8 + ldr r6, [r2] + bne .L310 + ldr r3, .L328+8 ldrb r3, [r3, #30] @ zero_extendqisi2 cmp r3, #0 - beq .L329 -.L349: - add r4, r5, r4, lsl #8 + beq .L307 +.L327: + add r4, r6, r4, lsl #8 str r3, [r4, #2056] - pop {r4, r5, r6, r7, r8, pc} -.L332: + pop {r3, r4, r5, r6, r7, r8, r10, pc} +.L310: cmp r3, #2 - bne .L334 - ldr r2, .L350+12 + bne .L312 + ldr r2, .L328+12 ldrb r3, [r2, r0] @ zero_extendqisi2 cmp r3, #0 - bne .L329 - ldr r6, .L350+8 - ldrb r3, [r6, #12] @ zero_extendqisi2 + bne .L307 + ldr r5, .L328+8 + ldrb r3, [r5, #12] @ zero_extendqisi2 cmp r3, #2 it ne movne r3, #4 strb r3, [r2, r0] - ldrb r3, [r6, #30] @ zero_extendqisi2 - cbz r3, .L329 + ldrb r3, [r5, #30] @ zero_extendqisi2 + cmp r3, #0 + beq .L307 bl nandc_wait_flash_ready_no_delay - ldrb r3, [r6, #30] @ zero_extendqisi2 - b .L349 -.L334: + ldrb r3, [r5, #30] @ zero_extendqisi2 + b .L327 +.L312: cmp r3, #3 - bne .L329 - ldr r6, .L350+12 - ldrb r3, [r6, r0] @ zero_extendqisi2 - cbnz r3, .L329 - ldr r8, .L350+8 - lsls r7, r4, #8 + bne .L307 + ldr r7, .L328+12 + ldrb r3, [r7, r0] @ zero_extendqisi2 + cbnz r3, .L307 + ldr r10, .L328+8 + lsl r8, r4, #8 bl nandc_wait_flash_ready_no_delay - ldrb r3, [r8, #12] @ zero_extendqisi2 - adds r1, r5, r7 - movs r0, #100 - add r5, r5, r7 + ldrb r3, [r10, #12] @ zero_extendqisi2 + add r5, r6, r8 + movs r0, #1 + add r6, r6, r8 cmp r3, #2 it ne movne r3, #4 - strb r3, [r6, r4] + strb r3, [r7, r4] movs r3, #239 - str r3, [r1, #2056] + str r3, [r5, #2056] movs r3, #145 - str r3, [r1, #2052] - bl timer_delay_ns - ldrb r3, [r8, #7] @ zero_extendqisi2 - movs r0, #150 + str r3, [r5, #2052] + bl udelay + ldrb r3, [r10, #7] @ zero_extendqisi2 + movs r0, #1 cmp r3, #9 mov r3, #1 itet ne - ldrbne r2, [r6, r4] @ zero_extendqisi2 - streq r3, [r1, #2048] - strne r2, [r1, #2048] - str r3, [r1, #2048] + ldrbne r2, [r7, r4] @ zero_extendqisi2 + streq r3, [r5, #2048] + strne r2, [r5, #2048] + str r3, [r5, #2048] movs r3, #0 - str r3, [r1, #2048] - str r3, [r1, #2048] - bl timer_delay_ns + str r3, [r5, #2048] + str r3, [r5, #2048] + bl udelay bl nandc_wait_flash_ready_no_delay movs r3, #223 - str r3, [r5, #2056] + movs r0, #1 + str r3, [r6, #2056] + pop {r3, r4, r5, r6, r7, r8, r10, lr} + b udelay +.L307: + pop {r3, r4, r5, r6, r7, r8, r10, pc} .L329: - pop {r4, r5, r6, r7, r8, pc} -.L351: .align 2 -.L350: +.L328: .word .LANCHOR0 - .word .LANCHOR13 + .word .LANCHOR7 + .word .LANCHOR32 .word .LANCHOR33 - .word .LANCHOR34 .size zftl_flash_exit_slc_mode, .-zftl_flash_exit_slc_mode .section .text.flash_start_page_read,"ax",%progbits .align 1 @@ -1740,10 +1633,10 @@ zftl_flash_exit_slc_mode: flash_start_page_read: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L366 + ldr r3, .L344 push {r4, r5, r6, r7, r8, r10, fp, lr} mov r5, r0 - ldr r4, .L366+4 + ldr r4, .L344+4 mov fp, r1 ldrb r2, [r3] @ zero_extendqisi2 movs r3, #1 @@ -1755,22 +1648,22 @@ flash_start_page_read: ldrb r2, [r4] @ zero_extendqisi2 uxtb r8, r3 cmp r2, r8 - bhi .L353 - movw r2, #1001 - ldr r1, .L366+8 - ldr r0, .L366+12 + bhi .L331 + movw r2, #1013 + ldr r1, .L344+8 + ldr r0, .L344+12 bl printf -.L353: +.L331: ldrb r3, [r4] @ zero_extendqisi2 cmp r3, r8 - bls .L352 - ldr r3, .L366+16 + bls .L330 + ldr r3, .L344+16 movs r4, #1 lsls r4, r4, r7 - ldr r6, .L366+20 + ldr r6, .L344+20 ldrb r10, [r3, r8] @ zero_extendqisi2 subs r4, r4, #1 - ldr r3, .L366+24 + ldr r3, .L344+24 and r4, r4, fp ubfx fp, fp, #24, #2 mov r0, r10 @@ -1778,27 +1671,27 @@ flash_start_page_read: lsl r8, r10, #8 bl nandc_cs cmp fp, #0 - bne .L355 + bne .L333 mov r0, r4 bl slc_phy_page_address_calc - ldr r3, .L366+28 + ldr r3, .L344+28 mov r4, r0 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L356 + cbz r3, .L334 mov r0, r10 bl zftl_flash_enter_slc_mode -.L356: +.L334: ldr r3, [r6] ldrb r2, [r3, #7] @ zero_extendqisi2 cmp r2, #1 - bne .L358 + bne .L336 ldrb r3, [r3, #12] @ zero_extendqisi2 cmp r3, #2 ittt eq addeq r3, r7, r8 moveq r2, #38 streq r2, [r3, #2056] -.L358: +.L336: add r3, r7, r8 movs r2, #0 str r2, [r3, #2056] @@ -1810,48 +1703,48 @@ flash_start_page_read: str r2, [r3, #2052] lsrs r2, r4, #16 str r2, [r3, #2052] - ldr r2, .L366+32 + ldr r2, .L344+32 ldrb r2, [r2] @ zero_extendqisi2 - cbz r2, .L359 + cbz r2, .L337 lsrs r4, r4, #24 str r4, [r3, #2052] -.L359: +.L337: add r3, r7, r8 str r5, [r3, #2056] -.L352: +.L330: pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L355: +.L333: ldr r3, [r6] ldrb r3, [r3, #12] @ zero_extendqisi2 cmp r3, #3 - bne .L357 - ldr r3, .L366+36 + bne .L335 + ldr r3, .L344+36 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L357 - ldr r3, .L366+40 + cbnz r3, .L335 + ldr r3, .L344+40 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L357 + cbnz r3, .L335 add r3, r7, r8 str fp, [r3, #2056] - b .L356 -.L357: + b .L334 +.L335: mov r0, r10 bl zftl_flash_exit_slc_mode - b .L356 -.L367: + b .L334 +.L345: .align 2 -.L366: - .word .LANCHOR32 - .word .LANCHOR18 - .word .LANCHOR35 - .word .LC0 - .word .LANCHOR30 - .word .LANCHOR16 - .word .LANCHOR13 - .word .LANCHOR0 +.L344: .word .LANCHOR31 + .word .LANCHOR23 + .word .LANCHOR34 + .word .LC0 + .word .LANCHOR29 + .word .LANCHOR21 + .word .LANCHOR7 + .word .LANCHOR0 + .word .LANCHOR30 + .word .LANCHOR35 .word .LANCHOR36 - .word .LANCHOR37 .size flash_start_page_read, .-flash_start_page_read .section .text.nandc_wait_flash_ready,"ax",%progbits .align 1 @@ -1864,35 +1757,35 @@ flash_start_page_read: nandc_wait_flash_ready: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - push {r0, r1, r4, lr} - movs r0, #150 - bl timer_delay_ns - ldr r4, .L373 - ldr r1, .L373+4 -.L370: - ldr r3, [r4] + push {r0, r1, r2, r4, r5, lr} + movs r0, #1 + ldr r4, .L351 + ldr r5, .L351+4 + bl udelay +.L348: + ldr r3, [r5] ldr r3, [r3] str r3, [sp, #4] ldr r3, [sp, #4] lsls r3, r3, #22 - bmi .L371 - movs r0, #10 - bl timer_delay_ns - subs r1, r1, #1 - bne .L370 + bmi .L349 + movs r0, #1 + bl udelay + subs r4, r4, #1 + bne .L348 mov r0, #-1 -.L368: - add sp, sp, #8 +.L346: + add sp, sp, #12 @ sp needed - pop {r4, pc} -.L371: + pop {r4, r5, pc} +.L349: movs r0, #0 - b .L368 -.L374: + b .L346 +.L352: .align 2 -.L373: - .word .LANCHOR13 +.L351: .word 100000 + .word .LANCHOR7 .size nandc_wait_flash_ready, .-nandc_wait_flash_ready .section .text.sandisk_set_rr_para,"ax",%progbits .align 1 @@ -1909,40 +1802,41 @@ sandisk_set_rr_para: movs r3, #239 str r3, [r0, #8] movs r3, #17 - mov r4, r0 + mov r5, r0 + mov r4, r1 str r3, [r0, #4] - movs r0, #200 - bl timer_delay_ns - ldr r3, .L381 - add r1, r1, r1, lsl #2 - ldr r6, .L381+4 + movs r0, #1 + bl udelay + ldr r3, .L359 + add r4, r4, r4, lsl #2 + ldr r6, .L359+4 movs r2, #0 - ldr r7, .L381+8 + ldr r7, .L359+8 + ldrb r1, [r3] @ zero_extendqisi2 + ldr r3, .L359+12 ldrb r0, [r3] @ zero_extendqisi2 - ldr r3, .L381+12 - ldrb r5, [r3] @ zero_extendqisi2 -.L376: - cmp r2, r0 - bcc .L379 +.L354: + cmp r2, r1 + bcc .L357 pop {r3, r4, r5, r6, r7, lr} b nandc_wait_flash_ready -.L379: - adds r3, r2, r1 - cmp r5, #67 +.L357: + adds r3, r2, r4 + cmp r0, #67 ite eq addeq r3, r3, r7 addne r3, r3, r6 ldrsb r3, [r3, #5] adds r2, r2, #1 - str r3, [r4] - b .L376 -.L382: + str r3, [r5] + b .L354 +.L360: .align 2 -.L381: - .word .LANCHOR26 - .word .LANCHOR24 - .word .LANCHOR22 - .word .LANCHOR23 +.L359: + .word .LANCHOR18 + .word .LANCHOR16 + .word .LANCHOR14 + .word .LANCHOR15 .size sandisk_set_rr_para, .-sandisk_set_rr_para .section .text.toshiba_3d_set_tlc_rr_para,"ax",%progbits .align 1 @@ -1965,7 +1859,7 @@ toshiba_3d_set_tlc_rr_para: rsb r1, r1, r1, lsl #3 str r6, [r0, #4] str r3, [r0, #4] - ldr r3, .L384 + ldr r3, .L362 adds r5, r3, r1 ldrsb r3, [r3, r1] str r3, [r0] @@ -1989,10 +1883,10 @@ toshiba_3d_set_tlc_rr_para: str r6, [r4] pop {r3, r4, r5, r6, r7, lr} b nandc_wait_flash_ready -.L385: +.L363: .align 2 -.L384: - .word .LANCHOR38 +.L362: + .word .LANCHOR37 .size toshiba_3d_set_tlc_rr_para, .-toshiba_3d_set_tlc_rr_para .section .text.toshiba_3d_set_slc_rr_para,"ax",%progbits .align 1 @@ -2012,7 +1906,7 @@ toshiba_3d_set_slc_rr_para: movs r3, #0 str r3, [r0, #4] str r2, [r0, #4] - ldr r2, .L387 + ldr r2, .L365 add r1, r1, r2 ldrsb r2, [r1, #1] str r2, [r0] @@ -2020,10 +1914,10 @@ toshiba_3d_set_slc_rr_para: str r3, [r0] str r3, [r0] b nandc_wait_flash_ready -.L388: +.L366: .align 2 -.L387: - .word .LANCHOR39 +.L365: + .word .LANCHOR38 .size toshiba_3d_set_slc_rr_para, .-toshiba_3d_set_slc_rr_para .section .text.toshiba_tlc_set_rr_para,"ax",%progbits .align 1 @@ -2040,11 +1934,11 @@ toshiba_tlc_set_rr_para: movs r6, #239 mov r4, r0 str r6, [r0, #8] - cbz r2, .L390 + cbz r2, .L368 movs r3, #18 rsb r1, r1, r1, lsl #3 str r3, [r0, #4] - ldr r3, .L392 + ldr r3, .L370 adds r5, r3, r1 ldrb r3, [r3, r1] @ zero_extendqisi2 str r3, [r0] @@ -2066,24 +1960,24 @@ toshiba_tlc_set_rr_para: str r3, [r4] movs r3, #0 str r3, [r4] -.L391: +.L369: pop {r4, r5, r6, lr} b nandc_wait_flash_ready -.L390: +.L368: movs r3, #20 str r3, [r0, #4] - ldr r3, .L392+4 + ldr r3, .L370+4 ldrb r3, [r3, r1] @ zero_extendqisi2 str r3, [r0] str r2, [r0] str r2, [r0] str r2, [r0] - b .L391 -.L393: + b .L369 +.L371: .align 2 -.L392: +.L370: + .word .LANCHOR39 .word .LANCHOR40 - .word .LANCHOR41 .size toshiba_tlc_set_rr_para, .-toshiba_tlc_set_rr_para .section .text.ymtc_3d_set_tlc_rr_para,"ax",%progbits .align 1 @@ -2104,7 +1998,7 @@ ymtc_3d_set_tlc_rr_para: movs r6, #0 str r3, [r0, #4] mov r4, r0 - ldr r3, .L395 + ldr r3, .L373 adds r5, r3, r1 ldrsb r3, [r3, r1] str r3, [r0] @@ -2135,10 +2029,10 @@ ymtc_3d_set_tlc_rr_para: str r6, [r4] pop {r3, r4, r5, r6, r7, lr} b nandc_wait_flash_ready -.L396: +.L374: .align 2 -.L395: - .word .LANCHOR42 +.L373: + .word .LANCHOR41 .size ymtc_3d_set_tlc_rr_para, .-ymtc_3d_set_tlc_rr_para .section .text.ymtc_3d_set_slc_rr_para,"ax",%progbits .align 1 @@ -2156,7 +2050,7 @@ ymtc_3d_set_slc_rr_para: str r3, [r0, #8] movs r3, #163 str r3, [r0, #4] - ldr r3, .L398 + ldr r3, .L376 ldrsb r3, [r3, r1] str r3, [r0] movs r3, #0 @@ -2164,10 +2058,10 @@ ymtc_3d_set_slc_rr_para: str r3, [r0] str r3, [r0] b nandc_wait_flash_ready -.L399: +.L377: .align 2 -.L398: - .word .LANCHOR43 +.L376: + .word .LANCHOR42 .size ymtc_3d_set_slc_rr_para, .-ymtc_3d_set_slc_rr_para .section .text.flash_erase_duplane_block,"ax",%progbits .align 1 @@ -2182,45 +2076,45 @@ flash_erase_duplane_block: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} mov r5, r2 - ldr r4, .L424 + ldr r4, .L402 mov r7, r0 mov r6, r1 mov r10, r3 ldrb r2, [r4] @ zero_extendqisi2 cmp r2, r0 - bhi .L401 - mov r2, #688 - ldr r1, .L424+4 - ldr r0, .L424+8 + bhi .L379 + movw r2, #695 + ldr r1, .L402+4 + ldr r0, .L402+8 bl printf -.L401: +.L379: ldrb r3, [r4] @ zero_extendqisi2 cmp r3, r7 - bls .L410 - ldr r3, .L424+12 + bls .L388 + ldr r3, .L402+12 ldrb r4, [r3, r7] @ zero_extendqisi2 - ldr r3, .L424+16 + ldr r3, .L402+16 add r7, r4, #8 ldr r8, [r3] - ldr r3, .L424+20 + ldr r3, .L402+20 ldr r3, [r3] add r7, r8, r7, lsl #8 lsls r3, r3, #27 - bpl .L403 + bpl .L381 mov r3, r10 mov r2, r5 mov r1, r4 - ldr r0, .L424+24 + ldr r0, .L402+24 bl printf -.L403: +.L381: bl nandc_wait_flash_ready mov r0, r4 bl nandc_cs mov r0, r4 cmp r6, #0 - bne .L404 + bne .L382 bl zftl_flash_enter_slc_mode -.L405: +.L383: lsls r4, r4, #8 movs r3, #96 add r6, r8, r4 @@ -2231,16 +2125,16 @@ flash_erase_duplane_block: str r3, [r6, #2052] lsrs r3, r5, #16 str r3, [r6, #2052] - ldr r3, .L424+28 + ldr r3, .L402+28 ldrb r2, [r3] @ zero_extendqisi2 - cbz r2, .L406 + cbz r2, .L384 lsrs r2, r5, #24 str r2, [r6, #2052] -.L406: - ldr r2, .L424+32 +.L384: + ldr r2, .L402+32 ldrb r2, [r2] @ zero_extendqisi2 cmp r2, #0 - bne .L411 + bne .L389 add r2, r8, r4 movs r1, #208 str r1, [r2, #2056] @@ -2250,7 +2144,7 @@ flash_erase_duplane_block: bl flash_read_status ldr r3, [sp, #4] and fp, r0, #5 -.L407: +.L385: add r2, r8, r4 movs r1, #96 str r1, [r2, #2056] @@ -2261,51 +2155,51 @@ flash_erase_duplane_block: str r2, [r6, #2052] lsr r2, r10, #16 str r2, [r6, #2052] - cbz r3, .L408 + cbz r3, .L386 lsr r2, r10, #24 str r2, [r6, #2052] -.L408: +.L386: movs r3, #208 add r0, r8, r4 str r3, [r0, #2056] bl nandc_wait_flash_ready mov r0, r7 bl flash_read_status - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 and r3, r0, #5 orrs fp, r3, fp - beq .L409 + beq .L387 mov r2, r0 mov r1, r5 - ldr r0, .L424+36 + ldr r0, .L402+36 bl printf -.L409: +.L387: mov r0, fp -.L400: +.L378: add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L404: +.L382: bl zftl_flash_exit_slc_mode - b .L405 -.L411: + b .L383 +.L389: mov fp, #0 - b .L407 -.L410: + b .L385 +.L388: mov r0, #-1 - b .L400 -.L425: + b .L378 +.L403: .align 2 -.L424: - .word .LANCHOR18 - .word .LANCHOR44 +.L402: + .word .LANCHOR23 + .word .LANCHOR43 .word .LC0 - .word .LANCHOR30 - .word .LANCHOR13 - .word .LANCHOR14 + .word .LANCHOR29 + .word .LANCHOR7 + .word .LANCHOR19 .word .LC31 - .word .LANCHOR31 - .word .LANCHOR45 + .word .LANCHOR30 + .word .LANCHOR44 .word .LC32 .size flash_erase_duplane_block, .-flash_erase_duplane_block .section .text.flash_erase_block_en,"ax",%progbits @@ -2319,10 +2213,10 @@ flash_erase_duplane_block: flash_erase_block_en: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L444 + ldr r3, .L422 push {r4, r5, r6, r7, r8, r10, fp, lr} mov r7, r2 - ldr r5, .L444+4 + ldr r5, .L422+4 mov r6, r0 mov fp, r1 ldrb r4, [r3] @ zero_extendqisi2 @@ -2333,39 +2227,39 @@ flash_erase_block_en: ands r4, r4, r2 ldrb r2, [r5] @ zero_extendqisi2 cmp r2, r0 - bhi .L427 - movw r2, #750 - ldr r1, .L444+8 - ldr r0, .L444+12 + bhi .L405 + movw r2, #757 + ldr r1, .L422+8 + ldr r0, .L422+12 bl printf -.L427: +.L405: ldrb r3, [r5] @ zero_extendqisi2 cmp r3, r6 - bls .L434 - ldr r3, .L444+16 + bls .L412 + ldr r3, .L422+16 ldrb r5, [r3, r6] @ zero_extendqisi2 - ldr r3, .L444+20 + ldr r3, .L422+20 add r10, r5, #8 ldr r8, [r3] - ldr r3, .L444+24 + ldr r3, .L422+24 ldr r3, [r3] add r10, r8, r10, lsl #8 lsls r3, r3, #27 - bpl .L429 + bpl .L407 mov r3, fp mov r2, r7 mov r1, r5 - ldr r0, .L444+28 + ldr r0, .L422+28 bl printf -.L429: +.L407: bl nandc_wait_flash_ready mov r0, r5 bl nandc_cs mov r0, r5 cmp fp, #0 - bne .L430 + bne .L408 bl zftl_flash_enter_slc_mode -.L431: +.L409: lsls r5, r5, #8 movs r2, #96 add r3, r8, r5 @@ -2376,22 +2270,22 @@ flash_erase_block_en: str r2, [r3, #2052] lsrs r2, r4, #16 str r2, [r3, #2052] - ldr r2, .L444+32 + ldr r2, .L422+32 ldrb r2, [r2] @ zero_extendqisi2 - cbz r2, .L432 + cbz r2, .L410 lsrs r4, r4, #24 str r4, [r3, #2052] -.L432: +.L410: movs r3, #208 add r5, r5, r8 str r3, [r5, #2056] bl nandc_wait_flash_ready mov r0, r10 bl flash_read_status - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 ands r4, r0, #5 - beq .L433 - ldr r3, .L444+36 + beq .L411 + ldr r3, .L422+36 mov r0, r7 ldrh r1, [r3] bl __aeabi_uidiv @@ -2399,29 +2293,29 @@ flash_erase_block_en: mov r4, #-1 mov r2, r0 mov r1, r6 - ldr r0, .L444+40 + ldr r0, .L422+40 bl printf -.L433: +.L411: mov r0, r4 pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L430: +.L408: bl zftl_flash_exit_slc_mode - b .L431 -.L434: + b .L409 +.L412: mov r0, #-1 pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L445: +.L423: .align 2 -.L444: - .word .LANCHOR32 - .word .LANCHOR18 - .word .LANCHOR46 - .word .LC0 - .word .LANCHOR30 - .word .LANCHOR13 - .word .LANCHOR14 - .word .LC33 +.L422: .word .LANCHOR31 + .word .LANCHOR23 + .word .LANCHOR45 + .word .LC0 + .word .LANCHOR29 + .word .LANCHOR7 + .word .LANCHOR19 + .word .LC33 + .word .LANCHOR30 .word .LANCHOR2 .word .LC34 .size flash_erase_block_en, .-flash_erase_block_en @@ -2452,50 +2346,50 @@ flash_erase_block: flash_erase_all: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L452 + ldr r3, .L430 push {r4, r5, r6, r7, r8, lr} movs r5, #0 - ldr r7, .L452+4 + ldr r7, .L430+4 ldrb r4, [r3, #13] @ zero_extendqisi2 ldrh r3, [r3, #14] smulbb r4, r4, r3 uxth r4, r4 -.L448: - ldr r3, .L452+8 +.L426: + ldr r3, .L430+8 ldrb r2, [r3] @ zero_extendqisi2 uxth r3, r5 cmp r2, r3 - bhi .L451 + bhi .L429 movs r1, #0 - ldr r0, .L452+12 + ldr r0, .L430+12 pop {r4, r5, r6, r7, r8, lr} b printf -.L451: - ldr r2, .L452+16 +.L429: + ldr r2, .L430+16 uxth r3, r5 movs r6, #0 ldrb r8, [r2, r3] @ zero_extendqisi2 -.L449: +.L427: uxth r3, r6 cmp r4, r3 - bhi .L450 + bhi .L428 adds r5, r5, #1 - b .L448 -.L450: + b .L426 +.L428: ldrh r1, [r7] mov r0, r8 muls r1, r6, r1 adds r6, r6, #1 bl flash_erase_block - b .L449 -.L453: + b .L427 +.L431: .align 2 -.L452: - .word .LANCHOR33 +.L430: + .word .LANCHOR32 .word .LANCHOR2 - .word .LANCHOR18 + .word .LANCHOR23 .word .LC35 - .word .LANCHOR30 + .word .LANCHOR29 .size flash_erase_all, .-flash_erase_all .section .text.flash_start_plane_read,"ax",%progbits .align 1 @@ -2508,7 +2402,7 @@ flash_erase_all: flash_start_plane_read: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L482 + ldr r3, .L460 push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} ubfx r10, r0, #24, #2 ldrb r5, [r3] @ zero_extendqisi2 @@ -2516,7 +2410,7 @@ flash_start_plane_read: rsb r2, r5, #24 lsl r4, r3, r2 lsl r5, r3, r5 - ldr r3, .L482+4 + ldr r3, .L460+4 lsr r2, r0, r2 subs r5, r5, #1 ands r5, r5, r2 @@ -2526,40 +2420,40 @@ flash_start_plane_read: and r7, r4, r0 ands r4, r4, r1 cmp r3, r5 - bhi .L455 - mov r2, #1128 - ldr r1, .L482+8 - ldr r0, .L482+12 + bhi .L433 + movw r2, #1148 + ldr r1, .L460+8 + ldr r0, .L460+12 bl printf -.L455: - ldr r3, .L482+16 - ldr fp, .L482+44 +.L433: + ldr r3, .L460+16 + ldr fp, .L460+44 ldrb r5, [r3, r5] @ zero_extendqisi2 - ldr r3, .L482+20 + ldr r3, .L460+20 mov r0, r5 ldr r6, [r3] lsl r8, r5, #8 bl nandc_cs cmp r10, #0 - bne .L456 + bne .L434 mov r0, r7 bl slc_phy_page_address_calc mov r7, r0 mov r0, r4 bl slc_phy_page_address_calc - ldr r3, .L482+24 + ldr r3, .L460+24 mov r4, r0 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L457 + cbz r3, .L435 mov r0, r5 bl zftl_flash_enter_slc_mode -.L457: - ldr r2, .L482+28 +.L435: + ldr r2, .L460+28 uxtb ip, r7 lsrs r0, r7, #8 ldrb r3, [r2, #16] @ zero_extendqisi2 cmp r3, #1 - bne .L459 + bne .L437 ldrb r3, [r2, #8] @ zero_extendqisi2 add r5, r6, r8 str r3, [r5, #2056] @@ -2570,12 +2464,12 @@ flash_start_plane_read: str ip, [r5, #2052] str r0, [r5, #2052] str r3, [r5, #2052] - ldr r3, .L482+32 + ldr r3, .L460+32 ldrb r1, [r3] @ zero_extendqisi2 - cbz r1, .L460 + cbz r1, .L438 lsrs r7, r7, #24 str r7, [r5, #2052] -.L460: +.L438: ldrb r2, [r2, #9] @ zero_extendqisi2 add r7, r6, r8 str r3, [sp, #4] @@ -2585,11 +2479,11 @@ flash_start_plane_read: ldr r3, [sp, #4] ldrb r2, [r2, #12] @ zero_extendqisi2 cmp r2, #3 - bne .L461 + bne .L439 cmp r10, #0 - beq .L461 + beq .L439 str r10, [r7, #2056] -.L461: +.L439: movs r2, #0 add r1, r6, r8 str r2, [r1, #2056] @@ -2602,48 +2496,47 @@ flash_start_plane_read: str r2, [r5, #2052] lsrs r2, r4, #16 str r2, [r5, #2052] - cbz r3, .L462 + cbz r3, .L440 lsrs r4, r4, #24 str r4, [r5, #2052] -.L462: +.L440: add r6, r6, r8 -.L481: +.L459: movs r3, #48 str r3, [r6, #2056] add sp, sp, #8 @ sp needed - pop {r4, r5, r6, r7, r8, r10, fp, lr} - b nandc_de_cs.constprop.33 -.L456: + pop {r4, r5, r6, r7, r8, r10, fp, pc} +.L434: ldr r3, [fp] ldrb r3, [r3, #12] @ zero_extendqisi2 cmp r3, #3 - bne .L458 - ldr r3, .L482+36 + bne .L436 + ldr r3, .L460+36 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L458 - ldr r3, .L482+40 + cbnz r3, .L436 + ldr r3, .L460+40 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L458 + cbnz r3, .L436 add r3, r6, r8 str r10, [r3, #2056] - b .L457 -.L458: + b .L435 +.L436: mov r0, r5 bl zftl_flash_exit_slc_mode - b .L457 -.L459: + b .L435 +.L437: ldr r1, [fp] ldrb r3, [r1, #7] @ zero_extendqisi2 cmp r3, #1 - bne .L464 + bne .L442 ldrb r3, [r1, #12] @ zero_extendqisi2 cmp r3, #2 ittt eq addeq r3, r6, r8 moveq r5, #38 streq r5, [r3, #2056] -.L464: +.L442: ldrb r5, [r2, #8] @ zero_extendqisi2 lsrs r7, r7, #16 add r3, r6, r8 @@ -2653,11 +2546,11 @@ flash_start_plane_read: str r7, [r3, #2052] ldrb r1, [r1, #12] @ zero_extendqisi2 cmp r1, #3 - bne .L465 + bne .L443 cmp r10, #0 - beq .L465 + beq .L443 str r10, [r3, #2056] -.L465: +.L443: ldrb r2, [r2, #9] @ zero_extendqisi2 add r6, r6, r8 str r2, [r6, #2056] @@ -2667,22 +2560,22 @@ flash_start_plane_read: lsrs r4, r4, #16 str r2, [r3, #2052] str r4, [r3, #2052] - b .L481 -.L483: + b .L459 +.L461: .align 2 -.L482: - .word .LANCHOR32 - .word .LANCHOR18 - .word .LANCHOR47 - .word .LC0 - .word .LANCHOR30 - .word .LANCHOR13 - .word .LANCHOR0 - .word .LANCHOR20 +.L460: .word .LANCHOR31 + .word .LANCHOR23 + .word .LANCHOR46 + .word .LC0 + .word .LANCHOR29 + .word .LANCHOR7 + .word .LANCHOR0 + .word .LANCHOR25 + .word .LANCHOR30 + .word .LANCHOR35 .word .LANCHOR36 - .word .LANCHOR37 - .word .LANCHOR16 + .word .LANCHOR21 .size flash_start_plane_read, .-flash_start_plane_read .section .text.flash_set_interface_mode,"ax",%progbits .align 1 @@ -2697,102 +2590,102 @@ flash_set_interface_mode: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, r6, r7, r8, r10, lr} mov r6, r0 - ldr r7, .L528 + ldr r7, .L506 mov r10, #0 - ldr r8, .L528+24 -.L498: + ldr r8, .L506+24 +.L476: ldrb r5, [r7, r10, lsl #3] @ zero_extendqisi2 cmp r5, #69 - beq .L485 + beq .L463 cmp r5, #44 - beq .L485 + beq .L463 add r3, r5, #119 uxtb r3, r3 cmp r3, #18 - bhi .L486 - ldr r2, .L528+4 + bhi .L464 + ldr r2, .L506+4 lsr r3, r2, r3 lsls r2, r3, #31 - bpl .L486 -.L485: - ldr r3, .L528+8 + bpl .L464 +.L463: + ldr r3, .L506+8 cmp r6, #1 ldr r4, [r8] ldrb r1, [r3] @ zero_extendqisi2 - bne .L487 + bne .L465 lsls r3, r1, #31 - bpl .L486 - ldr r3, .L528+12 + bpl .L464 + ldr r3, .L506+12 ldr r3, [r3] lsls r0, r3, #19 - bpl .L488 - ldr r0, .L528+16 + bpl .L466 + ldr r0, .L506+16 bl printf -.L488: +.L466: lsl r3, r10, #8 cmp r5, #44 mov r1, #239 add r2, r4, r3 str r1, [r2, #2056] - beq .L489 + beq .L467 cmp r5, #137 - bne .L490 -.L489: + bne .L468 +.L467: adds r2, r4, r3 -.L527: +.L505: movs r1, #1 str r1, [r2, #2052] movs r1, #5 -.L524: +.L502: add r4, r4, r3 str r1, [r2, #2048] -.L526: +.L504: movs r3, #0 str r3, [r4, #2048] str r3, [r4, #2048] str r3, [r4, #2048] -.L486: +.L464: add r10, r10, #1 cmp r10, #4 - bne .L498 + bne .L476 bl nandc_wait_flash_ready movs r0, #0 pop {r3, r4, r5, r6, r7, r8, r10, pc} -.L490: +.L468: cmp r5, #155 - beq .L527 + beq .L505 movs r1, #128 str r1, [r2, #2052] movs r1, #1 - b .L524 -.L487: + b .L502 +.L465: lsls r2, r1, #29 - bpl .L486 - ldr r3, .L528+12 + bpl .L464 + ldr r3, .L506+12 ldr r3, [r3] lsls r3, r3, #19 - bpl .L493 - ldr r0, .L528+20 + bpl .L471 + ldr r0, .L506+20 bl printf -.L493: +.L471: lsl r2, r10, #8 cmp r5, #44 mov r1, #239 add r3, r4, r2 str r1, [r3, #2056] - beq .L494 + beq .L472 cmp r5, #137 - bne .L495 -.L494: + bne .L473 +.L472: movs r1, #1 adds r3, r4, r2 str r1, [r3, #2052] movs r1, #35 -.L525: +.L503: str r1, [r3, #2048] add r4, r4, r2 - b .L526 -.L495: + b .L504 +.L473: cmp r5, #155 itett eq moveq r1, #1 @@ -2802,17 +2695,17 @@ flash_set_interface_mode: itt ne strne r1, [r3, #2052] movne r1, #0 - b .L525 -.L529: + b .L503 +.L507: .align 2 -.L528: - .word .LANCHOR48 +.L506: + .word .LANCHOR47 .word 294913 - .word .LANCHOR49 - .word .LANCHOR14 + .word .LANCHOR48 + .word .LANCHOR19 .word .LC36 .word .LC37 - .word .LANCHOR13 + .word .LANCHOR7 .size flash_set_interface_mode, .-flash_set_interface_mode .section .text.mt_auto_read_calibration_config,"ax",%progbits .align 1 @@ -2828,25 +2721,25 @@ mt_auto_read_calibration_config: mov r5, r1 mov r6, r0 bl nandc_wait_flash_ready - ldr r3, .L531 - movs r0, #200 + ldr r3, .L509 + movs r0, #1 ldr r4, [r3] movs r3, #239 add r4, r4, r6, lsl #8 str r3, [r4, #2056] movs r3, #150 str r3, [r4, #2052] - bl timer_delay_ns + bl udelay movs r3, #0 str r5, [r4, #2048] str r3, [r4, #2048] str r3, [r4, #2048] str r3, [r4, #2048] pop {r4, r5, r6, pc} -.L532: +.L510: .align 2 -.L531: - .word .LANCHOR13 +.L509: + .word .LANCHOR7 .size mt_auto_read_calibration_config, .-mt_auto_read_calibration_config .section .text.flash_reset,"ax",%progbits .align 1 @@ -2860,16 +2753,16 @@ flash_reset: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L534 + ldr r3, .L512 ldr r3, [r3] add r0, r3, r0, lsl #8 movs r3, #255 str r3, [r0, #2056] b nandc_wait_flash_ready -.L535: +.L513: .align 2 -.L534: - .word .LANCHOR13 +.L512: + .word .LANCHOR7 .size flash_reset, .-flash_reset .section .text.flash_read_id,"ax",%progbits .align 1 @@ -2883,45 +2776,45 @@ flash_read_id: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, lr} - mov r5, r0 - ldr r3, .L538 + mov r6, r0 + ldr r3, .L516 mov r4, r1 - ldr r6, [r3] + ldr r5, [r3] bl flash_reset - mov r0, r5 + mov r0, r6 bl nandc_cs - add r6, r6, r5, lsl #8 + add r5, r5, r6, lsl #8 movs r3, #144 - movs r0, #200 - str r3, [r6, #2056] + movs r0, #1 + str r3, [r5, #2056] movs r3, #0 - str r3, [r6, #2052] - bl timer_delay_ns - ldr r3, [r6, #2048] + str r3, [r5, #2052] + bl udelay + ldr r3, [r5, #2048] strb r3, [r4] - ldr r3, [r6, #2048] + ldr r3, [r5, #2048] strb r3, [r4, #1] - ldr r3, [r6, #2048] + ldr r3, [r5, #2048] strb r3, [r4, #2] - ldr r3, [r6, #2048] + ldr r3, [r5, #2048] strb r3, [r4, #3] - ldr r3, [r6, #2048] + ldr r3, [r5, #2048] strb r3, [r4, #4] - ldr r3, [r6, #2048] + ldr r3, [r5, #2048] strb r3, [r4, #5] - ldr r3, [r6, #2048] + ldr r3, [r5, #2048] strb r3, [r4, #6] - ldr r3, [r6, #2048] + ldr r3, [r5, #2048] strb r3, [r4, #7] - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 ldrb r2, [r4] @ zero_extendqisi2 subs r3, r2, #1 uxtb r3, r3 cmp r3, #253 - bhi .L536 + bhi .L514 ldrb r1, [r4, #5] @ zero_extendqisi2 ldrb r3, [r4, #1] @ zero_extendqisi2 - ldr r0, .L538+4 + ldr r0, .L516+4 str r1, [sp, #12] ldrb r1, [r4, #4] @ zero_extendqisi2 str r1, [sp, #8] @@ -2929,16 +2822,16 @@ flash_read_id: str r1, [sp, #4] ldrb r1, [r4, #2] @ zero_extendqisi2 str r1, [sp] - adds r1, r5, #1 + adds r1, r6, #1 bl printf -.L536: +.L514: add sp, sp, #16 @ sp needed pop {r4, r5, r6, pc} -.L539: +.L517: .align 2 -.L538: - .word .LANCHOR13 +.L516: + .word .LANCHOR7 .word .LC38 .size flash_read_id, .-flash_read_id .section .text.flash_read_spare,"ax",%progbits @@ -2954,8 +2847,8 @@ flash_read_spare: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, lr} mov r5, r2 - ldr r3, .L541 - ldr r2, .L541+4 + ldr r3, .L519 + ldr r2, .L519+4 ldrb r3, [r3, #9] @ zero_extendqisi2 ldr r4, [r2] movs r2, #0 @@ -2977,11 +2870,11 @@ flash_read_spare: ldr r3, [r4, #2048] strb r3, [r5] pop {r3, r4, r5, pc} -.L542: +.L520: .align 2 -.L541: - .word .LANCHOR33 - .word .LANCHOR13 +.L519: + .word .LANCHOR32 + .word .LANCHOR7 .size flash_read_spare, .-flash_read_spare .section .text.flash_read_otp_data,"ax",%progbits .align 1 @@ -2994,7 +2887,7 @@ flash_read_spare: flash_read_otp_data: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L546 + ldr r3, .L524 push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} mov r8, r0 lsl r8, r8, #8 @@ -3004,12 +2897,12 @@ flash_read_otp_data: mov fp, #144 bl nandc_cs movs r3, #239 - movs r0, #50 + movs r0, #1 add r4, r7, r8 mov r10, #0 str r3, [r4, #2056] str fp, [r4, #2052] - bl timer_delay_ns + bl udelay movs r3, #1 str r3, [r4, #2048] str r10, [r4, #2048] @@ -3017,7 +2910,7 @@ flash_read_otp_data: str r10, [r4, #2048] bl nandc_wait_flash_ready movs r3, #238 - ldr r0, .L546+4 + ldr r0, .L524+4 str r3, [r4, #2056] str fp, [r4, #2052] ldr r2, [r4, #2048] @@ -3041,18 +2934,18 @@ flash_read_otp_data: bl nandc_wait_flash_ready add r3, r5, #16384 mov r2, r5 -.L544: +.L522: ldr r1, [r4, #2048] strb r1, [r2], #1 cmp r2, r3 - bne .L544 + bne .L522 add r7, r7, r8 movs r3, #239 str r3, [r7, #2056] movs r3, #144 str r3, [r4, #2052] - movs r0, #50 - bl timer_delay_ns + movs r0, #1 + bl udelay movs r3, #0 str r3, [r4, #2048] str r3, [r4, #2048] @@ -3061,11 +2954,11 @@ flash_read_otp_data: add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, lr} - b nandc_de_cs.constprop.33 -.L547: + b nandc_de_cs.constprop.32 +.L525: .align 2 -.L546: - .word .LANCHOR13 +.L524: + .word .LANCHOR7 .word .LC39 .size flash_read_otp_data, .-flash_read_otp_data .section .text.sandisk_prog_test_bad_block,"ax",%progbits @@ -3081,15 +2974,16 @@ sandisk_prog_test_bad_block: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, lr} mov r8, r1 - ldr r3, .L562 + ldr r3, .L541 lsls r6, r0, #8 - ldr r7, .L562+4 + ldr r7, .L541+4 ldr r5, [r3] ldrb r3, [r7, #29] @ zero_extendqisi2 - cbz r3, .L549 + cmp r3, #0 + beq .L527 adds r2, r5, r6 str r3, [r2, #2056] -.L550: +.L528: adds r4, r5, r6 movs r3, #128 str r3, [r4, #2056] @@ -3106,38 +3000,41 @@ sandisk_prog_test_bad_block: str r3, [r4, #2056] bl nandc_wait_flash_ready movs r3, #112 - movs r0, #80 + movs r0, #1 str r3, [r4, #2056] - bl timer_delay_ns + bl udelay ldr r2, [r4, #2048] + cmp r2, #255 + it eq + ldreq r2, [r4, #2048] ands r4, r2, #5 - beq .L551 - ldr r3, .L562+8 + beq .L530 + ldr r3, .L541+8 ldr r3, [r3] lsls r3, r3, #19 - bpl .L551 + bpl .L530 mov r1, r8 - ldr r0, .L562+12 + ldr r0, .L541+12 bl printf -.L551: +.L530: ldrb r3, [r7, #30] @ zero_extendqisi2 - cbz r3, .L548 + cbz r3, .L526 add r5, r5, r6 str r3, [r5, #2056] -.L548: +.L526: mov r0, r4 pop {r4, r5, r6, r7, r8, pc} -.L549: +.L527: adds r3, r5, r6 movs r2, #162 str r2, [r3, #2056] - b .L550 -.L563: + b .L528 +.L542: .align 2 -.L562: - .word .LANCHOR13 - .word .LANCHOR33 - .word .LANCHOR14 +.L541: + .word .LANCHOR7 + .word .LANCHOR32 + .word .LANCHOR19 .word .LC40 .size sandisk_prog_test_bad_block, .-sandisk_prog_test_bad_block .section .text.nandc_rdy_status,"ax",%progbits @@ -3152,7 +3049,7 @@ nandc_rdy_status: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L565 + ldr r3, .L544 sub sp, sp, #8 ldr r3, [r3] ldr r3, [r3] @@ -3162,10 +3059,10 @@ nandc_rdy_status: add sp, sp, #8 @ sp needed bx lr -.L566: +.L545: .align 2 -.L565: - .word .LANCHOR13 +.L544: + .word .LANCHOR7 .size nandc_rdy_status, .-nandc_rdy_status .section .text.nandc_bch_sel,"ax",%progbits .align 1 @@ -3184,25 +3081,25 @@ nandc_bch_sel: ldr r2, [sp, #4] orr r2, r2, #1 str r2, [sp, #4] - ldr r2, .L578 + ldr r2, .L557 strb r0, [r2] - ldr r2, .L578+4 + ldr r2, .L557+4 ldrb r2, [r2] @ zero_extendqisi2 cmp r2, #9 - ldr r2, .L578+8 - bne .L568 + ldr r2, .L557+8 + bne .L547 ldr r2, [r2] cmp r0, #70 ldr r1, [sp, #4] str r1, [r2, #16] - beq .L569 + beq .L548 cmp r0, #60 - beq .L575 + beq .L554 cmp r0, #40 ite eq moveq r3, #2 movne r3, #1 -.L569: +.L548: movs r1, #0 str r1, [sp] ldr r1, [sp] @@ -3213,14 +3110,14 @@ nandc_bch_sel: str r3, [sp] ldr r3, [sp] str r3, [r2, #32] -.L567: +.L546: add sp, sp, #8 @ sp needed pop {r4, pc} -.L575: +.L554: movs r3, #3 - b .L569 -.L568: + b .L548 +.L547: ldr r1, [r2] movs r4, #16 ldr r2, [sp, #4] @@ -3233,26 +3130,26 @@ nandc_bch_sel: ldr r2, [sp] bfi r2, r3, #18, #1 str r2, [sp] - bne .L571 -.L577: + bne .L550 +.L556: ldr r2, [sp] bfi r2, r3, #4, #1 str r2, [sp] - b .L572 -.L571: + b .L551 +.L550: cmp r0, #24 - bne .L573 + bne .L552 ldr r3, [sp] orr r3, r3, #16 str r3, [sp] -.L572: +.L551: ldr r3, [sp] orr r3, r3, #1 str r3, [sp] ldr r3, [sp] str r3, [r1, #12] - b .L567 -.L573: + b .L546 +.L552: ldr r2, [sp] cmp r0, #40 orr r2, r2, #262144 @@ -3260,14 +3157,14 @@ nandc_bch_sel: ldr r2, [sp] orr r2, r2, #16 str r2, [sp] - bne .L572 - b .L577 -.L579: + bne .L551 + b .L556 +.L558: .align 2 -.L578: - .word .LANCHOR50 - .word .LANCHOR28 - .word .LANCHOR13 +.L557: + .word .LANCHOR49 + .word .LANCHOR27 + .word .LANCHOR7 .size nandc_bch_sel, .-nandc_bch_sel .section .text.zftl_nandc_get_irq_status,"ax",%progbits .align 1 @@ -3281,17 +3178,17 @@ zftl_nandc_get_irq_status: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L583 + ldr r3, .L562 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #9 ite eq ldreq r0, [r0, #296] ldrne r0, [r0, #372] bx lr -.L584: +.L563: .align 2 -.L583: - .word .LANCHOR28 +.L562: + .word .LANCHOR27 .size zftl_nandc_get_irq_status, .-zftl_nandc_get_irq_status .section .text.rk_nandc_flash_ready,"ax",%progbits .align 1 @@ -3348,14 +3245,14 @@ nandc_xfer_start: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r10, fp, lr} mov r5, r0 - ldr r0, .L604 + ldr r0, .L583 and lr, r5, #1 - ldr r4, .L604+4 + ldr r4, .L583+4 ldrb r0, [r0] @ zero_extendqisi2 - ldr r7, .L604+8 + ldr r7, .L583+8 cmp r0, #9 add r0, r1, #1 - bne .L589 + bne .L568 movs r6, #0 mov ip, #1 str r6, [sp, #4] @@ -3384,16 +3281,16 @@ nandc_xfer_start: ldr r1, [sp, #4] orr r1, r1, #128 str r1, [sp, #4] - ldr r1, .L604+12 + ldr r1, .L583+12 ldrb r1, [r1] @ zero_extendqisi2 - cbz r1, .L590 - ldr r1, .L604+16 + cbz r1, .L569 + ldr r1, .L583+16 ldrb r1, [r1] @ zero_extendqisi2 - cbz r1, .L590 + cbz r1, .L569 ldr r1, [sp, #4] orr r1, r1, #512 str r1, [sp, #4] -.L590: +.L569: ldr r1, [sp, #4] bic r0, r2, #63 str r3, [r4, #8] @@ -3442,7 +3339,7 @@ nandc_xfer_start: ldr r2, [sp, #8] orr r2, r2, #1 str r2, [sp, #8] - ldr r2, .L604+20 + ldr r2, .L583+20 ldrh r1, [r2] ldr r2, [sp, #8] bfi r2, r1, #16, #11 @@ -3456,11 +3353,11 @@ nandc_xfer_start: str r2, [sp, #4] ldr r2, [sp, #4] str r2, [r3, #16] -.L588: +.L567: add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L589: +.L568: ldr r6, [r7] mov ip, #16 ubfx r0, r0, #1, #6 @@ -3500,8 +3397,8 @@ nandc_xfer_start: bfi ip, r0, #22, #6 str ip, [sp, #4] cmp r5, #0 - beq .L592 - ldr r0, .L604+24 + beq .L571 + ldr r0, .L583+24 lsrs r1, r1, #1 ldr r8, [r4] ldrb r0, [r0] @ zero_extendqisi2 @@ -3510,12 +3407,12 @@ nandc_xfer_start: ite cc movcc lr, #64 movcs lr, #128 -.L594: +.L573: cmp r0, r1 add fp, r3, r0, lsl #2 add r10, lr, r6 - blt .L595 -.L596: + blt .L574 +.L575: ldr r3, [r4] bic r0, r2, #63 ldr r1, [sp, #4] @@ -3578,8 +3475,8 @@ nandc_xfer_start: str r2, [sp, #4] ldr r2, [sp, #4] str r2, [r3, #8] - b .L588 -.L595: + b .L567 +.L574: ldrh ip, [r3, r0, lsl #2] bic r6, r6, #3 ldrh fp, [fp, #2] @@ -3587,21 +3484,21 @@ nandc_xfer_start: orr ip, ip, fp, lsl #16 str ip, [r8, r6] mov r6, r10 - b .L594 -.L592: + b .L573 +.L571: ldr r3, [r4] str lr, [r3] - b .L596 -.L605: + b .L575 +.L584: .align 2 -.L604: - .word .LANCHOR28 - .word .LANCHOR53 - .word .LANCHOR13 - .word .LANCHOR51 +.L583: + .word .LANCHOR27 .word .LANCHOR52 - .word .LANCHOR54 + .word .LANCHOR7 .word .LANCHOR50 + .word .LANCHOR51 + .word .LANCHOR53 + .word .LANCHOR49 .size nandc_xfer_start, .-nandc_xfer_start .section .text.nandc_set_seed,"ax",%progbits .align 1 @@ -3615,30 +3512,30 @@ nandc_set_seed: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r2, .L613 + ldr r2, .L592 and r0, r0, #127 - ldr r3, .L613+4 + ldr r3, .L592+4 ldrb r2, [r2] @ zero_extendqisi2 ldrh r3, [r3, r0, lsl #1] - cbz r2, .L607 + cbz r2, .L586 orr r3, r3, #-1073741824 -.L607: - ldr r2, .L613+8 +.L586: + ldr r2, .L592+8 ldrb r2, [r2] @ zero_extendqisi2 cmp r2, #9 - ldr r2, .L613+12 + ldr r2, .L592+12 ldr r2, [r2] ite eq streq r3, [r2, #520] strne r3, [r2, #336] bx lr -.L614: +.L593: .align 2 -.L613: - .word .LANCHOR52 - .word .LANCHOR55 - .word .LANCHOR28 - .word .LANCHOR13 +.L592: + .word .LANCHOR51 + .word .LANCHOR54 + .word .LANCHOR27 + .word .LANCHOR7 .size nandc_set_seed, .-nandc_set_seed .section .text.zftl_flash_de_init,"ax",%progbits .align 1 @@ -3653,54 +3550,54 @@ zftl_flash_de_init: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, lr} bl nandc_wait_flash_ready - ldr r3, .L634 + ldr r3, .L613 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L616 - ldr r3, .L634+4 + cbz r3, .L595 + ldr r3, .L613+4 ldrb r0, [r3] @ zero_extendqisi2 - cbnz r0, .L616 - ldr r3, .L634+8 + cbnz r0, .L595 + ldr r3, .L613+8 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #9 - beq .L616 + beq .L595 bl zftl_flash_exit_slc_mode -.L616: - ldr r4, .L634+12 +.L595: + ldr r4, .L613+12 movs r0, #0 bl hynix_reconfig_rr_para ldrb r3, [r4] @ zero_extendqisi2 - cbz r3, .L617 - ldr r3, .L634+16 + cbz r3, .L596 + ldr r3, .L613+16 ldrb r3, [r3] @ zero_extendqisi2 lsls r3, r3, #31 - bpl .L617 + bpl .L596 movs r0, #1 bl flash_set_interface_mode movs r0, #1 bl nandc_set_if_mode movs r3, #0 strb r3, [r4] -.L617: - ldr r1, .L634+20 +.L596: + ldr r1, .L613+20 ldrb r3, [r1] @ zero_extendqisi2 - cbz r3, .L618 + cbz r3, .L597 movs r0, #0 strb r0, [r1] bl nandc_set_seed movs r3, #1 strb r3, [r1] -.L618: +.L597: movs r0, #0 pop {r4, pc} -.L635: +.L614: .align 2 -.L634: +.L613: .word .LANCHOR0 - .word .LANCHOR19 - .word .LANCHOR28 - .word .LANCHOR21 - .word .LANCHOR49 - .word .LANCHOR52 + .word .LANCHOR24 + .word .LANCHOR27 + .word .LANCHOR26 + .word .LANCHOR48 + .word .LANCHOR51 .size zftl_flash_de_init, .-zftl_flash_de_init .section .text.nandc_randomizer_enable,"ax",%progbits .align 1 @@ -3714,13 +3611,13 @@ nandc_randomizer_enable: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L637 + ldr r3, .L616 strb r0, [r3] bx lr -.L638: +.L617: .align 2 -.L637: - .word .LANCHOR52 +.L616: + .word .LANCHOR51 .size nandc_randomizer_enable, .-nandc_randomizer_enable .section .text.nandc_get_chip_if,"ax",%progbits .align 1 @@ -3734,15 +3631,15 @@ nandc_get_chip_if: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L640 + ldr r3, .L619 adds r0, r0, #8 ldr r3, [r3] add r0, r3, r0, lsl #8 bx lr -.L641: +.L620: .align 2 -.L640: - .word .LANCHOR13 +.L619: + .word .LANCHOR7 .size nandc_get_chip_if, .-nandc_get_chip_if .section .text.buf_reinit,"ax",%progbits .align 1 @@ -3755,12 +3652,12 @@ nandc_get_chip_if: buf_reinit: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L645 + ldr r3, .L624 movs r2, #0 push {r4, r5, lr} mov r1, r2 mov r4, r3 -.L643: +.L622: uxtb r0, r2 adds r2, r2, #1 cmp r2, #32 @@ -3770,20 +3667,20 @@ buf_reinit: strb r5, [r3] add r3, r3, #48 str r1, [r3, #-40] - bne .L643 + bne .L622 movs r3, #255 strb r3, [r4, #1488] - ldr r3, .L645+4 + ldr r3, .L624+4 strb r1, [r3] - ldr r3, .L645+8 + ldr r3, .L624+8 strb r2, [r3] pop {r4, r5, pc} -.L646: +.L625: .align 2 -.L645: +.L624: + .word .LANCHOR55 .word .LANCHOR56 .word .LANCHOR57 - .word .LANCHOR58 .size buf_reinit, .-buf_reinit .section .text.buf_add_tail,"ax",%progbits .align 1 @@ -3803,47 +3700,47 @@ buf_add_tail: mov r4, r1 ldrb r3, [r0] @ zero_extendqisi2 cmp r3, #255 - bne .L648 + bne .L627 ldrb r3, [r1, #1] @ zero_extendqisi2 cmp r3, #255 - bne .L649 + bne .L628 movs r2, #74 - ldr r1, .L654 - ldr r0, .L654+4 + ldr r1, .L633 + ldr r0, .L633+4 bl printf -.L649: +.L628: ldrb r3, [r4, #1] @ zero_extendqisi2 strb r3, [r5] pop {r4, r5, r6, pc} -.L648: - ldr r2, .L654+8 +.L627: + ldr r2, .L633+8 movs r1, #48 mov r6, r2 -.L653: +.L632: mov r5, r3 muls r3, r1, r3 ldrb r3, [r2, r3] @ zero_extendqisi2 cmp r3, #255 - bne .L653 + bne .L632 ldrb r3, [r4, #1] @ zero_extendqisi2 cmp r3, #255 - bne .L651 + bne .L630 movs r2, #81 - ldr r1, .L654 - ldr r0, .L654+4 + ldr r1, .L633 + ldr r0, .L633+4 bl printf -.L651: +.L630: movs r3, #48 ldrb r2, [r4, #1] @ zero_extendqisi2 muls r3, r5, r3 strb r2, [r6, r3] pop {r4, r5, r6, pc} -.L655: +.L634: .align 2 -.L654: - .word .LANCHOR59 +.L633: + .word .LANCHOR58 .word .LC0 - .word .LANCHOR56 + .word .LANCHOR55 .size buf_add_tail, .-buf_add_tail .section .text.queue_read_cmd,"ax",%progbits .align 1 @@ -3867,13 +3764,13 @@ queue_read_cmd: strb r3, [r4, #43] movs r3, #255 strb r3, [r4] - ldr r0, .L657 + ldr r0, .L636 pop {r4, lr} b buf_add_tail -.L658: +.L637: .align 2 -.L657: - .word .LANCHOR60 +.L636: + .word .LANCHOR59 .size queue_read_cmd, .-queue_read_cmd .section .text.zbuf_free,"ax",%progbits .align 1 @@ -3891,30 +3788,30 @@ zbuf_free: ldrb r3, [r0, #2] @ zero_extendqisi2 and r3, r3, #8 strb r3, [r0, #2] - cbz r3, .L660 + cbz r3, .L639 ldr r3, [r0, #20] adds r3, r3, #1 - beq .L660 - ldr r0, .L668 + beq .L639 + ldr r0, .L647 bl buf_add_tail -.L661: - ldr r2, .L668+4 +.L640: + ldr r2, .L647+4 ldrb r3, [r2] @ zero_extendqisi2 adds r3, r3, #1 strb r3, [r2] pop {r3, pc} -.L660: - ldr r3, .L668 +.L639: + ldr r3, .L647 ldrb r2, [r3] @ zero_extendqisi2 strb r2, [r1] ldrb r2, [r1, #1] @ zero_extendqisi2 strb r2, [r3] - b .L661 -.L669: + b .L640 +.L648: .align 2 -.L668: +.L647: + .word .LANCHOR56 .word .LANCHOR57 - .word .LANCHOR58 .size zbuf_free, .-zbuf_free .section .text.buf_alloc,"ax",%progbits .align 1 @@ -3929,17 +3826,17 @@ buf_alloc: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, r6, r7, lr} mov r7, r0 - ldr r4, .L680 + ldr r4, .L659 ldrb r3, [r4] @ zero_extendqisi2 - cbz r3, .L671 -.L674: - ldr r5, .L680+4 - ldr r2, .L680+8 + cbz r3, .L650 +.L653: + ldr r5, .L659+4 + ldr r2, .L659+8 ldrb r6, [r5] @ zero_extendqisi2 add r0, r6, r6, lsl #1 add r0, r2, r0, lsl #4 - cbz r7, .L672 -.L673: + cbz r7, .L651 +.L652: movs r1, #48 muls r1, r6, r1 ldrb r6, [r2, r1] @ zero_extendqisi2 @@ -3960,29 +3857,29 @@ buf_alloc: strb r2, [r3, #40] strb r2, [r3, #41] pop {r3, r4, r5, r6, r7, pc} -.L671: +.L650: movs r2, #121 - ldr r1, .L680+12 - ldr r0, .L680+16 + ldr r1, .L659+12 + ldr r0, .L659+16 bl printf ldrb r3, [r4] @ zero_extendqisi2 cmp r3, #0 - bne .L674 -.L676: + bne .L653 +.L655: movs r0, #0 pop {r3, r4, r5, r6, r7, pc} -.L672: +.L651: ldrb r3, [r4] @ zero_extendqisi2 cmp r3, #1 - bne .L673 - b .L676 -.L681: + bne .L652 + b .L655 +.L660: .align 2 -.L680: - .word .LANCHOR58 +.L659: .word .LANCHOR57 .word .LANCHOR56 - .word .LANCHOR61 + .word .LANCHOR55 + .word .LANCHOR60 .word .LC0 .size buf_alloc, .-buf_alloc .section .text.buf_remove_buf,"ax",%progbits @@ -4000,36 +3897,36 @@ buf_remove_buf: ldrb r4, [r1, #1] @ zero_extendqisi2 ldrb r3, [r0] @ zero_extendqisi2 cmp r4, r3 - bne .L683 + bne .L662 ldrb r3, [r1] @ zero_extendqisi2 strb r3, [r0] -.L688: +.L667: movs r0, #1 pop {r4, r5, pc} -.L686: +.L665: mov r5, r3 muls r3, r2, r3 ldrb r3, [r0, r3] @ zero_extendqisi2 cmp r4, r3 - bne .L685 + bne .L664 muls r2, r5, r2 ldrb r3, [r1] @ zero_extendqisi2 strb r3, [r0, r2] movs r3, #255 strb r3, [r1] - b .L688 -.L683: - ldr r0, .L689 + b .L667 +.L662: + ldr r0, .L668 movs r2, #48 -.L685: +.L664: cmp r3, #255 - bne .L686 + bne .L665 movs r0, #0 pop {r4, r5, pc} -.L690: +.L669: .align 2 -.L689: - .word .LANCHOR56 +.L668: + .word .LANCHOR55 .size buf_remove_buf, .-buf_remove_buf .section .text.buf_remove_free,"ax",%progbits .align 1 @@ -4044,36 +3941,36 @@ buf_remove_free: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, lr} mov r5, r0 - ldr r4, .L696 + ldr r4, .L675 ldrb r3, [r4] @ zero_extendqisi2 - cbnz r3, .L692 + cbnz r3, .L671 movs r2, #172 - ldr r1, .L696+4 - ldr r0, .L696+8 + ldr r1, .L675+4 + ldr r0, .L675+8 bl printf -.L692: +.L671: ldrb r3, [r4] @ zero_extendqisi2 - cbz r3, .L691 + cbz r3, .L670 mov r1, r5 - ldr r0, .L696+12 + ldr r0, .L675+12 bl buf_remove_buf cmp r0, #1 - bne .L691 + bne .L670 ldrb r3, [r4] @ zero_extendqisi2 subs r3, r3, #1 strb r3, [r4] ldrb r3, [r5, #2] @ zero_extendqisi2 orr r3, r3, #1 strb r3, [r5, #2] -.L691: +.L670: pop {r3, r4, r5, pc} -.L697: +.L676: .align 2 -.L696: - .word .LANCHOR58 - .word .LANCHOR62 - .word .LC0 +.L675: .word .LANCHOR57 + .word .LANCHOR61 + .word .LC0 + .word .LANCHOR56 .size buf_remove_free, .-buf_remove_free .section .text.dump_buf_info,"ax",%progbits .align 1 @@ -4086,36 +3983,36 @@ buf_remove_free: dump_buf_info: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L701 + ldr r3, .L680 push {r4, r5, r6, lr} sub sp, sp, #24 - ldr r0, .L701+4 + ldr r0, .L680+4 ldrb r1, [r3] @ zero_extendqisi2 bl printf - ldr r3, .L701+8 - ldr r0, .L701+12 - ldr r4, .L701+16 + ldr r3, .L680+8 + ldr r0, .L680+12 + ldr r4, .L680+16 ldrb r1, [r3] @ zero_extendqisi2 bl printf - ldr r3, .L701+20 + ldr r3, .L680+20 add r5, r4, #1536 - ldr r0, .L701+24 - ldr r6, .L701+28 + ldr r0, .L680+24 + ldr r6, .L680+28 ldrb r1, [r3] @ zero_extendqisi2 bl printf - ldr r3, .L701+32 - ldr r0, .L701+36 + ldr r3, .L680+32 + ldr r0, .L680+36 ldrb r1, [r3] @ zero_extendqisi2 bl printf - ldr r3, .L701+40 - ldr r0, .L701+44 + ldr r3, .L680+40 + ldr r0, .L680+44 ldrb r1, [r3] @ zero_extendqisi2 bl printf - ldr r3, .L701+48 - ldr r0, .L701+52 + ldr r3, .L680+48 + ldr r0, .L680+52 ldrb r1, [r3] @ zero_extendqisi2 bl printf -.L699: +.L678: ldr r0, [r4, #24] adds r4, r4, #48 ldrb r3, [r4, #-46] @ zero_extendqisi2 @@ -4133,26 +4030,26 @@ dump_buf_info: mov r0, r6 bl printf cmp r4, r5 - bne .L699 + bne .L678 add sp, sp, #24 @ sp needed pop {r4, r5, r6, pc} -.L702: +.L681: .align 2 -.L701: - .word .LANCHOR60 +.L680: + .word .LANCHOR59 .word .LC41 - .word .LANCHOR63 + .word .LANCHOR62 .word .LC42 - .word .LANCHOR56 - .word .LANCHOR64 + .word .LANCHOR55 + .word .LANCHOR63 .word .LC43 .word .LC47 - .word .LANCHOR65 + .word .LANCHOR64 .word .LC44 - .word .LANCHOR57 + .word .LANCHOR56 .word .LC45 - .word .LANCHOR58 + .word .LANCHOR57 .word .LC46 .size dump_buf_info, .-dump_buf_info .section .text.flash_check_bad_block,"ax",%progbits @@ -4166,14 +4063,14 @@ dump_buf_info: flash_check_bad_block: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L704 + ldr r2, .L683 push {r4, lr} lsrs r4, r1, #5 and r1, r1, #31 ldrb r3, [r2, #13] @ zero_extendqisi2 ldrh r2, [r2, #14] smulbb r3, r3, r2 - ldr r2, .L704+4 + ldr r2, .L683+4 uxth r3, r3 ldr r2, [r2] adds r3, r3, #31 @@ -4186,11 +4083,11 @@ flash_check_bad_block: lsrs r0, r0, r1 and r0, r0, #1 pop {r4, pc} -.L705: +.L684: .align 2 -.L704: - .word .LANCHOR33 - .word .LANCHOR27 +.L683: + .word .LANCHOR32 + .word .LANCHOR6 .size flash_check_bad_block, .-flash_check_bad_block .section .text.flash_mask_bad_block,"ax",%progbits .align 1 @@ -4203,7 +4100,7 @@ flash_check_bad_block: flash_mask_bad_block: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L707 + ldr r3, .L686 mov r2, r1 push {r4, r5, r6, lr} mov r5, r0 @@ -4211,11 +4108,11 @@ flash_mask_bad_block: mov r1, r0 ldrb r4, [r3, #13] @ zero_extendqisi2 ldrh r3, [r3, #14] - ldr r0, .L707+4 + ldr r0, .L686+4 smulbb r4, r4, r3 bl printf uxth r4, r4 - ldr r3, .L707+8 + ldr r3, .L686+8 add r0, r4, #31 asrs r0, r0, #5 ldr r2, [r3] @@ -4232,12 +4129,12 @@ flash_mask_bad_block: orrs r3, r3, r6 str r3, [r2, r0] pop {r4, r5, r6, pc} -.L708: +.L687: .align 2 -.L707: - .word .LANCHOR33 +.L686: + .word .LANCHOR32 .word .LC48 - .word .LANCHOR27 + .word .LANCHOR6 .size flash_mask_bad_block, .-flash_mask_bad_block .section .text.ftl_gc_write_buf,"ax",%progbits .align 1 @@ -4255,19 +4152,19 @@ ftl_gc_write_buf: ldrb r3, [r0, #2] @ zero_extendqisi2 orr r3, r3, #2 strb r3, [r0, #2] - ldr r0, .L710 + ldr r0, .L689 bl buf_add_tail - ldr r3, .L710+4 + ldr r3, .L689+4 ldrb r0, [r3] @ zero_extendqisi2 adds r0, r0, #1 uxtb r0, r0 strb r0, [r3] pop {r3, pc} -.L711: +.L690: .align 2 -.L710: +.L689: + .word .LANCHOR65 .word .LANCHOR66 - .word .LANCHOR67 .size ftl_gc_write_buf, .-ftl_gc_write_buf .section .text.zftl_cache_flush,"ax",%progbits .align 1 @@ -4295,20 +4192,20 @@ zftl_get_density: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - cbnz r0, .L714 - ldr r3, .L717 + cbnz r0, .L693 + ldr r3, .L696 ldr r0, [r3] bx lr -.L714: +.L693: cmp r0, #4 ite cc movcc r0, #8192 movcs r0, #0 bx lr -.L718: +.L697: .align 2 -.L717: - .word .LANCHOR68 +.L696: + .word .LANCHOR67 .size zftl_get_density, .-zftl_get_density .section .text.gc_hook,"ax",%progbits .align 1 @@ -4364,13 +4261,13 @@ FtlGetCurEraseBlock: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L723 + ldr r3, .L702 ldrh r0, [r3] bx lr -.L724: +.L703: .align 2 -.L723: - .word .LANCHOR69 +.L702: + .word .LANCHOR68 .size FtlGetCurEraseBlock, .-FtlGetCurEraseBlock .section .text.FtlGetAllBlockNum,"ax",%progbits .align 1 @@ -4384,13 +4281,13 @@ FtlGetAllBlockNum: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L726 + ldr r3, .L705 ldrh r0, [r3] bx lr -.L727: +.L706: .align 2 -.L726: - .word .LANCHOR6 +.L705: + .word .LANCHOR8 .size FtlGetAllBlockNum, .-FtlGetAllBlockNum .section .text.FtlLowFormat,"ax",%progbits .align 1 @@ -4420,135 +4317,135 @@ gc_add_sblk: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r10, fp, lr} mov r8, r2 - ldr r3, .L764 + ldr r3, .L743 mov r5, r0 mov r4, r1 ldr r2, [r3] mov r10, r3 tst r2, #256 - beq .L730 - ldr r3, .L764+4 + beq .L709 + ldr r3, .L743+4 mov r2, r1 mov r1, r0 ldrh r3, [r3] str r3, [sp, #12] - ldr r3, .L764+8 + ldr r3, .L743+8 ldrh r3, [r3, #52] str r3, [sp, #8] - ldr r3, .L764+12 + ldr r3, .L743+12 ldr r3, [r3] ldrh r3, [r3, r0, lsl #1] str r3, [sp, #4] - ldr r3, .L764+16 + ldr r3, .L743+16 ldr r3, [r3] add r3, r3, r0, lsl #2 - ldr r0, .L764+20 + ldr r0, .L743+20 ldrb r3, [r3, #2] @ zero_extendqisi2 lsrs r3, r3, #5 str r3, [sp] mov r3, r8 bl printf -.L730: - ldr r6, .L764+24 +.L709: + ldr r6, .L743+24 ldrh r2, [r6] cmp r2, r5 - bhi .L731 + bhi .L710 movw r2, #543 - ldr r1, .L764+28 - ldr r0, .L764+32 + ldr r1, .L743+28 + ldr r0, .L743+32 bl printf -.L731: +.L710: ldrh r3, [r6] cmp r3, r5 - bhi .L732 + bhi .L711 ldr r0, [r10] ands r0, r0, #1024 - beq .L729 + beq .L708 mov r3, r8 mov r2, r4 mov r1, r5 - ldr r0, .L764+36 + ldr r0, .L743+36 bl printf -.L752: +.L731: movs r0, #0 - b .L729 -.L732: - ldr r2, .L764+16 - ldr r3, .L764+12 + b .L708 +.L711: + ldr r2, .L743+16 + ldr r3, .L743+12 ldr r2, [r2] ldr r3, [r3] add r2, r2, r5, lsl #2 ldrh r3, [r3, r5, lsl #1] ldrb r2, [r2, #2] @ zero_extendqisi2 ands r6, r2, #224 - bne .L734 + bne .L713 cmp r3, #0 - beq .L752 + beq .L731 movw r2, #553 - ldr r1, .L764+28 - ldr r0, .L764+32 + ldr r1, .L743+28 + ldr r0, .L743+32 bl printf - b .L752 -.L734: - ldr r6, .L764+8 + b .L731 +.L713: + ldr r6, .L743+8 ldrh r1, [r6] cmp r1, r5 - beq .L752 - ldr r7, .L764+40 + beq .L731 + ldr r7, .L743+40 ldr r1, [r7] ldrh r0, [r1, #48] cmp r0, r5 - beq .L752 + beq .L731 ldrh r0, [r1, #16] cmp r0, r5 - beq .L752 + beq .L731 ldrh r0, [r1, #80] cmp r0, r5 - beq .L752 + beq .L731 ldrh ip, [r6, #52]! movs r0, #0 -.L735: +.L714: cmp r0, ip - bcc .L736 + bcc .L715 cmp r4, #0 - bne .L740 - ldr r0, .L764+44 + bne .L719 + ldr r0, .L743+44 ldrh r6, [r0] mov r0, r4 cmp r5, r6 - beq .L729 - ldr lr, .L764+56 -.L739: + beq .L708 + ldr lr, .L743+56 +.L718: ldrh fp, [lr, r0, lsl #1] cmp r5, fp - bne .L738 + bne .L717 ldr r0, [r10] ands r0, r0, #256 - beq .L729 + beq .L708 stm sp, {r5, r6} lsrs r2, r2, #5 mov r1, r5 - ldr r0, .L764+48 + ldr r0, .L743+48 bl printf - b .L752 -.L736: + b .L731 +.L715: ldrh lr, [r6, #2]! cmp lr, r5 - beq .L752 + beq .L731 adds r0, r0, #1 - b .L735 -.L738: + b .L714 +.L717: adds r0, r0, #1 cmp r0, #8 - bne .L739 + bne .L718 add r1, r1, r8, lsl #7 add r6, r1, #136 -.L741: +.L720: ldr r1, [r10] lsls r1, r1, #23 - bpl .L742 - ldr r1, .L764+4 - ldr r0, .L764+52 + bpl .L721 + ldr r1, .L743+4 + ldr r0, .L743+52 ldrh r1, [r1] stm sp, {r3, ip} lsrs r3, r2, #5 @@ -4556,60 +4453,60 @@ gc_add_sblk: str r1, [sp, #8] mov r1, r5 bl printf -.L742: +.L721: mov r3, r6 add r1, r6, #128 movw r0, #65535 -.L745: +.L724: mov r2, r3 adds r3, r3, #2 ldrh r6, [r2] cmp r6, r0 - bne .L743 + bne .L722 strh r5, [r2] @ movhi - cbz r4, .L744 + cbz r4, .L723 ldr r2, [r7] ldrh r3, [r2, #124] adds r3, r3, #1 strh r3, [r2, #124] @ movhi -.L763: +.L742: movs r0, #1 -.L729: +.L708: add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L740: +.L719: add r6, r1, #392 - b .L741 -.L744: + b .L720 +.L723: ldr r3, [r7] add r8, r3, r8, lsl #1 ldrh r3, [r8, #120] adds r3, r3, #1 strh r3, [r8, #120] @ movhi - b .L763 -.L743: + b .L742 +.L722: cmp r3, r1 - bne .L745 - b .L763 -.L765: + bne .L724 + b .L742 +.L744: .align 2 -.L764: - .word .LANCHOR14 +.L743: + .word .LANCHOR19 + .word .LANCHOR69 .word .LANCHOR70 - .word .LANCHOR71 + .word .LANCHOR11 .word .LANCHOR9 - .word .LANCHOR7 .word .LC49 - .word .LANCHOR6 - .word .LANCHOR72 + .word .LANCHOR8 + .word .LANCHOR71 .word .LC0 .word .LC50 - .word .LANCHOR10 - .word .LANCHOR73 + .word .LANCHOR12 + .word .LANCHOR72 .word .LC51 .word .LC52 - .word .LANCHOR74 + .word .LANCHOR73 .size gc_add_sblk, .-gc_add_sblk .section .text.gc_mark_bad_ppa,"ax",%progbits .align 1 @@ -4624,17 +4521,17 @@ gc_mark_bad_ppa: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, r6, r7, r8, r10, lr} mov r7, r0 - ldr r3, .L770 + ldr r3, .L749 movs r6, #1 - ldr r2, .L770+4 + ldr r2, .L749+4 ldrh r3, [r3] - ldr r8, .L770+16 + ldr r8, .L749+16 lsr r4, r0, r3 ldrb r0, [r2] @ zero_extendqisi2 uxth r5, r4 rsb r0, r0, #24 subs r0, r0, r3 - ldr r3, .L770+8 + ldr r3, .L749+8 lsl r0, r6, r0 subs r0, r0, #1 ldrb r1, [r3] @ zero_extendqisi2 @@ -4643,43 +4540,43 @@ gc_mark_bad_ppa: uxth r10, r0 mov r3, r7 mov r2, r5 - ldr r1, [r8, #2116] - ldr r0, .L770+12 + ldr r1, [r8, #2188] + ldr r0, .L749+12 bl printf mov r1, r6 movs r2, #0 mov r0, r10 bl gc_add_sblk - ldr r3, [r8, #2116] + ldr r3, [r8, #2188] movs r1, #0 -.L767: +.L746: uxth r2, r1 cmp r3, r2 - bhi .L769 + bhi .L748 cmp r3, #5 itttt ls addls r2, r3, #1 - addwls r3, r3, #1060 - strls r2, [r8, #2116] + addls r3, r3, #1096 + strls r2, [r8, #2188] strhls r5, [r8, r3, lsl #1] @ movhi - b .L768 -.L769: - addw r2, r2, #1060 + b .L747 +.L748: + add r2, r2, #1096 adds r1, r1, #1 ldrh r2, [r8, r2, lsl #1] cmp r5, r2 - bne .L767 -.L768: + bne .L746 +.L747: movs r0, #0 pop {r3, r4, r5, r6, r7, r8, r10, pc} -.L771: +.L750: .align 2 -.L770: +.L749: + .word .LANCHOR74 + .word .LANCHOR31 .word .LANCHOR75 - .word .LANCHOR32 - .word .LANCHOR76 .word .LC53 - .word .LANCHOR71 + .word .LANCHOR70 .size gc_mark_bad_ppa, .-gc_mark_bad_ppa .section .text.gc_get_src_ppa_from_index,"ax",%progbits .align 1 @@ -4693,14 +4590,14 @@ gc_get_src_ppa_from_index: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L773 + ldr r3, .L752 ldr r3, [r3] ldr r0, [r3, r0, lsl #2] bx lr -.L774: +.L753: .align 2 -.L773: - .word .LANCHOR77 +.L752: + .word .LANCHOR76 .size gc_get_src_ppa_from_index, .-gc_get_src_ppa_from_index .section .text.gc_write_completed,"ax",%progbits .align 1 @@ -4714,16 +4611,16 @@ gc_write_completed: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} - ldr r5, .L802 -.L776: - ldr r1, .L802+4 + ldr r5, .L781 +.L755: + ldr r1, .L781+4 ldrb r8, [r1] @ zero_extendqisi2 cmp r8, #255 - bne .L789 + bne .L768 add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L789: +.L768: movs r3, #48 mul r3, r3, r8 adds r2, r5, r3 @@ -4731,41 +4628,41 @@ gc_write_completed: ldrh r6, [r2, #32] strb r3, [r1] ldr r1, [r2, #36] - cbz r1, .L777 - ldr r3, .L802+8 + cbz r1, .L756 + ldr r3, .L781+8 movs r0, #1 ldr r2, [r2, #24] - strh r0, [r3, #2108] @ movhi - ldr r0, .L802+12 - str r2, [r3, #2112] + strh r0, [r3, #2182] @ movhi + ldr r0, .L781+12 + str r2, [r3, #2184] bl printf mov r2, #956 - ldr r1, .L802+16 - ldr r0, .L802+20 + ldr r1, .L781+16 + ldr r0, .L781+20 bl printf -.L777: - ldr r10, .L802+56 +.L756: + ldr r10, .L781+56 ldrb r3, [r10] @ zero_extendqisi2 cmp r3, #3 - bne .L778 - ldr r3, .L802+24 + bne .L757 + ldr r3, .L781+24 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - bne .L778 - ldr r3, .L802+28 + bne .L757 + ldr r3, .L781+28 ldr r3, [r3] ldrb r4, [r3, #89] @ zero_extendqisi2 - ldr r3, .L802+32 + ldr r3, .L781+32 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, r4 - bhi .L790 + bhi .L769 cmp r4, #2 it cs movcs r4, #2 -.L779: +.L758: add r4, r4, r4, lsl #1 -.L780: - ldr r3, .L802+36 +.L759: + ldr r3, .L781+36 movs r2, #48 mla r2, r2, r8, r5 ldr r1, [r3] @@ -4774,80 +4671,80 @@ gc_write_completed: ldrb r2, [r2, #1] @ zero_extendqisi2 ldrb r1, [r1, r6] @ zero_extendqisi2 cmp r1, r2 - beq .L781 + beq .L760 mov r2, #976 - ldr r1, .L802+16 - ldr r0, .L802+20 + ldr r1, .L781+16 + ldr r0, .L781+20 str r3, [sp, #4] bl printf ldr r3, [sp, #4] -.L781: +.L760: movs r2, #48 mla r8, r2, r8, r5 ldrb r2, [r8, #45] @ zero_extendqisi2 cmp r2, #3 - beq .L782 + beq .L761 ldrb r2, [r10] @ zero_extendqisi2 cmp r2, #3 - bne .L782 - ldr r2, .L802+40 + bne .L761 + ldr r2, .L781+40 ldrb r2, [r2] @ zero_extendqisi2 - cbnz r2, .L782 - ldr r2, .L802+24 + cbnz r2, .L761 + ldr r2, .L781+24 ldrb r2, [r2] @ zero_extendqisi2 - cbnz r2, .L782 - ldr r2, .L802+44 + cbnz r2, .L761 + ldr r2, .L781+44 ldrb r2, [r2] @ zero_extendqisi2 - cbnz r2, .L782 - ldr r2, .L802+48 + cbnz r2, .L761 + ldr r2, .L781+48 ldrb r2, [r2] @ zero_extendqisi2 - cbz r2, .L783 - ldr r2, .L802+52 + cbz r2, .L762 + ldr r2, .L781+52 ldrb r2, [r2] @ zero_extendqisi2 - cbnz r2, .L782 -.L783: + cbnz r2, .L761 +.L762: ldr r2, [r3] movs r3, #0 movs r1, #48 mov r0, r3 add r6, r6, r2 -.L784: +.L763: uxth r2, r3 cmp r4, r2 - bls .L776 + bls .L755 ldrb r2, [r6, r3] @ zero_extendqisi2 adds r3, r3, #1 mla r2, r1, r2, r5 strb r0, [r2, #45] - b .L784 -.L790: + b .L763 +.L769: movs r4, #1 - b .L779 -.L778: - ldr r3, .L802+48 + b .L758 +.L757: + ldr r3, .L781+48 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L791 - ldr r3, .L802+52 + cbz r3, .L770 + ldr r3, .L781+52 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 ite eq moveq r4, #1 movne r4, #2 - b .L780 -.L791: + b .L759 +.L770: movs r4, #1 - b .L780 -.L782: - ldr r3, .L802+8 + b .L759 +.L761: + ldr r3, .L781+8 mov r10, #255 strh r6, [r3, #2104] @ movhi mov r8, r3 movs r3, #48 -.L785: +.L764: subs r2, r7, r6 uxth r2, r2 cmp r4, r2 - bls .L776 + bls .L755 ldr r2, [fp] movs r1, #0 str r3, [sp, #4] @@ -4863,25 +4760,25 @@ gc_write_completed: ldr r3, [sp, #4] subs r2, r2, #1 strb r2, [r8, #7] - b .L785 -.L803: + b .L764 +.L782: .align 2 -.L802: - .word .LANCHOR56 - .word .LANCHOR64 - .word .LANCHOR71 +.L781: + .word .LANCHOR55 + .word .LANCHOR63 + .word .LANCHOR70 .word .LC54 - .word .LANCHOR78 + .word .LANCHOR77 .word .LC0 - .word .LANCHOR36 - .word .LANCHOR10 - .word .LANCHOR80 - .word .LANCHOR83 - .word .LANCHOR84 - .word .LANCHOR37 - .word .LANCHOR81 - .word .LANCHOR82 + .word .LANCHOR35 + .word .LANCHOR12 .word .LANCHOR79 + .word .LANCHOR82 + .word .LANCHOR83 + .word .LANCHOR36 + .word .LANCHOR80 + .word .LANCHOR81 + .word .LANCHOR78 .size gc_write_completed, .-gc_write_completed .section .text.gc_get_src_blk,"ax",%progbits .align 1 @@ -4894,54 +4791,54 @@ gc_write_completed: gc_get_src_blk: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L813 + ldr r3, .L792 push {r4, r5, r6, r7, lr} ldr r2, [r3] - ldr r3, .L813+4 + ldr r3, .L792+4 ldrh r4, [r2, #124] ldrb r1, [r3] @ zero_extendqisi2 - cbz r4, .L805 + cbz r4, .L784 add r3, r2, #392 movs r4, #1 -.L806: +.L785: add r6, r3, #128 movw r5, #65535 -.L810: +.L789: mov r7, r3 ldrh r0, [r3], #2 cmp r0, r5 - beq .L808 + beq .L787 strh r5, [r7] @ movhi - cbz r4, .L809 + cbz r4, .L788 ldrh r3, [r2, #124] subs r3, r3, #1 strh r3, [r2, #124] @ movhi pop {r4, r5, r6, r7, pc} -.L805: +.L784: add r3, r1, #60 ldrh r3, [r2, r3, lsl #1] - cbz r3, .L811 + cbz r3, .L790 add r3, r2, r1, lsl #7 adds r3, r3, #136 - b .L806 -.L809: + b .L785 +.L788: add r2, r2, r1, lsl #1 ldrh r3, [r2, #120] subs r3, r3, #1 strh r3, [r2, #120] @ movhi pop {r4, r5, r6, r7, pc} -.L808: +.L787: cmp r3, r6 - bne .L810 + bne .L789 pop {r4, r5, r6, r7, pc} -.L811: +.L790: movw r0, #65535 pop {r4, r5, r6, r7, pc} -.L814: +.L793: .align 2 -.L813: - .word .LANCHOR10 - .word .LANCHOR85 +.L792: + .word .LANCHOR12 + .word .LANCHOR84 .size gc_get_src_blk, .-gc_get_src_blk .section .text.gc_free_temp_buf,"ax",%progbits .align 1 @@ -4955,55 +4852,55 @@ gc_free_temp_buf: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, r6, r7, lr} - ldr r5, .L829 + ldr r5, .L808 ldrb r0, [r5, #7] @ zero_extendqisi2 - cbz r0, .L815 - ldr r3, .L829+4 + cbz r0, .L794 + ldr r3, .L808+4 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #1 - bhi .L822 - ldr r3, .L829+8 + bhi .L801 + ldr r3, .L808+8 movs r7, #48 ldrh r4, [r5, #2104] - ldr r6, .L829+12 + ldr r6, .L808+12 ldrh r2, [r3] - ldr r3, .L829+16 + ldr r3, .L808+16 add r1, r4, #24 - ldr r0, .L829+20 + ldr r0, .L808+20 ldrb r3, [r3] @ zero_extendqisi2 muls r2, r3, r2 cmp r2, r1 it cs movcs r2, r1 ldr r1, [r6] -.L817: +.L796: cmp r4, r2 - bcc .L820 -.L822: + bcc .L799 +.L801: movs r0, #0 -.L815: +.L794: pop {r3, r4, r5, r6, r7, pc} -.L820: +.L799: ldrb r3, [r1, r4] @ zero_extendqisi2 cmp r3, #255 - beq .L818 + beq .L797 mla ip, r7, r3, r0 ldrb ip, [ip, #45] @ zero_extendqisi2 cmp ip, #0 - bne .L818 + bne .L797 add r3, r3, r3, lsl #1 add r0, r0, r3, lsl #4 bl zbuf_free - ldr r3, .L829+24 + ldr r3, .L808+24 ldr r3, [r3] lsls r3, r3, #23 - bpl .L819 + bpl .L798 ldr r3, [r6] mov r1, r4 - ldr r0, .L829+28 + ldr r0, .L808+28 ldrb r2, [r3, r4] @ zero_extendqisi2 bl printf -.L819: +.L798: ldr r3, [r6] movs r2, #255 movs r0, #1 @@ -5012,21 +4909,49 @@ gc_free_temp_buf: subs r3, r3, #1 strb r3, [r5, #7] pop {r3, r4, r5, r6, r7, pc} -.L818: +.L797: adds r4, r4, #1 - b .L817 -.L830: + b .L796 +.L809: .align 2 -.L829: - .word .LANCHOR71 - .word .LANCHOR58 - .word .LANCHOR86 - .word .LANCHOR83 - .word .LANCHOR80 - .word .LANCHOR56 - .word .LANCHOR14 +.L808: + .word .LANCHOR70 + .word .LANCHOR57 + .word .LANCHOR85 + .word .LANCHOR82 + .word .LANCHOR79 + .word .LANCHOR55 + .word .LANCHOR19 .word .LC55 .size gc_free_temp_buf, .-gc_free_temp_buf + .section .text.get_ink_scaned_blk,"ax",%progbits + .align 1 + .global get_ink_scaned_blk + .syntax unified + .thumb + .thumb_func + .fpu softvfp + .type get_ink_scaned_blk, %function +get_ink_scaned_blk: + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + @ link register save eliminated. + ldr r2, .L813 + ldrh r3, [r2, #2108] + cbz r3, .L812 + add r1, r2, r3, lsl #1 + subs r3, r3, #1 + strh r3, [r2, #2108] @ movhi + ldrh r0, [r1, #2108] + bx lr +.L812: + movw r0, #65535 + bx lr +.L814: + .align 2 +.L813: + .word .LANCHOR70 + .size get_ink_scaned_blk, .-get_ink_scaned_blk .section .text.print_gc_debug_info,"ax",%progbits .align 1 .global print_gc_debug_info @@ -5039,8 +4964,8 @@ print_gc_debug_info: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, lr} - ldr r4, .L832 - ldr r0, .L832+4 + ldr r4, .L816 + ldr r0, .L816+4 ldrh r4, [r4] ldrh r3, [r0, #2102] ldrh r2, [r0, #2] @@ -5048,22 +4973,810 @@ print_gc_debug_info: str r4, [sp, #8] ldrb r0, [r0, #7] @ zero_extendqisi2 str r0, [sp, #4] - ldr r0, .L832+8 + ldr r0, .L816+8 ldrb r0, [r0] @ zero_extendqisi2 str r0, [sp] - ldr r0, .L832+12 + ldr r0, .L816+12 bl printf add sp, sp, #16 @ sp needed pop {r4, pc} -.L833: +.L817: .align 2 -.L832: - .word .LANCHOR87 - .word .LANCHOR71 - .word .LANCHOR58 +.L816: + .word .LANCHOR86 + .word .LANCHOR70 + .word .LANCHOR57 .word .LC56 .size print_gc_debug_info, .-print_gc_debug_info + .section .text._list_pop_index_node,"ax",%progbits + .align 1 + .global _list_pop_index_node + .syntax unified + .thumb + .thumb_func + .fpu softvfp + .type _list_pop_index_node, %function +_list_pop_index_node: + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + push {r3, r4, r5, r6, r7, lr} + ldr r5, [r0] + cbz r5, .L824 + ldr r3, .L825 + movw r6, #65535 + movs r7, #6 + ldr r4, [r3] +.L820: + cbnz r1, .L821 +.L823: + subs r4, r5, r4 + asrs r3, r4, #1 + ldr r4, .L825+4 + muls r4, r3, r4 + uxth r1, r4 + bl _list_remove_node + movw r3, #65535 + uxth r0, r4 + strh r3, [r5] @ movhi + strh r3, [r5, #2] @ movhi + pop {r3, r4, r5, r6, r7, pc} +.L821: + ldrh r3, [r5] + cmp r3, r6 + beq .L823 + subs r1, r1, #1 + mla r5, r7, r3, r4 + uxth r1, r1 + b .L820 +.L824: + movw r0, #65535 + pop {r3, r4, r5, r6, r7, pc} +.L826: + .align 2 +.L825: + .word .LANCHOR4 + .word -1431655765 + .size _list_pop_index_node, .-_list_pop_index_node + .section .text._list_get_gc_head_node,"ax",%progbits + .align 1 + .global _list_get_gc_head_node + .syntax unified + .thumb + .thumb_func + .fpu softvfp + .type _list_get_gc_head_node, %function +_list_get_gc_head_node: + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + ldr r0, [r0] + push {r4, lr} + cbz r0, .L832 + ldr r3, .L834 + movw r2, #65535 + movs r4, #6 + ldr r3, [r3] +.L829: + cbz r1, .L830 + ldrh r0, [r0] + cmp r0, r2 + bne .L831 + pop {r4, pc} +.L831: + subs r1, r1, #1 + mla r0, r4, r0, r3 + uxth r1, r1 + b .L829 +.L832: + movw r0, #65535 + pop {r4, pc} +.L830: + subs r0, r0, r3 + asrs r3, r0, #1 + ldr r0, .L834+4 + muls r0, r3, r0 + uxth r0, r0 + pop {r4, pc} +.L835: + .align 2 +.L834: + .word .LANCHOR4 + .word -1431655765 + .size _list_get_gc_head_node, .-_list_get_gc_head_node + .section .text.gc_search_src_blk,"ax",%progbits + .align 1 + .global gc_search_src_blk + .syntax unified + .thumb + .thumb_func + .fpu softvfp + .type gc_search_src_blk, %function +gc_search_src_blk: + @ args = 0, pretend = 0, frame = 24 + @ frame_needed = 0, uses_anonymous_args = 0 + ldr r3, .L947 + push {r4, r5, r6, r7, r8, r10, fp, lr} + sub sp, sp, #32 + str r0, [sp, #12] + mov r6, r2 + ldr r0, [r3] + ldr r3, [sp, #12] + str r1, [sp, #20] + adds r3, r3, #60 + ldrh r7, [r0, r3, lsl #1] + cbz r7, .L837 + mov r0, r7 +.L836: + add sp, sp, #32 + @ sp needed + pop {r4, r5, r6, r7, r8, r10, fp, pc} +.L837: + ldr r3, .L947+4 + ldrh r2, [r3, #52] + cmp r2, #1 + bhi .L839 + ldr r1, .L947+8 + strh r7, [r1] @ movhi + ldr r1, .L947+12 + strh r7, [r1] @ movhi + ldr r1, .L947+16 + strh r7, [r1] @ movhi +.L839: + ldr r1, [sp, #12] + cmp r1, #0 + bne .L840 + ldr r7, .L947+12 + mov r8, r1 + mov r4, r1 +.L841: + uxth r3, r8 + cmp r6, r3 + blt .L846 + ldrh r10, [r7] + ldr r0, .L947+20 + mov r1, r10 + bl _list_get_gc_head_node + add r2, r10, #1 + movw r3, #65535 + uxth r2, r2 + cmp r0, r3 + mov r5, r0 + strh r2, [r7] @ movhi + beq .L842 + ldr r3, .L947+24 + ldr r10, .L947+48 + ldr r3, [r3] + tst r3, #256 + beq .L843 + ldr r3, [r10] + mov r1, r0 + ldrh r3, [r3, r0, lsl #1] + ldr r0, .L947+28 + bl printf +.L843: + ldr r3, [r10] + ldrh r2, [r3, r5, lsl #1] + ldr r3, .L947+32 + ldrh r3, [r3] + cmp r2, r3 + bcs .L842 + movs r2, #0 + mov r0, r5 + mov r1, r2 + bl gc_add_sblk + cmp r0, #0 + beq .L845 + adds r4, r4, #1 + uxth r4, r4 + cmp r4, r6 + bcc .L845 +.L846: + ldr r3, [sp, #20] + lsls r0, r3, #30 + bpl .L848 + ldr r3, .L947+36 + ldrh r3, [r3] + cmp r3, #32 + bls .L848 + ldr r5, .L947+40 + mov r10, #0 + ldr r7, .L947+16 +.L849: + uxth r3, r10 + cmp r6, r3 + blt .L853 + ldrh r8, [r7] + ldr r0, .L947+44 + mov r1, r8 + add r8, r8, #1 + bl _list_get_gc_head_node + movw r2, #65535 + strh r8, [r7] @ movhi + cmp r0, r2 + beq .L850 + ldr r2, .L947+48 + ldrh r3, [r5] + ldr r2, [r2] + ldrh r2, [r2, r0, lsl #1] + cmp r2, r3 + bcs .L850 + movs r2, #0 + mov r1, r2 + bl gc_add_sblk + cmp r0, #0 + beq .L852 + adds r4, r4, #1 + uxth r4, r4 + cmp r4, r6 + bcc .L852 +.L853: + cmp r4, r6 + ldr r1, .L947+52 + bcs .L855 + ldr r3, .L947+56 + ldrh r1, [r1] + ldrh r2, [r5] + ldrh r0, [r3] + ldr r3, .L947+60 + ldrb r3, [r3] @ zero_extendqisi2 + muls r3, r0, r3 + sub r3, r3, r1, lsr #2 + cmp r2, r3 + bge .L848 + add r2, r2, r1, lsr #3 + strh r2, [r5] @ movhi +.L848: + ldr r3, [sp, #20] + lsls r1, r3, #31 + bpl .L856 + uxth r5, r6 + cmp r4, r5 + bcs .L856 + ldr r10, .L947+8 + movs r7, #0 + ldr r8, .L947+68 +.L861: + ldrh fp, [r10] + mov r0, r8 + mov r1, fp + add fp, fp, #1 + bl _list_get_gc_head_node + movw r3, #65535 + strh fp, [r10] @ movhi + cmp r0, r3 + beq .L857 + movs r2, #0 + mov r1, r2 + bl gc_add_sblk + cmp r0, #0 + beq .L858 + adds r4, r4, #1 + uxth r4, r4 + cmp r5, r4 + bhi .L858 +.L859: + ldr r3, .L947+52 + ldr r2, .L947+32 + ldrh r1, [r3] + ldrh r3, [r2] + cmp r3, r1, lsr #1 + bls .L856 + sub r3, r3, r1, lsr #3 + b .L946 +.L842: + movs r3, #0 + strh r3, [r7] @ movhi + b .L846 +.L845: + add r8, r8, #1 + b .L841 +.L850: + movs r3, #0 + strh r3, [r7] @ movhi + b .L853 +.L852: + add r10, r10, #1 + b .L849 +.L855: + ldrh r3, [r5] + ldrh r2, [r1] + cmp r3, r2 + itt hi + subhi r3, r3, r2, lsr #3 + strhhi r3, [r5] @ movhi + b .L848 +.L857: + movs r3, #0 + strh r3, [r10] @ movhi +.L860: + cmp r4, r5 + bcs .L859 + ldr r2, .L947+32 + ldr r1, .L947+52 + ldrh r3, [r2] + ldrh r1, [r1] + cmp r3, r1 + bcs .L856 + add r3, r3, r1, lsr #3 +.L946: + strh r3, [r2] @ movhi +.L856: + ldr r3, .L947+24 + ldr r3, [r3] + lsls r3, r3, #23 + bpl .L892 + str r6, [sp] + mov r3, r4 + ldr r2, [sp, #20] + ldr r1, [sp, #12] + ldr r0, .L947+64 + bl printf +.L892: + mov r0, r4 + b .L836 +.L858: + adds r7, r7, #1 + uxth r3, r7 + cmp r5, r3 + bhi .L861 + b .L860 +.L948: + .align 2 +.L947: + .word .LANCHOR12 + .word .LANCHOR70 + .word .LANCHOR87 + .word .LANCHOR88 + .word .LANCHOR89 + .word .LANCHOR90 + .word .LANCHOR19 + .word .LC57 + .word .LANCHOR69 + .word .LANCHOR91 + .word .LANCHOR93 + .word .LANCHOR92 + .word .LANCHOR11 + .word .LANCHOR94 + .word .LANCHOR85 + .word .LANCHOR79 + .word .LC58 + .word .LANCHOR95 +.L840: + ldr r1, .L949 + cmp r6, #1 + ldr r4, .L949+4 + ldrb r1, [r1] @ zero_extendqisi2 + ldrh r4, [r4] + smulbb r1, r1, r4 + uxth r1, r1 + str r1, [sp, #16] + bne .L862 + cbz r2, .L862 + ldrh r0, [r0, #80] + movw r1, #65535 + cmp r0, r1 + beq .L895 + ldr r0, [sp, #16] + ldrh r1, [r3, #2102] + subs r1, r0, r1 + uxth r1, r1 + str r1, [sp, #16] +.L895: + movs r6, #8 +.L862: + movs r5, #0 + strh r5, [r3, #2180] @ movhi + ldr r3, .L949+8 + strh r5, [r3] @ movhi + ldr r3, [sp, #20] + ands r3, r3, #1 + str r3, [sp, #24] + beq .L896 + ldr r3, .L949+12 + ldr r1, .L949+16 + ldrh r3, [r3] + ldrh r1, [r1] + cmp r3, r1, lsr #2 + bhi .L864 + ldr r1, .L949+20 + ldrh r1, [r1] + cmp r1, r3 + bcs .L897 +.L864: + cmp r2, #1 + bls .L866 +.L868: + movs r4, #0 +.L867: + ldr r10, .L949+64 + movs r5, #0 + mov r8, #64 +.L871: + ldrh r3, [r10] + ldr r0, .L949+24 + mov r1, r3 + str r3, [sp, #28] + bl _list_get_gc_head_node + movw r2, #65535 + mov fp, r0 + cmp r0, r2 + beq .L869 + ldr r3, [sp, #28] + ldr r2, [sp, #12] + adds r1, r3, #1 + strh r1, [r10] @ movhi + movs r1, #0 + bl gc_add_sblk + cmp r0, #0 + beq .L870 + ldr r3, .L949+28 + adds r4, r4, #1 + uxth r4, r4 + ldr r3, [r3] + cmp r4, r6 + ldrh r3, [r3, fp, lsl #1] + add r5, r5, r3 + uxth r5, r5 + bcs .L865 + ldr r3, [sp, #16] + cmp r3, r5 + bcc .L865 + ldr r3, .L949+20 + ldr r2, .L949+12 + ldrh r3, [r3] + ldrh r2, [r2] + cmp r3, r2, lsl #1 + ble .L870 +.L865: + ldr r3, .L949+20 + ldrh r2, [r3] + ldr r3, .L949+16 + ldrh r3, [r3] + cmp r2, r3, lsr #2 + bhi .L893 + ldr r3, .L949+12 + ldrh r3, [r3] + adds r3, r3, #8 + cmp r2, r3 + ble .L863 +.L893: + ldr r3, [sp, #16] + cmp r3, r5 + bls .L863 + ldr r10, .L949+56 + mov r8, #64 +.L874: + ldrh r3, [r10] + ldr r0, .L949+32 + mov r1, r3 + str r3, [sp, #28] + bl _list_get_gc_head_node + movw r2, #65535 + mov fp, r0 + cmp r0, r2 + ldr r3, [sp, #28] + beq .L872 + adds r3, r3, #1 + ldr r2, [sp, #12] + movs r1, #0 + strh r3, [r10] @ movhi + bl gc_add_sblk + cmp r0, #0 + beq .L873 + ldr r3, .L949+28 + adds r4, r4, #1 + uxth r4, r4 + ldr r3, [r3] + cmp r4, r6 + ldrh r3, [r3, fp, lsl #1] + add r5, r5, r3 + uxth r5, r5 + bcs .L863 + ldr r3, [sp, #16] + cmp r3, r5 + bcs .L873 +.L863: + ldr r3, [sp, #20] + lsls r2, r3, #30 + bpl .L875 + ldr r3, .L949+36 + ldrh r3, [r3] + cmp r3, #32 + bls .L875 + ldr r3, [sp, #16] + cmp r5, r3 + bcs .L875 + ldr r10, .L949+68 + movs r3, #64 +.L881: + ldrh fp, [r10] + ldr r0, .L949+40 + str r3, [sp, #28] + mov r1, fp + bl _list_get_gc_head_node + movw r2, #65535 + mov r8, r0 + cmp r0, r2 + beq .L876 + cmp r6, #1 + add r1, fp, #1 + strh r1, [r10] @ movhi + ldr r3, [sp, #28] + bne .L877 + ldr r2, .L949 + ldr r1, .L949+4 + ldrb r2, [r2] @ zero_extendqisi2 + ldrh r1, [r1] + smulbb r2, r2, r1 + ldr r1, .L949+44 + ldrh r1, [r1] + sub r2, r2, r1, lsr #3 + ldr r1, .L949+48 + strh r2, [r1] @ movhi +.L877: + ldr fp, .L949+28 + str r3, [sp, #28] + ldr r2, [fp] + ldrh r1, [r2, r8, lsl #1] + ldr r2, .L949+48 + ldrh r2, [r2] + cmp r1, r2 + bcs .L878 + ldr r2, [sp, #12] + movs r1, #0 + mov r0, r8 + bl gc_add_sblk + ldr r3, [sp, #28] + cmp r0, #0 + beq .L879 + ldr r2, [fp] + adds r4, r4, #1 + uxth r4, r4 + adds r7, r7, #1 + uxth r7, r7 + ldrh r2, [r2, r8, lsl #1] + cmp r4, r6 + add r5, r5, r2 + uxth r5, r5 + bcs .L880 + ldr r2, [sp, #16] + cmp r2, r5 + bcs .L879 +.L880: + cmp r4, r6 + ldr r0, .L949+44 + ldr r2, .L949+48 + bcc .L882 + cmp r7, #0 + bne .L883 + ldr r3, .L949+36 + ldrh r1, [r3] + ldr r3, .L949+52 + ldrh r3, [r3] + cmp r1, r3 + bls .L883 +.L882: + ldrh r3, [r0] + ldrh r1, [r2] + lsrs r0, r3, #3 + ldr r3, .L949+4 + ldrh r7, [r3] + ldr r3, .L949 + ldrb r3, [r3] @ zero_extendqisi2 + muls r3, r7, r3 + subs r3, r3, r0 + cmp r1, r3 + bge .L875 + adds r3, r1, r0 + strh r3, [r2] @ movhi +.L875: + ldr r3, [sp, #24] + cmp r3, #0 + beq .L856 + uxth fp, r6 + cmp r4, fp + bcs .L856 + ldr r3, [sp, #16] + cmp r5, r3 + bcs .L856 + ldr r3, .L949+56 + mov r8, #64 +.L891: + ldrh r2, [r3] + ldr r0, .L949+32 + str r3, [sp, #28] + mov r1, r2 + str r2, [sp, #24] + bl _list_get_gc_head_node + movw r1, #65535 + mov r10, r0 + cmp r0, r1 + ldr r7, .L949+60 + ldr r2, [sp, #24] + ldr r3, [sp, #28] + beq .L885 + adds r2, r2, #1 + strh r2, [r3] @ movhi + ldr r2, .L949+28 + ldr r2, [r2] + ldrh r1, [r2, r0, lsl #1] + ldrh r2, [r7] + cmp r1, r2 + bcs .L886 + ldr r2, .L949+16 + ldrh r1, [r2] + ldr r2, .L949+20 + ldrh r2, [r2] + cmp r2, r1, lsr #1 + bls .L887 +.L886: + ldr r2, [sp, #12] + movs r1, #0 + mov r0, r10 + str r3, [sp, #24] + bl gc_add_sblk + ldr r3, [sp, #24] + cmp r0, #0 + beq .L888 + ldr r2, .L949+28 + adds r4, r4, #1 + uxth r4, r4 + ldr r2, [r2] + cmp fp, r4 + ldrh r2, [r2, r10, lsl #1] + add r5, r5, r2 + uxth r5, r5 + bls .L889 + ldr r2, [sp, #16] + cmp r2, r5 + bcs .L888 +.L890: + ldr r3, .L949+44 + ldrh r2, [r3] + ldrh r3, [r7] + cmp r3, r2, lsr #1 + bls .L856 + sub r3, r3, r2, lsr #3 + strh r3, [r7] @ movhi + b .L856 +.L950: + .align 2 +.L949: + .word .LANCHOR79 + .word .LANCHOR85 + .word .LANCHOR96 + .word .LANCHOR97 + .word .LANCHOR98 + .word .LANCHOR99 + .word .LANCHOR95 + .word .LANCHOR11 + .word .LANCHOR90 + .word .LANCHOR91 + .word .LANCHOR92 + .word .LANCHOR94 + .word .LANCHOR100 + .word .LANCHOR101 + .word .LANCHOR88 + .word .LANCHOR102 + .word .LANCHOR87 + .word .LANCHOR89 +.L866: + ldr r4, .L951 + lsrs r3, r3, #2 + movs r1, #0 + ldr r0, .L951+4 + strh r3, [r4] @ movhi + bl _list_get_gc_head_node + movw r2, #65535 + cmp r0, r2 + beq .L868 + ldr r2, .L951+8 + ldr r1, [r2] + ldr r2, .L951+12 + ldrh r3, [r1, r0, lsl #1] + ldrh r2, [r2] + cmp r3, r2, lsr #2 + bcs .L868 + movs r3, #1 + ldr r2, [sp, #12] + movs r1, #0 + strh r3, [r4] @ movhi + bl gc_add_sblk + adds r4, r0, #0 + it ne + movne r4, #1 + b .L867 +.L869: + movs r3, #0 + strh r3, [r10] @ movhi + b .L865 +.L870: + add r8, r8, #-1 + uxth r8, r8 + cmp r8, #0 + bne .L871 + b .L865 +.L872: + cmp r3, #64 + bls .L863 + movs r3, #0 + strh r3, [r10] @ movhi + b .L863 +.L873: + add r8, r8, #-1 + uxth r8, r8 + cmp r8, #0 + bne .L874 + b .L863 +.L896: + ldr r5, [sp, #24] + mov r4, r5 + b .L863 +.L878: + ldr r3, .L951+16 + movs r2, #0 + strh r2, [r3] @ movhi + b .L880 +.L876: + movs r3, #0 + strh r3, [r10] @ movhi + b .L880 +.L879: + subs r3, r3, #1 + uxth r3, r3 + cmp r3, #0 + bne .L881 + b .L880 +.L883: + ldr r1, .L951+20 + ldrh r0, [r0] + ldrh r3, [r2] + ldrb r1, [r1] @ zero_extendqisi2 + muls r1, r0, r1 + cmp r3, r1 + ble .L856 + sub r3, r3, r0, lsr #3 + b .L946 +.L885: + cmp r2, #64 + bls .L887 + movs r2, #0 + strh r2, [r3] @ movhi +.L887: + cmp r4, fp + bcc .L890 +.L889: + ldr r3, .L951+12 + ldrh r2, [r7] + ldrh r1, [r3] + ldr r3, .L951+20 + ldrb r3, [r3] @ zero_extendqisi2 + muls r3, r1, r3 + subs r3, r3, #32 + cmp r2, r3 + itt lt + addlt r2, r2, r1, lsr #3 + strhlt r2, [r7] @ movhi + b .L856 +.L888: + add r8, r8, #-1 + uxth r8, r8 + cmp r8, #0 + bne .L891 + b .L887 +.L897: + mov r4, r5 + b .L865 +.L952: + .align 2 +.L951: + .word .LANCHOR87 + .word .LANCHOR95 + .word .LANCHOR11 + .word .LANCHOR94 + .word .LANCHOR89 + .word .LANCHOR79 + .size gc_search_src_blk, .-gc_search_src_blk .section .text.zftl_get_gc_node,"ax",%progbits .align 1 .global zftl_get_gc_node @@ -5077,710 +5790,25 @@ zftl_get_gc_node: @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. cmp r1, #5 - bne .L835 - ldr r3, .L838 + bne .L954 mov r1, r0 -.L837: - ldr r0, [r3] - b _list_get_gc_head_node.isra.2 -.L835: - cmp r1, #2 - bne .L836 - b zftl_get_gc_node.part.9 -.L836: - mov r1, r0 - ldr r3, .L838+4 - b .L837 -.L839: - .align 2 -.L838: - .word .LANCHOR88 - .word .LANCHOR89 - .size zftl_get_gc_node, .-zftl_get_gc_node - .section .text.gc_search_src_blk,"ax",%progbits - .align 1 - .global gc_search_src_blk - .syntax unified - .thumb - .thumb_func - .fpu softvfp - .type gc_search_src_blk, %function -gc_search_src_blk: - @ args = 0, pretend = 0, frame = 24 - @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L951 - push {r4, r5, r6, r7, r8, r10, fp, lr} - sub sp, sp, #32 - str r0, [sp, #8] - mov r6, r2 - ldr r0, [r3] - ldr r3, [sp, #8] - str r1, [sp, #20] - adds r3, r3, #60 - ldrh r3, [r0, r3, lsl #1] - str r3, [sp, #16] - cbz r3, .L841 - mov r0, r3 -.L840: - add sp, sp, #32 - @ sp needed - pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L841: - ldr r3, .L951+4 - ldrh r2, [r3, #52] - cmp r2, #1 - bhi .L843 - ldrh r4, [sp, #16] - ldr r1, .L951+8 - strh r4, [r1] @ movhi - ldr r1, .L951+12 - strh r4, [r1] @ movhi - ldr r1, .L951+16 - strh r4, [r1] @ movhi -.L843: - ldr r1, [sp, #8] - cmp r1, #0 - bne .L844 - ldr r7, .L951+12 - mov r8, r1 - mov r4, r1 -.L845: - uxth r3, r8 - cmp r6, r3 - blt .L850 - ldrh r10, [r7] - movs r1, #3 - mov r0, r10 - bl zftl_get_gc_node - add r2, r10, #1 - movw r3, #65535 - uxth r2, r2 - cmp r0, r3 - mov r5, r0 - strh r2, [r7] @ movhi - beq .L846 - ldr r3, .L951+20 - ldr r10, .L951+40 - ldr r3, [r3] - tst r3, #256 - beq .L847 - ldr r3, [r10] - mov r1, r0 - ldrh r3, [r3, r0, lsl #1] - ldr r0, .L951+24 - bl printf -.L847: - ldr r3, [r10] - ldrh r2, [r3, r5, lsl #1] - ldr r3, .L951+28 - ldrh r3, [r3] - cmp r2, r3 - bcs .L846 - movs r2, #0 - mov r0, r5 - mov r1, r2 - bl gc_add_sblk - cmp r0, #0 - beq .L849 - adds r4, r4, #1 - uxth r4, r4 - cmp r4, r6 - bcc .L849 -.L850: - ldr r3, [sp, #20] - lsls r0, r3, #30 - bpl .L852 - ldr r3, .L951+32 - ldrh r3, [r3] - cmp r3, #32 - bls .L852 - ldr r5, .L951+36 - mov r10, #0 - ldr r7, .L951+16 -.L853: - uxth r3, r10 - cmp r6, r3 - blt .L857 - ldrh r8, [r7] - movs r1, #5 - mov r0, r8 - add r8, r8, #1 - bl zftl_get_gc_node - movw r2, #65535 - strh r8, [r7] @ movhi - cmp r0, r2 - beq .L854 - ldr r2, .L951+40 - ldrh r3, [r5] - ldr r2, [r2] - ldrh r2, [r2, r0, lsl #1] - cmp r2, r3 - bcs .L854 - movs r2, #0 - mov r1, r2 - bl gc_add_sblk - cmp r0, #0 - beq .L856 - adds r4, r4, #1 - uxth r4, r4 - cmp r4, r6 - bcc .L856 -.L857: - cmp r4, r6 - ldr r1, .L951+44 - bcs .L859 - ldr r3, .L951+48 - ldrh r1, [r1] - ldrh r2, [r5] - ldrh r0, [r3] - ldr r3, .L951+52 - ldrb r3, [r3] @ zero_extendqisi2 - muls r3, r0, r3 - sub r3, r3, r1, lsr #2 - cmp r2, r3 - bge .L852 - add r2, r2, r1, lsr #3 - strh r2, [r5] @ movhi -.L852: - ldr r3, [sp, #20] - lsls r1, r3, #31 - bpl .L860 - uxth r5, r6 - cmp r4, r5 - bcs .L860 - ldr r10, .L951+8 - movs r7, #0 - movw r8, #65535 -.L865: - ldrh fp, [r10] - mov r0, fp - add fp, fp, #1 - bl zftl_get_gc_node.part.9 - cmp r0, r8 - strh fp, [r10] @ movhi - beq .L861 - movs r2, #0 - mov r1, r2 - bl gc_add_sblk - cmp r0, #0 - beq .L862 - adds r4, r4, #1 - uxth r4, r4 - cmp r5, r4 - bhi .L862 -.L863: - ldr r3, .L951+44 - ldr r2, .L951+28 - ldrh r1, [r3] - ldrh r3, [r2] - cmp r3, r1, lsr #1 - bls .L860 - sub r3, r3, r1, lsr #3 - b .L950 -.L846: - movs r3, #0 - strh r3, [r7] @ movhi - b .L850 -.L849: - add r8, r8, #1 - b .L845 -.L854: - movs r3, #0 - strh r3, [r7] @ movhi - b .L857 -.L856: - add r10, r10, #1 - b .L853 -.L859: - ldrh r3, [r5] - ldrh r2, [r1] - cmp r3, r2 - itt hi - subhi r3, r3, r2, lsr #3 - strhhi r3, [r5] @ movhi - b .L852 -.L861: - movs r3, #0 - strh r3, [r10] @ movhi -.L864: - cmp r4, r5 - bcs .L863 - ldr r2, .L951+28 - ldr r1, .L951+44 - ldrh r3, [r2] - ldrh r1, [r1] - cmp r3, r1 - bcs .L860 - add r3, r3, r1, lsr #3 -.L950: - strh r3, [r2] @ movhi -.L860: - ldr r3, .L951+20 - ldr r3, [r3] - lsls r3, r3, #23 - bpl .L896 - str r6, [sp] - mov r3, r4 - ldr r2, [sp, #20] - ldr r1, [sp, #8] - ldr r0, .L951+56 - bl printf -.L896: - mov r0, r4 - b .L840 -.L862: - adds r7, r7, #1 - uxth r3, r7 - cmp r5, r3 - bhi .L865 - b .L864 -.L952: - .align 2 -.L951: - .word .LANCHOR10 - .word .LANCHOR71 - .word .LANCHOR90 - .word .LANCHOR91 - .word .LANCHOR92 - .word .LANCHOR14 - .word .LC57 - .word .LANCHOR70 - .word .LANCHOR93 - .word .LANCHOR94 - .word .LANCHOR9 - .word .LANCHOR95 - .word .LANCHOR86 - .word .LANCHOR80 - .word .LC58 -.L844: - ldr r1, .L953 - cmp r6, #1 - ldr r4, .L953+4 - ldrb r1, [r1] @ zero_extendqisi2 - ldrh r4, [r4] - smulbb r1, r1, r4 - uxth r1, r1 - str r1, [sp, #12] - bne .L866 - cbz r2, .L866 - ldrh r0, [r0, #80] - movw r1, #65535 - cmp r0, r1 - beq .L899 - ldr r0, [sp, #12] - ldrh r1, [r3, #2102] - subs r1, r0, r1 - uxth r1, r1 - str r1, [sp, #12] -.L899: - movs r6, #8 -.L866: - movs r5, #0 - strh r5, [r3, #2106] @ movhi - ldr r3, .L953+8 - strh r5, [r3] @ movhi - ldr r3, [sp, #20] - ands r3, r3, #1 - str r3, [sp, #24] - beq .L900 - ldr r3, .L953+12 - ldr r1, .L953+16 - ldrh r3, [r3] - ldrh r1, [r1] - cmp r3, r1, lsr #2 - bhi .L868 - ldr r1, .L953+20 - ldrh r1, [r1] - cmp r1, r3 - bcs .L901 -.L868: - cmp r2, #1 - bls .L870 -.L872: - movs r4, #0 -.L871: - ldr r8, .L953+52 - movs r5, #0 - ldr r10, .L953+48 - movs r7, #64 -.L875: - ldrh r3, [r8] - mov r0, r3 - str r3, [sp, #28] - bl zftl_get_gc_node.part.9 - movw r2, #65535 - mov fp, r0 - cmp r0, r2 - beq .L873 - ldr r3, [sp, #28] - movs r1, #0 - ldr r2, [sp, #8] - adds r3, r3, #1 - strh r3, [r8] @ movhi - bl gc_add_sblk - cmp r0, #0 - beq .L874 - ldr r3, [r10] - adds r4, r4, #1 - uxth r4, r4 - ldrh r3, [r3, fp, lsl #1] - cmp r4, r6 - add r5, r5, r3 - uxth r5, r5 - bcs .L869 - ldr r3, [sp, #12] - cmp r3, r5 - bcc .L869 - ldr r3, .L953+20 - ldr r2, .L953+12 - ldrh r3, [r3] - ldrh r2, [r2] - cmp r3, r2, lsl #1 - ble .L874 -.L869: - ldr r3, .L953+20 - ldrh r2, [r3] - ldr r3, .L953+16 - ldrh r3, [r3] - cmp r2, r3, lsr #2 - bhi .L897 - ldr r3, .L953+12 - ldrh r3, [r3] - adds r3, r3, #8 - cmp r2, r3 - ble .L867 -.L897: - ldr r3, [sp, #12] - cmp r3, r5 - bls .L867 - ldr r8, .L953+40 - movs r7, #64 - ldr r10, .L953+48 -.L878: - ldrh r3, [r8] - movs r1, #3 - mov r0, r3 - str r3, [sp, #28] - bl zftl_get_gc_node - movw r2, #65535 - mov fp, r0 - cmp r0, r2 - ldr r3, [sp, #28] - beq .L876 - adds r3, r3, #1 - ldr r2, [sp, #8] - movs r1, #0 - strh r3, [r8] @ movhi - bl gc_add_sblk - cmp r0, #0 - beq .L877 - ldr r3, [r10] - adds r4, r4, #1 - uxth r4, r4 - ldrh r3, [r3, fp, lsl #1] - cmp r4, r6 - add r5, r5, r3 - uxth r5, r5 - bcs .L867 - ldr r3, [sp, #12] - cmp r3, r5 - bcs .L877 -.L867: - ldr r3, [sp, #20] - lsls r2, r3, #30 - bpl .L879 - ldr r3, .L953+24 - ldrh r3, [r3] - cmp r3, #32 - bls .L879 - ldr r3, [sp, #12] - cmp r5, r3 - bcs .L879 - ldr r8, .L953+56 - mov fp, #64 -.L885: - ldrh r10, [r8] - movs r1, #5 - mov r0, r10 - bl zftl_get_gc_node - movw r3, #65535 - mov r7, r0 - cmp r0, r3 - beq .L880 - cmp r6, #1 - add r0, r10, #1 - strh r0, [r8] @ movhi - bne .L881 - ldr r3, .L953 - ldr r2, .L953+4 - ldrb r3, [r3] @ zero_extendqisi2 - ldrh r2, [r2] - smulbb r3, r3, r2 - ldr r2, .L953+28 - ldrh r2, [r2] - sub r3, r3, r2, lsr #3 - ldr r2, .L953+32 - strh r3, [r2] @ movhi -.L881: - ldr r10, .L953+48 - ldr r3, [r10] - ldrh r2, [r3, r7, lsl #1] - ldr r3, .L953+32 - ldrh r3, [r3] - cmp r2, r3 - bcs .L882 - ldr r2, [sp, #8] - movs r1, #0 - mov r0, r7 - bl gc_add_sblk - cmp r0, #0 - beq .L883 - ldr r0, [sp, #16] - adds r4, r4, #1 - uxth r4, r4 - adds r0, r0, #1 - cmp r4, r6 - uxth r3, r0 - str r3, [sp, #16] - ldr r3, [r10] - ldrh r3, [r3, r7, lsl #1] - add r5, r5, r3 - uxth r5, r5 - bcs .L884 - ldr r3, [sp, #12] - cmp r3, r5 - bcs .L883 -.L884: - cmp r4, r6 - ldr r0, .L953+28 - ldr r2, .L953+32 - bcc .L886 - ldr r3, [sp, #16] - cmp r3, #0 - bne .L887 - ldr r3, .L953+24 - ldrh r1, [r3] - ldr r3, .L953+36 - ldrh r3, [r3] - cmp r1, r3 - bls .L887 -.L886: - ldrh r3, [r0] - ldrh r1, [r2] - lsrs r0, r3, #3 - ldr r3, .L953+4 - ldrh r7, [r3] - ldr r3, .L953 - ldrb r3, [r3] @ zero_extendqisi2 - muls r3, r7, r3 - subs r3, r3, r0 - cmp r1, r3 - bge .L879 - adds r3, r1, r0 - strh r3, [r2] @ movhi -.L879: - ldr r3, [sp, #24] - cmp r3, #0 - beq .L860 - uxth fp, r6 - cmp r4, fp - bcs .L860 - ldr r3, [sp, #12] - cmp r5, r3 - bcs .L860 - ldr r3, .L953+40 - mov r8, #64 - ldr r7, .L953+44 -.L895: - ldrh r2, [r3] - movs r1, #3 - str r3, [sp, #24] - mov r0, r2 - str r2, [sp, #16] - bl zftl_get_gc_node - movw r1, #65535 - mov r10, r0 - cmp r0, r1 - ldr r2, [sp, #16] - ldr r3, [sp, #24] - beq .L889 - adds r2, r2, #1 - strh r2, [r3] @ movhi - ldr r2, .L953+48 - ldr r2, [r2] - ldrh r1, [r2, r0, lsl #1] - ldrh r2, [r7] - cmp r1, r2 - bcs .L890 - ldr r2, .L953+16 - ldrh r1, [r2] - ldr r2, .L953+20 - ldrh r2, [r2] - cmp r2, r1, lsr #1 - bls .L891 -.L890: - ldr r2, [sp, #8] - movs r1, #0 - mov r0, r10 - str r3, [sp, #16] - bl gc_add_sblk - ldr r3, [sp, #16] - cmp r0, #0 - beq .L892 - ldr r2, .L953+48 - adds r4, r4, #1 - uxth r4, r4 - ldr r2, [r2] - cmp fp, r4 - ldrh r2, [r2, r10, lsl #1] - add r5, r5, r2 - uxth r5, r5 - bls .L893 - ldr r2, [sp, #12] - cmp r2, r5 - bcs .L892 -.L894: - ldr r3, .L953+28 - ldrh r2, [r3] - ldrh r3, [r7] - cmp r3, r2, lsr #1 - bls .L860 - sub r3, r3, r2, lsr #3 - strh r3, [r7] @ movhi - b .L860 -.L954: - .align 2 -.L953: - .word .LANCHOR80 - .word .LANCHOR86 - .word .LANCHOR96 - .word .LANCHOR97 - .word .LANCHOR98 - .word .LANCHOR99 - .word .LANCHOR93 - .word .LANCHOR95 - .word .LANCHOR100 - .word .LANCHOR101 - .word .LANCHOR91 - .word .LANCHOR102 - .word .LANCHOR9 - .word .LANCHOR90 - .word .LANCHOR92 -.L870: - ldr r4, .L955 - lsrs r3, r3, #2 - movs r0, #0 - strh r3, [r4] @ movhi - bl zftl_get_gc_node.part.9 - movw r2, #65535 - cmp r0, r2 - beq .L872 - ldr r2, .L955+4 - ldr r1, [r2] - ldr r2, .L955+8 - ldrh r3, [r1, r0, lsl #1] - ldrh r2, [r2] - cmp r3, r2, lsr #2 - bcs .L872 - movs r3, #1 - ldr r2, [sp, #8] - movs r1, #0 - strh r3, [r4] @ movhi - bl gc_add_sblk - adds r4, r0, #0 - it ne - movne r4, #1 - b .L871 -.L873: - movs r3, #0 - strh r3, [r8] @ movhi - b .L869 -.L874: - subs r7, r7, #1 - uxth r7, r7 - cmp r7, #0 - bne .L875 - b .L869 -.L876: - cmp r3, #64 - bls .L867 - movs r3, #0 - strh r3, [r8] @ movhi - b .L867 -.L877: - subs r7, r7, #1 - uxth r7, r7 - cmp r7, #0 - bne .L878 - b .L867 -.L900: - ldr r5, [sp, #24] - mov r4, r5 - b .L867 -.L882: - ldr r3, .L955+12 - movs r2, #0 - strh r2, [r3] @ movhi - b .L884 -.L880: - movs r3, #0 - strh r3, [r8] @ movhi - b .L884 -.L883: - add fp, fp, #-1 - uxth fp, fp - cmp fp, #0 - bne .L885 - b .L884 -.L887: - ldr r1, .L955+16 - ldrh r0, [r0] - ldrh r3, [r2] - ldrb r1, [r1] @ zero_extendqisi2 - muls r1, r0, r1 - cmp r3, r1 - ble .L860 - sub r3, r3, r0, lsr #3 - b .L950 -.L889: - cmp r2, #64 - bls .L891 - movs r2, #0 - strh r2, [r3] @ movhi -.L891: - cmp r4, fp - bcc .L894 -.L893: - ldr r3, .L955+8 - ldrh r2, [r7] - ldrh r1, [r3] - ldr r3, .L955+16 - ldrb r3, [r3] @ zero_extendqisi2 - muls r3, r1, r3 - subs r3, r3, #32 - cmp r2, r3 - itt lt - addlt r2, r2, r1, lsr #3 - strhlt r2, [r7] @ movhi - b .L860 -.L892: - add r8, r8, #-1 - uxth r8, r8 - cmp r8, #0 - bne .L895 - b .L891 -.L901: - mov r4, r5 - b .L869 + ldr r0, .L957 .L956: + b _list_get_gc_head_node +.L954: + cmp r1, #2 + mov r1, r0 + ite eq + ldreq r0, .L957+4 + ldrne r0, .L957+8 + b .L956 +.L958: .align 2 -.L955: - .word .LANCHOR90 - .word .LANCHOR9 - .word .LANCHOR95 +.L957: .word .LANCHOR92 - .word .LANCHOR80 - .size gc_search_src_blk, .-gc_search_src_blk + .word .LANCHOR95 + .word .LANCHOR90 + .size zftl_get_gc_node, .-zftl_get_gc_node .section .text.zftl_insert_free_list,"ax",%progbits .align 1 .global zftl_insert_free_list @@ -5793,29 +5821,29 @@ zftl_insert_free_list: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L961 + ldr r3, .L963 mov r1, r0 ldr r3, [r3] add r3, r3, r0, lsl #2 ldrb r3, [r3, #2] @ zero_extendqisi2 ands r3, r3, #24 - bne .L958 - ldr r2, .L961+4 - ldr r0, .L961+8 -.L960: + bne .L960 + ldr r2, .L963+4 + ldr r0, .L963+8 +.L962: b _insert_free_list -.L958: +.L960: cmp r3, #16 ittee eq - ldreq r2, .L961+12 - ldreq r0, .L961+16 - ldrne r2, .L961+20 - ldrne r0, .L961+24 - b .L960 -.L962: + ldreq r2, .L963+12 + ldreq r0, .L963+16 + ldrne r2, .L963+20 + ldrne r0, .L963+24 + b .L962 +.L964: .align 2 -.L961: - .word .LANCHOR7 +.L963: + .word .LANCHOR9 .word .LANCHOR103 .word .LANCHOR104 .word .LANCHOR105 @@ -5835,42 +5863,42 @@ zftl_insert_data_list: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L968 + ldr r3, .L970 mov r1, r0 ldr r3, [r3] add r3, r3, r0, lsl #2 ldrb r3, [r3, #2] @ zero_extendqisi2 and r3, r3, #224 cmp r3, #64 - bne .L964 - ldr r2, .L968+4 - ldr r0, .L968+8 -.L967: - b _insert_data_list -.L964: - cmp r3, #96 - bne .L965 - ldr r2, .L968+12 - ldr r0, .L968+16 - b .L967 -.L965: - cmp r3, #160 - bne .L963 - ldr r2, .L968+20 - ldr r0, .L968+24 - b .L967 -.L963: - bx lr + bne .L966 + ldr r2, .L970+4 + ldr r0, .L970+8 .L969: + b _insert_data_list +.L966: + cmp r3, #96 + bne .L967 + ldr r2, .L970+12 + ldr r0, .L970+16 + b .L969 +.L967: + cmp r3, #160 + bne .L965 + ldr r2, .L970+20 + ldr r0, .L970+24 + b .L969 +.L965: + bx lr +.L971: .align 2 -.L968: - .word .LANCHOR7 +.L970: + .word .LANCHOR9 .word .LANCHOR97 - .word .LANCHOR12 + .word .LANCHOR95 .word .LANCHOR99 - .word .LANCHOR89 - .word .LANCHOR93 - .word .LANCHOR88 + .word .LANCHOR90 + .word .LANCHOR91 + .word .LANCHOR92 .size zftl_insert_data_list, .-zftl_insert_data_list .section .text.zftl_gc_get_free_sblk,"ax",%progbits .align 1 @@ -5885,71 +5913,71 @@ zftl_gc_get_free_sblk: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr} movw r5, #65535 - ldr r8, .L991+48 + ldr r8, .L993+48 mov r4, r0 mov r6, r1 ldr r3, [r8] ldrh r7, [r3, #588] cmp r7, r5 - beq .L971 - cbnz r0, .L971 + beq .L973 + cbnz r0, .L973 mov r1, r7 - ldr r0, .L991 + ldr r0, .L993 bl printf ldr r3, [r8] strh r5, [r3, #588] @ movhi -.L972: +.L974: mov r0, r7 add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, pc} -.L971: - ldr r3, .L991+4 - ldr r5, .L991+8 +.L973: + ldr r3, .L993+4 + ldr r5, .L993+8 ldrh r1, [r3] ldrh r3, [r5] cmp r1, r3 - bcc .L973 - ldr r2, .L991+12 + bcc .L975 + ldr r2, .L993+12 ldrh r2, [r2] cmp r2, r1 - bls .L974 + bls .L976 cmp r3, #0 - beq .L974 -.L973: + beq .L976 +.L975: cmp r4, #0 - bne .L975 + bne .L977 lsrs r1, r3, #2 -.L976: - ldr r2, .L991+8 - ldr r0, .L991+16 -.L990: +.L978: + ldr r2, .L993+8 + ldr r0, .L993+16 +.L992: bl _list_pop_index_node uxth r7, r0 movw r3, #65535 cmp r7, r3 - bne .L979 + bne .L981 ldrh r3, [r5] mov r2, r6 mov r1, r7 - ldr r0, .L991+20 + ldr r0, .L993+20 str r3, [sp, #4] - ldr r3, .L991+12 + ldr r3, .L993+12 ldrh r3, [r3] str r3, [sp] - ldr r3, .L991+24 + ldr r3, .L993+24 ldr r3, [r3] bl printf -.L979: +.L981: cmp r4, #0 - beq .L972 - ldr r3, .L991+28 + beq .L974 + ldr r3, .L993+28 ldr r3, [r3] lsls r3, r3, #23 - bpl .L972 - ldr r3, .L991+32 - ldr r1, .L991+36 - ldr r0, .L991+40 + bpl .L974 + ldr r3, .L993+32 + ldr r1, .L993+36 + ldr r0, .L993+40 ldr r3, [r3] ldr r1, [r1] ldrh r1, [r1, r7, lsl #1] @@ -5966,24 +5994,24 @@ zftl_gc_get_free_sblk: ubfx r3, r2, #3, #2 lsrs r2, r2, #5 bl printf - b .L972 -.L975: + b .L974 +.L977: rsb r1, r1, r1, lsl #3 ubfx r1, r1, #3, #16 - b .L976 -.L974: - cbz r4, .L980 - lsrs r1, r1, #3 -.L978: - ldr r2, .L991+4 - ldr r0, .L991+44 - b .L990 -.L980: - mov r1, r4 b .L978 -.L992: +.L976: + cbz r4, .L982 + lsrs r1, r1, #3 +.L980: + ldr r2, .L993+4 + ldr r0, .L993+44 + b .L992 +.L982: + mov r1, r4 + b .L980 +.L994: .align 2 -.L991: +.L993: .word .LC59 .word .LANCHOR105 .word .LANCHOR107 @@ -5991,12 +6019,12 @@ zftl_gc_get_free_sblk: .word .LANCHOR108 .word .LC60 .word .LANCHOR104 - .word .LANCHOR14 - .word .LANCHOR7 + .word .LANCHOR19 .word .LANCHOR9 + .word .LANCHOR11 .word .LC61 .word .LANCHOR106 - .word .LANCHOR10 + .word .LANCHOR12 .size zftl_gc_get_free_sblk, .-zftl_gc_get_free_sblk .section .text.zftl_get_free_sblk,"ax",%progbits .align 1 @@ -6010,98 +6038,105 @@ zftl_get_free_sblk: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 cmp r1, #5 - push {r0, r1, r2, r4, r5, r6, r7, lr} - mov r5, r1 - bne .L994 - ldr r3, .L1015 - ldr r2, .L1015+4 + push {r0, r1, r4, r5, r6, r7, r8, lr} + mov r5, r0 + mov r6, r1 + bne .L996 + ldr r3, .L1017 + ldr r2, .L1017+4 ldrh r3, [r3] ldrh r1, [r2] cmp r3, r1 - bcc .L995 - ldr r2, .L1015+8 + bcc .L997 + ldr r2, .L1017+8 ldrh r2, [r2] cmp r2, r3 - bls .L996 - cbz r1, .L996 -.L995: - ldr r2, .L1015+4 + bls .L998 + cbz r1, .L998 +.L997: + ldr r2, .L1017+4 lsrs r1, r1, #1 -.L1014: - ldr r0, .L1015+12 - b .L1013 -.L996: - ldr r2, .L1015 +.L1016: + ldr r0, .L1017+12 + b .L1015 +.L998: + ldr r2, .L1017 movs r1, #0 - ldr r0, .L1015+16 -.L1013: + ldr r0, .L1017+16 +.L1015: bl _list_pop_index_node uxth r4, r0 movw r3, #65535 cmp r4, r3 - bne .L999 - ldr r3, .L1015+4 - mov r2, r5 + bne .L1001 + ldr r3, .L1017+4 + mov r2, r6 mov r1, r4 - ldr r0, .L1015+20 + ldr r0, .L1017+20 ldrh r3, [r3] str r3, [sp, #4] - ldr r3, .L1015+8 + ldr r3, .L1017+8 ldrh r3, [r3] str r3, [sp] - ldr r3, .L1015+24 + ldr r3, .L1017+24 ldr r3, [r3] bl printf - b .L999 -.L994: - ldr r7, .L1015+28 - movw r6, #65535 - ldr r3, [r7] + b .L1001 +.L996: + ldr r8, .L1017+32 + movw r7, #65535 + ldr r3, [r8] ldrh r4, [r3, #590] - cmp r4, r6 - beq .L998 + cmp r4, r7 + beq .L1000 cmp r1, #1 - beq .L998 + beq .L1000 mov r1, r4 - ldr r0, .L1015+32 + ldr r0, .L1017+28 bl printf - ldr r3, [r7] - strh r6, [r3, #590] @ movhi -.L999: - mov r0, r4 - add sp, sp, #12 - @ sp needed - pop {r4, r5, r6, r7, pc} -.L998: - ldr r3, .L1015+8 - ldr r2, .L1015+4 - ldrh r3, [r3] - ldrh r2, [r2] - cmp r3, r2 - bcc .L1000 - ldr r1, .L1015 - ldrh r1, [r1] - cmp r1, r3 - bls .L1001 - cbz r2, .L1001 -.L1000: - cmp r5, #1 - it eq - lsreq r0, r2, #1 - ldr r2, .L1015+4 - mov r1, r0 - b .L1014 + ldr r3, [r8] + strh r7, [r3, #590] @ movhi .L1001: - cmp r5, #1 - ldr r2, .L1015+8 + mov r0, r4 + add sp, sp, #8 + @ sp needed + pop {r4, r5, r6, r7, r8, pc} +.L1000: + ldr r3, .L1017+8 + ldr r7, .L1017+4 + ldrh r2, [r3] + ldrh r1, [r7] + cmp r2, r1 + bcc .L1002 + ldr r3, .L1017 + ldrh r3, [r3] + cmp r3, r2 + bls .L1003 + cbz r1, .L1003 +.L1002: + bl get_ink_scaned_blk + movw r3, #65535 + mov r4, r0 + cmp r0, r3 + bne .L1001 + cmp r6, #1 + ldr r2, .L1017+4 + itt eq + ldrheq r5, [r7] + lsreq r5, r5, #1 + mov r1, r5 + b .L1016 +.L1003: + cmp r6, #1 + ldr r0, .L1017+24 it eq - lsreq r0, r3, #1 - mov r1, r0 - ldr r0, .L1015+24 - b .L1013 -.L1016: + lsreq r5, r2, #1 + ldr r2, .L1017+8 + mov r1, r5 + b .L1015 +.L1018: .align 2 -.L1015: +.L1017: .word .LANCHOR105 .word .LANCHOR107 .word .LANCHOR103 @@ -6109,8 +6144,8 @@ zftl_get_free_sblk: .word .LANCHOR106 .word .LC60 .word .LANCHOR104 - .word .LANCHOR10 .word .LC62 + .word .LANCHOR12 .size zftl_get_free_sblk, .-zftl_get_free_sblk .section .text.zftl_remove_data_node,"ax",%progbits .align 1 @@ -6124,42 +6159,42 @@ zftl_remove_data_node: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1022 + ldr r3, .L1024 mov r1, r0 ldr r3, [r3] add r3, r3, r0, lsl #2 ldrb r3, [r3, #2] @ zero_extendqisi2 and r3, r3, #224 cmp r3, #64 - bne .L1018 - ldr r2, .L1022+4 - ldr r0, .L1022+8 -.L1021: - b _list_remove_node -.L1018: - cmp r3, #96 - bne .L1019 - ldr r2, .L1022+12 - ldr r0, .L1022+16 - b .L1021 -.L1019: - cmp r3, #160 - bne .L1017 - ldr r2, .L1022+20 - ldr r0, .L1022+24 - b .L1021 -.L1017: - bx lr + bne .L1020 + ldr r2, .L1024+4 + ldr r0, .L1024+8 .L1023: + b _list_remove_node +.L1020: + cmp r3, #96 + bne .L1021 + ldr r2, .L1024+12 + ldr r0, .L1024+16 + b .L1023 +.L1021: + cmp r3, #160 + bne .L1019 + ldr r2, .L1024+20 + ldr r0, .L1024+24 + b .L1023 +.L1019: + bx lr +.L1025: .align 2 -.L1022: - .word .LANCHOR7 +.L1024: + .word .LANCHOR9 .word .LANCHOR97 - .word .LANCHOR12 + .word .LANCHOR95 .word .LANCHOR99 - .word .LANCHOR89 - .word .LANCHOR93 - .word .LANCHOR88 + .word .LANCHOR90 + .word .LANCHOR91 + .word .LANCHOR92 .size zftl_remove_data_node, .-zftl_remove_data_node .section .text.zftl_remove_free_node,"ax",%progbits .align 1 @@ -6173,29 +6208,29 @@ zftl_remove_free_node: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1028 + ldr r3, .L1030 mov r1, r0 ldr r3, [r3] add r3, r3, r0, lsl #2 ldrb r3, [r3, #2] @ zero_extendqisi2 ands r3, r3, #24 - bne .L1025 - ldr r2, .L1028+4 - ldr r0, .L1028+8 -.L1027: + bne .L1027 + ldr r2, .L1030+4 + ldr r0, .L1030+8 +.L1029: b _list_remove_node -.L1025: +.L1027: cmp r3, #16 ittee eq - ldreq r2, .L1028+12 - ldreq r0, .L1028+16 - ldrne r2, .L1028+20 - ldrne r0, .L1028+24 - b .L1027 -.L1029: + ldreq r2, .L1030+12 + ldreq r0, .L1030+16 + ldrne r2, .L1030+20 + ldrne r0, .L1030+24 + b .L1029 +.L1031: .align 2 -.L1028: - .word .LANCHOR7 +.L1030: + .word .LANCHOR9 .word .LANCHOR103 .word .LANCHOR104 .word .LANCHOR105 @@ -6215,42 +6250,42 @@ zftl_list_update_data_list: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1035 + ldr r3, .L1037 mov r1, r0 ldr r3, [r3] add r3, r3, r0, lsl #2 ldrb r3, [r3, #2] @ zero_extendqisi2 and r3, r3, #224 cmp r3, #64 - bne .L1031 - ldr r2, .L1035+4 - ldr r0, .L1035+8 -.L1034: - b _list_update_data_list -.L1031: - cmp r3, #96 - bne .L1032 - ldr r2, .L1035+12 - ldr r0, .L1035+16 - b .L1034 -.L1032: - cmp r3, #160 - bne .L1030 - ldr r2, .L1035+20 - ldr r0, .L1035+24 - b .L1034 -.L1030: - bx lr + bne .L1033 + ldr r2, .L1037+4 + ldr r0, .L1037+8 .L1036: + b _list_update_data_list +.L1033: + cmp r3, #96 + bne .L1034 + ldr r2, .L1037+12 + ldr r0, .L1037+16 + b .L1036 +.L1034: + cmp r3, #160 + bne .L1032 + ldr r2, .L1037+20 + ldr r0, .L1037+24 + b .L1036 +.L1032: + bx lr +.L1038: .align 2 -.L1035: - .word .LANCHOR7 +.L1037: + .word .LANCHOR9 .word .LANCHOR97 - .word .LANCHOR12 + .word .LANCHOR95 .word .LANCHOR99 - .word .LANCHOR89 - .word .LANCHOR93 - .word .LANCHOR88 + .word .LANCHOR90 + .word .LANCHOR91 + .word .LANCHOR92 .size zftl_list_update_data_list, .-zftl_list_update_data_list .section .text.print_list_info,"ax",%progbits .align 1 @@ -6268,18 +6303,18 @@ print_list_info: ldrh r2, [r1] sub sp, sp, #36 ldr r1, [r0] - ldr r0, .L1041 + ldr r0, .L1043 bl printf ldr r4, [r4] cmp r4, #0 - beq .L1037 - ldr r6, .L1041+4 + beq .L1039 + ldr r6, .L1043+4 movs r5, #0 - ldr r7, .L1041+8 -.L1040: + ldr r7, .L1043+8 +.L1042: ldr r2, [r6] - ldr r0, .L1041+12 - ldr r3, .L1041+16 + ldr r0, .L1043+12 + ldr r3, .L1043+16 subs r2, r4, r2 asrs r2, r2, #1 ldr r0, [r0] @@ -6294,7 +6329,7 @@ print_list_info: ubfx r0, r0, #0, #11 str r0, [sp, #20] ldr r1, [r1, r2, lsl #2] - ldr r0, .L1041+20 + ldr r0, .L1043+20 ubfx r1, r1, #11, #8 str r1, [sp, #16] ldrb r1, [ip, #2] @ zero_extendqisi2 @@ -6312,28 +6347,28 @@ print_list_info: ldrh r4, [r4] movw r3, #65535 cmp r4, r3 - beq .L1037 + beq .L1039 ldr r3, [r6] movs r2, #6 adds r5, r5, #1 uxth r5, r5 mla r4, r2, r4, r3 - ldr r3, .L1041+24 + ldr r3, .L1043+24 ldrh r3, [r3] cmp r3, r5 - bcs .L1040 -.L1037: + bcs .L1042 +.L1039: add sp, sp, #36 @ sp needed pop {r4, r5, r6, r7, pc} -.L1042: +.L1044: .align 2 -.L1041: +.L1043: .word .LC63 .word .LANCHOR4 .word -1431655765 + .word .LANCHOR11 .word .LANCHOR9 - .word .LANCHOR7 .word .LC64 .word .LANCHOR109 .size print_list_info, .-print_list_info @@ -6349,28 +6384,28 @@ dump_all_list_info: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 push {r3, lr} - ldr r1, .L1044 - ldr r0, .L1044+4 + ldr r1, .L1046 + ldr r0, .L1046+4 bl print_list_info - ldr r1, .L1044+8 - ldr r0, .L1044+12 + ldr r1, .L1046+8 + ldr r0, .L1046+12 bl print_list_info - ldr r1, .L1044+16 - ldr r0, .L1044+20 + ldr r1, .L1046+16 + ldr r0, .L1046+20 bl print_list_info - ldr r1, .L1044+24 - ldr r0, .L1044+28 + ldr r1, .L1046+24 + ldr r0, .L1046+28 bl print_list_info - ldr r1, .L1044+32 - ldr r0, .L1044+36 + ldr r1, .L1046+32 + ldr r0, .L1046+36 bl print_list_info - ldr r1, .L1044+40 - ldr r0, .L1044+44 + ldr r1, .L1046+40 + ldr r0, .L1046+44 pop {r3, lr} b print_list_info -.L1045: +.L1047: .align 2 -.L1044: +.L1046: .word .LANCHOR103 .word .LANCHOR104 .word .LANCHOR105 @@ -6378,11 +6413,11 @@ dump_all_list_info: .word .LANCHOR107 .word .LANCHOR108 .word .LANCHOR97 - .word .LANCHOR12 + .word .LANCHOR95 .word .LANCHOR99 - .word .LANCHOR89 - .word .LANCHOR93 - .word .LANCHOR88 + .word .LANCHOR90 + .word .LANCHOR91 + .word .LANCHOR92 .size dump_all_list_info, .-dump_all_list_info .section .text.ftl_tmp_into_update,"ax",%progbits .align 1 @@ -6396,48 +6431,48 @@ ftl_tmp_into_update: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1051 + ldr r3, .L1053 ldr r3, [r3] ldr r2, [r3, #16] cmp r2, #2048 - bls .L1047 + bls .L1049 ldr r1, [r3, #20] add r1, r1, r2, lsr #11 ubfx r2, r2, #0, #11 str r2, [r3, #16] str r1, [r3, #20] -.L1047: +.L1049: ldr r2, [r3, #24] cmp r2, #2048 - bls .L1048 + bls .L1050 ldr r1, [r3, #28] add r1, r1, r2, lsr #11 ubfx r2, r2, #0, #11 str r2, [r3, #24] str r1, [r3, #28] -.L1048: +.L1050: ldr r2, [r3, #32] cmp r2, #1024 - bls .L1049 + bls .L1051 ldr r1, [r3, #36] add r1, r1, r2, lsr #10 ubfx r2, r2, #0, #10 str r2, [r3, #32] str r1, [r3, #36] -.L1049: +.L1051: ldr r2, [r3, #40] cmp r2, #1024 - bls .L1046 + bls .L1048 ldr r1, [r3, #44] add r1, r1, r2, lsr #10 ubfx r2, r2, #0, #10 str r2, [r3, #40] str r1, [r3, #44] -.L1046: +.L1048: bx lr -.L1052: +.L1054: .align 2 -.L1051: +.L1053: .word .LANCHOR110 .size ftl_tmp_into_update, .-ftl_tmp_into_update .global __aeabi_idiv @@ -6454,43 +6489,43 @@ ftl_get_blk_list_in_sblk: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r10, fp, lr} movs r4, #0 - ldr r3, .L1062 + ldr r3, .L1064 mov r8, r1 mov r5, r4 - ldr r2, .L1062+4 + ldr r2, .L1064+4 ldr r3, [r3] ldrb r10, [r2] @ zero_extendqisi2 - ldr r2, .L1062+8 + ldr r2, .L1064+8 add r3, r3, r0, lsl #2 ldrb r3, [r3, #3] @ zero_extendqisi2 uxth r7, r10 ldrb fp, [r2] @ zero_extendqisi2 smulbb r0, r0, r7 - ldr r2, .L1062+12 + ldr r2, .L1064+12 str r3, [sp, #4] subs r7, r7, #1 - ldr r3, .L1062+16 + ldr r3, .L1064+16 sxth r7, r7 uxth r6, r0 rsb fp, fp, #24 ldrb r3, [r3] @ zero_extendqisi2 -.L1054: +.L1056: cmp r5, r3 - blt .L1058 + blt .L1060 mov r2, r4 movw r1, #65535 -.L1059: +.L1061: cmp r2, r3 - blt .L1060 + blt .L1062 mov r0, r4 add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L1058: +.L1060: ldr r1, [sp, #4] asrs r1, r1, r5 lsls r1, r1, #31 - bmi .L1055 + bmi .L1057 mov r1, r10 mov r0, r5 str r2, [sp, #12] @@ -6510,21 +6545,21 @@ ftl_get_blk_list_in_sblk: addhi r0, r0, r1 strh r0, [r8, r4, lsl #1] @ movhi adds r4, r4, #1 -.L1055: +.L1057: adds r5, r5, #1 - b .L1054 -.L1060: + b .L1056 +.L1062: strh r1, [r8, r2, lsl #1] @ movhi adds r2, r2, #1 - b .L1059 -.L1063: + b .L1061 +.L1065: .align 2 -.L1062: - .word .LANCHOR7 - .word .LANCHOR76 - .word .LANCHOR32 +.L1064: + .word .LANCHOR9 .word .LANCHOR75 - .word .LANCHOR80 + .word .LANCHOR31 + .word .LANCHOR74 + .word .LANCHOR79 .size ftl_get_blk_list_in_sblk, .-ftl_get_blk_list_in_sblk .section .text.ftl_erase_phy_blk,"ax",%progbits .align 1 @@ -6539,47 +6574,47 @@ ftl_erase_phy_blk: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, r6, r7, lr} mov r5, r1 - ldr r3, .L1069 - ldr r7, .L1069+4 + ldr r3, .L1071 + ldr r7, .L1071+4 ldrb r3, [r3] @ zero_extendqisi2 rsb r4, r3, #24 - ldr r3, .L1069+8 + ldr r3, .L1071+8 ldrh r3, [r3] subs r3, r4, r3 movs r4, #1 asr r6, r0, r3 lsls r4, r4, r3 - ldr r3, .L1069+12 + ldr r3, .L1071+12 subs r4, r4, #1 uxtb r6, r6 ands r4, r4, r0 ldrb r3, [r3] @ zero_extendqisi2 sxth r4, r4 - cbz r3, .L1065 - ldr r3, .L1069+16 + cbz r3, .L1067 + ldr r3, .L1071+16 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L1065 + cbnz r3, .L1067 ldrh r2, [r7] clz r1, r1 lsrs r1, r1, #5 mov r0, r6 muls r2, r4, r2 bl flash_erase_block_en -.L1065: +.L1067: ldrh r2, [r7] uxtb r1, r5 mov r0, r6 muls r2, r4, r2 pop {r3, r4, r5, r6, r7, lr} b flash_erase_block_en -.L1070: +.L1072: .align 2 -.L1069: - .word .LANCHOR32 +.L1071: + .word .LANCHOR31 .word .LANCHOR111 - .word .LANCHOR75 + .word .LANCHOR74 + .word .LANCHOR80 .word .LANCHOR81 - .word .LANCHOR82 .size ftl_erase_phy_blk, .-ftl_erase_phy_blk .section .text.ftl_erase_sblk,"ax",%progbits .align 1 @@ -6592,7 +6627,7 @@ ftl_erase_phy_blk: ftl_erase_sblk: @ args = 0, pretend = 0, frame = 72 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L1095 + ldr r2, .L1097 push {r4, r5, r6, r7, r8, r10, fp, lr} mov r6, r0 mov r7, r1 @@ -6603,27 +6638,27 @@ ftl_erase_sblk: add r3, r3, r0, lsl #2 ldrb r3, [r3, #3] @ zero_extendqisi2 str r3, [sp, #4] -.L1072: - ldr r3, .L1095+4 +.L1074: + ldr r3, .L1097+4 ldrb r3, [r3] @ zero_extendqisi2 cmp r5, r3 - bge .L1083 - ldr r3, .L1095+8 + bge .L1085 + ldr r3, .L1097+8 movs r4, #0 ldrb r2, [r3] @ zero_extendqisi2 - ldr r3, .L1095+12 + ldr r3, .L1097+12 add ip, r2, #-1 ldrh r0, [r3] mul r10, r2, r5 mov r3, r4 mul lr, r2, r6 - b .L1084 -.L1074: + b .L1086 +.L1076: ldr r1, [sp, #4] add fp, r3, r10 asr r1, r1, fp lsls r1, r1, #31 - bmi .L1073 + bmi .L1075 add r1, sp, #72 add fp, r1, r4, lsl #2 and r1, r3, ip @@ -6631,77 +6666,77 @@ ftl_erase_sblk: muls r1, r0, r1 adds r4, r4, #1 str r1, [fp, #-64] -.L1073: +.L1075: adds r3, r3, #1 -.L1084: +.L1086: cmp r3, r2 - blt .L1074 + blt .L1076 cmp r2, #4 - bne .L1075 + bne .L1077 uxtb fp, r7 mov r10, #0 -.L1076: - cmp r10, r4 - bne .L1077 .L1078: + cmp r10, r4 + bne .L1079 +.L1080: adds r5, r5, #1 - b .L1072 -.L1077: + b .L1074 +.L1079: add r3, sp, #8 mov r1, fp ldr r2, [r3, r10, lsl #2] uxtb r0, r5 add r10, r10, #1 bl flash_erase_block_en - b .L1076 -.L1075: - cmp r4, #2 - bne .L1079 - ldr r3, .L1095+16 - uxtb r4, r5 - ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L1080 - ldr r3, .L1095+20 - ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L1080 - clz r1, r7 - ldr r3, [sp, #12] - ldr r2, [sp, #8] - lsrs r1, r1, #5 - mov r0, r4 - bl flash_erase_duplane_block -.L1080: - ldr r3, [sp, #12] - uxtb r1, r7 - ldr r2, [sp, #8] - mov r0, r4 - bl flash_erase_duplane_block b .L1078 -.L1079: - cmp r4, #1 - bne .L1078 - ldr r3, .L1095+16 +.L1077: + cmp r4, #2 + bne .L1081 + ldr r3, .L1097+16 uxtb r4, r5 ldrb r3, [r3] @ zero_extendqisi2 cbz r3, .L1082 - ldr r3, .L1095+20 + ldr r3, .L1097+20 ldrb r3, [r3] @ zero_extendqisi2 cbnz r3, .L1082 clz r1, r7 + ldr r3, [sp, #12] + ldr r2, [sp, #8] + lsrs r1, r1, #5 + mov r0, r4 + bl flash_erase_duplane_block +.L1082: + ldr r3, [sp, #12] + uxtb r1, r7 + ldr r2, [sp, #8] + mov r0, r4 + bl flash_erase_duplane_block + b .L1080 +.L1081: + cmp r4, #1 + bne .L1080 + ldr r3, .L1097+16 + uxtb r4, r5 + ldrb r3, [r3] @ zero_extendqisi2 + cbz r3, .L1084 + ldr r3, .L1097+20 + ldrb r3, [r3] @ zero_extendqisi2 + cbnz r3, .L1084 + clz r1, r7 ldr r2, [sp, #8] lsrs r1, r1, #5 mov r0, r4 bl flash_erase_block_en -.L1082: +.L1084: ldr r2, [sp, #8] uxtb r1, r7 mov r0, r4 bl flash_erase_block_en - b .L1078 -.L1083: - ldr r1, .L1095+24 + b .L1080 +.L1085: + ldr r1, .L1097+24 ldr r0, [r8] - cbnz r7, .L1085 + cbnz r7, .L1087 ldrh r2, [r0, r6, lsl #2] adds r3, r2, #1 ubfx r3, r3, #0, #11 @@ -6713,14 +6748,14 @@ ftl_erase_sblk: str r1, [r2, #84] ldrh r1, [r2, #96] cmp r1, r3 - bge .L1087 + bge .L1089 strh r3, [r2, #96] @ movhi -.L1087: +.L1089: movs r0, #0 add sp, sp, #72 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L1085: +.L1087: ldr r2, [r0, r6, lsl #2] ubfx r3, r2, #11, #8 adds r3, r3, #1 @@ -6736,16 +6771,16 @@ ftl_erase_sblk: cmp r1, r3 it cc strhcc r3, [r2, #98] @ movhi - b .L1087 -.L1096: + b .L1089 +.L1098: .align 2 -.L1095: - .word .LANCHOR7 +.L1097: + .word .LANCHOR9 .word .LANCHOR112 - .word .LANCHOR76 + .word .LANCHOR75 .word .LANCHOR111 + .word .LANCHOR80 .word .LANCHOR81 - .word .LANCHOR82 .word .LANCHOR110 .size ftl_erase_sblk, .-ftl_erase_sblk .section .text.ftl_alloc_sys_blk,"ax",%progbits @@ -6760,7 +6795,7 @@ ftl_alloc_sys_blk: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, lr} - ldr r4, .L1106 + ldr r4, .L1108 ldr r2, [r4] ldrh r1, [r2, #136] cmp r1, #63 @@ -6768,32 +6803,32 @@ ftl_alloc_sys_blk: movhi r3, #0 strhhi r3, [r2, #136] @ movhi ldrh r3, [r2, #112] - cbnz r3, .L1099 - movw r2, #1283 - ldr r1, .L1106+4 - ldr r0, .L1106+8 + cbnz r3, .L1101 + movw r2, #1359 + ldr r1, .L1108+4 + ldr r0, .L1108+8 bl printf -.L1099: +.L1101: ldr r3, [r4] movw r4, #65535 mov r6, r4 movs r5, #0 -.L1103: +.L1105: ldrh r2, [r3, #136] add r1, r3, r2, lsl #1 adds r1, r1, #158 -.L1100: - cmp r2, #63 - ble .L1102 - strh r5, [r3, #136] @ movhi - b .L1103 .L1102: + cmp r2, #63 + ble .L1104 + strh r5, [r3, #136] @ movhi + b .L1105 +.L1104: ldrh r0, [r1, #2]! cmp r0, r4 - bne .L1105 + bne .L1107 adds r2, r2, #1 - b .L1100 -.L1105: + b .L1102 +.L1107: add r1, r2, #80 strh r6, [r3, r1, lsl #1] @ movhi strh r2, [r3, #136] @ movhi @@ -6801,9 +6836,9 @@ ftl_alloc_sys_blk: subs r2, r2, #1 strh r2, [r3, #112] @ movhi pop {r4, r5, r6, pc} -.L1107: +.L1109: .align 2 -.L1106: +.L1108: .word .LANCHOR110 .word .LANCHOR113 .word .LC0 @@ -6821,7 +6856,7 @@ ftl_free_sys_blk: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, lr} mov r5, r0 - ldr r4, .L1116 + ldr r4, .L1118 ldr r2, [r4] ldrh r1, [r2, #138] cmp r1, #63 @@ -6830,28 +6865,28 @@ ftl_free_sys_blk: strhhi r3, [r2, #138] @ movhi ldrh r3, [r2, #112] cmp r3, #63 - bls .L1110 - movw r2, #1310 - ldr r1, .L1116+4 - ldr r0, .L1116+8 + bls .L1112 + movw r2, #1386 + ldr r1, .L1118+4 + ldr r0, .L1118+8 bl printf -.L1110: +.L1112: ldr r3, [r4] movs r0, #0 movw r4, #65535 -.L1114: +.L1116: ldrh r2, [r3, #138] add r1, r3, r2, lsl #1 adds r1, r1, #158 -.L1111: - cmp r2, #63 - ble .L1113 - strh r0, [r3, #138] @ movhi - b .L1114 .L1113: + cmp r2, #63 + ble .L1115 + strh r0, [r3, #138] @ movhi + b .L1116 +.L1115: ldrh r6, [r1, #2]! cmp r6, r4 - bne .L1112 + bne .L1114 add r1, r2, #80 strh r5, [r3, r1, lsl #1] @ movhi strh r2, [r3, #138] @ movhi @@ -6859,12 +6894,12 @@ ftl_free_sys_blk: adds r2, r2, #1 strh r2, [r3, #112] @ movhi pop {r4, r5, r6, pc} -.L1112: +.L1114: adds r2, r2, #1 - b .L1111 -.L1117: + b .L1113 +.L1119: .align 2 -.L1116: +.L1118: .word .LANCHOR110 .word .LANCHOR114 .word .LC0 @@ -6884,30 +6919,30 @@ ftl_info_data_recovery: movw r3, #65535 ldrh r4, [r0] cmp r4, r3 - beq .L1118 - ldr r3, .L1127 + beq .L1120 + ldr r3, .L1129 ldr r5, [r3] add r6, r5, r4, lsl #2 ldrb r3, [r6, #2] @ zero_extendqisi2 tst r3, #224 - bne .L1118 + bne .L1120 ldrb r2, [r0, #4] @ zero_extendqisi2 mov r0, r4 bfi r3, r2, #5, #3 strb r3, [r6, #2] bl zftl_remove_free_node ldrb r3, [r6, #2] @ zero_extendqisi2 - ldr r2, .L1127+4 + ldr r2, .L1129+4 tst r3, #8 ldr r0, [r2] - beq .L1122 + beq .L1124 ldrh r1, [r0, #116] subs r1, r1, #1 strh r1, [r0, #116] @ movhi -.L1123: +.L1125: and r3, r3, #224 cmp r3, #160 - bne .L1125 + bne .L1127 ldr r3, [r5, r4, lsl #2] ldr r2, [r2] ubfx r1, r3, #11, #8 @@ -6918,7 +6953,7 @@ ftl_info_data_recovery: subs r3, r3, #1 strh r3, [r2, #120] @ movhi pop {r4, r5, r6, pc} -.L1122: +.L1124: tst r3, #24 itete eq ldrheq r1, [r0, #114] @@ -6928,32 +6963,32 @@ ftl_info_data_recovery: ite eq strheq r1, [r0, #114] @ movhi strhne r1, [r0, #118] @ movhi - b .L1123 -.L1125: + b .L1125 +.L1127: ldrh r1, [r5, r4, lsl #2] cmp r3, #64 add r0, r1, #1 bfi r1, r0, #0, #11 strh r1, [r5, r4, lsl #2] @ movhi - bne .L1126 + bne .L1128 ldr r2, [r2] ldrh r3, [r2, #122] subs r3, r3, #1 strh r3, [r2, #122] @ movhi pop {r4, r5, r6, pc} -.L1126: +.L1128: cmp r3, #96 itttt eq ldreq r2, [r2] ldrheq r3, [r2, #124] addeq r3, r3, #-1 strheq r3, [r2, #124] @ movhi -.L1118: +.L1120: pop {r4, r5, r6, pc} -.L1128: +.L1130: .align 2 -.L1127: - .word .LANCHOR7 +.L1129: + .word .LANCHOR9 .word .LANCHOR110 .size ftl_info_data_recovery, .-ftl_info_data_recovery .section .text.ftl_get_ppa_from_index,"ax",%progbits @@ -6969,11 +7004,11 @@ ftl_get_ppa_from_index: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, r6, r7, lr} mov r4, r0 - ldr r3, .L1133 + ldr r3, .L1135 ldr r5, [r3] - ldr r3, .L1133+4 + ldr r3, .L1135+4 ldrh r2, [r3] - ldr r3, .L1133+8 + ldr r3, .L1135+8 ldrb r3, [r3] @ zero_extendqisi2 mul r1, r3, r2 cmp r0, r1 @@ -6996,22 +7031,22 @@ ftl_get_ppa_from_index: adds r4, r4, #8 ldrh r4, [r5, r4, lsl #1] cmp r4, r3 - bne .L1132 - movw r2, #1937 - ldr r1, .L1133+12 - ldr r0, .L1133+16 + bne .L1134 + movw r2, #1945 + ldr r1, .L1135+12 + ldr r0, .L1135+16 bl printf -.L1132: - ldr r3, .L1133+20 +.L1134: + ldr r3, .L1135+20 ldrh r0, [r3] mla r0, r4, r0, r7 pop {r3, r4, r5, r6, r7, pc} -.L1134: +.L1136: .align 2 -.L1133: - .word .LANCHOR10 - .word .LANCHOR95 - .word .LANCHOR80 +.L1135: + .word .LANCHOR12 + .word .LANCHOR94 + .word .LANCHOR79 .word .LANCHOR115 .word .LC0 .word .LANCHOR111 @@ -7028,34 +7063,34 @@ lpa_hash_get_ppa: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1139 + ldr r3, .L1141 uxtb r2, r0 push {r4, r5} ldrh r3, [r3, r2, lsl #1] - ldr r2, .L1139+4 + ldr r2, .L1141+4 ldr r1, [r2] - ldr r2, .L1139+8 + ldr r2, .L1141+8 ldr r4, [r2] movw r2, #65535 -.L1136: +.L1138: cmp r3, r2 - bne .L1138 + bne .L1140 mov r0, #-1 pop {r4, r5} bx lr -.L1138: +.L1140: ldr r5, [r1, r3, lsl #2] cmp r0, r5 - bne .L1137 + bne .L1139 mov r0, r3 pop {r4, r5} b ftl_get_ppa_from_index -.L1137: - ldrh r3, [r4, r3, lsl #1] - b .L1136 -.L1140: - .align 2 .L1139: + ldrh r3, [r4, r3, lsl #1] + b .L1138 +.L1142: + .align 2 +.L1141: .word .LANCHOR116 .word .LANCHOR117 .word .LANCHOR118 @@ -7076,41 +7111,41 @@ ftl_get_new_free_page: movw r3, #65535 mov r4, r0 cmp r2, r3 - bne .L1142 - mov r2, #2080 - ldr r1, .L1149 - ldr r0, .L1149+4 + bne .L1144 + movw r2, #2088 + ldr r1, .L1151 + ldr r0, .L1151+4 bl printf -.L1142: - ldr r3, .L1149+8 +.L1144: + ldr r3, .L1151+8 ldrh r2, [r4, #2] ldrh r3, [r3] cmp r2, r3 - bne .L1143 - movw r2, #2081 - ldr r1, .L1149 - ldr r0, .L1149+4 + bne .L1145 + movw r2, #2089 + ldr r1, .L1151 + ldr r0, .L1151+4 bl printf -.L1143: +.L1145: ldrh r3, [r4, #6] - cbnz r3, .L1144 - movw r2, #2082 - ldr r1, .L1149 - ldr r0, .L1149+4 + cbnz r3, .L1146 + movw r2, #2090 + ldr r1, .L1151 + ldr r0, .L1151+4 bl printf -.L1144: +.L1146: ldrb r3, [r4, #5] @ zero_extendqisi2 movw r2, #65535 movs r1, #0 adds r3, r3, #8 ldrh r0, [r4, r3, lsl #1] - ldr r3, .L1149+12 + ldr r3, .L1151+12 ldrb r5, [r3] @ zero_extendqisi2 -.L1145: +.L1147: cmp r0, r2 ldrb r3, [r4, #5] @ zero_extendqisi2 - beq .L1147 - ldr r1, .L1149+16 + beq .L1149 + ldr r1, .L1151+16 adds r3, r3, #1 uxtb r3, r3 ldrh r2, [r4, #2] @@ -7131,7 +7166,7 @@ ftl_get_new_free_page: adds r1, r1, #1 strh r1, [r4, #10] @ movhi pop {r3, r4, r5, pc} -.L1147: +.L1149: adds r3, r3, #1 uxtb r3, r3 cmp r3, r5 @@ -7144,14 +7179,14 @@ ftl_get_new_free_page: ldrb r3, [r4, #5] @ zero_extendqisi2 adds r3, r3, #8 ldrh r0, [r4, r3, lsl #1] - b .L1145 -.L1150: + b .L1147 +.L1152: .align 2 -.L1149: +.L1151: .word .LANCHOR119 .word .LC0 - .word .LANCHOR95 - .word .LANCHOR80 + .word .LANCHOR94 + .word .LANCHOR79 .word .LANCHOR111 .size ftl_get_new_free_page, .-ftl_get_new_free_page .section .text.ftl_ext_alloc_new_blk,"ax",%progbits @@ -7172,13 +7207,13 @@ ftl_ext_alloc_new_blk: uxth r3, r3 mov r4, r0 cmp r3, r2 - bls .L1152 - movw r2, #2117 - ldr r1, .L1153 - ldr r0, .L1153+4 + bls .L1154 + movw r2, #2125 + ldr r1, .L1155 + ldr r0, .L1155+4 bl printf -.L1152: - ldr r5, .L1153+8 +.L1154: + ldr r5, .L1155+8 movs r1, #0 mov r0, r4 bl ftl_erase_phy_blk @@ -7190,9 +7225,9 @@ ftl_ext_alloc_new_blk: strh r4, [r3, #130] @ movhi strh r0, [r3, #140] @ movhi pop {r3, r4, r5, pc} -.L1154: +.L1156: .align 2 -.L1153: +.L1155: .word .LANCHOR120 .word .LC0 .word .LANCHOR110 @@ -7208,48 +7243,48 @@ ftl_ext_alloc_new_blk: ftl_total_vpn_update: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L1166 + ldr r2, .L1168 push {r3, r4, r5, r6, r7, lr} mov r1, r2 ldrh r3, [r2] cmp r3, #4 - bhi .L1156 - cbnz r0, .L1156 + bhi .L1158 + cbnz r0, .L1158 adds r3, r3, #1 strh r3, [r2] @ movhi pop {r3, r4, r5, r6, r7, pc} -.L1156: - ldr r2, .L1166+4 +.L1158: + ldr r2, .L1168+4 movs r3, #0 mov r0, r3 movw ip, #65535 strh r3, [r1] @ movhi ldrh r5, [r2] - ldr r2, .L1166+8 + ldr r2, .L1168+8 ldr r6, [r2] - ldr r2, .L1166+12 + ldr r2, .L1168+12 ldr r7, [r2] mov r2, r3 -.L1158: +.L1160: uxth r1, r3 cmp r5, r1 - bhi .L1161 - ldr r3, .L1166+16 + bhi .L1163 + ldr r3, .L1168+16 ldr r4, [r3] - ldr r3, .L1166+20 + ldr r3, .L1168+20 str r2, [r4, #524] ldr r3, [r3] str r0, [r4, #528] ldrh r1, [r3, #120] - cbz r1, .L1155 + cbz r1, .L1157 bl __aeabi_uidiv str r0, [r4, #532] -.L1155: +.L1157: pop {r3, r4, r5, r6, r7, pc} -.L1161: +.L1163: ldrh r1, [r6, r3, lsl #1] cmp r1, ip - beq .L1159 + beq .L1161 add r4, r7, r3, lsl #2 ldrb r4, [r4, #2] @ zero_extendqisi2 and r4, r4, #224 @@ -7257,17 +7292,17 @@ ftl_total_vpn_update: ite eq addeq r0, r0, r1 addne r2, r2, r1 -.L1159: +.L1161: adds r3, r3, #1 - b .L1158 -.L1167: + b .L1160 +.L1169: .align 2 -.L1166: +.L1168: .word .LANCHOR121 - .word .LANCHOR6 + .word .LANCHOR8 + .word .LANCHOR11 .word .LANCHOR9 - .word .LANCHOR7 - .word .LANCHOR10 + .word .LANCHOR12 .word .LANCHOR110 .size ftl_total_vpn_update, .-ftl_total_vpn_update .section .text.ftl_vpn_update,"ax",%progbits @@ -7284,21 +7319,21 @@ ftl_vpn_update: push {r4, lr} mov r4, r0 bl zftl_list_update_data_list - ldr r3, .L1171 + ldr r3, .L1173 ldr r3, [r3] ldrh r3, [r3, r4, lsl #1] - cbnz r3, .L1170 - ldr r3, .L1171+4 + cbnz r3, .L1172 + ldr r3, .L1173+4 movs r0, #1 str r0, [r3] pop {r4, pc} -.L1170: +.L1172: movs r0, #0 pop {r4, pc} -.L1172: +.L1174: .align 2 -.L1171: - .word .LANCHOR9 +.L1173: + .word .LANCHOR11 .word .LANCHOR122 .size ftl_vpn_update, .-ftl_vpn_update .section .text.ftl_vpn_decrement,"ax",%progbits @@ -7316,40 +7351,40 @@ ftl_vpn_decrement: movw r3, #65535 cmp r0, r3 mov r5, r0 - beq .L1174 - ldr r3, .L1182 + beq .L1176 + ldr r3, .L1184 ldr r3, [r3] ldrh r4, [r3, r0, lsl #1] - cbnz r4, .L1175 - ldr r3, .L1182+4 + cbnz r4, .L1177 + ldr r3, .L1184+4 mov r1, r0 mov r2, r4 ldr r3, [r3] add r3, r3, r0, lsl #2 - ldr r0, .L1182+8 + ldr r0, .L1184+8 ldrb r3, [r3, #2] @ zero_extendqisi2 lsrs r3, r3, #5 bl printf -.L1180: +.L1182: movs r0, #0 pop {r3, r4, r5, pc} -.L1175: +.L1177: subs r4, r4, #1 strh r4, [r3, r0, lsl #1] @ movhi -.L1174: - ldr r3, .L1182+12 +.L1176: + ldr r3, .L1184+12 ldrh r0, [r3] mov r4, r3 cmp r5, r0 - beq .L1180 + beq .L1182 movw r2, #65535 cmp r0, r2 - bne .L1177 + bne .L1179 strh r5, [r3] @ movhi - b .L1180 -.L1177: + b .L1182 +.L1179: bl ftl_vpn_update - ldr r3, .L1182+16 + ldr r3, .L1184+16 adds r0, r0, #0 it ne movne r0, #1 @@ -7363,18 +7398,18 @@ ftl_vpn_decrement: movhi r2, #0 strh r2, [r3] @ movhi ldrh r2, [r3] - ldr r3, .L1182+20 + ldr r3, .L1184+20 strh r1, [r3, r2, lsl #1] @ movhi pop {r3, r4, r5, pc} -.L1183: +.L1185: .align 2 -.L1182: +.L1184: + .word .LANCHOR11 .word .LANCHOR9 - .word .LANCHOR7 .word .LC65 - .word .LANCHOR73 + .word .LANCHOR72 .word .LANCHOR123 - .word .LANCHOR74 + .word .LANCHOR73 .size ftl_vpn_decrement, .-ftl_vpn_decrement .section .text.lpa_hash_update_ppa,"ax",%progbits .align 1 @@ -7389,21 +7424,21 @@ lpa_hash_update_ppa: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r10, fp, lr} uxtb ip, r0 - ldr r4, .L1195 + ldr r4, .L1197 movw r6, #65535 mov fp, r6 - ldr r5, .L1195+4 + ldr r5, .L1197+4 ldr lr, [r4] - ldr r4, .L1195+8 + ldr r4, .L1197+8 ldrh r3, [r5, ip, lsl #1] ldr r4, [r4] -.L1185: +.L1187: cmp r3, fp - beq .L1189 + beq .L1191 ldr r7, [lr, r3, lsl #2] add r8, lr, r3, lsl #2 cmp r0, r7 - bne .L1186 + bne .L1188 cmp r6, fp mov r10, #-1 ite eq @@ -7415,45 +7450,45 @@ lpa_hash_update_ppa: strhne r7, [r4, r6, lsl #1] @ movhi movw r6, #65535 strh r6, [r4, r3, lsl #1] @ movhi -.L1189: +.L1191: ldrh r3, [r5, ip, lsl #1] str r0, [lr, r2, lsl #2] strh r2, [r5, ip, lsl #1] @ movhi strh r3, [r4, r2, lsl #1] @ movhi adds r3, r1, #1 - beq .L1191 - ldr r3, .L1195+12 + beq .L1193 + ldr r3, .L1197+12 ldrh r2, [r3] - ldr r3, .L1195+16 + ldr r3, .L1197+16 ldrb r3, [r3] @ zero_extendqisi2 rsb r3, r3, #24 subs r0, r3, r2 movs r3, #1 lsls r3, r3, r0 lsr r0, r1, r2 - ldr r2, .L1195+20 + ldr r2, .L1197+20 subs r3, r3, #1 ands r0, r0, r3 ldrb r1, [r2] @ zero_extendqisi2 bl __aeabi_uidiv uxth r0, r0 bl ftl_vpn_decrement -.L1191: +.L1193: mov r0, #-1 pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L1186: +.L1188: mov r6, r3 ldrh r3, [r4, r3, lsl #1] - b .L1185 -.L1196: + b .L1187 +.L1198: .align 2 -.L1195: +.L1197: .word .LANCHOR117 .word .LANCHOR116 .word .LANCHOR118 + .word .LANCHOR74 + .word .LANCHOR31 .word .LANCHOR75 - .word .LANCHOR32 - .word .LANCHOR76 .size lpa_hash_update_ppa, .-lpa_hash_update_ppa .section .text.ftl_mask_bad_block,"ax",%progbits .align 1 @@ -7466,7 +7501,7 @@ lpa_hash_update_ppa: ftl_mask_bad_block: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1204 + ldr r3, .L1206 push {r0, r1, r2, r4, r5, r6, r7, r8, r10, lr} ldrb r4, [r3] @ zero_extendqisi2 movs r3, #1 @@ -7475,12 +7510,12 @@ ftl_mask_bad_block: lsr r2, r0, r1 subs r4, r4, #1 ands r4, r4, r2 - ldr r2, .L1204+4 + ldr r2, .L1206+4 uxtb r4, r4 ldrb r5, [r2] @ zero_extendqisi2 smulbb r2, r4, r5 uxtb r8, r2 - ldr r2, .L1204+8 + ldr r2, .L1206+8 ldrh r6, [r2] lsr r2, r0, r6 subs r0, r1, r6 @@ -7490,7 +7525,7 @@ ftl_mask_bad_block: ands r0, r0, r2 uxth r10, r0 bl __aeabi_uidiv - ldr r3, .L1204+12 + ldr r3, .L1206+12 cmp r5, #1 it hi addhi r2, r5, #-1 @@ -7503,19 +7538,19 @@ ftl_mask_bad_block: addhi r2, r2, r8 uxtbhi r8, r2 lsls r3, r3, #17 - bpl .L1199 + bpl .L1201 uxth r3, r0 str r10, [sp] mov r2, r8 - ldr r0, .L1204+16 + ldr r0, .L1206+16 mov r1, r4 bl printf -.L1199: - ldr r3, .L1204+20 +.L1201: + ldr r3, .L1206+20 ldrh r3, [r3] cmp r3, r7 - bls .L1197 - ldr r3, .L1204+24 + bls .L1199 + ldr r3, .L1206+24 uxth r6, r6 movs r2, #1 lsl r8, r2, r8 @@ -7524,20 +7559,20 @@ ftl_mask_bad_block: ldrb r2, [r6, #3] @ zero_extendqisi2 orr r2, r2, r8 strb r2, [r6, #3] -.L1197: +.L1199: add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, r8, r10, pc} -.L1205: +.L1207: .align 2 -.L1204: - .word .LANCHOR32 - .word .LANCHOR76 +.L1206: + .word .LANCHOR31 .word .LANCHOR75 - .word .LANCHOR14 + .word .LANCHOR74 + .word .LANCHOR19 .word .LC66 - .word .LANCHOR6 - .word .LANCHOR7 + .word .LANCHOR8 + .word .LANCHOR9 .size ftl_mask_bad_block, .-ftl_mask_bad_block .section .text.gc_free_bad_sblk,"ax",%progbits .align 1 @@ -7552,31 +7587,31 @@ gc_free_bad_sblk: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r10, fp, lr} mov r8, r0 - ldr r4, .L1226 - ldr r3, [r4, #2116] - cbz r3, .L1223 + ldr r4, .L1228 + ldr r3, [r4, #2188] + cbz r3, .L1225 mov fp, #0 -.L1208: - ldr r3, .L1226+4 +.L1210: + ldr r3, .L1228+4 ldrb r2, [r3] @ zero_extendqisi2 uxth r3, fp cmp r2, r3 - bhi .L1218 -.L1223: + bhi .L1220 +.L1225: movs r0, #0 pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L1218: - ldr r3, .L1226+8 +.L1220: + ldr r3, .L1228+8 uxth r0, fp mov r10, #0 ldrb r7, [r3] @ zero_extendqisi2 mov r1, r7 bl __aeabi_idiv - ldr r3, .L1226+12 + ldr r3, .L1228+12 uxth r6, r7 cmp r7, #1 ldrb r5, [r3] @ zero_extendqisi2 - ldr r3, .L1226+16 + ldr r3, .L1228+16 rsb r5, r5, #24 ldrh r2, [r3] mov r7, r3 @@ -7591,68 +7626,68 @@ gc_free_bad_sblk: itt hi addhi r5, r5, r6 uxthhi r5, r5 -.L1210: - ldr r0, [r4, #2116] +.L1212: + ldr r0, [r4, #2188] uxth r6, r10 mov r1, r6 cmp r0, r6 - bhi .L1217 + bhi .L1219 add fp, fp, #1 - b .L1208 -.L1217: - addw r1, r1, #1060 + b .L1210 +.L1219: + add r1, r1, #1096 ldrh r1, [r4, r1, lsl #1] cmp r1, r5 - bne .L1211 + bne .L1213 mov r1, r5 - ldr r0, .L1226+20 + ldr r0, .L1228+20 bl printf - ldr r1, .L1226+24 + ldr r1, .L1228+24 ldrb r1, [r1] @ zero_extendqisi2 - cbnz r1, .L1212 - ldr r1, .L1226+28 + cbnz r1, .L1214 + ldr r1, .L1228+28 ldrb r1, [r1] @ zero_extendqisi2 - cbz r1, .L1213 -.L1212: - ldr r1, .L1226+32 - ldr r3, .L1226+36 + cbz r1, .L1215 +.L1214: + ldr r1, .L1228+32 + ldr r3, .L1228+36 ldr r1, [r1] ldr r1, [r1, #156] cmp r1, r3 - beq .L1214 -.L1213: + beq .L1216 +.L1215: ldrh r0, [r7] lsl r0, r5, r0 bl ftl_mask_bad_block -.L1214: - ldr r1, [r4, #2116] -.L1215: - cmp r6, r1 - bcc .L1216 - subs r1, r1, #1 - str r1, [r4, #2116] -.L1211: - add r10, r10, #1 - b .L1210 .L1216: - addw r0, r6, #1061 + ldr r1, [r4, #2188] +.L1217: + cmp r6, r1 + bcc .L1218 + subs r1, r1, #1 + str r1, [r4, #2188] +.L1213: + add r10, r10, #1 + b .L1212 +.L1218: + addw r0, r6, #1097 adds r3, r6, #1 ldrh ip, [r4, r0, lsl #1] - addw r0, r6, #1060 + add r0, r6, #1096 uxth r6, r3 strh ip, [r4, r0, lsl #1] @ movhi - b .L1215 -.L1227: + b .L1217 +.L1229: .align 2 -.L1226: - .word .LANCHOR71 - .word .LANCHOR80 - .word .LANCHOR76 - .word .LANCHOR32 +.L1228: + .word .LANCHOR70 + .word .LANCHOR79 .word .LANCHOR75 + .word .LANCHOR31 + .word .LANCHOR74 .word .LC67 .word .LANCHOR124 - .word .LANCHOR81 + .word .LANCHOR80 .word .LANCHOR110 .word 1145785929 .size gc_free_bad_sblk, .-gc_free_bad_sblk @@ -7669,7 +7704,7 @@ ftl_free_sblk: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r10, fp, lr} mov r5, r0 - ldr r3, .L1249 + ldr r3, .L1251 ldr r6, [r3] lsls r3, r0, #2 adds r7, r6, r3 @@ -7677,10 +7712,10 @@ ftl_free_sblk: lsls r2, r4, #28 lsr r3, r4, #5 str r3, [sp, #4] - bpl .L1229 - ldr r3, .L1249+4 + bpl .L1231 + ldr r3, .L1251+4 ldrh fp, [r6, r0, lsl #2] - ldr r1, .L1249+8 + ldr r1, .L1251+8 ldr r3, [r3] ldr r0, [r6, r0, lsl #2] ubfx fp, fp, #0, #11 @@ -7698,48 +7733,48 @@ ftl_free_sblk: str r3, [sp, #12] bl __aeabi_uidiv ldr r3, [sp, #12] - ldr r1, .L1249+12 + ldr r1, .L1251+12 ldr r2, [sp, #8] ldrh r1, [r1] uxtah r0, r3, r0 cmp r0, r1 - ble .L1230 - ldr r3, .L1249+16 - ldr r1, .L1249+20 + ble .L1232 + ldr r3, .L1251+16 + ldr r1, .L1251+20 ldrh r2, [r3] - ldr r3, .L1249+24 + ldr r3, .L1251+24 ldrh r1, [r1] adds r2, r2, #7 ldrh r3, [r3] add r3, r3, r1 cmp r2, r3 - blt .L1231 -.L1236: + blt .L1233 +.L1238: movs r3, #2 bfi r4, r3, #3, #2 - b .L1246 -.L1231: - ldr r3, .L1249+28 - ldr r1, .L1249+32 + b .L1248 +.L1233: + ldr r3, .L1251+28 + ldr r1, .L1251+32 ldrh r2, [r3] - ldr r3, .L1249+36 + ldr r3, .L1251+36 ldrh r1, [r1] adds r2, r2, #7 ldrh r3, [r3] add r3, r3, r1 - ldr r1, .L1249+40 + ldr r1, .L1251+40 ldrh r1, [r1] add r3, r3, r1 cmp r2, r3 - blt .L1236 -.L1248: + blt .L1238 +.L1250: bfc r4, #3, #2 -.L1246: +.L1248: strb r4, [r7, #2] -.L1232: +.L1234: ldrb r3, [r7, #2] @ zero_extendqisi2 ands r3, r3, #24 - bne .L1237 + bne .L1239 mul r8, r8, r10 ldrh r3, [r6, r5, lsl #2] lsr r10, r10, #3 @@ -7750,10 +7785,10 @@ ftl_free_sblk: ldr r3, [r6, r5, lsl #2] bfi r3, r10, #11, #8 str r3, [r6, r5, lsl #2] -.L1238: +.L1240: mov r0, r5 bl zftl_remove_data_node - ldr r3, .L1249 + ldr r3, .L1251 lsls r2, r5, #2 ldr r3, [r3] add r3, r3, r2 @@ -7761,73 +7796,73 @@ ftl_free_sblk: bfc r2, #5, #3 strb r2, [r3, #2] movs r2, #0 - ldr r3, .L1249+44 + ldr r3, .L1251+44 ldr r3, [r3] strh r2, [r3, r5, lsl #1] @ movhi ldr r3, [sp, #4] adds r3, r3, #6 and r3, r3, #7 cmp r3, #4 - bhi .L1241 + bhi .L1243 mov r0, r5 bl gc_free_bad_sblk -.L1241: +.L1243: ldrb r3, [r7, #2] @ zero_extendqisi2 lsls r3, r3, #28 - bpl .L1242 - ldr r3, .L1249+48 + bpl .L1244 + ldr r3, .L1251+48 ldr r3, [r3] ldrh r2, [r3, #586] cmp r2, r5 - bne .L1242 + bne .L1244 ldrh r1, [r3, #590] movw r2, #65535 strh r2, [r3, #586] @ movhi cmp r1, r2 - bne .L1242 + bne .L1244 strh r5, [r3, #590] @ movhi mov r1, r5 - ldr r0, .L1249+52 + ldr r0, .L1251+52 add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, lr} b printf -.L1230: +.L1232: mla r3, r3, r8, r2 - ldr r2, .L1249+56 + ldr r2, .L1251+56 ldrh r2, [r2] cmp r3, r2 - ble .L1232 - ldr r3, .L1249+28 - ldr r1, .L1249+32 + ble .L1234 + ldr r3, .L1251+28 + ldr r1, .L1251+32 ldrh r2, [r3] - ldr r3, .L1249+36 + ldr r3, .L1251+36 ldrh r1, [r1] ldrh r3, [r3] add r3, r3, r1 - ldr r1, .L1249+40 + ldr r1, .L1251+40 ldrh r1, [r1] add r3, r3, r1 adds r1, r2, #7 cmp r1, r3 - bge .L1248 - ldr r1, .L1249+16 - ldr ip, .L1249+20 + bge .L1250 + ldr r1, .L1251+16 + ldr ip, .L1251+20 ldrh r0, [r1] - ldr r1, .L1249+24 + ldr r1, .L1251+24 ldrh ip, [ip] adds r0, r0, #7 ldrh r1, [r1] add r1, r1, ip cmp r0, r1 - bge .L1236 + bge .L1238 adds r2, r2, #23 cmp r3, r2 - bgt .L1236 - b .L1248 -.L1237: + bgt .L1238 + b .L1250 +.L1239: cmp r3, #16 - bne .L1238 + bne .L1240 mov r0, fp mov r1, r8 bl __aeabi_idiv @@ -7838,44 +7873,44 @@ ftl_free_sblk: bfi r3, r10, #11, #8 str r3, [r6, r5, lsl #2] bfi r3, fp, #0, #11 -.L1247: +.L1249: strh r3, [r6, r5, lsl #2] @ movhi - b .L1238 -.L1229: + b .L1240 +.L1231: tst r4, #24 - bne .L1238 - ldr r3, .L1249+60 + bne .L1240 + ldr r3, .L1251+60 ldrh r3, [r3] cmp r3, #0 - bne .L1238 - ldr r3, .L1249+20 + bne .L1240 + ldr r3, .L1251+20 ldrh r1, [r3] cmp r1, #15 - bhi .L1238 - ldr r3, .L1249+36 - ldr r2, .L1249+32 + bhi .L1240 + ldr r3, .L1251+36 + ldr r2, .L1251+32 ldrh r3, [r3] ldrh r2, [r2] add r3, r3, r2 - ldr r2, .L1249+40 + ldr r2, .L1251+40 ldrh r2, [r2] add r3, r3, r2 - ldr r2, .L1249+28 + ldr r2, .L1251+28 ldrh r2, [r2] adds r2, r2, #16 cmp r3, r2 - ble .L1238 - ldr r3, .L1249+16 + ble .L1240 + ldr r3, .L1251+16 ldrh r2, [r3] - ldr r3, .L1249+24 + ldr r3, .L1251+24 adds r2, r2, #7 ldrh r3, [r3] add r3, r3, r1 cmp r2, r3 - blt .L1238 + blt .L1240 movs r3, #2 bfi r4, r3, #3, #2 - ldr r3, .L1249+8 + ldr r3, .L1251+8 strb r4, [r7, #2] ldrh r4, [r6, r0, lsl #2] ldrh r1, [r3] @@ -7890,29 +7925,29 @@ ftl_free_sblk: bfi r3, r0, #11, #8 str r3, [r6, r5, lsl #2] bfi r3, r4, #0, #11 - b .L1247 -.L1242: + b .L1249 +.L1244: mov r0, r5 add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, lr} b zftl_insert_free_list -.L1250: +.L1252: .align 2 -.L1249: - .word .LANCHOR7 +.L1251: + .word .LANCHOR9 .word .LANCHOR110 - .word .LANCHOR8 + .word .LANCHOR10 .word .LANCHOR125 .word .LANCHOR101 .word .LANCHOR105 - .word .LANCHOR93 + .word .LANCHOR91 .word .LANCHOR98 .word .LANCHOR103 .word .LANCHOR97 .word .LANCHOR99 - .word .LANCHOR9 - .word .LANCHOR10 + .word .LANCHOR11 + .word .LANCHOR12 .word .LC68 .word .LANCHOR126 .word .LANCHOR107 @@ -7930,130 +7965,130 @@ gc_free_src_blk: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, r6, r7, lr} movs r5, #0 - ldr r6, .L1288 -.L1252: + ldr r6, .L1290 +.L1254: uxth r2, r5 - ldr r3, .L1288+4 + ldr r3, .L1290+4 ldrh r1, [r3, #52] cmp r1, r2 - bhi .L1266 + bhi .L1268 movs r2, #0 strh r2, [r3, #52] @ movhi pop {r3, r4, r5, r6, r7, pc} -.L1266: +.L1268: uxth r2, r5 add r3, r3, r2, lsl #1 ldrh r4, [r3, #54] ldr r3, [r6] ldrh r2, [r3, r4, lsl #1] - cbz r2, .L1253 + cbz r2, .L1255 mov r1, r4 - ldr r0, .L1288+8 + ldr r0, .L1290+8 bl printf -.L1253: +.L1255: ldr r3, [r6] movs r2, #0 strh r2, [r3, r4, lsl #1] @ movhi - ldr r3, .L1288+12 + ldr r3, .L1290+12 ldr r7, [r3] - ldr r3, .L1288+16 + ldr r3, .L1290+16 ldr r3, [r3] add r7, r7, r4, lsl #2 lsls r3, r3, #23 - bpl .L1254 + bpl .L1256 ldrb r2, [r7, #2] @ zero_extendqisi2 mov r1, r4 - ldr r0, .L1288+20 + ldr r0, .L1290+20 lsrs r2, r2, #5 bl printf -.L1254: +.L1256: ldrb r3, [r7, #2] @ zero_extendqisi2 and r2, r3, #224 cmp r2, #224 - beq .L1255 + beq .L1257 tst r3, #192 - bne .L1256 -.L1255: - movw r2, #1362 - ldr r1, .L1288+24 - ldr r0, .L1288+28 + bne .L1258 +.L1257: + movw r2, #1363 + ldr r1, .L1290+24 + ldr r0, .L1290+28 bl printf -.L1256: +.L1258: mov r0, r4 bl ftl_free_sblk - ldr r3, .L1288+32 + ldr r3, .L1290+32 ldr r3, [r3] ldrh r1, [r3, #124] - cbz r1, .L1257 + cbz r1, .L1259 add r0, r3, #392 movs r2, #0 -.L1259: +.L1261: ldrh r7, [r0], #2 cmp r4, r7 - bne .L1258 + bne .L1260 adds r2, r2, #196 movw r0, #65535 subs r1, r1, #1 strh r0, [r3, r2, lsl #1] @ movhi strh r1, [r3, #124] @ movhi -.L1257: +.L1259: ldrh r1, [r3, #120] - cbz r1, .L1260 + cbz r1, .L1262 add r0, r3, #136 movs r2, #0 -.L1262: +.L1264: ldrh r7, [r0], #2 cmp r4, r7 - bne .L1261 + bne .L1263 adds r2, r2, #68 movw r0, #65535 subs r1, r1, #1 strh r0, [r3, r2, lsl #1] @ movhi strh r1, [r3, #120] @ movhi -.L1260: +.L1262: ldrh r1, [r3, #122] - cbz r1, .L1263 + cbz r1, .L1265 add r0, r3, #264 movs r2, #0 -.L1265: +.L1267: ldrh r7, [r0], #2 cmp r4, r7 - bne .L1264 + bne .L1266 adds r2, r2, #132 movw r0, #65535 subs r1, r1, #1 strh r0, [r3, r2, lsl #1] @ movhi strh r1, [r3, #122] @ movhi -.L1263: +.L1265: adds r5, r5, #1 - b .L1252 -.L1258: + b .L1254 +.L1260: adds r2, r2, #1 cmp r2, #64 - bne .L1259 - b .L1257 -.L1261: + bne .L1261 + b .L1259 +.L1263: adds r2, r2, #1 cmp r2, #64 - bne .L1262 - b .L1260 -.L1264: + bne .L1264 + b .L1262 +.L1266: adds r2, r2, #1 cmp r2, #64 - bne .L1265 - b .L1263 -.L1289: + bne .L1267 + b .L1265 +.L1291: .align 2 -.L1288: - .word .LANCHOR9 - .word .LANCHOR71 +.L1290: + .word .LANCHOR11 + .word .LANCHOR70 .word .LC69 - .word .LANCHOR7 - .word .LANCHOR14 + .word .LANCHOR9 + .word .LANCHOR19 .word .LC70 .word .LANCHOR127 .word .LC0 - .word .LANCHOR10 + .word .LANCHOR12 .size gc_free_src_blk, .-gc_free_src_blk .section .text.print_ftl_debug_info,"ax",%progbits .align 1 @@ -8068,13 +8103,13 @@ print_ftl_debug_info: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, lr} sub sp, sp, #32 - ldr r4, .L1291 - ldr r5, .L1291+4 - ldr r6, .L1291+8 + ldr r4, .L1293 + ldr r5, .L1293+4 + ldr r6, .L1293+8 ldr r1, [r4] ldr r0, [r5] ldr r6, [r6] - ldr r3, .L1291+12 + ldr r3, .L1293+12 ldrh r2, [r1, #146] ldrh r1, [r1, #148] ldrh r3, [r3] @@ -8083,26 +8118,26 @@ print_ftl_debug_info: str r6, [sp, #24] ldr r0, [r0, #524] str r0, [sp, #20] - ldr r0, .L1291+16 + ldr r0, .L1293+16 ldrh r0, [r0] str r0, [sp, #16] - ldr r0, .L1291+20 + ldr r0, .L1293+20 ldrh r0, [r0] str r0, [sp, #12] - ldr r0, .L1291+24 + ldr r0, .L1293+24 ldrh r0, [r0] str r0, [sp, #8] - ldr r0, .L1291+28 + ldr r0, .L1293+28 ldrh r0, [r0] str r0, [sp, #4] - ldr r0, .L1291+32 + ldr r0, .L1293+32 ldrh r0, [r0] str r0, [sp] - ldr r0, .L1291+36 + ldr r0, .L1293+36 bl printf ldr r1, [r4] - ldr r3, .L1291+40 - ldr r0, .L1291+44 + ldr r3, .L1293+40 + ldr r0, .L1293+44 ldr r2, [r1, #64] ldrb r3, [r3] @ zero_extendqisi2 str r2, [sp, #4] @@ -8112,7 +8147,7 @@ print_ftl_debug_info: ldr r1, [r1, #20] bl printf ldr r1, [r4] - ldr r0, .L1291+48 + ldr r0, .L1293+48 ldr r3, [r1, #16] ldr r2, [r1, #60] ldr r1, [r1, #52] @@ -8135,22 +8170,22 @@ print_ftl_debug_info: str r0, [sp, #4] ldrh r0, [r2, #92] str r0, [sp] - ldr r0, .L1291+52 + ldr r0, .L1293+52 ldr r2, [r2, #84] bl printf - ldr r0, .L1291+56 - ldr r3, .L1291+60 - ldr r2, .L1291+64 + ldr r0, .L1293+56 + ldr r3, .L1293+60 + ldr r2, .L1293+64 ldrh r0, [r0] - ldr r1, .L1291+68 + ldr r1, .L1293+68 ldrh r3, [r3] ldrh r2, [r2] ldrh r1, [r1] str r0, [sp, #4] - ldr r0, .L1291+72 + ldr r0, .L1293+72 ldrh r0, [r0] str r0, [sp] - ldr r0, .L1291+76 + ldr r0, .L1293+76 bl printf ldr r4, [r4] ldr r0, [r5] @@ -8163,19 +8198,19 @@ print_ftl_debug_info: str r4, [sp, #4] ldrh r0, [r0, #590] str r0, [sp] - ldr r0, .L1291+80 + ldr r0, .L1293+80 bl printf add sp, sp, #32 @ sp needed pop {r4, r5, r6, pc} -.L1292: +.L1294: .align 2 -.L1291: +.L1293: .word .LANCHOR110 - .word .LANCHOR10 + .word .LANCHOR12 .word .LANCHOR128 .word .LANCHOR103 - .word .LANCHOR93 + .word .LANCHOR91 .word .LANCHOR99 .word .LANCHOR97 .word .LANCHOR107 @@ -8185,11 +8220,11 @@ print_ftl_debug_info: .word .LC72 .word .LC73 .word .LC74 - .word .LANCHOR87 - .word .LANCHOR70 + .word .LANCHOR86 + .word .LANCHOR69 .word .LANCHOR102 .word .LANCHOR100 - .word .LANCHOR94 + .word .LANCHOR93 .word .LC75 .word .LC76 .size print_ftl_debug_info, .-print_ftl_debug_info @@ -8206,19 +8241,19 @@ ftl_write_buf: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, lr} mov r4, r0 - cbnz r0, .L1294 - movw r2, #803 - ldr r1, .L1303 - ldr r0, .L1303+4 + cbnz r0, .L1296 + mov r2, #808 + ldr r1, .L1305 + ldr r0, .L1305+4 bl printf bl print_ftl_debug_info mov r0, #-1 pop {r4, r5, r6, pc} -.L1297: +.L1299: mov r1, r4 - ldr r0, .L1303+8 + ldr r0, .L1305+8 bl buf_add_tail - ldr r3, .L1303+12 + ldr r3, .L1305+12 ldrb r1, [r4, #40] @ zero_extendqisi2 ldrb r0, [r6] @ zero_extendqisi2 ldr r3, [r3] @@ -8232,37 +8267,37 @@ ftl_write_buf: adds r2, r2, #1 str r2, [r3, #32] pop {r4, r5, r6, pc} -.L1294: - ldr r5, .L1303+16 +.L1296: + ldr r5, .L1305+16 ldrb r1, [r0, #40] @ zero_extendqisi2 ldrb r2, [r5] @ zero_extendqisi2 cmp r1, r2 - bls .L1299 - movw r2, #810 - ldr r1, .L1303 - ldr r0, .L1303+4 + bls .L1301 + movw r2, #815 + ldr r1, .L1305 + ldr r0, .L1305+4 bl printf -.L1299: +.L1301: ldrb r3, [r4, #40] @ zero_extendqisi2 - ldr r6, .L1303+20 - cbz r3, .L1296 + ldr r6, .L1305+20 + cbz r3, .L1298 ldrb r2, [r5] @ zero_extendqisi2 cmp r2, r3 - bcs .L1297 -.L1296: + bcs .L1299 +.L1298: mov r0, r4 bl zbuf_free ldrb r0, [r6] @ zero_extendqisi2 pop {r4, r5, r6, pc} -.L1304: +.L1306: .align 2 -.L1303: +.L1305: .word .LANCHOR130 .word .LC0 - .word .LANCHOR66 + .word .LANCHOR65 .word .LANCHOR110 .word .LANCHOR131 - .word .LANCHOR67 + .word .LANCHOR66 .size ftl_write_buf, .-ftl_write_buf .section .text.ftl_write_completed,"ax",%progbits .align 1 @@ -8277,18 +8312,18 @@ ftl_write_completed: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} mov fp, #0 - ldr r8, .L1321+36 - ldr r10, .L1321+40 -.L1306: + ldr r8, .L1323+36 + ldr r10, .L1323+40 +.L1308: ldrb r6, [r8] @ zero_extendqisi2 cmp r6, #255 - bne .L1317 + bne .L1319 add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L1317: +.L1319: movs r3, #48 - ldr r5, .L1321 + ldr r5, .L1323 muls r3, r6, r3 add r7, r6, r6, lsl #1 add r7, r5, r7, lsl #4 @@ -8297,26 +8332,26 @@ ftl_write_completed: strb r3, [r8] ldr r3, [r4, #36] adds r3, r3, #1 - bne .L1307 - ldr r3, .L1321+4 + bne .L1309 + ldr r3, .L1323+4 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L1308 - ldr r3, .L1321+8 + cbnz r3, .L1310 + ldr r3, .L1323+8 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L1309 -.L1308: - ldr r3, .L1321+12 + cbz r3, .L1311 +.L1310: + ldr r3, .L1323+12 ldr r3, [r3] ldr r3, [r3, #156] cmp r3, r10 - beq .L1310 -.L1309: - ldr r2, .L1321+16 + beq .L1312 +.L1311: + ldr r2, .L1323+16 movs r3, #48 mla r3, r3, r6, r5 - ldr fp, .L1321+44 + ldr fp, .L1323+44 ldrh r1, [r2] - ldr r2, .L1321+20 + ldr r2, .L1323+20 ldr r3, [r3, #24] ldrb r2, [r2] @ zero_extendqisi2 str r3, [sp, #4] @@ -8325,7 +8360,7 @@ ftl_write_completed: movs r2, #1 lsls r2, r2, r0 lsr r0, r3, r1 - ldr r1, .L1321+24 + ldr r1, .L1323+24 subs r2, r2, #1 ands r0, r0, r2 ldrb r1, [r1] @ zero_extendqisi2 @@ -8333,7 +8368,7 @@ ftl_write_completed: ldr r2, [fp] movw r1, #65535 uxth r4, r0 - ldr r0, .L1321+28 + ldr r0, .L1323+28 ldr r3, [r2, #560] cmp r3, r1 ldr r3, [sp, #4] @@ -8352,61 +8387,61 @@ ftl_write_completed: str r2, [r3, #556] ldrh r2, [r3, #16] cmp r2, r4 - bne .L1312 + bne .L1314 movs r2, #0 strh r2, [r3, #22] @ movhi -.L1310: +.L1312: mov r0, r7 mov fp, #1 bl ftl_write_buf - b .L1306 -.L1312: + b .L1308 +.L1314: ldrh r2, [r3, #48] cmp r2, r4 itt eq moveq r2, #0 strheq r2, [r3, #54] @ movhi - b .L1310 -.L1307: + b .L1312 +.L1309: cmp fp, #0 - beq .L1315 + beq .L1317 ldr r2, [r4, #24] ldr r1, [r4, #20] - ldr r0, .L1321+32 + ldr r0, .L1323+32 bl printf mov r0, r7 bl ftl_write_buf - b .L1306 -.L1315: + b .L1308 +.L1317: ldrh r2, [r4, #32] ldr r1, [r4, #28] ldr r0, [r4, #20] bl lpa_hash_update_ppa ldrb r3, [r4, #2] @ zero_extendqisi2 lsls r2, r3, #29 - bpl .L1316 + bpl .L1318 bic r3, r3, #2 strb r3, [r4, #2] - b .L1306 -.L1316: + b .L1308 +.L1318: mov r0, r7 bl zbuf_free - b .L1306 -.L1322: + b .L1308 +.L1324: .align 2 -.L1321: - .word .LANCHOR56 +.L1323: + .word .LANCHOR55 .word .LANCHOR124 - .word .LANCHOR81 + .word .LANCHOR80 .word .LANCHOR110 + .word .LANCHOR74 + .word .LANCHOR31 .word .LANCHOR75 - .word .LANCHOR32 - .word .LANCHOR76 .word .LC77 .word .LC78 - .word .LANCHOR65 + .word .LANCHOR64 .word 1145785929 - .word .LANCHOR10 + .word .LANCHOR12 .size ftl_write_completed, .-ftl_write_completed .section .text.zftl_add_read_buf,"ax",%progbits .align 1 @@ -8421,123 +8456,41 @@ zftl_add_read_buf: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, lr} mov r4, r0 - cbnz r0, .L1324 - movw r2, #1143 - ldr r1, .L1328 - ldr r0, .L1328+4 + cbnz r0, .L1326 + movw r2, #1148 + ldr r1, .L1330 + ldr r0, .L1330+4 bl printf pop {r4, lr} b print_ftl_debug_info -.L1324: - ldr r3, .L1328+8 +.L1326: + ldr r3, .L1330+8 ldrb r2, [r0, #40] @ zero_extendqisi2 ldrb r3, [r3] @ zero_extendqisi2 cmp r2, r3 - bls .L1326 - movw r2, #1150 - ldr r1, .L1328 - ldr r0, .L1328+4 + bls .L1328 + movw r2, #1155 + ldr r1, .L1330 + ldr r0, .L1330+4 bl printf -.L1326: +.L1328: mov r1, r4 - ldr r0, .L1328+12 + ldr r0, .L1330+12 bl buf_add_tail - ldr r2, .L1328+16 + ldr r2, .L1330+16 ldrb r3, [r2] @ zero_extendqisi2 adds r3, r3, #1 strb r3, [r2] pop {r4, pc} -.L1329: +.L1331: .align 2 -.L1328: +.L1330: .word .LANCHOR132 .word .LC0 .word .LANCHOR131 .word .LANCHOR133 .word .LANCHOR134 .size zftl_add_read_buf, .-zftl_add_read_buf - .section .text.ftl_alloc_sblk,"ax",%progbits - .align 1 - .global ftl_alloc_sblk - .syntax unified - .thumb - .thumb_func - .fpu softvfp - .type ftl_alloc_sblk, %function -ftl_alloc_sblk: - @ args = 0, pretend = 0, frame = 0 - @ frame_needed = 0, uses_anonymous_args = 0 - push {r3, r4, r5, r6, r7, lr} - uxth r5, r0 - cmp r0, #5 - mov r7, r0 - mov r1, r5 - mov r0, #0 - ite ne - movne r6, #0 - moveq r6, #2 - bl zftl_get_free_sblk - movw r3, #65535 - mov r4, r0 - cmp r0, r3 - beq .L1332 - ldr r3, .L1339 - ldr r5, [r3] - add r5, r5, r0, lsl #2 - ldrb r3, [r5, #2] @ zero_extendqisi2 - tst r3, #224 - beq .L1333 - movw r2, #939 - ldr r1, .L1339+4 - ldr r0, .L1339+8 - bl printf -.L1333: - ldrb r3, [r5, #2] @ zero_extendqisi2 - bfi r3, r7, #5, #3 - uxtb r3, r3 - ubfx r2, r3, #3, #2 - orrs r2, r2, r6 - bfi r3, r2, #3, #2 - strb r3, [r5, #2] - uxtb r3, r3 - and r2, r3, #24 - cmp r2, #24 - bne .L1334 - cbnz r6, .L1334 - movs r2, #1 - bfi r3, r2, #3, #2 - strb r3, [r5, #2] -.L1334: - mov r0, r4 - pop {r3, r4, r5, r6, r7, pc} -.L1332: - bl print_ftl_debug_info - mov r2, r7 - mov r1, r4 - ldr r0, .L1339+12 - bl printf - mov r1, r5 - movs r0, #0 - bl zftl_get_free_sblk - mov r2, r7 - mov r1, r0 - mov r4, r0 - ldr r0, .L1339+12 - bl printf - bl dump_all_list_info - movw r2, #955 - ldr r1, .L1339+4 - ldr r0, .L1339+8 - bl printf - b .L1334 -.L1340: - .align 2 -.L1339: - .word .LANCHOR7 - .word .LANCHOR135 - .word .LC0 - .word .LC79 - .size ftl_alloc_sblk, .-ftl_alloc_sblk .section .text.sblk_init,"ax",%progbits .align 1 .global sblk_init @@ -8550,24 +8503,24 @@ sblk_init: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r2, .L1342 + ldr r2, .L1333 movs r3, #255 movs r0, #0 strb r3, [r2] - ldr r2, .L1342+4 + ldr r2, .L1333+4 strb r3, [r2] - ldr r2, .L1342+8 + ldr r2, .L1333+8 strb r3, [r2] - ldr r2, .L1342+12 + ldr r2, .L1333+12 strb r3, [r2] bx lr -.L1343: +.L1334: .align 2 -.L1342: - .word .LANCHOR60 - .word .LANCHOR65 - .word .LANCHOR63 +.L1333: + .word .LANCHOR59 .word .LANCHOR64 + .word .LANCHOR62 + .word .LANCHOR63 .size sblk_init, .-sblk_init .section .text.dump_sblk_queue,"ax",%progbits .align 1 @@ -8581,18 +8534,18 @@ dump_sblk_queue: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, lr} - ldr r4, .L1353 - ldr r0, .L1353+4 + ldr r4, .L1344 + ldr r0, .L1344+4 ldrb r1, [r4] @ zero_extendqisi2 bl printf ldrb r4, [r4] @ zero_extendqisi2 cmp r4, #255 - beq .L1344 - ldr r5, .L1353+8 + beq .L1335 + ldr r5, .L1344+8 add r4, r4, r4, lsl #1 - ldr r6, .L1353+12 + ldr r6, .L1344+12 add r4, r5, r4, lsl #4 -.L1346: +.L1337: ldr r3, [r4, #24] mov r0, r6 ldrb r2, [r4, #42] @ zero_extendqisi2 @@ -8600,19 +8553,19 @@ dump_sblk_queue: bl printf ldrb r4, [r4] @ zero_extendqisi2 cmp r4, #255 - beq .L1344 + beq .L1335 add r4, r4, r4, lsl #1 add r4, r5, r4, lsl #4 - b .L1346 -.L1344: + b .L1337 +.L1335: pop {r4, r5, r6, pc} -.L1354: +.L1345: .align 2 -.L1353: - .word .LANCHOR60 +.L1344: + .word .LANCHOR59 + .word .LC79 + .word .LANCHOR55 .word .LC80 - .word .LANCHOR56 - .word .LC81 .size dump_sblk_queue, .-dump_sblk_queue .section .text.queue_lun_state,"ax",%progbits .align 1 @@ -8625,14 +8578,14 @@ dump_sblk_queue: queue_lun_state: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1374 + ldr r3, .L1365 push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} ldrb r6, [r3] @ zero_extendqisi2 cmp r6, #255 - beq .L1363 - ldr r3, .L1374+4 + beq .L1354 + ldr r3, .L1365+4 movs r2, #1 - ldr r10, .L1374+16 + ldr r10, .L1365+16 mov r8, #48 ldrb r3, [r3] @ zero_extendqisi2 rsb ip, r3, #24 @@ -8642,11 +8595,11 @@ queue_lun_state: uxth r3, r3 ands r4, r4, r3 str r4, [sp] - ldr r4, .L1374+8 + ldr r4, .L1365+8 ldrh lr, [r4] sub r4, ip, lr lsls r2, r2, r4 - ldr r4, .L1374+12 + ldr r4, .L1365+12 subs r2, r2, #1 ldrb r7, [r4] @ zero_extendqisi2 asr r4, r0, lr @@ -8656,7 +8609,7 @@ queue_lun_state: ands r4, r4, r7 and r0, r4, r2 str r0, [sp, #4] -.L1362: +.L1353: mla fp, r8, r6, r10 ldr r5, [fp, #24] lsr r0, r5, ip @@ -8664,57 +8617,57 @@ queue_lun_state: mov r4, r0 ldr r0, [sp] cmp r0, r4 - bne .L1357 + bne .L1348 lsr r5, r5, lr ldr r4, [sp, #4] ldrb r0, [fp, #42] @ zero_extendqisi2 ands r5, r5, r7 ands r5, r5, r2 cmp r4, r5 - bne .L1358 + bne .L1349 cmp r1, #1 - bne .L1355 -.L1360: + bne .L1346 +.L1351: cmp r0, #7 - beq .L1357 + beq .L1348 cmp r0, #9 -.L1371: - bne .L1355 -.L1357: +.L1362: + bne .L1346 +.L1348: mul r6, r8, r6 - ldr r0, .L1374+16 + ldr r0, .L1365+16 ldrb r6, [r0, r6] @ zero_extendqisi2 cmp r6, #255 - bne .L1362 -.L1363: + bne .L1353 +.L1354: movs r0, #0 -.L1355: +.L1346: add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L1358: +.L1349: cmp r1, #3 - bhi .L1357 - adr r5, .L1359 + bhi .L1348 + adr r5, .L1350 ldr pc, [r5, r1, lsl #2] .p2align 2 -.L1359: - .word .L1355+1 - .word .L1360+1 - .word .L1361+1 - .word .L1355+1 +.L1350: + .word .L1346+1 + .word .L1351+1 + .word .L1352+1 + .word .L1346+1 .p2align 1 -.L1361: +.L1352: cmp r0, #11 - b .L1371 -.L1375: + b .L1362 +.L1366: .align 2 -.L1374: - .word .LANCHOR60 - .word .LANCHOR32 +.L1365: + .word .LANCHOR59 + .word .LANCHOR31 + .word .LANCHOR74 .word .LANCHOR75 - .word .LANCHOR76 - .word .LANCHOR56 + .word .LANCHOR55 .size queue_lun_state, .-queue_lun_state .section .text.queue_remove_completed_req,"ax",%progbits .align 1 @@ -8729,238 +8682,94 @@ queue_remove_completed_req: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} mov ip, #0 - ldr r5, .L1401 + ldr r5, .L1392 movs r4, #48 mov fp, #255 - ldr r6, .L1401+4 + ldr r6, .L1392+4 ldrb r3, [r5] @ zero_extendqisi2 - ldr r1, .L1401+8 - ldr r7, .L1401+12 + ldr r1, .L1392+8 + ldr r7, .L1392+12 str r3, [sp, #4] ldrb r3, [r6] @ zero_extendqisi2 ldrb r2, [r1] @ zero_extendqisi2 ldrb r10, [r7] @ zero_extendqisi2 str r3, [sp] - ldr r3, .L1401+16 -.L1377: + ldr r3, .L1392+16 +.L1368: cmp r2, #255 - beq .L1378 + beq .L1369 mul r8, r4, r2 mov r0, r2 add lr, r3, r8 ldrb lr, [lr, #42] @ zero_extendqisi2 sub lr, lr, #12 cmp lr, #1 - bls .L1379 -.L1378: + bls .L1370 +.L1369: cmp ip, #0 - beq .L1376 + beq .L1367 strb r2, [r1] - b .L1376 -.L1379: + b .L1367 +.L1370: mul lr, r4, r0 ldrb r2, [r3, r8] @ zero_extendqisi2 add ip, r3, lr strb fp, [r3, lr] ldrb lr, [ip, #43] @ zero_extendqisi2 cmp lr, #1 - bne .L1382 + bne .L1373 ldrh ip, [ip, #34] cmp ip, #0 - bne .L1390 + bne .L1381 mov ip, r10 mov lr, r7 -.L1383: +.L1374: cmp ip, #255 - bne .L1388 + bne .L1379 strb r2, [r1] movs r2, #48 mla r3, r2, r0, r3 ldrb r3, [r3, #1] @ zero_extendqisi2 strb r3, [lr] -.L1376: +.L1367: add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L1382: +.L1373: cmp lr, #0 - bne .L1384 + bne .L1375 ldr ip, [ip, #20] cmp ip, #-1 - beq .L1384 + beq .L1375 ldr ip, [sp, #4] mov lr, r5 - b .L1383 -.L1390: + b .L1374 +.L1381: ldr ip, [sp] mov lr, r6 - b .L1383 -.L1388: + b .L1374 +.L1379: mov lr, ip mul ip, r4, ip ldrb ip, [r3, ip] @ zero_extendqisi2 cmp ip, #255 - bne .L1388 + bne .L1379 mla r0, r4, r0, r3 mul lr, r4, lr ldrb r0, [r0, #1] @ zero_extendqisi2 strb r0, [r3, lr] -.L1384: +.L1375: mov ip, #1 - b .L1377 -.L1402: + b .L1368 +.L1393: .align 2 -.L1401: +.L1392: + .word .LANCHOR62 .word .LANCHOR63 + .word .LANCHOR59 .word .LANCHOR64 - .word .LANCHOR60 - .word .LANCHOR65 - .word .LANCHOR56 + .word .LANCHOR55 .size queue_remove_completed_req, .-queue_remove_completed_req - .section .text.pm_alloc_new_blk,"ax",%progbits - .align 1 - .global pm_alloc_new_blk - .syntax unified - .thumb - .thumb_func - .fpu softvfp - .type pm_alloc_new_blk, %function -pm_alloc_new_blk: - @ args = 0, pretend = 0, frame = 0 - @ frame_needed = 0, uses_anonymous_args = 0 - push {r0, r1, r4, r5, r6, r7, r8, lr} - ldr r5, .L1421 - ldr r1, .L1421+4 - ldr r2, [r5] - ldrb r1, [r1] @ zero_extendqisi2 - ldrh r3, [r2, #690] - adds r3, r3, #1 - uxth r3, r3 - cmp r1, r3 - strh r3, [r2, #690] @ movhi - bls .L1404 - add r3, r3, #336 - ldrh r2, [r2, r3, lsl #1] - movw r3, #65535 - cmp r2, r3 - bne .L1405 -.L1404: - ldr r7, .L1421+8 - ldr r4, .L1421+12 -.L1419: - movw r8, #65535 -.L1406: - movs r0, #1 - bl ftl_alloc_sblk - cmp r0, r8 - mov r6, r0 - beq .L1406 - movs r1, #0 - bl ftl_erase_sblk - ldr r1, [r5] - mov r0, r6 - add r1, r1, #672 - bl ftl_get_blk_list_in_sblk - uxth r0, r0 - cbnz r0, .L1407 - mov r1, r6 - mov r0, r7 - bl printf - ldr r3, [r4] - add r6, r3, r6, lsl #2 - ldrb r3, [r6, #2] @ zero_extendqisi2 - orr r3, r3, #224 - strb r3, [r6, #2] - b .L1419 -.L1407: - ldr r3, [r5] - movs r1, #1 - ldr r2, .L1421+16 - movs r4, #0 - strh r4, [r3, #690] @ movhi - add r3, r3, #416 - str r1, [r2] - movw r1, #65535 -.L1409: - ldrh r0, [r3], #2 - uxth r2, r4 - cmp r0, r1 - beq .L1408 - adds r4, r4, #1 - cmp r4, #128 - bne .L1409 - mov r2, #264 - ldr r1, .L1421+20 - ldr r0, .L1421+24 - bl printf - mov r2, r4 -.L1408: - ldr r3, [r5] - adds r2, r2, #208 - strh r6, [r3, r2, lsl #1] @ movhi - ldrh r2, [r3, #688] - adds r2, r2, #1 - strh r2, [r3, #688] @ movhi -.L1405: - ldr r2, [r5] - ldrh r3, [r2, #690] - add r3, r3, #336 - ldrh r4, [r2, r3, lsl #1] - movw r2, #65533 - subs r3, r4, #1 - uxth r3, r3 - cmp r3, r2 - bls .L1411 - mov r2, #270 - ldr r1, .L1421+20 - ldr r0, .L1421+24 - bl printf -.L1411: - ldr r1, [r5] - movs r3, #0 - strh r3, [r1, #696] @ movhi - ldr r3, .L1421+28 - strh r4, [r1, #692] @ movhi - ldrb r2, [r3] @ zero_extendqisi2 - ldr r3, .L1421+32 - rsb r2, r2, #24 - ldrh r3, [r3] - subs r2, r2, r3 - asr r3, r4, r2 - strh r3, [r1, #694] @ movhi - ldr r1, .L1421+36 - ldr r1, [r1] - lsls r1, r1, #19 - bpl .L1415 - movs r1, #1 - uxth r3, r3 - lsl r2, r1, r2 - ldr r0, .L1421+40 - str r3, [sp] - mov r1, r4 - mov r3, r4 - subs r2, r2, #1 - bl printf -.L1415: - movs r0, #0 - add sp, sp, #8 - @ sp needed - pop {r4, r5, r6, r7, r8, pc} -.L1422: - .align 2 -.L1421: - .word .LANCHOR110 - .word .LANCHOR80 - .word .LC82 - .word .LANCHOR7 - .word .LANCHOR136 - .word .LANCHOR137 - .word .LC0 - .word .LANCHOR32 - .word .LANCHOR75 - .word .LANCHOR14 - .word .LC83 - .size pm_alloc_new_blk, .-pm_alloc_new_blk .section .text.pm_select_ram_region,"ax",%progbits .align 1 .global pm_select_ram_region @@ -8972,72 +8781,72 @@ pm_alloc_new_blk: pm_select_ram_region: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L1433 + ldr r2, .L1404 movw r0, #65535 push {r3, r4, r5, r6, r7, lr} movs r3, #0 mov r1, r2 -.L1425: +.L1396: ldrh r5, [r2, r3, lsl #3] uxth r4, r3 cmp r5, r0 - beq .L1424 + beq .L1395 adds r3, r3, #1 cmp r3, #32 - bne .L1425 + bne .L1396 movs r2, #0 mov r4, r3 mov r0, #32768 -.L1427: +.L1398: add r3, r1, r2, lsl #3 uxth r5, r2 ldrh r3, [r3, #2] lsls r6, r3, #16 - bmi .L1426 + bmi .L1397 cmp r3, r0 itt cc movcc r0, r3 movcc r4, r5 -.L1426: +.L1397: adds r2, r2, #1 cmp r2, #32 - bne .L1427 + bne .L1398 cmp r4, #32 - bne .L1424 - ldr r3, .L1433+4 + bne .L1395 + ldr r3, .L1404+4 mov r2, #-1 ldrb r5, [r3] @ zero_extendqisi2 movs r3, #0 -.L1429: +.L1400: add r0, r1, r3, lsl #3 uxth r6, r3 ldrh r0, [r0, #2] cmp r0, r2 - bcs .L1428 + bcs .L1399 ldrh r7, [r1, r3, lsl #3] cmp r7, r5 itt ne movne r2, r0 movne r4, r6 -.L1428: +.L1399: adds r3, r3, #1 cmp r3, #32 - bne .L1429 + bne .L1400 cmp r4, #32 - bne .L1424 + bne .L1395 movw r2, #377 - ldr r1, .L1433+8 - ldr r0, .L1433+12 + ldr r1, .L1404+8 + ldr r0, .L1404+12 bl printf -.L1424: +.L1395: mov r0, r4 pop {r3, r4, r5, r6, r7, pc} -.L1434: +.L1405: .align 2 -.L1433: - .word .LANCHOR138 - .word .LANCHOR139 - .word .LANCHOR140 +.L1404: + .word .LANCHOR135 + .word .LANCHOR136 + .word .LANCHOR137 .word .LC0 .size pm_select_ram_region, .-pm_select_ram_region .section .text.idb_init,"ax",%progbits @@ -9052,23 +8861,23 @@ idb_init: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1436 + ldr r3, .L1407 movs r0, #0 str r0, [r3] - ldr r3, .L1436+4 + ldr r3, .L1407+4 str r0, [r3] - ldr r3, .L1436+8 + ldr r3, .L1407+8 strb r0, [r3] - ldr r3, .L1436+12 + ldr r3, .L1407+12 str r0, [r3] bx lr -.L1437: +.L1408: .align 2 -.L1436: +.L1407: + .word .LANCHOR138 + .word .LANCHOR139 + .word .LANCHOR140 .word .LANCHOR141 - .word .LANCHOR142 - .word .LANCHOR143 - .word .LANCHOR144 .size idb_init, .-idb_init .section .text.ftl_memset,"ax",%progbits .align 1 @@ -9097,62 +8906,62 @@ flash_lsb_page_tbl_build: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, lr} mov r5, r0 - ldr r3, .L1492 + ldr r3, .L1463 mov r0, #1024 ldr r3, [r3] ldrb r1, [r3, #12] @ zero_extendqisi2 bl __aeabi_idiv uxth r4, r0 - cbnz r5, .L1440 - ldr r3, .L1492+4 -.L1441: + cbnz r5, .L1411 + ldr r3, .L1463+4 +.L1412: strh r5, [r3, r5, lsl #1] @ movhi adds r5, r5, #1 cmp r5, #512 - bne .L1441 -.L1447: + bne .L1412 +.L1418: movs r1, #255 mov r2, #2048 - ldr r0, .L1492+8 + ldr r0, .L1463+8 bl ftl_memset - ldr r0, .L1492+4 + ldr r0, .L1463+4 movs r3, #0 - ldr r1, .L1492+8 -.L1442: + ldr r1, .L1463+8 +.L1413: ldrh r2, [r0, r3, lsl #1] adds r3, r3, #1 strh r2, [r1, r2, lsl #1] @ movhi uxth r2, r3 cmp r2, r4 - bcc .L1442 + bcc .L1413 pop {r3, r4, r5, pc} -.L1440: +.L1411: cmp r5, #1 - bne .L1443 - ldr r1, .L1492+4 + bne .L1414 + ldr r1, .L1463+4 movs r3, #0 -.L1446: +.L1417: cmp r3, #3 uxth r2, r3 - bls .L1444 + bls .L1415 tst r2, #1 ite ne movne r0, #3 moveq r0, #2 rsb r2, r0, r2, lsl #1 uxth r2, r2 -.L1444: +.L1415: strh r2, [r1, r3, lsl #1] @ movhi adds r3, r3, #1 cmp r3, #512 - bne .L1446 - b .L1447 -.L1443: + bne .L1417 + b .L1418 +.L1414: cmp r5, #2 - bne .L1448 - ldr r1, .L1492+4 + bne .L1419 + ldr r1, .L1463+4 movs r2, #0 -.L1450: +.L1421: uxth r3, r2 cmp r2, #1 ittt hi @@ -9162,34 +8971,34 @@ flash_lsb_page_tbl_build: strh r3, [r1, r2, lsl #1] @ movhi adds r2, r2, #1 cmp r2, #512 - bne .L1450 - b .L1447 -.L1448: + bne .L1421 + b .L1418 +.L1419: cmp r5, #3 - bne .L1451 - ldr r1, .L1492+4 + bne .L1422 + ldr r1, .L1463+4 movs r3, #0 -.L1454: +.L1425: cmp r3, #5 uxth r2, r3 - bls .L1452 + bls .L1423 tst r2, #1 ite ne movne r0, #5 moveq r0, #4 rsb r2, r0, r2, lsl #1 uxth r2, r2 -.L1452: +.L1423: strh r2, [r1, r3, lsl #1] @ movhi adds r3, r3, #1 cmp r3, #512 - bne .L1454 - b .L1447 -.L1451: + bne .L1425 + b .L1418 +.L1422: cmp r5, #4 mov r3, #0 - bne .L1455 - ldr r2, .L1492+4 + bne .L1426 + ldr r2, .L1463+4 strh r3, [r2] @ movhi movs r3, #1 strh r3, [r2, #2] @ movhi @@ -9204,7 +9013,7 @@ flash_lsb_page_tbl_build: movs r3, #8 strh r5, [r2, #8] @ movhi strh r3, [r2, #14]! @ movhi -.L1457: +.L1428: tst r3, #1 ite ne movne r1, #7 @@ -9214,39 +9023,39 @@ flash_lsb_page_tbl_build: uxth r3, r3 strh r1, [r2, #2]! @ movhi cmp r3, #512 - bne .L1457 - b .L1447 -.L1455: + bne .L1428 + b .L1418 +.L1426: cmp r5, #5 - bne .L1458 - ldr r2, .L1492+4 -.L1459: + bne .L1429 + ldr r2, .L1463+4 +.L1430: strh r3, [r2, r3, lsl #1] @ movhi adds r3, r3, #1 cmp r3, #16 - bne .L1459 - ldr r2, .L1492+12 -.L1460: + bne .L1430 + ldr r2, .L1463+12 +.L1431: strh r3, [r2, #2]! @ movhi adds r3, r3, #2 uxth r3, r3 cmp r3, #1008 - bne .L1460 - b .L1447 -.L1458: + bne .L1431 + b .L1418 +.L1429: cmp r5, #8 - bne .L1461 - ldr r2, .L1492+4 -.L1462: + bne .L1432 + ldr r2, .L1463+4 +.L1433: strh r3, [r3, r2] @ movhi adds r3, r3, #2 cmp r3, #1024 - bne .L1462 - b .L1447 -.L1461: + bne .L1433 + b .L1418 +.L1432: cmp r5, #9 - bne .L1463 - ldr r2, .L1492+4 + bne .L1434 + ldr r2, .L1463+4 movw r1, #1021 strh r3, [r2] @ movhi movs r3, #1 @@ -9255,43 +9064,43 @@ flash_lsb_page_tbl_build: movs r2, #2 strh r2, [r3, #4]! @ movhi movs r2, #3 -.L1464: +.L1435: strh r2, [r3, #2]! @ movhi adds r2, r2, #2 uxth r2, r2 cmp r2, r1 - bne .L1464 - b .L1447 -.L1463: + bne .L1435 + b .L1418 +.L1434: cmp r5, #10 - bne .L1465 - ldr r2, .L1492+4 -.L1466: + bne .L1436 + ldr r2, .L1463+4 +.L1437: strh r3, [r2, r3, lsl #1] @ movhi adds r3, r3, #1 cmp r3, #63 - bne .L1466 - ldr r2, .L1492+16 + bne .L1437 + ldr r2, .L1463+16 movw r1, #961 -.L1467: +.L1438: strh r3, [r2, #2]! @ movhi adds r3, r3, #2 uxth r3, r3 cmp r3, r1 - bne .L1467 - b .L1447 -.L1465: + bne .L1438 + b .L1418 +.L1436: cmp r5, #11 - bne .L1468 - ldr r2, .L1492+4 + bne .L1439 + ldr r2, .L1463+4 movs r3, #0 -.L1469: +.L1440: strh r3, [r2, r3, lsl #1] @ movhi adds r3, r3, #1 cmp r3, #8 - bne .L1469 - ldr r1, .L1492+20 -.L1471: + bne .L1440 + ldr r1, .L1463+20 +.L1442: tst r3, #1 ite ne movne r2, #7 @@ -9301,26 +9110,26 @@ flash_lsb_page_tbl_build: uxth r3, r3 strh r2, [r1, #2]! @ movhi cmp r3, #512 - bne .L1471 - b .L1447 -.L1468: + bne .L1442 + b .L1418 +.L1439: cmp r5, #13 - bne .L1447 - ldr r2, .L1492+24 + bne .L1418 + ldr r2, .L1463+24 movs r3, #0 -.L1472: +.L1443: strh r3, [r2, #2]! @ movhi adds r3, r3, #3 uxth r3, r3 cmp r3, #1536 - bne .L1472 - b .L1447 -.L1493: + bne .L1443 + b .L1418 +.L1464: .align 2 -.L1492: - .word .LANCHOR16 +.L1463: + .word .LANCHOR21 .word .LANCHOR3 - .word .LANCHOR145 + .word .LANCHOR142 .word .LANCHOR3+30 .word .LANCHOR3+124 .word .LANCHOR3+14 @@ -9337,74 +9146,74 @@ flash_lsb_page_tbl_build: flash_die_info_init: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1511 + ldr r3, .L1482 push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} ldr r3, [r3] lsls r3, r3, #19 - bpl .L1495 - ldr r1, .L1511+4 - ldr r0, .L1511+8 + bpl .L1466 + ldr r1, .L1482+4 + ldr r0, .L1482+8 bl printf -.L1495: - ldr r4, .L1511+12 +.L1466: + ldr r4, .L1482+12 movs r6, #0 - ldr r5, .L1511+16 - ldr r7, .L1511+20 + ldr r5, .L1482+16 + ldr r7, .L1482+20 ldrh r3, [r4, #26] ldrb r1, [r4, #12] @ zero_extendqisi2 ldrh r0, [r4, #10] strh r3, [r7] @ movhi strb r6, [r5] bl __aeabi_idiv - ldr r10, .L1511+48 + ldr r10, .L1482+48 movs r2, #8 - ldr r3, .L1511+24 + ldr r3, .L1482+24 mov r1, r6 mov r8, r10 strh r0, [r3] @ movhi - ldr r0, .L1511+28 + ldr r0, .L1482+28 bl ftl_memset movs r2, #32 mov r1, r6 - ldr r0, .L1511+32 + ldr r0, .L1482+32 bl ftl_memset -.L1497: - ldr r3, .L1511+36 +.L1468: + ldr r3, .L1482+36 movs r2, #2 add r1, r10, r6, lsl #3 - ldr r0, .L1511+40 + ldr r0, .L1482+40 strb r2, [r6, r3] ldrb r2, [r4] @ zero_extendqisi2 bl flash_mem_cmp8 - cbnz r0, .L1496 + cbnz r0, .L1467 ldrb r3, [r5] @ zero_extendqisi2 - ldr r2, .L1511+32 + ldr r2, .L1482+32 str r0, [r2, r3, lsl #2] adds r2, r3, #1 strb r2, [r5] uxtb r0, r6 - ldr r2, .L1511+28 + ldr r2, .L1482+28 strb r0, [r2, r3] bl zftl_flash_enter_slc_mode -.L1496: +.L1467: adds r6, r6, #1 cmp r6, #4 - bne .L1497 + bne .L1468 ldrb r3, [r4, #8] @ zero_extendqisi2 cmp r3, #2 - beq .L1498 -.L1502: + beq .L1469 +.L1473: ldrb r2, [r4, #13] @ zero_extendqisi2 ldrb r3, [r5] @ zero_extendqisi2 smulbb r3, r3, r2 ldrh r2, [r4, #14] smulbb r3, r3, r2 - ldr r2, .L1511+44 + ldr r2, .L1482+44 strh r3, [r2] @ movhi add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L1498: +.L1469: ldrh r6, [r7] movs r7, #0 ldrb r3, [r4, #13] @ zero_extendqisi2 @@ -9416,18 +9225,18 @@ flash_die_info_init: muls r6, r3, r6 lsls r3, r6, #1 str r3, [sp] - ldr r3, .L1511+28 -.L1501: + ldr r3, .L1482+28 +.L1472: mov r2, r10 add r1, r8, r7, lsl #3 - ldr r0, .L1511+40 + ldr r0, .L1482+40 str r3, [sp, #4] bl flash_mem_cmp8 ldr r3, [sp, #4] - cbnz r0, .L1499 + cbnz r0, .L1470 ldr r1, [sp] ldrb r2, [r5] @ zero_extendqisi2 - ldr r0, .L1511+32 + ldr r0, .L1482+32 cmp fp, #0 it eq moveq r1, r6 @@ -9435,27 +9244,27 @@ flash_die_info_init: str r1, [r0, r2, lsl #2] adds r1, r2, #1 strb r1, [r5] -.L1499: +.L1470: adds r7, r7, #1 cmp r7, #4 - bne .L1501 - b .L1502 -.L1512: + bne .L1472 + b .L1473 +.L1483: .align 2 -.L1511: - .word .LANCHOR14 - .word .LANCHOR146 +.L1482: + .word .LANCHOR19 + .word .LANCHOR143 .word .LC1 - .word .LANCHOR33 - .word .LANCHOR18 + .word .LANCHOR32 + .word .LANCHOR23 .word .LANCHOR2 - .word .LANCHOR147 - .word .LANCHOR30 - .word .LANCHOR148 - .word .LANCHOR34 - .word .LANCHOR33+1 - .word .LANCHOR149 - .word .LANCHOR48 + .word .LANCHOR144 + .word .LANCHOR29 + .word .LANCHOR145 + .word .LANCHOR33 + .word .LANCHOR32+1 + .word .LANCHOR146 + .word .LANCHOR47 .size flash_die_info_init, .-flash_die_info_init .section .text.lpa_hash_init,"ax",%progbits .align 1 @@ -9471,25 +9280,25 @@ lpa_hash_init: push {r3, lr} mov r2, #512 movs r1, #255 - ldr r0, .L1514 + ldr r0, .L1485 bl ftl_memset - ldr r3, .L1514+4 + ldr r3, .L1485+4 movs r1, #255 - ldr r2, .L1514+8 + ldr r2, .L1485+8 ldrh r3, [r3] ldrb r2, [r2] @ zero_extendqisi2 muls r2, r3, r2 - ldr r3, .L1514+12 + ldr r3, .L1485+12 ldr r0, [r3] lsls r2, r2, #2 pop {r3, lr} b ftl_memset -.L1515: +.L1486: .align 2 -.L1514: +.L1485: .word .LANCHOR116 - .word .LANCHOR95 - .word .LANCHOR80 + .word .LANCHOR94 + .word .LANCHOR79 .word .LANCHOR118 .size lpa_hash_init, .-lpa_hash_init .section .text.lpa_rebuild_hash,"ax",%progbits @@ -9504,45 +9313,45 @@ lpa_rebuild_hash: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, r6, r7, lr} - ldr r3, .L1527 + ldr r3, .L1498 ldr r3, [r3] lsls r3, r3, #19 - bpl .L1517 + bpl .L1488 movs r3, #0 movs r2, #239 - ldr r1, .L1527+4 - ldr r0, .L1527+8 + ldr r1, .L1498+4 + ldr r0, .L1498+8 bl printf -.L1517: - ldr r6, .L1527+12 +.L1488: + ldr r6, .L1498+12 mov r2, #512 - ldr r4, .L1527+16 + ldr r4, .L1498+16 movs r1, #255 - ldr r0, .L1527+20 + ldr r0, .L1498+20 bl ftl_memset ldrh r3, [r4] movs r1, #255 ldrb r2, [r6] @ zero_extendqisi2 - ldr r5, .L1527+24 + ldr r5, .L1498+24 muls r2, r3, r2 ldr r0, [r5] lsls r2, r2, #2 bl ftl_memset - ldr r3, .L1527+28 + ldr r3, .L1498+28 movs r2, #0 ldrb r6, [r6] @ zero_extendqisi2 ldr ip, [r5] ldr r7, [r3] - ldr r0, .L1527+20 -.L1518: + ldr r0, .L1498+20 +.L1489: ldrh r3, [r4] uxth r5, r2 mov r1, r5 muls r3, r6, r3 cmp r5, r3, lsl #1 - blt .L1520 + blt .L1491 pop {r3, r4, r5, r6, r7, pc} -.L1520: +.L1491: ldr r3, [r7, r1, lsl #2] adds r2, r2, #1 cmp r3, #-1 @@ -9551,15 +9360,15 @@ lpa_rebuild_hash: ldrhne lr, [r0, r3, lsl #1] strhne r5, [r0, r3, lsl #1] @ movhi strhne lr, [ip, r1, lsl #1] @ movhi - b .L1518 -.L1528: + b .L1489 +.L1499: .align 2 -.L1527: - .word .LANCHOR14 - .word .LANCHOR150 - .word .LC84 - .word .LANCHOR80 - .word .LANCHOR95 +.L1498: + .word .LANCHOR19 + .word .LANCHOR147 + .word .LC81 + .word .LANCHOR79 + .word .LANCHOR94 .word .LANCHOR116 .word .LANCHOR118 .word .LANCHOR117 @@ -9580,9 +9389,9 @@ zftl_read_flash_info: movs r1, #0 mov r4, r0 bl ftl_memset - ldr r1, .L1532 + ldr r1, .L1503 movs r2, #0 - ldr r3, .L1532+4 + ldr r3, .L1503+4 strb r2, [r4, #10] ldrb r0, [r1, #9] @ zero_extendqisi2 ldrh r3, [r3] @@ -9591,10 +9400,10 @@ zftl_read_flash_info: strb r3, [r4, #4] lsrs r3, r3, #8 strb r3, [r4, #5] - ldr r3, .L1532+8 + ldr r3, .L1503+8 ldrb r3, [r3] @ zero_extendqisi2 strb r3, [r4, #7] - ldr r3, .L1532+12 + ldr r3, .L1503+12 ldrb r5, [r3] @ zero_extendqisi2 strb r5, [r4] ldrb r5, [r3, #1] @ zero_extendqisi2 @@ -9608,33 +9417,33 @@ zftl_read_flash_info: movs r3, #32 strb r3, [r4, #8] ldrb r3, [r1, #7] @ zero_extendqisi2 - ldr r0, .L1532+16 + ldr r0, .L1503+16 strb r3, [r4, #9] - ldr r3, .L1532+20 + ldr r3, .L1503+20 ldrb r1, [r3] @ zero_extendqisi2 mov r3, r2 -.L1530: +.L1501: uxtb r2, r3 cmp r1, r2 - bhi .L1531 + bhi .L1502 pop {r4, r5, r6, pc} -.L1531: +.L1502: ldrb r2, [r3, r0] @ zero_extendqisi2 adds r3, r3, #1 ldrb r6, [r4, #10] @ zero_extendqisi2 lsl r2, r5, r2 orrs r2, r2, r6 strb r2, [r4, #10] - b .L1530 -.L1533: + b .L1501 +.L1504: .align 2 -.L1532: - .word .LANCHOR33 +.L1503: + .word .LANCHOR32 .word .LANCHOR2 - .word .LANCHOR50 - .word .LANCHOR68 - .word .LANCHOR30 - .word .LANCHOR18 + .word .LANCHOR49 + .word .LANCHOR67 + .word .LANCHOR29 + .word .LANCHOR23 .size zftl_read_flash_info, .-zftl_read_flash_info .section .text.gc_static_wearleveling,"ax",%progbits .align 1 @@ -9647,44 +9456,44 @@ zftl_read_flash_info: gc_static_wearleveling: @ args = 0, pretend = 0, frame = 32 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r0, .L1653 + ldr r0, .L1624 push {r4, r5, r6, r7, r8, r10, fp, lr} sub sp, sp, #48 ldr r3, [r0] ldr r3, [r3, #32] cmp r3, #10240 - bls .L1535 + bls .L1506 bl ftl_tmp_into_update -.L1535: - ldr r3, .L1653+4 +.L1506: + ldr r3, .L1624+4 ldr r3, [r3] ldr r2, [r3, #568] ldr r1, [r3, #12] add r4, r2, #35840 adds r4, r4, #160 cmp r1, r4 - bcs .L1536 + bcs .L1507 ldr r5, [r0] ldr r4, [r3, #572] ldr r5, [r5, #36] add r4, r4, #256 cmp r5, r4 - bcc .L1590 -.L1536: + bcc .L1561 +.L1507: add r2, r2, #860160 add r2, r2, #3840 cmp r1, r2 - bhi .L1538 + bhi .L1509 ldr r4, [r0] ldr r2, [r3, #572] ldr r4, [r4, #36] adds r2, r2, #32 cmp r4, r2 - bls .L1591 -.L1538: + bls .L1562 +.L1509: ldr r2, [r0] movw r4, #65535 - ldr r10, .L1653+12 + ldr r10, .L1624+12 mov fp, r4 movs r5, #0 ldrh r7, [r2, #134] @@ -9698,12 +9507,12 @@ gc_static_wearleveling: str r5, [sp, #32] str r5, [sp, #20] str r5, [sp, #28] -.L1540: - ldr r3, .L1653+8 +.L1511: + ldr r3, .L1624+8 ldrh r3, [r3] cmp r3, r7 - bhi .L1551 - ldr r7, .L1653+4 + bhi .L1522 + ldr r7, .L1624+4 movs r3, #0 movs r1, #255 movs r2, #128 @@ -9713,19 +9522,19 @@ gc_static_wearleveling: bl ftl_memset ldr r3, [r7] ldrh r7, [r3, #586] - ldr r3, .L1653+12 + ldr r3, .L1624+12 ldr r8, [r3] - ldr r3, .L1653+16 + ldr r3, .L1624+16 ldr r3, [r3] add r10, r8, r7, lsl #2 lsls r1, r3, #21 - bpl .L1552 - ldr r1, .L1653+20 + bpl .L1523 + ldr r1, .L1624+20 ldr r3, [r8, r7, lsl #2] ldrh r2, [r8, r7, lsl #2] ldr r1, [r1] ubfx r3, r3, #11, #8 - ldr r0, .L1653+24 + ldr r0, .L1624+24 ubfx r2, r2, #0, #11 ldrh r1, [r1, r7, lsl #1] str r1, [sp, #12] @@ -9739,61 +9548,61 @@ gc_static_wearleveling: str r1, [sp] mov r1, r7 bl printf -.L1552: +.L1523: ldrb r3, [r10, #2] @ zero_extendqisi2 and r1, r3, #224 cmp r1, #32 - bne .L1553 - ldr r2, .L1653 + bne .L1524 + ldr r2, .L1624 ldr r2, [r2] ldrh r2, [r2, #688] cmp r2, #2 ittt hi - ldrhi r2, .L1653+28 + ldrhi r2, .L1624+28 movhi r0, #1 strhi r0, [r2] -.L1553: +.L1524: lsls r2, r3, #28 - bpl .L1554 - ldr r2, .L1653 + bpl .L1525 + ldr r2, .L1624 ldr r2, [r2] ldrh r0, [r2, #96] - ldr r2, .L1653+32 + ldr r2, .L1624+32 ldrh ip, [r2] ldrh r2, [r8, r7, lsl #2] ubfx r2, r2, #0, #11 add r2, r2, ip, lsr #2 cmp r0, r2 - ble .L1554 + ble .L1525 and r3, r3, #192 - ldr r7, .L1653+4 + ldr r7, .L1624+4 cmp r3, #64 - bne .L1555 + bne .L1526 ldr r3, [r7] movs r2, #1 movs r1, #0 ldrh r0, [r3, #586] bl gc_add_sblk - ldr r3, .L1653+36 + ldr r3, .L1624+36 movs r2, #1 - strh r2, [r3, #2106] @ movhi -.L1554: - ldr r3, .L1653+4 + strh r2, [r3, #2180] @ movhi +.L1525: + ldr r3, .L1624+4 ldr r3, [r3] ldrh r7, [r3, #584] - ldr r3, .L1653+12 + ldr r3, .L1624+12 ldr r8, [r3] - ldr r3, .L1653+16 + ldr r3, .L1624+16 ldr r3, [r3] add r10, r8, r7, lsl #2 lsls r6, r3, #21 - bpl .L1556 - ldr r1, .L1653+20 + bpl .L1527 + ldr r1, .L1624+20 ldr r3, [r8, r7, lsl #2] ldrh r2, [r8, r7, lsl #2] ldr r1, [r1] ubfx r3, r3, #11, #8 - ldr r0, .L1653+40 + ldr r0, .L1624+40 ubfx r2, r2, #0, #11 ldrh r1, [r1, r7, lsl #1] str r1, [sp, #12] @@ -9807,39 +9616,39 @@ gc_static_wearleveling: str r1, [sp] mov r1, r7 bl printf -.L1556: +.L1527: ldrb r3, [r10, #2] @ zero_extendqisi2 lsls r0, r3, #28 - bpl .L1557 - ldr r2, .L1653 + bpl .L1528 + ldr r2, .L1624 ldr r2, [r2] ldrh r1, [r2, #98] - ldr r2, .L1653+44 + ldr r2, .L1624+44 ldrh r0, [r2] ldr r2, [r8, r7, lsl #2] ubfx r2, r2, #11, #8 add r2, r2, r0, lsr #2 cmp r1, r2 - ble .L1557 + ble .L1528 and r2, r3, #192 cmp r2, #64 - bne .L1558 - ldr r3, .L1653+4 + bne .L1529 + ldr r3, .L1624+4 movs r2, #1 movs r1, #0 ldr r3, [r3] ldrh r0, [r3, #584] bl gc_add_sblk - ldr r3, .L1653+36 + ldr r3, .L1624+36 movs r2, #1 - strh r2, [r3, #2106] @ movhi -.L1557: - ldr r3, .L1653+16 + strh r2, [r3, #2180] @ movhi +.L1528: + ldr r3, .L1624+16 ldr r3, [r3] lsls r1, r3, #21 - bpl .L1559 - ldr r3, .L1653+12 - ldr r1, .L1653+20 + bpl .L1530 + ldr r3, .L1624+12 + ldr r1, .L1624+20 ldr r2, [r3] ldr r1, [r1] ldr r3, [r2, r5, lsl #2] @@ -9855,17 +9664,17 @@ gc_static_wearleveling: lsrs r1, r1, #5 str r1, [sp, #4] ldrb r1, [r0, #2] @ zero_extendqisi2 - ldr r0, .L1653+48 + ldr r0, .L1624+48 ubfx r1, r1, #3, #2 str r1, [sp] mov r1, r5 bl printf -.L1559: - ldr r3, .L1653+16 +.L1530: + ldr r3, .L1624+16 ldr r3, [r3] lsls r2, r3, #21 - bpl .L1560 - ldr r3, .L1653+12 + bpl .L1531 + ldr r3, .L1624+12 ldr r1, [sp, #24] ldr r5, [sp, #24] ldr r2, [r3] @@ -9873,7 +9682,7 @@ gc_static_wearleveling: add r0, r2, r3, lsl #2 ldr r3, [r2, r3, lsl #2] ldrh r2, [r2, r1, lsl #2] - ldr r1, .L1653+20 + ldr r1, .L1624+20 ubfx r3, r3, #11, #8 ubfx r2, r2, #0, #11 ldr r1, [r1] @@ -9885,13 +9694,13 @@ gc_static_wearleveling: lsrs r1, r1, #5 str r1, [sp, #4] ldrb r1, [r0, #2] @ zero_extendqisi2 - ldr r0, .L1653+52 + ldr r0, .L1624+52 ubfx r1, r1, #3, #2 str r1, [sp] mov r1, r5 bl printf -.L1560: - ldr r6, .L1653 +.L1531: + ldr r6, .L1624 ldrh r3, [sp, #20] ldr r1, [sp, #32] ldr r5, [r6] @@ -9908,100 +9717,100 @@ gc_static_wearleveling: ldr r0, [sp, #44] bl __aeabi_uidiv strh r0, [r5, #90] @ movhi - ldr r5, .L1653+16 + ldr r5, .L1624+16 ldr r3, [r5] lsls r3, r3, #21 - bpl .L1561 + bpl .L1532 uxth r0, r0 uxth r3, r7 ldr r2, [sp, #36] str r0, [sp] ldr r1, [sp, #32] - ldr r0, .L1653+56 + ldr r0, .L1624+56 bl printf -.L1561: +.L1532: ldr r3, [r5] - ldr r5, .L1653+44 + ldr r5, .L1624+44 tst r3, #1024 - beq .L1562 + beq .L1533 ldrh r3, [r5] mov r2, fp mov r1, r4 - ldr r0, .L1653+60 + ldr r0, .L1624+60 str r3, [sp, #8] - b .L1654 -.L1655: + b .L1625 +.L1626: .align 2 -.L1653: +.L1624: .word .LANCHOR110 - .word .LANCHOR10 - .word .LANCHOR6 - .word .LANCHOR7 - .word .LANCHOR14 + .word .LANCHOR12 + .word .LANCHOR8 .word .LANCHOR9 + .word .LANCHOR19 + .word .LANCHOR11 + .word .LC83 + .word .LANCHOR148 + .word .LANCHOR149 + .word .LANCHOR70 + .word .LC84 + .word .LANCHOR150 + .word .LC85 .word .LC86 - .word .LANCHOR151 - .word .LANCHOR152 - .word .LANCHOR71 .word .LC87 - .word .LANCHOR153 .word .LC88 - .word .LC89 - .word .LC90 - .word .LC91 -.L1654: - ldr r3, .L1656 +.L1625: + ldr r3, .L1627 ldrh r3, [r3] str r3, [sp, #4] ldr r3, [sp, #28] str r3, [sp] ldr r3, [sp, #20] bl printf -.L1562: +.L1533: ldr r3, [sp, #28] sub r3, r3, fp str r3, [sp, #24] ldr r2, [sp, #24] ldrh r3, [r5] cmp r2, r3 - bgt .L1563 - ldr r2, .L1656 + bgt .L1534 + ldr r2, .L1627 ldr r3, [sp, #20] ldrh r2, [r2] subs r3, r3, r4 cmp r3, r2 - ble .L1592 -.L1563: - ldr r3, .L1656+4 + ble .L1563 +.L1534: + ldr r3, .L1627+4 mov r8, #0 ldr r3, [r3] ldrh r5, [r3, #580] ldr r3, [r6] mov r6, r8 ldrh r10, [r3, #134] -.L1565: - ldr r3, .L1656+8 +.L1536: + ldr r3, .L1627+8 ldrh r3, [r3] cmp r10, r3 - bcc .L1575 -.L1574: - ldr r3, .L1656+4 + bcc .L1546 +.L1545: + ldr r3, .L1627+4 ldr r3, [r3] str r5, [r3, #580] -.L1564: +.L1535: cmp fp, #0 - beq .L1577 - ldr r3, .L1656+12 + beq .L1548 + ldr r3, .L1627+12 ldr r1, [r3] - ldr r3, .L1656+8 + ldr r3, .L1627+8 ldrh r2, [r1, #134] ldrh r7, [r3] - ldr r3, .L1656+16 + ldr r3, .L1627+16 ldr r3, [r3] add r3, r3, r2, lsl #2 -.L1578: +.L1549: cmp r2, r7 - bcc .L1580 + bcc .L1551 ldrh r3, [r1, #72] add r3, r3, fp strh r3, [r1, #72] @ movhi @@ -10010,19 +9819,19 @@ gc_static_wearleveling: itt cc subcc r3, r3, fp strhcc r3, [r1, #98] @ movhi -.L1577: - cbz r4, .L1583 - ldr r3, .L1656+12 +.L1548: + cbz r4, .L1554 + ldr r3, .L1627+12 ldr r1, [r3] - ldr r3, .L1656+8 + ldr r3, .L1627+8 ldrh r2, [r1, #134] ldrh ip, [r3] - ldr r3, .L1656+16 + ldr r3, .L1627+16 ldr r3, [r3] add r3, r3, r2, lsl #2 -.L1584: +.L1555: cmp r2, ip - bcc .L1586 + bcc .L1557 ldrh r3, [r1, #74] add r3, r3, r4 strh r3, [r1, #74] @ movhi @@ -10031,46 +9840,46 @@ gc_static_wearleveling: itt cc subcc r4, r3, r4 strhcc r4, [r1, #96] @ movhi -.L1583: - movs r1, #5 - movs r0, #0 - bl zftl_get_gc_node +.L1554: + movs r1, #0 + ldr r0, .L1627+20 + bl _list_get_gc_head_node movw r2, #65535 cmp r0, r2 - beq .L1539 - ldr r2, .L1656+20 + beq .L1510 + ldr r2, .L1627+24 ldr r1, [r2] - ldr r2, .L1656+24 + ldr r2, .L1627+28 ldrh r3, [r1, r0, lsl #1] ldrh r2, [r2] cmp r3, r2, lsr #1 - bhi .L1539 + bhi .L1510 adds r6, r6, #1 movs r2, #1 movs r1, #0 bl gc_add_sblk -.L1539: +.L1510: add r0, r6, r8 -.L1534: +.L1505: add sp, sp, #48 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L1551: +.L1522: ldr r0, [r10] lsls r1, r7, #2 add ip, r0, r1 ldrb r3, [ip, #2] @ zero_extendqisi2 and r2, r3, #224 cmp r2, #224 - beq .L1541 + beq .L1512 ubfx lr, r3, #3, #2 tst lr, #1 - beq .L1542 + beq .L1513 ldrh r3, [r0, r1] ldr r2, [r0, r1] ubfx r3, r3, #0, #11 ubfx r2, r2, #11, #8 -.L1543: +.L1514: ldr r6, [sp, #32] cmp r4, r3 add r8, r6, #1 @@ -10079,12 +9888,12 @@ gc_static_wearleveling: ldr r6, [sp, #40] add r6, r6, r3 str r6, [sp, #40] - bls .L1589 - ldr r4, .L1656+4 + bls .L1560 + ldr r4, .L1627+4 ldr r4, [r4] strh r7, [r4, #586] @ movhi mov r4, r3 -.L1589: +.L1560: ldr r6, [sp, #20] movw r8, #65535 cmp r6, r3 @@ -10092,26 +9901,26 @@ gc_static_wearleveling: movcc r5, r7 strcc r3, [sp, #20] cmp r2, r8 - bne .L1545 -.L1547: + bne .L1516 +.L1518: cmp r3, #9 - bls .L1550 -.L1541: + bls .L1521 +.L1512: adds r7, r7, #1 uxth r7, r7 - b .L1540 -.L1542: + b .L1511 +.L1513: tst r3, #24 - bne .L1544 + bne .L1515 ldrh r3, [r0, r1] movw r2, #65535 ubfx r3, r3, #0, #11 - b .L1543 -.L1544: + b .L1514 +.L1515: ldr r3, [r0, r1] ubfx r2, r3, #11, #8 movw r3, #65535 -.L1545: +.L1516: ldr r6, [sp, #36] cmp fp, r2 it hi @@ -10119,7 +9928,7 @@ gc_static_wearleveling: add r8, r6, #1 uxth r6, r8 it hi - ldrhi r8, .L1656+4 + ldrhi r8, .L1627+4 str r6, [sp, #36] ldr r6, [sp, #44] it hi @@ -10134,17 +9943,17 @@ gc_static_wearleveling: strcc r7, [sp, #24] strcc r2, [sp, #28] cmp r2, #9 - bhi .L1547 -.L1550: - ldr r3, .L1656+28 + bhi .L1518 +.L1521: + ldr r3, .L1627+32 ldr r3, [r3] lsls r6, r3, #23 - bpl .L1541 + bpl .L1512 ldr r3, [r0, r1] ldrh r2, [r0, r1] - ldr r1, .L1656+20 + ldr r1, .L1627+24 ubfx r3, r3, #11, #8 - ldr r0, .L1656+32 + ldr r0, .L1627+36 ubfx r2, r2, #0, #11 ldr r1, [r1] ldrh r1, [r1, r7, lsl #1] @@ -10157,114 +9966,115 @@ gc_static_wearleveling: str r1, [sp, #4] mov r1, r7 bl printf - b .L1541 -.L1555: + b .L1512 +.L1526: cmp r1, #0 - bne .L1554 + bne .L1525 ldr r3, [r7] movw r2, #65535 ldrh r8, [r3, #590] cmp r8, r2 - bne .L1554 + bne .L1525 ldrh r0, [r3, #586] ldrh r3, [r3, #588] cmp r3, r0 - beq .L1554 + beq .L1525 bl zftl_remove_free_node ldr r3, [r7] ldrh r2, [r3, #586] strh r8, [r3, #586] @ movhi strh r2, [r3, #590] @ movhi - b .L1554 -.L1558: + b .L1525 +.L1529: and r3, r3, #248 cmp r3, #16 - bne .L1557 - ldr r8, .L1656+4 + bne .L1528 + ldr r8, .L1627+4 movw r2, #65535 ldr r3, [r8] ldrh r7, [r3, #588] cmp r7, r2 - bne .L1557 + bne .L1528 ldrh r0, [r3, #584] ldrh r3, [r3, #590] cmp r3, r0 - beq .L1557 + beq .L1528 bl zftl_remove_free_node ldr r3, [r8] ldrh r2, [r3, #584] strh r7, [r3, #584] @ movhi strh r2, [r3, #588] @ movhi - b .L1557 -.L1657: + b .L1528 +.L1628: .align 2 -.L1656: - .word .LANCHOR152 - .word .LANCHOR10 - .word .LANCHOR6 +.L1627: + .word .LANCHOR149 + .word .LANCHOR12 + .word .LANCHOR8 .word .LANCHOR110 - .word .LANCHOR7 .word .LANCHOR9 - .word .LANCHOR95 - .word .LANCHOR14 - .word .LC85 -.L1575: + .word .LANCHOR92 + .word .LANCHOR11 + .word .LANCHOR94 + .word .LANCHOR19 + .word .LC82 +.L1546: adds r5, r5, #1 uxth r5, r5 cmp r3, r5 it ls movls r5, #0 - ldr r3, .L1658 + ldr r3, .L1629 lsls r7, r5, #2 ldr r3, [r3] adds r2, r3, r7 ldrb r2, [r2, #2] @ zero_extendqisi2 tst r2, #192 - beq .L1567 + beq .L1538 and r0, r2, #224 cmp r0, #224 - beq .L1567 + beq .L1538 ubfx r2, r2, #3, #2 ands r1, r2, #1 - beq .L1568 + beq .L1539 cmp r0, #160 -.L1651: - bne .L1570 - ldr r2, .L1658+4 +.L1622: + bne .L1541 + ldr r2, .L1629+4 ldr r0, [sp, #24] ldrh r2, [r2] cmp r0, r2 - ble .L1571 + ble .L1542 ldr r2, [r3, r7] ubfx r2, r2, #11, #8 cmp r2, fp - bls .L1572 - cbz r1, .L1571 + bls .L1543 + cbz r1, .L1542 ldrh r2, [r3, r7] ubfx r2, r2, #0, #11 cmp r2, r4 - bgt .L1571 -.L1572: + bgt .L1542 +.L1543: movs r2, #1 movs r1, #0 mov r0, r5 str r3, [sp, #28] bl gc_add_sblk - ldr r0, .L1658+8 + ldr r0, .L1629+8 movs r2, #1 add r6, r6, r2 ldr r3, [sp, #28] - strh r2, [r0, #2106] @ movhi - ldr r2, .L1658+12 + strh r2, [r0, #2180] @ movhi + ldr r2, .L1629+12 ldr r2, [r2] tst r2, #1024 - beq .L1571 - ldr r2, .L1658+16 + beq .L1542 + ldr r2, .L1629+16 ldr r1, [r3, r7] ldr r2, [r2] ubfx r1, r1, #11, #8 ldrh ip, [r2, r5, lsl #1] - ldr r2, .L1658 + ldr r2, .L1629 ldr r2, [r2] add r2, r2, r7 ldrb r2, [r2, #2] @ zero_extendqisi2 @@ -10275,63 +10085,63 @@ gc_static_wearleveling: str r1, [sp, #4] mov r1, r5 ldrh r3, [r0, #52] - ldr r0, .L1658+20 + ldr r0, .L1629+20 str r3, [sp] mov r3, ip -.L1652: +.L1623: bl printf -.L1571: +.L1542: cmp r6, #4 - bhi .L1574 + bhi .L1545 cmp r8, #4 - bhi .L1574 -.L1567: + bhi .L1545 +.L1538: add r10, r10, #1 uxth r10, r10 - b .L1565 -.L1568: + b .L1536 +.L1539: cmp r2, #2 - b .L1651 -.L1570: - ldr r0, .L1658+24 + b .L1622 +.L1541: + ldr r0, .L1629+24 ldr r2, [sp, #20] ldrh r0, [r0] subs r2, r2, r4 cmp r2, r0 - ble .L1571 + ble .L1542 ldrh r2, [r3, r7] add r0, r4, #8 ubfx r2, r2, #0, #11 cmp r2, r0 - ble .L1573 + ble .L1544 cmp r1, #0 - beq .L1571 + beq .L1542 ldr r2, [r3, r7] add r1, fp, #4 ubfx r2, r2, #11, #8 cmp r2, r1 - bgt .L1571 -.L1573: + bgt .L1542 +.L1544: movs r2, #1 movs r1, #0 mov r0, r5 str r3, [sp, #28] bl gc_add_sblk - ldr r0, .L1658+8 + ldr r0, .L1629+8 movs r2, #1 add r8, r8, r2 ldr r3, [sp, #28] - strh r2, [r0, #2106] @ movhi - ldr r2, .L1658+12 + strh r2, [r0, #2180] @ movhi + ldr r2, .L1629+12 ldr r2, [r2] tst r2, #1024 - beq .L1571 - ldr r2, .L1658+16 + beq .L1542 + ldr r2, .L1629+16 ldr r1, [r3, r7] ldr r2, [r2] ubfx r1, r1, #11, #8 ldrh ip, [r2, r5, lsl #1] - ldr r2, .L1658 + ldr r2, .L1629 ldr r2, [r2] add r2, r2, r7 ldrb r2, [r2, #2] @ zero_extendqisi2 @@ -10342,35 +10152,35 @@ gc_static_wearleveling: str r1, [sp, #4] mov r1, r5 ldrh r3, [r0, #52] - ldr r0, .L1658+28 + ldr r0, .L1629+28 str r3, [sp] mov r3, ip - b .L1652 -.L1592: + b .L1623 +.L1563: mov r8, #0 mov r6, r8 - b .L1564 -.L1580: + b .L1535 +.L1551: ldr r0, [r3] ubfx r5, r0, #11, #8 cmp fp, r5 - bhi .L1579 + bhi .L1550 ldrb ip, [r3, #2] @ zero_extendqisi2 tst ip, #24 ittt ne subne r5, r5, fp bfine r0, r5, #11, #8 strne r0, [r3] -.L1579: +.L1550: adds r2, r2, #1 adds r3, r3, #4 uxth r2, r2 - b .L1578 -.L1586: + b .L1549 +.L1557: ldrh r0, [r3] ubfx r5, r0, #0, #11 cmp r5, r4 - blt .L1585 + blt .L1556 ldrb r7, [r3, #2] @ zero_extendqisi2 and r7, r7, #24 cmp r7, #16 @@ -10378,29 +10188,29 @@ gc_static_wearleveling: subne r5, r5, r4 bfine r0, r5, #0, #11 strhne r0, [r3] @ movhi -.L1585: +.L1556: adds r2, r2, #1 adds r3, r3, #4 uxth r2, r2 - b .L1584 -.L1591: + b .L1555 +.L1562: mov r8, #0 mov r6, r8 - b .L1539 -.L1590: + b .L1510 +.L1561: movs r0, #0 - b .L1534 -.L1659: + b .L1505 +.L1630: .align 2 -.L1658: - .word .LANCHOR7 - .word .LANCHOR153 - .word .LANCHOR71 - .word .LANCHOR14 +.L1629: .word .LANCHOR9 - .word .LC92 - .word .LANCHOR152 - .word .LC93 + .word .LANCHOR150 + .word .LANCHOR70 + .word .LANCHOR19 + .word .LANCHOR11 + .word .LC89 + .word .LANCHOR149 + .word .LC90 .size gc_static_wearleveling, .-gc_static_wearleveling .section .text.zftl_sblk_list_init,"ax",%progbits .align 1 @@ -10415,69 +10225,69 @@ zftl_sblk_list_init: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r10, fp, lr} movs r2, #6 - ldr r8, .L1692+84 + ldr r8, .L1663+84 sub sp, sp, #24 movs r1, #0 movs r4, #0 - ldr fp, .L1692+88 + ldr fp, .L1663+88 ldrh r3, [r8] - ldr r6, .L1692 + ldr r6, .L1663 ldr r0, [fp] - ldr r10, .L1692+80 + ldr r10, .L1663+80 muls r2, r3, r2 - ldr r7, .L1692+4 + ldr r7, .L1663+4 bl ftl_memset - ldr r3, .L1692+8 + ldr r3, .L1663+8 movs r2, #32 - ldr r1, .L1692+12 + ldr r1, .L1663+12 mov r0, #32768 strh r4, [r10] @ movhi str r4, [r3] - ldr r3, .L1692+16 + ldr r3, .L1663+16 ldrh r1, [r1] strh r4, [r7] @ movhi str r4, [r3] - ldr r3, .L1692+20 + ldr r3, .L1663+20 str r4, [r3] - ldr r3, .L1692+24 + ldr r3, .L1663+24 str r4, [r3] - ldr r3, .L1692+28 + ldr r3, .L1663+28 str r4, [r3] - ldr r3, .L1692+32 + ldr r3, .L1663+32 str r4, [r3] - ldr r3, .L1692+36 + ldr r3, .L1663+36 strh r2, [r3] @ movhi - ldr r2, .L1692+40 - ldr r3, .L1692+44 + ldr r2, .L1663+40 + ldr r3, .L1663+44 strh r4, [r2] @ movhi - ldr r2, .L1692+48 + ldr r2, .L1663+48 strh r4, [r3] @ movhi str r3, [sp, #4] strh r4, [r2] @ movhi - ldr r2, .L1692+52 + ldr r2, .L1663+52 strh r4, [r2] @ movhi ldrb r2, [r6] @ zero_extendqisi2 muls r1, r2, r1 bl __aeabi_idiv - ldr r2, .L1692+56 + ldr r2, .L1663+56 sxth r3, r0 str fp, [sp, #12] mov fp, r10 str r3, [sp] ldr r1, [r2] ldr r3, [sp, #4] - ldr r10, .L1692+92 + ldr r10, .L1663+92 ldrsh r5, [r1, #134] str r8, [sp, #8] mov r8, r3 strh r4, [r1, #146] @ movhi str r2, [sp, #16] str r6, [sp, #20] -.L1661: +.L1632: ldr r3, [sp, #8] ldrh r3, [r3] cmp r5, r3 - blt .L1678 + blt .L1649 ldr r3, [sp, #16] ldrh r2, [r8] ldr r3, [r3] @@ -10486,43 +10296,43 @@ zftl_sblk_list_init: strh r2, [r3, #118] @ movhi ldrh r2, [fp] strh r2, [r3, #116] @ movhi - ldr r2, .L1692+40 + ldr r2, .L1663+40 ldrh r2, [r2] strh r2, [r3, #122] @ movhi - ldr r2, .L1692+48 + ldr r2, .L1663+48 ldrh r2, [r2] strh r2, [r3, #120] @ movhi - ldr r2, .L1692+52 + ldr r2, .L1663+52 ldrh r2, [r2] strh r2, [r3, #124] @ movhi add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L1678: +.L1649: ldr r6, [r10] add r6, r6, r5, lsl #2 ldrb r0, [r6, #3] @ zero_extendqisi2 cmp r0, #0 - beq .L1679 + beq .L1650 ldr r3, [sp, #20] ldrb lr, [r3] @ zero_extendqisi2 - ldr r3, .L1692+56 + ldr r3, .L1663+56 ldr ip, [r3] - ldr r3, .L1692+12 + ldr r3, .L1663+12 ldrh r3, [r3] str r3, [sp, #4] movs r3, #0 mov r1, r3 -.L1663: +.L1634: cmp r3, lr - blt .L1666 + blt .L1637 cmp r1, #0 - beq .L1667 + beq .L1638 mov r0, #32768 bl __aeabi_idiv adds r1, r0, #1 sxth r1, r1 -.L1662: +.L1633: ldr r3, [sp, #12] lsls r0, r5, #1 adds r2, r0, r5 @@ -10535,32 +10345,32 @@ zftl_sblk_list_init: ldrb r3, [r6, #2] @ zero_extendqisi2 and r3, r3, #224 cmp r3, #32 - beq .L1668 + beq .L1639 cmp r3, #224 - beq .L1668 - ldr r2, .L1692+60 + beq .L1639 + ldr r2, .L1663+60 ldr r2, [r2] ldrh r1, [r2, #16] cmp r5, r1 - beq .L1668 + beq .L1639 ldrh r1, [r2, #48] cmp r5, r1 - beq .L1668 + beq .L1639 ldrh r2, [r2, #80] cmp r5, r2 - beq .L1668 + beq .L1639 cmp r3, #64 - bne .L1669 - ldr r2, .L1692+40 + bne .L1640 + ldr r2, .L1663+40 uxth r1, r5 - ldr r0, .L1692+28 -.L1690: + ldr r0, .L1663+28 +.L1661: bl _insert_data_list -.L1668: +.L1639: adds r5, r5, #1 sxth r5, r5 - b .L1661 -.L1666: + b .L1632 +.L1637: asr r2, r0, r3 adds r3, r3, #1 lsls r2, r2, #31 @@ -10572,44 +10382,44 @@ zftl_sblk_list_init: ite mi strhmi r2, [ip, #146] @ movhi sxthpl r1, r1 - b .L1663 -.L1667: + b .L1634 +.L1638: ldrb r3, [r6, #2] @ zero_extendqisi2 movw r2, #65535 orr r3, r3, #224 strb r3, [r6, #2] - ldr r3, .L1692+64 + ldr r3, .L1663+64 ldr r3, [r3] strh r2, [r3, r5, lsl #1] @ movhi - b .L1662 -.L1679: + b .L1633 +.L1650: ldr r1, [sp] - b .L1662 -.L1669: + b .L1633 +.L1640: cmp r3, #96 - bne .L1670 - ldr r2, .L1692+52 + bne .L1641 + ldr r2, .L1663+52 uxth r1, r5 - ldr r0, .L1692+24 - b .L1690 -.L1670: + ldr r0, .L1663+24 + b .L1661 +.L1641: cmp r3, #160 - bne .L1671 - ldr r2, .L1692+48 + bne .L1642 + ldr r2, .L1663+48 uxth r1, r5 - ldr r0, .L1692+32 - b .L1690 -.L1671: + ldr r0, .L1663+32 + b .L1661 +.L1642: cmp r3, #0 - bne .L1668 - ldr r3, .L1692+64 + bne .L1639 + ldr r3, .L1663+64 ldr r3, [r3] ldrh r2, [r3, r0] - cbz r2, .L1672 + cbz r2, .L1643 cmp r4, #2 - bgt .L1673 + bgt .L1644 mov r1, r5 - ldr r0, .L1692+68 + ldr r0, .L1663+68 bl printf ldrb r3, [r6, #2] @ zero_extendqisi2 adds r4, r4, #1 @@ -10624,141 +10434,58 @@ zftl_sblk_list_init: movs r2, #0 strb r3, [r6, #2] bl gc_add_sblk - b .L1668 -.L1673: - movw r2, #651 - ldr r1, .L1692+72 - ldr r0, .L1692+76 + b .L1639 +.L1644: + mov r2, #656 + ldr r1, .L1663+72 + ldr r0, .L1663+76 bl printf -.L1672: +.L1643: ldrb r3, [r6, #2] @ zero_extendqisi2 uxth r1, r5 ands r3, r3, #24 - bne .L1676 - ldr r2, .L1692+44 - ldr r0, .L1692+8 -.L1691: + bne .L1647 + ldr r2, .L1663+44 + ldr r0, .L1663+8 +.L1662: bl _insert_free_list - b .L1668 -.L1676: + b .L1639 +.L1647: cmp r3, #16 ittee eq - ldreq r2, .L1692+4 - ldreq r0, .L1692+16 - ldrne r2, .L1692+80 - ldrne r0, .L1692+20 - b .L1691 -.L1693: + ldreq r2, .L1663+4 + ldreq r0, .L1663+16 + ldrne r2, .L1663+80 + ldrne r0, .L1663+20 + b .L1662 +.L1664: .align 2 -.L1692: - .word .LANCHOR80 +.L1663: + .word .LANCHOR79 .word .LANCHOR105 .word .LANCHOR104 - .word .LANCHOR86 + .word .LANCHOR85 .word .LANCHOR106 .word .LANCHOR108 - .word .LANCHOR89 - .word .LANCHOR12 - .word .LANCHOR88 + .word .LANCHOR90 + .word .LANCHOR95 + .word .LANCHOR92 .word .LANCHOR109 .word .LANCHOR97 .word .LANCHOR103 - .word .LANCHOR93 + .word .LANCHOR91 .word .LANCHOR99 .word .LANCHOR110 - .word .LANCHOR10 - .word .LANCHOR9 - .word .LC94 - .word .LANCHOR154 + .word .LANCHOR12 + .word .LANCHOR11 + .word .LC91 + .word .LANCHOR151 .word .LC0 .word .LANCHOR107 - .word .LANCHOR6 + .word .LANCHOR8 .word .LANCHOR4 - .word .LANCHOR7 - .size zftl_sblk_list_init, .-zftl_sblk_list_init - .section .text.ftl_open_sblk_init,"ax",%progbits - .align 1 - .global ftl_open_sblk_init - .syntax unified - .thumb - .thumb_func - .fpu softvfp - .type ftl_open_sblk_init, %function -ftl_open_sblk_init: - @ args = 0, pretend = 0, frame = 0 - @ frame_needed = 0, uses_anonymous_args = 0 - push {r3, r4, r5, r6, r7, r8, r10, lr} - mov r4, r0 - ldr r8, .L1701+12 - mov r6, r1 - movs r7, #0 -.L1695: - movw r10, #65535 -.L1696: - mov r0, r6 - bl ftl_alloc_sblk - cmp r0, r10 - mov r5, r0 - beq .L1696 - movs r1, #0 - ldr r10, .L1701+16 - bl ftl_erase_sblk - add r1, r4, #16 - mov r0, r5 - bl ftl_get_blk_list_in_sblk - ldr r1, .L1701 - cmp r6, #2 - ldrh r2, [r8] - uxtb r0, r0 - strh r5, [r4] @ movhi - ite eq - moveq r3, #0 - ldrbne r3, [r1] @ zero_extendqisi2 - ldrb r1, [r1] @ zero_extendqisi2 - strb r0, [r4, #9] - smulbb r0, r0, r2 - strh r7, [r4, #2] @ movhi - it ne - smulbbne r3, r3, r2 - strb r7, [r4, #5] - mul r2, r2, r1 - ldr r1, .L1701+4 - strh r0, [r4, #6] @ movhi - it ne - uxthne r3, r3 - strh r7, [r4, #10] @ movhi - ldr r0, [r1] - movs r1, #255 - strh r3, [r4, #12] @ movhi - lsls r2, r2, #2 - strb r6, [r4, #4] - add r0, r0, r3, lsl #2 - bl ftl_memset - ldr r3, [r10] - ldrh r2, [r4, #6] - strh r2, [r3, r5, lsl #1] @ movhi - ldrb r3, [r4, #9] @ zero_extendqisi2 - cbnz r3, .L1694 - mov r1, r5 - ldr r0, .L1701+8 - bl printf - ldr r3, [r10] - movw r2, #65535 - strh r2, [r3, r5, lsl #1] @ movhi - movs r3, #7 - strb r3, [r4, #4] - b .L1695 -.L1694: - pop {r3, r4, r5, r6, r7, r8, r10, pc} -.L1702: - .align 2 -.L1701: - .word .LANCHOR80 - .word .LANCHOR117 - .word .LC82 - .word .LANCHOR95 .word .LANCHOR9 - .size ftl_open_sblk_init, .-ftl_open_sblk_init + .size zftl_sblk_list_init, .-zftl_sblk_list_init .section .text.pm_free_sblk,"ax",%progbits .align 1 .global pm_free_sblk @@ -10772,16 +10499,16 @@ pm_free_sblk: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r10, fp, lr} sub sp, sp, #280 - ldr r5, .L1728 + ldr r5, .L1690 ldrh r2, [r5] cmp r2, #128 - bls .L1704 + bls .L1666 movs r2, #94 - ldr r1, .L1728+4 - ldr r0, .L1728+8 + ldr r1, .L1690+4 + ldr r0, .L1690+8 bl printf -.L1704: - ldr r4, .L1728+12 +.L1666: + ldr r4, .L1690+12 movs r2, #0 ldrh r5, [r5] mov r3, r2 @@ -10789,21 +10516,21 @@ pm_free_sblk: ldr r1, [r4] ldrh r0, [r1, #688] add r1, r1, #416 -.L1707: +.L1669: ldrh r7, [r1], #2 cmp r7, r6 itt ne addne r2, r2, #1 uxthne r2, r2 cmp r2, r0 - bcs .L1706 + bcs .L1668 cmp r2, r5 - bcs .L1706 + bcs .L1668 adds r3, r3, #1 uxth r3, r3 cmp r3, #128 - bne .L1707 -.L1706: + bne .L1669 +.L1668: adds r3, r3, #1 mov r2, #256 uxth r3, r3 @@ -10817,26 +10544,26 @@ pm_free_sblk: str r3, [sp, #8] add fp, sp, #24 bl ftl_memset - ldr r2, .L1728+16 + ldr r2, .L1690+16 ldr r7, [r4] ldrh r8, [r2] - ldr r2, .L1728+20 + ldr r2, .L1690+20 add r10, r7, #704 ldrh r3, [r7, #698] ldrb r2, [r2] @ zero_extendqisi2 rsb r2, r2, #24 sub r2, r2, r8 lsls r5, r5, r2 - ldr r2, .L1728+24 + ldr r2, .L1690+24 subs r5, r5, #1 ldrb r2, [r2] @ zero_extendqisi2 -.L1709: +.L1671: uxth r1, r6 cmp r3, r1 - bhi .L1712 - ldr r3, .L1728+28 + bhi .L1674 + ldr r3, .L1690+28 movs r5, #0 - ldr r2, .L1728+32 + ldr r2, .L1690+32 movw r10, #65535 mov r8, r5 ldrb r6, [r3] @ zero_extendqisi2 @@ -10844,7 +10571,7 @@ pm_free_sblk: str r3, [sp, #12] smulbb r6, r6, r2 uxth r6, r6 -.L1718: +.L1680: ldr r2, [r4] add r7, r5, #208 uxth fp, r5 @@ -10852,69 +10579,69 @@ pm_free_sblk: ldrh r0, [r2, #692] str r2, [sp, #16] str r3, [sp, #20] - ldr r3, .L1728+24 + ldr r3, .L1690+24 ldrb r1, [r3] @ zero_extendqisi2 bl __aeabi_idiv ldr r3, [sp, #20] ldr r2, [sp, #16] cmp r0, r3 - bne .L1713 + bne .L1675 ldr r1, [sp, #12] - ldr r0, .L1728+32 + ldr r0, .L1690+32 ldrb r1, [r1] @ zero_extendqisi2 ldrh r0, [r0] smulbb r1, r1, r0 add r0, sp, #24 strh r1, [r0, r5, lsl #1] @ movhi -.L1713: +.L1675: add r1, sp, #24 ldrh r1, [r1, r5, lsl #1] cmp r1, r6 - bcs .L1714 + bcs .L1676 cmp r1, #0 itt ne movne r8, fp movne r6, r1 -.L1714: +.L1676: ldrh r0, [r2, #74] cmp r0, #2 - bls .L1715 + bls .L1677 movw r0, #65535 cmp r3, r0 - beq .L1715 - ldr r0, .L1728+36 + beq .L1677 + ldr r0, .L1690+36 ldrh r2, [r2, #92] ldr r0, [r0] adds r2, r2, #4 ldrh r0, [r0, r3, lsl #2] ubfx r0, r0, #0, #11 cmp r0, r2 - bgt .L1715 + bgt .L1677 mov r10, fp str r0, [sp] mov r2, r1 - ldr r0, .L1728+40 + ldr r0, .L1690+40 mov r1, r5 bl printf -.L1715: +.L1677: add r3, sp, #24 ldrh r2, [r3, r5, lsl #1] - cbnz r2, .L1716 + cbnz r2, .L1678 ldr r1, [r4] movw r0, #65535 ldrh r3, [r1, r7, lsl #1] cmp r3, r0 - beq .L1716 - ldr r0, .L1728+44 + beq .L1678 + ldr r0, .L1690+44 ldr r0, [r0] lsls r0, r0, #19 - bpl .L1717 + bpl .L1679 ldrh r1, [r1, #688] - ldr r0, .L1728+48 + ldr r0, .L1690+48 str r1, [sp] mov r1, r5 bl printf -.L1717: +.L1679: ldr r3, [r4] ldrh r0, [r3, r7, lsl #1] bl ftl_free_sblk @@ -10924,12 +10651,12 @@ pm_free_sblk: ldrh r2, [r3, #688] subs r2, r2, #1 strh r2, [r3, #688] @ movhi -.L1716: +.L1678: adds r5, r5, #1 ldr r2, [sp, #8] uxth r3, r5 cmp r3, r2 - bcc .L1718 + bcc .L1680 movw r0, #65535 cmp r10, r0 ite ne @@ -10938,7 +10665,7 @@ pm_free_sblk: add sp, sp, #280 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L1712: +.L1674: ldr r0, [r10], #4 mov r1, r2 str r3, [sp, #20] @@ -10952,7 +10679,7 @@ pm_free_sblk: str r3, [sp, #12] movs r1, #0 ldr r3, [sp, #20] -.L1711: +.L1673: ldrh ip, [lr], #2 ldr r0, [sp, #12] cmp r0, ip @@ -10964,25 +10691,25 @@ pm_free_sblk: adds r1, r1, #1 uxth ip, r1 cmp r0, ip - bhi .L1711 + bhi .L1673 adds r6, r6, #1 - b .L1709 -.L1729: + b .L1671 +.L1691: .align 2 -.L1728: - .word .LANCHOR155 - .word .LANCHOR156 +.L1690: + .word .LANCHOR152 + .word .LANCHOR153 .word .LC0 .word .LANCHOR110 + .word .LANCHOR74 + .word .LANCHOR31 .word .LANCHOR75 - .word .LANCHOR32 - .word .LANCHOR76 - .word .LANCHOR80 - .word .LANCHOR95 - .word .LANCHOR7 - .word .LC95 - .word .LANCHOR14 - .word .LC96 + .word .LANCHOR79 + .word .LANCHOR94 + .word .LANCHOR9 + .word .LC92 + .word .LANCHOR19 + .word .LC93 .size pm_free_sblk, .-pm_free_sblk .section .text.ftl_memcpy,"ax",%progbits .align 1 @@ -11009,25 +10736,25 @@ ftl_memcpy: flash_info_data_init: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1736 + ldr r3, .L1698 push {r4, lr} ldr r3, [r3] lsls r3, r3, #19 - bpl .L1732 - ldr r2, .L1736+4 - movs r1, #119 - ldr r0, .L1736+8 + bpl .L1694 + ldr r2, .L1698+4 + movs r1, #120 + ldr r0, .L1698+8 bl printf -.L1732: - ldr r4, .L1736+12 +.L1694: + ldr r4, .L1698+12 mov r2, #2048 movs r1, #0 ldr r0, [r4] bl ftl_memset ldr r0, [r4] movs r2, #32 - ldr r3, .L1736+16 - ldr r1, .L1736+20 + ldr r3, .L1698+16 + ldr r1, .L1698+20 adds r0, r0, #80 str r3, [r0, #-80] mov r3, #2032 @@ -11037,20 +10764,20 @@ flash_info_data_init: bl ftl_memcpy ldr r0, [r4] movs r2, #32 - ldr r1, .L1736+24 + ldr r1, .L1698+24 pop {r4, lr} adds r0, r0, #48 b ftl_memcpy -.L1737: +.L1699: .align 2 -.L1736: - .word .LANCHOR14 - .word .LANCHOR157 - .word .LC97 - .word .LANCHOR27 +.L1698: + .word .LANCHOR19 + .word .LANCHOR154 + .word .LC94 + .word .LANCHOR6 .word 1398362953 - .word .LANCHOR20 - .word .LANCHOR33 + .word .LANCHOR25 + .word .LANCHOR32 .size flash_info_data_init, .-flash_info_data_init .section .text.ftl_memcpy32,"ax",%progbits .align 1 @@ -11065,15 +10792,15 @@ ftl_memcpy32: @ frame_needed = 0, uses_anonymous_args = 0 movs r3, #0 push {r4, lr} -.L1739: +.L1701: cmp r3, r2 - bne .L1740 + bne .L1702 pop {r4, pc} -.L1740: +.L1702: ldr r4, [r1, r3, lsl #2] str r4, [r0, r3, lsl #2] adds r3, r3, #1 - b .L1739 + b .L1701 .size ftl_memcpy32, .-ftl_memcpy32 .section .text.ftl_memcmp,"ax",%progbits .align 1 @@ -11101,11 +10828,11 @@ rknand_get_clk_rate: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r0, .L1743 + ldr r0, .L1705 bx lr -.L1744: +.L1706: .align 2 -.L1743: +.L1705: .word 148000000 .size rknand_get_clk_rate, .-rknand_get_clk_rate .section .text.ftl_malloc,"ax",%progbits @@ -11136,40 +10863,40 @@ nandc_init: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, lr} movs r3, #0 - ldr r6, .L1765 + ldr r6, .L1727 sub sp, sp, #20 mov r4, r0 str r3, [sp, #12] ldr r3, [r6] lsls r0, r3, #19 - bpl .L1747 + bpl .L1709 mov r2, r4 - ldr r1, .L1765+4 - ldr r0, .L1765+8 + ldr r1, .L1727+4 + ldr r0, .L1727+8 bl printf -.L1747: +.L1709: ldr r1, [r4, #352] movs r3, #6 - ldr r2, .L1765+12 - ldr r5, .L1765+16 - ldr r7, .L1765+20 + ldr r2, .L1727+12 + ldr r5, .L1727+16 + ldr r7, .L1727+20 cmp r1, r2 ldr r2, [r4, #128] strb r3, [r5] itt eq moveq r3, #8 strbeq r3, [r5] - ldr r3, .L1765+24 + ldr r3, .L1727+24 str r4, [r7] cmp r2, r3 - ldr r2, .L1765+28 + ldr r2, .L1727+28 itt eq moveq r3, #9 strbeq r3, [r5] ldrb r3, [r5] @ zero_extendqisi2 cmp r3, #9 - ldr r3, .L1765+32 - bne .L1750 + ldr r3, .L1727+32 + bne .L1712 movs r1, #1 strb r1, [r3] movs r1, #2 @@ -11194,36 +10921,36 @@ nandc_init: str r3, [r4, #84] ldr r3, [r6] lsls r1, r3, #19 - bpl .L1752 + bpl .L1714 ldr r1, [r4] ldr r2, [r4, #8] ldr r3, [r4, #80] ldr r0, [r4, #84] ldr r4, [r4, #88] stm sp, {r0, r4} -.L1764: - ldr r0, .L1765+36 +.L1726: + ldr r0, .L1727+36 bl printf -.L1752: - ldr r3, .L1765+40 +.L1714: + ldr r3, .L1727+40 movs r2, #1 strb r2, [r3] movs r3, #0 - ldr r2, .L1765+44 + ldr r2, .L1727+44 strh r3, [r2] @ movhi - ldr r2, .L1765+48 + ldr r2, .L1727+48 strb r3, [r2] ldr r3, [r6] lsls r3, r3, #19 - bpl .L1746 + bpl .L1708 ldrb r1, [r5] @ zero_extendqisi2 - ldr r0, .L1765+52 + ldr r0, .L1727+52 bl printf -.L1746: +.L1708: add sp, sp, #20 @ sp needed pop {r4, r5, r6, r7, pc} -.L1750: +.L1712: movs r1, #0 movs r0, #1 strb r1, [r3] @@ -11247,11 +10974,11 @@ nandc_init: movs r3, #39 str r3, [r4, #308] bl ftl_malloc - ldr r3, .L1765+56 + ldr r3, .L1727+56 str r0, [r3] ldr r3, [r6] lsls r2, r3, #19 - bpl .L1752 + bpl .L1714 ldr r0, [r7] ldr r1, [r0] ldr r2, [r0, #344] @@ -11260,25 +10987,25 @@ nandc_init: ldr r0, [r0, #312] str r4, [sp] str r0, [sp, #4] - b .L1764 -.L1766: + b .L1726 +.L1728: .align 2 -.L1765: - .word .LANCHOR14 - .word .LANCHOR158 - .word .LC98 +.L1727: + .word .LANCHOR19 + .word .LANCHOR155 + .word .LC95 .word 1446522928 - .word .LANCHOR28 - .word .LANCHOR13 + .word .LANCHOR27 + .word .LANCHOR7 .word 1446588464 .word 1052675 - .word .LANCHOR51 - .word .LC99 - .word .LANCHOR52 - .word .LANCHOR54 .word .LANCHOR50 - .word .LC100 + .word .LC96 + .word .LANCHOR51 .word .LANCHOR53 + .word .LANCHOR49 + .word .LC97 + .word .LANCHOR52 .size nandc_init, .-nandc_init .section .text.zbuf_init,"ax",%progbits .align 1 @@ -11293,11 +11020,11 @@ zbuf_init: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, lr} movs r5, #0 - ldr r4, .L1770 + ldr r4, .L1732 mov r6, r5 - ldr r8, .L1770+12 + ldr r8, .L1732+12 mov r7, r4 -.L1768: +.L1730: ldrb r0, [r8] @ zero_extendqisi2 uxtb r3, r5 strb r6, [r4, #2] @@ -11314,20 +11041,20 @@ zbuf_init: bl ftl_malloc cmp r5, #32 str r0, [r4, #-36] - bne .L1768 + bne .L1730 movs r3, #255 strb r3, [r7, #1488] - ldr r3, .L1770+4 + ldr r3, .L1732+4 strb r6, [r3] - ldr r3, .L1770+8 + ldr r3, .L1732+8 strb r5, [r3] pop {r4, r5, r6, r7, r8, pc} -.L1771: +.L1733: .align 2 -.L1770: +.L1732: + .word .LANCHOR55 .word .LANCHOR56 .word .LANCHOR57 - .word .LANCHOR58 .word .LANCHOR131 .size zbuf_init, .-zbuf_init .section .text.gc_init,"ax",%progbits @@ -11341,117 +11068,117 @@ zbuf_init: gc_init: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1773 - movw r2, #2132 + ldr r3, .L1735 + movw r2, #2204 push {r4, r5, r6, lr} movs r4, #0 - ldr r5, .L1773+4 + ldr r5, .L1735+4 mov r1, r4 strb r4, [r3] - ldr r3, .L1773+8 + ldr r3, .L1735+8 mov r0, r5 strb r4, [r3] - ldr r3, .L1773+12 + ldr r3, .L1735+12 str r4, [r3] - ldr r3, .L1773+16 + ldr r3, .L1735+16 strh r4, [r3] @ movhi bl ftl_memset movw r3, #65535 str r4, [r5, #8] strh r3, [r5] @ movhi - ldr r3, .L1773+20 + ldr r3, .L1735+20 ldrh r3, [r3] lsrs r2, r3, #1 lsrs r1, r3, #2 strh r2, [r5, #34] @ movhi - ldr r2, .L1773+24 + ldr r2, .L1735+24 strh r1, [r5, #32] @ movhi - ldr r5, .L1773+28 + ldr r5, .L1735+28 strh r4, [r2] @ movhi - ldr r2, .L1773+32 + ldr r2, .L1735+32 strh r4, [r2] @ movhi - ldr r2, .L1773+36 + ldr r2, .L1735+36 strh r4, [r2] @ movhi - ldr r4, .L1773+40 + ldr r4, .L1735+40 ldrb r0, [r4] @ zero_extendqisi2 smulbb r2, r0, r3 uxth r2, r2 sub r6, r2, #32 strh r6, [r5] @ movhi - ldr r5, .L1773+44 + ldr r5, .L1735+44 strh r2, [r5] @ movhi - ldr r2, .L1773+48 - ldr r5, .L1773+52 + ldr r2, .L1735+48 + ldr r5, .L1735+52 strh r3, [r2] @ movhi movs r2, #4 - ldr r3, .L1773+56 + ldr r3, .L1735+56 strh r2, [r3] @ movhi - ldr r3, .L1773+60 + ldr r3, .L1735+60 strh r1, [r3] @ movhi ldrh r3, [r5] muls r0, r3, r0 lsls r0, r0, #2 bl ftl_malloc - ldr r3, .L1773+64 + ldr r3, .L1735+64 str r0, [r3] ldrh r3, [r5] ldrb r0, [r4] @ zero_extendqisi2 muls r0, r3, r0 lsls r0, r0, #2 bl ftl_malloc - ldr r3, .L1773+68 + ldr r3, .L1735+68 str r0, [r3] ldrh r3, [r5] ldrb r0, [r4] @ zero_extendqisi2 muls r0, r3, r0 bl ftl_malloc - ldr r3, .L1773+72 + ldr r3, .L1735+72 str r0, [r3] ldrh r3, [r5] ldrb r0, [r4] @ zero_extendqisi2 muls r0, r3, r0 lsls r0, r0, #2 bl ftl_malloc - ldr r3, .L1773+76 + ldr r3, .L1735+76 str r0, [r3] ldrh r3, [r5] ldrb r0, [r4] @ zero_extendqisi2 muls r0, r3, r0 lsls r0, r0, #2 bl ftl_malloc - ldr r3, .L1773+80 - ldr r2, .L1773+84 + ldr r3, .L1735+80 + ldr r2, .L1735+84 str r0, [r3] - ldr r3, .L1773+88 + ldr r3, .L1735+88 ldrh r3, [r3] lsrs r3, r3, #2 strh r3, [r2] @ movhi pop {r4, r5, r6, pc} -.L1774: +.L1736: .align 2 -.L1773: +.L1735: + .word .LANCHOR84 + .word .LANCHOR70 + .word .LANCHOR156 + .word .LANCHOR157 + .word .LANCHOR96 + .word .LANCHOR94 + .word .LANCHOR87 + .word .LANCHOR102 + .word .LANCHOR88 + .word .LANCHOR89 + .word .LANCHOR79 + .word .LANCHOR100 + .word .LANCHOR93 .word .LANCHOR85 - .word .LANCHOR71 + .word .LANCHOR158 + .word .LANCHOR69 .word .LANCHOR159 .word .LANCHOR160 - .word .LANCHOR96 - .word .LANCHOR95 - .word .LANCHOR90 - .word .LANCHOR102 - .word .LANCHOR91 - .word .LANCHOR92 - .word .LANCHOR80 - .word .LANCHOR100 - .word .LANCHOR94 - .word .LANCHOR86 + .word .LANCHOR82 + .word .LANCHOR76 .word .LANCHOR161 - .word .LANCHOR70 - .word .LANCHOR162 - .word .LANCHOR163 - .word .LANCHOR83 - .word .LANCHOR77 - .word .LANCHOR164 - .word .LANCHOR87 + .word .LANCHOR86 .word .LANCHOR98 .size gc_init, .-gc_init .section .text.ftl_free,"ax",%progbits @@ -11479,24 +11206,24 @@ ftl_free: js_hash: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1779 + ldr r3, .L1741 add r1, r1, r0 push {r4, lr} -.L1777: +.L1739: cmp r0, r1 - bne .L1778 + bne .L1740 mov r0, r3 pop {r4, pc} -.L1778: +.L1740: lsrs r2, r3, #2 ldrb r4, [r0], #1 @ zero_extendqisi2 add r2, r2, r3, lsl #5 add r2, r2, r4 eors r3, r3, r2 - b .L1777 -.L1780: + b .L1739 +.L1742: .align 2 -.L1779: +.L1741: .word 1204201446 .size js_hash, .-js_hash .section .text.ftl_debug_info_fill,"ax",%progbits @@ -11510,32 +11237,32 @@ js_hash: ftl_debug_info_fill: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1787 + ldr r3, .L1749 push {r4, lr} mov r4, r1 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #8 - bls .L1782 + bls .L1744 cmp r0, #2 - bne .L1783 - cbz r2, .L1783 - ldr r3, .L1787+4 + bne .L1745 + cbz r2, .L1745 + ldr r3, .L1749+4 mov r0, r2 str r3, [r1] mov r1, #1024 bl js_hash str r0, [r4, #4] -.L1782: +.L1744: movs r0, #0 pop {r4, pc} -.L1783: +.L1745: movs r3, #0 str r3, [r4] str r3, [r4, #4] - b .L1782 -.L1788: + b .L1744 +.L1750: .align 2 -.L1787: +.L1749: .word .LANCHOR131 .word 1212240712 .size ftl_debug_info_fill, .-ftl_debug_info_fill @@ -11608,13 +11335,13 @@ ftl_get_capacity: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1794 + ldr r3, .L1756 ldr r0, [r3] bx lr -.L1795: +.L1757: .align 2 -.L1794: - .word .LANCHOR68 +.L1756: + .word .LANCHOR67 .size ftl_get_capacity, .-ftl_get_capacity .section .text.rknand_print_hex,"ax",%progbits .align 1 @@ -11629,60 +11356,60 @@ rknand_print_hex: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} movs r6, #0 - ldr r10, .L1805+12 + ldr r10, .L1767+12 mov r7, r1 mov r8, r2 mov fp, r3 mov r5, r6 mov r4, r6 str r0, [sp, #4] -.L1797: +.L1759: cmp r4, fp - bne .L1803 - ldr r1, .L1805 - ldr r0, .L1805+4 + bne .L1765 + ldr r1, .L1767 + ldr r0, .L1767+4 add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, lr} b printf -.L1803: - cbnz r5, .L1798 +.L1765: + cbnz r5, .L1760 mov r3, r6 mov r2, r7 ldr r1, [sp, #4] - ldr r0, .L1805+8 + ldr r0, .L1767+8 bl printf -.L1798: +.L1760: cmp r8, #4 - bne .L1799 + bne .L1761 ldr r1, [r7, r4, lsl #2] -.L1804: +.L1766: mov r0, r10 adds r5, r5, #1 bl printf cmp r5, #15 - bls .L1802 + bls .L1764 movs r5, #0 - ldr r1, .L1805 - ldr r0, .L1805+4 + ldr r1, .L1767 + ldr r0, .L1767+4 bl printf -.L1802: +.L1764: adds r4, r4, #1 add r6, r6, r8 - b .L1797 -.L1799: + b .L1759 +.L1761: cmp r8, #2 ite eq ldrsheq r1, [r7, r4, lsl #1] ldrbne r1, [r7, r4] @ zero_extendqisi2 - b .L1804 -.L1806: + b .L1766 +.L1768: .align 2 -.L1805: - .word .LC103 - .word .LC104 +.L1767: + .word .LC100 .word .LC101 - .word .LC102 + .word .LC98 + .word .LC99 .size rknand_print_hex, .-rknand_print_hex .section .text.hynix_get_read_retry_default,"ax",%progbits .align 1 @@ -11695,7 +11422,7 @@ rknand_print_hex: hynix_get_read_retry_default: @ args = 0, pretend = 0, frame = 56 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1918 + ldr r3, .L1880 cmp r0, #2 push {r4, r5, r6, r7, r8, r10, fp, lr} sub sp, sp, #56 @@ -11712,50 +11439,50 @@ hynix_get_read_retry_default: strb r1, [fp, #129] strb r2, [fp, #130] strb r3, [fp, #131] - bne .L1808 + bne .L1770 movs r3, #167 mov r8, #7 strb r3, [fp, #128] movs r2, #247 - ldr r3, .L1918+4 + ldr r3, .L1880+4 strb r2, [r3, #17] -.L1912: +.L1874: mov r10, #4 - b .L1809 -.L1808: + b .L1771 +.L1770: cmp r0, #3 - bne .L1810 + bne .L1772 add r2, fp, #127 movs r3, #176 -.L1811: +.L1773: strb r3, [r2, #1]! adds r3, r3, #1 uxtb r3, r3 cmp r3, #184 - bne .L1811 -.L1913: + bne .L1773 +.L1875: mov r8, #8 mov r10, r8 -.L1809: +.L1771: subs r3, r4, #1 cmp r3, #1 - bhi .L1817 - movs r5, #0 -.L1818: - ldr r3, .L1918+8 - ldrb r2, [r3] @ zero_extendqisi2 - uxtb r3, r5 - cmp r2, r3 - bhi .L1823 -.L1824: + bhi .L1779 + movs r6, #0 +.L1780: + ldr r3, .L1880+8 + uxtb r2, r6 + ldrb r1, [r3] @ zero_extendqisi2 + cmp r1, r2 + bhi .L1785 +.L1786: strb r10, [fp, #113] strb r8, [fp, #114] add sp, sp, #56 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L1810: +.L1772: cmp r0, #4 - bne .L1812 + bne .L1774 movs r0, #204 strb r1, [fp, #133] strb r0, [fp, #128] @@ -11769,10 +11496,10 @@ hynix_get_read_retry_default: strb r0, [fp, #132] strb r2, [fp, #134] strb r3, [fp, #135] - b .L1913 -.L1812: + b .L1875 +.L1774: cmp r0, #5 - bne .L1813 + bne .L1775 movs r3, #56 mov r8, #8 strb r3, [fp, #128] @@ -11782,10 +11509,10 @@ hynix_get_read_retry_default: strb r3, [fp, #130] movs r3, #59 strb r3, [fp, #131] - b .L1912 -.L1813: + b .L1874 +.L1775: cmp r0, #6 - bne .L1814 + bne .L1776 movs r3, #14 mov r8, #12 strb r3, [fp, #128] @@ -11795,29 +11522,29 @@ hynix_get_read_retry_default: strb r3, [fp, #130] movs r3, #17 strb r3, [fp, #131] - b .L1912 -.L1814: + b .L1874 +.L1776: cmp r0, #7 - bne .L1815 + bne .L1777 add r2, fp, #127 movs r3, #176 -.L1816: +.L1778: strb r3, [r2, #1]! adds r3, r3, #1 uxtb r3, r3 cmp r3, #184 - bne .L1816 + bne .L1778 movs r3, #212 mov r8, #12 strb r3, [fp, #136] movs r3, #213 strb r3, [fp, #137] mov r10, #10 - b .L1809 -.L1815: + b .L1771 +.L1777: cmp r0, #8 mov r3, #7 - bne .L1871 + bne .L1833 strb r3, [fp, #129] movs r3, #9 movs r2, #6 @@ -11828,72 +11555,76 @@ hynix_get_read_retry_default: mov r8, #50 strb r3, [fp, #132] mov r10, #5 - b .L1809 -.L1871: + b .L1771 +.L1833: mov r8, r3 - b .L1912 -.L1823: - ldr r2, .L1918+12 - movs r1, #160 + b .L1874 +.L1785: + ldr r3, .L1880+12 + movs r4, #160 + ldr r1, .L1880+16 + add r7, fp, #127 ldr r0, [sp] - add r7, r10, #-1 - add r6, fp, #127 - ldrb r3, [r2, r3] @ zero_extendqisi2 - ldr r2, .L1918+16 - uxtab r7, r0, r7 - ldr r4, [r2] - mla r1, r1, r3, fp - add r4, r4, r3, lsl #8 - adds r1, r1, #144 - subs r2, r1, #1 - addw r3, r4, #2056 -.L1819: + ldrb r2, [r3, r2] @ zero_extendqisi2 + ldr r5, [r1] + add r1, r10, #-1 + uxtab r1, r0, r1 + mla r4, r4, r2, fp + str r1, [sp, #4] + add r5, r5, r2, lsl #8 + movs r1, #55 + adds r4, r4, #144 + addw r2, r5, #2056 + subs r3, r4, #1 +.L1781: + str r1, [r2] + ldrb r0, [r7, #1]! @ zero_extendqisi2 + str r3, [sp, #16] + str r1, [sp, #12] + str r0, [r5, #2052] + movs r0, #1 str r2, [sp, #8] - movs r2, #55 - str r2, [r3] - ldrb r0, [r6, #1]! @ zero_extendqisi2 - str r3, [sp, #4] - str r0, [r4, #2052] - movs r0, #80 - bl timer_delay_ns - ldr r0, [r4, #2048] - cmp r7, r6 + bl udelay + ldr r2, [sp, #4] + ldr r0, [r5, #2048] + ldr r3, [sp, #16] + cmp r2, r7 + ldr r1, [sp, #12] ldr r2, [sp, #8] - ldr r3, [sp, #4] - strb r0, [r2, #1]! - bne .L1819 - ldr r7, .L1918+4 - mov r0, r1 - movs r2, #0 -.L1820: - movs r3, #1 - adds r6, r7, r2 -.L1821: - ldrb r4, [r6, r3, lsl #2] @ zero_extendqisi2 - ldrb ip, [r0] @ zero_extendqisi2 - add r4, r4, ip - strb r4, [r0, r3, lsl #3] - adds r3, r3, #1 - cmp r3, #7 - bne .L1821 + strb r0, [r3, #1]! + bne .L1781 + ldr r3, .L1880+4 + mov r0, r4 + movs r1, #0 +.L1782: + movs r2, #1 + adds r7, r3, r1 +.L1783: + ldrb r5, [r7, r2, lsl #2] @ zero_extendqisi2 + ldrb lr, [r0] @ zero_extendqisi2 + add r5, r5, lr + strb r5, [r0, r2, lsl #3] adds r2, r2, #1 + cmp r2, #7 + bne .L1783 + adds r1, r1, #1 adds r0, r0, #1 - cmp r2, #4 - bne .L1820 - movs r3, #0 - adds r5, r5, #1 - strb r3, [r1, #16] - strb r3, [r1, #24] - strb r3, [r1, #32] - strb r3, [r1, #40] - strb r3, [r1, #48] - strb r3, [r1, #41] - strb r3, [r1, #49] - b .L1818 -.L1817: + cmp r1, #4 + bne .L1782 + movs r2, #0 + adds r6, r6, #1 + strb r2, [r4, #16] + strb r2, [r4, #24] + strb r2, [r4, #32] + strb r2, [r4, #40] + strb r2, [r4, #48] + strb r2, [r4, #41] + strb r2, [r4, #49] + b .L1780 +.L1779: subs r3, r4, #3 cmp r3, #5 - bhi .L1824 + bhi .L1786 smulbb r3, r8, r10 asrs r2, r3, #1 lsls r3, r3, #4 @@ -11904,14 +11635,14 @@ hynix_get_read_retry_default: lsls r3, r2, #1 str r3, [sp, #24] movs r3, #0 -.L1917: +.L1879: str r3, [sp, #20] - ldr r3, .L1918+8 + ldr r3, .L1880+8 ldrb r2, [r3] @ zero_extendqisi2 ldrb r3, [sp, #20] @ zero_extendqisi2 cmp r2, r3 - bls .L1824 - ldr r2, .L1918+12 + bls .L1786 + ldr r2, .L1880+12 movs r6, #255 ldrb r3, [r2, r3] @ zero_extendqisi2 mov r0, r3 @@ -11923,14 +11654,14 @@ hynix_get_read_retry_default: mla r1, r1, r3, fp add r3, r1, #144 str r3, [sp, #40] - ldr r3, .L1918+16 + ldr r3, .L1880+16 ldr r3, [r3] str r3, [sp, #4] add r5, r3, r2, lsl #8 str r6, [r5, #2056] bl nandc_wait_flash_ready cmp r4, #8 - bne .L1826 + bne .L1788 add r3, fp, #144 movs r2, #23 str r3, [sp, #40] @@ -11954,7 +11685,7 @@ hynix_get_read_retry_default: str r1, [r5, #2052] str r2, [r5, #2052] str r3, [r5, #2052] -.L1827: +.L1789: ldm sp, {r2, r3} add r3, r3, r2, lsl #8 movs r2, #48 @@ -11963,15 +11694,15 @@ hynix_get_read_retry_default: subs r3, r4, #5 cmp r3, #1 str r3, [sp, #28] - bls .L1873 + bls .L1835 cmp r4, #8 - beq .L1873 + beq .L1835 cmp r4, #7 ite ne movne r2, #2 moveq r2, #32 -.L1833: - ldr r3, .L1918+20 +.L1795: + ldr r3, .L1880+20 subs r2, r2, #1 ldr r5, [sp, #4] ldr r6, [sp] @@ -11980,65 +11711,65 @@ hynix_get_read_retry_default: subs r1, r3, #1 uxtab r2, r3, r2 mov r0, r1 -.L1834: +.L1796: ldr r5, [r7, #2048] strb r5, [r0, #1]! cmp r2, r0 - bne .L1834 + bne .L1796 cmp r4, #8 - bne .L1835 + bne .L1797 movs r2, #0 -.L1837: +.L1799: ldrb r0, [r3, r2, lsl #2] @ zero_extendqisi2 uxtb r1, r2 cmp r0, #50 - beq .L1836 + beq .L1798 add r0, r3, r2, lsl #2 ldrb r0, [r0, #1] @ zero_extendqisi2 cmp r0, #5 - beq .L1836 + beq .L1798 adds r2, r2, #1 cmp r2, #8 - bne .L1837 -.L1838: + bne .L1799 +.L1800: movs r1, #0 - ldr r0, .L1918+24 + ldr r0, .L1880+24 bl printf -.L1840: - b .L1840 -.L1826: +.L1802: + b .L1802 +.L1788: cmp r4, #4 mov r3, #54 str r3, [r5, #2056] - bne .L1828 + bne .L1790 movs r3, #64 str r6, [r5, #2052] str r3, [r5, #2048] movs r3, #204 -.L1914: +.L1876: str r3, [r5, #2052] movs r3, #77 - b .L1915 -.L1919: + b .L1877 +.L1881: .align 2 -.L1918: - .word .LANCHOR27 - .word .LANCHOR165 - .word .LANCHOR18 - .word .LANCHOR30 - .word .LANCHOR13 - .word .LANCHOR166 - .word .LC105 -.L1828: +.L1880: + .word .LANCHOR6 + .word .LANCHOR162 + .word .LANCHOR23 + .word .LANCHOR29 + .word .LANCHOR7 + .word .LANCHOR163 + .word .LC102 +.L1790: subs r3, r4, #5 cmp r3, #1 - bhi .L1830 + bhi .L1792 ldrb r3, [fp, #128] @ zero_extendqisi2 str r3, [r5, #2052] movs r3, #82 -.L1915: +.L1877: str r3, [r5, #2048] -.L1829: +.L1791: ldm sp, {r2, r3} cmp r4, #6 add r3, r3, r2, lsl #8 @@ -12061,57 +11792,57 @@ hynix_get_read_retry_default: str r2, [r3, #2052] movs r2, #0 str r2, [r3, #2052] - b .L1827 -.L1830: + b .L1789 +.L1792: cmp r4, #7 - bne .L1829 + bne .L1791 movs r3, #174 str r3, [r5, #2052] movs r3, #0 str r3, [r5, #2048] movs r3, #176 - b .L1914 -.L1873: + b .L1876 +.L1835: movs r2, #16 - b .L1833 -.L1836: + b .L1795 +.L1798: cmp r1, #6 - bhi .L1838 -.L1839: - ldr r3, .L1920 + bhi .L1800 +.L1801: + ldr r3, .L1882 ldr ip, [r3] mov r3, ip -.L1849: +.L1811: ldr r1, [sp, #48] sub r2, r3, ip cmp r1, r2 - bgt .L1850 - ldr r3, .L1920 + bgt .L1812 + ldr r3, .L1882 ldr r1, [r3] ldr r3, [sp, #24] adds r2, r1, r3 movs r3, #8 -.L1852: +.L1814: mov r5, r2 movs r0, #0 -.L1851: +.L1813: ldrh r6, [r5] adds r0, r0, #1 mvns r6, r6 strh r6, [r5], #2 @ movhi ldr r6, [sp, #8] cmp r6, r0 - bgt .L1851 + bgt .L1813 ldr r0, [sp, #44] subs r3, r3, #1 add r2, r2, r0 - bne .L1852 + bne .L1814 mov r6, r1 str r3, [sp, #16] -.L1853: +.L1815: movs r0, #0 mov r2, r0 -.L1857: +.L1819: movs r3, #1 mov lr, r6 lsl r5, r3, r2 @@ -12120,7 +11851,7 @@ hynix_get_read_retry_default: str r5, [sp, #32] movs r5, #16 str r5, [sp, #36] -.L1855: +.L1817: ldrh r3, [lr] str r3, [sp, #52] ldr r3, [sp, #32] @@ -12136,7 +11867,7 @@ hynix_get_read_retry_default: ldr r3, [sp, #36] subs r3, r3, #1 str r3, [sp, #36] - bne .L1855 + bne .L1817 ldr r3, [sp, #12] adds r2, r2, #1 cmp r3, #8 @@ -12145,7 +11876,7 @@ hynix_get_read_retry_default: orrhi r0, r0, r3 uxthhi r0, r0 cmp r2, #16 - bne .L1857 + bne .L1819 ldr r3, [sp, #16] strh r0, [r6], #2 @ movhi adds r3, r3, #1 @@ -12153,106 +11884,106 @@ hynix_get_read_retry_default: ldr r2, [sp, #16] ldr r3, [sp, #8] cmp r3, r2 - bgt .L1853 + bgt .L1815 subs r2, r1, #4 add r0, r1, #28 movs r3, #0 -.L1860: +.L1822: ldr r5, [r2, #4]! - cbnz r5, .L1859 + cbnz r5, .L1821 adds r3, r3, #1 -.L1859: +.L1821: cmp r0, r2 - bne .L1860 + bne .L1822 cmp r3, #7 - ble .L1861 - ldr r0, .L1920+4 + ble .L1823 + ldr r0, .L1882+4 mov r3, #1024 movs r2, #1 bl rknand_print_hex movs r1, #0 - ldr r0, .L1920+8 + ldr r0, .L1882+8 bl printf -.L1862: - b .L1862 -.L1835: +.L1824: + b .L1824 +.L1797: cmp r4, #7 - bne .L1841 + bne .L1803 movs r2, #0 -.L1843: +.L1805: ldrb r0, [r3, r2, lsl #2] @ zero_extendqisi2 uxtb r1, r2 cmp r0, #12 - beq .L1842 + beq .L1804 add r0, r3, r2, lsl #2 ldrb r0, [r0, #1] @ zero_extendqisi2 cmp r0, #10 - beq .L1842 + beq .L1804 adds r2, r2, #1 cmp r2, #8 - bne .L1843 -.L1844: + bne .L1805 +.L1806: movs r1, #0 - ldr r0, .L1920+8 + ldr r0, .L1882+8 bl printf -.L1845: - b .L1845 -.L1842: +.L1807: + b .L1807 +.L1804: cmp r1, #6 - bls .L1839 - b .L1844 -.L1841: + bls .L1801 + b .L1806 +.L1803: cmp r4, #6 - bne .L1839 + bne .L1801 adds r3, r3, #7 -.L1846: +.L1808: ldrb r2, [r1, #1]! @ zero_extendqisi2 cmp r2, #12 - beq .L1839 + beq .L1801 ldrb r2, [r1, #8] @ zero_extendqisi2 cmp r2, #4 - beq .L1839 + beq .L1801 cmp r3, r1 - bne .L1846 + bne .L1808 movs r1, #0 - ldr r0, .L1920+8 + ldr r0, .L1882+8 bl printf -.L1848: - b .L1848 -.L1850: +.L1810: + b .L1810 +.L1812: ldr r2, [r7, #2048] strb r2, [r3], #1 - b .L1849 -.L1861: + b .L1811 +.L1823: cmp r4, #6 - beq .L1875 + beq .L1837 cmp r4, #7 - beq .L1876 + beq .L1838 cmp r4, #8 ite ne movne r0, #8 moveq r0, #5 -.L1863: +.L1825: add r3, r10, #-1 ldr r1, [sp, #40] uxtb r3, r3 movs r5, #0 adds r3, r3, #1 -.L1864: +.L1826: mov lr, r1 mov r2, ip -.L1865: +.L1827: ldrb r6, [r2], #1 @ zero_extendqisi2 strb r6, [lr], #1 sub r6, r2, ip uxtb r6, r6 cmp r10, r6 - bhi .L1865 + bhi .L1827 adds r5, r5, #1 add ip, ip, r3 cmp r8, r5 add r1, r1, r0 - bgt .L1864 + bgt .L1826 ldm sp, {r2, r3} movs r6, #255 add r5, r3, r2, lsl #8 @@ -12260,7 +11991,7 @@ hynix_get_read_retry_default: bl nandc_wait_flash_ready ldr r3, [sp, #28] cmp r3, #1 - bhi .L1867 + bhi .L1829 movs r3, #54 movs r2, #22 str r3, [r5, #2056] @@ -12276,30 +12007,30 @@ hynix_get_read_retry_default: str r6, [r7, #2052] str r6, [r7, #2052] str r6, [r7, #2052] -.L1916: +.L1878: str r3, [r5, #2056] bl nandc_wait_flash_ready ldr r3, [sp, #20] adds r3, r3, #1 - b .L1917 -.L1875: + b .L1879 +.L1837: movs r0, #4 - b .L1863 -.L1876: + b .L1825 +.L1838: movs r0, #10 - b .L1863 -.L1867: + b .L1825 +.L1829: cmp r4, #8 ite eq moveq r3, #190 movne r3, #56 - b .L1916 -.L1921: + b .L1878 +.L1883: .align 2 -.L1920: - .word .LANCHOR166 - .word .LC106 - .word .LC105 +.L1882: + .word .LANCHOR163 + .word .LC103 + .word .LC102 .size hynix_get_read_retry_default, .-hynix_get_read_retry_default .section .text.flash_get_read_retry_tbl,"ax",%progbits .align 1 @@ -12313,18 +12044,18 @@ flash_get_read_retry_tbl: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1924 + ldr r3, .L1886 ldrb r0, [r3, #19] @ zero_extendqisi2 subs r3, r0, #1 cmp r3, #7 - bhi .L1922 + bhi .L1884 b hynix_get_read_retry_default -.L1922: +.L1884: bx lr -.L1925: +.L1887: .align 2 -.L1924: - .word .LANCHOR33 +.L1886: + .word .LANCHOR32 .size flash_get_read_retry_tbl, .-flash_get_read_retry_tbl .section .text.nandc_xfer_done,"ax",%progbits .align 1 @@ -12337,35 +12068,35 @@ flash_get_read_retry_tbl: nandc_xfer_done: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1961 + ldr r3, .L1923 push {r0, r1, r4, r5, r6, r7, r8, lr} movs r1, #0 - ldr r4, .L1961+4 + ldr r4, .L1923+4 ldrb r3, [r3] @ zero_extendqisi2 - ldr r5, .L1961+8 + ldr r5, .L1923+8 strb r1, [r4] cmp r3, #9 ldr r6, [r5] - bne .L1927 + bne .L1889 ldr r3, [r6, #16] str r3, [sp] ldr r3, [r6, #48] ubfx r3, r3, #1, #1 cmp r3, #0 - bne .L1932 - ldr r7, .L1961+12 + bne .L1894 + ldr r7, .L1923+12 mov r4, r3 - ldr r8, .L1961+32 -.L1929: + ldr r8, .L1923+32 +.L1891: ldr r3, [sp] lsls r0, r3, #11 - bmi .L1931 + bmi .L1893 ldr r3, [r5] adds r4, r4, #1 ldr r3, [r3, #16] str r3, [sp] bics r3, r4, #-16777216 - bne .L1929 + bne .L1891 ldr r2, [sp] mov r1, r4 ldr r3, [r6, #64] @@ -12377,68 +12108,68 @@ nandc_xfer_done: ldr r1, [r5] mov r0, r8 bl rknand_print_hex - b .L1929 -.L1930: + b .L1891 +.L1892: ldr r3, [sp] adds r1, r1, #1 ubfx r3, r3, #22, #6 cmp r1, r3, lsl #12 - bne .L1932 + bne .L1894 ldr r2, [r6, #64] ldr r3, [sp] - ldr r0, .L1961+16 + ldr r0, .L1923+16 ubfx r2, r2, #16, #5 ubfx r3, r3, #22, #6 bl printf ldr r3, [sp, #4] movs r3, #1 strb r3, [r4] -.L1931: - ldr r3, .L1961+20 +.L1893: + ldr r3, .L1923+20 movs r2, #0 str r2, [r3, #20] add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, pc} -.L1932: +.L1894: ldr r2, [r6, #64] ldr r3, [sp] ubfx r2, r2, #16, #6 ubfx r3, r3, #22, #6 cmp r2, r3 - bge .L1931 + bge .L1893 ldr r3, [r6] str r3, [sp, #4] ldr r3, [sp, #4] lsls r7, r3, #18 - bpl .L1930 + bpl .L1892 ldr r3, [sp, #4] lsls r5, r3, #14 - bpl .L1930 + bpl .L1892 ldr r1, [sp, #4] - ldr r0, .L1961+24 + ldr r0, .L1923+24 ubfx r1, r1, #17, #1 -.L1960: +.L1922: bl printf - b .L1931 -.L1927: + b .L1893 +.L1889: ldr r3, [r6, #8] str r3, [sp] ldr r4, [r6, #16] ubfx r4, r4, #1, #1 - cbnz r4, .L1937 - ldr r7, .L1961+12 - ldr r8, .L1961+32 -.L1938: + cbnz r4, .L1899 + ldr r7, .L1923+12 + ldr r8, .L1923+32 +.L1900: ldr r3, [sp] lsls r3, r3, #11 - bmi .L1931 + bmi .L1893 ldr r3, [r5] adds r4, r4, #1 ldr r3, [r3, #8] str r3, [sp] bics r3, r4, #-16777216 - bne .L1938 + bne .L1900 ldr r2, [sp] mov r1, r4 ldr r3, [r6, #28] @@ -12450,34 +12181,34 @@ nandc_xfer_done: ldr r1, [r5] mov r0, r8 bl rknand_print_hex - b .L1938 -.L1937: - ldr r7, .L1961+16 + b .L1900 +.L1899: + ldr r7, .L1923+16 mov r4, r1 - ldr r8, .L1961+32 -.L1939: + ldr r8, .L1923+32 +.L1901: ldr r2, [r6, #28] ldr r3, [sp] ubfx r2, r2, #16, #5 ubfx r3, r3, #22, #6 cmp r2, r3 - bge .L1931 + bge .L1893 ldr r3, [r5] ldr r3, [r3] str r3, [sp, #4] ldr r3, [sp, #4] lsls r1, r3, #18 - bpl .L1940 + bpl .L1902 ldr r3, [sp, #4] lsls r2, r3, #14 - bpl .L1940 + bpl .L1902 ldr r1, [sp, #4] - ldr r0, .L1961+28 - b .L1960 -.L1940: + ldr r0, .L1923+28 + b .L1922 +.L1902: adds r4, r4, #1 bics r3, r4, #-16777216 - bne .L1939 + bne .L1901 ldr r2, [r6, #28] mov r1, r4 ldr r3, [sp] @@ -12490,19 +12221,19 @@ nandc_xfer_done: ldr r1, [r5] mov r0, r8 bl rknand_print_hex - b .L1939 -.L1962: + b .L1901 +.L1924: .align 2 -.L1961: - .word .LANCHOR28 - .word .LANCHOR167 - .word .LANCHOR13 - .word .LC109 +.L1923: + .word .LANCHOR27 + .word .LANCHOR164 + .word .LANCHOR7 + .word .LC106 + .word .LC105 + .word .LANCHOR52 + .word .LC104 .word .LC108 - .word .LANCHOR53 .word .LC107 - .word .LC111 - .word .LC110 .size nandc_xfer_done, .-nandc_xfer_done .section .text.nandc_xfer,"ax",%progbits .align 1 @@ -12528,54 +12259,54 @@ nandc_xfer: mov r0, r4 bl nandc_xfer_done cmp r4, #0 - bne .L1982 - ldr r3, .L2001 + bne .L1944 + ldr r3, .L1963 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #9 - bne .L1965 - ldr r3, .L2001+4 + bne .L1927 + ldr r3, .L1963+4 lsrs r7, r7, #2 movs r2, #1 mov r0, r4 ldr r1, [r3] mov r8, r3 -.L1966: +.L1928: cmp r4, r7 - bcc .L1970 + bcc .L1932 ldr r4, [r1] cmp r2, #0 it ne movne r0, #512 and r3, r4, #139264 cmp r3, #139264 - bne .L1972 + bne .L1934 mov r1, r4 - ldr r0, .L2001+8 + ldr r0, .L1963+8 bl printf ldr r3, [r8] mov r0, #-1 orr r4, r4, #131072 str r4, [r3] -.L1972: +.L1934: lsls r2, r4, #18 - bpl .L1973 - ldr r3, .L2001+12 + bpl .L1935 + ldr r3, .L1963+12 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - beq .L1973 + beq .L1935 mov r1, r4 - ldr r0, .L2001+16 + ldr r0, .L1963+16 bl printf ldr r3, [r8] movs r2, #1 str r2, [r3, #16] -.L2000: +.L1962: mov r0, #-1 -.L1964: +.L1926: add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, pc} -.L1970: +.L1932: add r3, r4, #84 ldr r3, [r1, r3, lsl #2] str r3, [sp, #4] @@ -12586,10 +12317,10 @@ nandc_xfer: ands r2, r2, r3 ldr r3, [sp, #4] lsls r3, r3, #29 - bmi .L1984 + bmi .L1946 ldr r3, [sp, #4] lsls r3, r3, #13 - bmi .L1984 + bmi .L1946 ldr r3, [sp, #4] ubfx ip, r3, #3, #7 ldr r3, [sp, #4] @@ -12602,16 +12333,16 @@ nandc_xfer: cmp r0, r3 it cc movcc r0, r3 -.L1967: +.L1929: adds r4, r4, #1 - b .L1966 -.L1984: + b .L1928 +.L1946: mov r0, #-1 - b .L1967 -.L1965: - ldr r3, .L2001+20 + b .L1929 +.L1927: + ldr r3, .L1963+20 lsrs r0, r7, #1 - ldr r8, .L2001+28 + ldr r8, .L1963+28 mov r1, r4 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #25 @@ -12619,33 +12350,33 @@ nandc_xfer: ite cc movcc lr, #64 movcs lr, #128 -.L1975: +.L1937: cmp r1, r0 add ip, lr, r4 add r3, r3, #4 - bcc .L1976 + bcc .L1938 lsrs r4, r7, #2 - ldr r7, .L2001+4 + ldr r7, .L1963+4 movs r2, #0 mov r0, r2 ldr r1, [r7] -.L1977: +.L1939: cmp r2, r4 - bcc .L1981 + bcc .L1943 movs r3, #0 str r3, [r1, #16] ldr r4, [r1] and r3, r4, #139264 cmp r3, #139264 - bne .L1973 + bne .L1935 mov r1, r4 - ldr r0, .L2001+24 + ldr r0, .L1963+24 bl printf ldr r3, [r7] orr r4, r4, #131072 str r4, [r3] - b .L2000 -.L1976: + b .L1962 +.L1938: ldr r2, [r8] bic r4, r4, #3 adds r1, r1, #1 @@ -12658,17 +12389,17 @@ nandc_xfer: strb r4, [r3, #-2] mov r4, ip strb r2, [r3, #-1] - b .L1975 -.L1981: + b .L1937 +.L1943: add r3, r2, #8 ldr r3, [r1, r3, lsl #2] str r3, [sp, #4] ldr r3, [sp, #4] lsls r3, r3, #29 - bmi .L1987 + bmi .L1949 ldr r3, [sp, #4] lsls r3, r3, #16 - bmi .L1987 + bmi .L1949 ldr r3, [sp, #4] ubfx ip, r3, #3, #5 ldr r3, [sp, #4] @@ -12693,40 +12424,40 @@ nandc_xfer: cmp r0, r3 it cc movcc r0, r3 -.L1978: +.L1940: adds r2, r2, #1 - b .L1977 -.L1987: + b .L1939 +.L1949: mov r0, #-1 - b .L1978 -.L1973: + b .L1940 +.L1935: adds r3, r0, #1 - beq .L1964 + beq .L1926 ldr r3, [r5] adds r3, r3, #1 - bne .L1964 + bne .L1926 ldr r3, [r5, #4] adds r3, r3, #1 - bne .L1964 + bne .L1926 ldr r3, [r6] adds r3, r3, #1 it eq moveq r0, #512 - b .L1964 -.L1982: + b .L1926 +.L1944: movs r0, #0 - b .L1964 -.L2002: + b .L1926 +.L1964: .align 2 -.L2001: - .word .LANCHOR28 - .word .LANCHOR13 - .word .LC112 - .word .LANCHOR167 - .word .LC113 - .word .LANCHOR50 - .word .LC114 - .word .LANCHOR53 +.L1963: + .word .LANCHOR27 + .word .LANCHOR7 + .word .LC109 + .word .LANCHOR164 + .word .LC110 + .word .LANCHOR49 + .word .LC111 + .word .LANCHOR52 .size nandc_xfer, .-nandc_xfer .section .text.flash_read_page,"ax",%progbits .align 1 @@ -12741,14 +12472,14 @@ flash_read_page: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r10, fp, lr} mov r7, r3 - ldr r3, .L2018 + ldr r3, .L1980 mov r5, r0 ubfx r10, r1, #24, #2 lsl fp, r5, #8 str r2, [sp, #12] ldr r8, [r3] - ldr r3, .L2018+4 - ldr r6, .L2018+8 + ldr r3, .L1980+4 + ldr r6, .L1980+8 ldrb r4, [r3] @ zero_extendqisi2 rsb r3, r4, #24 movs r4, #1 @@ -12759,21 +12490,21 @@ flash_read_page: mov r0, r5 bl nandc_cs cmp r10, #0 - bne .L2004 + bne .L1966 mov r0, r5 bl zftl_flash_enter_slc_mode -.L2005: +.L1967: ldr r3, [r6] ldrb r2, [r3, #7] @ zero_extendqisi2 cmp r2, #1 - bne .L2007 + bne .L1969 ldrb r2, [r3, #12] @ zero_extendqisi2 cmp r2, #2 ittt eq addeq r2, r8, fp moveq r1, #38 streq r1, [r2, #2056] -.L2007: +.L1969: add r6, r8, fp movs r1, #0 str r1, [r6, #2056] @@ -12785,31 +12516,31 @@ flash_read_page: str r1, [r6, #2052] lsrs r1, r4, #16 str r1, [r6, #2052] - ldr r1, .L2018+12 + ldr r1, .L1980+12 ldrb r1, [r1] @ zero_extendqisi2 - cbz r1, .L2008 + cbz r1, .L1970 lsrs r1, r4, #24 str r1, [r6, #2052] -.L2008: +.L1970: add r1, r8, fp movs r0, #48 str r0, [r1, #2056] ldrb r3, [r3, #12] @ zero_extendqisi2 cmp r3, #3 - bne .L2009 + bne .L1971 cmp r10, #0 - beq .L2009 - ldr r3, .L2018+16 + beq .L1971 + ldr r3, .L1980+16 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - bne .L2009 - ldr r3, .L2018+20 + bne .L1971 + ldr r3, .L1980+20 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L2009 + cbnz r3, .L1971 add r4, r4, r4, lsl #1 subs r0, r4, #1 add r0, r0, r10 -.L2017: +.L1979: bl nandc_set_seed bl nandc_wait_flash_ready add r3, r8, fp @@ -12825,40 +12556,40 @@ flash_read_page: ldrb r2, [sp, #48] @ zero_extendqisi2 str r7, [sp] bl nandc_xfer - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2004: +.L1966: ldr r2, [r6] ldrb r2, [r2, #12] @ zero_extendqisi2 cmp r2, #3 - bne .L2006 - ldr r2, .L2018+16 + bne .L1968 + ldr r2, .L1980+16 ldrb r2, [r2] @ zero_extendqisi2 - cbnz r2, .L2006 - ldr r2, .L2018+20 + cbnz r2, .L1968 + ldr r2, .L1980+20 ldrb r2, [r2] @ zero_extendqisi2 - cbnz r2, .L2006 + cbnz r2, .L1968 add r2, r8, fp str r10, [r2, #2056] - b .L2005 -.L2006: + b .L1967 +.L1968: mov r0, r5 bl zftl_flash_exit_slc_mode - b .L2005 -.L2009: + b .L1967 +.L1971: mov r0, r4 - b .L2017 -.L2019: + b .L1979 +.L1981: .align 2 -.L2018: - .word .LANCHOR13 - .word .LANCHOR32 - .word .LANCHOR16 +.L1980: + .word .LANCHOR7 .word .LANCHOR31 + .word .LANCHOR21 + .word .LANCHOR30 + .word .LANCHOR35 .word .LANCHOR36 - .word .LANCHOR37 .size flash_read_page, .-flash_read_page .section .text.micron_read_retrial,"ax",%progbits .align 1 @@ -12877,68 +12608,68 @@ micron_read_retrial: mov r6, r0 mov fp, r1 mov r10, #0 - ldr r3, .L2044 + ldr r3, .L2006 str r2, [sp, #16] ldrb r3, [r3] @ zero_extendqisi2 add r3, r3, r3, lsl #1 asrs r3, r3, #2 str r3, [sp, #8] bl nandc_wait_flash_ready + ldr r3, .L2006+4 + ldr r5, [r3] + add r5, r5, r6, lsl #8 +.L1983: mov r0, r6 + mov r8, #0 + mov r4, #-1 bl zftl_flash_enter_slc_mode mov r0, r6 bl zftl_flash_exit_slc_mode - ldr r3, .L2044+4 - ldr r5, [r3] - add r5, r5, r6, lsl #8 -.L2021: - mov r8, #0 - mov r4, #-1 -.L2022: - ldr r3, .L2044+8 +.L1984: + ldr r3, .L2006+8 ldrb r3, [r3] @ zero_extendqisi2 cmp r8, r3 - bcc .L2027 -.L2026: + bcc .L1989 +.L1988: movs r3, #239 - movs r0, #200 + movs r0, #1 str r3, [r5, #2056] movs r3, #137 str r3, [r5, #2052] movs r7, #0 - bl timer_delay_ns + bl udelay ldr r3, [sp, #8] str r7, [r5, #2048] str r7, [r5, #2048] cmp r4, r3 str r7, [r5, #2048] str r7, [r5, #2048] - bcc .L2028 + bcc .L1990 adds r1, r4, #1 mov r3, r8 it ne movne r4, #256 mov r2, fp str r4, [sp] - mov r1, r8 - ldr r0, .L2044+12 + mov r1, r6 + ldr r0, .L2006+12 bl printf cmp r10, #0 - bne .L2030 + bne .L1992 adds r2, r4, #1 - bne .L2031 + bne .L1993 movs r1, #3 mov r0, r6 bl mt_auto_read_calibration_config mov r10, #1 - b .L2021 -.L2027: + b .L1983 +.L1989: movs r3, #239 - movs r0, #200 + movs r0, #1 str r3, [r5, #2056] movs r3, #137 str r3, [r5, #2052] - bl timer_delay_ns + bl udelay add r3, r8, #1 ldr r2, [sp, #16] str r3, [r5, #2048] @@ -12953,70 +12684,70 @@ micron_read_retrial: str r3, [sp] ldr r3, [sp, #20] bl flash_read_page - ldr r3, .L2044+16 + ldr r3, .L2006+16 mov r7, r0 ldr r3, [r3] lsls r3, r3, #19 - bpl .L2023 + bpl .L1985 str r0, [sp] mov r3, r4 mov r2, fp mov r1, r8 - ldr r0, .L2044+20 + ldr r0, .L2006+20 bl printf -.L2023: +.L1985: adds r0, r7, #1 - beq .L2024 - ldr r3, .L2044+24 + beq .L1986 + ldr r3, .L2006+24 cmp r4, #-1 it eq moveq r4, r7 ldr r3, [r3] str r3, [sp, #16] - ldr r3, .L2044+28 + ldr r3, .L2006+28 ldr r3, [r3] str r3, [sp, #20] ldr r3, [sp, #8] cmp r7, r3 - bcc .L2033 -.L2024: + bcc .L1995 +.L1986: ldr r8, [sp, #12] - b .L2022 -.L2033: + b .L1984 +.L1995: mov r4, r7 - b .L2026 -.L2030: + b .L1988 +.L1992: mov r1, r7 mov r0, r6 bl mt_auto_read_calibration_config adds r3, r4, #1 it ne movne r4, #256 -.L2031: +.L1993: bl nandc_wait_flash_ready mov r0, r4 add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2028: +.L1990: cmp r10, #0 - beq .L2031 + beq .L1993 mov r1, r7 mov r0, r6 bl mt_auto_read_calibration_config mov r4, #256 - b .L2031 -.L2045: + b .L1993 +.L2007: .align 2 -.L2044: - .word .LANCHOR50 - .word .LANCHOR13 - .word .LANCHOR169 - .word .LC116 - .word .LANCHOR14 - .word .LC115 +.L2006: + .word .LANCHOR49 + .word .LANCHOR7 .word .LANCHOR166 - .word .LANCHOR168 + .word .LC113 + .word .LANCHOR19 + .word .LC112 + .word .LANCHOR163 + .word .LANCHOR165 .size micron_read_retrial, .-micron_read_retrial .section .text.toshiba_3d_read_retrial,"ax",%progbits .align 1 @@ -13038,9 +12769,9 @@ toshiba_3d_read_retrial: str r3, [sp, #12] add r6, r7, #8 bl nandc_wait_flash_ready - ldr r3, .L2089 + ldr r3, .L2051 ldr fp, [r3] - ldr r3, .L2089+4 + ldr r3, .L2051+4 ldrb r2, [r3] @ zero_extendqisi2 add r6, fp, r6, lsl #8 cmp r2, #36 @@ -13053,15 +12784,15 @@ toshiba_3d_read_retrial: moveq r2, #26 str r2, [sp, #16] cmp r4, #0 - bne .L2048 + bne .L2010 mov r4, #-1 movs r5, #1 str r3, [sp, #20] -.L2055: +.L2017: ldr r3, [sp, #20] ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #36 - bne .L2049 + bne .L2011 movs r2, #0 mov r1, r5 mov r0, r6 @@ -13069,7 +12800,7 @@ toshiba_3d_read_retrial: add r3, fp, r7, lsl #8 movs r2, #93 str r2, [r3, #2056] -.L2050: +.L2012: ldr r3, [sp, #56] mov r1, r8 ldr r2, [sp, #8] @@ -13077,111 +12808,111 @@ toshiba_3d_read_retrial: str r3, [sp] ldr r3, [sp, #12] bl flash_read_page - ldr r3, .L2089+8 + ldr r3, .L2051+8 mov r10, r0 ldr r3, [r3] lsls r1, r3, #27 - bpl .L2051 + bpl .L2013 mov r3, r0 mov r2, r8 mov r1, r5 - ldr r0, .L2089+12 + ldr r0, .L2051+12 bl printf -.L2051: +.L2013: cmp r10, #-1 - beq .L2052 - ldr r3, .L2089+16 + beq .L2014 + ldr r3, .L2051+16 cmp r4, #-1 it eq moveq r4, r10 ldr r3, [r3] str r3, [sp, #8] - ldr r3, .L2089+20 + ldr r3, .L2051+20 ldr r3, [r3] str r3, [sp, #12] - ldr r3, .L2089+24 + ldr r3, .L2051+24 ldrb r3, [r3] @ zero_extendqisi2 add r3, r3, r3, lsl #1 cmp r10, r3, asr #2 - bcc .L2070 -.L2052: + bcc .L2032 +.L2014: ldr r3, [sp, #16] adds r5, r5, #1 cmp r3, r5 - bne .L2055 -.L2054: - ldr r3, .L2089+4 + bne .L2017 +.L2016: + ldr r3, .L2051+4 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #36 - bne .L2056 + bne .L2018 movs r2, #0 -.L2088: +.L2050: movs r1, #0 mov r0, r6 bl toshiba_tlc_set_rr_para - b .L2057 -.L2049: + b .L2019 +.L2011: uxtb r1, r5 mov r0, r6 bl toshiba_3d_set_slc_rr_para - b .L2050 -.L2070: + b .L2012 +.L2032: mov r4, r10 - b .L2054 -.L2056: + b .L2016 +.L2018: movs r1, #0 mov r0, r6 bl toshiba_3d_set_slc_rr_para -.L2057: - ldr r3, .L2089+4 +.L2019: + ldr r3, .L2051+4 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #36 - bne .L2066 - add r7, fp, r7, lsl #8 - movs r3, #85 - str r3, [r7, #2056] - movs r3, #0 - str r3, [r7, #2052] - str r3, [r7, #2048] - movs r3, #255 - str r3, [r7, #2056] -.L2066: - ldr r3, .L2089+24 + bne .L2028 + add r3, fp, r7, lsl #8 + movs r2, #85 + str r2, [r3, #2056] + movs r2, #0 + str r2, [r3, #2052] + str r2, [r3, #2048] + movs r2, #255 + str r2, [r3, #2056] +.L2028: + ldr r3, .L2051+24 ldrb r3, [r3] @ zero_extendqisi2 add r3, r3, r3, lsl #1 cmp r4, r3, asr #2 - bcc .L2067 + bcc .L2029 adds r3, r4, #1 mov r2, r8 it ne movne r4, #256 mov r3, r5 str r4, [sp] - mov r1, r5 - ldr r0, .L2089+28 + mov r1, r7 + ldr r0, .L2051+28 bl printf -.L2067: +.L2029: bl nandc_wait_flash_ready mov r0, r4 add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2048: +.L2010: mov r4, #-1 movs r5, #1 str r3, [sp, #16] -.L2064: +.L2026: ldr r3, [sp, #16] ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #36 - bne .L2058 + bne .L2020 movs r2, #1 mov r1, r5 mov r0, r6 bl toshiba_tlc_set_rr_para add r3, fp, r7, lsl #8 movs r2, #93 -.L2087: +.L2049: str r2, [r3, #2056] mov r1, r8 ldr r3, [sp, #56] @@ -13190,72 +12921,72 @@ toshiba_3d_read_retrial: str r3, [sp] ldr r3, [sp, #12] bl flash_read_page - ldr r3, .L2089+8 + ldr r3, .L2051+8 mov r10, r0 ldr r3, [r3] lsls r2, r3, #27 - bpl .L2060 + bpl .L2022 mov r3, r0 mov r2, r8 mov r1, r5 - ldr r0, .L2089+32 + ldr r0, .L2051+32 bl printf -.L2060: +.L2022: cmp r10, #-1 - beq .L2061 - ldr r3, .L2089+16 + beq .L2023 + ldr r3, .L2051+16 cmp r4, #-1 it eq moveq r4, r10 ldr r3, [r3] str r3, [sp, #8] - ldr r3, .L2089+20 + ldr r3, .L2051+20 ldr r3, [r3] str r3, [sp, #12] - ldr r3, .L2089+24 + ldr r3, .L2051+24 ldrb r3, [r3] @ zero_extendqisi2 add r3, r3, r3, lsl #1 cmp r10, r3, asr #2 - bcc .L2071 -.L2061: + bcc .L2033 +.L2023: ldr r3, [sp, #20] adds r5, r5, #1 cmp r3, r5 - bne .L2064 -.L2063: - ldr r3, .L2089+4 + bne .L2026 +.L2025: + ldr r3, .L2051+4 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #36 - bne .L2065 + bne .L2027 movs r2, #1 - b .L2088 -.L2058: + b .L2050 +.L2020: uxtb r1, r5 mov r0, r6 bl toshiba_3d_set_tlc_rr_para add r3, fp, r7, lsl #8 movs r2, #38 - b .L2087 -.L2071: + b .L2049 +.L2033: mov r4, r10 - b .L2063 -.L2065: + b .L2025 +.L2027: movs r1, #0 mov r0, r6 bl toshiba_3d_set_tlc_rr_para - b .L2057 -.L2090: + b .L2019 +.L2052: .align 2 -.L2089: - .word .LANCHOR13 - .word .LANCHOR23 - .word .LANCHOR14 - .word .LC117 - .word .LANCHOR166 - .word .LANCHOR168 - .word .LANCHOR50 - .word .LC119 - .word .LC118 +.L2051: + .word .LANCHOR7 + .word .LANCHOR15 + .word .LANCHOR19 + .word .LC114 + .word .LANCHOR163 + .word .LANCHOR165 + .word .LANCHOR49 + .word .LC116 + .word .LC115 .size toshiba_3d_read_retrial, .-toshiba_3d_read_retrial .section .text.toshiba_read_retrial,"ax",%progbits .align 1 @@ -13280,55 +13011,55 @@ toshiba_read_retrial: bl zftl_flash_enter_slc_mode mov r0, r5 bl zftl_flash_exit_slc_mode - ldr r3, .L2118 - ldr r2, .L2118+4 + ldr r3, .L2080 + ldr r2, .L2080+4 ldr r7, [r3] ldrb r3, [r2] @ zero_extendqisi2 str r2, [sp, #20] subs r3, r3, #67 add r10, r7, r10, lsl #8 cmp r3, #1 - bls .L2109 - ldr r3, .L2118+8 + bls .L2071 + ldr r3, .L2080+8 ldrb r6, [r3] @ zero_extendqisi2 - cbz r6, .L2093 + cbz r6, .L2055 movs r6, #1 movs r0, #1 bl nandc_set_if_mode -.L2093: +.L2055: add r3, r7, r5, lsl #8 movs r2, #92 str r2, [r3, #2056] movs r2, #197 str r2, [r3, #2056] -.L2092: +.L2054: mov r8, #1 mov fp, #-1 -.L2094: - ldr r3, .L2118+12 +.L2056: + ldr r3, .L2080+12 ldrb r3, [r3] @ zero_extendqisi2 adds r3, r3, #1 cmp r8, r3 - bcc .L2103 + bcc .L2065 mov r4, fp -.L2102: - ldr r3, .L2118+4 +.L2064: + ldr r3, .L2080+4 movs r1, #0 mov r0, r10 ldrb r3, [r3] @ zero_extendqisi2 subs r3, r3, #67 cmp r3, #1 - bhi .L2104 + bhi .L2066 bl sandisk_set_rr_para -.L2105: +.L2067: add r5, r7, r5, lsl #8 movs r3, #255 str r3, [r5, #2056] - ldr r3, .L2118+16 + ldr r3, .L2080+16 ldrb r3, [r3] @ zero_extendqisi2 add r3, r3, r3, lsl #1 cmp r4, r3, asr #2 - bcc .L2106 + bcc .L2068 adds r3, r4, #1 ldr r2, [sp, #8] it ne @@ -13336,36 +13067,36 @@ toshiba_read_retrial: mov r3, r8 str r4, [sp] mov r1, r8 - ldr r0, .L2118+20 + ldr r0, .L2080+20 bl printf -.L2106: +.L2068: bl nandc_wait_flash_ready - cbz r6, .L2091 + cbz r6, .L2053 movs r0, #4 bl nandc_set_if_mode -.L2091: +.L2053: mov r0, r4 add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2109: +.L2071: movs r6, #0 - b .L2092 -.L2103: + b .L2054 +.L2065: ldr r3, [sp, #20] mov r0, r10 uxtb r1, r8 ldrb r3, [r3] @ zero_extendqisi2 subs r3, r3, #67 cmp r3, #1 - bhi .L2095 + bhi .L2057 bl sandisk_set_rr_para -.L2096: - ldr r3, .L2118+4 +.L2058: + ldr r3, .L2080+4 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #34 - bne .L2097 - ldr r3, .L2118+12 + bne .L2059 + ldr r3, .L2080+12 ldrb r3, [r3] @ zero_extendqisi2 subs r3, r3, #3 cmp r8, r3 @@ -13373,7 +13104,7 @@ toshiba_read_retrial: addeq r3, r7, r5, lsl #8 moveq r2, #179 streq r2, [r3, #2056] -.L2097: +.L2059: add r3, r7, r5, lsl #8 movs r2, #38 add r1, sp, #8 @@ -13387,41 +13118,41 @@ toshiba_read_retrial: bl flash_read_page adds r2, r0, #1 mov r4, r0 - beq .L2100 - ldr r3, .L2118+24 + beq .L2062 + ldr r3, .L2080+24 cmp fp, #-1 it eq moveq fp, r0 ldr r3, [r3] str r3, [sp, #12] - ldr r3, .L2118+28 + ldr r3, .L2080+28 ldr r3, [r3] str r3, [sp, #16] - ldr r3, .L2118+16 + ldr r3, .L2080+16 ldrb r3, [r3] @ zero_extendqisi2 add r3, r3, r3, lsl #1 cmp r0, r3, asr #2 - bcc .L2102 -.L2100: + bcc .L2064 +.L2062: add r8, r8, #1 - b .L2094 -.L2095: + b .L2056 +.L2057: bl toshiba_set_rr_para - b .L2096 -.L2104: + b .L2058 +.L2066: bl toshiba_set_rr_para - b .L2105 -.L2119: + b .L2067 +.L2081: .align 2 -.L2118: - .word .LANCHOR13 - .word .LANCHOR23 - .word .LANCHOR21 - .word .LANCHOR169 - .word .LANCHOR50 - .word .LC119 +.L2080: + .word .LANCHOR7 + .word .LANCHOR15 + .word .LANCHOR26 .word .LANCHOR166 - .word .LANCHOR168 + .word .LANCHOR49 + .word .LC116 + .word .LANCHOR163 + .word .LANCHOR165 .size toshiba_read_retrial, .-toshiba_read_retrial .section .text.ymtc_3d_read_retrial,"ax",%progbits .align 1 @@ -13446,13 +13177,13 @@ ymtc_3d_read_retrial: bl zftl_flash_enter_slc_mode mov r0, r7 bl zftl_flash_exit_slc_mode - ldr r2, .L2144 + ldr r2, .L2106 tst r8, #50331648 add r3, r7, #8 ldr r6, [r2] add r6, r6, r3, lsl #8 - bne .L2130 -.L2125: + bne .L2092 +.L2087: uxtb r1, r5 mov r0, r6 bl ymtc_3d_set_slc_rr_para @@ -13464,33 +13195,33 @@ ymtc_3d_read_retrial: mov r3, fp bl flash_read_page adds r1, r0, #1 - beq .L2122 - ldr r3, .L2144+4 + beq .L2084 + ldr r3, .L2106+4 cmp r4, #-1 it eq moveq r4, r0 ldr r10, [r3] - ldr r3, .L2144+8 + ldr r3, .L2106+8 ldr fp, [r3] - ldr r3, .L2144+12 + ldr r3, .L2106+12 ldrb r3, [r3] @ zero_extendqisi2 add r3, r3, r3, lsl #1 cmp r0, r3, asr #2 - bcc .L2133 -.L2122: + bcc .L2095 +.L2084: adds r5, r5, #1 cmp r5, #10 - bne .L2125 -.L2124: + bne .L2087 +.L2086: movs r1, #0 mov r0, r6 bl ymtc_3d_set_slc_rr_para -.L2126: - ldr r3, .L2144+12 +.L2088: + ldr r3, .L2106+12 ldrb r3, [r3] @ zero_extendqisi2 add r3, r3, r3, lsl #1 cmp r4, r3, asr #2 - bcc .L2131 + bcc .L2093 adds r3, r4, #1 mov r2, r8 it ne @@ -13498,18 +13229,18 @@ ymtc_3d_read_retrial: mov r3, r5 str r4, [sp] mov r1, r5 - ldr r0, .L2144+16 + ldr r0, .L2106+16 bl printf -.L2131: +.L2093: bl nandc_wait_flash_ready mov r0, r4 add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2133: +.L2095: mov r4, r0 - b .L2124 -.L2130: + b .L2086 +.L2092: uxtb r1, r5 mov r0, r6 bl ymtc_3d_set_tlc_rr_para @@ -13521,39 +13252,39 @@ ymtc_3d_read_retrial: mov r3, fp bl flash_read_page adds r2, r0, #1 - beq .L2127 - ldr r3, .L2144+4 + beq .L2089 + ldr r3, .L2106+4 cmp r4, #-1 it eq moveq r4, r0 ldr r10, [r3] - ldr r3, .L2144+8 + ldr r3, .L2106+8 ldr fp, [r3] - ldr r3, .L2144+12 + ldr r3, .L2106+12 ldrb r3, [r3] @ zero_extendqisi2 add r3, r3, r3, lsl #1 cmp r0, r3, asr #2 - bcc .L2134 -.L2127: + bcc .L2096 +.L2089: adds r5, r5, #1 cmp r5, #51 - bne .L2130 -.L2129: + bne .L2092 +.L2091: movs r1, #0 mov r0, r6 bl ymtc_3d_set_tlc_rr_para - b .L2126 -.L2134: + b .L2088 +.L2096: mov r4, r0 - b .L2129 -.L2145: + b .L2091 +.L2107: .align 2 -.L2144: - .word .LANCHOR13 - .word .LANCHOR166 - .word .LANCHOR168 - .word .LANCHOR50 - .word .LC120 +.L2106: + .word .LANCHOR7 + .word .LANCHOR163 + .word .LANCHOR165 + .word .LANCHOR49 + .word .LC117 .size ymtc_3d_read_retrial, .-ymtc_3d_read_retrial .section .text.samsung_read_retrial,"ax",%progbits .align 1 @@ -13577,21 +13308,21 @@ samsung_read_retrial: bl zftl_flash_enter_slc_mode mov r0, r7 bl zftl_flash_exit_slc_mode - ldr r3, .L2179 + ldr r3, .L2141 tst r8, #50331648 ldr r3, [r3] str r3, [sp, #8] - bne .L2147 + bne .L2109 lsl fp, r7, #8 mov r4, #-1 movs r5, #1 add r6, r3, fp -.L2152: +.L2114: movs r3, #239 str r3, [r6, #2056] movs r3, #141 str r3, [r6, #2052] - ldr r3, .L2179+4 + ldr r3, .L2141+4 ldrsb r3, [r5, r3] str r3, [r6, #2048] movs r3, #0 @@ -13606,45 +13337,45 @@ samsung_read_retrial: str r3, [sp] ldr r3, [sp, #16] bl flash_read_page - ldr r3, .L2179+8 + ldr r3, .L2141+8 mov r10, r0 ldr r3, [r3] lsls r1, r3, #27 - bpl .L2148 + bpl .L2110 mov r3, r0 mov r2, r8 mov r1, r5 - ldr r0, .L2179+12 + ldr r0, .L2141+12 bl printf -.L2148: +.L2110: cmp r10, #-1 - beq .L2149 - ldr r3, .L2179+16 + beq .L2111 + ldr r3, .L2141+16 cmp r4, #-1 it eq moveq r4, r10 ldr r3, [r3] str r3, [sp, #12] - ldr r3, .L2179+20 + ldr r3, .L2141+20 ldr r3, [r3] str r3, [sp, #16] - ldr r3, .L2179+24 + ldr r3, .L2141+24 ldrb r3, [r3] @ zero_extendqisi2 add r3, r3, r3, lsl #1 cmp r10, r3, asr #2 - bcc .L2161 -.L2149: + bcc .L2123 +.L2111: adds r5, r5, #1 cmp r5, #26 - bne .L2152 -.L2151: + bne .L2114 +.L2113: ldr r3, [sp, #8] add r3, r3, fp mov fp, r3 movs r3, #239 str r3, [fp, #2056] movs r3, #141 -.L2178: +.L2140: str r3, [r6, #2052] movs r3, #0 str r3, [r6, #2048] @@ -13652,11 +13383,11 @@ samsung_read_retrial: str r3, [r6, #2048] str r3, [r6, #2048] bl nandc_wait_flash_ready - ldr r3, .L2179+24 + ldr r3, .L2141+24 ldrb r3, [r3] @ zero_extendqisi2 add r3, r3, r3, lsl #1 cmp r4, r3, asr #2 - bcc .L2159 + bcc .L2121 adds r3, r4, #1 mov r2, r8 it ne @@ -13664,26 +13395,26 @@ samsung_read_retrial: mov r3, r5 str r4, [sp] mov r1, r5 - ldr r0, .L2179+28 + ldr r0, .L2141+28 bl printf -.L2159: +.L2121: bl nandc_wait_flash_ready mov r0, r4 add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2161: +.L2123: mov r4, r10 - b .L2151 -.L2147: + b .L2113 +.L2109: ldr r3, [sp, #8] mov r4, #-1 - ldr r10, .L2179+36 + ldr r10, .L2141+36 movs r5, #1 add r6, r3, r7, lsl #8 addw r3, r6, #2056 str r3, [sp, #20] -.L2158: +.L2120: ldr r3, [sp, #20] mov r2, r3 movs r3, #239 @@ -13706,61 +13437,61 @@ samsung_read_retrial: str r3, [sp] ldr r3, [sp, #16] bl flash_read_page - ldr r3, .L2179+8 + ldr r3, .L2141+8 mov fp, r0 ldr r3, [r3] lsls r2, r3, #27 - bpl .L2154 + bpl .L2116 mov r3, r0 mov r2, r8 mov r1, r5 - ldr r0, .L2179+32 + ldr r0, .L2141+32 bl printf -.L2154: +.L2116: cmp fp, #-1 - beq .L2155 - ldr r3, .L2179+16 + beq .L2117 + ldr r3, .L2141+16 cmp r4, #-1 it eq moveq r4, fp ldr r3, [r3] str r3, [sp, #12] - ldr r3, .L2179+20 + ldr r3, .L2141+20 ldr r3, [r3] str r3, [sp, #16] - ldr r3, .L2179+24 + ldr r3, .L2141+24 ldrb r3, [r3] @ zero_extendqisi2 add r3, r3, r3, lsl #1 cmp fp, r3, asr #2 - bcc .L2162 -.L2155: + bcc .L2124 +.L2117: adds r5, r5, #1 add r10, r10, #4 cmp r5, #26 - bne .L2158 -.L2157: + bne .L2120 +.L2119: ldr r3, [sp, #8] add r7, r3, r7, lsl #8 movs r3, #239 str r3, [r7, #2056] movs r3, #137 - b .L2178 -.L2162: + b .L2140 +.L2124: mov r4, fp - b .L2157 -.L2180: + b .L2119 +.L2142: .align 2 -.L2179: - .word .LANCHOR13 - .word .LANCHOR170 - .word .LANCHOR14 - .word .LC121 - .word .LANCHOR166 +.L2141: + .word .LANCHOR7 + .word .LANCHOR167 + .word .LANCHOR19 + .word .LC118 + .word .LANCHOR163 + .word .LANCHOR165 + .word .LANCHOR49 + .word .LC120 + .word .LC119 .word .LANCHOR168 - .word .LANCHOR50 - .word .LC123 - .word .LC122 - .word .LANCHOR171 .size samsung_read_retrial, .-samsung_read_retrial .section .text.hynix_read_retrial,"ax",%progbits .align 1 @@ -13779,7 +13510,7 @@ hynix_read_retrial: mov r8, r1 movs r7, #0 mov r4, #-1 - ldr r3, .L2195 + ldr r3, .L2157 str r2, [sp, #8] ldr r3, [r3] add r10, r3, r0 @@ -13790,16 +13521,16 @@ hynix_read_retrial: bl zftl_flash_enter_slc_mode mov r0, r6 bl zftl_flash_exit_slc_mode -.L2182: +.L2144: cmp r7, fp - bcc .L2187 -.L2186: - ldr r3, .L2195+4 + bcc .L2149 +.L2148: + ldr r3, .L2157+4 strb r5, [r10, #120] ldrb r3, [r3] @ zero_extendqisi2 add r3, r3, r3, lsl #1 cmp r4, r3, asr #2 - bcc .L2188 + bcc .L2150 adds r3, r4, #1 mov r2, r8 it ne @@ -13807,15 +13538,15 @@ hynix_read_retrial: mov r3, r7 str r4, [sp] mov r1, r7 - ldr r0, .L2195+8 + ldr r0, .L2157+8 bl printf -.L2188: +.L2150: bl nandc_wait_flash_ready mov r0, r4 add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2187: +.L2149: adds r5, r5, #1 mov r0, r6 uxtb r5, r5 @@ -13832,35 +13563,35 @@ hynix_read_retrial: ldr r3, [sp, #12] bl flash_read_page adds r2, r0, #1 - beq .L2184 - ldr r3, .L2195+12 + beq .L2146 + ldr r3, .L2157+12 cmp r4, #-1 it eq moveq r4, r0 ldr r3, [r3] str r3, [sp, #8] - ldr r3, .L2195+16 + ldr r3, .L2157+16 ldr r3, [r3] str r3, [sp, #12] - ldr r3, .L2195+4 + ldr r3, .L2157+4 ldrb r3, [r3] @ zero_extendqisi2 add r3, r3, r3, lsl #1 cmp r0, r3, asr #2 - bcc .L2190 -.L2184: + bcc .L2152 +.L2146: adds r7, r7, #1 - b .L2182 -.L2190: + b .L2144 +.L2152: mov r4, r0 - b .L2186 -.L2196: + b .L2148 +.L2158: .align 2 -.L2195: - .word .LANCHOR27 - .word .LANCHOR50 - .word .LC124 - .word .LANCHOR166 - .word .LANCHOR168 +.L2157: + .word .LANCHOR6 + .word .LANCHOR49 + .word .LC121 + .word .LANCHOR163 + .word .LANCHOR165 .size hynix_read_retrial, .-hynix_read_retrial .section .text.flash_ddr_tuning_read,"ax",%progbits .align 1 @@ -13889,7 +13620,7 @@ flash_ddr_tuning_read: str r4, [sp, #24] str r4, [sp, #12] str r3, [sp, #8] -.L2203: +.L2165: uxtb r0, r7 bl nandc_set_ddr_para ldr r3, [sp, #64] @@ -13899,69 +13630,69 @@ flash_ddr_tuning_read: str r3, [sp] ldr r3, [sp, #20] bl flash_read_page - ldr r3, .L2223 + ldr r3, .L2185 mov r10, r0 ldr r3, [r3] lsls r2, r3, #27 - bpl .L2198 + bpl .L2160 mov r3, r0 mov r2, fp mov r1, r7 - ldr r0, .L2223+4 + ldr r0, .L2185+4 bl printf -.L2198: +.L2160: adds r3, r6, #1 cmp r10, r3 - bhi .L2199 - ldr r3, .L2223+8 + bhi .L2161 + ldr r3, .L2185+8 ldr r3, [r3] str r3, [sp, #16] - ldr r3, .L2223+12 + ldr r3, .L2185+12 ldr r3, [r3] str r3, [sp, #20] - ldr r3, .L2223+16 + ldr r3, .L2185+16 ldrb r3, [r3] @ zero_extendqisi2 cmp r10, r3, lsr #2 - bcs .L2209 + bcs .L2171 adds r5, r5, #1 cmp r5, #7 - bls .L2209 + bls .L2171 subs r4, r7, r5 mov r6, r10 movs r3, #0 str r3, [sp, #8] -.L2201: +.L2163: ldr r3, [sp, #24] ldr r2, [sp, #12] cmp r5, r2 it cc movcc r4, r3 -.L2202: +.L2164: cmp r4, #0 - beq .L2204 - ldr r3, .L2223+16 + beq .L2166 + ldr r3, .L2185+16 ldrb r2, [r3] @ zero_extendqisi2 - ldr r3, .L2223+20 + ldr r3, .L2185+20 umull r2, r3, r2, r3 ubfx r3, r3, #1, #8 cmp r3, r6 - bls .L2204 + bls .L2166 mov r1, r4 - ldr r0, .L2223+24 + ldr r0, .L2185+24 bl printf uxtb r0, r4 -.L2222: +.L2184: bl nandc_set_ddr_para ldr r3, [sp, #8] cmp r3, #0 - beq .L2197 - ldr r4, .L2223+28 + beq .L2159 + ldr r4, .L2185+28 ldrb r3, [r4] @ zero_extendqisi2 lsls r3, r3, #31 - bpl .L2197 + bpl .L2159 mov r1, r8 mov r2, fp - ldr r0, .L2223+32 + ldr r0, .L2185+32 bl printf mov r0, r8 bl flash_reset @@ -13969,7 +13700,7 @@ flash_ddr_tuning_read: bl flash_set_interface_mode movs r0, #1 bl nandc_set_if_mode - ldr r3, .L2223+36 + ldr r3, .L2185+36 movs r2, #2 mov r0, r8 strb r2, [r3, r8] @@ -13985,75 +13716,75 @@ flash_ddr_tuning_read: mov r3, r0 mov r6, r0 mov r1, r8 - ldr r0, .L2223+40 + ldr r0, .L2185+40 bl printf - ldr r3, .L2223+16 + ldr r3, .L2185+16 ldrb r3, [r3] @ zero_extendqisi2 cmp r6, r3 - bhi .L2211 - ldr r2, .L2223+44 + bhi .L2173 + ldr r2, .L2185+44 ldr r3, [r2] adds r3, r3, #1 cmp r3, #100 str r3, [r2] - bls .L2207 - ldr r3, .L2223+48 + bls .L2169 + ldr r3, .L2185+48 movs r2, #0 strb r2, [r3] -.L2197: +.L2159: mov r0, r6 add sp, sp, #32 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2199: +.L2161: ldr r3, [sp, #12] cmp r5, r3 - bls .L2210 + bls .L2172 cmp r5, #7 sub r3, r4, r5 str r3, [sp, #24] - bhi .L2202 + bhi .L2164 str r5, [sp, #12] -.L2210: +.L2172: movs r5, #0 - b .L2200 -.L2209: + b .L2162 +.L2171: mov r4, r7 mov r6, r10 movs r3, #0 str r3, [sp, #8] -.L2200: +.L2162: adds r7, r7, #2 cmp r7, #50 - bne .L2203 - b .L2201 -.L2204: + bne .L2165 + b .L2163 +.L2166: ldrb r0, [sp, #28] @ zero_extendqisi2 - b .L2222 -.L2211: + b .L2184 +.L2173: ldr r6, [sp, #8] -.L2207: +.L2169: ldrb r0, [r4] @ zero_extendqisi2 bl flash_set_interface_mode ldrb r0, [r4] @ zero_extendqisi2 bl nandc_set_if_mode - b .L2197 -.L2224: + b .L2159 +.L2186: .align 2 -.L2223: - .word .LANCHOR14 - .word .LC125 - .word .LANCHOR166 - .word .LANCHOR168 - .word .LANCHOR50 - .word -1431655765 - .word .LC126 +.L2185: + .word .LANCHOR19 + .word .LC122 + .word .LANCHOR163 + .word .LANCHOR165 .word .LANCHOR49 - .word .LC127 - .word .LANCHOR34 - .word .LC128 - .word .LANCHOR172 - .word .LANCHOR21 + .word -1431655765 + .word .LC123 + .word .LANCHOR48 + .word .LC124 + .word .LANCHOR33 + .word .LC125 + .word .LANCHOR169 + .word .LANCHOR26 .size flash_ddr_tuning_read, .-flash_ddr_tuning_read .section .text.flash_read_page_en,"ax",%progbits .align 1 @@ -14068,7 +13799,7 @@ flash_read_page_en: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r10, fp, lr} mov r8, r3 - ldr r3, .L2252 + ldr r3, .L2214 mov r7, r2 mov r5, r0 mov r4, r1 @@ -14076,46 +13807,46 @@ flash_read_page_en: ldrb r2, [r3] @ zero_extendqisi2 mov fp, r3 cmp r2, r0 - bhi .L2226 - mov r2, #428 - ldr r1, .L2252+4 - ldr r0, .L2252+8 + bhi .L2188 + movw r2, #431 + ldr r1, .L2214+4 + ldr r0, .L2214+8 bl printf -.L2226: - ldr r3, .L2252+12 +.L2188: + ldr r3, .L2214+12 ldrb r6, [r3, r5] @ zero_extendqisi2 ldrb r3, [fp] @ zero_extendqisi2 cmp r5, r3 - bcc .L2227 - ldr r2, .L2252+16 + bcc .L2189 + ldr r2, .L2214+16 ldr r2, [r2] lsls r0, r2, #25 - bmi .L2228 -.L2251: + bmi .L2190 +.L2213: mov r0, #-1 -.L2225: +.L2187: add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2228: +.L2190: str r3, [sp] mov r2, r5 mov r3, r4 mov r1, r6 - ldr r0, .L2252+20 + ldr r0, .L2214+20 bl printf - b .L2251 -.L2227: + b .L2213 +.L2189: tst r4, #50331648 - bne .L2230 - ldr r3, .L2252+24 + bne .L2192 + ldr r3, .L2214+24 ldrb r2, [r3] @ zero_extendqisi2 - ldr r3, .L2252+28 - cbz r2, .L2231 + ldr r3, .L2214+28 + cbz r2, .L2193 ldrb r2, [r3] @ zero_extendqisi2 - cbz r2, .L2230 -.L2231: - ldr r2, .L2252+32 + cbz r2, .L2192 +.L2193: + ldr r2, .L2214+32 mov r0, r4 str r3, [sp, #12] ldrh r5, [r2] @@ -14127,9 +13858,9 @@ flash_read_page_en: bl __aeabi_uidivmod ldr r3, [sp, #12] ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L2232 + cbz r3, .L2194 add r4, fp, r1, lsl #1 -.L2230: +.L2192: mov r1, r4 str r10, [sp] mov r3, r8 @@ -14137,28 +13868,28 @@ flash_read_page_en: mov r0, r6 bl flash_read_page adds r1, r0, #1 - bne .L2225 - ldr r5, .L2252+36 + bne .L2187 + ldr r5, .L2214+36 ldrb fp, [r5] @ zero_extendqisi2 cmp fp, #0 - bne .L2233 -.L2236: - ldr r3, .L2252+40 + bne .L2195 +.L2198: + ldr r3, .L2214+40 ldr fp, [r3] cmp fp, #0 - bne .L2234 -.L2235: + bne .L2196 +.L2197: ldrb r3, [r5] @ zero_extendqisi2 mov r2, r4 movs r1, #0 - ldr r0, .L2252+44 + ldr r0, .L2214+44 str r3, [sp] mov r3, #-1 bl printf - ldr r3, .L2252+48 + ldr r3, .L2214+48 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - beq .L2251 + beq .L2213 str r10, [sp, #48] mov r3, r8 mov r2, r7 @@ -14168,12 +13899,12 @@ flash_read_page_en: @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, lr} b flash_ddr_tuning_read -.L2232: - ldr r3, .L2252+52 +.L2194: + ldr r3, .L2214+52 ldrh r4, [r3, r1, lsl #1] add r4, r4, fp - b .L2230 -.L2233: + b .L2192 +.L2195: movs r3, #0 mov r2, r7 strb r3, [r5] @@ -14184,9 +13915,9 @@ flash_read_page_en: bl flash_read_page adds r2, r0, #1 strb fp, [r5] - beq .L2236 - b .L2225 -.L2234: + beq .L2198 + b .L2187 +.L2196: mov r3, r8 str r10, [sp] mov r2, r7 @@ -14194,24 +13925,24 @@ flash_read_page_en: mov r0, r6 blx fp adds r3, r0, #1 - beq .L2235 - b .L2225 -.L2253: + beq .L2197 + b .L2187 +.L2215: .align 2 -.L2252: - .word .LANCHOR18 - .word .LANCHOR173 +.L2214: + .word .LANCHOR23 + .word .LANCHOR170 .word .LC0 - .word .LANCHOR30 - .word .LANCHOR14 - .word .LC129 + .word .LANCHOR29 + .word .LANCHOR19 + .word .LC126 .word .LANCHOR0 .word .LANCHOR1 .word .LANCHOR2 - .word .LANCHOR52 - .word .LANCHOR174 - .word .LC130 - .word .LANCHOR21 + .word .LANCHOR51 + .word .LANCHOR171 + .word .LC127 + .word .LANCHOR26 .word .LANCHOR3 .size flash_read_page_en, .-flash_read_page_en .section .text.flash_get_last_written_page,"ax",%progbits @@ -14227,12 +13958,12 @@ flash_get_last_written_page: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r10, fp, lr} mov r8, r1 - ldr r1, .L2264 + ldr r1, .L2226 mov fp, r2 mov r10, r3 str r0, [sp, #12] ldrh r4, [r1] - ldr r1, .L2264+4 + ldr r1, .L2226+4 subs r4, r4, #1 ldrh r6, [r1, #26] sxth r4, r4 @@ -14242,27 +13973,27 @@ flash_get_last_written_page: adds r1, r4, r6 bl flash_read_page_en cmp r0, #512 - bne .L2255 + bne .L2217 movs r7, #0 -.L2256: +.L2218: cmp r7, r4 - ble .L2259 -.L2255: - ldr r3, .L2264+8 + ble .L2221 +.L2217: + ldr r3, .L2226+8 ldr r3, [r3] lsls r3, r3, #19 - bpl .L2260 + bpl .L2222 ldr r3, [r10] mov r2, r4 mov r1, r8 - ldr r0, .L2264+12 + ldr r0, .L2226+12 bl printf -.L2260: +.L2222: mov r0, r4 add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2259: +.L2221: adds r5, r7, r4 ldr r3, [sp, #48] add r5, r5, r5, lsr #31 @@ -14279,14 +14010,14 @@ flash_get_last_written_page: addne r5, r5, #1 sxtheq r4, r4 sxthne r7, r5 - b .L2256 -.L2265: + b .L2218 +.L2227: .align 2 -.L2264: - .word .LANCHOR147 - .word .LANCHOR33 - .word .LANCHOR14 - .word .LC131 +.L2226: + .word .LANCHOR144 + .word .LANCHOR32 + .word .LANCHOR19 + .word .LC128 .size flash_get_last_written_page, .-flash_get_last_written_page .section .text.flash_get_last_written_page_ext,"ax",%progbits .align 1 @@ -14300,8 +14031,8 @@ flash_get_last_written_page_ext: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r4, r5, lr} - ldr r4, .L2267 - ldr r5, .L2267+4 + ldr r4, .L2229 + ldr r5, .L2229+4 ldrb r4, [r4] @ zero_extendqisi2 ldrh r5, [r5] rsb r4, r4, #24 @@ -14319,11 +14050,11 @@ flash_get_last_written_page_ext: add sp, sp, #12 @ sp needed pop {r4, r5, pc} -.L2268: +.L2230: .align 2 -.L2267: - .word .LANCHOR32 - .word .LANCHOR75 +.L2229: + .word .LANCHOR31 + .word .LANCHOR74 .size flash_get_last_written_page_ext, .-flash_get_last_written_page_ext .section .text.flash_ddr_para_scan,"ax",%progbits .align 1 @@ -14338,12 +14069,12 @@ flash_ddr_para_scan: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} mov r7, r0 - ldr r6, .L2275 + ldr r6, .L2237 movs r5, #1 mov r8, r1 - ldr r4, .L2275+4 - ldr fp, .L2275+8 - ldr r10, .L2275+12 + ldr r4, .L2237+4 + ldr fp, .L2237+8 + ldr r10, .L2237+12 ldrb r0, [r6] @ zero_extendqisi2 strb r5, [r4] bl flash_set_interface_mode @@ -14365,32 +14096,32 @@ flash_ddr_para_scan: bl flash_read_page adds r0, r0, #1 mov r3, r4 - bne .L2270 + bne .L2232 ldrb r2, [r6] @ zero_extendqisi2 lsls r2, r2, #31 - bpl .L2270 + bpl .L2232 mov r0, r5 bl flash_set_interface_mode mov r0, r5 bl nandc_set_if_mode movs r3, #0 strb r3, [r4] -.L2271: +.L2233: movs r0, #0 add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2270: +.L2232: movs r2, #1 strb r2, [r3] - b .L2271 -.L2276: + b .L2233 +.L2238: .align 2 -.L2275: - .word .LANCHOR49 - .word .LANCHOR21 - .word .LANCHOR175 - .word .LANCHOR176 +.L2237: + .word .LANCHOR48 + .word .LANCHOR26 + .word .LANCHOR172 + .word .LANCHOR173 .size flash_ddr_para_scan, .-flash_ddr_para_scan .section .text.flash_prog_page,"ax",%progbits .align 1 @@ -14404,101 +14135,89 @@ flash_prog_page: @ args = 4, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r10, fp, lr} - mov r5, r0 - str r3, [sp, #12] - mov r7, r1 mov r10, r2 - ubfx r8, r1, #24, #2 - ldr r3, .L2292 - ldr r6, [r3] - add r3, r0, #8 - add fp, r6, r3, lsl #8 - ldr r3, .L2292+4 - ldrb r4, [r3] @ zero_extendqisi2 - rsb r3, r4, #24 - movs r4, #1 - lsls r4, r4, r3 - ldr r3, .L2292+8 - subs r4, r4, #1 - ldr r3, [r3] - ands r4, r4, r1 - lsls r3, r3, #27 - bpl .L2278 - ldr r3, [sp, #48] - mov r2, r8 - ldr r0, .L2292+12 - bl printf -.L2278: + str r3, [sp, #12] + mov r4, r0 + mov r6, r1 + add r7, r0, #8 + ldr r3, .L2250 + ldr r5, [r3] + ldr r3, .L2250+4 + ldrb r3, [r3] @ zero_extendqisi2 + add r7, r5, r7, lsl #8 + rsb r2, r3, #24 + movs r3, #1 + lsls r3, r3, r2 + subs r3, r3, #1 + and fp, r3, r1 bl nandc_wait_flash_ready - mov r0, r5 - bl hynix_reconfig_rr_para - mov r0, r5 - bl nandc_cs - mov r0, r5 - cmp r8, #0 - bne .L2279 - bl zftl_flash_enter_slc_mode -.L2280: - lsl r8, r5, #8 - movs r2, #128 - add r3, r6, r8 - str r2, [r3, #2056] - movs r2, #0 - str r2, [r3, #2052] - str r2, [r3, #2052] - uxtb r2, r4 - str r2, [r3, #2052] - lsrs r2, r4, #8 - str r2, [r3, #2052] - lsrs r2, r4, #16 - str r2, [r3, #2052] - ldr r2, .L2292+16 - ldrb r2, [r2] @ zero_extendqisi2 - cbz r2, .L2281 - lsrs r2, r4, #24 - str r2, [r3, #2052] -.L2281: mov r0, r4 - add r6, r6, r8 + bl hynix_reconfig_rr_para + mov r0, r4 + bl nandc_cs + tst r6, #50331648 + mov r0, r4 + bne .L2240 + bl zftl_flash_enter_slc_mode +.L2241: + lsl r8, r4, #8 + movs r1, #128 + add r2, r5, r8 + str r1, [r2, #2056] + movs r1, #0 + str r1, [r2, #2052] + str r1, [r2, #2052] + uxtb r1, fp + str r1, [r2, #2052] + lsr r1, fp, #8 + str r1, [r2, #2052] + lsr r1, fp, #16 + str r1, [r2, #2052] + ldr r1, .L2250+8 + ldrb r1, [r1] @ zero_extendqisi2 + cbz r1, .L2242 + lsr r1, fp, #24 + str r1, [r2, #2052] +.L2242: + mov r0, fp + add r5, r5, r8 bl nandc_set_seed - ldr r3, .L2292+20 + ldr r3, .L2250+12 movs r1, #1 - mov r0, r5 + mov r0, r4 ldrb r2, [r3, #9] @ zero_extendqisi2 ldr r3, [sp, #12] str r3, [sp] mov r3, r10 bl nandc_xfer movs r3, #16 - str r3, [r6, #2056] + str r3, [r5, #2056] bl nandc_wait_flash_ready - mov r0, fp + mov r0, r7 bl flash_read_status - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 ands r0, r0, #4 - beq .L2277 + beq .L2239 mov r2, r0 - mov r1, r7 - ldr r0, .L2292+24 + mov r1, r6 + ldr r0, .L2250+16 bl printf mov r0, #-1 -.L2277: +.L2239: add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2279: +.L2240: bl zftl_flash_exit_slc_mode - b .L2280 -.L2293: + b .L2241 +.L2251: .align 2 -.L2292: - .word .LANCHOR13 - .word .LANCHOR32 - .word .LANCHOR14 - .word .LC132 +.L2250: + .word .LANCHOR7 .word .LANCHOR31 - .word .LANCHOR33 - .word .LC133 + .word .LANCHOR30 + .word .LANCHOR32 + .word .LC129 .size flash_prog_page, .-flash_prog_page .section .text.flash_test_blk,"ax",%progbits .align 1 @@ -14513,28 +14232,28 @@ flash_test_blk: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r4, r5, r6, r7, r8, lr} movs r2, #32 - ldr r7, .L2304 + ldr r7, .L2262 mov r6, r0 mov r4, r1 movs r1, #165 - ldr r5, .L2304+4 + ldr r5, .L2262+4 ldr r0, [r7] bl ftl_memset movs r2, #8 movs r1, #90 ldr r0, [r5] bl ftl_memset - ldr r3, .L2304+8 + ldr r3, .L2262+8 mov r0, r6 ldrh r3, [r3] muls r4, r3, r4 mov r1, r4 bl flash_erase_block adds r0, r0, #1 - bne .L2295 -.L2297: + bne .L2253 +.L2255: mov r5, #-1 -.L2296: +.L2254: mov r1, r4 mov r0, r6 bl flash_erase_block @@ -14542,8 +14261,8 @@ flash_test_blk: add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, pc} -.L2295: - ldr r8, .L2304+12 +.L2253: + ldr r8, .L2262+12 mov r1, r4 mov r0, r6 ldrb r3, [r8, #9] @ zero_extendqisi2 @@ -14552,7 +14271,7 @@ flash_test_blk: ldr r3, [r5] bl flash_prog_page adds r0, r0, #1 - beq .L2297 + beq .L2255 ldrb r3, [r8, #9] @ zero_extendqisi2 mov r1, r4 mov r0, r6 @@ -14561,24 +14280,24 @@ flash_test_blk: ldr r3, [r5] bl flash_read_page_en adds r0, r0, #1 - beq .L2297 + beq .L2255 ldr r3, [r7] ldr r3, [r3] cmp r3, #-1515870811 - bne .L2297 + bne .L2255 ldr r3, [r5] ldr r5, [r3] subs r5, r5, #1515870810 it ne movne r5, #-1 - b .L2296 -.L2305: + b .L2254 +.L2263: .align 2 -.L2304: - .word .LANCHOR166 - .word .LANCHOR168 +.L2262: + .word .LANCHOR163 + .word .LANCHOR165 .word .LANCHOR2 - .word .LANCHOR33 + .word .LANCHOR32 .size flash_test_blk, .-flash_test_blk .section .text.id_block_prog_msb_ff_data,"ax",%progbits .align 1 @@ -14591,32 +14310,32 @@ flash_test_blk: id_block_prog_msb_ff_data: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2313 + ldr r3, .L2271 push {r0, r1, r2, r4, r5, r6, r7, r8, r10, lr} mov r6, r0 mov r7, r1 mov r4, r2 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L2306 - ldr r5, .L2313+4 + cbnz r3, .L2264 + ldr r5, .L2271+4 ldrb r2, [r5, #19] @ zero_extendqisi2 subs r3, r2, #5 uxtb r3, r3 cmp r3, #30 - bhi .L2308 - ldr r2, .L2313+8 + bhi .L2266 + ldr r2, .L2271+8 lsr r3, r2, r3 lsls r3, r3, #31 - bmi .L2310 -.L2306: + bmi .L2268 +.L2264: add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, r8, r10, pc} -.L2311: +.L2269: ldrh r2, [r10, r4, lsl #1] movw r3, #65535 cmp r2, r3 - bne .L2306 + bne .L2264 mov r2, #16384 movs r1, #255 ldr r0, [r8] @@ -14630,26 +14349,26 @@ id_block_prog_msb_ff_data: ldr r3, [r8] mov r2, r3 bl flash_prog_page -.L2312: +.L2270: ldrh r3, [r5, #10] cmp r3, r4 - bhi .L2311 - b .L2306 -.L2308: + bhi .L2269 + b .L2264 +.L2266: cmp r2, #68 - bne .L2306 -.L2310: - ldr r10, .L2313+12 - ldr r8, .L2313+16 - b .L2312 -.L2314: + bne .L2264 +.L2268: + ldr r10, .L2271+12 + ldr r8, .L2271+16 + b .L2270 +.L2272: .align 2 -.L2313: - .word .LANCHOR19 - .word .LANCHOR33 +.L2271: + .word .LANCHOR24 + .word .LANCHOR32 .word 1073758215 - .word .LANCHOR145 - .word .LANCHOR166 + .word .LANCHOR142 + .word .LANCHOR163 .size id_block_prog_msb_ff_data, .-id_block_prog_msb_ff_data .section .text.flash_start_one_pass_page_prog,"ax",%progbits .align 1 @@ -14664,7 +14383,7 @@ flash_start_one_pass_page_prog: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r4, r5, r6, r7, r8, r10, lr} mov r7, r3 - ldr r3, .L2324 + ldr r3, .L2282 mov r10, r0 mov r0, r7 mov r8, r2 @@ -14673,10 +14392,10 @@ flash_start_one_pass_page_prog: ldr r4, [r3] bl nandc_cs cmp r10, #0 - beq .L2316 + beq .L2274 adds r3, r4, r6 str r10, [r3, #2056] -.L2316: +.L2274: adds r3, r4, r6 movs r2, #128 str r2, [r3, #2056] @@ -14689,16 +14408,16 @@ flash_start_one_pass_page_prog: str r2, [r3, #2052] lsrs r2, r5, #16 str r2, [r3, #2052] - ldr r2, .L2324+4 + ldr r2, .L2282+4 ldrb r2, [r2] @ zero_extendqisi2 - cbz r2, .L2317 + cbz r2, .L2275 lsrs r2, r5, #24 str r2, [r3, #2052] -.L2317: +.L2275: mov r0, r5 add r4, r4, r6 bl nandc_set_seed - ldr r3, .L2324+8 + ldr r3, .L2282+8 movs r1, #1 mov r0, r7 ldrb r2, [r3, #9] @ zero_extendqisi2 @@ -14710,12 +14429,12 @@ flash_start_one_pass_page_prog: add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, r8, r10, pc} -.L2325: +.L2283: .align 2 -.L2324: - .word .LANCHOR13 - .word .LANCHOR31 - .word .LANCHOR33 +.L2282: + .word .LANCHOR7 + .word .LANCHOR30 + .word .LANCHOR32 .size flash_start_one_pass_page_prog, .-flash_start_one_pass_page_prog .section .text.flash_dual_page_prog,"ax",%progbits .align 1 @@ -14734,36 +14453,36 @@ flash_dual_page_prog: mov fp, r3 add r3, r0, #8 mov r5, r0 - ldr r2, .L2338 + ldr r2, .L2296 mov r6, r1 ubfx r8, r1, #24, #2 ldr r7, [r2] add r7, r7, r3, lsl #8 - ldr r3, .L2338+4 + ldr r3, .L2296+4 ldrb r4, [r3] @ zero_extendqisi2 rsb r3, r4, #24 movs r4, #1 lsls r4, r4, r3 - ldr r3, .L2338+8 + ldr r3, .L2296+8 subs r4, r4, #1 ldr r2, [r3] ands r4, r4, r1 mov r10, r3 tst r2, #16 - beq .L2327 + beq .L2285 ldr r3, [sp, #64] mov r2, r8 - ldr r0, .L2338+12 + ldr r0, .L2296+12 bl printf -.L2327: +.L2285: bl nandc_wait_flash_ready mov r0, r5 bl nandc_cs mov r0, r5 cmp r8, #0 - bne .L2328 + bne .L2286 bl zftl_flash_enter_slc_mode -.L2329: +.L2287: ldr r3, [sp, #20] movs r1, #0 movs r2, #16 @@ -14788,33 +14507,33 @@ flash_dual_page_prog: bl nandc_wait_flash_ready mov r0, r7 bl flash_read_status - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 ands r0, r0, #4 - beq .L2326 + beq .L2284 ldr r3, [r10] lsls r3, r3, #19 - bpl .L2331 + bpl .L2289 mov r2, r0 mov r1, r6 - ldr r0, .L2338+16 + ldr r0, .L2296+16 bl printf -.L2331: +.L2289: mov r0, #-1 -.L2326: +.L2284: add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2328: +.L2286: bl zftl_flash_exit_slc_mode - b .L2329 -.L2339: + b .L2287 +.L2297: .align 2 -.L2338: - .word .LANCHOR13 - .word .LANCHOR32 - .word .LANCHOR14 - .word .LC132 - .word .LC133 +.L2296: + .word .LANCHOR7 + .word .LANCHOR31 + .word .LANCHOR19 + .word .LC130 + .word .LC129 .size flash_dual_page_prog, .-flash_dual_page_prog .section .text.ymtc_flash_tlc_page_prog,"ax",%progbits .align 1 @@ -14829,7 +14548,7 @@ ymtc_flash_tlc_page_prog: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r10, fp, lr} mov r10, r2 - ldr r2, .L2346 + ldr r2, .L2304 mov fp, r3 add r3, r0, #8 movs r6, #1 @@ -14837,7 +14556,7 @@ ymtc_flash_tlc_page_prog: mov r8, r1 ldr r7, [r2] add r7, r7, r3, lsl #8 - ldr r3, .L2346+4 + ldr r3, .L2304+4 ldrb r4, [r3] @ zero_extendqisi2 rsb r4, r4, #24 lsl r4, r6, r4 @@ -14877,69 +14596,69 @@ ymtc_flash_tlc_page_prog: bl nandc_wait_flash_ready mov r0, r7 bl flash_read_status - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 ands r0, r0, #4 - beq .L2340 - ldr r3, .L2346+8 + beq .L2298 + ldr r3, .L2304+8 ldr r3, [r3] lsls r3, r3, #19 - bpl .L2342 + bpl .L2300 mov r2, r0 mov r1, r8 - ldr r0, .L2346+12 + ldr r0, .L2304+12 bl printf -.L2342: +.L2300: mov r0, #-1 -.L2340: +.L2298: add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2347: +.L2305: .align 2 -.L2346: - .word .LANCHOR13 - .word .LANCHOR32 - .word .LANCHOR14 - .word .LC134 +.L2304: + .word .LANCHOR7 + .word .LANCHOR31 + .word .LANCHOR19 + .word .LC131 .size ymtc_flash_tlc_page_prog, .-ymtc_flash_tlc_page_prog - .section .text.fw_flash_page_prog.constprop.30,"ax",%progbits + .section .text.fw_flash_page_prog.constprop.29,"ax",%progbits .align 1 .syntax unified .thumb .thumb_func .fpu softvfp - .type fw_flash_page_prog.constprop.30, %function -fw_flash_page_prog.constprop.30: + .type fw_flash_page_prog.constprop.29, %function +fw_flash_page_prog.constprop.29: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r10, lr} mov r5, r1 - ldr r8, .L2353+12 + ldr r8, .L2311+12 sub sp, sp, #20 mov r6, r2 ldrb r1, [r8, #9] @ zero_extendqisi2 bl __aeabi_uidiv - ldr r3, .L2353 + ldr r3, .L2311 mov r4, r0 ldrb r10, [r3] @ zero_extendqisi2 - ldr r3, .L2353+4 + ldr r3, .L2311+4 ldrb r0, [r3] @ zero_extendqisi2 bl nandc_bch_sel ldrb r3, [r8, #7] @ zero_extendqisi2 cmp r3, #9 - bne .L2349 - ldr r3, .L2353+8 + bne .L2307 + ldr r3, .L2311+8 ldrb r7, [r3] @ zero_extendqisi2 - cbnz r7, .L2349 + cbnz r7, .L2307 ldrb r3, [r8, #12] @ zero_extendqisi2 cmp r3, #3 - bne .L2350 + bne .L2308 mov r3, r6 mov r2, r5 mov r1, r4 mov r0, r7 bl ymtc_flash_tlc_page_prog -.L2352: +.L2310: mov r4, r0 mov r0, r10 bl nandc_bch_sel @@ -14947,8 +14666,8 @@ fw_flash_page_prog.constprop.30: add sp, sp, #20 @ sp needed pop {r4, r5, r6, r7, r8, r10, pc} -.L2350: - ldr r8, .L2353+16 +.L2308: + ldr r8, .L2311+16 mov r2, #16384 movs r1, #255 ldr r0, [r8] @@ -14963,8 +14682,8 @@ fw_flash_page_prog.constprop.30: str r3, [sp] mov r3, r6 bl flash_dual_page_prog - b .L2352 -.L2349: + b .L2310 +.L2307: movs r3, #4 mov r2, r5 str r3, [sp] @@ -14972,16 +14691,16 @@ fw_flash_page_prog.constprop.30: mov r3, r6 movs r0, #0 bl flash_prog_page - b .L2352 -.L2354: + b .L2310 +.L2312: .align 2 -.L2353: - .word .LANCHOR50 - .word .LANCHOR17 - .word .LANCHOR19 - .word .LANCHOR33 - .word .LANCHOR166 - .size fw_flash_page_prog.constprop.30, .-fw_flash_page_prog.constprop.30 +.L2311: + .word .LANCHOR49 + .word .LANCHOR22 + .word .LANCHOR24 + .word .LANCHOR32 + .word .LANCHOR163 + .size fw_flash_page_prog.constprop.29, .-fw_flash_page_prog.constprop.29 .section .text.idb_write_data,"ax",%progbits .align 1 .global idb_write_data @@ -14999,79 +14718,79 @@ idb_write_data: sub sp, sp, #152 mov r7, r2 mov r5, r3 - ldr r6, .L2484 - bne .L2356 + ldr r6, .L2442 + bne .L2314 ldr r3, [r2] - ldr r2, .L2484+4 + ldr r2, .L2442+4 cmp r3, r2 - beq .L2357 - ldr r2, .L2484+8 + beq .L2315 + ldr r2, .L2442+8 cmp r3, r2 - beq .L2357 + beq .L2315 add r2, r2, #327680 cmp r3, r2 - bne .L2356 -.L2357: - ldr r8, .L2484+16 + bne .L2314 +.L2315: + ldr r8, .L2442+16 movs r2, #1 strb r2, [r6] ldr r3, [r8] - cbnz r3, .L2358 + cbnz r3, .L2316 mov r0, #262144 bl ftl_malloc str r0, [r8] -.L2358: - ldr r3, .L2484+12 +.L2316: + ldr r3, .L2442+12 movs r2, #64 str r2, [r3] -.L2356: +.L2314: ldrb r0, [r6] @ zero_extendqisi2 cmp r0, #0 - beq .L2355 - ldr r3, .L2484+16 + beq .L2313 + ldr r3, .L2442+16 ldr r10, [r3] mov r8, r3 cmp r10, #0 - beq .L2483 + beq .L2441 adds r3, r4, r5 cmp r3, #63 str r3, [sp, #72] - bls .L2360 + bls .L2318 cmp r4, #576 - bcs .L2361 - ldr r10, .L2484+24 + bcs .L2319 + ldr r10, .L2442+24 ldr r3, [r10] - cbz r3, .L2362 -.L2365: - ldr r3, .L2484+20 + cbz r3, .L2320 +.L2323: + ldr r3, .L2442+20 cmp r4, #64 mov r2, #1 ldr r0, [r8] str r2, [r3] - bhi .L2478 + bhi .L2436 rsb r1, r4, #64 subs r2, r5, r1 add r1, r7, r1, lsl #9 lsls r2, r2, #9 -.L2482: +.L2440: bl ftl_memcpy -.L2366: - ldr r3, .L2484+12 +.L2324: + ldr r3, .L2442+12 ldr r3, [r3] cmp r4, r3 itt ne movne r3, #0 strbne r3, [r6] - b .L2423 -.L2362: + b .L2381 +.L2320: mov r0, #262144 bl ftl_malloc str r0, [r10] cmp r0, #0 - bne .L2365 + bne .L2323 mov r0, #-1 - b .L2355 -.L2478: + b .L2313 +.L2436: rsb r2, r4, #576 sub r3, r4, #64 cmp r2, r5 @@ -15080,52 +14799,52 @@ idb_write_data: movcs r2, r5 add r0, r0, r3, lsl #9 lsls r2, r2, #9 - b .L2482 -.L2485: + b .L2440 +.L2443: .align 2 -.L2484: - .word .LANCHOR143 +.L2442: + .word .LANCHOR140 .word -52655045 .word 1397640018 - .word .LANCHOR177 + .word .LANCHOR174 + .word .LANCHOR138 + .word .LANCHOR139 .word .LANCHOR141 - .word .LANCHOR142 - .word .LANCHOR144 -.L2360: +.L2318: cmp r4, #576 - bcc .L2366 -.L2361: - ldr r3, .L2486 + bcc .L2324 +.L2319: + ldr r3, .L2444 ldr r3, [r3] cmp r3, #0 - beq .L2366 + beq .L2324 ldr r3, [r10] - ldr r2, .L2486+4 + ldr r2, .L2444+4 cmp r3, r2 - beq .L2367 - ldr r2, .L2486+8 + beq .L2325 + ldr r2, .L2444+8 cmp r3, r2 - beq .L2367 + beq .L2325 add r2, r2, #327680 cmp r3, r2 - bne .L2368 -.L2367: - ldr r7, .L2486+12 + bne .L2326 +.L2325: + ldr r7, .L2444+12 ldrb r3, [r7] @ zero_extendqisi2 str r3, [sp, #24] - ldr r3, .L2486+16 + ldr r3, .L2444+16 ldrb r2, [r3] @ zero_extendqisi2 mov r8, r3 ldr r3, [sp, #24] str r2, [sp, #12] cmp r3, #0 - beq .L2369 + beq .L2327 clz fp, r2 ldrh r3, [sp, #24] lsr fp, fp, #5 str r3, [sp, #36] -.L2370: - ldr r6, .L2486+20 +.L2328: + ldr r6, .L2444+20 movs r0, #0 ldrb r5, [r6, #9] @ zero_extendqisi2 ldrh r4, [r6, #26] @@ -15136,7 +14855,7 @@ idb_write_data: movw r6, #4098 strb r3, [r7] lsls r0, r0, #2 - ldr r7, .L2486+24 + ldr r7, .L2444+24 bl __aeabi_idiv cmp r0, #512 mov r3, r0 @@ -15146,72 +14865,72 @@ idb_write_data: str r3, [sp, #32] movw r2, #65023 movs r3, #0 -.L2376: +.L2334: ldr r0, [r1, #-4]! - cbnz r0, .L2372 + cbnz r0, .L2330 cmp r3, #0 - bne .L2373 + bne .L2331 str r7, [r1, #2048] -.L2374: +.L2332: adds r3, r3, #1 subs r2, r2, #1 cmp r3, r6 it hi movhi r3, #0 cmp r2, #4096 - bne .L2376 -.L2372: + bne .L2334 +.L2330: ldr r3, [sp, #32] ldr r1, [r10, r2, lsl #2] - ldr r0, .L2486+28 + ldr r0, .L2444+28 bl printf mul r3, r5, r4 str r3, [sp, #84] movs r3, #0 str r3, [sp, #16] str r3, [sp, #28] -.L2418: - ldr r3, .L2486+32 +.L2376: + ldr r3, .L2444+32 mov r2, #512 movs r1, #0 ldr r0, [r3] bl ftl_memset - ldr r3, .L2486+36 + ldr r3, .L2444+36 ldr r2, [sp, #28] ldr r3, [r3] add r3, r3, r2 ldrb r3, [r3, #32] @ zero_extendqisi2 cmp r3, #255 - beq .L2377 + beq .L2335 ldr r2, [sp, #84] muls r3, r2, r3 str r3, [sp, #8] cmp fp, #0 - beq .L2378 + beq .L2336 ldr r3, [sp, #28] - ldr r5, .L2486+12 - ldr r4, .L2486+16 + ldr r5, .L2444+12 + ldr r4, .L2444+16 bic r3, r3, #2 cmp r3, #1 - beq .L2379 + beq .L2337 cmp fp, #3 - bne .L2380 -.L2379: + bne .L2338 +.L2337: ldrb r3, [sp, #36] @ zero_extendqisi2 -.L2480: +.L2438: strb r3, [r5] strb r3, [r4] -.L2378: - ldr r7, .L2486+20 +.L2336: + ldr r7, .L2444+20 movs r5, #0 - ldr r3, .L2486+40 + ldr r3, .L2444+40 ldr r0, [sp, #8] ldrb r6, [r7, #9] @ zero_extendqisi2 ldrb r3, [r3] @ zero_extendqisi2 ldrh r4, [r7, #26] mov r1, r6 str r3, [sp, #76] - ldr r3, .L2486+40 + ldr r3, .L2444+40 muls r4, r6, r4 strb r5, [r3] bl __aeabi_uidiv @@ -15233,31 +14952,31 @@ idb_write_data: ldr r2, [sp, #40] str r0, [sp, #48] cmp r3, r2 - bne .L2433 - ldr r3, .L2486+44 + bne .L2391 + ldr r3, .L2444+44 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #9 - bne .L2433 - ldr r3, .L2486+32 + bne .L2391 + ldr r3, .L2444+32 mov r2, #1024 mov r1, r5 ldr r4, [r3] mov r0, r4 bl ftl_memset - ldr r2, .L2486+48 + ldr r2, .L2444+48 movs r3, #12 str r5, [r4, #12] strb r5, [r4, #16] stm r4, {r2, r3} - ldr r3, .L2486+16 + ldr r3, .L2444+16 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L2382 + cbz r3, .L2340 ldrb r3, [r7, #29] @ zero_extendqisi2 strb r3, [r4, #16] -.L2382: +.L2340: movs r3, #4 strb r3, [r4, #17] - ldr r3, .L2486+20 + ldr r3, .L2444+20 ldrb r1, [r3, #12] @ zero_extendqisi2 ldrh r0, [r3, #10] bl __aeabi_idiv @@ -15277,22 +14996,22 @@ idb_write_data: str r0, [r4, #8] subs r3, r3, #4 str r3, [sp, #20] -.L2381: +.L2339: mov r8, r10 movs r7, #0 -.L2384: +.L2342: ldr r3, [sp, #48] cmp r3, r7 - bhi .L2395 - ldr r3, .L2486+32 + bhi .L2353 + ldr r3, .L2444+32 movs r4, #0 ldr r0, [sp, #8] movs r6, #4 ldr r5, [r3] - ldr r3, .L2486+20 + ldr r3, .L2444+20 ldrb r2, [r3, #9] @ zero_extendqisi2 ldrh r1, [r3, #26] - ldr r3, .L2486+40 + ldr r3, .L2444+40 str r2, [sp, #64] strb r4, [r3] muls r1, r2, r1 @@ -15306,101 +15025,101 @@ idb_write_data: str r3, [sp, #48] ldr r3, [sp, #20] str r3, [sp, #60] -.L2396: +.L2354: ldr r3, [sp, #60] cmp r4, r3 - bcc .L2412 - ldr r3, .L2486+40 + bcc .L2370 + ldr r3, .L2444+40 ldrb r2, [sp, #76] @ zero_extendqisi2 strb r2, [r3] cmp fp, #0 - beq .L2413 + beq .L2371 movs r0, #0 bl zftl_flash_exit_slc_mode - ldr r2, .L2486+12 + ldr r2, .L2444+12 movs r3, #0 strb r3, [r2] - ldr r2, .L2486+16 + ldr r2, .L2444+16 strb r3, [r2] -.L2413: +.L2371: ldr r3, [sp, #20] movs r4, #0 lsls r1, r3, #7 - ldr r3, .L2486+32 + ldr r3, .L2444+32 ldr r0, [r3] -.L2414: +.L2372: cmp r4, r1 - bne .L2416 + bne .L2374 ldr r3, [sp, #16] adds r3, r3, #1 cmp r3, #5 str r3, [sp, #16] - bls .L2377 - b .L2425 -.L2369: + bls .L2335 + b .L2383 +.L2327: ldr r3, [sp, #12] cmp r3, #3 - beq .L2429 + beq .L2387 cmp r3, #2 - bne .L2430 + bne .L2388 str r3, [sp, #36] mov fp, #3 - b .L2370 -.L2429: + b .L2328 +.L2387: ldr r3, [sp, #12] mov fp, #2 str r3, [sp, #36] - b .L2370 -.L2430: + b .L2328 +.L2388: ldr r3, [sp, #24] str r3, [sp, #36] mov fp, r3 - b .L2370 -.L2373: + b .L2328 +.L2331: ldr r0, [r10, r3, lsl #2] str r0, [r1, #2048] - b .L2374 -.L2380: + b .L2332 +.L2338: movs r0, #0 bl zftl_flash_exit_slc_mode movs r3, #0 - b .L2480 -.L2433: + b .L2438 +.L2391: ldr r3, [sp, #32] mov r4, r5 str r3, [sp, #20] - b .L2381 -.L2487: + b .L2339 +.L2445: .align 2 -.L2486: - .word .LANCHOR142 +.L2444: + .word .LANCHOR139 .word -52655045 .word 1397640018 .word .LANCHOR0 - .word .LANCHOR19 - .word .LANCHOR33 + .word .LANCHOR24 + .word .LANCHOR32 .word 1330594389 - .word .LC135 - .word .LANCHOR144 + .word .LC132 + .word .LANCHOR141 + .word .LANCHOR6 + .word .LANCHOR51 .word .LANCHOR27 - .word .LANCHOR52 - .word .LANCHOR28 .word 1179535694 -.L2395: +.L2353: ldr r3, [sp, #44] adds r5, r3, r7 - ldr r3, .L2488 + ldr r3, .L2446 ubfx r5, r5, #2, #16 adds r2, r5, #1 ldrh r0, [r3, r2, lsl #1] - ldr r3, .L2488+4 + ldr r3, .L2446+4 ldrb r1, [r3] @ zero_extendqisi2 cmp r1, #0 - bne .L2385 + bne .L2343 mov r2, r0 -.L2386: - ldr r0, .L2488+8 - ldr r3, .L2488 +.L2344: + ldr r0, .L2446+8 + ldr r3, .L2446 ldrb r0, [r0] @ zero_extendqisi2 cmp r0, #9 itt ne @@ -15410,19 +15129,19 @@ idb_write_data: movw r2, #61424 str r2, [sp, #92] ldrh r2, [r3, r5, lsl #1] - cbnz r1, .L2390 + cbnz r1, .L2348 mov r5, r2 -.L2391: +.L2349: mul r0, r5, r6 add r2, sp, #88 - cbnz r4, .L2392 + cbnz r4, .L2350 ldr r3, [sp, #40] mov r1, r8 add r0, r0, r3 - bl fw_flash_page_prog.constprop.30 - ldr r3, .L2488+4 + bl fw_flash_page_prog.constprop.29 + ldr r3, .L2446+4 ldrb r2, [r3] @ zero_extendqisi2 - cbnz r2, .L2393 + cbnz r2, .L2351 adds r5, r5, #1 mov r1, r6 uxth r5, r5 @@ -15432,42 +15151,42 @@ idb_write_data: mov r1, r0 mov r0, r4 bl id_block_prog_msb_ff_data -.L2393: +.L2351: ldr r3, [sp, #20] add r8, r8, #2048 add r2, r3, #16 cmp r7, r2 - bcc .L2394 + bcc .L2352 add r2, r3, #20 cmp r7, r2 - bcs .L2394 + bcs .L2352 add r8, r10, #2048 -.L2394: +.L2352: adds r3, r7, #4 movs r4, #0 uxth r7, r3 - b .L2384 -.L2385: - ldr r0, .L2488+12 + b .L2342 +.L2343: + ldr r0, .L2446+12 ldrb r0, [r0] @ zero_extendqisi2 cmp r0, #0 - beq .L2386 + beq .L2344 lsls r2, r2, #1 - b .L2386 -.L2390: - ldr r2, .L2488+12 + b .L2344 +.L2348: + ldr r2, .L2446+12 ldrb r2, [r2] @ zero_extendqisi2 cmp r2, #0 - beq .L2391 + beq .L2349 lsls r5, r5, #1 - b .L2391 -.L2392: + b .L2349 +.L2350: ldr r3, [sp, #40] mov r1, r4 add r0, r0, r3 - bl fw_flash_page_prog.constprop.30 - b .L2394 -.L2412: + bl fw_flash_page_prog.constprop.29 + b .L2352 +.L2370: ldr r3, [sp, #48] mov r1, r6 subs r3, r6, r3 @@ -15476,32 +15195,32 @@ idb_write_data: ldr r3, [sp, #44] adds r0, r3, r4 bl __aeabi_uidiv - ldr r2, .L2488+4 + ldr r2, .L2446+4 uxth r0, r0 - ldr r3, .L2488 + ldr r3, .L2446 ldrb r2, [r2] @ zero_extendqisi2 ldrh r3, [r3, r0, lsl #1] cmp r2, #0 - bne .L2397 + bne .L2355 mov r0, r3 -.L2398: - ldr r3, .L2488+16 +.L2356: + ldr r3, .L2446+16 ldr r2, [sp, #68] ldrb r8, [r3] @ zero_extendqisi2 ldr r3, [sp, #48] add r3, r3, r2 - ldr r2, .L2488+20 + ldr r2, .L2446+20 ldrb r1, [r2, #9] @ zero_extendqisi2 ldr r2, [sp, #64] mla r0, r0, r2, r3 bl __aeabi_uidiv - ldr r3, .L2488+24 + ldr r3, .L2446+24 str r0, [sp, #40] mov r0, r8 ldrb r3, [r3] @ zero_extendqisi2 str r3, [sp, #80] bl nandc_bch_sel -.L2399: +.L2357: str r6, [sp] add r3, sp, #88 mov r2, r5 @@ -15509,22 +15228,22 @@ idb_write_data: movs r0, #0 bl flash_read_page adds r0, r0, #1 - bne .L2400 - ldr r3, .L2488+28 + bne .L2358 + ldr r3, .L2446+28 ldrb r3, [r3] @ zero_extendqisi2 mov r7, r3 cmp r3, #0 - bne .L2401 -.L2404: - ldr r3, .L2488+32 + bne .L2359 +.L2362: + ldr r3, .L2446+32 ldr r3, [r3] mov r7, r3 cmp r3, #0 - bne .L2402 -.L2403: - ldr r3, .L2488+36 + bne .L2360 +.L2361: + ldr r3, .L2446+36 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L2406 + cbz r3, .L2364 str r6, [sp] add r3, sp, #88 mov r2, r5 @@ -15532,12 +15251,12 @@ idb_write_data: movs r0, #0 bl flash_ddr_tuning_read adds r0, r0, #1 - bne .L2400 -.L2406: + bne .L2358 +.L2364: cmp r8, #16 - bne .L2407 + bne .L2365 mov r7, #-1 -.L2408: +.L2366: ldr r0, [sp, #80] bl nandc_bch_sel ldr r3, [sp, #56] @@ -15548,35 +15267,35 @@ idb_write_data: str r3, [sp, #56] ldr r3, [sp, #8] cmp r3, r2 - bne .L2410 + bne .L2368 cmp r4, #0 - bne .L2410 + bne .L2368 ldr r3, [sp, #56] cmp r3, #0 - bne .L2410 + bne .L2368 ldr r2, [r5] - ldr r3, .L2488+40 + ldr r3, .L2446+40 cmp r2, r3 - bne .L2410 + bne .L2368 ldr r3, [sp, #60] ldr r2, [sp, #52] ldrb r6, [r5, #17] @ zero_extendqisi2 add r3, r3, r2 str r3, [sp, #60] -.L2411: +.L2369: ldr r3, [sp, #52] add r3, r3, r4 uxth r4, r3 - b .L2396 -.L2397: - ldr r3, .L2488+12 + b .L2354 +.L2355: + ldr r3, .L2446+12 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - beq .L2398 + beq .L2356 lsls r0, r0, #1 - b .L2398 -.L2401: - ldr r3, .L2488+28 + b .L2356 +.L2359: + ldr r3, .L2446+28 movs r0, #0 mov r2, r5 ldr r1, [sp, #40] @@ -15584,14 +15303,14 @@ idb_write_data: add r3, sp, #88 str r6, [sp] bl flash_read_page - ldr r3, .L2488+28 + ldr r3, .L2446+28 adds r0, r0, #1 strb r7, [r3] - beq .L2404 -.L2400: + beq .L2362 +.L2358: movs r7, #0 - b .L2408 -.L2402: + b .L2366 +.L2360: str r6, [sp] add r3, sp, #88 mov r2, r5 @@ -15599,115 +15318,115 @@ idb_write_data: movs r0, #0 blx r7 adds r0, r0, #1 - beq .L2403 - b .L2400 -.L2407: + beq .L2361 + b .L2358 +.L2365: movs r0, #16 mov r8, #16 bl nandc_bch_sel - b .L2399 -.L2410: + b .L2357 +.L2368: ldr r3, [sp, #52] add r5, r5, r3, lsl #9 movs r3, #0 str r3, [sp, #48] - b .L2411 -.L2416: + b .L2369 +.L2374: ldr r2, [r0, r4, lsl #2] ldr r3, [r10, r4, lsl #2] cmp r2, r3 - beq .L2415 + beq .L2373 mov r2, #512 movs r1, #0 bl ftl_memset mov r1, r4 - ldr r0, .L2488+44 + ldr r0, .L2446+44 bl printf ldr r1, [sp, #8] movs r0, #0 bl flash_erase_block -.L2377: +.L2335: ldr r3, [sp, #28] adds r3, r3, #1 cmp r3, #4 str r3, [sp, #28] - bne .L2418 -.L2425: + bne .L2376 +.L2383: movs r0, #0 bl zftl_flash_exit_slc_mode - ldr r3, .L2488+48 + ldr r3, .L2446+48 ldrb r2, [sp, #24] @ zero_extendqisi2 strb r2, [r3] cmp fp, #0 - beq .L2419 - ldr r3, .L2488+4 + beq .L2377 + ldr r3, .L2446+4 ldrb r2, [sp, #12] @ zero_extendqisi2 strb r2, [r3] -.L2419: - ldr r3, .L2488+52 +.L2377: + ldr r3, .L2446+52 movs r2, #2 movs r0, #0 strb r2, [r3] bl zftl_flash_enter_slc_mode ldr r3, [sp, #16] - cbnz r3, .L2368 + cbnz r3, .L2326 mov r1, r3 - ldr r0, .L2488+56 + ldr r0, .L2446+56 bl printf -.L2368: - ldr r5, .L2488+60 +.L2326: + ldr r5, .L2446+60 movs r4, #0 - ldr r3, .L2488+64 + ldr r3, .L2446+64 ldr r0, [r5] str r4, [r3] - ldr r3, .L2488+68 + ldr r3, .L2446+68 strb r4, [r3] - cbz r0, .L2421 + cbz r0, .L2379 bl free str r4, [r5] -.L2421: - ldr r4, .L2488+72 +.L2379: + ldr r4, .L2446+72 ldr r0, [r4] - cbz r0, .L2423 + cbz r0, .L2381 bl free movs r3, #0 str r3, [r4] -.L2423: - ldr r3, .L2488+76 +.L2381: + ldr r3, .L2446+76 ldr r2, [sp, #72] str r2, [r3] -.L2483: +.L2441: movs r0, #0 -.L2355: +.L2313: add sp, sp, #152 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2415: +.L2373: adds r4, r4, #1 - b .L2414 -.L2489: + b .L2372 +.L2447: .align 2 -.L2488: +.L2446: .word .LANCHOR3 - .word .LANCHOR19 - .word .LANCHOR28 + .word .LANCHOR24 + .word .LANCHOR27 .word .LANCHOR1 - .word .LANCHOR17 - .word .LANCHOR33 - .word .LANCHOR50 - .word .LANCHOR52 - .word .LANCHOR174 - .word .LANCHOR21 + .word .LANCHOR22 + .word .LANCHOR32 + .word .LANCHOR49 + .word .LANCHOR51 + .word .LANCHOR171 + .word .LANCHOR26 .word 1179535694 - .word .LC136 + .word .LC133 .word .LANCHOR0 - .word .LANCHOR34 - .word .LC137 + .word .LANCHOR33 + .word .LC134 + .word .LANCHOR138 + .word .LANCHOR139 + .word .LANCHOR140 .word .LANCHOR141 - .word .LANCHOR142 - .word .LANCHOR143 - .word .LANCHOR144 - .word .LANCHOR177 + .word .LANCHOR174 .size idb_write_data, .-idb_write_data .section .text.flash_start_tlc_page_prog,"ax",%progbits .align 1 @@ -15726,33 +15445,33 @@ flash_start_tlc_page_prog: ldr r3, [sp, #56] mov r4, r0 mov r7, r1 - ldr r2, .L2497 + ldr r2, .L2455 str r3, [sp, #12] ldr r5, [sp, #48] ldrb r3, [r2] @ zero_extendqisi2 mov fp, r2 ldr r10, [sp, #52] cmp r3, r6 - bhi .L2491 - movw r2, #859 - ldr r1, .L2497+4 - ldr r0, .L2497+8 + bhi .L2449 + mov r2, #868 + ldr r1, .L2455+4 + ldr r0, .L2455+8 bl printf -.L2491: +.L2449: ldrb r3, [fp] @ zero_extendqisi2 cmp r3, r6 - bls .L2490 - ldr r3, .L2497+12 + bls .L2448 + ldr r3, .L2455+12 ldrb r6, [r3, r6] @ zero_extendqisi2 - ldr r3, .L2497+16 + ldr r3, .L2455+16 mov r0, r6 ldr fp, [r3] bl nandc_cs lsls r3, r6, #8 - cbz r4, .L2493 + cbz r4, .L2451 add r1, fp, r3 str r4, [r1, #2056] -.L2493: +.L2451: add r4, fp, r3 movs r3, #128 str r7, [r4, #2056] @@ -15770,7 +15489,7 @@ flash_start_tlc_page_prog: subs r0, r5, #1 add r0, r0, r7 bl nandc_set_seed - ldr r3, .L2497+20 + ldr r3, .L2455+20 movs r1, #1 mov r0, r6 ldrb r2, [r3, #9] @ zero_extendqisi2 @@ -15782,20 +15501,20 @@ flash_start_tlc_page_prog: add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, lr} - b nandc_de_cs.constprop.33 -.L2490: + b nandc_de_cs.constprop.32 +.L2448: add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2498: +.L2456: .align 2 -.L2497: - .word .LANCHOR18 - .word .LANCHOR178 +.L2455: + .word .LANCHOR23 + .word .LANCHOR175 .word .LC0 - .word .LANCHOR30 - .word .LANCHOR13 - .word .LANCHOR33 + .word .LANCHOR29 + .word .LANCHOR7 + .word .LANCHOR32 .size flash_start_tlc_page_prog, .-flash_start_tlc_page_prog .section .text.queue_tlc_prog_cmd,"ax",%progbits .align 1 @@ -15809,7 +15528,7 @@ queue_tlc_prog_cmd: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr} movs r7, #1 - ldr r3, .L2503 + ldr r3, .L2461 mov r6, r0 mov r8, r1 ldr r2, [r0] @@ -15817,7 +15536,7 @@ queue_tlc_prog_cmd: ldr r1, [r2, #24] rsb r0, r3, #24 lsl r4, r7, r3 - ldr r3, .L2503+4 + ldr r3, .L2461+4 lsl r5, r7, r0 subs r4, r4, #1 subs r5, r5, #1 @@ -15827,7 +15546,7 @@ queue_tlc_prog_cmd: ands r4, r4, r1 uxtb r4, r4 cmp r3, #0 - beq .L2500 + beq .L2458 mov r0, r4 bl zftl_flash_exit_slc_mode ldr r3, [r6] @@ -15867,12 +15586,12 @@ queue_tlc_prog_cmd: str r3, [sp, #4] mov r3, r4 bl flash_start_one_pass_page_prog -.L2501: +.L2459: cmp r8, #0 - beq .L2499 + beq .L2457 ldr r1, [r6] movs r3, #4 - ldr r0, .L2503+8 + ldr r0, .L2461+8 strb r3, [r1, #42] movs r3, #1 strb r3, [r1, #43] @@ -15882,7 +15601,7 @@ queue_tlc_prog_cmd: @ sp needed pop {r4, r5, r6, r7, r8, lr} b buf_add_tail -.L2500: +.L2458: ldr r3, [r2, #12] mov r1, r7 ldrb r0, [r2, #44] @ zero_extendqisi2 @@ -15918,17 +15637,17 @@ queue_tlc_prog_cmd: str r3, [sp, #4] mov r3, r4 bl flash_start_tlc_page_prog - b .L2501 -.L2499: + b .L2459 +.L2457: add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, pc} -.L2504: +.L2462: .align 2 -.L2503: - .word .LANCHOR32 - .word .LANCHOR37 - .word .LANCHOR60 +.L2461: + .word .LANCHOR31 + .word .LANCHOR36 + .word .LANCHOR59 .size queue_tlc_prog_cmd, .-queue_tlc_prog_cmd .section .text.sblk_3d_tlc_dump_prog,"ax",%progbits .align 1 @@ -15943,14 +15662,14 @@ sblk_3d_tlc_dump_prog: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr} movs r7, #1 - ldr r3, .L2508 + ldr r3, .L2466 mov r5, r0 ldr r2, [r0, #24] ldrb r3, [r3] @ zero_extendqisi2 rsb r1, r3, #24 lsl r4, r7, r3 lsl r6, r7, r1 - ldr r3, .L2508+4 + ldr r3, .L2466+4 subs r6, r6, #1 subs r4, r4, #1 ands r6, r6, r2 @@ -15959,7 +15678,7 @@ sblk_3d_tlc_dump_prog: ands r4, r4, r2 uxtb r4, r4 cmp r8, #0 - beq .L2506 + beq .L2464 mov r0, r4 bl zftl_flash_exit_slc_mode ldr r3, [r5, #12] @@ -15996,7 +15715,7 @@ sblk_3d_tlc_dump_prog: str r3, [sp, #4] mov r3, r4 bl flash_start_one_pass_page_prog -.L2507: +.L2465: bl nandc_wait_flash_ready movs r1, #64 ldr r0, [r5, #24] @@ -16004,7 +15723,7 @@ sblk_3d_tlc_dump_prog: @ sp needed pop {r4, r5, r6, r7, r8, lr} b flash_wait_device_ready -.L2506: +.L2464: ldr r3, [r0, #12] mov r1, r7 movs r2, #26 @@ -16037,12 +15756,12 @@ sblk_3d_tlc_dump_prog: str r3, [sp, #4] mov r3, r4 bl flash_start_tlc_page_prog - b .L2507 -.L2509: + b .L2465 +.L2467: .align 2 -.L2508: - .word .LANCHOR32 - .word .LANCHOR37 +.L2466: + .word .LANCHOR31 + .word .LANCHOR36 .size sblk_3d_tlc_dump_prog, .-sblk_3d_tlc_dump_prog .section .text.flash_start_3d_mlc_page_prog,"ax",%progbits .align 1 @@ -16057,24 +15776,24 @@ flash_start_3d_mlc_page_prog: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r4, r5, r6, r7, r8, lr} mov r5, r2 - ldr r4, .L2513 + ldr r4, .L2471 mov r7, r0 mov r6, r1 mov r8, r3 ldrb r2, [r4] @ zero_extendqisi2 cmp r2, r1 - bhi .L2511 - mov r2, #892 - ldr r1, .L2513+4 - ldr r0, .L2513+8 + bhi .L2469 + movw r2, #903 + ldr r1, .L2471+4 + ldr r0, .L2471+8 bl printf -.L2511: +.L2469: ldrb r3, [r4] @ zero_extendqisi2 cmp r3, r6 - bls .L2510 - ldr r3, .L2513+12 + bls .L2468 + ldr r3, .L2471+12 ldrb r6, [r3, r6] @ zero_extendqisi2 - ldr r3, .L2513+16 + ldr r3, .L2471+16 mov r0, r6 ldr r4, [r3] bl nandc_cs @@ -16092,7 +15811,7 @@ flash_start_3d_mlc_page_prog: lsrs r3, r5, #16 str r3, [r4, #2052] bl nandc_set_seed - ldr r3, .L2513+20 + ldr r3, .L2471+20 movs r1, #1 mov r0, r6 ldrb r2, [r3, #9] @ zero_extendqisi2 @@ -16101,19 +15820,19 @@ flash_start_3d_mlc_page_prog: mov r3, r8 bl nandc_xfer str r7, [r4, #2056] -.L2510: +.L2468: add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, pc} -.L2514: +.L2472: .align 2 -.L2513: - .word .LANCHOR18 - .word .LANCHOR179 +.L2471: + .word .LANCHOR23 + .word .LANCHOR176 .word .LC0 - .word .LANCHOR30 - .word .LANCHOR13 - .word .LANCHOR33 + .word .LANCHOR29 + .word .LANCHOR7 + .word .LANCHOR32 .size flash_start_3d_mlc_page_prog, .-flash_start_3d_mlc_page_prog .section .text.sblk_mlc_dump_prog,"ax",%progbits .align 1 @@ -16126,7 +15845,7 @@ flash_start_3d_mlc_page_prog: sblk_mlc_dump_prog: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2520 + ldr r3, .L2478 push {r0, r1, r4, r5, r6, lr} mov r5, r0 ldr r2, [r0, #24] @@ -16143,16 +15862,16 @@ sblk_mlc_dump_prog: uxtb r4, r4 mov r0, r4 bl zftl_flash_exit_slc_mode - ldr r3, .L2520+4 + ldr r3, .L2478+4 ldr r3, [r3] lsls r3, r3, #19 - bpl .L2516 + bpl .L2474 ldr r2, [r5, #24] mov r1, r6 - ldr r0, .L2520+8 + ldr r0, .L2478+8 adds r3, r2, #1 bl printf -.L2516: +.L2474: ldr r3, [r5, #12] mov r2, r6 mov r1, r4 @@ -16172,16 +15891,16 @@ sblk_mlc_dump_prog: movs r1, #64 ldr r0, [r5, #24] bl flash_wait_device_ready - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 add sp, sp, #8 @ sp needed pop {r4, r5, r6, pc} -.L2521: +.L2479: .align 2 -.L2520: - .word .LANCHOR32 - .word .LANCHOR14 - .word .LC138 +.L2478: + .word .LANCHOR31 + .word .LANCHOR19 + .word .LC135 .size sblk_mlc_dump_prog, .-sblk_mlc_dump_prog .section .text.flash_start_page_prog,"ax",%progbits .align 1 @@ -16198,8 +15917,8 @@ flash_start_page_prog: mov fp, r2 str r3, [sp, #12] mov r8, r1 - ldr r3, .L2536 - ldr r6, .L2536+4 + ldr r3, .L2494 + ldr r6, .L2494+4 str r0, [sp, #8] ldrb r2, [r3] @ zero_extendqisi2 movs r3, #1 @@ -16211,45 +15930,45 @@ flash_start_page_prog: ldrb r2, [r6] @ zero_extendqisi2 uxtb r10, r3 cmp r2, r10 - bhi .L2523 - movw r2, #945 - ldr r1, .L2536+8 - ldr r0, .L2536+12 + bhi .L2481 + mov r2, #956 + ldr r1, .L2494+8 + ldr r0, .L2494+12 bl printf -.L2523: +.L2481: ldrb r2, [r6] @ zero_extendqisi2 cmp r2, r10 - bls .L2522 + bls .L2480 movs r2, #1 lsl r4, r2, r4 - ldr r2, .L2536+16 + ldr r2, .L2494+16 subs r4, r4, #1 ldrb r5, [r2, r10] @ zero_extendqisi2 and r4, r4, r8 - ldr r2, .L2536+20 + ldr r2, .L2494+20 ldr r7, [r2] bl nandc_rdy_status - cbnz r0, .L2525 + cbnz r0, .L2483 ldrb r2, [r6] @ zero_extendqisi2 cmp r2, #1 - bne .L2526 + bne .L2484 bl nandc_wait_flash_ready -.L2525: +.L2483: mov r0, r5 bl hynix_reconfig_rr_para mov r0, r5 bl nandc_cs tst r8, #50331648 - bne .L2527 + bne .L2485 mov r0, r4 bl slc_phy_page_address_calc - ldr r3, .L2536+24 + ldr r3, .L2494+24 mov r4, r0 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L2528 + cbz r3, .L2486 mov r0, r5 bl zftl_flash_enter_slc_mode -.L2528: +.L2486: lsls r6, r5, #8 movs r2, #128 adds r3, r7, r6 @@ -16263,16 +15982,16 @@ flash_start_page_prog: str r2, [r3, #2052] lsrs r2, r4, #16 str r2, [r3, #2052] - ldr r2, .L2536+28 + ldr r2, .L2494+28 ldrb r2, [r2] @ zero_extendqisi2 - cbz r2, .L2529 + cbz r2, .L2487 lsrs r2, r4, #24 str r2, [r3, #2052] -.L2529: +.L2487: mov r0, r4 add r7, r7, r6 bl nandc_set_seed - ldr r3, .L2536+32 + ldr r3, .L2494+32 movs r1, #1 mov r0, r5 ldrb r2, [r3, #9] @ zero_extendqisi2 @@ -16285,33 +16004,33 @@ flash_start_page_prog: add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, lr} - b nandc_de_cs.constprop.33 -.L2526: + b nandc_de_cs.constprop.32 +.L2484: movs r2, #64 mov r1, r4 mov r0, r10 bl flash_wait_device_ready_raw - b .L2525 -.L2527: + b .L2483 +.L2485: mov r0, r5 bl zftl_flash_exit_slc_mode - b .L2528 -.L2522: + b .L2486 +.L2480: add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2537: +.L2495: .align 2 -.L2536: - .word .LANCHOR32 - .word .LANCHOR18 - .word .LANCHOR180 - .word .LC0 - .word .LANCHOR30 - .word .LANCHOR13 - .word .LANCHOR0 +.L2494: .word .LANCHOR31 - .word .LANCHOR33 + .word .LANCHOR23 + .word .LANCHOR177 + .word .LC0 + .word .LANCHOR29 + .word .LANCHOR7 + .word .LANCHOR0 + .word .LANCHOR30 + .word .LANCHOR32 .size flash_start_page_prog, .-flash_start_page_prog .section .text.queue_prog_cmd,"ax",%progbits .align 1 @@ -16330,14 +16049,14 @@ queue_prog_cmd: ldr r1, [r0, #24] movs r0, #16 bl flash_start_page_prog - ldr r3, .L2546 + ldr r3, .L2504 ldr r2, [r4, #24] ldrb r0, [r3] @ zero_extendqisi2 cmp r0, #255 - beq .L2539 - ldr r3, .L2546+4 + beq .L2497 + ldr r3, .L2504+4 movs r7, #48 - ldr ip, .L2546+8 + ldr ip, .L2504+8 ldrb r1, [r3] @ zero_extendqisi2 movs r3, #1 mov lr, ip @@ -16347,20 +16066,20 @@ queue_prog_cmd: subs r3, r3, #1 uxth r3, r3 ands r2, r2, r3 -.L2541: +.L2499: mla r5, r7, r0, ip ldr r1, [r5, #24] lsrs r1, r1, r6 ands r1, r1, r3 cmp r2, r1 - bne .L2540 + bne .L2498 add r1, r5, #42 ldrb r5, [r5, #42] @ zero_extendqisi2 cmp r5, #7 - bne .L2540 + bne .L2498 movs r3, #3 strb r3, [r1] -.L2539: +.L2497: movs r3, #3 mov r1, r4 strb r3, [r4, #42] @@ -16368,21 +16087,21 @@ queue_prog_cmd: strb r3, [r4, #43] movs r3, #255 strb r3, [r4] - ldr r0, .L2546 + ldr r0, .L2504 pop {r3, r4, r5, r6, r7, lr} b buf_add_tail -.L2540: +.L2498: muls r0, r7, r0 ldrb r0, [lr, r0] @ zero_extendqisi2 cmp r0, #255 - bne .L2541 - b .L2539 -.L2547: + bne .L2499 + b .L2497 +.L2505: .align 2 -.L2546: - .word .LANCHOR60 - .word .LANCHOR32 - .word .LANCHOR56 +.L2504: + .word .LANCHOR59 + .word .LANCHOR31 + .word .LANCHOR55 .size queue_prog_cmd, .-queue_prog_cmd .section .text.flash_complete_plane_page_read,"ax",%progbits .align 1 @@ -16395,7 +16114,7 @@ queue_prog_cmd: flash_complete_plane_page_read: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2578 + ldr r3, .L2536 push {r0, r1, r2, r4, r5, r6, r7, r8, r10, lr} movs r5, #1 mov r8, r2 @@ -16407,47 +16126,47 @@ flash_complete_plane_page_read: lsr r3, r0, r4 subs r5, r5, #1 ands r5, r5, r3 - ldr r3, .L2578+4 + ldr r3, .L2536+4 uxtb r5, r5 ldrb r2, [r3] @ zero_extendqisi2 mov r10, r3 cmp r2, r5 - bhi .L2549 - movw r2, #1055 - ldr r1, .L2578+8 - ldr r0, .L2578+12 + bhi .L2507 + movw r2, #1070 + ldr r1, .L2536+8 + ldr r0, .L2536+12 bl printf -.L2549: +.L2507: ldrb r3, [r10] @ zero_extendqisi2 cmp r3, r5 - bls .L2560 - ldr r3, .L2578+16 + bls .L2518 + ldr r3, .L2536+16 movs r0, #1 lsl r4, r0, r4 ldrb r10, [r3, r5] @ zero_extendqisi2 subs r4, r4, #1 - ldr r3, .L2578+20 + ldr r3, .L2536+20 ands r4, r4, r6 ubfx r6, r6, #24, #2 mov r0, r10 ldr r5, [r3] bl nandc_cs - cbnz r6, .L2551 + cbnz r6, .L2509 mov r0, r4 bl slc_phy_page_address_calc mov r4, r0 -.L2551: - ldr r3, .L2578+24 +.L2509: + ldr r3, .L2536+24 uxtb ip, r4 lsrs r0, r4, #8 lsrs r1, r4, #16 ldrb r3, [r3, #16] @ zero_extendqisi2 cmp r3, #1 lsl r3, r10, #8 - bne .L2552 + bne .L2510 adds r2, r5, r3 mov lr, #6 -.L2577: +.L2535: str lr, [r2, #2056] mov lr, #0 str lr, [r2, #2052] @@ -16455,58 +16174,58 @@ flash_complete_plane_page_read: str ip, [r2, #2052] str r0, [r2, #2052] str r1, [r2, #2052] - ldr r1, .L2578+28 + ldr r1, .L2536+28 ldrb r1, [r1] @ zero_extendqisi2 - cbz r1, .L2556 + cbz r1, .L2514 lsrs r1, r4, #24 str r1, [r2, #2052] -.L2556: +.L2514: add r3, r3, r5 -.L2573: +.L2531: movs r2, #224 str r2, [r3, #2056] - ldr r3, .L2578+32 + ldr r3, .L2536+32 ldr r3, [r3] ldrb r3, [r3, #12] @ zero_extendqisi2 cmp r3, #3 - bne .L2558 + bne .L2516 cmp r6, #0 - beq .L2558 - ldr r3, .L2578+36 + beq .L2516 + ldr r3, .L2536+36 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - bne .L2558 - ldr r3, .L2578+40 + bne .L2516 + ldr r3, .L2536+40 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - bne .L2558 + bne .L2516 add r4, r4, r4, lsl #1 subs r6, r6, #1 adds r0, r4, r6 -.L2574: +.L2532: bl nandc_set_seed - ldr r3, .L2578+44 + ldr r3, .L2536+44 movs r1, #0 mov r0, r10 ldrb r2, [r3, #9] @ zero_extendqisi2 mov r3, r7 str r8, [sp] bl nandc_xfer - bl nandc_de_cs.constprop.33 -.L2548: + bl nandc_de_cs.constprop.32 +.L2506: add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, r8, r10, pc} -.L2552: - ldr r2, .L2578+32 +.L2510: + ldr r2, .L2536+32 ldr r2, [r2] ldrb r2, [r2, #12] @ zero_extendqisi2 cmp r2, #3 add r2, r5, r3 - bne .L2555 + bne .L2513 mov lr, #5 - b .L2577 -.L2555: + b .L2535 +.L2513: mov lr, #0 str lr, [r2, #2056] str lr, [r2, #2052] @@ -16514,40 +16233,40 @@ flash_complete_plane_page_read: str ip, [r2, #2052] str r0, [r2, #2052] str r1, [r2, #2052] - ldr r1, .L2578+28 + ldr r1, .L2536+28 ldrb r1, [r1] @ zero_extendqisi2 - cbz r1, .L2557 + cbz r1, .L2515 lsrs r1, r4, #24 str r1, [r2, #2052] -.L2557: +.L2515: movs r1, #5 add r3, r3, r5 str r1, [r3, #2056] movs r1, #0 str r1, [r2, #2052] str r1, [r2, #2052] - b .L2573 -.L2558: + b .L2531 +.L2516: mov r0, r4 - b .L2574 -.L2560: + b .L2532 +.L2518: mov r0, #-1 - b .L2548 -.L2579: + b .L2506 +.L2537: .align 2 -.L2578: - .word .LANCHOR32 - .word .LANCHOR18 - .word .LANCHOR181 - .word .LC0 - .word .LANCHOR30 - .word .LANCHOR13 - .word .LANCHOR20 +.L2536: .word .LANCHOR31 - .word .LANCHOR16 + .word .LANCHOR23 + .word .LANCHOR178 + .word .LC0 + .word .LANCHOR29 + .word .LANCHOR7 + .word .LANCHOR25 + .word .LANCHOR30 + .word .LANCHOR21 + .word .LANCHOR35 .word .LANCHOR36 - .word .LANCHOR37 - .word .LANCHOR33 + .word .LANCHOR32 .size flash_complete_plane_page_read, .-flash_complete_plane_page_read .section .text.flash_complete_page_read,"ax",%progbits .align 1 @@ -16561,9 +16280,9 @@ flash_complete_page_read: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r10, fp, lr} - mov r10, r0 - ldr r3, .L2611 - mov r8, r1 + mov fp, r0 + ldr r3, .L2569 + mov r10, r1 ubfx r5, r0, #24, #2 str r2, [sp, #8] ldrb r6, [r3] @ zero_extendqisi2 @@ -16571,7 +16290,7 @@ flash_complete_page_read: rsb r2, r6, #24 lsl r4, r3, r2 lsl r6, r3, r6 - ldr r3, .L2611+4 + ldr r3, .L2569+4 lsr r2, r0, r2 subs r6, r6, #1 ands r6, r6, r2 @@ -16580,180 +16299,177 @@ flash_complete_page_read: uxtb r6, r6 ands r4, r4, r0 cmp r3, r6 - bhi .L2581 - movw r2, #1212 - ldr r1, .L2611+8 - ldr r0, .L2611+12 + bhi .L2539 + mov r2, #1232 + ldr r1, .L2569+8 + ldr r0, .L2569+12 bl printf -.L2581: - ldr r3, .L2611+16 - ldrb r7, [r3, r6] @ zero_extendqisi2 - ldr r3, .L2611+20 - mov r0, r7 - ldr fp, [r3] +.L2539: + ldr r3, .L2569+16 + ldrb r8, [r3, r6] @ zero_extendqisi2 + ldr r3, .L2569+20 + mov r0, r8 + ldr r6, [r3] bl nandc_cs - cbnz r5, .L2582 + cbnz r5, .L2540 mov r0, r4 bl slc_phy_page_address_calc mov r4, r0 -.L2582: - lsls r2, r7, #8 - ldr r6, .L2611+24 - movs r1, #5 - add r3, fp, r2 - str r1, [r3, #2056] - movs r1, #0 - str r1, [r3, #2052] - str r1, [r3, #2052] - ldrb r1, [r6, #12] @ zero_extendqisi2 - cmp r1, #3 - bne .L2583 - uxtb r1, r4 - str r1, [r3, #2052] - lsrs r1, r4, #8 - str r1, [r3, #2052] - lsrs r1, r4, #16 - str r1, [r3, #2052] -.L2583: +.L2540: + ldr r7, .L2569+24 + ldrb r3, [r7, #12] @ zero_extendqisi2 + cmp r3, #3 + bne .L2541 + add r6, r6, r8, lsl #8 + movs r3, #5 + str r3, [r6, #2056] + movs r3, #0 + str r3, [r6, #2052] + str r3, [r6, #2052] + uxtb r3, r4 + str r3, [r6, #2052] + lsrs r3, r4, #8 + str r3, [r6, #2052] + lsrs r3, r4, #16 + str r3, [r6, #2052] movs r3, #224 - add fp, fp, r2 - str r3, [fp, #2056] - ldr r3, .L2611+28 + str r3, [r6, #2056] +.L2541: + ldr r3, .L2569+28 ldr r3, [r3] ldrb r3, [r3, #12] @ zero_extendqisi2 cmp r3, #3 - bne .L2584 + bne .L2542 cmp r5, #0 - beq .L2584 - ldr r3, .L2611+32 + beq .L2542 + ldr r3, .L2569+32 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - bne .L2584 - ldr r3, .L2611+36 + bne .L2542 + ldr r3, .L2569+36 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - bne .L2584 + bne .L2542 add r3, r4, r4, lsl #1 subs r0, r5, #1 add r0, r0, r3 -.L2610: +.L2568: bl nandc_set_seed ldr r3, [sp, #8] movs r1, #0 - ldrb r2, [r6, #9] @ zero_extendqisi2 - mov r0, r7 + ldrb r2, [r7, #9] @ zero_extendqisi2 + mov r0, r8 str r3, [sp] - mov r3, r8 + mov r3, r10 bl nandc_xfer adds r1, r0, #1 - bne .L2586 - ldr fp, .L2611+52 - ldrb r3, [fp] @ zero_extendqisi2 + bne .L2544 + ldr r6, .L2569+40 + ldrb r3, [r6] @ zero_extendqisi2 str r3, [sp, #12] cmp r3, #0 - beq .L2587 + beq .L2545 movs r3, #0 - mov r2, r8 - strb r3, [fp] + mov r2, r10 + strb r3, [r6] orr r1, r4, r5, lsl #24 - ldrb r3, [r6, #9] @ zero_extendqisi2 - mov r0, r7 + ldrb r3, [r7, #9] @ zero_extendqisi2 + mov r0, r8 str r3, [sp] ldr r3, [sp, #8] bl flash_read_page ldrb r3, [sp, #12] @ zero_extendqisi2 - strb r3, [fp] - cbnz r5, .L2588 -.L2593: - ldr r3, .L2611+40 + strb r3, [r6] + cbnz r5, .L2546 +.L2551: + ldr r3, .L2569+44 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L2588 - ldr r3, .L2611+44 + cbz r3, .L2546 + ldr r3, .L2569+48 ldrb r3, [r3] @ zero_extendqisi2 add r3, r3, r3, lsl #1 cmp r0, r3, asr #2 - blt .L2588 - ldrb r3, [r6, #19] @ zero_extendqisi2 + blt .L2546 + ldrb r3, [r7, #19] @ zero_extendqisi2 subs r3, r3, #4 cmp r3, #4 it ls movls r0, #256 -.L2580: +.L2538: add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2584: +.L2542: mov r0, r4 - b .L2610 -.L2588: + b .L2568 +.L2546: adds r2, r0, #1 - bne .L2580 -.L2594: - ldr r3, .L2611+48 - ldr fp, [r3] - cmp fp, #0 - bne .L2590 -.L2592: - ldr r3, .L2611+52 - mov r2, r10 + bne .L2538 +.L2552: + ldr r3, .L2569+52 + ldr r6, [r3] + cbnz r6, .L2548 +.L2550: + ldr r3, .L2569+40 + mov r2, fp movs r1, #0 - ldr r0, .L2611+56 + ldr r0, .L2569+56 ldrb r3, [r3] @ zero_extendqisi2 str r3, [sp] mov r3, #-1 bl printf - ldr r3, .L2611+60 + ldr r3, .L2569+60 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L2591 + cbnz r3, .L2549 mov r0, #-1 - b .L2580 -.L2590: - ldrb r3, [r6, #9] @ zero_extendqisi2 - mov r2, r8 + b .L2538 +.L2548: + ldrb r3, [r7, #9] @ zero_extendqisi2 + mov r2, r10 orr r1, r4, r5, lsl #24 - mov r0, r7 + mov r0, r8 str r3, [sp] ldr r3, [sp, #8] - blx fp + blx r6 adds r3, r0, #1 - beq .L2592 - b .L2580 -.L2591: - ldrb r3, [r6, #9] @ zero_extendqisi2 - mov r2, r8 + beq .L2550 + b .L2538 +.L2549: + ldrb r3, [r7, #9] @ zero_extendqisi2 + mov r2, r10 orr r1, r4, r5, lsl #24 - mov r0, r7 + mov r0, r8 str r3, [sp] ldr r3, [sp, #8] bl flash_ddr_tuning_read - b .L2580 -.L2587: + b .L2538 +.L2545: cmp r5, #0 - beq .L2593 - b .L2594 -.L2586: + beq .L2551 + b .L2552 +.L2544: cmp r5, #0 - bne .L2580 - b .L2593 -.L2612: + bne .L2538 + b .L2551 +.L2570: .align 2 -.L2611: - .word .LANCHOR32 - .word .LANCHOR18 - .word .LANCHOR182 +.L2569: + .word .LANCHOR31 + .word .LANCHOR23 + .word .LANCHOR179 .word .LC0 - .word .LANCHOR30 - .word .LANCHOR13 - .word .LANCHOR33 - .word .LANCHOR16 - .word .LANCHOR36 - .word .LANCHOR37 - .word .LANCHOR0 - .word .LANCHOR50 - .word .LANCHOR174 - .word .LANCHOR52 - .word .LC139 + .word .LANCHOR29 + .word .LANCHOR7 + .word .LANCHOR32 .word .LANCHOR21 + .word .LANCHOR35 + .word .LANCHOR36 + .word .LANCHOR51 + .word .LANCHOR0 + .word .LANCHOR49 + .word .LANCHOR171 + .word .LC136 + .word .LANCHOR26 .size flash_complete_page_read, .-flash_complete_page_read .section .text.queue_wait_first_req_completed,"ax",%progbits .align 1 @@ -16766,100 +16482,90 @@ queue_wait_first_req_completed: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r10, fp, lr} - ldr r3, .L2712 + ldr r3, .L2664 ldrb r5, [r3] @ zero_extendqisi2 cmp r5, #255 - bne .L2614 -.L2647: + bne .L2572 +.L2605: movs r6, #0 - b .L2613 -.L2614: - ldr r4, .L2712+4 - movs r3, #48 - mla r3, r3, r5, r4 - ldrb r2, [r3, #42] @ zero_extendqisi2 - ldr r6, [r3, #24] - subs r3, r2, #1 - cmp r3, #10 - bhi .L2647 - tbh [pc, r3, lsl #1] -.L2617: - .2byte (.L2616-.L2617)/2 - .2byte (.L2618-.L2617)/2 - .2byte (.L2619-.L2617)/2 - .2byte (.L2619-.L2617)/2 - .2byte (.L2619-.L2617)/2 - .2byte (.L2619-.L2617)/2 - .2byte (.L2620-.L2617)/2 - .2byte (.L2621-.L2617)/2 - .2byte (.L2622-.L2617)/2 - .2byte (.L2619-.L2617)/2 - .2byte (.L2622-.L2617)/2 + b .L2571 +.L2572: + ldr r4, .L2664+4 + movs r7, #48 + mla r2, r7, r5, r4 + ldrb r3, [r2, #42] @ zero_extendqisi2 + ldr r6, [r2, #24] + subs r2, r3, #1 + cmp r2, #10 + bhi .L2605 + tbh [pc, r2, lsl #1] +.L2575: + .2byte (.L2574-.L2575)/2 + .2byte (.L2576-.L2575)/2 + .2byte (.L2577-.L2575)/2 + .2byte (.L2577-.L2575)/2 + .2byte (.L2577-.L2575)/2 + .2byte (.L2577-.L2575)/2 + .2byte (.L2578-.L2575)/2 + .2byte (.L2579-.L2575)/2 + .2byte (.L2580-.L2575)/2 + .2byte (.L2577-.L2575)/2 + .2byte (.L2580-.L2575)/2 .p2align 1 -.L2616: - movs r1, #64 - mov r0, r6 - bl flash_wait_device_ready - lsls r0, r0, #25 - bpl .L2647 - movs r3, #48 - mla r3, r3, r5, r4 - ldr r2, [r3, #8] - ldr r1, [r3, #4] - cbz r2, .L2624 - ldrb r0, [r3, #40] @ zero_extendqisi2 - ldr r3, .L2712+8 - ldrb r3, [r3] @ zero_extendqisi2 - cmp r0, r3 +.L2574: + mla r7, r7, r5, r4 + bl nandc_wait_flash_ready + ldr r3, [r7, #8] + ldr r1, [r7, #4] + cbz r3, .L2581 + ldr r2, .L2664+8 + ldrb r0, [r7, #40] @ zero_extendqisi2 + ldrb r2, [r2] @ zero_extendqisi2 + cmp r0, r2 it eq - moveq r1, r2 -.L2624: + moveq r1, r3 +.L2581: movs r3, #48 mov r0, r6 mla r4, r3, r5, r4 ldr r2, [r4, #12] bl flash_complete_page_read str r0, [r4, #36] -.L2711: +.L2663: movs r3, #13 strb r3, [r4, #42] ldrb r3, [r4, #2] @ zero_extendqisi2 orr r3, r3, #8 strb r3, [r4, #2] - b .L2647 -.L2618: - movs r1, #64 - mov r0, r6 - bl flash_wait_device_ready - lsls r1, r0, #25 - bpl .L2647 - movs r3, #48 - mul r1, r3, r5 - ldrb r6, [r4, r1] @ zero_extendqisi2 - adds r2, r4, r1 - ldr fp, [r2, #4] - mla r3, r3, r6, r4 - ldr r10, [r3, #4] - ldr r3, [r2, #8] - cbz r3, .L2625 - ldrb r1, [r2, #40] @ zero_extendqisi2 - ldr r2, .L2712+8 - ldrb r2, [r2] @ zero_extendqisi2 - cmp r1, r2 + b .L2605 +.L2576: + bl nandc_wait_flash_ready + mul r2, r7, r5 + ldrb r6, [r4, r2] @ zero_extendqisi2 + adds r3, r4, r2 + ldr r2, [r3, #8] + ldr fp, [r3, #4] + mla r7, r7, r6, r4 + ldr r10, [r7, #4] + cbz r2, .L2582 + ldrb r1, [r3, #40] @ zero_extendqisi2 + ldr r3, .L2664+8 + ldrb r3, [r3] @ zero_extendqisi2 + cmp r1, r3 it eq - moveq fp, r3 -.L2625: + moveq fp, r2 +.L2582: movs r3, #48 mla r3, r3, r6, r4 ldr r2, [r3, #8] - cbz r2, .L2626 + cbz r2, .L2583 ldrb r1, [r3, #40] @ zero_extendqisi2 - ldr r3, .L2712+8 + ldr r3, .L2664+8 ldrb r3, [r3] @ zero_extendqisi2 cmp r1, r3 it eq moveq r10, r2 -.L2626: +.L2583: movs r3, #48 mov r1, fp mla r7, r3, r5, r4 @@ -16876,17 +16582,17 @@ queue_wait_first_req_completed: bl flash_complete_plane_page_read cmp r8, #-1 str r0, [sp, #12] - beq .L2627 + beq .L2584 ldr r3, [r7, #20] adds r2, r3, #1 - beq .L2628 + beq .L2585 ldr r2, [r7, #12] ldr r2, [r2, #4] cmp r3, r2 - beq .L2628 -.L2627: + beq .L2585 +.L2584: movs r7, #48 - ldr r3, .L2712+12 + ldr r3, .L2664+12 mla r7, r7, r5, r4 ldrb r3, [r3] @ zero_extendqisi2 movs r0, #1 @@ -16898,7 +16604,7 @@ queue_wait_first_req_completed: lsl ip, r3, r2 mov r2, fp ands r0, r0, r3 - ldr r3, .L2712+8 + ldr r3, .L2664+8 bic r1, r1, ip uxtb r0, r0 ldrb r3, [r3] @ zero_extendqisi2 @@ -16908,35 +16614,35 @@ queue_wait_first_req_completed: ldr r2, [r7, #20] mov r8, r0 adds r3, r2, #1 - beq .L2629 + beq .L2586 ldr r3, [r7, #12] ldr r1, [r3, #4] cmp r2, r1 - beq .L2629 - ldr r0, .L2712+16 + beq .L2586 + ldr r0, .L2664+16 ldr r0, [r0] lsls r0, r0, #25 - bpl .L2629 + bpl .L2586 str r1, [sp] ldr r1, [r7, #24] ldr r3, [r3] - ldr r0, .L2712+20 + ldr r0, .L2664+20 bl printf -.L2629: +.L2586: movs r3, #48 mla r3, r3, r5, r4 ldr r2, [r3, #20] adds r0, r2, #1 - beq .L2628 + beq .L2585 ldr r3, [r3, #12] ldr r3, [r3, #4] cmp r2, r3 - beq .L2628 - mov r2, #430 - ldr r1, .L2712+24 - ldr r0, .L2712+28 + beq .L2585 + movw r2, #431 + ldr r1, .L2664+24 + ldr r0, .L2664+28 bl printf -.L2628: +.L2585: movs r3, #48 movs r2, #13 mla r5, r3, r5, r4 @@ -16947,17 +16653,17 @@ queue_wait_first_req_completed: strb r2, [r5, #2] ldr r2, [sp, #12] adds r2, r2, #1 - beq .L2630 + beq .L2587 mla r3, r3, r6, r4 ldr r2, [r3, #20] adds r1, r2, #1 - beq .L2632 + beq .L2589 ldr r3, [r3, #12] ldr r3, [r3, #4] cmp r2, r3 - beq .L2632 -.L2630: - ldr r3, .L2712+12 + beq .L2589 +.L2587: + ldr r3, .L2664+12 movs r5, #48 mla r5, r5, r6, r4 ldrb r2, [r3] @ zero_extendqisi2 @@ -16970,7 +16676,7 @@ queue_wait_first_req_completed: lsl r7, r0, r3 lsr r3, r1, r3 ands r0, r0, r3 - ldr r3, .L2712+8 + ldr r3, .L2664+8 bic r1, r1, r7 uxtb r0, r0 ldrb r3, [r3] @ zero_extendqisi2 @@ -16979,101 +16685,101 @@ queue_wait_first_req_completed: bl flash_read_page_en ldr r2, [r5, #20] adds r3, r2, #1 - beq .L2634 + beq .L2591 ldr r3, [r5, #12] ldr r1, [r3, #4] cmp r2, r1 - beq .L2634 - ldr r0, .L2712+16 + beq .L2591 + ldr r0, .L2664+16 ldr r0, [r0] lsls r7, r0, #25 - bpl .L2634 + bpl .L2591 str r1, [sp] - ldr r0, .L2712+20 + ldr r0, .L2664+20 ldr r3, [r3] ldr r1, [r5, #24] bl printf -.L2634: +.L2591: movs r3, #48 mla r3, r3, r6, r4 ldr r2, [r3, #20] adds r0, r2, #1 - beq .L2632 + beq .L2589 ldr r3, [r3, #12] ldr r3, [r3, #4] cmp r2, r3 - beq .L2632 - movw r2, #449 - ldr r1, .L2712+24 - ldr r0, .L2712+28 + beq .L2589 + mov r2, #450 + ldr r1, .L2664+24 + ldr r0, .L2664+28 bl printf -.L2632: +.L2589: movs r3, #48 mla r4, r3, r6, r4 str r8, [r4, #36] - b .L2711 -.L2619: + b .L2663 +.L2577: movs r1, #64 mov r0, r6 bl flash_wait_device_ready lsls r1, r0, #25 mov r6, r0 - bpl .L2647 + bpl .L2605 ands r2, r0, #5 mov r3, #48 - beq .L2635 + beq .L2593 mla r4, r3, r5, r4 movs r3, #12 mov r2, r0 - ldr r0, .L2712+32 + ldr r0, .L2664+32 strb r3, [r4, #42] ldrb r1, [r4, #1] @ zero_extendqisi2 str r3, [sp] ldr r3, [r4, #24] bl printf -.L2710: +.L2662: mov r3, #-1 str r3, [r4, #36] - b .L2613 -.L2713: + b .L2571 +.L2665: .align 2 -.L2712: - .word .LANCHOR60 - .word .LANCHOR56 +.L2664: + .word .LANCHOR59 + .word .LANCHOR55 .word .LANCHOR131 - .word .LANCHOR32 - .word .LANCHOR14 - .word .LC140 - .word .LANCHOR183 + .word .LANCHOR31 + .word .LANCHOR19 + .word .LC137 + .word .LANCHOR180 .word .LC0 - .word .LC141 -.L2635: + .word .LC138 +.L2593: mla r6, r3, r5, r4 movs r3, #13 strb r3, [r6, #42] - ldr r3, .L2714 + ldr r3, .L2666 str r2, [r6, #36] ldr r3, [r3] ldr r2, [r3, #156] - ldr r3, .L2714+4 + ldr r3, .L2666+4 cmp r2, r3 - bne .L2647 + bne .L2605 ldrh r3, [r6, #34] cmp r3, #0 - bne .L2647 - ldr r3, .L2714+8 + bne .L2605 + ldr r3, .L2666+8 movs r0, #1 ldr r1, [r6, #24] - ldr r7, .L2714+12 + ldr r7, .L2666+12 ldrb r2, [r3] @ zero_extendqisi2 rsb r3, r2, #24 lsls r0, r0, r2 - ldr r2, .L2714+16 + ldr r2, .L2666+16 subs r0, r0, #1 lsl ip, r0, r3 lsr r3, r1, r3 ands r0, r0, r3 - ldr r3, .L2714+20 + ldr r3, .L2666+20 bic r1, r1, ip uxtb r0, r0 ldrb r3, [r3] @ zero_extendqisi2 @@ -17083,18 +16789,18 @@ queue_wait_first_req_completed: bl flash_read_page_en adds r2, r0, #1 mov r3, r0 - beq .L2636 + beq .L2594 ldr r1, [r6, #12] ldr r2, [r7] ldr r1, [r1] ldr r2, [r2] cmp r1, r2 - beq .L2647 -.L2636: + beq .L2605 +.L2594: movs r2, #48 - ldr r0, .L2714+24 + ldr r0, .L2666+24 mla r4, r2, r5, r4 - ldr r2, .L2714+28 + ldr r2, .L2666+28 ldrb r2, [r2] @ zero_extendqisi2 ldrb r1, [r4, #1] @ zero_extendqisi2 str r2, [sp] @@ -17102,11 +16808,11 @@ queue_wait_first_req_completed: bl printf mov r3, #-1 str r3, [r4, #36] - b .L2647 -.L2622: - ldr r7, .L2714+8 - movs r3, #1 - cmp r2, #11 + b .L2605 +.L2580: + ldr r7, .L2666+8 + cmp r3, #11 + mov r3, #1 add r2, r5, r5, lsl #1 it eq moveq r0, #10 @@ -17122,49 +16828,49 @@ queue_wait_first_req_completed: subs r3, r3, #1 and ip, ip, r3 uxth ip, ip -.L2638: +.L2596: ldrb r8, [r2] @ zero_extendqisi2 cmp r8, #255 - bne .L2645 + bne .L2603 mov r6, #-1 - b .L2613 -.L2645: + b .L2571 +.L2603: mla lr, r7, r8, r4 add r2, r8, r8, lsl #1 ldrb fp, [lr, #42] @ zero_extendqisi2 add r2, r4, r2, lsl #4 cmp fp, r0 - bne .L2638 + bne .L2596 ldr lr, [lr, #24] lsr lr, lr, r1 and lr, lr, r3 cmp ip, lr - bne .L2638 + bne .L2596 mov r0, r6 movs r1, #64 bl flash_wait_device_ready mov r6, r0 lsls r0, r6, #25 - bmi .L2640 -.L2709: + bmi .L2598 +.L2661: movs r6, #0 - b .L2641 -.L2640: + b .L2599 +.L2598: ands r3, r6, #15 mul r7, r7, r5 - beq .L2642 + beq .L2600 add r7, r7, r4 mov r10, #12 ldrb r1, [r7, #1] @ zero_extendqisi2 mov r2, r6 str r10, [sp] ldr r3, [r7, #24] - ldr r0, .L2714+32 + ldr r0, .L2666+32 bl printf mov r3, #-1 strb r10, [r7, #42] str r3, [r7, #36] -.L2641: +.L2599: movs r3, #48 mla r5, r3, r5, r4 mla r8, r3, r8, r4 @@ -17172,37 +16878,37 @@ queue_wait_first_req_completed: ldr r3, [r5, #36] strb r2, [r8, #42] str r3, [r8, #36] -.L2613: +.L2571: mov r0, r6 add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2642: +.L2600: adds r6, r4, r7 movs r2, #13 str r3, [r6, #36] - ldr r3, .L2714 + ldr r3, .L2666 strb r2, [r6, #42] ldr r3, [r3] ldr r2, [r3, #156] - ldr r3, .L2714+4 + ldr r3, .L2666+4 cmp r2, r3 - bne .L2709 + bne .L2661 ldrh r3, [r6, #34] cmp r3, #0 - bne .L2709 + bne .L2661 ldrb r2, [r10] @ zero_extendqisi2 movs r0, #1 ldr r1, [r6, #24] - ldr r7, .L2714+12 + ldr r7, .L2666+12 rsb r3, r2, #24 lsls r0, r0, r2 - ldr r2, .L2714+16 + ldr r2, .L2666+16 subs r0, r0, #1 lsl ip, r0, r3 lsr r3, r1, r3 ands r0, r0, r3 - ldr r3, .L2714+20 + ldr r3, .L2666+20 bic r1, r1, ip uxtb r0, r0 ldrb r3, [r3] @ zero_extendqisi2 @@ -17212,18 +16918,18 @@ queue_wait_first_req_completed: bl flash_read_page_en adds r1, r0, #1 mov r3, r0 - beq .L2644 + beq .L2602 ldr r1, [r6, #12] ldr r2, [r7] ldr r1, [r1] ldr r2, [r2] cmp r1, r2 - beq .L2709 -.L2644: - ldr r2, .L2714+28 + beq .L2661 +.L2602: + ldr r2, .L2666+28 movs r6, #48 mla r6, r6, r5, r4 - ldr r0, .L2714+36 + ldr r0, .L2666+36 ldrb r2, [r2] @ zero_extendqisi2 ldrb r1, [r6, #1] @ zero_extendqisi2 str r2, [sp] @@ -17231,51 +16937,51 @@ queue_wait_first_req_completed: bl printf mov r3, #-1 str r3, [r6, #36] - b .L2709 -.L2620: + b .L2661 +.L2578: mov r0, r6 movs r1, #32 bl flash_wait_device_ready lsls r2, r0, #26 mov r6, r0 - bpl .L2647 + bpl .L2605 ands r2, r0, #15 mov r3, #48 mla r4, r3, r5, r4 - beq .L2646 + beq .L2604 movs r3, #12 strb r3, [r4, #42] - b .L2710 -.L2646: + b .L2662 +.L2604: movs r3, #13 str r2, [r4, #36] strb r3, [r4, #42] - b .L2647 -.L2621: + b .L2605 +.L2579: movs r1, #64 mov r0, r6 bl flash_wait_device_ready lsls r3, r0, #25 - bpl .L2647 + bpl .L2605 movs r3, #48 mla r4, r3, r5, r4 movs r3, #7 str r0, [r4, #36] strb r3, [r4, #42] - b .L2647 -.L2715: + b .L2605 +.L2667: .align 2 -.L2714: +.L2666: .word .LANCHOR110 .word 1145785929 - .word .LANCHOR32 - .word .LANCHOR175 - .word .LANCHOR176 + .word .LANCHOR31 + .word .LANCHOR172 + .word .LANCHOR173 .word .LANCHOR131 - .word .LC142 - .word .LANCHOR52 - .word .LC143 - .word .LC144 + .word .LC139 + .word .LANCHOR51 + .word .LC140 + .word .LC141 .size queue_wait_first_req_completed, .-queue_wait_first_req_completed .section .text.sblk_prog_page,"ax",%progbits .align 1 @@ -17292,56 +16998,56 @@ sblk_prog_page: push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} mov r4, r0 mov r5, r1 - cbz r3, .L2717 - ldr r3, .L2746 + cbz r3, .L2669 + ldr r3, .L2698 ldr r3, [r3] lsls r3, r3, #23 - bpl .L2717 + bpl .L2669 mov r2, r1 ldr r1, [r0, #24] - ldr r0, .L2746+4 + ldr r0, .L2698+4 bl printf -.L2717: - ldr fp, .L2746+40 +.L2669: + ldr fp, .L2698+40 movs r7, #0 -.L2718: - cbnz r5, .L2729 -.L2745: +.L2670: + cbnz r5, .L2681 +.L2697: movs r0, #0 add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2729: +.L2681: ldrb r8, [r4] @ zero_extendqisi2 ldr r6, [r4, #24] -.L2719: +.L2671: movs r1, #1 mov r0, r6 bl queue_lun_state - cbnz r0, .L2720 + cbnz r0, .L2672 cmp r5, #1 - beq .L2721 - ldr r3, .L2746+8 + beq .L2673 + ldr r3, .L2698+8 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L2721 - ldr r3, .L2746+12 + cbz r3, .L2673 + ldr r3, .L2698+12 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L2722 -.L2721: + cbz r3, .L2674 +.L2673: mov r0, r4 bl queue_prog_cmd -.L2723: +.L2675: subs r5, r5, #1 - beq .L2745 - ldr r4, .L2746+16 + beq .L2697 + ldr r4, .L2698+16 add r8, r8, r8, lsl #1 add r4, r4, r8, lsl #4 - b .L2718 -.L2720: + b .L2670 +.L2672: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2719 -.L2722: + b .L2671 +.L2674: ldrb r1, [fp] @ zero_extendqisi2 movs r2, #1 rsb r3, r1, #24 @@ -17353,13 +17059,13 @@ sblk_prog_page: str r3, [sp, #4] ldrb r3, [r4] @ zero_extendqisi2 cmp r3, #255 - bne .L2724 - mov r2, #696 - ldr r1, .L2746+20 - ldr r0, .L2746+24 + bne .L2676 + movw r2, #697 + ldr r1, .L2698+20 + ldr r0, .L2698+24 bl printf -.L2724: - ldr r2, .L2746+16 +.L2676: + ldr r2, .L2698+16 movs r1, #48 ldrb r3, [r4] @ zero_extendqisi2 mov r10, #1 @@ -17374,10 +17080,10 @@ sblk_prog_page: ldr r0, [sp, #4] uxth r3, r3 cmp r0, r3 - bne .L2725 - ldr r3, .L2746+28 + bne .L2677 + ldr r3, .L2698+28 ldrh r0, [r3] - ldr r3, .L2746+32 + ldr r3, .L2698+32 ldrb ip, [r3] @ zero_extendqisi2 subs r3, r2, r0 lsl r2, r10, r0 @@ -17395,11 +17101,11 @@ sblk_prog_page: ands r6, r6, r3 ands r1, r1, r3 cmp r6, r1 - beq .L2725 + beq .L2677 cmp lr, r2 - bne .L2725 + bne .L2677 cmp r7, ip - beq .L2725 + beq .L2677 ldr r3, [r4, #12] movs r0, #17 ldr r2, [r4, #4] @@ -17412,28 +17118,28 @@ sblk_prog_page: movs r3, #255 strb r3, [r4] mov r1, r4 - ldr r0, .L2746+36 + ldr r0, .L2698+36 bl buf_add_tail - b .L2723 -.L2725: + b .L2675 +.L2677: mov r0, r4 movs r7, #0 bl queue_prog_cmd - b .L2723 -.L2747: + b .L2675 +.L2699: .align 2 -.L2746: - .word .LANCHOR14 - .word .LC145 - .word .LANCHOR45 - .word .LANCHOR37 - .word .LANCHOR56 - .word .LANCHOR184 +.L2698: + .word .LANCHOR19 + .word .LC142 + .word .LANCHOR44 + .word .LANCHOR36 + .word .LANCHOR55 + .word .LANCHOR181 .word .LC0 + .word .LANCHOR74 .word .LANCHOR75 - .word .LANCHOR76 - .word .LANCHOR60 - .word .LANCHOR32 + .word .LANCHOR59 + .word .LANCHOR31 .size sblk_prog_page, .-sblk_prog_page .section .text.sblk_wait_write_queue_completed,"ax",%progbits .align 1 @@ -17447,20 +17153,20 @@ sblk_wait_write_queue_completed: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 push {r4, lr} - ldr r4, .L2751 -.L2749: + ldr r4, .L2703 +.L2701: ldrb r3, [r4] @ zero_extendqisi2 cmp r3, #255 - bne .L2750 + bne .L2702 pop {r4, pc} -.L2750: +.L2702: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2749 -.L2752: + b .L2701 +.L2704: .align 2 -.L2751: - .word .LANCHOR60 +.L2703: + .word .LANCHOR59 .size sblk_wait_write_queue_completed, .-sblk_wait_write_queue_completed .section .text.ftl_flush,"ax",%progbits .align 1 @@ -17474,16 +17180,16 @@ ftl_flush: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, lr} - ldr r4, .L2758 - ldr r5, .L2758+4 + ldr r4, .L2710 + ldr r5, .L2710+4 ldrb r1, [r4] @ zero_extendqisi2 - cbz r1, .L2754 + cbz r1, .L2706 ldrb r0, [r5] @ zero_extendqisi2 - ldr r3, .L2758+8 + ldr r3, .L2710+8 add r0, r0, r0, lsl #1 add r0, r3, r0, lsl #4 bl sblk_prog_page -.L2754: +.L2706: movs r3, #255 strb r3, [r5] movs r3, #0 @@ -17493,12 +17199,12 @@ ftl_flush: movw r0, #65535 pop {r3, r4, r5, lr} b ftl_vpn_decrement -.L2759: +.L2711: .align 2 -.L2758: +.L2710: .word .LANCHOR129 - .word .LANCHOR185 - .word .LANCHOR56 + .word .LANCHOR182 + .word .LANCHOR55 .size ftl_flush, .-ftl_flush .section .text.ftl_read_page,"ax",%progbits .align 1 @@ -17539,7 +17245,7 @@ ftl_read_ppa_page: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r4, r5, r6, r7, r8, r10, lr} mov r10, r3 - ldr r3, .L2762 + ldr r3, .L2714 mov r6, r0 movs r5, #1 mov r7, r1 @@ -17561,10 +17267,10 @@ ftl_read_ppa_page: add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, r8, r10, pc} -.L2763: +.L2715: .align 2 -.L2762: - .word .LANCHOR32 +.L2714: + .word .LANCHOR31 .size ftl_read_ppa_page, .-ftl_read_ppa_page .section .text.sblk_read_page,"ax",%progbits .align 1 @@ -17583,41 +17289,41 @@ sblk_read_page: mov r6, r1 mov r4, r0 mov r5, r1 -.L2765: - cbnz r5, .L2775 -.L2788: - ldr r4, .L2789 -.L2776: +.L2717: + cbnz r5, .L2727 +.L2740: + ldr r4, .L2741 +.L2728: cmp r6, #0 - bne .L2778 + bne .L2730 mov r0, r6 add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2775: +.L2727: ldr fp, [r4, #24] ldrb r3, [r4] @ zero_extendqisi2 str r3, [sp, #8] -.L2766: +.L2718: movs r1, #0 mov r0, fp bl queue_lun_state - cbnz r0, .L2767 + cbnz r0, .L2719 cmp r5, #1 - beq .L2772 - ldr r3, .L2789+4 + beq .L2724 + ldr r3, .L2741+4 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L2769 -.L2772: + cbnz r3, .L2721 +.L2724: mov r0, r4 bl queue_read_cmd - b .L2770 -.L2767: + b .L2722 +.L2719: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2766 -.L2769: - ldr r3, .L2789+8 + b .L2718 +.L2721: + ldr r3, .L2741+8 movs r2, #1 ldrb r1, [r3] @ zero_extendqisi2 rsb r3, r1, #24 @@ -17628,24 +17334,24 @@ sblk_read_page: ldrb r2, [r4] @ zero_extendqisi2 uxth r3, r3 cmp r2, #255 - bne .L2771 - movw r2, #781 - ldr r1, .L2789+12 - ldr r0, .L2789+16 + bne .L2723 + movw r2, #782 + ldr r1, .L2741+12 + ldr r0, .L2741+16 str r3, [sp, #4] bl printf ldr r3, [sp, #4] -.L2771: +.L2723: ldrb r2, [r4] @ zero_extendqisi2 movs r0, #1 - ldr r8, .L2789 + ldr r8, .L2741 str r2, [sp, #12] movs r2, #48 ldr r1, [sp, #12] muls r2, r1, r2 add r10, r8, r2 str r2, [sp, #4] - ldr r2, .L2789+8 + ldr r2, .L2741+8 ldr r1, [r10, #24] ldrb ip, [r2] @ zero_extendqisi2 rsb r2, ip, #24 @@ -17655,12 +17361,12 @@ sblk_read_page: ands r2, r2, r0 uxth r2, r2 cmp r3, r2 - bne .L2772 - ldr r3, .L2789+20 + bne .L2724 + ldr r3, .L2741+20 ldrh r3, [r3] add fp, fp, r3 cmp r1, fp - bne .L2772 + bne .L2724 ldr r3, [sp, #4] mov fp, #255 ldr r0, [r4, #24] @@ -17673,14 +17379,14 @@ sblk_read_page: strb r2, [r4, #42] mov r1, r4 strb r3, [r4, #43] - ldr r0, .L2789+24 + ldr r0, .L2741+24 strb fp, [r4] str r2, [sp, #20] str r3, [sp, #16] bl buf_add_tail ldr r3, [sp, #16] ldr r2, [sp, #20] - ldr r0, .L2789+24 + ldr r0, .L2741+24 strb r3, [r10, #43] ldr r3, [sp, #4] strb r2, [r10, #42] @@ -17689,38 +17395,38 @@ sblk_read_page: add r1, r3, r3, lsl #1 add r1, r8, r1, lsl #4 bl buf_add_tail -.L2770: +.L2722: subs r5, r5, #1 - beq .L2788 + beq .L2740 ldr r3, [sp, #8] add r4, r3, r3, lsl #1 - ldr r3, .L2789 + ldr r3, .L2741 add r4, r3, r4, lsl #4 - b .L2765 -.L2778: + b .L2717 +.L2730: ldrb r3, [r7, #42] @ zero_extendqisi2 cmp r3, #13 - bne .L2777 + bne .L2729 ldrb r3, [r7] @ zero_extendqisi2 subs r6, r6, #1 cmp r3, #255 itt ne addne r3, r3, r3, lsl #1 addne r7, r4, r3, lsl #4 -.L2777: +.L2729: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2776 -.L2790: + b .L2728 +.L2742: .align 2 -.L2789: - .word .LANCHOR56 - .word .LANCHOR186 - .word .LANCHOR32 - .word .LANCHOR187 +.L2741: + .word .LANCHOR55 + .word .LANCHOR183 + .word .LANCHOR31 + .word .LANCHOR184 .word .LC0 .word .LANCHOR111 - .word .LANCHOR60 + .word .LANCHOR59 .size sblk_read_page, .-sblk_read_page .section .text.gc_check_data_one_wl,"ax",%progbits .align 1 @@ -17735,83 +17441,83 @@ gc_check_data_one_wl: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r10, fp, lr} sub sp, sp, #24 - ldr r4, .L2824 - ldr r3, .L2824+4 + ldr r4, .L2776 + ldr r3, .L2776+4 ldr r2, [r4, #8] ldr r8, [r3] mov fp, r3 - cbnz r2, .L2792 + cbnz r2, .L2744 movs r0, #1 bl buf_alloc str r0, [r4, #8] -.L2792: +.L2744: ldr r5, [r4, #8] - cbnz r5, .L2793 + cbnz r5, .L2745 movw r2, #729 - ldr r1, .L2824+8 - ldr r0, .L2824+12 + ldr r1, .L2776+8 + ldr r0, .L2776+12 bl printf -.L2793: +.L2745: add r10, r8, #96 movs r7, #0 -.L2794: +.L2746: ldrb r3, [r8, #89] @ zero_extendqisi2 cmp r7, r3 - bge .L2805 + bge .L2757 movs r6, #1 - b .L2806 -.L2804: - ldr r2, .L2824+16 + b .L2758 +.L2756: + ldr r2, .L2776+16 ldrh r3, [r10] ldrh r2, [r2] muls r2, r3, r2 - ldr r3, .L2824+20 + ldr r3, .L2776+20 ldrb r1, [r3] @ zero_extendqisi2 cmp r1, #2 - beq .L2795 - ldr r3, .L2824+24 + beq .L2747 + ldr r3, .L2776+24 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - beq .L2796 -.L2795: + beq .L2748 +.L2747: ldrh r3, [r4, #12] subs r3, r3, #1 add r3, r3, r2 add r3, r3, r6 orr r3, r3, r1, lsl #24 -.L2823: +.L2775: movs r1, #1 str r3, [r5, #24] mov r0, r5 bl sblk_read_page ldr r2, [r5, #36] - ldr r1, .L2824+28 + ldr r1, .L2776+28 adds r0, r2, #1 - beq .L2800 + beq .L2752 ldr r3, [r1] ldrh ip, [r4, #18] ldr r0, [r5, #12] ldr lr, [r3, ip, lsl #2] ldr r3, [r0, #4] cmp lr, r3 - bne .L2800 - ldr r3, .L2824+32 + bne .L2752 + ldr r3, .L2776+32 ldr r0, [r0, #8] ldr r3, [r3] ldr r3, [r3, ip, lsl #2] cmp r3, r0 - beq .L2801 -.L2800: + beq .L2753 +.L2752: ldrh r3, [r4, #18] ldr r1, [r1] lsls r0, r3, #2 ldr r3, [r1, r3, lsl #2] adds r1, r3, #1 - beq .L2801 - ldr r1, .L2824+36 + beq .L2753 + ldr r1, .L2776+36 ldr r1, [r1] lsls r1, r1, #21 - bpl .L2802 + bpl .L2754 ldr r1, [r5, #12] ldr r4, [r1, #12] str r4, [sp, #16] @@ -17821,107 +17527,107 @@ gc_check_data_one_wl: str r4, [sp, #8] ldr r1, [r1] str r1, [sp, #4] - ldr r1, .L2824+32 + ldr r1, .L2776+32 ldr r1, [r1] ldr r1, [r1, r0] - ldr r0, .L2824+40 + ldr r0, .L2776+40 str r1, [sp] ldr r1, [r5, #24] bl printf -.L2802: - ldr r3, .L2824+44 +.L2754: + ldr r3, .L2776+44 movs r0, #0 ldrh r2, [r8, #80] ldrb r1, [r3] @ zero_extendqisi2 - ldr r3, .L2824+48 + ldr r3, .L2776+48 ldr r3, [r3] strh r0, [r3, r2, lsl #1] @ movhi ldr r2, [fp] ldr r3, [r2, #556] adds r3, r3, #1 str r3, [r2, #556] - ldr r3, .L2824+52 + ldr r3, .L2776+52 ldr r3, [r3] ldr r2, [r3, #156] - ldr r3, .L2824+56 + ldr r3, .L2776+56 cmp r2, r3 - bne .L2809 - cbnz r1, .L2809 - ldr r3, .L2824+60 + bne .L2761 + cbnz r1, .L2761 + ldr r3, .L2776+60 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L2809 + cbnz r3, .L2761 ldr r0, [r5, #24] bl ftl_mask_bad_block -.L2809: +.L2761: mov r0, #-1 - b .L2791 -.L2796: + b .L2743 +.L2748: cmp r1, #3 ldrh r3, [r4, #12] - bne .L2798 - ldr r1, .L2824+64 + bne .L2750 + ldr r1, .L2776+64 ldrb r1, [r1] @ zero_extendqisi2 - cbz r1, .L2799 + cbz r1, .L2751 add r3, r3, r3, lsl #1 subs r3, r3, #1 add r3, r3, r2 add r3, r3, r6 orr r3, r3, #50331648 - b .L2823 -.L2799: + b .L2775 +.L2751: add r3, r3, r2 orr r3, r3, r6, lsl #24 - b .L2823 -.L2798: + b .L2775 +.L2750: add r3, r3, r2 - b .L2823 -.L2801: + b .L2775 +.L2753: ldrh r3, [r4, #18] adds r6, r6, #1 adds r3, r3, #1 strh r3, [r4, #18] @ movhi -.L2806: +.L2758: ldrh r3, [r4, #16] cmp r6, r3 - ble .L2804 + ble .L2756 adds r7, r7, #1 add r10, r10, #2 - b .L2794 -.L2805: + b .L2746 +.L2757: ldrh r3, [r4, #12] adds r2, r3, #1 strh r2, [r4, #12] @ movhi - ldr r2, .L2824+60 + ldr r2, .L2776+60 ldrb r0, [r2] @ zero_extendqisi2 - cbz r0, .L2791 + cbz r0, .L2743 movs r0, #0 adds r3, r3, #2 strh r3, [r4, #12] @ movhi -.L2803: -.L2791: +.L2755: +.L2743: add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2825: +.L2777: .align 2 -.L2824: - .word .LANCHOR71 - .word .LANCHOR10 - .word .LANCHOR188 +.L2776: + .word .LANCHOR70 + .word .LANCHOR12 + .word .LANCHOR185 .word .LC0 .word .LANCHOR111 - .word .LANCHOR79 - .word .LANCHOR36 - .word .LANCHOR162 - .word .LANCHOR163 - .word .LANCHOR14 - .word .LC146 + .word .LANCHOR78 + .word .LANCHOR35 + .word .LANCHOR159 + .word .LANCHOR160 + .word .LANCHOR19 + .word .LC143 .word .LANCHOR124 - .word .LANCHOR9 + .word .LANCHOR11 .word .LANCHOR110 .word 1145785929 - .word .LANCHOR81 - .word .LANCHOR37 + .word .LANCHOR80 + .word .LANCHOR36 .size gc_check_data_one_wl, .-gc_check_data_one_wl .section .text.sblk_tlc_prog_one_page,"ax",%progbits .align 1 @@ -17938,21 +17644,21 @@ sblk_tlc_prog_one_page: push {r4, r5, r6, lr} mov r5, r0 ldr r6, [r3, #24] -.L2827: +.L2779: movs r1, #1 mov r0, r6 bl queue_lun_state mov r4, r0 - cbnz r0, .L2828 + cbnz r0, .L2780 mov r0, r5 movs r1, #1 bl queue_tlc_prog_cmd mov r0, r4 pop {r4, r5, r6, pc} -.L2828: +.L2780: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2827 + b .L2779 .size sblk_tlc_prog_one_page, .-sblk_tlc_prog_one_page .section .text.sblk_xlc_prog_pages,"ax",%progbits .align 1 @@ -17972,22 +17678,22 @@ sblk_xlc_prog_pages: sub sp, sp, #24 ldr r4, [r3, #24] str r2, [sp, #20] -.L2830: +.L2782: movs r1, #1 mov r0, r4 bl queue_lun_state mov r8, r0 cmp r0, #0 - bne .L2831 + bne .L2783 ldr r3, [sp, #20] cmp r3, #2 - bne .L2832 - ldr r3, .L2841 + bne .L2784 + ldr r3, .L2793 ldr ip, [r6] ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - beq .L2833 - ldr r3, .L2841+4 + beq .L2785 + ldr r3, .L2793+4 mov r10, #1 ldr r2, [r5] ldr fp, [ip, #24] @@ -17999,14 +17705,14 @@ sblk_xlc_prog_pages: and r7, r1, r4 and fp, r4, fp lsl r4, r10, r3 - ldr r3, .L2841+8 + ldr r3, .L2793+8 lsrs r1, r1, r0 subs r4, r4, #1 ldrb r3, [r3] @ zero_extendqisi2 ands r4, r4, r1 uxtb r4, r4 cmp r3, #0 - beq .L2834 + beq .L2786 mov r0, r4 bl zftl_flash_exit_slc_mode ldr r3, [r5] @@ -18084,26 +17790,26 @@ sblk_xlc_prog_pages: str r3, [sp] mov r3, r4 bl flash_start_one_pass_page_prog -.L2835: +.L2787: ldr r1, [r5] movs r3, #5 - ldr r0, .L2841+12 + ldr r0, .L2793+12 strb r3, [r1, #42] movs r3, #1 strb r3, [r1, #43] movs r3, #255 strb r3, [r1] bl buf_add_tail -.L2836: +.L2788: movs r0, #0 add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2831: +.L2783: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2830 -.L2834: + b .L2782 +.L2786: ldr r3, [r2, #12] mov r1, r10 ldrb r0, [r2, #44] @ zero_extendqisi2 @@ -18178,46 +17884,46 @@ sblk_xlc_prog_pages: str r3, [sp, #4] mov r3, r4 bl flash_start_tlc_page_prog - b .L2835 -.L2833: + b .L2787 +.L2785: ldr r4, [ip, #24] -.L2837: +.L2789: movs r1, #1 mov r0, r4 bl queue_lun_state mov r7, r0 - cbnz r0, .L2838 + cbnz r0, .L2790 movs r1, #1 mov r0, r5 bl queue_tlc_prog_cmd mov r1, r7 mov r0, r6 bl queue_tlc_prog_cmd -.L2839: +.L2791: movs r1, #1 mov r0, r4 bl queue_lun_state cmp r0, #0 - beq .L2836 + beq .L2788 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2839 -.L2838: + b .L2791 +.L2790: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2837 -.L2832: + b .L2789 +.L2784: movs r1, #1 mov r0, r5 bl queue_tlc_prog_cmd - b .L2836 -.L2842: + b .L2788 +.L2794: .align 2 -.L2841: - .word .LANCHOR45 - .word .LANCHOR32 - .word .LANCHOR37 - .word .LANCHOR60 +.L2793: + .word .LANCHOR44 + .word .LANCHOR31 + .word .LANCHOR36 + .word .LANCHOR59 .size sblk_xlc_prog_pages, .-sblk_xlc_prog_pages .section .text.sblk_3d_mlc_prog_pages,"ax",%progbits .align 1 @@ -18232,24 +17938,24 @@ sblk_3d_mlc_prog_pages: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} mov r7, r1 - ldr r10, .L2848 + ldr r10, .L2800 add r5, r0, #8 - ldr fp, .L2848+4 -.L2844: - cbnz r7, .L2847 + ldr fp, .L2800+4 +.L2796: + cbnz r7, .L2799 mov r0, r7 add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2847: +.L2799: ldr r3, [r5, #-8] ldr r4, [r3, #24] -.L2845: +.L2797: movs r1, #1 mov r0, r4 bl queue_lun_state cmp r0, #0 - bne .L2846 + bne .L2798 ldr r3, [r5, #-8] mov r8, #1 subs r7, r7, #1 @@ -18284,7 +17990,7 @@ sblk_3d_mlc_prog_pages: add r2, r6, r8 ldr r3, [r3, #4] bl flash_start_3d_mlc_page_prog - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 ldr r1, [r5, #-16] movs r3, #4 mov r0, fp @@ -18293,16 +17999,16 @@ sblk_3d_mlc_prog_pages: strb r8, [r1, #43] strb r3, [r1] bl buf_add_tail - b .L2844 -.L2846: + b .L2796 +.L2798: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2845 -.L2849: + b .L2797 +.L2801: .align 2 -.L2848: - .word .LANCHOR32 - .word .LANCHOR60 +.L2800: + .word .LANCHOR31 + .word .LANCHOR59 .size sblk_3d_mlc_prog_pages, .-sblk_3d_mlc_prog_pages .section .text.flash_prog_page_en,"ax",%progbits .align 1 @@ -18317,7 +18023,7 @@ flash_prog_page_en: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r10, fp, lr} mov r8, r2 - ldr r7, .L2885 + ldr r7, .L2837 sub sp, sp, #24 mov fp, r3 mov r6, r0 @@ -18327,29 +18033,29 @@ flash_prog_page_en: ubfx r5, r1, #24, #2 str r3, [sp, #20] cmp r2, r0 - bhi .L2851 - movw r2, #635 - ldr r1, .L2885+4 - ldr r0, .L2885+8 + bhi .L2803 + movw r2, #642 + ldr r1, .L2837+4 + ldr r0, .L2837+8 bl printf -.L2851: +.L2803: ldrb r3, [r7] @ zero_extendqisi2 cmp r3, r6 - bls .L2862 - ldr r3, .L2885+12 + bls .L2814 + ldr r3, .L2837+12 ldrb r3, [r3, r6] @ zero_extendqisi2 str r3, [sp, #12] cmp r5, #0 - bne .L2864 - ldr r3, .L2885+16 - ldr r10, .L2885+64 + bne .L2816 + ldr r3, .L2837+16 + ldr r10, .L2837+64 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L2854 + cbz r3, .L2806 ldrb r3, [r10] @ zero_extendqisi2 cmp r3, #0 - beq .L2864 -.L2854: - ldr r3, .L2885+20 + beq .L2816 +.L2806: + ldr r3, .L2837+20 mov r0, r4 ldrh r7, [r3] mov r1, r7 @@ -18360,19 +18066,19 @@ flash_prog_page_en: bl __aeabi_uidivmod ldrb r3, [r10] @ zero_extendqisi2 cmp r3, #0 - beq .L2855 + beq .L2807 add r5, r5, r1, lsl #1 -.L2859: - ldr r3, .L2885+24 +.L2811: + ldr r3, .L2837+24 ldr r3, [r3] lsls r1, r3, #27 - bpl .L2856 + bpl .L2808 mov r3, r5 mov r2, r4 ldr r1, [sp, #12] - ldr r0, .L2885+28 + ldr r0, .L2837+28 bl printf -.L2856: +.L2808: ldr r3, [sp, #56] mov r2, r8 mov r1, r5 @@ -18383,103 +18089,103 @@ flash_prog_page_en: ldr r3, [sp, #20] str r0, [sp, #16] cmp r3, #0 - beq .L2857 + beq .L2809 ldr r3, [sp, #56] mov r1, r4 - ldr r10, .L2885+44 + ldr r10, .L2837+44 mov r0, r6 - ldr r2, .L2885+32 + ldr r2, .L2837+32 str r3, [sp] ldr r3, [r10] ldr r2, [r2] bl flash_read_page_en adds r2, r0, #1 mov r7, r0 - beq .L2858 + beq .L2810 cmp r0, #512 - beq .L2858 - ldr r3, .L2885+32 + beq .L2810 + ldr r3, .L2837+32 ldr r2, [r8] ldr r3, [r3] ldr r3, [r3] cmp r2, r3 - bne .L2858 + bne .L2810 ldr r3, [r10] ldr r2, [fp] ldr r3, [r3] cmp r2, r3 - beq .L2857 -.L2858: + beq .L2809 +.L2810: movs r3, #4 mov r1, r8 mov r2, r3 - ldr r0, .L2885+36 + ldr r0, .L2837+36 bl rknand_print_hex movs r3, #4 mov r1, fp mov r2, r3 - ldr r0, .L2885+40 + ldr r0, .L2837+40 bl rknand_print_hex - ldr r1, .L2885+44 + ldr r1, .L2837+44 movs r3, #4 mov r2, r3 - ldr r0, .L2885+48 + ldr r0, .L2837+48 ldr r1, [r1] bl rknand_print_hex - ldr r1, .L2885+32 + ldr r1, .L2837+32 movs r3, #4 mov r2, r3 - ldr r0, .L2885+52 + ldr r0, .L2837+52 ldr r1, [r1] bl rknand_print_hex cmp r7, #512 - beq .L2859 -.L2861: + beq .L2811 +.L2813: mov r1, r4 - ldr r0, .L2885+56 + ldr r0, .L2837+56 bl printf - movw r2, #678 - ldr r1, .L2885+4 - ldr r0, .L2885+8 + movw r2, #685 + ldr r1, .L2837+4 + ldr r0, .L2837+8 bl printf -.L2862: +.L2814: mov r0, #-1 - b .L2850 -.L2855: - ldr r3, .L2885+60 + b .L2802 +.L2807: + ldr r3, .L2837+60 ldrh r1, [r3, r1, lsl #1] add r5, r5, r1 - b .L2859 -.L2864: -.L2853: + b .L2811 +.L2816: +.L2805: mov r5, r4 - b .L2859 -.L2857: + b .L2811 +.L2809: ldr r0, [sp, #16] adds r3, r0, #1 - beq .L2861 -.L2850: + beq .L2813 +.L2802: add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2886: +.L2838: .align 2 -.L2885: - .word .LANCHOR18 - .word .LANCHOR189 +.L2837: + .word .LANCHOR23 + .word .LANCHOR186 .word .LC0 - .word .LANCHOR30 + .word .LANCHOR29 .word .LANCHOR0 .word .LANCHOR2 - .word .LANCHOR14 + .word .LANCHOR19 + .word .LC144 + .word .LANCHOR173 + .word .LC145 + .word .LC146 + .word .LANCHOR172 .word .LC147 - .word .LANCHOR176 .word .LC148 .word .LC149 - .word .LANCHOR175 - .word .LC150 - .word .LC151 - .word .LC152 .word .LANCHOR3 .word .LANCHOR1 .size flash_prog_page_en, .-flash_prog_page_en @@ -18496,137 +18202,137 @@ ftl_test_block: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r10, fp, lr} movs r5, #0 - ldr r3, .L2914 + ldr r3, .L2866 mov r10, r0 mov r8, r5 ldr r2, [r3] str r3, [sp, #12] str r5, [r2] - ldr r2, .L2914+4 + ldr r2, .L2866+4 str r5, [r2] -.L2888: +.L2840: uxth r3, r5 str r3, [sp, #8] - ldr r3, .L2914+8 + ldr r3, .L2866+8 ldr r2, [sp, #8] ldrb r3, [r3] @ zero_extendqisi2 cmp r3, r2 - bls .L2898 + bls .L2850 mov fp, #0 - b .L2899 -.L2897: - ldr r3, .L2914+12 + b .L2851 +.L2849: + ldr r3, .L2866+12 ldr r3, [r3] lsls r3, r3, #19 - bpl .L2889 + bpl .L2841 mov r1, r10 - ldr r0, .L2914+16 + ldr r0, .L2866+16 bl printf -.L2889: - ldr r3, .L2914+20 +.L2841: + ldr r3, .L2866+20 ldrb r4, [r3] @ zero_extendqisi2 ldr r3, [sp, #8] smulbb r4, r4, r10 add r4, r4, r6 uxth r4, r4 - cbnz r3, .L2890 - ldr r3, .L2914+24 + cbnz r3, .L2842 + ldr r3, .L2866+24 ldr r3, [r3] ldrb r3, [r3, #47] @ zero_extendqisi2 cmp r3, r4 - bcs .L2891 -.L2890: + bcs .L2843 +.L2842: uxtb r6, r5 mov r1, r4 mov r0, r6 bl flash_check_bad_block - cbnz r0, .L2891 - ldr r3, .L2914+28 + cbnz r0, .L2843 + ldr r3, .L2866+28 mov r1, r8 mov r0, r6 ldrh r7, [r3] muls r7, r4, r7 mov r2, r7 bl flash_erase_block_en - cbz r0, .L2892 - ldr r3, .L2914+32 + cbz r0, .L2844 + ldr r3, .L2866+32 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #2 - bne .L2913 - ldr r3, .L2914+36 + bne .L2865 + ldr r3, .L2866+36 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L2913 + cbz r3, .L2865 mov r2, r7 movs r1, #1 mov r0, r6 bl flash_erase_block_en - cbnz r0, .L2913 -.L2896: - ldr r3, .L2914+32 + cbnz r0, .L2865 +.L2848: + ldr r3, .L2866+32 mov r8, #1 ldrb r3, [r3] @ zero_extendqisi2 add r7, r7, r3, lsl #24 -.L2895: +.L2847: movs r3, #1 ldr r2, [sp, #12] str r3, [sp, #4] mov r1, r7 - ldr r3, .L2914+40 + ldr r3, .L2866+40 mov r0, r6 ldrb r3, [r3] @ zero_extendqisi2 str r3, [sp] - ldr r3, .L2914+4 + ldr r3, .L2866+4 ldr r2, [r2] bl flash_prog_page_en - cbz r0, .L2891 -.L2913: + cbz r0, .L2843 +.L2865: mov r1, r4 mov r0, r6 bl flash_mask_bad_block -.L2891: +.L2843: add fp, fp, #1 -.L2899: - ldr r3, .L2914+20 +.L2851: + ldr r3, .L2866+20 uxth r6, fp ldrb r3, [r3] @ zero_extendqisi2 cmp r3, r6 - bhi .L2897 + bhi .L2849 adds r5, r5, #1 - b .L2888 -.L2892: + b .L2840 +.L2844: cmp r8, #0 - beq .L2895 - b .L2896 -.L2898: + beq .L2847 + b .L2848 +.L2850: cmp r8, #0 - beq .L2900 - ldr r3, .L2914+44 + beq .L2852 + ldr r3, .L2866+44 movs r2, #2 ldr r3, [r3] add r10, r3, r10, lsl #2 ldrb r3, [r10, #2] @ zero_extendqisi2 bfi r3, r2, #3, #2 strb r3, [r10, #2] -.L2900: +.L2852: movs r0, #0 add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2915: +.L2867: .align 2 -.L2914: - .word .LANCHOR190 - .word .LANCHOR191 +.L2866: + .word .LANCHOR187 + .word .LANCHOR188 .word .LANCHOR112 - .word .LANCHOR14 - .word .LC153 - .word .LANCHOR76 - .word .LANCHOR27 + .word .LANCHOR19 + .word .LC150 + .word .LANCHOR75 + .word .LANCHOR6 .word .LANCHOR111 - .word .LANCHOR79 + .word .LANCHOR78 .word .LANCHOR0 .word .LANCHOR131 - .word .LANCHOR7 + .word .LANCHOR9 .size ftl_test_block, .-ftl_test_block .section .text.ftl_prog_page,"ax",%progbits .align 1 @@ -18656,25 +18362,25 @@ ftl_prog_page: bl flash_prog_page_en adds r3, r0, #1 mov r4, r0 - bne .L2916 - ldr r1, .L2918 - movw r2, #2670 - ldr r0, .L2918+4 + bne .L2868 + ldr r1, .L2870 + movw r2, #2678 + ldr r0, .L2870+4 bl printf mov r1, r5 - ldr r0, .L2918+8 + ldr r0, .L2870+8 bl printf -.L2916: +.L2868: mov r0, r4 add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, pc} -.L2919: +.L2871: .align 2 -.L2918: - .word .LANCHOR192 +.L2870: + .word .LANCHOR189 .word .LC0 - .word .LC152 + .word .LC149 .size ftl_prog_page, .-ftl_prog_page .section .text.ftl_info_flush,"ax",%progbits .align 1 @@ -18689,32 +18395,32 @@ ftl_info_flush: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r10, fp, lr} sub sp, sp, #32 - ldr r5, .L2957 + ldr r5, .L2906 movs r1, #0 + mov r8, #0 str r0, [sp, #16] ldrb r2, [r5] @ zero_extendqisi2 - ldr r0, .L2957+4 + ldr r0, .L2906+4 + ldr r4, .L2906+8 lsls r2, r2, #1 bl ftl_memset - ldr r2, .L2957+8 + ldr r2, .L2906+12 ldr r3, [r2] str r2, [sp, #20] ldrh r1, [r3, #74] - cbz r1, .L2921 - movs r2, #0 - strh r2, [r3, #150] @ movhi -.L2921: - ldr r4, .L2957+12 - mov r8, #0 -.L2931: - ldr r3, .L2957+12 - ldr r6, .L2957+16 + cmp r1, #1 + itt hi + movhi r2, #0 + strhhi r2, [r3, #150] @ movhi +.L2883: + ldr r3, .L2906+8 + ldr r6, .L2906+16 ldr r1, [sp, #16] ldrb fp, [r3] @ zero_extendqisi2 ldrh r3, [r6] - ldr r7, .L2957+20 + ldr r7, .L2906+20 str r3, [sp, #12] - ldr r3, .L2957+12 + ldr r3, .L2906+8 ldr r0, [r7] ldrh r10, [r3, #2] ldr r3, [sp, #20] @@ -18722,7 +18428,7 @@ ftl_info_flush: ldr r3, [r2, #4] adds r3, r3, #1 str r3, [r2, #4] - ldr r2, .L2957+4 + ldr r2, .L2906+4 str r3, [sp, #28] stm r2, {r1, r3} ldrb r1, [r5] @ zero_extendqisi2 @@ -18732,54 +18438,54 @@ ftl_info_flush: ldr r2, [sp, #24] ldr r3, [sp, #28] str r0, [r2, #8] - ldr r2, .L2957+24 + ldr r2, .L2906+24 ldr r2, [r2] tst r2, #4096 - beq .L2922 + beq .L2874 mov r2, r10 mov r1, fp - ldr r0, .L2957+28 + ldr r0, .L2906+28 bl printf -.L2922: - ldr r3, .L2957+32 +.L2874: + ldr r3, .L2906+32 ldrh r0, [r4, #2] ldrh r3, [r3] cmp r3, r0 - bhi .L2923 - ldr r10, .L2957+48 - ldr fp, .L2957+44 -.L2927: + bhi .L2875 + ldr r10, .L2906+48 + ldr fp, .L2906+44 +.L2879: ldrb r3, [r4, #1] @ zero_extendqisi2 adds r3, r3, #1 uxtb r3, r3 cmp r3, #7 strb r3, [r4, #1] - bls .L2924 + bls .L2876 ldr r2, [r10] movs r3, #0 adds r2, r2, #40 -.L2940: +.L2892: ldrb r1, [r2], #1 @ zero_extendqisi2 uxth r8, r3 cmp r1, #128 - bls .L2925 + bls .L2877 cmp r1, #255 - beq .L2926 - movw r2, #841 + beq .L2878 + movw r2, #846 mov r1, fp - ldr r0, .L2957+36 + ldr r0, .L2906+36 bl printf -.L2925: +.L2877: strb r8, [r4, #1] mov r8, #1 -.L2924: +.L2876: ldr r3, [r10] ldrb r2, [r4, #1] @ zero_extendqisi2 add r3, r3, r2 ldrb r3, [r3, #40] @ zero_extendqisi2 cmp r3, #255 strb r3, [r4] - beq .L2927 + beq .L2879 ldrh r10, [r6] movs r0, #0 mul r10, r3, r10 @@ -18790,107 +18496,107 @@ ftl_info_flush: movs r0, #0 str r3, [sp] ldr r2, [r7] - ldr r3, .L2957+4 + ldr r3, .L2906+4 bl ftl_prog_page movs r3, #1 add r10, r10, r3 strh r3, [r4, #2] @ movhi -.L2928: +.L2880: ldrb r3, [r5] @ zero_extendqisi2 mov r1, r10 movs r0, #0 str r3, [sp] ldr r2, [r7] - ldr r3, .L2957+4 + ldr r3, .L2906+4 bl ftl_prog_page ldrh r3, [r4, #2] adds r0, r0, #1 add r3, r3, #1 strh r3, [r4, #2] @ movhi - ldr r3, .L2957+40 - beq .L2929 + ldr r3, .L2906+40 + beq .L2881 ldrb r2, [r3] @ zero_extendqisi2 - cbz r2, .L2930 -.L2929: + cbz r2, .L2882 +.L2881: movs r2, #0 strb r2, [r3] - b .L2931 -.L2923: + b .L2883 +.L2875: ldr r3, [sp, #12] mla r10, fp, r3, r10 cmp r0, #0 - bne .L2928 + bne .L2880 mov r1, r10 bl flash_erase_block - b .L2928 -.L2930: + b .L2880 +.L2882: cmp r8, #0 - bne .L2932 -.L2939: + bne .L2884 +.L2891: ldrb r3, [r4] @ zero_extendqisi2 cmp r3, #255 - bne .L2956 - movw r2, #885 - ldr r1, .L2957+44 - ldr r0, .L2957+36 + bne .L2905 + movw r2, #890 + ldr r1, .L2906+44 + ldr r0, .L2906+36 bl printf -.L2956: +.L2905: movs r0, #0 add sp, sp, #32 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2932: +.L2884: ldrb r5, [r4, #1] @ zero_extendqisi2 - ldr r6, .L2957+48 - ldr r7, .L2957+44 + ldr r6, .L2906+48 + ldr r7, .L2906+44 adds r5, r5, #1 -.L2935: +.L2887: cmp r5, #7 - bhi .L2939 + bhi .L2891 ldr r3, [r6] add r3, r3, r5 ldrb r8, [r3, #40] @ zero_extendqisi2 uxth r3, r8 cmp r3, #128 - bls .L2936 + bls .L2888 cmp r3, #255 - beq .L2937 - mov r2, #876 + beq .L2889 + movw r2, #881 mov r1, r7 - ldr r0, .L2957+36 + ldr r0, .L2906+36 bl printf -.L2936: - ldr r3, .L2957+16 +.L2888: + ldr r3, .L2906+16 movs r0, #0 ldrh r1, [r3] mul r1, r8, r1 bl flash_erase_block -.L2937: +.L2889: adds r5, r5, #1 uxth r5, r5 - b .L2935 -.L2926: + b .L2887 +.L2878: adds r3, r3, #1 cmp r3, #8 - bne .L2940 + bne .L2892 mov r8, r3 - b .L2925 -.L2958: + b .L2877 +.L2907: .align 2 -.L2957: +.L2906: .word .LANCHOR131 - .word .LANCHOR193 + .word .LANCHOR190 + .word .LANCHOR191 .word .LANCHOR110 - .word .LANCHOR194 .word .LANCHOR111 - .word .LANCHOR195 - .word .LANCHOR14 - .word .LC154 - .word .LANCHOR95 + .word .LANCHOR192 + .word .LANCHOR19 + .word .LC151 + .word .LANCHOR94 .word .LC0 - .word .LANCHOR197 - .word .LANCHOR196 - .word .LANCHOR27 + .word .LANCHOR194 + .word .LANCHOR193 + .word .LANCHOR6 .size ftl_info_flush, .-ftl_info_flush .section .text.ftl_info_blk_init,"ax",%progbits .align 1 @@ -18903,8 +18609,8 @@ ftl_info_flush: ftl_info_blk_init: @ args = 0, pretend = 0, frame = 16 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2988 - ldr r2, .L2988+4 + ldr r3, .L2937 + ldr r2, .L2937+4 push {r4, r5, r6, r7, r8, r10, fp, lr} movs r4, #0 strb r4, [r3] @@ -18912,121 +18618,121 @@ ftl_info_blk_init: sub sp, sp, #24 mov r1, r4 strb r3, [r2] - ldr r7, .L2988+8 - ldr r2, .L2988+12 - ldr r5, .L2988+16 + ldr r7, .L2937+8 + ldr r2, .L2937+12 + ldr r5, .L2937+16 ldr r0, [r7] mov fp, r7 strb r3, [r2] mov r2, #16384 - ldr r3, .L2988+20 - ldr r6, .L2988+24 + ldr r3, .L2937+20 + ldr r6, .L2937+24 str r0, [r3] - ldr r3, .L2988+28 + ldr r3, .L2937+28 ldrh r3, [r3] add r3, r0, r3, lsl #2 str r3, [r5] bl ftl_memset - ldr r3, .L2988+32 + ldr r3, .L2937+32 mov r2, #16384 mov r1, r4 ldr r0, [r3] bl ftl_memset ldr r2, [r6] - ldr r3, .L2988+36 + ldr r3, .L2937+36 ldrb r2, [r2, #40] @ zero_extendqisi2 strb r4, [r3, #1] strh r4, [r3, #2] @ movhi movs r4, #7 strb r2, [r3] str r3, [sp, #12] -.L2961: +.L2910: ldr r3, [r6] sxth r8, r4 add r3, r3, r4 ldrb r7, [r3, #40] @ zero_extendqisi2 cmp r7, #255 - bne .L2960 -.L2965: + bne .L2909 +.L2914: adds r4, r4, #-1 - bcs .L2961 + bcs .L2910 mov r8, #0 -.L2962: - ldr r3, .L2988+40 +.L2911: + ldr r3, .L2937+40 ldr r3, [r3] lsls r1, r3, #19 - bpl .L2966 + bpl .L2915 ldr r3, [r5] mov r2, #4800 mov r1, r4 - ldr r0, .L2988+44 + ldr r0, .L2937+44 ldr r3, [r3] bl printf -.L2966: +.L2915: adds r2, r4, #1 - bne .L2967 + bne .L2916 mov r2, #16384 movs r1, #0 ldr r0, [fp] bl ftl_memset ldr r3, [r5] - ldr r2, .L2988+48 + ldr r2, .L2937+48 str r2, [r3] - ldr r2, .L2988+52 + ldr r2, .L2937+52 str r2, [r3, #12] -.L2959: +.L2908: mov r0, r4 add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L2960: - ldr r3, .L2988+56 +.L2909: + ldr r3, .L2937+56 movs r0, #0 ldrh r3, [r3] muls r7, r3, r7 - ldr r3, .L2988+60 + ldr r3, .L2937+60 ldrb r3, [r3] @ zero_extendqisi2 mov r1, r7 str r3, [sp] - ldr r3, .L2988+64 + ldr r3, .L2937+64 ldr r2, [fp] bl ftl_read_page cmp r0, #-1 mov r10, r0 - bne .L2963 - ldr r3, .L2988+60 + bne .L2912 + ldr r3, .L2937+60 adds r1, r7, #1 movs r0, #0 ldrb r3, [r3] @ zero_extendqisi2 str r3, [sp] - ldr r3, .L2988+64 + ldr r3, .L2937+64 ldr r2, [fp] bl ftl_read_page mov r10, r0 -.L2963: - ldr r3, .L2988+40 +.L2912: + ldr r3, .L2937+40 ldr r3, [r3] lsls r0, r3, #19 - bpl .L2964 + bpl .L2913 ldr r3, [r5] mov r2, r10 mov r1, r4 - ldr r0, .L2988+68 + ldr r0, .L2937+68 ldr r3, [r3] str r3, [sp] - mov r3, #744 + movw r3, #749 bl printf -.L2964: +.L2913: cmp r10, #-1 - beq .L2965 + beq .L2914 ldr r3, [r5] - ldr r2, .L2988+48 + ldr r2, .L2937+48 ldr r3, [r3] cmp r3, r2 - bne .L2965 + bne .L2914 mov r4, r8 - b .L2962 -.L2967: + b .L2911 +.L2916: ldr r3, [r6] movs r0, #0 movs r4, #0 @@ -19037,11 +18743,11 @@ ftl_info_blk_init: strb r8, [r3, #1] movs r3, #4 str r3, [sp] - ldr r3, .L2988+64 + ldr r3, .L2937+64 ldr r2, [fp] bl flash_get_last_written_page uxth r6, r0 - ldr r2, .L2988+56 + ldr r2, .L2937+56 mov r7, r0 adds r3, r6, #1 uxth r10, r3 @@ -19050,32 +18756,32 @@ ftl_info_blk_init: ldrb r3, [r3] @ zero_extendqisi2 muls r3, r2, r3 str r3, [sp, #16] -.L2969: +.L2918: subs r3, r6, r4 lsls r3, r3, #16 - bmi .L2973 + bmi .L2922 ldr r3, [sp, #16] movs r0, #0 - ldr r8, .L2988+60 + ldr r8, .L2937+60 adds r1, r7, r3 ldrb r3, [r8] @ zero_extendqisi2 subs r1, r1, r4 str r3, [sp] - ldr r3, .L2988+64 + ldr r3, .L2937+64 ldr r2, [fp] bl ftl_read_page adds r0, r0, #1 - beq .L2970 - ldr r3, .L2988+16 - ldr r2, .L2988+48 + beq .L2919 + ldr r3, .L2937+16 + ldr r2, .L2937+48 ldr r3, [r3] ldr r3, [r3] cmp r3, r2 - bne .L2970 - ldr r3, .L2988+64 + bne .L2919 + ldr r3, .L2937+64 ldr r3, [r3, #8] - cbnz r3, .L2971 -.L2973: + cbnz r3, .L2920 +.L2922: ldr r3, [sp, #12] strh r10, [r3, #2] @ movhi bl ftl_tmp_into_update @@ -19087,17 +18793,17 @@ ftl_info_blk_init: bl ftl_info_flush movs r0, #0 bl ftl_info_flush - ldr r3, .L2988+40 + ldr r3, .L2937+40 ldr r4, [r3] ands r4, r4, #16384 - beq .L2959 + beq .L2908 ldr r3, [r5] movs r4, #0 - ldr r0, .L2988+72 + ldr r0, .L2937+72 ldr r1, [r3, #156] bl printf - b .L2959 -.L2971: + b .L2908 +.L2920: ldrb r1, [r8] @ zero_extendqisi2 ldr r0, [fp] str r3, [sp, #20] @@ -19105,36 +18811,36 @@ ftl_info_blk_init: bl js_hash ldr r3, [sp, #20] cmp r3, r0 - beq .L2973 + beq .L2922 mov r1, r3 - ldr r0, .L2988+76 + ldr r0, .L2937+76 bl printf -.L2970: +.L2919: adds r4, r4, #1 - b .L2969 -.L2989: + b .L2918 +.L2938: .align 2 -.L2988: - .word .LANCHOR198 - .word .LANCHOR197 +.L2937: .word .LANCHOR195 - .word .LANCHOR199 - .word .LANCHOR110 - .word .LANCHOR7 - .word .LANCHOR27 - .word .LANCHOR6 - .word .LANCHOR200 .word .LANCHOR194 - .word .LANCHOR14 - .word .LC156 + .word .LANCHOR192 + .word .LANCHOR196 + .word .LANCHOR110 + .word .LANCHOR9 + .word .LANCHOR6 + .word .LANCHOR8 + .word .LANCHOR197 + .word .LANCHOR191 + .word .LANCHOR19 + .word .LC153 .word 1229739078 - .word 393251 + .word 393252 .word .LANCHOR111 .word .LANCHOR131 - .word .LANCHOR193 + .word .LANCHOR190 + .word .LC152 .word .LC155 - .word .LC158 - .word .LC157 + .word .LC154 .size ftl_info_blk_init, .-ftl_info_blk_init .section .text.ftl_ext_info_flush,"ax",%progbits .align 1 @@ -19147,55 +18853,55 @@ ftl_info_blk_init: ftl_ext_info_flush: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L3006 + ldr r3, .L2955 push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} ldr r3, [r3] ldr r2, [r3, #520] - cbz r2, .L2991 + cbz r2, .L2940 movs r2, #0 str r2, [r3, #520] -.L2991: - ldr r6, .L3006+4 +.L2940: + ldr r6, .L2955+4 movs r0, #0 bl ftl_total_vpn_update mov r5, r6 -.L2995: +.L2944: ldr r3, [r6] ldr r2, [r3, #56] adds r2, r2, #1 str r2, [r3, #56] ldrh r2, [r3, #140] - ldr r3, .L3006+8 + ldr r3, .L2955+8 ldrh r3, [r3] cmp r2, r3 - bcc .L2993 + bcc .L2942 bl ftl_ext_alloc_new_blk -.L2993: +.L2942: ldr r3, [r5] ldrh r2, [r3, #130] movw r3, #65535 cmp r2, r3 - bne .L2994 - movw r2, #2203 - ldr r1, .L3006+12 - ldr r0, .L3006+16 + bne .L2943 + movw r2, #2211 + ldr r1, .L2955+12 + ldr r0, .L2955+16 bl printf -.L2994: - ldr r3, .L3006+20 +.L2943: + ldr r3, .L2955+20 ldr r2, [r5] - ldr fp, .L3006+40 + ldr fp, .L2955+40 ldrb r3, [r3] @ zero_extendqisi2 ldrh r1, [r2, #130] - ldr r8, .L3006+44 + ldr r8, .L2955+44 rsb r4, r3, #24 - ldr r3, .L3006+24 + ldr r3, .L2955+24 mov r0, r8 ldrh r3, [r3] subs r3, r4, r3 movs r4, #1 asr r7, r1, r3 lsls r4, r4, r3 - ldr r3, .L3006+28 + ldr r3, .L2955+28 subs r4, r4, #1 ands r4, r4, r1 ldrh r1, [r3] @@ -19213,7 +18919,7 @@ ftl_ext_info_flush: lsl r1, fp, #9 ldr r3, [r3, #56] str r3, [r8, #4] - ldr r3, .L3006+32 + ldr r3, .L2955+32 ldr r10, [r3] mov r0, r10 bl js_hash @@ -19230,36 +18936,36 @@ ftl_ext_info_flush: uxth r3, r3 cmp r3, #1 strh r3, [r2, #140] @ movhi - beq .L2995 + beq .L2944 adds r0, r0, #1 - ldr r3, .L3006+36 - beq .L2996 + ldr r3, .L2955+36 + beq .L2945 ldrb r0, [r3] @ zero_extendqisi2 - cbz r0, .L2997 -.L2996: -.L2992: + cbz r0, .L2946 +.L2945: +.L2941: movs r2, #0 strb r2, [r3] - b .L2995 -.L2997: + b .L2944 +.L2946: add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3007: +.L2956: .align 2 -.L3006: - .word .LANCHOR10 +.L2955: + .word .LANCHOR12 .word .LANCHOR110 - .word .LANCHOR95 - .word .LANCHOR201 + .word .LANCHOR94 + .word .LANCHOR198 .word .LC0 - .word .LANCHOR32 - .word .LANCHOR75 + .word .LANCHOR31 + .word .LANCHOR74 .word .LANCHOR111 - .word .LANCHOR200 - .word .LANCHOR199 + .word .LANCHOR197 + .word .LANCHOR196 .word .LANCHOR131 - .word .LANCHOR193 + .word .LANCHOR190 .size ftl_ext_info_flush, .-ftl_ext_info_flush .section .text.ftl_ext_info_init,"ax",%progbits .align 1 @@ -19274,14 +18980,14 @@ ftl_ext_info_init: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r10, fp, lr} movs r2, #0 - ldr r3, .L3030 - ldr r5, .L3030+4 + ldr r3, .L2979 + ldr r5, .L2979+4 strh r2, [r3] @ movhi - ldr r1, .L3030+8 + ldr r1, .L2979+8 ldr r3, [r5] ldrh r4, [r1] ldrh r2, [r3, #130] - ldr r3, .L3030+12 + ldr r3, .L2979+12 ldrb r3, [r3] @ zero_extendqisi2 rsb r3, r3, #24 subs r3, r3, r4 @@ -19291,73 +18997,73 @@ ftl_ext_info_init: subs r4, r4, #1 uxtb r8, r7 ands r4, r4, r2 - ldr r2, .L3030+16 + ldr r2, .L2979+16 movs r3, #4 mov r1, r4 str r3, [sp] mov r0, r8 - ldr r3, .L3030+20 + ldr r3, .L2979+20 ldr r2, [r2] bl flash_get_last_written_page - ldr r3, .L3030+24 + ldr r3, .L2979+24 mov r6, r0 ldr r3, [r3] lsls r2, r3, #19 - bpl .L3009 + bpl .L2958 ldr r3, [r5] uxth r7, r7 - movw r2, #2248 - ldr r1, .L3030+28 + mov r2, #2256 + ldr r1, .L2979+28 ldrh r3, [r3, #130] str r7, [sp] str r3, [sp, #4] mov r3, r0 - ldr r0, .L3030+32 + ldr r0, .L2979+32 bl printf -.L3009: +.L2958: movs r7, #0 -.L3010: +.L2959: uxth r10, r6 sub r3, r10, r7 lsls r0, r3, #16 - bmi .L3015 - ldr r3, .L3030+36 + bmi .L2964 + ldr r3, .L2979+36 subs r1, r6, r7 - ldr fp, .L3030+60 - ldr r2, .L3030+16 + ldr fp, .L2979+60 + ldr r2, .L2979+16 ldrh r0, [r3] ldrb r3, [fp] @ zero_extendqisi2 mla r1, r4, r0, r1 str r3, [sp] - ldr r3, .L3030+20 + ldr r3, .L2979+20 ldr r2, [r2] mov r0, r8 bl flash_read_page_en adds r3, r0, #1 - beq .L3011 + beq .L2960 cmp r0, #512 - beq .L3011 - ldr r3, .L3030+40 - ldr r2, .L3030+44 + beq .L2960 + ldr r3, .L2979+40 + ldr r2, .L2979+44 ldr r3, [r3] ldr r3, [r3] cmp r3, r2 - bne .L3011 - ldr r3, .L3030+20 + bne .L2960 + ldr r3, .L2979+20 ldr r3, [r3, #8] cmp r3, #0 - bne .L3012 -.L3015: + bne .L2961 +.L2964: bl zftl_sblk_list_init ldr r2, [r5] ldrh r3, [r2, #140] cmp r3, r6 - bgt .L3014 + bgt .L2963 add r3, r10, #1 strh r3, [r2, #140] @ movhi bl ftl_ext_info_flush -.L3014: - ldr r3, .L3030+40 +.L2963: + ldr r3, .L2979+40 movw r1, #65535 movs r2, #0 ldr r3, [r3] @@ -19368,62 +19074,1089 @@ ftl_ext_info_init: str r1, [r3, #560] mov r1, #-1 str r1, [r3, #564] - ldr r1, .L3030+24 + ldr r1, .L2979+24 str r2, [r3, #520] str r2, [r3, #604] ldr r1, [r1] str r2, [r3, #608] lsls r1, r1, #19 - bpl .L3017 + bpl .L2966 str r2, [sp] - ldr r1, .L3030+28 + ldr r1, .L2979+28 ldr r3, [r3, #12] - ldr r0, .L3030+48 + ldr r0, .L2979+48 bl printf -.L3017: - ldr r3, .L3030+52 +.L2966: + ldr r3, .L2979+52 movw r2, #65535 movs r0, #0 strh r2, [r3] @ movhi add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3012: +.L2961: ldrb r1, [fp] @ zero_extendqisi2 str r3, [sp, #12] - ldr r3, .L3030+16 + ldr r3, .L2979+16 lsls r1, r1, #9 ldr r0, [r3] bl js_hash ldr r3, [sp, #12] cmp r3, r0 - beq .L3015 + beq .L2964 mov r1, r3 - ldr r0, .L3030+56 + ldr r0, .L2979+56 bl printf +.L2960: + adds r7, r7, #1 + b .L2959 +.L2980: + .align 2 +.L2979: + .word .LANCHOR121 + .word .LANCHOR110 + .word .LANCHOR74 + .word .LANCHOR31 + .word .LANCHOR197 + .word .LANCHOR190 + .word .LANCHOR19 + .word .LANCHOR199 + .word .LC156 + .word .LANCHOR111 + .word .LANCHOR12 + .word 1162432070 + .word .LC158 + .word .LANCHOR72 + .word .LC157 + .word .LANCHOR131 + .size ftl_ext_info_init, .-ftl_ext_info_init + .section .text.ftl_prog_ppa_page,"ax",%progbits + .align 1 + .global ftl_prog_ppa_page + .syntax unified + .thumb + .thumb_func + .fpu softvfp + .type ftl_prog_ppa_page, %function +ftl_prog_ppa_page: + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + push {r0, r1, r2, r4, r5, r6, r7, lr} + ldr r4, .L2982 + ldrb r7, [r4] @ zero_extendqisi2 + movs r4, #1 + str r3, [sp] + mov r3, r2 + mov r2, r1 + rsb r5, r7, #24 + lsl r6, r4, r5 + lsls r4, r4, r7 + lsr r5, r0, r5 + subs r4, r4, #1 + subs r6, r6, #1 + ands r4, r4, r5 + and r1, r6, r0 + uxtb r0, r4 + bl ftl_prog_page + add sp, sp, #12 + @ sp needed + pop {r4, r5, r6, r7, pc} +.L2983: + .align 2 +.L2982: + .word .LANCHOR31 + .size ftl_prog_ppa_page, .-ftl_prog_ppa_page + .section .text.ftl_write_last_log_page,"ax",%progbits + .align 1 + .global ftl_write_last_log_page + .syntax unified + .thumb + .thumb_func + .fpu softvfp + .type ftl_write_last_log_page, %function +ftl_write_last_log_page: + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + push {r3, r4, r5, r6, r7, lr} + mov r4, r0 + ldrh r3, [r0, #6] + cmp r3, #1 + bne .L2987 + ldr r3, .L2989 + ldrh r7, [r0, #12] + ldr r5, [r3] + bl ftl_get_new_free_page + adds r3, r0, #1 + mov r6, r0 + beq .L2988 + ldrh r0, [r4] + add r5, r5, r7, lsl #2 + ldr r4, .L2989+4 + bl ftl_vpn_decrement + ldr r3, .L2989+8 + mov r0, r5 + ldr r2, .L2989+12 + str r3, [r4] + ldr r3, .L2989+16 + ldrb r1, [r2] @ zero_extendqisi2 + ldrh r3, [r3] + muls r1, r3, r1 + lsls r1, r1, #2 + bl js_hash + ldr r3, .L2989+20 + movs r2, #0 + str r0, [r4, #4] + mov r1, r5 + str r2, [r4, #8] + mov r0, r6 + ldrb r3, [r3] @ zero_extendqisi2 + str r2, [r4, #12] + str r2, [r4, #16] + cmp r3, #8 + it hi + strhi r2, [r4, #20] + ldr r2, .L2989+4 + bl ftl_prog_ppa_page +.L2988: + movs r0, #0 + pop {r3, r4, r5, r6, r7, pc} +.L2987: + mov r0, #-1 + pop {r3, r4, r5, r6, r7, pc} +.L2990: + .align 2 +.L2989: + .word .LANCHOR117 + .word .LANCHOR188 + .word -178307901 + .word .LANCHOR79 + .word .LANCHOR94 + .word .LANCHOR131 + .size ftl_write_last_log_page, .-ftl_write_last_log_page + .section .text.ftl_dump_write_open_sblk,"ax",%progbits + .align 1 + .global ftl_dump_write_open_sblk + .syntax unified + .thumb + .thumb_func + .fpu softvfp + .type ftl_dump_write_open_sblk, %function +ftl_dump_write_open_sblk: + @ args = 0, pretend = 0, frame = 64 + @ frame_needed = 0, uses_anonymous_args = 0 + ldr r3, .L3030 + push {r4, r5, r6, r7, r8, r10, fp, lr} + mov r5, r0 + sub sp, sp, #104 + ldrh r3, [r3] + cmp r3, r0 + bls .L2991 + ldr r3, .L3030+4 + ldrb r3, [r3] @ zero_extendqisi2 + cbnz r3, .L2993 + ldr r3, .L3030+8 + ldrb r3, [r3] @ zero_extendqisi2 + cmp r3, #0 + beq .L2991 +.L2993: + ldr r3, .L3030+12 + ldrb r3, [r3] @ zero_extendqisi2 + cmp r3, #0 + bne .L2991 + ldr r7, .L3030+16 + lsls r4, r5, #2 + add r1, sp, #88 + strh r5, [sp, #72] @ movhi + mov r0, r5 + movs r6, #0 + ldr r3, [r7] + add r3, r3, r4 + ldrb r3, [r3, #2] @ zero_extendqisi2 + and r3, r3, #224 + cmp r3, #160 + itet eq + ldreq r3, .L3030+20 + movne fp, #1 + ldrbeq fp, [r3] @ zero_extendqisi2 + bl ftl_get_blk_list_in_sblk + ldr r3, .L3030+24 + uxtb r0, r0 + strb r6, [sp, #77] + strb r0, [sp, #81] + ldrh r3, [r3] + strh r6, [sp, #74] @ movhi + strh r6, [sp, #82] @ movhi + smulbb r0, r3, r0 + ldr r3, [r7] + mov r7, r6 + ldr r1, [r3, r5, lsl #2] + add r4, r4, r3 + ldrb r2, [r4, #2] @ zero_extendqisi2 + strh r0, [sp, #78] @ movhi + ubfx r1, r1, #11, #8 + ldr r0, .L3030+28 + str r1, [sp, #4] + mov r1, r5 + ldrh r3, [r3, r5, lsl #2] + ubfx r3, r3, #0, #11 + str r3, [sp] + ubfx r3, r2, #3, #2 + lsrs r2, r2, #5 + bl printf + movs r0, #1 + bl buf_alloc + mov r4, r0 + str r6, [sp, #44] +.L2995: + ldr r3, .L3030+24 + uxth r10, r6 + ldrh r3, [r3] + cmp r3, r10 + bls .L3004 + mov r3, r10 + str r10, [sp, #52] + lsls r3, r3, #1 + mov r8, #0 + subs r2, r3, #1 + add r3, r3, r10 + subs r3, r3, #1 + str r2, [sp, #56] + str r3, [sp, #60] + b .L3007 +.L3005: + ldr r3, [sp, #64] + add r2, sp, #104 + add r3, r2, r3, lsl #1 + ldrh r3, [r3, #-32] + str r3, [sp, #48] + movw r3, #65535 + ldr r2, [sp, #48] + cmp r2, r3 + bne .L2996 +.L3003: + adds r7, r7, #1 + uxth r7, r7 +.L2997: + cmp fp, r7 + bcs .L3005 + add r8, r8, #1 +.L3007: + uxth r3, r8 + str r3, [sp, #44] + ldr r2, [sp, #44] + ldrb r3, [sp, #81] @ zero_extendqisi2 + cmp r3, r2 + bls .L3006 + mov r3, r2 + movs r7, #1 + adds r3, r3, #8 + str r3, [sp, #64] + b .L2997 +.L2996: + ldr r3, .L3030+32 + cmp fp, #3 + ldr r2, [sp, #48] + ldrh r3, [r3] + mul r3, r2, r3 + bne .L2998 + ldr r2, .L3030+36 + ldrb r2, [r2] @ zero_extendqisi2 + cbz r2, .L2999 + ldr r2, [sp, #60] +.L3029: + add r3, r3, r2 + ldr r2, .L3030+20 + add r3, r3, r7 + ldrb r2, [r2] @ zero_extendqisi2 + orr r3, r3, r2, lsl #24 + b .L3000 +.L2999: + uxtah r3, r3, r6 + orr r3, r3, r7, lsl #24 +.L3000: + str r3, [r4, #24] + movs r1, #1 + mov r0, r4 + str r3, [sp, #68] + bl sblk_read_page + ldr r3, [r4, #36] + cmp r3, #512 + str r3, [sp, #40] + ldr r3, [sp, #68] + beq .L3002 + ldr r2, [sp, #40] + adds r2, r2, #1 + bne .L3003 +.L3002: + ldr r1, [r4, #12] + ldr r2, [r4, #4] + ldr r0, [r1, #12] + str r0, [sp, #32] + ldr r0, [r1, #8] + str r0, [sp, #28] + ldr r0, [r1, #4] + str r0, [sp, #24] + ldr r1, [r1] + ldr r0, .L3030+40 + str r1, [sp, #20] + ldr r1, [r2, #12] + str r1, [sp, #16] + ldr r1, [r2, #8] + str r1, [sp, #12] + ldr r1, [r2, #4] + str r1, [sp, #8] + ldr r2, [r2] + ldr r1, [sp, #48] + str r2, [sp, #4] + ldr r2, [sp, #40] + str r2, [sp] + ldr r2, [sp, #52] + bl printf + ldr r3, [sp, #40] + cmp r3, #512 + bne .L3003 +.L3004: + uxth r2, r6 + ldr r6, .L3030+44 + ldr r3, [sp, #44] + mov r1, r5 + str r7, [sp] + ldr r0, .L3030+48 + bl printf + ldrb r2, [r6] @ zero_extendqisi2 + movs r1, #0 + ldr r0, [r4, #4] + ldr fp, .L3030+64 + lsls r2, r2, #9 + bl ftl_memset + ldrb r2, [r6] @ zero_extendqisi2 + movs r1, #0 + ldr r0, [r4, #12] + lsls r2, r2, #1 + bl ftl_memset +.L3008: + ldr r3, .L3030+24 + ldrh r3, [r3] + cmp r3, r10 + bls .L3014 + lsl r3, r10, #1 + movs r7, #0 + str r3, [sp, #40] + b .L3015 +.L2998: + cmp fp, #2 + bne .L3001 + ldr r2, [sp, #56] + b .L3029 +.L3001: + uxtah r3, r3, r6 + b .L3000 +.L3006: + adds r6, r6, #1 + b .L2995 +.L3013: + ldr r3, [fp] + uxth r8, r7 + tst r3, #4096 + beq .L3009 + mov r2, r8 + mov r1, r10 + ldr r0, .L3030+52 + bl printf +.L3009: + ldr r2, .L3030+4 + ldr r0, .L3030+32 + ldrb r2, [r2] @ zero_extendqisi2 + cbz r2, .L3010 + add r3, sp, #104 + add r3, r3, r8, lsl #1 + ldrh r2, [r3, #-16] + ldrh r3, [r0] + mov r0, r4 + muls r3, r2, r3 + orr r3, r3, r10 + str r3, [r4, #24] + bl sblk_3d_tlc_dump_prog .L3011: adds r7, r7, #1 - b .L3010 +.L3015: + ldrb r2, [sp, #81] @ zero_extendqisi2 + uxth r3, r7 + cmp r2, r3 + bhi .L3013 + add r3, r10, #1 + uxth r10, r3 + b .L3008 +.L3010: + ldr r1, .L3030+20 + add r3, sp, #104 + add r3, r3, r8, lsl #1 + ldrb r1, [r1] @ zero_extendqisi2 + cmp r1, #2 + bne .L3012 + ldrh r2, [r3, #-16] + ldrh r3, [r0] + mov r0, r4 + muls r3, r2, r3 + ldr r2, [sp, #40] + orrs r3, r3, r2 + orr r3, r3, #33554432 + str r3, [r4, #24] + bl sblk_mlc_dump_prog + b .L3011 +.L3012: + ldrh r3, [r3, #-16] + ldrh r1, [r0] + movs r0, #1 + muls r1, r3, r1 + ldr r3, .L3030+56 + ldrb r3, [r3] @ zero_extendqisi2 + orr r1, r1, r10 + str r1, [r4, #24] + rsb lr, r3, #24 + str r2, [sp, #4] + lsls r0, r0, r3 + subs r3, r0, #1 + lsr r0, r1, lr + lsl ip, r3, lr + ands r0, r0, r3 + ldrb r3, [r6] @ zero_extendqisi2 + bic r1, r1, ip + uxtb r0, r0 + str r3, [sp] + ldr r3, [r4, #12] + ldr r2, [r4, #4] + bl flash_prog_page_en + b .L3011 +.L3014: + mov r0, r4 + bl zbuf_free + mov r1, r5 + ldr r0, .L3030+60 + bl printf +.L2991: + add sp, sp, #104 + @ sp needed + pop {r4, r5, r6, r7, r8, r10, fp, pc} .L3031: .align 2 .L3030: - .word .LANCHOR121 - .word .LANCHOR110 - .word .LANCHOR75 - .word .LANCHOR32 - .word .LANCHOR200 - .word .LANCHOR193 - .word .LANCHOR14 - .word .LANCHOR202 + .word .LANCHOR8 + .word .LANCHOR83 + .word .LANCHOR80 + .word .LANCHOR35 + .word .LANCHOR9 + .word .LANCHOR78 + .word .LANCHOR94 .word .LC159 .word .LANCHOR111 - .word .LANCHOR10 - .word 1162432070 - .word .LC161 - .word .LANCHOR73 + .word .LANCHOR36 .word .LC160 .word .LANCHOR131 - .size ftl_ext_info_init, .-ftl_ext_info_init + .word .LC161 + .word .LC162 + .word .LANCHOR31 + .word .LC163 + .word .LANCHOR19 + .size ftl_dump_write_open_sblk, .-ftl_dump_write_open_sblk + .section .text.gc_ink_check_sblk,"ax",%progbits + .align 1 + .global gc_ink_check_sblk + .syntax unified + .thumb + .thumb_func + .fpu softvfp + .type gc_ink_check_sblk, %function +gc_ink_check_sblk: + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} + ldr r4, .L3059 + ldrh r3, [r4, #2106] + ldr r6, [r4, #2176] + cmp r3, #3 + bhi .L3033 + tbb [pc, r3] +.L3035: + .byte (.L3034-.L3035)/2 + .byte (.L3036-.L3035)/2 + .byte (.L3037-.L3035)/2 + .byte (.L3038-.L3035)/2 + .p2align 1 +.L3034: + ldr r5, .L3059+4 + ldrh r3, [r5] + cmp r3, #7 + bls .L3032 + ldr r3, .L3059+8 + ldrb r3, [r3] @ zero_extendqisi2 + cmp r3, #2 + bls .L3032 + movs r1, #0 + ldr r0, .L3059+12 + movw r8, #65535 + bl _list_get_gc_head_node + cmp r0, r8 + beq .L3032 + ldr r7, .L3059+16 + ldr r3, [r7] + ldrh r3, [r3, r0, lsl #2] + ubfx r3, r3, #0, #11 + cmp r3, #2 + bgt .L3032 + movs r0, #1 + bl buf_alloc + str r0, [r4, #2176] + cbz r0, .L3032 + mov r2, r5 + movs r1, #0 + ldr r0, .L3059+12 + bl _list_pop_index_node + uxth r6, r0 + mov r5, r0 + cmp r6, r8 + bne .L3042 + ldr r0, [r4, #2176] + bl zbuf_free + movs r3, #0 + str r3, [r4, #2176] +.L3032: + add sp, sp, #8 + @ sp needed + pop {r4, r5, r6, r7, r8, r10, fp, pc} +.L3042: + ldr r1, .L3059+20 + mov r0, r6 + bl ftl_get_blk_list_in_sblk + movs r3, #0 + uxth r5, r5 + strh r3, [r4, #2144] @ movhi + movs r3, #1 + strh r3, [r4, #2106] @ movhi + ldr r3, [r7] + strb r0, [r4, #2151] + strh r6, [r4, #2142] @ movhi + ldrh r3, [r3, r5, lsl #2] + tst r3, #1 + ldr r3, .L3059+24 + ite ne + movne r1, #85 + moveq r1, #170 + ldrb r2, [r3] @ zero_extendqisi2 + ldr r3, [r4, #2176] + lsls r2, r2, #9 + ldr r0, [r3, #4] + add sp, sp, #8 + @ sp needed + pop {r4, r5, r6, r7, r8, r10, fp, lr} + b ftl_memset +.L3036: + movs r1, #0 + ldrh r0, [r4, #2142] + bl ftl_erase_sblk + movs r3, #2 +.L3057: + strh r3, [r4, #2106] @ movhi + b .L3032 +.L3037: + ldr r8, .L3059+40 + movs r7, #0 + ldr r10, .L3059+44 + bl sblk_wait_write_queue_completed +.L3044: + ldrb r2, [r4, #2151] @ zero_extendqisi2 + uxth r3, r7 + cmp r2, r3 + bhi .L3046 + ldrh r3, [r4, #2144] + ldr r2, .L3059+28 + adds r3, r3, #1 + ldrh r2, [r2] + uxth r3, r3 + strh r3, [r4, #2144] @ movhi + cmp r2, r3 + bhi .L3032 + movs r3, #0 + strh r3, [r4, #2144] @ movhi + movs r3, #3 + b .L3057 +.L3046: + uxth r3, r7 + movw r2, #65535 + add r3, r4, r3, lsl #1 + ldrh r3, [r3, #2158] + cmp r3, r2 + beq .L3045 + ldrh r2, [r8] + mov lr, #0 + ldrh r1, [r4, #2144] + ldr r0, .L3059+32 + mla r1, r3, r2, r1 + ldr r2, [r6, #4] + ldr r3, [r6, #12] + stm r2, {r1, r10} + str lr, [r3] + ldrb r5, [r0] @ zero_extendqisi2 + movs r0, #1 + str lr, [sp, #4] + rsb fp, r5, #24 + lsls r0, r0, r5 + subs r5, r0, #1 + lsr r0, r1, fp + lsl ip, r5, fp + ands r0, r0, r5 + ldr r5, .L3059+24 + bic r1, r1, ip + uxtb r0, r0 + ldrb r5, [r5] @ zero_extendqisi2 + str r5, [sp] + bl flash_prog_page_en +.L3045: + adds r7, r7, #1 + b .L3044 +.L3038: + ldr r10, .L3059+40 + mov fp, #0 + movw r8, #65535 + bl sblk_wait_write_queue_completed +.L3047: + ldrb r2, [r4, #2151] @ zero_extendqisi2 + uxth r3, fp + cmp r2, r3 + bhi .L3051 + ldrh r3, [r4, #2144] + ldr r2, .L3059+28 + adds r3, r3, #1 + ldrh r2, [r2] + uxth r3, r3 + strh r3, [r4, #2144] @ movhi + cmp r2, r3 + bhi .L3032 + movs r5, #0 + ldr r0, [r4, #2176] + strh r5, [r4, #2106] @ movhi + bl zbuf_free + ldrh r3, [r4, #2108] + str r5, [r4, #2176] + cmp r3, #15 + bhi .L3052 + adds r2, r3, #1 + add r3, r4, r3, lsl #1 + strh r2, [r4, #2108] @ movhi + ldrh r2, [r4, #2142] + strh r2, [r3, #2110] @ movhi +.L3053: + ldrh r2, [r4, #2108] + ldrh r1, [r4, #2142] + ldr r0, .L3059+36 + add sp, sp, #8 + @ sp needed + pop {r4, r5, r6, r7, r8, r10, fp, lr} + b printf +.L3051: + uxth r5, fp + adds r5, r5, #8 + add r5, r4, r5, lsl #1 + ldrh r3, [r5, #2142] + cmp r3, r8 + beq .L3049 + ldrh r2, [r4, #2144] + movs r1, #1 + ldrh r7, [r10] + mov r0, r6 + mla r7, r3, r7, r2 + str r7, [r6, #24] + bl sblk_read_page + ldr r3, [r6, #4] + ldr r3, [r3] + cmp r7, r3 + beq .L3049 + mov r0, r7 + bl ftl_mask_bad_block + strh r8, [r5, #2142] @ movhi +.L3049: + add fp, fp, #1 + b .L3047 +.L3052: + ldrh r0, [r4, #2142] + bl zftl_insert_free_list + b .L3053 +.L3033: + movs r3, #0 + b .L3057 +.L3060: + .align 2 +.L3059: + .word .LANCHOR70 + .word .LANCHOR107 + .word .LANCHOR57 + .word .LANCHOR108 + .word .LANCHOR9 + .word .LANCHOR70+2158 + .word .LANCHOR131 + .word .LANCHOR94 + .word .LANCHOR31 + .word .LC164 + .word .LANCHOR111 + .word 1437269760 + .size gc_ink_check_sblk, .-gc_ink_check_sblk + .section .text.ftl_ink_check_sblk,"ax",%progbits + .align 1 + .global ftl_ink_check_sblk + .syntax unified + .thumb + .thumb_func + .fpu softvfp + .type ftl_ink_check_sblk, %function +ftl_ink_check_sblk: + @ args = 0, pretend = 0, frame = 40 + @ frame_needed = 0, uses_anonymous_args = 0 + push {r4, r5, r6, r7, r8, r10, fp, lr} + mov r1, r0 + ldr r5, .L3079 + sub sp, sp, #48 + mov r4, r0 + ldr r2, [r5] + ldr r3, [r2, r0, lsl #2] + ldrh r2, [r2, r0, lsl #2] + ldr r0, .L3079+4 + ubfx r3, r3, #11, #8 + ubfx r2, r2, #0, #11 + bl printf + movw r3, #65535 + str r5, [sp, #8] + cmp r4, r3 + beq .L3061 + ldr r3, .L3079+8 + ldrh r3, [r3] + cmp r3, r4 + bls .L3061 + movs r1, #0 + mov r0, r4 + bl ftl_erase_sblk + add r1, sp, #32 + mov r0, r4 + strh r4, [sp, #16] @ movhi + movs r6, #0 + bl ftl_get_blk_list_in_sblk + strb r0, [sp, #25] + movs r0, #1 + bl buf_alloc + ldr r3, [sp, #8] + mov r5, r0 + ldr r7, .L3079+12 + ldr r0, [r0, #4] + ldr r3, [r3] + ldrb r2, [r7] @ zero_extendqisi2 + ldrh r3, [r3, r4, lsl #2] + lsls r2, r2, #9 + ubfx r3, r3, #0, #11 + cmp r3, #1 + ite le + movle r1, #85 + movgt r1, #170 + bl ftl_memset + bl sblk_wait_write_queue_completed +.L3065: + ldr r3, .L3079+16 + uxth r2, r6 + mov r8, #0 + ldrh r1, [r3] + str r3, [sp, #12] + cmp r1, r2 + bhi .L3069 +.L3070: + ldr r3, [sp, #12] + ldrh r1, [r3] + uxth r3, r8 + cmp r1, r3 + bls .L3075 + mov fp, #0 + movw r10, #65535 + b .L3076 +.L3067: + uxth r3, r8 + add r2, sp, #48 + add r3, r2, r3, lsl #1 + movw r2, #65535 + ldrh r3, [r3, #-16] + cmp r3, r2 + beq .L3066 + ldr r2, .L3079+20 + uxth r1, r6 + ldr r0, .L3079+24 + mov r10, #0 + ldrh r2, [r2] + mla r1, r3, r2, r1 + ldr r2, [r5, #4] + ldr r3, .L3079+28 + str r3, [r2, #4] + ldr r3, [r5, #12] + str r1, [r2] + str r10, [r3] + ldrb ip, [r0] @ zero_extendqisi2 + movs r0, #1 + str r10, [sp, #4] + rsb fp, ip, #24 + lsl r0, r0, ip + add ip, r0, #-1 + lsr r0, r1, fp + lsl lr, ip, fp + and r0, r0, ip + ldrb ip, [r7] @ zero_extendqisi2 + bic r1, r1, lr + uxtb r0, r0 + str ip, [sp] + bl flash_prog_page_en +.L3066: + add r8, r8, #1 +.L3069: + ldrb r2, [sp, #25] @ zero_extendqisi2 + uxth r3, r8 + cmp r2, r3 + bhi .L3067 + adds r6, r6, #1 + b .L3065 +.L3074: + uxth r6, fp + add r3, sp, #48 + adds r6, r6, #8 + add r6, r3, r6, lsl #1 + ldrh r1, [r6, #-32] + cmp r1, r10 + beq .L3072 + ldr r3, .L3079+20 + uxth r0, r8 + ldrh r7, [r3] + mla r7, r1, r7, r0 + movs r1, #1 + mov r0, r5 + str r7, [r5, #24] + bl sblk_read_page + ldr r1, [r5, #4] + ldr r1, [r1] + cmp r7, r1 + beq .L3072 + mov r0, r7 + bl ftl_mask_bad_block + strh r10, [r6, #-32] @ movhi +.L3072: + add fp, fp, #1 +.L3076: + ldrb r0, [sp, #25] @ zero_extendqisi2 + uxth r1, fp + cmp r0, r1 + bhi .L3074 + add r8, r8, #1 + b .L3070 +.L3075: + mov r0, r5 + bl zbuf_free + ldr r3, [sp, #8] + mov r1, r4 + ldr r0, .L3079+32 + ldr r2, [r3] + ldr r3, [r2, r4, lsl #2] + ldrh r2, [r2, r4, lsl #2] + ubfx r3, r3, #11, #8 + ubfx r2, r2, #0, #11 + bl printf +.L3061: + add sp, sp, #48 + @ sp needed + pop {r4, r5, r6, r7, r8, r10, fp, pc} +.L3080: + .align 2 +.L3079: + .word .LANCHOR9 + .word .LC165 + .word .LANCHOR8 + .word .LANCHOR131 + .word .LANCHOR94 + .word .LANCHOR111 + .word .LANCHOR31 + .word 1437269760 + .word .LC166 + .size ftl_ink_check_sblk, .-ftl_ink_check_sblk + .section .text.ftl_alloc_sblk,"ax",%progbits + .align 1 + .global ftl_alloc_sblk + .syntax unified + .thumb + .thumb_func + .fpu softvfp + .type ftl_alloc_sblk, %function +ftl_alloc_sblk: + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + push {r3, r4, r5, r6, r7, r8, r10, lr} + uxth r5, r0 + cmp r0, #5 + mov r10, r0 + mov r1, r5 + mov r0, #0 + ite ne + movne r7, #0 + moveq r7, #2 + bl zftl_get_free_sblk + movw r3, #65535 + mov r4, r0 + cmp r0, r3 + beq .L3083 + ldr r6, .L3094 + lsl r8, r0, #2 + ldr r5, [r6] + add r5, r5, r8 + ldrb r3, [r5, #2] @ zero_extendqisi2 + tst r3, #224 + beq .L3084 + mov r2, #1012 + ldr r1, .L3094+4 + ldr r0, .L3094+8 + bl printf +.L3084: + ldrb r3, [r5, #2] @ zero_extendqisi2 + bfi r3, r10, #5, #3 + uxtb r3, r3 + ubfx r2, r3, #3, #2 + orrs r2, r2, r7 + bfi r3, r2, #3, #2 + strb r3, [r5, #2] + uxtb r3, r3 + and r2, r3, #24 + cmp r2, #24 + bne .L3085 + cbnz r7, .L3085 + movs r2, #1 + bfi r3, r2, #3, #2 + strb r3, [r5, #2] +.L3085: + ldr r3, .L3094+12 + ldr r3, [r3] + ldrh r3, [r3, #150] + cbz r3, .L3086 + ldr r3, [r6] + ldrh r3, [r3, r8] + ubfx r3, r3, #0, #11 + cbnz r3, .L3086 + cbnz r7, .L3086 + mov r0, r4 + bl ftl_ink_check_sblk +.L3086: + mov r0, r4 + pop {r3, r4, r5, r6, r7, r8, r10, pc} +.L3083: + bl print_ftl_debug_info + mov r2, r10 + mov r1, r4 + ldr r0, .L3094+16 + bl printf + mov r1, r5 + movs r0, #0 + bl zftl_get_free_sblk + mov r2, r10 + mov r1, r0 + mov r4, r0 + ldr r0, .L3094+16 + bl printf + bl dump_all_list_info + movw r2, #1031 + ldr r1, .L3094+4 + ldr r0, .L3094+8 + bl printf + b .L3086 +.L3095: + .align 2 +.L3094: + .word .LANCHOR9 + .word .LANCHOR200 + .word .LC0 + .word .LANCHOR110 + .word .LC167 + .size ftl_alloc_sblk, .-ftl_alloc_sblk + .section .text.ftl_open_sblk_init,"ax",%progbits + .align 1 + .global ftl_open_sblk_init + .syntax unified + .thumb + .thumb_func + .fpu softvfp + .type ftl_open_sblk_init, %function +ftl_open_sblk_init: + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + push {r3, r4, r5, r6, r7, r8, r10, lr} + mov r4, r0 + ldr r8, .L3103+12 + mov r6, r1 + movs r7, #0 +.L3097: + movw r10, #65535 +.L3098: + mov r0, r6 + bl ftl_alloc_sblk + cmp r0, r10 + mov r5, r0 + beq .L3098 + movs r1, #0 + ldr r10, .L3103+16 + bl ftl_erase_sblk + add r1, r4, #16 + mov r0, r5 + bl ftl_get_blk_list_in_sblk + ldr r1, .L3103 + cmp r6, #2 + ldrh r2, [r8] + uxtb r0, r0 + strh r5, [r4] @ movhi + ite eq + moveq r3, #0 + ldrbne r3, [r1] @ zero_extendqisi2 + ldrb r1, [r1] @ zero_extendqisi2 + strb r0, [r4, #9] + smulbb r0, r0, r2 + strh r7, [r4, #2] @ movhi + it ne + smulbbne r3, r3, r2 + strb r7, [r4, #5] + mul r2, r2, r1 + ldr r1, .L3103+4 + strh r0, [r4, #6] @ movhi + it ne + uxthne r3, r3 + strh r7, [r4, #10] @ movhi + ldr r0, [r1] + movs r1, #255 + strh r3, [r4, #12] @ movhi + lsls r2, r2, #2 + strb r6, [r4, #4] + add r0, r0, r3, lsl #2 + bl ftl_memset + ldr r3, [r10] + ldrh r2, [r4, #6] + strh r2, [r3, r5, lsl #1] @ movhi + ldrb r3, [r4, #9] @ zero_extendqisi2 + cbnz r3, .L3096 + mov r1, r5 + ldr r0, .L3103+8 + bl printf + ldr r3, [r10] + movw r2, #65535 + strh r2, [r3, r5, lsl #1] @ movhi + movs r3, #7 + strb r3, [r4, #4] + b .L3097 +.L3096: + pop {r3, r4, r5, r6, r7, r8, r10, pc} +.L3104: + .align 2 +.L3103: + .word .LANCHOR79 + .word .LANCHOR117 + .word .LC168 + .word .LANCHOR94 + .word .LANCHOR11 + .size ftl_open_sblk_init, .-ftl_open_sblk_init .section .text.ftl_low_format_data_init,"ax",%progbits .align 1 .global ftl_low_format_data_init @@ -19437,9 +20170,9 @@ ftl_low_format_data_init: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, r6, r7, lr} mov r2, #16384 - ldr r3, .L3034 + ldr r3, .L3107 movs r1, #0 - ldr r5, .L3034+4 + ldr r5, .L3107+4 ldr r0, [r3] bl ftl_memset bl zftl_sblk_list_init @@ -19460,12 +20193,12 @@ ftl_low_format_data_init: subs r3, r7, #1 uxth r3, r3 cmp r3, r2 - bls .L3033 - movw r2, #2476 - ldr r1, .L3034+8 - ldr r0, .L3034+12 + bls .L3106 + movw r2, #2484 + ldr r1, .L3107+8 + ldr r0, .L3107+12 bl printf -.L3033: +.L3106: ldr r0, [r5] movs r4, #0 mov r2, #256 @@ -19478,8 +20211,8 @@ ftl_low_format_data_init: mov r2, #4096 add r0, r0, #704 bl ftl_memset - ldr r3, .L3034+16 - ldr r1, .L3034+20 + ldr r3, .L3107+16 + ldr r1, .L3107+20 ldr r2, [r5] ldrb r3, [r3] @ zero_extendqisi2 ldrh r1, [r1] @@ -19488,14 +20221,14 @@ ftl_low_format_data_init: strh r6, [r2, #416] @ movhi subs r3, r3, r1 asr r3, r7, r3 - ldr r7, .L3034+24 + ldr r7, .L3107+24 strh r3, [r2, #694] @ movhi movs r3, #1 strh r3, [r2, #688] @ movhi - ldr r3, .L3034+28 + ldr r3, .L3107+28 ldrh r3, [r3] strh r3, [r2, #698] @ movhi - ldr r2, .L3034+32 + ldr r2, .L3107+32 ldr r3, [r7] str r2, [r3] bl ftl_alloc_sys_blk @@ -19548,17 +20281,17 @@ ftl_low_format_data_init: bl ftl_info_blk_init mov r0, r4 pop {r3, r4, r5, r6, r7, pc} -.L3035: +.L3108: .align 2 -.L3034: - .word .LANCHOR200 +.L3107: + .word .LANCHOR197 .word .LANCHOR110 - .word .LANCHOR203 + .word .LANCHOR201 .word .LC0 - .word .LANCHOR32 - .word .LANCHOR75 - .word .LANCHOR10 - .word .LANCHOR204 + .word .LANCHOR31 + .word .LANCHOR74 + .word .LANCHOR12 + .word .LANCHOR202 .word 1162432070 .size ftl_low_format_data_init, .-ftl_low_format_data_init .section .text.ftl_low_format,"ax",%progbits @@ -19574,71 +20307,71 @@ ftl_low_format: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r10, fp, lr} movs r4, #8 - ldr r6, .L3073 + ldr r6, .L3146 sub sp, sp, #40 movs r1, #0 - ldr r0, .L3073+4 + ldr r0, .L3146+4 bl printf -.L3039: +.L3112: ldr r3, [r6] add r3, r3, r4 ldrb r5, [r3, #32] @ zero_extendqisi2 cmp r5, #128 - ble .L3037 + ble .L3110 cmp r5, #255 - beq .L3038 - movw r2, #2531 - ldr r1, .L3073+8 - ldr r0, .L3073+12 + beq .L3111 + movw r2, #2539 + ldr r1, .L3146+8 + ldr r0, .L3146+12 bl printf -.L3037: - ldr r3, .L3073+16 +.L3110: + ldr r3, .L3146+16 movs r0, #0 ldrh r1, [r3] muls r1, r5, r1 bl flash_erase_block -.L3038: +.L3111: adds r4, r4, #1 cmp r4, #16 - bne .L3039 + bne .L3112 bl sblk_init bl ftl_info_blk_init - ldr r3, .L3073+20 + ldr r3, .L3146+20 mov r2, #16384 movs r1, #0 ldr r0, [r3] bl ftl_memset - ldr r2, .L3073+24 + ldr r2, .L3146+24 movs r0, #1 - ldr r1, .L3073+28 + ldr r1, .L3146+28 ldr r3, [r2] ldrh r1, [r1] str r2, [sp, #24] add r1, r3, r1, lsl #2 -.L3040: +.L3113: cmp r3, r1 - bne .L3041 - ldr r7, .L3073+32 + bne .L3114 + ldr r7, .L3146+32 movs r4, #0 - ldr r2, .L3073+36 + ldr r2, .L3146+36 ldr r3, [r7] str r2, [r3] strh r4, [r3, #148] @ movhi -.L3042: - ldr r3, .L3073+28 +.L3115: + ldr r3, .L3146+28 uxth r0, r4 ldrh r3, [r3] cmp r3, r0 - bhi .L3050 - ldr r3, .L3073+40 + bhi .L3123 + ldr r3, .L3146+40 mov fp, #15 ldrb r5, [r3] @ zero_extendqisi2 - ldr r3, .L3073 + ldr r3, .L3146 mov r1, r5 ldr r3, [r3] ldrb r0, [r3, #47] @ zero_extendqisi2 bl __aeabi_uidiv - ldr r3, .L3073+24 + ldr r3, .L3146+24 uxtb r0, r0 cmp r5, #1 uxth lr, r5 @@ -19646,13 +20379,13 @@ ftl_low_format: ldr r10, [r3] it eq moveq r8, #1 - ldr r3, .L3073+32 + ldr r3, .L3146+32 it ne movne r8, #3 movs r2, #0 ldr r6, [r3] ldrh r3, [r6, #148] -.L3053: +.L3126: add r1, r10, r2, lsl #2 cmp r5, #4 add r2, r2, #1 @@ -19664,7 +20397,7 @@ ftl_low_format: strb ip, [r1, #2] uxth r1, r2 cmp r4, r1 - bhi .L3053 + bhi .L3126 smulbb r0, r0, lr add r3, r3, lr mov r1, r5 @@ -19672,20 +20405,20 @@ ftl_low_format: strh r0, [r6, #148] @ movhi movs r0, #16 bl __aeabi_idiv - ldr r3, .L3073+44 + ldr r3, .L3146+44 add r0, r0, r4 uxth r0, r0 ldr r3, [r3] strh r0, [r6, #134] @ movhi lsls r3, r3, #19 - bpl .L3054 + bpl .L3127 str r0, [sp] mov r3, r4 movs r2, #128 - movw r1, #2590 - ldr r0, .L3073+48 + movw r1, #2598 + ldr r0, .L3146+48 bl printf -.L3054: +.L3127: ldr r0, [r7] movs r2, #128 movs r1, #255 @@ -19693,19 +20426,19 @@ ftl_low_format: adds r0, r0, #160 bl ftl_memset ldr r3, [sp, #24] - ldr r0, .L3073+52 + ldr r0, .L3146+52 ldr r1, [r7] ldr r3, [r3] ldrh r0, [r0] ldrh fp, [r1, #134] str r3, [sp, #24] - ldr r3, .L3073+56 + ldr r3, .L3146+56 ldrb r3, [r3] @ zero_extendqisi2 str r3, [sp, #28] - ldr r3, .L3073+40 + ldr r3, .L3146+40 ldrb r3, [r3] @ zero_extendqisi2 str r3, [sp, #12] - ldr r3, .L3073+60 + ldr r3, .L3146+60 ldrh r7, [sp, #12] ldrb r3, [r3] @ zero_extendqisi2 smulbb r2, r4, r7 @@ -19716,10 +20449,10 @@ ftl_low_format: uxth r2, r2 uxth r3, r3 str r3, [sp, #20] -.L3055: +.L3128: cmp r4, fp - bcc .L3061 - ldr r3, .L3073+28 + bcc .L3134 + ldr r3, .L3146+28 movs r4, #0 strh r5, [r1, #112] @ movhi strh r4, [r1, #114] @ movhi @@ -19733,53 +20466,53 @@ ftl_low_format: add sp, sp, #40 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3041: +.L3114: ldrb r2, [r3, #2] @ zero_extendqisi2 adds r3, r3, #4 and r2, r2, #31 bfi r2, r0, #3, #2 strb r2, [r3, #-2] - b .L3040 -.L3050: - ldr r3, .L3073+64 + b .L3113 +.L3123: + ldr r3, .L3146+64 strh r0, [r3] @ movhi - ldr r3, .L3073+68 + ldr r3, .L3146+68 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L3043 + cbnz r3, .L3116 bl ftl_test_block -.L3043: - ldr r3, .L3073+56 +.L3116: + ldr r3, .L3146+56 uxth r1, r4 - ldr r0, .L3073+24 + ldr r0, .L3146+24 movs r6, #0 mov fp, r6 mov r8, r6 ldrb r3, [r3] @ zero_extendqisi2 ldr r5, [r0] str r3, [sp, #16] - ldr r3, .L3073+40 + ldr r3, .L3146+40 add r5, r5, r1, lsl #2 ldrb r3, [r3] @ zero_extendqisi2 uxth r2, r3 str r2, [sp, #20] mul r2, r3, r1 - ldr r1, .L3073+32 + ldr r1, .L3146+32 ldr r1, [r1] str r1, [sp, #12] -.L3044: +.L3117: ldr r0, [sp, #16] uxth r1, fp cmp r0, r1 - bhi .L3062 + bhi .L3135 cmp r8, #0 - bne .L3049 + bne .L3122 ldrb r3, [r5, #2] @ zero_extendqisi2 orr r3, r3, #224 strb r3, [r5, #2] -.L3049: +.L3122: adds r4, r4, #1 - b .L3042 -.L3047: + b .L3115 +.L3120: add r1, r10, r2 ldr r0, [sp, #28] str r3, [sp, #36] @@ -19787,7 +20520,7 @@ ftl_low_format: bl flash_check_bad_block ldr r2, [sp, #32] ldr r3, [sp, #36] - cbz r0, .L3045 + cbz r0, .L3118 ldrb r0, [r5, #3] @ zero_extendqisi2 movs r1, #1 lsl r1, r1, r10 @@ -19798,28 +20531,28 @@ ftl_low_format: ldrh r1, [r1, #148] adds r1, r1, #1 strh r1, [r0, #148] @ movhi -.L3046: +.L3119: add r10, r10, #1 -.L3048: +.L3121: sub r1, r10, r6 ldr r0, [sp, #20] uxth r1, r1 cmp r0, r1 - bhi .L3047 + bhi .L3120 add fp, fp, #1 add r6, r6, r3 subs r2, r2, r3 - b .L3044 -.L3045: + b .L3117 +.L3118: add r8, r8, #1 uxth r8, r8 - b .L3046 -.L3062: + b .L3119 +.L3135: uxtb r1, fp mov r10, r6 str r1, [sp, #28] - b .L3048 -.L3061: + b .L3121 +.L3134: ldr r3, [sp, #24] movs r0, #0 mov lr, r0 @@ -19828,22 +20561,22 @@ ftl_low_format: ldrb r3, [r8, #2] @ zero_extendqisi2 orr r3, r3, #224 strb r3, [r8, #2] -.L3056: +.L3129: ldr r6, [sp, #28] uxth r3, ip cmp r3, r6 - bcc .L3064 + bcc .L3137 adds r4, r4, #1 add r2, r2, r7 uxth r4, r4 uxth r2, r2 - b .L3055 -.L3059: + b .L3128 +.L3132: ldrb r10, [r8, #3] @ zero_extendqisi2 add r3, lr, r6 asr r10, r10, r3 tst r10, #1 - bne .L3057 + bne .L3130 ldr r3, [sp, #12] add r10, r5, #80 adds r5, r5, #1 @@ -19858,44 +20591,44 @@ ftl_low_format: uxthhi r3, r3 add r3, r3, r0 strh r3, [r1, r10, lsl #1] @ movhi -.L3057: +.L3130: adds r6, r6, #1 -.L3060: +.L3133: uxth r3, r6 cmp r3, r7 str r3, [sp, #16] - bcc .L3059 + bcc .L3132 ldr r3, [sp, #12] add ip, ip, #1 add lr, lr, r3 ldr r3, [sp, #20] add r0, r0, r3 uxth r0, r0 - b .L3056 -.L3064: + b .L3129 +.L3137: movs r6, #0 - b .L3060 -.L3074: + b .L3133 +.L3147: .align 2 -.L3073: - .word .LANCHOR27 - .word .LC162 - .word .LANCHOR205 +.L3146: + .word .LANCHOR6 + .word .LC169 + .word .LANCHOR203 .word .LC0 .word .LANCHOR111 - .word .LANCHOR195 - .word .LANCHOR7 - .word .LANCHOR6 + .word .LANCHOR192 + .word .LANCHOR9 + .word .LANCHOR8 .word .LANCHOR110 .word 1229739078 - .word .LANCHOR76 - .word .LANCHOR14 - .word .LC163 .word .LANCHOR75 + .word .LANCHOR19 + .word .LC170 + .word .LANCHOR74 .word .LANCHOR112 - .word .LANCHOR32 - .word .LANCHOR69 - .word .LANCHOR82 + .word .LANCHOR31 + .word .LANCHOR68 + .word .LANCHOR81 .size ftl_low_format, .-ftl_low_format .section .text.ftl_re_low_format,"ax",%progbits .align 1 @@ -19910,25 +20643,25 @@ ftl_re_low_format: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, r6, r7, lr} movs r1, #1 - ldr r0, .L3081 + ldr r0, .L3154 bl printf bl sblk_init bl ftl_info_blk_init bl ftl_ext_info_init - ldr r2, .L3081+4 - ldr r3, .L3081+8 + ldr r2, .L3154+4 + ldr r3, .L3154+8 ldrh r7, [r2] ldr r3, [r3] - ldr r2, .L3081+12 + ldr r2, .L3154+12 ldrh r1, [r3, #134] ldr r0, [r2] movs r2, #0 mov r5, r2 mov r6, r2 add r0, r0, r1, lsl #2 -.L3076: +.L3149: cmp r1, r7 - bcc .L3080 + bcc .L3153 movs r4, #0 strh r6, [r3, #114] @ movhi strh r5, [r3, #118] @ movhi @@ -19939,138 +20672,179 @@ ftl_re_low_format: bl ftl_low_format_data_init mov r0, r4 pop {r3, r4, r5, r6, r7, pc} -.L3080: +.L3153: ldrb r4, [r0, #2] @ zero_extendqisi2 bfc r4, #5, #3 strb r4, [r0, #2] ands r4, r4, #24 - bne .L3077 + bne .L3150 adds r6, r6, #1 uxth r6, r6 -.L3078: +.L3151: adds r1, r1, #1 uxth r1, r1 adds r0, r0, #4 - b .L3076 -.L3077: + b .L3149 +.L3150: cmp r4, #16 itete eq addeq r5, r5, #1 addne r2, r2, #1 uxtheq r5, r5 uxthne r2, r2 - b .L3078 -.L3082: + b .L3151 +.L3155: .align 2 -.L3081: - .word .LC164 - .word .LANCHOR6 +.L3154: + .word .LC171 + .word .LANCHOR8 .word .LANCHOR110 - .word .LANCHOR7 + .word .LANCHOR9 .size ftl_re_low_format, .-ftl_re_low_format - .section .text.ftl_prog_ppa_page,"ax",%progbits + .section .text.pm_alloc_new_blk,"ax",%progbits .align 1 - .global ftl_prog_ppa_page + .global pm_alloc_new_blk .syntax unified .thumb .thumb_func .fpu softvfp - .type ftl_prog_ppa_page, %function -ftl_prog_ppa_page: + .type pm_alloc_new_blk, %function +pm_alloc_new_blk: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - push {r0, r1, r2, r4, r5, r6, r7, lr} - ldr r4, .L3084 - ldrb r7, [r4] @ zero_extendqisi2 - movs r4, #1 - str r3, [sp] - mov r3, r2 - mov r2, r1 - rsb r5, r7, #24 - lsl r6, r4, r5 - lsls r4, r4, r7 - lsr r5, r0, r5 - subs r4, r4, #1 - subs r6, r6, #1 - ands r4, r4, r5 - and r1, r6, r0 - uxtb r0, r4 - bl ftl_prog_page - add sp, sp, #12 - @ sp needed - pop {r4, r5, r6, r7, pc} -.L3085: - .align 2 -.L3084: - .word .LANCHOR32 - .size ftl_prog_ppa_page, .-ftl_prog_ppa_page - .section .text.ftl_write_last_log_page,"ax",%progbits - .align 1 - .global ftl_write_last_log_page - .syntax unified - .thumb - .thumb_func - .fpu softvfp - .type ftl_write_last_log_page, %function -ftl_write_last_log_page: - @ args = 0, pretend = 0, frame = 0 - @ frame_needed = 0, uses_anonymous_args = 0 - push {r3, r4, r5, r6, r7, lr} - mov r4, r0 - ldrh r3, [r0, #6] - cmp r3, #1 - bne .L3089 - ldr r3, .L3091 - ldrh r7, [r0, #12] - ldr r5, [r3] - bl ftl_get_new_free_page - adds r3, r0, #1 + push {r0, r1, r4, r5, r6, r7, r8, lr} + ldr r5, .L3174 + ldr r1, .L3174+4 + ldr r2, [r5] + ldrb r1, [r1] @ zero_extendqisi2 + ldrh r3, [r2, #690] + adds r3, r3, #1 + uxth r3, r3 + cmp r1, r3 + strh r3, [r2, #690] @ movhi + bls .L3157 + add r3, r3, #336 + ldrh r2, [r2, r3, lsl #1] + movw r3, #65535 + cmp r2, r3 + bne .L3158 +.L3157: + ldr r7, .L3174+8 + ldr r4, .L3174+12 +.L3172: + movw r8, #65535 +.L3159: + movs r0, #1 + bl ftl_alloc_sblk + cmp r0, r8 mov r6, r0 - beq .L3090 - ldrh r0, [r4] - add r5, r5, r7, lsl #2 - ldr r4, .L3091+4 - bl ftl_vpn_decrement - ldr r3, .L3091+8 - mov r0, r5 - ldr r2, .L3091+12 - str r3, [r4] - ldr r3, .L3091+16 - ldrb r1, [r2] @ zero_extendqisi2 - ldrh r3, [r3] - muls r1, r3, r1 - lsls r1, r1, #2 - bl js_hash - ldr r3, .L3091+20 - movs r2, #0 - str r0, [r4, #4] - mov r1, r5 - str r2, [r4, #8] + beq .L3159 + movs r1, #0 + bl ftl_erase_sblk + ldr r1, [r5] mov r0, r6 - ldrb r3, [r3] @ zero_extendqisi2 - str r2, [r4, #12] - str r2, [r4, #16] - cmp r3, #8 - it hi - strhi r2, [r4, #20] - ldr r2, .L3091+4 - bl ftl_prog_ppa_page -.L3090: + add r1, r1, #672 + bl ftl_get_blk_list_in_sblk + uxth r0, r0 + cbnz r0, .L3160 + mov r1, r6 + mov r0, r7 + bl printf + ldr r3, [r4] + add r6, r3, r6, lsl #2 + ldrb r3, [r6, #2] @ zero_extendqisi2 + orr r3, r3, #224 + strb r3, [r6, #2] + b .L3172 +.L3160: + ldr r3, [r5] + movs r1, #1 + ldr r2, .L3174+16 + movs r4, #0 + strh r4, [r3, #690] @ movhi + add r3, r3, #416 + str r1, [r2] + movw r1, #65535 +.L3162: + ldrh r0, [r3], #2 + uxth r2, r4 + cmp r0, r1 + beq .L3161 + adds r4, r4, #1 + cmp r4, #128 + bne .L3162 + mov r2, #264 + ldr r1, .L3174+20 + ldr r0, .L3174+24 + bl printf + mov r2, r4 +.L3161: + ldr r3, [r5] + adds r2, r2, #208 + strh r6, [r3, r2, lsl #1] @ movhi + ldrh r2, [r3, #688] + adds r2, r2, #1 + strh r2, [r3, #688] @ movhi +.L3158: + ldr r2, [r5] + ldrh r3, [r2, #690] + add r3, r3, #336 + ldrh r4, [r2, r3, lsl #1] + movw r2, #65533 + subs r3, r4, #1 + uxth r3, r3 + cmp r3, r2 + bls .L3164 + mov r2, #270 + ldr r1, .L3174+20 + ldr r0, .L3174+24 + bl printf +.L3164: + ldr r1, [r5] + movs r3, #0 + strh r3, [r1, #696] @ movhi + ldr r3, .L3174+28 + strh r4, [r1, #692] @ movhi + ldrb r2, [r3] @ zero_extendqisi2 + ldr r3, .L3174+32 + rsb r2, r2, #24 + ldrh r3, [r3] + subs r2, r2, r3 + asr r3, r4, r2 + strh r3, [r1, #694] @ movhi + ldr r1, .L3174+36 + ldr r1, [r1] + lsls r1, r1, #19 + bpl .L3168 + movs r1, #1 + uxth r3, r3 + lsl r2, r1, r2 + ldr r0, .L3174+40 + str r3, [sp] + mov r1, r4 + mov r3, r4 + subs r2, r2, #1 + bl printf +.L3168: movs r0, #0 - pop {r3, r4, r5, r6, r7, pc} -.L3089: - mov r0, #-1 - pop {r3, r4, r5, r6, r7, pc} -.L3092: + add sp, sp, #8 + @ sp needed + pop {r4, r5, r6, r7, r8, pc} +.L3175: .align 2 -.L3091: - .word .LANCHOR117 - .word .LANCHOR191 - .word -178307901 - .word .LANCHOR80 - .word .LANCHOR95 - .word .LANCHOR131 - .size ftl_write_last_log_page, .-ftl_write_last_log_page +.L3174: + .word .LANCHOR110 + .word .LANCHOR79 + .word .LC168 + .word .LANCHOR9 + .word .LANCHOR204 + .word .LANCHOR205 + .word .LC0 + .word .LANCHOR31 + .word .LANCHOR74 + .word .LANCHOR19 + .word .LC172 + .size pm_alloc_new_blk, .-pm_alloc_new_blk .section .text.pm_write_page,"ax",%progbits .align 1 .global pm_write_page @@ -20084,42 +20858,42 @@ pm_write_page: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r10, fp, lr} mov r4, r0 - ldr r8, .L3106+28 + ldr r8, .L3189+28 mov r7, r1 mov r6, r8 -.L3094: +.L3177: ldr r3, [r8] ldr r2, [r3, #48] ldrh r1, [r3, #696] adds r2, r2, #1 str r2, [r3, #48] - ldr r2, .L3106 + ldr r2, .L3189 ldrh r2, [r2] cmp r1, r2 - bcs .L3095 + bcs .L3178 ldrh r2, [r3, #692] movw r3, #65535 cmp r2, r3 - bne .L3096 -.L3095: + bne .L3179 +.L3178: bl pm_alloc_new_blk movs r0, #0 bl ftl_info_flush -.L3096: +.L3179: ldr r3, [r6] ldrh r2, [r3, #692] movw r3, #65535 cmp r2, r3 - bne .L3097 + bne .L3180 movw r2, #303 - ldr r1, .L3106+4 - ldr r0, .L3106+8 + ldr r1, .L3189+4 + ldr r0, .L3189+8 bl printf -.L3097: +.L3180: ldr r3, [r6] movs r1, #0 - ldr r2, .L3106+12 - ldr r10, .L3106+32 + ldr r2, .L3189+12 + ldr r10, .L3189+32 ldrh r5, [r3, #692] ldrh r2, [r2] ldrh r3, [r3, #696] @@ -20134,7 +20908,7 @@ pm_write_page: ldr r2, [r3, #48] str r3, [sp, #12] str r2, [r10, #4] - ldr r2, .L3106+16 + ldr r2, .L3189+16 ldrb fp, [r2] @ zero_extendqisi2 lsl r1, fp, #9 bl js_hash @@ -20152,22 +20926,22 @@ pm_write_page: uxth r3, r3 cmp r3, #1 strh r3, [r2, #696] @ movhi - ldr r3, .L3106+20 - beq .L3098 + ldr r3, .L3189+20 + beq .L3181 ldrb r1, [r3] @ zero_extendqisi2 - cbz r1, .L3099 -.L3098: + cbz r1, .L3182 +.L3181: movs r2, #0 strb r2, [r3] - b .L3094 -.L3099: + b .L3177 +.L3182: adds r0, r0, #1 - bne .L3101 + bne .L3184 mov r1, r5 - ldr r0, .L3106+24 + ldr r0, .L3189+24 bl printf - b .L3094 -.L3101: + b .L3177 +.L3184: ldrh r3, [r2, #698] movs r0, #0 cmp r4, r3 @@ -20177,345 +20951,19 @@ pm_write_page: add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3107: +.L3190: .align 2 -.L3106: - .word .LANCHOR95 +.L3189: + .word .LANCHOR94 .word .LANCHOR206 .word .LC0 .word .LANCHOR111 .word .LANCHOR131 .word .LANCHOR208 - .word .LC165 + .word .LC173 .word .LANCHOR110 .word .LANCHOR207 .size pm_write_page, .-pm_write_page - .section .text.ftl_dump_write_open_sblk,"ax",%progbits - .align 1 - .global ftl_dump_write_open_sblk - .syntax unified - .thumb - .thumb_func - .fpu softvfp - .type ftl_dump_write_open_sblk, %function -ftl_dump_write_open_sblk: - @ args = 0, pretend = 0, frame = 64 - @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L3147 - push {r4, r5, r6, r7, r8, r10, fp, lr} - mov r5, r0 - sub sp, sp, #104 - ldrh r3, [r3] - cmp r3, r0 - bls .L3108 - ldr r3, .L3147+4 - ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L3110 - ldr r3, .L3147+8 - ldrb r3, [r3] @ zero_extendqisi2 - cmp r3, #0 - beq .L3108 -.L3110: - ldr r3, .L3147+12 - ldrb r3, [r3] @ zero_extendqisi2 - cmp r3, #0 - bne .L3108 - ldr r7, .L3147+16 - lsls r4, r5, #2 - add r1, sp, #88 - strh r5, [sp, #72] @ movhi - mov r0, r5 - movs r6, #0 - ldr r3, [r7] - add r3, r3, r4 - ldrb r3, [r3, #2] @ zero_extendqisi2 - and r3, r3, #224 - cmp r3, #160 - itet eq - ldreq r3, .L3147+20 - movne fp, #1 - ldrbeq fp, [r3] @ zero_extendqisi2 - bl ftl_get_blk_list_in_sblk - ldr r3, .L3147+24 - uxtb r0, r0 - strb r6, [sp, #77] - strb r0, [sp, #81] - ldrh r3, [r3] - strh r6, [sp, #74] @ movhi - strh r6, [sp, #82] @ movhi - smulbb r0, r3, r0 - ldr r3, [r7] - mov r7, r6 - ldr r1, [r3, r5, lsl #2] - add r4, r4, r3 - ldrb r2, [r4, #2] @ zero_extendqisi2 - strh r0, [sp, #78] @ movhi - ubfx r1, r1, #11, #8 - ldr r0, .L3147+28 - str r1, [sp, #4] - mov r1, r5 - ldrh r3, [r3, r5, lsl #2] - ubfx r3, r3, #0, #11 - str r3, [sp] - ubfx r3, r2, #3, #2 - lsrs r2, r2, #5 - bl printf - movs r0, #1 - bl buf_alloc - mov r4, r0 - str r6, [sp, #44] -.L3112: - ldr r3, .L3147+24 - uxth r10, r6 - ldrh r3, [r3] - cmp r3, r10 - bls .L3121 - mov r3, r10 - str r10, [sp, #52] - lsls r3, r3, #1 - mov r8, #0 - subs r2, r3, #1 - add r3, r3, r10 - subs r3, r3, #1 - str r2, [sp, #56] - str r3, [sp, #60] - b .L3124 -.L3122: - ldr r3, [sp, #64] - add r2, sp, #104 - add r3, r2, r3, lsl #1 - ldrh r3, [r3, #-32] - str r3, [sp, #48] - movw r3, #65535 - ldr r2, [sp, #48] - cmp r2, r3 - bne .L3113 -.L3120: - adds r7, r7, #1 - uxth r7, r7 -.L3114: - cmp fp, r7 - bcs .L3122 - add r8, r8, #1 -.L3124: - uxth r3, r8 - str r3, [sp, #44] - ldr r2, [sp, #44] - ldrb r3, [sp, #81] @ zero_extendqisi2 - cmp r3, r2 - bls .L3123 - mov r3, r2 - movs r7, #1 - adds r3, r3, #8 - str r3, [sp, #64] - b .L3114 -.L3113: - ldr r3, .L3147+32 - cmp fp, #3 - ldr r2, [sp, #48] - ldrh r3, [r3] - mul r3, r2, r3 - bne .L3115 - ldr r2, .L3147+36 - ldrb r2, [r2] @ zero_extendqisi2 - cbz r2, .L3116 - ldr r2, [sp, #60] -.L3146: - add r3, r3, r2 - ldr r2, .L3147+20 - add r3, r3, r7 - ldrb r2, [r2] @ zero_extendqisi2 - orr r3, r3, r2, lsl #24 - b .L3117 -.L3116: - uxtah r3, r3, r6 - orr r3, r3, r7, lsl #24 -.L3117: - str r3, [r4, #24] - movs r1, #1 - mov r0, r4 - str r3, [sp, #68] - bl sblk_read_page - ldr r3, [r4, #36] - cmp r3, #512 - str r3, [sp, #40] - ldr r3, [sp, #68] - beq .L3119 - ldr r2, [sp, #40] - adds r2, r2, #1 - bne .L3120 -.L3119: - ldr r1, [r4, #12] - ldr r2, [r4, #4] - ldr r0, [r1, #12] - str r0, [sp, #32] - ldr r0, [r1, #8] - str r0, [sp, #28] - ldr r0, [r1, #4] - str r0, [sp, #24] - ldr r1, [r1] - ldr r0, .L3147+40 - str r1, [sp, #20] - ldr r1, [r2, #12] - str r1, [sp, #16] - ldr r1, [r2, #8] - str r1, [sp, #12] - ldr r1, [r2, #4] - str r1, [sp, #8] - ldr r2, [r2] - ldr r1, [sp, #48] - str r2, [sp, #4] - ldr r2, [sp, #40] - str r2, [sp] - ldr r2, [sp, #52] - bl printf - ldr r3, [sp, #40] - cmp r3, #512 - bne .L3120 -.L3121: - uxth r2, r6 - ldr r6, .L3147+44 - ldr r3, [sp, #44] - mov r1, r5 - str r7, [sp] - ldr r0, .L3147+48 - bl printf - ldrb r2, [r6] @ zero_extendqisi2 - movs r1, #0 - ldr r0, [r4, #4] - ldr fp, .L3147+64 - lsls r2, r2, #9 - bl ftl_memset - ldrb r2, [r6] @ zero_extendqisi2 - movs r1, #0 - ldr r0, [r4, #12] - lsls r2, r2, #1 - bl ftl_memset -.L3125: - ldr r3, .L3147+24 - ldrh r3, [r3] - cmp r3, r10 - bls .L3131 - lsl r3, r10, #1 - movs r7, #0 - str r3, [sp, #40] - b .L3132 -.L3115: - cmp fp, #2 - bne .L3118 - ldr r2, [sp, #56] - b .L3146 -.L3118: - uxtah r3, r3, r6 - b .L3117 -.L3123: - adds r6, r6, #1 - b .L3112 -.L3130: - ldr r3, [fp] - uxth r8, r7 - tst r3, #4096 - beq .L3126 - mov r2, r8 - mov r1, r10 - ldr r0, .L3147+52 - bl printf -.L3126: - ldr r2, .L3147+4 - ldr r0, .L3147+32 - ldrb r2, [r2] @ zero_extendqisi2 - cbz r2, .L3127 - add r3, sp, #104 - add r3, r3, r8, lsl #1 - ldrh r2, [r3, #-16] - ldrh r3, [r0] - mov r0, r4 - muls r3, r2, r3 - orr r3, r3, r10 - str r3, [r4, #24] - bl sblk_3d_tlc_dump_prog -.L3128: - adds r7, r7, #1 -.L3132: - ldrb r2, [sp, #81] @ zero_extendqisi2 - uxth r3, r7 - cmp r2, r3 - bhi .L3130 - add r3, r10, #1 - uxth r10, r3 - b .L3125 -.L3127: - ldr r1, .L3147+20 - add r3, sp, #104 - add r3, r3, r8, lsl #1 - ldrb r1, [r1] @ zero_extendqisi2 - cmp r1, #2 - bne .L3129 - ldrh r2, [r3, #-16] - ldrh r3, [r0] - mov r0, r4 - muls r3, r2, r3 - ldr r2, [sp, #40] - orrs r3, r3, r2 - orr r3, r3, #33554432 - str r3, [r4, #24] - bl sblk_mlc_dump_prog - b .L3128 -.L3129: - ldrh r3, [r3, #-16] - ldrh r1, [r0] - movs r0, #1 - muls r1, r3, r1 - ldr r3, .L3147+56 - ldrb r3, [r3] @ zero_extendqisi2 - orr r1, r1, r10 - str r1, [r4, #24] - rsb lr, r3, #24 - str r2, [sp, #4] - lsls r0, r0, r3 - subs r3, r0, #1 - lsr r0, r1, lr - lsl ip, r3, lr - ands r0, r0, r3 - ldrb r3, [r6] @ zero_extendqisi2 - bic r1, r1, ip - uxtb r0, r0 - str r3, [sp] - ldr r3, [r4, #12] - ldr r2, [r4, #4] - bl flash_prog_page_en - b .L3128 -.L3131: - mov r0, r4 - bl zbuf_free - mov r1, r5 - ldr r0, .L3147+60 - bl printf -.L3108: - add sp, sp, #104 - @ sp needed - pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3148: - .align 2 -.L3147: - .word .LANCHOR6 - .word .LANCHOR84 - .word .LANCHOR81 - .word .LANCHOR36 - .word .LANCHOR7 - .word .LANCHOR79 - .word .LANCHOR95 - .word .LC166 - .word .LANCHOR111 - .word .LANCHOR37 - .word .LC167 - .word .LANCHOR131 - .word .LC168 - .word .LC169 - .word .LANCHOR32 - .word .LC170 - .word .LANCHOR14 - .size ftl_dump_write_open_sblk, .-ftl_dump_write_open_sblk .section .text.flash_info_flush,"ax",%progbits .align 1 .global flash_info_flush @@ -20528,18 +20976,18 @@ flash_info_flush: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r10, fp, lr} - ldr r3, .L3161 + ldr r3, .L3203 ldr r3, [r3] lsls r3, r3, #19 - bpl .L3150 - ldr r2, .L3161+4 - mov r1, #364 - ldr r0, .L3161+8 + bpl .L3192 + ldr r2, .L3203+4 + movw r1, #365 + ldr r0, .L3203+8 bl printf -.L3150: - ldr r5, .L3161+12 +.L3192: + ldr r5, .L3203+12 movs r2, #64 - ldr r6, .L3161+16 + ldr r6, .L3203+16 movs r1, #0 movs r7, #0 ldr r0, [r5] @@ -20547,33 +20995,33 @@ flash_info_flush: movs r3, #16 movs r2, #4 ldr r1, [r6] - ldr r0, .L3161+20 + ldr r0, .L3203+20 bl rknand_print_hex ldr r4, [r6] ldr r1, [r4, #8] add r0, r4, #16 bl js_hash str r5, [sp, #8] - ldr r5, .L3161+24 + ldr r5, .L3203+24 str r0, [r4, #12] mov r8, r5 -.L3151: - ldr fp, .L3161+44 +.L3193: + ldr fp, .L3203+44 ldrb r10, [r5] @ zero_extendqisi2 ldrh r4, [r5, #2] ldrh r3, [fp] mov r1, r10 - ldr r0, .L3161+28 + ldr r0, .L3203+28 mov r2, r4 str r3, [sp, #12] bl printf - ldr r2, .L3161+32 + ldr r2, .L3203+32 ldrh r0, [r5, #2] ldr r3, [sp, #12] ldrh r2, [r2] subs r2, r2, #1 cmp r0, r2 - blt .L3152 + blt .L3194 ldr r4, [r6] mov r10, #0 ldrb r2, [r5] @ zero_extendqisi2 @@ -20597,9 +21045,9 @@ flash_info_flush: ldrh r4, [fp] muls r4, r3, r4 mov r1, r4 -.L3160: +.L3202: bl flash_erase_block -.L3153: +.L3195: ldr r2, [r6] mov r10, #1 ldr r3, [sp, #8] @@ -20607,7 +21055,7 @@ flash_info_flush: ldr r1, [r2, #4] ldr r3, [r3] str r1, [r3] - ldr r1, .L3161+36 + ldr r1, .L3203+36 str r1, [r3, #4] movs r1, #4 stm sp, {r1, r10} @@ -20617,41 +21065,41 @@ flash_info_flush: adds r0, r0, #1 add r3, r3, r10 strh r3, [r8, #2] @ movhi - bne .L3154 + bne .L3196 mov r1, r4 - ldr r0, .L3161+40 + ldr r0, .L3203+40 bl printf - b .L3151 -.L3156: + b .L3193 +.L3198: mov r7, r10 - b .L3151 -.L3152: + b .L3193 +.L3194: mla r4, r10, r3, r4 cmp r0, #0 - bne .L3153 + bne .L3195 mov r1, r4 - b .L3160 -.L3154: + b .L3202 +.L3196: cmp r7, #0 - beq .L3156 + beq .L3198 movs r0, #0 add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3162: +.L3204: .align 2 -.L3161: - .word .LANCHOR14 +.L3203: + .word .LANCHOR19 .word .LANCHOR209 - .word .LC97 + .word .LC94 .word .LANCHOR210 - .word .LANCHOR27 - .word .LC171 + .word .LANCHOR6 + .word .LC174 .word .LANCHOR211 - .word .LC172 - .word .LANCHOR147 + .word .LC175 + .word .LANCHOR144 .word 1398362953 - .word .LC173 + .word .LC176 .word .LANCHOR2 .size flash_info_flush, .-flash_info_flush .section .text.flash_info_blk_init,"ax",%progbits @@ -20666,27 +21114,27 @@ flash_info_blk_init: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r10, fp, lr} - ldr r3, .L3194 - ldr r4, .L3194+4 + ldr r3, .L3236 + ldr r4, .L3236+4 ldr r3, [r3] tst r3, #4096 - beq .L3164 + beq .L3206 ldr r3, [r4] - movs r1, #49 - ldr r2, .L3194+8 - ldr r0, .L3194+12 + movs r1, #50 + ldr r2, .L3236+8 + ldr r0, .L3236+12 str r3, [sp] mov r3, #2048 bl printf -.L3164: - ldr r7, .L3194+16 +.L3206: + ldr r7, .L3236+16 mov r8, #4 -.L3168: +.L3210: movs r6, #0 -.L3167: - ldr r10, .L3194+32 +.L3209: + ldr r10, .L3236+32 mov fp, #4 - ldr r5, .L3194+20 + ldr r5, .L3236+20 movs r0, #0 ldr r2, [r4] ldrh r1, [r10] @@ -20695,31 +21143,31 @@ flash_info_blk_init: mla r1, r8, r1, r6 bl flash_read_page_en adds r0, r0, #1 - beq .L3165 + beq .L3207 ldr r2, [r4] ldr r3, [r2] cmp r3, r7 - beq .L3166 -.L3165: + beq .L3208 +.L3207: adds r6, r6, #1 cmp r6, #4 - bne .L3167 + bne .L3209 add r8, r8, #1 cmp r8, #16 - bne .L3168 -.L3193: + bne .L3210 +.L3235: mov r0, #-1 -.L3163: +.L3205: add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3176: +.L3218: ldr r3, [r4] ldr r2, [r3] cmp r2, r7 - bne .L3177 + bne .L3219 ldr r8, [r3, #4] -.L3170: +.L3212: ldrh r0, [r10] movs r3, #4 ldrb r1, [r6, #1] @ zero_extendqisi2 @@ -20730,11 +21178,11 @@ flash_info_blk_init: movs r0, #0 bl flash_read_page_en adds r0, r0, #1 - beq .L3171 + beq .L3213 ldr r3, [r4] ldr r2, [r3] cmp r2, r7 - bne .L3171 + bne .L3213 ldr r2, [r3, #4] cmp r8, r2 itttt cc @@ -20742,7 +21190,7 @@ flash_info_blk_init: ldrbcc r3, [r3, #36] @ zero_extendqisi2 strbcc r2, [r6] strbcc r3, [r6, #1] -.L3171: +.L3213: mov r8, #4 ldrb r1, [r6] @ zero_extendqisi2 ldr r3, [r5] @@ -20757,20 +21205,20 @@ flash_info_blk_init: ldrb r3, [r6] @ zero_extendqisi2 movs r6, #0 mla r10, r10, r3, r0 -.L3172: +.L3214: sub r0, fp, r6 sxth r3, r0 cmp r3, #0 - bge .L3175 + bge .L3217 adds r2, r3, #1 - bne .L3174 + bne .L3216 ldr r2, [r4] - ldr r0, .L3194+24 + ldr r0, .L3236+24 str r3, [sp, #12] ldr r1, [r2] bl printf - b .L3193 -.L3175: + b .L3235 +.L3217: str r8, [sp] sub r1, r10, r6 ldr r3, [r5] @@ -20778,26 +21226,26 @@ flash_info_blk_init: ldr r2, [r4] bl flash_read_page_en adds r0, r0, #1 - beq .L3173 + beq .L3215 ldr r3, [r4] ldr r3, [r3] cmp r3, r7 - beq .L3174 -.L3173: + beq .L3216 +.L3215: adds r6, r6, #1 - b .L3172 -.L3174: + b .L3214 +.L3216: cmp r6, #1 - bls .L3178 + bls .L3220 bl flash_info_flush -.L3178: +.L3220: movs r0, #0 - b .L3163 -.L3166: + b .L3205 +.L3208: ldrb r1, [r2, #36] @ zero_extendqisi2 ldrh r0, [r10] ldrb r3, [r2, #37] @ zero_extendqisi2 - ldr r6, .L3194+28 + ldr r6, .L3236+28 strb r1, [r6] muls r1, r0, r1 strb r3, [r6, #1] @@ -20806,20 +21254,20 @@ flash_info_blk_init: ldr r3, [r5] bl flash_read_page_en adds r0, r0, #1 - bne .L3176 -.L3177: + bne .L3218 +.L3219: mov r8, #0 - b .L3170 -.L3195: + b .L3212 +.L3237: .align 2 -.L3194: - .word .LANCHOR14 - .word .LANCHOR27 +.L3236: + .word .LANCHOR19 + .word .LANCHOR6 .word .LANCHOR212 - .word .LC174 + .word .LC177 .word 1398362953 .word .LANCHOR210 - .word .LC175 + .word .LC178 .word .LANCHOR211 .word .LANCHOR2 .size flash_info_blk_init, .-flash_info_blk_init @@ -20834,30 +21282,30 @@ flash_info_blk_init: nand_flash_init: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L3289 + ldr r3, .L3331 push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} mov r4, r0 mov r8, r3 ldr r2, [r3] tst r2, #4096 - beq .L3197 - ldr r2, .L3289+4 - movw r1, #3429 - ldr r0, .L3289+8 + beq .L3239 + ldr r2, .L3331+4 + movw r1, #3451 + ldr r0, .L3331+8 bl printf -.L3197: - ldr r3, .L3289+12 +.L3239: + ldr r3, .L3331+12 movs r6, #0 mov r0, r4 - ldr r7, .L3289+16 - ldr r5, .L3289+20 + ldr r7, .L3331+16 + ldr r5, .L3331+20 str r6, [r3] bl nandc_init - ldr r3, .L3289+24 + ldr r3, .L3331+24 movs r2, #1 - ldr r4, .L3289+28 + ldr r4, .L3331+28 mov r1, r6 - ldr r0, .L3289+32 + ldr r0, .L3331+32 strb r2, [r3] movs r3, #3 movs r2, #8 @@ -20866,34 +21314,34 @@ nand_flash_init: bl ftl_memset movs r2, #32 mov r1, r6 - ldr r0, .L3289+36 + ldr r0, .L3331+36 bl ftl_memset str r7, [sp] - ldr r7, .L3289+40 + ldr r7, .L3331+40 mov fp, r7 -.L3203: +.L3245: lsl r10, r6, #3 uxtb r0, r6 add r1, r7, r10 bl flash_read_id - cbnz r6, .L3198 + cbnz r6, .L3240 ldrb r3, [r7] @ zero_extendqisi2 subs r3, r3, #1 uxtb r3, r3 cmp r3, #253 - bls .L3199 -.L3201: + bls .L3241 +.L3243: mvn fp, #1 -.L3196: +.L3238: mov r0, fp add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3199: +.L3241: ldrb r3, [r7, #1] @ zero_extendqisi2 cmp r3, #255 - beq .L3201 -.L3198: + beq .L3243 +.L3240: ldrb r3, [fp, r10] @ zero_extendqisi2 adds r6, r6, #1 cmp r3, #181 @@ -20901,11 +21349,11 @@ nand_flash_init: moveq r3, #44 strbeq r3, [fp, r10] cmp r6, #4 - bne .L3203 - ldr r7, .L3289+44 + bne .L3245 + ldr r7, .L3331+44 movs r6, #0 - ldr r3, .L3289+40 -.L3206: + ldr r3, .L3331+40 +.L3248: mov r1, r3 ldrb r2, [r7, #-1] @ zero_extendqisi2 mov r0, r7 @@ -20914,50 +21362,50 @@ nand_flash_init: bl flash_mem_cmp8 ldr r3, [sp, #4] cmp r0, #0 - bne .L3204 - ldr r6, .L3289+48 - ldr r3, .L3289+52 + bne .L3246 + ldr r6, .L3331+48 + ldr r3, .L3331+52 add r6, r6, r10 ldrb r2, [r6, #22] @ zero_extendqisi2 mov r1, r3 -.L3205: +.L3247: lsls r7, r0, #5 ldrb r7, [r7, r3] @ zero_extendqisi2 cmp r7, r2 - beq .L3207 + beq .L3249 adds r0, r0, #1 cmp r0, #4 - bne .L3205 -.L3207: - ldr r7, .L3289+56 + bne .L3247 +.L3249: + ldr r7, .L3331+56 add r1, r1, r0, lsl #5 movs r2, #32 - ldr r0, .L3289+60 + ldr r0, .L3331+60 bl ftl_memcpy movs r2, #32 mov r1, r6 - ldr r0, .L3289+28 + ldr r0, .L3331+28 bl ftl_memcpy ldrb r3, [r7] @ zero_extendqisi2 cmp r3, #8 - bhi .L3208 + bhi .L3250 ldrb r3, [r4, #20] @ zero_extendqisi2 cmp r3, #60 - bls .L3208 + bls .L3250 movs r3, #60 strb r3, [r4, #20] -.L3208: +.L3250: ldr r3, [r8] lsls r3, r3, #19 - bpl .L3242 - ldr r2, .L3289+4 - mov r1, #3456 - ldr r0, .L3289+8 + bpl .L3284 + ldr r2, .L3331+4 + movw r1, #3478 + ldr r0, .L3331+8 bl printf -.L3242: +.L3284: ldr r3, [r5] mov r0, #16384 - ldr r6, .L3289+64 + ldr r6, .L3331+64 mov r10, #0 ldrh r3, [r3, #10] cmp r3, #1024 @@ -20966,28 +21414,28 @@ nand_flash_init: movcs r3, #2 strbcs r3, [r2] bl ftl_malloc - ldr r3, .L3289+68 + ldr r3, .L3331+68 str r0, [r3] mov r0, #16384 bl ftl_malloc - ldr r3, .L3289+72 + ldr r3, .L3331+72 str r0, [r3] mov r0, #2048 bl ftl_malloc str r0, [r6] movs r0, #64 bl ftl_malloc - ldr r3, .L3289+76 + ldr r3, .L3331+76 str r0, [r3] movs r0, #64 bl ftl_malloc - ldr r3, .L3289+80 + ldr r3, .L3331+80 str r0, [r3] movs r0, #64 bl ftl_malloc - ldr r3, .L3289+84 + ldr r3, .L3331+84 str r0, [r3] - ldr r3, .L3289+88 + ldr r3, .L3331+88 strb r10, [r3] bl flash_die_info_init ldrb r0, [r4, #18] @ zero_extendqisi2 @@ -20995,55 +21443,55 @@ nand_flash_init: ldrb r0, [r4, #20] @ zero_extendqisi2 bl nandc_bch_sel ldr r1, [r5] - ldr r0, .L3289+92 + ldr r0, .L3331+92 ldrh r3, [r1, #16] ubfx r2, r3, #8, #3 ubfx r5, r3, #3, #1 strb r2, [r0] - ldr r2, .L3289+96 + ldr r2, .L3331+96 strb r5, [r2] ubfx r5, r3, #4, #1 - ldr r2, .L3289+100 + ldr r2, .L3331+100 strb r5, [r2] ubfx r5, r3, #12, #1 - ldr r2, .L3289+104 + ldr r2, .L3331+104 strb r5, [r2] ubfx r5, r3, #13, #1 - ldr r2, .L3289+108 + ldr r2, .L3331+108 strb r5, [r2] ubfx r5, r3, #11, #1 - ldr r2, .L3289+112 + ldr r2, .L3331+112 strb r5, [r2] ldrb r2, [r1, #31] @ zero_extendqisi2 - ldr r5, .L3289+116 + ldr r5, .L3331+116 ubfx ip, r2, #1, #1 strb ip, [r5] ubfx ip, r2, #2, #1 - ldr r5, .L3289+120 + ldr r5, .L3331+120 strb ip, [r5] ubfx ip, r3, #14, #1 - ldr r5, .L3289+124 + ldr r5, .L3331+124 lsrs r3, r3, #15 strb ip, [r5] - ldr r5, .L3289+128 + ldr r5, .L3331+128 strb r3, [r5] ubfx r5, r2, #3, #1 ldrb r3, [r1, #28] @ zero_extendqisi2 ubfx r2, r2, #4, #1 - ldr r1, .L3289+132 + ldr r1, .L3331+132 strb r3, [r1] - ldr r1, .L3289+136 + ldr r1, .L3331+136 strb r5, [r1] - ldr r1, .L3289+140 - ldr r5, .L3289+144 + ldr r1, .L3331+140 + ldr r5, .L3331+144 strb r2, [r1] movs r2, #60 - ldr r1, .L3289+148 + ldr r1, .L3331+148 str r10, [r5] mov r10, r0 strb r2, [r1] ldrb r2, [r7] @ zero_extendqisi2 - ldr r7, .L3289+152 + ldr r7, .L3331+152 cmp r2, #9 strb r3, [r7] it eq @@ -21052,286 +21500,286 @@ nand_flash_init: it eq strbeq r0, [r1] lsls r3, r3, #31 - bpl .L3211 + bpl .L3253 ldrb r3, [r4, #29] @ zero_extendqisi2 cmp r3, #0 - beq .L3212 + beq .L3254 movs r3, #2 -.L3282: +.L3324: strb r3, [r7] -.L3211: +.L3253: cmp r2, #8 - bne .L3213 + bne .L3255 ldrb r3, [fp] @ zero_extendqisi2 cmp r3, #44 - beq .L3214 + beq .L3256 cmp r3, #137 - bne .L3213 -.L3214: + bne .L3255 +.L3256: ldrb r3, [r4, #28] @ zero_extendqisi2 cmp r3, #3 itt eq moveq r3, #0 strbeq r3, [r7] -.L3213: +.L3255: ldrh r1, [r4, #16] - ldr r2, .L3289+156 + ldr r2, .L3331+156 ldrb r3, [r4, #19] @ zero_extendqisi2 tst r1, #64 str r2, [sp] strb r3, [r2] - beq .L3216 + beq .L3258 sub r2, r3, #17 cmp r2, #2 - bls .L3217 + bls .L3259 cmp r3, #21 - bne .L3218 -.L3217: - ldr r2, .L3289+160 + bne .L3260 +.L3259: + ldr r2, .L3331+160 cmp r3, #21 - ldr r3, .L3289+164 + ldr r3, .L3331+164 str r2, [r5] - beq .L3286 + beq .L3328 movs r2, #15 -.L3284: +.L3326: strb r2, [r3] -.L3216: +.L3258: ldr r3, [r8] lsls r0, r3, #19 - bpl .L3230 - ldr r2, .L3289+4 - movw r1, #3549 - ldr r0, .L3289+8 + bpl .L3272 + ldr r2, .L3331+4 + movw r1, #3571 + ldr r0, .L3331+8 bl printf -.L3230: - ldr r3, .L3289+168 +.L3272: + ldr r3, .L3331+168 movs r2, #0 strb r2, [r3] ldrb r2, [r10] @ zero_extendqisi2 str r3, [sp, #4] tst r2, #1 - beq .L3231 + beq .L3273 ldrb r3, [fp] @ zero_extendqisi2 cmp r3, #155 - beq .L3232 + beq .L3274 movs r0, #4 bl flash_set_interface_mode movs r0, #4 bl nandc_set_if_mode -.L3232: +.L3274: movs r0, #1 bl flash_set_interface_mode movs r0, #1 -.L3285: +.L3327: bl nandc_set_if_mode bl flash_info_blk_init cmp r0, #-1 mov fp, r0 - bne .L3234 + bne .L3276 ldr r3, [r6] movs r2, #17 movs r0, #0 strb r2, [r3, #32] - ldr r3, .L3289+172 + ldr r3, .L3331+172 strb r0, [r3] bl zftl_flash_exit_slc_mode - b .L3196 -.L3204: + b .L3238 +.L3246: adds r6, r6, #1 adds r7, r7, #32 cmp r6, #49 - bne .L3206 - b .L3201 -.L3212: + bne .L3248 + b .L3243 +.L3254: movs r3, #3 - b .L3282 -.L3290: + b .L3324 +.L3332: .align 2 -.L3289: - .word .LANCHOR14 +.L3331: + .word .LANCHOR19 .word .LANCHOR213 - .word .LC97 - .word .LANCHOR172 + .word .LC94 + .word .LANCHOR169 + .word .LANCHOR31 + .word .LANCHOR21 + .word .LANCHOR23 .word .LANCHOR32 - .word .LANCHOR16 - .word .LANCHOR18 - .word .LANCHOR33 - .word .LANCHOR30 - .word .LANCHOR148 - .word .LANCHOR48 + .word .LANCHOR29 + .word .LANCHOR145 + .word .LANCHOR47 .word .LANCHOR214+1 .word .LANCHOR214 .word .LANCHOR215 - .word .LANCHOR28 - .word .LANCHOR20 .word .LANCHOR27 - .word .LANCHOR176 - .word .LANCHOR166 - .word .LANCHOR175 - .word .LANCHOR168 + .word .LANCHOR25 + .word .LANCHOR6 + .word .LANCHOR173 + .word .LANCHOR163 + .word .LANCHOR172 + .word .LANCHOR165 .word .LANCHOR210 .word .LANCHOR216 - .word .LANCHOR49 - .word .LANCHOR186 - .word .LANCHOR45 - .word .LANCHOR84 - .word .LANCHOR81 - .word .LANCHOR36 + .word .LANCHOR48 + .word .LANCHOR183 + .word .LANCHOR44 + .word .LANCHOR83 + .word .LANCHOR80 + .word .LANCHOR35 .word .LANCHOR124 .word .LANCHOR217 .word .LANCHOR1 - .word .LANCHOR82 + .word .LANCHOR81 .word .LANCHOR0 - .word .LANCHOR31 - .word .LANCHOR37 - .word .LANCHOR174 - .word .LANCHOR17 - .word .LANCHOR19 - .word .LANCHOR23 + .word .LANCHOR30 + .word .LANCHOR36 + .word .LANCHOR171 + .word .LANCHOR22 + .word .LANCHOR24 + .word .LANCHOR15 .word micron_read_retrial - .word .LANCHOR169 - .word .LANCHOR21 - .word .LANCHOR34 -.L3218: + .word .LANCHOR166 + .word .LANCHOR26 + .word .LANCHOR33 +.L3260: cmp r3, #33 - beq .L3221 + beq .L3263 sub r2, r3, #65 cmp r2, #1 - bhi .L3222 -.L3221: - ldr r3, .L3291 + bhi .L3264 +.L3263: + ldr r3, .L3333 movs r2, #4 str r3, [r5] - ldr r3, .L3291+4 + ldr r3, .L3333+4 strb r2, [r3] -.L3288: +.L3330: movs r2, #7 -.L3287: - ldr r3, .L3291+8 - b .L3284 -.L3222: +.L3329: + ldr r3, .L3333+8 + b .L3326 +.L3264: sub r2, r3, #67 uxtb r2, r2 cmp r2, #1 - bls .L3223 + bls .L3265 sub r1, r3, #34 cmp r1, #1 - bhi .L3224 -.L3223: - ldr r1, .L3291 + bhi .L3266 +.L3265: + ldr r1, .L3333 cmp r3, #35 str r1, [r5] - ldr r1, .L3291+8 - beq .L3225 + ldr r1, .L3333+8 + beq .L3267 cmp r3, #68 - beq .L3225 + beq .L3267 movs r3, #7 -.L3283: +.L3325: cmp r2, #1 strb r3, [r1] - ldr r3, .L3291+4 - bhi .L3227 -.L3286: + ldr r3, .L3333+4 + bhi .L3269 +.L3328: movs r2, #4 - b .L3284 -.L3225: + b .L3326 +.L3267: movs r3, #17 - b .L3283 -.L3227: + b .L3325 +.L3269: movs r2, #5 - b .L3284 -.L3224: + b .L3326 +.L3266: sub r2, r3, #36 cmp r2, #1 - bhi .L3228 - ldr r3, .L3291+12 + bhi .L3270 + ldr r3, .L3333+12 str r3, [r5] - b .L3288 -.L3228: + b .L3330 +.L3270: cmp r3, #50 - bne .L3229 - ldr r3, .L3291+16 + bne .L3271 + ldr r3, .L3333+16 movs r2, #25 str r3, [r5] - b .L3287 -.L3229: + b .L3329 +.L3271: cmp r3, #81 - bne .L3216 - ldr r3, .L3291+20 + bne .L3258 + ldr r3, .L3333+20 movs r2, #7 str r3, [r5] - ldr r3, .L3291+8 + ldr r3, .L3333+8 strb r2, [r3] movs r2, #0 - ldr r3, .L3291+24 - b .L3284 -.L3231: + ldr r3, .L3333+24 + b .L3326 +.L3273: movs r0, #4 - b .L3285 -.L3234: + b .L3327 +.L3276: ldrb r3, [r4, #7] @ zero_extendqisi2 cmp r3, #9 - bne .L3235 + bne .L3277 ldr r3, [r6] ldrb r3, [r3, #20] @ zero_extendqisi2 cmp r3, #1 itt ne movne r3, #0 strbne r3, [r7] -.L3235: +.L3277: ldr r3, [sp] ldrb r3, [r3] @ zero_extendqisi2 subs r3, r3, #1 cmp r3, #7 itt ls - ldrls r3, .L3291+28 + ldrls r3, .L3333+28 strls r3, [r5] ldrb r3, [r10] @ zero_extendqisi2 lsls r1, r3, #29 - bpl .L3238 + bpl .L3280 ldr r3, [r6] ldrb r3, [r3, #19] @ zero_extendqisi2 - cbz r3, .L3238 - ldr r2, .L3291+32 + cbz r3, .L3280 + ldr r2, .L3333+32 movs r0, #0 - ldr r3, .L3291+36 + ldr r3, .L3333+36 ldrh r1, [r2] ldrb r3, [r3] @ zero_extendqisi2 muls r1, r3, r1 bl flash_ddr_para_scan ldr r3, [sp, #4] ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L3238 + cbnz r3, .L3280 ldr r2, [r6] strb r3, [r2, #19] bl flash_info_flush -.L3238: +.L3280: ldr r3, [r8] lsls r2, r3, #19 - bpl .L3240 - ldr r2, .L3291+40 - movw r1, #3647 - ldr r0, .L3291+44 + bpl .L3282 + ldr r2, .L3333+40 + movw r1, #3674 + ldr r0, .L3333+44 bl printf -.L3240: +.L3282: bl nand_flash_print_info mov fp, #0 - b .L3196 -.L3292: + b .L3238 +.L3334: .align 2 -.L3291: +.L3333: .word toshiba_read_retrial - .word .LANCHOR26 - .word .LANCHOR169 + .word .LANCHOR18 + .word .LANCHOR166 .word toshiba_3d_read_retrial .word samsung_read_retrial .word ymtc_3d_read_retrial - .word .LANCHOR51 + .word .LANCHOR50 .word hynix_read_retrial .word .LANCHOR2 .word .LANCHOR211 .word .LANCHOR213 - .word .LC97 + .word .LC94 .size nand_flash_init, .-nand_flash_init .section .text.ftl_sysblk_dump,"ax",%progbits .align 1 @@ -21354,37 +21802,37 @@ ftl_sysblk_dump: mov r4, r0 mov r5, r6 str r3, [sp, #44] -.L3294: - ldr r3, .L3303 +.L3336: + ldr r3, .L3345 ldrh r2, [r3] uxth r3, r6 cmp r2, r3 - bhi .L3296 + bhi .L3338 ldr r1, [sp, #44] movs r3, #32 - ldr r0, .L3303+4 + ldr r0, .L3345+4 movs r2, #4 add r1, r1, #704 bl rknand_print_hex mov r0, r4 bl zbuf_free - cbz r5, .L3297 - movw r2, #1611 - ldr r1, .L3303+8 - ldr r0, .L3303+12 + cbz r5, .L3339 + movw r2, #1619 + ldr r1, .L3345+8 + ldr r0, .L3345+12 bl printf -.L3297: +.L3339: mov r0, r5 add sp, sp, #48 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3296: - ldr r3, .L3303+16 +.L3338: + ldr r3, .L3345+16 uxth r7, r6 ldr r2, [r4, #12] ldr r1, [r4, #4] ldrh r8, [r3] - ldr r3, .L3303+20 + ldr r3, .L3345+20 mla r8, fp, r8, r7 ldrb r3, [r3] @ zero_extendqisi2 mov r0, r8 @@ -21410,31 +21858,31 @@ ftl_sysblk_dump: mov r2, r7 ldr r3, [r3] str r0, [sp] - ldr r0, .L3303+24 + ldr r0, .L3345+24 str r3, [sp, #4] mov r3, r8 bl printf cmp r10, #-1 - beq .L3298 + beq .L3340 cmp r10, #512 it eq moveq r5, #1 -.L3295: +.L3337: adds r6, r6, #1 - b .L3294 -.L3298: + b .L3336 +.L3340: movs r5, #1 - b .L3295 -.L3304: + b .L3337 +.L3346: .align 2 -.L3303: - .word .LANCHOR95 - .word .LC176 +.L3345: + .word .LANCHOR94 + .word .LC179 .word .LANCHOR218 .word .LC0 .word .LANCHOR111 .word .LANCHOR131 - .word .LC167 + .word .LC160 .size ftl_sysblk_dump, .-ftl_sysblk_dump .section .text.ftl_open_sblk_recovery,"ax",%progbits .align 1 @@ -21449,55 +21897,55 @@ ftl_open_sblk_recovery: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r10, fp, lr} mov r4, r0 - ldr r5, .L3442 + ldr r5, .L3484 sub sp, sp, #224 str r1, [sp, #28] ldr r3, [r5] lsls r0, r3, #19 - bpl .L3306 + bpl .L3348 ldrh r1, [r4, #2] - ldr r0, .L3442+4 + ldr r0, .L3484+4 bl printf -.L3306: +.L3348: ldr r3, [r5] lsls r1, r3, #19 - bpl .L3307 + bpl .L3349 ldrb r1, [r4, #5] @ zero_extendqisi2 - ldr r0, .L3442+8 + ldr r0, .L3484+8 bl printf -.L3307: +.L3349: ldr r3, [r5] lsls r2, r3, #19 - bpl .L3308 + bpl .L3350 ldrh r1, [r4] - ldr r0, .L3442+12 + ldr r0, .L3484+12 bl printf -.L3308: +.L3350: ldr r3, [r5] lsls r3, r3, #19 - bpl .L3309 + bpl .L3351 ldrh r2, [r4, #18] ldrh r1, [r4, #16] - ldr r0, .L3442+16 + ldr r0, .L3484+16 bl printf -.L3309: +.L3351: ldr r3, [r5] lsls r7, r3, #19 - bpl .L3310 + bpl .L3352 ldrb r1, [r4, #9] @ zero_extendqisi2 - ldr r0, .L3442+20 + ldr r0, .L3484+20 bl printf -.L3310: +.L3352: ldrh r3, [r4, #10] ldrh r2, [r4] strh r3, [r4, #14] @ movhi - ldr r3, .L3442+24 + ldr r3, .L3484+24 ldrh r3, [r3] cmp r2, r3 - bcs .L3305 + bcs .L3347 movs r0, #1 bl buf_alloc - ldr r3, .L3442+28 + ldr r3, .L3484+28 movs r1, #255 ldr r2, [r0, #4] mov r5, r0 @@ -21523,15 +21971,15 @@ ftl_open_sblk_recovery: str r3, [sp, #12] movs r3, #0 str r3, [sp, #20] -.L3312: - ldr r3, .L3442+32 +.L3354: + ldr r3, .L3484+32 ldr r2, [sp, #8] ldrh r3, [r3] cmp r3, r2 - bhi .L3327 -.L3315: + bhi .L3369 +.L3357: ldrh r3, [sp, #8] - ldr r1, .L3442+32 + ldr r1, .L3484+32 ldrh r2, [r4, #6] strh r3, [r4, #2] @ movhi ldrh r3, [r4, #10] @@ -21542,77 +21990,77 @@ ftl_open_sblk_recovery: str r1, [sp, #8] muls r3, r0, r3 cmp r2, r3 - beq .L3328 - movw r2, #1794 - ldr r1, .L3442+36 - ldr r0, .L3442+40 + beq .L3370 + movw r2, #1802 + ldr r1, .L3484+36 + ldr r0, .L3484+40 bl printf -.L3328: - ldr r3, .L3442+44 +.L3370: + ldr r3, .L3484+44 movs r6, #0 ldrh r0, [r4, #10] mov r2, r6 ldr r7, [r3] str r3, [sp, #16] -.L3329: +.L3371: cmp r2, r0 - bcc .L3331 + bcc .L3373 ldr r2, [sp, #8] ldrb r3, [r4, #9] @ zero_extendqisi2 - ldr r7, .L3442 + ldr r7, .L3484 ldrh r2, [r2] - ldr r8, .L3442+60 + ldr r8, .L3484+60 smulbb r3, r3, r2 subs r3, r3, r0 add r6, r6, r3 ldr r3, [r7] uxth r6, r6 tst r3, #4096 - beq .L3332 + beq .L3374 ldrh r1, [r4] mov r2, r6 ldr r3, [r8] - ldr r0, .L3442+48 + ldr r0, .L3484+48 ldrh r3, [r3, r1, lsl #1] bl printf -.L3332: +.L3374: ldr r3, [r8] ldrh r2, [r4] strh r6, [r3, r2, lsl #1] @ movhi ldr r3, [r7] lsls r7, r3, #17 - bpl .L3333 + bpl .L3375 ldr r3, [sp, #44] add r1, sp, #32 - ldr r0, .L3442+52 + ldr r0, .L3484+52 str r3, [sp] ldm r1, {r1, r2, r3} bl printf -.L3333: - ldr r6, .L3442+28 +.L3375: + ldr r6, .L3484+28 movs r7, #0 - ldr r8, .L3442+56 + ldr r8, .L3484+56 movs r1, #0 ldr r0, [r5, #4] ldrb r2, [r6] @ zero_extendqisi2 lsls r2, r2, #9 bl ftl_memset str r6, [sp, #24] -.L3334: +.L3376: ldrb r3, [r8] @ zero_extendqisi2 ldr r2, [sp, #12] muls r3, r2, r3 cmp r7, r3 - bcc .L3348 - ldr r7, .L3442+28 + bcc .L3390 + ldr r7, .L3484+28 movs r6, #0 -.L3349: - ldr r3, .L3442+56 +.L3391: + ldr r3, .L3484+56 ldr r2, [sp, #12] ldrb r3, [r3] @ zero_extendqisi2 muls r3, r2, r3 cmp r6, r3 - bcc .L3356 + bcc .L3398 mov r0, r5 bl zbuf_free ldr r3, [sp, #8] @@ -21626,62 +22074,62 @@ ftl_open_sblk_recovery: subs r3, r3, #1 ldr r3, [r2, r3, lsl #2] adds r3, r3, #1 - beq .L3357 - movw r2, #1909 - ldr r1, .L3442+36 - ldr r0, .L3442+40 + beq .L3399 + movw r2, #1917 + ldr r1, .L3484+36 + ldr r0, .L3484+40 bl printf -.L3357: +.L3399: ldrh r3, [r4, #6] cmp r3, #1 - bne .L3305 + bne .L3347 mov r0, r4 bl ftl_write_last_log_page -.L3305: +.L3347: add sp, sp, #224 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3327: +.L3369: ldrb fp, [r4, #5] @ zero_extendqisi2 -.L3313: +.L3355: ldrb r3, [r4, #9] @ zero_extendqisi2 cmp r3, fp - bhi .L3326 + bhi .L3368 movs r3, #0 strb r3, [r4, #5] ldr r3, [sp, #8] adds r3, r3, #1 uxth r3, r3 str r3, [sp, #8] - b .L3312 -.L3443: + b .L3354 +.L3485: .align 2 -.L3442: - .word .LANCHOR14 - .word .LC177 - .word .LC178 - .word .LC179 +.L3484: + .word .LANCHOR19 .word .LC180 .word .LC181 - .word .LANCHOR6 + .word .LC182 + .word .LC183 + .word .LC184 + .word .LANCHOR8 .word .LANCHOR131 - .word .LANCHOR95 + .word .LANCHOR94 .word .LANCHOR219 .word .LC0 .word .LANCHOR117 - .word .LC184 - .word .LC185 - .word .LANCHOR80 - .word .LANCHOR9 -.L3326: + .word .LC187 + .word .LC188 + .word .LANCHOR79 + .word .LANCHOR11 +.L3368: add r3, fp, #8 ldrh r7, [r4, r3, lsl #1] movw r3, #65535 cmp r7, r3 - beq .L3314 - ldr r3, .L3444 + beq .L3356 + ldr r3, .L3486 ldr r2, [sp, #8] - ldr r6, .L3444+4 + ldr r6, .L3486+4 ldrh r3, [r3] ldr r1, [r5, #4] mla r3, r7, r3, r2 @@ -21692,22 +22140,22 @@ ftl_open_sblk_recovery: bl ftl_read_ppa_page cmp r0, #512 mov r8, r0 - beq .L3315 + beq .L3357 cmp r0, #-1 - beq .L3316 + beq .L3358 ldr r3, [r5, #12] ldr r2, [r3] adds r2, r2, #1 - bne .L3316 + bne .L3358 ldr r3, [r3, #4] adds r3, r3, #1 - bne .L3316 + bne .L3358 ldr r3, [r5, #4] ldr r3, [r3] adds r3, r3, #1 - beq .L3315 -.L3316: - ldr r3, .L3444+8 + beq .L3357 +.L3358: + ldr r3, .L3486+8 movs r2, #1 ldr r1, [sp, #8] strb r2, [r3] @@ -21715,70 +22163,70 @@ ftl_open_sblk_recovery: ldrh r2, [r4, #10] mla r3, r1, r3, fp cmp r2, r3 - beq .L3317 - movw r2, #1686 - ldr r1, .L3444+12 - ldr r0, .L3444+16 + beq .L3359 + movw r2, #1694 + ldr r1, .L3486+12 + ldr r0, .L3486+16 bl printf -.L3317: +.L3359: ldrh r3, [r4, #10] ldrh r2, [r4, #6] add r2, r2, r3 - ldr r3, .L3444+20 + ldr r3, .L3486+20 ldrh r1, [r3] ldrb r3, [r4, #9] @ zero_extendqisi2 muls r3, r1, r3 cmp r2, r3 - beq .L3318 - movw r2, #1687 - ldr r1, .L3444+12 - ldr r0, .L3444+16 + beq .L3360 + movw r2, #1695 + ldr r1, .L3486+12 + ldr r0, .L3486+16 bl printf -.L3318: +.L3360: ldrb r3, [r6] @ zero_extendqisi2 cmp r3, #8 - bls .L3319 + bls .L3361 ldr r10, [r5, #12] - ldr r2, .L3444+24 + ldr r2, .L3486+24 ldr r3, [r10] cmp r3, r2 - beq .L3319 + beq .L3361 cmp r8, #-1 - beq .L3321 + beq .L3363 ldr r3, [r10, #4] adds r3, r3, #1 - beq .L3322 + beq .L3364 ldr r3, [r10, #16] add r2, r2, #1392508928 sub r2, r2, #1957888 subw r2, r2, #2427 cmp r3, r2 - bne .L3322 + bne .L3364 mov r1, #1024 ldr r0, [sp, #24] bl js_hash ldr r3, [r10, #20] cmp r3, r0 - beq .L3322 + beq .L3364 str r0, [sp, #4] mov r1, r7 ldr r3, [sp, #16] ldr r2, [sp, #8] str r8, [sp] - ldr r0, .L3444+28 + ldr r0, .L3486+28 bl printf movs r3, #16 movs r2, #4 ldr r1, [sp, #24] - ldr r0, .L3444+32 + ldr r0, .L3486+32 bl rknand_print_hex ldrb r3, [r6] @ zero_extendqisi2 movs r2, #4 ldr r1, [r5, #12] - ldr r0, .L3444+36 + ldr r0, .L3486+36 lsrs r3, r3, #1 bl rknand_print_hex -.L3321: +.L3363: ldrh r3, [r4, #6] subs r3, r3, #1 strh r3, [r4, #6] @ movhi @@ -21789,38 +22237,38 @@ ftl_open_sblk_recovery: str r3, [sp, #12] movs r3, #1 str r3, [sp, #20] -.L3314: +.L3356: add r3, fp, #1 uxth fp, r3 - b .L3313 -.L3319: + b .L3355 +.L3361: cmp r8, #-1 - beq .L3321 -.L3322: + beq .L3363 +.L3364: ldr r3, [r5, #12] ldr r0, [r3, #4] adds r6, r0, #1 - beq .L3321 + beq .L3363 ldr r3, [r3] - ldr r2, .L3444+24 + ldr r2, .L3486+24 cmp r3, r2 - beq .L3321 + beq .L3363 bl lpa_hash_get_ppa ldr r3, [sp, #28] mov r7, r0 cmp r3, #0 - beq .L3324 + beq .L3366 ldr r10, [r5, #12] ldr r3, [r10, #8] cmp r0, r3 - beq .L3324 + beq .L3366 adds r1, r0, #1 - beq .L3324 - ldr r3, .L3444+40 + beq .L3366 + ldr r3, .L3486+40 movs r6, #1 - ldr r8, .L3444+60 + ldr r8, .L3486+60 ldrh r0, [r3] - ldr r3, .L3444+44 + ldr r3, .L3486+44 ldrb r1, [r8] @ zero_extendqisi2 ldrb r3, [r3] @ zero_extendqisi2 rsb r3, r3, #24 @@ -21834,26 +22282,26 @@ ftl_open_sblk_recovery: uxth r0, r0 ldrh r3, [r3] cmp r3, r0 - bne .L3324 + bne .L3366 ldr r3, [r10] mov r0, r7 - ldr r10, .L3444+64 + ldr r10, .L3486+64 ldr r1, [r5, #4] str r3, [sp, #12] - ldr r3, .L3444+4 + ldr r3, .L3486+4 mov r2, r10 ldrb r3, [r3] @ zero_extendqisi2 bl ftl_read_ppa_page ldr r3, [r10] ldr r2, [sp, #12] cmp r2, r3 - bhi .L3324 + bhi .L3366 ldr r3, [r5, #12] ldr r3, [r3, #8] adds r2, r3, #1 - beq .L3321 - ldr r1, .L3444+44 - ldr r2, .L3444+40 + beq .L3363 + ldr r1, .L3486+44 + ldr r2, .L3486+40 ldrb r0, [r1] @ zero_extendqisi2 ldrh r2, [r2] ldrb r1, [r8] @ zero_extendqisi2 @@ -21866,8 +22314,8 @@ ftl_open_sblk_recovery: bl __aeabi_uidiv uxth r0, r0 bl ftl_vpn_decrement - b .L3321 -.L3331: + b .L3363 +.L3373: ldrh r1, [r4, #12] add r1, r1, r2 adds r2, r2, #1 @@ -21876,14 +22324,14 @@ ftl_open_sblk_recovery: itt ne addne r6, r6, #1 uxthne r6, r6 - b .L3329 -.L3348: + b .L3371 +.L3390: add fp, sp, #32 ldr r0, [fp, r7, lsl #2] adds r6, r0, #1 - bne .L3335 -.L3341: - ldr r2, .L3444+48 + bne .L3377 +.L3383: + ldr r2, .L3486+48 mov r6, #-1 ldr r3, [r5, #12] ldr r1, [r5, #4] @@ -21896,35 +22344,35 @@ ftl_open_sblk_recovery: str r2, [r3, #12] str r2, [r3, #16] str r2, [r1] - ldr r1, .L3444+4 + ldr r1, .L3486+4 ldrb r1, [r1] @ zero_extendqisi2 cmp r1, #8 - bhi .L3336 -.L3337: + bhi .L3378 +.L3379: ldr r3, [sp, #20] cmp r3, #0 - beq .L3343 + beq .L3385 ldrh r3, [r4, #6] cmp r3, #1 - bls .L3343 - ldr fp, .L3444+56 -.L3413: + bls .L3385 + ldr fp, .L3486+56 +.L3455: mov r0, r4 bl ftl_get_new_free_page ldr r3, [fp] mov r10, r0 lsls r3, r3, #17 - bpl .L3345 + bpl .L3387 ldrh r2, [r4, #12] mov r1, r0 ldrh r3, [r4, #10] - ldr r0, .L3444+52 + ldr r0, .L3486+52 add r3, r3, r2 ldr r2, [r5, #12] subs r3, r3, #1 ldr r2, [r2, #4] bl printf -.L3345: +.L3387: ldrb r3, [r8] @ zero_extendqisi2 ldr r1, [sp, #12] ldrh r2, [r4, #6] @@ -21932,8 +22380,8 @@ ftl_open_sblk_recovery: adds r3, r3, #1 subs r3, r3, r7 cmp r2, r3 - bls .L3343 - ldr r3, .L3444+4 + bls .L3385 + ldr r3, .L3486+4 mov r0, r10 ldr r2, [r5, #12] ldr r1, [r5, #4] @@ -21943,10 +22391,10 @@ ftl_open_sblk_recovery: ldrh r0, [r4] bl ftl_vpn_decrement adds r0, r6, #1 - beq .L3346 + beq .L3388 ldr r3, [sp, #28] adds r3, r3, #1 - beq .L3346 + beq .L3388 add r3, sp, #96 ldrh r2, [r4, #12] str r10, [r3, r7, lsl #2] @@ -21955,30 +22403,30 @@ ftl_open_sblk_recovery: add r2, sp, #160 subs r3, r3, #1 str r3, [r2, r7, lsl #2] -.L3343: +.L3385: adds r7, r7, #1 - b .L3334 -.L3445: + b .L3376 +.L3487: .align 2 -.L3444: +.L3486: .word .LANCHOR111 .word .LANCHOR131 - .word .LANCHOR198 + .word .LANCHOR195 .word .LANCHOR219 .word .LC0 - .word .LANCHOR95 + .word .LANCHOR94 .word -178307901 - .word .LC182 - .word .LC183 - .word .LC150 - .word .LANCHOR75 - .word .LANCHOR32 + .word .LC185 + .word .LC186 + .word .LC147 + .word .LANCHOR74 + .word .LANCHOR31 .word .LANCHOR110 - .word .LC187 - .word .LANCHOR14 - .word .LANCHOR76 - .word .LANCHOR193 -.L3335: + .word .LC190 + .word .LANCHOR19 + .word .LANCHOR75 + .word .LANCHOR190 +.L3377: ldr r3, [sp, #24] ldr r1, [r5, #4] ldr r2, [r5, #12] @@ -21988,20 +22436,20 @@ ftl_open_sblk_recovery: mov r6, r0 ldr r0, [r3, #4] bl lpa_hash_get_ppa - ldr r3, .L3446 + ldr r3, .L3488 mov r10, r0 ldr r3, [r3] lsls r1, r3, #17 - bpl .L3338 + bpl .L3380 ldr r3, [r5, #12] mov r1, r0 ldr r2, [fp, r7, lsl #2] - ldr r0, .L3446+4 + ldr r0, .L3488+4 ldr r3, [r3, #4] bl printf -.L3338: +.L3380: add r3, sp, #32 - ldr r1, .L3446+8 + ldr r1, .L3488+8 ldr r3, [r3, r7, lsl #2] movs r2, #1 ldrb r1, [r1] @ zero_extendqisi2 @@ -22017,24 +22465,24 @@ ftl_open_sblk_recovery: strhi r2, [r3, #20] adds r2, r6, #1 str r10, [r3, #8] - bne .L3337 - b .L3341 -.L3336: + bne .L3379 + b .L3383 +.L3378: str r2, [r3, #16] str r2, [r3, #20] - b .L3337 -.L3346: + b .L3379 +.L3388: ldrh r3, [r4, #6] cmp r3, #1 - bls .L3343 + bls .L3385 adds r1, r6, #1 - bne .L3413 - b .L3343 -.L3356: + bne .L3455 + b .L3385 +.L3398: add r8, sp, #96 ldr r3, [r8, r6, lsl #2] adds r3, r3, #1 - beq .L3351 + beq .L3393 add r0, sp, #32 ldr r2, [r5, #12] ldrb r3, [r7] @ zero_extendqisi2 @@ -22042,12 +22490,12 @@ ftl_open_sblk_recovery: ldr r0, [r0, r6, lsl #2] bl ftl_read_ppa_page adds r2, r0, #1 - beq .L3352 + beq .L3394 cmp r0, #256 - bne .L3351 -.L3352: + bne .L3393 +.L3394: ldr r0, [r8, r6, lsl #2] - ldr r8, .L3446 + ldr r8, .L3488 ldrb r3, [r7] @ zero_extendqisi2 ldr r2, [r5, #12] ldr r1, [r5, #4] @@ -22055,56 +22503,56 @@ ftl_open_sblk_recovery: ldr r3, [r8] mov r10, r0 lsls r3, r3, #17 - bpl .L3354 + bpl .L3396 ldr r2, [r5, #12] add r3, sp, #32 mov r1, r0 ldr r3, [r3, r6, lsl #2] - ldr r0, .L3446+12 + ldr r0, .L3488+12 ldr r2, [r2, #8] bl printf -.L3354: +.L3396: cmp r10, #-1 - beq .L3351 + beq .L3393 ldr r1, [r5, #12] add r3, sp, #32 ldr r2, [r3, r6, lsl #2] ldr r3, [r1, #8] cmp r2, r3 - bne .L3351 + bne .L3393 ldr r3, [r8] add r8, sp, #160 tst r3, #16384 - beq .L3355 + beq .L3397 ldr r3, [r8, r6, lsl #2] ldr r1, [r1, #4] - ldr r0, .L3446+16 + ldr r0, .L3488+16 bl printf -.L3355: +.L3397: ldr r3, [r5, #12] ldrh r2, [r8, r6, lsl #2] ldr r1, [r3, #8] ldr r0, [r3, #4] bl lpa_hash_update_ppa -.L3351: +.L3393: adds r6, r6, #1 - b .L3349 -.L3324: + b .L3391 +.L3366: ldr r0, [r5, #12] - ldr r3, .L3446+20 + ldr r3, .L3488+20 ldr r2, [r0, #4] ldr r3, [r3] cmp r2, r3 - bcs .L3321 - ldr r3, .L3446+24 + bcs .L3363 + ldr r3, .L3488+24 ldrb r1, [r4, #9] @ zero_extendqisi2 ldrh r2, [r4, #10] ldrh r3, [r3] muls r3, r1, r3 subs r3, r3, #1 cmp r2, r3 - bge .L3321 - ldr r3, .L3446+28 + bge .L3363 + ldr r3, .L3488+28 ldr r6, [r0] ldr r3, [r3] ldr r1, [r3, #8] @@ -22125,17 +22573,17 @@ ftl_open_sblk_recovery: str r3, [sp, #40] ldr r3, [sp, #16] str r3, [sp, #44] - b .L3321 -.L3447: + b .L3363 +.L3489: .align 2 -.L3446: - .word .LANCHOR14 - .word .LC186 +.L3488: + .word .LANCHOR19 + .word .LC189 .word .LANCHOR131 - .word .LC187 - .word .LC188 + .word .LC190 + .word .LC191 .word .LANCHOR128 - .word .LANCHOR95 + .word .LANCHOR94 .word .LANCHOR110 .size ftl_open_sblk_recovery, .-ftl_open_sblk_recovery .section .text.dump_ftl_info,"ax",%progbits @@ -22149,26 +22597,26 @@ ftl_open_sblk_recovery: dump_ftl_info: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L3449 + ldr r3, .L3491 push {r0, r1, r2, r4, r5, r6, r7, lr} - ldr r0, .L3449+4 + ldr r0, .L3491+4 ldrb r1, [r3] @ zero_extendqisi2 bl printf - ldr r1, .L3449+8 - ldr r5, .L3449+12 - ldr r0, .L3449+16 + ldr r1, .L3491+8 + ldr r5, .L3491+12 + ldr r0, .L3491+16 ldrh r3, [r1, #2] ldrb r2, [r1, #1] @ zero_extendqisi2 ldrb r1, [r1] @ zero_extendqisi2 bl printf ldr r3, [r5] - ldr r4, .L3449+20 - ldr r0, .L3449+24 + ldr r4, .L3491+20 + ldr r0, .L3491+24 ldrh r2, [r3, #140] ldrh r1, [r3, #130] bl printf ldr r0, [r4] - ldr r7, .L3449+28 + ldr r7, .L3491+28 ldrh r6, [r0, #26] ldrb r3, [r0, #21] @ zero_extendqisi2 ldrh r2, [r0, #18] @@ -22176,7 +22624,7 @@ dump_ftl_info: str r6, [sp, #4] ldrh r0, [r0, #22] str r0, [sp] - ldr r0, .L3449+32 + ldr r0, .L3491+32 bl printf ldr r0, [r4] ldrh r6, [r0, #58] @@ -22185,9 +22633,9 @@ dump_ftl_info: ldrh r1, [r0, #48] str r6, [sp, #4] ldrh r0, [r0, #54] - ldr r6, .L3449+36 + ldr r6, .L3491+36 str r0, [sp] - ldr r0, .L3449+40 + ldr r0, .L3491+40 bl printf ldr r0, [r4] ldrh r4, [r0, #90] @@ -22196,46 +22644,46 @@ dump_ftl_info: ldrh r1, [r0, #80] str r4, [sp, #4] ldrh r0, [r0, #86] - ldr r4, .L3449+44 + ldr r4, .L3491+44 str r0, [sp] - ldr r0, .L3449+48 + ldr r0, .L3491+48 bl printf ldrh r2, [r6] ldrb r3, [r4] @ zero_extendqisi2 - ldr r1, .L3449+52 - ldr r0, .L3449+56 + ldr r1, .L3491+52 + ldr r0, .L3491+56 muls r3, r2, r3 ldr r1, [r1] movs r2, #4 lsls r3, r3, #1 bl rknand_print_hex - ldr r1, .L3449+60 + ldr r1, .L3491+60 movs r2, #2 ldrh r3, [r7] - ldr r0, .L3449+64 + ldr r0, .L3491+64 ldr r1, [r1] bl rknand_print_hex ldr r1, [r5] movs r2, #4 - ldr r0, .L3449+68 + ldr r0, .L3491+68 ldrh r3, [r1, #698] add r1, r1, #704 bl rknand_print_hex - ldr r1, .L3449+72 + ldr r1, .L3491+72 movs r2, #4 ldrh r3, [r7] - ldr r0, .L3449+76 + ldr r0, .L3491+76 ldr r1, [r1] bl rknand_print_hex mov r3, #256 movs r2, #2 - ldr r1, .L3449+80 - ldr r0, .L3449+84 + ldr r1, .L3491+80 + ldr r0, .L3491+84 bl rknand_print_hex ldrh r2, [r6] ldrb r3, [r4] @ zero_extendqisi2 - ldr r1, .L3449+88 - ldr r0, .L3449+92 + ldr r1, .L3491+88 + ldr r0, .L3491+92 muls r3, r2, r3 ldr r1, [r1] movs r2, #2 @@ -22244,33 +22692,33 @@ dump_ftl_info: @ sp needed pop {r4, r5, r6, r7, lr} b rknand_print_hex -.L3450: +.L3492: .align 2 -.L3449: - .word .LANCHOR58 - .word .LC189 - .word .LANCHOR194 - .word .LANCHOR110 - .word .LC190 - .word .LANCHOR10 - .word .LC191 - .word .LANCHOR6 +.L3491: + .word .LANCHOR57 .word .LC192 - .word .LANCHOR95 + .word .LANCHOR191 + .word .LANCHOR110 .word .LC193 - .word .LANCHOR80 + .word .LANCHOR12 .word .LC194 - .word .LANCHOR117 + .word .LANCHOR8 .word .LC195 - .word .LANCHOR9 + .word .LANCHOR94 .word .LC196 - .word .LC176 - .word .LANCHOR7 + .word .LANCHOR79 .word .LC197 - .word .LANCHOR116 + .word .LANCHOR117 .word .LC198 - .word .LANCHOR118 + .word .LANCHOR11 .word .LC199 + .word .LC179 + .word .LANCHOR9 + .word .LC200 + .word .LANCHOR116 + .word .LC201 + .word .LANCHOR118 + .word .LC202 .size dump_ftl_info, .-dump_ftl_info .section .text.pm_ppa_update_check,"ax",%progbits .align 1 @@ -22285,10 +22733,10 @@ pm_ppa_update_check: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, r6, r7, lr} mov r7, r2 - ldr r2, .L3458 + ldr r2, .L3500 mov r5, r0 mov r6, r1 - ldr r3, .L3458+4 + ldr r3, .L3500+4 ldrb r4, [r2] @ zero_extendqisi2 ldrh r3, [r3] rsb r4, r4, #24 @@ -22296,41 +22744,41 @@ pm_ppa_update_check: movs r4, #1 lsls r4, r4, r0 lsr r0, r7, r3 - ldr r3, .L3458+8 + ldr r3, .L3500+8 subs r4, r4, #1 ands r0, r0, r4 ldrb r1, [r3] @ zero_extendqisi2 bl __aeabi_uidiv - ldr r3, .L3458+12 + ldr r3, .L3500+12 uxth r0, r0 ldr r3, [r3] add r0, r3, r0, lsl #2 ldrb r3, [r0, #2] @ zero_extendqisi2 lsrs r3, r3, #5 cmp r3, #1 - beq .L3452 + beq .L3494 cmp r3, #7 - bne .L3454 -.L3452: + bne .L3496 +.L3494: mov r3, r7 mov r2, r6 mov r1, r5 - ldr r0, .L3458+16 + ldr r0, .L3500+16 bl printf bl dump_ftl_info mov r0, #-1 pop {r3, r4, r5, r6, r7, pc} -.L3454: +.L3496: movs r0, #0 pop {r3, r4, r5, r6, r7, pc} -.L3459: +.L3501: .align 2 -.L3458: - .word .LANCHOR32 +.L3500: + .word .LANCHOR31 + .word .LANCHOR74 .word .LANCHOR75 - .word .LANCHOR76 - .word .LANCHOR7 - .word .LC200 + .word .LANCHOR9 + .word .LC203 .size pm_ppa_update_check, .-pm_ppa_update_check .section .text.load_l2p_region,"ax",%progbits .align 1 @@ -22346,22 +22794,22 @@ load_l2p_region: push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} mov r5, r0 mov r7, r1 - bls .L3461 + bls .L3503 movs r2, #32 - ldr r1, .L3484 - ldr r0, .L3484+4 + ldr r1, .L3526 + ldr r0, .L3526+4 bl printf -.L3461: - ldr r6, .L3484+8 +.L3503: + ldr r6, .L3526+8 ldr r3, [r6] mov r10, r6 ldrh r2, [r3, #698] cmp r2, r5 - bcs .L3462 + bcs .L3504 mov r1, r5 - ldr r0, .L3484+12 + ldr r0, .L3526+12 bl printf - ldr r3, .L3484+16 + ldr r3, .L3526+16 movs r4, #0 movs r1, #255 ldr r0, [r4, #4] @@ -22370,22 +22818,22 @@ load_l2p_region: ldr r3, [r6] ldrh r3, [r3, #698] cmp r3, r5 - bcc .L3463 -.L3482: + bcc .L3505 +.L3524: movs r0, #0 -.L3460: +.L3502: add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3463: +.L3505: movs r2, #37 -.L3483: - ldr r1, .L3484 - ldr r0, .L3484+4 +.L3525: + ldr r1, .L3526 + ldr r0, .L3526+4 bl printf - b .L3482 -.L3462: - ldr r6, .L3484+20 + b .L3524 +.L3504: + ldr r6, .L3526+20 add r2, r5, #176 ldr r4, [r3, r2, lsl #2] movs r3, #0 @@ -22393,21 +22841,21 @@ load_l2p_region: lsls r7, r7, #3 add fp, r6, r7 strh r3, [fp, #2] @ movhi - cbnz r4, .L3465 + cbnz r4, .L3507 mov r2, r4 mov r1, r5 - ldr r0, .L3484+24 + ldr r0, .L3526+24 bl printf - ldr r3, .L3484+16 + ldr r3, .L3526+16 movs r1, #255 ldr r0, [fp, #4] ldrh r2, [r3] bl ftl_memset - b .L3482 -.L3465: - ldr r8, .L3484+32 + b .L3524 +.L3507: + ldr r8, .L3526+32 mov r0, r4 - ldr r3, .L3484+28 + ldr r3, .L3526+28 ldr r1, [fp, #4] ldr r2, [r8] ldrb r3, [r3] @ zero_extendqisi2 @@ -22416,43 +22864,43 @@ load_l2p_region: mov r3, r0 ldr r2, [r2] cmp r2, r5 - bne .L3466 + bne .L3508 adds r1, r0, #1 - beq .L3466 + beq .L3508 cmp r0, #512 - beq .L3466 -.L3471: - ldr r3, .L3484+32 + beq .L3508 +.L3513: + ldr r3, .L3526+32 ldr r3, [r3] ldr r3, [r3] cmp r5, r3 - beq .L3482 + beq .L3524 movs r2, #73 - b .L3483 -.L3466: + b .L3525 +.L3508: mov r1, r5 str r4, [sp] - ldr r0, .L3484+36 + ldr r0, .L3526+36 add r8, r6, r7 bl printf ldr r1, [r10] movs r2, #4 - ldr r10, .L3484+28 - ldr r0, .L3484+40 + ldr r10, .L3526+28 + ldr r0, .L3526+40 ldrh r3, [r1, #698] add r1, r1, #704 bl rknand_print_hex ldrb r3, [r10] @ zero_extendqisi2 movs r2, #4 - ldr fp, .L3484+32 + ldr fp, .L3526+32 ldr r1, [r8, #4] - ldr r0, .L3484+44 + ldr r0, .L3526+44 lsls r3, r3, #7 bl rknand_print_hex movs r3, #16 movs r2, #4 ldr r1, [fp] - ldr r0, .L3484+48 + ldr r0, .L3526+48 bl rknand_print_hex ldrb r3, [r10] @ zero_extendqisi2 mov r0, r4 @@ -22460,41 +22908,41 @@ load_l2p_region: ldr r1, [r8, #4] bl ftl_read_ppa_page adds r3, r0, #1 - beq .L3469 + beq .L3511 cmp r0, #512 - bne .L3470 -.L3469: - ldr r3, .L3484+16 + bne .L3512 +.L3511: + ldr r3, .L3526+16 add r6, r6, r7 movs r1, #255 ldr r0, [r6, #4] ldrh r2, [r3] bl ftl_memset -.L3472: +.L3514: mov r0, #-1 - b .L3460 -.L3470: + b .L3502 +.L3512: ldr r3, [fp] ldr r3, [r3] cmp r5, r3 - beq .L3471 - b .L3472 -.L3485: + beq .L3513 + b .L3514 +.L3527: .align 2 -.L3484: +.L3526: .word .LANCHOR220 .word .LC0 .word .LANCHOR110 - .word .LC201 + .word .LC204 .word .LANCHOR221 - .word .LANCHOR138 - .word .LC202 + .word .LANCHOR135 + .word .LC205 .word .LANCHOR131 .word .LANCHOR207 - .word .LC203 - .word .LC204 - .word .LC183 - .word .LC205 + .word .LC206 + .word .LC207 + .word .LC186 + .word .LC208 .size load_l2p_region, .-load_l2p_region .section .text.pm_gc,"ax",%progbits .align 1 @@ -22508,30 +22956,30 @@ pm_gc: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r10, fp, lr} - ldr r4, .L3503 - ldr r5, .L3503+4 + ldr r4, .L3545 + ldr r5, .L3545+4 ldr r3, [r4] - ldr r6, .L3503+8 + ldr r6, .L3545+8 ldrh r2, [r5] ldrh r1, [r3, #688] subs r2, r2, #1 cmp r1, r2 - bge .L3487 + bge .L3529 ldr r3, [r6] cmp r3, #0 - beq .L3488 -.L3487: + beq .L3530 +.L3529: bl pm_free_sblk ldr r2, [r4] ldrh r3, [r5] ldrh r1, [r2, #688] subs r3, r3, #1 cmp r1, r3 - bge .L3489 + bge .L3531 ldr r3, [r6] cmp r3, #0 - beq .L3488 -.L3489: + beq .L3530 +.L3531: uxth r0, r0 movw r5, #65535 movs r3, #0 @@ -22539,10 +22987,10 @@ pm_gc: str r3, [r6] ldrh r8, [r2, r0, lsl #1] cmp r8, r5 - bne .L3491 + bne .L3533 movs r2, #182 - ldr r1, .L3503+12 - ldr r0, .L3503+16 + ldr r1, .L3545+12 + ldr r0, .L3545+16 bl printf bl pm_free_sblk ldr r3, [r4] @@ -22550,43 +22998,43 @@ pm_gc: adds r0, r0, #208 ldrh r8, [r3, r0, lsl #1] cmp r8, r5 - beq .L3488 -.L3491: - ldr r5, .L3503+20 + beq .L3530 +.L3533: + ldr r5, .L3545+20 bl pm_select_ram_region mov r6, r0 movw r3, #65535 ldrh r0, [r5, r0, lsl #3] cmp r0, r3 - beq .L3492 + beq .L3534 add r7, r5, r6, lsl #3 ldr r1, [r7, #4] - cbz r1, .L3492 + cbz r1, .L3534 ldrsh r3, [r7, #2] cmp r3, #0 - bge .L3492 + bge .L3534 bl pm_write_page ldrh r3, [r7, #2] ubfx r3, r3, #0, #15 strh r3, [r7, #2] @ movhi -.L3492: +.L3534: movs r7, #0 -.L3493: +.L3535: ldr r1, [r4] uxth fp, r7 ldrh r3, [r1, #698] cmp r3, fp - bhi .L3496 + bhi .L3538 bl pm_free_sblk -.L3488: +.L3530: movs r0, #0 pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3496: - ldr r3, .L3503+24 +.L3538: + ldr r3, .L3545+24 uxth r10, r7 mov ip, #1 ldrh r0, [r3] - ldr r3, .L3503+28 + ldr r3, .L3545+28 ldrb r3, [r3] @ zero_extendqisi2 rsb r3, r3, #24 subs r3, r3, r0 @@ -22595,39 +23043,39 @@ pm_gc: ldr r1, [r1, ip, lsl #2] subs r3, r3, #1 lsr r0, r1, r0 - ldr r1, .L3503+32 + ldr r1, .L3545+32 ands r0, r0, r3 ldrb r1, [r1] @ zero_extendqisi2 bl __aeabi_uidiv uxth r0, r0 cmp r8, r0 - bne .L3494 + bne .L3536 mov r1, r6 mov r0, fp bl load_l2p_region - cbnz r0, .L3495 + cbnz r0, .L3537 add r3, r5, r6, lsl #3 mov r0, r10 ldr r1, [r3, #4] bl pm_write_page -.L3495: +.L3537: movw r3, #65535 strh r3, [r5, r6, lsl #3] @ movhi -.L3494: +.L3536: adds r7, r7, #1 - b .L3493 -.L3504: + b .L3535 +.L3546: .align 2 -.L3503: +.L3545: .word .LANCHOR110 - .word .LANCHOR155 - .word .LANCHOR151 + .word .LANCHOR152 + .word .LANCHOR148 .word .LANCHOR222 .word .LC0 - .word .LANCHOR138 + .word .LANCHOR135 + .word .LANCHOR74 + .word .LANCHOR31 .word .LANCHOR75 - .word .LANCHOR32 - .word .LANCHOR76 .size pm_gc, .-pm_gc .section .text.pm_flush_id,"ax",%progbits .align 1 @@ -22640,7 +23088,7 @@ pm_gc: pm_flush_id: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L3510 + ldr r3, .L3552 push {r4, lr} add r4, r3, r0, lsl #3 ldrh r0, [r3, r0, lsl #3] @@ -22649,20 +23097,20 @@ pm_flush_id: ldrh r3, [r4, #2] ubfx r3, r3, #0, #15 strh r3, [r4, #2] @ movhi - ldr r4, .L3510+4 + ldr r4, .L3552+4 ldr r3, [r4] - cbz r3, .L3506 + cbz r3, .L3548 bl pm_gc movs r3, #0 str r3, [r4] -.L3506: +.L3548: movs r0, #0 pop {r4, pc} -.L3511: +.L3553: .align 2 -.L3510: - .word .LANCHOR138 - .word .LANCHOR136 +.L3552: + .word .LANCHOR135 + .word .LANCHOR204 .size pm_flush_id, .-pm_flush_id .section .text.pm_flush,"ax",%progbits .align 1 @@ -22677,24 +23125,24 @@ pm_flush: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, lr} movs r4, #0 - ldr r5, .L3516 -.L3514: + ldr r5, .L3558 +.L3556: add r3, r5, r4, lsl #3 uxth r0, r4 ldrsh r3, [r3, #2] cmp r3, #0 - bge .L3513 + bge .L3555 bl pm_flush_id -.L3513: +.L3555: adds r4, r4, #1 cmp r4, #32 - bne .L3514 + bne .L3556 movs r0, #0 pop {r3, r4, r5, pc} -.L3517: +.L3559: .align 2 -.L3516: - .word .LANCHOR138 +.L3558: + .word .LANCHOR135 .size pm_flush, .-pm_flush .section .text.flt_sys_flush,"ax",%progbits .align 1 @@ -22757,7 +23205,7 @@ zftl_deinit: pm_init: @ args = 0, pretend = 0, frame = 16 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L3546 + ldr r3, .L3588 movs r2, #1 push {r4, r5, r6, r7, r8, r10, fp, lr} movs r4, #0 @@ -22765,34 +23213,34 @@ pm_init: mov r8, r0 movs r0, #64 str r4, [r3] - ldr r3, .L3546+4 - ldr r6, .L3546+8 + ldr r3, .L3588+4 + ldr r6, .L3588+8 str r4, [r3] - ldr r3, .L3546+12 + ldr r3, .L3588+12 mov r5, r6 strb r2, [r3] bl ftl_malloc - ldr r3, .L3546+16 + ldr r3, .L3588+16 mov r10, r3 str r0, [r3] -.L3523: +.L3565: movw r3, #65535 adds r7, r6, r4 strh r3, [r4, r6] @ movhi movs r3, #0 strh r3, [r7, #2] @ movhi cmp r8, #0 - beq .L3522 - ldr r3, .L3546+20 + beq .L3564 + ldr r3, .L3588+20 ldrb r0, [r3] @ zero_extendqisi2 lsls r0, r0, #9 bl ftl_malloc str r0, [r7, #4] -.L3522: +.L3564: adds r4, r4, #8 cmp r4, #256 - bne .L3523 - ldr r4, .L3546+24 + bne .L3565 + ldr r4, .L3588+24 ldr fp, [r5, #4] ldr r8, [r10] ldr r3, [r4] @@ -22807,25 +23255,25 @@ pm_init: mov r6, r0 ldrh r2, [r1, #696] cmp r2, r0 - bgt .L3524 + bgt .L3566 mov r3, r0 ldrh r1, [r1, #692] - ldr r0, .L3546+28 + ldr r0, .L3588+28 bl printf ldr r3, [r4] ldrsh r7, [r3, #696] -.L3525: +.L3567: cmp r7, r6 - ble .L3528 - ldr r3, .L3546+32 + ble .L3570 + ldr r3, .L3588+32 movs r2, #1 add r6, r6, r2 strb r2, [r3] ldr r3, [r4] strh r6, [r3, #696] @ movhi bl pm_free_sblk -.L3524: - ldr r3, .L3546+36 +.L3566: + ldr r3, .L3588+36 movs r1, #255 ldr r0, [r5, #4] ldrh r2, [r3] @@ -22833,9 +23281,9 @@ pm_init: ldr r1, [r5, #4] mov r0, #-1 bl pm_write_page - ldr r3, .L3546+32 + ldr r3, .L3588+32 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L3529 + cbz r3, .L3571 ldr r1, [r5, #4] mov r0, #-1 bl pm_write_page @@ -22845,20 +23293,20 @@ pm_init: ldr r1, [r5, #4] mov r0, #-1 bl pm_write_page -.L3529: +.L3571: bl pm_free_sblk bl pm_gc movs r0, #0 add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3528: +.L3570: ldr r3, [r4] - ldr r1, .L3546+40 + ldr r1, .L3588+40 ldrh r2, [r3, #692] ldrh r1, [r1] ldrb r0, [r3, #694] @ zero_extendqisi2 - ldr r3, .L3546+20 + ldr r3, .L3588+20 mla r2, r1, r2, r7 ldrb r3, [r3] @ zero_extendqisi2 str r2, [sp, #12] @@ -22869,7 +23317,7 @@ pm_init: bl flash_read_page_en ldr r3, [r4] mov r10, r0 - ldr r0, .L3546+44 + ldr r0, .L3588+44 ldr r2, [r3, #48] adds r2, r2, #1 str r2, [r3, #48] @@ -22878,18 +23326,18 @@ pm_init: ldr r1, [r8] bl printf cmp r10, #-1 - beq .L3526 + beq .L3568 cmp r10, #512 - beq .L3526 + beq .L3568 ldr r2, [r4] ldr r10, [r8] ldrh r3, [r2, #698] cmp r10, r3 - bcs .L3526 + bcs .L3568 ldr r3, [r8, #8] str r3, [sp, #20] - cbz r3, .L3527 - ldr r3, .L3546+20 + cbz r3, .L3569 + ldr r3, .L3588+20 mov r0, fp str r2, [sp, #16] ldrb r1, [r3] @ zero_extendqisi2 @@ -22898,35 +23346,35 @@ pm_init: ldr r3, [sp, #20] ldr r2, [sp, #16] cmp r3, r0 - beq .L3527 + beq .L3569 mov r1, r3 - ldr r0, .L3546+48 + ldr r0, .L3588+48 bl printf -.L3526: +.L3568: adds r7, r7, #1 sxth r7, r7 - b .L3525 -.L3527: + b .L3567 +.L3569: ldr r3, [sp, #12] add r10, r10, #176 str r3, [r2, r10, lsl #2] - b .L3526 -.L3547: + b .L3568 +.L3589: .align 2 -.L3546: - .word .LANCHOR151 - .word .LANCHOR136 - .word .LANCHOR138 +.L3588: + .word .LANCHOR148 + .word .LANCHOR204 + .word .LANCHOR135 .word .LANCHOR208 .word .LANCHOR207 .word .LANCHOR131 .word .LANCHOR110 - .word .LC206 - .word .LANCHOR198 + .word .LC209 + .word .LANCHOR195 .word .LANCHOR221 .word .LANCHOR111 - .word .LC207 - .word .LC208 + .word .LC210 + .word .LC211 .size pm_init, .-pm_init .section .text.pm_log2phys,"ax",%progbits .align 1 @@ -22939,54 +23387,54 @@ pm_init: pm_log2phys: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L3563 + ldr r3, .L3605 push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} mov fp, r0 str r2, [sp, #4] mov r6, r1 ldr r2, [r3] cmp r0, r2 - bcc .L3549 + bcc .L3591 mov r1, r0 - ldr r0, .L3563+4 + ldr r0, .L3605+4 bl printf ldr r3, [sp, #4] mov r0, #-1 - cbnz r3, .L3548 + cbnz r3, .L3590 str r0, [r6] -.L3548: +.L3590: add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3549: - ldr r3, .L3563+8 +.L3591: + ldr r3, .L3605+8 ldrb r5, [r3] @ zero_extendqisi2 lsls r1, r5, #7 bl __aeabi_uidiv - ldr r1, .L3563+12 + ldr r1, .L3605+12 uxth r7, r0 mov r10, r0 movs r2, #0 mov r8, r1 -.L3555: +.L3597: add r0, r1, r2, lsl #3 uxth r4, r2 ldr r0, [r0, #4] cmp r0, #0 - beq .L3551 + beq .L3593 ldrh r0, [r1, r2, lsl #3] cmp r0, r7 - bne .L3551 -.L3552: + bne .L3593 +.L3594: lsls r5, r5, #7 ldr r3, [sp, #4] lsls r4, r4, #3 smulbb r5, r5, r7 sub r5, fp, r5 uxth r5, r5 - cbnz r3, .L3553 + cbnz r3, .L3595 add r2, r8, r4 - ldr r1, .L3563+16 + ldr r1, .L3605+16 ldr r2, [r2, #4] ldr r2, [r2, r5, lsl #2] str r2, [r6] @@ -22997,25 +23445,25 @@ pm_log2phys: lsls r1, r1, r0 subs r1, r1, #1 ands r2, r2, r1 - ldr r1, .L3563+20 + ldr r1, .L3605+20 ldrb r1, [r1] @ zero_extendqisi2 cmp r2, r1 - bcc .L3554 + bcc .L3596 mov r2, #-1 str r2, [r6] -.L3554: +.L3596: add r4, r4, r8 movw r2, #32767 ldrh r3, [r4, #2] ubfx r1, r3, #0, #15 cmp r1, r2 - beq .L3558 + beq .L3600 adds r3, r3, #1 strh r3, [r4, #2] @ movhi -.L3558: +.L3600: movs r0, #0 - b .L3548 -.L3553: + b .L3590 +.L3595: add r1, r8, r4 ldr r0, [r6] ldr r2, [r1, #4] @@ -23024,41 +23472,41 @@ pm_log2phys: mvn r2, r2, lsl #17 mvn r2, r2, lsr #17 strh r2, [r1, #2] @ movhi - ldr r2, .L3563+24 + ldr r2, .L3605+24 strb r10, [r2] - b .L3554 -.L3551: + b .L3596 +.L3593: adds r2, r2, #1 cmp r2, #32 - bne .L3555 + bne .L3597 bl pm_select_ram_region ldrh r1, [r8, r0, lsl #3] movw r2, #65535 mov r4, r0 cmp r1, r2 - beq .L3556 + beq .L3598 add r2, r8, r0, lsl #3 ldrsh r2, [r2, #2] cmp r2, #0 - bge .L3556 + bge .L3598 bl pm_flush_id -.L3556: - ldr r2, .L3563+28 +.L3598: + ldr r2, .L3605+28 mov r1, r4 mov r0, r7 strb r4, [r2] bl load_l2p_region - b .L3552 -.L3564: + b .L3594 +.L3606: .align 2 -.L3563: +.L3605: .word .LANCHOR128 - .word .LC209 + .word .LC212 .word .LANCHOR131 - .word .LANCHOR138 - .word .LANCHOR32 + .word .LANCHOR135 + .word .LANCHOR31 .word .LANCHOR112 - .word .LANCHOR139 + .word .LANCHOR136 .word .LANCHOR223 .size pm_log2phys, .-pm_log2phys .section .text.gc_recovery,"ax",%progbits @@ -23074,24 +23522,24 @@ gc_recovery: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r10, fp, lr} movs r5, #0 - ldr r4, .L3675 + ldr r4, .L3717 sub sp, sp, #72 - ldr r3, .L3675+4 + ldr r3, .L3717+4 ldr fp, [r4] strb r5, [r3] - ldr r3, .L3675+8 + ldr r3, .L3717+8 ldrh r6, [fp, #80] strb r5, [r3] movw r3, #65535 cmp r6, r3 - beq .L3566 + beq .L3608 strh r3, [fp, #130] @ movhi movs r0, #1 bl buf_alloc ldrb r3, [fp, #89] @ zero_extendqisi2 mov r7, r0 - ldr r2, .L3675+12 - ldr r5, .L3675+16 + ldr r2, .L3717+12 + ldr r5, .L3717+16 add r3, fp, r3, lsl #1 ldrh r2, [r2] ldrb r1, [r5] @ zero_extendqisi2 @@ -23100,43 +23548,43 @@ gc_recovery: cmp r1, #2 mul r2, r2, r3 str r2, [sp, #64] - beq .L3567 - ldr r3, .L3675+20 + beq .L3609 + ldr r3, .L3717+20 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L3567 - ldr r3, .L3675+24 + cbnz r3, .L3609 + ldr r3, .L3717+24 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - beq .L3568 -.L3567: - ldr r3, .L3675+28 + beq .L3610 +.L3609: + ldr r3, .L3717+28 ldrh r3, [r3] subs r3, r3, #1 add r3, r3, r2 orr r3, r3, r1, lsl #24 -.L3667: +.L3709: str r3, [r7, #24] -.L3569: +.L3611: movs r1, #1 mov r0, r7 bl sblk_read_page ldr r3, [r7, #36] adds r2, r3, #1 - beq .L3570 + beq .L3612 cmp r3, #512 - beq .L3570 + beq .L3612 ldr r2, [r7, #12] - ldr r3, .L3675+32 + ldr r3, .L3717+32 ldr r2, [r2] str r3, [sp, #40] cmp r2, r3 - beq .L3571 -.L3570: + beq .L3613 +.L3612: mov r0, r7 bl zbuf_free ldr r2, [r7, #12] ldr r3, [r7, #4] - ldr r0, .L3675+36 + ldr r0, .L3717+36 ldr r1, [r2, #12] str r1, [sp, #24] ldr r1, [r2, #8] @@ -23155,8 +23603,8 @@ gc_recovery: ldr r3, [r3] ldr r1, [r7, #24] bl printf -.L3674: - ldr r3, .L3675+40 +.L3716: + ldr r3, .L3717+40 ldrh r1, [fp, #80] ldr r2, [r3] movs r3, #0 @@ -23165,19 +23613,19 @@ gc_recovery: mov r4, r3 ldrh r1, [fp, #80] strh r1, [r2, #130] @ movhi -.L3572: - ldr r3, .L3675+40 +.L3614: + ldr r3, .L3717+40 ldrh r0, [fp, #80] ldr r3, [r3] ldrh r3, [r3, r0, lsl #1] - cbnz r3, .L3616 + cbnz r3, .L3658 bl ftl_dump_write_open_sblk -.L3616: +.L3658: mov r2, r4 ldrh r1, [fp, #80] movw r5, #65535 - ldr r0, .L3675+44 - ldr r4, .L3675 + ldr r0, .L3717+44 + ldr r4, .L3717 bl printf strh r5, [fp, #80] @ movhi bl pm_flush @@ -23185,21 +23633,21 @@ gc_recovery: ldr r3, [r4] ldrh r3, [r3, #130] cmp r3, r5 - beq .L3617 - ldr r2, .L3675+48 + beq .L3659 + ldr r2, .L3717+48 ldrh r2, [r2] cmp r2, r3 - bhi .L3618 + bhi .L3660 movw r2, #517 - ldr r1, .L3675+52 - ldr r0, .L3675+56 + ldr r1, .L3717+52 + ldr r0, .L3717+56 bl printf -.L3618: +.L3660: ldr r3, [r4] ldrh r0, [r3, #130] bl ftl_free_sblk -.L3617: - ldr r3, .L3675+60 +.L3659: + ldr r3, .L3717+60 movs r0, #0 ldr r2, [r3] movw r3, #65535 @@ -23207,34 +23655,34 @@ gc_recovery: ldr r2, [r4] strh r3, [r2, #130] @ movhi bl ftl_info_flush -.L3565: +.L3607: add sp, sp, #72 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3568: +.L3610: cmp r1, #3 - bne .L3569 - ldr r3, .L3675+64 + bne .L3611 + ldr r3, .L3717+64 ldrh r3, [r3] subs r3, r3, #1 add r3, r3, r2 orr r3, r3, #50331648 - b .L3667 -.L3571: - ldr r3, .L3675+68 - ldr r5, .L3675+28 - ldr r6, .L3675+72 + b .L3709 +.L3613: + ldr r3, .L3717+68 + ldr r5, .L3717+28 + ldr r6, .L3717+72 ldrb r2, [r3] @ zero_extendqisi2 str r3, [sp, #44] - ldr r8, .L3675+88 + ldr r8, .L3717+88 cmp r2, #2 - bne .L3573 + bne .L3615 ldr r3, [sp, #36] ldrb r2, [r3] @ zero_extendqisi2 cmp r2, #3 - bne .L3573 + bne .L3615 ldrh r2, [r5] - ldr r10, .L3675+80 + ldr r10, .L3717+80 ldr r0, [r8] lsls r1, r2, #2 ldrb r2, [r6] @ zero_extendqisi2 @@ -23246,67 +23694,67 @@ gc_recovery: uxth r2, r2 add r0, r0, ip, lsl #2 bl ftl_memcpy - ldr r2, .L3675+20 + ldr r2, .L3717+20 ldrb r2, [r2] @ zero_extendqisi2 - cbnz r2, .L3574 - ldr r2, .L3675+24 + cbnz r2, .L3616 + ldr r2, .L3717+24 ldrb r2, [r2] @ zero_extendqisi2 - cbz r2, .L3575 -.L3574: + cbz r2, .L3617 +.L3616: ldr r2, [r7, #24] subs r2, r2, #1 -.L3668: +.L3710: str r2, [r7, #24] movs r1, #1 mov r0, r7 bl sblk_read_page ldr r2, [r7, #36] adds r3, r2, #1 - beq .L3577 + beq .L3619 cmp r2, #512 - beq .L3577 + beq .L3619 ldr r2, [r7, #12] ldr r3, [sp, #40] ldr r2, [r2] cmp r2, r3 - beq .L3578 -.L3577: + beq .L3620 +.L3619: mov r0, r7 bl zbuf_free - b .L3674 -.L3575: - ldr r1, .L3675+64 + b .L3716 +.L3617: + ldr r1, .L3717+64 ldr r2, [sp, #64] ldrh r1, [r1] subs r2, r2, #1 add r2, r2, r1 orr r2, r2, #33554432 - b .L3668 -.L3578: + b .L3710 +.L3620: ldrh r2, [r10] -.L3669: +.L3711: ldr r1, [r7, #4] ldr r0, [r8] bl ftl_memcpy ldrh r3, [r5] ldrb r2, [r6] @ zero_extendqisi2 - ldr r10, .L3675+92 + ldr r10, .L3717+92 muls r2, r3, r2 - ldr r3, .L3675+76 + ldr r3, .L3717+76 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, r2, asr #6 lsl r2, r2, #2 - bge .L3580 + bge .L3622 movs r1, #0 ldr r0, [r10] bl ftl_memset ldr r3, [sp, #44] ldrb r8, [r3] @ zero_extendqisi2 cmp r8, #1 - bne .L3621 + bne .L3663 ldrh r1, [r5] ldrb r3, [r6] @ zero_extendqisi2 - ldr r2, .L3675+80 + ldr r2, .L3717+80 ldr r0, [r10] muls r3, r1, r3 ldrh r4, [r2] @@ -23317,222 +23765,222 @@ gc_recovery: mov r2, r4 bl ftl_memcpy str r8, [sp, #44] -.L3581: - ldr r3, .L3675+64 +.L3623: + ldr r3, .L3717+64 ldrh r3, [r3] str r3, [sp, #40] ldr r3, [sp, #36] ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #2 str r3, [sp, #36] - bne .L3582 - ldr r3, .L3675+84 + bne .L3624 + ldr r3, .L3717+84 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L3583 -.L3582: - ldr r3, .L3675+20 + cbz r3, .L3625 +.L3624: + ldr r3, .L3717+20 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L3584 -.L3583: + cbz r3, .L3626 +.L3625: ldr r3, [sp, #36] ldr r2, [sp, #40] muls r3, r2, r3 str r3, [sp, #40] movs r3, #1 str r3, [sp, #36] -.L3584: +.L3626: movs r5, #0 str r5, [sp, #48] -.L3585: +.L3627: ldr r3, [sp, #40] cmp r3, r5 - bls .L3598 + bls .L3640 add r3, r5, r5, lsl #1 mov r10, #0 subs r3, r3, #1 str r3, [sp, #52] - b .L3599 -.L3573: + b .L3641 +.L3615: ldrh r1, [r5] ldrb r2, [r6] @ zero_extendqisi2 muls r2, r1, r2 lsls r2, r2, #2 - b .L3669 -.L3580: + b .L3711 +.L3622: ldr r1, [r7, #4] ldr r0, [r10] add r1, r1, r2 bl ftl_memcpy movs r3, #0 -.L3670: +.L3712: str r3, [sp, #44] movs r4, #0 - b .L3581 -.L3621: + b .L3623 +.L3663: movs r3, #1 - b .L3670 -.L3676: + b .L3712 +.L3718: .align 2 -.L3675: - .word .LANCHOR10 - .word .LANCHOR85 - .word .LANCHOR159 +.L3717: + .word .LANCHOR12 + .word .LANCHOR84 + .word .LANCHOR156 .word .LANCHOR111 - .word .LANCHOR79 + .word .LANCHOR78 + .word .LANCHOR35 .word .LANCHOR36 - .word .LANCHOR37 - .word .LANCHOR86 + .word .LANCHOR85 .word -178307901 - .word .LC210 - .word .LANCHOR9 - .word .LC212 - .word .LANCHOR6 + .word .LC213 + .word .LANCHOR11 + .word .LC215 + .word .LANCHOR8 .word .LANCHOR225 .word .LC0 .word .LANCHOR110 - .word .LANCHOR95 + .word .LANCHOR94 .word .LANCHOR224 - .word .LANCHOR80 + .word .LANCHOR79 .word .LANCHOR131 .word .LANCHOR221 - .word .LANCHOR81 - .word .LANCHOR162 - .word .LANCHOR163 -.L3594: + .word .LANCHOR80 + .word .LANCHOR159 + .word .LANCHOR160 +.L3636: ldr r3, [sp, #56] - ldr r2, .L3677 + ldr r2, .L3719 ldrh r3, [r3, #96] ldrh r2, [r2] muls r3, r2, r3 - ldr r2, .L3677+4 + ldr r2, .L3719+4 ldrb r1, [r2] @ zero_extendqisi2 str r3, [sp, #64] cmp r1, #2 - beq .L3586 - ldr r2, .L3677+8 + beq .L3628 + ldr r2, .L3719+8 ldrb r2, [r2] @ zero_extendqisi2 cmp r2, #0 - beq .L3587 -.L3586: + beq .L3629 +.L3628: subs r2, r5, #1 add r3, r3, r2 add r3, r3, r8 orr r3, r3, r1, lsl #24 -.L3671: +.L3713: str r3, [r7, #24] movs r1, #1 mov r0, r7 bl sblk_read_page ldr r3, [sp, #44] - cbz r3, .L3591 - ldr r3, .L3677+12 + cbz r3, .L3633 + ldr r3, .L3719+12 ldr r3, [r3] ldr r2, [r3, r6] - cbnz r2, .L3591 + cbnz r2, .L3633 ldr r2, [r7, #12] ldr r2, [r2, #8] str r2, [r3, r6] -.L3591: - ldr r3, .L3677+16 +.L3633: + ldr r3, .L3719+16 ldr r2, [r7, #12] ldr r3, [r3] ldr r1, [r2, #4] ldr r3, [r3, r6] cmp r3, r1 - bne .L3592 - ldr r0, .L3677+12 + bne .L3634 + ldr r0, .L3719+12 ldr r0, [r0] ldr ip, [r0, r6] ldr r0, [r2, #8] cmp ip, r0 - beq .L3593 -.L3592: + beq .L3635 +.L3634: ldr r0, [r2, #12] str r0, [sp, #16] ldr r0, [r2, #8] str r1, [sp, #8] str r0, [sp, #12] ldr r2, [r2] - ldr r0, .L3677+20 + ldr r0, .L3719+20 str r2, [sp, #4] - ldr r2, .L3677+12 + ldr r2, .L3719+12 ldr r2, [r2] ldr r2, [r2, r6] str r2, [sp] ldr r2, [r7, #36] ldr r1, [r7, #24] bl printf - ldr r3, .L3677+16 + ldr r3, .L3719+16 ldr r3, [r3] ldr r3, [r3, r6] adds r3, r3, #1 - beq .L3593 + beq .L3635 mov r0, r7 bl zbuf_free - ldr r3, .L3677+24 + ldr r3, .L3719+24 movs r1, #0 ldrh r2, [fp, #80] ldr r3, [r3] strh r1, [r3, r2, lsl #1] @ movhi - ldr r3, .L3677+28 + ldr r3, .L3719+28 ldrh r2, [fp, #80] ldr r3, [r3] strh r2, [r3, #130] @ movhi - b .L3572 -.L3587: + b .L3614 +.L3629: cmp r1, #3 - bne .L3589 - ldr r2, .L3677+32 + bne .L3631 + ldr r2, .L3719+32 ldrb r2, [r2] @ zero_extendqisi2 - cbz r2, .L3590 + cbz r2, .L3632 ldr r2, [sp, #52] add r3, r3, r2 add r3, r3, r8 orr r3, r3, #50331648 - b .L3671 -.L3590: + b .L3713 +.L3632: add r3, r3, r5 orr r3, r3, r8, lsl #24 - b .L3671 -.L3589: + b .L3713 +.L3631: add r3, r3, r5 - b .L3671 -.L3593: + b .L3713 +.L3635: ldr r3, [sp, #48] add r8, r8, #1 adds r6, r6, #4 adds r3, r3, #1 str r3, [sp, #48] -.L3596: +.L3638: ldr r3, [sp, #36] cmp r3, r8 - bcs .L3594 + bcs .L3636 add r10, r10, #1 -.L3599: +.L3641: ldrb r3, [fp, #89] @ zero_extendqisi2 cmp r10, r3 - bge .L3595 + bge .L3637 ldr r3, [sp, #48] mov r8, #1 lsls r6, r3, #2 add r3, fp, r10, lsl #1 str r3, [sp, #56] - b .L3596 -.L3595: - ldr r3, .L3677+36 + b .L3638 +.L3637: + ldr r3, .L3719+36 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L3597 + cbz r3, .L3639 adds r5, r5, #1 -.L3597: +.L3639: adds r5, r5, #1 - b .L3585 -.L3598: + b .L3627 +.L3640: mov r0, r7 movs r4, #0 bl zbuf_free - ldr r3, .L3677+24 + ldr r3, .L3719+24 mov r10, r4 - ldr r0, .L3677+40 + ldr r0, .L3719+40 mov r8, r4 ldrh r1, [fp, #80] ldr r2, [r3] @@ -23540,23 +23988,23 @@ gc_recovery: ldrb r3, [fp, #89] @ zero_extendqisi2 smulbb r3, r3, r0 strh r3, [r2, r1, lsl #1] @ movhi -.L3600: +.L3642: ldr r3, [sp, #40] cmp r3, r10 - bls .L3614 + bls .L3656 add r2, r10, r10, lsl #1 movs r7, #0 subs r3, r2, #1 str r3, [sp, #52] - b .L3615 -.L3610: - ldr r3, .L3677+16 + b .L3657 +.L3652: + ldr r3, .L3719+16 ldr r2, [r3] ldr r3, [r2, r8, lsl #2] str r3, [sp, #44] adds r3, r3, #1 - beq .L3601 - ldr r3, .L3677+12 + beq .L3643 + ldr r3, .L3719+12 ldr r0, [sp, #44] ldr r2, [r3] ldr r3, [r2, r8, lsl #2] @@ -23564,44 +24012,44 @@ gc_recovery: bl lpa_hash_get_ppa str r0, [sp, #68] adds r0, r0, #1 - bne .L3602 + bne .L3644 movs r2, #0 add r1, sp, #68 ldr r0, [sp, #44] bl pm_log2phys -.L3602: +.L3644: ldr r3, [sp, #56] - ldr r1, .L3677 + ldr r1, .L3719 ldrh r2, [r3, #96] ldrh r1, [r1] muls r1, r2, r1 - ldr r2, .L3677+4 + ldr r2, .L3719+4 ldrb r0, [r2] @ zero_extendqisi2 cmp r0, #2 - beq .L3603 - ldr r2, .L3677+8 + beq .L3645 + ldr r2, .L3719+8 ldrb r2, [r2] @ zero_extendqisi2 cmp r2, #0 - beq .L3604 -.L3603: + beq .L3646 +.L3645: add r2, r10, #-1 add r2, r2, r1 add r2, r2, r5 orr r2, r2, r0, lsl #24 -.L3673: +.L3715: str r2, [sp, #64] -.L3605: - ldr r2, .L3677+44 +.L3647: + ldr r2, .L3719+44 ldr r3, [sp, #48] ldrh r1, [r2] - ldr r2, .L3677+48 + ldr r2, .L3719+48 ldrb r0, [r2] @ zero_extendqisi2 movs r2, #1 lsr r6, r3, r1 str r2, [sp, #60] rsb r0, r0, #24 subs r0, r0, r1 - ldr r1, .L3677+52 + ldr r1, .L3719+52 lsl r0, r2, r0 subs r0, r0, #1 ldrb r1, [r1] @ zero_extendqisi2 @@ -23612,111 +24060,111 @@ gc_recovery: ldr r3, [sp, #48] ldr r2, [sp, #60] cmp r3, r1 - bne .L3608 + bne .L3650 add r1, sp, #64 ldr r0, [sp, #44] bl pm_log2phys uxth r0, r6 adds r4, r4, #1 bl ftl_vpn_decrement -.L3609: - ldr r2, .L3677+56 +.L3651: + ldr r2, .L3719+56 uxth r6, r6 add r8, r8, #1 ldr r2, [r2] add r2, r2, r6, lsl #2 ldrb r2, [r2, #2] @ zero_extendqisi2 ands r2, r2, #224 - bne .L3601 - ldr r1, .L3677+24 + bne .L3643 + ldr r1, .L3719+24 ldr r1, [r1] ldrh r0, [r1, r6, lsl #1] - cbz r0, .L3601 + cbz r0, .L3643 strh r2, [r1, r6, lsl #1] @ movhi -.L3601: +.L3643: adds r5, r5, #1 -.L3612: +.L3654: ldr r3, [sp, #36] cmp r3, r5 - bcs .L3610 + bcs .L3652 adds r7, r7, #1 -.L3615: +.L3657: ldrb r2, [fp, #89] @ zero_extendqisi2 cmp r7, r2 - bge .L3611 + bge .L3653 add r3, fp, r7, lsl #1 movs r5, #1 str r3, [sp, #56] - b .L3612 -.L3604: + b .L3654 +.L3646: cmp r0, #3 - bne .L3606 - ldr r2, .L3677+32 + bne .L3648 + ldr r2, .L3719+32 lsls r0, r5, #24 ldrb r2, [r2] @ zero_extendqisi2 - cbz r2, .L3607 + cbz r2, .L3649 ldr r3, [sp, #52] adds r2, r1, r3 add r2, r2, r5 -.L3672: +.L3714: orrs r2, r2, r0 - b .L3673 -.L3607: + b .L3715 +.L3649: add r2, r10, r1 - b .L3672 -.L3606: + b .L3714 +.L3648: add r1, r1, r10 str r1, [sp, #64] - b .L3605 -.L3608: + b .L3647 +.L3650: ldr r2, [sp, #64] cmp r1, r2 it eq addeq r4, r4, #1 - b .L3609 -.L3611: - ldr r2, .L3677+36 + b .L3651 +.L3653: + ldr r2, .L3719+36 ldrb r2, [r2] @ zero_extendqisi2 - cbz r2, .L3613 + cbz r2, .L3655 add r10, r10, #1 -.L3613: +.L3655: add r10, r10, #1 - b .L3600 -.L3614: - ldr r3, .L3677+24 + b .L3642 +.L3656: + ldr r3, .L3719+24 ldrh r2, [fp, #80] ldr r3, [r3] strh r4, [r3, r2, lsl #1] @ movhi ldrh r0, [fp, #80] bl zftl_insert_data_list - b .L3572 -.L3678: + b .L3614 +.L3720: .align 2 -.L3677: +.L3719: .word .LANCHOR111 - .word .LANCHOR79 + .word .LANCHOR78 + .word .LANCHOR35 + .word .LANCHOR160 + .word .LANCHOR159 + .word .LC214 + .word .LANCHOR11 + .word .LANCHOR12 .word .LANCHOR36 - .word .LANCHOR163 - .word .LANCHOR162 - .word .LC211 - .word .LANCHOR9 - .word .LANCHOR10 - .word .LANCHOR37 - .word .LANCHOR81 - .word .LANCHOR86 + .word .LANCHOR80 + .word .LANCHOR85 + .word .LANCHOR74 + .word .LANCHOR31 .word .LANCHOR75 - .word .LANCHOR32 - .word .LANCHOR76 - .word .LANCHOR7 -.L3566: + .word .LANCHOR9 +.L3608: ldrh r3, [fp, #130] cmp r3, r6 - beq .L3565 - ldr r7, .L3679 + beq .L3607 + ldr r7, .L3721 ldr r2, [r7] ldrh r2, [r2, #126] cmp r2, r3 - bne .L3620 + bne .L3662 bl pm_flush ldr r3, [r4] ldrh r0, [r3, #130] @@ -23725,14 +24173,14 @@ gc_recovery: mov r0, r5 strh r6, [r3, #126] @ movhi bl ftl_info_flush -.L3620: +.L3662: ldr r3, [r4] movw r2, #65535 strh r2, [r3, #130] @ movhi - b .L3565 -.L3680: + b .L3607 +.L3722: .align 2 -.L3679: +.L3721: .word .LANCHOR110 .size gc_recovery, .-gc_recovery .section .text.gc_update_l2p_map_new,"ax",%progbits @@ -23746,42 +24194,42 @@ gc_recovery: gc_update_l2p_map_new: @ args = 0, pretend = 0, frame = 32 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L3715 + ldr r3, .L3757 push {r4, r5, r6, r7, r8, r10, fp, lr} sub sp, sp, #32 - ldr r2, .L3715+4 + ldr r2, .L3757+4 ldr r4, [r3] ldrh r2, [r2] - ldr r7, .L3715+8 + ldr r7, .L3757+8 ldrb r1, [r4, #89] @ zero_extendqisi2 str r3, [sp, #20] muls r2, r1, r2 str r2, [sp, #4] ldr r2, [r7] tst r2, #256 - beq .L3682 + beq .L3724 ldrh r1, [r4, #80] - ldr r0, .L3715+12 + ldr r0, .L3757+12 bl printf -.L3682: - ldr r3, .L3715+16 +.L3724: + ldr r3, .L3757+16 movs r6, #0 ldr r0, [sp, #4] mov r5, r6 ldrh r1, [r4, #80] ldr r2, [r3] - ldr r3, .L3715+20 + ldr r3, .L3757+20 ldrb r3, [r3] @ zero_extendqisi2 subs r3, r0, r3 strh r3, [r2, r1, lsl #1] @ movhi -.L3683: +.L3725: ldr r3, [sp, #4] cmp r5, r3 - bne .L3692 + bne .L3734 ldr r3, [r7] - ldr r5, .L3715+16 + ldr r5, .L3757+16 tst r3, #256 - beq .L3693 + beq .L3735 ldr r3, [sp, #20] ldrh r0, [r4, #80] ldr r2, [r5] @@ -23789,19 +24237,19 @@ gc_update_l2p_map_new: mov r3, r6 ldrh r2, [r2, r0, lsl #1] ldrh r1, [r1, #80] - ldr r0, .L3715+24 + ldr r0, .L3757+24 bl printf -.L3693: +.L3735: ldrh r2, [r4, #80] ldr r3, [r5] ldrh r3, [r3, r2, lsl #1] cmp r6, r3 - beq .L3694 + beq .L3736 movw r2, #898 - ldr r1, .L3715+28 - ldr r0, .L3715+32 + ldr r1, .L3757+28 + ldr r0, .L3757+32 bl printf -.L3694: +.L3736: ldrh r2, [r4, #80] ldr r3, [r5] strh r6, [r3, r2, lsl #1] @ movhi @@ -23810,14 +24258,14 @@ gc_update_l2p_map_new: add sp, sp, #32 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3692: - ldr r3, .L3715+36 +.L3734: + ldr r3, .L3757+36 lsl r8, r5, #2 ldr r3, [r3] ldr r10, [r3, r5, lsl #2] cmp r10, #-1 - beq .L3684 - ldr r3, .L3715+40 + beq .L3726 + ldr r3, .L3757+40 mov r0, r10 ldrb r1, [r3] @ zero_extendqisi2 lsls r1, r1, #7 @@ -23826,21 +24274,21 @@ gc_update_l2p_map_new: str r3, [sp, #16] ldr r3, [r7] lsls r1, r3, #23 - bpl .L3685 + bpl .L3727 mov r3, r5 mov r2, r10 ldr r1, [sp, #16] - ldr r0, .L3715+44 + ldr r0, .L3757+44 bl printf -.L3685: - ldr fp, .L3715+36 +.L3727: + ldr fp, .L3757+36 str r5, [sp, #12] -.L3691: +.L3733: ldr r3, [fp] ldr r10, [r3, r8] cmp r10, #-1 - beq .L3686 - ldr r3, .L3715+40 + beq .L3728 + ldr r3, .L3757+40 mov r0, r10 ldrb r1, [r3] @ zero_extendqisi2 lsls r1, r1, #7 @@ -23848,8 +24296,8 @@ gc_update_l2p_map_new: ldr r3, [sp, #16] uxth r0, r0 cmp r3, r0 - bne .L3686 - ldr r3, .L3715+48 + bne .L3728 + ldr r3, .L3757+48 mov r0, r10 ldr r3, [r3] ldr r3, [r3, r8] @@ -23857,17 +24305,17 @@ gc_update_l2p_map_new: bl lpa_hash_get_ppa str r0, [sp, #28] adds r0, r0, #1 - bne .L3687 + bne .L3729 movs r2, #0 add r1, sp, #28 mov r0, r10 bl pm_log2phys -.L3687: +.L3729: ldr r3, [sp, #28] ldr r2, [sp, #8] cmp r2, r3 - bne .L3688 - ldr r3, .L3715+52 + bne .L3730 + ldr r3, .L3757+52 add r1, sp, #32 movs r2, #1 mov r0, r10 @@ -23876,9 +24324,9 @@ gc_update_l2p_map_new: ldr r3, [r3, r8] str r3, [r1, #-8]! bl pm_log2phys - ldr r3, .L3715+56 + ldr r3, .L3757+56 ldrh r2, [r3] - ldr r3, .L3715+60 + ldr r3, .L3757+60 ldrb r3, [r3] @ zero_extendqisi2 rsb r3, r3, #24 subs r0, r3, r2 @@ -23887,17 +24335,17 @@ gc_update_l2p_map_new: ldr r0, [sp, #8] subs r3, r3, #1 lsrs r0, r0, r2 - ldr r2, .L3715+64 + ldr r2, .L3757+64 ands r0, r0, r3 ldrb r1, [r2] @ zero_extendqisi2 bl __aeabi_uidiv uxth r0, r0 -.L3714: +.L3756: bl ftl_vpn_decrement ldr r3, [fp] mov r2, #-1 str r2, [r3, r8] -.L3686: +.L3728: ldr r3, [sp, #12] add r8, r8, #4 adds r3, r3, #1 @@ -23905,42 +24353,42 @@ gc_update_l2p_map_new: ldr r2, [sp, #12] ldr r3, [sp, #4] cmp r3, r2 - bne .L3691 -.L3684: + bne .L3733 +.L3726: adds r5, r5, #1 - b .L3683 -.L3688: + b .L3725 +.L3730: ldr r2, [r7] lsls r2, r2, #23 - bpl .L3690 + bpl .L3732 ldr r2, [sp, #8] mov r1, r10 - ldr r0, .L3715+68 + ldr r0, .L3757+68 bl printf -.L3690: +.L3732: ldrh r0, [r4, #80] - b .L3714 -.L3716: + b .L3756 +.L3758: .align 2 -.L3715: - .word .LANCHOR10 - .word .LANCHOR86 - .word .LANCHOR14 - .word .LC213 - .word .LANCHOR9 - .word .LANCHOR224 +.L3757: + .word .LANCHOR12 + .word .LANCHOR85 + .word .LANCHOR19 .word .LC216 + .word .LANCHOR11 + .word .LANCHOR224 + .word .LC219 .word .LANCHOR226 .word .LC0 - .word .LANCHOR162 + .word .LANCHOR159 .word .LANCHOR131 - .word .LC214 - .word .LANCHOR163 - .word .LANCHOR164 + .word .LC217 + .word .LANCHOR160 + .word .LANCHOR161 + .word .LANCHOR74 + .word .LANCHOR31 .word .LANCHOR75 - .word .LANCHOR32 - .word .LANCHOR76 - .word .LC215 + .word .LC218 .size gc_update_l2p_map_new, .-gc_update_l2p_map_new .section .text.gc_scan_src_blk_one_page,"ax",%progbits .align 1 @@ -23955,34 +24403,34 @@ gc_scan_src_blk_one_page: @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r10, fp, lr} movs r1, #0 - ldr r4, .L3746 + ldr r4, .L3788 mov r0, r1 movw r5, #65535 - ldr r6, .L3746+4 + ldr r6, .L3788+4 ldrb r3, [r4, #4] @ zero_extendqisi2 ldrb ip, [r6] @ zero_extendqisi2 add r2, r4, r3, lsl #1 ldrh r7, [r2, #36] ldrh r2, [r4, #2] -.L3718: +.L3760: cmp r7, r5 - beq .L3720 - cbz r0, .L3721 + beq .L3762 + cbz r0, .L3763 strh r2, [r4, #2] @ movhi -.L3721: - cbz r1, .L3722 +.L3763: + cbz r1, .L3764 strb r3, [r4, #4] -.L3722: - ldr r8, .L3746+24 +.L3764: + ldr r8, .L3788+24 movs r0, #1 - ldr r10, .L3746+28 + ldr r10, .L3788+28 mov fp, #1 bl buf_alloc mov r5, r0 -.L3723: +.L3765: ldrb r1, [r4, #6] @ zero_extendqisi2 cmp fp, r1 - ble .L3733 + ble .L3775 mov r0, r5 bl zbuf_free ldrb r3, [r4, #4] @ zero_extendqisi2 @@ -23991,17 +24439,17 @@ gc_scan_src_blk_one_page: uxtb r3, r3 cmp r2, r3 strb r3, [r4, #4] - bne .L3717 + bne .L3759 ldrh r3, [r4, #2] adds r3, r3, #1 strh r3, [r4, #2] @ movhi movs r3, #0 strb r3, [r4, #4] -.L3717: +.L3759: add sp, sp, #16 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3720: +.L3762: adds r3, r3, #1 uxtb r3, r3 cmp r3, ip @@ -24015,30 +24463,30 @@ gc_scan_src_blk_one_page: it eq moveq r0, #1 movs r1, #1 - b .L3718 -.L3733: + b .L3760 +.L3775: ldrh r3, [r8] cmp r1, #2 mul r2, r7, r3 - bne .L3724 + bne .L3766 ldrh r3, [r4, #2] add r3, r2, r3, lsl #1 subs r3, r3, #1 -.L3745: - ldr r2, .L3746+8 +.L3787: + ldr r2, .L3788+8 add r3, r3, fp ldrb r2, [r2] @ zero_extendqisi2 orr r3, r3, r2, lsl #24 -.L3744: +.L3786: str r3, [r5, #24] movs r1, #1 mov r0, r5 bl sblk_read_page ldr r3, [r5, #36] adds r2, r3, #1 - beq .L3730 + beq .L3772 cmp r3, #512 - beq .L3730 + beq .L3772 ldr r3, [r5, #12] ldr r3, [r3, #4] mov r0, r3 @@ -24047,66 +24495,66 @@ gc_scan_src_blk_one_page: str r0, [sp, #12] adds r0, r0, #1 ldr r3, [sp, #4] - bne .L3732 - ldr r2, .L3746+12 + bne .L3774 + ldr r2, .L3788+12 ldr r2, [r2] cmp r3, r2 - bcs .L3732 + bcs .L3774 movs r2, #0 add r1, sp, #12 mov r0, r3 bl pm_log2phys -.L3732: +.L3774: ldr r2, [r5, #24] ldr r3, [sp, #12] cmp r2, r3 - bne .L3730 - ldr r1, .L3746+16 + bne .L3772 + ldr r1, .L3788+16 ldrh r3, [r4, #20] ldr r1, [r1] str r2, [r1, r3, lsl #2] adds r3, r3, #1 strh r3, [r4, #20] @ movhi -.L3730: +.L3772: ldrh r3, [r4, #22] add fp, fp, #1 adds r3, r3, #1 strh r3, [r4, #22] @ movhi - b .L3723 -.L3724: + b .L3765 +.L3766: cmp r1, #3 - bne .L3726 + bne .L3768 ldrb r3, [r10] @ zero_extendqisi2 - cbnz r3, .L3727 - ldr r3, .L3746+20 + cbnz r3, .L3769 + ldr r3, .L3788+20 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L3728 -.L3727: + cbz r3, .L3770 +.L3769: ldrh r3, [r4, #2] add r3, r3, r3, lsl #1 subs r3, r3, #1 add r3, r3, r2 - b .L3745 -.L3728: + b .L3787 +.L3770: ldrh r3, [r4, #2] add r3, r3, r2 orr r3, r3, fp, lsl #24 - b .L3744 -.L3726: + b .L3786 +.L3768: ldrh r3, [r4, #2] add r3, r3, r2 - b .L3744 -.L3747: + b .L3786 +.L3789: .align 2 -.L3746: - .word .LANCHOR71 - .word .LANCHOR80 +.L3788: + .word .LANCHOR70 .word .LANCHOR79 + .word .LANCHOR78 .word .LANCHOR128 - .word .LANCHOR77 - .word .LANCHOR37 - .word .LANCHOR111 + .word .LANCHOR76 .word .LANCHOR36 + .word .LANCHOR111 + .word .LANCHOR35 .size gc_scan_src_blk_one_page, .-gc_scan_src_blk_one_page .section .text.gc_scan_src_blk,"ax",%progbits .align 1 @@ -24121,101 +24569,101 @@ gc_scan_src_blk: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r10, fp, lr} movw r3, #65535 - ldr r4, .L3813 + ldr r4, .L3855 sub sp, sp, #32 ldrh r2, [r4] cmp r2, r3 - bne .L3749 - mov r2, #1504 - ldr r1, .L3813+4 - ldr r0, .L3813+8 + bne .L3791 + movw r2, #1505 + ldr r1, .L3855+4 + ldr r0, .L3855+8 bl printf -.L3749: +.L3791: ldrh r1, [r4] movw r3, #65535 cmp r1, r3 - beq .L3781 - ldr r3, .L3813+12 + beq .L3823 + ldr r3, .L3855+12 ldr r3, [r3] lsls r0, r3, #23 - bpl .L3751 - ldr r3, .L3813+16 - ldr r0, .L3813+20 + bpl .L3793 + ldr r3, .L3855+16 + ldr r0, .L3855+20 ldr r3, [r3] ldrh r2, [r3, r1, lsl #1] bl printf -.L3751: - ldr r1, .L3813+24 +.L3793: + ldr r1, .L3855+24 ldrh r0, [r4] bl ftl_get_blk_list_in_sblk uxtb r0, r0 strb r0, [r4, #5] - cbnz r0, .L3752 + cbnz r0, .L3794 movw r3, #65535 strh r3, [r4] @ movhi -.L3748: +.L3790: add sp, sp, #32 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3752: - ldr r5, .L3813+28 +.L3794: + ldr r5, .L3855+28 ldrh r3, [r4] ldr r2, [r5] add r2, r2, r3, lsl #2 ldrb r2, [r2, #2] @ zero_extendqisi2 and r2, r2, #224 cmp r2, #32 - beq .L3753 + beq .L3795 cmp r2, #224 - beq .L3753 - cbz r2, .L3754 - ldr r2, .L3813+32 + beq .L3795 + cbz r2, .L3796 + ldr r2, .L3855+32 ldr r2, [r2] ldrh r1, [r2, #16] cmp r1, r3 - beq .L3753 + beq .L3795 ldrh r1, [r2, #48] cmp r1, r3 - beq .L3753 + beq .L3795 ldrh r2, [r2, #80] cmp r2, r3 - bne .L3807 -.L3753: + bne .L3849 +.L3795: movw r3, #65535 movs r0, #0 strh r3, [r4] @ movhi strh r0, [r4, #20] @ movhi - b .L3748 -.L3754: - ldr r5, .L3813+16 + b .L3790 +.L3796: + ldr r5, .L3855+16 ldr r1, [r5] ldrh r3, [r1, r3, lsl #1] - cbz r3, .L3756 - movw r2, #1529 - ldr r1, .L3813+4 - ldr r0, .L3813+8 + cbz r3, .L3798 + movw r2, #1530 + ldr r1, .L3855+4 + ldr r0, .L3855+8 bl printf -.L3756: +.L3798: ldrh r2, [r4] movs r1, #0 ldr r3, [r5] strh r1, [r3, r2, lsl #1] @ movhi - b .L3753 -.L3807: + b .L3795 +.L3849: add r0, r4, r0, lsl #1 movw r3, #65535 ldrh r7, [r0, #34] cmp r7, r3 - bne .L3757 - movw r2, #1539 - ldr r1, .L3813+4 - ldr r0, .L3813+8 + bne .L3799 + movw r2, #1540 + ldr r1, .L3855+4 + ldr r0, .L3855+8 bl printf -.L3757: +.L3799: ldrh ip, [r4] ldr r1, [r5] - ldr r6, .L3813+36 - ldr r0, .L3813+40 + ldr r6, .L3855+36 + ldr r0, .L3855+40 add r1, r1, ip, lsl #2 ldrh r3, [r6] ldrh r2, [r0] @@ -24227,31 +24675,31 @@ gc_scan_src_blk: and r1, r1, #224 muls r2, r7, r2 cmp r1, #160 - bne .L3782 - ldr r1, .L3813+44 + bne .L3824 + ldr r1, .L3855+44 ldrb r1, [r1] @ zero_extendqisi2 cmp r1, #2 it eq - ldreq r3, .L3813+48 + ldreq r3, .L3855+48 uxth r10, r1 orr r2, r2, r1, lsl #24 - ldr r1, .L3813+52 + ldr r1, .L3855+52 it eq ldrheq r3, [r3] ldrb r1, [r1] @ zero_extendqisi2 itt eq addeq r3, r3, #-1 uxtheq r3, r3 - cbnz r1, .L3760 - ldr r1, .L3813+56 + cbnz r1, .L3802 + ldr r1, .L3855+56 ldrb r1, [r1] @ zero_extendqisi2 - cbz r1, .L3758 -.L3760: - ldr r3, .L3813+48 + cbz r1, .L3800 +.L3802: + ldr r3, .L3855+48 ldrh r3, [r3] subs r3, r3, #1 uxth r3, r3 -.L3758: +.L3800: movs r6, #0 strb r10, [r4, #6] orrs r3, r3, r2 @@ -24270,48 +24718,48 @@ gc_scan_src_blk: ldr r3, [r5, #36] strh r6, [r4, #20] @ movhi adds r1, r3, #1 - beq .L3811 + beq .L3853 cmp r3, #512 - bne .L3762 -.L3811: + bne .L3804 +.L3853: mov r0, r5 bl zbuf_free -.L3809: +.L3851: mov r0, #-1 - b .L3748 -.L3782: + b .L3790 +.L3824: mov r10, #1 - b .L3758 -.L3762: + b .L3800 +.L3804: ldr r6, [r5, #12] - ldr r3, .L3813+60 + ldr r3, .L3855+60 ldr r2, [r6] str r3, [sp, #16] cmp r2, r3 - beq .L3763 - movw r2, #1577 -.L3812: - ldr r1, .L3813+4 - ldr r0, .L3813+8 + beq .L3805 + movw r2, #1578 +.L3854: + ldr r1, .L3855+4 + ldr r0, .L3855+8 bl printf - b .L3811 -.L3763: - ldr r3, .L3813+64 + b .L3853 +.L3805: + ldr r3, .L3855+64 ldrh r2, [r8] ldrb r3, [r3] @ zero_extendqisi2 smulbb r2, r2, r3 smulbb r2, r2, r10 uxth r2, r2 str r2, [sp, #8] - ldr r2, .L3813+68 + ldr r2, .L3855+68 ldrb r2, [r2] @ zero_extendqisi2 cmp r2, #2 - bne .L3764 + bne .L3806 cmp r10, #3 - bne .L3764 - ldr r2, .L3813+48 - ldr fp, .L3813+84 - ldr r10, .L3813+76 + bne .L3806 + ldr r2, .L3855+48 + ldr fp, .L3855+84 + ldr r10, .L3855+76 ldrh r6, [r2] ldrh r0, [fp] ldr r1, [r5, #4] @@ -24327,51 +24775,51 @@ gc_scan_src_blk: ldr r3, [r5, #12] ldr r3, [r3, #4] str r3, [sp, #20] - cbz r3, .L3765 + cbz r3, .L3807 mov r1, r6 ldr r0, [r5, #4] bl js_hash ldr r3, [sp, #20] cmp r3, r0 - beq .L3765 + beq .L3807 mov r0, r5 bl zbuf_free ldr r1, [r5, #12] mov r3, r6 -.L3810: +.L3852: ldr r2, [r5, #24] ldr r1, [r1, #4] - ldr r0, .L3813+72 + ldr r0, .L3855+72 bl printf - b .L3809 -.L3765: - ldr r3, .L3813+52 + b .L3851 +.L3807: + ldr r3, .L3855+52 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L3766 - ldr r3, .L3813+56 + cbnz r3, .L3808 + ldr r3, .L3855+56 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L3767 -.L3766: + cbz r3, .L3809 +.L3808: ldr r3, [sp, #4] subs r3, r3, #1 str r3, [r5, #24] -.L3768: +.L3810: movs r1, #1 mov r0, r5 bl sblk_read_page ldr r3, [r5, #36] adds r2, r3, #1 - beq .L3811 + beq .L3853 cmp r3, #512 - beq .L3811 + beq .L3853 ldr r3, [r5, #12] ldr r2, [sp, #16] ldr r3, [r3] cmp r3, r2 - beq .L3771 - movw r2, #1618 - b .L3812 -.L3767: + beq .L3813 + movw r2, #1619 + b .L3854 +.L3809: ldr r2, [sp, #12] ldrh r3, [r8] ldrh r2, [r2] @@ -24381,35 +24829,35 @@ gc_scan_src_blk: orr r3, r3, #33554432 orrs r7, r7, r3 str r7, [r5, #24] - b .L3768 -.L3771: + b .L3810 +.L3813: ldrh r2, [fp] ldr r1, [r5, #4] ldr r0, [r10] -.L3808: - ldr r7, .L3813+76 +.L3850: + ldr r7, .L3855+76 mov r8, #0 bl ftl_memcpy - ldr r10, .L3813+88 + ldr r10, .L3855+88 ldr r6, [r7] - ldr fp, .L3813+92 + ldr fp, .L3855+92 subs r6, r6, #4 -.L3774: +.L3816: ldr r3, [sp, #8] cmp r8, r3 - blt .L3779 + blt .L3821 mov r0, r5 - ldr r5, .L3813+16 + ldr r5, .L3855+16 bl zbuf_free ldrh r1, [r4] ldr r3, [r5] ldrh r2, [r3, r1, lsl #1] ldrh r3, [r4, #20] cmp r2, r3 - beq .L3780 - ldr r0, .L3813+80 + beq .L3822 + ldr r0, .L3855+80 bl printf -.L3780: +.L3822: ldr r3, [r5] ldrh r1, [r4, #20] ldrh r2, [r4] @@ -24417,35 +24865,35 @@ gc_scan_src_blk: movs r3, #0 strh r3, [r4, #24] @ movhi ldrh r0, [r4, #20] - b .L3748 -.L3814: + b .L3790 +.L3856: .align 2 -.L3813: - .word .LANCHOR71 +.L3855: + .word .LANCHOR70 .word .LANCHOR227 .word .LC0 - .word .LANCHOR14 + .word .LANCHOR19 + .word .LANCHOR11 + .word .LC220 + .word .LANCHOR70+36 .word .LANCHOR9 - .word .LC217 - .word .LANCHOR71+36 - .word .LANCHOR7 - .word .LANCHOR10 - .word .LANCHOR95 + .word .LANCHOR12 + .word .LANCHOR94 .word .LANCHOR111 - .word .LANCHOR79 - .word .LANCHOR86 + .word .LANCHOR78 + .word .LANCHOR85 + .word .LANCHOR35 .word .LANCHOR36 - .word .LANCHOR37 .word -178307901 - .word .LANCHOR80 + .word .LANCHOR79 .word .LANCHOR224 - .word .LC218 - .word .LANCHOR77 - .word .LC219 + .word .LC221 + .word .LANCHOR76 + .word .LC222 .word .LANCHOR221 - .word .LANCHOR75 - .word .LANCHOR32 -.L3764: + .word .LANCHOR74 + .word .LANCHOR31 +.L3806: ldr r3, [sp, #8] ldr r8, [r5, #4] lsls r7, r3, #2 @@ -24454,31 +24902,31 @@ gc_scan_src_blk: bl js_hash ldr r3, [r6, #4] cmp r3, r0 - beq .L3773 + beq .L3815 mov r0, r5 bl zbuf_free ldr r1, [r5, #12] mov r3, r7 - b .L3810 -.L3773: - ldr r3, .L3815 + b .L3852 +.L3815: + ldr r3, .L3857 mov r2, r7 mov r1, r8 ldr r0, [r3] - b .L3808 -.L3779: + b .L3850 +.L3821: ldr r0, [r6, #4]! adds r3, r0, #1 - beq .L3776 + beq .L3818 bl lpa_hash_get_ppa str r0, [sp, #28] adds r0, r0, #1 - bne .L3777 + bne .L3819 movs r2, #0 add r1, sp, #28 ldr r0, [r6] bl pm_log2phys -.L3777: +.L3819: ldrb r3, [fp] @ zero_extendqisi2 ldr r2, [sp, #28] ldrh r1, [r10] @@ -24488,7 +24936,7 @@ gc_scan_src_blk: movs r3, #1 lsls r3, r3, r0 lsr r0, r2, r1 - ldr r1, .L3815+4 + ldr r1, .L3857+4 subs r3, r3, #1 ands r0, r0, r3 ldrb r1, [r1] @ zero_extendqisi2 @@ -24496,23 +24944,23 @@ gc_scan_src_blk: ldrh r3, [r4] ldr r2, [sp, #4] cmp r0, r3 - bne .L3776 + bne .L3818 ldrh r3, [r4, #20] ldr r1, [r7] str r2, [r1, r3, lsl #2] adds r3, r3, #1 strh r3, [r4, #20] @ movhi -.L3776: +.L3818: add r8, r8, #1 - b .L3774 -.L3781: + b .L3816 +.L3823: movs r0, #0 - b .L3748 -.L3816: + b .L3790 +.L3858: .align 2 -.L3815: - .word .LANCHOR77 +.L3857: .word .LANCHOR76 + .word .LANCHOR75 .size gc_scan_src_blk, .-gc_scan_src_blk .section .text.gc_scan_static_data,"ax",%progbits .align 1 @@ -24526,15 +24974,15 @@ gc_scan_static_data: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 push {r0, r1, r4, r5, r6, r7, r8, r10, fp, lr} - ldr r4, .L3833 + ldr r4, .L3875 ldr r3, [r4] ldr r2, [r3, #544] adds r2, r2, #1 - beq .L3818 - ldr r8, .L3833+28 + beq .L3860 + ldr r8, .L3875+28 movs r6, #0 - ldr r10, .L3833+32 -.L3826: + ldr r10, .L3875+32 +.L3868: ldr r3, [r4] movs r2, #0 add r1, sp, #4 @@ -24543,7 +24991,7 @@ gc_scan_static_data: bl pm_log2phys ldr r3, [sp, #4] adds r3, r3, #1 - beq .L3819 + beq .L3861 movs r0, #1 bl buf_alloc ldr r3, [sp, #4] @@ -24553,18 +25001,18 @@ gc_scan_static_data: bl sblk_read_page ldr r3, [r5, #36] cmp r3, #256 - bne .L3820 - ldr r3, .L3833+4 + bne .L3862 + ldr r3, .L3875+4 mov fp, #1 ldr r2, [sp, #4] ldrh r0, [r3] - ldr r3, .L3833+8 + ldr r3, .L3875+8 ldrb r3, [r3] @ zero_extendqisi2 rsb r3, r3, #24 subs r3, r3, r0 lsr r0, r2, r0 lsl r3, fp, r3 - ldr r2, .L3833+12 + ldr r2, .L3875+12 subs r3, r3, #1 ldrb r1, [r2] @ zero_extendqisi2 ands r0, r0, r3 @@ -24573,29 +25021,29 @@ gc_scan_static_data: mov r1, fp uxth r0, r0 bl gc_add_sblk -.L3820: +.L3862: ldr r2, [r5, #12] ldr r3, [r4] ldr r2, [r2, #4] ldr r3, [r3, #544] cmp r2, r3 - beq .L3821 - movw r2, #2162 + beq .L3863 + movw r2, #2163 mov r1, r8 mov r0, r10 bl printf -.L3821: +.L3863: mov r0, r5 bl zbuf_free -.L3819: +.L3861: ldr r3, [r4] - ldr r1, .L3833+16 + ldr r1, .L3875+16 ldr r2, [r3, #544] ldr r1, [r1] adds r2, r2, #1 cmp r2, r1 str r2, [r3, #544] - bcc .L3822 + bcc .L3864 mov r2, #-1 str r2, [r3, #544] ldr r2, [r3, #548] @@ -24606,50 +25054,50 @@ gc_scan_static_data: bl ftl_ext_info_flush movs r0, #0 bl ftl_info_flush -.L3817: +.L3859: add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3822: +.L3864: ldr r3, [sp, #4] adds r3, r3, #1 - bne .L3817 - ldr r3, .L3833+20 + bne .L3859 + ldr r3, .L3875+20 adds r6, r6, #1 ldrh r3, [r3] cmp r7, r3, lsr #2 - bcc .L3826 - b .L3817 -.L3818: + bcc .L3868 + b .L3859 +.L3860: ldr r2, [r3, #536] ldr r1, [r3, #12] - ldr r0, .L3833+24 + ldr r0, .L3875+24 add r2, r2, #12910592 add r2, r2, #49408 cmp r1, r2 - bhi .L3828 + bhi .L3870 ldr r4, [r0] ldr r2, [r3, #540] ldr r4, [r4, #44] add r2, r2, #4992 adds r2, r2, #8 cmp r4, r2 - bls .L3817 -.L3828: + bls .L3859 +.L3870: ldr r2, [r0] ldr r2, [r2, #44] str r1, [r3, #536] str r2, [r3, #540] movs r2, #0 str r2, [r3, #544] - b .L3817 -.L3834: + b .L3859 +.L3876: .align 2 -.L3833: - .word .LANCHOR10 +.L3875: + .word .LANCHOR12 + .word .LANCHOR74 + .word .LANCHOR31 .word .LANCHOR75 - .word .LANCHOR32 - .word .LANCHOR76 .word .LANCHOR128 .word .LANCHOR221 .word .LANCHOR110 @@ -24669,7 +25117,7 @@ ftl_sblk_dump: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r10, fp, lr} lsls r3, r0, #2 - ldr r4, .L3878 + ldr r4, .L3920 sub sp, sp, #128 lsls r2, r0, #2 mov r6, r0 @@ -24683,7 +25131,7 @@ ftl_sblk_dump: str r1, [sp, #4] mov r1, r0 ldrh r3, [r3, r0, lsl #2] - ldr r0, .L3878+4 + ldr r0, .L3920+4 ubfx r3, r3, #0, #11 str r3, [sp] ubfx r3, r2, #3, #2 @@ -24691,11 +25139,11 @@ ftl_sblk_dump: bl printf movw r3, #65535 cmp r6, r3 - beq .L3858 - ldr r3, .L3878+8 + beq .L3900 + ldr r3, .L3920+8 ldrh r3, [r3] cmp r3, r6 - bls .L3858 + bls .L3900 ldr r3, [r4] lsls r2, r6, #2 add r1, sp, #112 @@ -24708,11 +25156,11 @@ ftl_sblk_dump: and r3, r3, #224 cmp r3, #160 itet eq - ldreq r3, .L3878+12 + ldreq r3, .L3920+12 movne fp, #1 ldrbeq fp, [r3] @ zero_extendqisi2 bl ftl_get_blk_list_in_sblk - ldr r3, .L3878+16 + ldr r3, .L3920+16 uxtb r0, r0 lsls r2, r6, #2 strb r5, [sp, #101] @@ -24728,7 +25176,7 @@ ftl_sblk_dump: ldrb r2, [r3, #2] @ zero_extendqisi2 mov r3, fp str r0, [sp] - ldr r0, .L3878+20 + ldr r0, .L3920+20 lsrs r2, r2, #5 bl printf movs r0, #1 @@ -24736,12 +25184,12 @@ ftl_sblk_dump: mov r7, r0 str r5, [sp, #48] str r5, [sp, #44] -.L3838: - ldr r3, .L3878+16 +.L3880: + ldr r3, .L3920+16 ldrh r2, [r3] uxth r3, r5 cmp r2, r3 - bls .L3855 + bls .L3897 str r3, [sp, #60] lsls r3, r3, #1 subs r2, r3, #1 @@ -24751,8 +25199,8 @@ ftl_sblk_dump: subs r3, r3, #1 str r3, [sp, #72] movs r3, #0 - b .L3877 -.L3852: + b .L3919 +.L3894: ldr r3, [sp, #84] add r2, sp, #128 add r3, r2, r3, lsl #1 @@ -24761,43 +25209,43 @@ ftl_sblk_dump: movw r3, #65535 ldr r2, [sp, #56] cmp r2, r3 - beq .L3839 - ldr r3, .L3878+24 + beq .L3881 + ldr r3, .L3920+24 cmp fp, #3 ldrh r4, [r3] mov r3, r2 mul r3, r3, r4 - bne .L3840 - ldr r2, .L3878+28 + bne .L3882 + ldr r2, .L3920+28 ldrb r2, [r2] @ zero_extendqisi2 - cbz r2, .L3841 + cbz r2, .L3883 ldr r2, [sp, #72] -.L3874: +.L3916: adds r4, r3, r2 - ldr r2, .L3878+12 + ldr r2, .L3920+12 add r3, r4, r8 ldrb r4, [r2] @ zero_extendqisi2 orr r4, r3, r4, lsl #24 - b .L3842 -.L3841: - ldr r2, .L3878+32 + b .L3884 +.L3883: + ldr r2, .L3920+32 lsl r4, r8, #24 ldrb r2, [r2] @ zero_extendqisi2 cmp r2, #0 - beq .L3843 + beq .L3885 ldr r2, [sp, #72] add r3, r3, r2 add r3, r3, r8 -.L3875: +.L3917: orrs r4, r4, r3 -.L3842: +.L3884: movs r1, #1 str r4, [r7, #24] mov r0, r7 bl sblk_read_page ldr r2, [r7, #12] ldr r3, [r7, #36] - ldr r0, .L3878+36 + ldr r0, .L3920+36 ldr r1, [r2, #12] str r3, [sp, #64] ldr r3, [r7, #4] @@ -24824,150 +25272,150 @@ ftl_sblk_dump: bl printf ldr r3, [sp, #64] adds r2, r3, #1 - beq .L3860 + beq .L3902 cmp r3, #512 ldr r3, [sp, #44] it eq moveq r3, #1 -.L3876: +.L3918: str r3, [sp, #44] - ldr r3, .L3878 + ldr r3, .L3920 ldr r2, [sp, #76] ldr r3, [r3] add r3, r3, r2 ldrb r3, [r3, #2] @ zero_extendqisi2 and r3, r3, #224 cmp r3, #224 - beq .L3839 + beq .L3881 cmp r3, #32 - beq .L3839 + beq .L3881 ldr r3, [r7, #12] ldr r0, [r3, #4] bl lpa_hash_get_ppa str r0, [sp, #92] adds r0, r0, #1 - bne .L3846 + bne .L3888 ldr r3, [r7, #12] movs r2, #0 add r1, sp, #92 ldr r0, [r3, #4] bl pm_log2phys -.L3846: +.L3888: ldr r3, [sp, #92] cmp r4, r3 - bne .L3847 + bne .L3889 ldr r3, [sp, #48] mov r1, r4 ldr r2, [r7, #12] - ldr r0, .L3878+40 + ldr r0, .L3920+40 adds r3, r3, #1 ldr r2, [r2, #4] str r3, [sp, #48] bl printf -.L3847: +.L3889: ldr r3, [sp, #68] - cbz r3, .L3849 + cbz r3, .L3891 ldr r2, [r3, r10, lsl #2] lsl r4, r10, #2 ldr r3, [r7, #12] ldr r3, [r3, #4] cmp r3, r2 - beq .L3850 - ldr r3, .L3878+44 + beq .L3892 + ldr r3, .L3920+44 ldr r3, [r3] lsls r3, r3, #19 - bpl .L3850 + bpl .L3892 mov r1, r10 - ldr r0, .L3878+48 + ldr r0, .L3920+48 bl printf -.L3850: +.L3892: ldr r3, [sp, #68] ldr r2, [r7, #12] ldr r3, [r3, r4] ldr r2, [r2, #4] cmp r2, r3 - beq .L3849 + beq .L3891 adds r3, r3, #1 - beq .L3849 - movw r2, #1567 - ldr r1, .L3878+52 - ldr r0, .L3878+56 + beq .L3891 + movw r2, #1575 + ldr r1, .L3920+52 + ldr r0, .L3920+56 bl printf -.L3849: +.L3891: add r10, r10, #1 -.L3839: +.L3881: add r8, r8, #1 uxth r8, r8 -.L3854: +.L3896: cmp fp, r8 - bcs .L3852 + bcs .L3894 ldr r3, [sp, #52] adds r3, r3, #1 -.L3877: +.L3919: str r3, [sp, #52] ldrb r2, [sp, #105] @ zero_extendqisi2 ldrh r3, [sp, #52] cmp r2, r3 - bls .L3853 + bls .L3895 adds r3, r3, #8 mov r8, #1 str r3, [sp, #84] - b .L3854 -.L3843: + b .L3896 +.L3885: uxtah r3, r3, r5 - b .L3875 -.L3840: + b .L3917 +.L3882: cmp fp, #2 - bne .L3844 + bne .L3886 ldr r2, [sp, #80] - b .L3874 -.L3844: + b .L3916 +.L3886: uxtah r4, r3, r5 - b .L3842 -.L3860: + b .L3884 +.L3902: movs r3, #1 - b .L3876 -.L3853: + b .L3918 +.L3895: adds r5, r5, #1 - b .L3838 -.L3855: + b .L3880 +.L3897: mov r0, r7 bl zbuf_free - ldr r3, .L3878+60 + ldr r3, .L3920+60 mov r1, r6 - ldr r0, .L3878+64 + ldr r0, .L3920+64 ldr r2, [r3] ldr r3, [sp, #48] ldrh r2, [r2, r6, lsl #1] bl printf ldr r0, [sp, #44] -.L3835: +.L3877: add sp, sp, #128 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3858: +.L3900: movs r0, #0 - b .L3835 -.L3879: + b .L3877 +.L3921: .align 2 -.L3878: - .word .LANCHOR7 - .word .LC220 - .word .LANCHOR6 - .word .LANCHOR79 - .word .LANCHOR95 - .word .LC221 - .word .LANCHOR111 - .word .LANCHOR36 - .word .LANCHOR37 - .word .LC167 - .word .LC222 - .word .LANCHOR14 +.L3920: + .word .LANCHOR9 .word .LC223 + .word .LANCHOR8 + .word .LANCHOR78 + .word .LANCHOR94 + .word .LC224 + .word .LANCHOR111 + .word .LANCHOR35 + .word .LANCHOR36 + .word .LC160 + .word .LC225 + .word .LANCHOR19 + .word .LC226 .word .LANCHOR229 .word .LC0 - .word .LANCHOR9 - .word .LC224 + .word .LANCHOR11 + .word .LC227 .size ftl_sblk_dump, .-ftl_sblk_dump .section .text.zftl_read,"ax",%progbits .align 1 @@ -24981,265 +25429,308 @@ zftl_read: @ args = 0, pretend = 0, frame = 48 @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r10, fp, lr} - mov r5, r3 - ldr r3, .L3929 + mov r6, r3 + ldr r3, .L3974 mov r4, r0 sub sp, sp, #72 - mov r6, r1 - mov fp, r2 + mov r5, r1 + str r2, [sp, #24] ldr r3, [r3] lsls r0, r3, #19 - bpl .L3881 + bpl .L3923 mov r3, r2 - ldr r0, .L3929+4 + ldr r0, .L3974+4 mov r2, r1 mov r1, r4 bl printf -.L3881: +.L3923: cmp r4, #0 - bne .L3882 - ldr r3, .L3929+8 + bne .L3924 + ldr r3, .L3974+8 mov r4, #24576 ldr r3, [r3] -.L3883: - cmp r3, r6 - bls .L3914 - cmp r3, fp - bcc .L3914 - add r2, r6, fp +.L3925: + cmp r3, r5 + bls .L3959 + ldr r2, [sp, #24] cmp r3, r2 - bcc .L3914 - adds r3, r4, r6 - ldr r6, .L3929+12 + bcc .L3959 + adds r2, r5, r2 + cmp r3, r2 + bcc .L3959 + adds r3, r4, r5 + ldr r1, [sp, #24] str r3, [sp, #28] - ldr r3, .L3929+16 + ldr r3, .L3974+12 ldr r0, [sp, #28] ldr r2, [r3] ldr r3, [r2, #24] - add r3, r3, fp + add r3, r3, r1 str r3, [r2, #24] - ldr r3, .L3929+20 + ldr r3, .L3974+16 ldrb r4, [r3] @ zero_extendqisi2 mov r1, r4 bl __aeabi_uidiv - ldr r3, [sp, #28] + ldr r2, [sp, #28] mov r1, r4 + ldr r3, [sp, #24] str r0, [sp, #36] - add r3, fp, r3 + ldr r4, .L3974+20 + add r3, r3, r2 subs r0, r3, #1 str r3, [sp, #44] bl __aeabi_uidiv ldr r3, [sp, #36] - ldr r4, [sp, #36] + ldr r5, [sp, #36] str r0, [sp, #48] rsb r3, r3, #1 add r3, r3, r0 str r3, [sp, #32] movs r3, #0 str r3, [sp, #40] -.L3885: +.L3927: ldr r3, [sp, #32] - cbnz r3, .L3910 + cbnz r3, .L3955 ldr r0, [sp, #40] -.L3880: +.L3922: add sp, sp, #72 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3882: +.L3924: cmp r4, #3 - bhi .L3914 + bhi .L3959 lsls r4, r4, #13 mov r3, #8192 - b .L3883 -.L3910: - ldr r3, .L3929+20 + b .L3925 +.L3955: + ldr r3, .L3974+16 ldrb r1, [r3] @ zero_extendqisi2 ldr r3, [sp, #36] - cmp r4, r3 + cmp r5, r3 uxth r7, r1 - bne .L3886 + bne .L3928 ldr r0, [sp, #28] bl __aeabi_uidivmod uxth r8, r1 + ldr r3, [sp, #24] sub r7, r7, r8 uxth r7, r7 - cmp fp, r7 - bcs .L3887 - uxth r7, fp -.L3887: - ldr r2, .L3929+12 + cmp r3, r7 + bcs .L3929 + ldrh r7, [sp, #24] +.L3929: + ldr r2, .L3974+20 movs r3, #0 -.L3890: +.L3932: ldr r1, [r2, #20] - cmp r4, r1 - bne .L3888 + cmp r5, r1 + bne .L3930 ldrb r1, [r2, #2] @ zero_extendqisi2 lsls r1, r1, #28 - bpl .L3888 + bpl .L3930 movs r2, #48 lsls r7, r7, #9 - mov r0, r5 - mla r3, r2, r3, r6 - add r5, r5, r7 + mov r0, r6 + mla r3, r2, r3, r4 + add r6, r6, r7 mov r2, r7 ldr r1, [r3, #4] add r1, r1, r8, lsl #9 bl ftl_memcpy -.L3889: +.L3931: ldr r3, [sp, #32] - adds r4, r4, #1 + adds r5, r5, #1 subs r3, r3, #1 str r3, [sp, #32] -.L3896: - ldr r3, .L3929+24 +.L3938: + ldr r3, .L3974+24 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #2 - bls .L3897 + bls .L3939 ldr r3, [sp, #32] cmp r3, #0 - bne .L3885 -.L3897: - ldr r3, .L3929+28 + bne .L3927 +.L3939: + ldr r3, .L3974+28 ldrb r1, [r3] @ zero_extendqisi2 cmp r1, #0 - beq .L3885 - ldr r3, .L3929+32 + beq .L3927 + ldr r3, .L3974+32 ldrb r0, [r3] @ zero_extendqisi2 add r0, r0, r0, lsl #1 - add r0, r6, r0, lsl #4 + add r0, r4, r0, lsl #4 bl sblk_read_page -.L3899: - ldr r3, .L3929+28 - ldr r8, .L3929+32 +.L3941: + ldr r3, .L3974+28 + ldr r8, .L3974+32 ldrb r2, [r3] @ zero_extendqisi2 cmp r2, #0 - bne .L3909 + bne .L3954 movs r1, #255 strb r2, [r3] strb r1, [r8] - b .L3885 -.L3886: + b .L3927 +.L3928: ldr r3, [sp, #48] + cmp r5, r3 + bne .L3960 + ldr r3, [sp, #28] + ldr r2, [sp, #24] + adds r7, r3, r2 + mls r1, r5, r1, r7 + uxtb r7, r1 +.L3960: mov r8, #0 - cmp r4, r3 - itttt eq - ldreq r3, [sp, #28] - addeq r7, r3, fp - mlseq r1, r4, r1, r7 - uxtbeq r7, r1 - b .L3887 -.L3888: + b .L3929 +.L3930: adds r3, r3, #1 adds r2, r2, #48 cmp r3, #32 - bne .L3890 - mov r0, r4 + bne .L3932 + mov r0, r5 bl lpa_hash_get_ppa str r0, [sp, #68] adds r0, r0, #1 - bne .L3891 + bne .L3933 movs r2, #0 add r1, sp, #68 - mov r0, r4 + mov r0, r5 bl pm_log2phys -.L3891: +.L3933: ldr r3, [sp, #68] adds r3, r3, #1 - bne .L3892 - ldr r8, .L3929+20 + bne .L3934 + ldr r8, .L3974+16 movs r7, #0 -.L3893: +.L3935: ldrb r3, [r8] @ zero_extendqisi2 cmp r7, r3 - bcs .L3889 - mla r3, r3, r4, r7 + bcs .L3931 + mla r3, r3, r5, r7 ldr r2, [sp, #28] cmp r2, r3 - bhi .L3894 + bhi .L3936 ldr r2, [sp, #44] cmp r2, r3 - bls .L3894 - mov r0, r5 - add r5, r5, #512 + bls .L3936 + mov r0, r6 + add r6, r6, #512 mov r2, #512 movs r1, #0 bl ftl_memset -.L3894: +.L3936: adds r7, r7, #1 - b .L3893 -.L3892: + b .L3935 +.L3934: movs r0, #0 bl buf_alloc cmp r0, #0 - beq .L3896 - ldr r2, .L3929+16 + beq .L3938 + ldr r2, .L3974+12 ldr r1, [r2] ldr r2, [r1, #40] adds r2, r2, #1 str r2, [r1, #40] ldr r2, [sp, #68] - str r5, [r0, #8] - add r5, r5, r7, lsl #9 - str r4, [r0, #20] + str r6, [r0, #8] + add r6, r6, r7, lsl #9 + str r5, [r0, #20] str r2, [r0, #24] str r2, [r0, #28] strb r7, [r0, #40] strb r8, [r0, #41] bl zftl_add_read_buf - b .L3889 -.L3930: + b .L3931 +.L3975: .align 2 -.L3929: - .word .LANCHOR14 - .word .LC225 - .word .LANCHOR68 - .word .LANCHOR56 +.L3974: + .word .LANCHOR19 + .word .LC228 + .word .LANCHOR67 .word .LANCHOR110 .word .LANCHOR131 - .word .LANCHOR58 + .word .LANCHOR55 + .word .LANCHOR57 .word .LANCHOR134 .word .LANCHOR133 -.L3909: +.L3954: ldrb r3, [r8] @ zero_extendqisi2 cmp r3, #255 - bne .L3900 - movw r2, #1276 - ldr r1, .L3931 - ldr r0, .L3931+4 + bne .L3942 + movw r2, #1281 + ldr r1, .L3976 + ldr r0, .L3976+4 bl printf -.L3900: +.L3942: ldrb r7, [r8] @ zero_extendqisi2 add r3, r7, r7, lsl #1 - add r3, r6, r3, lsl #4 + add r3, r4, r3, lsl #4 str r3, [sp, #52] movs r3, #48 muls r3, r7, r3 - adds r2, r6, r3 - ldrb r3, [r6, r3] @ zero_extendqisi2 + adds r2, r4, r3 + ldrb r3, [r4, r3] @ zero_extendqisi2 strb r3, [r8] ldr r8, [r2, #36] cmp r8, #-1 - bne .L3901 - ldr r3, .L3931+8 + bne .L3943 + ldr r3, .L3976+8 str r8, [sp, #40] ldr r2, [r3] ldr r3, [r2, #552] adds r3, r3, #1 str r3, [r2, #552] -.L3902: +.L3944: + movs r2, #48 + mla r2, r2, r7, r4 + ldr r3, [r2, #12] + ldr r2, [r2, #20] + ldr r1, [r3, #4] + cmp r1, r2 + bne .L3945 + cmp r8, #-1 + bne .L3946 +.L3945: + ldr r0, .L3976+12 + movs r1, #48 + mla r1, r1, r7, r4 + ldr r2, .L3976+16 + ldrb ip, [r0] @ zero_extendqisi2 + mov fp, #1 + ldrb r2, [r2] @ zero_extendqisi2 + ldr r8, [r1, #8] + ldr lr, [r1, #4] + rsb r0, ip, #24 + ldrb r10, [r1, #40] @ zero_extendqisi2 + lsl fp, fp, ip + ldr r1, [r1, #24] + add fp, fp, #-1 + str r2, [sp] + lsl ip, fp, r0 + cmp r10, r2 + ite cs + movcs r2, r8 + movcc r2, lr + lsr r0, r1, r0 + bic r1, r1, ip + and r0, r0, fp + uxtb r0, r0 + bl flash_read_page_en + mov r8, r0 +.L3946: movs r3, #48 - mla r3, r3, r7, r6 + mla r3, r3, r7, r4 ldr r2, [r3, #12] ldr r3, [r3, #20] ldr r1, [r2, #4] cmp r1, r3 - bne .L3903 + bne .L3948 cmp r8, #-1 - bne .L3904 -.L3903: - ldr r1, .L3931+8 + bne .L3949 +.L3948: + ldr r1, .L3976+8 mov r10, #48 - mla r10, r10, r7, r6 + mla r10, r10, r7, r4 ldr r0, [r1] ldr r1, [r0, #552] adds r1, r1, #1 @@ -25252,15 +25743,15 @@ zftl_read: ldr r0, [r2, #4] str r0, [sp, #8] ldr r2, [r2] - ldr r0, .L3931+12 + ldr r0, .L3976+20 str r2, [sp, #4] ldr r2, [r10, #24] str r2, [sp] mov r2, r8 bl printf - ldr r3, .L3931+16 + ldr r3, .L3976+24 ldrh r2, [r3] - ldr r3, .L3931+20 + ldr r3, .L3976+12 ldrb r3, [r3] @ zero_extendqisi2 rsb r3, r3, #24 subs r0, r3, r2 @@ -25269,69 +25760,69 @@ zftl_read: ldr r0, [r10, #24] subs r3, r3, #1 lsrs r0, r0, r2 - ldr r2, .L3931+24 + ldr r2, .L3976+28 ands r0, r0, r3 ldrb r1, [r2] @ zero_extendqisi2 bl __aeabi_uidiv movs r1, #0 uxth r0, r0 bl ftl_sblk_dump -.L3904: +.L3949: movs r3, #48 - mla r3, r3, r7, r6 + mla r3, r3, r7, r4 ldr r2, [r3, #12] ldr r3, [r3, #20] ldr r2, [r2, #4] cmp r2, r3 - bne .L3905 + bne .L3950 cmp r8, #-1 - bne .L3906 -.L3905: - movw r2, #1301 - ldr r1, .L3931 - ldr r0, .L3931+4 + bne .L3951 +.L3950: + movw r2, #1317 + ldr r1, .L3976 + ldr r0, .L3976+4 bl printf -.L3906: +.L3951: movs r3, #48 - mla r7, r3, r7, r6 - ldr r3, .L3931+28 + mla r7, r3, r7, r4 + ldr r3, .L3976+16 ldrb r3, [r3] @ zero_extendqisi2 ldrb r2, [r7, #40] @ zero_extendqisi2 cmp r3, r2 - bls .L3907 + bls .L3952 ldrb r1, [r7, #41] @ zero_extendqisi2 lsls r2, r2, #9 ldr r3, [r7, #4] ldr r0, [r7, #8] add r1, r3, r1, lsl #9 bl ftl_memcpy -.L3908: +.L3953: ldr r1, [sp, #52] - ldr r0, .L3931+32 + ldr r0, .L3976+32 bl buf_remove_buf ldr r0, [sp, #52] bl zbuf_free - ldr r2, .L3931+36 + ldr r2, .L3976+36 ldrb r3, [r2] @ zero_extendqisi2 subs r3, r3, #1 strb r3, [r2] - b .L3899 -.L3901: + b .L3941 +.L3943: cmp r8, #256 - bne .L3902 - ldr r1, .L3931+16 + bne .L3944 + ldr r1, .L3976+24 + mov fp, #1 ldr r3, [r2, #24] str r2, [sp, #60] - movs r2, #1 ldrh r0, [r1] - ldr r1, .L3931+20 + ldr r1, .L3976+12 str r3, [sp, #56] ldrb ip, [r1] @ zero_extendqisi2 - ldr r1, .L3931+24 + ldr r1, .L3976+28 rsb ip, ip, #24 sub ip, ip, r0 lsr r0, r3, r0 - lsl ip, r2, ip + lsl ip, fp, ip ldrb r1, [r1] @ zero_extendqisi2 add ip, ip, #-1 and r0, ip, r0 @@ -25340,36 +25831,36 @@ zftl_read: mov r10, r0 uxth r1, r0 ldr r3, [sp, #56] - ldr r0, .L3931+40 + ldr r0, .L3976+40 ldr r2, [r2, #20] bl printf movs r2, #0 - movs r1, #1 + mov r1, fp uxth r0, r10 bl gc_add_sblk - b .L3902 -.L3907: + b .L3944 +.L3952: ldrb r3, [r7, #2] @ zero_extendqisi2 bic r3, r3, #8 strb r3, [r7, #2] - b .L3908 -.L3914: + b .L3953 +.L3959: mov r0, #-1 - b .L3880 -.L3932: + b .L3922 +.L3977: .align 2 -.L3931: +.L3976: .word .LANCHOR230 .word .LC0 - .word .LANCHOR10 - .word .LC227 - .word .LANCHOR75 - .word .LANCHOR32 - .word .LANCHOR76 + .word .LANCHOR12 + .word .LANCHOR31 .word .LANCHOR131 - .word .LANCHOR63 + .word .LC230 + .word .LANCHOR74 + .word .LANCHOR75 + .word .LANCHOR62 .word .LANCHOR134 - .word .LC226 + .word .LC229 .size zftl_read, .-zftl_read .section .text.zftl_sys_read,"ax",%progbits .align 1 @@ -25490,13 +25981,13 @@ zftl_vendor_read: ftl_update_l2p_map: @ args = 0, pretend = 0, frame = 24 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L3968 + ldr r3, .L4013 push {r4, r5, r6, r7, r8, r10, fp, lr} sub sp, sp, #24 ldrb r7, [r0, #9] @ zero_extendqisi2 mov r6, r0 ldrh r3, [r3] - ldr r2, .L3968+4 + ldr r2, .L4013+4 muls r7, r3, r7 ldr r4, [r2] ldrh r3, [r0, #12] @@ -25506,77 +25997,77 @@ ftl_update_l2p_map: subs r3, r3, #1 ldr r3, [r4, r3, lsl #2] adds r3, r3, #1 - beq .L3940 - movw r2, #1990 - ldr r1, .L3968+8 - ldr r0, .L3968+12 + beq .L3985 + movw r2, #1998 + ldr r1, .L4013+8 + ldr r0, .L4013+12 bl printf -.L3940: +.L3985: movs r5, #0 subs r4, r4, #4 mov r10, r5 -.L3941: +.L3986: cmp r10, r7 - bne .L3947 - ldr r3, .L3968+16 - ldr r4, .L3968+20 + bne .L3992 + ldr r3, .L4013+16 + ldr r4, .L4013+20 ldr r3, [r3] tst r3, #4096 - beq .L3948 + beq .L3993 ldrh r1, [r6] mov r2, r5 ldr r3, [r4] - ldr r0, .L3968+24 + ldr r0, .L4013+24 ldrh r3, [r3, r1, lsl #1] bl printf -.L3948: +.L3993: ldrh r2, [r6] ldr r3, [r4] strh r5, [r3, r2, lsl #1] @ movhi add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3947: +.L3992: ldr r8, [r4, #4]! cmp r8, #-1 - beq .L3942 - ldr r3, .L3968+28 + beq .L3987 + ldr r3, .L4013+28 mov r0, r8 ldrb r1, [r3] @ zero_extendqisi2 lsls r1, r1, #7 bl __aeabi_uidiv uxth r3, r0 str r3, [sp] - ldr r3, .L3968+16 + ldr r3, .L4013+16 ldr r3, [r3] lsls r2, r3, #19 - bpl .L3943 + bpl .L3988 mov r3, r10 mov r2, r8 ldr r1, [sp] - ldr r0, .L3968+32 + ldr r0, .L4013+32 bl printf -.L3943: +.L3988: mov r8, r4 mov fp, r10 -.L3946: +.L3991: ldr r0, [r8] adds r3, r0, #1 - beq .L3944 - ldr r3, .L3968+28 + beq .L3989 + ldr r3, .L4013+28 ldrb r1, [r3] @ zero_extendqisi2 lsls r1, r1, #7 bl __aeabi_uidiv ldr r3, [sp] uxth r0, r0 cmp r3, r0 - bne .L3944 + bne .L3989 ldrb r3, [r6, #9] @ zero_extendqisi2 mov r0, fp mov r1, r3 str r3, [sp, #12] bl __aeabi_idivmod - ldr r3, .L3968+36 + ldr r3, .L4013+36 adds r1, r1, #8 ldrh r0, [r6, r1, lsl #1] ldrh r2, [r3] @@ -25588,18 +26079,18 @@ ftl_update_l2p_map: bl __aeabi_idiv ldr r2, [sp, #8] add r2, r2, r0 - ldr r0, .L3968+40 + ldr r0, .L4013+40 str r2, [sp, #20] ldr r1, [r8] bl pm_ppa_update_check - cbz r0, .L3945 + cbz r0, .L3990 ldr r1, [sp, #4] mov r3, r7 movs r2, #4 - ldr r0, .L3968+44 + ldr r0, .L4013+44 ldr r1, [r1] bl rknand_print_hex -.L3945: +.L3990: adds r5, r5, #1 movs r2, #1 uxth r5, r5 @@ -25608,29 +26099,29 @@ ftl_update_l2p_map: bl pm_log2phys mov r3, #-1 str r3, [r8] -.L3944: +.L3989: add fp, fp, #1 add r8, r8, #4 cmp r7, fp - bne .L3946 -.L3942: + bne .L3991 +.L3987: add r10, r10, #1 - b .L3941 -.L3969: + b .L3986 +.L4014: .align 2 -.L3968: - .word .LANCHOR95 +.L4013: + .word .LANCHOR94 .word .LANCHOR117 .word .LANCHOR231 .word .LC0 - .word .LANCHOR14 - .word .LANCHOR9 - .word .LC231 + .word .LANCHOR19 + .word .LANCHOR11 + .word .LC234 .word .LANCHOR131 - .word .LC228 + .word .LC231 .word .LANCHOR111 - .word .LC229 - .word .LC230 + .word .LC232 + .word .LC233 .size ftl_update_l2p_map, .-ftl_update_l2p_map .section .text.ftl_alloc_new_data_sblk,"ax",%progbits .align 1 @@ -25651,10 +26142,10 @@ ftl_alloc_new_data_sblk: ldrh r0, [r5] movw r3, #65535 cmp r0, r3 - beq .L3971 + beq .L4016 bl zftl_insert_data_list -.L3971: - ldr r4, .L3975 +.L4016: + ldr r4, .L4020 mov r0, r5 ldr r1, [r4] adds r1, r1, #16 @@ -25666,12 +26157,12 @@ ftl_alloc_new_data_sblk: ldr r3, [r4] ldr r3, [r3, #560] cmp r3, r6 - bne .L3973 + bne .L4018 movw r5, #65535 cmp r6, r5 - beq .L3973 + beq .L4018 mov r1, r6 - ldr r0, .L3975+4 + ldr r0, .L4020+4 bl printf ldr r3, [r4] ldr r0, [r3, #564] @@ -25680,18 +26171,18 @@ ftl_alloc_new_data_sblk: mov r2, #-1 str r5, [r3, #560] str r2, [r3, #564] -.L3973: +.L4018: bl ftl_ext_info_flush movs r0, #0 bl ftl_info_flush bl lpa_rebuild_hash movs r0, #0 pop {r4, r5, r6, pc} -.L3976: +.L4021: .align 2 -.L3975: - .word .LANCHOR10 - .word .LC232 +.L4020: + .word .LANCHOR12 + .word .LC235 .size ftl_alloc_new_data_sblk, .-ftl_alloc_new_data_sblk .section .text.ftl_write_commit,"ax",%progbits .align 1 @@ -25706,13 +26197,13 @@ ftl_write_commit: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r10, fp, lr} sub sp, sp, #32 - ldr r8, .L4040+32 -.L3978: - ldr r1, .L4040 + ldr r8, .L4087+32 +.L4023: + ldr r1, .L4087 ldrb r3, [r1] @ zero_extendqisi2 cmp r3, #0 - beq .L3980 - ldr r0, .L4040+4 + beq .L4025 + ldr r0, .L4087+4 subs r3, r3, #1 strb r3, [r1] ldrb r2, [r0] @ zero_extendqisi2 @@ -25723,65 +26214,65 @@ ftl_write_commit: str r2, [sp, #20] movs r2, #48 muls r2, r4, r2 - ldr r4, .L4040+8 + ldr r4, .L4087+8 ldr r3, [r4] add r5, r8, r2 ldrb r2, [r8, r2] @ zero_extendqisi2 strb r2, [r0] ldr r2, [r5, #20] cmp r2, r3 - bcc .L3982 + bcc .L4027 mov r2, #604 - ldr r1, .L4040+12 - ldr r0, .L4040+16 + ldr r1, .L4087+12 + ldr r0, .L4087+16 bl printf -.L3982: +.L4027: ldr r2, [sp, #12] movs r3, #48 mla r3, r3, r2, r8 ldr r2, [r4] ldr r7, [r3, #20] cmp r7, r2 - bcc .L3983 + bcc .L4028 ldr r0, [sp, #20] bl zbuf_free mov r0, #-1 -.L3977: +.L4022: add sp, sp, #32 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L3983: +.L4028: ldr r2, [r3, #12] ldr fp, [r3, #4] - ldrb r4, [r3, #41] @ zero_extendqisi2 + ldrb r5, [r3, #41] @ zero_extendqisi2 ldrb r3, [r3, #40] @ zero_extendqisi2 str r2, [sp, #8] str r3, [sp, #16] - ldr r3, .L4040+20 + ldr r3, .L4087+20 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L3985 - ldr r3, .L4040+24 - ldrb r5, [r3] @ zero_extendqisi2 - add r5, r5, r5, lsl #1 - add r5, r8, r5, lsl #4 -.L3986: - ldrb r3, [r5] @ zero_extendqisi2 + cbz r3, .L4030 + ldr r3, .L4087+24 + ldrb r4, [r3] @ zero_extendqisi2 + add r4, r4, r4, lsl #1 + add r4, r8, r4, lsl #4 +.L4031: + ldrb r3, [r4] @ zero_extendqisi2 cmp r3, #255 - bne .L3987 - ldr r3, [r5, #20] + bne .L4032 + ldr r3, [r4, #20] cmp r7, r3 - bne .L3985 + bne .L4030 ldr r2, [sp, #16] - lsls r0, r4, #9 - ldr r3, [r5, #4] + lsls r0, r5, #9 + ldr r3, [r4, #4] add r1, fp, r0 lsls r2, r2, #9 add r0, r0, r3 bl ftl_memcpy - ldr r3, .L4040+28 + ldr r3, .L4087+28 movs r0, #2 - ldr r2, [r5, #4] - ldr r1, [r5, #12] + ldr r2, [r4, #4] + ldr r1, [r4, #12] ldrb r3, [r3] @ zero_extendqisi2 adds r1, r1, #16 subs r3, r3, #2 @@ -25789,189 +26280,215 @@ ftl_write_commit: bl ftl_debug_info_fill ldr r0, [sp, #20] bl zbuf_free - b .L3978 -.L3987: + b .L4023 +.L4032: add r3, r3, r3, lsl #1 - add r5, r8, r3, lsl #4 - b .L3986 -.L3985: + add r4, r8, r3, lsl #4 + b .L4031 +.L4030: mov r0, r7 bl lpa_hash_get_ppa str r0, [sp, #28] adds r0, r0, #1 - bne .L3989 + bne .L4034 movs r2, #0 add r1, sp, #28 mov r0, r7 bl pm_log2phys -.L3989: - ldr r10, .L4040+36 +.L4034: + ldr r10, .L4087+36 movs r2, #0 - ldr r3, .L4040+32 - mov r5, r2 + ldr r3, .L4087+32 + mov r4, r2 ldr r0, [sp, #28] ldr r6, [r10] add ip, r3, #1536 adds r6, r6, #16 -.L3991: +.L4036: ldr r1, [r3, #20] cmp r7, r1 - bne .L3990 + bne .L4035 ldrb r1, [r3, #2] @ zero_extendqisi2 tst r1, #8 - beq .L3990 - ldr r5, [r3, #4] + beq .L4035 + ldr r4, [r3, #4] movs r2, #1 ldr r0, [r3, #24] bic r1, r1, #8 strb r1, [r3, #2] -.L3990: +.L4035: adds r3, r3, #48 cmp r3, ip - bne .L3991 - cbz r2, .L3992 + bne .L4036 + cbz r2, .L4037 str r0, [sp, #28] -.L3992: - ldr r3, .L4040+28 +.L4037: + ldr r3, .L4087+28 ldr r2, [sp, #16] ldrb r3, [r3] @ zero_extendqisi2 cmp r2, r3 - bcs .L4016 - cbz r5, .L3994 - cbz r4, .L3995 - lsls r2, r4, #9 - mov r1, r5 + bcs .L4063 + cbz r4, .L4039 + cbz r5, .L4040 + lsls r2, r5, #9 + mov r1, r4 mov r0, fp bl ftl_memcpy - ldr r3, .L4040+36 - ldr r6, [r3] + ldr r6, [r10] adds r6, r6, #48 -.L3995: +.L4040: ldr r3, [sp, #16] - add r4, r4, r3 - ldr r3, .L4040+28 + add r5, r5, r3 + ldr r3, .L4087+28 ldrb r2, [r3] @ zero_extendqisi2 - cmp r4, r2 - bcc .L3996 + cmp r5, r2 + bcc .L4041 ldr r6, [r10] adds r6, r6, #16 -.L4016: +.L4063: mov r10, #0 - b .L3993 -.L3996: - lsls r0, r4, #9 - subs r2, r2, r4 + b .L4038 +.L4041: + lsls r0, r5, #9 + subs r2, r2, r5 lsls r2, r2, #9 - adds r1, r5, r0 + adds r1, r4, r0 add r0, r0, fp bl ftl_memcpy - b .L4016 -.L4041: + b .L4063 +.L4088: .align 2 -.L4040: - .word .LANCHOR67 +.L4087: .word .LANCHOR66 + .word .LANCHOR65 .word .LANCHOR128 .word .LANCHOR232 .word .LC0 .word .LANCHOR129 - .word .LANCHOR185 + .word .LANCHOR182 .word .LANCHOR131 - .word .LANCHOR56 - .word .LANCHOR10 -.L3994: + .word .LANCHOR55 + .word .LANCHOR12 +.L4039: ldr r3, [sp, #28] adds r3, r3, #1 - beq .L3997 + beq .L4042 movs r0, #1 bl buf_alloc ldr r3, [sp, #28] - mov r5, r0 + mov r4, r0 str r7, [r0, #20] movs r1, #1 str r3, [r0, #24] bl sblk_read_page - ldr r3, [r5, #12] + ldr r3, [r4, #12] ldr r2, [r3, #12] - ldr r3, [r3, #4] add r10, r2, #1 + ldr r2, [r3, #4] + cmp r7, r2 + bne .L4043 + ldr r2, [r4, #36] + adds r2, r2, #1 + bne .L4044 +.L4043: + ldr r2, .L4089 + movs r0, #1 + ldr r1, [r4, #24] + ldrb r2, [r2] @ zero_extendqisi2 + rsb lr, r2, #24 + lsls r0, r0, r2 + subs r2, r0, #1 + lsr r0, r1, lr + lsl ip, r2, lr + ands r0, r0, r2 + ldr r2, .L4089+4 + bic r1, r1, ip + uxtb r0, r0 + ldrb r2, [r2] @ zero_extendqisi2 + str r2, [sp] + ldr r2, [r4, #4] + bl flash_read_page_en + str r0, [r4, #36] +.L4044: + ldr r3, [r4, #12] + ldr r3, [r3, #4] cmp r7, r3 - bne .L3998 - ldr r3, [r5, #36] + bne .L4045 + ldr r3, [r4, #36] adds r3, r3, #1 - bne .L3999 -.L3998: - ldr r3, .L4042 - ldr r0, .L4042+4 + bne .L4046 +.L4045: + ldr r3, .L4089+8 + ldr r0, .L4089+12 ldr r2, [r3] ldr r3, [r2, #552] adds r3, r3, #1 str r3, [r2, #552] - ldr r3, [r5, #36] - ldrb r1, [r5, #1] @ zero_extendqisi2 + ldr r3, [r4, #36] + ldrb r1, [r4, #1] @ zero_extendqisi2 ldr r2, [sp, #28] str r3, [sp] mov r3, r7 bl printf movs r3, #4 - ldr r1, [r5, #12] + ldr r1, [r4, #12] mov r2, r3 - ldr r0, .L4042+8 + ldr r0, .L4089+16 bl rknand_print_hex -.L3999: - ldr r3, [r5, #12] +.L4046: + ldr r3, [r4, #12] ldr r3, [r3, #4] cmp r7, r3 - bne .L4000 - ldr r3, [r5, #36] + bne .L4047 + ldr r3, [r4, #36] adds r3, r3, #1 - bne .L4001 -.L4000: - movw r2, #691 - ldr r1, .L4042+12 - ldr r0, .L4042+16 + bne .L4048 +.L4047: + mov r2, #696 + ldr r1, .L4089+20 + ldr r0, .L4089+24 bl printf -.L4001: - cbz r4, .L4002 +.L4048: + cbz r5, .L4049 ldr r3, [sp, #28] - lsls r2, r4, #9 + lsls r2, r5, #9 adds r3, r3, #1 - beq .L4003 - ldr r1, [r5, #4] + beq .L4050 + ldr r1, [r4, #4] mov r0, fp bl ftl_memcpy -.L4004: - ldr r3, .L4042 +.L4051: + ldr r3, .L4089+8 ldr r6, [r3] adds r6, r6, #48 -.L4002: +.L4049: ldr r3, [sp, #16] - add r4, r4, r3 - ldr r3, .L4042+20 + add r5, r5, r3 + ldr r3, .L4089+4 ldrb r2, [r3] @ zero_extendqisi2 - cmp r4, r2 - bcc .L4005 - bls .L4006 - ldr r3, .L4042 + cmp r5, r2 + bcc .L4052 + bls .L4053 + ldr r3, .L4089+8 ldr r6, [r3] adds r6, r6, #16 -.L4006: - cbz r5, .L3993 - ldrb r3, [r5, #2] @ zero_extendqisi2 - mov r1, r5 - ldr r0, .L4042+24 +.L4053: + cbz r4, .L4038 + ldrb r3, [r4, #2] @ zero_extendqisi2 + mov r1, r4 + ldr r0, .L4089+28 bic r3, r3, #8 - strb r3, [r5, #2] + strb r3, [r4, #2] bl buf_remove_buf - mov r0, r5 + mov r0, r4 bl zbuf_free -.L3993: +.L4038: ldrh r3, [r6, #6] - cbnz r3, .L4008 + cbnz r3, .L4055 bl ftl_flush mov r0, r6 bl ftl_alloc_new_data_sblk -.L4008: +.L4055: mov r0, r6 movs r5, #48 bl ftl_get_new_free_page @@ -25988,7 +26505,7 @@ ftl_write_commit: movs r7, #0 ldr r2, [sp, #28] str r2, [r3, #8] - ldr r3, .L4042+20 + ldr r3, .L4089+4 str r7, [r1, #16]! ldrb r2, [r3] @ zero_extendqisi2 subs r2, r2, #2 @@ -25999,11 +26516,12 @@ ftl_write_commit: ldr r1, [sp, #20] str r3, [r4, #24] ldr r3, [sp, #28] - ldr r0, .L4042+28 + ldr r0, .L4089+32 str r3, [r4, #28] movs r3, #255 strb r3, [r8, r5] ldrb r3, [r4, #2] @ zero_extendqisi2 + ldr r5, .L4089+36 orr r3, r3, #10 strb r3, [r4, #2] ldrh r3, [r6, #10] @@ -26011,23 +26529,22 @@ ftl_write_commit: subs r3, r3, #1 strh r3, [r4, #32] @ movhi bl buf_add_tail - ldr r2, .L4042+32 - ldrb r3, [r2] @ zero_extendqisi2 + ldrb r3, [r5] @ zero_extendqisi2 + ldr r2, .L4089+40 adds r3, r3, #1 uxtb r3, r3 - strb r3, [r2] - cmp r3, #2 - ldr r2, .L4042+36 str r7, [r2] ldrh r2, [r6, #6] - bhi .L4009 + cmp r3, #2 + strb r3, [r5] + bhi .L4056 cmp r2, #1 - bne .L3981 -.L4009: - ldr r5, .L4042+28 - movs r7, #48 + bne .L4026 +.L4056: + ldr r7, .L4089+32 + mov ip, #48 ldrb r1, [r6, #5] @ zero_extendqisi2 - ldrb r0, [r5] @ zero_extendqisi2 + ldrb r0, [r7] @ zero_extendqisi2 cmp r1, #0 mov r1, #0 ite ne @@ -26037,85 +26554,85 @@ ftl_write_commit: it eq moveq r4, r3 mov r2, r0 -.L4013: +.L4060: cmp r1, r4 - bne .L4014 - strb r2, [r5] + bne .L4061 uxtb r1, r1 - ldr r2, .L4042+32 add r0, r0, r0, lsl #1 + strb r2, [r7] subs r3, r3, r1 add r0, r8, r0, lsl #4 - strb r3, [r2] + strb r3, [r5] bl sblk_prog_page ldrh r3, [r6, #6] cmp r3, #1 - bne .L3981 + bne .L4026 bl sblk_wait_write_queue_completed bl ftl_write_completed mov r0, r6 bl ftl_write_last_log_page mov r0, r6 bl ftl_alloc_new_data_sblk -.L3981: - ldr r3, .L4042+40 +.L4026: + ldr r3, .L4089+44 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - bne .L3978 -.L3980: + bne .L4023 +.L4025: bl ftl_write_completed movs r0, #0 - b .L3977 -.L4005: + b .L4022 +.L4052: ldr r3, [sp, #28] - subs r2, r2, r4 + subs r2, r2, r5 lsls r2, r2, #9 - lsls r0, r4, #9 + lsls r0, r5, #9 adds r3, r3, #1 - beq .L4007 - ldr r1, [r5, #4] + beq .L4054 + ldr r1, [r4, #4] add r1, r1, r0 add r0, r0, fp bl ftl_memcpy - b .L4006 -.L4007: + b .L4053 +.L4054: movs r1, #0 add r0, r0, fp bl ftl_memset - b .L4006 -.L4014: - muls r2, r7, r2 + b .L4053 +.L4061: + mul r2, ip, r2 adds r1, r1, #1 ldrb r2, [r8, r2] @ zero_extendqisi2 - b .L4013 -.L4015: - lsls r2, r4, #9 - mov r10, r5 -.L4003: + b .L4060 +.L4062: + lsls r2, r5, #9 + mov r10, r4 +.L4050: movs r1, #0 mov r0, fp bl ftl_memset - b .L4004 -.L3997: - cmp r4, #0 - bne .L4015 - mov r10, r4 - mov r5, r4 - b .L4002 -.L4043: - .align 2 + b .L4051 .L4042: - .word .LANCHOR10 - .word .LC233 - .word .LC205 + cmp r5, #0 + bne .L4062 + mov r10, r5 + mov r4, r5 + b .L4049 +.L4090: + .align 2 +.L4089: + .word .LANCHOR31 + .word .LANCHOR131 + .word .LANCHOR12 + .word .LC236 + .word .LC208 .word .LANCHOR232 .word .LC0 - .word .LANCHOR131 - .word .LANCHOR63 - .word .LANCHOR185 + .word .LANCHOR62 + .word .LANCHOR182 .word .LANCHOR129 .word .LANCHOR233 - .word .LANCHOR67 + .word .LANCHOR66 .size ftl_write_commit, .-ftl_write_commit .section .text.gc_do_copy_back,"ax",%progbits .align 1 @@ -26128,17 +26645,17 @@ ftl_write_commit: gc_do_copy_back: @ args = 0, pretend = 0, frame = 72 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L4187 + ldr r3, .L4234 push {r4, r5, r6, r7, r8, r10, fp, lr} sub sp, sp, #80 ldrb r0, [r3] @ zero_extendqisi2 cmp r0, #0 - bne .L4045 + bne .L4092 bl buf_alloc mov r4, r0 cmp r0, #0 - beq .L4044 - ldr r5, .L4187+4 + beq .L4091 + ldr r5, .L4234+4 ldrh r2, [r5, #22] mov r0, r2 bl gc_get_src_ppa_from_index @@ -26151,60 +26668,60 @@ gc_do_copy_back: bl sblk_read_page ldr r3, [r4, #36] adds r0, r3, #1 - beq .L4047 + beq .L4094 cmp r3, #512 - bne .L4048 -.L4047: + bne .L4095 +.L4094: mov r2, #1032 - ldr r1, .L4187+8 - ldr r0, .L4187+12 + ldr r1, .L4234+8 + ldr r0, .L4234+12 bl printf -.L4048: +.L4095: ldr r3, [r4, #12] ldr r8, [r3, #4] mov r0, r8 bl lpa_hash_get_ppa str r0, [sp, #56] adds r0, r0, #1 - bne .L4049 + bne .L4096 movs r2, #0 add r1, sp, #56 mov r0, r8 bl pm_log2phys -.L4049: +.L4096: ldr r7, [sp, #56] cmp r6, r7 - bne .L4050 - ldr r0, .L4187+16 + bne .L4097 + ldr r0, .L4234+16 movs r3, #0 -.L4053: +.L4100: adds r2, r0, r3 ldr r1, [r2, #20] cmp r8, r1 - bne .L4051 + bne .L4098 ldrb r2, [r2, #2] @ zero_extendqisi2 lsls r1, r2, #30 - bpl .L4051 + bpl .L4098 mov r0, r4 bl zbuf_free - ldr r3, .L4187+20 + ldr r3, .L4234+20 ldr r3, [r3] lsls r2, r3, #23 - bpl .L4044 + bpl .L4091 ldrh r3, [r5, #22] mov r2, r6 mov r1, r8 - ldr r0, .L4187+24 + ldr r0, .L4234+24 bl printf -.L4044: +.L4091: add sp, sp, #80 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L4051: +.L4098: adds r3, r3, #48 cmp r3, #1536 - bne .L4053 - ldr r3, .L4187+28 + bne .L4100 + ldr r3, .L4234+28 movs r2, #0 str r8, [r4, #20] strb r2, [r4, #41] @@ -26214,10 +26731,10 @@ gc_do_copy_back: ldr r1, [r3] str r1, [r4, #16] str r2, [r3, #16] - ldr r3, .L4187+20 + ldr r3, .L4234+20 ldr r3, [r3] lsls r3, r3, #23 - bpl .L4054 + bpl .L4101 mov r0, r8 bl lpa_hash_get_ppa ldrh r3, [r5, #22] @@ -26226,13 +26743,13 @@ gc_do_copy_back: mov r1, r8 str r3, [sp, #4] mov r3, r0 - ldr r0, .L4187+32 + ldr r0, .L4234+32 bl printf -.L4054: +.L4101: mov r0, r4 bl ftl_gc_write_buf bl ftl_write_commit - ldr r3, .L4187+36 + ldr r3, .L4234+36 ldr r2, [r3] ldr r3, [r2, #60] adds r3, r3, #1 @@ -26240,12 +26757,12 @@ gc_do_copy_back: ldrh r3, [r5, #24] adds r3, r3, #1 strh r3, [r5, #24] @ movhi - b .L4044 -.L4050: - ldr r3, .L4187+20 + b .L4091 +.L4097: + ldr r3, .L4234+20 ldr r3, [r3] lsls r0, r3, #23 - bpl .L4055 + bpl .L4102 mov r0, r8 bl lpa_hash_get_ppa ldrh r3, [r5, #22] @@ -26254,107 +26771,107 @@ gc_do_copy_back: mov r1, r8 str r3, [sp, #4] mov r3, r0 - ldr r0, .L4187+32 + ldr r0, .L4234+32 bl printf -.L4055: +.L4102: mov r0, r4 bl zbuf_free - b .L4044 -.L4045: - ldr r3, .L4187+40 + b .L4091 +.L4092: + ldr r3, .L4234+40 ldr r3, [r3] ldrb r6, [r3, #89] @ zero_extendqisi2 str r3, [sp, #28] - ldr r3, .L4187+44 + ldr r3, .L4234+44 uxth r7, r6 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, r7 - bhi .L4113 + bhi .L4160 cmp r7, #2 mov fp, r7 it cs movcs fp, #2 -.L4056: - ldr r3, .L4187+48 - ldr r5, .L4187+4 +.L4103: + ldr r3, .L4234+48 + ldr r5, .L4234+4 ldrb r8, [r3] @ zero_extendqisi2 cmp r8, #3 - bne .L4057 - ldr r3, .L4187+52 + bne .L4104 + ldr r3, .L4234+52 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - beq .L4058 + beq .L4105 ldrh r3, [r5, #2102] mov r1, r6 mov r0, r3 str r3, [sp, #12] bl __aeabi_idiv - ldr r3, .L4187+56 + ldr r3, .L4234+56 uxth r4, r0 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - beq .L4059 - ldr r3, .L4187+60 + beq .L4106 + ldr r3, .L4234+60 ldrh r3, [r3, r0, lsl #1] cmp r3, #0 ite eq moveq r3, #1 movne r3, #2 -.L4179: +.L4226: str r3, [sp, #16] smulbb r7, r7, r4 ldr r3, [sp, #12] subs r7, r3, r7 uxth r3, r7 str r3, [sp, #20] -.L4061: +.L4108: ldr r3, [sp, #16] - ldr r10, .L4187+60 + ldr r10, .L4234+60 mul r3, fp, r3 str r3, [sp, #24] - ldr r3, .L4187+64 + ldr r3, .L4234+64 ldrh r1, [r3] - ldr r3, .L4187+68 + ldr r3, .L4234+68 muls r1, r6, r1 ldrb r3, [r3] @ zero_extendqisi2 movs r6, #0 subs r1, r1, r3 - ldr r3, .L4187+56 + ldr r3, .L4234+56 ldrb r8, [r3] @ zero_extendqisi2 - ldr r3, .L4187+72 + ldr r3, .L4234+72 ldr r7, [r3] ldrh r3, [r5, #20] str r3, [sp, #32] - ldr r3, .L4187+4 -.L4065: + ldr r3, .L4234+4 +.L4112: ldr r0, [sp, #24] uxth ip, r6 mov r2, ip cmp ip, r0 - bge .L4121 + bge .L4168 ldr r0, [sp, #12] add r2, r2, r0 cmp r2, r1 - blt .L4066 + blt .L4113 cmp r8, #0 - beq .L4121 + beq .L4168 ldrh r0, [r10, r4, lsl #1] cmp r0, r4 - bcc .L4067 -.L4121: + bcc .L4114 +.L4168: movs r3, #1 str r3, [sp, #24] - b .L4063 -.L4113: + b .L4110 +.L4160: mov fp, #1 - b .L4056 -.L4059: - ldr r3, .L4187+76 + b .L4103 +.L4106: + ldr r3, .L4234+76 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L4115 + cbz r3, .L4162 sub r3, r4, #62 cmp r3, #2160 - bcs .L4116 + bcs .L4163 mov r1, r8 mov r0, r4 bl __aeabi_uidivmod @@ -26363,18 +26880,18 @@ gc_do_copy_back: ite ne movne r3, #1 moveq r3, #2 - b .L4179 -.L4115: + b .L4226 +.L4162: movs r3, #1 - b .L4179 -.L4116: + b .L4226 +.L4163: movs r3, #2 - b .L4179 -.L4058: - ldr r3, .L4187+80 + b .L4226 +.L4105: + ldr r3, .L4234+80 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - beq .L4062 + beq .L4109 ldrh r3, [r5, #2102] add r1, r6, r6, lsl #1 mov r0, r3 @@ -26383,53 +26900,53 @@ gc_do_copy_back: uxth r4, r0 muls r0, r6, r0 ldr r3, [sp, #12] - ldr r2, .L4187+84 + ldr r2, .L4234+84 sub r0, r0, r0, lsl #2 add r0, r0, r3 smull r2, r3, r0, r2 sub r0, r3, r0, asr #31 uxth r3, r0 str r3, [sp, #20] - ldr r3, .L4187+88 + ldr r3, .L4234+88 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L4118 + cbz r3, .L4165 add r4, r4, r4, lsl #1 uxth r4, r4 -.L4118: +.L4165: str r8, [sp, #16] - b .L4061 -.L4188: + b .L4108 +.L4235: .align 2 -.L4187: - .word .LANCHOR85 - .word .LANCHOR71 +.L4234: + .word .LANCHOR84 + .word .LANCHOR70 .word .LANCHOR234 .word .LC0 - .word .LANCHOR56 - .word .LANCHOR14 - .word .LC234 + .word .LANCHOR55 + .word .LANCHOR19 + .word .LC237 .word .LANCHOR131 - .word .LC235 + .word .LC238 .word .LANCHOR110 - .word .LANCHOR10 - .word .LANCHOR80 + .word .LANCHOR12 .word .LANCHOR79 - .word .LANCHOR36 + .word .LANCHOR78 + .word .LANCHOR35 .word .LANCHOR124 .word .LANCHOR235 - .word .LANCHOR86 + .word .LANCHOR85 .word .LANCHOR224 - .word .LANCHOR163 + .word .LANCHOR160 .word .LANCHOR217 - .word .LANCHOR84 + .word .LANCHOR83 .word 1431655766 - .word .LANCHOR37 -.L4062: + .word .LANCHOR36 +.L4109: ldrh r10, [r5, #2102] mov r1, r6 mov r0, r10 bl __aeabi_idiv - ldr r3, .L4189 + ldr r3, .L4236 smulbb r7, r0, r7 str r8, [sp, #16] ldrh r3, [r3, r0, lsl #1] @@ -26445,8 +26962,8 @@ gc_do_copy_back: str r3, [sp, #12] ldr r3, [sp, #24] cmp r3, #1 - beq .L4061 -.L4063: + beq .L4108 +.L4110: ldr r3, [sp, #16] ldrh r2, [sp, #16] mul r3, fp, r3 @@ -26461,32 +26978,32 @@ gc_do_copy_back: uxth r3, r3 str r3, [sp, #48] movs r3, #0 -.L4183: +.L4230: str r3, [sp, #36] ldr r2, [sp, #40] ldrh r6, [sp, #36] cmp r6, r2 str r6, [sp, #32] - blt .L4095 - ldr r3, .L4189+4 + blt .L4142 + ldr r3, .L4236+4 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #3 - bne .L4096 - ldr r3, .L4189+8 + bne .L4143 + ldr r3, .L4236+8 ldrb r1, [r3] @ zero_extendqisi2 cmp r1, #0 - beq .L4097 + beq .L4144 movs r1, #0 subs r2, r2, #1 -.L4098: +.L4145: uxth r3, r1 adds r1, r1, #1 cmp r3, r2 - blt .L4099 + blt .L4146 add r3, sp, #80 add r2, r3, r2, lsl #2 ldr r3, [r2, #-24] -.L4184: +.L4231: movs r2, #255 strb r2, [r3] ldrh r3, [sp, #16] @@ -26494,11 +27011,11 @@ gc_do_copy_back: smulbb r1, fp, r3 uxtb r1, r1 bl sblk_prog_page - b .L4100 -.L4057: - ldr r3, .L4189+12 + b .L4147 +.L4104: + ldr r3, .L4236+12 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L4064 + cbnz r3, .L4111 ldrh r3, [r5, #2102] mov r1, r6 mov r0, r3 @@ -26511,10 +27028,10 @@ gc_do_copy_back: uxth r3, r7 str r3, [sp, #20] movs r3, #1 -.L4180: +.L4227: str r3, [sp, #16] - b .L4061 -.L4064: + b .L4108 +.L4111: ldrh r3, [r5, #2102] mov r1, r6 mov r0, r3 @@ -26527,52 +27044,52 @@ gc_do_copy_back: uxth r3, r7 str r3, [sp, #20] movs r3, #2 - b .L4180 -.L4067: + b .L4227 +.L4114: tst ip, #1 - beq .L4121 -.L4066: + beq .L4168 +.L4113: ldr r0, [r7, r2, lsl #2] adds r0, r0, #1 - bne .L4069 + bne .L4116 ldrh r5, [r3, #22] ldr r0, [sp, #32] cmp r5, r0 - bcs .L4044 + bcs .L4091 cmp r8, #0 - beq .L4070 + beq .L4117 ldrh r0, [r10, r4, lsl #1] cmp r0, r4 - bcs .L4070 + bcs .L4117 tst ip, #1 - beq .L4070 + beq .L4117 ldr r0, [r7, r0, lsl #2] -.L4181: +.L4228: str r0, [r7, r2, lsl #2] -.L4069: +.L4116: adds r6, r6, #1 - b .L4065 -.L4070: + b .L4112 +.L4117: mov r0, r5 str r3, [sp, #36] bl gc_get_src_ppa_from_index ldr r3, [sp, #36] adds r5, r5, #1 strh r5, [r3, #22] @ movhi - b .L4181 -.L4095: + b .L4228 +.L4142: ldr r3, [sp, #12] ldr r2, [sp, #32] adds r7, r3, r2 - ldr r3, .L4189+16 + ldr r3, .L4236+16 ldr r3, [r3] ldrb r3, [r3, r7] @ zero_extendqisi2 cmp r3, #255 - bne .L4072 + bne .L4119 movs r0, #0 bl buf_alloc mov r5, r0 - cbnz r0, .L4073 + cbnz r0, .L4120 bl sblk_wait_write_queue_completed bl ftl_write_completed bl gc_write_completed @@ -26581,13 +27098,13 @@ gc_do_copy_back: bl buf_alloc mov r5, r0 cmp r0, #0 - beq .L4044 -.L4073: - ldr r3, .L4189+16 + beq .L4091 +.L4120: + ldr r3, .L4236+16 ldrb r2, [r5, #1] @ zero_extendqisi2 ldr r3, [r3] strb r2, [r3, r7] - ldr r2, .L4189+20 + ldr r2, .L4236+20 ldrb r3, [r2, #7] @ zero_extendqisi2 adds r3, r3, #1 strb r3, [r2, #7] @@ -26596,70 +27113,70 @@ gc_do_copy_back: strh r3, [r5, #32] @ movhi ldrb r3, [sp, #24] @ zero_extendqisi2 strb r3, [r5, #45] - ldr r3, .L4189+24 + ldr r3, .L4236+24 ldrh r2, [r3] - ldr r3, .L4189+28 + ldr r3, .L4236+28 ldrb r0, [r3] @ zero_extendqisi2 ldr r3, [sp, #28] ldrb r3, [r3, #89] @ zero_extendqisi2 muls r3, r2, r3 subs r3, r3, r0 cmp r7, r3 - blt .L4074 - ldr r1, .L4189+32 + blt .L4121 + ldr r1, .L4236+32 ldrb r1, [r1] @ zero_extendqisi2 - cbz r1, .L4075 - ldr r1, .L4189+36 + cbz r1, .L4122 + ldr r1, .L4236+36 ldrh r1, [r1, r4, lsl #1] cmp r1, r4 - bcs .L4075 + bcs .L4122 lsls r1, r6, #31 - bmi .L4074 -.L4075: - ldr r1, .L4189+40 + bmi .L4121 +.L4122: + ldr r1, .L4236+40 cmp r0, #2 mov ip, #-1 ldr r1, [r1] str ip, [r1, r7, lsl #2] - bne .L4076 + bne .L4123 cmp r7, r3 - ldr r10, .L4189+68 - bne .L4077 + ldr r10, .L4236+68 + bne .L4124 ldrh r2, [r10] ldr r0, [r5, #4] bl ftl_memcpy - ldr r3, .L4189+44 + ldr r3, .L4236+44 movs r1, #0 ldr r0, [r5, #12] ldrb r2, [r3] @ zero_extendqisi2 lsls r2, r2, #1 bl ftl_memset ldr r8, [r5, #12] - ldr r3, .L4189+48 + ldr r3, .L4236+48 ldr r0, [r5, #4] ldrh r1, [r10] str r3, [r8] bl js_hash - ldr r3, .L4189+52 + ldr r3, .L4236+52 str r0, [r8, #4] ldr r3, [r3] ldr r3, [r3, #132] str r3, [r8, #8] movs r3, #0 str r3, [r8, #12] -.L4078: +.L4125: ldr r3, [r5, #12] movs r2, #0 str r2, [r3, #16] -.L4072: - ldr r3, .L4189+16 +.L4119: + ldr r3, .L4236+16 add r2, sp, #80 ldr r3, [r3] ldrb r5, [r3, r7] @ zero_extendqisi2 str r3, [sp, #52] ldr r3, [sp, #32] add r1, r2, r3, lsl #2 - ldr r2, .L4189+56 + ldr r2, .L4236+56 add r3, r5, r5, lsl #1 add r3, r2, r3, lsl #4 str r3, [r1, #-24] @@ -26669,35 +27186,35 @@ gc_do_copy_back: strb r3, [r1, #45] movs r3, #2 strh r3, [r1, #34] @ movhi - ldr r3, .L4189+4 + ldr r3, .L4236+4 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #3 - bne .L4086 - ldr r3, .L4189+8 + bne .L4133 + ldr r3, .L4236+8 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - beq .L4087 - ldr r3, .L4189+32 + beq .L4134 + ldr r3, .L4236+32 and r2, r6, #1 add r10, r2, r4 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L4088 - ldr r3, .L4189+36 + cbz r3, .L4135 + ldr r3, .L4236+36 ldrh r3, [r3, r4, lsl #1] cmp r3, r4 - bcs .L4088 + bcs .L4135 cmp r2, #0 it ne movne r10, r3 -.L4088: - ldr r3, .L4189+56 +.L4135: + ldr r3, .L4236+56 mov r8, #48 ldr r1, [sp, #16] mov r0, r6 mla r8, r8, r5, r3 bl __aeabi_uidiv ldr r3, [sp, #20] - ldr r2, .L4189+60 + ldr r2, .L4236+60 uxtah r0, r3, r0 ldr r3, [sp, #28] ldrh r2, [r2] @@ -26706,39 +27223,39 @@ gc_do_copy_back: mla r10, r2, r3, r10 orr r3, r10, #50331648 str r3, [r8, #24] -.L4093: - ldr r2, .L4189+56 +.L4140: + ldr r2, .L4236+56 movs r3, #48 mla r5, r3, r5, r2 - ldr r3, .L4189+64 + ldr r3, .L4236+64 ldr r3, [r3] ldr r1, [r5, #24] ldrh r2, [r5, #32] str r1, [r3, r2, lsl #2] - b .L4112 -.L4190: + b .L4159 +.L4237: .align 2 -.L4189: +.L4236: .word .LANCHOR236 - .word .LANCHOR79 - .word .LANCHOR36 - .word .LANCHOR81 - .word .LANCHOR83 - .word .LANCHOR71 - .word .LANCHOR86 + .word .LANCHOR78 + .word .LANCHOR35 + .word .LANCHOR80 + .word .LANCHOR82 + .word .LANCHOR70 + .word .LANCHOR85 .word .LANCHOR224 .word .LANCHOR124 .word .LANCHOR235 - .word .LANCHOR162 + .word .LANCHOR159 .word .LANCHOR131 .word -178307901 - .word .LANCHOR10 - .word .LANCHOR56 + .word .LANCHOR12 + .word .LANCHOR55 .word .LANCHOR111 - .word .LANCHOR164 + .word .LANCHOR161 .word .LANCHOR221 -.L4077: - ldr r0, .L4191 +.L4124: + ldr r0, .L4238 ldrh r3, [r10] ldrb r8, [r0] @ zero_extendqisi2 ldr r0, [r5, #4] @@ -26748,7 +27265,7 @@ gc_do_copy_back: mov r2, r8 add r1, r1, r3, lsl #2 bl ftl_memcpy - ldr r3, .L4191+4 + ldr r3, .L4238+4 movs r1, #0 ldr r0, [r5, #12] ldrb r2, [r3] @ zero_extendqisi2 @@ -26756,36 +27273,36 @@ gc_do_copy_back: bl ftl_memset ldr r10, [r5, #12] mov r1, r8 - ldr r3, .L4191+8 + ldr r3, .L4238+8 ldr r0, [r5, #4] str r3, [r10] bl js_hash - ldr r3, .L4191+12 + ldr r3, .L4238+12 str r0, [r10, #4] ldr r3, [r3] ldr r3, [r3, #132] str r3, [r10, #8] movs r3, #1 str r3, [r10, #12] - b .L4078 -.L4076: - ldr r10, .L4191 + b .L4125 +.L4123: + ldr r10, .L4238 ldr r0, [r5, #4] ldrb r8, [r10] @ zero_extendqisi2 mul r2, r2, r8 lsls r2, r2, #2 bl ftl_memcpy - ldr r3, .L4191+16 - ldr r1, .L4191+4 + ldr r3, .L4238+16 + ldr r1, .L4238+4 ldrh r2, [r3] ldrb r3, [r10] @ zero_extendqisi2 ldrb r1, [r1] @ zero_extendqisi2 muls r3, r2, r3 cmp r1, r3, asr #6 lsl r2, r3, #2 - ldr r1, .L4191+20 + ldr r1, .L4238+20 it lt - ldrlt r3, .L4191+24 + ldrlt r3, .L4238+24 mov r0, r2 ldr r1, [r1] itt lt @@ -26794,31 +27311,31 @@ gc_do_copy_back: ldr r3, [r5, #4] add r0, r0, r3 bl ftl_memcpy - ldr r3, .L4191+4 + ldr r3, .L4238+4 movs r1, #0 ldr r0, [r5, #12] ldrb r2, [r3] @ zero_extendqisi2 lsls r2, r2, #1 bl ftl_memset ldr r8, [r5, #12] - ldr r3, .L4191+8 - ldr r2, .L4191 + ldr r3, .L4238+8 + ldr r2, .L4238 ldr r0, [r5, #4] str r3, [r8] - ldr r3, .L4191+16 + ldr r3, .L4238+16 ldrb r1, [r2] @ zero_extendqisi2 ldrh r3, [r3] muls r1, r3, r1 lsls r1, r1, #2 bl js_hash - ldr r3, .L4191+12 + ldr r3, .L4238+12 str r0, [r8, #4] ldr r3, [r3] ldr r3, [r3, #132] str r3, [r8, #8] - b .L4078 -.L4074: - ldr r3, .L4191+20 + b .L4125 +.L4121: + ldr r3, .L4238+20 movs r1, #1 mov r0, r5 ldr r3, [r3] @@ -26827,20 +27344,20 @@ gc_do_copy_back: bl sblk_read_page ldr r3, [r5, #36] adds r1, r3, #1 - beq .L4080 + beq .L4127 cmp r3, #512 - bne .L4084 -.L4080: - ldr r3, .L4191+28 + bne .L4131 +.L4127: + ldr r3, .L4238+28 movs r0, #1 ldr r2, [r5, #24] ldrh r1, [r3] - ldr r3, .L4191+32 + ldr r3, .L4238+32 ldrb r3, [r3] @ zero_extendqisi2 lsrs r2, r2, r1 rsb r3, r3, #24 subs r3, r3, r1 - ldr r1, .L4191+36 + ldr r1, .L4238+36 lsl r3, r0, r3 subs r3, r3, #1 ldrb r1, [r1] @ zero_extendqisi2 @@ -26851,45 +27368,45 @@ gc_do_copy_back: bl ftl_sblk_dump ldr r3, [r5, #36] adds r2, r3, #1 - beq .L4082 + beq .L4129 cmp r3, #512 - bne .L4084 -.L4082: + bne .L4131 +.L4129: ldr r3, [r5, #12] mov r2, #-1 str r2, [r3, #4] ldr r3, [r5, #36] cmp r3, r2 - beq .L4083 + beq .L4130 cmp r3, #512 - bne .L4084 -.L4083: + bne .L4131 +.L4130: movw r2, #1223 - ldr r1, .L4191+40 - ldr r0, .L4191+44 + ldr r1, .L4238+40 + ldr r0, .L4238+44 bl printf -.L4084: +.L4131: ldr r3, [r5, #12] - ldr r2, .L4191+48 + ldr r2, .L4238+48 ldr r1, [r3, #4] ldr r2, [r2] cmp r1, r2 itt cs movcs r2, #-1 strcs r2, [r3, #4] - ldr r2, .L4191+52 + ldr r2, .L4238+52 ldr r1, [r3, #4] ldr r2, [r2] str r1, [r2, r7, lsl #2] ldr r2, [r5, #24] str r2, [r3, #8] - b .L4078 -.L4087: - ldr r3, .L4191+56 - ldr r2, .L4191+60 + b .L4125 +.L4134: + ldr r3, .L4238+56 + ldr r2, .L4238+60 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - beq .L4090 + beq .L4137 umull r2, r3, r6, r2 ldr r2, [sp, #20] ldr r0, [sp, #28] @@ -26897,19 +27414,19 @@ gc_do_copy_back: uxtah r2, r2, r3 add r3, r3, r3, lsl #1 add r2, r0, r2, lsl #1 - ldr r0, .L4191+64 + ldr r0, .L4238+64 subs r3, r6, r3 ldrh r2, [r2, #96] ldrh r0, [r0] mla r2, r0, r2, r4 uxtah r3, r2, r3 -.L4186: +.L4233: str r3, [r1, #24] movs r2, #48 - ldr r3, .L4191+68 + ldr r3, .L4238+68 mla r5, r2, r5, r3 - ldr r2, .L4191+60 - ldr r3, .L4191+72 + ldr r2, .L4238+60 + ldr r3, .L4238+72 ldr r1, [r3] umull r2, r3, r6, r2 ldr r2, [r5, #24] @@ -26921,16 +27438,16 @@ gc_do_copy_back: add r3, r3, #16777216 orrs r3, r3, r2 str r3, [r1, r0, lsl #2] -.L4112: - ldr r3, .L4191+76 +.L4159: + ldr r3, .L4238+76 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L4094 - ldr r3, .L4191+80 + cbz r3, .L4141 + ldr r3, .L4238+80 ldrh r3, [r3, r4, lsl #1] cmp r3, r4 - bcs .L4094 + bcs .L4141 lsls r3, r6, #31 - bpl .L4094 + bpl .L4141 ldr r2, [sp, #52] movs r3, #255 ldr r1, [sp, #48] @@ -26942,61 +27459,61 @@ gc_do_copy_back: ldr r3, [r3, #-24] strh r2, [r3, #32] @ movhi ldrb r2, [r3, #1] @ zero_extendqisi2 - ldr r3, .L4191+84 + ldr r3, .L4238+84 ldr r3, [r3] strb r2, [r3, r1] mov r2, #-1 - ldr r3, .L4191+20 + ldr r3, .L4238+20 ldr r3, [r3] str r2, [r3, r7, lsl #2] -.L4094: +.L4141: ldr r3, [sp, #36] adds r3, r3, #1 - b .L4183 -.L4090: + b .L4230 +.L4137: umull r2, r3, r6, r2 ldr r2, [sp, #20] ubfx r3, r3, #1, #16 add r3, r3, r2 ldr r2, [sp, #28] add r3, r2, r3, lsl #1 - ldr r2, .L4191+64 + ldr r2, .L4238+64 ldrh r3, [r3, #96] ldrh r2, [r2] mla r3, r2, r3, r4 - b .L4186 -.L4086: + b .L4233 +.L4133: cmp r3, #2 - bne .L4093 - ldr r3, .L4191+88 + bne .L4140 + ldr r3, .L4238+88 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L4092 + cbnz r3, .L4139 ldr r2, [sp, #20] ldr r3, [sp, #32] add r3, r3, r2 ldr r2, [sp, #28] add r3, r2, r3, lsl #1 - ldr r2, .L4191+64 + ldr r2, .L4238+64 ldrh r3, [r3, #96] ldrh r2, [r2] mla r3, r2, r3, r4 -.L4182: +.L4229: orr r3, r3, #33554432 str r3, [r1, #24] - b .L4093 -.L4092: + b .L4140 +.L4139: ldr r3, [sp, #20] ldr r2, [sp, #28] add r3, r3, r6, lsr #1 add r3, r2, r3, lsl #1 - ldr r2, .L4191+64 + ldr r2, .L4238+64 ldrh r3, [r3, #96] ldrh r2, [r2] mla r3, r2, r3, r4 and r2, r6, #1 add r3, r3, r2 - b .L4182 -.L4099: + b .L4229 +.L4146: add r0, sp, #80 add r5, sp, #80 add r0, r0, r3, lsl #2 @@ -27005,115 +27522,115 @@ gc_do_copy_back: ldr r0, [r0, #-24] ldrb r3, [r3, #1] @ zero_extendqisi2 strb r3, [r0] - b .L4098 -.L4192: + b .L4145 +.L4239: .align 2 -.L4191: - .word .LANCHOR80 +.L4238: + .word .LANCHOR79 .word .LANCHOR131 .word -178307901 - .word .LANCHOR10 - .word .LANCHOR86 - .word .LANCHOR163 + .word .LANCHOR12 + .word .LANCHOR85 + .word .LANCHOR160 .word .LANCHOR221 + .word .LANCHOR74 + .word .LANCHOR31 .word .LANCHOR75 - .word .LANCHOR32 - .word .LANCHOR76 .word .LANCHOR234 .word .LC0 .word .LANCHOR128 - .word .LANCHOR162 - .word .LANCHOR37 + .word .LANCHOR159 + .word .LANCHOR36 .word -1431655765 .word .LANCHOR111 - .word .LANCHOR56 - .word .LANCHOR164 + .word .LANCHOR55 + .word .LANCHOR161 .word .LANCHOR124 .word .LANCHOR235 - .word .LANCHOR83 - .word .LANCHOR81 -.L4097: - ldr r3, .L4193 + .word .LANCHOR82 + .word .LANCHOR80 +.L4144: + ldr r3, .L4240 ldrb r2, [r3] @ zero_extendqisi2 ldr r3, [sp, #56] cmp r2, #0 - beq .L4101 + beq .L4148 strb r1, [r3, #44] -.L4185: +.L4232: mov r2, fp add r1, sp, #68 add r0, sp, #56 bl sblk_xlc_prog_pages -.L4100: - ldr r3, .L4193 +.L4147: + ldr r3, .L4240 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - beq .L4109 + beq .L4156 add r3, fp, fp, lsl #1 uxth fp, r3 -.L4110: - ldr r3, .L4193+4 +.L4157: + ldr r3, .L4240+4 ldr r2, [r3] ldr r3, [r2, #52] add r3, r3, fp str r3, [r2, #52] - ldr r2, .L4193+8 + ldr r2, .L4240+8 ldrh r3, [r2, #2102] add r3, r3, fp uxth r3, r3 strh r3, [r2, #2102] @ movhi - ldr r2, .L4193+12 + ldr r2, .L4240+12 ldrh r1, [r2] ldr r2, [sp, #28] ldrb r2, [r2, #89] @ zero_extendqisi2 muls r2, r1, r2 cmp r3, r2 itttt ge - ldrge r3, .L4193+16 + ldrge r3, .L4240+16 movge r2, #0 ldrge r3, [r3] strhge r2, [r3, #86] @ movhi bl gc_write_completed - b .L4044 -.L4101: + b .L4091 +.L4148: ldr r1, [sp, #24] cmp r1, #1 - bne .L4102 + bne .L4149 movs r2, #9 -.L4104: +.L4151: strb r2, [r3, #44] - b .L4185 -.L4102: + b .L4232 +.L4149: ldr r1, [sp, #24] cmp r1, #2 it eq moveq r2, #13 - b .L4104 -.L4096: - ldr r3, .L4193+20 + b .L4151 +.L4143: + ldr r3, .L4240+20 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L4105 - ldr r3, .L4193+24 + cbz r3, .L4152 + ldr r3, .L4240+24 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L4106 -.L4105: + cbnz r3, .L4153 +.L4152: ldr r2, [sp, #40] subs r1, r2, #1 -.L4107: +.L4154: uxth r2, r3 adds r3, r3, #1 cmp r2, r1 - blt .L4108 + blt .L4155 add r3, sp, #80 add r1, r3, r1, lsl #2 ldr r3, [r1, #-24] - b .L4184 -.L4106: + b .L4231 +.L4153: mov r1, fp add r0, sp, #56 bl sblk_3d_mlc_prog_pages - b .L4100 -.L4108: + b .L4147 +.L4155: add r0, sp, #80 add r5, sp, #80 add r0, r0, r2, lsl #2 @@ -27122,44 +27639,44 @@ gc_do_copy_back: ldr r0, [r0, #-24] ldrb r2, [r2, #1] @ zero_extendqisi2 strb r2, [r0] - b .L4107 -.L4109: - ldr r3, .L4193+20 + b .L4154 +.L4156: + ldr r3, .L4240+20 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L4123 - ldr r3, .L4193+28 + cbnz r3, .L4170 + ldr r3, .L4240+28 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - beq .L4110 + beq .L4157 ldrh r3, [sp, #16] - ldr r2, .L4193+32 + ldr r2, .L4240+32 ldrb r2, [r2] @ zero_extendqisi2 smulbb r3, fp, r3 uxth r3, r3 - cbz r2, .L4124 - ldr r2, .L4193+36 + cbz r2, .L4171 + ldr r2, .L4240+36 ldrh r2, [r2, r4, lsl #1] cmp r2, r4 it cs movcs fp, r3 - b .L4110 -.L4123: + b .L4157 +.L4170: ldr fp, [sp, #44] - b .L4110 -.L4124: + b .L4157 +.L4171: mov fp, r3 - b .L4110 -.L4194: + b .L4157 +.L4241: .align 2 -.L4193: - .word .LANCHOR84 +.L4240: + .word .LANCHOR83 .word .LANCHOR110 - .word .LANCHOR71 - .word .LANCHOR86 - .word .LANCHOR10 + .word .LANCHOR70 + .word .LANCHOR85 + .word .LANCHOR12 + .word .LANCHOR80 .word .LANCHOR81 - .word .LANCHOR82 - .word .LANCHOR36 + .word .LANCHOR35 .word .LANCHOR124 .word .LANCHOR235 .size gc_do_copy_back, .-gc_do_copy_back @@ -27174,100 +27691,99 @@ gc_do_copy_back: zftl_do_gc: @ args = 0, pretend = 0, frame = 24 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L4392 - ldr r2, .L4392+4 push {r4, r5, r6, r7, r8, r10, fp, lr} sub sp, sp, #48 - ldr r4, .L4392+8 - mov r10, r2 - ldrh r7, [r3] - ldrh r6, [r2] - ldr r1, .L4392+12 - ldrb r3, [r4] @ zero_extendqisi2 - add r6, r6, r7 + ldr r3, .L4447 + ldr r7, .L4447+4 + ldr r5, .L4447+8 + ldrh r3, [r3] + ldrh r6, [r7] + ldr r1, .L4447+12 + ldrb r2, [r5] @ zero_extendqisi2 + add r6, r6, r3 str r0, [sp, #32] - ldr r5, [r1] + ldr r4, [r1] uxth r6, r6 mov r8, r1 - cmp r3, #6 - bhi .L4310 - tbh [pc, r3, lsl #1] -.L4198: - .2byte (.L4197-.L4198)/2 - .2byte (.L4199-.L4198)/2 - .2byte (.L4200-.L4198)/2 - .2byte (.L4201-.L4198)/2 - .2byte (.L4202-.L4198)/2 - .2byte (.L4203-.L4198)/2 - .2byte (.L4204-.L4198)/2 + cmp r2, #6 + bhi .L4359 + tbh [pc, r2, lsl #1] +.L4245: + .2byte (.L4244-.L4245)/2 + .2byte (.L4246-.L4245)/2 + .2byte (.L4247-.L4245)/2 + .2byte (.L4248-.L4245)/2 + .2byte (.L4249-.L4245)/2 + .2byte (.L4250-.L4245)/2 + .2byte (.L4251-.L4245)/2 .p2align 1 -.L4203: - ldr r5, .L4392+16 +.L4250: + ldr r4, .L4447+16 movs r7, #0 -.L4205: +.L4252: bl gc_check_data_one_wl mov r10, r0 cmp r0, #0 - beq .L4306 + beq .L4355 ldr r3, [r8] movs r6, #0 - strh r6, [r5, #52] @ movhi + strh r6, [r4, #52] @ movhi ldrh r0, [r3, #80] bl ftl_free_sblk - ldr r1, .L4392+20 + ldr r1, .L4447+20 movw r3, #65535 ldr r2, [r8] - ldr r0, [r5, #8] + ldr r0, [r4, #8] ldr r1, [r1] strh r3, [r2, #80] @ movhi strh r3, [r1, #126] @ movhi strh r3, [r2, #130] @ movhi bl zbuf_free - str r6, [r5, #8] - strb r6, [r4] - b .L4389 -.L4197: - ldr r3, .L4392+24 - ldr r2, .L4392+28 - ldr r1, .L4392+32 - ldrh r3, [r3] - str r2, [sp, #36] - ldrh r1, [r1] + str r6, [r4, #8] + strb r6, [r5] + b .L4444 +.L4244: + ldr r2, .L4447+24 + ldr r1, .L4447+28 + ldr r0, .L4447+32 + ldrh r7, [r2] + ldrh r2, [r1] + ldrh r0, [r0] add r7, r7, r3 - ldrh r3, [r2] + str r1, [sp, #36] uxth r7, r7 - add r3, r3, r1 - ldrh r1, [r5, #80] - uxth r3, r3 - str r3, [sp, #28] - movw r3, #65535 - cmp r1, r3 + add r2, r2, r0 + ldrh r0, [r4, #80] + uxth r2, r2 + str r2, [sp, #28] + movw r2, #65535 + cmp r0, r2 + beq .L4253 ldr r3, [sp, #32] - beq .L4206 - cbnz r3, .L4207 - ldr r3, .L4392+36 + cbnz r3, .L4254 + ldr r3, .L4447+36 ldrh r3, [r3] cmp r6, r3, lsl #1 - blt .L4207 -.L4310: - movs r5, #16 - b .L4195 -.L4207: - ldr r10, .L4392+80 - movs r1, #5 - ldr fp, .L4392+76 - ldrh r0, [r10] - adds r0, r0, #1 - uxth r0, r0 - strh r0, [r10] @ movhi - bl zftl_get_gc_node + blt .L4254 +.L4359: + movs r4, #16 + b .L4242 +.L4254: + ldr r10, .L4447+80 + ldr r0, .L4447+40 + ldr fp, .L4447+84 + ldrh r1, [r10] + adds r1, r1, #1 + uxth r1, r1 + strh r1, [r10] @ movhi + bl _list_get_gc_head_node movw r3, #65535 mov ip, r10 cmp r0, r3 - beq .L4208 - ldr r1, .L4392+40 - ldr lr, .L4392+72 - ldr r2, .L4392+44 + beq .L4255 + ldr r1, .L4447+44 + ldr lr, .L4447+76 + ldr r2, .L4447+48 ldr r1, [r1] ldrh lr, [lr] ldr r3, [r2] @@ -27276,205 +27792,217 @@ zftl_do_gc: adds r3, r3, #1 cmp lr, r1 str r3, [r2] - bcs .L4209 - ldr r2, .L4392+48 + bcs .L4256 + ldr r2, .L4447+52 ldrh r2, [r2] cmp r3, r2, lsr #4 - bls .L4208 - ldr r3, .L4392+52 + bls .L4255 + ldr r3, .L4447+56 ldrh r3, [r3] cmp r3, r1 - bls .L4208 -.L4209: + bls .L4255 +.L4256: ldrb r2, [fp] @ zero_extendqisi2 movs r1, #0 bl gc_add_sblk - cbz r0, .L4210 + cbz r0, .L4257 movs r3, #1 - strb r3, [r4] + strb r3, [r5] movs r3, #0 str r3, [r10] - b .L4310 -.L4208: + b .L4359 +.L4255: movs r3, #0 strh r3, [ip] @ movhi -.L4210: +.L4257: cmp r7, #15 - bls .L4312 - ldr r3, .L4392+56 + bls .L4361 + ldr r3, .L4447+60 ldrh r2, [r3] - ldr r3, .L4392+60 + ldr r3, .L4447+64 ldrh r3, [r3] cmp r2, r3 - bhi .L4312 + bhi .L4361 ldr r3, [sp, #28] cmp r3, #0 ite eq moveq r10, #2 movne r10, #1 -.L4211: - ldr r3, .L4392+64 +.L4258: + ldr r3, .L4447+68 ldr r3, [r3] lsls r3, r3, #23 - bpl .L4212 + bpl .L4259 ldr r3, [r8] - ldrh r1, [r5, #80] + ldrh r1, [r4, #80] ldrb r2, [fp] @ zero_extendqisi2 - ldr r0, .L4392+68 + ldr r0, .L4447+72 str r1, [sp, #16] ldrh r1, [r3, #122] str r1, [sp, #12] ldrh r1, [r3, #120] str r1, [sp, #8] - movw r1, #2662 + movw r1, #2807 ldrh r3, [r3, #124] str r7, [sp] str r3, [sp, #4] mov r3, r6 bl printf -.L4212: +.L4259: movs r2, #1 mov r1, r10 ldrb r0, [fp] @ zero_extendqisi2 bl gc_search_src_blk cmp r0, #0 - ble .L4213 -.L4214: + ble .L4260 +.L4261: movs r3, #1 -.L4390: - strb r3, [r4] - b .L4310 -.L4312: +.L4445: + strb r3, [r5] + b .L4359 +.L4361: mov r10, #2 - b .L4211 -.L4213: + b .L4258 +.L4260: movs r2, #1 movs r1, #3 ldrb r0, [fp] @ zero_extendqisi2 bl gc_search_src_blk cmp r0, #0 - bgt .L4214 - b .L4310 -.L4206: - cmp r3, #1 - bne .L4216 + bgt .L4261 + b .L4359 +.L4253: + ldr r2, [sp, #32] + cmp r2, #1 + bne .L4263 + ldr r2, .L4447+20 + ldr r2, [r2] + ldrh r2, [r2, #150] + cbz r2, .L4264 + cmp r3, #8 + bls .L4264 + bl gc_ink_check_sblk +.L4264: bl gc_scan_static_data ldr r3, [r8] - ldr fp, .L4392+76 + ldr fp, .L4447+84 ldrh r3, [r3, #122] - cbz r3, .L4217 -.L4218: + cbz r3, .L4265 +.L4266: movs r3, #1 strb r3, [fp] - b .L4390 -.L4393: + b .L4445 +.L4448: .align 2 -.L4392: +.L4447: .word .LANCHOR107 .word .LANCHOR103 - .word .LANCHOR159 - .word .LANCHOR10 - .word .LANCHOR71 + .word .LANCHOR156 + .word .LANCHOR12 + .word .LANCHOR70 .word .LANCHOR110 .word .LANCHOR105 .word .LANCHOR97 .word .LANCHOR99 - .word .LANCHOR87 - .word .LANCHOR9 - .word .LANCHOR160 - .word .LANCHOR6 + .word .LANCHOR86 + .word .LANCHOR92 + .word .LANCHOR11 + .word .LANCHOR157 + .word .LANCHOR8 .word .LANCHOR100 - .word .LANCHOR93 + .word .LANCHOR91 .word .LANCHOR101 - .word .LANCHOR14 - .word .LC236 - .word .LANCHOR95 - .word .LANCHOR85 + .word .LANCHOR19 + .word .LC239 + .word .LANCHOR94 .word .LANCHOR96 -.L4217: + .word .LANCHOR84 +.L4265: bl gc_static_wearleveling - mov r5, r0 + mov r4, r0 cmp r0, #0 - bne .L4218 - ldr r10, .L4394+16 + bne .L4266 + ldr r10, .L4449+20 cmp r7, #0 - beq .L4219 + beq .L4267 ldr r3, [sp, #28] - ldr r2, .L4394 + ldr r2, .L4449 cmp r6, r3 - bcs .L4220 + bcs .L4268 ldrh r3, [r2] cmp r3, r6 - bhi .L4221 -.L4220: + bhi .L4269 +.L4268: ldr r3, [sp, #28] ldrh r2, [r2] adds r3, r6, r3 cmp r3, r2 - blt .L4221 - ldr r3, .L4394+4 + blt .L4269 + ldr r3, .L4449+4 ldrh r2, [r3] - ldr r3, .L4394+8 + ldr r3, .L4449+8 ldrh r3, [r3] cmp r2, r3 - bcc .L4219 -.L4221: - movs r1, #1 - movs r0, #16 - strb r1, [fp] - str r1, [sp, #40] - bl zftl_get_gc_node.part.9 - movw r2, #65535 - cmp r0, r2 - beq .L4222 - ldr r2, .L4394+12 - ldr r3, .L4394+16 - ldr r2, [r2] - ldrh r3, [r3] - ldrh r2, [r2, r0, lsl #1] - cmp r2, r3 - bcs .L4222 + bcc .L4267 +.L4269: + movs r3, #1 + movs r1, #16 + ldr r0, .L4449+12 + strb r3, [fp] + str r3, [sp, #40] + bl _list_get_gc_head_node + movw r1, #65535 + cmp r0, r1 + beq .L4270 + ldr r1, .L4449+16 + ldr r2, .L4449+20 + ldr r1, [r1] + ldrh r2, [r2] + ldrh r1, [r1, r0, lsl #1] + cmp r1, r2 + bcs .L4270 cmp r6, #2 - ldr r1, [sp, #40] - bls .L4222 - ldr r3, .L4394+20 + ldr r3, [sp, #40] + bls .L4270 + ldr r1, .L4449+24 movs r2, #0 strb r2, [fp] - str r2, [r3] + str r2, [r1] + mov r1, r3 bl gc_add_sblk cmp r0, #0 - bne .L4214 -.L4222: - movs r1, #3 - movs r0, #0 - bl zftl_get_gc_node + bne .L4261 +.L4270: + movs r1, #0 + ldr r0, .L4449+28 + bl _list_get_gc_head_node movw r2, #65535 cmp r0, r2 - beq .L4223 - ldr r2, .L4394+12 - ldr r3, .L4394+16 + beq .L4271 + ldr r2, .L4449+16 + ldr r3, .L4449+20 ldr r2, [r2] ldrh r3, [r3] ldrh r2, [r2, r0, lsl #1] cmp r2, r3 - bcs .L4223 + bcs .L4271 cmp r6, #2 - bls .L4223 - ldr r3, .L4394+20 + bls .L4271 + ldr r3, .L4449+24 movs r2, #0 movs r1, #1 strb r2, [fp] str r2, [r3] bl gc_add_sblk cmp r0, #0 - bne .L4214 -.L4223: - ldr r2, .L4394+24 + bne .L4261 +.L4271: + ldr r2, .L4449+32 ldrh r3, [r10] - ldr r1, .L4394+28 + ldr r1, .L4449+36 ldrh fp, [r2] adds r3, r3, #1 - ldr r2, .L4394+20 + ldr r2, .L4449+24 uxth r3, r3 cmp r3, fp, lsr #5 strh r3, [r10] @ movhi @@ -27484,146 +28012,151 @@ zftl_do_gc: strhhi r3, [r10] @ movhi mov r10, #0 strh r10, [r1] @ movhi - ldr r1, .L4394+32 + ldr r1, .L4449+40 ldr r3, [r2] strh r10, [r1] @ movhi - ldr r1, .L4394+36 + ldr r1, .L4449+44 adds r3, r3, #1 str r3, [r2] strh r10, [r1] @ movhi - ldr r1, .L4394+40 + ldr r1, .L4449+48 ldrh r1, [r1] cmp r3, r1, lsr #5 - ldr r3, .L4394+44 - ldr r1, .L4394+4 - bls .L4225 + ldr r3, .L4449+52 + ldr r1, .L4449+4 + bls .L4273 ldrh r0, [r1] cmp r0, r7 - bls .L4225 - movs r1, #5 - mov r0, r10 + bls .L4273 + mov r1, r10 + ldr r0, .L4449+56 str r3, [sp, #40] - bl zftl_get_gc_node + bl _list_get_gc_head_node movw r1, #65535 ldr r3, [sp, #40] cmp r0, r1 ldr r2, [sp, #44] - bne .L4226 -.L4379: - movs r5, #16 -.L4227: - ldr r3, [r8] - movs r1, #1 - ldr fp, .L4394+44 - ldrh r3, [r3, #124] - strb r1, [fp] - mov r8, fp - cmp r3, #0 - beq .L4232 - movs r3, #0 - strb r1, [r4] - strb r3, [fp] -.L4195: - mov r0, r5 - add sp, sp, #48 - @ sp needed - pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L4226: - ldr r1, .L4394+12 + bne .L4274 +.L4434: + movs r4, #16 + b .L4275 +.L4274: + ldr r1, .L4449+16 ldr r1, [r1] ldrh r1, [r1, r0, lsl #1] - ldr r0, .L4394+48 + ldr r0, .L4449+60 ldrb r0, [r0] @ zero_extendqisi2 mul fp, fp, r0 cmp r1, fp - bgt .L4379 + bgt .L4434 str r10, [r2] movs r2, #4 -.L4386: +.L4441: movs r1, #2 -.L4378: +.L4433: ldrb r0, [r3] @ zero_extendqisi2 bl gc_search_src_blk uxth r0, r0 cmp r0, #0 - beq .L4379 - b .L4214 -.L4225: - ldr r2, .L4394+8 + beq .L4434 + b .L4261 +.L4273: + ldr r2, .L4449+8 ldrh r1, [r1] ldrh r2, [r2] cmp r1, r2 - bcc .L4230 + bcc .L4278 movs r2, #1 - b .L4386 -.L4230: + b .L4441 +.L4278: ldr r2, [sp, #36] ldrh r2, [r2] - cbnz r2, .L4231 - ldr r2, .L4394+52 + cbnz r2, .L4279 + ldr r2, .L4449+64 ldrh r2, [r2] cmp r2, #8 - bls .L4227 -.L4231: + bls .L4280 +.L4279: movs r2, #4 movs r1, #1 - b .L4378 -.L4219: - ldr r3, .L4394+24 + b .L4433 +.L4280: + ldr r3, .L4449+68 + ldrh r3, [r3, #2106] + cmp r3, #0 + bne .L4434 +.L4275: + ldr r3, [r8] + movs r1, #1 + ldr fp, .L4449+52 + ldrh r3, [r3, #124] + strb r1, [fp] + mov r8, fp + cbz r3, .L4281 + movs r3, #0 + strb r1, [r5] + strb r3, [fp] +.L4242: + mov r0, r4 + add sp, sp, #48 + @ sp needed + pop {r4, r5, r6, r7, r8, r10, fp, pc} +.L4267: + ldr r3, .L4449+32 ldrh r2, [r3] ldrh r3, [r10] cmp r3, r2, lsr #5 itt cs movcs r3, #4 strhcs r3, [r10] @ movhi - b .L4379 -.L4216: - ldr r3, .L4394+56 + b .L4434 +.L4263: + ldr r3, .L4449+72 ldrh r3, [r3] cmp r3, r6 - bcs .L4379 - ldrh r3, [r5, #124] + bcs .L4434 + ldrh r3, [r4, #124] cmp r3, #0 - beq .L4310 - b .L4379 -.L4232: - ldr r2, .L4394+56 + beq .L4359 + b .L4434 +.L4281: + ldr r2, .L4449+72 ldrh r0, [r2] mov r10, r2 cmp r6, r0 - bcs .L4233 + bcs .L4282 cmp r7, #0 - beq .L4234 + beq .L4283 cmp r7, #16 - bls .L4235 - ldr r2, .L4394+4 + bls .L4284 + ldr r2, .L4449+4 ldrh r0, [r2] - ldr r2, .L4394+8 + ldr r2, .L4449+8 ldrh r2, [r2] cmp r0, r2 - bhi .L4235 + bhi .L4284 movs r2, #4 mov r0, r1 str r3, [sp, #28] bl gc_search_src_blk uxth r0, r0 ldr r3, [sp, #28] - cbnz r0, .L4236 -.L4382: + cbnz r0, .L4285 +.L4439: movs r2, #4 movs r1, #3 ldrb r0, [fp] @ zero_extendqisi2 - b .L4381 -.L4236: - mov r0, r3 - movs r1, #5 - bl zftl_get_gc_node + b .L4436 +.L4285: + mov r1, r3 + ldr r0, .L4449+56 + bl _list_get_gc_head_node movw r3, #65535 cmp r0, r3 - beq .L4239 - ldr r1, .L4394+12 - ldr r6, .L4394+24 - ldr r2, .L4394+20 + beq .L4288 + ldr r1, .L4449+16 + ldr r6, .L4449+32 + ldr r2, .L4449+24 ldr r1, [r1] ldrh r6, [r6] ldr r3, [r2] @@ -27632,776 +28165,788 @@ zftl_do_gc: cmp r6, r1 str r3, [r2] mov r6, r2 - bcs .L4240 - ldr r2, .L4394+40 + bcs .L4289 + ldr r2, .L4449+48 ldrh r2, [r2] cmp r3, r2, lsr #4 - bls .L4239 - ldr r3, .L4394+60 + bls .L4288 + ldr r3, .L4449+76 ldrh r3, [r3] cmp r3, r1 - bls .L4239 -.L4240: + bls .L4288 +.L4289: ldrb r2, [r8] @ zero_extendqisi2 movs r1, #0 bl gc_add_sblk - ldr r3, .L4394+64 + ldr r3, .L4449+80 movs r2, #1 str r2, [r3] movs r3, #0 str r3, [r6] -.L4239: +.L4288: movs r3, #1 - b .L4385 -.L4235: + b .L4440 +.L4284: movs r2, #1 movs r1, #2 mov r0, r2 bl gc_search_src_blk uxth r0, r0 cmp r0, #0 - bne .L4239 + bne .L4288 ldrb r0, [r8] @ zero_extendqisi2 movs r2, #4 movs r1, #3 -.L4381: +.L4436: bl gc_search_src_blk uxth r0, r0 -.L4237: +.L4286: cmp r0, #0 - bne .L4239 - b .L4195 -.L4234: + bne .L4288 + b .L4242 +.L4283: cmp r6, #16 strb r7, [fp] - bls .L4242 + bls .L4291 movs r2, #4 movs r1, #3 mov r0, r7 - b .L4381 -.L4242: + b .L4436 +.L4291: mov r2, r1 mov r0, r7 bl gc_search_src_blk uxth r0, r0 cmp r0, #0 - bne .L4239 - b .L4382 -.L4233: - ldr r1, [sp, #32] - cmp r1, #1 - bne .L4195 + bne .L4288 + b .L4439 +.L4282: + ldr r3, [sp, #32] + cmp r3, #1 + bne .L4242 cmp r6, r0, lsl #1 - bge .L4243 + bge .L4292 ldr r3, [sp, #28] cmp r3, r7, lsr #1 - bcs .L4244 - ldr r3, .L4394+4 + bcs .L4293 + ldr r3, .L4449+4 ldrh r1, [r3] - ldr r3, .L4394+8 + ldr r3, .L4449+8 ldrh r3, [r3] cmp r1, r3 - bcs .L4244 - ldr r3, .L4394 + bcs .L4293 + ldr r3, .L4449 ldrh r3, [r3] lsrs r3, r3, #2 strh r3, [r2] @ movhi - b .L4195 -.L4395: + b .L4242 +.L4450: .align 2 -.L4394: +.L4449: .word .LANCHOR98 - .word .LANCHOR93 - .word .LANCHOR101 - .word .LANCHOR9 - .word .LANCHOR161 - .word .LANCHOR160 - .word .LANCHOR95 - .word .LANCHOR90 .word .LANCHOR91 - .word .LANCHOR92 - .word .LANCHOR6 - .word .LANCHOR85 - .word .LANCHOR80 - .word .LANCHOR99 + .word .LANCHOR101 + .word .LANCHOR95 + .word .LANCHOR11 + .word .LANCHOR158 + .word .LANCHOR157 + .word .LANCHOR90 + .word .LANCHOR94 .word .LANCHOR87 + .word .LANCHOR88 + .word .LANCHOR89 + .word .LANCHOR8 + .word .LANCHOR84 + .word .LANCHOR92 + .word .LANCHOR79 + .word .LANCHOR99 + .word .LANCHOR70 + .word .LANCHOR86 .word .LANCHOR100 .word .LANCHOR122 -.L4244: - movs r0, #8 - bl zftl_get_gc_node.part.9 +.L4293: + movs r1, #8 + ldr r0, .L4451 + bl _list_get_gc_head_node movw r2, #65535 cmp r0, r2 - beq .L4245 - ldr r2, .L4396 + beq .L4294 + ldr r2, .L4451+4 ldr r2, [r2] ldrh r3, [r2, r0, lsl #1] cmp r3, #3 - bhi .L4245 - cbz r6, .L4245 + bhi .L4294 + cbz r6, .L4294 movs r2, #0 movs r1, #1 strb r2, [r8] bl gc_add_sblk cmp r0, #0 - bne .L4239 -.L4245: - movs r1, #5 - movs r0, #0 - bl zftl_get_gc_node + bne .L4288 +.L4294: + movs r1, #0 + ldr r0, .L4451+8 + bl _list_get_gc_head_node movw r3, #65535 mov fp, r0 cmp r0, r3 - bne .L4246 -.L4251: + bne .L4295 +.L4300: cmp r7, #1 - bhi .L4247 -.L4248: + bhi .L4296 +.L4297: ldr r3, [sp, #28] cmp r6, r3 - ldr r6, .L4396+4 - bcs .L4255 + ldr r6, .L4451+12 + bcs .L4304 movs r7, #0 - movs r0, #4 + movs r1, #4 + ldr r0, .L4451 strb r7, [r8] - bl zftl_get_gc_node.part.9 + bl _list_get_gc_head_node movw r3, #65535 cmp r0, r3 - beq .L4255 - ldr r3, .L4396 + beq .L4304 + ldr r3, .L4451+4 ldr r3, [r3] ldrh r2, [r3, r0, lsl #1] - ldr r3, .L4396+8 + ldr r3, .L4451+16 ldrh r1, [r3] - ldr r3, .L4396+12 + ldr r3, .L4451+20 ldrb r3, [r3] @ zero_extendqisi2 muls r3, r1, r3 cmp r2, r3, asr #1 - ble .L4257 -.L4255: + ble .L4306 +.L4304: ldrh r3, [r6] lsrs r3, r3, #2 strh r3, [r10] @ movhi - b .L4195 -.L4246: - ldr r2, .L4396+16 - ldr r1, .L4396+20 + b .L4242 +.L4295: + ldr r2, .L4451+24 + ldr r1, .L4451+28 ldr r3, [r2] ldrh r1, [r1] adds r3, r3, #1 str r3, [r2] cmp r3, r1, lsr #4 - bls .L4249 - ldr r3, .L4396 + bls .L4298 + ldr r3, .L4451+4 movs r1, #0 str r1, [r2] ldr r3, [r3] ldrh r2, [r3, r0, lsl #1] - ldr r3, .L4396+24 + ldr r3, .L4451+32 ldrh r3, [r3] cmp r2, r3 - bcs .L4249 + bcs .L4298 movs r3, #1 mov r2, r3 strb r3, [r8] str r3, [sp, #32] bl gc_add_sblk ldr r3, [sp, #32] - cbz r0, .L4249 -.L4385: - strb r3, [r4] - b .L4195 -.L4249: - ldr r3, .L4396 + cbz r0, .L4298 +.L4440: + strb r3, [r5] + b .L4242 +.L4298: + ldr r3, .L4451+4 ldr r3, [r3] ldrh r2, [r3, fp, lsl #1] - ldr r3, .L4396+8 + ldr r3, .L4451+16 ldrh r3, [r3] cmp r2, r3, lsr #1 - bhi .L4250 + bhi .L4299 movs r2, #0 movs r1, #1 mov r0, fp bl gc_add_sblk - b .L4239 -.L4250: + b .L4288 +.L4299: ldr r3, [sp, #36] - ldr r1, .L4396+28 + ldr r1, .L4451+36 ldrh r3, [r3] ldrh r1, [r1] add r3, r3, r1 - ldr r1, .L4396+4 + ldr r1, .L4451+12 ldrh r1, [r1] cmp r3, r1, lsl #1 - ble .L4251 - ldr r3, .L4396+24 + ble .L4300 + ldr r3, .L4451+32 ldrh r3, [r3] cmp r3, r2 - bcc .L4248 - b .L4251 -.L4247: + bcc .L4297 + b .L4300 +.L4296: cmp r7, #16 mov r1, #1 strb r1, [r8] - bls .L4252 - ldr r3, .L4396+32 + bls .L4301 + ldr r3, .L4451+40 ldrh r2, [r3] - ldr r3, .L4396+36 + ldr r3, .L4451+44 ldrh r3, [r3] cmp r2, r3 - bhi .L4252 + bhi .L4301 movs r2, #4 mov r0, r1 -.L4388: +.L4443: bl gc_search_src_blk uxth r0, r0 - cbnz r0, .L4253 + cbnz r0, .L4302 movs r2, #4 movs r1, #3 ldrb r0, [r8] @ zero_extendqisi2 bl gc_search_src_blk uxth r0, r0 -.L4253: +.L4302: ldr r3, [sp, #28] cmp r6, r3, lsr #1 - ldr r3, .L4396+4 + ldr r3, .L4451+12 ldrh r3, [r3] - bls .L4383 + bls .L4437 lsrs r3, r3, #2 -.L4384: +.L4438: strh r3, [r10] @ movhi - b .L4237 -.L4252: + b .L4286 +.L4301: movs r2, #1 movs r1, #2 mov r0, r2 - b .L4388 -.L4257: + b .L4443 +.L4306: movs r2, #4 movs r1, #3 mov r0, r7 bl gc_search_src_blk ldrh r3, [r6] uxth r0, r0 -.L4383: +.L4437: lsrs r3, r3, #1 - b .L4384 -.L4243: - ldr r1, .L4396+4 - mov r5, r3 - ldrh r1, [r1] - lsrs r1, r1, #2 - strh r1, [r2] @ movhi - b .L4195 -.L4199: - ldr r5, .L4396+40 + b .L4438 +.L4292: + ldr r3, .L4451+12 + ldrh r3, [r3] + lsrs r3, r3, #2 + strh r3, [r2] @ movhi + ldr r3, .L4451+48 + ldrh r3, [r3, #2106] + cmp r3, #0 + it eq + moveq r4, #0 + b .L4242 +.L4246: + ldr r4, .L4451+48 movw r3, #65535 - ldrh r2, [r5] + ldrh r2, [r4] cmp r2, r3 - bne .L4258 + bne .L4307 bl gc_get_src_blk - strh r0, [r5] @ movhi -.L4258: - ldrh r2, [r5] + strh r0, [r4] @ movhi +.L4307: + ldrh r2, [r4] movw r3, #65535 cmp r2, r3 - beq .L4259 - ldr r1, .L4396+20 + beq .L4308 + ldr r1, .L4451+28 ldrh r1, [r1] cmp r1, r2 it ls - strhls r3, [r5] @ movhi -.L4259: - ldrh r6, [r5] + strhls r3, [r4] @ movhi +.L4308: + ldrh r6, [r4] movw r3, #65535 cmp r6, r3 - beq .L4391 - ldr r3, .L4396+44 - ldrh r1, [r5, #52] + beq .L4446 + ldr r3, .L4451+52 + ldrh r1, [r4, #52] ldr r3, [r3] add r3, r3, r6, lsl #2 - cbz r1, .L4261 - ldr r0, .L4396+48 + cbz r1, .L4310 + ldr r0, .L4451+56 movs r2, #0 -.L4262: - uxth r5, r2 - cmp r1, r5 - bhi .L4263 -.L4261: +.L4311: + uxth r4, r2 + cmp r1, r4 + bhi .L4312 +.L4310: ldrb r3, [r3, #2] @ zero_extendqisi2 and r2, r3, #224 cmp r2, #224 - beq .L4264 + beq .L4313 tst r3, #192 - bne .L4265 -.L4264: - ldr r3, .L4396 + bne .L4314 +.L4313: + ldr r3, .L4451+4 ldr r3, [r3] ldrh r3, [r3, r6, lsl #1] - cbz r3, .L4267 - movw r2, #3153 - ldr r1, .L4396+52 - ldr r0, .L4396+56 + cbz r3, .L4316 + movw r2, #3306 + ldr r1, .L4451+60 + ldr r0, .L4451+64 bl printf - b .L4267 -.L4263: - ldrh r5, [r0, #2]! + b .L4316 +.L4312: + ldrh r4, [r0, #2]! adds r2, r2, #1 - cmp r5, r6 - bne .L4262 -.L4267: - ldr r3, .L4396+40 + cmp r4, r6 + bne .L4311 +.L4316: + ldr r3, .L4451+48 movw r2, #65535 strh r2, [r3] @ movhi - b .L4310 -.L4265: + b .L4359 +.L4314: movs r3, #2 - b .L4390 -.L4200: + b .L4445 +.L4247: bl gc_scan_src_blk adds r0, r0, #1 - bne .L4268 + bne .L4317 movs r3, #3 - b .L4390 -.L4268: - ldr r3, .L4396+40 + b .L4445 +.L4317: + ldr r3, .L4451+48 movw r1, #65535 ldrh r2, [r3] - mov r5, r3 + mov r4, r3 cmp r2, r1 - beq .L4214 + beq .L4261 ldrh r1, [r3, #20] - cbz r1, .L4269 + cbz r1, .L4318 movs r2, #4 - strb r2, [r4] + strb r2, [r5] movs r2, #0 strh r2, [r3, #22] @ movhi - b .L4310 -.L4269: + b .L4359 +.L4318: movs r3, #1 - strb r3, [r4] - ldr r4, .L4396 - ldr r1, [r4] + strb r3, [r5] + ldr r5, .L4451+4 + ldr r1, [r5] ldrh r2, [r1, r2, lsl #1] - cbz r2, .L4270 - movw r2, #3183 - ldr r1, .L4396+52 - ldr r0, .L4396+56 + cbz r2, .L4319 + movw r2, #3336 + ldr r1, .L4451+60 + ldr r0, .L4451+64 bl printf -.L4270: - ldrh r0, [r5] +.L4319: + ldrh r0, [r4] bl ftl_free_sblk - ldr r3, [r4] - movs r4, #0 - ldrh r2, [r5] - strh r4, [r3, r2, lsl #1] @ movhi - ldrh r3, [r5, #26] + ldr r3, [r5] + movs r5, #0 + ldrh r2, [r4] + strh r5, [r3, r2, lsl #1] @ movhi + ldrh r3, [r4, #26] adds r3, r3, #1 uxth r3, r3 cmp r3, #8 - bhi .L4271 - strh r3, [r5, #26] @ movhi - b .L4267 -.L4271: - strh r4, [r5, #26] @ movhi + bhi .L4320 + strh r3, [r4, #26] @ movhi + b .L4316 +.L4320: + strh r5, [r4, #26] @ movhi bl ftl_flush bl pm_flush bl ftl_ext_info_flush - mov r0, r4 + mov r0, r5 bl ftl_info_flush - b .L4267 -.L4201: - ldr r7, .L4396+40 - mov r5, r7 -.L4355: + b .L4316 +.L4248: + ldr r7, .L4451+48 + mov r4, r7 +.L4408: bl gc_scan_src_blk_one_page - ldr r3, .L4396+8 + ldr r3, .L4451+16 ldrh r2, [r7, #2] ldrh r3, [r3] cmp r2, r3 - bcs .L4273 + bcs .L4322 cmp r6, #7 - bls .L4355 - b .L4310 -.L4397: + bls .L4408 + b .L4359 +.L4452: .align 2 -.L4396: - .word .LANCHOR9 - .word .LANCHOR98 +.L4451: .word .LANCHOR95 - .word .LANCHOR80 - .word .LANCHOR160 - .word .LANCHOR6 + .word .LANCHOR11 + .word .LANCHOR92 + .word .LANCHOR98 + .word .LANCHOR94 + .word .LANCHOR79 + .word .LANCHOR157 + .word .LANCHOR8 .word .LANCHOR100 .word .LANCHOR99 - .word .LANCHOR93 + .word .LANCHOR91 .word .LANCHOR101 - .word .LANCHOR71 - .word .LANCHOR7 - .word .LANCHOR71+52 + .word .LANCHOR70 + .word .LANCHOR9 + .word .LANCHOR70+52 .word .LANCHOR237 .word .LC0 -.L4273: +.L4322: ldrh r3, [r7, #20] ldrh r1, [r7] - cbz r3, .L4274 + cbz r3, .L4323 movs r2, #4 - strb r2, [r4] + strb r2, [r5] movs r2, #0 - ldr r4, .L4398 + ldr r5, .L4453 strh r2, [r7, #22] @ movhi - ldr r2, [r4] + ldr r2, [r5] ldrh r2, [r2, r1, lsl #1] cmp r3, r2 - beq .L4275 - ldr r0, .L4398+4 + beq .L4324 + ldr r0, .L4453+4 ldr r0, [r0] - lsls r0, r0, #21 - bpl .L4275 - ldr r0, .L4398+8 + lsls r6, r0, #21 + bpl .L4324 + ldr r0, .L4453+8 bl printf -.L4275: - ldr r3, [r4] - ldrh r2, [r5] +.L4324: + ldr r3, [r5] + ldrh r2, [r4] ldrh r2, [r3, r2, lsl #1] - ldrh r3, [r5, #20] + ldrh r3, [r4, #20] cmp r2, r3 - beq .L4276 - movw r2, #3226 - ldr r1, .L4398+12 - ldr r0, .L4398+16 + beq .L4325 + movw r2, #3379 + ldr r1, .L4453+12 + ldr r0, .L4453+16 bl printf -.L4276: - ldrh r1, [r5, #20] - ldrh r2, [r5] - ldr r3, [r4] +.L4325: + ldrh r1, [r4, #20] + ldrh r2, [r4] + ldr r3, [r5] strh r1, [r3, r2, lsl #1] @ movhi - b .L4310 -.L4274: - ldr r3, .L4398+20 + b .L4359 +.L4323: + ldr r3, .L4453+20 ldr r6, [r3] movs r3, #1 - strb r3, [r4] - ldr r3, .L4398+4 + strb r3, [r5] + ldr r3, .L4453+4 add r6, r6, r1, lsl #2 ldr r3, [r3] - lsls r7, r3, #23 - bpl .L4277 + lsls r5, r3, #23 + bpl .L4326 ldrb r2, [r6, #2] @ zero_extendqisi2 - ldr r0, .L4398+24 + ldr r0, .L4453+24 lsrs r2, r2, #5 bl printf -.L4277: +.L4326: ldrb r3, [r6, #2] @ zero_extendqisi2 and r2, r3, #224 cmp r2, #224 - beq .L4278 + beq .L4327 tst r3, #192 - bne .L4279 -.L4278: - movw r2, #3236 - ldr r1, .L4398+12 - ldr r0, .L4398+16 + bne .L4328 +.L4327: + movw r2, #3389 + ldr r1, .L4453+12 + ldr r0, .L4453+16 bl printf -.L4279: - ldrh r0, [r5] +.L4328: + ldrh r0, [r4] bl ftl_free_sblk movw r3, #65535 - strh r3, [r5] @ movhi - ldrh r3, [r5, #26] + strh r3, [r4] @ movhi + ldrh r3, [r4, #26] adds r3, r3, #1 uxth r3, r3 cmp r3, #8 - bhi .L4280 - strh r3, [r5, #26] @ movhi - b .L4310 -.L4280: + bhi .L4329 + strh r3, [r4, #26] @ movhi + b .L4359 +.L4329: movs r3, #0 - strh r3, [r5, #26] @ movhi -.L4389: + strh r3, [r4, #26] @ movhi +.L4444: bl flt_sys_flush - b .L4310 -.L4202: - ldrh r2, [r5, #80] + b .L4359 +.L4249: + ldrh r2, [r4, #80] movw r3, #65535 cmp r2, r3 - bne .L4281 - ldr r3, .L4398+28 - ldrb r7, [r3] @ zero_extendqisi2 - cmp r7, #1 - bne .L4281 - ldr r6, .L4398+32 + bne .L4330 + ldr r3, .L4453+28 + ldrb r10, [r3] @ zero_extendqisi2 + cmp r10, #1 + bne .L4330 + ldr r6, .L4453+32 bl ftl_flush movs r1, #5 - ldrh r0, [r6, #2106] - cbz r0, .L4282 - mov r0, r7 -.L4282: + ldrh r0, [r6, #2180] + cbz r0, .L4331 + mov r0, r10 +.L4331: bl zftl_gc_get_free_sblk movw r3, #65535 - mov r4, r0 + mov r5, r0 cmp r0, r3 - beq .L4284 - ldr r3, .L4398+20 + beq .L4333 + ldr r3, .L4453+20 ldr r7, [r3] add r7, r7, r0, lsl #2 ldrb r3, [r7, #2] @ zero_extendqisi2 tst r3, #224 - beq .L4285 - movw r2, #3270 - ldr r1, .L4398+12 - ldr r0, .L4398+16 + beq .L4334 + movw r2, #3423 + ldr r1, .L4453+12 + ldr r0, .L4453+16 bl printf -.L4285: +.L4334: ldrb r3, [r7, #2] @ zero_extendqisi2 and r3, r3, #15 orr r3, r3, #176 strb r3, [r7, #2] -.L4309: +.L4358: movs r1, #1 - mov r0, r4 + mov r0, r5 bl ftl_erase_sblk movs r3, #5 - add r1, r5, #96 - strb r3, [r5, #84] - mov r0, r4 + add r1, r4, #96 + strb r3, [r4, #84] + mov r0, r5 bl ftl_get_blk_list_in_sblk - ldr r3, .L4398+36 + ldr r3, .L4453+36 uxtb r0, r0 movs r7, #0 - ldr r10, .L4398+64 - strb r0, [r5, #89] + ldr r10, .L4453+64 + strb r0, [r4, #89] movs r1, #255 ldrh r3, [r3] - strh r4, [r5, #80] @ movhi - strh r7, [r5, #82] @ movhi - strb r7, [r5, #85] + strh r5, [r4, #80] @ movhi + strh r7, [r4, #82] @ movhi + strb r7, [r4, #85] smulbb r0, r3, r0 - strh r7, [r5, #90] @ movhi + strh r7, [r4, #90] @ movhi ldrh r3, [r10] - strh r0, [r5, #86] @ movhi - ldr r5, .L4398+40 - ldrb r2, [r5] @ zero_extendqisi2 + strh r0, [r4, #86] @ movhi + ldr r4, .L4453+40 + ldrb r2, [r4] @ zero_extendqisi2 muls r2, r3, r2 - ldr r3, .L4398+44 + ldr r3, .L4453+44 ldr r0, [r3] lsls r2, r2, #2 bl ftl_memset ldrh r3, [r10] movs r1, #255 - ldrb r2, [r5] @ zero_extendqisi2 + ldrb r2, [r4] @ zero_extendqisi2 muls r2, r3, r2 - ldr r3, .L4398+48 + ldr r3, .L4453+48 ldr r0, [r3] lsls r2, r2, #2 bl ftl_memset ldrh r3, [r10] movs r1, #255 - ldrb r2, [r5] @ zero_extendqisi2 + ldrb r2, [r4] @ zero_extendqisi2 muls r2, r3, r2 - ldr r3, .L4398+52 + ldr r3, .L4453+52 ldr r0, [r3] bl ftl_memset ldr r3, [r8] movw r2, #65535 strh r2, [r3, #128] @ movhi strh r2, [r3, #130] @ movhi - str r4, [r3, #132] + str r5, [r3, #132] bl pm_flush bl ftl_ext_info_flush - ldr r3, .L4398+56 + ldr r3, .L4453+56 mov r0, r7 strh r7, [r6, #52] @ movhi ldr r3, [r3] - strh r4, [r3, #126] @ movhi + strh r5, [r3, #126] @ movhi mov r3, #-1 strh r7, [r6, #2102] @ movhi strh r7, [r6, #2104] @ movhi - strh r7, [r6, #2108] @ movhi - str r3, [r6, #2112] + strh r7, [r6, #2182] @ movhi + str r3, [r6, #2184] bl ftl_info_flush - b .L4310 -.L4281: + b .L4359 +.L4330: ldr r3, [sp, #32] - ldr r7, .L4398+28 + ldr r10, .L4453+28 cmp r3, #1 ite ne movne fp, #1 moveq fp, #4 cmp r6, #15 - ldr r6, .L4398+32 + ldr r6, .L4453+32 it ls addls fp, fp, #4 -.L4288: +.L4337: add fp, fp, #-1 uxtb fp, fp cmp fp, #255 - beq .L4310 + beq .L4359 bl gc_do_copy_back - ldrb r3, [r7] @ zero_extendqisi2 + ldrb r3, [r10] @ zero_extendqisi2 cmp r3, #0 - bne .L4289 - ldr r3, .L4398+60 + bne .L4338 + ldr r3, .L4453+60 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #3 - bhi .L4290 + bhi .L4339 bl ftl_write_commit -.L4290: +.L4339: ldrh r2, [r6, #22] ldrh r3, [r6, #20] cmp r2, r3 - bcc .L4288 + bcc .L4337 + ldr r4, .L4453 movs r3, #1 - strb r3, [r4] - ldr r4, .L4398 + strb r3, [r5] bl ftl_write_commit bl ftl_flush ldrh r1, [r6] ldr r2, [r4] ldrh r2, [r2, r1, lsl #1] - cbz r2, .L4292 - movw r2, #3354 - ldr r1, .L4398+12 - ldr r0, .L4398+16 + cbz r2, .L4341 + movw r2, #3507 + ldr r1, .L4453+12 + ldr r0, .L4453+16 bl printf -.L4292: +.L4341: ldrh r0, [r6] ldr r3, [r4] ldrh r3, [r3, r0, lsl #1] - cbnz r3, .L4293 + cbnz r3, .L4342 bl ftl_free_sblk - b .L4267 -.L4293: + b .L4316 +.L4342: movs r2, #1 movs r1, #0 bl gc_add_sblk - b .L4267 -.L4399: + b .L4316 +.L4454: .align 2 -.L4398: - .word .LANCHOR9 - .word .LANCHOR14 - .word .LC237 +.L4453: + .word .LANCHOR11 + .word .LANCHOR19 + .word .LC240 .word .LANCHOR237 .word .LC0 - .word .LANCHOR7 - .word .LC238 - .word .LANCHOR85 - .word .LANCHOR71 - .word .LANCHOR95 - .word .LANCHOR80 - .word .LANCHOR162 - .word .LANCHOR163 - .word .LANCHOR83 + .word .LANCHOR9 + .word .LC241 + .word .LANCHOR84 + .word .LANCHOR70 + .word .LANCHOR94 + .word .LANCHOR79 + .word .LANCHOR159 + .word .LANCHOR160 + .word .LANCHOR82 .word .LANCHOR110 - .word .LANCHOR58 - .word .LANCHOR86 -.L4289: - ldrh r3, [r6, #2108] + .word .LANCHOR57 + .word .LANCHOR85 +.L4338: + ldrh r3, [r6, #2182] cmp r3, #0 - beq .L4294 + beq .L4343 movs r3, #0 - ldr r7, .L4400 - strh r3, [r6, #2108] @ movhi + ldr r10, .L4455+60 + strh r3, [r6, #2182] @ movhi bl sblk_wait_write_queue_completed bl gc_write_completed - ldr r0, [r6, #2112] - adds r5, r0, #1 - beq .L4295 - ldr r3, .L4400+4 + ldr r0, [r6, #2184] + adds r4, r0, #1 + beq .L4344 + ldr r3, .L4455 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L4296 - ldr r3, .L4400+8 + cbnz r3, .L4345 + ldr r3, .L4455+4 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - beq .L4297 -.L4296: - ldr r3, [r7] + beq .L4346 +.L4345: + ldr r3, [r10] ldr r2, [r3, #156] - ldr r3, .L4400+12 + ldr r3, .L4455+8 cmp r2, r3 - bne .L4297 - ldr r3, .L4400+16 + bne .L4346 + ldr r3, .L4455+12 ldrh r1, [r3] - ldr r3, .L4400+20 + ldr r3, .L4455+16 ldrb r3, [r3] @ zero_extendqisi2 lsrs r0, r0, r1 rsb r3, r3, #24 subs r2, r3, r1 movs r3, #1 lsls r3, r3, r2 - ldr r2, .L4400+24 + ldr r2, .L4455+20 subs r3, r3, #1 ldrb r1, [r2] @ zero_extendqisi2 ands r0, r0, r3 bl __aeabi_uidiv - ldr r3, .L4400+28 + ldr r3, .L4455+24 ldr r3, [r3] - add r5, r3, r0, lsl #2 - ldrb r2, [r5, #2] @ zero_extendqisi2 + add r4, r3, r0, lsl #2 + ldrb r2, [r4, #2] @ zero_extendqisi2 lsls r1, r2, #28 - bpl .L4295 - ldr ip, .L4400+60 - ldrh r1, [r10] - ldrh ip, [ip] + bpl .L4344 + ldrh r1, [r7] + ldr r7, .L4455+28 adds r1, r1, #8 - cmp r1, ip - bge .L4295 - ldr r1, .L4400+32 + ldrh r7, [r7] + cmp r1, r7 + bge .L4344 + ldr r1, .L4455+32 bfc r2, #3, #2 - strb r2, [r5, #2] + strb r2, [r4, #2] ldr r2, [r3, r0, lsl #2] ldrh r1, [r1] - ldrh r5, [r3, r0, lsl #2] + ldrh r4, [r3, r0, lsl #2] ubfx r2, r2, #11, #8 muls r1, r2, r1 - ubfx ip, r5, #0, #11 + ubfx r7, r4, #0, #11 lsrs r2, r2, #3 add r1, r1, r1, lsl #1 - add r1, ip, r1, asr #2 - bfi r5, r1, #0, #11 - strh r5, [r3, r0, lsl #2] @ movhi + add r1, r7, r1, asr #2 + bfi r4, r1, #0, #11 + strh r4, [r3, r0, lsl #2] @ movhi ldr r1, [r3, r0, lsl #2] bfi r1, r2, #11, #8 str r1, [r3, r0, lsl #2] -.L4295: +.L4344: ldr r3, [r8] - movs r5, #0 - str r5, [r6, #2112] - strh r5, [r6, #52] @ movhi + movs r4, #0 + str r4, [r6, #2184] + strh r4, [r6, #52] @ movhi ldrh r0, [r3, #80] bl ftl_free_sblk ldr r0, [r6, #8] movw r3, #65535 ldr r2, [r8] - ldr r1, [r7] + ldr r1, [r10] strh r3, [r2, #80] @ movhi strh r3, [r1, #126] @ movhi strh r3, [r2, #130] @ movhi - cbz r0, .L4298 + cbz r0, .L4347 bl zbuf_free -.L4298: - str r5, [r6, #8] +.L4347: + str r4, [r6, #8] bl flt_sys_flush - movw r2, #3413 - ldr r1, .L4400+36 - ldr r0, .L4400+40 - strb r5, [r4] + movw r2, #3567 + ldr r1, .L4455+36 + ldr r0, .L4455+40 + strb r4, [r5] bl printf - b .L4310 -.L4297: + b .L4359 +.L4346: bl ftl_mask_bad_block - b .L4295 -.L4294: - ldrh r3, [r5, #86] + b .L4344 +.L4343: + ldrh r3, [r4, #86] ldrh r2, [r6, #22] cmp r3, #1 ldrh r3, [r6, #20] - bls .L4299 + bls .L4348 cmp r2, r3 - bcc .L4288 + bcc .L4337 movs r3, #1 - strb r3, [r4] + strb r3, [r5] ldrh r3, [r6, #52] adds r2, r3, #1 strh r2, [r6, #52] @ movhi @@ -28410,12 +28955,12 @@ zftl_do_gc: strh r2, [r3, #54] @ movhi movw r3, #65535 strh r3, [r6] @ movhi - b .L4310 -.L4299: + b .L4359 +.L4348: cmp r2, r3 mov r1, #5 - strb r1, [r4] - bcc .L4300 + strb r1, [r5] + bcc .L4349 ldrh r3, [r6, #52] adds r2, r3, #1 strh r2, [r6, #52] @ movhi @@ -28424,109 +28969,109 @@ zftl_do_gc: strh r2, [r3, #54] @ movhi movw r3, #65535 strh r3, [r6] @ movhi -.L4300: +.L4349: bl ftl_flush bl sblk_wait_write_queue_completed bl gc_write_completed ldr r3, [r8] - ldrh r2, [r5, #80] + ldrh r2, [r4, #80] strh r2, [r3, #128] @ movhi bl pm_flush bl ftl_ext_info_flush movs r3, #0 - ldr r2, .L4400+44 + ldr r2, .L4455+44 strh r3, [r6, #12] @ movhi - ldr r3, .L4400+48 + ldr r3, .L4455+48 ldrb r2, [r2] @ zero_extendqisi2 ldrh r3, [r3] strh r3, [r6, #14] @ movhi - ldr r3, .L4400+52 + ldr r3, .L4455+52 ldrb r3, [r3] @ zero_extendqisi2 strh r3, [r6, #16] @ movhi - cbz r2, .L4301 - ldr r2, .L4400+56 + cbz r2, .L4350 + ldr r2, .L4455+56 ldrh r2, [r2] strh r2, [r6, #14] @ movhi movs r2, #1 strh r2, [r6, #16] @ movhi -.L4301: +.L4350: cmp r3, #2 - bne .L4303 + bne .L4352 ldrh r3, [r6, #14] lsls r3, r3, #1 strh r3, [r6, #14] @ movhi - ldr r3, .L4400+8 + ldr r3, .L4455+4 ldrb r3, [r3] @ zero_extendqisi2 - cbnz r3, .L4303 + cbnz r3, .L4352 movs r3, #1 strh r3, [r6, #16] @ movhi -.L4303: +.L4352: movs r3, #0 strh r3, [r6, #18] @ movhi - b .L4310 -.L4306: - ldrh r2, [r5, #12] - ldrh r3, [r5, #14] + b .L4359 +.L4355: + ldrh r2, [r4, #12] + ldrh r3, [r4, #14] cmp r2, r3 - bcc .L4307 + bcc .L4356 movs r3, #6 - ldr r0, [r5, #8] - strb r3, [r4] + ldr r0, [r4, #8] + strb r3, [r5] bl zbuf_free - str r10, [r5, #8] - b .L4310 -.L4307: + str r10, [r4, #8] + b .L4359 +.L4356: cmp r6, #15 - bls .L4205 + bls .L4252 ldr r3, [sp, #32] cmp r3, #1 - bne .L4310 + bne .L4359 adds r7, r7, #1 uxtb r7, r7 cmp r7, #4 - bls .L4205 - b .L4310 -.L4204: + bls .L4252 + b .L4359 +.L4251: bl gc_update_l2p_map_new bl gc_free_src_blk bl ftl_flush movw r6, #65535 bl pm_flush - strh r6, [r5, #80] @ movhi + strh r6, [r4, #80] @ movhi bl ftl_ext_info_flush - ldr r3, .L4400 + ldr r3, .L4455+60 movs r0, #0 ldr r3, [r3] strh r6, [r3, #126] @ movhi bl ftl_info_flush -.L4391: +.L4446: movs r3, #0 - b .L4390 -.L4284: - movw r2, #3277 - ldr r1, .L4400+36 - ldr r0, .L4400+40 + b .L4445 +.L4333: + movw r2, #3430 + ldr r1, .L4455+36 + ldr r0, .L4455+40 bl printf - b .L4309 -.L4401: + b .L4358 +.L4456: .align 2 -.L4400: - .word .LANCHOR110 +.L4455: .word .LANCHOR124 - .word .LANCHOR81 + .word .LANCHOR80 .word 1145785929 + .word .LANCHOR74 + .word .LANCHOR31 .word .LANCHOR75 - .word .LANCHOR32 - .word .LANCHOR76 - .word .LANCHOR7 - .word .LANCHOR8 + .word .LANCHOR9 + .word .LANCHOR98 + .word .LANCHOR10 .word .LANCHOR237 .word .LC0 - .word .LANCHOR36 - .word .LANCHOR95 - .word .LANCHOR79 - .word .LANCHOR86 - .word .LANCHOR98 + .word .LANCHOR35 + .word .LANCHOR94 + .word .LANCHOR78 + .word .LANCHOR85 + .word .LANCHOR110 .size zftl_do_gc, .-zftl_do_gc .section .text.zftl_init,"ax",%progbits .align 1 @@ -28539,79 +29084,79 @@ zftl_do_gc: zftl_init: @ args = 0, pretend = 0, frame = 24 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L4481 + ldr r2, .L4536 movs r3, #255 push {r4, r5, r6, r7, r8, r10, fp, lr} movs r5, #0 - ldr r7, .L4481+4 + ldr r7, .L4536+4 sub sp, sp, #24 strb r3, [r2] - ldr r2, .L4481+8 - ldr r1, .L4481+12 - ldr r0, .L4481+16 + ldr r2, .L4536+8 + ldr r1, .L4536+12 + ldr r0, .L4536+16 strb r5, [r2] - ldr r2, .L4481+20 - ldr r6, .L4481+24 + ldr r2, .L4536+20 + ldr r6, .L4536+24 strb r3, [r2] - ldr r2, .L4481+28 + ldr r2, .L4536+28 strb r5, [r2] - ldr r2, .L4481+32 + ldr r2, .L4536+32 strb r3, [r2] mov r2, #-1 - ldr r3, .L4481+36 + ldr r3, .L4536+36 strb r5, [r3] - ldr r3, .L4481+40 + ldr r3, .L4536+40 str r2, [r3] bl printf ldrb r8, [r7, #12] @ zero_extendqisi2 - ldr r3, .L4481+44 + ldr r3, .L4536+44 ldrb fp, [r7, #9] @ zero_extendqisi2 mov r1, r8 strb r8, [r3] - ldr r3, .L4481+48 + ldr r3, .L4536+48 strb fp, [r3] ldrh r3, [r7, #10] str r3, [sp] - ldr r3, .L4481+52 + ldr r3, .L4536+52 ldrh r2, [sp] ldr r0, [sp] strh r2, [r3] @ movhi bl __aeabi_idiv - ldr r2, .L4481+56 + ldr r2, .L4536+56 mov r3, r0 - ldr r1, .L4481+60 + ldr r1, .L4536+60 ldrh r10, [r7, #14] ldrb r4, [r2] @ zero_extendqisi2 - ldr r2, .L4481+64 + ldr r2, .L4536+64 strh r0, [r6] @ movhi - ldr r0, .L4481+68 + ldr r0, .L4536+68 strb r4, [r2] ldrb r2, [r7, #13] @ zero_extendqisi2 str r6, [sp, #8] str r0, [sp, #12] strb r2, [r1] smulbb r4, r4, r2 - ldr r2, .L4481+72 + ldr r2, .L4536+72 strh r10, [r2] @ movhi lsl r2, fp, #9 uxtb r4, r4 uxth r2, r2 strb r4, [r0] str r2, [sp, #4] - ldr r2, .L4481+76 + ldr r2, .L4536+76 ldrh r1, [sp, #4] strh r1, [r2] @ movhi - ldr r2, .L4481+80 + ldr r2, .L4536+80 ldrh r1, [r2] - ldr r2, .L4481+84 + ldr r2, .L4536+84 strh r1, [r2] @ movhi movs r2, #1 -.L4403: +.L4458: cmp r1, r2 uxth r0, r5 add r5, r5, #1 - bcs .L4404 - ldr r1, .L4481+88 + bcs .L4459 + ldr r1, .L4536+88 subs r2, r0, #1 movs r6, #0 movs r5, #1 @@ -28620,33 +29165,33 @@ zftl_init: mul r2, r2, fp mul r0, r2, r10 lsrs r7, r0, #21 -.L4405: +.L4460: cmp r7, r5 uxth r1, r6 add r6, r6, #1 - bcs .L4406 + bcs .L4461 mov r5, #1892352 subs r1, r1, #1 mul r6, r5, r4 uxth r1, r1 - ldr r7, .L4481+92 + ldr r7, .L4536+92 lsr r10, r10, #4 muls r0, r4, r0 str r2, [sp, #20] str r3, [sp, #16] lsl r5, r6, r1 - ldr r1, .L4481+96 + ldr r1, .L4536+96 add r6, r5, #24576 str r0, [r7] str r5, [r1] mov r0, r6 - ldr r1, .L4481+100 + ldr r1, .L4536+100 str r6, [r1] mov r1, fp bl __aeabi_uidiv ldr r3, [sp, #4] - ldr r1, .L4481+104 - ldr fp, .L4481+172 + ldr r1, .L4536+104 + ldr fp, .L4536+172 add ip, r3, #-1 str r0, [r1] add r0, ip, r0, lsl #2 @@ -28659,24 +29204,24 @@ zftl_init: mul r1, r4, r3 bl __aeabi_idiv ldr r2, [sp, #20] - ldr r3, .L4481+108 + ldr r3, .L4536+108 mul r1, r4, r2 strh r0, [r3] @ movhi mov r0, r6 mov r6, fp subs r1, r1, #1 bl __aeabi_uidiv - ldr r3, .L4481+112 + ldr r3, .L4536+112 adds r0, r0, #8 cmp r10, #79 - ldr ip, .L4481+212 + ldr ip, .L4536+212 it ls movls r2, #80 - ldr lr, .L4481+132 + ldr lr, .L4536+132 strh r0, [r3] @ movhi mov r1, #48 - ldr r3, .L4481+116 - ldr r0, .L4481+120 + ldr r3, .L4536+116 + ldr r0, .L4536+120 strh r10, [r3] @ movhi it ls strhls r2, [r3] @ movhi @@ -28685,211 +29230,211 @@ zftl_init: movs r3, #50 strh r3, [r0] @ movhi mov r2, #256 - ldr r3, .L4481+124 + ldr r3, .L4536+124 cmp r8, #2 mov r8, r0 strh r2, [r3] @ movhi - ldr r2, .L4481+128 + ldr r2, .L4536+128 strh r1, [r2] @ movhi mov r1, #32 strh r1, [lr] @ movhi mov r10, r2 mov lr, ip - beq .L4408 - ldr fp, .L4481+216 + beq .L4463 + ldr fp, .L4536+216 ldrb fp, [fp] @ zero_extendqisi2 cmp fp, #0 - beq .L4409 -.L4408: + beq .L4464 +.L4463: movs r2, #150 movs r1, #12 strh r2, [r8] @ movhi movs r2, #64 strh r2, [r10] @ movhi - ldr r2, .L4481+132 + ldr r2, .L4536+132 strh r1, [r2] @ movhi - ldr r1, .L4481+136 + ldr r1, .L4536+136 ldrb r1, [r1] @ zero_extendqisi2 - cbnz r1, .L4410 + cbnz r1, .L4465 movs r1, #4 strh r1, [r2] @ movhi mov r2, #600 strh r2, [lr] @ movhi movs r2, #128 strh r2, [r3] @ movhi -.L4410: - ldr r3, .L4481+140 +.L4465: + ldr r3, .L4536+140 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L4412 + cbz r3, .L4467 movs r3, #200 strh r3, [r8] @ movhi mov r3, #2000 strh r3, [lr] @ movhi -.L4412: - ldr r3, .L4481+144 +.L4467: + ldr r3, .L4536+144 movs r2, #0 str r2, [r3] movs r2, #1 - ldr r3, .L4481+148 + ldr r3, .L4536+148 strb r2, [r3] ldr r2, [sp] muls r4, r2, r4 ldr r2, [sp, #4] cmp r2, r4, lsl #2 - ldr r4, .L4481+152 + ldr r4, .L4536+152 itt lt movlt r2, #2 strblt r2, [r3] ldr r3, [r4] lsls r3, r3, #19 - bpl .L4415 + bpl .L4470 mov r1, r5 - ldr r0, .L4481+156 + ldr r0, .L4536+156 bl printf -.L4415: +.L4470: ldr r3, [r4] lsls r5, r3, #19 - bpl .L4416 + bpl .L4471 ldr r1, [r7] - ldr r0, .L4481+160 + ldr r0, .L4536+160 bl printf -.L4416: +.L4471: ldr r3, [r4] lsls r0, r3, #19 - bpl .L4417 - ldr r3, .L4481+104 - ldr r0, .L4481+164 + bpl .L4472 + ldr r3, .L4536+104 + ldr r0, .L4536+164 ldr r1, [r3] bl printf -.L4417: +.L4472: ldr r3, [r4] lsls r1, r3, #19 - bpl .L4418 - ldr r3, .L4481+100 - ldr r0, .L4481+168 + bpl .L4473 + ldr r3, .L4536+100 + ldr r0, .L4536+168 ldr r1, [r3] bl printf -.L4418: +.L4473: ldr r3, [r4] lsls r2, r3, #19 - bpl .L4419 - ldr r3, .L4481+172 - ldr r0, .L4481+176 + bpl .L4474 + ldr r3, .L4536+172 + ldr r0, .L4536+176 ldrh r1, [r3] bl printf -.L4419: +.L4474: ldr r3, [r4] - ldr r8, .L4481+76 + ldr r8, .L4536+76 tst r3, #4096 - beq .L4420 + beq .L4475 ldrh r1, [r8] - ldr r0, .L4481+180 + ldr r0, .L4536+180 bl printf -.L4420: +.L4475: ldr r3, [r4] lsls r3, r3, #19 - bpl .L4421 - ldr r3, .L4481+108 - ldr r0, .L4481+184 + bpl .L4476 + ldr r3, .L4536+108 + ldr r0, .L4536+184 ldrh r1, [r3] bl printf -.L4421: +.L4476: ldr r3, [r4] lsls r7, r3, #19 - bpl .L4422 - ldr r3, .L4481+116 - ldr r0, .L4481+188 + bpl .L4477 + ldr r3, .L4536+116 + ldr r0, .L4536+188 ldrh r1, [r3] bl printf -.L4422: +.L4477: ldr r3, [r4] lsls r5, r3, #19 - bpl .L4423 - ldr r3, .L4481+112 - ldr r0, .L4481+192 + bpl .L4478 + ldr r3, .L4536+112 + ldr r0, .L4536+192 ldrh r1, [r3] bl printf -.L4423: +.L4478: bl zbuf_init mov r0, #16384 - ldr r5, .L4481+196 + ldr r5, .L4536+196 bl ftl_malloc - ldr r3, .L4481+200 - ldr r7, .L4481+72 + ldr r3, .L4536+200 + ldr r7, .L4536+72 str r0, [r3] mov r0, #16384 bl ftl_malloc str r0, [r5] mov r0, #16384 bl ftl_malloc - ldr r3, .L4481+204 + ldr r3, .L4536+204 str r0, [r3] movs r0, #6 ldrh r3, [r7] muls r0, r3, r0 bl ftl_malloc - ldr r3, .L4481+208 + ldr r3, .L4536+208 ldr r2, [sp, #12] - b .L4482 -.L4483: + b .L4537 +.L4538: .align 2 -.L4481: +.L4536: + .word .LANCHOR65 + .word .LANCHOR32 .word .LANCHOR66 - .word .LANCHOR33 - .word .LANCHOR67 - .word .LC239 - .word .LC104 + .word .LC242 + .word .LC101 .word .LANCHOR133 - .word .LANCHOR95 + .word .LANCHOR94 .word .LANCHOR134 - .word .LANCHOR185 + .word .LANCHOR182 .word .LANCHOR129 .word .LANCHOR238 - .word .LANCHOR79 + .word .LANCHOR78 .word .LANCHOR131 - .word .LANCHOR86 - .word .LANCHOR18 - .word .LANCHOR76 + .word .LANCHOR85 + .word .LANCHOR23 + .word .LANCHOR75 .word .LANCHOR112 - .word .LANCHOR80 - .word .LANCHOR6 + .word .LANCHOR79 + .word .LANCHOR8 .word .LANCHOR221 .word .LANCHOR2 .word .LANCHOR111 - .word .LANCHOR75 + .word .LANCHOR74 .word .LANCHOR239 - .word .LANCHOR68 + .word .LANCHOR67 .word .LANCHOR240 .word .LANCHOR128 - .word .LANCHOR155 + .word .LANCHOR152 .word .LANCHOR101 .word .LANCHOR98 .word .LANCHOR125 - .word .LANCHOR152 - .word .LANCHOR153 - .word .LANCHOR8 + .word .LANCHOR149 + .word .LANCHOR150 + .word .LANCHOR10 .word .LANCHOR0 - .word .LANCHOR37 + .word .LANCHOR36 .word .LANCHOR122 .word .LANCHOR224 - .word .LANCHOR14 - .word .LC240 - .word .LC241 - .word .LC242 + .word .LANCHOR19 .word .LC243 - .word .LANCHOR204 .word .LC244 .word .LC245 .word .LC246 + .word .LANCHOR202 .word .LC247 .word .LC248 - .word .LANCHOR200 - .word .LANCHOR195 - .word .LANCHOR190 + .word .LC249 + .word .LC250 + .word .LC251 + .word .LANCHOR197 + .word .LANCHOR192 + .word .LANCHOR187 .word .LANCHOR4 .word .LANCHOR126 - .word .LANCHOR84 -.L4482: + .word .LANCHOR83 +.L4537: str r0, [r3] ldr r3, [sp, #8] ldrb r0, [r2] @ zero_extendqisi2 @@ -28897,31 +29442,31 @@ zftl_init: muls r0, r3, r0 lsls r0, r0, #2 bl ftl_malloc - ldr r3, .L4484 + ldr r3, .L4539 ldr r2, [r5] ldrh r5, [r7] str r0, [r3] - ldr r3, .L4484+4 + ldr r3, .L4539+4 str r2, [r3] ldr r3, [sp, #8] ldrh r1, [r3] ldr r3, [sp, #12] ldrb r0, [r3] @ zero_extendqisi2 muls r0, r1, r0 - ldr r1, .L4484+8 + ldr r1, .L4539+8 add r3, r2, r0, lsl #3 str r3, [r1] lsls r1, r0, #1 ldr r0, [r4] add r1, r1, r5, lsr #1 - ldr r5, .L4484+12 + ldr r5, .L4539+12 add r1, r2, r1, lsl #2 lsls r0, r0, #19 str r1, [r5] - bpl .L4424 - ldr r0, .L4484+16 + bpl .L4479 + ldr r0, .L4539+16 bl printf -.L4424: +.L4479: ldr r2, [sp, #8] ldr r1, [sp, #12] ldrh r3, [r7] @@ -28937,46 +29482,46 @@ zftl_init: lsls r2, r3, #19 add r7, r7, #632 add r6, r6, #704 - bpl .L4425 + bpl .L4480 ldrh r3, [r8] mov r2, r6 mov r1, r7 - ldr r0, .L4484+20 + ldr r0, .L4539+20 bl printf -.L4425: +.L4480: ldrh r3, [r8] cmp r7, r3 - bhi .L4426 + bhi .L4481 cmp r6, r3 - bls .L4427 -.L4426: -.L4480: - b .L4480 -.L4404: + bls .L4482 +.L4481: +.L4535: + b .L4535 +.L4459: lsls r2, r2, #1 - b .L4403 -.L4406: + b .L4458 +.L4461: lsls r5, r5, #1 - b .L4405 -.L4409: - ldr r3, .L4484+24 + b .L4460 +.L4464: + ldr r3, .L4539+24 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - beq .L4412 + beq .L4467 mov r3, #1200 strh r1, [r0] @ movhi strh r3, [ip] @ movhi strh r1, [r2] @ movhi - b .L4412 -.L4427: + b .L4467 +.L4482: bl sblk_init bl ftl_info_blk_init adds r3, r0, #1 - beq .L4402 + beq .L4457 bl ftl_ext_info_init bl gc_init movs r0, #1 - ldr r4, .L4484+28 + ldr r4, .L4539+28 bl pm_init bl lpa_rebuild_hash ldr r0, [r5] @@ -29004,38 +29549,38 @@ zftl_init: bl pm_flush movs r0, #1 bl ftl_total_vpn_update - ldr r3, .L4484+32 + ldr r3, .L4539+32 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L4429 + cbz r3, .L4484 ldr r2, [r4] ldr r3, [r2, #68] adds r3, r3, #1 str r3, [r2, #68] -.L4429: +.L4484: bl ftl_ext_info_flush movs r0, #0 bl ftl_info_flush bl print_ftl_debug_info ldr r3, [r5] ldrh r3, [r3, #124] - cbnz r3, .L4436 - ldr r3, .L4484+36 - ldr r2, .L4484+40 + cbnz r3, .L4491 + ldr r3, .L4539+36 + ldr r2, .L4539+40 ldrh r3, [r3] ldrh r2, [r2] add r3, r3, r2 cmp r3, #7 - ble .L4436 -.L4432: + ble .L4491 +.L4487: movs r0, #0 -.L4402: +.L4457: add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L4436: - ldr r6, .L4484+36 +.L4491: + ldr r6, .L4539+36 mov r4, #16384 -.L4433: +.L4488: movs r1, #1 movs r0, #0 bl zftl_do_gc @@ -29044,33 +29589,33 @@ zftl_init: bl zftl_do_gc ldr r3, [r5] ldrh r2, [r3, #124] - cbnz r2, .L4431 + cbnz r2, .L4486 ldrh r2, [r3, #80] movw r3, #65535 cmp r2, r3 - bne .L4431 - ldr r2, .L4484+40 + bne .L4486 + ldr r2, .L4539+40 ldrh r3, [r6] ldrh r2, [r2] add r3, r3, r2 cmp r3, #7 - bgt .L4432 -.L4431: + bgt .L4487 +.L4486: subs r4, r4, #1 - bne .L4433 - b .L4432 -.L4485: + bne .L4488 + b .L4487 +.L4540: .align 2 -.L4484: +.L4539: .word .LANCHOR118 .word .LANCHOR117 - .word .LANCHOR9 - .word .LANCHOR10 - .word .LC249 - .word .LC250 - .word .LANCHOR36 + .word .LANCHOR11 + .word .LANCHOR12 + .word .LC252 + .word .LC253 + .word .LANCHOR35 .word .LANCHOR110 - .word .LANCHOR198 + .word .LANCHOR195 .word .LANCHOR103 .word .LANCHOR107 .size zftl_init, .-zftl_init @@ -29088,20 +29633,20 @@ rk_ftl_init: push {r4, lr} bl nand_flash_init mov r4, r0 - cbnz r0, .L4487 + cbnz r0, .L4542 bl zftl_init mov r4, r0 -.L4487: +.L4542: bl idb_init mov r1, r4 - ldr r0, .L4488 + ldr r0, .L4543 bl printf mov r0, r4 pop {r4, pc} -.L4489: +.L4544: .align 2 -.L4488: - .word .LC251 +.L4543: + .word .LC254 .size rk_ftl_init, .-rk_ftl_init .section .text.zftl_write,"ax",%progbits .align 1 @@ -29116,36 +29661,36 @@ zftl_write: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r10, fp, lr} mov r8, r3 - ldr r3, .L4519 + ldr r3, .L4574 sub sp, sp, #24 mov r4, r0 mov r6, r1 mov r5, r2 ldr r3, [r3] lsls r3, r3, #19 - bpl .L4491 + bpl .L4546 ldr r3, [r8] str r3, [sp] mov r3, r2 mov r2, r1 mov r1, r0 - ldr r0, .L4519+4 + ldr r0, .L4574+4 bl printf -.L4491: +.L4546: cmp r4, #0 - bne .L4492 - ldr r3, .L4519+8 + bne .L4547 + ldr r3, .L4574+8 mov r4, #24576 ldr r3, [r3] -.L4493: +.L4548: cmp r3, r6 - bls .L4511 + bls .L4566 cmp r3, r5 - bcc .L4511 + bcc .L4566 adds r2, r6, r5 cmp r3, r2 - bcc .L4511 - ldr fp, .L4519+36 + bcc .L4566 + ldr fp, .L4574+36 add r4, r4, r6 mov r0, r4 ldrb r6, [fp] @ zero_extendqisi2 @@ -29161,70 +29706,70 @@ zftl_write: adds r6, r6, #1 str r0, [sp, #12] str fp, [sp, #16] -.L4495: - cbnz r6, .L4503 +.L4550: + cbnz r6, .L4558 bl ftl_write_commit bl ftl_flush movs r1, #1 mov r0, r6 bl zftl_do_gc - ldr r3, .L4519+12 - ldr r5, .L4519+16 - ldr r4, .L4519+20 + ldr r3, .L4574+12 + ldr r5, .L4574+16 + ldr r4, .L4574+20 ldr r3, [r3] ldrh r3, [r3, #124] - cbnz r3, .L4504 + cbnz r3, .L4559 ldrh r3, [r5] ldrh r2, [r4] add r3, r3, r2 cmp r3, #11 - bgt .L4506 -.L4504: + bgt .L4561 +.L4559: movs r1, #1 movs r0, #0 -.L4518: +.L4573: bl zftl_do_gc -.L4506: +.L4561: ldrh r3, [r5] ldrh r2, [r4] add r3, r3, r2 cmp r3, #7 - ble .L4507 + ble .L4562 movs r0, #0 -.L4490: +.L4545: add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L4492: +.L4547: cmp r4, #3 - bhi .L4511 + bhi .L4566 lsls r4, r4, #13 mov r3, #8192 - b .L4493 -.L4503: - ldr r3, .L4519+24 + b .L4548 +.L4558: + ldr r3, .L4574+24 ldrb r3, [r3] @ zero_extendqisi2 - cbz r3, .L4496 - ldr r3, .L4519+28 + cbz r3, .L4551 + ldr r3, .L4574+28 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #2 - bhi .L4496 + bhi .L4551 bl ftl_write_commit -.L4496: +.L4551: movs r0, #0 bl buf_alloc mov fp, r0 - cbnz r0, .L4497 + cbnz r0, .L4552 bl ftl_write_commit - b .L4495 -.L4497: + b .L4550 +.L4552: ldr r3, [sp, #16] movs r2, #0 strb r2, [r0, #41] cmp r7, r10 ldrb r2, [r3] @ zero_extendqisi2 strb r2, [r0, #40] - bne .L4499 + bne .L4554 mov r1, r2 mov r0, r4 str r2, [sp, #20] @@ -29238,7 +29783,7 @@ zftl_write: ite cs strbcs r1, [fp, #40] strbcc r5, [fp, #40] -.L4501: +.L4556: ldrb ip, [fp, #41] @ zero_extendqisi2 mov r1, r8 ldrb r2, [fp, #40] @ zero_extendqisi2 @@ -29247,7 +29792,7 @@ zftl_write: lsls r2, r2, #9 add r0, r0, ip, lsl #9 bl ftl_memcpy - ldr r2, .L4519+32 + ldr r2, .L4574+32 str r7, [fp, #20] adds r7, r7, #1 ldr r1, [r2] @@ -29259,8 +29804,8 @@ zftl_write: bl ftl_write_buf ldrb r3, [fp, #40] @ zero_extendqisi2 add r8, r8, r3, lsl #9 - b .L4495 -.L4499: + b .L4550 +.L4554: ldr r3, [sp, #12] cmp r7, r3 itttt eq @@ -29268,28 +29813,28 @@ zftl_write: addeq r1, r4, r5 subeq r2, r1, r2 strbeq r2, [r0, #40] - b .L4501 -.L4507: + b .L4556 +.L4562: movs r1, #1 movs r0, #0 bl zftl_do_gc movs r1, #1 mov r0, r1 - b .L4518 -.L4511: + b .L4573 +.L4566: mov r0, #-1 - b .L4490 -.L4520: + b .L4545 +.L4575: .align 2 -.L4519: - .word .LANCHOR14 - .word .LC252 - .word .LANCHOR68 - .word .LANCHOR10 +.L4574: + .word .LANCHOR19 + .word .LC255 + .word .LANCHOR67 + .word .LANCHOR12 .word .LANCHOR103 .word .LANCHOR107 - .word .LANCHOR67 - .word .LANCHOR58 + .word .LANCHOR66 + .word .LANCHOR57 .word .LANCHOR110 .word .LANCHOR131 .size zftl_write, .-zftl_write @@ -29363,11 +29908,11 @@ ftl_write: mov r4, r2 mov r5, r3 mov r6, r0 - cbnz r0, .L4525 + cbnz r0, .L4580 mov r3, r2 mov r2, r5 bl idb_write_data -.L4525: +.L4580: mov r3, r5 mov r2, r4 mov r1, r7 @@ -29418,21 +29963,21 @@ zftl_vendor_write: zftl_discard: @ args = 0, pretend = 0, frame = 24 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L4578 + ldr r3, .L4633 push {r4, r5, r6, r7, r8, r10, fp, lr} mov r4, r1 sub sp, sp, #32 ldr r3, [r3] cmp r0, r3 - bcs .L4551 + bcs .L4606 cmp r1, r3 - bhi .L4551 + bhi .L4606 adds r2, r0, r1 cmp r3, r2 - bcc .L4551 - ldr r2, .L4578+4 + bcc .L4606 + ldr r2, .L4633+4 add r7, r0, #24576 - ldr r3, .L4578+8 + ldr r3, .L4633+8 ldr r0, [r2] ldr r1, [r3] str r3, [sp, #12] @@ -29440,16 +29985,16 @@ zftl_discard: str r2, [sp, #16] add r1, r1, r4 str r1, [r3] - beq .L4530 + beq .L4585 movs r3, #0 mov r2, r7 str r3, [sp] mov r3, r4 - ldr r0, .L4578+12 + ldr r0, .L4633+12 bl printf -.L4530: - ldr r8, .L4578+36 - ldr r10, .L4578+40 +.L4585: + ldr r8, .L4633+36 + ldr r10, .L4633+40 ldr r3, [r8] ldr r2, [r3, #8] str r2, [sp, #8] @@ -29467,7 +30012,7 @@ zftl_discard: bl __aeabi_uidivmod mov fp, r1 cmp r1, #0 - beq .L4531 + beq .L4586 subs r6, r6, r1 mov r0, r5 cmp r6, r4 @@ -29476,19 +30021,19 @@ zftl_discard: bl lpa_hash_get_ppa str r0, [sp, #24] adds r0, r0, #1 - bne .L4532 + bne .L4587 movs r2, #0 add r1, sp, #24 mov r0, r5 bl pm_log2phys -.L4532: +.L4587: ldr r3, [sp, #24] adds r3, r3, #1 - beq .L4534 + beq .L4589 movs r0, #0 bl buf_alloc mov r3, r0 - cbz r0, .L4534 + cbz r0, .L4589 ldr r2, [sp, #8] movs r1, #0 str r5, [r0, #20] @@ -29509,41 +30054,41 @@ zftl_discard: ldr r3, [r2, #76] adds r3, r3, #1 str r3, [r2, #76] -.L4534: +.L4589: uxth r6, r6 adds r5, r5, #1 subs r4, r4, r6 -.L4531: - cbz r4, .L4536 +.L4586: + cbz r4, .L4591 bl ftl_flush -.L4536: - ldr fp, .L4578+44 +.L4591: + ldr fp, .L4633+44 mov r3, #-1 - ldr r6, .L4578+16 + ldr r6, .L4633+16 str r3, [sp, #28] -.L4537: +.L4592: ldrb r3, [r10] @ zero_extendqisi2 cmp r4, r3 - bcs .L4542 + bcs .L4597 cmp r4, #0 - beq .L4544 + beq .L4599 mov r0, r5 bl lpa_hash_get_ppa str r0, [sp, #24] adds r0, r0, #1 - bne .L4545 + bne .L4600 movs r2, #0 add r1, sp, #24 mov r0, r5 bl pm_log2phys -.L4545: +.L4600: ldr r3, [sp, #24] adds r3, r3, #1 - beq .L4544 + beq .L4599 movs r0, #0 bl buf_alloc mov r6, r0 - cbz r0, .L4544 + cbz r0, .L4599 movs r3, #0 str r5, [r0, #20] strb r3, [r0, #41] @@ -29552,12 +30097,12 @@ zftl_discard: str r3, [r0, #16] ldrb r3, [r10] @ zero_extendqisi2 cmp r4, r3 - bcc .L4547 - movw r2, #1477 - ldr r1, .L4578+20 - ldr r0, .L4578+24 + bcc .L4602 + movw r2, #1493 + ldr r1, .L4633+20 + ldr r0, .L4633+24 bl printf -.L4547: +.L4602: lsls r2, r4, #9 movs r1, #0 ldr r0, [r6, #4] @@ -29569,42 +30114,42 @@ zftl_discard: ldr r3, [r2, #76] adds r3, r3, #1 str r3, [r2, #76] -.L4544: +.L4599: ldr r3, [sp, #12] ldr r1, [r3] cmp r1, #8192 - bls .L4552 + bls .L4607 ldr r3, [sp, #16] ldr r3, [r3] lsls r3, r3, #19 - bpl .L4548 + bpl .L4603 movs r3, #0 mov r2, r7 str r3, [sp] mov r3, r4 - ldr r0, .L4578+12 + ldr r0, .L4633+12 bl printf -.L4548: +.L4603: ldr r3, [sp, #12] movs r4, #0 str r4, [r3] bl flt_sys_flush - ldr r3, .L4578+28 + ldr r3, .L4633+28 movs r2, #1 str r2, [r3] -.L4552: +.L4607: movs r0, #0 - b .L4528 -.L4542: + b .L4583 +.L4597: mov r0, r5 bl lpa_hash_get_ppa str r0, [sp, #24] adds r0, r0, #1 - beq .L4538 + beq .L4593 movs r0, #0 bl buf_alloc mov r3, r0 - cbz r0, .L4540 + cbz r0, .L4595 ldrb r2, [r10] @ zero_extendqisi2 movs r1, #0 strb r1, [r0, #41] @@ -29620,24 +30165,24 @@ zftl_discard: mov r0, r3 bl ftl_write_buf bl ftl_write_commit -.L4577: +.L4632: ldr r2, [r8] ldr r3, [r2, #76] adds r3, r3, #1 str r3, [r2, #76] -.L4540: +.L4595: ldrb r3, [r10] @ zero_extendqisi2 adds r5, r5, #1 subs r4, r4, r3 - b .L4537 -.L4538: + b .L4592 +.L4593: movs r2, #0 add r1, sp, #24 mov r0, r5 bl pm_log2phys ldr r3, [sp, #24] adds r3, r3, #1 - beq .L4540 + beq .L4595 add r1, sp, #28 movs r2, #1 mov r0, r5 @@ -29651,34 +30196,34 @@ zftl_discard: ldr r0, [sp, #24] subs r3, r3, #1 lsrs r0, r0, r2 - ldr r2, .L4578+32 + ldr r2, .L4633+32 ands r0, r0, r3 ldrb r1, [r2] @ zero_extendqisi2 bl __aeabi_uidiv uxth r0, r0 bl ftl_vpn_decrement - b .L4577 -.L4551: + b .L4632 +.L4606: mov r0, #-1 -.L4528: +.L4583: add sp, sp, #32 @ sp needed pop {r4, r5, r6, r7, r8, r10, fp, pc} -.L4579: +.L4634: .align 2 -.L4578: - .word .LANCHOR68 - .word .LANCHOR14 +.L4633: + .word .LANCHOR67 + .word .LANCHOR19 .word .LANCHOR241 - .word .LC253 - .word .LANCHOR32 + .word .LC256 + .word .LANCHOR31 .word .LANCHOR242 .word .LC0 .word .LANCHOR122 - .word .LANCHOR76 + .word .LANCHOR75 .word .LANCHOR110 .word .LANCHOR131 - .word .LANCHOR75 + .word .LANCHOR74 .size zftl_discard, .-zftl_discard .section .text.ftl_discard,"ax",%progbits .align 1 @@ -29709,46 +30254,46 @@ dump_pm_blk: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, r6, r7, lr} movs r2, #4 - ldr r4, .L4585 + ldr r4, .L4640 movs r5, #0 movw r7, #65535 - ldr r0, .L4585+4 + ldr r0, .L4640+4 ldr r1, [r4] - ldr r6, .L4585+8 + ldr r6, .L4640+8 ldrh r3, [r1, #698] add r1, r1, #704 bl rknand_print_hex ldr r1, [r4] movs r2, #2 ldrh r3, [r6] - ldr r0, .L4585+12 + ldr r0, .L4640+12 add r1, r1, #416 bl rknand_print_hex -.L4582: +.L4637: ldrh r2, [r6] uxth r3, r5 cmp r2, r3 - bhi .L4584 + bhi .L4639 pop {r3, r4, r5, r6, r7, pc} -.L4584: +.L4639: ldr r2, [r4] uxth r3, r5 adds r3, r3, #208 ldrh r0, [r2, r3, lsl #1] cmp r0, r7 - beq .L4583 + beq .L4638 movs r1, #0 bl ftl_sblk_dump -.L4583: +.L4638: adds r5, r5, #1 - b .L4582 -.L4586: + b .L4637 +.L4641: .align 2 -.L4585: +.L4640: .word .LANCHOR110 - .word .LC254 - .word .LANCHOR155 - .word .LC255 + .word .LC257 + .word .LANCHOR152 + .word .LC258 .size dump_pm_blk, .-dump_pm_blk .global g_pm_spare .global pm_first_write @@ -29916,21 +30461,21 @@ dump_pm_blk: .global g_flash_page_buffer .section .bss.IDByte,"aw",%nobits .align 2 - .set .LANCHOR48,. + 0 + .set .LANCHOR47,. + 0 .type IDByte, %object .size IDByte, 32 IDByte: .space 32 .section .bss._c_ftl_blk_pre_plane,"aw",%nobits .align 1 - .set .LANCHOR6,. + 0 + .set .LANCHOR8,. + 0 .type _c_ftl_blk_pre_plane, %object .size _c_ftl_blk_pre_plane, 2 _c_ftl_blk_pre_plane: .space 2 .section .bss._c_ftl_block_addr_log2,"aw",%nobits .align 1 - .set .LANCHOR75,. + 0 + .set .LANCHOR74,. + 0 .type _c_ftl_block_addr_log2, %object .size _c_ftl_block_addr_log2, 2 _c_ftl_block_addr_log2: @@ -29950,7 +30495,7 @@ _c_ftl_block_align_addr: _c_ftl_byte_pre_page: .space 2 .section .bss._c_ftl_cs_bits,"aw",%nobits - .set .LANCHOR32,. + 0 + .set .LANCHOR31,. + 0 .type _c_ftl_cs_bits, %object .size _c_ftl_cs_bits, 1 _c_ftl_cs_bits: @@ -29968,40 +30513,40 @@ _c_ftl_nand_blks_per_die: _c_ftl_nand_die_num: .space 1 .section .bss._c_ftl_nand_planes_num,"aw",%nobits - .set .LANCHOR80,. + 0 + .set .LANCHOR79,. + 0 .type _c_ftl_nand_planes_num, %object .size _c_ftl_nand_planes_num, 1 _c_ftl_nand_planes_num: .space 1 .section .bss._c_ftl_nand_type,"aw",%nobits - .set .LANCHOR79,. + 0 + .set .LANCHOR78,. + 0 .type _c_ftl_nand_type, %object .size _c_ftl_nand_type, 1 _c_ftl_nand_type: .space 1 .section .bss._c_ftl_page_pre_blk,"aw",%nobits .align 1 - .set .LANCHOR86,. + 0 + .set .LANCHOR85,. + 0 .type _c_ftl_page_pre_blk, %object .size _c_ftl_page_pre_blk, 2 _c_ftl_page_pre_blk: .space 2 .section .bss._c_ftl_page_pre_slc_blk,"aw",%nobits .align 1 - .set .LANCHOR95,. + 0 + .set .LANCHOR94,. + 0 .type _c_ftl_page_pre_slc_blk, %object .size _c_ftl_page_pre_slc_blk, 2 _c_ftl_page_pre_slc_blk: .space 2 .section .bss._c_ftl_planes_per_die,"aw",%nobits - .set .LANCHOR76,. + 0 + .set .LANCHOR75,. + 0 .type _c_ftl_planes_per_die, %object .size _c_ftl_planes_per_die, 1 _c_ftl_planes_per_die: .space 1 .section .bss._c_ftl_pm_page_num,"aw",%nobits .align 1 - .set .LANCHOR204,. + 0 + .set .LANCHOR202,. + 0 .type _c_ftl_pm_page_num, %object .size _c_ftl_pm_page_num, 2 _c_ftl_pm_page_num: @@ -30014,7 +30559,7 @@ _c_ftl_sec_per_page: .space 1 .section .bss._c_max_pm_sblk,"aw",%nobits .align 1 - .set .LANCHOR155,. + 0 + .set .LANCHOR152,. + 0 .type _c_max_pm_sblk, %object .size _c_max_pm_sblk, 2 _c_max_pm_sblk: @@ -30035,21 +30580,21 @@ _c_mix_max_xlc_ec_count: .space 2 .section .bss._c_slc_to_xlc_ec_ratio,"aw",%nobits .align 1 - .set .LANCHOR8,. + 0 + .set .LANCHOR10,. + 0 .type _c_slc_to_xlc_ec_ratio, %object .size _c_slc_to_xlc_ec_ratio, 2 _c_slc_to_xlc_ec_ratio: .space 2 .section .bss._c_swl_slc_gc_th,"aw",%nobits .align 1 - .set .LANCHOR152,. + 0 + .set .LANCHOR149,. + 0 .type _c_swl_slc_gc_th, %object .size _c_swl_slc_gc_th, 2 _c_swl_slc_gc_th: .space 2 .section .bss._c_swl_xlc_gc_th,"aw",%nobits .align 1 - .set .LANCHOR153,. + 0 + .set .LANCHOR150,. + 0 .type _c_swl_xlc_gc_th, %object .size _c_swl_xlc_gc_th, 2 _c_swl_xlc_gc_th: @@ -30077,7 +30622,7 @@ _c_totle_phy_density: .space 4 .section .bss._c_user_data_density,"aw",%nobits .align 2 - .set .LANCHOR68,. + 0 + .set .LANCHOR67,. + 0 .type _c_user_data_density, %object .size _c_user_data_density, 4 _c_user_data_density: @@ -30130,27 +30675,27 @@ discard_sector_count: .space 4 .section .bss.fill_spare_size,"aw",%nobits .align 1 - .set .LANCHOR54,. + 0 + .set .LANCHOR53,. + 0 .type fill_spare_size, %object .size fill_spare_size, 2 fill_spare_size: .space 2 .section .bss.flash_ddr_tuning_sdr_read_count,"aw",%nobits .align 2 - .set .LANCHOR172,. + 0 + .set .LANCHOR169,. + 0 .type flash_ddr_tuning_sdr_read_count, %object .size flash_ddr_tuning_sdr_read_count, 4 flash_ddr_tuning_sdr_read_count: .space 4 .section .bss.flash_read_retry,"aw",%nobits .align 2 - .set .LANCHOR174,. + 0 + .set .LANCHOR171,. + 0 .type flash_read_retry, %object .size flash_read_retry, 4 flash_read_retry: .space 4 .section .bss.free_buf_count,"aw",%nobits - .set .LANCHOR58,. + 0 + .set .LANCHOR57,. + 0 .type free_buf_count, %object .size free_buf_count, 1 free_buf_count: @@ -30178,13 +30723,13 @@ free_xlc_sblk: .space 2 .section .bss.ftl_ext_info_data_buffer,"aw",%nobits .align 2 - .set .LANCHOR200,. + 0 + .set .LANCHOR197,. + 0 .type ftl_ext_info_data_buffer, %object .size ftl_ext_info_data_buffer, 4 ftl_ext_info_data_buffer: .space 4 .section .bss.ftl_ext_info_first_write,"aw",%nobits - .set .LANCHOR199,. + 0 + .set .LANCHOR196,. + 0 .type ftl_ext_info_first_write, %object .size ftl_ext_info_first_write, 1 ftl_ext_info_first_write: @@ -30198,27 +30743,27 @@ ftl_flush_jiffies: .space 4 .section .bss.ftl_info_data_buffer,"aw",%nobits .align 2 - .set .LANCHOR195,. + 0 + .set .LANCHOR192,. + 0 .type ftl_info_data_buffer, %object .size ftl_info_data_buffer, 4 ftl_info_data_buffer: .space 4 .section .bss.ftl_info_spare,"aw",%nobits .align 6 - .set .LANCHOR193,. + 0 + .set .LANCHOR190,. + 0 .type ftl_info_spare, %object .size ftl_info_spare, 256 ftl_info_spare: .space 256 .section .bss.ftl_low_format_cur_blk,"aw",%nobits .align 1 - .set .LANCHOR69,. + 0 + .set .LANCHOR68,. + 0 .type ftl_low_format_cur_blk, %object .size ftl_low_format_cur_blk, 2 ftl_low_format_cur_blk: .space 2 .section .bss.ftl_power_lost_flag,"aw",%nobits - .set .LANCHOR198,. + 0 + .set .LANCHOR195,. + 0 .type ftl_power_lost_flag, %object .size ftl_power_lost_flag, 1 ftl_power_lost_flag: @@ -30232,7 +30777,7 @@ ftl_sblk_lpa_tbl: .space 4 .section .bss.ftl_sblk_update_list,"aw",%nobits .align 1 - .set .LANCHOR74,. + 0 + .set .LANCHOR73,. + 0 .type ftl_sblk_update_list, %object .size ftl_sblk_update_list, 16 ftl_sblk_update_list: @@ -30246,34 +30791,34 @@ ftl_sblk_update_list_offset: .space 2 .section .bss.ftl_sblk_vpn,"aw",%nobits .align 2 - .set .LANCHOR9,. + 0 + .set .LANCHOR11,. + 0 .type ftl_sblk_vpn, %object .size ftl_sblk_vpn, 4 ftl_sblk_vpn: .space 4 .section .bss.ftl_sblk_vpn_update_id,"aw",%nobits .align 1 - .set .LANCHOR73,. + 0 + .set .LANCHOR72,. + 0 .type ftl_sblk_vpn_update_id, %object .size ftl_sblk_vpn_update_id, 2 ftl_sblk_vpn_update_id: .space 2 .section .bss.ftl_sys_info_first_write,"aw",%nobits - .set .LANCHOR197,. + 0 + .set .LANCHOR194,. + 0 .type ftl_sys_info_first_write, %object .size ftl_sys_info_first_write, 1 ftl_sys_info_first_write: .space 1 .section .bss.ftl_tmp_buffer,"aw",%nobits .align 2 - .set .LANCHOR190,. + 0 + .set .LANCHOR187,. + 0 .type ftl_tmp_buffer, %object .size ftl_tmp_buffer, 4 ftl_tmp_buffer: .space 4 .section .bss.ftl_tmp_spare,"aw",%nobits .align 6 - .set .LANCHOR191,. + 0 + .set .LANCHOR188,. + 0 .type ftl_tmp_spare, %object .size ftl_tmp_spare, 256 ftl_tmp_spare: @@ -30294,33 +30839,33 @@ g_block_align_addr: .space 2 .section .bss.g_buf,"aw",%nobits .align 2 - .set .LANCHOR56,. + 0 + .set .LANCHOR55,. + 0 .type g_buf, %object .size g_buf, 1536 g_buf: .space 1536 .section .bss.g_die_addr,"aw",%nobits .align 2 - .set .LANCHOR148,. + 0 + .set .LANCHOR145,. + 0 .type g_die_addr, %object .size g_die_addr, 32 g_die_addr: .space 32 .section .bss.g_die_cs_idx,"aw",%nobits .align 2 - .set .LANCHOR30,. + 0 + .set .LANCHOR29,. + 0 .type g_die_cs_idx, %object .size g_die_cs_idx, 8 g_die_cs_idx: .space 8 .section .bss.g_flash_3d_mlc_flag,"aw",%nobits - .set .LANCHOR81,. + 0 + .set .LANCHOR80,. + 0 .type g_flash_3d_mlc_flag, %object .size g_flash_3d_mlc_flag, 1 g_flash_3d_mlc_flag: .space 1 .section .bss.g_flash_3d_tlc_flag,"aw",%nobits - .set .LANCHOR84,. + 0 + .set .LANCHOR83,. + 0 .type g_flash_3d_tlc_flag, %object .size g_flash_3d_tlc_flag, 1 g_flash_3d_tlc_flag: @@ -30333,13 +30878,13 @@ g_flash_3d_tlc_flag: g_flash_blk_info: .space 4 .section .bss.g_flash_cur_mode,"aw",%nobits - .set .LANCHOR34,. + 0 + .set .LANCHOR33,. + 0 .type g_flash_cur_mode, %object .size g_flash_cur_mode, 4 g_flash_cur_mode: .space 4 .section .bss.g_flash_interface_mode,"aw",%nobits - .set .LANCHOR49,. + 0 + .set .LANCHOR48,. + 0 .type g_flash_interface_mode, %object .size g_flash_interface_mode, 1 g_flash_interface_mode: @@ -30357,26 +30902,26 @@ g_flash_micron_3d_tlc_b05a: g_flash_micron_3d_tlc_b16a: .space 1 .section .bss.g_flash_micron_3d_tlc_flag,"aw",%nobits - .set .LANCHOR36,. + 0 + .set .LANCHOR35,. + 0 .type g_flash_micron_3d_tlc_flag, %object .size g_flash_micron_3d_tlc_flag, 1 g_flash_micron_3d_tlc_flag: .space 1 .section .bss.g_flash_multi_page_prog_en,"aw",%nobits - .set .LANCHOR45,. + 0 + .set .LANCHOR44,. + 0 .type g_flash_multi_page_prog_en, %object .size g_flash_multi_page_prog_en, 1 g_flash_multi_page_prog_en: .space 1 .section .bss.g_flash_multi_page_read_en,"aw",%nobits - .set .LANCHOR186,. + 0 + .set .LANCHOR183,. + 0 .type g_flash_multi_page_read_en, %object .size g_flash_multi_page_read_en, 1 g_flash_multi_page_read_en: .space 1 .section .bss.g_flash_page_buffer,"aw",%nobits .align 2 - .set .LANCHOR176,. + 0 + .set .LANCHOR173,. + 0 .type g_flash_page_buffer, %object .size g_flash_page_buffer, 4 g_flash_page_buffer: @@ -30388,7 +30933,7 @@ g_flash_page_buffer: g_flash_reversd_blks: .space 1 .section .bss.g_flash_six_addr,"aw",%nobits - .set .LANCHOR31,. + 0 + .set .LANCHOR30,. + 0 .type g_flash_six_addr, %object .size g_flash_six_addr, 1 g_flash_six_addr: @@ -30401,7 +30946,7 @@ g_flash_slc_mode: .space 1 .section .bss.g_flash_spare_buffer,"aw",%nobits .align 2 - .set .LANCHOR175,. + 0 + .set .LANCHOR172,. + 0 .type g_flash_spare_buffer, %object .size g_flash_spare_buffer, 4 g_flash_spare_buffer: @@ -30415,52 +30960,52 @@ g_flash_sys_spare_buffer: .space 4 .section .bss.g_flash_tmp_page_buffer,"aw",%nobits .align 2 - .set .LANCHOR166,. + 0 + .set .LANCHOR163,. + 0 .type g_flash_tmp_page_buffer, %object .size g_flash_tmp_page_buffer, 4 g_flash_tmp_page_buffer: .space 4 .section .bss.g_flash_tmp_spare_buffer,"aw",%nobits .align 2 - .set .LANCHOR168,. + 0 + .set .LANCHOR165,. + 0 .type g_flash_tmp_spare_buffer, %object .size g_flash_tmp_spare_buffer, 4 g_flash_tmp_spare_buffer: .space 4 .section .bss.g_flash_toggle_mode_en,"aw",%nobits - .set .LANCHOR21,. + 0 + .set .LANCHOR26,. + 0 .type g_flash_toggle_mode_en, %object .size g_flash_toggle_mode_en, 1 g_flash_toggle_mode_en: .space 1 .section .bss.g_flash_ymtc_3d_tlc_flag,"aw",%nobits - .set .LANCHOR37,. + 0 + .set .LANCHOR36,. + 0 .type g_flash_ymtc_3d_tlc_flag, %object .size g_flash_ymtc_3d_tlc_flag, 1 g_flash_ymtc_3d_tlc_flag: .space 1 .section .bss.g_ftl_info_blk,"aw",%nobits .align 6 - .set .LANCHOR194,. + 0 + .set .LANCHOR191,. + 0 .type g_ftl_info_blk, %object .size g_ftl_info_blk, 4 g_ftl_info_blk: .space 4 .section .bss.g_gc_info,"aw",%nobits .align 2 - .set .LANCHOR71,. + 0 + .set .LANCHOR70,. + 0 .type g_gc_info, %object - .size g_gc_info, 2132 + .size g_gc_info, 2204 g_gc_info: - .space 2132 + .space 2204 .section .bss.g_idb_ecc_bits,"aw",%nobits - .set .LANCHOR17,. + 0 + .set .LANCHOR22,. + 0 .type g_idb_ecc_bits, %object .size g_idb_ecc_bits, 1 g_idb_ecc_bits: .space 1 .section .bss.g_idb_slc_mode_enable,"aw",%nobits - .set .LANCHOR19,. + 0 + .set .LANCHOR24,. + 0 .type g_idb_slc_mode_enable, %object .size g_idb_slc_mode_enable, 1 g_idb_slc_mode_enable: @@ -30473,63 +31018,63 @@ g_idb_slc_mode_enable: g_lsb_page_tbl: .space 1024 .section .bss.g_maxRegNum,"aw",%nobits - .set .LANCHOR26,. + 0 + .set .LANCHOR18,. + 0 .type g_maxRegNum, %object .size g_maxRegNum, 1 g_maxRegNum: .space 1 .section .bss.g_maxRetryCount,"aw",%nobits - .set .LANCHOR169,. + 0 + .set .LANCHOR166,. + 0 .type g_maxRetryCount, %object .size g_maxRetryCount, 1 g_maxRetryCount: .space 1 .section .bss.g_msb_page_tbl,"aw",%nobits .align 2 - .set .LANCHOR145,. + 0 + .set .LANCHOR142,. + 0 .type g_msb_page_tbl, %object .size g_msb_page_tbl, 2048 g_msb_page_tbl: .space 2048 .section .bss.g_nand_max_die,"aw",%nobits - .set .LANCHOR18,. + 0 + .set .LANCHOR23,. + 0 .type g_nand_max_die, %object .size g_nand_max_die, 1 g_nand_max_die: .space 1 .section .bss.g_nand_opt_para,"aw",%nobits - .set .LANCHOR20,. + 0 + .set .LANCHOR25,. + 0 .type g_nand_opt_para, %object .size g_nand_opt_para, 32 g_nand_opt_para: .space 32 .section .bss.g_nandc_ecc_bits,"aw",%nobits - .set .LANCHOR50,. + 0 + .set .LANCHOR49,. + 0 .type g_nandc_ecc_bits, %object .size g_nandc_ecc_bits, 1 g_nandc_ecc_bits: .space 1 .section .bss.g_nandc_tran_timeout,"aw",%nobits - .set .LANCHOR167,. + 0 + .set .LANCHOR164,. + 0 .type g_nandc_tran_timeout, %object .size g_nandc_tran_timeout, 1 g_nandc_tran_timeout: .space 1 .section .bss.g_nandc_v6_master_info,"aw",%nobits .align 2 - .set .LANCHOR53,. + 0 + .set .LANCHOR52,. + 0 .type g_nandc_v6_master_info, %object .size g_nandc_v6_master_info, 28 g_nandc_v6_master_info: .space 28 .section .bss.g_nandc_ver,"aw",%nobits - .set .LANCHOR28,. + 0 + .set .LANCHOR27,. + 0 .type g_nandc_ver, %object .size g_nandc_ver, 1 g_nandc_ver: .space 1 .section .bss.g_one_pass_program,"aw",%nobits - .set .LANCHOR82,. + 0 + .set .LANCHOR81,. + 0 .type g_one_pass_program, %object .size g_one_pass_program, 1 g_one_pass_program: @@ -30542,7 +31087,7 @@ g_one_pass_program: g_pm_spare: .space 4 .section .bss.g_retryMode,"aw",%nobits - .set .LANCHOR23,. + 0 + .set .LANCHOR15,. + 0 .type g_retryMode, %object .size g_retryMode, 1 g_retryMode: @@ -30560,103 +31105,103 @@ g_slc_mode_enable: .space 1 .section .bss.g_slc_page_num,"aw",%nobits .align 1 - .set .LANCHOR147,. + 0 + .set .LANCHOR144,. + 0 .type g_slc_page_num, %object .size g_slc_page_num, 2 g_slc_page_num: .space 2 .section .bss.g_totle_phy_block,"aw",%nobits .align 1 - .set .LANCHOR149,. + 0 + .set .LANCHOR146,. + 0 .type g_totle_phy_block, %object .size g_totle_phy_block, 2 g_totle_phy_block: .space 2 .section .bss.gc_des_ppa_tbl,"aw",%nobits .align 2 - .set .LANCHOR164,. + 0 + .set .LANCHOR161,. + 0 .type gc_des_ppa_tbl, %object .size gc_des_ppa_tbl, 4 gc_des_ppa_tbl: .space 4 .section .bss.gc_free_slc_sblk_th,"aw",%nobits .align 1 - .set .LANCHOR87,. + 0 + .set .LANCHOR86,. + 0 .type gc_free_slc_sblk_th, %object .size gc_free_slc_sblk_th, 2 gc_free_slc_sblk_th: .space 2 .section .bss.gc_lpa_tbl,"aw",%nobits .align 2 - .set .LANCHOR162,. + 0 + .set .LANCHOR159,. + 0 .type gc_lpa_tbl, %object .size gc_lpa_tbl, 4 gc_lpa_tbl: .space 4 .section .bss.gc_mode,"aw",%nobits - .set .LANCHOR85,. + 0 + .set .LANCHOR84,. + 0 .type gc_mode, %object .size gc_mode, 1 gc_mode: .space 1 .section .bss.gc_page_buf_id,"aw",%nobits .align 2 - .set .LANCHOR83,. + 0 + .set .LANCHOR82,. + 0 .type gc_page_buf_id, %object .size gc_page_buf_id, 4 gc_page_buf_id: .space 4 .section .bss.gc_pre_ppa_tbl,"aw",%nobits .align 2 - .set .LANCHOR163,. + 0 + .set .LANCHOR160,. + 0 .type gc_pre_ppa_tbl, %object .size gc_pre_ppa_tbl, 4 gc_pre_ppa_tbl: .space 4 .section .bss.gc_search_count,"aw",%nobits .align 2 - .set .LANCHOR160,. + 0 + .set .LANCHOR157,. + 0 .type gc_search_count, %object .size gc_search_count, 4 gc_search_count: .space 4 .section .bss.gc_slc_cache_index,"aw",%nobits .align 1 - .set .LANCHOR91,. + 0 + .set .LANCHOR88,. + 0 .type gc_slc_cache_index, %object .size gc_slc_cache_index, 2 gc_slc_cache_index: .space 2 .section .bss.gc_slc_data_index,"aw",%nobits .align 1 - .set .LANCHOR90,. + 0 + .set .LANCHOR87,. + 0 .type gc_slc_data_index, %object .size gc_slc_data_index, 2 gc_slc_data_index: .space 2 .section .bss.gc_slc_mode_slc_vpn_th,"aw",%nobits .align 1 - .set .LANCHOR161,. + 0 + .set .LANCHOR158,. + 0 .type gc_slc_mode_slc_vpn_th, %object .size gc_slc_mode_slc_vpn_th, 2 gc_slc_mode_slc_vpn_th: .space 2 .section .bss.gc_slc_mode_tlc_vpn_th,"aw",%nobits .align 1 - .set .LANCHOR94,. + 0 + .set .LANCHOR93,. + 0 .type gc_slc_mode_tlc_vpn_th, %object .size gc_slc_mode_tlc_vpn_th, 2 gc_slc_mode_tlc_vpn_th: .space 2 .section .bss.gc_slc_mode_vpn_th,"aw",%nobits .align 1 - .set .LANCHOR70,. + 0 + .set .LANCHOR69,. + 0 .type gc_slc_mode_vpn_th, %object .size gc_slc_mode_vpn_th, 2 gc_slc_mode_vpn_th: .space 2 .section .bss.gc_state,"aw",%nobits - .set .LANCHOR159,. + 0 + .set .LANCHOR156,. + 0 .type gc_state, %object .size gc_state, 1 gc_state: @@ -30677,14 +31222,14 @@ gc_tlc_mode_tlc_vpn_th: .space 2 .section .bss.gc_valid_page_ppa,"aw",%nobits .align 2 - .set .LANCHOR77,. + 0 + .set .LANCHOR76,. + 0 .type gc_valid_page_ppa, %object .size gc_valid_page_ppa, 4 gc_valid_page_ppa: .space 4 .section .bss.gc_xlc_data_index,"aw",%nobits .align 1 - .set .LANCHOR92,. + 0 + .set .LANCHOR89,. + 0 .type gc_xlc_data_index, %object .size gc_xlc_data_index, 2 gc_xlc_data_index: @@ -30698,42 +31243,42 @@ gc_xlc_search_index: .space 2 .section .bss.gp_blk_info,"aw",%nobits .align 2 - .set .LANCHOR7,. + 0 + .set .LANCHOR9,. + 0 .type gp_blk_info, %object .size gp_blk_info, 4 gp_blk_info: .space 4 .section .bss.gp_data_slc_cache_head,"aw",%nobits .align 2 - .set .LANCHOR89,. + 0 + .set .LANCHOR90,. + 0 .type gp_data_slc_cache_head, %object .size gp_data_slc_cache_head, 4 gp_data_slc_cache_head: .space 4 .section .bss.gp_data_slc_data_head,"aw",%nobits .align 2 - .set .LANCHOR12,. + 0 + .set .LANCHOR95,. + 0 .type gp_data_slc_data_head, %object .size gp_data_slc_data_head, 4 gp_data_slc_data_head: .space 4 .section .bss.gp_data_xlc_data_head,"aw",%nobits .align 2 - .set .LANCHOR88,. + 0 + .set .LANCHOR92,. + 0 .type gp_data_xlc_data_head, %object .size gp_data_xlc_data_head, 4 gp_data_xlc_data_head: .space 4 .section .bss.gp_flash_check_buf,"aw",%nobits .align 2 - .set .LANCHOR144,. + 0 + .set .LANCHOR141,. + 0 .type gp_flash_check_buf, %object .size gp_flash_check_buf, 4 gp_flash_check_buf: .space 4 .section .bss.gp_flash_info,"aw",%nobits .align 2 - .set .LANCHOR27,. + 0 + .set .LANCHOR6,. + 0 .type gp_flash_info, %object .size gp_flash_info, 4 gp_flash_info: @@ -30761,7 +31306,7 @@ gp_free_xlc_head: .space 4 .section .bss.gp_ftl_ext_info,"aw",%nobits .align 2 - .set .LANCHOR10,. + 0 + .set .LANCHOR12,. + 0 .type gp_ftl_ext_info, %object .size gp_ftl_ext_info, 4 gp_ftl_ext_info: @@ -30775,14 +31320,14 @@ gp_ftl_info: .space 4 .section .bss.gp_nand_para_info,"aw",%nobits .align 2 - .set .LANCHOR16,. + 0 + .set .LANCHOR21,. + 0 .type gp_nand_para_info, %object .size gp_nand_para_info, 4 gp_nand_para_info: .space 4 .section .bss.gp_nandc,"aw",%nobits .align 2 - .set .LANCHOR13,. + 0 + .set .LANCHOR7,. + 0 .type gp_nandc, %object .size gp_nandc, 4 gp_nandc: @@ -30796,27 +31341,27 @@ gp_sblk_list_tbl: .space 4 .section .bss.idb_buf,"aw",%nobits .align 2 - .set .LANCHOR141,. + 0 + .set .LANCHOR138,. + 0 .type idb_buf, %object .size idb_buf, 4 idb_buf: .space 4 .section .bss.idb_last_lba,"aw",%nobits .align 2 - .set .LANCHOR177,. + 0 + .set .LANCHOR174,. + 0 .type idb_last_lba, %object .size idb_last_lba, 4 idb_last_lba: .space 4 .section .bss.idb_need_write_back,"aw",%nobits .align 2 - .set .LANCHOR142,. + 0 + .set .LANCHOR139,. + 0 .type idb_need_write_back, %object .size idb_need_write_back, 4 idb_need_write_back: .space 4 .section .bss.idb_write_enable,"aw",%nobits - .set .LANCHOR143,. + 0 + .set .LANCHOR140,. + 0 .type idb_write_enable, %object .size idb_write_enable, 1 idb_write_enable: @@ -30841,19 +31386,19 @@ lpa_hash_index: nandc_ecc_sts: .space 16 .section .bss.nandc_hw_seed,"aw",%nobits - .set .LANCHOR51,. + 0 + .set .LANCHOR50,. + 0 .type nandc_hw_seed, %object .size nandc_hw_seed, 1 nandc_hw_seed: .space 1 .section .bss.nandc_randomizer_en,"aw",%nobits - .set .LANCHOR52,. + 0 + .set .LANCHOR51,. + 0 .type nandc_randomizer_en, %object .size nandc_randomizer_en, 1 nandc_randomizer_en: .space 1 .section .bss.p_free_buf_head,"aw",%nobits - .set .LANCHOR57,. + 0 + .set .LANCHOR56,. + 0 .type p_free_buf_head, %object .size p_free_buf_head, 1 p_free_buf_head: @@ -30872,14 +31417,14 @@ pm_first_write: .space 1 .section .bss.pm_force_gc,"aw",%nobits .align 2 - .set .LANCHOR151,. + 0 + .set .LANCHOR148,. + 0 .type pm_force_gc, %object .size pm_force_gc, 4 pm_force_gc: .space 4 .section .bss.pm_gc_enable,"aw",%nobits .align 2 - .set .LANCHOR136,. + 0 + .set .LANCHOR204,. + 0 .type pm_gc_enable, %object .size pm_gc_enable, 4 pm_gc_enable: @@ -30891,14 +31436,14 @@ pm_gc_enable: pm_last_load_ram_id: .space 1 .section .bss.pm_last_update_ram_id,"aw",%nobits - .set .LANCHOR139,. + 0 + .set .LANCHOR136,. + 0 .type pm_last_update_ram_id, %object .size pm_last_update_ram_id, 1 pm_last_update_ram_id: .space 1 .section .bss.pm_ram_info,"aw",%nobits .align 2 - .set .LANCHOR138,. + 0 + .set .LANCHOR135,. + 0 .type pm_ram_info, %object .size pm_ram_info, 256 pm_ram_info: @@ -30923,25 +31468,25 @@ read_buf_count: read_buf_head: .space 1 .section .bss.sblk_gc_write_completed_queue_head,"aw",%nobits - .set .LANCHOR64,. + 0 + .set .LANCHOR63,. + 0 .type sblk_gc_write_completed_queue_head, %object .size sblk_gc_write_completed_queue_head, 1 sblk_gc_write_completed_queue_head: .space 1 .section .bss.sblk_queue_head,"aw",%nobits - .set .LANCHOR60,. + 0 + .set .LANCHOR59,. + 0 .type sblk_queue_head, %object .size sblk_queue_head, 1 sblk_queue_head: .space 1 .section .bss.sblk_read_completed_queue_head,"aw",%nobits - .set .LANCHOR63,. + 0 + .set .LANCHOR62,. + 0 .type sblk_read_completed_queue_head, %object .size sblk_read_completed_queue_head, 1 sblk_read_completed_queue_head: .space 1 .section .bss.sblk_write_completed_queue_head,"aw",%nobits - .set .LANCHOR65,. + 0 + .set .LANCHOR64,. + 0 .type sblk_write_completed_queue_head, %object .size sblk_write_completed_queue_head, 1 sblk_write_completed_queue_head: @@ -30961,13 +31506,13 @@ slc_cache_sblk: slc_data_sblk: .space 2 .section .bss.write_buf_count,"aw",%nobits - .set .LANCHOR67,. + 0 + .set .LANCHOR66,. + 0 .type write_buf_count, %object .size write_buf_count, 1 write_buf_count: .space 1 .section .bss.write_buf_head,"aw",%nobits - .set .LANCHOR66,. + 0 + .set .LANCHOR65,. + 0 .type write_buf_head, %object .size write_buf_head, 1 write_buf_head: @@ -30979,14 +31524,14 @@ write_buf_head: write_commit_count: .space 1 .section .bss.write_commit_head,"aw",%nobits - .set .LANCHOR185,. + 0 + .set .LANCHOR182,. + 0 .type write_commit_head, %object .size write_commit_head, 1 write_commit_head: .space 1 .section .bss.xlc_data_sblk,"aw",%nobits .align 1 - .set .LANCHOR93,. + 0 + .set .LANCHOR91,. + 0 .type xlc_data_sblk, %object .size xlc_data_sblk, 2 xlc_data_sblk: @@ -31000,7 +31545,7 @@ zftl_print_list_count: .space 2 .section .data.g_nand_para_info,"aw",%progbits .align 1 - .set .LANCHOR33,. + 0 + .set .LANCHOR32,. + 0 .type g_nand_para_info, %object .size g_nand_para_info, 32 g_nand_para_info: @@ -31033,7 +31578,7 @@ g_nand_para_info: .byte 0 .byte 0 .section .data.hy_f26_ref_value,"aw",%progbits - .set .LANCHOR165,. + 0 + .set .LANCHOR162,. + 0 .type hy_f26_ref_value, %object .size hy_f26_ref_value, 28 hy_f26_ref_value: @@ -31147,7 +31692,7 @@ nand_opt_para: .byte 0 .space 14 .section .data.sd15_slc_rr,"aw",%progbits - .set .LANCHOR41,. + 0 + .set .LANCHOR40,. + 0 .type sd15_slc_rr, %object .size sd15_slc_rr, 25 sd15_slc_rr: @@ -31177,7 +31722,7 @@ sd15_slc_rr: .byte 104 .byte 112 .section .data.sd15_tlc_rr,"aw",%progbits - .set .LANCHOR40,. + 0 + .set .LANCHOR39,. + 0 .type sd15_tlc_rr, %object .size sd15_tlc_rr, 329 sd15_tlc_rr: @@ -32676,7 +33221,7 @@ tlc_prog_order: .short 1019 .section .data.zftl_debug,"aw",%progbits .align 2 - .set .LANCHOR14,. + 0 + .set .LANCHOR19,. + 0 .type zftl_debug, %object .size zftl_debug, 4 zftl_debug: @@ -34059,402 +34604,402 @@ zftl_nand_flash_para_tbl: .byte -38 .byte -33 .byte 0 - .section .rodata.__func__.10010,"a",%progbits - .set .LANCHOR47,. + 0 - .type __func__.10010, %object - .size __func__.10010, 23 -__func__.10010: - .ascii "flash_start_plane_read\000" - .section .rodata.__func__.10023,"a",%progbits - .set .LANCHOR182,. + 0 - .type __func__.10023, %object - .size __func__.10023, 25 -__func__.10023: - .ascii "flash_complete_page_read\000" - .section .rodata.__func__.10438,"a",%progbits - .set .LANCHOR146,. + 0 - .type __func__.10438, %object - .size __func__.10438, 20 -__func__.10438: - .ascii "flash_die_info_init\000" - .section .rodata.__func__.10448,"a",%progbits - .set .LANCHOR15,. + 0 - .type __func__.10448, %object - .size __func__.10448, 22 -__func__.10448: - .ascii "nand_flash_print_info\000" - .section .rodata.__func__.10493,"a",%progbits - .set .LANCHOR213,. + 0 - .type __func__.10493, %object - .size __func__.10493, 16 -__func__.10493: - .ascii "nand_flash_init\000" - .section .rodata.__func__.10516,"a",%progbits - .set .LANCHOR158,. + 0 - .type __func__.10516, %object - .size __func__.10516, 11 -__func__.10516: - .ascii "nandc_init\000" - .section .rodata.__func__.10685,"a",%progbits - .set .LANCHOR59,. + 0 - .type __func__.10685, %object - .size __func__.10685, 13 -__func__.10685: - .ascii "buf_add_tail\000" - .section .rodata.__func__.10698,"a",%progbits - .set .LANCHOR61,. + 0 - .type __func__.10698, %object - .size __func__.10698, 10 -__func__.10698: - .ascii "buf_alloc\000" - .section .rodata.__func__.10712,"a",%progbits - .set .LANCHOR62,. + 0 - .type __func__.10712, %object - .size __func__.10712, 16 -__func__.10712: - .ascii "buf_remove_free\000" - .section .rodata.__func__.10733,"a",%progbits - .set .LANCHOR212,. + 0 - .type __func__.10733, %object - .size __func__.10733, 20 -__func__.10733: - .ascii "flash_info_blk_init\000" - .section .rodata.__func__.10748,"a",%progbits - .set .LANCHOR157,. + 0 - .type __func__.10748, %object - .size __func__.10748, 21 -__func__.10748: - .ascii "flash_info_data_init\000" - .section .rodata.__func__.10770,"a",%progbits - .set .LANCHOR209,. + 0 - .type __func__.10770, %object - .size __func__.10770, 17 -__func__.10770: - .ascii "flash_info_flush\000" - .section .rodata.__func__.10846,"a",%progbits - .set .LANCHOR150,. + 0 - .type __func__.10846, %object - .size __func__.10846, 17 -__func__.10846: - .ascii "lpa_rebuild_hash\000" - .section .rodata.__func__.10896,"a",%progbits - .set .LANCHOR232,. + 0 - .type __func__.10896, %object - .size __func__.10896, 17 -__func__.10896: - .ascii "ftl_write_commit\000" - .section .rodata.__func__.10914,"a",%progbits - .set .LANCHOR130,. + 0 - .type __func__.10914, %object - .size __func__.10914, 14 -__func__.10914: - .ascii "ftl_write_buf\000" - .section .rodata.__func__.10959,"a",%progbits - .set .LANCHOR132,. + 0 - .type __func__.10959, %object - .size __func__.10959, 18 -__func__.10959: - .ascii "zftl_add_read_buf\000" - .section .rodata.__func__.10992,"a",%progbits - .set .LANCHOR230,. + 0 - .type __func__.10992, %object - .size __func__.10992, 10 -__func__.10992: - .ascii "zftl_read\000" - .section .rodata.__func__.11023,"a",%progbits - .set .LANCHOR242,. + 0 - .type __func__.11023, %object - .size __func__.11023, 13 -__func__.11023: - .ascii "_ftl_discard\000" - .section .rodata.__func__.11169,"a",%progbits - .set .LANCHOR225,. + 0 - .type __func__.11169, %object - .size __func__.11169, 12 -__func__.11169: - .ascii "gc_recovery\000" - .section .rodata.__func__.11179,"a",%progbits - .set .LANCHOR72,. + 0 - .type __func__.11179, %object - .size __func__.11179, 12 -__func__.11179: - .ascii "gc_add_sblk\000" - .section .rodata.__func__.11226,"a",%progbits - .set .LANCHOR188,. + 0 - .type __func__.11226, %object - .size __func__.11226, 21 -__func__.11226: - .ascii "gc_check_data_one_wl\000" - .section .rodata.__func__.11258,"a",%progbits - .set .LANCHOR226,. + 0 - .type __func__.11258, %object - .size __func__.11258, 22 -__func__.11258: - .ascii "gc_update_l2p_map_new\000" - .section .rodata.__func__.11271,"a",%progbits - .set .LANCHOR78,. + 0 - .type __func__.11271, %object - .size __func__.11271, 19 -__func__.11271: - .ascii "gc_write_completed\000" - .section .rodata.__func__.11301,"a",%progbits - .set .LANCHOR234,. + 0 - .type __func__.11301, %object - .size __func__.11301, 16 -__func__.11301: - .ascii "gc_do_copy_back\000" - .section .rodata.__func__.11328,"a",%progbits - .set .LANCHOR127,. + 0 - .type __func__.11328, %object - .size __func__.11328, 16 -__func__.11328: - .ascii "gc_free_src_blk\000" - .section .rodata.__func__.11372,"a",%progbits - .set .LANCHOR227,. + 0 - .type __func__.11372, %object - .size __func__.11372, 16 -__func__.11372: - .ascii "gc_scan_src_blk\000" - .section .rodata.__func__.11433,"a",%progbits - .set .LANCHOR228,. + 0 - .type __func__.11433, %object - .size __func__.11433, 20 -__func__.11433: - .ascii "gc_scan_static_data\000" - .section .rodata.__func__.11500,"a",%progbits - .set .LANCHOR237,. + 0 - .type __func__.11500, %object - .size __func__.11500, 11 -__func__.11500: - .ascii "zftl_do_gc\000" - .section .rodata.__func__.11595,"a",%progbits - .set .LANCHOR5,. + 0 - .type __func__.11595, %object - .size __func__.11595, 18 -__func__.11595: - .ascii "_list_remove_node\000" - .section .rodata.__func__.11620,"a",%progbits - .set .LANCHOR11,. + 0 - .type __func__.11620, %object - .size __func__.11620, 23 -__func__.11620: - .ascii "_list_update_data_list\000" - .section .rodata.__func__.11695,"a",%progbits - .set .LANCHOR154,. + 0 - .type __func__.11695, %object - .size __func__.11695, 20 -__func__.11695: - .ascii "zftl_sblk_list_init\000" - .section .rodata.__func__.11729,"a",%progbits - .set .LANCHOR196,. + 0 - .type __func__.11729, %object - .size __func__.11729, 15 -__func__.11729: - .ascii "ftl_info_flush\000" - .section .rodata.__func__.11761,"a",%progbits - .set .LANCHOR135,. + 0 - .type __func__.11761, %object - .size __func__.11761, 15 -__func__.11761: - .ascii "ftl_alloc_sblk\000" - .section .rodata.__func__.11803,"a",%progbits - .set .LANCHOR113,. + 0 - .type __func__.11803, %object - .size __func__.11803, 18 -__func__.11803: - .ascii "ftl_alloc_sys_blk\000" - .section .rodata.__func__.11813,"a",%progbits - .set .LANCHOR114,. + 0 - .type __func__.11813, %object - .size __func__.11813, 17 -__func__.11813: - .ascii "ftl_free_sys_blk\000" - .section .rodata.__func__.11848,"a",%progbits - .set .LANCHOR229,. + 0 - .type __func__.11848, %object - .size __func__.11848, 14 -__func__.11848: - .ascii "ftl_sblk_dump\000" - .section .rodata.__func__.11872,"a",%progbits - .set .LANCHOR218,. + 0 - .type __func__.11872, %object - .size __func__.11872, 16 -__func__.11872: - .ascii "ftl_sysblk_dump\000" - .section .rodata.__func__.11897,"a",%progbits - .set .LANCHOR219,. + 0 - .type __func__.11897, %object - .size __func__.11897, 23 -__func__.11897: - .ascii "ftl_open_sblk_recovery\000" - .section .rodata.__func__.11930,"a",%progbits - .set .LANCHOR115,. + 0 - .type __func__.11930, %object - .size __func__.11930, 23 -__func__.11930: - .ascii "ftl_get_ppa_from_index\000" - .section .rodata.__func__.11951,"a",%progbits - .set .LANCHOR231,. + 0 - .type __func__.11951, %object - .size __func__.11951, 19 -__func__.11951: - .ascii "ftl_update_l2p_map\000" - .section .rodata.__func__.11970,"a",%progbits - .set .LANCHOR119,. + 0 - .type __func__.11970, %object - .size __func__.11970, 22 -__func__.11970: - .ascii "ftl_get_new_free_page\000" - .section .rodata.__func__.11981,"a",%progbits - .set .LANCHOR120,. + 0 - .type __func__.11981, %object - .size __func__.11981, 22 -__func__.11981: - .ascii "ftl_ext_alloc_new_blk\000" - .section .rodata.__func__.12007,"a",%progbits - .set .LANCHOR201,. + 0 - .type __func__.12007, %object - .size __func__.12007, 19 -__func__.12007: - .ascii "ftl_ext_info_flush\000" - .section .rodata.__func__.12019,"a",%progbits - .set .LANCHOR202,. + 0 - .type __func__.12019, %object - .size __func__.12019, 18 -__func__.12019: - .ascii "ftl_ext_info_init\000" - .section .rodata.__func__.12058,"a",%progbits - .set .LANCHOR203,. + 0 - .type __func__.12058, %object - .size __func__.12058, 25 -__func__.12058: - .ascii "ftl_low_format_data_init\000" - .section .rodata.__func__.12073,"a",%progbits - .set .LANCHOR205,. + 0 - .type __func__.12073, %object - .size __func__.12073, 15 -__func__.12073: - .ascii "ftl_low_format\000" - .section .rodata.__func__.12121,"a",%progbits - .set .LANCHOR192,. + 0 - .type __func__.12121, %object - .size __func__.12121, 14 -__func__.12121: - .ascii "ftl_prog_page\000" - .section .rodata.__func__.12244,"a",%progbits - .set .LANCHOR183,. + 0 - .type __func__.12244, %object - .size __func__.12244, 31 -__func__.12244: - .ascii "queue_wait_first_req_completed\000" - .section .rodata.__func__.12298,"a",%progbits - .set .LANCHOR184,. + 0 - .type __func__.12298, %object - .size __func__.12298, 15 -__func__.12298: - .ascii "sblk_prog_page\000" - .section .rodata.__func__.12325,"a",%progbits - .set .LANCHOR187,. + 0 - .type __func__.12325, %object - .size __func__.12325, 15 -__func__.12325: - .ascii "sblk_read_page\000" - .section .rodata.__func__.12395,"a",%progbits - .set .LANCHOR220,. + 0 - .type __func__.12395, %object - .size __func__.12395, 16 -__func__.12395: - .ascii "load_l2p_region\000" - .section .rodata.__func__.12411,"a",%progbits - .set .LANCHOR156,. + 0 - .type __func__.12411, %object - .size __func__.12411, 13 -__func__.12411: - .ascii "pm_free_sblk\000" - .section .rodata.__func__.12435,"a",%progbits - .set .LANCHOR222,. + 0 - .type __func__.12435, %object - .size __func__.12435, 6 -__func__.12435: - .ascii "pm_gc\000" - .section .rodata.__func__.12451,"a",%progbits - .set .LANCHOR137,. + 0 - .type __func__.12451, %object - .size __func__.12451, 17 -__func__.12451: - .ascii "pm_alloc_new_blk\000" - .section .rodata.__func__.12461,"a",%progbits - .set .LANCHOR206,. + 0 - .type __func__.12461, %object - .size __func__.12461, 14 -__func__.12461: - .ascii "pm_write_page\000" - .section .rodata.__func__.12479,"a",%progbits - .set .LANCHOR140,. + 0 - .type __func__.12479, %object - .size __func__.12479, 21 -__func__.12479: - .ascii "pm_select_ram_region\000" - .section .rodata.__func__.9819,"a",%progbits - .set .LANCHOR173,. + 0 - .type __func__.9819, %object - .size __func__.9819, 19 -__func__.9819: - .ascii "flash_read_page_en\000" - .section .rodata.__func__.9880,"a",%progbits - .set .LANCHOR189,. + 0 - .type __func__.9880, %object - .size __func__.9880, 19 -__func__.9880: - .ascii "flash_prog_page_en\000" - .section .rodata.__func__.9896,"a",%progbits - .set .LANCHOR44,. + 0 - .type __func__.9896, %object - .size __func__.9896, 26 -__func__.9896: - .ascii "flash_erase_duplane_block\000" - .section .rodata.__func__.9907,"a",%progbits - .set .LANCHOR46,. + 0 - .type __func__.9907, %object - .size __func__.9907, 21 -__func__.9907: - .ascii "flash_erase_block_en\000" - .section .rodata.__func__.9921,"a",%progbits - .set .LANCHOR29,. + 0 - .type __func__.9921, %object - .size __func__.9921, 28 -__func__.9921: - .ascii "flash_wait_device_ready_raw\000" - .section .rodata.__func__.9945,"a",%progbits - .set .LANCHOR178,. + 0 - .type __func__.9945, %object - .size __func__.9945, 26 -__func__.9945: - .ascii "flash_start_tlc_page_prog\000" - .section .rodata.__func__.9956,"a",%progbits - .set .LANCHOR179,. + 0 - .type __func__.9956, %object - .size __func__.9956, 29 -__func__.9956: - .ascii "flash_start_3d_mlc_page_prog\000" - .section .rodata.__func__.9974,"a",%progbits - .set .LANCHOR180,. + 0 - .type __func__.9974, %object - .size __func__.9974, 22 -__func__.9974: - .ascii "flash_start_page_prog\000" - .section .rodata.__func__.9985,"a",%progbits - .set .LANCHOR35,. + 0 - .type __func__.9985, %object - .size __func__.9985, 22 -__func__.9985: + .section .rodata.__func__.10003,"a",%progbits + .set .LANCHOR34,. + 0 + .type __func__.10003, %object + .size __func__.10003, 22 +__func__.10003: .ascii "flash_start_page_read\000" - .section .rodata.__func__.9998,"a",%progbits - .set .LANCHOR181,. + 0 - .type __func__.9998, %object - .size __func__.9998, 31 -__func__.9998: + .section .rodata.__func__.10016,"a",%progbits + .set .LANCHOR178,. + 0 + .type __func__.10016, %object + .size __func__.10016, 31 +__func__.10016: .ascii "flash_complete_plane_page_read\000" + .section .rodata.__func__.10028,"a",%progbits + .set .LANCHOR46,. + 0 + .type __func__.10028, %object + .size __func__.10028, 23 +__func__.10028: + .ascii "flash_start_plane_read\000" + .section .rodata.__func__.10041,"a",%progbits + .set .LANCHOR179,. + 0 + .type __func__.10041, %object + .size __func__.10041, 25 +__func__.10041: + .ascii "flash_complete_page_read\000" + .section .rodata.__func__.10456,"a",%progbits + .set .LANCHOR143,. + 0 + .type __func__.10456, %object + .size __func__.10456, 20 +__func__.10456: + .ascii "flash_die_info_init\000" + .section .rodata.__func__.10466,"a",%progbits + .set .LANCHOR20,. + 0 + .type __func__.10466, %object + .size __func__.10466, 22 +__func__.10466: + .ascii "nand_flash_print_info\000" + .section .rodata.__func__.10511,"a",%progbits + .set .LANCHOR213,. + 0 + .type __func__.10511, %object + .size __func__.10511, 16 +__func__.10511: + .ascii "nand_flash_init\000" + .section .rodata.__func__.10534,"a",%progbits + .set .LANCHOR155,. + 0 + .type __func__.10534, %object + .size __func__.10534, 11 +__func__.10534: + .ascii "nandc_init\000" + .section .rodata.__func__.10699,"a",%progbits + .set .LANCHOR58,. + 0 + .type __func__.10699, %object + .size __func__.10699, 13 +__func__.10699: + .ascii "buf_add_tail\000" + .section .rodata.__func__.10712,"a",%progbits + .set .LANCHOR60,. + 0 + .type __func__.10712, %object + .size __func__.10712, 10 +__func__.10712: + .ascii "buf_alloc\000" + .section .rodata.__func__.10726,"a",%progbits + .set .LANCHOR61,. + 0 + .type __func__.10726, %object + .size __func__.10726, 16 +__func__.10726: + .ascii "buf_remove_free\000" + .section .rodata.__func__.10747,"a",%progbits + .set .LANCHOR212,. + 0 + .type __func__.10747, %object + .size __func__.10747, 20 +__func__.10747: + .ascii "flash_info_blk_init\000" + .section .rodata.__func__.10762,"a",%progbits + .set .LANCHOR154,. + 0 + .type __func__.10762, %object + .size __func__.10762, 21 +__func__.10762: + .ascii "flash_info_data_init\000" + .section .rodata.__func__.10784,"a",%progbits + .set .LANCHOR209,. + 0 + .type __func__.10784, %object + .size __func__.10784, 17 +__func__.10784: + .ascii "flash_info_flush\000" + .section .rodata.__func__.10860,"a",%progbits + .set .LANCHOR147,. + 0 + .type __func__.10860, %object + .size __func__.10860, 17 +__func__.10860: + .ascii "lpa_rebuild_hash\000" + .section .rodata.__func__.10910,"a",%progbits + .set .LANCHOR232,. + 0 + .type __func__.10910, %object + .size __func__.10910, 17 +__func__.10910: + .ascii "ftl_write_commit\000" + .section .rodata.__func__.10928,"a",%progbits + .set .LANCHOR130,. + 0 + .type __func__.10928, %object + .size __func__.10928, 14 +__func__.10928: + .ascii "ftl_write_buf\000" + .section .rodata.__func__.10973,"a",%progbits + .set .LANCHOR132,. + 0 + .type __func__.10973, %object + .size __func__.10973, 18 +__func__.10973: + .ascii "zftl_add_read_buf\000" + .section .rodata.__func__.11006,"a",%progbits + .set .LANCHOR230,. + 0 + .type __func__.11006, %object + .size __func__.11006, 10 +__func__.11006: + .ascii "zftl_read\000" + .section .rodata.__func__.11038,"a",%progbits + .set .LANCHOR242,. + 0 + .type __func__.11038, %object + .size __func__.11038, 13 +__func__.11038: + .ascii "_ftl_discard\000" + .section .rodata.__func__.11184,"a",%progbits + .set .LANCHOR225,. + 0 + .type __func__.11184, %object + .size __func__.11184, 12 +__func__.11184: + .ascii "gc_recovery\000" + .section .rodata.__func__.11194,"a",%progbits + .set .LANCHOR71,. + 0 + .type __func__.11194, %object + .size __func__.11194, 12 +__func__.11194: + .ascii "gc_add_sblk\000" + .section .rodata.__func__.11241,"a",%progbits + .set .LANCHOR185,. + 0 + .type __func__.11241, %object + .size __func__.11241, 21 +__func__.11241: + .ascii "gc_check_data_one_wl\000" + .section .rodata.__func__.11273,"a",%progbits + .set .LANCHOR226,. + 0 + .type __func__.11273, %object + .size __func__.11273, 22 +__func__.11273: + .ascii "gc_update_l2p_map_new\000" + .section .rodata.__func__.11286,"a",%progbits + .set .LANCHOR77,. + 0 + .type __func__.11286, %object + .size __func__.11286, 19 +__func__.11286: + .ascii "gc_write_completed\000" + .section .rodata.__func__.11316,"a",%progbits + .set .LANCHOR234,. + 0 + .type __func__.11316, %object + .size __func__.11316, 16 +__func__.11316: + .ascii "gc_do_copy_back\000" + .section .rodata.__func__.11343,"a",%progbits + .set .LANCHOR127,. + 0 + .type __func__.11343, %object + .size __func__.11343, 16 +__func__.11343: + .ascii "gc_free_src_blk\000" + .section .rodata.__func__.11387,"a",%progbits + .set .LANCHOR227,. + 0 + .type __func__.11387, %object + .size __func__.11387, 16 +__func__.11387: + .ascii "gc_scan_src_blk\000" + .section .rodata.__func__.11448,"a",%progbits + .set .LANCHOR228,. + 0 + .type __func__.11448, %object + .size __func__.11448, 20 +__func__.11448: + .ascii "gc_scan_static_data\000" + .section .rodata.__func__.11542,"a",%progbits + .set .LANCHOR237,. + 0 + .type __func__.11542, %object + .size __func__.11542, 11 +__func__.11542: + .ascii "zftl_do_gc\000" + .section .rodata.__func__.11637,"a",%progbits + .set .LANCHOR5,. + 0 + .type __func__.11637, %object + .size __func__.11637, 18 +__func__.11637: + .ascii "_list_remove_node\000" + .section .rodata.__func__.11662,"a",%progbits + .set .LANCHOR13,. + 0 + .type __func__.11662, %object + .size __func__.11662, 23 +__func__.11662: + .ascii "_list_update_data_list\000" + .section .rodata.__func__.11737,"a",%progbits + .set .LANCHOR151,. + 0 + .type __func__.11737, %object + .size __func__.11737, 20 +__func__.11737: + .ascii "zftl_sblk_list_init\000" + .section .rodata.__func__.11771,"a",%progbits + .set .LANCHOR193,. + 0 + .type __func__.11771, %object + .size __func__.11771, 15 +__func__.11771: + .ascii "ftl_info_flush\000" + .section .rodata.__func__.11826,"a",%progbits + .set .LANCHOR200,. + 0 + .type __func__.11826, %object + .size __func__.11826, 15 +__func__.11826: + .ascii "ftl_alloc_sblk\000" + .section .rodata.__func__.11868,"a",%progbits + .set .LANCHOR113,. + 0 + .type __func__.11868, %object + .size __func__.11868, 18 +__func__.11868: + .ascii "ftl_alloc_sys_blk\000" + .section .rodata.__func__.11878,"a",%progbits + .set .LANCHOR114,. + 0 + .type __func__.11878, %object + .size __func__.11878, 17 +__func__.11878: + .ascii "ftl_free_sys_blk\000" + .section .rodata.__func__.11913,"a",%progbits + .set .LANCHOR229,. + 0 + .type __func__.11913, %object + .size __func__.11913, 14 +__func__.11913: + .ascii "ftl_sblk_dump\000" + .section .rodata.__func__.11937,"a",%progbits + .set .LANCHOR218,. + 0 + .type __func__.11937, %object + .size __func__.11937, 16 +__func__.11937: + .ascii "ftl_sysblk_dump\000" + .section .rodata.__func__.11962,"a",%progbits + .set .LANCHOR219,. + 0 + .type __func__.11962, %object + .size __func__.11962, 23 +__func__.11962: + .ascii "ftl_open_sblk_recovery\000" + .section .rodata.__func__.11995,"a",%progbits + .set .LANCHOR115,. + 0 + .type __func__.11995, %object + .size __func__.11995, 23 +__func__.11995: + .ascii "ftl_get_ppa_from_index\000" + .section .rodata.__func__.12016,"a",%progbits + .set .LANCHOR231,. + 0 + .type __func__.12016, %object + .size __func__.12016, 19 +__func__.12016: + .ascii "ftl_update_l2p_map\000" + .section .rodata.__func__.12035,"a",%progbits + .set .LANCHOR119,. + 0 + .type __func__.12035, %object + .size __func__.12035, 22 +__func__.12035: + .ascii "ftl_get_new_free_page\000" + .section .rodata.__func__.12046,"a",%progbits + .set .LANCHOR120,. + 0 + .type __func__.12046, %object + .size __func__.12046, 22 +__func__.12046: + .ascii "ftl_ext_alloc_new_blk\000" + .section .rodata.__func__.12072,"a",%progbits + .set .LANCHOR198,. + 0 + .type __func__.12072, %object + .size __func__.12072, 19 +__func__.12072: + .ascii "ftl_ext_info_flush\000" + .section .rodata.__func__.12084,"a",%progbits + .set .LANCHOR199,. + 0 + .type __func__.12084, %object + .size __func__.12084, 18 +__func__.12084: + .ascii "ftl_ext_info_init\000" + .section .rodata.__func__.12123,"a",%progbits + .set .LANCHOR201,. + 0 + .type __func__.12123, %object + .size __func__.12123, 25 +__func__.12123: + .ascii "ftl_low_format_data_init\000" + .section .rodata.__func__.12138,"a",%progbits + .set .LANCHOR203,. + 0 + .type __func__.12138, %object + .size __func__.12138, 15 +__func__.12138: + .ascii "ftl_low_format\000" + .section .rodata.__func__.12186,"a",%progbits + .set .LANCHOR189,. + 0 + .type __func__.12186, %object + .size __func__.12186, 14 +__func__.12186: + .ascii "ftl_prog_page\000" + .section .rodata.__func__.12309,"a",%progbits + .set .LANCHOR180,. + 0 + .type __func__.12309, %object + .size __func__.12309, 31 +__func__.12309: + .ascii "queue_wait_first_req_completed\000" + .section .rodata.__func__.12363,"a",%progbits + .set .LANCHOR181,. + 0 + .type __func__.12363, %object + .size __func__.12363, 15 +__func__.12363: + .ascii "sblk_prog_page\000" + .section .rodata.__func__.12390,"a",%progbits + .set .LANCHOR184,. + 0 + .type __func__.12390, %object + .size __func__.12390, 15 +__func__.12390: + .ascii "sblk_read_page\000" + .section .rodata.__func__.12460,"a",%progbits + .set .LANCHOR220,. + 0 + .type __func__.12460, %object + .size __func__.12460, 16 +__func__.12460: + .ascii "load_l2p_region\000" + .section .rodata.__func__.12476,"a",%progbits + .set .LANCHOR153,. + 0 + .type __func__.12476, %object + .size __func__.12476, 13 +__func__.12476: + .ascii "pm_free_sblk\000" + .section .rodata.__func__.12500,"a",%progbits + .set .LANCHOR222,. + 0 + .type __func__.12500, %object + .size __func__.12500, 6 +__func__.12500: + .ascii "pm_gc\000" + .section .rodata.__func__.12516,"a",%progbits + .set .LANCHOR205,. + 0 + .type __func__.12516, %object + .size __func__.12516, 17 +__func__.12516: + .ascii "pm_alloc_new_blk\000" + .section .rodata.__func__.12526,"a",%progbits + .set .LANCHOR206,. + 0 + .type __func__.12526, %object + .size __func__.12526, 14 +__func__.12526: + .ascii "pm_write_page\000" + .section .rodata.__func__.12544,"a",%progbits + .set .LANCHOR137,. + 0 + .type __func__.12544, %object + .size __func__.12544, 21 +__func__.12544: + .ascii "pm_select_ram_region\000" + .section .rodata.__func__.9837,"a",%progbits + .set .LANCHOR170,. + 0 + .type __func__.9837, %object + .size __func__.9837, 19 +__func__.9837: + .ascii "flash_read_page_en\000" + .section .rodata.__func__.9898,"a",%progbits + .set .LANCHOR186,. + 0 + .type __func__.9898, %object + .size __func__.9898, 19 +__func__.9898: + .ascii "flash_prog_page_en\000" + .section .rodata.__func__.9914,"a",%progbits + .set .LANCHOR43,. + 0 + .type __func__.9914, %object + .size __func__.9914, 26 +__func__.9914: + .ascii "flash_erase_duplane_block\000" + .section .rodata.__func__.9925,"a",%progbits + .set .LANCHOR45,. + 0 + .type __func__.9925, %object + .size __func__.9925, 21 +__func__.9925: + .ascii "flash_erase_block_en\000" + .section .rodata.__func__.9939,"a",%progbits + .set .LANCHOR28,. + 0 + .type __func__.9939, %object + .size __func__.9939, 28 +__func__.9939: + .ascii "flash_wait_device_ready_raw\000" + .section .rodata.__func__.9963,"a",%progbits + .set .LANCHOR175,. + 0 + .type __func__.9963, %object + .size __func__.9963, 26 +__func__.9963: + .ascii "flash_start_tlc_page_prog\000" + .section .rodata.__func__.9974,"a",%progbits + .set .LANCHOR176,. + 0 + .type __func__.9974, %object + .size __func__.9974, 29 +__func__.9974: + .ascii "flash_start_3d_mlc_page_prog\000" + .section .rodata.__func__.9992,"a",%progbits + .set .LANCHOR177,. + 0 + .type __func__.9992, %object + .size __func__.9992, 22 +__func__.9992: + .ascii "flash_start_page_prog\000" .section .rodata._list_remove_node.str1.1,"aMS",%progbits,1 .LC0: .ascii "\012!!!!! error @ func:%s - line:%d\012\000" @@ -34475,53 +35020,56 @@ __func__.9998: .ascii "buf = %d, next=%d, flag=%d gc_write_flag=%d, lun_st" .ascii "ate=%d, op_status = %d lpa=%x, ppa=%x\012\000" .section .rodata.dump_ftl_info.str1.1,"aMS",%progbits,1 -.LC189: - .ascii "free_buf_count: %d\012\000" -.LC190: - .ascii "g_ftl_info_blk blk:0x%x, index:0x%x, page:0x%x\012\000" -.LC191: - .ascii "ftl_ext_info_blk blk:0x%x, page:0x%x\012\000" .LC192: + .ascii "free_buf_count: %d\012\000" +.LC193: + .ascii "g_ftl_info_blk blk:0x%x, index:0x%x, page:0x%x\012\000" +.LC194: + .ascii "ftl_ext_info_blk blk:0x%x, page:0x%x\012\000" +.LC195: .ascii "ac_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page" .ascii "_index:0x%x\012\000" -.LC193: +.LC196: .ascii "tmp_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, pag" .ascii "e_index:0x%x\012\000" -.LC194: +.LC197: .ascii "gc_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page" .ascii "_index:0x%x\012\000" -.LC195: - .ascii "lpa:\000" -.LC196: - .ascii "vpn:\000" -.LC197: - .ascii "sblk:\000" .LC198: - .ascii "lpa_hash:\000" + .ascii "lpa:\000" .LC199: + .ascii "vpn:\000" +.LC200: + .ascii "sblk:\000" +.LC201: + .ascii "lpa_hash:\000" +.LC202: .ascii "lpa_hash_index:\000" .section .rodata.dump_pm_blk.str1.1,"aMS",%progbits,1 -.LC254: +.LC257: .ascii "pm l2p:\000" -.LC255: +.LC258: .ascii "pm blk:\000" .section .rodata.dump_sblk_queue.str1.1,"aMS",%progbits,1 -.LC80: +.LC79: .ascii "dump_sblk_queue: %d\012\000" -.LC81: +.LC80: .ascii "buf id= %d state = %d ppa = %x\012\000" .section .rodata.flash_complete_page_read.str1.1,"aMS",%progbits,1 -.LC139: +.LC136: .ascii "flash_complete_page_read %x %x error_ecc %d %d\012\000" .section .rodata.flash_ddr_tuning_read.str1.1,"aMS",%progbits,1 -.LC125: +.LC122: .ascii "%d flash_ddr_tuning_read %x ecc=%d\012\000" -.LC126: +.LC123: .ascii "sync para %d\012\000" -.LC127: +.LC124: .ascii "DDR mode Read error %x %x\012\000" -.LC128: +.LC125: .ascii "SDR mode Read %x %x ecc:%x\012\000" + .section .rodata.flash_dual_page_prog.str1.1,"aMS",%progbits,1 +.LC130: + .ascii "flash_prog_page %x %x %x\012\000" .section .rodata.flash_erase_all.str1.1,"aMS",%progbits,1 .LC35: .ascii "erase done: %x\012\000" @@ -34537,43 +35085,41 @@ __func__.9998: .ascii "flash_erase_duplane_block pageadd = %x status = %x\012" .ascii "\000" .section .rodata.flash_get_last_written_page.str1.1,"aMS",%progbits,1 -.LC131: +.LC128: .ascii "flash_get_last_written_page: %x %x %x\012\000" .section .rodata.flash_info_blk_init.str1.1,"aMS",%progbits,1 -.LC174: +.LC177: .ascii "...%d @ %s %d %p\012\000" -.LC175: +.LC178: .ascii "no sys info %x\012\000" .section .rodata.flash_info_data_init.str1.1,"aMS",%progbits,1 -.LC97: +.LC94: .ascii "...%d @ %s\012\000" .section .rodata.flash_info_flush.str1.1,"aMS",%progbits,1 -.LC171: +.LC174: .ascii "finfo:\000" -.LC172: +.LC175: .ascii "flash_info_flush id = %x, page = %x\012\000" -.LC173: +.LC176: .ascii "sys_info_flush error:%x\012\000" .section .rodata.flash_mask_bad_block.str1.1,"aMS",%progbits,1 .LC48: .ascii "flash_mask_bad_block %d %d\012\000" .section .rodata.flash_prog_page.str1.1,"aMS",%progbits,1 -.LC132: - .ascii "flash_prog_page %x %x %x\012\000" -.LC133: +.LC129: .ascii "flash_prog_page page_addr = %x status = %x\012\000" .section .rodata.flash_prog_page_en.str1.1,"aMS",%progbits,1 -.LC147: +.LC144: .ascii "flash_prog_page_en:%x %x %x\012\000" -.LC148: +.LC145: .ascii "w d:\000" -.LC149: +.LC146: .ascii "w s:\000" -.LC150: +.LC147: .ascii "spare\000" -.LC151: +.LC148: .ascii "data\000" -.LC152: +.LC149: .ascii "write error: %x\012\000" .section .rodata.flash_read_id.str1.1,"aMS",%progbits,1 .LC38: @@ -34582,9 +35128,9 @@ __func__.9998: .LC39: .ascii "otp:%x %x %x %x\012\000" .section .rodata.flash_read_page_en.str1.1,"aMS",%progbits,1 -.LC129: +.LC126: .ascii "flash_read_page_en %x %x %x %x\012\000" -.LC130: +.LC127: .ascii "flash_read_page_en %x %x error_ecc %d %d\012\000" .section .rodata.flash_set_interface_mode.str1.1,"aMS",%progbits,1 .LC36: @@ -34592,115 +35138,123 @@ __func__.9998: .LC37: .ascii "nand ddr mode %x\012\000" .section .rodata.ftl_alloc_new_data_sblk.str1.1,"aMS",%progbits,1 -.LC232: +.LC235: .ascii "error gc_add_sblk: %x\012\000" .section .rodata.ftl_alloc_sblk.str1.1,"aMS",%progbits,1 -.LC79: +.LC167: .ascii "alloc sblk %x %d\012\000" .section .rodata.ftl_dump_write_open_sblk.str1.1,"aMS",%progbits,1 -.LC166: +.LC159: .ascii "ftl_sblk_dump_write = %x %d %d %d %d\012\000" -.LC167: +.LC160: .ascii "blk= %x, page=%x, ppa = %x, status = %x, data:%x %x" .ascii " %x %x, spare: %x %x %x %x\012\000" -.LC168: +.LC161: .ascii "ftl_sblk_dump_write2 = %x %d %d %d\012\000" -.LC169: +.LC162: .ascii "ftl_sblk_dump_write = %x %x\012\000" -.LC170: +.LC163: .ascii "ftl_sblk_dump_write done = %x\012\000" .section .rodata.ftl_ext_info_init.str1.1,"aMS",%progbits,1 -.LC159: +.LC156: .ascii "%s %d %d %x %x\012\000" -.LC160: +.LC157: .ascii "ext info hash %x error\012\000" -.LC161: +.LC158: .ascii "%s %x %x %x\012\000" .section .rodata.ftl_free_sblk.str1.1,"aMS",%progbits,1 .LC68: .ascii "swl_slc_free_mini_ec_blk sblk %x\012\000" .section .rodata.ftl_info_blk_init.str1.1,"aMS",%progbits,1 -.LC155: +.LC152: .ascii "%d %x @%d %x\012\000" -.LC156: +.LC153: .ascii "ftl_info_blk_init %d %d %x\012\000" -.LC157: +.LC154: .ascii "ftl info hash %x error\012\000" -.LC158: +.LC155: .ascii "ink flag: %x\012\000" .section .rodata.ftl_info_flush.str1.1,"aMS",%progbits,1 -.LC154: +.LC151: .ascii "g_ftl_info_blk blk = %x, page = %x version = %d\012" .ascii "\000" + .section .rodata.ftl_ink_check_sblk.str1.1,"aMS",%progbits,1 +.LC165: + .ascii "ftl_ink_check_sblk = %x %d %d\012\000" +.LC166: + .ascii "ftl_ink_check_sblk = %x %d %d end\012\000" .section .rodata.ftl_low_format.str1.1,"aMS",%progbits,1 -.LC162: +.LC169: .ascii "ftl_low_format %d\012\000" -.LC163: +.LC170: .ascii "low format %d %d %d %d\012\000" .section .rodata.ftl_mask_bad_block.str1.1,"aMS",%progbits,1 .LC66: .ascii "mask bad block:cs %x %x block: %x %x\012\000" + .section .rodata.ftl_open_sblk_init.str1.1,"aMS",%progbits,1 +.LC168: + .ascii "blk %x is bad block\012\000" .section .rodata.ftl_open_sblk_recovery.str1.1,"aMS",%progbits,1 -.LC177: - .ascii "saved_active_page = %x\012\000" -.LC178: - .ascii "saved_active_plane = %x\012\000" -.LC179: - .ascii "sblk = %x\012\000" .LC180: - .ascii "phy_blk = %x %x\012\000" + .ascii "saved_active_page = %x\012\000" .LC181: - .ascii "num_planes = %x\012\000" + .ascii "saved_active_plane = %x\012\000" .LC182: + .ascii "sblk = %x\012\000" +.LC183: + .ascii "phy_blk = %x %x\012\000" +.LC184: + .ascii "num_planes = %x\012\000" +.LC185: .ascii "recovery blk=%x, page=%x, ppa = %x, status = %x, ha" .ascii "sh:%x\012\000" -.LC183: - .ascii "data:\000" -.LC184: - .ascii "sblk = %x, vpn0 = %d, vpn1 = %d\012\000" -.LC185: - .ascii "dump_write_lpa = %x %x %x %x\012\000" .LC186: + .ascii "data:\000" +.LC187: + .ascii "sblk = %x, vpn0 = %d, vpn1 = %d\012\000" +.LC188: + .ascii "dump_write_lpa = %x %x %x %x\012\000" +.LC189: .ascii "dump write new ppa = %x, last ppa = %x lpa = %x\012" .ascii "\000" -.LC187: +.LC190: .ascii "dump write = %x %x %x\012\000" -.LC188: +.LC191: .ascii "dump write hash update = %x %x %x\012\000" .section .rodata.ftl_re_low_format.str1.1,"aMS",%progbits,1 -.LC164: +.LC171: .ascii "re low format %d\012\000" .section .rodata.ftl_sblk_dump.str1.1,"aMS",%progbits,1 -.LC220: - .ascii "ftl_sblk_dump = %x %d %d %d %d\012\000" -.LC221: - .ascii "ftl_sblk_dump = %x %x %x %x\012\000" -.LC222: - .ascii "page_addr = %x, lpa=%x vpn = %d\012\000" .LC223: - .ascii "index= %x, lpa=%x\012\000" + .ascii "ftl_sblk_dump = %x %d %d %d %d\012\000" .LC224: + .ascii "ftl_sblk_dump = %x %x %x %x\012\000" +.LC225: + .ascii "page_addr = %x, lpa=%x vpn = %d\012\000" +.LC226: + .ascii "index= %x, lpa=%x\012\000" +.LC227: .ascii "block = %x, vpn=%x check vpn = %x\012\000" .section .rodata.ftl_sysblk_dump.str1.1,"aMS",%progbits,1 -.LC176: +.LC179: .ascii "l2p:\000" .section .rodata.ftl_test_block.str1.1,"aMS",%progbits,1 -.LC153: +.LC150: .ascii "low format %d\012\000" .section .rodata.ftl_update_l2p_map.str1.1,"aMS",%progbits,1 -.LC228: - .ascii "ftl_update_l2p_map: %x %x %x\012\000" -.LC229: - .ascii "ftl_update_l2p_map\000" -.LC230: - .ascii "lpa_tbl:\000" .LC231: + .ascii "ftl_update_l2p_map: %x %x %x\012\000" +.LC232: + .ascii "ftl_update_l2p_map\000" +.LC233: + .ascii "lpa_tbl:\000" +.LC234: .ascii "sblk %x vpn: %d %d\012\000" .section .rodata.ftl_vpn_decrement.str1.1,"aMS",%progbits,1 .LC65: .ascii "ftl_vpn_decrement %x = %d, %d\012\000" .section .rodata.ftl_write_commit.str1.1,"aMS",%progbits,1 -.LC233: +.LC236: .ascii "%d read error: ppa:%x, lpa:%x, status:%x\012\000" .section .rodata.ftl_write_completed.str1.1,"aMS",%progbits,1 .LC77: @@ -34717,13 +35271,13 @@ __func__.9998: .LC52: .ascii "gc_add_sblk = %d, %d, %d, %d, %d, %d\012\000" .section .rodata.gc_check_data_one_wl.str1.1,"aMS",%progbits,1 -.LC146: +.LC143: .ascii "err: ppa = %x, status = %x, %x %x spare: %x %x %x %" .ascii "x\012\000" .section .rodata.gc_do_copy_back.str1.1,"aMS",%progbits,1 -.LC234: +.LC237: .ascii "gc page in buf: lpa %x ppa = %x pageindex= %x\012\000" -.LC235: +.LC238: .ascii "gc_do_copy_back: lpa %x des_ppa = %x %x gc_ppa= %x " .ascii "page_index= %d\012\000" .section .rodata.gc_free_bad_sblk.str1.1,"aMS",%progbits,1 @@ -34737,24 +35291,27 @@ __func__.9998: .section .rodata.gc_free_temp_buf.str1.1,"aMS",%progbits,1 .LC55: .ascii "%d gc_free_temp_buf buf id= %x\012\000" + .section .rodata.gc_ink_check_sblk.str1.1,"aMS",%progbits,1 +.LC164: + .ascii "%x: ink_scaned_blk_num %x\012\000" .section .rodata.gc_mark_bad_ppa.str1.1,"aMS",%progbits,1 .LC53: .ascii "gc_mark_bad_ppa %d %x %x\012\000" .section .rodata.gc_recovery.str1.1,"aMS",%progbits,1 -.LC210: +.LC213: .ascii "ppa = %x, status = %x, data:%x %x %x %x, spare: %x " .ascii "%x %x %x\012\000" -.LC211: +.LC214: .ascii "ppa = %x, status = %x, %x %x spare: %x %x %x %x\012" .ascii "\000" -.LC212: +.LC215: .ascii "gc_recovery: %x vpn = %x\012\000" .section .rodata.gc_scan_src_blk.str1.1,"aMS",%progbits,1 -.LC217: +.LC220: .ascii "gc_scan_src_blk = %x, vpn = %d\012\000" -.LC218: +.LC221: .ascii "js hash error:%x %x %x\012\000" -.LC219: +.LC222: .ascii "gc_scan_src_blk = %x, s vpn0 = %d, c vpn1 = %d\012\000" .section .rodata.gc_search_src_blk.str1.1,"aMS",%progbits,1 .LC57: @@ -34764,78 +35321,78 @@ __func__.9998: .ascii "gc_search_src_blk mode = %x, src mode = %x, count= " .ascii "%d %d\012\000" .section .rodata.gc_static_wearleveling.str1.1,"aMS",%progbits,1 -.LC85: +.LC82: .ascii "gc_static_wearleveling: min blk: %x,sec=%d,xec = %d" .ascii " ,mode=%d, func=%x, bbt=%x vpn = %d\012\000" -.LC86: +.LC83: .ascii "gc_static_wearleveling: min slc blk: %x,sec=%d,xec " .ascii "= %d ,mode=%d, func=%x, bbt=%x vpn = %d\012\000" -.LC87: +.LC84: .ascii "gc_static_wearleveling: min tlc blk: %x,sec=%d,xec " .ascii "= %d ,mode=%d, func=%x, bbt=%x vpn = %d\012\000" -.LC88: +.LC85: .ascii "gc_static_wearleveling: max slc blk: %x,sec=%d,xec " .ascii "= %d ,mode=%d, func=%x, bbt=%x vpn = %d\012\000" -.LC89: +.LC86: .ascii "gc_static_wearleveling: max xlc blk: %x,sec=%d,xec " .ascii "= %d ,mode=%d, func=%x, bbt=%x vpn = %d\012\000" -.LC90: +.LC87: .ascii "gc_static_wearleveling: slc blk: %x, tlc blk: %d av" .ascii "g slc ec: %d, avg tlc ec: %d \012\000" -.LC91: +.LC88: .ascii "gc_static_wearleveling: min slc ec: %x, min tlc ec:" .ascii " %d max slc ec: %d, max tlc ec: %d; %d %d\012\000" -.LC92: +.LC89: .ascii "swl add tlc gc = %x, %d, %d, %d, %d, %d\012\000" -.LC93: +.LC90: .ascii "swl add slc gc = %x, %d, %d, %d, %d, %d\012\000" .section .rodata.gc_update_l2p_map_new.str1.1,"aMS",%progbits,1 -.LC213: - .ascii "gc_update_l2p_map_new sblk %x\012\000" -.LC214: - .ascii "gc_update_l2p_map_new: %x %x %x\012\000" -.LC215: - .ascii "lpa: %x %x %x\012\000" .LC216: + .ascii "gc_update_l2p_map_new sblk %x\012\000" +.LC217: + .ascii "gc_update_l2p_map_new: %x %x %x\012\000" +.LC218: + .ascii "lpa: %x %x %x\012\000" +.LC219: .ascii "gc_update_l2p_map_new: %x vpn = %x vpn1 = %x done\012" .ascii "\000" .section .rodata.gc_write_completed.str1.1,"aMS",%progbits,1 .LC54: .ascii "status: %x, ppa: %x\012\000" .section .rodata.hynix_get_read_retry_default.str1.1,"aMS",%progbits,1 -.LC105: +.LC102: .ascii "otp error! %d\000" -.LC106: +.LC103: .ascii "rr\000" .section .rodata.hynix_read_retrial.str1.1,"aMS",%progbits,1 -.LC124: +.LC121: .ascii "hynix RR %d row=%x, count %d, status=%d\012\000" .section .rodata.idb_write_data.str1.1,"aMS",%progbits,1 -.LC135: +.LC132: .ascii "1 write_idblock fix data %x %x %x\012\000" -.LC136: +.LC133: .ascii "write_idblock check fail! %x\012\000" -.LC137: +.LC134: .ascii "write_idblock fail! %x\012\000" .section .rodata.load_l2p_region.str1.1,"aMS",%progbits,1 -.LC201: +.LC204: .ascii "region_id = %d, pm_max_region = %d\012\000" -.LC202: +.LC205: .ascii "load_l2p_region no ppa = %x , %x, all setting 0xff." .ascii "...\012\000" -.LC203: +.LC206: .ascii "load_l2p_region = %x,%x,%x, %x\012\000" -.LC204: +.LC207: .ascii "pm_ppa:\000" -.LC205: +.LC208: .ascii "spare:\000" .section .rodata.lpa_rebuild_hash.str1.1,"aMS",%progbits,1 -.LC84: +.LC81: .ascii "%s %d %d\012\000" .section .rodata.micron_read_retrial.str1.1,"aMS",%progbits,1 -.LC115: +.LC112: .ascii "MT %d row=%x,last status %d,status = %d\012\000" -.LC116: +.LC113: .ascii "MT RR %d row=%x,count %d,status=%d\012\000" .section .rodata.nand_flash_print_info.str1.1,"aMS",%progbits,1 .LC1: @@ -34899,55 +35456,53 @@ __func__.9998: .LC30: .ascii "g_flash_toggle_mode_en: %x\012\000" .section .rodata.nandc_init.str1.1,"aMS",%progbits,1 -.LC98: +.LC95: .ascii "...%s enter... %p\012\000" -.LC99: +.LC96: .ascii "0:%x %x %x %x %x\012\000" -.LC100: +.LC97: .ascii "g_nandc_ver...%d\012\000" .section .rodata.nandc_xfer.str1.1,"aMS",%progbits,1 -.LC112: +.LC109: .ascii "dqs data abort %x\012\000" -.LC113: +.LC110: .ascii "dqs data timeout %x\012\000" -.LC114: +.LC111: .ascii "xfer error %x\012\000" .section .rodata.nandc_xfer_done.str1.1,"aMS",%progbits,1 -.LC107: +.LC104: .ascii "flash_abort_clear = %d\012\000" -.LC108: +.LC105: .ascii "%d mtrans_cnt = %d page_num = %d\012\000" -.LC109: +.LC106: .ascii "%d flReg.d32=%x %x\012\000" -.LC110: +.LC107: .ascii "nandc:\000" -.LC111: +.LC108: .ascii "nandc_xfer_done read error %x\012\000" .section .rodata.pm_alloc_new_blk.str1.1,"aMS",%progbits,1 -.LC82: - .ascii "blk %x is bad block\012\000" -.LC83: +.LC172: .ascii "pm_alloc_new_blk: %x %x %x %x\012\000" .section .rodata.pm_free_sblk.str1.1,"aMS",%progbits,1 -.LC95: +.LC92: .ascii "GC PM block %x %x %x %d\012\000" -.LC96: +.LC93: .ascii "ftl_free_no_use_map_blk %x %x %x %d\012\000" .section .rodata.pm_init.str1.1,"aMS",%progbits,1 -.LC206: +.LC209: .ascii "pm_init posr %x %x %x\012\000" -.LC207: +.LC210: .ascii "pm_init recovery %x %x %x\012\000" -.LC208: +.LC211: .ascii "pm_init hash %x error\012\000" .section .rodata.pm_log2phys.str1.1,"aMS",%progbits,1 -.LC209: +.LC212: .ascii "pm_log2phys lpn = %d, max lpn = %d\012\000" .section .rodata.pm_ppa_update_check.str1.1,"aMS",%progbits,1 -.LC200: +.LC203: .ascii "%s w error lpn = %x, max ppa = %d\012\000" .section .rodata.pm_write_page.str1.1,"aMS",%progbits,1 -.LC165: +.LC173: .ascii "pm_write_page write error: %x\012\000" .section .rodata.print_ftl_debug_info.str1.1,"aMS",%progbits,1 .LC71: @@ -34974,21 +35529,21 @@ __func__.9998: .LC64: .ascii "%d: node:%x %x %x %x, %d %d %d %d %d\012\000" .section .rodata.queue_wait_first_req_completed.str1.1,"aMS",%progbits,1 -.LC140: +.LC137: .ascii "read: %x %x %x %x\012\000" -.LC141: +.LC138: .ascii "0set buf %d,status = %x, ppa = %x lun state = %d\012" .ascii "\000" -.LC142: +.LC139: .ascii "prog end %x %x error_ecc %d %d\012\000" -.LC143: +.LC140: .ascii "1set buf %d,status = %x, ppa = %x lun state = %d\012" .ascii "\000" -.LC144: +.LC141: .ascii "dp prog end %x %x error_ecc %d %d\012\000" .section .rodata.random_seed,"a",%progbits .align 1 - .set .LANCHOR55,. + 0 + .set .LANCHOR54,. + 0 .type random_seed, %object .size random_seed, 256 random_seed: @@ -35121,19 +35676,19 @@ random_seed: .short 17598 .short 28087 .section .rodata.rk_ftl_init.str1.1,"aMS",%progbits,1 -.LC251: +.LC254: .ascii "zftl_init %x\012\000" .section .rodata.rknand_print_hex.str1.1,"aMS",%progbits,1 -.LC101: +.LC98: .ascii "%s %p + 0x%x:\000" -.LC102: +.LC99: .ascii "%x \000" -.LC103: +.LC100: .ascii "\000" -.LC104: +.LC101: .ascii "%s\012\000" .section .rodata.samsung_14nm_mlc_rr,"a",%progbits - .set .LANCHOR171,. + 0 + .set .LANCHOR168,. + 0 .type samsung_14nm_mlc_rr, %object .size samsung_14nm_mlc_rr, 104 samsung_14nm_mlc_rr: @@ -35242,7 +35797,7 @@ samsung_14nm_mlc_rr: .byte 9 .byte 8 .section .rodata.samsung_14nm_slc_rr,"a",%progbits - .set .LANCHOR170,. + 0 + .set .LANCHOR167,. + 0 .type samsung_14nm_slc_rr, %object .size samsung_14nm_slc_rr, 26 samsung_14nm_slc_rr: @@ -35273,24 +35828,24 @@ samsung_14nm_slc_rr: .byte -115 .byte 100 .section .rodata.samsung_read_retrial.str1.1,"aMS",%progbits,1 -.LC121: +.LC118: .ascii "samsung SRR %d row=%x, status=%d\012\000" -.LC122: +.LC119: .ascii "samsung TRR %d row=%x, status=%d\012\000" -.LC123: +.LC120: .ascii "samsung RR %d row=%x,count %d,status=%d\012\000" .section .rodata.sandisk_prog_test_bad_block.str1.1,"aMS",%progbits,1 .LC40: .ascii "bad block test:%x %x\012\000" .section .rodata.sblk_mlc_dump_prog.str1.1,"aMS",%progbits,1 -.LC138: +.LC135: .ascii "sblk_mlc_dump_prog wl_addr= %x ppa = %x ppa = %x\012" .ascii "\000" .section .rodata.sblk_prog_page.str1.1,"aMS",%progbits,1 -.LC145: +.LC142: .ascii "sblk_prog_page ppa = %x, count = %d\012\000" .section .rodata.toshiba_15ref_value,"a",%progbits - .set .LANCHOR24,. + 0 + .set .LANCHOR16,. + 0 .type toshiba_15ref_value, %object .size toshiba_15ref_value, 95 toshiba_15ref_value: @@ -35390,7 +35945,7 @@ toshiba_15ref_value: .byte 114 .byte 0 .section .rodata.toshiba_3D_slc_value,"a",%progbits - .set .LANCHOR39,. + 0 + .set .LANCHOR38,. + 0 .type toshiba_3D_slc_value, %object .size toshiba_3D_slc_value, 11 toshiba_3D_slc_value: @@ -35406,7 +35961,7 @@ toshiba_3D_slc_value: .byte -56 .byte 56 .section .rodata.toshiba_3D_tlc_value,"a",%progbits - .set .LANCHOR38,. + 0 + .set .LANCHOR37,. + 0 .type toshiba_3D_tlc_value, %object .size toshiba_3D_tlc_value, 399 toshiba_3D_tlc_value: @@ -35810,14 +36365,14 @@ toshiba_3D_tlc_value: .byte 12 .byte 14 .section .rodata.toshiba_3d_read_retrial.str1.1,"aMS",%progbits,1 -.LC117: +.LC114: .ascii "toshiba SRR %d row=%x, status=%d\012\000" -.LC118: +.LC115: .ascii "toshiba TRR %d row=%x, status=%d\012\000" -.LC119: +.LC116: .ascii "toshiba RR %d row=%x,count %d,status=%d\012\000" .section .rodata.toshiba_A19ref_value,"a",%progbits - .set .LANCHOR22,. + 0 + .set .LANCHOR14,. + 0 .type toshiba_A19ref_value, %object .size toshiba_A19ref_value, 45 toshiba_A19ref_value: @@ -35867,7 +36422,7 @@ toshiba_A19ref_value: .byte 124 .byte 0 .section .rodata.toshiba_ref_value,"a",%progbits - .set .LANCHOR25,. + 0 + .set .LANCHOR17,. + 0 .type toshiba_ref_value, %object .size toshiba_ref_value, 8 toshiba_ref_value: @@ -35880,7 +36435,7 @@ toshiba_ref_value: .byte 12 .byte 112 .section .rodata.ymtc_3D_slc_value,"a",%progbits - .set .LANCHOR43,. + 0 + .set .LANCHOR42,. + 0 .type ymtc_3D_slc_value, %object .size ymtc_3D_slc_value, 10 ymtc_3D_slc_value: @@ -35895,7 +36450,7 @@ ymtc_3D_slc_value: .byte -12 .byte 56 .section .rodata.ymtc_3D_tlc_value,"a",%progbits - .set .LANCHOR42,. + 0 + .set .LANCHOR41,. + 0 .type ymtc_3D_tlc_value, %object .size ymtc_3D_tlc_value, 357 ymtc_3D_tlc_value: @@ -36257,22 +36812,22 @@ ymtc_3D_tlc_value: .byte 12 .byte 14 .section .rodata.ymtc_3d_read_retrial.str1.1,"aMS",%progbits,1 -.LC120: +.LC117: .ascii "YMTC RR %d row=%x,count %d,status=%d\012\000" .section .rodata.ymtc_flash_tlc_page_prog.str1.1,"aMS",%progbits,1 -.LC134: +.LC131: .ascii "ymtc_flash_tlc_page_prog page_addr = %x status = %x" .ascii "\012\000" .section .rodata.zftl_discard.str1.1,"aMS",%progbits,1 -.LC253: +.LC256: .ascii "ftl_discard:(%x, %x, %x, %x)\012\000" .section .rodata.zftl_do_gc.str1.1,"aMS",%progbits,1 -.LC236: +.LC239: .ascii "gc %d: %d %d %d %d %d %d %d\012\000" -.LC237: +.LC240: .ascii "GC_STATE_SCAN_ALL_PAGE = %x, vpn0 = %d, vpn1 = %d\012" .ascii "\000" -.LC238: +.LC241: .ascii "gc free %x, %d\012\000" .section .rodata.zftl_gc_get_free_sblk.str1.1,"aMS",%progbits,1 .LC59: @@ -36285,42 +36840,42 @@ ymtc_3D_tlc_value: .LC62: .ascii "swl_slc_free_mini_ec_blk alloc sblk %x\012\000" .section .rodata.zftl_init.str1.1,"aMS",%progbits,1 -.LC239: - .ascii "FTL version: 6.0.23 20201130\000" -.LC240: - .ascii "_c_user_data_density := %d\012\000" -.LC241: - .ascii "_c_totle_phy_density := %d\012\000" .LC242: - .ascii "_c_totle_log_page := %d\012\000" + .ascii "FTL version: 6.0.24 20210107\000" .LC243: - .ascii "_c_totle_data_density := %d\012\000" + .ascii "_c_user_data_density := %d\012\000" .LC244: - .ascii "_c_ftl_pm_page_num := %d\012\000" + .ascii "_c_totle_phy_density := %d\012\000" .LC245: - .ascii "_c_ftl_byte_pre_page := %d\012\000" + .ascii "_c_totle_log_page := %d\012\000" .LC246: - .ascii "_c_max_pm_sblk := %d\012\000" + .ascii "_c_totle_data_density := %d\012\000" .LC247: - .ascii "_min_slc_super_block := %d\012\000" + .ascii "_c_ftl_pm_page_num := %d\012\000" .LC248: - .ascii "_max_xlc_super_block := %d\012\000" + .ascii "_c_ftl_byte_pre_page := %d\012\000" .LC249: - .ascii "gp_ftl_ext_info %p %p %p\012\000" + .ascii "_c_max_pm_sblk := %d\012\000" .LC250: + .ascii "_min_slc_super_block := %d\012\000" +.LC251: + .ascii "_max_xlc_super_block := %d\012\000" +.LC252: + .ascii "gp_ftl_ext_info %p %p %p\012\000" +.LC253: .ascii "flash info size: %d %d %d\012\000" .section .rodata.zftl_read.str1.1,"aMS",%progbits,1 -.LC225: +.LC228: .ascii "ftl_read %x %x %x\012\000" -.LC226: +.LC229: .ascii "ftl_read refresh =%x, lpa = %x, ppa= %x\012\000" -.LC227: +.LC230: .ascii "id=%d, status = %x, lpa = %x, ppa = %x spare = %x %" .ascii "x %x %x\012\000" .section .rodata.zftl_sblk_list_init.str1.1,"aMS",%progbits,1 -.LC94: +.LC91: .ascii "free blk vpn error: %x %x\012\000" .section .rodata.zftl_write.str1.1,"aMS",%progbits,1 -.LC252: +.LC255: .ascii "ftlwrite %x %x %x %x\012\000" .hidden free diff --git a/drivers/rknand/rk_zftl_arm_v8.S b/drivers/rknand/rk_zftl_arm_v8.S index 4c57f76e80..93dedc9906 100644 --- a/drivers/rknand/rk_zftl_arm_v8.S +++ b/drivers/rknand/rk_zftl_arm_v8.S @@ -5,7 +5,7 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * date: 2020-11-30 + * date: 2021-01-07 */ .arch armv8-a .file "rk_zftl_arm_v8.S" @@ -149,60 +149,67 @@ _list_remove_node: strh w3, [x1, x0] b .L22 .size _list_remove_node, .-_list_remove_node - .section .text._list_pop_index_node,"ax",@progbits + .section .text.hynix_set_rr_para,"ax",@progbits .align 2 - .type _list_pop_index_node, %function -_list_pop_index_node: - stp x29, x30, [sp, -32]! + .type hynix_set_rr_para, %function +hynix_set_rr_para: + stp x29, x30, [sp, -64]! + adrp x2, .LANCHOR6 + and w1, w1, 255 + adrp x3, .LANCHOR7 add x29, sp, 0 + ldr x2, [x2, #:lo12:.LANCHOR6] + and w0, w0, 255 stp x19, x20, [sp, 16] - ldr x20, [x0] - cbz x20, .L31 - adrp x3, .LANCHOR4 - and w1, w1, 65535 - mov w4, 65535 - mov w5, 6 - ldr x19, [x3, #:lo12:.LANCHOR4] -.L27: - cbnz w1, .L28 -.L30: - sub x19, x20, x19 - mov x1, -6148914691236517206 - asr x19, x19, 1 - movk x1, 0xaaab, lsl 0 - mul x19, x19, x1 - and w19, w19, 65535 - mov w1, w19 - bl _list_remove_node - mov w0, -1 - strh w0, [x20] - strh w0, [x20, 2] - mov w0, w19 -.L25: - ldp x19, x20, [sp, 16] - ldp x29, x30, [sp], 32 - ret + stp x21, x22, [sp, 32] + add x21, x2, 112 + str x23, [sp, 48] + add x23, x2, 128 + ldr x19, [x3, #:lo12:.LANCHOR7] + ldrb w22, [x2, 113] + ldrb w2, [x2, 112] + cmp w2, 8 + mov x2, 32 + umaddl x1, w1, w22, x2 + beq .L26 + mov w2, 160 + umaddl x1, w2, w0, x1 +.L26: + ubfiz x0, x0, 8, 8 + add x21, x21, x1 + add x19, x19, x0 + mov x20, 0 + mov w0, 54 + str w0, [x19, 2056] .L28: - ldrh w3, [x20] - cmp w3, w4 - beq .L30 - sub w1, w1, #1 - umaddl x20, w3, w5, x19 - and w1, w1, 65535 - b .L27 -.L31: - mov w0, 65535 - b .L25 - .size _list_pop_index_node, .-_list_pop_index_node + cmp w22, w20, uxtb + bhi .L29 + ldp x21, x22, [sp, 32] + mov w0, 22 + ldr x23, [sp, 48] + str w0, [x19, 2056] + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 64 + ret +.L29: + ldrb w0, [x23, x20] + str w0, [x19, 2052] + mov x0, 1 + bl udelay + ldrsb w0, [x21, x20] + add x20, x20, 1 + str w0, [x19, 2048] + b .L28 + .size hynix_set_rr_para, .-hynix_set_rr_para .section .text._insert_free_list,"ax",@progbits .align 2 .type _insert_free_list, %function _insert_free_list: - adrp x3, .LANCHOR6 + adrp x3, .LANCHOR8 and w1, w1, 65535 - ldrh w3, [x3, #:lo12:.LANCHOR6] + ldrh w3, [x3, #:lo12:.LANCHOR8] cmp w3, w1 - bls .L33 + bls .L31 ldrh w3, [x2] mov w8, 6 ldr x7, [x0] @@ -215,18 +222,18 @@ _insert_free_list: add x6, x5, x12 strh w2, [x6, 2] strh w2, [x5, x12] - cbnz x7, .L35 -.L40: + cbnz x7, .L33 +.L38: str x6, [x0] ret -.L35: - adrp x2, .LANCHOR7 - adrp x3, .LANCHOR8 +.L33: + adrp x2, .LANCHOR9 + adrp x3, .LANCHOR10 mov w10, w8 mov w15, 65535 - ldr x11, [x2, #:lo12:.LANCHOR7] + ldr x11, [x2, #:lo12:.LANCHOR9] ubfiz x2, x1, 2, 16 - ldrh w14, [x3, #:lo12:.LANCHOR8] + ldrh w14, [x3, #:lo12:.LANCHOR10] mov x3, -6148914691236517206 movk x3, 0xaaab, lsl 0 ldr w4, [x11, x2] @@ -240,7 +247,7 @@ _insert_free_list: mul x2, x2, x3 mov x3, x7 and w2, w2, 65535 -.L38: +.L36: ubfiz x13, x2, 2, 16 ldr w8, [x11, x13] ldrh w13, [x11, x13] @@ -248,43 +255,43 @@ _insert_free_list: and w13, w13, 2047 madd w8, w14, w8, w13 cmp w4, w8, uxth - bls .L36 + bls .L34 ldrh w8, [x3] cmp w8, w15 - bne .L37 + bne .L35 strh w2, [x6, 2] strh w1, [x3] ret -.L37: +.L35: umaddl x3, w8, w10, x5 mov w2, w8 - b .L38 -.L36: + b .L36 +.L34: ldrh w4, [x3, 2] cmp x7, x3 strh w4, [x6, 2] strh w2, [x5, x12] - bne .L39 + bne .L37 strh w1, [x7, 2] - b .L40 -.L39: + b .L38 +.L37: ldrh w0, [x3, 2] mov w2, 6 umull x0, w0, w2 strh w1, [x5, x0] strh w1, [x3, 2] -.L33: +.L31: ret .size _insert_free_list, .-_insert_free_list .section .text._insert_data_list,"ax",@progbits .align 2 .type _insert_data_list, %function _insert_data_list: - adrp x3, .LANCHOR6 + adrp x3, .LANCHOR8 and w1, w1, 65535 - ldrh w4, [x3, #:lo12:.LANCHOR6] + ldrh w4, [x3, #:lo12:.LANCHOR8] cmp w4, w1 - bls .L63 + bls .L61 mov x5, x3 ldrh w3, [x2] mov w13, 6 @@ -298,38 +305,38 @@ _insert_data_list: add x11, x10, x13 strh w2, [x11, 2] strh w2, [x10, x13] - cbnz x12, .L44 + cbnz x12, .L42 str x11, [x0] ret -.L44: +.L42: stp x29, x30, [sp, -32]! - adrp x2, .LANCHOR9 + adrp x2, .LANCHOR11 uxtw x3, w1 - adrp x6, .LANCHOR8 + adrp x6, .LANCHOR10 add x29, sp, 0 - ldr x15, [x2, #:lo12:.LANCHOR9] - adrp x2, .LANCHOR7 + ldr x15, [x2, #:lo12:.LANCHOR11] + adrp x2, .LANCHOR9 ldrh w4, [x11, 4] - ldr x14, [x2, #:lo12:.LANCHOR7] + ldr x14, [x2, #:lo12:.LANCHOR9] stp x19, x20, [sp, 16] ldrh w8, [x15, x3, lsl 1] lsl x3, x3, 2 - ldrh w16, [x6, #:lo12:.LANCHOR8] + ldrh w16, [x6, #:lo12:.LANCHOR10] ldr w2, [x14, x3] mul w8, w8, w4 ldrh w3, [x14, x3] ubfx x2, x2, 11, 8 and w3, w3, 2047 - cbz w8, .L45 + cbz w8, .L43 madd w2, w16, w2, w3 add w8, w8, w2, uxth -.L45: +.L43: sub x2, x12, x10 mov x3, -6148914691236517206 asr x2, x2, 1 movk x3, 0xaaab, lsl 0 cmp w4, 0 - ldrh w19, [x5, #:lo12:.LANCHOR6] + ldrh w19, [x5, #:lo12:.LANCHOR8] csinv w8, w8, wzr, ne mov x7, x12 mul x2, x2, x3 @@ -337,13 +344,13 @@ _insert_data_list: mov w20, 65535 mov w30, 6 and w2, w2, 65535 -.L51: +.L49: add w4, w4, 1 and w4, w4, 65535 cmp w4, w19 - bhi .L41 + bhi .L39 cmp w1, w2 - beq .L41 + beq .L39 uxtw x6, w2 ldrh w17, [x7, 4] ldrh w3, [x15, x6, lsl 1] @@ -353,78 +360,45 @@ _insert_data_list: ldrh w6, [x14, x6] ubfx x5, x5, 11, 8 and w6, w6, 2047 - cbz w3, .L48 + cbz w3, .L46 madd w5, w16, w5, w6 add w3, w3, w5, uxth -.L48: - cbz w17, .L49 +.L46: + cbz w17, .L47 cmp w8, w3 - bls .L49 + bls .L47 ldrh w3, [x7] cmp w3, w20 - bne .L50 + bne .L48 strh w2, [x11, 2] strh w1, [x7] -.L41: +.L39: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret -.L50: +.L48: umaddl x7, w3, w30, x10 mov w2, w3 - b .L51 -.L49: + b .L49 +.L47: ldrh w3, [x7, 2] cmp x12, x7 strh w3, [x11, 2] strh w2, [x10, x13] - bne .L52 + bne .L50 strh w1, [x12, 2] str x11, [x0] - b .L41 -.L52: + b .L39 +.L50: ldrh w0, [x7, 2] mov w2, 6 umull x0, w0, w2 strh w1, [x10, x0] strh w1, [x7, 2] - b .L41 -.L63: + b .L39 +.L61: ret .size _insert_data_list, .-_insert_data_list - .section .text._list_get_gc_head_node.isra.2,"ax",@progbits - .align 2 - .type _list_get_gc_head_node.isra.2, %function -_list_get_gc_head_node.isra.2: - and w1, w1, 65535 - cbz x0, .L70 - adrp x2, .LANCHOR4 - mov w3, 65535 - mov w4, 6 - ldr x2, [x2, #:lo12:.LANCHOR4] -.L67: - cbz w1, .L68 - ldrh w0, [x0] - cmp w0, w3 - bne .L69 - ret -.L69: - sub w1, w1, #1 - umaddl x0, w0, w4, x2 - and w1, w1, 65535 - b .L67 -.L70: - mov w0, 65535 - ret -.L68: - sub x0, x0, x2 - mov x1, -6148914691236517206 - asr x0, x0, 1 - movk x1, 0xaaab, lsl 0 - mul x0, x0, x1 - and w0, w0, 65535 - ret - .size _list_get_gc_head_node.isra.2, .-_list_get_gc_head_node.isra.2 .section .text._list_update_data_list,"ax",@progbits .align 2 .type _list_update_data_list, %function @@ -433,20 +407,20 @@ _list_update_data_list: add x29, sp, 0 stp x19, x20, [sp, 16] and w19, w1, 65535 - adrp x1, .LANCHOR10 + adrp x1, .LANCHOR12 stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] - ldr x1, [x1, #:lo12:.LANCHOR10] + ldr x1, [x1, #:lo12:.LANCHOR12] ldrh w3, [x1, 16] str x25, [sp, 64] cmp w3, w19 - beq .L72 + beq .L63 ldrh w3, [x1, 48] cmp w3, w19 - beq .L72 + beq .L63 ldrh w1, [x1, 80] cmp w1, w19 - beq .L72 + beq .L63 adrp x1, .LANCHOR4 mov w22, 6 ldr x3, [x0] @@ -455,36 +429,36 @@ _list_update_data_list: ldr x24, [x1, #:lo12:.LANCHOR4] add x23, x24, x22 cmp x23, x3 - beq .L72 + beq .L63 mov x20, x0 ldrh w0, [x23, 2] mov w1, 65535 mov x21, x2 cmp w0, w1 - bne .L76 + bne .L67 ldrh w1, [x24, x22] cmp w1, w0 - bne .L76 - adrp x1, .LANCHOR11 + bne .L67 + adrp x1, .LANCHOR13 adrp x0, .LC0 mov w2, 273 - add x1, x1, :lo12:.LANCHOR11 + add x1, x1, :lo12:.LANCHOR13 add x0, x0, :lo12:.LC0 bl printf -.L76: +.L67: ldrh w1, [x23, 2] mov w0, 65535 cmp w1, w0 - bne .L77 + bne .L68 ldrh w0, [x24, x22] cmp w0, w1 - beq .L72 -.L77: - adrp x0, .LANCHOR9 + beq .L63 +.L68: + adrp x0, .LANCHOR11 ubfiz x2, x19, 1, 16 mov x5, -6148914691236517206 mov w4, -1 - ldr x0, [x0, #:lo12:.LANCHOR9] + ldr x0, [x0, #:lo12:.LANCHOR11] movk x5, 0xaaab, lsl 0 ldrh w3, [x0, x2] ldrh w2, [x23, 4] @@ -503,7 +477,7 @@ _list_update_data_list: mul w0, w0, w1 csel w0, w0, w4, ne cmp w3, w0 - bcs .L72 + bcs .L63 mov x2, x21 mov w1, w19 mov x0, x20 @@ -517,7 +491,7 @@ _list_update_data_list: ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 80 b _insert_data_list -.L72: +.L63: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -525,27 +499,137 @@ _list_update_data_list: ldp x29, x30, [sp], 80 ret .size _list_update_data_list, .-_list_update_data_list - .section .text.zftl_get_gc_node.part.9,"ax",@progbits + .section .text.nandc_de_cs.constprop.32,"ax",@progbits .align 2 - .type zftl_get_gc_node.part.9, %function -zftl_get_gc_node.part.9: - mov w1, w0 - adrp x0, .LANCHOR12 - ldr x0, [x0, #:lo12:.LANCHOR12] - b _list_get_gc_head_node.isra.2 - .size zftl_get_gc_node.part.9, .-zftl_get_gc_node.part.9 - .section .text.nandc_de_cs.constprop.33,"ax",@progbits - .align 2 - .type nandc_de_cs.constprop.33, %function -nandc_de_cs.constprop.33: - adrp x0, .LANCHOR13 - ldr x1, [x0, #:lo12:.LANCHOR13] + .type nandc_de_cs.constprop.32, %function +nandc_de_cs.constprop.32: + adrp x0, .LANCHOR7 + ldr x1, [x0, #:lo12:.LANCHOR7] ldr w0, [x1] and w0, w0, -256 and w0, w0, -131073 str w0, [x1] ret - .size nandc_de_cs.constprop.33, .-nandc_de_cs.constprop.33 + .size nandc_de_cs.constprop.32, .-nandc_de_cs.constprop.32 + .section .text.flash_read_status,"ax",@progbits + .align 2 + .global flash_read_status + .type flash_read_status, %function +flash_read_status: + stp x29, x30, [sp, -32]! + add x29, sp, 0 + str x19, [sp, 16] + mov x19, x0 + mov w0, 112 + str w0, [x19, 8] + mov x0, 1 + bl udelay + ldr w0, [x19] + ldr x19, [sp, 16] + and w0, w0, 255 + ldp x29, x30, [sp], 32 + ret + .size flash_read_status, .-flash_read_status + .section .text.toshiba_set_rr_para,"ax",@progbits + .align 2 + .global toshiba_set_rr_para + .type toshiba_set_rr_para, %function +toshiba_set_rr_para: + stp x29, x30, [sp, -96]! + add x29, sp, 0 + str x27, [sp, 80] + and w27, w1, 255 + add w2, w27, 1 + stp x21, x22, [sp, 32] + mov x21, x0 + mov w0, 5 + stp x19, x20, [sp, 16] + adrp x20, .LANCHOR14 + umull x2, w2, w0 + stp x23, x24, [sp, 48] + adrp x0, .LANCHOR15 + add x20, x20, :lo12:.LANCHOR14 + add x24, x0, :lo12:.LANCHOR15 + stp x25, x26, [sp, 64] + adrp x23, .LANCHOR18 + adrp x25, .LANCHOR16 + adrp x26, .LANCHOR17 + add x23, x23, :lo12:.LANCHOR18 + add x25, x25, :lo12:.LANCHOR16 + add x26, x26, :lo12:.LANCHOR17 + add x20, x20, x2 + add x24, x24, x2 + mov x22, x0 + mov x19, 0 +.L78: + ldrb w0, [x23] + cmp w0, w19 + bhi .L82 + 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], 96 + ret +.L82: + mov w0, 85 + str w0, [x21, 8] + add x0, x22, :lo12:.LANCHOR15 + ldrsb w0, [x19, x0] + str w0, [x21, 4] + mov x0, 1 + bl udelay + ldrb w0, [x25] + cmp w0, 34 + bne .L79 + ldrsb w0, [x24, x19] +.L84: + add x19, x19, 1 + str w0, [x21] + b .L78 +.L79: + cmp w0, 35 + bne .L81 + ldrsb w0, [x20, x19] + b .L84 +.L81: + ldrsb w0, [x26, w27, sxtw] + b .L84 + .size toshiba_set_rr_para, .-toshiba_set_rr_para + .section .text.hynix_reconfig_rr_para,"ax",@progbits + .align 2 + .global hynix_reconfig_rr_para + .type hynix_reconfig_rr_para, %function +hynix_reconfig_rr_para: + adrp x1, .LANCHOR16 + ldrb w1, [x1, #:lo12:.LANCHOR16] + sub w1, w1, #1 + and w1, w1, 255 + cmp w1, 7 + bhi .L91 + stp x29, x30, [sp, -32]! + and w0, w0, 255 + add x29, sp, 0 + stp x19, x20, [sp, 16] + adrp x20, .LANCHOR6 + sxtw x19, w0 + ldr x1, [x20, #:lo12:.LANCHOR6] + add x1, x1, x19 + ldrb w1, [x1, 120] + cbz w1, .L85 + mov w1, 0 + bl hynix_set_rr_para + ldr x0, [x20, #:lo12:.LANCHOR6] + add x0, x0, x19 + strb wzr, [x0, 120] +.L85: + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 32 + ret +.L91: + ret + .size hynix_reconfig_rr_para, .-hynix_reconfig_rr_para .section .text.nand_flash_print_info,"ax",@progbits .align 2 .global nand_flash_print_info @@ -554,19 +638,19 @@ nand_flash_print_info: stp x29, x30, [sp, -32]! add x29, sp, 0 str x19, [sp, 16] - adrp x19, .LANCHOR14 - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L86 - adrp x1, .LANCHOR15 + adrp x19, .LANCHOR19 + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L95 + adrp x1, .LANCHOR20 adrp x0, .LC1 - add x1, x1, :lo12:.LANCHOR15 + add x1, x1, :lo12:.LANCHOR20 add x0, x0, :lo12:.LC1 bl printf -.L86: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L87 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L95: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L96 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w6, [x0, 6] ldrb w5, [x0, 5] ldrb w4, [x0, 4] @@ -576,272 +660,272 @@ nand_flash_print_info: adrp x0, .LC2 add x0, x0, :lo12:.LC2 bl printf -.L87: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L88 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L96: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L97 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 8] adrp x0, .LC3 add x0, x0, :lo12:.LC3 bl printf -.L88: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L89 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L97: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L98 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 9] adrp x0, .LC4 add x0, x0, :lo12:.LC4 bl printf -.L89: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L90 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L98: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L99 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 10] adrp x0, .LC5 add x0, x0, :lo12:.LC5 bl printf -.L90: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L91 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L99: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L100 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 12] adrp x0, .LC6 add x0, x0, :lo12:.LC6 bl printf -.L91: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L92 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L100: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L101 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 13] adrp x0, .LC7 add x0, x0, :lo12:.LC7 bl printf -.L92: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L93 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L101: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L102 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 14] adrp x0, .LC8 add x0, x0, :lo12:.LC8 bl printf -.L93: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L94 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L102: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L103 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 23] adrp x0, .LC9 add x0, x0, :lo12:.LC9 bl printf -.L94: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L95 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L103: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L104 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 18] adrp x0, .LC10 add x0, x0, :lo12:.LC10 bl printf -.L95: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L96 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L104: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L105 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 19] adrp x0, .LC11 add x0, x0, :lo12:.LC11 bl printf -.L96: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L97 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L105: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L106 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 20] adrp x0, .LC12 add x0, x0, :lo12:.LC12 bl printf -.L97: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L98 - adrp x0, .LANCHOR17 - ldrb w1, [x0, #:lo12:.LANCHOR17] +.L106: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L107 + adrp x0, .LANCHOR22 + ldrb w1, [x0, #:lo12:.LANCHOR22] adrp x0, .LC13 add x0, x0, :lo12:.LC13 bl printf -.L98: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L99 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L107: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L108 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 22] adrp x0, .LC14 add x0, x0, :lo12:.LC14 bl printf -.L99: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L100 - adrp x0, .LANCHOR18 - ldrb w1, [x0, #:lo12:.LANCHOR18] +.L108: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L109 + adrp x0, .LANCHOR23 + ldrb w1, [x0, #:lo12:.LANCHOR23] adrp x0, .LC15 add x0, x0, :lo12:.LC15 bl printf -.L100: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L101 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L109: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L110 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 16] adrp x0, .LC16 add x0, x0, :lo12:.LC16 and w1, w1, 1 bl printf -.L101: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L102 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L110: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L111 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC17 add x0, x0, :lo12:.LC17 ubfx x1, x1, 1, 1 bl printf -.L102: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L103 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L111: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L112 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC18 add x0, x0, :lo12:.LC18 ubfx x1, x1, 2, 1 bl printf -.L103: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L104 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L112: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L113 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC19 add x0, x0, :lo12:.LC19 ubfx x1, x1, 3, 1 bl printf -.L104: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L105 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L113: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L114 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC20 add x0, x0, :lo12:.LC20 ubfx x1, x1, 4, 1 bl printf -.L105: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L106 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L114: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L115 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC21 add x0, x0, :lo12:.LC21 ubfx x1, x1, 5, 1 bl printf -.L106: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L107 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L115: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L116 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC22 add x0, x0, :lo12:.LC22 ubfx x1, x1, 6, 1 bl printf -.L107: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L108 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L116: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L117 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC23 add x0, x0, :lo12:.LC23 ubfx x1, x1, 7, 1 bl printf -.L108: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L109 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L117: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L118 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 17] adrp x0, .LC24 add x0, x0, :lo12:.LC24 and w1, w1, 1 bl printf -.L109: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L110 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L118: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L119 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC25 add x0, x0, :lo12:.LC25 ubfx x1, x1, 9, 1 bl printf -.L110: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L111 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L119: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L120 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC26 add x0, x0, :lo12:.LC26 ubfx x1, x1, 10, 1 bl printf -.L111: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L112 - adrp x0, .LANCHOR19 - ldrb w2, [x0, #:lo12:.LANCHOR19] +.L120: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L121 + adrp x0, .LANCHOR24 + ldrb w2, [x0, #:lo12:.LANCHOR24] adrp x0, .LANCHOR0 ldrb w1, [x0, #:lo12:.LANCHOR0] adrp x0, .LC27 add x0, x0, :lo12:.LC27 bl printf -.L112: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L113 - adrp x0, .LANCHOR20 - add x0, x0, :lo12:.LANCHOR20 +.L121: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L122 + adrp x0, .LANCHOR25 + add x0, x0, :lo12:.LANCHOR25 ldrb w2, [x0, 11] ldrb w1, [x0, 10] adrp x0, .LC28 add x0, x0, :lo12:.LC28 bl printf -.L113: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L114 - adrp x0, .LANCHOR20 - add x0, x0, :lo12:.LANCHOR20 +.L122: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L123 + adrp x0, .LANCHOR25 + add x0, x0, :lo12:.LANCHOR25 ldrb w2, [x0, 9] ldrb w1, [x0, 8] adrp x0, .LC29 add x0, x0, :lo12:.LC29 bl printf -.L114: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L85 - adrp x0, .LANCHOR21 +.L123: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L94 + adrp x0, .LANCHOR26 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 - ldrb w1, [x0, #:lo12:.LANCHOR21] + ldrb w1, [x0, #:lo12:.LANCHOR26] adrp x0, .LC30 add x0, x0, :lo12:.LC30 b printf -.L85: +.L94: ldr x19, [sp, 16] ldp x29, x30, [sp], 32 ret @@ -851,193 +935,31 @@ nand_flash_print_info: .global timer_delay_ns .type timer_delay_ns, %function timer_delay_ns: - sub sp, sp, #16 - lsr w0, w0, 4 - str w0, [sp, 12] -.L205: - ldr w0, [sp, 12] - sub w1, w0, #1 - str w1, [sp, 12] - cbnz w0, .L205 - add sp, sp, 16 - ret + uxtw x0, w0 + mov x1, 1000 + add x0, x0, 999 + udiv x0, x0, x1 + b udelay .size timer_delay_ns, .-timer_delay_ns - .section .text.flash_read_status,"ax",@progbits - .align 2 - .global flash_read_status - .type flash_read_status, %function -flash_read_status: - stp x29, x30, [sp, -16]! - mov x2, x0 - mov w0, 112 - add x29, sp, 0 - str w0, [x2, 8] - mov w0, 120 - bl timer_delay_ns - ldr w0, [x2] - ldp x29, x30, [sp], 16 - and w0, w0, 255 - ret - .size flash_read_status, .-flash_read_status - .section .text.toshiba_set_rr_para,"ax",@progbits - .align 2 - .global toshiba_set_rr_para - .type toshiba_set_rr_para, %function -toshiba_set_rr_para: - and w11, w1, 255 - mov x4, x0 - add w2, w11, 1 - mov w0, 5 - adrp x6, .LANCHOR26 - add x6, x6, :lo12:.LANCHOR26 - adrp x3, .LANCHOR22 - add x3, x3, :lo12:.LANCHOR22 - umull x2, w2, w0 - adrp x0, .LANCHOR23 - add x7, x0, :lo12:.LANCHOR23 - mov x5, x0 - ldrb w0, [x6] - add x3, x3, x2 - add x7, x7, x2 - adrp x8, .LANCHOR24 - mov x2, 0 - adrp x10, .LANCHOR25 - add x8, x8, :lo12:.LANCHOR24 - add x10, x10, :lo12:.LANCHOR25 - cmp w0, w2 - bhi .L218 - ret -.L212: - cmp w0, 35 - bne .L214 - ldrsb w0, [x3, x2] - b .L219 -.L214: - ldrsb w0, [x10, w11, sxtw] - b .L219 -.L218: - stp x29, x30, [sp, -16]! - add x29, sp, 0 -.L215: - mov w0, 85 - str w0, [x4, 8] - add x0, x5, :lo12:.LANCHOR23 - ldrsb w0, [x2, x0] - str w0, [x4, 4] - mov w0, 200 - bl timer_delay_ns - ldrb w0, [x8] - cmp w0, 34 - bne .L212 - ldrsb w0, [x7, x2] -.L219: - str w0, [x4] - add x2, x2, 1 - ldrb w0, [x6] - cmp w0, w2 - bhi .L215 - ldp x29, x30, [sp], 16 - ret - .size toshiba_set_rr_para, .-toshiba_set_rr_para - .section .text.hynix_set_rr_para,"ax",@progbits - .align 2 - .type hynix_set_rr_para, %function -hynix_set_rr_para: - adrp x2, .LANCHOR27 - and w1, w1, 255 - and w0, w0, 255 - ldr x3, [x2, #:lo12:.LANCHOR27] - adrp x2, .LANCHOR13 - add x6, x3, 128 - add x4, x3, 112 - ldr x2, [x2, #:lo12:.LANCHOR13] - ldrb w5, [x3, 113] - ldrb w3, [x3, 112] - cmp w3, 8 - mov x3, 32 - umaddl x1, w1, w5, x3 - beq .L221 - mov w3, 160 - umaddl x1, w3, w0, x1 -.L221: - ubfiz x0, x0, 8, 8 - mov x3, 0 - add x2, x2, x0 - mov w0, 54 - add x4, x4, x1 - cmp w5, w3, uxtb - str w0, [x2, 2056] - bhi .L228 - mov w0, 22 - str w0, [x2, 2056] - ret -.L228: - stp x29, x30, [sp, -16]! - add x29, sp, 0 -.L224: - ldrb w0, [x6, x3] - str w0, [x2, 2052] - mov w0, 120 - bl timer_delay_ns - ldrsb w0, [x4, x3] - str w0, [x2, 2048] - add x3, x3, 1 - cmp w5, w3, uxtb - bhi .L224 - mov w0, 22 - str w0, [x2, 2056] - ldp x29, x30, [sp], 16 - ret - .size hynix_set_rr_para, .-hynix_set_rr_para - .section .text.hynix_reconfig_rr_para,"ax",@progbits - .align 2 - .global hynix_reconfig_rr_para - .type hynix_reconfig_rr_para, %function -hynix_reconfig_rr_para: - adrp x1, .LANCHOR24 - ldrb w1, [x1, #:lo12:.LANCHOR24] - sub w1, w1, #1 - and w1, w1, 255 - cmp w1, 7 - bhi .L235 - adrp x8, .LANCHOR27 - and w0, w0, 255 - sxtw x7, w0 - ldr x1, [x8, #:lo12:.LANCHOR27] - add x1, x1, x7 - ldrb w1, [x1, 120] - cbz w1, .L235 - stp x29, x30, [sp, -16]! - mov w1, 0 - add x29, sp, 0 - bl hynix_set_rr_para - ldr x0, [x8, #:lo12:.LANCHOR27] - add x0, x0, x7 - strb wzr, [x0, 120] - ldp x29, x30, [sp], 16 - ret -.L235: - ret - .size hynix_reconfig_rr_para, .-hynix_reconfig_rr_para .section .text.nandc_set_ddr_para,"ax",@progbits .align 2 .global nandc_set_ddr_para .type nandc_set_ddr_para, %function nandc_set_ddr_para: - adrp x1, .LANCHOR28 + adrp x1, .LANCHOR27 and w0, w0, 255 - adrp x2, .LANCHOR13 - ldrb w1, [x1, #:lo12:.LANCHOR28] - ldr x2, [x2, #:lo12:.LANCHOR13] + adrp x2, .LANCHOR7 + ldrb w1, [x1, #:lo12:.LANCHOR27] + ldr x2, [x2, #:lo12:.LANCHOR7] cmp w1, 9 lsl w1, w0, 16 lsl w0, w0, 8 orr w1, w1, w0 orr w1, w1, 3 - bne .L239 + bne .L215 str w1, [x2, 80] ret -.L239: +.L215: str w1, [x2, 304] ret .size nandc_set_ddr_para, .-nandc_set_ddr_para @@ -1046,43 +968,43 @@ nandc_set_ddr_para: .global nandc_get_ddr_para .type nandc_get_ddr_para, %function nandc_get_ddr_para: - adrp x0, .LANCHOR28 - ldrb w0, [x0, #:lo12:.LANCHOR28] + adrp x0, .LANCHOR27 + ldrb w0, [x0, #:lo12:.LANCHOR27] cmp w0, 9 - adrp x0, .LANCHOR13 - ldr x0, [x0, #:lo12:.LANCHOR13] - bne .L242 + adrp x0, .LANCHOR7 + ldr x0, [x0, #:lo12:.LANCHOR7] + bne .L218 ldr w0, [x0, 80] -.L244: +.L220: ubfx x0, x0, 8, 8 ret -.L242: +.L218: ldr w0, [x0, 304] - b .L244 + b .L220 .size nandc_get_ddr_para, .-nandc_get_ddr_para .section .text.nandc_set_if_mode,"ax",@progbits .align 2 .global nandc_set_if_mode .type nandc_set_if_mode, %function nandc_set_if_mode: - adrp x1, .LANCHOR13 + adrp x1, .LANCHOR7 and w0, w0, 255 tst w0, 6 - ldr x2, [x1, #:lo12:.LANCHOR13] + ldr x2, [x1, #:lo12:.LANCHOR7] ldr w1, [x2] - beq .L246 + beq .L222 tst x0, 4 orr w1, w1, 24576 - adrp x0, .LANCHOR28 + adrp x0, .LANCHOR27 and w1, w1, -32769 orr w1, w1, 196608 - ldrb w0, [x0, #:lo12:.LANCHOR28] + ldrb w0, [x0, #:lo12:.LANCHOR27] orr w3, w1, 32768 csel w1, w3, w1, ne cmp w0, 9 mov w0, 4099 movk w0, 0x10, lsl 16 - bne .L248 + bne .L224 mov w3, 8321 str w3, [x2, 8] str w0, [x2, 80] @@ -1090,10 +1012,10 @@ nandc_set_if_mode: str w0, [x2, 84] mov w0, 39 str w0, [x2, 84] -.L249: +.L225: str w1, [x2] ret -.L248: +.L224: mov w3, 8322 str w3, [x2, 344] str w0, [x2, 304] @@ -1101,20 +1023,20 @@ nandc_set_if_mode: str w0, [x2, 308] mov w0, 39 str w0, [x2, 308] - b .L249 -.L246: + b .L225 +.L222: and w1, w1, -8193 - b .L249 + b .L225 .size nandc_set_if_mode, .-nandc_set_if_mode .section .text.nandc_cs,"ax",@progbits .align 2 .global nandc_cs .type nandc_cs, %function nandc_cs: - adrp x1, .LANCHOR13 + adrp x1, .LANCHOR7 mov w2, 1 lsl w0, w2, w0 - ldr x3, [x1, #:lo12:.LANCHOR13] + ldr x3, [x1, #:lo12:.LANCHOR7] ldr w1, [x3] bfi w1, w0, 0, 8 str w1, [x3] @@ -1125,62 +1047,68 @@ nandc_cs: .global flash_wait_device_ready_raw .type flash_wait_device_ready_raw, %function flash_wait_device_ready_raw: - stp x29, x30, [sp, -48]! + stp x29, x30, [sp, -96]! add x29, sp, 0 - str x21, [sp, 32] - and w21, w0, 255 - adrp x0, .LANCHOR18 stp x19, x20, [sp, 16] - mov w19, w1 - mov w20, w2 - ldrb w0, [x0, #:lo12:.LANCHOR18] - cmp w0, w21 - bhi .L254 - adrp x1, .LANCHOR29 + and w19, w0, 255 + adrp x0, .LANCHOR23 + stp x25, x26, [sp, 64] + stp x21, x22, [sp, 32] + mov w20, w1 + ldrb w0, [x0, #:lo12:.LANCHOR23] + mov w26, w2 + stp x23, x24, [sp, 48] + str x27, [sp, 80] + cmp w0, w19 + bhi .L230 + adrp x1, .LANCHOR28 adrp x0, .LC0 - mov w2, 805 - add x1, x1, :lo12:.LANCHOR29 + mov w2, 812 + add x1, x1, :lo12:.LANCHOR28 add x0, x0, :lo12:.LC0 bl printf -.L254: - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 - lsr w7, w19, 8 - lsr w8, w19, 16 - lsr w10, w19, 24 - adrp x5, .LANCHOR31 - ldrb w6, [x0, w21, sxtw] - adrp x0, .LANCHOR13 - and w19, w19, 255 - add x5, x5, :lo12:.LANCHOR31 - ldr x4, [x0, #:lo12:.LANCHOR13] - mov w11, 120 - ubfiz x0, x6, 8, 8 - add x4, x4, x0 -.L260: - mov w0, w6 +.L230: + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 + lsr w23, w20, 8 + lsr w24, w20, 16 + lsr w25, w20, 24 + adrp x21, .LANCHOR30 + ldrb w22, [x0, w19, sxtw] + adrp x0, .LANCHOR7 + and w20, w20, 255 + add x21, x21, :lo12:.LANCHOR30 + ldr x19, [x0, #:lo12:.LANCHOR7] + mov w27, 120 + ubfiz x0, x22, 8, 8 + add x19, x19, x0 +.L236: + mov w0, w22 bl nandc_cs - str w11, [x4, 2056] - str w19, [x4, 2052] - ldrb w0, [x5] - str w7, [x4, 2052] - str w8, [x4, 2052] - cbz w0, .L255 - str w10, [x4, 2052] -.L255: - mov w0, 120 - bl timer_delay_ns - ldr w2, [x4, 2048] + str w27, [x19, 2056] + str w20, [x19, 2052] + ldrb w0, [x21] + str w23, [x19, 2052] + str w24, [x19, 2052] + cbz w0, .L231 + str w25, [x19, 2052] +.L231: + mov x0, 1 + bl udelay + ldr w2, [x19, 2048] and w2, w2, 255 - bl nandc_de_cs.constprop.33 - bics wzr, w20, w2 - bne .L260 + bl nandc_de_cs.constprop.32 + bics wzr, w26, w2 + bne .L236 cmp w2, 255 - beq .L260 + beq .L236 mov w0, w2 - ldr x21, [sp, 32] + ldr x27, [sp, 80] ldp x19, x20, [sp, 16] - ldp x29, x30, [sp], 48 + ldp x21, x22, [sp, 32] + ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] + ldp x29, x30, [sp], 96 ret .size flash_wait_device_ready_raw, .-flash_wait_device_ready_raw .section .text.flash_wait_device_ready,"ax",@progbits @@ -1189,10 +1117,10 @@ flash_wait_device_ready_raw: .type flash_wait_device_ready, %function flash_wait_device_ready: mov w2, w1 - adrp x1, .LANCHOR32 + adrp x1, .LANCHOR31 mov w5, 24 mov w4, 1 - ldrb w6, [x1, #:lo12:.LANCHOR32] + ldrb w6, [x1, #:lo12:.LANCHOR31] tst x0, 50331648 sub w5, w5, w6 lsl w3, w4, w5 @@ -1203,39 +1131,39 @@ flash_wait_device_ready: and w4, w4, w5 and w1, w3, w0 and w4, w4, 255 - bne .L265 + bne .L241 adrp x0, .LANCHOR0 adrp x5, .LANCHOR1 ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L266 + cbz w0, .L242 ldrb w0, [x5, #:lo12:.LANCHOR1] - cbz w0, .L265 -.L266: + cbz w0, .L241 +.L242: adrp x0, .LANCHOR2 ldrh w3, [x0, #:lo12:.LANCHOR2] udiv w0, w1, w3 mul w0, w0, w3 sub w3, w1, w0 ldrb w1, [x5, #:lo12:.LANCHOR1] - cbz w1, .L267 + cbz w1, .L243 add w1, w0, w3, lsl 1 -.L265: +.L241: mov w0, w4 b flash_wait_device_ready_raw -.L267: +.L243: adrp x5, .LANCHOR3 add x5, x5, :lo12:.LANCHOR3 ldrh w3, [x5, w3, uxtw 1] add w1, w3, w0 - b .L265 + b .L241 .size flash_wait_device_ready, .-flash_wait_device_ready .section .text.nandc_de_cs,"ax",@progbits .align 2 .global nandc_de_cs .type nandc_de_cs, %function nandc_de_cs: - adrp x0, .LANCHOR13 - ldr x1, [x0, #:lo12:.LANCHOR13] + adrp x0, .LANCHOR7 + ldr x1, [x0, #:lo12:.LANCHOR7] ldr w0, [x1] and w0, w0, -256 and w0, w0, -131073 @@ -1247,194 +1175,207 @@ nandc_de_cs: .global nandc_wait_flash_ready_no_delay .type nandc_wait_flash_ready_no_delay, %function nandc_wait_flash_ready_no_delay: - mov w2, 34464 - stp x29, x30, [sp, -32]! - movk w2, 0x1, lsl 16 - adrp x3, .LANCHOR13 + stp x29, x30, [sp, -48]! add x29, sp, 0 -.L277: - ldr x0, [x3, #:lo12:.LANCHOR13] + stp x19, x20, [sp, 16] + mov w19, 34464 + movk w19, 0x1, lsl 16 + adrp x20, .LANCHOR7 +.L253: + ldr x0, [x20, #:lo12:.LANCHOR7] ldr w0, [x0] - str w0, [x29, 24] - ldr w0, [x29, 24] - tbnz x0, 9, .L278 - mov w0, 10 - bl timer_delay_ns - subs w2, w2, #1 - bne .L277 + str w0, [x29, 40] + ldr w0, [x29, 40] + tbnz x0, 9, .L254 + mov x0, 1 + bl udelay + subs w19, w19, #1 + bne .L253 mov w0, -1 -.L275: - ldp x29, x30, [sp], 32 +.L251: + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 48 ret -.L278: +.L254: mov w0, 0 - b .L275 + b .L251 .size nandc_wait_flash_ready_no_delay, .-nandc_wait_flash_ready_no_delay .section .text.zftl_flash_enter_slc_mode,"ax",@progbits .align 2 .global zftl_flash_enter_slc_mode .type zftl_flash_enter_slc_mode, %function zftl_flash_enter_slc_mode: - and x4, x0, 255 - adrp x0, .LANCHOR0 - ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L300 - adrp x1, .LANCHOR13 - cmp w0, 1 - ldr x5, [x1, #:lo12:.LANCHOR13] - bne .L284 - adrp x0, .LANCHOR33+29 - ldrb w0, [x0, #:lo12:.LANCHOR33+29] - cbz w0, .L300 - add x4, x4, 8 - add x4, x5, x4, lsl 8 - str w0, [x4, 8] - ret -.L284: - stp x29, x30, [sp, -16]! - cmp w0, 2 + stp x29, x30, [sp, -48]! add x29, sp, 0 - bne .L286 - adrp x0, .LANCHOR34 - add x0, x0, :lo12:.LANCHOR34 - ldrb w1, [x0, x4] - cbz w1, .L281 - adrp x6, .LANCHOR33 - add x6, x6, :lo12:.LANCHOR33 - strb wzr, [x0, x4] - ldrb w0, [x6, 29] - cbz w0, .L281 - bl nandc_wait_flash_ready_no_delay - add x4, x4, 8 - add x4, x5, x4, lsl 8 - ldrb w0, [x6, 29] - str w0, [x4, 8] -.L281: - ldp x29, x30, [sp], 16 + stp x19, x20, [sp, 16] + and x19, x0, 255 + adrp x0, .LANCHOR0 + stp x21, x22, [sp, 32] + ldrb w0, [x0, #:lo12:.LANCHOR0] + cbz w0, .L257 + adrp x1, .LANCHOR7 + cmp w0, 1 + ldr x20, [x1, #:lo12:.LANCHOR7] + bne .L260 + adrp x0, .LANCHOR32+29 + ldrb w0, [x0, #:lo12:.LANCHOR32+29] + cbz w0, .L257 +.L276: + add x19, x19, 8 + add x19, x20, x19, lsl 8 + str w0, [x19, 8] +.L257: + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x29, x30, [sp], 48 ret -.L286: - cmp w0, 3 - bne .L281 - adrp x6, .LANCHOR34 - sxtw x7, w4 - add x6, x6, :lo12:.LANCHOR34 - ldrb w0, [x6, x7] - cbz w0, .L281 +.L260: + cmp w0, 2 + bne .L262 + adrp x0, .LANCHOR33 + add x0, x0, :lo12:.LANCHOR33 + ldrb w1, [x0, x19] + cbz w1, .L257 + adrp x21, .LANCHOR32 + add x21, x21, :lo12:.LANCHOR32 + strb wzr, [x0, x19] + ldrb w0, [x21, 29] + cbz w0, .L257 bl nandc_wait_flash_ready_no_delay - ubfiz x4, x4, 8, 8 - add x4, x5, x4 + ldrb w0, [x21, 29] + b .L276 +.L262: + cmp w0, 3 + bne .L257 + adrp x21, .LANCHOR33 + sxtw x22, w19 + add x21, x21, :lo12:.LANCHOR33 + ldrb w0, [x21, x22] + cbz w0, .L257 + ubfiz x19, x19, 8, 8 + bl nandc_wait_flash_ready_no_delay + add x19, x20, x19 mov w0, 239 - strb wzr, [x6, x7] - str w0, [x4, 2056] + strb wzr, [x21, x22] + str w0, [x19, 2056] mov w0, 145 - str w0, [x4, 2052] - mov w0, 100 - bl timer_delay_ns - str wzr, [x4, 2048] + str w0, [x19, 2052] + mov x0, 1 + bl udelay + str wzr, [x19, 2048] mov w0, 1 - str w0, [x4, 2048] - str wzr, [x4, 2048] - mov w0, 150 - str wzr, [x4, 2048] - bl timer_delay_ns + str w0, [x19, 2048] + str wzr, [x19, 2048] + mov x0, 1 + str wzr, [x19, 2048] + bl udelay bl nandc_wait_flash_ready_no_delay mov w0, 218 - str w0, [x4, 2056] - b .L281 -.L300: - ret + ldp x21, x22, [sp, 32] + str w0, [x19, 2056] + ldp x19, x20, [sp, 16] + mov x0, 1 + ldp x29, x30, [sp], 48 + b udelay .size zftl_flash_enter_slc_mode, .-zftl_flash_enter_slc_mode .section .text.zftl_flash_exit_slc_mode,"ax",@progbits .align 2 .global zftl_flash_exit_slc_mode .type zftl_flash_exit_slc_mode, %function zftl_flash_exit_slc_mode: - and x4, x0, 255 - adrp x0, .LANCHOR0 - ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L323 - adrp x1, .LANCHOR13 - cmp w0, 1 - ldr x5, [x1, #:lo12:.LANCHOR13] - bne .L305 - adrp x0, .LANCHOR33+30 - ldrb w0, [x0, #:lo12:.LANCHOR33+30] - cbz w0, .L323 - add x4, x4, 8 - add x4, x5, x4, lsl 8 - str w0, [x4, 8] - ret -.L305: - stp x29, x30, [sp, -16]! - cmp w0, 2 + stp x29, x30, [sp, -64]! add x29, sp, 0 - bne .L307 - adrp x0, .LANCHOR34 - add x0, x0, :lo12:.LANCHOR34 - ldrb w1, [x0, x4] - cbnz w1, .L302 - adrp x6, .LANCHOR33 - add x6, x6, :lo12:.LANCHOR33 + stp x19, x20, [sp, 16] + and x19, x0, 255 + adrp x0, .LANCHOR0 + stp x21, x22, [sp, 32] + str x23, [sp, 48] + ldrb w0, [x0, #:lo12:.LANCHOR0] + cbz w0, .L277 + adrp x1, .LANCHOR7 + cmp w0, 1 + ldr x20, [x1, #:lo12:.LANCHOR7] + bne .L280 + adrp x0, .LANCHOR32+30 + ldrb w0, [x0, #:lo12:.LANCHOR32+30] + cbz w0, .L277 +.L298: + add x19, x19, 8 + add x19, x20, x19, lsl 8 + str w0, [x19, 8] +.L277: + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldr x23, [sp, 48] + ldp x29, x30, [sp], 64 + ret +.L280: + cmp w0, 2 + bne .L282 + adrp x0, .LANCHOR33 + add x0, x0, :lo12:.LANCHOR33 + ldrb w1, [x0, x19] + cbnz w1, .L277 + adrp x21, .LANCHOR32 + add x21, x21, :lo12:.LANCHOR32 mov w2, 4 - ldrb w1, [x6, 12] + ldrb w1, [x21, 12] cmp w1, 2 csel w1, w1, w2, eq - strb w1, [x0, x4] - ldrb w0, [x6, 30] - cbz w0, .L302 + strb w1, [x0, x19] + ldrb w0, [x21, 30] + cbz w0, .L277 bl nandc_wait_flash_ready_no_delay - add x4, x4, 8 - add x4, x5, x4, lsl 8 - ldrb w0, [x6, 30] - str w0, [x4, 8] -.L302: - ldp x29, x30, [sp], 16 - ret -.L307: + ldrb w0, [x21, 30] + b .L298 +.L282: cmp w0, 3 - bne .L302 - adrp x6, .LANCHOR34 - sxtw x7, w4 - add x6, x6, :lo12:.LANCHOR34 - ldrb w0, [x6, x7] - cbnz w0, .L302 + bne .L277 + adrp x21, .LANCHOR33 + sxtw x23, w19 + add x21, x21, :lo12:.LANCHOR33 + ldrb w0, [x21, x23] + cbnz w0, .L277 + adrp x22, .LANCHOR32 + add x22, x22, :lo12:.LANCHOR32 bl nandc_wait_flash_ready_no_delay - ubfiz x4, x4, 8, 8 - adrp x2, .LANCHOR33 - add x2, x2, :lo12:.LANCHOR33 - add x4, x5, x4 + ubfiz x19, x19, 8, 8 + add x19, x20, x19 mov w1, 4 - ldrb w0, [x2, 12] + ldrb w0, [x22, 12] cmp w0, 2 csel w0, w0, w1, eq - strb w0, [x6, x7] + strb w0, [x21, x23] mov w0, 239 - str w0, [x4, 2056] + str w0, [x19, 2056] mov w0, 145 - str w0, [x4, 2052] - mov w0, 100 - bl timer_delay_ns - ldrb w0, [x2, 7] + str w0, [x19, 2052] + mov x0, 1 + bl udelay + ldrb w0, [x22, 7] cmp w0, 9 mov w0, 1 - bne .L310 - str w0, [x4, 2048] -.L311: - str w0, [x4, 2048] - mov w0, 150 - str wzr, [x4, 2048] - str wzr, [x4, 2048] - bl timer_delay_ns + bne .L285 + str w0, [x19, 2048] +.L286: + str w0, [x19, 2048] + mov x0, 1 + str wzr, [x19, 2048] + str wzr, [x19, 2048] + bl udelay bl nandc_wait_flash_ready_no_delay + ldr x23, [sp, 48] + ldp x21, x22, [sp, 32] mov w0, 223 - str w0, [x4, 2056] - b .L302 -.L310: - ldrb w1, [x6, x7] - str w1, [x4, 2048] - b .L311 -.L323: - ret + str w0, [x19, 2056] + mov x0, 1 + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 64 + b udelay +.L285: + ldrb w1, [x21, x23] + str w1, [x19, 2048] + b .L286 .size zftl_flash_exit_slc_mode, .-zftl_flash_exit_slc_mode .section .text.flash_start_page_read,"ax",@progbits .align 2 @@ -1442,235 +1383,242 @@ zftl_flash_exit_slc_mode: .type flash_start_page_read, %function flash_start_page_read: stp x29, x30, [sp, -64]! - mov w8, 24 add x29, sp, 0 - stp x19, x20, [sp, 16] - and w20, w0, 255 - adrp x0, .LANCHOR32 stp x21, x22, [sp, 32] - mov w19, 1 - mov w21, w1 - ldrb w0, [x0, #:lo12:.LANCHOR32] + and w21, w0, 255 + adrp x0, .LANCHOR31 + stp x19, x20, [sp, 16] str x23, [sp, 48] - sub w22, w8, w0 - lsl w19, w19, w0 - sub w19, w19, #1 - lsr w0, w1, w22 - and w19, w19, w0 - adrp x0, .LANCHOR18 - and w19, w19, 255 - mov x23, x0 - ldrb w1, [x0, #:lo12:.LANCHOR18] - cmp w1, w19 - bhi .L326 - adrp x1, .LANCHOR35 + mov w19, 24 + ldrb w0, [x0, #:lo12:.LANCHOR31] + mov w20, 1 + mov w22, w1 + sub w23, w19, w0 + lsl w20, w20, w0 + sub w20, w20, #1 + lsr w0, w1, w23 + and w20, w20, w0 + adrp x0, .LANCHOR23 + and w20, w20, 255 + mov x19, x0 + ldrb w1, [x0, #:lo12:.LANCHOR23] + cmp w1, w20 + bhi .L300 + adrp x1, .LANCHOR34 adrp x0, .LC0 - mov w2, 1001 - add x1, x1, :lo12:.LANCHOR35 + mov w2, 1013 + add x1, x1, :lo12:.LANCHOR34 add x0, x0, :lo12:.LC0 bl printf -.L326: - ldrb w0, [x23, #:lo12:.LANCHOR18] - cmp w0, w19 - bls .L325 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 - mov w8, 1 - lsl w8, w8, w22 - sub w8, w8, #1 - ldrb w11, [x0, w19, sxtw] - adrp x0, .LANCHOR13 - and w8, w8, w21 - ubfx x21, x21, 24, 2 - ldr x10, [x0, #:lo12:.LANCHOR13] - mov w0, w11 +.L300: + ldrb w0, [x19, #:lo12:.LANCHOR23] + cmp w0, w20 + bls .L299 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 + mov w19, 1 + ubfx x4, x22, 24, 2 + lsl w19, w19, w23 + sub w19, w19, #1 + and w19, w19, w22 + ldrb w22, [x0, w20, sxtw] + adrp x0, .LANCHOR7 + adrp x23, .LANCHOR21 + ldr x20, [x0, #:lo12:.LANCHOR7] + mov w0, w22 bl nandc_cs - adrp x12, .LANCHOR16 - cbnz w21, .L328 - mov w0, w8 + cbnz w4, .L302 + mov w0, w19 bl slc_phy_page_address_calc - mov w8, w0 + mov w19, w0 adrp x0, .LANCHOR0 ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L329 - mov w0, w11 + cbz w0, .L303 + mov w0, w22 bl zftl_flash_enter_slc_mode -.L329: - ldr x0, [x12, #:lo12:.LANCHOR16] +.L303: + ldr x0, [x23, #:lo12:.LANCHOR21] ldrb w1, [x0, 7] cmp w1, 1 - bne .L331 + bne .L305 ldrb w0, [x0, 12] cmp w0, 2 - bne .L331 - sxtw x0, w11 + bne .L305 + sxtw x0, w22 mov w1, 38 add x0, x0, 8 - add x0, x10, x0, lsl 8 + add x0, x20, x0, lsl 8 str w1, [x0, 8] -.L331: - ubfiz x0, x11, 8, 8 - and w1, w8, 255 - add x0, x10, x0 +.L305: + ubfiz x0, x22, 8, 8 + and w1, w19, 255 + add x0, x20, x0 str wzr, [x0, 2056] str wzr, [x0, 2052] str wzr, [x0, 2052] str w1, [x0, 2052] - lsr w1, w8, 8 + lsr w1, w19, 8 str w1, [x0, 2052] - lsr w1, w8, 16 + lsr w1, w19, 16 str w1, [x0, 2052] - adrp x1, .LANCHOR31 - ldrb w1, [x1, #:lo12:.LANCHOR31] - cbz w1, .L332 - lsr w8, w8, 24 - str w8, [x0, 2052] -.L332: - str w20, [x0, 2056] -.L325: + adrp x1, .LANCHOR30 + ldrb w1, [x1, #:lo12:.LANCHOR30] + cbz w1, .L306 + lsr w19, w19, 24 + str w19, [x0, 2052] +.L306: + str w21, [x0, 2056] +.L299: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldr x23, [sp, 48] ldp x29, x30, [sp], 64 ret -.L328: - ldr x0, [x12, #:lo12:.LANCHOR16] +.L302: + ldr x0, [x23, #:lo12:.LANCHOR21] ldrb w0, [x0, 12] cmp w0, 3 - bne .L330 + bne .L304 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L304 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L330 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbnz w0, .L330 - sxtw x0, w11 + cbnz w0, .L304 + sxtw x0, w22 add x0, x0, 8 - add x0, x10, x0, lsl 8 - str w21, [x0, 8] - b .L329 -.L330: - mov w0, w11 + add x0, x20, x0, lsl 8 + str w4, [x0, 8] + b .L303 +.L304: + mov w0, w22 bl zftl_flash_exit_slc_mode - b .L329 + b .L303 .size flash_start_page_read, .-flash_start_page_read .section .text.nandc_wait_flash_ready,"ax",@progbits .align 2 .global nandc_wait_flash_ready .type nandc_wait_flash_ready, %function nandc_wait_flash_ready: - stp x29, x30, [sp, -32]! - mov w0, 150 + stp x29, x30, [sp, -48]! + mov x0, 1 add x29, sp, 0 - bl timer_delay_ns - mov w2, 34464 - adrp x3, .LANCHOR13 - movk w2, 0x1, lsl 16 -.L342: - ldr x0, [x3, #:lo12:.LANCHOR13] + stp x19, x20, [sp, 16] + mov w19, 34464 + movk w19, 0x1, lsl 16 + adrp x20, .LANCHOR7 + bl udelay +.L316: + ldr x0, [x20, #:lo12:.LANCHOR7] ldr w0, [x0] - str w0, [x29, 24] - ldr w0, [x29, 24] - tbnz x0, 9, .L343 - mov w0, 10 - bl timer_delay_ns - subs w2, w2, #1 - bne .L342 + str w0, [x29, 40] + ldr w0, [x29, 40] + tbnz x0, 9, .L317 + mov x0, 1 + bl udelay + subs w19, w19, #1 + bne .L316 mov w0, -1 -.L340: - ldp x29, x30, [sp], 32 +.L314: + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 48 ret -.L343: +.L317: mov w0, 0 - b .L340 + b .L314 .size nandc_wait_flash_ready, .-nandc_wait_flash_ready .section .text.sandisk_set_rr_para,"ax",@progbits .align 2 .global sandisk_set_rr_para .type sandisk_set_rr_para, %function sandisk_set_rr_para: - stp x29, x30, [sp, -16]! - mov x3, x0 - and w2, w1, 255 - mov w0, 239 + stp x29, x30, [sp, -32]! add x29, sp, 0 - str w0, [x3, 8] + stp x19, x20, [sp, 16] + mov x20, x0 + mov w0, 239 + and w19, w1, 255 + str w0, [x20, 8] mov w0, 17 - str w0, [x3, 4] - mov w0, 200 - bl timer_delay_ns - add w1, w2, 1 - adrp x0, .LANCHOR26 - adrp x2, .LANCHOR22 - add x2, x2, :lo12:.LANCHOR22 - ldrb w4, [x0, #:lo12:.LANCHOR26] - adrp x0, .LANCHOR24 - ldrb w5, [x0, #:lo12:.LANCHOR24] + str w0, [x20, 4] + mov x0, 1 + bl udelay + adrp x0, .LANCHOR18 + add w1, w19, 1 + adrp x2, .LANCHOR14 + add x2, x2, :lo12:.LANCHOR14 + ldrb w3, [x0, #:lo12:.LANCHOR18] + adrp x0, .LANCHOR16 + ldrb w4, [x0, #:lo12:.LANCHOR16] mov w0, 5 umull x1, w1, w0 - adrp x0, .LANCHOR23 - add x0, x0, :lo12:.LANCHOR23 + adrp x0, .LANCHOR15 + add x0, x0, :lo12:.LANCHOR15 add x2, x2, x1 add x1, x0, x1 mov x0, 0 -.L347: - cmp w4, w0 - bhi .L350 - ldp x29, x30, [sp], 16 +.L321: + cmp w3, w0 + bhi .L324 + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 32 b nandc_wait_flash_ready -.L350: - cmp w5, 67 - bne .L348 - ldrsb w6, [x1, x0] -.L352: +.L324: + cmp w4, 67 + bne .L322 + ldrsb w5, [x1, x0] +.L326: add x0, x0, 1 - str w6, [x3] - b .L347 -.L348: - ldrsb w6, [x2, x0] - b .L352 + str w5, [x20] + b .L321 +.L322: + ldrsb w5, [x2, x0] + b .L326 .size sandisk_set_rr_para, .-sandisk_set_rr_para .section .text.toshiba_3d_set_tlc_rr_para,"ax",@progbits .align 2 .global toshiba_3d_set_tlc_rr_para .type toshiba_3d_set_tlc_rr_para, %function toshiba_3d_set_tlc_rr_para: - mov x4, x0 - stp x29, x30, [sp, -16]! + stp x29, x30, [sp, -48]! and x2, x1, 255 mov x1, 7 add x29, sp, 0 - mov w6, 213 - str w6, [x4, 8] - str wzr, [x4, 4] - nop // between mem op and mult-accumulate + stp x19, x20, [sp, 16] + mov x19, x0 + str x21, [sp, 32] + mov w21, 213 madd x1, x2, x1, x1 mov w0, -119 - str w0, [x4, 4] - adrp x0, .LANCHOR38 - add x0, x0, :lo12:.LANCHOR38 - add x5, x0, x1 + str w21, [x19, 8] + str wzr, [x19, 4] + str w0, [x19, 4] + adrp x0, .LANCHOR37 + add x0, x0, :lo12:.LANCHOR37 + add x20, x0, x1 ldrsb w0, [x0, x1] - str w0, [x4] - ldrsb w0, [x5, 1] - str w0, [x4] - ldrsb w0, [x5, 2] - str w0, [x4] - ldrsb w0, [x5, 3] - str w0, [x4] + str w0, [x19] + ldrsb w0, [x20, 1] + str w0, [x19] + ldrsb w0, [x20, 2] + str w0, [x19] + ldrsb w0, [x20, 3] + str w0, [x19] bl nandc_wait_flash_ready - ldp x29, x30, [sp], 16 - str w6, [x4, 8] - str wzr, [x4, 4] + str w21, [x19, 8] + str wzr, [x19, 4] mov w0, -118 - str w0, [x4, 4] - ldrsb w0, [x5, 4] - str w0, [x4] - ldrsb w0, [x5, 5] - str w0, [x4] - ldrsb w0, [x5, 6] - str w0, [x4] - str wzr, [x4] + str w0, [x19, 4] + ldrsb w0, [x20, 4] + ldr x21, [sp, 32] + str w0, [x19] + ldrsb w0, [x20, 5] + str w0, [x19] + ldrsb w0, [x20, 6] + str w0, [x19] + str wzr, [x19] + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 48 b nandc_wait_flash_ready .size toshiba_3d_set_tlc_rr_para, .-toshiba_3d_set_tlc_rr_para .section .text.toshiba_3d_set_slc_rr_para,"ax",@progbits @@ -1683,8 +1631,8 @@ toshiba_3d_set_slc_rr_para: str wzr, [x0, 4] mov w2, -117 str w2, [x0, 4] - adrp x2, .LANCHOR39 - add x2, x2, :lo12:.LANCHOR39 + adrp x2, .LANCHOR38 + add x2, x2, :lo12:.LANCHOR38 add x1, x2, x1, uxtb ldrsb w1, [x1, 1] str w1, [x0] @@ -1698,101 +1646,109 @@ toshiba_3d_set_slc_rr_para: .global toshiba_tlc_set_rr_para .type toshiba_tlc_set_rr_para, %function toshiba_tlc_set_rr_para: - mov w6, 239 + stp x29, x30, [sp, -48]! uxtw x1, w1 - cbz w2, .L357 - stp x29, x30, [sp, -16]! - mov x4, x0 + add x29, sp, 0 + str x21, [sp, 32] + mov w21, 239 + stp x19, x20, [sp, 16] + cbz w2, .L331 + mov x19, x0 mov x2, 7 mov w0, 18 - add x29, sp, 0 - str w6, [x4, 8] mul x1, x1, x2 - str w0, [x4, 4] - adrp x0, .LANCHOR40 - add x0, x0, :lo12:.LANCHOR40 - add x5, x0, x1 + str w21, [x19, 8] + str w0, [x19, 4] + adrp x0, .LANCHOR39 + add x0, x0, :lo12:.LANCHOR39 + add x20, x0, x1 ldrb w0, [x0, x1] - str w0, [x4] - ldrb w0, [x5, 1] - str w0, [x4] - ldrb w0, [x5, 2] - str w0, [x4] - ldrb w0, [x5, 3] - str w0, [x4] + str w0, [x19] + ldrb w0, [x20, 1] + str w0, [x19] + ldrb w0, [x20, 2] + str w0, [x19] + ldrb w0, [x20, 3] + str w0, [x19] bl nandc_wait_flash_ready - str w6, [x4, 8] + str w21, [x19, 8] mov w0, 19 - str w0, [x4, 4] - ldrb w0, [x5, 4] - str w0, [x4] - ldrb w0, [x5, 5] - str w0, [x4] - ldrb w0, [x5, 6] - str w0, [x4] - str wzr, [x4] - ldp x29, x30, [sp], 16 -.L360: + str w0, [x19, 4] + ldrb w0, [x20, 4] + str w0, [x19] + ldrb w0, [x20, 5] + str w0, [x19] + ldrb w0, [x20, 6] + str w0, [x19] + str wzr, [x19] +.L332: + ldp x19, x20, [sp, 16] + ldr x21, [sp, 32] + ldp x29, x30, [sp], 48 b nandc_wait_flash_ready -.L357: - str w6, [x0, 8] +.L331: + str w21, [x0, 8] mov w2, 20 str w2, [x0, 4] - adrp x2, .LANCHOR41 - add x2, x2, :lo12:.LANCHOR41 + adrp x2, .LANCHOR40 + add x2, x2, :lo12:.LANCHOR40 ldrb w1, [x2, x1] str w1, [x0] str wzr, [x0] str wzr, [x0] str wzr, [x0] - b .L360 + b .L332 .size toshiba_tlc_set_rr_para, .-toshiba_tlc_set_rr_para .section .text.ymtc_3d_set_tlc_rr_para,"ax",@progbits .align 2 .global ymtc_3d_set_tlc_rr_para .type ymtc_3d_set_tlc_rr_para, %function ymtc_3d_set_tlc_rr_para: - mov x4, x0 - stp x29, x30, [sp, -16]! + stp x29, x30, [sp, -48]! and x1, x1, 255 mov x2, 7 add x29, sp, 0 - mov w6, 239 - mov w0, 160 - str w6, [x4, 8] + stp x19, x20, [sp, 16] + mov x19, x0 + str x21, [sp, 32] mul x1, x1, x2 - str w0, [x4, 4] - adrp x0, .LANCHOR42 - add x0, x0, :lo12:.LANCHOR42 - add x5, x0, x1 + mov w21, 239 + mov w0, 160 + str w21, [x19, 8] + str w0, [x19, 4] + adrp x0, .LANCHOR41 + add x0, x0, :lo12:.LANCHOR41 + add x20, x0, x1 ldrsb w0, [x0, x1] - str w0, [x4] - ldrsb w0, [x5, 4] - str w0, [x4] - str wzr, [x4] - str wzr, [x4] + str w0, [x19] + ldrsb w0, [x20, 4] + str w0, [x19] + str wzr, [x19] + str wzr, [x19] bl nandc_wait_flash_ready - str w6, [x4, 8] + str w21, [x19, 8] mov w0, 161 - str w0, [x4, 4] - ldrsb w0, [x5, 1] - str w0, [x4] - ldrsb w0, [x5, 3] - str w0, [x4] - ldrsb w0, [x5, 5] - str w0, [x4] - str wzr, [x4] + str w0, [x19, 4] + ldrsb w0, [x20, 1] + str w0, [x19] + ldrsb w0, [x20, 3] + str w0, [x19] + ldrsb w0, [x20, 5] + str w0, [x19] + str wzr, [x19] bl nandc_wait_flash_ready - ldp x29, x30, [sp], 16 + str w21, [x19, 8] mov w0, 162 - str w6, [x4, 8] - str w0, [x4, 4] - ldrsb w0, [x5, 2] - str w0, [x4] - ldrsb w0, [x5, 6] - str w0, [x4] - str wzr, [x4] - str wzr, [x4] + str w0, [x19, 4] + ldrsb w0, [x20, 2] + ldr x21, [sp, 32] + str w0, [x19] + ldrsb w0, [x20, 6] + str w0, [x19] + str wzr, [x19] + str wzr, [x19] + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 48 b nandc_wait_flash_ready .size ymtc_3d_set_tlc_rr_para, .-ymtc_3d_set_tlc_rr_para .section .text.ymtc_3d_set_slc_rr_para,"ax",@progbits @@ -1805,8 +1761,8 @@ ymtc_3d_set_slc_rr_para: mov w2, 163 and x1, x1, 255 str w2, [x0, 4] - adrp x2, .LANCHOR43 - add x2, x2, :lo12:.LANCHOR43 + adrp x2, .LANCHOR42 + add x2, x2, :lo12:.LANCHOR42 ldrsb w1, [x2, x1] str w1, [x0] str wzr, [x0] @@ -1823,125 +1779,125 @@ flash_erase_duplane_block: add x29, sp, 0 stp x21, x22, [sp, 32] and w22, w0, 255 - adrp x0, .LANCHOR18 + adrp x0, .LANCHOR23 stp x19, x20, [sp, 16] stp x23, x24, [sp, 48] and w24, w1, 255 str x25, [sp, 64] mov w21, w2 - ldrb w1, [x0, #:lo12:.LANCHOR18] + ldrb w1, [x0, #:lo12:.LANCHOR23] mov w20, w3 mov x19, x0 cmp w1, w22 - bhi .L367 - adrp x1, .LANCHOR44 + bhi .L338 + adrp x1, .LANCHOR43 adrp x0, .LC0 - mov w2, 688 - add x1, x1, :lo12:.LANCHOR44 + mov w2, 695 + add x1, x1, :lo12:.LANCHOR43 add x0, x0, :lo12:.LC0 bl printf -.L367: - ldrb w0, [x19, #:lo12:.LANCHOR18] +.L338: + ldrb w0, [x19, #:lo12:.LANCHOR23] cmp w0, w22 - bls .L376 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 + bls .L347 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 ldrb w22, [x0, w22, sxtw] - adrp x0, .LANCHOR13 - ldr x25, [x0, #:lo12:.LANCHOR13] - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR7 + ldr x25, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR19 and x19, x22, 255 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] add x23, x19, 8 add x23, x25, x23, lsl 8 - tbz x0, 4, .L369 + tbz x0, 4, .L340 adrp x0, .LC31 mov w3, w20 mov w2, w21 mov w1, w22 add x0, x0, :lo12:.LC31 bl printf -.L369: +.L340: bl nandc_wait_flash_ready mov w0, w22 bl nandc_cs mov w0, w22 - cbnz w24, .L370 + cbnz w24, .L341 bl zftl_flash_enter_slc_mode -.L371: - add x25, x25, x19, lsl 8 +.L342: + add x19, x25, x19, lsl 8 mov w0, 96 - str w0, [x25, 2056] + str w0, [x19, 2056] and w0, w21, 255 - str w0, [x25, 2052] + str w0, [x19, 2052] lsr w0, w21, 8 - str w0, [x25, 2052] + str w0, [x19, 2052] lsr w0, w21, 16 - str w0, [x25, 2052] - adrp x0, .LANCHOR31 - mov x6, x0 - ldrb w1, [x0, #:lo12:.LANCHOR31] - cbz w1, .L372 + str w0, [x19, 2052] + adrp x0, .LANCHOR30 + mov x24, x0 + ldrb w1, [x0, #:lo12:.LANCHOR30] + cbz w1, .L343 lsr w0, w21, 24 - str w0, [x25, 2052] -.L372: - adrp x0, .LANCHOR45 - ldrb w0, [x0, #:lo12:.LANCHOR45] - cbnz w0, .L377 + str w0, [x19, 2052] +.L343: + adrp x0, .LANCHOR44 + ldrb w0, [x0, #:lo12:.LANCHOR44] + cbnz w0, .L348 mov w0, 208 - str w0, [x25, 2056] - mov w19, 5 + str w0, [x19, 2056] + mov w22, 5 bl nandc_wait_flash_ready mov x0, x23 bl flash_read_status - and w5, w0, w19 -.L373: + and w22, w0, w22 +.L344: mov w0, 96 - str w0, [x25, 2056] + str w0, [x19, 2056] and w0, w20, 255 - str w0, [x25, 2052] + str w0, [x19, 2052] lsr w0, w20, 8 - str w0, [x25, 2052] + str w0, [x19, 2052] lsr w0, w20, 16 - str w0, [x25, 2052] - ldrb w0, [x6, #:lo12:.LANCHOR31] - cbz w0, .L374 + str w0, [x19, 2052] + ldrb w0, [x24, #:lo12:.LANCHOR30] + cbz w0, .L345 lsr w20, w20, 24 - str w20, [x25, 2052] -.L374: + str w20, [x19, 2052] +.L345: mov w0, 208 - str w0, [x25, 2056] + str w0, [x19, 2056] mov w19, 5 bl nandc_wait_flash_ready mov x0, x23 bl flash_read_status mov w2, w0 - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 and w19, w2, w19 - orr w19, w19, w5 - cbz w19, .L375 + orr w19, w19, w22 + cbz w19, .L346 adrp x0, .LC32 mov w1, w21 add x0, x0, :lo12:.LC32 bl printf -.L375: +.L346: mov w0, w19 -.L366: +.L337: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldr x25, [sp, 64] ldp x29, x30, [sp], 80 ret -.L370: +.L341: bl zftl_flash_exit_slc_mode - b .L371 -.L377: - mov w5, 0 - b .L373 -.L376: + b .L342 +.L348: + mov w22, 0 + b .L344 +.L347: mov w0, -1 - b .L366 + b .L337 .size flash_erase_duplane_block, .-flash_erase_duplane_block .section .text.flash_erase_block_en,"ax",@progbits .align 2 @@ -1952,59 +1908,59 @@ flash_erase_block_en: add x29, sp, 0 stp x21, x22, [sp, 32] and w22, w0, 255 - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 stp x19, x20, [sp, 16] mov w19, 24 stp x23, x24, [sp, 48] - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] and w24, w1, 255 stp x25, x26, [sp, 64] mov w23, w2 sub w0, w19, w0 mov w19, 1 lsl w19, w19, w0 - adrp x0, .LANCHOR18 + adrp x0, .LANCHOR23 sub w19, w19, #1 mov x20, x0 - ldrb w1, [x0, #:lo12:.LANCHOR18] + ldrb w1, [x0, #:lo12:.LANCHOR23] and w19, w19, w2 cmp w1, w22 - bhi .L392 - adrp x1, .LANCHOR46 + bhi .L363 + adrp x1, .LANCHOR45 adrp x0, .LC0 - mov w2, 750 - add x1, x1, :lo12:.LANCHOR46 + mov w2, 757 + add x1, x1, :lo12:.LANCHOR45 add x0, x0, :lo12:.LC0 bl printf -.L392: - ldrb w0, [x20, #:lo12:.LANCHOR18] +.L363: + ldrb w0, [x20, #:lo12:.LANCHOR23] cmp w0, w22 - bls .L399 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 + bls .L370 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 ldrb w21, [x0, w22, sxtw] - adrp x0, .LANCHOR13 - ldr x26, [x0, #:lo12:.LANCHOR13] - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR7 + ldr x26, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR19 and x20, x21, 255 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] add x25, x20, 8 add x25, x26, x25, lsl 8 - tbz x0, 4, .L394 + tbz x0, 4, .L365 adrp x0, .LC33 mov w3, w24 mov w2, w23 mov w1, w21 add x0, x0, :lo12:.LC33 bl printf -.L394: +.L365: bl nandc_wait_flash_ready mov w0, w21 bl nandc_cs mov w0, w21 - cbnz w24, .L395 + cbnz w24, .L366 bl zftl_flash_enter_slc_mode -.L396: +.L367: add x0, x26, x20, lsl 8 mov w1, 96 str w1, [x0, 2056] @@ -2014,22 +1970,22 @@ flash_erase_block_en: str w1, [x0, 2052] lsr w1, w19, 16 str w1, [x0, 2052] - adrp x1, .LANCHOR31 - ldrb w1, [x1, #:lo12:.LANCHOR31] - cbz w1, .L397 + adrp x1, .LANCHOR30 + ldrb w1, [x1, #:lo12:.LANCHOR30] + cbz w1, .L368 lsr w19, w19, 24 str w19, [x0, 2052] -.L397: +.L368: mov w1, 208 str w1, [x0, 2056] bl nandc_wait_flash_ready mov x0, x25 bl flash_read_status mov w3, w0 - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 mov w0, 5 ands w3, w3, w0 - beq .L398 + beq .L369 adrp x0, .LANCHOR2 mov w1, w22 ldrh w2, [x0, #:lo12:.LANCHOR2] @@ -2038,21 +1994,21 @@ flash_erase_block_en: udiv w2, w23, w2 bl printf mov w3, -1 -.L398: +.L369: mov w0, w3 -.L391: +.L362: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 80 ret -.L395: +.L366: bl zftl_flash_exit_slc_mode - b .L396 -.L399: + b .L367 +.L370: mov w0, -1 - b .L391 + b .L362 .size flash_erase_block_en, .-flash_erase_block_en .section .text.flash_erase_block,"ax",@progbits .align 2 @@ -2069,8 +2025,8 @@ flash_erase_block: .type flash_erase_all, %function flash_erase_all: stp x29, x30, [sp, -80]! - adrp x0, .LANCHOR33 - add x0, x0, :lo12:.LANCHOR33 + adrp x0, .LANCHOR32 + add x0, x0, :lo12:.LANCHOR32 add x29, sp, 0 stp x19, x20, [sp, 16] mov w19, 0 @@ -2079,17 +2035,17 @@ flash_erase_all: stp x21, x22, [sp, 32] add x23, x23, :lo12:.LANCHOR2 ldrh w20, [x0, 14] - adrp x22, .LANCHOR18 + adrp x22, .LANCHOR23 str x25, [sp, 64] - add x22, x22, :lo12:.LANCHOR18 - adrp x24, .LANCHOR30 + add x22, x22, :lo12:.LANCHOR23 + adrp x24, .LANCHOR29 ldrb w1, [x0, 13] mul w20, w20, w1 and w20, w20, 65535 -.L412: +.L383: ldrb w0, [x22] cmp w0, w19 - bhi .L415 + bhi .L386 ldp x19, x20, [sp, 16] mov w1, 0 ldp x21, x22, [sp, 32] @@ -2099,188 +2055,194 @@ flash_erase_all: ldr x25, [sp, 64] ldp x29, x30, [sp], 80 b printf -.L415: - add x0, x24, :lo12:.LANCHOR30 +.L386: + add x0, x24, :lo12:.LANCHOR29 mov w21, 0 ldrb w25, [x0, w19, sxtw] -.L413: +.L384: cmp w20, w21, uxth - bhi .L414 + bhi .L385 add w19, w19, 1 and w19, w19, 65535 - b .L412 -.L414: + b .L383 +.L385: ldrh w1, [x23] mov w0, w25 mul w1, w1, w21 add w21, w21, 1 bl flash_erase_block - b .L413 + b .L384 .size flash_erase_all, .-flash_erase_all .section .text.flash_start_plane_read,"ax",@progbits .align 2 .global flash_start_plane_read .type flash_start_plane_read, %function flash_start_plane_read: - stp x29, x30, [sp, -48]! - adrp x2, .LANCHOR32 + stp x29, x30, [sp, -96]! + adrp x2, .LANCHOR31 mov w3, 24 add x29, sp, 0 stp x19, x20, [sp, 16] - ldrb w20, [x2, #:lo12:.LANCHOR32] + ldrb w19, [x2, #:lo12:.LANCHOR31] mov w2, 1 stp x21, x22, [sp, 32] - ubfx x21, x0, 24, 2 - sub w3, w3, w20 - lsl w20, w2, w20 - sub w20, w20, #1 - lsl w19, w2, w3 + ubfx x22, x0, 24, 2 + sub w3, w3, w19 + stp x23, x24, [sp, 48] + lsl w19, w2, w19 sub w19, w19, #1 - and w22, w19, w0 + lsl w20, w2, w3 + sub w20, w20, #1 + and w23, w20, w0 lsr w3, w0, w3 - adrp x0, .LANCHOR18 - and w20, w20, w3 - and w20, w20, 255 - and w19, w19, w1 - ldrb w0, [x0, #:lo12:.LANCHOR18] - cmp w0, w20 - bhi .L418 - adrp x1, .LANCHOR47 + adrp x0, .LANCHOR23 + and w19, w19, w3 + stp x25, x26, [sp, 64] + and w19, w19, 255 + ldrb w0, [x0, #:lo12:.LANCHOR23] + and w20, w20, w1 + stp x27, x28, [sp, 80] + cmp w0, w19 + bhi .L389 + adrp x1, .LANCHOR46 adrp x0, .LC0 - mov w2, 1128 - add x1, x1, :lo12:.LANCHOR47 + mov w2, 1148 + add x1, x1, :lo12:.LANCHOR46 add x0, x0, :lo12:.LC0 bl printf -.L418: - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 - ldrb w8, [x0, w20, sxtw] - adrp x0, .LANCHOR13 - ldr x10, [x0, #:lo12:.LANCHOR13] - mov w0, w8 +.L389: + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 + adrp x25, .LANCHOR21 + ldrb w21, [x0, w19, sxtw] + adrp x0, .LANCHOR7 + ldr x24, [x0, #:lo12:.LANCHOR7] + mov w0, w21 bl nandc_cs - adrp x11, .LANCHOR16 - cbnz w21, .L419 - mov w0, w22 + cbnz w22, .L390 + mov w0, w23 bl slc_phy_page_address_calc - mov w22, w0 - mov w0, w19 + mov w23, w0 + mov w0, w20 bl slc_phy_page_address_calc - mov w19, w0 + mov w20, w0 adrp x0, .LANCHOR0 ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L420 - mov w0, w8 + cbz w0, .L391 + mov w0, w21 bl zftl_flash_enter_slc_mode -.L420: - adrp x0, .LANCHOR20 - add x1, x0, :lo12:.LANCHOR20 - and x4, x8, 255 - and w5, w22, 255 - lsr w3, w22, 8 - and w12, w19, 255 +.L391: + adrp x0, .LANCHOR25 + add x1, x0, :lo12:.LANCHOR25 + and x19, x21, 255 + and w4, w23, 255 + lsr w3, w23, 8 + and w28, w20, 255 ldrb w2, [x1, 16] - lsr w7, w19, 8 - lsr w6, w19, 16 + lsr w27, w20, 8 + lsr w26, w20, 16 cmp w2, 1 - lsr w2, w22, 16 - bne .L422 - add x4, x10, x4, lsl 8 + lsr w2, w23, 16 + bne .L393 + add x19, x24, x19, lsl 8 ldrb w1, [x1, 8] - str w1, [x4, 2056] - adrp x1, .LANCHOR31 - str wzr, [x4, 2052] - str wzr, [x4, 2052] - str w5, [x4, 2052] - mov x5, x1 - str w3, [x4, 2052] - str w2, [x4, 2052] - ldrb w2, [x1, #:lo12:.LANCHOR31] - cbz w2, .L423 - lsr w22, w22, 24 - str w22, [x4, 2052] -.L423: - add x0, x0, :lo12:.LANCHOR20 + str w1, [x19, 2056] + adrp x1, .LANCHOR30 + str wzr, [x19, 2052] + mov x21, x1 + str wzr, [x19, 2052] + str w4, [x19, 2052] + str w3, [x19, 2052] + str w2, [x19, 2052] + ldrb w2, [x1, #:lo12:.LANCHOR30] + cbz w2, .L394 + lsr w23, w23, 24 + str w23, [x19, 2052] +.L394: + add x0, x0, :lo12:.LANCHOR25 ldrb w0, [x0, 9] - str w0, [x4, 2056] + str w0, [x19, 2056] bl nandc_wait_flash_ready - ldr x0, [x11, #:lo12:.LANCHOR16] + ldr x0, [x25, #:lo12:.LANCHOR21] ldrb w0, [x0, 12] cmp w0, 3 - bne .L424 - cbz w21, .L424 - str w21, [x4, 2056] -.L424: - str wzr, [x4, 2056] - str wzr, [x4, 2052] - str wzr, [x4, 2052] - str w12, [x4, 2052] - ldrb w0, [x5, #:lo12:.LANCHOR31] - str w7, [x4, 2052] - str w6, [x4, 2052] - cbz w0, .L445 - lsr w19, w19, 24 - str w19, [x4, 2052] -.L445: - ldp x19, x20, [sp, 16] - mov w0, 48 + bne .L395 + cbz w22, .L395 + str w22, [x19, 2056] +.L395: + str wzr, [x19, 2056] + str wzr, [x19, 2052] + str wzr, [x19, 2052] + str w28, [x19, 2052] + ldrb w0, [x21, #:lo12:.LANCHOR30] + str w27, [x19, 2052] + str w26, [x19, 2052] + cbz w0, .L416 + lsr w20, w20, 24 + str w20, [x19, 2052] +.L416: ldp x21, x22, [sp, 32] - str w0, [x4, 2056] - ldp x29, x30, [sp], 48 - b nandc_de_cs.constprop.33 -.L419: - ldr x0, [x11, #:lo12:.LANCHOR16] + mov w0, 48 + ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] + ldp x27, x28, [sp, 80] + str w0, [x19, 2056] + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 96 + ret +.L390: + ldr x0, [x25, #:lo12:.LANCHOR21] ldrb w0, [x0, 12] cmp w0, 3 - bne .L421 + bne .L392 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L392 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L421 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbnz w0, .L421 - sxtw x0, w8 + cbnz w0, .L392 + sxtw x0, w21 add x0, x0, 8 - add x0, x10, x0, lsl 8 - str w21, [x0, 8] - b .L420 -.L421: - mov w0, w8 + add x0, x24, x0, lsl 8 + str w22, [x0, 8] + b .L391 +.L392: + mov w0, w21 bl zftl_flash_exit_slc_mode - b .L420 -.L422: - ldr x1, [x11, #:lo12:.LANCHOR16] - ldrb w11, [x1, 7] - cmp w11, 1 - bne .L427 - ldrb w11, [x1, 12] - cmp w11, 2 - bne .L427 - add x8, x8, 8 - mov w11, 38 - add x8, x10, x8, lsl 8 - str w11, [x8, 8] -.L427: - add x8, x0, :lo12:.LANCHOR20 - add x4, x10, x4, lsl 8 - ldrb w8, [x8, 8] - str w8, [x4, 2056] - str w5, [x4, 2052] - str w3, [x4, 2052] - str w2, [x4, 2052] + b .L391 +.L393: + ldr x1, [x25, #:lo12:.LANCHOR21] + ldrb w5, [x1, 7] + cmp w5, 1 + bne .L398 + ldrb w5, [x1, 12] + cmp w5, 2 + bne .L398 + add x21, x21, 8 + mov w5, 38 + add x21, x24, x21, lsl 8 + str w5, [x21, 8] +.L398: + add x5, x0, :lo12:.LANCHOR25 + add x19, x24, x19, lsl 8 + ldrb w5, [x5, 8] + str w5, [x19, 2056] + str w4, [x19, 2052] + str w3, [x19, 2052] + str w2, [x19, 2052] ldrb w1, [x1, 12] cmp w1, 3 - bne .L428 - cbz w21, .L428 - str w21, [x4, 2056] -.L428: - add x0, x0, :lo12:.LANCHOR20 + bne .L399 + cbz w22, .L399 + str w22, [x19, 2056] +.L399: + add x0, x0, :lo12:.LANCHOR25 ldrb w0, [x0, 9] - str w0, [x4, 2056] - str w12, [x4, 2052] - str w7, [x4, 2052] - str w6, [x4, 2052] - b .L445 + str w0, [x19, 2056] + str w28, [x19, 2052] + str w27, [x19, 2052] + str w26, [x19, 2052] + b .L416 .size flash_start_plane_read, .-flash_start_plane_read .section .text.flash_set_interface_mode,"ax",@progbits .align 2 @@ -2290,50 +2252,50 @@ flash_set_interface_mode: stp x29, x30, [sp, -80]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x22, .LANCHOR48 + adrp x22, .LANCHOR47 stp x19, x20, [sp, 16] - adrp x21, .LANCHOR14 + adrp x21, .LANCHOR19 stp x23, x24, [sp, 48] - adrp x20, .LANCHOR49 + adrp x20, .LANCHOR48 mov w23, w0 - add x22, x22, :lo12:.LANCHOR48 - add x20, x20, :lo12:.LANCHOR49 - add x21, x21, :lo12:.LANCHOR14 + add x22, x22, :lo12:.LANCHOR47 + add x20, x20, :lo12:.LANCHOR48 + add x21, x21, :lo12:.LANCHOR19 str x25, [sp, 64] mov x25, 0 -.L459: - adrp x0, .LANCHOR13 - ldr x19, [x0, #:lo12:.LANCHOR13] +.L430: + adrp x0, .LANCHOR7 + ldr x19, [x0, #:lo12:.LANCHOR7] lsl x0, x25, 3 ldrb w24, [x0, x22] cmp w24, 69 - beq .L447 + beq .L418 add w0, w24, 119 cmp w24, 44 and w1, w0, 255 cset w2, eq cmp w1, 18 - bhi .L460 + bhi .L431 mov x0, 32769 movk x0, 0x4, lsl 16 lsr x0, x0, x1 mvn x0, x0 -.L448: +.L419: and w0, w0, 1 eor w0, w0, 1 orr w0, w2, w0 - cbz w0, .L449 -.L447: + cbz w0, .L420 +.L418: ldrb w1, [x20] cmp w23, 1 - bne .L450 - tbz x1, 0, .L449 + bne .L421 + tbz x1, 0, .L420 ldr w0, [x21] - tbz x0, 12, .L451 + tbz x0, 12, .L422 adrp x0, .LC36 add x0, x0, :lo12:.LC36 bl printf -.L451: +.L422: add x0, x19, x25, lsl 8 mov w1, 239 cmp w24, 44 @@ -2341,20 +2303,20 @@ flash_set_interface_mode: mov w1, 137 ccmp w24, w1, 4, ne mov w1, 1 - bne .L452 -.L483: + bne .L423 +.L454: str w1, [x0, 2052] mov w1, 5 -.L482: +.L453: str w1, [x0, 2048] -.L457: +.L428: str wzr, [x0, 2048] str wzr, [x0, 2048] str wzr, [x0, 2048] -.L449: +.L420: add x25, x25, 1 cmp x25, 4 - bne .L459 + bne .L430 bl nandc_wait_flash_ready ldr x25, [sp, 64] mov w0, 0 @@ -2363,71 +2325,73 @@ flash_set_interface_mode: ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 80 ret -.L460: +.L431: mov x0, 1 - b .L448 -.L452: + b .L419 +.L423: cmp w24, 155 - beq .L483 + beq .L454 mov w2, 128 str w2, [x0, 2052] - b .L482 -.L450: - tbz x1, 2, .L449 + b .L453 +.L421: + tbz x1, 2, .L420 ldr w0, [x21] - tbz x0, 12, .L455 + tbz x0, 12, .L426 adrp x0, .LC37 add x0, x0, :lo12:.LC37 bl printf -.L455: +.L426: add x0, x19, x25, lsl 8 mov w1, 239 cmp w24, 44 str w1, [x0, 2056] mov w1, 137 ccmp w24, w1, 4, ne - bne .L456 + bne .L427 mov w1, 1 str w1, [x0, 2052] mov w1, 35 - b .L482 -.L456: + b .L453 +.L427: cmp w24, 155 - bne .L458 + bne .L429 mov w1, 1 str w1, [x0, 2052] mov w1, 37 - b .L482 -.L458: + b .L453 +.L429: mov w1, 128 str w1, [x0, 2052] str wzr, [x0, 2048] - b .L457 + b .L428 .size flash_set_interface_mode, .-flash_set_interface_mode .section .text.mt_auto_read_calibration_config,"ax",@progbits .align 2 .type mt_auto_read_calibration_config, %function mt_auto_read_calibration_config: - mov w5, w1 - and w4, w0, 255 - stp x29, x30, [sp, -16]! + stp x29, x30, [sp, -32]! add x29, sp, 0 + stp x19, x20, [sp, 16] + mov w20, w1 + and w19, w0, 255 bl nandc_wait_flash_ready - ubfiz x4, x4, 8, 8 - adrp x0, .LANCHOR13 - ldr x2, [x0, #:lo12:.LANCHOR13] + adrp x1, .LANCHOR7 + ubfiz x0, x19, 8, 8 + ldr x19, [x1, #:lo12:.LANCHOR7] + add x19, x19, x0 mov w0, 239 - add x2, x2, x4 - str w0, [x2, 2056] + str w0, [x19, 2056] mov w0, 150 - str w0, [x2, 2052] - mov w0, 200 - bl timer_delay_ns - str w5, [x2, 2048] - str wzr, [x2, 2048] - str wzr, [x2, 2048] - str wzr, [x2, 2048] - ldp x29, x30, [sp], 16 + str w0, [x19, 2052] + mov x0, 1 + bl udelay + str w20, [x19, 2048] + str wzr, [x19, 2048] + str wzr, [x19, 2048] + str wzr, [x19, 2048] + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 32 ret .size mt_auto_read_calibration_config, .-mt_auto_read_calibration_config .section .text.flash_reset,"ax",@progbits @@ -2435,10 +2399,10 @@ mt_auto_read_calibration_config: .global flash_reset .type flash_reset, %function flash_reset: - adrp x1, .LANCHOR13 + adrp x1, .LANCHOR7 ubfiz x0, x0, 8, 8 add x0, x0, 2048 - ldr x1, [x1, #:lo12:.LANCHOR13] + ldr x1, [x1, #:lo12:.LANCHOR7] add x1, x1, x0 mov w0, 255 str w0, [x1, 8] @@ -2449,57 +2413,63 @@ flash_reset: .global flash_read_id .type flash_read_id, %function flash_read_id: - and w10, w0, 255 - stp x29, x30, [sp, -16]! - adrp x0, .LANCHOR13 - mov x8, x1 + stp x29, x30, [sp, -48]! add x29, sp, 0 - ldr x4, [x0, #:lo12:.LANCHOR13] - mov w0, w10 + str x21, [sp, 32] + and w21, w0, 255 + adrp x0, .LANCHOR7 + stp x19, x20, [sp, 16] + mov x19, x1 + ldr x20, [x0, #:lo12:.LANCHOR7] + mov w0, w21 bl flash_reset - mov w0, w10 + mov w0, w21 bl nandc_cs - ubfiz x2, x10, 8, 8 - add x2, x4, x2 + ubfiz x0, x21, 8, 8 + add x20, x20, x0 mov w0, 144 - str w0, [x2, 2056] - mov w0, 200 - str wzr, [x2, 2052] - bl timer_delay_ns - ldr w0, [x2, 2048] - strb w0, [x8] - ldr w0, [x2, 2048] - strb w0, [x8, 1] - ldr w0, [x2, 2048] - strb w0, [x8, 2] - ldr w0, [x2, 2048] - strb w0, [x8, 3] - ldr w0, [x2, 2048] - strb w0, [x8, 4] - ldr w0, [x2, 2048] - strb w0, [x8, 5] - ldr w0, [x2, 2048] - strb w0, [x8, 6] - ldr w0, [x2, 2048] - strb w0, [x8, 7] - bl nandc_de_cs.constprop.33 - ldrb w2, [x8] + str w0, [x20, 2056] + mov x0, 1 + str wzr, [x20, 2052] + bl udelay + ldr w0, [x20, 2048] + strb w0, [x19] + ldr w0, [x20, 2048] + strb w0, [x19, 1] + ldr w0, [x20, 2048] + strb w0, [x19, 2] + ldr w0, [x20, 2048] + strb w0, [x19, 3] + ldr w0, [x20, 2048] + strb w0, [x19, 4] + ldr w0, [x20, 2048] + strb w0, [x19, 5] + ldr w0, [x20, 2048] + strb w0, [x19, 6] + ldr w0, [x20, 2048] + strb w0, [x19, 7] + bl nandc_de_cs.constprop.32 + ldrb w2, [x19] sub w0, w2, #1 and w0, w0, 255 cmp w0, 253 - bhi .L487 - ldrb w7, [x8, 5] - add w1, w10, 1 - ldrb w6, [x8, 4] + bhi .L458 + ldrb w7, [x19, 5] + add w1, w21, 1 + ldrb w6, [x19, 4] adrp x0, .LC38 - ldrb w5, [x8, 3] + ldrb w5, [x19, 3] add x0, x0, :lo12:.LC38 - ldrb w4, [x8, 2] - ldrb w3, [x8, 1] - ldp x29, x30, [sp], 16 + ldrb w4, [x19, 2] + ldrb w3, [x19, 1] + ldr x21, [sp, 32] + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 48 b printf -.L487: - ldp x29, x30, [sp], 16 +.L458: + ldp x19, x20, [sp, 16] + ldr x21, [sp, 32] + ldp x29, x30, [sp], 48 ret .size flash_read_id, .-flash_read_id .section .text.flash_read_spare,"ax",@progbits @@ -2507,32 +2477,34 @@ flash_read_id: .global flash_read_spare .type flash_read_spare, %function flash_read_spare: - stp x29, x30, [sp, -16]! - mov x5, x2 - adrp x2, .LANCHOR33+9 + stp x29, x30, [sp, -32]! ubfiz x0, x0, 8, 8 add x29, sp, 0 - ldrb w3, [x2, #:lo12:.LANCHOR33+9] - adrp x2, .LANCHOR13 - ldr x4, [x2, #:lo12:.LANCHOR13] + stp x19, x20, [sp, 16] + mov x20, x2 + adrp x2, .LANCHOR32+9 + ldrb w3, [x2, #:lo12:.LANCHOR32+9] + adrp x2, .LANCHOR7 + ldr x19, [x2, #:lo12:.LANCHOR7] lsl w3, w3, 9 - add x4, x4, x0 + add x19, x19, x0 and w0, w1, 255 - str wzr, [x4, 2056] - str w3, [x4, 2052] + str wzr, [x19, 2056] + str w3, [x19, 2052] lsr w3, w3, 8 - str w3, [x4, 2052] - str w0, [x4, 2052] + str w3, [x19, 2052] + str w0, [x19, 2052] lsr w0, w1, 8 - str w0, [x4, 2052] + str w0, [x19, 2052] lsr w1, w1, 16 - str w1, [x4, 2052] + str w1, [x19, 2052] mov w0, 48 - str w0, [x4, 2056] + str w0, [x19, 2056] bl nandc_wait_flash_ready - ldr w0, [x4, 2048] - ldp x29, x30, [sp], 16 - strb w0, [x5] + ldr w0, [x19, 2048] + strb w0, [x20] + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 32 ret .size flash_read_spare, .-flash_read_spare .section .text.flash_read_otp_data,"ax",@progbits @@ -2542,23 +2514,23 @@ flash_read_spare: flash_read_otp_data: stp x29, x30, [sp, -48]! and w4, w0, 255 - adrp x0, .LANCHOR13 + adrp x0, .LANCHOR7 add x29, sp, 0 stp x19, x20, [sp, 16] mov w20, w1 - ldr x19, [x0, #:lo12:.LANCHOR13] + ldr x19, [x0, #:lo12:.LANCHOR7] mov w0, w4 - str x21, [sp, 32] - mov x21, x2 + stp x21, x22, [sp, 32] + mov x22, x2 bl nandc_cs ubfiz x4, x4, 8, 8 add x19, x19, x4 mov w0, 239 - mov w4, 144 + mov w21, 144 str w0, [x19, 2056] - mov w0, 50 - str w4, [x19, 2052] - bl timer_delay_ns + mov x0, 1 + str w21, [x19, 2052] + bl udelay mov w0, 1 str w0, [x19, 2048] str wzr, [x19, 2048] @@ -2567,7 +2539,7 @@ flash_read_otp_data: bl nandc_wait_flash_ready mov w0, 238 str w0, [x19, 2056] - str w4, [x19, 2052] + str w21, [x19, 2052] mov w1, w20 adrp x0, .LC39 add x0, x0, :lo12:.LC39 @@ -2589,26 +2561,26 @@ flash_read_otp_data: str w0, [x19, 2056] bl nandc_wait_flash_ready mov x0, 0 -.L493: +.L464: ldr w1, [x19, 2048] - strb w1, [x21, x0] + strb w1, [x22, x0] add x0, x0, 1 cmp x0, 16384 - bne .L493 + bne .L464 mov w0, 239 str w0, [x19, 2056] mov w0, 144 str w0, [x19, 2052] - mov w0, 50 - bl timer_delay_ns - ldr x21, [sp, 32] + mov x0, 1 + bl udelay + ldp x21, x22, [sp, 32] str wzr, [x19, 2048] str wzr, [x19, 2048] str wzr, [x19, 2048] str wzr, [x19, 2048] ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 48 - b nandc_de_cs.constprop.33 + b nandc_de_cs.constprop.32 .size flash_read_otp_data, .-flash_read_otp_data .section .text.sandisk_prog_test_bad_block,"ax",@progbits .align 2 @@ -2616,75 +2588,79 @@ flash_read_otp_data: .type sandisk_prog_test_bad_block, %function sandisk_prog_test_bad_block: stp x29, x30, [sp, -48]! - mov w4, w1 - adrp x1, .LANCHOR13 and x2, x0, 255 - add x29, sp, 0 - stp x19, x20, [sp, 16] - adrp x20, .LANCHOR33 - ldr x19, [x1, #:lo12:.LANCHOR13] - add x1, x20, :lo12:.LANCHOR33 - str x21, [sp, 32] mov x0, x2 add x2, x2, 8 + add x29, sp, 0 + stp x21, x22, [sp, 32] + mov w22, w1 + adrp x1, .LANCHOR7 + stp x19, x20, [sp, 16] + adrp x20, .LANCHOR32 + ldr x19, [x1, #:lo12:.LANCHOR7] + add x1, x20, :lo12:.LANCHOR32 ldrb w1, [x1, 29] add x2, x19, x2, lsl 8 - cbz w1, .L497 -.L511: + cbz w1, .L468 +.L483: ubfiz x0, x0, 8, 8 str w1, [x2, 8] add x19, x19, x0 mov w0, 128 str w0, [x19, 2056] - and w0, w4, 255 + and w0, w22, 255 str wzr, [x19, 2052] str wzr, [x19, 2052] str w0, [x19, 2052] - lsr w0, w4, 8 + lsr w0, w22, 8 str w0, [x19, 2052] - lsr w0, w4, 16 + lsr w0, w22, 16 str w0, [x19, 2052] mov w0, 16 str w0, [x19, 2056] bl nandc_wait_flash_ready mov w0, 112 str w0, [x19, 2056] - mov w0, 80 - bl timer_delay_ns + mov x0, 1 + bl udelay ldr w2, [x19, 2048] + cmp w2, 255 + bne .L470 + ldr w2, [x19, 2048] +.L470: mov w0, 5 ands w21, w2, w0 - beq .L499 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L499 + beq .L471 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L471 adrp x0, .LC40 - mov w1, w4 + mov w1, w22 add x0, x0, :lo12:.LC40 bl printf -.L499: - add x20, x20, :lo12:.LANCHOR33 +.L471: + add x20, x20, :lo12:.LANCHOR32 ldrb w0, [x20, 30] - cbz w0, .L496 + cbz w0, .L467 str w0, [x19, 2056] -.L496: +.L467: mov w0, w21 - ldr x21, [sp, 32] ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 48 ret -.L497: +.L468: mov w1, 162 - b .L511 + b .L483 .size sandisk_prog_test_bad_block, .-sandisk_prog_test_bad_block .section .text.nandc_rdy_status,"ax",@progbits .align 2 .global nandc_rdy_status .type nandc_rdy_status, %function nandc_rdy_status: - adrp x0, .LANCHOR13 + adrp x0, .LANCHOR7 sub sp, sp, #16 - ldr x0, [x0, #:lo12:.LANCHOR13] + ldr x0, [x0, #:lo12:.LANCHOR7] ldr w0, [x0] str w0, [sp, 8] ldr w0, [sp, 8] @@ -2702,24 +2678,24 @@ nandc_bch_sel: ldr w1, [sp, 8] orr w1, w1, 1 str w1, [sp, 8] - adrp x1, .LANCHOR50 - strb w0, [x1, #:lo12:.LANCHOR50] - adrp x1, .LANCHOR28 - ldrb w1, [x1, #:lo12:.LANCHOR28] + adrp x1, .LANCHOR49 + strb w0, [x1, #:lo12:.LANCHOR49] + adrp x1, .LANCHOR27 + ldrb w1, [x1, #:lo12:.LANCHOR27] cmp w1, 9 - adrp x1, .LANCHOR13 - bne .L515 - ldr x1, [x1, #:lo12:.LANCHOR13] + adrp x1, .LANCHOR7 + bne .L487 + ldr x1, [x1, #:lo12:.LANCHOR7] cmp w0, 70 ldr w2, [sp, 8] str w2, [x1, 16] - beq .L521 + beq .L493 cmp w0, 60 - beq .L522 + beq .L494 cmp w0, 40 cset w0, eq add w0, w0, 1 -.L516: +.L488: str wzr, [sp] ldr w2, [sp] bfi w2, w0, 25, 3 @@ -2729,17 +2705,17 @@ nandc_bch_sel: str w0, [sp] ldr w0, [sp] str w0, [x1, 32] -.L514: +.L486: add sp, sp, 16 ret -.L521: +.L493: mov w0, 0 - b .L516 -.L522: + b .L488 +.L494: mov w0, 3 - b .L516 -.L515: - ldr x2, [x1, #:lo12:.LANCHOR13] + b .L488 +.L487: + ldr x2, [x1, #:lo12:.LANCHOR7] mov w3, 16 ldr w1, [sp, 8] cmp w0, w3 @@ -2751,20 +2727,20 @@ nandc_bch_sel: ldr w1, [sp] and w1, w1, -262145 str w1, [sp] - bne .L518 -.L525: + bne .L490 +.L497: ldr w0, [sp] and w0, w0, -17 - b .L526 -.L518: + b .L498 +.L490: cmp w0, 24 - bne .L520 + bne .L492 ldr w0, [sp] orr w0, w0, 16 -.L526: +.L498: str w0, [sp] - b .L519 -.L520: + b .L491 +.L492: ldr w1, [sp] cmp w0, 40 orr w1, w1, 262144 @@ -2772,27 +2748,27 @@ nandc_bch_sel: ldr w1, [sp] orr w1, w1, 16 str w1, [sp] - beq .L525 -.L519: + beq .L497 +.L491: ldr w0, [sp] orr w0, w0, 1 str w0, [sp] ldr w0, [sp] str w0, [x2, 12] - b .L514 + b .L486 .size nandc_bch_sel, .-nandc_bch_sel .section .text.zftl_nandc_get_irq_status,"ax",@progbits .align 2 .global zftl_nandc_get_irq_status .type zftl_nandc_get_irq_status, %function zftl_nandc_get_irq_status: - adrp x1, .LANCHOR28 - ldrb w1, [x1, #:lo12:.LANCHOR28] + adrp x1, .LANCHOR27 + ldrb w1, [x1, #:lo12:.LANCHOR27] cmp w1, 9 - bne .L528 + bne .L500 ldr w0, [x0, 296] ret -.L528: +.L500: ldr w0, [x0, 372] ret .size zftl_nandc_get_irq_status, .-zftl_nandc_get_irq_status @@ -2824,18 +2800,18 @@ rk_nandc_flash_xfer_completed: nandc_xfer_start: stp x29, x30, [sp, -80]! and w1, w1, 255 - adrp x4, .LANCHOR53 + adrp x4, .LANCHOR52 add x29, sp, 0 stp x19, x20, [sp, 16] and w20, w0, 255 - adrp x0, .LANCHOR28 + adrp x0, .LANCHOR27 str x21, [sp, 32] and w6, w20, 1 - adrp x21, .LANCHOR13 - ldrb w0, [x0, #:lo12:.LANCHOR28] + adrp x21, .LANCHOR7 + ldrb w0, [x0, #:lo12:.LANCHOR27] cmp w0, 9 add w0, w1, 1 - bne .L534 + bne .L506 str wzr, [x29, 56] mov w5, 1 ubfx x0, x0, 1, 6 @@ -2863,18 +2839,18 @@ nandc_xfer_start: ldr w0, [x29, 56] orr w0, w0, 128 str w0, [x29, 56] + adrp x0, .LANCHOR50 + ldrb w0, [x0, #:lo12:.LANCHOR50] + cbz w0, .L507 adrp x0, .LANCHOR51 ldrb w0, [x0, #:lo12:.LANCHOR51] - cbz w0, .L535 - adrp x0, .LANCHOR52 - ldrb w0, [x0, #:lo12:.LANCHOR52] - cbz w0, .L535 + cbz w0, .L507 ldr w0, [x29, 56] orr w0, w0, 512 str w0, [x29, 56] -.L535: +.L507: ldr w0, [x29, 56] - add x19, x4, :lo12:.LANCHOR53 + add x19, x4, :lo12:.LANCHOR52 add x1, x2, 63 and x1, x1, -64 ubfx x0, x0, 22, 6 @@ -2892,7 +2868,7 @@ nandc_xfer_start: bl flush_dcache_range mov w0, 1 str w0, [x19, 32] - ldr x0, [x21, #:lo12:.LANCHOR13] + ldr x0, [x21, #:lo12:.LANCHOR7] mov w2, 16 ldr w1, [x19, 24] cmp w20, 0 @@ -2921,8 +2897,8 @@ nandc_xfer_start: ldr w1, [x29, 64] orr w1, w1, 1 str w1, [x29, 64] - adrp x1, .LANCHOR54 - ldrh w2, [x1, #:lo12:.LANCHOR54] + adrp x1, .LANCHOR53 + ldrh w2, [x1, #:lo12:.LANCHOR53] ldr w1, [x29, 64] bfi w1, w2, 16, 11 str w1, [x29, 64] @@ -2935,13 +2911,13 @@ nandc_xfer_start: str w1, [x29, 56] ldr w1, [x29, 56] str w1, [x0, 16] -.L533: +.L505: ldp x19, x20, [sp, 16] ldr x21, [sp, 32] ldp x29, x30, [sp], 80 ret -.L534: - ldr x5, [x21, #:lo12:.LANCHOR13] +.L506: + ldr x5, [x21, #:lo12:.LANCHOR7] mov w7, 16 ubfx x0, x0, 1, 6 ldr w5, [x5, 12] @@ -2978,24 +2954,24 @@ nandc_xfer_start: ldr w5, [x29, 56] bfi w5, w0, 22, 6 str w5, [x29, 56] - cbz w20, .L537 - adrp x0, .LANCHOR50 + cbz w20, .L509 + adrp x0, .LANCHOR49 ubfx x1, x1, 1, 7 - ldr x8, [x4, #:lo12:.LANCHOR53] + ldr x8, [x4, #:lo12:.LANCHOR52] add x1, x3, x1, lsl 2 - ldrb w0, [x0, #:lo12:.LANCHOR50] + ldrb w0, [x0, #:lo12:.LANCHOR49] mov w5, 64 cmp w0, 25 mov w0, 128 csel w5, w5, w0, cc mov w0, 0 -.L539: +.L511: add w7, w5, w0 cmp x3, x1 - bne .L540 -.L541: - add x19, x4, :lo12:.LANCHOR53 - ldr x0, [x4, #:lo12:.LANCHOR53] + bne .L512 +.L513: + add x19, x4, :lo12:.LANCHOR52 + ldr x0, [x4, #:lo12:.LANCHOR52] add x1, x2, 63 and x1, x1, -64 stp x2, x0, [x19, 8] @@ -3017,7 +2993,7 @@ nandc_xfer_start: bl flush_dcache_range mov w0, 1 str w0, [x19, 32] - ldr x0, [x21, #:lo12:.LANCHOR13] + ldr x0, [x21, #:lo12:.LANCHOR7] mov w2, 16 ldr w1, [x19, 24] cmp w20, 0 @@ -3056,8 +3032,8 @@ nandc_xfer_start: str w1, [x29, 56] ldr w1, [x29, 56] str w1, [x0, 8] - b .L533 -.L540: + b .L505 +.L512: ldrh w10, [x3] and x0, x0, 4294967292 ldrh w6, [x3, 2] @@ -3065,11 +3041,11 @@ nandc_xfer_start: orr x6, x10, x6, lsl 16 str w6, [x8, x0] mov w0, w7 - b .L539 -.L537: - ldr x0, [x4, #:lo12:.LANCHOR53] + b .L511 +.L509: + ldr x0, [x4, #:lo12:.LANCHOR52] str w6, [x0] - b .L541 + b .L513 .size nandc_xfer_start, .-nandc_xfer_start .section .text.nandc_set_seed,"ax",@progbits .align 2 @@ -3077,23 +3053,23 @@ nandc_xfer_start: .type nandc_set_seed, %function nandc_set_seed: and x0, x0, 127 - adrp x1, .LANCHOR55 - add x1, x1, :lo12:.LANCHOR55 + adrp x1, .LANCHOR54 + add x1, x1, :lo12:.LANCHOR54 ldrh w0, [x1, x0, lsl 1] - adrp x1, .LANCHOR52 - ldrb w2, [x1, #:lo12:.LANCHOR52] + adrp x1, .LANCHOR51 + ldrb w2, [x1, #:lo12:.LANCHOR51] orr w1, w0, -1073741824 cmp w2, 0 csel w0, w1, w0, ne - adrp x1, .LANCHOR28 - ldrb w1, [x1, #:lo12:.LANCHOR28] + adrp x1, .LANCHOR27 + ldrb w1, [x1, #:lo12:.LANCHOR27] cmp w1, 9 - adrp x1, .LANCHOR13 - ldr x1, [x1, #:lo12:.LANCHOR13] - bne .L552 + adrp x1, .LANCHOR7 + ldr x1, [x1, #:lo12:.LANCHOR7] + bne .L524 str w0, [x1, 520] ret -.L552: +.L524: str w0, [x1, 336] ret .size nandc_set_seed, .-nandc_set_seed @@ -3108,40 +3084,40 @@ zftl_flash_de_init: bl nandc_wait_flash_ready adrp x0, .LANCHOR0 ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L557 - adrp x0, .LANCHOR19 - ldrb w0, [x0, #:lo12:.LANCHOR19] - cbnz w0, .L557 - adrp x0, .LANCHOR28 - ldrb w0, [x0, #:lo12:.LANCHOR28] + cbz w0, .L529 + adrp x0, .LANCHOR24 + ldrb w0, [x0, #:lo12:.LANCHOR24] + cbnz w0, .L529 + adrp x0, .LANCHOR27 + ldrb w0, [x0, #:lo12:.LANCHOR27] cmp w0, 9 - beq .L557 + beq .L529 mov w0, 0 bl zftl_flash_exit_slc_mode -.L557: - adrp x19, .LANCHOR21 +.L529: + adrp x19, .LANCHOR26 mov w0, 0 bl hynix_reconfig_rr_para - ldrb w0, [x19, #:lo12:.LANCHOR21] - cbz w0, .L558 - adrp x0, .LANCHOR49 - ldrb w0, [x0, #:lo12:.LANCHOR49] - tbz x0, 0, .L558 + ldrb w0, [x19, #:lo12:.LANCHOR26] + cbz w0, .L530 + adrp x0, .LANCHOR48 + ldrb w0, [x0, #:lo12:.LANCHOR48] + tbz x0, 0, .L530 mov w0, 1 bl flash_set_interface_mode mov w0, 1 bl nandc_set_if_mode - strb wzr, [x19, #:lo12:.LANCHOR21] -.L558: - adrp x3, .LANCHOR52 - ldrb w0, [x3, #:lo12:.LANCHOR52] - cbz w0, .L559 + strb wzr, [x19, #:lo12:.LANCHOR26] +.L530: + adrp x3, .LANCHOR51 + ldrb w0, [x3, #:lo12:.LANCHOR51] + cbz w0, .L531 mov w0, 0 - strb wzr, [x3, #:lo12:.LANCHOR52] + strb wzr, [x3, #:lo12:.LANCHOR51] bl nandc_set_seed mov w0, 1 - strb w0, [x3, #:lo12:.LANCHOR52] -.L559: + strb w0, [x3, #:lo12:.LANCHOR51] +.L531: mov w0, 0 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 @@ -3152,8 +3128,8 @@ zftl_flash_de_init: .global nandc_randomizer_enable .type nandc_randomizer_enable, %function nandc_randomizer_enable: - adrp x1, .LANCHOR52 - strb w0, [x1, #:lo12:.LANCHOR52] + adrp x1, .LANCHOR51 + strb w0, [x1, #:lo12:.LANCHOR51] ret .size nandc_randomizer_enable, .-nandc_randomizer_enable .section .text.nandc_get_chip_if,"ax",@progbits @@ -3161,10 +3137,10 @@ nandc_randomizer_enable: .global nandc_get_chip_if .type nandc_get_chip_if, %function nandc_get_chip_if: - adrp x1, .LANCHOR13 + adrp x1, .LANCHOR7 ubfiz x0, x0, 8, 8 add x0, x0, 2048 - ldr x1, [x1, #:lo12:.LANCHOR13] + ldr x1, [x1, #:lo12:.LANCHOR7] add x0, x1, x0 ret .size nandc_get_chip_if, .-nandc_get_chip_if @@ -3173,10 +3149,10 @@ nandc_get_chip_if: .global buf_reinit .type buf_reinit, %function buf_reinit: - adrp x0, .LANCHOR56 - add x1, x0, :lo12:.LANCHOR56 + adrp x0, .LANCHOR55 + add x1, x0, :lo12:.LANCHOR55 mov w2, 0 -.L579: +.L551: and w3, w2, 255 strb wzr, [x1, 2] add w4, w3, 1 @@ -3186,14 +3162,14 @@ buf_reinit: str xzr, [x1, 16] cmp w2, 32 add x1, x1, 64 - bne .L579 - add x0, x0, :lo12:.LANCHOR56 + bne .L551 + add x0, x0, :lo12:.LANCHOR55 mov w1, -1 strb w1, [x0, 1984] + adrp x0, .LANCHOR56 + strb wzr, [x0, #:lo12:.LANCHOR56] adrp x0, .LANCHOR57 - strb wzr, [x0, #:lo12:.LANCHOR57] - adrp x0, .LANCHOR58 - strb w2, [x0, #:lo12:.LANCHOR58] + strb w2, [x0, #:lo12:.LANCHOR57] ret .size buf_reinit, .-buf_reinit .section .text.buf_add_tail,"ax",@progbits @@ -3211,49 +3187,49 @@ buf_add_tail: mov x20, x1 ldrb w1, [x19] cmp w1, 255 - bne .L587 + bne .L559 ldrb w0, [x20, 1] cmp w0, 255 - bne .L583 - adrp x1, .LANCHOR59 + bne .L555 + adrp x1, .LANCHOR58 adrp x0, .LC0 mov w2, 74 - add x1, x1, :lo12:.LANCHOR59 + add x1, x1, :lo12:.LANCHOR58 add x0, x0, :lo12:.LC0 bl printf -.L583: +.L555: ldrb w0, [x20, 1] strb w0, [x19] -.L581: +.L553: ldp x19, x20, [sp, 16] ldr x21, [sp, 32] ldp x29, x30, [sp], 48 ret -.L587: - adrp x0, .LANCHOR56 - add x2, x0, :lo12:.LANCHOR56 +.L559: + adrp x0, .LANCHOR55 + add x2, x0, :lo12:.LANCHOR55 mov x19, x0 -.L588: +.L560: sbfiz x0, x1, 6, 32 mov w21, w1 ldrb w1, [x2, x0] cmp w1, 255 - bne .L588 + bne .L560 ldrb w0, [x20, 1] cmp w0, 255 - bne .L585 - adrp x1, .LANCHOR59 + bne .L557 + adrp x1, .LANCHOR58 adrp x0, .LC0 mov w2, 81 - add x1, x1, :lo12:.LANCHOR59 + add x1, x1, :lo12:.LANCHOR58 add x0, x0, :lo12:.LC0 bl printf -.L585: - add x0, x19, :lo12:.LANCHOR56 +.L557: + add x0, x19, :lo12:.LANCHOR55 sbfiz x21, x21, 6, 32 ldrb w1, [x20, 1] strb w1, [x0, x21] - b .L581 + b .L553 .size buf_add_tail, .-buf_add_tail .section .text.queue_read_cmd,"ax",@progbits .align 2 @@ -3272,9 +3248,9 @@ queue_read_cmd: mov w0, -1 strb w0, [x19] mov x1, x19 - adrp x0, .LANCHOR60 + adrp x0, .LANCHOR59 ldr x19, [sp, 16] - add x0, x0, :lo12:.LANCHOR60 + add x0, x0, :lo12:.LANCHOR59 ldp x29, x30, [sp], 32 b buf_add_tail .size queue_read_cmd, .-queue_read_cmd @@ -3284,33 +3260,33 @@ queue_read_cmd: .type zbuf_free, %function zbuf_free: ldrb w1, [x0, 2] - adrp x2, .LANCHOR57 + adrp x2, .LANCHOR56 and w1, w1, 8 strb w1, [x0, 2] - cbz w1, .L593 + cbz w1, .L565 ldr w1, [x0, 36] cmn w1, #1 - beq .L593 + beq .L565 stp x29, x30, [sp, -16]! mov x1, x0 - add x0, x2, :lo12:.LANCHOR57 + add x0, x2, :lo12:.LANCHOR56 add x29, sp, 0 bl buf_add_tail - adrp x1, .LANCHOR58 + adrp x1, .LANCHOR57 ldp x29, x30, [sp], 16 - ldrb w0, [x1, #:lo12:.LANCHOR58] + ldrb w0, [x1, #:lo12:.LANCHOR57] add w0, w0, 1 - strb w0, [x1, #:lo12:.LANCHOR58] + strb w0, [x1, #:lo12:.LANCHOR57] ret -.L593: - ldrb w1, [x2, #:lo12:.LANCHOR57] +.L565: + ldrb w1, [x2, #:lo12:.LANCHOR56] strb w1, [x0] - adrp x1, .LANCHOR58 + adrp x1, .LANCHOR57 ldrb w0, [x0, 1] - strb w0, [x2, #:lo12:.LANCHOR57] - ldrb w0, [x1, #:lo12:.LANCHOR58] + strb w0, [x2, #:lo12:.LANCHOR56] + ldrb w0, [x1, #:lo12:.LANCHOR57] add w0, w0, 1 - strb w0, [x1, #:lo12:.LANCHOR58] + strb w0, [x1, #:lo12:.LANCHOR57] ret .size zbuf_free, .-zbuf_free .section .text.buf_alloc,"ax",@progbits @@ -3321,29 +3297,29 @@ buf_alloc: stp x29, x30, [sp, -32]! add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x19, .LANCHOR58 + adrp x19, .LANCHOR57 and w20, w0, 255 - ldrb w0, [x19, #:lo12:.LANCHOR58] - cbz w0, .L606 -.L609: - adrp x2, .LANCHOR57 - adrp x1, .LANCHOR56 - add x0, x1, :lo12:.LANCHOR56 - ldrb w3, [x2, #:lo12:.LANCHOR57] + ldrb w0, [x19, #:lo12:.LANCHOR57] + cbz w0, .L578 +.L581: + adrp x2, .LANCHOR56 + adrp x1, .LANCHOR55 + add x0, x1, :lo12:.LANCHOR55 + ldrb w3, [x2, #:lo12:.LANCHOR56] ubfiz x4, x3, 6, 8 add x0, x0, x4 mov x4, x2 - cbz w20, .L607 -.L608: - add x1, x1, :lo12:.LANCHOR56 + cbz w20, .L579 +.L580: + add x1, x1, :lo12:.LANCHOR55 sbfiz x3, x3, 6, 32 add x2, x1, x3 ldrb w5, [x1, x3] - strb w5, [x4, #:lo12:.LANCHOR57] - ldrb w4, [x19, #:lo12:.LANCHOR58] + strb w5, [x4, #:lo12:.LANCHOR56] + ldrb w4, [x19, #:lo12:.LANCHOR57] strh wzr, [x2, 50] sub w4, w4, #1 - strb w4, [x19, #:lo12:.LANCHOR58] + strb w4, [x19, #:lo12:.LANCHOR57] mov w4, 1 strb wzr, [x2, 56] strb w4, [x2, 2] @@ -3353,27 +3329,27 @@ buf_alloc: mov w1, -1 str xzr, [x2, 16] str w1, [x2, 36] - b .L605 -.L606: + b .L577 +.L578: mov w2, 121 - adrp x1, .LANCHOR61 + adrp x1, .LANCHOR60 adrp x0, .LC0 - add x1, x1, :lo12:.LANCHOR61 + add x1, x1, :lo12:.LANCHOR60 add x0, x0, :lo12:.LC0 bl printf - ldrb w0, [x19, #:lo12:.LANCHOR58] - cbnz w0, .L609 -.L611: + ldrb w0, [x19, #:lo12:.LANCHOR57] + cbnz w0, .L581 +.L583: mov x0, 0 -.L605: +.L577: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret -.L607: - ldrb w2, [x19, #:lo12:.LANCHOR58] +.L579: + ldrb w2, [x19, #:lo12:.LANCHOR57] cmp w2, 1 - bne .L608 - b .L611 + bne .L580 + b .L583 .size buf_alloc, .-buf_alloc .section .text.buf_remove_buf,"ax",@progbits .align 2 @@ -3383,30 +3359,30 @@ buf_remove_buf: ldrb w4, [x1, 1] ldrb w2, [x0] cmp w4, w2 - bne .L619 + bne .L591 ldrb w1, [x1] strb w1, [x0] -.L623: +.L595: mov w0, 1 ret -.L620: +.L592: mov w3, w2 sbfiz x2, x2, 6, 32 ldrb w2, [x0, x2] cmp w4, w2 - bne .L621 + bne .L593 sbfiz x3, x3, 6, 32 ldrb w2, [x1] strb w2, [x0, x3] mov w0, -1 strb w0, [x1] - b .L623 -.L619: - adrp x0, .LANCHOR56 - add x0, x0, :lo12:.LANCHOR56 -.L621: + b .L595 +.L591: + adrp x0, .LANCHOR55 + add x0, x0, :lo12:.LANCHOR55 +.L593: cmp w2, 255 - bne .L620 + bne .L592 mov w0, 0 ret .size buf_remove_buf, .-buf_remove_buf @@ -3418,32 +3394,32 @@ buf_remove_free: stp x29, x30, [sp, -32]! add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x19, .LANCHOR58 + adrp x19, .LANCHOR57 mov x20, x0 - ldrb w0, [x19, #:lo12:.LANCHOR58] - cbnz w0, .L625 - adrp x1, .LANCHOR62 + ldrb w0, [x19, #:lo12:.LANCHOR57] + cbnz w0, .L597 + adrp x1, .LANCHOR61 adrp x0, .LC0 mov w2, 172 - add x1, x1, :lo12:.LANCHOR62 + add x1, x1, :lo12:.LANCHOR61 add x0, x0, :lo12:.LC0 bl printf -.L625: - ldrb w0, [x19, #:lo12:.LANCHOR58] - cbz w0, .L624 +.L597: + ldrb w0, [x19, #:lo12:.LANCHOR57] + cbz w0, .L596 mov x1, x20 - adrp x0, .LANCHOR57 - add x0, x0, :lo12:.LANCHOR57 + adrp x0, .LANCHOR56 + add x0, x0, :lo12:.LANCHOR56 bl buf_remove_buf cmp w0, 1 - bne .L624 - ldrb w0, [x19, #:lo12:.LANCHOR58] + bne .L596 + ldrb w0, [x19, #:lo12:.LANCHOR57] sub w0, w0, #1 - strb w0, [x19, #:lo12:.LANCHOR58] + strb w0, [x19, #:lo12:.LANCHOR57] ldrb w0, [x20, 2] orr w0, w0, 1 strb w0, [x20, 2] -.L624: +.L596: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret @@ -3454,46 +3430,46 @@ buf_remove_free: .type dump_buf_info, %function dump_buf_info: sub sp, sp, #64 - adrp x0, .LANCHOR60 + adrp x0, .LANCHOR59 stp x29, x30, [sp, 16] add x29, sp, 16 - ldrb w1, [x0, #:lo12:.LANCHOR60] + ldrb w1, [x0, #:lo12:.LANCHOR59] stp x19, x20, [sp, 32] adrp x0, .LC41 str x21, [sp, 48] add x0, x0, :lo12:.LC41 - adrp x19, .LANCHOR56 - add x19, x19, :lo12:.LANCHOR56 + adrp x19, .LANCHOR55 + add x19, x19, :lo12:.LANCHOR55 bl printf adrp x20, .LC47 - adrp x0, .LANCHOR63 + adrp x0, .LANCHOR62 add x20, x20, :lo12:.LC47 add x21, x19, 2048 - ldrb w1, [x0, #:lo12:.LANCHOR63] + ldrb w1, [x0, #:lo12:.LANCHOR62] adrp x0, .LC42 add x0, x0, :lo12:.LC42 bl printf - adrp x0, .LANCHOR64 - ldrb w1, [x0, #:lo12:.LANCHOR64] + adrp x0, .LANCHOR63 + ldrb w1, [x0, #:lo12:.LANCHOR63] adrp x0, .LC43 add x0, x0, :lo12:.LC43 bl printf - adrp x0, .LANCHOR65 - ldrb w1, [x0, #:lo12:.LANCHOR65] + adrp x0, .LANCHOR64 + ldrb w1, [x0, #:lo12:.LANCHOR64] adrp x0, .LC44 add x0, x0, :lo12:.LC44 bl printf - adrp x0, .LANCHOR57 - ldrb w1, [x0, #:lo12:.LANCHOR57] + adrp x0, .LANCHOR56 + ldrb w1, [x0, #:lo12:.LANCHOR56] adrp x0, .LC45 add x0, x0, :lo12:.LC45 bl printf - adrp x0, .LANCHOR58 - ldrb w1, [x0, #:lo12:.LANCHOR58] + adrp x0, .LANCHOR57 + ldrb w1, [x0, #:lo12:.LANCHOR57] adrp x0, .LC46 add x0, x0, :lo12:.LC46 bl printf -.L631: +.L603: ldp w7, w0, [x19, 36] str w0, [sp] ldrb w5, [x19, 58] @@ -3506,7 +3482,7 @@ dump_buf_info: ldr w6, [x19, -12] bl printf cmp x19, x21 - bne .L631 + bne .L603 ldp x19, x20, [sp, 32] ldp x29, x30, [sp, 16] ldr x21, [sp, 48] @@ -3518,8 +3494,8 @@ dump_buf_info: .global flash_check_bad_block .type flash_check_bad_block, %function flash_check_bad_block: - adrp x3, .LANCHOR33 - add x3, x3, :lo12:.LANCHOR33 + adrp x3, .LANCHOR32 + add x3, x3, :lo12:.LANCHOR32 and w5, w0, 255 lsr w4, w1, 5 and w1, w1, 31 @@ -3532,8 +3508,8 @@ flash_check_bad_block: asr w2, w2, 5 lsl w2, w2, 2 umaddl x0, w2, w5, x0 - adrp x2, .LANCHOR27 - ldr x2, [x2, #:lo12:.LANCHOR27] + adrp x2, .LANCHOR6 + ldr x2, [x2, #:lo12:.LANCHOR6] add x0, x0, x4, uxtw 2 ldr w0, [x2, x0] lsr w0, w0, w1 @@ -3550,8 +3526,8 @@ flash_mask_bad_block: add x29, sp, 0 str x21, [sp, 32] and w21, w0, 255 - adrp x0, .LANCHOR33 - add x0, x0, :lo12:.LANCHOR33 + adrp x0, .LANCHOR32 + add x0, x0, :lo12:.LANCHOR32 stp x19, x20, [sp, 16] mov w20, w1 ldrh w19, [x0, 14] @@ -3571,8 +3547,8 @@ flash_mask_bad_block: umaddl x1, w1, w21, x19 ldr x21, [sp, 32] add x1, x1, x0, uxtw 2 - adrp x0, .LANCHOR27 - ldr x2, [x0, #:lo12:.LANCHOR27] + adrp x0, .LANCHOR6 + ldr x2, [x0, #:lo12:.LANCHOR6] mov w0, 1 lsl w0, w0, w20 ldr w20, [x2, x1] @@ -3593,15 +3569,15 @@ ftl_gc_write_buf: orr w1, w1, 2 strb w1, [x0, 2] mov x1, x0 - adrp x0, .LANCHOR66 - add x0, x0, :lo12:.LANCHOR66 + adrp x0, .LANCHOR65 + add x0, x0, :lo12:.LANCHOR65 bl buf_add_tail - adrp x1, .LANCHOR67 + adrp x1, .LANCHOR66 ldp x29, x30, [sp], 16 - ldrb w0, [x1, #:lo12:.LANCHOR67] + ldrb w0, [x1, #:lo12:.LANCHOR66] add w0, w0, 1 and w0, w0, 255 - strb w0, [x1, #:lo12:.LANCHOR67] + strb w0, [x1, #:lo12:.LANCHOR66] ret .size ftl_gc_write_buf, .-ftl_gc_write_buf .section .text.zftl_cache_flush,"ax",@progbits @@ -3616,11 +3592,11 @@ zftl_cache_flush: .global zftl_get_density .type zftl_get_density, %function zftl_get_density: - cbnz w0, .L641 - adrp x0, .LANCHOR68 - ldr w0, [x0, #:lo12:.LANCHOR68] + cbnz w0, .L613 + adrp x0, .LANCHOR67 + ldr w0, [x0, #:lo12:.LANCHOR67] ret -.L641: +.L613: cmp w0, 4 cset w0, cc lsl w0, w0, 13 @@ -3652,8 +3628,8 @@ ftl_scan_all_data: .global FtlGetCurEraseBlock .type FtlGetCurEraseBlock, %function FtlGetCurEraseBlock: - adrp x0, .LANCHOR69 - ldrh w0, [x0, #:lo12:.LANCHOR69] + adrp x0, .LANCHOR68 + ldrh w0, [x0, #:lo12:.LANCHOR68] ret .size FtlGetCurEraseBlock, .-FtlGetCurEraseBlock .section .text.FtlGetAllBlockNum,"ax",@progbits @@ -3661,8 +3637,8 @@ FtlGetCurEraseBlock: .global FtlGetAllBlockNum .type FtlGetAllBlockNum, %function FtlGetAllBlockNum: - adrp x0, .LANCHOR6 - ldrh w0, [x0, #:lo12:.LANCHOR6] + adrp x0, .LANCHOR8 + ldrh w0, [x0, #:lo12:.LANCHOR8] ret .size FtlGetAllBlockNum, .-FtlGetAllBlockNum .section .text.FtlLowFormat,"ax",@progbits @@ -3681,116 +3657,116 @@ gc_add_sblk: stp x29, x30, [sp, -64]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR14 + adrp x21, .LANCHOR19 stp x19, x20, [sp, 16] and w19, w0, 65535 - ldr w0, [x21, #:lo12:.LANCHOR14] + ldr w0, [x21, #:lo12:.LANCHOR19] and w22, w1, 65535 stp x23, x24, [sp, 48] and w23, w2, 65535 - tbz x0, 8, .L651 - adrp x1, .LANCHOR9 + tbz x0, 8, .L623 + adrp x1, .LANCHOR11 uxtw x0, w19 mov w3, w23 - ldr x2, [x1, #:lo12:.LANCHOR9] - adrp x1, .LANCHOR7 - ldr x1, [x1, #:lo12:.LANCHOR7] + ldr x2, [x1, #:lo12:.LANCHOR11] + adrp x1, .LANCHOR9 + ldr x1, [x1, #:lo12:.LANCHOR9] ldrh w5, [x2, x0, lsl 1] mov w2, w22 add x1, x1, x0, lsl 2 adrp x0, .LC49 add x0, x0, :lo12:.LC49 ldrb w4, [x1, 2] - adrp x1, .LANCHOR70 - ldrh w7, [x1, #:lo12:.LANCHOR70] - adrp x1, .LANCHOR71+56 + adrp x1, .LANCHOR69 + ldrh w7, [x1, #:lo12:.LANCHOR69] + adrp x1, .LANCHOR70+56 ubfx x4, x4, 5, 3 - ldrh w6, [x1, #:lo12:.LANCHOR71+56] + ldrh w6, [x1, #:lo12:.LANCHOR70+56] mov w1, w19 bl printf -.L651: - adrp x0, .LANCHOR6 +.L623: + adrp x0, .LANCHOR8 mov x20, x0 - ldrh w1, [x0, #:lo12:.LANCHOR6] + ldrh w1, [x0, #:lo12:.LANCHOR8] cmp w1, w19 - bhi .L652 - adrp x1, .LANCHOR72 + bhi .L624 + adrp x1, .LANCHOR71 adrp x0, .LC0 mov w2, 543 - add x1, x1, :lo12:.LANCHOR72 + add x1, x1, :lo12:.LANCHOR71 add x0, x0, :lo12:.LC0 bl printf -.L652: - ldrh w0, [x20, #:lo12:.LANCHOR6] +.L624: + ldrh w0, [x20, #:lo12:.LANCHOR8] cmp w0, w19 - bhi .L653 - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 10, .L675 + bhi .L625 + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 10, .L647 adrp x0, .LC50 mov w3, w23 mov w2, w22 mov w1, w19 add x0, x0, :lo12:.LC50 bl printf -.L675: +.L647: mov w0, 0 - b .L650 -.L653: - adrp x1, .LANCHOR9 + b .L622 +.L625: + adrp x1, .LANCHOR11 uxtw x0, w19 - ldr x1, [x1, #:lo12:.LANCHOR9] + ldr x1, [x1, #:lo12:.LANCHOR11] ldrh w3, [x1, x0, lsl 1] - adrp x1, .LANCHOR7 - ldr x1, [x1, #:lo12:.LANCHOR7] + adrp x1, .LANCHOR9 + ldr x1, [x1, #:lo12:.LANCHOR9] add x0, x1, x0, lsl 2 ldrb w2, [x0, 2] tst w2, 224 - bne .L655 - cbz w3, .L675 + bne .L627 + cbz w3, .L647 mov w2, 553 - adrp x1, .LANCHOR72 + adrp x1, .LANCHOR71 adrp x0, .LC0 - add x1, x1, :lo12:.LANCHOR72 + add x1, x1, :lo12:.LANCHOR71 add x0, x0, :lo12:.LC0 bl printf - b .L675 -.L655: - adrp x0, .LANCHOR71 - add x1, x0, :lo12:.LANCHOR71 - ldrh w0, [x0, #:lo12:.LANCHOR71] + b .L647 +.L627: + adrp x0, .LANCHOR70 + add x1, x0, :lo12:.LANCHOR70 + ldrh w0, [x0, #:lo12:.LANCHOR70] cmp w0, w19 - beq .L675 - adrp x24, .LANCHOR10 - ldr x0, [x24, #:lo12:.LANCHOR10] + beq .L647 + adrp x24, .LANCHOR12 + ldr x0, [x24, #:lo12:.LANCHOR12] ldrh w4, [x0, 48] cmp w4, w19 - beq .L675 + beq .L647 ldrh w4, [x0, 16] cmp w4, w19 - beq .L675 + beq .L647 ldrh w4, [x0, 80] cmp w4, w19 - beq .L675 + beq .L647 ldrh w5, [x1, 56] add x1, x1, 58 mov w4, 0 -.L656: +.L628: cmp w4, w5 - bcc .L657 - cbnz w22, .L661 - adrp x1, .LANCHOR73 - ldrh w6, [x1, #:lo12:.LANCHOR73] + bcc .L629 + cbnz w22, .L633 + adrp x1, .LANCHOR72 + ldrh w6, [x1, #:lo12:.LANCHOR72] cmp w19, w6 - beq .L675 - adrp x4, .LANCHOR74 - add x4, x4, :lo12:.LANCHOR74 + beq .L647 + adrp x4, .LANCHOR73 + add x4, x4, :lo12:.LANCHOR73 mov x1, 0 -.L660: +.L632: ldrh w7, [x1, x4] cmp w19, w7 - bne .L659 - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 8, .L675 + bne .L631 + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 8, .L647 mov w5, w6 mov w4, w19 ubfx x2, x2, 5, 3 @@ -3798,69 +3774,69 @@ gc_add_sblk: adrp x0, .LC51 add x0, x0, :lo12:.LC51 bl printf - b .L675 -.L657: + b .L647 +.L629: ldrh w6, [x1], 2 cmp w6, w19 - beq .L675 + beq .L647 add w4, w4, 1 - b .L656 -.L659: + b .L628 +.L631: add x1, x1, 2 cmp x1, 16 - bne .L660 + bne .L632 ubfiz x20, x23, 7, 16 add x20, x20, 136 add x20, x0, x20 -.L662: - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 8, .L663 - adrp x0, .LANCHOR70 +.L634: + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 8, .L635 + adrp x0, .LANCHOR69 mov w4, w3 mov w1, w19 ubfx x3, x2, 5, 3 - ldrh w6, [x0, #:lo12:.LANCHOR70] + ldrh w6, [x0, #:lo12:.LANCHOR69] mov w2, w22 adrp x0, .LC52 add x0, x0, :lo12:.LC52 bl printf -.L663: +.L635: mov x0, x20 add x1, x20, 128 mov w2, 65535 -.L666: +.L638: ldrh w3, [x0] cmp w3, w2 - bne .L664 + bne .L636 strh w19, [x0] - cbz w22, .L665 - ldr x1, [x24, #:lo12:.LANCHOR10] + cbz w22, .L637 + ldr x1, [x24, #:lo12:.LANCHOR12] ldrh w0, [x1, 124] add w0, w0, 1 strh w0, [x1, 124] -.L685: +.L657: mov w0, 1 -.L650: +.L622: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 64 ret -.L661: +.L633: add x20, x0, 392 - b .L662 -.L665: - ldr x0, [x24, #:lo12:.LANCHOR10] + b .L634 +.L637: + ldr x0, [x24, #:lo12:.LANCHOR12] add x23, x0, x23, uxth 1 ldrh w0, [x23, 120] add w0, w0, 1 strh w0, [x23, 120] - b .L685 -.L664: + b .L657 +.L636: add x0, x0, 2 cmp x1, x0 - bne .L666 - b .L685 + bne .L638 + b .L657 .size gc_add_sblk, .-gc_add_sblk .section .text.gc_mark_bad_ppa,"ax",@progbits .align 2 @@ -3868,32 +3844,32 @@ gc_add_sblk: .type gc_mark_bad_ppa, %function gc_mark_bad_ppa: stp x29, x30, [sp, -64]! - adrp x1, .LANCHOR75 - adrp x3, .LANCHOR32 + adrp x1, .LANCHOR74 + adrp x3, .LANCHOR31 add x29, sp, 0 - ldrh w1, [x1, #:lo12:.LANCHOR75] - ldrb w3, [x3, #:lo12:.LANCHOR32] + ldrh w1, [x1, #:lo12:.LANCHOR74] + ldrb w3, [x3, #:lo12:.LANCHOR31] stp x19, x20, [sp, 16] mov w19, 24 sub w19, w19, w3 lsr w2, w0, w1 sub w19, w19, w1 - adrp x1, .LANCHOR76 + adrp x1, .LANCHOR75 str x23, [sp, 48] mov w23, 1 - ldrb w1, [x1, #:lo12:.LANCHOR76] + ldrb w1, [x1, #:lo12:.LANCHOR75] lsl w19, w23, w19 sub w19, w19, #1 stp x21, x22, [sp, 32] and w19, w19, w2 - adrp x20, .LANCHOR71 - add x21, x20, :lo12:.LANCHOR71 + adrp x20, .LANCHOR70 + add x21, x20, :lo12:.LANCHOR70 mov w3, w0 and w22, w2, 65535 adrp x0, .LC53 udiv w19, w19, w1 mov w2, w22 - ldr w1, [x21, 2120] + ldr w1, [x21, 2200] add x0, x0, :lo12:.LC53 and w19, w19, 65535 bl printf @@ -3901,42 +3877,42 @@ gc_mark_bad_ppa: mov w2, 0 mov w0, w19 bl gc_add_sblk - ldr w0, [x21, 2120] + ldr w0, [x21, 2200] mov w1, 0 -.L687: +.L659: cmp w1, w0 - bcc .L689 + bcc .L661 cmp w0, 5 - bhi .L688 - add x20, x20, :lo12:.LANCHOR71 + bhi .L660 + add x20, x20, :lo12:.LANCHOR70 add w1, w0, 1 - str w1, [x20, 2120] + str w1, [x20, 2200] add x20, x20, x0, uxtw 1 - strh w22, [x20, 2124] -.L688: + strh w22, [x20, 2204] +.L660: mov w0, 0 ldr x23, [sp, 48] ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 64 ret -.L689: +.L661: add x2, x21, x1, sxtw 1 - ldrh w2, [x2, 2124] + ldrh w2, [x2, 2204] cmp w2, w22 - beq .L688 + beq .L660 add w1, w1, 1 and w1, w1, 65535 - b .L687 + b .L659 .size gc_mark_bad_ppa, .-gc_mark_bad_ppa .section .text.gc_get_src_ppa_from_index,"ax",@progbits .align 2 .global gc_get_src_ppa_from_index .type gc_get_src_ppa_from_index, %function gc_get_src_ppa_from_index: - adrp x1, .LANCHOR77 + adrp x1, .LANCHOR76 ubfiz x0, x0, 2, 16 - ldr x1, [x1, #:lo12:.LANCHOR77] + ldr x1, [x1, #:lo12:.LANCHOR76] ldr w0, [x1, x0] ret .size gc_get_src_ppa_from_index, .-gc_get_src_ppa_from_index @@ -3948,18 +3924,18 @@ gc_write_completed: stp x29, x30, [sp, -96]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x22, .LANCHOR64 + adrp x22, .LANCHOR63 stp x23, x24, [sp, 48] - add x22, x22, :lo12:.LANCHOR64 + add x22, x22, :lo12:.LANCHOR63 stp x25, x26, [sp, 64] - adrp x23, .LANCHOR56 - add x25, x23, :lo12:.LANCHOR56 + adrp x23, .LANCHOR55 + add x25, x23, :lo12:.LANCHOR55 stp x19, x20, [sp, 16] str x27, [sp, 80] -.L693: +.L665: ldrb w0, [x22] cmp w0, 255 - bne .L706 + bne .L678 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -3967,130 +3943,130 @@ gc_write_completed: ldr x27, [sp, 80] ldp x29, x30, [sp], 96 ret -.L706: +.L678: sxtw x20, w0 - add x1, x23, :lo12:.LANCHOR56 + add x1, x23, :lo12:.LANCHOR55 lsl x3, x20, 6 add x2, x1, x3 ldrb w0, [x1, x3] ldr w1, [x2, 52] strb w0, [x22] ldrh w24, [x2, 48] - cbz w1, .L694 + cbz w1, .L666 ldr w2, [x2, 40] - adrp x0, .LANCHOR71 - add x0, x0, :lo12:.LANCHOR71 + adrp x0, .LANCHOR70 + add x0, x0, :lo12:.LANCHOR70 mov w3, 1 - str w2, [x0, 2116] - strh w3, [x0, 2112] + str w2, [x0, 2196] + strh w3, [x0, 2194] adrp x0, .LC54 add x0, x0, :lo12:.LC54 bl printf - adrp x1, .LANCHOR78 + adrp x1, .LANCHOR77 adrp x0, .LC0 mov w2, 956 - add x1, x1, :lo12:.LANCHOR78 + add x1, x1, :lo12:.LANCHOR77 add x0, x0, :lo12:.LC0 bl printf -.L694: - adrp x0, .LANCHOR79 +.L666: + adrp x0, .LANCHOR78 mov x26, x0 - ldrb w1, [x0, #:lo12:.LANCHOR79] + ldrb w1, [x0, #:lo12:.LANCHOR78] cmp w1, 3 - bne .L695 - adrp x0, .LANCHOR36 - ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L695 - adrp x0, .LANCHOR10 - adrp x1, .LANCHOR80 - ldr x0, [x0, #:lo12:.LANCHOR10] - ldrb w1, [x1, #:lo12:.LANCHOR80] + bne .L667 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L667 + adrp x0, .LANCHOR12 + adrp x1, .LANCHOR79 + ldr x0, [x0, #:lo12:.LANCHOR12] + ldrb w1, [x1, #:lo12:.LANCHOR79] ldrb w0, [x0, 89] mov w19, w0 cmp w1, w0 - bhi .L707 + bhi .L679 cmp w0, 2 mov w0, 2 csel w19, w19, w0, ls -.L696: +.L668: add w19, w19, w19, lsl 1 -.L697: - adrp x1, .LANCHOR83 +.L669: + adrp x1, .LANCHOR82 and x21, x24, 65535 add x0, x25, x20, lsl 6 mov x27, x1 - ldr x2, [x1, #:lo12:.LANCHOR83] + ldr x2, [x1, #:lo12:.LANCHOR82] ldrb w0, [x0, 1] ldrb w2, [x2, x21] cmp w2, w0 - beq .L698 - adrp x1, .LANCHOR78 + beq .L670 + adrp x1, .LANCHOR77 adrp x0, .LC0 mov w2, 976 - add x1, x1, :lo12:.LANCHOR78 + add x1, x1, :lo12:.LANCHOR77 add x0, x0, :lo12:.LC0 bl printf -.L698: +.L670: add x0, x25, x20, lsl 6 ldrb w0, [x0, 61] cmp w0, 3 - beq .L699 - ldrb w0, [x26, #:lo12:.LANCHOR79] + beq .L671 + ldrb w0, [x26, #:lo12:.LANCHOR78] cmp w0, 3 - bne .L699 - adrp x0, .LANCHOR84 - ldrb w0, [x0, #:lo12:.LANCHOR84] - cbnz w0, .L699 + bne .L671 + adrp x0, .LANCHOR83 + ldrb w0, [x0, #:lo12:.LANCHOR83] + cbnz w0, .L671 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L671 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L699 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbnz w0, .L699 + cbnz w0, .L671 + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbz w0, .L672 adrp x0, .LANCHOR81 ldrb w0, [x0, #:lo12:.LANCHOR81] - cbz w0, .L700 - adrp x0, .LANCHOR82 - ldrb w0, [x0, #:lo12:.LANCHOR82] - cbnz w0, .L699 -.L700: - ldr x1, [x27, #:lo12:.LANCHOR83] + cbnz w0, .L671 +.L672: + ldr x1, [x27, #:lo12:.LANCHOR82] mov x0, 0 add x21, x1, x21 -.L701: +.L673: cmp w19, w0, uxth - bls .L693 + bls .L665 ldrb w1, [x21, x0] add x0, x0, 1 add x1, x25, x1, lsl 6 strb wzr, [x1, 61] - b .L701 -.L707: + b .L673 +.L679: mov w19, 1 - b .L696 -.L695: + b .L668 +.L667: + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbz w0, .L680 adrp x0, .LANCHOR81 ldrb w0, [x0, #:lo12:.LANCHOR81] - cbz w0, .L708 - adrp x0, .LANCHOR82 - ldrb w0, [x0, #:lo12:.LANCHOR82] cmp w0, 0 cset w19, ne add w19, w19, 1 - b .L697 -.L708: + b .L669 +.L680: mov w19, 1 - b .L697 -.L699: - adrp x20, .LANCHOR71 - add x20, x20, :lo12:.LANCHOR71 + b .L669 +.L671: + adrp x20, .LANCHOR70 + add x20, x20, :lo12:.LANCHOR70 add x19, x21, x19, uxth strh w24, [x20, 2108] mov w24, -1 -.L702: +.L674: cmp x21, x19 - beq .L693 - ldr x1, [x27, #:lo12:.LANCHOR83] + beq .L665 + ldr x1, [x27, #:lo12:.LANCHOR82] ldrb w0, [x1, x21] strb w24, [x1, x21] add x21, x21, 1 @@ -4103,56 +4079,56 @@ gc_write_completed: ldrb w0, [x20, 7] sub w0, w0, #1 strb w0, [x20, 7] - b .L702 + b .L674 .size gc_write_completed, .-gc_write_completed .section .text.gc_get_src_blk,"ax",@progbits .align 2 .global gc_get_src_blk .type gc_get_src_blk, %function gc_get_src_blk: - adrp x0, .LANCHOR10 - ldr x2, [x0, #:lo12:.LANCHOR10] - adrp x0, .LANCHOR85 - ldrb w3, [x0, #:lo12:.LANCHOR85] + adrp x0, .LANCHOR12 + ldr x2, [x0, #:lo12:.LANCHOR12] + adrp x0, .LANCHOR84 + ldrb w3, [x0, #:lo12:.LANCHOR84] ldrh w0, [x2, 124] - cbz w0, .L721 + cbz w0, .L693 add x1, x2, 392 mov w4, 1 -.L722: +.L694: add x5, x1, 128 mov w6, 65535 -.L726: +.L698: ldrh w0, [x1] cmp w0, w6 - beq .L724 + beq .L696 mov w5, -1 strh w5, [x1] - cbz w4, .L725 + cbz w4, .L697 ldrh w1, [x2, 124] sub w1, w1, #1 strh w1, [x2, 124] ret -.L721: +.L693: add x0, x2, x3, sxtw 1 ldrh w0, [x0, 120] - cbz w0, .L727 + cbz w0, .L699 ubfiz x1, x3, 7, 8 mov w4, 0 add x1, x1, 136 add x1, x2, x1 - b .L722 -.L725: + b .L694 +.L697: add x2, x2, x3, uxtb 1 ldrh w1, [x2, 120] sub w1, w1, #1 strh w1, [x2, 120] ret -.L724: +.L696: add x1, x1, 2 cmp x1, x5 - bne .L726 + bne .L698 ret -.L727: +.L699: mov w0, 65535 ret .size gc_get_src_blk, .-gc_get_src_blk @@ -4164,92 +4140,839 @@ gc_free_temp_buf: stp x29, x30, [sp, -48]! add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x20, .LANCHOR71 - add x0, x20, :lo12:.LANCHOR71 + adrp x20, .LANCHOR70 + add x0, x20, :lo12:.LANCHOR70 stp x21, x22, [sp, 32] ldrb w1, [x0, 7] - cbz w1, .L736 - adrp x1, .LANCHOR58 - ldrb w1, [x1, #:lo12:.LANCHOR58] + cbz w1, .L708 + adrp x1, .LANCHOR57 + ldrb w1, [x1, #:lo12:.LANCHOR57] cmp w1, 1 - bhi .L736 + bhi .L708 ldrh w19, [x0, 2108] - adrp x2, .LANCHOR80 - adrp x0, .LANCHOR86 - adrp x21, .LANCHOR83 - ldrb w2, [x2, #:lo12:.LANCHOR80] + adrp x2, .LANCHOR79 + adrp x0, .LANCHOR85 + adrp x21, .LANCHOR82 + ldrb w2, [x2, #:lo12:.LANCHOR79] add w1, w19, 24 - ldrh w0, [x0, #:lo12:.LANCHOR86] - ldr x4, [x21, #:lo12:.LANCHOR83] + ldrh w0, [x0, #:lo12:.LANCHOR85] + ldr x4, [x21, #:lo12:.LANCHOR82] mul w0, w0, w2 cmp w0, w1 csel w1, w0, w1, ls - adrp x0, .LANCHOR56 - add x0, x0, :lo12:.LANCHOR56 -.L731: + adrp x0, .LANCHOR55 + add x0, x0, :lo12:.LANCHOR55 +.L703: cmp w19, w1 - bcc .L734 -.L736: + bcc .L706 +.L708: mov w0, 0 - b .L729 -.L734: + b .L701 +.L706: uxtw x22, w19 ldrb w2, [x4, x22] cmp w2, 255 - beq .L732 + beq .L704 sbfiz x3, x2, 6, 32 add x3, x0, x3 ldrb w3, [x3, 61] - cbnz w3, .L732 + cbnz w3, .L704 ubfiz x2, x2, 6, 8 add x0, x0, x2 bl zbuf_free - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L733 - ldr x0, [x21, #:lo12:.LANCHOR83] + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L705 + ldr x0, [x21, #:lo12:.LANCHOR82] mov w1, w19 ldrb w2, [x0, x22] adrp x0, .LC55 add x0, x0, :lo12:.LC55 bl printf -.L733: - ldr x0, [x21, #:lo12:.LANCHOR83] - add x20, x20, :lo12:.LANCHOR71 +.L705: + ldr x0, [x21, #:lo12:.LANCHOR82] + add x20, x20, :lo12:.LANCHOR70 mov w1, -1 strb w1, [x0, x22] ldrb w0, [x20, 7] sub w0, w0, #1 strb w0, [x20, 7] mov w0, 1 -.L729: +.L701: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 48 ret -.L732: +.L704: add w19, w19, 1 - b .L731 + b .L703 .size gc_free_temp_buf, .-gc_free_temp_buf + .section .text.get_ink_scaned_blk,"ax",@progbits + .align 2 + .global get_ink_scaned_blk + .type get_ink_scaned_blk, %function +get_ink_scaned_blk: + adrp x1, .LANCHOR70 + add x1, x1, :lo12:.LANCHOR70 + ldrh w2, [x1, 2112] + cbz w2, .L718 + sub w2, w2, #1 + strh w2, [x1, 2112] + add x0, x1, x2, sxtw 1 + ldrh w0, [x0, 2114] + ret +.L718: + mov w0, 65535 + ret + .size get_ink_scaned_blk, .-get_ink_scaned_blk .section .text.print_gc_debug_info,"ax",@progbits .align 2 .global print_gc_debug_info .type print_gc_debug_info, %function print_gc_debug_info: - adrp x2, .LANCHOR87 - adrp x1, .LANCHOR71 - add x0, x1, :lo12:.LANCHOR71 - ldrh w6, [x2, #:lo12:.LANCHOR87] - adrp x2, .LANCHOR58 - ldrh w1, [x1, #:lo12:.LANCHOR71] + adrp x2, .LANCHOR86 + adrp x1, .LANCHOR70 + add x0, x1, :lo12:.LANCHOR70 + ldrh w6, [x2, #:lo12:.LANCHOR86] + adrp x2, .LANCHOR57 + ldrh w1, [x1, #:lo12:.LANCHOR70] ldrb w5, [x0, 7] - ldrb w4, [x2, #:lo12:.LANCHOR58] + ldrb w4, [x2, #:lo12:.LANCHOR57] ldrh w3, [x0, 2106] ldrh w2, [x0, 2] adrp x0, .LC56 add x0, x0, :lo12:.LC56 b printf .size print_gc_debug_info, .-print_gc_debug_info + .section .text._list_pop_index_node,"ax",@progbits + .align 2 + .global _list_pop_index_node + .type _list_pop_index_node, %function +_list_pop_index_node: + stp x29, x30, [sp, -32]! + add x29, sp, 0 + stp x19, x20, [sp, 16] + ldr x20, [x0] + cbz x20, .L726 + adrp x3, .LANCHOR4 + and w1, w1, 65535 + mov w4, 65535 + mov w5, 6 + ldr x19, [x3, #:lo12:.LANCHOR4] +.L722: + cbnz w1, .L723 +.L725: + sub x19, x20, x19 + mov x1, -6148914691236517206 + asr x19, x19, 1 + movk x1, 0xaaab, lsl 0 + mul x19, x19, x1 + and w19, w19, 65535 + mov w1, w19 + bl _list_remove_node + mov w0, -1 + strh w0, [x20] + strh w0, [x20, 2] + mov w0, w19 +.L720: + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 32 + ret +.L723: + ldrh w3, [x20] + cmp w3, w4 + beq .L725 + sub w1, w1, #1 + umaddl x20, w3, w5, x19 + and w1, w1, 65535 + b .L722 +.L726: + mov w0, 65535 + b .L720 + .size _list_pop_index_node, .-_list_pop_index_node + .section .text._list_get_gc_head_node,"ax",@progbits + .align 2 + .global _list_get_gc_head_node + .type _list_get_gc_head_node, %function +_list_get_gc_head_node: + ldr x0, [x0] + and w1, w1, 65535 + cbz x0, .L733 + adrp x2, .LANCHOR4 + mov w3, 65535 + mov w4, 6 + ldr x2, [x2, #:lo12:.LANCHOR4] +.L730: + cbz w1, .L731 + ldrh w0, [x0] + cmp w0, w3 + bne .L732 + ret +.L732: + sub w1, w1, #1 + umaddl x0, w0, w4, x2 + and w1, w1, 65535 + b .L730 +.L733: + mov w0, 65535 + ret +.L731: + sub x0, x0, x2 + mov x1, -6148914691236517206 + asr x0, x0, 1 + movk x1, 0xaaab, lsl 0 + mul x0, x0, x1 + and w0, w0, 65535 + ret + .size _list_get_gc_head_node, .-_list_get_gc_head_node + .section .text.gc_search_src_blk,"ax",@progbits + .align 2 + .global gc_search_src_blk + .type gc_search_src_blk, %function +gc_search_src_blk: + stp x29, x30, [sp, -176]! + add x29, sp, 0 + stp x21, x22, [sp, 32] + and w22, w0, 255 + and w0, w1, 255 + stp x19, x20, [sp, 16] + str w0, [x29, 160] + adrp x0, .LANCHOR12 + and w19, w2, 255 + stp x23, x24, [sp, 48] + ldr x2, [x0, #:lo12:.LANCHOR12] + stp x25, x26, [sp, 64] + stp x27, x28, [sp, 80] + add x0, x2, x22, sxtw 1 + ldrh w21, [x0, 120] + cbz w21, .L736 + mov w0, w21 +.L735: + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] + ldp x27, x28, [sp, 80] + ldp x29, x30, [sp], 176 + ret +.L736: + adrp x0, .LANCHOR70 + add x1, x0, :lo12:.LANCHOR70 + ldrh w1, [x1, 56] + cmp w1, 1 + bhi .L738 + adrp x3, .LANCHOR87 + strh wzr, [x3, #:lo12:.LANCHOR87] + adrp x3, .LANCHOR88 + strh wzr, [x3, #:lo12:.LANCHOR88] + adrp x3, .LANCHOR89 + strh wzr, [x3, #:lo12:.LANCHOR89] +.L738: + cbnz w22, .L739 + adrp x26, .LANCHOR88 + adrp x25, .LANCHOR90 + add x23, x26, :lo12:.LANCHOR88 + add x25, x25, :lo12:.LANCHOR90 + mov w24, 0 + mov w20, 0 + mov w27, 65535 +.L740: + cmp w19, w20 + blt .L745 + ldrh w6, [x23] + mov x0, x25 + mov w1, w6 + bl _list_get_gc_head_node + add w2, w6, 1 + and w2, w2, 65535 + strh w2, [x23] + and w1, w0, 65535 + mov w28, w1 + cmp w1, w27 + beq .L741 + adrp x0, .LANCHOR19 + adrp x6, .LANCHOR11 + uxtw x4, w1 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L742 + ldr x0, [x6, #:lo12:.LANCHOR11] + stp x6, x4, [x29, 144] + ldrh w3, [x0, x4, lsl 1] + adrp x0, .LC57 + add x0, x0, :lo12:.LC57 + bl printf + ldp x6, x4, [x29, 144] +.L742: + ldr x0, [x6, #:lo12:.LANCHOR11] + ldrh w1, [x0, x4, lsl 1] + adrp x0, .LANCHOR69 + ldrh w0, [x0, #:lo12:.LANCHOR69] + cmp w1, w0 + bcs .L743 + mov w2, 0 + mov w1, 0 + mov w0, w28 + bl gc_add_sblk + cbz w0, .L744 + add w5, w24, 1 + and w24, w5, 65535 + cmp w24, w19 + bcc .L744 +.L745: + ldr x0, [x29, 160] + tbz x0, 1, .L747 + adrp x0, .LANCHOR91 + ldrh w0, [x0, #:lo12:.LANCHOR91] + cmp w0, 32 + bls .L747 + adrp x23, .LANCHOR93 + adrp x20, .LANCHOR89 + adrp x26, .LANCHOR92 + add x20, x20, :lo12:.LANCHOR89 + add x26, x26, :lo12:.LANCHOR92 + add x27, x23, :lo12:.LANCHOR93 + mov w25, 0 +.L748: + cmp w19, w25 + blt .L752 + ldrh w6, [x20] + mov x0, x26 + mov w1, w6 + bl _list_get_gc_head_node + add w6, w6, 1 + strh w6, [x20] + and w1, w0, 65535 + mov w2, 65535 + cmp w1, w2 + beq .L749 + adrp x2, .LANCHOR11 + ubfiz x1, x1, 1, 16 + ldr x2, [x2, #:lo12:.LANCHOR11] + ldrh w2, [x2, x1] + ldrh w1, [x27] + cmp w2, w1 + bcs .L749 + mov w2, 0 + mov w1, 0 + bl gc_add_sblk + cbz w0, .L751 + add w5, w24, 1 + and w24, w5, 65535 + cmp w24, w19 + bcc .L751 +.L752: + cmp w24, w19 + adrp x0, .LANCHOR94 + bcs .L754 + ldrh w1, [x0, #:lo12:.LANCHOR94] + adrp x3, .LANCHOR79 + adrp x0, .LANCHOR85 + ldrh w2, [x23, #:lo12:.LANCHOR93] + ldrb w3, [x3, #:lo12:.LANCHOR79] + ldrh w0, [x0, #:lo12:.LANCHOR85] + mul w0, w0, w3 + sub w0, w0, w1, lsr 2 + cmp w2, w0 + bge .L747 + add w1, w2, w1, lsr 3 + strh w1, [x23, #:lo12:.LANCHOR93] +.L747: + ldr x0, [x29, 160] + tbz x0, 0, .L755 + and w23, w19, 65535 + cmp w24, w23 + bcs .L755 + adrp x20, .LANCHOR87 + adrp x25, .LANCHOR95 + add x20, x20, :lo12:.LANCHOR87 + add x25, x25, :lo12:.LANCHOR95 + mov w26, 65535 +.L760: + ldrh w6, [x20] + mov x0, x25 + mov w1, w6 + bl _list_get_gc_head_node + add w6, w6, 1 + strh w6, [x20] + cmp w26, w0, uxth + beq .L756 + mov w2, 0 + mov w1, 0 + bl gc_add_sblk + cbz w0, .L757 + add w5, w24, 1 + and w24, w5, 65535 + cmp w23, w24 + bhi .L757 +.L758: + adrp x0, .LANCHOR94 + adrp x1, .LANCHOR69 + ldrh w0, [x0, #:lo12:.LANCHOR94] + ldrh w2, [x1, #:lo12:.LANCHOR69] + cmp w2, w0, lsr 1 + bls .L755 + sub w0, w2, w0, lsr 3 + b .L846 +.L743: + strh wzr, [x26, #:lo12:.LANCHOR88] + b .L745 +.L741: + strh wzr, [x23] + b .L745 +.L744: + add w20, w20, 1 + and w20, w20, 65535 + b .L740 +.L749: + strh wzr, [x20] + b .L752 +.L751: + add w25, w25, 1 + and w25, w25, 65535 + b .L748 +.L754: + ldrh w1, [x23, #:lo12:.LANCHOR93] + ldrh w0, [x0, #:lo12:.LANCHOR94] + cmp w1, w0 + bls .L747 + sub w0, w1, w0, lsr 3 + strh w0, [x23, #:lo12:.LANCHOR93] + b .L747 +.L756: + strh wzr, [x20] +.L759: + cmp w24, w23 + bcs .L758 + adrp x1, .LANCHOR69 + adrp x0, .LANCHOR94 + ldrh w2, [x1, #:lo12:.LANCHOR69] + ldrh w0, [x0, #:lo12:.LANCHOR94] + cmp w2, w0 + bcs .L755 + add w0, w2, w0, lsr 3 +.L846: + strh w0, [x1, #:lo12:.LANCHOR69] +.L755: + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L791 + ldr w2, [x29, 160] + adrp x0, .LC58 + mov w4, w19 + mov w3, w24 + mov w1, w22 + add x0, x0, :lo12:.LC58 + bl printf +.L791: + mov w0, w24 + b .L735 +.L757: + add w21, w21, 1 + and w21, w21, 65535 + cmp w23, w21 + bhi .L760 + b .L759 +.L739: + adrp x23, .LANCHOR79 + adrp x25, .LANCHOR85 + stp x25, x23, [x29, 144] + cmp w19, 1 + ldrb w20, [x23, #:lo12:.LANCHOR79] + ldrh w3, [x25, #:lo12:.LANCHOR85] + mul w20, w20, w3 + and w20, w20, 65535 + bne .L761 + cbz w1, .L761 + ldrh w3, [x2, 80] + mov w2, 65535 + cmp w3, w2 + beq .L794 + add x2, x0, :lo12:.LANCHOR70 + ldrh w2, [x2, 2106] + sub w20, w20, w2 + and w20, w20, 65535 +.L794: + mov w19, 8 +.L761: + add x0, x0, :lo12:.LANCHOR70 + strh wzr, [x0, 2192] + adrp x0, .LANCHOR96 + strh wzr, [x0, #:lo12:.LANCHOR96] + ldr w0, [x29, 160] + and w0, w0, 1 + str w0, [x29, 128] + ldr x0, [x29, 160] + tbz x0, 0, .L795 + adrp x2, .LANCHOR98 + adrp x26, .LANCHOR97 + str x2, [x29, 120] + ldrh w0, [x26, #:lo12:.LANCHOR97] + ldrh w3, [x2, #:lo12:.LANCHOR98] + cmp w0, w3, lsr 2 + bhi .L763 + adrp x2, .LANCHOR99 + ldrh w2, [x2, #:lo12:.LANCHOR99] + cmp w2, w0 + bcs .L796 +.L763: + cmp w1, 1 + adrp x25, .LANCHOR87 + adrp x28, .LANCHOR95 + bls .L765 +.L767: + mov w24, 0 +.L766: + add x0, x28, :lo12:.LANCHOR95 + add x25, x25, :lo12:.LANCHOR87 + adrp x28, .LANCHOR99 + add x28, x28, :lo12:.LANCHOR99 + mov w23, 0 + mov w27, 64 + str x0, [x29, 136] +.L770: + ldrh w7, [x25] + ldr x0, [x29, 136] + mov w1, w7 + bl _list_get_gc_head_node + and w6, w0, 65535 + str w6, [x29, 112] + mov w1, 65535 + cmp w6, w1 + beq .L768 + add w7, w7, 1 + mov w2, w22 + strh w7, [x25] + mov w1, 0 + bl gc_add_sblk + cbz w0, .L769 + adrp x0, .LANCHOR11 + ldr w6, [x29, 112] + add w5, w24, 1 + ldr x0, [x0, #:lo12:.LANCHOR11] + and w24, w5, 65535 + ubfiz x6, x6, 1, 16 + cmp w24, w19 + ldrh w0, [x0, x6] + add w3, w23, w0 + and w23, w3, 65535 + bcs .L764 + cmp w20, w23 + bcc .L764 + ldrh w0, [x28] + ldrh w1, [x26, #:lo12:.LANCHOR97] + cmp w0, w1, lsl 1 + ble .L769 +.L764: + adrp x0, .LANCHOR99 + ldrh w1, [x0, #:lo12:.LANCHOR99] + ldr x0, [x29, 120] + ldrh w0, [x0, #:lo12:.LANCHOR98] + cmp w1, w0, lsr 2 + bhi .L792 + ldrh w0, [x26, #:lo12:.LANCHOR97] + add w0, w0, 8 + cmp w1, w0 + ble .L762 +.L792: + cmp w20, w23 + bls .L762 + adrp x7, .LANCHOR88 + and w25, w19, 65535 + add x28, x7, :lo12:.LANCHOR88 + adrp x0, .LANCHOR90 + mov w26, 64 + add x0, x0, :lo12:.LANCHOR90 + adrp x27, .LANCHOR11 + str x0, [x29, 136] +.L773: + ldrh w6, [x28] + ldr x0, [x29, 136] + mov w1, w6 + bl _list_get_gc_head_node + and w4, w0, 65535 + str w4, [x29, 120] + mov w1, 65535 + cmp w4, w1 + beq .L771 + add w6, w6, 1 + mov w2, w22 + strh w6, [x28] + mov w1, 0 + bl gc_add_sblk + cbz w0, .L772 + ldr w4, [x29, 120] + add w5, w24, 1 + ldr x0, [x27, #:lo12:.LANCHOR11] + and w24, w5, 65535 + cmp w24, w25 + ubfiz x4, x4, 1, 16 + ldrh w0, [x0, x4] + add w3, w23, w0 + and w23, w3, 65535 + bcs .L762 + cmp w20, w23 + bcs .L772 +.L762: + ldr x0, [x29, 160] + tbz x0, 1, .L774 + adrp x0, .LANCHOR91 + str x0, [x29, 112] + ldrh w1, [x0, #:lo12:.LANCHOR91] + cmp w1, 32 + bls .L774 + cmp w23, w20 + bcs .L774 + adrp x25, .LANCHOR89 + adrp x0, .LANCHOR92 + add x28, x25, :lo12:.LANCHOR89 + add x0, x0, :lo12:.LANCHOR92 + adrp x27, .LANCHOR100 + str x0, [x29, 120] + mov w26, 64 + add x0, x27, :lo12:.LANCHOR100 + str x0, [x29, 136] +.L780: + ldrh w6, [x28] + ldr x0, [x29, 120] + mov w1, w6 + bl _list_get_gc_head_node + and w8, w0, 65535 + mov w1, 65535 + cmp w8, w1 + beq .L775 + add w6, w6, 1 + strh w6, [x28] + cmp w19, 1 + bne .L776 + ldp x2, x1, [x29, 144] + ldrb w1, [x1, #:lo12:.LANCHOR79] + ldrh w2, [x2, #:lo12:.LANCHOR85] + mul w2, w1, w2 + adrp x1, .LANCHOR94 + ldrh w1, [x1, #:lo12:.LANCHOR94] + sub w1, w2, w1, lsr 3 + ldr x2, [x29, 136] + strh w1, [x2] +.L776: + ubfiz x6, x8, 1, 16 + adrp x8, .LANCHOR11 + stp x8, x6, [x29, 96] + ldr x1, [x8, #:lo12:.LANCHOR11] + ldrh w2, [x1, x6] + ldr x1, [x29, 136] + ldrh w1, [x1] + cmp w2, w1 + bcs .L777 + mov w2, w22 + mov w1, 0 + bl gc_add_sblk + cbz w0, .L778 + ldp x8, x6, [x29, 96] + add w5, w24, 1 + add w21, w21, 1 + and w24, w5, 65535 + and w21, w21, 65535 + cmp w24, w19 + ldr x0, [x8, #:lo12:.LANCHOR11] + ldrh w0, [x0, x6] + add w3, w23, w0 + and w23, w3, 65535 + bcs .L779 + cmp w20, w23 + bcs .L778 +.L779: + cmp w24, w19 + adrp x0, .LANCHOR94 + bcc .L781 + cbnz w21, .L782 + ldr x1, [x29, 112] + ldrh w2, [x1, #:lo12:.LANCHOR91] + adrp x1, .LANCHOR101 + ldrh w1, [x1, #:lo12:.LANCHOR101] + cmp w2, w1 + bls .L782 +.L781: + ldrh w2, [x0, #:lo12:.LANCHOR94] + ldp x0, x3, [x29, 144] + ldrh w1, [x27, #:lo12:.LANCHOR100] + lsr w2, w2, 3 + ldrh w0, [x0, #:lo12:.LANCHOR85] + ldrb w6, [x3, #:lo12:.LANCHOR79] + mul w0, w0, w6 + sub w0, w0, w2 + cmp w1, w0 + bge .L774 + add w1, w1, w2 + strh w1, [x27, #:lo12:.LANCHOR100] +.L774: + ldr w0, [x29, 128] + cbz w0, .L755 + and w27, w19, 65535 + cmp w24, w27 + bcs .L755 + cmp w23, w20 + bcs .L755 + adrp x26, .LANCHOR90 + adrp x4, .LANCHOR88 + add x0, x26, :lo12:.LANCHOR90 + add x28, x4, :lo12:.LANCHOR88 + adrp x21, .LANCHOR102 + str x0, [x29, 144] + mov w25, 64 + add x0, x21, :lo12:.LANCHOR102 + adrp x26, .LANCHOR11 + str x0, [x29, 136] +.L790: + ldrh w6, [x28] + ldr x0, [x29, 144] + mov w1, w6 + bl _list_get_gc_head_node + and w1, w0, 65535 + mov w2, 65535 + cmp w1, w2 + beq .L784 + add w6, w6, 1 + strh w6, [x28] + ubfiz x6, x1, 1, 16 + ldr x1, [x26, #:lo12:.LANCHOR11] + ldrh w2, [x1, x6] + ldr x1, [x29, 136] + ldrh w1, [x1] + cmp w2, w1 + bcs .L785 + adrp x1, .LANCHOR98 + ldrh w2, [x1, #:lo12:.LANCHOR98] + adrp x1, .LANCHOR99 + ldrh w1, [x1, #:lo12:.LANCHOR99] + cmp w1, w2, lsr 1 + bls .L786 +.L785: + mov w2, w22 + mov w1, 0 + str x6, [x29, 128] + bl gc_add_sblk + cbz w0, .L787 + adrp x0, .LANCHOR11 + ldr x6, [x29, 128] + add w5, w24, 1 + ldr x0, [x0, #:lo12:.LANCHOR11] + and w24, w5, 65535 + cmp w27, w24 + ldrh w0, [x0, x6] + add w3, w23, w0 + and w23, w3, 65535 + bls .L788 + cmp w20, w23 + bcs .L787 +.L789: + adrp x0, .LANCHOR94 + ldrh w1, [x21, #:lo12:.LANCHOR102] + ldrh w0, [x0, #:lo12:.LANCHOR94] + cmp w1, w0, lsr 1 + bls .L755 + sub w0, w1, w0, lsr 3 + strh w0, [x21, #:lo12:.LANCHOR102] + b .L755 +.L765: + lsr w0, w0, 2 + mov w1, 0 + strh w0, [x25, #:lo12:.LANCHOR87] + add x0, x28, :lo12:.LANCHOR95 + bl _list_get_gc_head_node + and w1, w0, 65535 + mov w2, 65535 + cmp w1, w2 + beq .L767 + adrp x2, .LANCHOR11 + ubfiz x1, x1, 1, 16 + ldr x3, [x2, #:lo12:.LANCHOR11] + adrp x2, .LANCHOR94 + ldrh w2, [x2, #:lo12:.LANCHOR94] + ldrh w1, [x3, x1] + cmp w1, w2, lsr 2 + bcs .L767 + mov w1, 1 + mov w2, w22 + strh w1, [x25, #:lo12:.LANCHOR87] + mov w1, 0 + bl gc_add_sblk + cmp w0, 0 + cset w24, ne + b .L766 +.L768: + strh wzr, [x25] + b .L764 +.L769: + sub w27, w27, #1 + ands w27, w27, 65535 + bne .L770 + b .L764 +.L771: + cmp w6, 64 + bls .L762 + strh wzr, [x28] + b .L762 +.L772: + sub w26, w26, #1 + ands w26, w26, 65535 + bne .L773 + b .L762 +.L795: + mov w23, 0 + mov w24, 0 + b .L762 +.L777: + strh wzr, [x25, #:lo12:.LANCHOR89] + b .L779 +.L775: + strh wzr, [x28] + b .L779 +.L778: + sub w26, w26, #1 + ands w26, w26, 65535 + bne .L780 + b .L779 +.L782: + ldr x1, [x29, 152] + ldrh w0, [x0, #:lo12:.LANCHOR94] + ldrh w2, [x27, #:lo12:.LANCHOR100] + ldrb w1, [x1, #:lo12:.LANCHOR79] + mul w1, w1, w0 + cmp w2, w1 + ble .L755 + sub w0, w2, w0, lsr 3 + strh w0, [x27, #:lo12:.LANCHOR100] + b .L755 +.L784: + cmp w6, 64 + bls .L786 + strh wzr, [x28] +.L786: + cmp w24, w27 + bcc .L789 +.L788: + adrp x0, .LANCHOR94 + ldrh w2, [x21, #:lo12:.LANCHOR102] + ldrh w1, [x0, #:lo12:.LANCHOR94] + ldr x0, [x29, 152] + ldrb w0, [x0, #:lo12:.LANCHOR79] + mul w0, w0, w1 + sub w0, w0, #32 + cmp w2, w0 + bge .L755 + add w1, w2, w1, lsr 3 + strh w1, [x21, #:lo12:.LANCHOR102] + b .L755 +.L787: + sub w25, w25, #1 + ands w25, w25, 65535 + bne .L790 + b .L786 +.L796: + mov w23, 0 + mov w24, 0 + b .L764 + .size gc_search_src_blk, .-gc_search_src_blk .section .text.zftl_get_gc_node,"ax",@progbits .align 2 .global zftl_get_gc_node @@ -4258,687 +4981,56 @@ zftl_get_gc_node: and w1, w1, 65535 and w0, w0, 65535 cmp w1, 5 - bne .L746 + bne .L848 mov w1, w0 - adrp x0, .LANCHOR88 - ldr x0, [x0, #:lo12:.LANCHOR88] -.L748: - b _list_get_gc_head_node.isra.2 -.L746: + adrp x0, .LANCHOR92 + add x0, x0, :lo12:.LANCHOR92 +.L850: + b _list_get_gc_head_node +.L848: cmp w1, 2 - bne .L747 - b zftl_get_gc_node.part.9 -.L747: mov w1, w0 - adrp x0, .LANCHOR89 - ldr x0, [x0, #:lo12:.LANCHOR89] - b .L748 + bne .L849 + adrp x0, .LANCHOR95 + add x0, x0, :lo12:.LANCHOR95 + b .L850 +.L849: + adrp x0, .LANCHOR90 + add x0, x0, :lo12:.LANCHOR90 + b .L850 .size zftl_get_gc_node, .-zftl_get_gc_node - .section .text.gc_search_src_blk,"ax",@progbits - .align 2 - .global gc_search_src_blk - .type gc_search_src_blk, %function -gc_search_src_blk: - stp x29, x30, [sp, -160]! - add x29, sp, 0 - stp x21, x22, [sp, 32] - and w22, w0, 255 - and w0, w1, 255 - stp x19, x20, [sp, 16] - str w0, [x29, 144] - adrp x0, .LANCHOR10 - and w19, w2, 255 - stp x23, x24, [sp, 48] - ldr x2, [x0, #:lo12:.LANCHOR10] - stp x25, x26, [sp, 64] - stp x27, x28, [sp, 80] - add x0, x2, x22, sxtw 1 - ldrh w21, [x0, 120] - cbz w21, .L750 - mov w0, w21 -.L749: - 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], 160 - ret -.L750: - adrp x0, .LANCHOR71 - add x1, x0, :lo12:.LANCHOR71 - ldrh w1, [x1, 56] - cmp w1, 1 - bhi .L752 - adrp x3, .LANCHOR90 - strh wzr, [x3, #:lo12:.LANCHOR90] - adrp x3, .LANCHOR91 - strh wzr, [x3, #:lo12:.LANCHOR91] - adrp x3, .LANCHOR92 - strh wzr, [x3, #:lo12:.LANCHOR92] -.L752: - cbnz w22, .L753 - adrp x26, .LANCHOR91 - adrp x25, .LANCHOR14 - add x23, x26, :lo12:.LANCHOR91 - add x25, x25, :lo12:.LANCHOR14 - mov w24, 0 - mov w20, 0 -.L754: - cmp w19, w20 - blt .L759 - ldrh w6, [x23] - mov w1, 3 - mov w0, w6 - bl zftl_get_gc_node - add w2, w6, 1 - and w2, w2, 65535 - strh w2, [x23] - and w1, w0, 65535 - mov w0, 65535 - mov w27, w1 - cmp w1, w0 - beq .L755 - ldr w0, [x25] - adrp x4, .LANCHOR9 - uxtw x28, w1 - tbz x0, 8, .L756 - ldr x0, [x4, #:lo12:.LANCHOR9] - str x4, [x29, 136] - ldrh w3, [x0, x28, lsl 1] - adrp x0, .LC57 - add x0, x0, :lo12:.LC57 - bl printf - ldr x4, [x29, 136] -.L756: - ldr x0, [x4, #:lo12:.LANCHOR9] - ldrh w1, [x0, x28, lsl 1] - adrp x0, .LANCHOR70 - ldrh w0, [x0, #:lo12:.LANCHOR70] - cmp w1, w0 - bcs .L757 - mov w2, 0 - mov w1, 0 - mov w0, w27 - bl gc_add_sblk - cbz w0, .L758 - add w5, w24, 1 - and w24, w5, 65535 - cmp w24, w19 - bcc .L758 -.L759: - ldr x0, [x29, 144] - tbz x0, 1, .L761 - adrp x0, .LANCHOR93 - ldrh w0, [x0, #:lo12:.LANCHOR93] - cmp w0, 32 - bls .L761 - adrp x23, .LANCHOR94 - adrp x20, .LANCHOR92 - add x27, x23, :lo12:.LANCHOR94 - add x20, x20, :lo12:.LANCHOR92 - mov w25, 0 - mov w26, 65535 -.L762: - cmp w19, w25 - blt .L766 - ldrh w6, [x20] - mov w1, 5 - mov w0, w6 - bl zftl_get_gc_node - add w6, w6, 1 - strh w6, [x20] - and w1, w0, 65535 - cmp w1, w26 - beq .L763 - adrp x2, .LANCHOR9 - ubfiz x1, x1, 1, 16 - ldr x2, [x2, #:lo12:.LANCHOR9] - ldrh w2, [x2, x1] - ldrh w1, [x27] - cmp w2, w1 - bcs .L763 - mov w2, 0 - mov w1, 0 - bl gc_add_sblk - cbz w0, .L765 - add w5, w24, 1 - and w24, w5, 65535 - cmp w24, w19 - bcc .L765 -.L766: - cmp w24, w19 - adrp x0, .LANCHOR95 - bcs .L768 - ldrh w1, [x0, #:lo12:.LANCHOR95] - adrp x3, .LANCHOR80 - adrp x0, .LANCHOR86 - ldrh w2, [x23, #:lo12:.LANCHOR94] - ldrb w3, [x3, #:lo12:.LANCHOR80] - ldrh w0, [x0, #:lo12:.LANCHOR86] - mul w0, w0, w3 - sub w0, w0, w1, lsr 2 - cmp w2, w0 - bge .L761 - add w1, w2, w1, lsr 3 - strh w1, [x23, #:lo12:.LANCHOR94] -.L761: - ldr x0, [x29, 144] - tbz x0, 0, .L769 - and w23, w19, 65535 - cmp w24, w23 - bcs .L769 - adrp x20, .LANCHOR90 - add x20, x20, :lo12:.LANCHOR90 - mov w25, 65535 -.L774: - ldrh w6, [x20] - mov w0, w6 - bl zftl_get_gc_node.part.9 - add w6, w6, 1 - strh w6, [x20] - cmp w25, w0, uxth - beq .L770 - mov w2, 0 - mov w1, 0 - bl gc_add_sblk - cbz w0, .L771 - add w5, w24, 1 - and w24, w5, 65535 - cmp w23, w24 - bhi .L771 -.L772: - adrp x0, .LANCHOR95 - adrp x1, .LANCHOR70 - ldrh w0, [x0, #:lo12:.LANCHOR95] - ldrh w2, [x1, #:lo12:.LANCHOR70] - cmp w2, w0, lsr 1 - bls .L769 - sub w0, w2, w0, lsr 3 - b .L860 -.L757: - strh wzr, [x26, #:lo12:.LANCHOR91] - b .L759 -.L755: - strh wzr, [x23] - b .L759 -.L758: - add w20, w20, 1 - and w20, w20, 65535 - b .L754 -.L763: - strh wzr, [x20] - b .L766 -.L765: - add w25, w25, 1 - and w25, w25, 65535 - b .L762 -.L768: - ldrh w1, [x23, #:lo12:.LANCHOR94] - ldrh w0, [x0, #:lo12:.LANCHOR95] - cmp w1, w0 - bls .L761 - sub w0, w1, w0, lsr 3 - strh w0, [x23, #:lo12:.LANCHOR94] - b .L761 -.L770: - strh wzr, [x20] -.L773: - cmp w24, w23 - bcs .L772 - adrp x1, .LANCHOR70 - adrp x0, .LANCHOR95 - ldrh w2, [x1, #:lo12:.LANCHOR70] - ldrh w0, [x0, #:lo12:.LANCHOR95] - cmp w2, w0 - bcs .L769 - add w0, w2, w0, lsr 3 -.L860: - strh w0, [x1, #:lo12:.LANCHOR70] -.L769: - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L805 - ldr w2, [x29, 144] - adrp x0, .LC58 - mov w4, w19 - mov w3, w24 - mov w1, w22 - add x0, x0, :lo12:.LC58 - bl printf -.L805: - mov w0, w24 - b .L749 -.L771: - add w21, w21, 1 - and w21, w21, 65535 - cmp w23, w21 - bhi .L774 - b .L773 -.L753: - adrp x23, .LANCHOR80 - adrp x25, .LANCHOR86 - str x23, [x29, 136] - cmp w19, 1 - ldrb w20, [x23, #:lo12:.LANCHOR80] - ldrh w3, [x25, #:lo12:.LANCHOR86] - mul w20, w20, w3 - and w20, w20, 65535 - bne .L775 - cbz w1, .L775 - ldrh w3, [x2, 80] - mov w2, 65535 - cmp w3, w2 - beq .L808 - add x2, x0, :lo12:.LANCHOR71 - ldrh w2, [x2, 2106] - sub w20, w20, w2 - and w20, w20, 65535 -.L808: - mov w19, 8 -.L775: - add x0, x0, :lo12:.LANCHOR71 - strh wzr, [x0, 2110] - adrp x0, .LANCHOR96 - strh wzr, [x0, #:lo12:.LANCHOR96] - ldr w0, [x29, 144] - and w0, w0, 1 - str w0, [x29, 120] - ldr x0, [x29, 144] - tbz x0, 0, .L809 - adrp x2, .LANCHOR98 - adrp x26, .LANCHOR97 - str x2, [x29, 128] - ldrh w0, [x26, #:lo12:.LANCHOR97] - ldrh w3, [x2, #:lo12:.LANCHOR98] - cmp w0, w3, lsr 2 - bhi .L777 - adrp x2, .LANCHOR99 - ldrh w2, [x2, #:lo12:.LANCHOR99] - cmp w2, w0 - bcs .L810 -.L777: - cmp w1, 1 - adrp x28, .LANCHOR90 - bls .L779 -.L781: - mov w24, 0 -.L780: - add x28, x28, :lo12:.LANCHOR90 - adrp x0, .LANCHOR99 - mov w23, 0 - add x0, x0, :lo12:.LANCHOR99 - mov w27, 64 - str x0, [x29, 112] -.L784: - ldrh w7, [x28] - mov w0, w7 - bl zftl_get_gc_node.part.9 - and w6, w0, 65535 - str w6, [x29, 104] - mov w1, 65535 - cmp w6, w1 - beq .L782 - add w7, w7, 1 - mov w2, w22 - strh w7, [x28] - mov w1, 0 - bl gc_add_sblk - cbz w0, .L783 - adrp x0, .LANCHOR9 - ldr w6, [x29, 104] - add w5, w24, 1 - ldr x0, [x0, #:lo12:.LANCHOR9] - and w24, w5, 65535 - ubfiz x6, x6, 1, 16 - cmp w24, w19 - ldrh w0, [x0, x6] - add w3, w23, w0 - and w23, w3, 65535 - bcs .L778 - cmp w20, w23 - bcc .L778 - ldr x0, [x29, 112] - ldrh w1, [x26, #:lo12:.LANCHOR97] - ldrh w0, [x0] - cmp w0, w1, lsl 1 - ble .L783 -.L778: - adrp x0, .LANCHOR99 - ldrh w1, [x0, #:lo12:.LANCHOR99] - ldr x0, [x29, 128] - ldrh w0, [x0, #:lo12:.LANCHOR98] - cmp w1, w0, lsr 2 - bhi .L806 - ldrh w0, [x26, #:lo12:.LANCHOR97] - add w0, w0, 8 - cmp w1, w0 - ble .L776 -.L806: - cmp w20, w23 - bls .L776 - adrp x4, .LANCHOR91 - add x28, x4, :lo12:.LANCHOR91 - and w0, w19, 65535 - mov w26, 64 - adrp x27, .LANCHOR9 - str w0, [x29, 128] -.L787: - ldrh w6, [x28] - mov w1, 3 - mov w0, w6 - bl zftl_get_gc_node - and w7, w0, 65535 - str w7, [x29, 112] - mov w1, 65535 - cmp w7, w1 - beq .L785 - add w6, w6, 1 - mov w2, w22 - strh w6, [x28] - mov w1, 0 - bl gc_add_sblk - cbz w0, .L786 - ldr w7, [x29, 112] - add w5, w24, 1 - ldr x0, [x27, #:lo12:.LANCHOR9] - and w24, w5, 65535 - ubfiz x7, x7, 1, 16 - ldrh w0, [x0, x7] - add w3, w23, w0 - ldr w0, [x29, 128] - and w23, w3, 65535 - cmp w24, w0 - bcs .L776 - cmp w20, w23 - bcs .L786 -.L776: - ldr x0, [x29, 144] - tbz x0, 1, .L788 - adrp x0, .LANCHOR93 - str x0, [x29, 112] - ldrh w1, [x0, #:lo12:.LANCHOR93] - cmp w1, 32 - bls .L788 - cmp w23, w20 - bcs .L788 - adrp x0, .LANCHOR92 - adrp x27, .LANCHOR100 - add x28, x0, :lo12:.LANCHOR92 - mov w26, 64 - add x0, x27, :lo12:.LANCHOR100 - str x0, [x29, 128] -.L794: - ldrh w6, [x28] - mov w1, 5 - mov w0, w6 - bl zftl_get_gc_node - and w8, w0, 65535 - mov w1, 65535 - cmp w8, w1 - beq .L789 - add w6, w6, 1 - strh w6, [x28] - cmp w19, 1 - bne .L790 - ldr x1, [x29, 136] - ldrh w2, [x25, #:lo12:.LANCHOR86] - ldrb w1, [x1, #:lo12:.LANCHOR80] - mul w2, w1, w2 - adrp x1, .LANCHOR95 - ldrh w1, [x1, #:lo12:.LANCHOR95] - sub w1, w2, w1, lsr 3 - ldr x2, [x29, 128] - strh w1, [x2] -.L790: - ubfiz x6, x8, 1, 16 - adrp x8, .LANCHOR9 - stp x8, x6, [x29, 96] - ldr x1, [x8, #:lo12:.LANCHOR9] - ldrh w2, [x1, x6] - ldr x1, [x29, 128] - ldrh w1, [x1] - cmp w2, w1 - bcs .L791 - mov w2, w22 - mov w1, 0 - bl gc_add_sblk - cbz w0, .L792 - ldp x8, x6, [x29, 96] - add w5, w24, 1 - add w21, w21, 1 - and w24, w5, 65535 - and w21, w21, 65535 - cmp w24, w19 - ldr x0, [x8, #:lo12:.LANCHOR9] - ldrh w0, [x0, x6] - add w3, w23, w0 - and w23, w3, 65535 - bcs .L793 - cmp w20, w23 - bcs .L792 -.L793: - cmp w24, w19 - adrp x0, .LANCHOR95 - bcc .L795 - cbnz w21, .L796 - ldr x1, [x29, 112] - ldrh w2, [x1, #:lo12:.LANCHOR93] - adrp x1, .LANCHOR101 - ldrh w1, [x1, #:lo12:.LANCHOR101] - cmp w2, w1 - bls .L796 -.L795: - ldr x3, [x29, 136] - ldrh w2, [x0, #:lo12:.LANCHOR95] - ldrh w0, [x25, #:lo12:.LANCHOR86] - ldrh w1, [x27, #:lo12:.LANCHOR100] - ldrb w6, [x3, #:lo12:.LANCHOR80] - lsr w2, w2, 3 - mul w0, w0, w6 - sub w0, w0, w2 - cmp w1, w0 - bge .L788 - add w1, w1, w2 - strh w1, [x27, #:lo12:.LANCHOR100] -.L788: - ldr w0, [x29, 120] - cbz w0, .L769 - and w26, w19, 65535 - cmp w24, w26 - bcs .L769 - cmp w23, w20 - bcs .L769 - adrp x21, .LANCHOR91 - add x21, x21, :lo12:.LANCHOR91 - adrp x28, .LANCHOR102 - mov w25, 64 - add x0, x28, :lo12:.LANCHOR102 - adrp x27, .LANCHOR9 - str x0, [x29, 128] -.L804: - ldrh w6, [x21] - mov w1, 3 - mov w0, w6 - bl zftl_get_gc_node - and w4, w0, 65535 - mov w1, 65535 - cmp w4, w1 - beq .L798 - ldr x1, [x27, #:lo12:.LANCHOR9] - ubfiz x4, x4, 1, 16 - add w6, w6, 1 - strh w6, [x21] - ldrh w2, [x1, x4] - ldr x1, [x29, 128] - ldrh w1, [x1] - cmp w2, w1 - bcs .L799 - adrp x1, .LANCHOR98 - ldrh w2, [x1, #:lo12:.LANCHOR98] - adrp x1, .LANCHOR99 - ldrh w1, [x1, #:lo12:.LANCHOR99] - cmp w1, w2, lsr 1 - bls .L800 -.L799: - mov w2, w22 - mov w1, 0 - str x4, [x29, 120] - bl gc_add_sblk - cbz w0, .L801 - adrp x0, .LANCHOR9 - ldr x4, [x29, 120] - add w5, w24, 1 - ldr x0, [x0, #:lo12:.LANCHOR9] - and w24, w5, 65535 - cmp w26, w24 - ldrh w0, [x0, x4] - add w3, w23, w0 - and w23, w3, 65535 - bls .L802 - cmp w20, w23 - bcs .L801 -.L803: - adrp x0, .LANCHOR95 - ldrh w1, [x28, #:lo12:.LANCHOR102] - ldrh w0, [x0, #:lo12:.LANCHOR95] - cmp w1, w0, lsr 1 - bls .L769 - sub w0, w1, w0, lsr 3 - strh w0, [x28, #:lo12:.LANCHOR102] - b .L769 -.L779: - lsr w0, w0, 2 - strh w0, [x28, #:lo12:.LANCHOR90] - mov w0, 0 - bl zftl_get_gc_node.part.9 - and w1, w0, 65535 - mov w2, 65535 - cmp w1, w2 - beq .L781 - adrp x2, .LANCHOR9 - ubfiz x1, x1, 1, 16 - ldr x3, [x2, #:lo12:.LANCHOR9] - adrp x2, .LANCHOR95 - ldrh w2, [x2, #:lo12:.LANCHOR95] - ldrh w1, [x3, x1] - cmp w1, w2, lsr 2 - bcs .L781 - mov w1, 1 - mov w2, w22 - strh w1, [x28, #:lo12:.LANCHOR90] - mov w1, 0 - bl gc_add_sblk - cmp w0, 0 - cset w24, ne - b .L780 -.L782: - strh wzr, [x28] - b .L778 -.L783: - sub w27, w27, #1 - ands w27, w27, 65535 - bne .L784 - b .L778 -.L785: - cmp w6, 64 - bls .L776 - strh wzr, [x28] - b .L776 -.L786: - sub w26, w26, #1 - ands w26, w26, 65535 - bne .L787 - b .L776 -.L809: - mov w23, 0 - mov w24, 0 - b .L776 -.L791: - adrp x0, .LANCHOR92 - strh wzr, [x0, #:lo12:.LANCHOR92] - b .L793 -.L789: - strh wzr, [x28] - b .L793 -.L792: - sub w26, w26, #1 - ands w26, w26, 65535 - bne .L794 - b .L793 -.L796: - ldr x1, [x29, 136] - ldrh w0, [x0, #:lo12:.LANCHOR95] - ldrh w2, [x27, #:lo12:.LANCHOR100] - ldrb w1, [x1, #:lo12:.LANCHOR80] - mul w1, w1, w0 - cmp w2, w1 - ble .L769 - sub w0, w2, w0, lsr 3 - strh w0, [x27, #:lo12:.LANCHOR100] - b .L769 -.L798: - cmp w6, 64 - bls .L800 - strh wzr, [x21] -.L800: - cmp w24, w26 - bcc .L803 -.L802: - adrp x0, .LANCHOR95 - ldrh w2, [x28, #:lo12:.LANCHOR102] - ldrh w1, [x0, #:lo12:.LANCHOR95] - ldr x0, [x29, 136] - ldrb w0, [x0, #:lo12:.LANCHOR80] - mul w0, w0, w1 - sub w0, w0, #32 - cmp w2, w0 - bge .L769 - add w1, w2, w1, lsr 3 - strh w1, [x28, #:lo12:.LANCHOR102] - b .L769 -.L801: - sub w25, w25, #1 - ands w25, w25, 65535 - bne .L804 - b .L800 -.L810: - mov w23, 0 - mov w24, 0 - b .L778 - .size gc_search_src_blk, .-gc_search_src_blk .section .text.zftl_insert_free_list,"ax",@progbits .align 2 .global zftl_insert_free_list .type zftl_insert_free_list, %function zftl_insert_free_list: and w1, w0, 65535 - adrp x0, .LANCHOR7 - ldr x0, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR9 + ldr x0, [x0, #:lo12:.LANCHOR9] add x0, x0, x1, uxth 2 ldrb w0, [x0, 2] ands w0, w0, 24 - bne .L862 + bne .L852 adrp x2, .LANCHOR103 adrp x0, .LANCHOR104 add x2, x2, :lo12:.LANCHOR103 add x0, x0, :lo12:.LANCHOR104 -.L864: +.L854: b _insert_free_list -.L862: +.L852: cmp w0, 16 - bne .L863 + bne .L853 adrp x2, .LANCHOR105 adrp x0, .LANCHOR106 add x2, x2, :lo12:.LANCHOR105 add x0, x0, :lo12:.LANCHOR106 - b .L864 -.L863: + b .L854 +.L853: adrp x2, .LANCHOR107 adrp x0, .LANCHOR108 add x2, x2, :lo12:.LANCHOR107 add x0, x0, :lo12:.LANCHOR108 - b .L864 + b .L854 .size zftl_insert_free_list, .-zftl_insert_free_list .section .text.zftl_insert_data_list,"ax",@progbits .align 2 @@ -4946,36 +5038,36 @@ zftl_insert_free_list: .type zftl_insert_data_list, %function zftl_insert_data_list: and w1, w0, 65535 - adrp x0, .LANCHOR7 - ldr x0, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR9 + ldr x0, [x0, #:lo12:.LANCHOR9] add x0, x0, x1, uxth 2 ldrb w2, [x0, 2] and w2, w2, 224 cmp w2, 64 - bne .L866 + bne .L856 adrp x2, .LANCHOR97 - adrp x0, .LANCHOR12 + adrp x0, .LANCHOR95 add x2, x2, :lo12:.LANCHOR97 - add x0, x0, :lo12:.LANCHOR12 -.L869: + add x0, x0, :lo12:.LANCHOR95 +.L859: b _insert_data_list -.L866: +.L856: cmp w2, 96 - bne .L867 + bne .L857 adrp x2, .LANCHOR99 - adrp x0, .LANCHOR89 + adrp x0, .LANCHOR90 add x2, x2, :lo12:.LANCHOR99 - add x0, x0, :lo12:.LANCHOR89 - b .L869 -.L867: + add x0, x0, :lo12:.LANCHOR90 + b .L859 +.L857: cmp w2, 160 - bne .L865 - adrp x2, .LANCHOR93 - adrp x0, .LANCHOR88 - add x2, x2, :lo12:.LANCHOR93 - add x0, x0, :lo12:.LANCHOR88 - b .L869 -.L865: + bne .L855 + adrp x2, .LANCHOR91 + adrp x0, .LANCHOR92 + add x2, x2, :lo12:.LANCHOR91 + add x0, x0, :lo12:.LANCHOR92 + b .L859 +.L855: ret .size zftl_insert_data_list, .-zftl_insert_data_list .section .text.zftl_gc_get_free_sblk,"ax",@progbits @@ -4986,54 +5078,54 @@ zftl_gc_get_free_sblk: stp x29, x30, [sp, -48]! add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x20, .LANCHOR10 + adrp x20, .LANCHOR12 stp x21, x22, [sp, 32] and w21, w0, 65535 - ldr x0, [x20, #:lo12:.LANCHOR10] + ldr x0, [x20, #:lo12:.LANCHOR12] and w22, w1, 65535 ldrh w19, [x0, 588] mov w0, 65535 cmp w19, w0 - beq .L871 - cbnz w21, .L871 + beq .L861 + cbnz w21, .L861 mov w1, w19 adrp x0, .LC59 add x0, x0, :lo12:.LC59 bl printf - ldr x0, [x20, #:lo12:.LANCHOR10] + ldr x0, [x20, #:lo12:.LANCHOR12] mov w1, -1 strh w1, [x0, 588] -.L872: +.L862: mov w0, w19 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 48 ret -.L871: +.L861: adrp x2, .LANCHOR105 adrp x20, .LANCHOR107 ldrh w0, [x2, #:lo12:.LANCHOR105] ldrh w1, [x20, #:lo12:.LANCHOR107] cmp w0, w1 - bcc .L873 + bcc .L863 adrp x3, .LANCHOR103 ldrh w3, [x3, #:lo12:.LANCHOR103] cmp w3, w0 - bls .L874 - cbz w1, .L874 -.L873: - cbnz w21, .L875 + bls .L864 + cbz w1, .L864 +.L863: + cbnz w21, .L865 lsr w1, w1, 2 -.L876: +.L866: adrp x0, .LANCHOR108 add x2, x20, :lo12:.LANCHOR107 add x0, x0, :lo12:.LANCHOR108 -.L891: +.L881: bl _list_pop_index_node and w19, w0, 65535 mov w0, 65535 cmp w19, w0 - bne .L879 + bne .L869 adrp x0, .LANCHOR103 ldrh w5, [x20, #:lo12:.LANCHOR107] mov w2, w22 @@ -5044,17 +5136,17 @@ zftl_gc_get_free_sblk: adrp x0, .LC60 add x0, x0, :lo12:.LC60 bl printf -.L879: - cbz w21, .L872 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L872 - adrp x4, .LANCHOR9 - adrp x1, .LANCHOR7 +.L869: + cbz w21, .L862 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L862 + adrp x4, .LANCHOR11 + adrp x1, .LANCHOR9 uxtw x3, w19 - ldr x1, [x1, #:lo12:.LANCHOR7] + ldr x1, [x1, #:lo12:.LANCHOR9] lsl x0, x3, 2 - ldr x6, [x4, #:lo12:.LANCHOR9] + ldr x6, [x4, #:lo12:.LANCHOR11] add x2, x1, x0 ldr w4, [x1, x0] ldrh w6, [x6, x3, lsl 1] @@ -5068,20 +5160,20 @@ zftl_gc_get_free_sblk: ubfx x2, x2, 5, 3 add x0, x0, :lo12:.LC61 bl printf - b .L872 -.L875: + b .L862 +.L865: mov w1, 7 mul w1, w0, w1 lsr w1, w1, 3 - b .L876 -.L874: + b .L866 +.L864: lsr w1, w0, 3 cmp w21, 0 adrp x0, .LANCHOR106 csel w1, w1, wzr, ne add x2, x2, :lo12:.LANCHOR105 add x0, x0, :lo12:.LANCHOR106 - b .L891 + b .L881 .size zftl_gc_get_free_sblk, .-zftl_gc_get_free_sblk .section .text.zftl_get_free_sblk,"ax",@progbits .align 2 @@ -5094,36 +5186,36 @@ zftl_get_free_sblk: and w20, w1, 65535 str x21, [sp, 32] cmp w20, 5 - bne .L893 + bne .L883 adrp x2, .LANCHOR105 adrp x0, .LANCHOR107 ldrh w3, [x2, #:lo12:.LANCHOR105] ldrh w1, [x0, #:lo12:.LANCHOR107] cmp w3, w1 - bcc .L894 + bcc .L884 adrp x4, .LANCHOR103 ldrh w4, [x4, #:lo12:.LANCHOR103] cmp w4, w3 - bls .L895 - cbz w1, .L895 -.L894: + bls .L885 + cbz w1, .L885 +.L884: add x2, x0, :lo12:.LANCHOR107 lsr w1, w1, 1 -.L914: +.L904: adrp x0, .LANCHOR108 add x0, x0, :lo12:.LANCHOR108 - b .L913 -.L895: + b .L903 +.L885: adrp x0, .LANCHOR106 add x2, x2, :lo12:.LANCHOR105 add x0, x0, :lo12:.LANCHOR106 mov w1, 0 -.L913: +.L903: bl _list_pop_index_node and w19, w0, 65535 mov w0, 65535 cmp w19, w0 - bne .L898 + bne .L888 adrp x0, .LANCHOR107 mov w2, w20 mov w1, w19 @@ -5135,58 +5227,65 @@ zftl_get_free_sblk: adrp x0, .LC60 add x0, x0, :lo12:.LC60 bl printf - b .L898 -.L893: - adrp x21, .LANCHOR10 - and w0, w0, 65535 - ldr x1, [x21, #:lo12:.LANCHOR10] - ldrh w19, [x1, 590] - mov w1, 65535 - cmp w19, w1 - beq .L897 + b .L888 +.L883: + adrp x21, .LANCHOR12 + and w3, w0, 65535 + ldr x0, [x21, #:lo12:.LANCHOR12] + ldrh w19, [x0, 590] + mov w0, 65535 + cmp w19, w0 + beq .L887 cmp w20, 1 - beq .L897 + beq .L887 mov w1, w19 adrp x0, .LC62 add x0, x0, :lo12:.LC62 bl printf - ldr x0, [x21, #:lo12:.LANCHOR10] + ldr x0, [x21, #:lo12:.LANCHOR12] mov w1, -1 strh w1, [x0, 590] -.L898: +.L888: mov w0, w19 ldr x21, [sp, 32] ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 48 ret -.L897: +.L887: adrp x2, .LANCHOR103 adrp x4, .LANCHOR107 - ldrh w1, [x2, #:lo12:.LANCHOR103] - ldrh w3, [x4, #:lo12:.LANCHOR107] - cmp w1, w3 - bcc .L899 + ldrh w0, [x2, #:lo12:.LANCHOR103] + ldrh w1, [x4, #:lo12:.LANCHOR107] + cmp w0, w1 + bcc .L889 adrp x5, .LANCHOR105 ldrh w5, [x5, #:lo12:.LANCHOR105] - cmp w5, w1 - bls .L900 - cbz w3, .L900 -.L899: + cmp w5, w0 + bls .L890 + cbz w1, .L890 +.L889: + bl get_ink_scaned_blk + and w19, w0, 65535 + mov w0, 65535 + cmp w19, w0 + bne .L888 cmp w20, 1 + bne .L891 + ldrh w3, [x4, #:lo12:.LANCHOR107] lsr w3, w3, 1 - csel w0, w3, w0, eq +.L891: add x2, x4, :lo12:.LANCHOR107 - mov w1, w0 - b .L914 -.L900: - lsr w1, w1, 1 + mov w1, w3 + b .L904 +.L890: + lsr w0, w0, 1 cmp w20, 1 - csel w0, w1, w0, eq + csel w3, w0, w3, eq add x2, x2, :lo12:.LANCHOR103 - mov w1, w0 adrp x0, .LANCHOR104 + mov w1, w3 add x0, x0, :lo12:.LANCHOR104 - b .L913 + b .L903 .size zftl_get_free_sblk, .-zftl_get_free_sblk .section .text.zftl_remove_data_node,"ax",@progbits .align 2 @@ -5194,36 +5293,36 @@ zftl_get_free_sblk: .type zftl_remove_data_node, %function zftl_remove_data_node: and w1, w0, 65535 - adrp x0, .LANCHOR7 - ldr x0, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR9 + ldr x0, [x0, #:lo12:.LANCHOR9] add x0, x0, x1, uxth 2 ldrb w2, [x0, 2] and w2, w2, 224 cmp w2, 64 - bne .L916 + bne .L906 adrp x2, .LANCHOR97 - adrp x0, .LANCHOR12 + adrp x0, .LANCHOR95 add x2, x2, :lo12:.LANCHOR97 - add x0, x0, :lo12:.LANCHOR12 -.L919: + add x0, x0, :lo12:.LANCHOR95 +.L909: b _list_remove_node -.L916: +.L906: cmp w2, 96 - bne .L917 + bne .L907 adrp x2, .LANCHOR99 - adrp x0, .LANCHOR89 + adrp x0, .LANCHOR90 add x2, x2, :lo12:.LANCHOR99 - add x0, x0, :lo12:.LANCHOR89 - b .L919 -.L917: + add x0, x0, :lo12:.LANCHOR90 + b .L909 +.L907: cmp w2, 160 - bne .L915 - adrp x2, .LANCHOR93 - adrp x0, .LANCHOR88 - add x2, x2, :lo12:.LANCHOR93 - add x0, x0, :lo12:.LANCHOR88 - b .L919 -.L915: + bne .L905 + adrp x2, .LANCHOR91 + adrp x0, .LANCHOR92 + add x2, x2, :lo12:.LANCHOR91 + add x0, x0, :lo12:.LANCHOR92 + b .L909 +.L905: ret .size zftl_remove_data_node, .-zftl_remove_data_node .section .text.zftl_remove_free_node,"ax",@progbits @@ -5232,32 +5331,32 @@ zftl_remove_data_node: .type zftl_remove_free_node, %function zftl_remove_free_node: and w1, w0, 65535 - adrp x0, .LANCHOR7 - ldr x0, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR9 + ldr x0, [x0, #:lo12:.LANCHOR9] add x0, x0, x1, uxth 2 ldrb w0, [x0, 2] ands w0, w0, 24 - bne .L921 + bne .L911 adrp x2, .LANCHOR103 adrp x0, .LANCHOR104 add x2, x2, :lo12:.LANCHOR103 add x0, x0, :lo12:.LANCHOR104 -.L923: +.L913: b _list_remove_node -.L921: +.L911: cmp w0, 16 - bne .L922 + bne .L912 adrp x2, .LANCHOR105 adrp x0, .LANCHOR106 add x2, x2, :lo12:.LANCHOR105 add x0, x0, :lo12:.LANCHOR106 - b .L923 -.L922: + b .L913 +.L912: adrp x2, .LANCHOR107 adrp x0, .LANCHOR108 add x2, x2, :lo12:.LANCHOR107 add x0, x0, :lo12:.LANCHOR108 - b .L923 + b .L913 .size zftl_remove_free_node, .-zftl_remove_free_node .section .text.zftl_list_update_data_list,"ax",@progbits .align 2 @@ -5265,36 +5364,36 @@ zftl_remove_free_node: .type zftl_list_update_data_list, %function zftl_list_update_data_list: and w1, w0, 65535 - adrp x0, .LANCHOR7 - ldr x0, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR9 + ldr x0, [x0, #:lo12:.LANCHOR9] add x0, x0, x1, uxth 2 ldrb w2, [x0, 2] and w2, w2, 224 cmp w2, 64 - bne .L925 + bne .L915 adrp x2, .LANCHOR97 - adrp x0, .LANCHOR12 + adrp x0, .LANCHOR95 add x2, x2, :lo12:.LANCHOR97 - add x0, x0, :lo12:.LANCHOR12 -.L928: + add x0, x0, :lo12:.LANCHOR95 +.L918: b _list_update_data_list -.L925: +.L915: cmp w2, 96 - bne .L926 + bne .L916 adrp x2, .LANCHOR99 - adrp x0, .LANCHOR89 + adrp x0, .LANCHOR90 add x2, x2, :lo12:.LANCHOR99 - add x0, x0, :lo12:.LANCHOR89 - b .L928 -.L926: + add x0, x0, :lo12:.LANCHOR90 + b .L918 +.L916: cmp w2, 160 - bne .L924 - adrp x2, .LANCHOR93 - adrp x0, .LANCHOR88 - add x2, x2, :lo12:.LANCHOR93 - add x0, x0, :lo12:.LANCHOR88 - b .L928 -.L924: + bne .L914 + adrp x2, .LANCHOR91 + adrp x0, .LANCHOR92 + add x2, x2, :lo12:.LANCHOR91 + add x0, x0, :lo12:.LANCHOR92 + b .L918 +.L914: ret .size zftl_list_update_data_list, .-zftl_list_update_data_list .section .text.print_list_info,"ax",@progbits @@ -5315,7 +5414,7 @@ print_list_info: add x0, x0, :lo12:.LC63 bl printf ldr x19, [x19] - cbz x19, .L929 + cbz x19, .L919 mov x24, -6148914691236517206 adrp x22, .LC64 adrp x21, .LANCHOR109 @@ -5324,15 +5423,15 @@ print_list_info: mov w20, 0 adrp x23, .LANCHOR4 movk x24, 0xaaab, lsl 0 -.L933: +.L923: ldr x2, [x23, #:lo12:.LANCHOR4] - adrp x1, .LANCHOR7 - adrp x8, .LANCHOR9 + adrp x1, .LANCHOR9 + adrp x8, .LANCHOR11 ldrh w5, [x19, 4] sub x2, x19, x2 - ldr x1, [x1, #:lo12:.LANCHOR7] + ldr x1, [x1, #:lo12:.LANCHOR9] asr x2, x2, 1 - ldr x8, [x8, #:lo12:.LANCHOR9] + ldr x8, [x8, #:lo12:.LANCHOR11] ldrh w4, [x19, 2] mul x2, x2, x24 and x7, x2, 65535 @@ -5357,7 +5456,7 @@ print_list_info: ldrh w19, [x19] mov w0, 65535 cmp w19, w0 - beq .L929 + beq .L919 ldr x0, [x23, #:lo12:.LANCHOR4] mov w1, 6 add w20, w20, 1 @@ -5365,8 +5464,8 @@ print_list_info: umaddl x19, w19, w1, x0 ldrh w0, [x21] cmp w0, w20 - bcs .L933 -.L929: + bcs .L923 +.L919: ldp x19, x20, [sp, 48] ldp x21, x22, [sp, 64] ldp x23, x24, [sp, 80] @@ -5397,20 +5496,20 @@ dump_all_list_info: add x0, x0, :lo12:.LANCHOR108 bl print_list_info adrp x1, .LANCHOR97 - adrp x0, .LANCHOR12 + adrp x0, .LANCHOR95 add x1, x1, :lo12:.LANCHOR97 - add x0, x0, :lo12:.LANCHOR12 + add x0, x0, :lo12:.LANCHOR95 bl print_list_info adrp x1, .LANCHOR99 - adrp x0, .LANCHOR89 + adrp x0, .LANCHOR90 add x1, x1, :lo12:.LANCHOR99 - add x0, x0, :lo12:.LANCHOR89 + add x0, x0, :lo12:.LANCHOR90 bl print_list_info ldp x29, x30, [sp], 16 - adrp x1, .LANCHOR93 - adrp x0, .LANCHOR88 - add x1, x1, :lo12:.LANCHOR93 - add x0, x0, :lo12:.LANCHOR88 + adrp x1, .LANCHOR91 + adrp x0, .LANCHOR92 + add x1, x1, :lo12:.LANCHOR91 + add x0, x0, :lo12:.LANCHOR92 b print_list_info .size dump_all_list_info, .-dump_all_list_info .section .text.ftl_tmp_into_update,"ax",@progbits @@ -5422,36 +5521,36 @@ ftl_tmp_into_update: ldr x0, [x0, #:lo12:.LANCHOR110] ldr w1, [x0, 16] cmp w1, 2048 - bls .L938 + bls .L928 ldr w2, [x0, 20] add w2, w2, w1, lsr 11 and w1, w1, 2047 stp w1, w2, [x0, 16] -.L938: +.L928: ldr w1, [x0, 24] cmp w1, 2048 - bls .L939 + bls .L929 ldr w2, [x0, 28] add w2, w2, w1, lsr 11 and w1, w1, 2047 stp w1, w2, [x0, 24] -.L939: +.L929: ldr w1, [x0, 32] cmp w1, 1024 - bls .L940 + bls .L930 ldr w2, [x0, 36] add w2, w2, w1, lsr 10 and w1, w1, 1023 stp w1, w2, [x0, 32] -.L940: +.L930: ldr w1, [x0, 40] cmp w1, 1024 - bls .L937 + bls .L927 ldr w2, [x0, 44] add w2, w2, w1, lsr 10 and w1, w1, 1023 stp w1, w2, [x0, 40] -.L937: +.L927: ret .size ftl_tmp_into_update, .-ftl_tmp_into_update .section .text.ftl_get_blk_list_in_sblk,"ax",@progbits @@ -5459,21 +5558,21 @@ ftl_tmp_into_update: .global ftl_get_blk_list_in_sblk .type ftl_get_blk_list_in_sblk, %function ftl_get_blk_list_in_sblk: - adrp x2, .LANCHOR7 + adrp x2, .LANCHOR9 and w0, w0, 65535 mov w7, 24 - adrp x8, .LANCHOR75 - ldr x2, [x2, #:lo12:.LANCHOR7] - add x8, x8, :lo12:.LANCHOR75 + adrp x8, .LANCHOR74 + ldr x2, [x2, #:lo12:.LANCHOR9] + add x8, x8, :lo12:.LANCHOR74 mov w3, 0 add x2, x2, x0, uxth 2 ldrb w13, [x2, 3] - adrp x2, .LANCHOR80 - ldrb w11, [x2, #:lo12:.LANCHOR80] - adrp x2, .LANCHOR76 - ldrb w6, [x2, #:lo12:.LANCHOR76] - adrp x2, .LANCHOR32 - ldrb w2, [x2, #:lo12:.LANCHOR32] + adrp x2, .LANCHOR79 + ldrb w11, [x2, #:lo12:.LANCHOR79] + adrp x2, .LANCHOR75 + ldrb w6, [x2, #:lo12:.LANCHOR75] + adrp x2, .LANCHOR31 + ldrb w2, [x2, #:lo12:.LANCHOR31] sub w7, w7, w2 and w2, w6, 65535 mul w0, w0, w2 @@ -5481,18 +5580,18 @@ ftl_get_blk_list_in_sblk: sxth w5, w2 and w4, w0, 65535 mov w0, 0 -.L943: +.L933: cmp w3, w11 - blt .L947 + blt .L937 sxtw x2, w0 mov w3, -1 -.L948: +.L938: cmp w11, w2 - bgt .L949 + bgt .L939 ret -.L947: +.L937: asr w2, w13, w3 - tbnz x2, 0, .L944 + tbnz x2, 0, .L934 sdiv w2, w3, w6 ldrh w10, [x8] sbfiz x12, x0, 1, 32 @@ -5501,21 +5600,21 @@ ftl_get_blk_list_in_sblk: lsl w2, w2, w10 add w2, w4, w2 and w2, w2, 65535 - bhi .L945 -.L950: + bhi .L935 +.L940: add w0, w0, 1 strh w2, [x1, x12] -.L944: +.L934: add w3, w3, 1 - b .L943 -.L945: + b .L933 +.L935: and w10, w5, w3 add w2, w2, w10 - b .L950 -.L949: + b .L940 +.L939: strh w3, [x1, x2, lsl 1] add x2, x2, 1 - b .L948 + b .L938 .size ftl_get_blk_list_in_sblk, .-ftl_get_blk_list_in_sblk .section .text.ftl_erase_phy_blk,"ax",@progbits .align 2 @@ -5527,34 +5626,34 @@ ftl_erase_phy_blk: add x29, sp, 0 stp x21, x22, [sp, 32] mov w21, w1 - adrp x1, .LANCHOR32 + adrp x1, .LANCHOR31 stp x19, x20, [sp, 16] adrp x22, .LANCHOR111 - ldrb w19, [x1, #:lo12:.LANCHOR32] + ldrb w19, [x1, #:lo12:.LANCHOR31] mov w1, 24 sub w19, w1, w19 - adrp x1, .LANCHOR75 - ldrh w1, [x1, #:lo12:.LANCHOR75] + adrp x1, .LANCHOR74 + ldrh w1, [x1, #:lo12:.LANCHOR74] sub w1, w19, w1 mov w19, 1 lsl w19, w19, w1 sub w19, w19, #1 and w19, w19, w0 asr w20, w0, w1 - adrp x0, .LANCHOR81 + adrp x0, .LANCHOR80 sxth w19, w19 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbz w0, .L942 + adrp x0, .LANCHOR81 ldrb w0, [x0, #:lo12:.LANCHOR81] - cbz w0, .L952 - adrp x0, .LANCHOR82 - ldrb w0, [x0, #:lo12:.LANCHOR82] - cbnz w0, .L952 + cbnz w0, .L942 ldrh w2, [x22, #:lo12:.LANCHOR111] cmp w21, 0 cset w1, eq mov w0, w20 mul w2, w2, w19 bl flash_erase_block_en -.L952: +.L942: ldrh w2, [x22, #:lo12:.LANCHOR111] mov w1, w21 mov w0, w20 @@ -5572,27 +5671,27 @@ ftl_erase_sblk: stp x29, x30, [sp, -176]! add x29, sp, 0 stp x23, x24, [sp, 48] - adrp x23, .LANCHOR7 + adrp x23, .LANCHOR9 stp x25, x26, [sp, 64] and w26, w0, 65535 - ldr x0, [x23, #:lo12:.LANCHOR7] + ldr x0, [x23, #:lo12:.LANCHOR9] adrp x25, .LANCHOR112 stp x21, x22, [sp, 32] ubfiz x22, x26, 2, 16 add x0, x0, x22 stp x27, x28, [sp, 80] stp x19, x20, [sp, 16] - adrp x24, .LANCHOR76 + adrp x24, .LANCHOR75 mov w20, w1 add x25, x25, :lo12:.LANCHOR112 ldrb w28, [x0, 3] - add x24, x24, :lo12:.LANCHOR76 + add x24, x24, :lo12:.LANCHOR75 add x27, x29, 112 mov w19, 0 -.L958: +.L948: ldrb w0, [x25] cmp w19, w0 - bge .L969 + bge .L959 ldrb w1, [x24] adrp x0, .LANCHOR111 mov w21, 0 @@ -5601,31 +5700,31 @@ ftl_erase_sblk: mov w0, 0 mul w6, w19, w1 mul w5, w26, w1 - b .L970 -.L960: + b .L960 +.L950: add w2, w0, w6 asr w2, w28, w2 - tbnz x2, 0, .L959 + tbnz x2, 0, .L949 and w2, w0, w4 add w2, w2, w5 mul w2, w2, w3 str w2, [x27, w21, sxtw 2] add w21, w21, 1 -.L959: +.L949: add w0, w0, 1 -.L970: +.L960: cmp w0, w1 - blt .L960 + blt .L950 cmp w1, 4 - bne .L961 + bne .L951 mov x3, 0 -.L962: +.L952: cmp w21, w3 - bgt .L963 -.L964: + bgt .L953 +.L954: add w19, w19, 1 - b .L958 -.L963: + b .L948 +.L953: ldr w2, [x27, x3, lsl 2] mov w1, w20 str x3, [x29, 104] @@ -5633,51 +5732,51 @@ ftl_erase_sblk: bl flash_erase_block_en ldr x3, [x29, 104] add x3, x3, 1 - b .L962 -.L961: + b .L952 +.L951: cmp w21, 2 - bne .L965 + bne .L955 + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbz w0, .L956 adrp x0, .LANCHOR81 ldrb w0, [x0, #:lo12:.LANCHOR81] - cbz w0, .L966 - adrp x0, .LANCHOR82 - ldrb w0, [x0, #:lo12:.LANCHOR82] - cbnz w0, .L966 + cbnz w0, .L956 ldp w2, w3, [x29, 112] cmp w20, 0 cset w1, eq mov w0, w19 bl flash_erase_duplane_block -.L966: +.L956: ldp w2, w3, [x29, 112] mov w1, w20 mov w0, w19 bl flash_erase_duplane_block - b .L964 -.L965: + b .L954 +.L955: cmp w21, 1 - bne .L964 + bne .L954 + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbz w0, .L958 adrp x0, .LANCHOR81 ldrb w0, [x0, #:lo12:.LANCHOR81] - cbz w0, .L968 - adrp x0, .LANCHOR82 - ldrb w0, [x0, #:lo12:.LANCHOR82] - cbnz w0, .L968 + cbnz w0, .L958 ldr w2, [x29, 112] cmp w20, 0 cset w1, eq mov w0, w19 bl flash_erase_block_en -.L968: +.L958: ldr w2, [x29, 112] mov w1, w20 mov w0, w19 bl flash_erase_block_en - b .L964 -.L969: + b .L954 +.L959: adrp x2, .LANCHOR110 - ldr x3, [x23, #:lo12:.LANCHOR7] - cbnz w20, .L971 + ldr x3, [x23, #:lo12:.LANCHOR9] + cbnz w20, .L961 ldrh w1, [x3, x22] add w0, w1, 1 and w0, w0, 2047 @@ -5689,9 +5788,9 @@ ftl_erase_sblk: str w2, [x1, 84] ldrh w2, [x1, 96] cmp w2, w0 - bge .L973 + bge .L963 strh w0, [x1, 96] -.L973: +.L963: ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -5700,7 +5799,7 @@ ftl_erase_sblk: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 176 ret -.L971: +.L961: ldr w1, [x3, x22] ubfx x0, x1, 11, 8 add w0, w0, 1 @@ -5714,9 +5813,9 @@ ftl_erase_sblk: str w2, [x1, 80] ldrh w2, [x1, 98] cmp w2, w0 - bcs .L973 + bcs .L963 strh w0, [x1, 98] - b .L973 + b .L963 .size ftl_erase_sblk, .-ftl_erase_sblk .section .text.ftl_alloc_sys_blk,"ax",@progbits .align 2 @@ -5731,37 +5830,37 @@ ftl_alloc_sys_blk: str x19, [sp, 16] mov x19, x0 cmp w2, 63 - bls .L983 + bls .L973 strh wzr, [x1, 136] -.L983: +.L973: ldrh w0, [x1, 112] - cbnz w0, .L984 + cbnz w0, .L974 adrp x1, .LANCHOR113 adrp x0, .LC0 - mov w2, 1283 + mov w2, 1359 add x1, x1, :lo12:.LANCHOR113 add x0, x0, :lo12:.LC0 bl printf -.L984: +.L974: ldr x1, [x19, #:lo12:.LANCHOR110] mov w5, 65535 -.L987: +.L977: ldrh w2, [x1, 136] -.L985: +.L975: mov w3, w2 cmp w2, 63 - ble .L986 + ble .L976 strh wzr, [x1, 136] - b .L987 -.L986: + b .L977 +.L976: add x4, x2, 1 add x0, x1, x4, lsl 1 ldrh w0, [x0, 158] cmp w0, w5 - bne .L990 + bne .L980 mov x2, x4 - b .L985 -.L990: + b .L975 +.L980: add x3, x1, x3, sxtw 1 mov w4, -1 ldr x19, [sp, 16] @@ -5787,35 +5886,35 @@ ftl_free_sys_blk: ldr x1, [x0, #:lo12:.LANCHOR110] ldrh w2, [x1, 138] cmp w2, 63 - bls .L993 + bls .L983 strh wzr, [x1, 138] -.L993: +.L983: ldrh w0, [x1, 112] cmp w0, 63 - bls .L994 + bls .L984 adrp x1, .LANCHOR114 adrp x0, .LC0 - mov w2, 1310 + mov w2, 1386 add x1, x1, :lo12:.LANCHOR114 add x0, x0, :lo12:.LC0 bl printf -.L994: +.L984: ldr x0, [x19, #:lo12:.LANCHOR110] mov w4, 65535 -.L997: +.L987: ldrh w1, [x0, 138] -.L995: +.L985: mov w2, w1 cmp w1, 63 - ble .L996 + ble .L986 strh wzr, [x0, 138] - b .L997 -.L996: + b .L987 +.L986: add x3, x1, 1 add x5, x0, x3, lsl 1 ldrh w5, [x5, 158] cmp w5, w4 - bne .L998 + bne .L988 add x2, x0, x2, sxtw 1 strh w20, [x2, 160] strh w1, [x0, 138] @@ -5825,9 +5924,9 @@ ftl_free_sys_blk: strh w1, [x0, 112] ldp x29, x30, [sp], 32 ret -.L998: +.L988: mov x1, x3 - b .L995 + b .L985 .size ftl_free_sys_blk, .-ftl_free_sys_blk .section .text.ftl_info_data_recovery,"ax",@progbits .align 2 @@ -5837,18 +5936,18 @@ ftl_info_data_recovery: ldrh w2, [x0] mov w1, 65535 cmp w2, w1 - beq .L1011 + beq .L1001 stp x29, x30, [sp, -48]! - adrp x1, .LANCHOR7 + adrp x1, .LANCHOR9 add x29, sp, 0 stp x19, x20, [sp, 16] ubfiz x19, x2, 2, 16 - ldr x20, [x1, #:lo12:.LANCHOR7] + ldr x20, [x1, #:lo12:.LANCHOR9] str x21, [sp, 32] add x21, x20, x19 ldrb w1, [x21, 2] tst w1, 224 - bne .L1001 + bne .L991 ldrb w0, [x0, 4] bfi w1, w0, 5, 3 strb w1, [x21, 2] @@ -5857,14 +5956,14 @@ ftl_info_data_recovery: ldrb w0, [x21, 2] adrp x1, .LANCHOR110 ldr x3, [x1, #:lo12:.LANCHOR110] - tbz x0, 3, .L1005 + tbz x0, 3, .L995 ldrh w2, [x3, 116] sub w2, w2, #1 strh w2, [x3, 116] -.L1006: +.L996: and w0, w0, 224 cmp w0, 160 - bne .L1008 + bne .L998 ldr w0, [x20, x19] ldr x1, [x1, #:lo12:.LANCHOR110] ubfx x2, x0, 11, 8 @@ -5874,44 +5973,44 @@ ftl_info_data_recovery: ldrh w0, [x1, 120] sub w0, w0, #1 strh w0, [x1, 120] -.L1001: +.L991: ldp x19, x20, [sp, 16] ldr x21, [sp, 32] ldp x29, x30, [sp], 48 ret -.L1005: +.L995: tst w0, 24 - bne .L1007 + bne .L997 ldrh w2, [x3, 114] sub w2, w2, #1 strh w2, [x3, 114] - b .L1006 -.L1007: + b .L996 +.L997: ldrh w2, [x3, 118] sub w2, w2, #1 strh w2, [x3, 118] - b .L1006 -.L1008: + b .L996 +.L998: ldrh w2, [x20, x19] cmp w0, 64 add w3, w2, 1 bfi w2, w3, 0, 11 strh w2, [x20, x19] - bne .L1009 + bne .L999 ldr x1, [x1, #:lo12:.LANCHOR110] ldrh w0, [x1, 122] sub w0, w0, #1 strh w0, [x1, 122] - b .L1001 -.L1009: + b .L991 +.L999: cmp w0, 96 - bne .L1001 + bne .L991 ldr x1, [x1, #:lo12:.LANCHOR110] ldrh w0, [x1, 124] sub w0, w0, #1 strh w0, [x1, 124] - b .L1001 -.L1011: + b .L991 +.L1001: ret .size ftl_info_data_recovery, .-ftl_info_data_recovery .section .text.ftl_get_ppa_from_index,"ax",@progbits @@ -5920,20 +6019,20 @@ ftl_info_data_recovery: .type ftl_get_ppa_from_index, %function ftl_get_ppa_from_index: stp x29, x30, [sp, -32]! - adrp x1, .LANCHOR10 - adrp x3, .LANCHOR80 + adrp x1, .LANCHOR12 + adrp x3, .LANCHOR79 and w0, w0, 65535 add x29, sp, 0 - ldr x2, [x1, #:lo12:.LANCHOR10] - adrp x1, .LANCHOR95 - ldrb w3, [x3, #:lo12:.LANCHOR80] - ldrh w1, [x1, #:lo12:.LANCHOR95] + ldr x2, [x1, #:lo12:.LANCHOR12] + adrp x1, .LANCHOR94 + ldrb w3, [x3, #:lo12:.LANCHOR79] + ldrh w1, [x1, #:lo12:.LANCHOR94] stp x19, x20, [sp, 16] mul w1, w1, w3 cmp w0, w1 - bge .L1015 + bge .L1005 add x2, x2, 16 -.L1016: +.L1006: ldrb w1, [x2, 9] sdiv w19, w0, w1 msub w0, w19, w1, w0 @@ -5941,25 +6040,25 @@ ftl_get_ppa_from_index: ldrh w20, [x0, 16] mov w0, 65535 cmp w20, w0 - bne .L1017 + bne .L1007 adrp x1, .LANCHOR115 adrp x0, .LC0 - mov w2, 1937 + mov w2, 1945 add x1, x1, :lo12:.LANCHOR115 add x0, x0, :lo12:.LC0 bl printf -.L1017: +.L1007: adrp x0, .LANCHOR111 ldrh w0, [x0, #:lo12:.LANCHOR111] madd w0, w0, w20, w19 ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret -.L1015: +.L1005: sub w0, w0, w1 add x2, x2, 48 and w0, w0, 65535 - b .L1016 + b .L1006 .size ftl_get_ppa_from_index, .-ftl_get_ppa_from_index .section .text.lpa_hash_get_ppa,"ax",@progbits .align 2 @@ -5975,21 +6074,21 @@ lpa_hash_get_ppa: ldr x4, [x2, #:lo12:.LANCHOR117] adrp x2, .LANCHOR118 ldr x5, [x2, #:lo12:.LANCHOR118] -.L1020: +.L1010: cmp w1, w3 - bne .L1022 + bne .L1012 mov w0, -1 ret -.L1022: +.L1012: uxtw x2, w1 ldr w6, [x4, x2, lsl 2] cmp w0, w6 - bne .L1021 + bne .L1011 mov w0, w1 b ftl_get_ppa_from_index -.L1021: +.L1011: ldrh w1, [x5, x2, lsl 1] - b .L1020 + b .L1010 .size lpa_hash_get_ppa, .-lpa_hash_get_ppa .section .text.ftl_get_new_free_page,"ax",@progbits .align 2 @@ -6003,45 +6102,45 @@ ftl_get_new_free_page: mov x19, x0 mov w0, 65535 cmp w1, w0 - bne .L1024 + bne .L1014 adrp x1, .LANCHOR119 adrp x0, .LC0 - mov w2, 2080 + mov w2, 2088 add x1, x1, :lo12:.LANCHOR119 add x0, x0, :lo12:.LC0 bl printf -.L1024: - adrp x0, .LANCHOR95 +.L1014: + adrp x0, .LANCHOR94 ldrh w1, [x19, 2] - ldrh w0, [x0, #:lo12:.LANCHOR95] + ldrh w0, [x0, #:lo12:.LANCHOR94] cmp w1, w0 - bne .L1025 + bne .L1015 adrp x1, .LANCHOR119 adrp x0, .LC0 - mov w2, 2081 + mov w2, 2089 add x1, x1, :lo12:.LANCHOR119 add x0, x0, :lo12:.LC0 bl printf -.L1025: +.L1015: ldrh w0, [x19, 6] - cbnz w0, .L1026 + cbnz w0, .L1016 adrp x1, .LANCHOR119 adrp x0, .LC0 - mov w2, 2082 + mov w2, 2090 add x1, x1, :lo12:.LANCHOR119 add x0, x0, :lo12:.LC0 bl printf -.L1026: +.L1016: ldrb w0, [x19, 5] mov w2, 65535 add x0, x0, 8 ldrh w3, [x19, x0, lsl 1] - adrp x0, .LANCHOR80 - ldrb w4, [x0, #:lo12:.LANCHOR80] -.L1027: + adrp x0, .LANCHOR79 + ldrb w4, [x0, #:lo12:.LANCHOR79] +.L1017: cmp w3, w2 ldrb w1, [x19, 5] - beq .L1029 + beq .L1019 adrp x0, .LANCHOR111 add w1, w1, 1 and w1, w1, 255 @@ -6057,29 +6156,29 @@ ftl_get_new_free_page: orr w0, w0, w2 add w3, w3, 1 strh w3, [x19, 10] - bne .L1023 + bne .L1013 add w2, w2, 1 strb wzr, [x19, 5] strh w2, [x19, 2] -.L1023: +.L1013: ldr x19, [sp, 16] ldp x29, x30, [sp], 32 ret -.L1029: +.L1019: add w1, w1, 1 and w1, w1, 255 strb w1, [x19, 5] cmp w1, w4 - bne .L1028 + bne .L1018 ldrh w0, [x19, 2] strb wzr, [x19, 5] add w0, w0, 1 strh w0, [x19, 2] -.L1028: +.L1018: ldrb w0, [x19, 5] add x0, x0, 8 ldrh w3, [x19, x0, lsl 1] - b .L1027 + b .L1017 .size ftl_get_new_free_page, .-ftl_get_new_free_page .section .text.ftl_ext_alloc_new_blk,"ax",@progbits .align 2 @@ -6095,14 +6194,14 @@ ftl_ext_alloc_new_blk: mov w19, w0 sub w0, w0, #1 cmp w1, w0, uxth - bcs .L1033 + bcs .L1023 adrp x1, .LANCHOR120 adrp x0, .LC0 - mov w2, 2117 + mov w2, 2125 add x1, x1, :lo12:.LANCHOR120 add x0, x0, :lo12:.LC0 bl printf -.L1033: +.L1023: adrp x20, .LANCHOR110 mov w1, 0 mov w0, w19 @@ -6127,54 +6226,54 @@ ftl_total_vpn_update: mov x3, x2 ldrh w1, [x2, #:lo12:.LANCHOR121] cmp w1, 4 - bhi .L1036 - cbnz w0, .L1036 + bhi .L1026 + cbnz w0, .L1026 add w1, w1, 1 strh w1, [x2, #:lo12:.LANCHOR121] ret -.L1036: - adrp x0, .LANCHOR6 +.L1026: + adrp x0, .LANCHOR8 strh wzr, [x3, #:lo12:.LANCHOR121] mov x1, 0 mov w2, 0 - ldrh w5, [x0, #:lo12:.LANCHOR6] - adrp x0, .LANCHOR9 + ldrh w5, [x0, #:lo12:.LANCHOR8] + adrp x0, .LANCHOR11 mov w8, 65535 - ldr x6, [x0, #:lo12:.LANCHOR9] - adrp x0, .LANCHOR7 - ldr x7, [x0, #:lo12:.LANCHOR7] + ldr x6, [x0, #:lo12:.LANCHOR11] + adrp x0, .LANCHOR9 + ldr x7, [x0, #:lo12:.LANCHOR9] mov w0, 0 -.L1038: +.L1028: cmp w5, w1, uxth - bhi .L1041 - adrp x1, .LANCHOR10 - ldr x1, [x1, #:lo12:.LANCHOR10] + bhi .L1031 + adrp x1, .LANCHOR12 + ldr x1, [x1, #:lo12:.LANCHOR12] str w2, [x1, 524] adrp x2, .LANCHOR110 str w0, [x1, 528] ldr x2, [x2, #:lo12:.LANCHOR110] ldrh w2, [x2, 120] - cbz w2, .L1035 + cbz w2, .L1025 udiv w0, w0, w2 str w0, [x1, 532] -.L1035: +.L1025: ret -.L1041: +.L1031: ldrh w3, [x6, x1, lsl 1] cmp w3, w8 - beq .L1039 + beq .L1029 add x4, x7, x1, lsl 2 ldrb w4, [x4, 2] and w4, w4, 224 cmp w4, 160 - bne .L1040 + bne .L1030 add w0, w0, w3 -.L1039: +.L1029: add x1, x1, 1 - b .L1038 -.L1040: + b .L1028 +.L1030: add w2, w2, w3 - b .L1039 + b .L1029 .size ftl_total_vpn_update, .-ftl_total_vpn_update .section .text.ftl_vpn_update,"ax",@progbits .align 2 @@ -6187,21 +6286,21 @@ ftl_vpn_update: and w19, w0, 65535 mov w0, w19 bl zftl_list_update_data_list - adrp x0, .LANCHOR9 + adrp x0, .LANCHOR11 ubfiz x19, x19, 1, 16 - ldr x0, [x0, #:lo12:.LANCHOR9] + ldr x0, [x0, #:lo12:.LANCHOR11] ldrh w0, [x0, x19] - cbnz w0, .L1048 + cbnz w0, .L1038 adrp x1, .LANCHOR122 mov w0, 1 str w0, [x1, #:lo12:.LANCHOR122] -.L1046: +.L1036: ldr x19, [sp, 16] ldp x29, x30, [sp], 32 ret -.L1048: +.L1038: mov w0, 0 - b .L1046 + b .L1036 .size ftl_vpn_update, .-ftl_vpn_update .section .text.ftl_vpn_decrement,"ax",@progbits .align 2 @@ -6214,16 +6313,16 @@ ftl_vpn_decrement: and w19, w0, 65535 mov w0, 65535 cmp w19, w0 - beq .L1051 - adrp x0, .LANCHOR9 + beq .L1041 + adrp x0, .LANCHOR11 uxtw x1, w19 lsl x2, x1, 1 - ldr x3, [x0, #:lo12:.LANCHOR9] + ldr x3, [x0, #:lo12:.LANCHOR11] ldrh w0, [x3, x2] - cbnz w0, .L1052 - adrp x0, .LANCHOR7 + cbnz w0, .L1042 + adrp x0, .LANCHOR9 mov w2, 0 - ldr x0, [x0, #:lo12:.LANCHOR7] + ldr x0, [x0, #:lo12:.LANCHOR9] add x1, x0, x1, lsl 2 adrp x0, .LC65 add x0, x0, :lo12:.LC65 @@ -6231,40 +6330,40 @@ ftl_vpn_decrement: mov w1, w19 ubfx x3, x3, 5, 3 bl printf -.L1057: +.L1047: mov w0, 0 - b .L1050 -.L1052: + b .L1040 +.L1042: sub w0, w0, #1 strh w0, [x3, x2] -.L1051: - adrp x20, .LANCHOR73 - ldrh w0, [x20, #:lo12:.LANCHOR73] +.L1041: + adrp x20, .LANCHOR72 + ldrh w0, [x20, #:lo12:.LANCHOR72] cmp w19, w0 - beq .L1057 + beq .L1047 mov w1, 65535 cmp w0, w1 - bne .L1054 - strh w19, [x20, #:lo12:.LANCHOR73] - b .L1057 -.L1054: + bne .L1044 + strh w19, [x20, #:lo12:.LANCHOR72] + b .L1047 +.L1044: bl ftl_vpn_update cmp w0, 0 adrp x1, .LANCHOR123 cset w0, ne - ldrh w3, [x20, #:lo12:.LANCHOR73] + ldrh w3, [x20, #:lo12:.LANCHOR72] ldrh w2, [x1, #:lo12:.LANCHOR123] - strh w19, [x20, #:lo12:.LANCHOR73] + strh w19, [x20, #:lo12:.LANCHOR72] add w2, w2, 1 and w2, w2, 65535 cmp w2, 7 csel w2, w2, wzr, ls strh w2, [x1, #:lo12:.LANCHOR123] and x2, x2, 65535 - adrp x1, .LANCHOR74 - add x1, x1, :lo12:.LANCHOR74 + adrp x1, .LANCHOR73 + add x1, x1, :lo12:.LANCHOR73 strh w3, [x1, x2, lsl 1] -.L1050: +.L1040: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret @@ -6285,27 +6384,27 @@ lpa_hash_update_ppa: ldr x8, [x4, #:lo12:.LANCHOR117] adrp x4, .LANCHOR118 ldr x4, [x4, #:lo12:.LANCHOR118] -.L1060: +.L1050: cmp w6, w12 - beq .L1064 + beq .L1054 uxtw x11, w6 lsl x10, x11, 2 add x13, x8, x10 ldr w10, [x8, x10] cmp w0, w10 lsl x10, x11, 1 - bne .L1061 + bne .L1051 mov w6, -1 str w6, [x13] cmp w7, w12 - bne .L1062 + bne .L1052 add x6, x3, :lo12:.LANCHOR116 ldrh w7, [x4, x10] strh w7, [x6, x5, lsl 1] -.L1063: +.L1053: mov w6, -1 strh w6, [x4, x11, lsl 1] -.L1064: +.L1054: uxtw x6, w2 add x3, x3, :lo12:.LANCHOR116 cmn w1, #1 @@ -6313,13 +6412,13 @@ lpa_hash_update_ppa: ldrh w0, [x3, x5, lsl 1] strh w2, [x3, x5, lsl 1] strh w0, [x4, x6, lsl 1] - beq .L1071 + beq .L1061 stp x29, x30, [sp, -16]! - adrp x0, .LANCHOR75 + adrp x0, .LANCHOR74 add x29, sp, 0 - ldrh w3, [x0, #:lo12:.LANCHOR75] - adrp x0, .LANCHOR32 - ldrb w2, [x0, #:lo12:.LANCHOR32] + ldrh w3, [x0, #:lo12:.LANCHOR74] + adrp x0, .LANCHOR31 + ldrb w2, [x0, #:lo12:.LANCHOR31] mov w0, 24 lsr w1, w1, w3 sub w0, w0, w2 @@ -6328,22 +6427,22 @@ lpa_hash_update_ppa: lsl w0, w0, w2 sub w0, w0, #1 and w1, w0, w1 - adrp x0, .LANCHOR76 - ldrb w0, [x0, #:lo12:.LANCHOR76] + adrp x0, .LANCHOR75 + ldrb w0, [x0, #:lo12:.LANCHOR75] udiv w0, w1, w0 bl ftl_vpn_decrement mov w0, -1 ldp x29, x30, [sp], 16 ret -.L1062: +.L1052: ldrh w6, [x4, x10] strh w6, [x4, w7, uxtw 1] - b .L1063 -.L1061: + b .L1053 +.L1051: mov w7, w6 ldrh w6, [x4, x10] - b .L1060 -.L1071: + b .L1050 +.L1061: mov w0, -1 ret .size lpa_hash_update_ppa, .-lpa_hash_update_ppa @@ -6353,25 +6452,25 @@ lpa_hash_update_ppa: .type ftl_mask_bad_block, %function ftl_mask_bad_block: stp x29, x30, [sp, -32]! - adrp x1, .LANCHOR32 + adrp x1, .LANCHOR31 mov w6, 24 mov w4, 1 add x29, sp, 0 - ldrb w1, [x1, #:lo12:.LANCHOR32] + ldrb w1, [x1, #:lo12:.LANCHOR31] stp x19, x20, [sp, 16] sub w6, w6, w1 lsl w1, w4, w1 sub w1, w1, #1 lsr w2, w0, w6 and w1, w1, w2 - adrp x2, .LANCHOR76 + adrp x2, .LANCHOR75 and w1, w1, 255 - ldrb w5, [x2, #:lo12:.LANCHOR76] + ldrb w5, [x2, #:lo12:.LANCHOR75] cmp w5, 1 mul w2, w1, w5 and w19, w2, 255 - adrp x2, .LANCHOR75 - ldrh w3, [x2, #:lo12:.LANCHOR75] + adrp x2, .LANCHOR74 + ldrh w3, [x2, #:lo12:.LANCHOR74] lsr w0, w0, w3 sub w3, w6, w3 lsl w3, w4, w3 @@ -6380,34 +6479,34 @@ ftl_mask_bad_block: and w4, w3, 65535 udiv w3, w3, w5 and w20, w3, 65535 - bls .L1075 + bls .L1065 sub w2, w5, #1 and w2, w2, w4 add w2, w19, w2 and w19, w2, 255 -.L1075: - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 14, .L1076 +.L1065: + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 14, .L1066 adrp x0, .LC66 and w3, w3, 65535 mov w2, w19 add x0, x0, :lo12:.LC66 bl printf -.L1076: - adrp x0, .LANCHOR6 - ldrh w0, [x0, #:lo12:.LANCHOR6] +.L1066: + adrp x0, .LANCHOR8 + ldrh w0, [x0, #:lo12:.LANCHOR8] cmp w0, w20 - bls .L1074 - adrp x0, .LANCHOR7 + bls .L1064 + adrp x0, .LANCHOR9 mov w2, 1 lsl w2, w2, w19 - ldr x0, [x0, #:lo12:.LANCHOR7] + ldr x0, [x0, #:lo12:.LANCHOR9] add x20, x0, x20, uxth 2 ldrb w19, [x20, 3] orr w2, w2, w19 strb w2, [x20, 3] -.L1074: +.L1064: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret @@ -6422,24 +6521,24 @@ gc_free_bad_sblk: stp x23, x24, [sp, 48] and w23, w0, 65535 str x27, [sp, 80] - adrp x27, .LANCHOR71 - add x0, x27, :lo12:.LANCHOR71 + adrp x27, .LANCHOR70 + add x0, x27, :lo12:.LANCHOR70 stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] stp x25, x26, [sp, 64] - ldr w0, [x0, 2120] - cbz w0, .L1097 + ldr w0, [x0, 2200] + cbz w0, .L1087 adrp x22, .LC67 mov w24, 20041 add x22, x22, :lo12:.LC67 mov w26, 0 movk w24, 0x444b, lsl 16 -.L1084: - adrp x0, .LANCHOR80 - ldrb w0, [x0, #:lo12:.LANCHOR80] +.L1074: + adrp x0, .LANCHOR79 + ldrb w0, [x0, #:lo12:.LANCHOR79] cmp w0, w26 - bhi .L1094 -.L1097: + bhi .L1084 +.L1087: mov w0, 0 ldr x27, [sp, 80] ldp x19, x20, [sp, 16] @@ -6448,84 +6547,84 @@ gc_free_bad_sblk: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 96 ret -.L1094: - adrp x0, .LANCHOR76 - adrp x1, .LANCHOR32 - adrp x21, .LANCHOR75 - ldrb w2, [x0, #:lo12:.LANCHOR76] - ldrb w3, [x1, #:lo12:.LANCHOR32] +.L1084: + adrp x0, .LANCHOR75 + adrp x1, .LANCHOR31 + adrp x21, .LANCHOR74 + ldrb w2, [x0, #:lo12:.LANCHOR75] + ldrb w3, [x1, #:lo12:.LANCHOR31] mov w1, 24 and w0, w2, 65535 cmp w2, 1 sub w1, w1, w3 - ldrh w3, [x21, #:lo12:.LANCHOR75] + ldrh w3, [x21, #:lo12:.LANCHOR74] sdiv w19, w26, w2 sub w1, w1, w3 lsl w19, w19, w1 madd w19, w23, w0, w19 and w19, w19, 65535 - bls .L1085 + bls .L1075 sub w0, w0, #1 and w0, w0, w26 add w19, w19, w0 and w19, w19, 65535 -.L1085: +.L1075: adrp x25, .LANCHOR124 add x25, x25, :lo12:.LANCHOR124 mov w20, 0 -.L1086: - add x0, x27, :lo12:.LANCHOR71 - ldr w1, [x0, 2120] +.L1076: + add x0, x27, :lo12:.LANCHOR70 + ldr w1, [x0, 2200] cmp w20, w1 - bcc .L1093 + bcc .L1083 add w26, w26, 1 and w26, w26, 65535 - b .L1084 -.L1093: + b .L1074 +.L1083: add x0, x0, x20, sxtw 1 - ldrh w0, [x0, 2124] + ldrh w0, [x0, 2204] cmp w0, w19 - bne .L1087 + bne .L1077 mov w1, w19 mov x0, x22 bl printf ldrb w0, [x25] - cbnz w0, .L1088 - adrp x0, .LANCHOR81 - ldrb w0, [x0, #:lo12:.LANCHOR81] - cbz w0, .L1089 -.L1088: + cbnz w0, .L1078 + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbz w0, .L1079 +.L1078: adrp x0, .LANCHOR110 ldr x0, [x0, #:lo12:.LANCHOR110] ldr w0, [x0, 156] cmp w0, w24 - beq .L1090 -.L1089: - ldrh w0, [x21, #:lo12:.LANCHOR75] + beq .L1080 +.L1079: + ldrh w0, [x21, #:lo12:.LANCHOR74] lsl w0, w19, w0 bl ftl_mask_bad_block -.L1090: - add x1, x27, :lo12:.LANCHOR71 +.L1080: + add x1, x27, :lo12:.LANCHOR70 mov w0, w20 - ldr w2, [x1, 2120] -.L1091: + ldr w2, [x1, 2200] +.L1081: cmp w0, w2 - bcc .L1092 - add x0, x27, :lo12:.LANCHOR71 + bcc .L1082 + add x0, x27, :lo12:.LANCHOR70 sub w2, w2, #1 - str w2, [x0, 2120] -.L1087: + str w2, [x0, 2200] +.L1077: add w20, w20, 1 and w20, w20, 65535 - b .L1086 -.L1092: + b .L1076 +.L1082: add w3, w0, 1 add x0, x1, x0, sxtw 1 add x4, x1, x3, sxtw 1 - ldrh w4, [x4, 2124] - strh w4, [x0, 2124] + ldrh w4, [x4, 2204] + strh w4, [x0, 2204] and w0, w3, 65535 - b .L1091 + b .L1081 .size gc_free_bad_sblk, .-gc_free_bad_sblk .section .text.ftl_free_sblk,"ax",@progbits .align 2 @@ -6535,17 +6634,17 @@ ftl_free_sblk: stp x29, x30, [sp, -64]! add x29, sp, 0 stp x23, x24, [sp, 48] - adrp x23, .LANCHOR7 + adrp x23, .LANCHOR9 and x24, x0, 65535 stp x19, x20, [sp, 16] - ldr x3, [x23, #:lo12:.LANCHOR7] + ldr x3, [x23, #:lo12:.LANCHOR9] lsl x19, x24, 2 stp x21, x22, [sp, 32] mov x21, x24 add x20, x3, x19 ldrb w0, [x20, 2] ubfx x22, x0, 5, 3 - tbz x0, 3, .L1104 + tbz x0, 3, .L1094 adrp x2, .LANCHOR110 ldrh w1, [x3, x19] adrp x8, .LANCHOR125 @@ -6555,9 +6654,9 @@ ftl_free_sblk: ldrh w8, [x8, #:lo12:.LANCHOR125] ldrh w4, [x7, 74] ubfx x5, x2, 11, 8 - adrp x2, .LANCHOR8 + adrp x2, .LANCHOR10 add w4, w1, w4 - ldrh w2, [x2, #:lo12:.LANCHOR8] + ldrh w2, [x2, #:lo12:.LANCHOR10] and w6, w4, 65535 ldrh w4, [x7, 72] add w4, w5, w4 @@ -6565,22 +6664,22 @@ ftl_free_sblk: and w4, w4, 65535 add w7, w7, w4 cmp w7, w8 - ble .L1105 + ble .L1095 adrp x4, .LANCHOR101 adrp x7, .LANCHOR105 ldrh w6, [x4, #:lo12:.LANCHOR101] - adrp x4, .LANCHOR93 + adrp x4, .LANCHOR91 ldrh w7, [x7, #:lo12:.LANCHOR105] - ldrh w4, [x4, #:lo12:.LANCHOR93] + ldrh w4, [x4, #:lo12:.LANCHOR91] add w6, w6, 7 add w4, w4, w7 cmp w6, w4 - blt .L1106 -.L1111: + blt .L1096 +.L1101: mov w4, 2 bfi w0, w4, 3, 2 - b .L1122 -.L1106: + b .L1112 +.L1096: adrp x4, .LANCHOR98 adrp x7, .LANCHOR103 ldrh w6, [x4, #:lo12:.LANCHOR98] @@ -6593,15 +6692,15 @@ ftl_free_sblk: ldrh w7, [x7, #:lo12:.LANCHOR99] add w4, w4, w7 cmp w6, w4 - blt .L1111 -.L1124: + blt .L1101 +.L1114: and w0, w0, -25 -.L1122: +.L1112: strb w0, [x20, 2] -.L1107: +.L1097: ldrb w0, [x20, 2] ands w0, w0, 24 - bne .L1112 + bne .L1102 mul w2, w5, w2 ldrh w0, [x3, x19] add w2, w2, w2, lsl 1 @@ -6612,10 +6711,10 @@ ftl_free_sblk: ldr w0, [x3, x19] bfi w0, w2, 11, 8 str w0, [x3, x19] -.L1113: +.L1103: mov w0, w21 bl zftl_remove_data_node - ldr x0, [x23, #:lo12:.LANCHOR7] + ldr x0, [x23, #:lo12:.LANCHOR9] add w22, w22, 6 and w22, w22, 7 add x19, x0, x19 @@ -6623,26 +6722,26 @@ ftl_free_sblk: ldrb w0, [x19, 2] and w0, w0, 31 strb w0, [x19, 2] - adrp x0, .LANCHOR9 - ldr x0, [x0, #:lo12:.LANCHOR9] + adrp x0, .LANCHOR11 + ldr x0, [x0, #:lo12:.LANCHOR11] strh wzr, [x0, x24, lsl 1] - bhi .L1116 + bhi .L1106 mov w0, w21 bl gc_free_bad_sblk -.L1116: +.L1106: ldrb w0, [x20, 2] - tbz x0, 3, .L1117 - adrp x0, .LANCHOR10 - ldr x0, [x0, #:lo12:.LANCHOR10] + tbz x0, 3, .L1107 + adrp x0, .LANCHOR12 + ldr x0, [x0, #:lo12:.LANCHOR12] ldrh w1, [x0, 586] cmp w1, w21 - bne .L1117 + bne .L1107 mov w1, -1 ldrh w2, [x0, 590] strh w1, [x0, 586] mov w1, 65535 cmp w2, w1 - bne .L1117 + bne .L1107 strh w21, [x0, 590] mov w1, w21 ldp x19, x20, [sp, 16] @@ -6652,12 +6751,12 @@ ftl_free_sblk: ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 64 b printf -.L1105: +.L1095: madd w4, w2, w4, w6 adrp x6, .LANCHOR126 ldrh w6, [x6, #:lo12:.LANCHOR126] cmp w4, w6 - ble .L1107 + ble .L1097 adrp x4, .LANCHOR98 adrp x7, .LANCHOR103 ldrh w6, [x4, #:lo12:.LANCHOR98] @@ -6670,45 +6769,45 @@ ftl_free_sblk: add w4, w4, w7 add w7, w6, 7 cmp w7, w4 - bge .L1124 + bge .L1114 adrp x7, .LANCHOR101 adrp x10, .LANCHOR105 ldrh w8, [x7, #:lo12:.LANCHOR101] - adrp x7, .LANCHOR93 + adrp x7, .LANCHOR91 ldrh w10, [x10, #:lo12:.LANCHOR105] - ldrh w7, [x7, #:lo12:.LANCHOR93] + ldrh w7, [x7, #:lo12:.LANCHOR91] add w8, w8, 7 add w7, w7, w10 cmp w8, w7 - bge .L1111 + bge .L1101 add w6, w6, 23 cmp w4, w6 - bgt .L1111 - b .L1124 -.L1112: + bgt .L1101 + b .L1114 +.L1102: cmp w0, 16 - bne .L1113 + bne .L1103 sdiv w2, w1, w2 ldr w0, [x3, x19] add w2, w2, w2, lsl 1 add w2, w5, w2, lsr 2 -.L1123: +.L1113: bfi w0, w2, 11, 8 asr w1, w1, 5 str w0, [x3, x19] bfi w0, w1, 0, 11 strh w0, [x3, x19] - b .L1113 -.L1104: + b .L1103 +.L1094: tst w0, 24 - bne .L1113 + bne .L1103 adrp x1, .LANCHOR107 ldrh w1, [x1, #:lo12:.LANCHOR107] - cbnz w1, .L1113 + cbnz w1, .L1103 adrp x1, .LANCHOR105 ldrh w4, [x1, #:lo12:.LANCHOR105] cmp w4, 15 - bhi .L1113 + bhi .L1103 adrp x1, .LANCHOR97 adrp x2, .LANCHOR103 ldrh w1, [x1, #:lo12:.LANCHOR97] @@ -6721,29 +6820,29 @@ ftl_free_sblk: ldrh w2, [x2, #:lo12:.LANCHOR98] add w2, w2, 16 cmp w1, w2 - ble .L1113 + ble .L1103 adrp x1, .LANCHOR101 ldrh w2, [x1, #:lo12:.LANCHOR101] - adrp x1, .LANCHOR93 - ldrh w1, [x1, #:lo12:.LANCHOR93] + adrp x1, .LANCHOR91 + ldrh w1, [x1, #:lo12:.LANCHOR91] add w2, w2, 7 add w1, w1, w4 cmp w2, w1 - blt .L1113 + blt .L1103 mov w1, 2 bfi w0, w1, 3, 2 strb w0, [x20, 2] - adrp x0, .LANCHOR8 + adrp x0, .LANCHOR10 ldrh w1, [x3, x19] - ldrh w0, [x0, #:lo12:.LANCHOR8] + ldrh w0, [x0, #:lo12:.LANCHOR10] and w1, w1, 2047 sdiv w0, w1, w0 add w2, w0, w0, lsl 1 ldr w0, [x3, x19] ubfx x4, x0, 11, 8 add w2, w4, w2, lsr 2 - b .L1123 -.L1117: + b .L1113 +.L1107: mov w0, w21 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -6759,20 +6858,20 @@ gc_free_src_blk: stp x29, x30, [sp, -80]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR71 + adrp x21, .LANCHOR70 stp x23, x24, [sp, 48] adrp x22, .LC69 - adrp x23, .LANCHOR9 - add x21, x21, :lo12:.LANCHOR71 + adrp x23, .LANCHOR11 + add x21, x21, :lo12:.LANCHOR70 mov x24, x23 add x22, x22, :lo12:.LC69 stp x19, x20, [sp, 16] mov w20, 0 stp x25, x26, [sp, 64] -.L1126: +.L1116: ldrh w0, [x21, 56] cmp w0, w20 - bhi .L1140 + bhi .L1130 strh wzr, [x21, 56] ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -6780,114 +6879,114 @@ gc_free_src_blk: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 80 ret -.L1140: +.L1130: add x0, x21, x20, sxtw 1 ldrh w25, [x0, 58] - ldr x0, [x23, #:lo12:.LANCHOR9] + ldr x0, [x23, #:lo12:.LANCHOR11] mov x19, x25 lsl x26, x25, 1 ldrh w2, [x0, x26] - cbz w2, .L1127 + cbz w2, .L1117 mov w1, w25 mov x0, x22 bl printf -.L1127: - ldr x0, [x24, #:lo12:.LANCHOR9] +.L1117: + ldr x0, [x24, #:lo12:.LANCHOR11] strh wzr, [x0, x26] - adrp x0, .LANCHOR7 - ldr x0, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR9 + ldr x0, [x0, #:lo12:.LANCHOR9] add x25, x0, x25, lsl 2 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L1128 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L1118 ldrb w2, [x25, 2] adrp x0, .LC70 mov w1, w19 add x0, x0, :lo12:.LC70 ubfx x2, x2, 5, 3 bl printf -.L1128: +.L1118: ldrb w0, [x25, 2] and w1, w0, 224 cmp w1, 224 - beq .L1129 + beq .L1119 tst w0, 192 - bne .L1130 -.L1129: + bne .L1120 +.L1119: adrp x1, .LANCHOR127 adrp x0, .LC0 - mov w2, 1362 + mov w2, 1363 add x1, x1, :lo12:.LANCHOR127 add x0, x0, :lo12:.LC0 bl printf -.L1130: +.L1120: mov w0, w19 bl ftl_free_sblk - adrp x0, .LANCHOR10 - ldr x0, [x0, #:lo12:.LANCHOR10] + adrp x0, .LANCHOR12 + ldr x0, [x0, #:lo12:.LANCHOR12] ldrh w2, [x0, 124] - cbz w2, .L1131 + cbz w2, .L1121 add x3, x0, 392 mov w1, 0 -.L1133: +.L1123: ldrh w4, [x3] cmp w4, w19 - bne .L1132 + bne .L1122 add x1, x0, x1, sxtw 1 mov w3, -1 sub w2, w2, #1 strh w3, [x1, 392] strh w2, [x0, 124] -.L1131: +.L1121: ldrh w2, [x0, 120] - cbz w2, .L1134 + cbz w2, .L1124 add x3, x0, 136 mov w1, 0 -.L1136: +.L1126: ldrh w4, [x3] cmp w4, w19 - bne .L1135 + bne .L1125 add x1, x0, x1, sxtw 1 mov w3, -1 sub w2, w2, #1 strh w3, [x1, 136] strh w2, [x0, 120] -.L1134: +.L1124: ldrh w2, [x0, 122] - cbz w2, .L1137 + cbz w2, .L1127 add x3, x0, 264 mov w1, 0 -.L1139: +.L1129: ldrh w4, [x3] cmp w4, w19 - bne .L1138 + bne .L1128 add x1, x0, x1, sxtw 1 mov w3, -1 sub w2, w2, #1 strh w3, [x1, 264] strh w2, [x0, 122] -.L1137: +.L1127: add w20, w20, 1 and w20, w20, 65535 - b .L1126 -.L1132: + b .L1116 +.L1122: add w1, w1, 1 add x3, x3, 2 cmp w1, 64 - bne .L1133 - b .L1131 -.L1135: + bne .L1123 + b .L1121 +.L1125: add w1, w1, 1 add x3, x3, 2 cmp w1, 64 - bne .L1136 - b .L1134 -.L1138: + bne .L1126 + b .L1124 +.L1128: add w1, w1, 1 add x3, x3, 2 cmp w1, 64 - bne .L1139 - b .L1137 + bne .L1129 + b .L1127 .size gc_free_src_blk, .-gc_free_src_blk .section .text.print_ftl_debug_info,"ax",@progbits .align 2 @@ -6903,13 +7002,13 @@ print_ftl_debug_info: adrp x2, .LANCHOR97 stp x19, x20, [sp, 48] adrp x19, .LANCHOR110 - adrp x20, .LANCHOR10 + adrp x20, .LANCHOR12 ldrh w6, [x2, #:lo12:.LANCHOR97] adrp x2, .LANCHOR107 ldr x1, [x19, #:lo12:.LANCHOR110] ldrh w5, [x2, #:lo12:.LANCHOR107] adrp x2, .LANCHOR105 - ldr x0, [x20, #:lo12:.LANCHOR10] + ldr x0, [x20, #:lo12:.LANCHOR12] ldrh w4, [x2, #:lo12:.LANCHOR105] adrp x2, .LANCHOR103 ldr w8, [x8, #:lo12:.LANCHOR128] @@ -6921,8 +7020,8 @@ print_ftl_debug_info: str w8, [sp, 16] ldr w0, [x0, 524] str w0, [sp, 8] - adrp x0, .LANCHOR93 - ldrh w0, [x0, #:lo12:.LANCHOR93] + adrp x0, .LANCHOR91 + ldrh w0, [x0, #:lo12:.LANCHOR91] str w0, [sp] adrp x0, .LC71 add x0, x0, :lo12:.LC71 @@ -6961,12 +7060,12 @@ print_ftl_debug_info: adrp x0, .LC74 add x0, x0, :lo12:.LC74 bl printf - adrp x0, .LANCHOR87 - ldrh w5, [x0, #:lo12:.LANCHOR87] - adrp x0, .LANCHOR94 - ldrh w4, [x0, #:lo12:.LANCHOR94] - adrp x0, .LANCHOR70 - ldrh w3, [x0, #:lo12:.LANCHOR70] + adrp x0, .LANCHOR86 + ldrh w5, [x0, #:lo12:.LANCHOR86] + adrp x0, .LANCHOR93 + ldrh w4, [x0, #:lo12:.LANCHOR93] + adrp x0, .LANCHOR69 + ldrh w3, [x0, #:lo12:.LANCHOR69] adrp x0, .LANCHOR102 ldrh w2, [x0, #:lo12:.LANCHOR102] adrp x0, .LANCHOR100 @@ -6974,7 +7073,7 @@ print_ftl_debug_info: adrp x0, .LC75 add x0, x0, :lo12:.LC75 bl printf - ldr x0, [x20, #:lo12:.LANCHOR10] + ldr x0, [x20, #:lo12:.LANCHOR12] ldr x1, [x19, #:lo12:.LANCHOR110] ldp x29, x30, [sp, 32] ldrh w4, [x0, 590] @@ -6998,65 +7097,65 @@ ftl_write_buf: add x29, sp, 0 stp x19, x20, [sp, 16] str x21, [sp, 32] - cbnz x0, .L1166 + cbnz x0, .L1156 adrp x1, .LANCHOR130 add x1, x1, :lo12:.LANCHOR130 - mov w2, 803 + mov w2, 808 adrp x0, .LC0 add x0, x0, :lo12:.LC0 bl printf bl print_ftl_debug_info mov w0, -1 -.L1165: +.L1155: ldp x19, x20, [sp, 16] ldr x21, [sp, 32] ldp x29, x30, [sp], 48 ret -.L1169: +.L1159: mov x1, x19 - adrp x0, .LANCHOR66 - add x0, x0, :lo12:.LANCHOR66 + adrp x0, .LANCHOR65 + add x0, x0, :lo12:.LANCHOR65 bl buf_add_tail adrp x1, .LANCHOR110 ldrb w3, [x19, 56] - ldrb w0, [x21, #:lo12:.LANCHOR67] + ldrb w0, [x21, #:lo12:.LANCHOR66] ldr x1, [x1, #:lo12:.LANCHOR110] add w0, w0, 1 and w0, w0, 255 - strb w0, [x21, #:lo12:.LANCHOR67] + strb w0, [x21, #:lo12:.LANCHOR66] ldr w2, [x1, 16] add w2, w2, w3 str w2, [x1, 16] ldr w2, [x1, 32] add w2, w2, 1 str w2, [x1, 32] - b .L1165 -.L1166: + b .L1155 +.L1156: mov x19, x0 adrp x0, .LANCHOR131 mov x20, x0 ldrb w1, [x0, #:lo12:.LANCHOR131] ldrb w2, [x19, 56] cmp w2, w1 - bls .L1171 + bls .L1161 adrp x1, .LANCHOR130 adrp x0, .LC0 - mov w2, 810 + mov w2, 815 add x1, x1, :lo12:.LANCHOR130 add x0, x0, :lo12:.LC0 bl printf -.L1171: +.L1161: ldrb w0, [x19, 56] - adrp x21, .LANCHOR67 - cbz w0, .L1168 + adrp x21, .LANCHOR66 + cbz w0, .L1158 ldrb w1, [x20, #:lo12:.LANCHOR131] cmp w1, w0 - bcs .L1169 -.L1168: + bcs .L1159 +.L1158: mov x0, x19 bl zbuf_free - ldrb w0, [x21, #:lo12:.LANCHOR67] - b .L1165 + ldrb w0, [x21, #:lo12:.LANCHOR66] + b .L1155 .size ftl_write_buf, .-ftl_write_buf .section .text.ftl_write_completed,"ax",@progbits .align 2 @@ -7066,28 +7165,28 @@ ftl_write_completed: stp x29, x30, [sp, -80]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR56 + adrp x21, .LANCHOR55 stp x19, x20, [sp, 16] - add x22, x21, :lo12:.LANCHOR56 + add x22, x21, :lo12:.LANCHOR55 stp x23, x24, [sp, 48] - adrp x20, .LANCHOR65 + adrp x20, .LANCHOR64 mov w23, 20041 - add x20, x20, :lo12:.LANCHOR65 + add x20, x20, :lo12:.LANCHOR64 str x25, [sp, 64] movk w23, 0x444b, lsl 16 mov w25, 0 -.L1177: +.L1167: ldrb w0, [x20] cmp w0, 255 - bne .L1188 + bne .L1178 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldr x25, [sp, 64] ldp x29, x30, [sp], 80 ret -.L1188: - add x1, x21, :lo12:.LANCHOR56 +.L1178: + add x1, x21, :lo12:.LANCHOR55 lsl x2, x0, 6 add x24, x1, x2 ubfiz x19, x0, 6, 8 @@ -7096,96 +7195,96 @@ ftl_write_completed: strb w1, [x20] ldr w1, [x24, 52] cmn w1, #1 - bne .L1178 + bne .L1168 adrp x1, .LANCHOR124 ldrb w1, [x1, #:lo12:.LANCHOR124] - cbnz w1, .L1179 - adrp x1, .LANCHOR81 - ldrb w1, [x1, #:lo12:.LANCHOR81] - cbz w1, .L1180 -.L1179: + cbnz w1, .L1169 + adrp x1, .LANCHOR80 + ldrb w1, [x1, #:lo12:.LANCHOR80] + cbz w1, .L1170 +.L1169: adrp x1, .LANCHOR110 ldr x1, [x1, #:lo12:.LANCHOR110] ldr w1, [x1, 156] cmp w1, w23 - beq .L1181 -.L1180: + beq .L1171 +.L1170: add x1, x22, x0, lsl 6 mov w2, 24 mov w5, 65535 ldr w3, [x1, 40] - adrp x1, .LANCHOR75 - ldrh w4, [x1, #:lo12:.LANCHOR75] - adrp x1, .LANCHOR32 - ldrb w1, [x1, #:lo12:.LANCHOR32] + adrp x1, .LANCHOR74 + ldrh w4, [x1, #:lo12:.LANCHOR74] + adrp x1, .LANCHOR31 + ldrb w1, [x1, #:lo12:.LANCHOR31] sub w1, w2, w1 sub w2, w1, w4 mov w1, 1 lsr w4, w3, w4 lsl w1, w1, w2 - adrp x2, .LANCHOR76 + adrp x2, .LANCHOR75 sub w1, w1, #1 - ldrb w2, [x2, #:lo12:.LANCHOR76] + ldrb w2, [x2, #:lo12:.LANCHOR75] and w1, w1, w4 udiv w1, w1, w2 - adrp x2, .LANCHOR10 + adrp x2, .LANCHOR12 mov x24, x2 - ldr x4, [x2, #:lo12:.LANCHOR10] + ldr x4, [x2, #:lo12:.LANCHOR12] and w25, w1, 65535 and w1, w1, w5 ldr w6, [x4, 560] cmp w6, w5 - bne .L1182 + bne .L1172 str w1, [x4, 560] str w3, [x4, 564] -.L1182: +.L1172: add x0, x22, x0, lsl 6 ldr w2, [x0, 36] adrp x0, .LC77 add x0, x0, :lo12:.LC77 bl printf - ldr x0, [x24, #:lo12:.LANCHOR10] + ldr x0, [x24, #:lo12:.LANCHOR12] ldr w1, [x0, 556] add w1, w1, 1 str w1, [x0, 556] ldrh w1, [x0, 16] cmp w1, w25 - bne .L1183 + bne .L1173 strh wzr, [x0, 22] -.L1181: +.L1171: mov x0, x19 mov w25, 1 bl ftl_write_buf - b .L1177 -.L1183: + b .L1167 +.L1173: ldrh w1, [x0, 48] cmp w1, w25 - bne .L1181 + bne .L1171 strh wzr, [x0, 54] - b .L1181 -.L1178: - cbz w25, .L1186 + b .L1171 +.L1168: + cbz w25, .L1176 ldp w1, w2, [x24, 36] adrp x0, .LC78 add x0, x0, :lo12:.LC78 bl printf mov x0, x19 bl ftl_write_buf - b .L1177 -.L1186: + b .L1167 +.L1176: ldrh w2, [x24, 48] ldr w0, [x24, 36] ldr w1, [x24, 44] bl lpa_hash_update_ppa ldrb w0, [x24, 2] - tbz x0, 2, .L1187 + tbz x0, 2, .L1177 and w0, w0, -3 strb w0, [x24, 2] - b .L1177 -.L1187: + b .L1167 +.L1177: mov x0, x19 bl zbuf_free - b .L1177 + b .L1167 .size ftl_write_completed, .-ftl_write_completed .section .text.zftl_add_read_buf,"ax",@progbits .align 2 @@ -7195,8 +7294,8 @@ zftl_add_read_buf: stp x29, x30, [sp, -32]! add x29, sp, 0 str x19, [sp, 16] - cbnz x0, .L1194 - mov w2, 1143 + cbnz x0, .L1184 + mov w2, 1148 adrp x1, .LANCHOR132 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR132 @@ -7205,20 +7304,20 @@ zftl_add_read_buf: ldr x19, [sp, 16] ldp x29, x30, [sp], 32 b print_ftl_debug_info -.L1194: +.L1184: ldrb w1, [x0, 56] mov x19, x0 adrp x0, .LANCHOR131 ldrb w0, [x0, #:lo12:.LANCHOR131] cmp w1, w0 - bls .L1196 + bls .L1186 adrp x1, .LANCHOR132 adrp x0, .LC0 - mov w2, 1150 + mov w2, 1155 add x1, x1, :lo12:.LANCHOR132 add x0, x0, :lo12:.LC0 bl printf -.L1196: +.L1186: mov x1, x19 adrp x0, .LANCHOR133 add x0, x0, :lo12:.LANCHOR133 @@ -7231,100 +7330,20 @@ zftl_add_read_buf: strb w0, [x1, #:lo12:.LANCHOR134] ret .size zftl_add_read_buf, .-zftl_add_read_buf - .section .text.ftl_alloc_sblk,"ax",@progbits - .align 2 - .global ftl_alloc_sblk - .type ftl_alloc_sblk, %function -ftl_alloc_sblk: - stp x29, x30, [sp, -64]! - cmp w0, 5 - add x29, sp, 0 - str x23, [sp, 48] - and w23, w0, 65535 - stp x21, x22, [sp, 32] - mov w1, w23 - stp x19, x20, [sp, 16] - cset w22, eq - mov w21, w0 - mov w0, 0 - bl zftl_get_free_sblk - and w19, w0, 65535 - mov w0, 65535 - cmp w19, w0 - beq .L1201 - adrp x0, .LANCHOR7 - lsl w22, w22, 1 - ldr x20, [x0, #:lo12:.LANCHOR7] - add x20, x20, x19, uxth 2 - ldrb w0, [x20, 2] - tst w0, 224 - beq .L1202 - adrp x1, .LANCHOR135 - adrp x0, .LC0 - mov w2, 939 - add x1, x1, :lo12:.LANCHOR135 - add x0, x0, :lo12:.LC0 - bl printf -.L1202: - ldrb w0, [x20, 2] - bfi w0, w21, 5, 3 - ubfx x1, x0, 3, 2 - orr w1, w22, w1 - bfi w0, w1, 3, 2 - strb w0, [x20, 2] - and w1, w0, 24 - cmp w1, 24 - bne .L1203 - cbnz w22, .L1203 - mov w1, 1 - bfi w0, w1, 3, 2 - strb w0, [x20, 2] -.L1203: - mov w0, w19 - ldr x23, [sp, 48] - ldp x19, x20, [sp, 16] - ldp x21, x22, [sp, 32] - ldp x29, x30, [sp], 64 - ret -.L1201: - bl print_ftl_debug_info - adrp x20, .LC79 - mov w2, w21 - add x20, x20, :lo12:.LC79 - mov w1, w19 - mov x0, x20 - bl printf - mov w1, w23 - mov w0, 0 - bl zftl_get_free_sblk - and w19, w0, 65535 - mov w2, w21 - mov w1, w19 - mov x0, x20 - bl printf - bl dump_all_list_info - mov w2, 955 - adrp x1, .LANCHOR135 - adrp x0, .LC0 - add x1, x1, :lo12:.LANCHOR135 - add x0, x0, :lo12:.LC0 - bl printf - b .L1203 - .size ftl_alloc_sblk, .-ftl_alloc_sblk .section .text.sblk_init,"ax",@progbits .align 2 .global sblk_init .type sblk_init, %function sblk_init: - adrp x1, .LANCHOR60 + adrp x1, .LANCHOR59 mov w0, -1 - strb w0, [x1, #:lo12:.LANCHOR60] - adrp x1, .LANCHOR65 - strb w0, [x1, #:lo12:.LANCHOR65] - adrp x1, .LANCHOR63 - strb w0, [x1, #:lo12:.LANCHOR63] + strb w0, [x1, #:lo12:.LANCHOR59] adrp x1, .LANCHOR64 strb w0, [x1, #:lo12:.LANCHOR64] + adrp x1, .LANCHOR62 + strb w0, [x1, #:lo12:.LANCHOR62] + adrp x1, .LANCHOR63 + strb w0, [x1, #:lo12:.LANCHOR63] mov w0, 0 ret .size sblk_init, .-sblk_init @@ -7334,25 +7353,25 @@ sblk_init: .type dump_sblk_queue, %function dump_sblk_queue: stp x29, x30, [sp, -48]! - adrp x0, .LC80 - add x0, x0, :lo12:.LC80 + adrp x0, .LC79 + add x0, x0, :lo12:.LC79 add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x19, .LANCHOR60 + adrp x19, .LANCHOR59 str x21, [sp, 32] - ldrb w1, [x19, #:lo12:.LANCHOR60] + ldrb w1, [x19, #:lo12:.LANCHOR59] bl printf - ldrb w19, [x19, #:lo12:.LANCHOR60] + ldrb w19, [x19, #:lo12:.LANCHOR59] cmp w19, 255 - beq .L1210 - adrp x1, .LANCHOR56 + beq .L1190 + adrp x1, .LANCHOR55 ubfiz x19, x19, 6, 8 - add x1, x1, :lo12:.LANCHOR56 - adrp x21, .LC81 + add x1, x1, :lo12:.LANCHOR55 + adrp x21, .LC80 add x19, x1, x19 - add x21, x21, :lo12:.LC81 + add x21, x21, :lo12:.LC80 mov x20, x1 -.L1212: +.L1192: ldrb w2, [x19, 58] mov x0, x21 ldrb w1, [x19, 1] @@ -7360,11 +7379,11 @@ dump_sblk_queue: bl printf ldrb w19, [x19] cmp w19, 255 - beq .L1210 + beq .L1190 ubfiz x19, x19, 6, 8 add x19, x20, x19 - b .L1212 -.L1210: + b .L1192 +.L1190: ldp x19, x20, [sp, 16] ldr x21, [sp, 32] ldp x29, x30, [sp], 48 @@ -7375,90 +7394,90 @@ dump_sblk_queue: .global queue_lun_state .type queue_lun_state, %function queue_lun_state: - adrp x2, .LANCHOR60 - ldrb w2, [x2, #:lo12:.LANCHOR60] + adrp x2, .LANCHOR59 + ldrb w2, [x2, #:lo12:.LANCHOR59] cmp w2, 255 - beq .L1228 - adrp x3, .LANCHOR32 + beq .L1208 + adrp x3, .LANCHOR31 mov w8, 24 - adrp x10, .LANCHOR56 - add x10, x10, :lo12:.LANCHOR56 - ldrb w4, [x3, #:lo12:.LANCHOR32] + adrp x10, .LANCHOR55 + add x10, x10, :lo12:.LANCHOR55 + ldrb w4, [x3, #:lo12:.LANCHOR31] mov w3, 1 - adrp x13, .L1224 + adrp x13, .L1204 mov x15, x10 sub w8, w8, w4 - add x13, x13, :lo12:.L1224 + add x13, x13, :lo12:.L1204 lsl w4, w3, w4 sub w4, w4, #1 and w6, w4, 65535 - adrp x4, .LANCHOR75 + adrp x4, .LANCHOR74 asr w11, w0, w8 and w11, w11, w6 - ldrh w12, [x4, #:lo12:.LANCHOR75] + ldrh w12, [x4, #:lo12:.LANCHOR74] sub w4, w8, w12 lsl w3, w3, w4 sub w3, w3, #1 and w7, w3, 65535 - adrp x3, .LANCHOR76 - ldrb w5, [x3, #:lo12:.LANCHOR76] + adrp x3, .LANCHOR75 + ldrb w5, [x3, #:lo12:.LANCHOR75] asr w3, w0, w12 sub w5, w5, #1 and w5, w5, 65535 and w3, w3, w5 and w3, w3, w7 -.L1227: +.L1207: add x14, x10, x2, lsl 6 ldr w4, [x14, 40] lsr w0, w4, w8 and w0, w6, w0 cmp w11, w0 - bne .L1222 + bne .L1202 lsr w4, w4, w12 and w4, w5, w4 and w4, w7, w4 ldrb w0, [x14, 58] cmp w3, w4 - bne .L1223 + bne .L1203 cmp w1, 1 - bne .L1220 + bne .L1200 cmp w0, 7 ccmp w0, 9, 4, ne - beq .L1222 + beq .L1202 ret -.L1223: +.L1203: cmp w1, 3 - bhi .L1222 + bhi .L1202 ldrb w4, [x13,w1,uxtw] - adr x14, .Lrtx1224 + adr x14, .Lrtx1204 add x4, x14, w4, sxtb #2 br x4 -.Lrtx1224: +.Lrtx1204: .section .rodata.queue_lun_state,"a",@progbits .align 0 .align 2 -.L1224: - .byte (.L1220 - .Lrtx1224) / 4 - .byte (.L1225 - .Lrtx1224) / 4 - .byte (.L1226 - .Lrtx1224) / 4 - .byte (.L1220 - .Lrtx1224) / 4 +.L1204: + .byte (.L1200 - .Lrtx1204) / 4 + .byte (.L1205 - .Lrtx1204) / 4 + .byte (.L1206 - .Lrtx1204) / 4 + .byte (.L1200 - .Lrtx1204) / 4 .section .text.queue_lun_state -.L1225: +.L1205: cmp w0, 7 ccmp w0, 9, 4, ne - beq .L1222 + beq .L1202 ret -.L1226: +.L1206: cmp w0, 11 - bne .L1220 -.L1222: + bne .L1200 +.L1202: lsl x2, x2, 6 ldrb w2, [x15, x2] cmp w2, 255 - bne .L1227 -.L1228: + bne .L1207 +.L1208: mov w0, 0 -.L1220: +.L1200: ret .size queue_lun_state, .-queue_lun_state .section .text.queue_remove_completed_req,"ax",@progbits @@ -7466,25 +7485,25 @@ queue_lun_state: .global queue_remove_completed_req .type queue_remove_completed_req, %function queue_remove_completed_req: - adrp x4, .LANCHOR65 - adrp x8, .LANCHOR64 - adrp x1, .LANCHOR60 - adrp x7, .LANCHOR63 - adrp x3, .LANCHOR56 - ldrb w14, [x4, #:lo12:.LANCHOR65] - add x5, x3, :lo12:.LANCHOR56 - ldrb w2, [x1, #:lo12:.LANCHOR60] - ldrb w12, [x8, #:lo12:.LANCHOR64] + adrp x4, .LANCHOR64 + adrp x8, .LANCHOR63 + adrp x1, .LANCHOR59 + adrp x7, .LANCHOR62 + adrp x3, .LANCHOR55 + ldrb w14, [x4, #:lo12:.LANCHOR64] + add x5, x3, :lo12:.LANCHOR55 + ldrb w2, [x1, #:lo12:.LANCHOR59] + ldrb w12, [x8, #:lo12:.LANCHOR63] mov x11, x5 - ldrb w13, [x7, #:lo12:.LANCHOR63] - add x16, x8, :lo12:.LANCHOR64 - add x7, x7, :lo12:.LANCHOR63 - add x10, x4, :lo12:.LANCHOR65 + ldrb w13, [x7, #:lo12:.LANCHOR62] + add x16, x8, :lo12:.LANCHOR63 + add x7, x7, :lo12:.LANCHOR62 + add x10, x4, :lo12:.LANCHOR64 mov w6, 0 mov w15, -1 -.L1231: +.L1211: cmp w2, 255 - beq .L1232 + beq .L1212 sbfiz x8, x2, 6, 32 sxtw x0, w2 add x4, x5, x8 @@ -7492,265 +7511,131 @@ queue_remove_completed_req: sub w4, w4, #12 and w4, w4, 255 cmp w4, 1 - bls .L1233 - cbz w6, .L1230 - strb w2, [x1, #:lo12:.LANCHOR60] + bls .L1213 + cbz w6, .L1210 + strb w2, [x1, #:lo12:.LANCHOR59] ret -.L1233: +.L1213: lsl x6, x0, 6 ldrb w2, [x5, x8] add x4, x5, x6 strb w15, [x5, x6] ldrb w6, [x4, 59] cmp w6, 1 - bne .L1236 + bne .L1216 ldrh w4, [x4, 50] - cbnz w4, .L1244 + cbnz w4, .L1224 mov w4, w14 mov x6, x10 -.L1237: +.L1217: cmp w4, 255 - bne .L1242 - add x3, x3, :lo12:.LANCHOR56 - strb w2, [x1, #:lo12:.LANCHOR60] + bne .L1222 + add x3, x3, :lo12:.LANCHOR55 + strb w2, [x1, #:lo12:.LANCHOR59] add x0, x3, x0, lsl 6 ldrb w0, [x0, 1] strb w0, [x6] ret -.L1236: - cbnz w6, .L1238 +.L1216: + cbnz w6, .L1218 ldr w4, [x4, 36] cmn w4, #1 - beq .L1238 + beq .L1218 mov w4, w13 mov x6, x7 - b .L1237 -.L1244: + b .L1217 +.L1224: mov w4, w12 mov x6, x16 - b .L1237 -.L1242: + b .L1217 +.L1222: mov w6, w4 sbfiz x4, x4, 6, 32 ldrb w4, [x11, x4] cmp w4, 255 - bne .L1242 + bne .L1222 add x0, x11, x0, lsl 6 sbfiz x6, x6, 6, 32 ldrb w0, [x0, 1] strb w0, [x11, x6] -.L1238: +.L1218: mov w6, 1 - b .L1231 -.L1232: - cbz w6, .L1230 + b .L1211 +.L1212: + cbz w6, .L1210 mov w0, -1 - strb w0, [x1, #:lo12:.LANCHOR60] -.L1230: + strb w0, [x1, #:lo12:.LANCHOR59] +.L1210: ret .size queue_remove_completed_req, .-queue_remove_completed_req - .section .text.pm_alloc_new_blk,"ax",@progbits - .align 2 - .global pm_alloc_new_blk - .type pm_alloc_new_blk, %function -pm_alloc_new_blk: - stp x29, x30, [sp, -64]! - adrp x2, .LANCHOR80 - add x29, sp, 0 - stp x19, x20, [sp, 16] - adrp x20, .LANCHOR110 - stp x21, x22, [sp, 32] - ldr x1, [x20, #:lo12:.LANCHOR110] - ldrb w2, [x2, #:lo12:.LANCHOR80] - ldrh w0, [x1, 690] - str x23, [sp, 48] - add w0, w0, 1 - and w0, w0, 65535 - strh w0, [x1, 690] - cmp w2, w0 - bls .L1255 - add x0, x1, x0, sxtw 1 - ldrh w1, [x0, 672] - mov w0, 65535 - cmp w1, w0 - bne .L1256 -.L1255: - adrp x19, .LC82 - add x19, x19, :lo12:.LC82 - mov w23, 65535 - adrp x22, .LANCHOR7 -.L1257: - mov w0, 1 - bl ftl_alloc_sblk - and w21, w0, 65535 - cmp w21, w23 - beq .L1257 - mov w1, 0 - mov w0, w21 - bl ftl_erase_sblk - add x14, x20, :lo12:.LANCHOR110 - ldr x1, [x20, #:lo12:.LANCHOR110] - mov w0, w21 - add x1, x1, 672 - bl ftl_get_blk_list_in_sblk - tst w0, 65535 - bne .L1258 - mov w1, w21 - mov x0, x19 - bl printf - ldr x0, [x22, #:lo12:.LANCHOR7] - add x21, x0, x21, uxth 2 - ldrb w0, [x21, 2] - orr w0, w0, -32 - strb w0, [x21, 2] - b .L1257 -.L1258: - ldr x0, [x14] - adrp x1, .LANCHOR136 - mov w2, 1 - mov w19, 0 - add x0, x0, 416 - str w2, [x1, #:lo12:.LANCHOR136] - mov w1, 65535 - strh wzr, [x0, 274] -.L1260: - ldrh w2, [x0] - cmp w2, w1 - beq .L1259 - add w19, w19, 1 - add x0, x0, 2 - and w19, w19, 65535 - cmp w19, 128 - bne .L1260 - adrp x1, .LANCHOR137 - adrp x0, .LC0 - mov w2, 264 - add x1, x1, :lo12:.LANCHOR137 - add x0, x0, :lo12:.LC0 - bl printf -.L1259: - ldr x0, [x20, #:lo12:.LANCHOR110] - add x19, x0, x19, sxtw 1 - ldrh w1, [x0, 688] - strh w21, [x19, 416] - add w1, w1, 1 - strh w1, [x0, 688] -.L1256: - ldr x1, [x20, #:lo12:.LANCHOR110] - ldrh w0, [x1, 690] - add x0, x0, 336 - ldrh w19, [x1, x0, lsl 1] - mov w0, 65533 - sub w1, w19, #1 - cmp w0, w1, uxth - bcs .L1262 - adrp x1, .LANCHOR137 - adrp x0, .LC0 - mov w2, 270 - add x1, x1, :lo12:.LANCHOR137 - add x0, x0, :lo12:.LC0 - bl printf -.L1262: - adrp x1, .LANCHOR32 - mov w2, 24 - ldr x0, [x20, #:lo12:.LANCHOR110] - ldrb w1, [x1, #:lo12:.LANCHOR32] - sub w2, w2, w1 - adrp x1, .LANCHOR75 - strh wzr, [x0, 696] - ldrh w1, [x1, #:lo12:.LANCHOR75] - strh w19, [x0, 692] - sub w2, w2, w1 - asr w4, w19, w2 - strh w4, [x0, 694] - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L1265 - mov w0, 1 - and w4, w4, 65535 - lsl w2, w0, w2 - mov w3, w19 - adrp x0, .LC83 - sub w2, w2, #1 - mov w1, w19 - add x0, x0, :lo12:.LC83 - bl printf -.L1265: - mov w0, 0 - ldr x23, [sp, 48] - ldp x19, x20, [sp, 16] - ldp x21, x22, [sp, 32] - ldp x29, x30, [sp], 64 - ret - .size pm_alloc_new_blk, .-pm_alloc_new_blk .section .text.pm_select_ram_region,"ax",@progbits .align 2 .global pm_select_ram_region .type pm_select_ram_region, %function pm_select_ram_region: stp x29, x30, [sp, -32]! - adrp x0, .LANCHOR138 - add x0, x0, :lo12:.LANCHOR138 + adrp x0, .LANCHOR135 + add x0, x0, :lo12:.LANCHOR135 mov x1, 0 add x29, sp, 0 mov w2, 65535 str x19, [sp, 16] -.L1274: +.L1236: lsl x3, x1, 4 and w19, w1, 65535 ldrh w3, [x3, x0] cmp w3, w2 - beq .L1273 + beq .L1235 add x1, x1, 1 cmp x1, 32 - bne .L1274 + bne .L1236 add x0, x0, 2 mov w19, w1 mov x2, x0 mov w4, 32768 mov w1, 0 -.L1276: +.L1238: ldrh w3, [x2] - tbnz x3, 15, .L1275 + tbnz x3, 15, .L1237 cmp w3, w4 - bcs .L1275 + bcs .L1237 mov w4, w3 mov w19, w1 -.L1275: +.L1237: add w1, w1, 1 add x2, x2, 16 and w1, w1, 65535 cmp w1, 32 - bne .L1276 + bne .L1238 cmp w19, 32 - bne .L1273 - adrp x1, .LANCHOR139 + bne .L1235 + adrp x1, .LANCHOR136 mov w2, -1 - ldrb w3, [x1, #:lo12:.LANCHOR139] + ldrb w3, [x1, #:lo12:.LANCHOR136] mov w1, 0 -.L1278: +.L1240: ldrh w5, [x0] cmp w5, w2 - bcs .L1277 + bcs .L1239 ldrh w4, [x0, -2] cmp w4, w3 csel w2, w2, w5, eq csel w19, w19, w1, eq -.L1277: +.L1239: add w1, w1, 1 add x0, x0, 16 and w1, w1, 65535 cmp w1, 32 - bne .L1278 + bne .L1240 cmp w19, 32 - bne .L1273 - adrp x1, .LANCHOR140 + bne .L1235 + adrp x1, .LANCHOR137 adrp x0, .LC0 mov w2, 377 - add x1, x1, :lo12:.LANCHOR140 + add x1, x1, :lo12:.LANCHOR137 add x0, x0, :lo12:.LC0 bl printf -.L1273: +.L1235: mov w0, w19 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 @@ -7761,14 +7646,14 @@ pm_select_ram_region: .global idb_init .type idb_init, %function idb_init: + adrp x0, .LANCHOR138 + str xzr, [x0, #:lo12:.LANCHOR138] + adrp x0, .LANCHOR139 + str wzr, [x0, #:lo12:.LANCHOR139] + adrp x0, .LANCHOR140 + strb wzr, [x0, #:lo12:.LANCHOR140] adrp x0, .LANCHOR141 str xzr, [x0, #:lo12:.LANCHOR141] - adrp x0, .LANCHOR142 - str wzr, [x0, #:lo12:.LANCHOR142] - adrp x0, .LANCHOR143 - strb wzr, [x0, #:lo12:.LANCHOR143] - adrp x0, .LANCHOR144 - str xzr, [x0, #:lo12:.LANCHOR144] mov w0, 0 ret .size idb_init, .-idb_init @@ -7786,69 +7671,69 @@ ftl_memset: .type flash_lsb_page_tbl_build, %function flash_lsb_page_tbl_build: stp x29, x30, [sp, -48]! - adrp x1, .LANCHOR16 + adrp x1, .LANCHOR21 add x29, sp, 0 - ldr x1, [x1, #:lo12:.LANCHOR16] + ldr x1, [x1, #:lo12:.LANCHOR21] stp x19, x20, [sp, 16] mov w20, 1024 str x21, [sp, 32] adrp x19, .LANCHOR3 ldrb w1, [x1, 12] sdiv w20, w20, w1 - cbnz w0, .L1286 + cbnz w0, .L1248 add x1, x19, :lo12:.LANCHOR3 mov x0, 0 -.L1287: +.L1249: strh w0, [x1, x0, lsl 1] add x0, x0, 1 cmp x0, 512 - bne .L1287 -.L1293: - adrp x21, .LANCHOR145 - add x21, x21, :lo12:.LANCHOR145 + bne .L1249 +.L1255: + adrp x21, .LANCHOR142 + add x21, x21, :lo12:.LANCHOR142 mov w2, 2048 mov w1, 255 mov x0, x21 add x19, x19, :lo12:.LANCHOR3 bl ftl_memset mov x0, 0 -.L1288: +.L1250: ldrh w1, [x19, x0, lsl 1] add x0, x0, 1 cmp w20, w0, uxth strh w1, [x21, w1, sxtw 1] - bhi .L1288 + bhi .L1250 ldp x19, x20, [sp, 16] ldr x21, [sp, 32] ldp x29, x30, [sp], 48 ret -.L1286: +.L1248: cmp w0, 1 - bne .L1289 + bne .L1251 add x3, x19, :lo12:.LANCHOR3 mov x1, 0 -.L1292: +.L1254: and w0, w1, 65535 cmp x1, 3 - bls .L1290 + bls .L1252 ubfiz w2, w0, 1, 15 and w0, w0, 1 add w0, w0, 2 sub w0, w2, w0 and w0, w0, 65535 -.L1290: +.L1252: strh w0, [x3, x1, lsl 1] add x1, x1, 1 cmp x1, 512 - bne .L1292 - b .L1293 -.L1289: + bne .L1254 + b .L1255 +.L1251: cmp w0, 2 - bne .L1294 + bne .L1256 add x3, x19, :lo12:.LANCHOR3 mov w1, 65535 mov x0, 0 -.L1296: +.L1258: cmp x0, 2 and w2, w0, 65535 csel w2, w2, w1, cc @@ -7857,31 +7742,31 @@ flash_lsb_page_tbl_build: add x0, x0, 1 and w1, w1, 65535 cmp x0, 512 - bne .L1296 - b .L1293 -.L1294: + bne .L1258 + b .L1255 +.L1256: cmp w0, 3 - bne .L1297 + bne .L1259 add x3, x19, :lo12:.LANCHOR3 mov x1, 0 -.L1300: +.L1262: and w0, w1, 65535 cmp x1, 5 - bls .L1298 + bls .L1260 ubfiz w2, w0, 1, 15 and w0, w0, 1 add w0, w0, 4 sub w0, w2, w0 and w0, w0, 65535 -.L1298: +.L1260: strh w0, [x3, x1, lsl 1] add x1, x1, 1 cmp x1, 512 - bne .L1300 - b .L1293 -.L1297: + bne .L1262 + b .L1255 +.L1259: cmp w0, 4 - bne .L1301 + bne .L1263 add x1, x19, :lo12:.LANCHOR3 mov w2, 1 add x1, x1, 16 @@ -7899,7 +7784,7 @@ flash_lsb_page_tbl_build: strh w2, [x1, -10] strh w0, [x1, -2] mov w0, 8 -.L1303: +.L1265: and w3, w0, 1 ubfiz w2, w0, 1, 15 add w3, w3, 6 @@ -7908,40 +7793,40 @@ flash_lsb_page_tbl_build: strh w2, [x1], 2 and w0, w0, 65535 cmp w0, 512 - bne .L1303 - b .L1293 -.L1301: + bne .L1265 + b .L1255 +.L1263: cmp w0, 5 - bne .L1304 + bne .L1266 add x1, x19, :lo12:.LANCHOR3 mov x0, 0 -.L1305: +.L1267: strh w0, [x1, x0, lsl 1] add x0, x0, 1 cmp x0, 16 - bne .L1305 + bne .L1267 add x1, x1, 32 -.L1306: +.L1268: strh w0, [x1], 2 add w0, w0, 2 and w0, w0, 65535 cmp w0, 1008 - bne .L1306 - b .L1293 -.L1304: + bne .L1268 + b .L1255 +.L1266: cmp w0, 8 - bne .L1307 + bne .L1269 add x1, x19, :lo12:.LANCHOR3 mov x0, 0 -.L1308: +.L1270: strh w0, [x0, x1] add x0, x0, 2 cmp x0, 1024 - bne .L1308 - b .L1293 -.L1307: + bne .L1270 + b .L1255 +.L1269: cmp w0, 9 - bne .L1309 + bne .L1271 add x0, x19, :lo12:.LANCHOR3 mov w1, 1 add x0, x0, 6 @@ -7950,43 +7835,43 @@ flash_lsb_page_tbl_build: mov w1, 2 strh w1, [x0, -2] mov w1, 3 -.L1310: +.L1272: strh w1, [x0], 2 add w1, w1, 2 and w1, w1, 65535 cmp w1, 1021 - bne .L1310 - b .L1293 -.L1309: + bne .L1272 + b .L1255 +.L1271: cmp w0, 10 - bne .L1311 + bne .L1273 add x1, x19, :lo12:.LANCHOR3 mov x0, 0 -.L1312: +.L1274: strh w0, [x1, x0, lsl 1] add x0, x0, 1 cmp x0, 63 - bne .L1312 + bne .L1274 add x1, x1, 126 -.L1313: +.L1275: strh w0, [x1], 2 add w0, w0, 2 and w0, w0, 65535 cmp w0, 961 - bne .L1313 - b .L1293 -.L1311: + bne .L1275 + b .L1255 +.L1273: cmp w0, 11 - bne .L1314 + bne .L1276 add x1, x19, :lo12:.LANCHOR3 mov x0, 0 -.L1315: +.L1277: strh w0, [x1, x0, lsl 1] add x0, x0, 1 cmp x0, 8 - bne .L1315 + bne .L1277 add x1, x1, 16 -.L1317: +.L1279: and w3, w0, 1 ubfiz w2, w0, 1, 15 add w3, w3, 6 @@ -7995,146 +7880,149 @@ flash_lsb_page_tbl_build: strh w2, [x1], 2 and w0, w0, 65535 cmp w0, 512 - bne .L1317 - b .L1293 -.L1314: + bne .L1279 + b .L1255 +.L1276: cmp w0, 13 - bne .L1293 + bne .L1255 add x2, x19, :lo12:.LANCHOR3 mov x1, 0 mov w0, 0 -.L1318: +.L1280: strh w0, [x1, x2] add w0, w0, 3 and w0, w0, 65535 add x1, x1, 2 cmp w0, 1536 - bne .L1318 - b .L1293 + bne .L1280 + b .L1255 .size flash_lsb_page_tbl_build, .-flash_lsb_page_tbl_build .section .text.flash_die_info_init,"ax",@progbits .align 2 .global flash_die_info_init .type flash_die_info_init, %function flash_die_info_init: - stp x29, x30, [sp, -64]! - adrp x0, .LANCHOR14 + stp x29, x30, [sp, -112]! + adrp x0, .LANCHOR19 add x29, sp, 0 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] - tbz x0, 12, .L1341 - adrp x1, .LANCHOR146 + stp x25, x26, [sp, 64] + stp x27, x28, [sp, 80] + tbz x0, 12, .L1303 + adrp x1, .LANCHOR143 adrp x0, .LC1 - add x1, x1, :lo12:.LANCHOR146 + add x1, x1, :lo12:.LANCHOR143 add x0, x0, :lo12:.LC1 bl printf -.L1341: - adrp x22, .LANCHOR33 - add x19, x22, :lo12:.LANCHOR33 - adrp x23, .LANCHOR2 - adrp x24, .LANCHOR18 - adrp x21, .LANCHOR30 +.L1303: + adrp x19, .LANCHOR32 + add x23, x19, :lo12:.LANCHOR32 + adrp x25, .LANCHOR2 + adrp x20, .LANCHOR23 mov w2, 8 - ldrh w0, [x19, 26] - adrp x20, .LANCHOR148 - ldrb w1, [x19, 12] - strh w0, [x23, #:lo12:.LANCHOR2] - ldrh w0, [x19, 10] - strb wzr, [x24, #:lo12:.LANCHOR18] + adrp x22, .LANCHOR29 + ldrh w0, [x23, 26] + adrp x21, .LANCHOR145 + ldrb w1, [x23, 12] + adrp x26, .LANCHOR33 + strh w0, [x25, #:lo12:.LANCHOR2] + add x26, x26, :lo12:.LANCHOR33 + ldrh w0, [x23, 10] + add x28, x23, 1 + strb wzr, [x20, #:lo12:.LANCHOR23] + adrp x24, .LANCHOR47 + mov x27, 0 sdiv w0, w0, w1 - adrp x1, .LANCHOR147 - strh w0, [x1, #:lo12:.LANCHOR147] + adrp x1, .LANCHOR144 + strh w0, [x1, #:lo12:.LANCHOR144] mov w1, 0 - add x0, x21, :lo12:.LANCHOR30 + add x0, x22, :lo12:.LANCHOR29 bl ftl_memset - add x0, x20, :lo12:.LANCHOR148 mov w2, 32 mov w1, 0 + add x0, x21, :lo12:.LANCHOR145 bl ftl_memset - mov x8, x22 - mov x15, x21 - mov x11, x20 - adrp x14, .LANCHOR48 - adrp x20, .LANCHOR34 - add x21, x14, :lo12:.LANCHOR48 - add x20, x20, :lo12:.LANCHOR34 - add x22, x19, 1 - mov x12, 0 -.L1343: - ldrb w2, [x19] + add x0, x24, :lo12:.LANCHOR47 + str x0, [x29, 104] +.L1305: mov w0, 2 - strb w0, [x12, x20] - add x1, x21, x12, lsl 3 - mov x0, x22 + ldrb w2, [x23] + strb w0, [x27, x26] + ldr x0, [x29, 104] + add x1, x0, x27, lsl 3 + mov x0, x28 bl flash_mem_cmp8 - cbnz w0, .L1342 - ldrb w2, [x24, #:lo12:.LANCHOR18] - add x1, x11, :lo12:.LANCHOR148 + cbnz w0, .L1304 + ldrb w2, [x20, #:lo12:.LANCHOR23] + add x1, x21, :lo12:.LANCHOR145 add w0, w2, 1 - strb w0, [x24, #:lo12:.LANCHOR18] - and w0, w12, 255 + strb w0, [x20, #:lo12:.LANCHOR23] + and w0, w27, 255 str wzr, [x1, x2, lsl 2] - add x1, x15, :lo12:.LANCHOR30 + add x1, x22, :lo12:.LANCHOR29 strb w0, [x1, x2] bl zftl_flash_enter_slc_mode -.L1342: - add x12, x12, 1 - cmp x12, 4 - bne .L1343 - add x0, x8, :lo12:.LANCHOR33 +.L1304: + add x27, x27, 1 + cmp x27, 4 + bne .L1305 + add x0, x19, :lo12:.LANCHOR32 ldrb w1, [x0, 8] cmp w1, 2 - beq .L1344 -.L1348: - add x8, x8, :lo12:.LANCHOR33 - ldrb w0, [x24, #:lo12:.LANCHOR18] - ldp x19, x20, [sp, 16] - ldrb w1, [x8, 13] + beq .L1306 +.L1310: + add x19, x19, :lo12:.LANCHOR32 + ldrb w0, [x20, #:lo12:.LANCHOR23] ldp x21, x22, [sp, 32] + ldrb w1, [x19, 13] ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] mul w0, w0, w1 - ldrh w1, [x8, 14] - ldp x29, x30, [sp], 64 + ldrh w1, [x19, 14] + ldp x27, x28, [sp, 80] + ldp x19, x20, [sp, 16] mul w0, w0, w1 - adrp x1, .LANCHOR149 - strh w0, [x1, #:lo12:.LANCHOR149] + adrp x1, .LANCHOR146 + strh w0, [x1, #:lo12:.LANCHOR146] + ldp x29, x30, [sp], 112 ret -.L1344: - ldrh w1, [x23, #:lo12:.LANCHOR2] - add x14, x14, :lo12:.LANCHOR48 - ldrb w12, [x0, 13] +.L1306: + ldrh w1, [x25, #:lo12:.LANCHOR2] + add x24, x24, :lo12:.LANCHOR47 + ldrb w8, [x0, 13] add x7, x0, 1 - ldrb w20, [x8, #:lo12:.LANCHOR33] - add x19, x24, :lo12:.LANCHOR18 - ldrb w21, [x0, 23] - add x11, x11, :lo12:.LANCHOR148 - add x15, x15, :lo12:.LANCHOR30 - mov x13, 0 - mul w12, w12, w1 + ldrb w12, [x19, #:lo12:.LANCHOR32] + add x11, x20, :lo12:.LANCHOR23 + ldrb w13, [x0, 23] + add x21, x21, :lo12:.LANCHOR145 + add x22, x22, :lo12:.LANCHOR29 + mov x10, 0 + mul w8, w8, w1 ldrh w1, [x0, 14] and w1, w1, 65280 - mul w12, w12, w1 - lsl w22, w12, 1 -.L1347: - mov w2, w20 - add x1, x14, x13, lsl 3 + mul w8, w8, w1 + lsl w14, w8, 1 +.L1309: + mov w2, w12 + add x1, x24, x10, lsl 3 mov x0, x7 bl flash_mem_cmp8 - cbnz w0, .L1345 - ldrb w1, [x19] - cmp w21, 0 - csel w2, w12, w22, eq + cbnz w0, .L1307 + ldrb w1, [x11] + cmp w13, 0 + csel w2, w8, w14, eq add w0, w1, 1 - strb w0, [x19] - str w2, [x11, x1, lsl 2] - strb w13, [x15, x1] -.L1345: - add x13, x13, 1 - cmp x13, 4 - bne .L1347 - b .L1348 + strb w0, [x11] + str w2, [x21, x1, lsl 2] + strb w10, [x22, x1] +.L1307: + add x10, x10, 1 + cmp x10, 4 + bne .L1309 + b .L1310 .size flash_die_info_init, .-flash_die_info_init .section .text.lpa_hash_init,"ax",@progbits .align 2 @@ -8148,12 +8036,12 @@ lpa_hash_init: add x29, sp, 0 add x0, x0, :lo12:.LANCHOR116 bl ftl_memset - adrp x0, .LANCHOR95 + adrp x0, .LANCHOR94 mov w1, 255 ldp x29, x30, [sp], 16 - ldrh w2, [x0, #:lo12:.LANCHOR95] - adrp x0, .LANCHOR80 - ldrb w0, [x0, #:lo12:.LANCHOR80] + ldrh w2, [x0, #:lo12:.LANCHOR94] + adrp x0, .LANCHOR79 + ldrb w0, [x0, #:lo12:.LANCHOR79] mul w2, w2, w0 adrp x0, .LANCHOR118 ldr x0, [x0, #:lo12:.LANCHOR118] @@ -8166,64 +8054,64 @@ lpa_hash_init: .type lpa_rebuild_hash, %function lpa_rebuild_hash: stp x29, x30, [sp, -48]! - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR19 add x29, sp, 0 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] - tbz x0, 12, .L1361 - adrp x1, .LANCHOR150 - adrp x0, .LC84 + tbz x0, 12, .L1323 + adrp x1, .LANCHOR147 + adrp x0, .LC81 mov w3, 0 mov w2, 239 - add x1, x1, :lo12:.LANCHOR150 - add x0, x0, :lo12:.LC84 + add x1, x1, :lo12:.LANCHOR147 + add x0, x0, :lo12:.LC81 bl printf -.L1361: - adrp x20, .LANCHOR95 - adrp x22, .LANCHOR80 +.L1323: + adrp x20, .LANCHOR94 + adrp x22, .LANCHOR79 adrp x19, .LANCHOR116 add x19, x19, :lo12:.LANCHOR116 mov w2, 512 mov w1, 255 mov x0, x19 bl ftl_memset - ldrh w2, [x20, #:lo12:.LANCHOR95] + ldrh w2, [x20, #:lo12:.LANCHOR94] adrp x21, .LANCHOR118 - ldrb w0, [x22, #:lo12:.LANCHOR80] + ldrb w0, [x22, #:lo12:.LANCHOR79] mov w1, 255 - add x20, x20, :lo12:.LANCHOR95 + add x20, x20, :lo12:.LANCHOR94 mul w2, w2, w0 ldr x0, [x21, #:lo12:.LANCHOR118] lsl w2, w2, 2 bl ftl_memset adrp x0, .LANCHOR117 - ldrb w3, [x22, #:lo12:.LANCHOR80] + ldrb w3, [x22, #:lo12:.LANCHOR79] ldr x5, [x21, #:lo12:.LANCHOR118] mov w1, 0 ldr x4, [x0, #:lo12:.LANCHOR117] -.L1362: +.L1324: ldrh w0, [x20] mul w0, w0, w3 cmp w1, w0, lsl 1 - blt .L1364 + blt .L1326 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 48 ret -.L1364: +.L1326: uxtw x2, w1 ldr w0, [x4, x2, lsl 2] cmn w0, #1 - beq .L1363 + beq .L1325 and x0, x0, 255 ldrh w6, [x19, x0, lsl 1] strh w1, [x19, x0, lsl 1] strh w6, [x5, x2, lsl 1] -.L1363: +.L1325: add w1, w1, 1 and w1, w1, 65535 - b .L1362 + b .L1324 .size lpa_rebuild_hash, .-lpa_rebuild_hash .section .text.zftl_read_flash_info,"ax",@progbits .align 2 @@ -8237,10 +8125,10 @@ zftl_read_flash_info: str x19, [sp, 16] mov x19, x0 bl ftl_memset - adrp x1, .LANCHOR33 - add x1, x1, :lo12:.LANCHOR33 + adrp x1, .LANCHOR32 + add x1, x1, :lo12:.LANCHOR32 adrp x0, .LANCHOR2 - adrp x3, .LANCHOR68 + adrp x3, .LANCHOR67 strb wzr, [x19, 10] mov w4, 1 ldrb w2, [x1, 9] @@ -8249,11 +8137,11 @@ zftl_read_flash_info: strb w0, [x19, 4] ubfx x0, x0, 8, 8 strb w0, [x19, 5] - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] strb w0, [x19, 7] - add x0, x3, :lo12:.LANCHOR68 - ldrb w3, [x3, #:lo12:.LANCHOR68] + add x0, x3, :lo12:.LANCHOR67 + ldrb w3, [x3, #:lo12:.LANCHOR67] strb w3, [x19] ldrb w3, [x0, 1] strb w3, [x19, 1] @@ -8263,28 +8151,28 @@ zftl_read_flash_info: strb w0, [x19, 3] mov w0, 32 strb w2, [x19, 6] - adrp x2, .LANCHOR30 + adrp x2, .LANCHOR29 strb w0, [x19, 8] - add x2, x2, :lo12:.LANCHOR30 + add x2, x2, :lo12:.LANCHOR29 ldrb w0, [x1, 7] mov x1, 0 strb w0, [x19, 9] - adrp x0, .LANCHOR18 - ldrb w3, [x0, #:lo12:.LANCHOR18] -.L1373: + adrp x0, .LANCHOR23 + ldrb w3, [x0, #:lo12:.LANCHOR23] +.L1335: cmp w3, w1, uxtb - bhi .L1374 + bhi .L1336 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 ret -.L1374: +.L1336: ldrb w0, [x1, x2] add x1, x1, 1 ldrb w5, [x19, 10] lsl w0, w4, w0 orr w0, w0, w5 strb w0, [x19, 10] - b .L1373 + b .L1335 .size zftl_read_flash_info, .-zftl_read_flash_info .section .text.gc_static_wearleveling,"ax",@progbits .align 2 @@ -8303,78 +8191,78 @@ gc_static_wearleveling: ldr w1, [x0, 32] mov w0, 10240 cmp w1, w0 - bls .L1377 + bls .L1339 bl ftl_tmp_into_update -.L1377: - adrp x19, .LANCHOR10 +.L1339: + adrp x19, .LANCHOR12 mov w3, 36000 - ldr x0, [x19, #:lo12:.LANCHOR10] + ldr x0, [x19, #:lo12:.LANCHOR12] ldr w1, [x0, 568] ldr w2, [x0, 12] add w3, w1, w3 cmp w2, w3 - bcs .L1378 + bcs .L1340 ldr x4, [x22, #:lo12:.LANCHOR110] ldr w3, [x0, 572] add w3, w3, 256 ldr w4, [x4, 36] cmp w4, w3 - bcc .L1430 -.L1378: + bcc .L1392 +.L1340: add w1, w1, 860160 add w1, w1, 3840 cmp w2, w1 - bhi .L1380 + bhi .L1342 ldr x3, [x22, #:lo12:.LANCHOR110] ldr w1, [x0, 572] add w1, w1, 32 ldr w3, [x3, 36] cmp w3, w1 - bls .L1431 -.L1380: + bls .L1393 +.L1342: ldr x1, [x22, #:lo12:.LANCHOR110] mov w20, 65535 - adrp x8, .LANCHOR14 + adrp x8, .LANCHOR19 mov w21, w20 - add x8, x8, :lo12:.LANCHOR14 + add x8, x8, :lo12:.LANCHOR19 mov w27, 0 mov w25, 0 mov w26, 0 ldr w3, [x1, 36] mov w23, 0 ldrh w28, [x1, 134] - adrp x24, .LANCHOR7 + adrp x24, .LANCHOR9 str w2, [x0, 568] str w3, [x0, 572] - adrp x0, .LANCHOR6 - add x10, x0, :lo12:.LANCHOR6 + adrp x0, .LANCHOR8 + add x10, x0, :lo12:.LANCHOR8 str wzr, [x29, 128] str wzr, [x29, 136] stp wzr, wzr, [x29, 144] -.L1382: +.L1344: ldrh w0, [x10] cmp w0, w28 - bhi .L1391 - ldr x0, [x19, #:lo12:.LANCHOR10] + bhi .L1353 + ldr x0, [x19, #:lo12:.LANCHOR12] mov w2, 128 mov w1, 255 add x0, x0, 264 strh wzr, [x0, -142] bl ftl_memset - ldr x0, [x19, #:lo12:.LANCHOR10] - adrp x2, .LANCHOR14 - ldr x8, [x24, #:lo12:.LANCHOR7] - ldr w3, [x2, #:lo12:.LANCHOR14] + ldr x0, [x19, #:lo12:.LANCHOR12] + adrp x2, .LANCHOR19 + ldr x8, [x24, #:lo12:.LANCHOR9] + ldr w3, [x2, #:lo12:.LANCHOR19] str x2, [x29, 152] ldrh w0, [x0, 586] mov x1, x0 lsl x28, x0, 2 add x10, x8, x28 - tbz x3, 10, .L1392 - adrp x2, .LANCHOR9 + tbz x3, 10, .L1354 + adrp x2, .LANCHOR11 ldrb w6, [x10, 3] ldrb w4, [x10, 2] - ldr x5, [x2, #:lo12:.LANCHOR9] + ldr x5, [x2, #:lo12:.LANCHOR11] ldr w3, [x8, x28] ldrh w2, [x8, x28] stp x8, x10, [x29, 112] @@ -8383,59 +8271,59 @@ gc_static_wearleveling: ubfx x5, x4, 5, 3 and w2, w2, 2047 ubfx x4, x4, 3, 2 - adrp x0, .LC86 - add x0, x0, :lo12:.LC86 + adrp x0, .LC83 + add x0, x0, :lo12:.LC83 bl printf ldp x8, x10, [x29, 112] -.L1392: +.L1354: ldrb w0, [x10, 2] and w3, w0, 224 cmp w3, 32 - bne .L1393 + bne .L1355 ldr x1, [x22, #:lo12:.LANCHOR110] ldrh w1, [x1, 688] cmp w1, 2 - bls .L1393 - adrp x1, .LANCHOR151 + bls .L1355 + adrp x1, .LANCHOR148 mov w2, 1 - str w2, [x1, #:lo12:.LANCHOR151] -.L1393: + str w2, [x1, #:lo12:.LANCHOR148] +.L1355: ldrb w1, [x10, 2] - tbz x1, 3, .L1394 + tbz x1, 3, .L1356 ldr x1, [x22, #:lo12:.LANCHOR110] ldrh w2, [x8, x28] and w2, w2, 2047 ldrh w4, [x1, 96] - adrp x1, .LANCHOR152 - ldrh w1, [x1, #:lo12:.LANCHOR152] + adrp x1, .LANCHOR149 + ldrh w1, [x1, #:lo12:.LANCHOR149] add w1, w2, w1, lsr 2 cmp w4, w1 - ble .L1394 + ble .L1356 and w0, w0, 192 cmp w0, 64 - bne .L1395 - ldr x0, [x19, #:lo12:.LANCHOR10] + bne .L1357 + ldr x0, [x19, #:lo12:.LANCHOR12] mov w1, 0 mov w2, 1 ldrh w0, [x0, 586] bl gc_add_sblk - adrp x0, .LANCHOR71+2110 + adrp x0, .LANCHOR70+2192 mov w1, 1 - strh w1, [x0, #:lo12:.LANCHOR71+2110] -.L1394: - ldr x0, [x19, #:lo12:.LANCHOR10] + strh w1, [x0, #:lo12:.LANCHOR70+2192] +.L1356: + ldr x0, [x19, #:lo12:.LANCHOR12] ldr x2, [x29, 152] - ldr x11, [x24, #:lo12:.LANCHOR7] + ldr x11, [x24, #:lo12:.LANCHOR9] ldrh w0, [x0, 584] - ldr w2, [x2, #:lo12:.LANCHOR14] + ldr w2, [x2, #:lo12:.LANCHOR19] mov x1, x0 lsl x10, x0, 2 add x28, x11, x10 - tbz x2, 10, .L1396 - adrp x2, .LANCHOR9 + tbz x2, 10, .L1358 + adrp x2, .LANCHOR11 ldrb w6, [x28, 3] ldrb w4, [x28, 2] - ldr x5, [x2, #:lo12:.LANCHOR9] + ldr x5, [x2, #:lo12:.LANCHOR11] ldr w3, [x11, x10] ldrh w2, [x11, x10] stp x10, x11, [x29, 112] @@ -8444,43 +8332,43 @@ gc_static_wearleveling: ubfx x5, x4, 5, 3 and w2, w2, 2047 ubfx x4, x4, 3, 2 - adrp x0, .LC87 - add x0, x0, :lo12:.LC87 + adrp x0, .LC84 + add x0, x0, :lo12:.LC84 bl printf ldp x10, x11, [x29, 112] -.L1396: +.L1358: ldrb w0, [x28, 2] - tbz x0, 3, .L1397 + tbz x0, 3, .L1359 ldr x0, [x22, #:lo12:.LANCHOR110] ldr w1, [x11, x10] ldrh w2, [x0, 98] - adrp x0, .LANCHOR153 + adrp x0, .LANCHOR150 ubfx x1, x1, 11, 8 - ldrh w0, [x0, #:lo12:.LANCHOR153] + ldrh w0, [x0, #:lo12:.LANCHOR150] add w0, w1, w0, lsr 2 cmp w2, w0 - ble .L1397 + ble .L1359 ldrb w0, [x28, 2] and w1, w0, 192 cmp w1, 64 - bne .L1398 - ldr x0, [x19, #:lo12:.LANCHOR10] + bne .L1360 + ldr x0, [x19, #:lo12:.LANCHOR12] mov w1, 0 mov w2, 1 ldrh w0, [x0, 584] bl gc_add_sblk - adrp x0, .LANCHOR71+2110 + adrp x0, .LANCHOR70+2192 mov w1, 1 - strh w1, [x0, #:lo12:.LANCHOR71+2110] -.L1397: + strh w1, [x0, #:lo12:.LANCHOR70+2192] +.L1359: ldr x0, [x29, 152] - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 10, .L1399 - adrp x2, .LANCHOR9 - ldr x1, [x24, #:lo12:.LANCHOR7] + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 10, .L1361 + adrp x2, .LANCHOR11 + ldr x1, [x24, #:lo12:.LANCHOR9] uxtw x6, w27 lsl x0, x6, 2 - ldr x7, [x2, #:lo12:.LANCHOR9] + ldr x7, [x2, #:lo12:.LANCHOR11] add x5, x1, x0 ldr w3, [x1, x0] ldrh w7, [x7, x6, lsl 1] @@ -8488,28 +8376,28 @@ gc_static_wearleveling: ldrb w4, [x5, 2] ubfx x3, x3, 11, 8 ldrh w2, [x1, x0] - adrp x0, .LC88 + adrp x0, .LC85 mov w1, w27 - add x0, x0, :lo12:.LC88 + add x0, x0, :lo12:.LC85 ubfx x5, x4, 5, 3 and w2, w2, 2047 ubfx x4, x4, 3, 2 bl printf -.L1399: +.L1361: ldr x0, [x29, 152] - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 10, .L1400 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 10, .L1362 ldr w6, [x29, 128] - adrp x2, .LANCHOR9 - ldr x1, [x24, #:lo12:.LANCHOR7] - ldr x7, [x2, #:lo12:.LANCHOR9] + adrp x2, .LANCHOR11 + ldr x1, [x24, #:lo12:.LANCHOR9] + ldr x7, [x2, #:lo12:.LANCHOR11] lsl x0, x6, 2 add x5, x1, x0 ldr w3, [x1, x0] ldrh w2, [x1, x0] - adrp x0, .LC89 + adrp x0, .LC86 ldrh w7, [x7, x6, lsl 1] - add x0, x0, :lo12:.LC89 + add x0, x0, :lo12:.LC86 ldrb w6, [x5, 3] ubfx x3, x3, 11, 8 ldr w1, [x29, 128] @@ -8518,7 +8406,7 @@ gc_static_wearleveling: ubfx x5, x4, 5, 3 ubfx x4, x4, 3, 2 bl printf -.L1400: +.L1362: ldr x0, [x22, #:lo12:.LANCHOR110] ldrh w1, [x29, 148] strh w1, [x0, 96] @@ -8532,128 +8420,129 @@ gc_static_wearleveling: strh w3, [x0, 88] strh w4, [x0, 90] ldr x0, [x29, 152] - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 10, .L1401 - adrp x0, .LC90 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 10, .L1363 + adrp x0, .LC87 and w4, w4, 65535 and w3, w3, 65535 mov w2, w25 mov w1, w26 - add x0, x0, :lo12:.LC90 + add x0, x0, :lo12:.LC87 bl printf -.L1401: +.L1363: ldr x0, [x29, 152] - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 10, .L1402 - adrp x0, .LANCHOR153 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 10, .L1364 + adrp x0, .LANCHOR150 ldr w3, [x29, 148] mov w4, w23 mov w2, w21 - ldrh w6, [x0, #:lo12:.LANCHOR153] - adrp x0, .LANCHOR152 + ldrh w6, [x0, #:lo12:.LANCHOR150] + adrp x0, .LANCHOR149 mov w1, w20 - ldrh w5, [x0, #:lo12:.LANCHOR152] - adrp x0, .LC91 - add x0, x0, :lo12:.LC91 + ldrh w5, [x0, #:lo12:.LANCHOR149] + adrp x0, .LC88 + add x0, x0, :lo12:.LC88 bl printf -.L1402: +.L1364: sub w0, w23, w21 str w0, [x29, 144] - adrp x0, .LANCHOR153 + adrp x0, .LANCHOR150 ldr w1, [x29, 144] - ldrh w0, [x0, #:lo12:.LANCHOR153] + ldrh w0, [x0, #:lo12:.LANCHOR150] cmp w1, w0 - bgt .L1403 - adrp x1, .LANCHOR152 + bgt .L1365 + adrp x1, .LANCHOR149 ldr w0, [x29, 148] - ldrh w1, [x1, #:lo12:.LANCHOR152] + ldrh w1, [x1, #:lo12:.LANCHOR149] sub w0, w0, w20 cmp w0, w1 - ble .L1432 -.L1403: - ldr x0, [x19, #:lo12:.LANCHOR10] - adrp x26, .LANCHOR71 - add x26, x26, :lo12:.LANCHOR71 + ble .L1394 +.L1365: + ldr x0, [x19, #:lo12:.LANCHOR12] + adrp x26, .LANCHOR70 + add x26, x26, :lo12:.LANCHOR70 mov w25, 0 mov w23, 0 ldrh w28, [x0, 580] ldr x0, [x22, #:lo12:.LANCHOR110] ldrh w27, [x0, 134] - adrp x0, .LANCHOR6 - add x0, x0, :lo12:.LANCHOR6 + adrp x0, .LANCHOR8 + add x0, x0, :lo12:.LANCHOR8 str x0, [x29, 136] - adrp x0, .LANCHOR152 - add x0, x0, :lo12:.LANCHOR152 + adrp x0, .LANCHOR149 + add x0, x0, :lo12:.LANCHOR149 str x0, [x29, 128] -.L1405: +.L1367: ldr x0, [x29, 136] ldrh w0, [x0] cmp w27, w0 - bcc .L1415 -.L1414: - ldr x0, [x19, #:lo12:.LANCHOR10] + bcc .L1377 +.L1376: + ldr x0, [x19, #:lo12:.LANCHOR12] str w28, [x0, 580] -.L1404: - cbz w21, .L1417 +.L1366: + cbz w21, .L1379 ldr x2, [x22, #:lo12:.LANCHOR110] - adrp x0, .LANCHOR6 - ldrh w5, [x0, #:lo12:.LANCHOR6] - ldr x0, [x24, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR8 + ldrh w5, [x0, #:lo12:.LANCHOR8] + ldr x0, [x24, #:lo12:.LANCHOR9] ldrh w1, [x2, 134] add x0, x0, x1, uxth 2 -.L1418: +.L1380: cmp w1, w5 - bcc .L1420 + bcc .L1382 ldrh w0, [x2, 72] add w0, w21, w0 strh w0, [x2, 72] ldrh w0, [x2, 98] cmp w21, w0 - bcs .L1417 + bcs .L1379 sub w21, w0, w21 strh w21, [x2, 98] -.L1417: - cbz w20, .L1423 +.L1379: + cbz w20, .L1385 ldr x2, [x22, #:lo12:.LANCHOR110] - adrp x0, .LANCHOR6 - ldrh w6, [x0, #:lo12:.LANCHOR6] - ldr x0, [x24, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR8 + ldrh w6, [x0, #:lo12:.LANCHOR8] + ldr x0, [x24, #:lo12:.LANCHOR9] ldrh w1, [x2, 134] add x0, x0, x1, uxth 2 -.L1424: +.L1386: cmp w1, w6 - bcc .L1426 + bcc .L1388 ldrh w0, [x2, 74] add w0, w20, w0 strh w0, [x2, 74] ldrh w0, [x2, 96] cmp w20, w0 - bcs .L1423 + bcs .L1385 sub w20, w0, w20 strh w20, [x2, 96] -.L1423: - mov w1, 5 - mov w0, 0 - bl zftl_get_gc_node +.L1385: + mov w1, 0 + adrp x0, .LANCHOR92 + add x0, x0, :lo12:.LANCHOR92 + bl _list_get_gc_head_node and w1, w0, 65535 mov w2, 65535 cmp w1, w2 - beq .L1381 - adrp x2, .LANCHOR9 + beq .L1343 + adrp x2, .LANCHOR11 ubfiz x1, x1, 1, 16 - ldr x3, [x2, #:lo12:.LANCHOR9] - adrp x2, .LANCHOR95 - ldrh w2, [x2, #:lo12:.LANCHOR95] + ldr x3, [x2, #:lo12:.LANCHOR11] + adrp x2, .LANCHOR94 + ldrh w2, [x2, #:lo12:.LANCHOR94] ldrh w1, [x3, x1] cmp w1, w2, lsr 1 - bhi .L1381 + bhi .L1343 add w23, w23, 1 mov w2, 1 mov w1, 0 bl gc_add_sblk -.L1381: +.L1343: add w0, w23, w25 -.L1376: +.L1338: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -8661,139 +8550,139 @@ gc_static_wearleveling: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 160 ret -.L1391: +.L1353: uxtw x7, w28 - ldr x6, [x24, #:lo12:.LANCHOR7] + ldr x6, [x24, #:lo12:.LANCHOR9] lsl x2, x7, 2 add x11, x6, x2 ldrb w0, [x11, 2] and w1, w0, 224 cmp w1, 224 - beq .L1383 + beq .L1345 ubfx x4, x0, 3, 2 - tbz x4, 0, .L1384 + tbz x4, 0, .L1346 ldr w0, [x6, x2] ldrh w1, [x6, x2] ubfx x0, x0, 11, 8 and w1, w1, 2047 -.L1385: +.L1347: ldr w3, [x29, 136] add w26, w26, 1 and w26, w26, 65535 cmp w20, w1 add w3, w3, w1 str w3, [x29, 136] - bls .L1429 - ldr x3, [x19, #:lo12:.LANCHOR10] + bls .L1391 + ldr x3, [x19, #:lo12:.LANCHOR12] mov w20, w1 strh w28, [x3, 586] -.L1429: +.L1391: ldr w3, [x29, 148] cmp w3, w1 - bcs .L1388 + bcs .L1350 mov w27, w28 str w1, [x29, 148] -.L1388: +.L1350: mov w3, 65535 cmp w0, w3 - bne .L1387 -.L1389: + bne .L1349 +.L1351: cmp w0, 9 ccmp w1, 9, 0, hi - bhi .L1383 + bhi .L1345 ldr w0, [x8] - tbz x0, 8, .L1383 - adrp x0, .LANCHOR9 + tbz x0, 8, .L1345 + adrp x0, .LANCHOR11 ldr w3, [x6, x2] ldrh w2, [x6, x2] mov w1, w28 - ldr x0, [x0, #:lo12:.LANCHOR9] + ldr x0, [x0, #:lo12:.LANCHOR11] ldrb w6, [x11, 3] ubfx x3, x3, 11, 8 ldrb w5, [x11, 2] and w2, w2, 2047 str x8, [x29, 120] ldrh w7, [x0, x7, lsl 1] - adrp x0, .LC85 + adrp x0, .LC82 str x10, [x29, 152] ubfx x5, x5, 5, 3 - add x0, x0, :lo12:.LC85 + add x0, x0, :lo12:.LC82 bl printf ldr x8, [x29, 120] ldr x10, [x29, 152] -.L1383: +.L1345: add w28, w28, 1 and w28, w28, 65535 - b .L1382 -.L1384: + b .L1344 +.L1346: tst w0, 24 - bne .L1386 + bne .L1348 ldrh w1, [x6, x2] mov w0, 65535 and w1, w1, 2047 - b .L1385 -.L1386: + b .L1347 +.L1348: ldr w0, [x6, x2] mov w1, 65535 ubfx x0, x0, 11, 8 -.L1387: +.L1349: ldr w3, [x29, 144] add w25, w25, 1 and w25, w25, 65535 cmp w21, w0 add w3, w3, w0 str w3, [x29, 144] - bls .L1390 - ldr x3, [x19, #:lo12:.LANCHOR10] + bls .L1352 + ldr x3, [x19, #:lo12:.LANCHOR12] mov w21, w0 strh w28, [x3, 584] -.L1390: +.L1352: cmp w23, w0 - bcs .L1389 + bcs .L1351 mov w23, w0 str w28, [x29, 128] - b .L1389 -.L1395: - cbnz w3, .L1394 - ldr x1, [x19, #:lo12:.LANCHOR10] + b .L1351 +.L1357: + cbnz w3, .L1356 + ldr x1, [x19, #:lo12:.LANCHOR12] mov w0, 65535 ldrh w2, [x1, 590] cmp w2, w0 - bne .L1394 + bne .L1356 ldrh w0, [x1, 586] ldrh w1, [x1, 588] cmp w1, w0 - beq .L1394 + beq .L1356 bl zftl_remove_free_node - ldr x0, [x19, #:lo12:.LANCHOR10] + ldr x0, [x19, #:lo12:.LANCHOR12] ldrh w1, [x0, 586] strh w1, [x0, 590] mov w1, -1 strh w1, [x0, 586] - b .L1394 -.L1398: + b .L1356 +.L1360: and w0, w0, 248 cmp w0, 16 - bne .L1397 - ldr x1, [x19, #:lo12:.LANCHOR10] + bne .L1359 + ldr x1, [x19, #:lo12:.LANCHOR12] mov w0, 65535 ldrh w2, [x1, 588] cmp w2, w0 - bne .L1397 + bne .L1359 ldrh w0, [x1, 584] ldrh w1, [x1, 590] cmp w1, w0 - beq .L1397 + beq .L1359 bl zftl_remove_free_node - ldr x0, [x19, #:lo12:.LANCHOR10] + ldr x0, [x19, #:lo12:.LANCHOR12] ldrh w1, [x0, 584] strh w1, [x0, 588] mov w1, -1 strh w1, [x0, 584] - b .L1397 -.L1415: + b .L1359 +.L1377: add w7, w28, 1 - ldr x4, [x24, #:lo12:.LANCHOR7] + ldr x4, [x24, #:lo12:.LANCHOR9] and w28, w7, 65535 cmp w0, w28 csel w28, w28, wzr, hi @@ -8802,31 +8691,31 @@ gc_static_wearleveling: add x0, x4, x3 ldrb w0, [x0, 2] tst w0, 192 - beq .L1407 + beq .L1369 and w2, w0, 224 cmp w2, 224 - beq .L1407 + beq .L1369 ubfx x0, x0, 3, 2 and w1, w0, 1 - tbz x0, 0, .L1408 + tbz x0, 0, .L1370 cmp w2, 160 -.L1495: - bne .L1410 - adrp x0, .LANCHOR153 +.L1457: + bne .L1372 + adrp x0, .LANCHOR150 ldr w2, [x29, 144] - ldrh w0, [x0, #:lo12:.LANCHOR153] + ldrh w0, [x0, #:lo12:.LANCHOR150] cmp w2, w0 - ble .L1411 + ble .L1373 ldr w0, [x4, x3] ubfx x0, x0, 11, 8 cmp w0, w21 - bls .L1412 - cbz w1, .L1411 + bls .L1374 + cbz w1, .L1373 ldrh w0, [x4, x3] and w0, w0, 2047 cmp w0, w20 - bgt .L1411 -.L1412: + bgt .L1373 +.L1374: stp x4, x8, [x29, 104] mov w2, 1 str x3, [x29, 120] @@ -8834,60 +8723,60 @@ gc_static_wearleveling: mov w0, w28 bl gc_add_sblk mov w0, 1 - strh w0, [x26, 2110] + strh w0, [x26, 2192] ldr x0, [x29, 152] add w23, w23, 1 ldp x4, x8, [x29, 104] ldr x3, [x29, 120] - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 10, .L1411 - adrp x0, .LANCHOR9 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 10, .L1373 + adrp x0, .LANCHOR11 ldr w6, [x4, x3] ldrh w5, [x4, x3] - ldr x1, [x0, #:lo12:.LANCHOR9] - ldr x0, [x24, #:lo12:.LANCHOR7] + ldr x1, [x0, #:lo12:.LANCHOR11] + ldr x0, [x24, #:lo12:.LANCHOR9] ubfx x6, x6, 11, 8 ldrh w4, [x26, 56] and w5, w5, 2047 add x3, x0, x3 - adrp x0, .LC92 - add x0, x0, :lo12:.LC92 + adrp x0, .LC89 + add x0, x0, :lo12:.LC89 ldrb w2, [x3, 2] ldrh w3, [x1, x8, lsl 1] mov w1, w28 ubfx x2, x2, 5, 3 -.L1496: +.L1458: bl printf -.L1411: +.L1373: cmp w23, 4 ccmp w25, 4, 2, ls - bhi .L1414 -.L1407: + bhi .L1376 +.L1369: add w27, w27, 1 and w27, w27, 65535 - b .L1405 -.L1408: + b .L1367 +.L1370: cmp w0, 2 - b .L1495 -.L1410: + b .L1457 +.L1372: ldr x2, [x29, 128] ldr w0, [x29, 148] sub w0, w0, w20 ldrh w2, [x2] cmp w0, w2 - ble .L1411 + ble .L1373 ldrh w0, [x4, x3] add w2, w20, 8 and w0, w0, 2047 cmp w0, w2 - ble .L1413 - cbz w1, .L1411 + ble .L1375 + cbz w1, .L1373 ldr w0, [x4, x3] add w1, w21, 4 ubfx x0, x0, 11, 8 cmp w0, w1 - bgt .L1411 -.L1413: + bgt .L1373 +.L1375: stp x4, x8, [x29, 104] mov w2, 1 str x3, [x29, 120] @@ -8895,73 +8784,73 @@ gc_static_wearleveling: mov w0, w28 bl gc_add_sblk mov w0, 1 - strh w0, [x26, 2110] + strh w0, [x26, 2192] ldr x0, [x29, 152] add w25, w25, 1 ldp x4, x8, [x29, 104] ldr x3, [x29, 120] - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 10, .L1411 - adrp x0, .LANCHOR9 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 10, .L1373 + adrp x0, .LANCHOR11 ldr w6, [x4, x3] ldrh w5, [x4, x3] - ldr x1, [x0, #:lo12:.LANCHOR9] - ldr x0, [x24, #:lo12:.LANCHOR7] + ldr x1, [x0, #:lo12:.LANCHOR11] + ldr x0, [x24, #:lo12:.LANCHOR9] ubfx x6, x6, 11, 8 and w5, w5, 2047 ldrh w4, [x26, 56] add x3, x0, x3 - adrp x0, .LC93 - add x0, x0, :lo12:.LC93 + adrp x0, .LC90 + add x0, x0, :lo12:.LC90 ldrb w2, [x3, 2] ldrh w3, [x1, x8, lsl 1] mov w1, w28 ubfx x2, x2, 5, 3 - b .L1496 -.L1432: + b .L1458 +.L1394: mov w25, 0 mov w23, 0 - b .L1404 -.L1420: + b .L1366 +.L1382: ldr w3, [x0] ubfx x4, x3, 11, 8 cmp w21, w4 - bhi .L1419 + bhi .L1381 ldrb w6, [x0, 2] tst w6, 24 - beq .L1419 + beq .L1381 sub w4, w4, w21 bfi w3, w4, 11, 8 str w3, [x0] -.L1419: +.L1381: add w1, w1, 1 add x0, x0, 4 and w1, w1, 65535 - b .L1418 -.L1426: + b .L1380 +.L1388: ldrh w3, [x0] and w4, w3, 2047 cmp w4, w20 - blt .L1425 + blt .L1387 ldrb w5, [x0, 2] and w5, w5, 24 cmp w5, 16 - beq .L1425 + beq .L1387 sub w4, w4, w20 bfi w3, w4, 0, 11 strh w3, [x0] -.L1425: +.L1387: add w1, w1, 1 add x0, x0, 4 and w1, w1, 65535 - b .L1424 -.L1431: + b .L1386 +.L1393: mov w25, 0 mov w23, 0 - b .L1381 -.L1430: + b .L1343 +.L1392: mov w0, 0 - b .L1376 + b .L1338 .size gc_static_wearleveling, .-gc_static_wearleveling .section .text.zftl_sblk_list_init,"ax",@progbits .align 2 @@ -8974,15 +8863,15 @@ zftl_sblk_list_init: mov w1, 0 add x29, sp, 0 stp x27, x28, [sp, 80] - adrp x28, .LANCHOR6 + adrp x28, .LANCHOR8 stp x19, x20, [sp, 16] adrp x20, .LANCHOR99 - ldrh w2, [x28, #:lo12:.LANCHOR6] + ldrh w2, [x28, #:lo12:.LANCHOR8] mov w27, 0 stp x21, x22, [sp, 32] adrp x22, .LANCHOR97 stp x23, x24, [sp, 48] - adrp x21, .LANCHOR93 + adrp x21, .LANCHOR91 stp x25, x26, [sp, 64] adrp x26, .LANCHOR110 mul w2, w2, w0 @@ -8994,42 +8883,42 @@ zftl_sblk_list_init: bl ftl_memset strh wzr, [x25, #:lo12:.LANCHOR103] adrp x0, .LANCHOR109 - adrp x3, .LANCHOR80 - adrp x2, .LANCHOR86 + adrp x3, .LANCHOR79 + adrp x2, .LANCHOR85 mov w1, 32 strh w1, [x0, #:lo12:.LANCHOR109] adrp x11, .LANCHOR104 - ldrb w0, [x3, #:lo12:.LANCHOR80] + ldrb w0, [x3, #:lo12:.LANCHOR79] adrp x10, .LANCHOR106 - ldrh w1, [x2, #:lo12:.LANCHOR86] + ldrh w1, [x2, #:lo12:.LANCHOR85] adrp x7, .LANCHOR108 - adrp x6, .LANCHOR89 - adrp x5, .LANCHOR12 - adrp x4, .LANCHOR88 + adrp x6, .LANCHOR90 + adrp x5, .LANCHOR95 + adrp x4, .LANCHOR92 ldr x8, [x29, 192] str xzr, [x11, #:lo12:.LANCHOR104] mul w1, w0, w1 mov w0, 32768 str xzr, [x10, #:lo12:.LANCHOR106] str xzr, [x7, #:lo12:.LANCHOR108] - str xzr, [x6, #:lo12:.LANCHOR89] + str xzr, [x6, #:lo12:.LANCHOR90] sdiv w0, w0, w1 - str xzr, [x5, #:lo12:.LANCHOR12] - str xzr, [x4, #:lo12:.LANCHOR88] + str xzr, [x5, #:lo12:.LANCHOR95] + str xzr, [x4, #:lo12:.LANCHOR92] strh wzr, [x24, #:lo12:.LANCHOR105] strh wzr, [x23, #:lo12:.LANCHOR107] sxth w0, w0 str w0, [x29, 204] ldr x0, [x26, #:lo12:.LANCHOR110] strh wzr, [x22, #:lo12:.LANCHOR97] - strh wzr, [x21, #:lo12:.LANCHOR93] + strh wzr, [x21, #:lo12:.LANCHOR91] strh wzr, [x20, #:lo12:.LANCHOR99] strh wzr, [x0, 146] ldrsh w19, [x0, 134] - add x0, x28, :lo12:.LANCHOR6 + add x0, x28, :lo12:.LANCHOR8 str x0, [x29, 192] - adrp x0, .LANCHOR154 - add x0, x0, :lo12:.LANCHOR154 + adrp x0, .LANCHOR151 + add x0, x0, :lo12:.LANCHOR151 adrp x28, .LC0 str x0, [x29, 112] add x0, x28, :lo12:.LC0 @@ -9039,11 +8928,11 @@ zftl_sblk_list_init: stp x10, x11, [x29, 168] str x8, [x29, 184] str x0, [x29, 104] -.L1498: +.L1460: ldr x0, [x29, 192] ldrh w0, [x0] cmp w19, w0 - blt .L1515 + blt .L1477 ldr x0, [x26, #:lo12:.LANCHOR110] ldrh w1, [x25, #:lo12:.LANCHOR103] ldp x27, x28, [sp, 80] @@ -9054,7 +8943,7 @@ zftl_sblk_list_init: strh w1, [x0, 116] ldrh w1, [x22, #:lo12:.LANCHOR97] strh w1, [x0, 122] - ldrh w1, [x21, #:lo12:.LANCHOR93] + ldrh w1, [x21, #:lo12:.LANCHOR91] strh w1, [x0, 120] ldrh w1, [x20, #:lo12:.LANCHOR99] strh w1, [x0, 124] @@ -9064,29 +8953,29 @@ zftl_sblk_list_init: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 208 ret -.L1515: - adrp x0, .LANCHOR7 +.L1477: + adrp x0, .LANCHOR9 sxtw x2, w19 - ldr x3, [x0, #:lo12:.LANCHOR7] + ldr x3, [x0, #:lo12:.LANCHOR9] add x28, x3, x2, lsl 2 ldrb w5, [x28, 3] - cbz w5, .L1516 + cbz w5, .L1478 ldr x0, [x29, 128] mov w1, 0 ldr x6, [x26, #:lo12:.LANCHOR110] - ldrb w7, [x0, #:lo12:.LANCHOR80] + ldrb w7, [x0, #:lo12:.LANCHOR79] ldr x0, [x29, 120] - ldrh w8, [x0, #:lo12:.LANCHOR86] + ldrh w8, [x0, #:lo12:.LANCHOR85] mov w0, 0 -.L1500: +.L1462: cmp w1, w7 - blt .L1503 - cbz w0, .L1504 + blt .L1465 + cbz w0, .L1466 mov w1, 32768 sdiv w0, w1, w0 add w0, w0, 1 sxth w0, w0 -.L1499: +.L1461: ldr x3, [x29, 184] mov w1, 6 smull x1, w19, w1 @@ -9101,264 +8990,179 @@ zftl_sblk_list_init: and w0, w0, 224 cmp w0, 32 ccmp w0, w1, 4, ne - beq .L1505 - adrp x1, .LANCHOR10 - ldr x1, [x1, #:lo12:.LANCHOR10] + beq .L1467 + adrp x1, .LANCHOR12 + ldr x1, [x1, #:lo12:.LANCHOR12] ldrh w4, [x1, 16] cmp w19, w4 - beq .L1505 + beq .L1467 ldrh w4, [x1, 48] cmp w19, w4 - beq .L1505 + beq .L1467 ldrh w1, [x1, 80] cmp w19, w1 - beq .L1505 + beq .L1467 cmp w0, 64 - bne .L1506 + bne .L1468 ldr x0, [x29, 144] add x2, x22, :lo12:.LANCHOR97 mov w1, w19 - add x0, x0, :lo12:.LANCHOR12 -.L1522: + add x0, x0, :lo12:.LANCHOR95 +.L1484: bl _insert_data_list -.L1505: +.L1467: add w19, w19, 1 sxth w19, w19 - b .L1498 -.L1503: + b .L1460 +.L1465: asr w4, w5, w1 - tbnz x4, 0, .L1501 + tbnz x4, 0, .L1463 add w0, w8, w0 sxth w0, w0 -.L1502: +.L1464: add w1, w1, 1 - b .L1500 -.L1501: + b .L1462 +.L1463: ldrh w4, [x6, 146] add w4, w4, 1 strh w4, [x6, 146] - b .L1502 -.L1504: + b .L1464 +.L1466: ldrb w1, [x28, 2] mov w4, -1 orr w1, w1, -32 strb w1, [x28, 2] - adrp x1, .LANCHOR9 - ldr x1, [x1, #:lo12:.LANCHOR9] + adrp x1, .LANCHOR11 + ldr x1, [x1, #:lo12:.LANCHOR11] strh w4, [x1, x2, lsl 1] - b .L1499 -.L1516: + b .L1461 +.L1478: ldr w0, [x29, 204] - b .L1499 -.L1506: + b .L1461 +.L1468: cmp w0, 96 - bne .L1507 + bne .L1469 ldr x0, [x29, 152] add x2, x20, :lo12:.LANCHOR99 mov w1, w19 - add x0, x0, :lo12:.LANCHOR89 - b .L1522 -.L1507: + add x0, x0, :lo12:.LANCHOR90 + b .L1484 +.L1469: cmp w0, 160 - bne .L1508 + bne .L1470 ldr x0, [x29, 136] - add x2, x21, :lo12:.LANCHOR93 + add x2, x21, :lo12:.LANCHOR91 mov w1, w19 - add x0, x0, :lo12:.LANCHOR88 - b .L1522 -.L1508: - cbnz w0, .L1505 - adrp x0, .LANCHOR9 - ldr x0, [x0, #:lo12:.LANCHOR9] + add x0, x0, :lo12:.LANCHOR92 + b .L1484 +.L1470: + cbnz w0, .L1467 + adrp x0, .LANCHOR11 + ldr x0, [x0, #:lo12:.LANCHOR11] ldrh w2, [x0, x2, lsl 1] - cbz w2, .L1509 + cbz w2, .L1471 cmp w27, 2 - bgt .L1510 + bgt .L1472 mov w1, w19 - adrp x0, .LC94 - add x0, x0, :lo12:.LC94 + adrp x0, .LC91 + add x0, x0, :lo12:.LC91 bl printf ldrb w0, [x28, 2] add w27, w27, 1 sxth w27, w27 - tbz x0, 4, .L1511 + tbz x0, 4, .L1473 mov w1, 5 -.L1521: +.L1483: bfi w0, w1, 5, 3 strb w0, [x28, 2] mov w2, 0 mov w1, 1 mov w0, w19 bl gc_add_sblk - b .L1505 -.L1511: + b .L1467 +.L1473: mov w1, 2 - b .L1521 -.L1510: + b .L1483 +.L1472: ldp x0, x1, [x29, 104] - mov w2, 651 + mov w2, 656 bl printf -.L1509: +.L1471: ldrb w0, [x28, 2] ands w0, w0, 24 - bne .L1513 + bne .L1475 ldr x0, [x29, 176] add x2, x25, :lo12:.LANCHOR103 mov w1, w19 add x0, x0, :lo12:.LANCHOR104 -.L1523: +.L1485: bl _insert_free_list - b .L1505 -.L1513: + b .L1467 +.L1475: cmp w0, 16 - bne .L1514 + bne .L1476 ldr x0, [x29, 168] add x2, x24, :lo12:.LANCHOR105 mov w1, w19 add x0, x0, :lo12:.LANCHOR106 - b .L1523 -.L1514: + b .L1485 +.L1476: ldr x0, [x29, 160] add x2, x23, :lo12:.LANCHOR107 mov w1, w19 add x0, x0, :lo12:.LANCHOR108 - b .L1523 + b .L1485 .size zftl_sblk_list_init, .-zftl_sblk_list_init - .section .text.ftl_open_sblk_init,"ax",@progbits - .align 2 - .global ftl_open_sblk_init - .type ftl_open_sblk_init, %function -ftl_open_sblk_init: - stp x29, x30, [sp, -80]! - add x29, sp, 0 - stp x21, x22, [sp, 32] - adrp x21, .LANCHOR80 - stp x23, x24, [sp, 48] - adrp x22, .LC82 - stp x19, x20, [sp, 16] - adrp x24, .LANCHOR95 - mov x19, x0 - mov w23, w1 - add x24, x24, :lo12:.LANCHOR95 - add x21, x21, :lo12:.LANCHOR80 - add x22, x22, :lo12:.LC82 - stp x25, x26, [sp, 64] -.L1525: - mov w25, 65535 -.L1526: - mov w0, w23 - bl ftl_alloc_sblk - and w20, w0, 65535 - cmp w20, w25 - beq .L1526 - mov w1, 0 - mov w0, w20 - bl ftl_erase_sblk - add x1, x19, 16 - mov w0, w20 - bl ftl_get_blk_list_in_sblk - and w0, w0, 255 - ldrh w1, [x24] - cmp w23, 2 - strb w0, [x19, 9] - strh w20, [x19] - strh wzr, [x19, 2] - mul w0, w1, w0 - strb wzr, [x19, 5] - strh w0, [x19, 6] - strh wzr, [x19, 10] - strb w23, [x19, 4] - beq .L1529 - ldrb w0, [x21] - mul w0, w1, w0 - and w0, w0, 65535 -.L1527: - ldrb w2, [x21] - adrp x26, .LANCHOR9 - strh w0, [x19, 12] - ubfiz x25, x20, 1, 16 - mul w2, w2, w1 - adrp x1, .LANCHOR117 - ldr x3, [x1, #:lo12:.LANCHOR117] - mov w1, 255 - lsl w2, w2, 2 - add x0, x3, x0, uxth 2 - bl ftl_memset - ldr x0, [x26, #:lo12:.LANCHOR9] - ldrh w1, [x19, 6] - strh w1, [x0, x25] - ldrb w0, [x19, 9] - cbnz w0, .L1524 - mov w1, w20 - mov x0, x22 - bl printf - ldr x0, [x26, #:lo12:.LANCHOR9] - mov w1, -1 - strh w1, [x0, x25] - mov w0, 7 - strb w0, [x19, 4] - b .L1525 -.L1529: - mov w0, 0 - b .L1527 -.L1524: - ldp x19, x20, [sp, 16] - ldp x21, x22, [sp, 32] - ldp x23, x24, [sp, 48] - ldp x25, x26, [sp, 64] - ldp x29, x30, [sp], 80 - ret - .size ftl_open_sblk_init, .-ftl_open_sblk_init .section .text.pm_free_sblk,"ax",@progbits .align 2 .global pm_free_sblk .type pm_free_sblk, %function pm_free_sblk: stp x29, x30, [sp, -384]! - adrp x0, .LANCHOR155 + adrp x0, .LANCHOR152 add x29, sp, 0 stp x19, x20, [sp, 16] mov x19, x0 - ldrh w1, [x0, #:lo12:.LANCHOR155] + ldrh w1, [x0, #:lo12:.LANCHOR152] stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] cmp w1, 128 stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] - bls .L1533 - adrp x1, .LANCHOR156 + bls .L1487 + adrp x1, .LANCHOR153 adrp x0, .LC0 mov w2, 94 - add x1, x1, :lo12:.LANCHOR156 + add x1, x1, :lo12:.LANCHOR153 add x0, x0, :lo12:.LC0 bl printf -.L1533: +.L1487: adrp x5, .LANCHOR110 mov x26, x5 - ldrh w3, [x19, #:lo12:.LANCHOR155] + ldrh w3, [x19, #:lo12:.LANCHOR152] mov w1, 0 ldr x0, [x5, #:lo12:.LANCHOR110] mov w19, 0 mov w4, 65535 add x0, x0, 416 ldrh w2, [x0, 272] -.L1536: +.L1490: ldrh w6, [x0] cmp w6, w4 - beq .L1534 + beq .L1488 add w1, w1, 1 and w1, w1, 65535 -.L1534: +.L1488: cmp w1, w2 - bcs .L1535 + bcs .L1489 cmp w1, w3 - bcs .L1535 + bcs .L1489 add w19, w19, 1 add x0, x0, 2 and w19, w19, 65535 cmp w19, 128 - bne .L1536 -.L1535: + bne .L1490 +.L1489: add w19, w19, 1 mov w0, 128 and w19, w19, 65535 @@ -9368,16 +9172,16 @@ pm_free_sblk: csel w19, w19, w0, ne mov w1, 0 mov x0, x22 - adrp x23, .LANCHOR76 + adrp x23, .LANCHOR75 bl ftl_memset - adrp x0, .LANCHOR75 + adrp x0, .LANCHOR74 ldr x6, [x26, #:lo12:.LANCHOR110] mov w2, 24 - ldrb w11, [x23, #:lo12:.LANCHOR76] - ldrh w10, [x0, #:lo12:.LANCHOR75] - adrp x0, .LANCHOR32 + ldrb w11, [x23, #:lo12:.LANCHOR75] + ldrh w10, [x0, #:lo12:.LANCHOR74] + adrp x0, .LANCHOR31 add x4, x6, 704 - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] ldrh w1, [x6, 698] sub w2, w2, w0 sub w0, w2, w10 @@ -9386,24 +9190,24 @@ pm_free_sblk: add x1, x6, x1, lsl 2 lsl w2, w2, w0 sub w2, w2, #1 -.L1538: +.L1492: cmp x1, x4 - bne .L1541 - adrp x24, .LANCHOR80 - adrp x25, .LANCHOR95 - adrp x27, .LC95 - adrp x28, .LANCHOR14 - ldrb w21, [x24, #:lo12:.LANCHOR80] - add x23, x23, :lo12:.LANCHOR76 - ldrh w0, [x25, #:lo12:.LANCHOR95] - add x27, x27, :lo12:.LC95 - add x28, x28, :lo12:.LANCHOR14 + bne .L1495 + adrp x24, .LANCHOR79 + adrp x25, .LANCHOR94 + adrp x27, .LC92 + adrp x28, .LANCHOR19 + ldrb w21, [x24, #:lo12:.LANCHOR79] + add x23, x23, :lo12:.LANCHOR75 + ldrh w0, [x25, #:lo12:.LANCHOR94] + add x27, x27, :lo12:.LC92 + add x28, x28, :lo12:.LANCHOR19 mov x20, 0 mov w7, 65535 str wzr, [x29, 124] mul w21, w21, w0 and w21, w21, 65535 -.L1547: +.L1501: ldr x0, [x26, #:lo12:.LANCHOR110] and w6, w20, 65535 ldrb w2, [x23] @@ -9413,36 +9217,36 @@ pm_free_sblk: ldrh w1, [x0, 692] sdiv w1, w1, w2 cmp w1, w3 - bne .L1542 - ldrb w1, [x24, #:lo12:.LANCHOR80] - ldrh w2, [x25, #:lo12:.LANCHOR95] + bne .L1496 + ldrb w1, [x24, #:lo12:.LANCHOR79] + ldrh w2, [x25, #:lo12:.LANCHOR94] mul w1, w1, w2 strh w1, [x22, x20, lsl 1] -.L1542: +.L1496: ldrh w2, [x22, x20, lsl 1] cmp w2, w21 - bcs .L1543 + bcs .L1497 cmp w2, 0 ldr w1, [x29, 124] csel w21, w21, w2, eq csel w1, w1, w6, eq str w1, [x29, 124] -.L1543: +.L1497: ldrh w1, [x0, 74] cmp w1, 2 - bls .L1544 + bls .L1498 mov w1, 65535 cmp w3, w1 - beq .L1544 - adrp x4, .LANCHOR7 + beq .L1498 + adrp x4, .LANCHOR9 ubfiz x1, x3, 2, 16 ldrh w0, [x0, 92] - ldr x4, [x4, #:lo12:.LANCHOR7] + ldr x4, [x4, #:lo12:.LANCHOR9] add w0, w0, 4 ldrh w4, [x4, x1] and w4, w4, 2047 cmp w4, w0 - bgt .L1544 + bgt .L1498 mov w1, w8 str w6, [x29, 104] str w8, [x29, 112] @@ -9451,29 +9255,29 @@ pm_free_sblk: ldr w6, [x29, 104] ldr w8, [x29, 112] mov w7, w6 -.L1544: +.L1498: ldrh w0, [x22, x20, lsl 1] - cbnz w0, .L1545 + cbnz w0, .L1499 ldr x0, [x26, #:lo12:.LANCHOR110] sxtw x6, w8 add x1, x6, 208 ldrh w3, [x0, x1, lsl 1] mov w1, 65535 cmp w3, w1 - beq .L1545 + beq .L1499 ldr w1, [x28] - tbz x1, 12, .L1546 + tbz x1, 12, .L1500 ldrh w4, [x0, 688] mov w2, 0 str x6, [x29, 104] mov w1, w8 str w7, [x29, 112] - adrp x0, .LC96 - add x0, x0, :lo12:.LC96 + adrp x0, .LC93 + add x0, x0, :lo12:.LC93 bl printf ldr w7, [x29, 112] ldr x6, [x29, 104] -.L1546: +.L1500: ldr x0, [x26, #:lo12:.LANCHOR110] add x6, x6, 208 str w7, [x29, 104] @@ -9488,10 +9292,10 @@ pm_free_sblk: ldrh w1, [x0, 688] sub w1, w1, #1 strh w1, [x0, 688] -.L1545: +.L1499: add x20, x20, 1 cmp w19, w20, uxth - bhi .L1547 + bhi .L1501 mov w0, 65535 cmp w7, w0 ldr w0, [x29, 124] @@ -9503,7 +9307,7 @@ pm_free_sblk: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 384 ret -.L1541: +.L1495: ldr w0, [x4] add x7, x6, 416 mov x3, 0 @@ -9511,20 +9315,20 @@ pm_free_sblk: and w0, w0, w2 udiv w0, w0, w11 and w0, w0, 65535 -.L1540: +.L1494: ldrh w8, [x7] cmp w8, w0 - bne .L1539 + bne .L1493 ldrh w8, [x22, x3, lsl 1] add w8, w8, 1 strh w8, [x22, x3, lsl 1] -.L1539: +.L1493: add x3, x3, 1 add x7, x7, 2 cmp w19, w3, uxth - bhi .L1540 + bhi .L1494 add x4, x4, 4 - b .L1538 + b .L1492 .size pm_free_sblk, .-pm_free_sblk .section .text.ftl_memcpy,"ax",@progbits .align 2 @@ -9540,24 +9344,24 @@ ftl_memcpy: .type flash_info_data_init, %function flash_info_data_init: stp x29, x30, [sp, -32]! - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR19 add x29, sp, 0 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] str x19, [sp, 16] - tbz x0, 12, .L1560 - adrp x2, .LANCHOR157 - adrp x0, .LC97 - add x2, x2, :lo12:.LANCHOR157 - mov w1, 119 - add x0, x0, :lo12:.LC97 + tbz x0, 12, .L1514 + adrp x2, .LANCHOR154 + adrp x0, .LC94 + add x2, x2, :lo12:.LANCHOR154 + mov w1, 120 + add x0, x0, :lo12:.LC94 bl printf -.L1560: - adrp x19, .LANCHOR27 +.L1514: + adrp x19, .LANCHOR6 mov w2, 2048 mov w1, 0 - ldr x0, [x19, #:lo12:.LANCHOR27] + ldr x0, [x19, #:lo12:.LANCHOR6] bl ftl_memset - ldr x0, [x19, #:lo12:.LANCHOR27] + ldr x0, [x19, #:lo12:.LANCHOR6] mov w1, 21321 movk w1, 0x5359, lsl 16 mov w2, 32 @@ -9567,15 +9371,15 @@ flash_info_data_init: str w1, [x0, -72] mov w1, 1 strh w1, [x0, -64] - adrp x1, .LANCHOR20 - add x1, x1, :lo12:.LANCHOR20 + adrp x1, .LANCHOR25 + add x1, x1, :lo12:.LANCHOR25 bl ftl_memcpy - ldr x0, [x19, #:lo12:.LANCHOR27] + ldr x0, [x19, #:lo12:.LANCHOR6] mov w2, 32 ldr x19, [sp, 16] - adrp x1, .LANCHOR33 + adrp x1, .LANCHOR32 ldp x29, x30, [sp], 32 - add x1, x1, :lo12:.LANCHOR33 + add x1, x1, :lo12:.LANCHOR32 add x0, x0, 48 b ftl_memcpy .size flash_info_data_init, .-flash_info_data_init @@ -9585,15 +9389,15 @@ flash_info_data_init: .type ftl_memcpy32, %function ftl_memcpy32: mov x3, 0 -.L1566: +.L1520: cmp w2, w3 - bhi .L1567 + bhi .L1521 ret -.L1567: +.L1521: ldr w4, [x1, x3, lsl 2] str w4, [x0, x3, lsl 2] add x3, x3, 1 - b .L1566 + b .L1520 .size ftl_memcpy32, .-ftl_memcpy32 .section .text.ftl_memcmp,"ax",@progbits .align 2 @@ -9629,47 +9433,47 @@ nandc_init: stp x29, x30, [sp, -64]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR14 + adrp x21, .LANCHOR19 stp x19, x20, [sp, 16] mov x19, x0 - ldr w0, [x21, #:lo12:.LANCHOR14] + ldr w0, [x21, #:lo12:.LANCHOR19] str wzr, [x29, 56] - tbz x0, 12, .L1572 - adrp x1, .LANCHOR158 - adrp x0, .LC98 + tbz x0, 12, .L1526 + adrp x1, .LANCHOR155 + adrp x0, .LC95 mov x2, x19 - add x1, x1, :lo12:.LANCHOR158 - add x0, x0, :lo12:.LC98 + add x1, x1, :lo12:.LANCHOR155 + add x0, x0, :lo12:.LC95 bl printf -.L1572: - adrp x20, .LANCHOR28 +.L1526: + adrp x20, .LANCHOR27 mov w0, 6 ldr w2, [x19, 352] mov w1, 12336 - strb w0, [x20, #:lo12:.LANCHOR28] - adrp x0, .LANCHOR13 + strb w0, [x20, #:lo12:.LANCHOR27] + adrp x0, .LANCHOR7 movk w1, 0x5638, lsl 16 mov x22, x0 - str x19, [x0, #:lo12:.LANCHOR13] + str x19, [x0, #:lo12:.LANCHOR7] cmp w2, w1 - bne .L1573 + bne .L1527 mov w0, 8 - strb w0, [x20, #:lo12:.LANCHOR28] -.L1573: + strb w0, [x20, #:lo12:.LANCHOR27] +.L1527: ldr w1, [x19, 128] mov w0, 12336 movk w0, 0x5639, lsl 16 cmp w1, w0 - bne .L1574 + bne .L1528 mov w0, 9 - strb w0, [x20, #:lo12:.LANCHOR28] -.L1574: - ldrb w0, [x20, #:lo12:.LANCHOR28] + strb w0, [x20, #:lo12:.LANCHOR27] +.L1528: + ldrb w0, [x20, #:lo12:.LANCHOR27] cmp w0, 9 - adrp x0, .LANCHOR51 - bne .L1575 + adrp x0, .LANCHOR50 + bne .L1529 mov w1, 1 - strb w1, [x0, #:lo12:.LANCHOR51] + strb w1, [x0, #:lo12:.LANCHOR50] ldr w0, [x29, 56] mov w1, 2 orr w0, w0, 256 @@ -9691,38 +9495,38 @@ nandc_init: str w0, [x19, 84] mov w0, 39 str w0, [x19, 84] - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L1577 + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L1531 ldr w1, [x19] ldr w2, [x19, 8] ldr w3, [x19, 80] ldr w4, [x19, 84] ldr w5, [x19, 88] -.L1590: - adrp x0, .LC99 - add x0, x0, :lo12:.LC99 +.L1544: + adrp x0, .LC96 + add x0, x0, :lo12:.LC96 bl printf -.L1577: - adrp x0, .LANCHOR52 +.L1531: + adrp x0, .LANCHOR51 mov w1, 1 - strb w1, [x0, #:lo12:.LANCHOR52] - adrp x0, .LANCHOR54 - strh wzr, [x0, #:lo12:.LANCHOR54] - adrp x0, .LANCHOR50 - strb wzr, [x0, #:lo12:.LANCHOR50] - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L1571 - ldrb w1, [x20, #:lo12:.LANCHOR28] - adrp x0, .LC100 - add x0, x0, :lo12:.LC100 + strb w1, [x0, #:lo12:.LANCHOR51] + adrp x0, .LANCHOR53 + strh wzr, [x0, #:lo12:.LANCHOR53] + adrp x0, .LANCHOR49 + strb wzr, [x0, #:lo12:.LANCHOR49] + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L1525 + ldrb w1, [x20, #:lo12:.LANCHOR27] + adrp x0, .LC97 + add x0, x0, :lo12:.LC97 bl printf -.L1571: +.L1525: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 64 ret -.L1575: - strb wzr, [x0, #:lo12:.LANCHOR51] +.L1529: + strb wzr, [x0, #:lo12:.LANCHOR50] mov w1, 1 ldr w0, [x29, 56] orr w0, w0, 256 @@ -9746,17 +9550,17 @@ nandc_init: str w0, [x19, 308] mov w0, 2048 bl ftl_malloc - adrp x1, .LANCHOR53 - str x0, [x1, #:lo12:.LANCHOR53] - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L1577 - ldr x0, [x22, #:lo12:.LANCHOR13] + adrp x1, .LANCHOR52 + str x0, [x1, #:lo12:.LANCHOR52] + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L1531 + ldr x0, [x22, #:lo12:.LANCHOR7] ldr w1, [x0] ldr w2, [x0, 344] ldr w3, [x0, 304] ldr w4, [x0, 308] ldr w5, [x0, 312] - b .L1590 + b .L1544 .size nandc_init, .-nandc_init .section .text.zbuf_init,"ax",@progbits .align 2 @@ -9764,16 +9568,16 @@ nandc_init: .type zbuf_init, %function zbuf_init: stp x29, x30, [sp, -48]! - adrp x0, .LANCHOR56 + adrp x0, .LANCHOR55 add x29, sp, 0 stp x19, x20, [sp, 16] - add x19, x0, :lo12:.LANCHOR56 + add x19, x0, :lo12:.LANCHOR55 stp x21, x22, [sp, 32] mov x20, x0 adrp x22, .LANCHOR131 add x22, x22, :lo12:.LANCHOR131 mov w21, 0 -.L1592: +.L1546: and w0, w21, 255 strb w0, [x19, 1] add w1, w0, 1 @@ -9790,15 +9594,15 @@ zbuf_init: bl ftl_malloc str x0, [x19, -40] cmp w21, 32 - bne .L1592 - add x0, x20, :lo12:.LANCHOR56 + bne .L1546 + add x0, x20, :lo12:.LANCHOR55 mov w1, -1 strb w1, [x0, 1984] + adrp x0, .LANCHOR56 + strb wzr, [x0, #:lo12:.LANCHOR56] adrp x0, .LANCHOR57 - strb wzr, [x0, #:lo12:.LANCHOR57] - adrp x0, .LANCHOR58 ldp x19, x20, [sp, 16] - strb w21, [x0, #:lo12:.LANCHOR58] + strb w21, [x0, #:lo12:.LANCHOR57] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 48 ret @@ -9809,94 +9613,94 @@ zbuf_init: .type gc_init, %function gc_init: stp x29, x30, [sp, -32]! - adrp x0, .LANCHOR85 - mov w2, 2136 + adrp x0, .LANCHOR84 + mov w2, 2216 mov w1, 0 add x29, sp, 0 - strb wzr, [x0, #:lo12:.LANCHOR85] - adrp x0, .LANCHOR159 + strb wzr, [x0, #:lo12:.LANCHOR84] + adrp x0, .LANCHOR156 stp x19, x20, [sp, 16] - adrp x20, .LANCHOR71 - strb wzr, [x0, #:lo12:.LANCHOR159] - adrp x0, .LANCHOR160 - add x19, x20, :lo12:.LANCHOR71 - str wzr, [x0, #:lo12:.LANCHOR160] + adrp x20, .LANCHOR70 + strb wzr, [x0, #:lo12:.LANCHOR156] + adrp x0, .LANCHOR157 + add x19, x20, :lo12:.LANCHOR70 + str wzr, [x0, #:lo12:.LANCHOR157] adrp x0, .LANCHOR96 strh wzr, [x0, #:lo12:.LANCHOR96] mov x0, x19 bl ftl_memset str xzr, [x19, 8] mov w0, -1 - strh w0, [x20, #:lo12:.LANCHOR71] - adrp x0, .LANCHOR95 + strh w0, [x20, #:lo12:.LANCHOR70] + adrp x0, .LANCHOR94 adrp x4, .LANCHOR102 - adrp x20, .LANCHOR86 - ldrh w1, [x0, #:lo12:.LANCHOR95] + adrp x20, .LANCHOR85 + ldrh w1, [x0, #:lo12:.LANCHOR94] lsr w2, w1, 1 lsr w0, w1, 2 strh w2, [x19, 38] - adrp x2, .LANCHOR90 + adrp x2, .LANCHOR87 strh w0, [x19, 36] - adrp x19, .LANCHOR80 - strh wzr, [x2, #:lo12:.LANCHOR90] - adrp x2, .LANCHOR91 - ldrb w3, [x19, #:lo12:.LANCHOR80] - strh wzr, [x2, #:lo12:.LANCHOR91] - adrp x2, .LANCHOR92 - strh wzr, [x2, #:lo12:.LANCHOR92] + adrp x19, .LANCHOR79 + strh wzr, [x2, #:lo12:.LANCHOR87] + adrp x2, .LANCHOR88 + ldrb w3, [x19, #:lo12:.LANCHOR79] + strh wzr, [x2, #:lo12:.LANCHOR88] + adrp x2, .LANCHOR89 + strh wzr, [x2, #:lo12:.LANCHOR89] mul w2, w1, w3 and w2, w2, 65535 sub w5, w2, #32 strh w5, [x4, #:lo12:.LANCHOR102] adrp x4, .LANCHOR100 strh w2, [x4, #:lo12:.LANCHOR100] - adrp x2, .LANCHOR94 - strh w1, [x2, #:lo12:.LANCHOR94] - adrp x1, .LANCHOR161 + adrp x2, .LANCHOR93 + strh w1, [x2, #:lo12:.LANCHOR93] + adrp x1, .LANCHOR158 mov w2, 4 - strh w2, [x1, #:lo12:.LANCHOR161] - adrp x1, .LANCHOR70 - strh w0, [x1, #:lo12:.LANCHOR70] - ldrh w0, [x20, #:lo12:.LANCHOR86] + strh w2, [x1, #:lo12:.LANCHOR158] + adrp x1, .LANCHOR69 + strh w0, [x1, #:lo12:.LANCHOR69] + ldrh w0, [x20, #:lo12:.LANCHOR85] mul w0, w0, w3 lsl w0, w0, 2 bl ftl_malloc - adrp x1, .LANCHOR162 - str x0, [x1, #:lo12:.LANCHOR162] - ldrb w1, [x19, #:lo12:.LANCHOR80] - ldrh w0, [x20, #:lo12:.LANCHOR86] + adrp x1, .LANCHOR159 + str x0, [x1, #:lo12:.LANCHOR159] + ldrb w1, [x19, #:lo12:.LANCHOR79] + ldrh w0, [x20, #:lo12:.LANCHOR85] mul w0, w0, w1 lsl w0, w0, 2 bl ftl_malloc - adrp x1, .LANCHOR163 - str x0, [x1, #:lo12:.LANCHOR163] - ldrh w1, [x20, #:lo12:.LANCHOR86] - ldrb w0, [x19, #:lo12:.LANCHOR80] + adrp x1, .LANCHOR160 + str x0, [x1, #:lo12:.LANCHOR160] + ldrh w1, [x20, #:lo12:.LANCHOR85] + ldrb w0, [x19, #:lo12:.LANCHOR79] mul w0, w1, w0 bl ftl_malloc - adrp x1, .LANCHOR83 - str x0, [x1, #:lo12:.LANCHOR83] - ldrb w1, [x19, #:lo12:.LANCHOR80] - ldrh w0, [x20, #:lo12:.LANCHOR86] + adrp x1, .LANCHOR82 + str x0, [x1, #:lo12:.LANCHOR82] + ldrb w1, [x19, #:lo12:.LANCHOR79] + ldrh w0, [x20, #:lo12:.LANCHOR85] mul w0, w0, w1 lsl w0, w0, 2 bl ftl_malloc - adrp x1, .LANCHOR77 - str x0, [x1, #:lo12:.LANCHOR77] - ldrb w1, [x19, #:lo12:.LANCHOR80] - ldrh w0, [x20, #:lo12:.LANCHOR86] + adrp x1, .LANCHOR76 + str x0, [x1, #:lo12:.LANCHOR76] + ldrb w1, [x19, #:lo12:.LANCHOR79] + ldrh w0, [x20, #:lo12:.LANCHOR85] mul w0, w0, w1 lsl w0, w0, 2 bl ftl_malloc - adrp x1, .LANCHOR164 + adrp x1, .LANCHOR161 ldp x19, x20, [sp, 16] - str x0, [x1, #:lo12:.LANCHOR164] + str x0, [x1, #:lo12:.LANCHOR161] adrp x0, .LANCHOR98 - adrp x1, .LANCHOR87 + adrp x1, .LANCHOR86 ldp x29, x30, [sp], 32 ldrh w0, [x0, #:lo12:.LANCHOR98] lsr w0, w0, 2 - strh w0, [x1, #:lo12:.LANCHOR87] + strh w0, [x1, #:lo12:.LANCHOR86] ret .size gc_init, .-gc_init .section .text.ftl_free,"ax",@progbits @@ -9915,18 +9719,18 @@ js_hash: mov w0, 42982 mov x3, 0 movk w0, 0x47c6, lsl 16 -.L1599: +.L1553: cmp w1, w3 - bhi .L1600 + bhi .L1554 ret -.L1600: +.L1554: lsr w2, w0, 2 ldrb w5, [x4, x3] add w2, w2, w0, lsl 5 add x3, x3, 1 add w2, w2, w5 eor w0, w0, w2 - b .L1599 + b .L1553 .size js_hash, .-js_hash .section .text.ftl_debug_info_fill,"ax",@progbits .align 2 @@ -9936,11 +9740,11 @@ ftl_debug_info_fill: adrp x3, .LANCHOR131 ldrb w3, [x3, #:lo12:.LANCHOR131] cmp w3, 8 - bls .L1605 + bls .L1559 and w0, w0, 255 cmp x2, 0 ccmp w0, 2, 0, ne - bne .L1603 + bne .L1557 stp x29, x30, [sp, -16]! mov x6, x1 mov w1, 21320 @@ -9954,9 +9758,9 @@ ftl_debug_info_fill: mov w0, 0 ldp x29, x30, [sp], 16 ret -.L1603: +.L1557: stp wzr, wzr, [x1] -.L1605: +.L1559: mov w0, 0 ret .size ftl_debug_info_fill, .-ftl_debug_info_fill @@ -9995,8 +9799,8 @@ ftl_get_density: .global ftl_get_capacity .type ftl_get_capacity, %function ftl_get_capacity: - adrp x0, .LANCHOR68 - ldr w0, [x0, #:lo12:.LANCHOR68] + adrp x0, .LANCHOR67 + ldr w0, [x0, #:lo12:.LANCHOR67] ret .size ftl_get_capacity, .-ftl_get_capacity .section .text.rknand_print_hex,"ax",@progbits @@ -10007,637 +9811,652 @@ rknand_print_hex: stp x29, x30, [sp, -96]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x21, .LC102 + adrp x21, .LC99 stp x23, x24, [sp, 48] mov x22, x1 stp x25, x26, [sp, 64] mov w24, w2 stp x27, x28, [sp, 80] - adrp x25, .LC101 + adrp x25, .LC98 mov x27, x0 uxtw x26, w3 - add x25, x25, :lo12:.LC101 - add x21, x21, :lo12:.LC102 + add x25, x25, :lo12:.LC98 + add x21, x21, :lo12:.LC99 stp x19, x20, [sp, 16] mov w23, 0 mov x19, 0 mov w20, 0 - adrp x28, .LC103 -.L1614: + adrp x28, .LC100 +.L1568: cmp x26, x19 - bne .L1620 + bne .L1574 ldp x19, x20, [sp, 16] - adrp x1, .LC103 + adrp x1, .LC100 ldp x21, x22, [sp, 32] - add x1, x1, :lo12:.LC103 + add x1, x1, :lo12:.LC100 ldp x23, x24, [sp, 48] - adrp x0, .LC104 + adrp x0, .LC101 ldp x25, x26, [sp, 64] - add x0, x0, :lo12:.LC104 + add x0, x0, :lo12:.LC101 ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 96 b printf -.L1620: - cbnz w20, .L1615 +.L1574: + cbnz w20, .L1569 mov w3, w23 mov x2, x22 mov x1, x27 mov x0, x25 bl printf -.L1615: +.L1569: cmp w24, 4 - bne .L1616 + bne .L1570 ldr w1, [x22, x19, lsl 2] -.L1622: +.L1576: mov x0, x21 add w20, w20, 1 bl printf cmp w20, 15 - bls .L1619 + bls .L1573 mov w20, 0 - add x1, x28, :lo12:.LC103 - adrp x0, .LC104 - add x0, x0, :lo12:.LC104 + add x1, x28, :lo12:.LC100 + adrp x0, .LC101 + add x0, x0, :lo12:.LC101 bl printf -.L1619: +.L1573: add x19, x19, 1 add w23, w23, w24 - b .L1614 -.L1616: + b .L1568 +.L1570: cmp w24, 2 - bne .L1618 + bne .L1572 ldrsh w1, [x22, x19, lsl 1] - b .L1622 -.L1618: + b .L1576 +.L1572: ldrb w1, [x22, x19] - b .L1622 + b .L1576 .size rknand_print_hex, .-rknand_print_hex .section .text.hynix_get_read_retry_default,"ax",@progbits .align 2 .global hynix_get_read_retry_default .type hynix_get_read_retry_default, %function hynix_get_read_retry_default: - stp x29, x30, [sp, -96]! - mov w10, w0 - adrp x0, .LANCHOR27 + stp x29, x30, [sp, -144]! mov w2, -83 + mov w1, -82 add x29, sp, 0 - ldr x8, [x0, #:lo12:.LANCHOR27] + stp x25, x26, [sp, 64] + mov w25, w0 + adrp x0, .LANCHOR6 + stp x21, x22, [sp, 32] + stp x23, x24, [sp, 48] + cmp w25, 2 + ldr x26, [x0, #:lo12:.LANCHOR6] mov w0, -84 stp x19, x20, [sp, 16] - mov w1, -82 - stp x21, x22, [sp, 32] - add x6, x8, 128 - stp x23, x24, [sp, 48] - add x13, x8, 112 - stp x25, x26, [sp, 64] - cmp w10, 2 - str x27, [sp, 80] - strb w0, [x8, 128] + stp x27, x28, [sp, 80] + add x24, x26, 128 + add x21, x26, 112 + strb w0, [x26, 128] mov w0, -81 - strb w10, [x8, 112] - strb w2, [x8, 129] - strb w1, [x8, 130] - strb w0, [x8, 131] - bne .L1624 + strb w25, [x26, 112] + strb w2, [x26, 129] + strb w1, [x26, 130] + strb w0, [x26, 131] + bne .L1578 mov w0, -89 - strb w0, [x13, 16] - adrp x0, .LANCHOR165+17 + strb w0, [x21, 16] + adrp x0, .LANCHOR162+17 mov w1, -9 - strb w1, [x0, #:lo12:.LANCHOR165+17] -.L1688: - mov w24, 7 - b .L1731 -.L1624: - cmp w10, 3 - bne .L1626 - mov x11, 0 -.L1627: - sub w0, w11, #80 - strb w0, [x6, x11] - add x11, x11, 1 - cmp x11, 8 - bne .L1627 - mov w24, w11 -.L1625: - sub w0, w10, #1 + strb w1, [x0, #:lo12:.LANCHOR162+17] +.L1642: + mov w27, 7 + b .L1685 +.L1578: + cmp w25, 3 + bne .L1580 + mov x5, 0 +.L1581: + sub w0, w5, #80 + strb w0, [x24, x5] + add x5, x5, 1 + cmp x5, 8 + bne .L1581 + mov w27, w5 + mov w28, w5 +.L1579: + sub w0, w25, #1 cmp w0, 1 - bhi .L1633 - adrp x7, .LANCHOR18 - adrp x8, .LANCHOR30 - add x7, x7, :lo12:.LANCHOR18 - add x8, x8, :lo12:.LANCHOR30 - mov w5, 0 - mov w10, 55 -.L1634: - ldrb w0, [x7] - cmp w0, w5 - bhi .L1640 -.L1641: - strb w11, [x13, 1] - strb w24, [x13, 2] + bhi .L1587 + adrp x25, .LANCHOR23 + adrp x26, .LANCHOR29 + add x25, x25, :lo12:.LANCHOR23 + add x26, x26, :lo12:.LANCHOR29 + mov w23, 0 + mov w5, 55 +.L1588: + ldrb w0, [x25] + cmp w0, w23 + bhi .L1594 +.L1595: + strb w28, [x21, 1] + strb w27, [x21, 2] 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], 96 + ldp x27, x28, [sp, 80] + ldp x29, x30, [sp], 144 ret -.L1626: - cmp w10, 4 - bne .L1628 - mov w3, -52 - strb w3, [x8, 128] - mov w3, -65 - strb w3, [x8, 129] - mov w3, -86 - strb w3, [x8, 130] - mov w3, -85 - mov w24, 8 - strb w3, [x8, 131] - mov w11, w24 - mov w3, -51 - strb w2, [x8, 133] - strb w3, [x8, 132] - strb w1, [x8, 134] - strb w0, [x8, 135] - b .L1625 -.L1628: - cmp w10, 5 - bne .L1629 +.L1580: + cmp w25, 4 + bne .L1582 + mov w5, -52 + strb w5, [x26, 128] + mov w5, -65 + strb w5, [x26, 129] + mov w5, -86 + strb w5, [x26, 130] + mov w5, -85 + mov w27, 8 + strb w5, [x26, 131] + mov w28, w27 + mov w5, -51 + strb w2, [x26, 133] + strb w5, [x26, 132] + strb w1, [x26, 134] + strb w0, [x26, 135] + b .L1579 +.L1582: + cmp w25, 5 + bne .L1583 mov w0, 56 - strb w0, [x8, 128] + strb w0, [x26, 128] mov w0, 57 - strb w0, [x8, 129] + strb w0, [x26, 129] mov w0, 58 - mov w24, 8 - strb w0, [x8, 130] + mov w27, 8 + strb w0, [x26, 130] mov w0, 59 - strb w0, [x8, 131] -.L1731: - mov w11, 4 - b .L1625 -.L1629: - cmp w10, 6 - bne .L1630 + strb w0, [x26, 131] +.L1685: + mov w28, 4 + b .L1579 +.L1583: + cmp w25, 6 + bne .L1584 mov w0, 14 - strb w0, [x8, 128] + strb w0, [x26, 128] mov w0, 15 - strb w0, [x8, 129] + strb w0, [x26, 129] mov w0, 16 - mov w24, 12 - strb w0, [x8, 130] + mov w27, 12 + strb w0, [x26, 130] mov w0, 17 - strb w0, [x8, 131] - b .L1731 -.L1630: - cmp w10, 7 - bne .L1631 + strb w0, [x26, 131] + b .L1685 +.L1584: + cmp w25, 7 + bne .L1585 mov x0, 0 -.L1632: +.L1586: sub w1, w0, #80 - strb w1, [x6, x0] + strb w1, [x24, x0] add x0, x0, 1 cmp x0, 8 - bne .L1632 + bne .L1586 mov w0, -44 - mov w24, 12 - strb w0, [x8, 136] - mov w11, 10 + mov w27, 12 + strb w0, [x26, 136] + mov w28, 10 mov w0, -43 - strb w0, [x8, 137] - b .L1625 -.L1631: - cmp w10, 8 - bne .L1688 + strb w0, [x26, 137] + b .L1579 +.L1585: + cmp w25, 8 + bne .L1642 mov w0, 6 - strb w0, [x8, 128] + strb w0, [x26, 128] mov w0, 7 - strb w0, [x8, 129] + strb w0, [x26, 129] mov w0, 9 - strb w10, [x8, 130] - strb w0, [x8, 131] - mov w24, 50 + strb w25, [x26, 130] + strb w0, [x26, 131] + mov w27, 50 mov w0, 10 - mov w11, 5 - strb w0, [x8, 132] - b .L1625 -.L1640: - ldrb w0, [x8, w5, sxtw] + mov w28, 5 + strb w0, [x26, 132] + b .L1579 +.L1594: + ldrb w0, [x26, w23, sxtw] mov x1, 32 - mov w2, 160 - mov x3, 0 - umaddl x2, w2, w0, x1 - adrp x1, .LANCHOR13 + mov w19, 160 + mov x20, 0 + umaddl x19, w19, w0, x1 + adrp x1, .LANCHOR7 ubfiz x0, x0, 8, 8 - ldr x4, [x1, #:lo12:.LANCHOR13] - add x2, x13, x2 - add x4, x4, x0 -.L1635: - str w10, [x4, 2056] - ldrb w0, [x6, x3] - str w0, [x4, 2052] - mov w0, 80 - bl timer_delay_ns - ldr w0, [x4, 2048] - strb w0, [x2, x3] - add x3, x3, 1 - cmp w11, w3, uxtb - bhi .L1635 - adrp x3, .LANCHOR165 - add x3, x3, :lo12:.LANCHOR165 + ldr x22, [x1, #:lo12:.LANCHOR7] + add x19, x21, x19 + add x22, x22, x0 +.L1589: + str w5, [x22, 2056] + str w5, [x29, 136] + ldrb w0, [x24, x20] + str w0, [x22, 2052] + mov x0, 1 + bl udelay + ldr w0, [x22, 2048] + strb w0, [x19, x20] + add x20, x20, 1 + cmp w28, w20, uxtb + ldr w5, [x29, 136] + bhi .L1589 + adrp x2, .LANCHOR162 + add x2, x2, :lo12:.LANCHOR162 mov x0, 0 -.L1638: - add x14, x2, x0 - add x12, x3, x0 +.L1592: + add x7, x19, x0 + add x4, x2, x0 mov x1, 1 -.L1637: - lsl x4, x1, 2 - lsl x15, x1, 3 - ldrb w16, [x2, x0] +.L1591: + lsl x3, x1, 2 + lsl x8, x1, 3 + ldrb w10, [x19, x0] add x1, x1, 1 cmp x1, 7 - ldrb w4, [x12, x4] - add w4, w4, w16 - strb w4, [x14, x15] - bne .L1637 + ldrb w3, [x4, x3] + add w3, w3, w10 + strb w3, [x7, x8] + bne .L1591 add x0, x0, 1 cmp x0, 4 - bne .L1638 - add w5, w5, 1 - strb wzr, [x2, 16] - strb wzr, [x2, 24] - and w5, w5, 255 - strb wzr, [x2, 32] - strb wzr, [x2, 40] - strb wzr, [x2, 48] - strb wzr, [x2, 41] - strb wzr, [x2, 49] - b .L1634 -.L1633: - sub w0, w10, #3 + bne .L1592 + add w23, w23, 1 + strb wzr, [x19, 16] + strb wzr, [x19, 24] + and w23, w23, 255 + strb wzr, [x19, 32] + strb wzr, [x19, 40] + strb wzr, [x19, 48] + strb wzr, [x19, 41] + strb wzr, [x19, 49] + b .L1588 +.L1587: + sub w0, w25, #3 cmp w0, 5 - bhi .L1641 - mul w19, w24, w11 - sub w14, w11, #1 - and x14, x14, 255 - adrp x20, .LANCHOR18 - sub w21, w10, #5 - add x20, x20, :lo12:.LANCHOR18 - asr w15, w19, 1 - add x14, x14, 1 - lsl w19, w19, 4 - lsl w23, w15, 1 - sbfiz x22, x15, 1, 32 - mov w12, 0 -.L1642: - ldrb w0, [x20] - cmp w0, w12 - bls .L1641 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 - ldrb w25, [x0, w12, sxtw] - mov w0, w25 + bhi .L1595 + mul w24, w27, w28 + sub w22, w28, #1 + and x22, x22, 255 + mov w20, 0 + asr w23, w24, 1 + lsl w0, w24, 4 + str w0, [x29, 128] + lsl w0, w23, 1 + str w0, [x29, 132] + sbfiz x0, x23, 1, 32 + sub w24, w25, #5 + str x0, [x29, 136] + adrp x0, .LANCHOR23 + add x0, x0, :lo12:.LANCHOR23 + str x0, [x29, 120] + add x0, x22, 1 + str x0, [x29, 112] +.L1596: + ldr x0, [x29, 120] + ldrb w0, [x0] + cmp w0, w20 + bls .L1595 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 + mov w19, 160 + ldrb w22, [x0, w20, sxtw] + mov w0, w22 bl zftl_flash_exit_slc_mode - adrp x0, .LANCHOR13 - mov x5, 32 - mov w1, 160 - mov w6, 255 - ldr x4, [x0, #:lo12:.LANCHOR13] + mov x0, 32 + ubfiz x2, x22, 8, 8 + mov w1, 255 + str w1, [x29, 108] nop // between mem op and mult-accumulate - umaddl x1, w1, w25, x5 - ubfiz x25, x25, 8, 8 - add x4, x4, x25 - add x5, x13, x1 - str w6, [x4, 2056] + umaddl x19, w19, w22, x0 + adrp x0, .LANCHOR7 + ldr x0, [x0, #:lo12:.LANCHOR7] + add x19, x21, x19 + add x22, x0, x2 + str w1, [x22, 2056] bl nandc_wait_flash_ready - cmp w10, 8 - bne .L1643 + cmp w25, 8 + ldr w1, [x29, 108] + bne .L1597 mov w0, 120 - str w0, [x4, 2056] - str wzr, [x4, 2052] + str w0, [x22, 2056] + str wzr, [x22, 2052] mov w0, 23 - str wzr, [x4, 2052] + str wzr, [x22, 2052] mov w1, 25 - str wzr, [x4, 2052] - add x5, x8, 144 - str w0, [x4, 2056] + str wzr, [x22, 2052] + add x19, x26, 144 + str w0, [x22, 2056] mov w0, 4 - str w0, [x4, 2056] - str w1, [x4, 2056] + str w0, [x22, 2056] + str w1, [x22, 2056] mov w1, 218 - str w1, [x4, 2056] + str w1, [x22, 2056] mov w1, 21 - str wzr, [x4, 2056] - str wzr, [x4, 2052] - str wzr, [x4, 2052] - str w1, [x4, 2052] -.L1734: - str w0, [x4, 2052] + str wzr, [x22, 2056] + str wzr, [x22, 2052] + str wzr, [x22, 2052] + str w1, [x22, 2052] +.L1688: + str w0, [x22, 2052] mov w0, 48 - str wzr, [x4, 2052] - str w0, [x4, 2056] + str wzr, [x22, 2052] + str w0, [x22, 2056] bl nandc_wait_flash_ready - cmp w21, 1 - ccmp w10, 8, 4, hi - beq .L1689 - cmp w10, 7 + cmp w24, 1 + ccmp w25, 8, 4, hi + beq .L1643 + cmp w25, 7 mov w0, 32 mov w1, 2 csel w1, w1, w0, ne -.L1650: - adrp x6, .LANCHOR166 - mov x2, 0 - ldr x0, [x6, #:lo12:.LANCHOR166] -.L1651: - ldr w3, [x4, 2048] - strb w3, [x0, x2] - add x2, x2, 1 - cmp w1, w2, uxtb - bhi .L1651 - cmp w10, 8 - bne .L1652 +.L1604: + adrp x8, .LANCHOR163 + mov x7, 0 + ldr x0, [x8, #:lo12:.LANCHOR163] +.L1605: + ldr w10, [x22, 2048] + strb w10, [x0, x7] + add x7, x7, 1 + cmp w1, w7, uxtb + bhi .L1605 + cmp w25, 8 + bne .L1606 mov w1, 0 -.L1654: - ldrb w2, [x0] - cmp w2, 50 - beq .L1653 - ldrb w2, [x0, 1] - cmp w2, 5 - beq .L1653 +.L1608: + ldrb w7, [x0] + cmp w7, 50 + beq .L1607 + ldrb w7, [x0, 1] + cmp w7, 5 + beq .L1607 add w1, w1, 1 add x0, x0, 4 and w1, w1, 255 cmp w1, 8 - bne .L1654 -.L1655: - adrp x0, .LC105 + bne .L1608 +.L1609: + adrp x0, .LC102 mov w1, 0 - add x0, x0, :lo12:.LC105 + add x0, x0, :lo12:.LC102 bl printf -.L1657: - b .L1657 -.L1643: +.L1611: + b .L1611 +.L1597: mov w0, 54 - str w0, [x4, 2056] - cmp w10, 4 - bne .L1645 + str w0, [x22, 2056] + cmp w25, 4 + bne .L1599 mov w0, 64 - str w6, [x4, 2052] - str w0, [x4, 2048] + str w1, [x22, 2052] + str w0, [x22, 2048] mov w0, 204 -.L1732: - str w0, [x4, 2052] +.L1686: + str w0, [x22, 2052] mov w0, 77 - b .L1733 -.L1645: - cmp w21, 1 - bhi .L1647 - ldrb w0, [x8, 128] - str w0, [x4, 2052] + b .L1687 +.L1599: + cmp w24, 1 + bhi .L1601 + ldrb w0, [x26, 128] + str w0, [x22, 2052] mov w0, 82 -.L1733: - str w0, [x4, 2048] -.L1646: +.L1687: + str w0, [x22, 2048] +.L1600: mov w0, 22 - str w0, [x4, 2056] + str w0, [x22, 2056] mov w0, 23 - str w0, [x4, 2056] + str w0, [x22, 2056] mov w0, 4 - str w0, [x4, 2056] + str w0, [x22, 2056] mov w0, 25 - str w0, [x4, 2056] - str wzr, [x4, 2056] - cmp w10, 6 - str wzr, [x4, 2052] - str wzr, [x4, 2052] - bne .L1648 + str w0, [x22, 2056] + str wzr, [x22, 2056] + cmp w25, 6 + str wzr, [x22, 2052] + str wzr, [x22, 2052] + bne .L1602 mov w0, 31 - str w0, [x4, 2052] -.L1649: + str w0, [x22, 2052] +.L1603: mov w0, 2 - b .L1734 -.L1647: - cmp w10, 7 - bne .L1646 + b .L1688 +.L1601: + cmp w25, 7 + bne .L1600 mov w0, 174 - str w0, [x4, 2052] - str wzr, [x4, 2048] + str w0, [x22, 2052] + str wzr, [x22, 2048] mov w0, 176 - b .L1732 -.L1648: - str wzr, [x4, 2052] - b .L1649 -.L1689: + b .L1686 +.L1602: + str wzr, [x22, 2052] + b .L1603 +.L1643: mov w1, 16 - b .L1650 -.L1653: + b .L1604 +.L1607: cmp w1, 6 - bhi .L1655 -.L1656: - ldr x3, [x6, #:lo12:.LANCHOR166] + bhi .L1609 +.L1610: + ldr x7, [x8, #:lo12:.LANCHOR163] mov x0, 0 -.L1666: - cmp w19, w0 - bgt .L1667 - ldr x1, [x6, #:lo12:.LANCHOR166] - mov w6, 8 - add x2, x1, x22 -.L1669: +.L1620: + ldr w1, [x29, 128] + cmp w1, w0 + bgt .L1621 + ldr x1, [x8, #:lo12:.LANCHOR163] + mov w10, 8 + ldr x0, [x29, 136] + add x8, x1, x0 +.L1623: mov x0, 0 -.L1668: - ldrh w7, [x2, x0, lsl 1] - mvn w7, w7 - strh w7, [x2, x0, lsl 1] +.L1622: + ldrh w11, [x8, x0, lsl 1] + mvn w11, w11 + strh w11, [x8, x0, lsl 1] add x0, x0, 1 - cmp w15, w0 - bgt .L1668 - add x2, x2, x23, uxtw 1 - subs w6, w6, #1 - bne .L1669 - mov x6, x1 - mov w7, 0 - mov w26, 1 -.L1670: + cmp w23, w0 + bgt .L1622 + ldr w0, [x29, 132] + subs w10, w10, #1 + add x8, x8, x0, uxtw 1 + bne .L1623 + mov x10, x1 + mov w11, 0 + mov w16, 1 +.L1624: mov w0, 0 - mov w2, 0 -.L1674: - mov x25, x6 - lsl w30, w26, w2 - mov w17, 16 - mov w16, 0 -.L1672: - ldrh w27, [x25] - add x25, x25, x22 - bics wzr, w30, w27 - cinc w16, w16, eq - subs w17, w17, #1 - bne .L1672 - cmp w16, 8 - bls .L1673 - orr w0, w0, w30 + mov w8, 0 +.L1628: + mov x14, x10 + lsl w15, w16, w8 + mov w13, 16 + mov w12, 0 +.L1626: + ldrh w17, [x14] + ldr x2, [x29, 136] + bics wzr, w15, w17 + cinc w12, w12, eq + add x14, x14, x2 + subs w13, w13, #1 + bne .L1626 + cmp w12, 8 + bls .L1627 + orr w0, w0, w15 and w0, w0, 65535 -.L1673: - add w2, w2, 1 - cmp w2, 16 - bne .L1674 - strh w0, [x6], 2 - add w7, w7, 1 - cmp w15, w7 - bgt .L1670 +.L1627: + add w8, w8, 1 + cmp w8, 16 + bne .L1628 + strh w0, [x10], 2 + add w11, w11, 1 + cmp w23, w11 + bgt .L1624 mov x0, 0 - mov w2, 0 -.L1677: - ldr w6, [x1, x0] + mov w8, 0 +.L1631: + ldr w10, [x1, x0] add x0, x0, 4 - cmp w6, 0 - cinc w2, w2, eq + cmp w10, 0 + cinc w8, w8, eq cmp x0, 32 - bne .L1677 - cmp w2, 7 - ble .L1678 + bne .L1631 + cmp w8, 7 + ble .L1632 mov w3, 1024 mov w2, 1 - adrp x0, .LC106 - add x0, x0, :lo12:.LC106 + adrp x0, .LC103 + add x0, x0, :lo12:.LC103 bl rknand_print_hex - adrp x0, .LC105 + adrp x0, .LC102 mov w1, 0 - add x0, x0, :lo12:.LC105 + add x0, x0, :lo12:.LC102 bl printf -.L1679: - b .L1679 -.L1652: - cmp w10, 7 - bne .L1658 +.L1633: + b .L1633 +.L1606: + cmp w25, 7 + bne .L1612 mov w1, 0 -.L1660: - ldrb w2, [x0] - cmp w2, 12 - beq .L1659 - ldrb w2, [x0, 1] - cmp w2, 10 - beq .L1659 +.L1614: + ldrb w7, [x0] + cmp w7, 12 + beq .L1613 + ldrb w7, [x0, 1] + cmp w7, 10 + beq .L1613 add w1, w1, 1 add x0, x0, 4 and w1, w1, 255 cmp w1, 8 - bne .L1660 -.L1661: - adrp x0, .LC105 + bne .L1614 +.L1615: + adrp x0, .LC102 mov w1, 0 - add x0, x0, :lo12:.LC105 + add x0, x0, :lo12:.LC102 bl printf -.L1662: - b .L1662 -.L1659: +.L1616: + b .L1616 +.L1613: cmp w1, 6 - bls .L1656 - b .L1661 -.L1658: - cmp w10, 6 - bne .L1656 + bls .L1610 + b .L1615 +.L1612: + cmp w25, 6 + bne .L1610 mov x1, 0 -.L1663: - ldrb w2, [x0, x1] - cmp w2, 12 - beq .L1656 - add x2, x0, x1 - ldrb w2, [x2, 8] - cmp w2, 4 - beq .L1656 +.L1617: + ldrb w7, [x0, x1] + cmp w7, 12 + beq .L1610 + add x7, x0, x1 + ldrb w7, [x7, 8] + cmp w7, 4 + beq .L1610 add x1, x1, 1 cmp x1, 8 - bne .L1663 - adrp x0, .LC105 + bne .L1617 + adrp x0, .LC102 mov w1, 0 - add x0, x0, :lo12:.LC105 + add x0, x0, :lo12:.LC102 bl printf -.L1665: - b .L1665 -.L1667: - ldr w1, [x4, 2048] - strb w1, [x3, x0] +.L1619: + b .L1619 +.L1621: + ldr w1, [x22, 2048] + strb w1, [x7, x0] add x0, x0, 1 - b .L1666 -.L1678: - cmp w10, 6 - beq .L1691 - cmp w10, 7 - beq .L1692 - cmp w10, 8 + b .L1620 +.L1632: + cmp w25, 6 + beq .L1645 + cmp w25, 7 + beq .L1646 + cmp w25, 8 mov x1, 5 mov x0, 8 csel x0, x0, x1, ne -.L1680: - mov x1, x5 - mov w5, 0 -.L1681: - mov x2, 0 -.L1682: - ldrb w6, [x3, x2] - strb w6, [x1, x2] - add x2, x2, 1 - cmp w11, w2, uxtb - bhi .L1682 - add w5, w5, 1 - add x3, x3, x14 - add x1, x1, x0 - cmp w24, w5 - bgt .L1681 - mov w5, 255 - str w5, [x4, 2056] +.L1634: + mov w8, 0 +.L1635: + mov x1, 0 +.L1636: + ldrb w10, [x7, x1] + strb w10, [x19, x1] + add x1, x1, 1 + cmp w28, w1, uxtb + bhi .L1636 + ldr x1, [x29, 112] + add w8, w8, 1 + add x19, x19, x0 + cmp w27, w8 + add x7, x7, x1 + bgt .L1635 + mov w19, 255 + str w19, [x22, 2056] bl nandc_wait_flash_ready - cmp w21, 1 - bhi .L1684 + cmp w24, 1 + bhi .L1638 mov w0, 54 - str w0, [x4, 2056] - ldrb w0, [x8, 128] - str w0, [x4, 2052] - str wzr, [x4, 2048] + str w0, [x22, 2056] + ldrb w0, [x26, 128] + str w0, [x22, 2052] + str wzr, [x22, 2048] mov w0, 22 - str w0, [x4, 2056] + str w0, [x22, 2056] mov w0, 48 - str wzr, [x4, 2056] - str wzr, [x4, 2052] - str wzr, [x4, 2052] - str w5, [x4, 2052] - str w5, [x4, 2052] - str w5, [x4, 2052] -.L1735: - str w0, [x4, 2056] + str wzr, [x22, 2056] + str wzr, [x22, 2052] + str wzr, [x22, 2052] + str w19, [x22, 2052] + str w19, [x22, 2052] + str w19, [x22, 2052] +.L1689: + str w0, [x22, 2056] + add w20, w20, 1 + and w20, w20, 255 bl nandc_wait_flash_ready - add w12, w12, 1 - and w12, w12, 255 - b .L1642 -.L1691: + b .L1596 +.L1645: mov x0, 4 - b .L1680 -.L1692: + b .L1634 +.L1646: mov x0, 10 - b .L1680 -.L1684: - cmp w10, 8 - bne .L1686 + b .L1634 +.L1638: + cmp w25, 8 + bne .L1640 mov w0, 190 - b .L1735 -.L1686: + b .L1689 +.L1640: mov w0, 56 - b .L1735 + b .L1689 .size hynix_get_read_retry_default, .-hynix_get_read_retry_default .section .text.flash_get_read_retry_tbl,"ax",@progbits .align 2 .global flash_get_read_retry_tbl .type flash_get_read_retry_tbl, %function flash_get_read_retry_tbl: - adrp x0, .LANCHOR33+19 - ldrb w0, [x0, #:lo12:.LANCHOR33+19] + adrp x0, .LANCHOR32+19 + ldrb w0, [x0, #:lo12:.LANCHOR32+19] sub w1, w0, #1 and w1, w1, 255 cmp w1, 7 - bhi .L1736 + bhi .L1690 b hynix_get_read_retry_default -.L1736: +.L1690: ret .size flash_get_read_retry_tbl, .-flash_get_read_retry_tbl .section .text.nandc_xfer_done,"ax",@progbits @@ -10646,154 +10465,154 @@ flash_get_read_retry_tbl: .type nandc_xfer_done, %function nandc_xfer_done: stp x29, x30, [sp, -80]! - adrp x0, .LANCHOR167 - adrp x1, .LANCHOR28 + adrp x0, .LANCHOR164 + adrp x1, .LANCHOR27 add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x19, .LANCHOR13 - ldrb w1, [x1, #:lo12:.LANCHOR28] + adrp x19, .LANCHOR7 + ldrb w1, [x1, #:lo12:.LANCHOR27] stp x21, x22, [sp, 32] - strb wzr, [x0, #:lo12:.LANCHOR167] + strb wzr, [x0, #:lo12:.LANCHOR164] cmp w1, 9 str x23, [sp, 48] - bne .L1739 - ldr x20, [x19, #:lo12:.LANCHOR13] + bne .L1693 + ldr x20, [x19, #:lo12:.LANCHOR7] mov x21, x0 ldr w0, [x20, 16] str w0, [x29, 64] ldr w0, [x20, 48] - tbnz x0, 1, .L1740 - adrp x22, .LC109 - adrp x23, .LC110 - add x22, x22, :lo12:.LC109 - add x23, x23, :lo12:.LC110 + tbnz x0, 1, .L1694 + adrp x22, .LC106 + adrp x23, .LC107 + add x22, x22, :lo12:.LC106 + add x23, x23, :lo12:.LC107 mov w21, 0 -.L1741: +.L1695: ldr w0, [x29, 64] - tbnz x0, 20, .L1743 - ldr x0, [x19, #:lo12:.LANCHOR13] + tbnz x0, 20, .L1697 + ldr x0, [x19, #:lo12:.LANCHOR7] add w21, w21, 1 tst x21, 16777215 ldr w0, [x0, 16] str w0, [x29, 64] - bne .L1741 + bne .L1695 ldr w2, [x29, 64] mov w1, w21 ldr w3, [x20, 64] mov x0, x22 ubfx x3, x3, 16, 6 bl printf - ldr x1, [x19, #:lo12:.LANCHOR13] + ldr x1, [x19, #:lo12:.LANCHOR7] mov w3, 64 mov w2, 4 mov x0, x23 bl rknand_print_hex - b .L1741 -.L1742: + b .L1695 +.L1696: ldr w0, [x29, 64] add w1, w1, 1 ubfx x0, x0, 22, 6 cmp w1, w0, lsl 12 - bne .L1744 + bne .L1698 ldr w2, [x20, 64] - adrp x0, .LC108 + adrp x0, .LC105 ldr w3, [x29, 64] - add x0, x0, :lo12:.LC108 + add x0, x0, :lo12:.LC105 ubfx x2, x2, 16, 5 ubfx x3, x3, 22, 6 bl printf ldr w0, [x29, 72] mov w0, 1 - strb w0, [x21, #:lo12:.LANCHOR167] -.L1743: - adrp x0, .LANCHOR53+32 + strb w0, [x21, #:lo12:.LANCHOR164] +.L1697: + adrp x0, .LANCHOR52+32 ldr x23, [sp, 48] ldp x19, x20, [sp, 16] - str wzr, [x0, #:lo12:.LANCHOR53+32] + str wzr, [x0, #:lo12:.LANCHOR52+32] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 80 ret -.L1740: +.L1694: mov w1, 0 -.L1744: +.L1698: ldr w2, [x20, 64] ldr w0, [x29, 64] ubfx x2, x2, 16, 6 ubfx x0, x0, 22, 6 cmp w2, w0 - bge .L1743 + bge .L1697 ldr w0, [x20] str w0, [x29, 72] ldr w0, [x29, 72] - tbz x0, 13, .L1742 + tbz x0, 13, .L1696 ldr w0, [x29, 72] - tbz x0, 17, .L1742 + tbz x0, 17, .L1696 ldr w1, [x29, 72] - adrp x0, .LC107 - add x0, x0, :lo12:.LC107 + adrp x0, .LC104 + add x0, x0, :lo12:.LC104 ubfx x1, x1, 17, 1 -.L1773: +.L1727: bl printf - b .L1743 -.L1739: - ldr x20, [x19, #:lo12:.LANCHOR13] + b .L1697 +.L1693: + ldr x20, [x19, #:lo12:.LANCHOR7] mov w21, 0 ldr w0, [x20, 8] str w0, [x29, 64] ldr w0, [x20, 16] - tbnz x0, 1, .L1749 - adrp x22, .LC109 - adrp x23, .LC110 - add x22, x22, :lo12:.LC109 - add x23, x23, :lo12:.LC110 -.L1750: + tbnz x0, 1, .L1703 + adrp x22, .LC106 + adrp x23, .LC107 + add x22, x22, :lo12:.LC106 + add x23, x23, :lo12:.LC107 +.L1704: ldr w0, [x29, 64] - tbnz x0, 20, .L1743 - ldr x0, [x19, #:lo12:.LANCHOR13] + tbnz x0, 20, .L1697 + ldr x0, [x19, #:lo12:.LANCHOR7] add w21, w21, 1 tst x21, 16777215 ldr w0, [x0, 8] str w0, [x29, 64] - bne .L1750 + bne .L1704 ldr w2, [x29, 64] mov w1, w21 ldr w3, [x20, 28] mov x0, x22 ubfx x3, x3, 16, 5 bl printf - ldr x1, [x19, #:lo12:.LANCHOR13] + ldr x1, [x19, #:lo12:.LANCHOR7] mov w3, 64 mov w2, 4 mov x0, x23 bl rknand_print_hex - b .L1750 -.L1749: - adrp x22, .LC108 - adrp x23, .LC110 - add x22, x22, :lo12:.LC108 - add x23, x23, :lo12:.LC110 -.L1751: + b .L1704 +.L1703: + adrp x22, .LC105 + adrp x23, .LC107 + add x22, x22, :lo12:.LC105 + add x23, x23, :lo12:.LC107 +.L1705: ldr w1, [x20, 28] ldr w0, [x29, 64] ubfx x1, x1, 16, 5 ubfx x0, x0, 22, 6 cmp w1, w0 - bge .L1743 - ldr x0, [x19, #:lo12:.LANCHOR13] + bge .L1697 + ldr x0, [x19, #:lo12:.LANCHOR7] ldr w0, [x0] str w0, [x29, 72] ldr w0, [x29, 72] - tbz x0, 13, .L1752 + tbz x0, 13, .L1706 ldr w0, [x29, 72] - tbz x0, 17, .L1752 - adrp x0, .LC111 + tbz x0, 17, .L1706 + adrp x0, .LC108 ldr w1, [x29, 72] - add x0, x0, :lo12:.LC111 - b .L1773 -.L1752: + add x0, x0, :lo12:.LC108 + b .L1727 +.L1706: add w21, w21, 1 tst x21, 16777215 - bne .L1751 + bne .L1705 ldr w2, [x20, 28] mov w1, w21 ldr w3, [x29, 64] @@ -10801,12 +10620,12 @@ nandc_xfer_done: ubfx x2, x2, 16, 5 ubfx x3, x3, 22, 6 bl printf - ldr x1, [x19, #:lo12:.LANCHOR13] + ldr x1, [x19, #:lo12:.LANCHOR7] mov w3, 64 mov w2, 4 mov x0, x23 bl rknand_print_hex - b .L1751 + b .L1705 .size nandc_xfer_done, .-nandc_xfer_done .section .text.nandc_xfer,"ax",@progbits .align 2 @@ -10828,20 +10647,20 @@ nandc_xfer: bl nandc_xfer_start mov w0, w22 bl nandc_xfer_done - cbnz w22, .L1793 - adrp x0, .LANCHOR28 - ldrb w0, [x0, #:lo12:.LANCHOR28] + cbnz w22, .L1747 + adrp x0, .LANCHOR27 + ldrb w0, [x0, #:lo12:.LANCHOR27] cmp w0, 9 - bne .L1776 - adrp x22, .LANCHOR13 + bne .L1730 + adrp x22, .LANCHOR7 lsr w19, w19, 2 mov w3, 1 mov w2, 0 - ldr x5, [x22, #:lo12:.LANCHOR13] + ldr x5, [x22, #:lo12:.LANCHOR7] mov w0, 0 -.L1777: +.L1731: cmp w2, w19 - bcc .L1781 + bcc .L1735 ldr w19, [x5] cmp w3, 0 mov w1, 512 @@ -10850,35 +10669,35 @@ nandc_xfer: movk w1, 0x2, lsl 16 and w1, w19, w1 cmp w1, 139264 - bne .L1783 + bne .L1737 mov w1, w19 - adrp x0, .LC112 - add x0, x0, :lo12:.LC112 + adrp x0, .LC109 + add x0, x0, :lo12:.LC109 bl printf - ldr x0, [x22, #:lo12:.LANCHOR13] + ldr x0, [x22, #:lo12:.LANCHOR7] orr w19, w19, 131072 str w19, [x0] mov w0, -1 -.L1783: - tbz x19, 13, .L1784 - adrp x1, .LANCHOR167 - ldrb w1, [x1, #:lo12:.LANCHOR167] - cbz w1, .L1784 +.L1737: + tbz x19, 13, .L1738 + adrp x1, .LANCHOR164 + ldrb w1, [x1, #:lo12:.LANCHOR164] + cbz w1, .L1738 mov w1, w19 - adrp x0, .LC113 - add x0, x0, :lo12:.LC113 + adrp x0, .LC110 + add x0, x0, :lo12:.LC110 bl printf - ldr x0, [x22, #:lo12:.LANCHOR13] + ldr x0, [x22, #:lo12:.LANCHOR7] mov w1, 1 str w1, [x0, 16] -.L1812: +.L1766: mov w0, -1 -.L1775: +.L1729: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 64 ret -.L1781: +.L1735: uxtw x1, w2 add x1, x1, 84 ldr w1, [x5, x1, lsl 2] @@ -10889,70 +10708,70 @@ nandc_xfer: and w1, w4, w1, lsr 10 and w3, w3, w1 ldr w1, [x29, 56] - tbnz x1, 2, .L1795 + tbnz x1, 2, .L1749 ldr w1, [x29, 56] - tbnz x1, 18, .L1795 + tbnz x1, 18, .L1749 ldr w4, [x29, 56] ldr w1, [x29, 56] ubfx x4, x4, 3, 7 ubfx x1, x1, 19, 7 cmp w4, w1 ldr w1, [x29, 56] - ble .L1779 + ble .L1733 ubfx x1, x1, 3, 7 -.L1780: +.L1734: cmp w0, w1 csel w0, w0, w1, cs -.L1778: +.L1732: add w2, w2, 1 - b .L1777 -.L1779: + b .L1731 +.L1733: ubfx x1, x1, 19, 7 - b .L1780 -.L1795: + b .L1734 +.L1749: mov w0, -1 - b .L1778 -.L1776: - adrp x0, .LANCHOR50 + b .L1732 +.L1730: + adrp x0, .LANCHOR49 lsr w4, w19, 1 mov w3, 64 mov w1, 1 - ldrb w0, [x0, #:lo12:.LANCHOR50] + ldrb w0, [x0, #:lo12:.LANCHOR49] mov w2, 0 - adrp x6, .LANCHOR53 + adrp x6, .LANCHOR52 cmp w0, 25 mov w0, 128 csel w3, w3, w0, cc mov w0, 0 -.L1786: +.L1740: add w5, w3, w0 cmp w2, w4 - bcc .L1787 - adrp x22, .LANCHOR13 + bcc .L1741 + adrp x22, .LANCHOR7 lsr w19, w19, 2 mov w3, 0 mov w0, 0 - ldr x4, [x22, #:lo12:.LANCHOR13] -.L1788: + ldr x4, [x22, #:lo12:.LANCHOR7] +.L1742: cmp w3, w19 - bcc .L1792 + bcc .L1746 str wzr, [x4, 16] mov w1, 8192 movk w1, 0x2, lsl 16 ldr w19, [x4] and w1, w19, w1 cmp w1, 139264 - bne .L1784 + bne .L1738 mov w1, w19 - adrp x0, .LC114 - add x0, x0, :lo12:.LC114 + adrp x0, .LC111 + add x0, x0, :lo12:.LC111 bl printf - ldr x0, [x22, #:lo12:.LANCHOR13] + ldr x0, [x22, #:lo12:.LANCHOR7] orr w19, w19, 131072 str w19, [x0] - b .L1812 -.L1787: - ldr x7, [x6, #:lo12:.LANCHOR53] + b .L1766 +.L1741: + ldr x7, [x6, #:lo12:.LANCHOR52] and x0, x0, 4294967292 ldr w0, [x7, x0] lsl w7, w2, 2 @@ -10968,16 +10787,16 @@ nandc_xfer: add w1, w1, 4 strb w0, [x21, x7] mov w0, w5 - b .L1786 -.L1792: + b .L1740 +.L1746: uxtw x1, w3 add x1, x1, 8 ldr w1, [x4, x1, lsl 2] str w1, [x29, 56] ldr w1, [x29, 56] - tbnz x1, 2, .L1798 + tbnz x1, 2, .L1752 ldr w1, [x29, 56] - tbnz x1, 15, .L1798 + tbnz x1, 15, .L1752 ldr w2, [x29, 56] ubfx x6, x2, 3, 5 ldr w2, [x29, 56] @@ -10990,163 +10809,169 @@ nandc_xfer: orr w1, w5, w1, lsl 5 cmp w2, w1 ldr w1, [x29, 56] - bls .L1790 + bls .L1744 ubfx x2, x1, 3, 5 ldr w1, [x29, 56] ubfx x1, x1, 27, 1 -.L1811: +.L1765: orr w1, w2, w1, lsl 5 cmp w0, w1 csel w0, w0, w1, cs -.L1789: +.L1743: add w3, w3, 1 - b .L1788 -.L1790: + b .L1742 +.L1744: ubfx x2, x1, 16, 5 ldr w1, [x29, 56] ubfx x1, x1, 29, 1 - b .L1811 -.L1798: + b .L1765 +.L1752: mov w0, -1 - b .L1789 -.L1784: + b .L1743 +.L1738: cmn w0, #1 - beq .L1775 + beq .L1729 ldr w1, [x21] cmn w1, #1 - bne .L1775 + bne .L1729 ldr w1, [x21, 4] cmn w1, #1 - bne .L1775 + bne .L1729 ldr w1, [x20] cmn w1, #1 mov w1, 512 csel w0, w0, w1, ne - b .L1775 -.L1793: + b .L1729 +.L1747: mov w0, 0 - b .L1775 + b .L1729 .size nandc_xfer, .-nandc_xfer .section .text.flash_read_page,"ax",@progbits .align 2 .global flash_read_page .type flash_read_page, %function flash_read_page: - stp x29, x30, [sp, -32]! - and w10, w0, 255 - adrp x0, .LANCHOR13 - mov w8, 24 + stp x29, x30, [sp, -80]! add x29, sp, 0 - ldr x14, [x0, #:lo12:.LANCHOR13] - adrp x0, .LANCHOR32 - mov x12, x2 - mov x13, x3 - ldrb w0, [x0, #:lo12:.LANCHOR32] - mov w11, w4 - ubfx x15, x1, 24, 2 - str x19, [sp, 16] - sub w0, w8, w0 - mov w8, 1 - adrp x19, .LANCHOR16 - lsl w8, w8, w0 - sub w8, w8, #1 - and w8, w8, w1 + stp x21, x22, [sp, 32] + and w21, w0, 255 + adrp x0, .LANCHOR7 + stp x19, x20, [sp, 16] + mov w19, 24 + stp x23, x24, [sp, 48] + ldr x20, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR31 + stp x25, x26, [sp, 64] + mov x24, x2 + ldrb w0, [x0, #:lo12:.LANCHOR31] + mov x25, x3 + mov w23, w4 + ubfx x22, x1, 24, 2 + sub w0, w19, w0 + mov w19, 1 + adrp x26, .LANCHOR21 + lsl w19, w19, w0 + sub w19, w19, #1 + and w19, w19, w1 bl nandc_wait_flash_ready - mov w0, w10 + mov w0, w21 bl nandc_cs - cbnz w15, .L1814 - mov w0, w10 + cbnz w22, .L1768 + mov w0, w21 bl zftl_flash_enter_slc_mode -.L1815: - ldr x1, [x19, #:lo12:.LANCHOR16] +.L1769: + ldr x1, [x26, #:lo12:.LANCHOR21] ldrb w0, [x1, 7] cmp w0, 1 - bne .L1817 + bne .L1771 ldrb w0, [x1, 12] cmp w0, 2 - bne .L1817 - sxtw x0, w10 + bne .L1771 + sxtw x0, w21 mov w2, 38 add x0, x0, 8 - add x0, x14, x0, lsl 8 + add x0, x20, x0, lsl 8 str w2, [x0, 8] -.L1817: - ubfiz x4, x10, 8, 8 - and w0, w8, 255 - add x4, x14, x4 - str wzr, [x4, 2056] - str wzr, [x4, 2052] - str wzr, [x4, 2052] - str w0, [x4, 2052] - lsr w0, w8, 8 - str w0, [x4, 2052] - lsr w0, w8, 16 - str w0, [x4, 2052] - adrp x0, .LANCHOR31 - ldrb w0, [x0, #:lo12:.LANCHOR31] - cbz w0, .L1818 - lsr w0, w8, 24 - str w0, [x4, 2052] -.L1818: +.L1771: + ubfiz x0, x21, 8, 8 + add x20, x20, x0 + and w0, w19, 255 + str wzr, [x20, 2056] + str wzr, [x20, 2052] + str wzr, [x20, 2052] + str w0, [x20, 2052] + lsr w0, w19, 8 + str w0, [x20, 2052] + lsr w0, w19, 16 + str w0, [x20, 2052] + adrp x0, .LANCHOR30 + ldrb w0, [x0, #:lo12:.LANCHOR30] + cbz w0, .L1772 + lsr w0, w19, 24 + str w0, [x20, 2052] +.L1772: mov w0, 48 - str w0, [x4, 2056] + str w0, [x20, 2056] ldrb w0, [x1, 12] cmp w0, 3 - bne .L1819 - cbz w15, .L1819 + bne .L1773 + cbz w22, .L1773 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L1773 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L1819 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbnz w0, .L1819 - add w8, w8, w8, lsl 1 - sub w0, w8, #1 - add w0, w0, w15 -.L1828: + cbnz w0, .L1773 + add w19, w19, w19, lsl 1 + sub w0, w19, #1 + add w0, w0, w22 +.L1782: bl nandc_set_seed bl nandc_wait_flash_ready - mov w2, w11 mov w0, 5 - str w0, [x4, 2056] - str wzr, [x4, 2052] + str w0, [x20, 2056] + str wzr, [x20, 2052] mov w0, 224 - str wzr, [x4, 2052] - mov x3, x12 - str w0, [x4, 2056] + str wzr, [x20, 2052] + mov w2, w23 + str w0, [x20, 2056] + mov x4, x25 + mov x3, x24 mov w1, 0 - mov x4, x13 - mov w0, w10 + mov w0, w21 bl nandc_xfer mov w2, w0 - bl nandc_de_cs.constprop.33 - ldr x19, [sp, 16] + bl nandc_de_cs.constprop.32 mov w0, w2 - ldp x29, x30, [sp], 32 + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] + ldp x29, x30, [sp], 80 ret -.L1814: - ldr x0, [x19, #:lo12:.LANCHOR16] +.L1768: + ldr x0, [x26, #:lo12:.LANCHOR21] ldrb w0, [x0, 12] cmp w0, 3 - bne .L1816 + bne .L1770 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L1770 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L1816 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbnz w0, .L1816 - sxtw x0, w10 + cbnz w0, .L1770 + sxtw x0, w21 add x0, x0, 8 - add x0, x14, x0, lsl 8 - str w15, [x0, 8] - b .L1815 -.L1816: - mov w0, w10 + add x0, x20, x0, lsl 8 + str w22, [x0, 8] + b .L1769 +.L1770: + mov w0, w21 bl zftl_flash_exit_slc_mode - b .L1815 -.L1819: - mov w0, w8 - b .L1828 + b .L1769 +.L1773: + mov w0, w19 + b .L1782 .size flash_read_page, .-flash_read_page .section .text.micron_read_retrial,"ax",@progbits .align 2 @@ -11156,137 +10981,138 @@ micron_read_retrial: stp x29, x30, [sp, -128]! add x29, sp, 0 stp x19, x20, [sp, 16] - and w19, w0, 255 - adrp x0, .LANCHOR50 - stp x25, x26, [sp, 64] - str w4, [x29, 116] - mov x26, x3 - str x2, [x29, 120] - stp x21, x22, [sp, 32] - mov w22, 0 + and w20, w0, 255 + adrp x0, .LANCHOR49 stp x23, x24, [sp, 48] - mov w23, w1 - ldrb w20, [x0, #:lo12:.LANCHOR50] + stp x25, x26, [sp, 64] + mov w24, w1 + stp x21, x22, [sp, 32] + mov x25, x2 + ldrb w21, [x0, #:lo12:.LANCHOR49] + mov x26, x3 stp x27, x28, [sp, 80] + mov w23, 0 + str w4, [x29, 124] bl nandc_wait_flash_ready - mov w0, w19 + adrp x0, .LANCHOR7 + add w21, w21, w21, lsl 1 + asr w21, w21, 2 + ldr x19, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR166 + add x0, x0, :lo12:.LANCHOR166 + str x0, [x29, 112] + ubfiz x0, x20, 8, 8 + add x19, x19, x0 +.L1784: + mov w0, w20 bl zftl_flash_enter_slc_mode - mov w0, w19 + mov w0, w20 bl zftl_flash_exit_slc_mode - adrp x0, .LANCHOR13 - add w20, w20, w20, lsl 1 - asr w20, w20, 2 - ldr x6, [x0, #:lo12:.LANCHOR13] - adrp x0, .LANCHOR169 - add x0, x0, :lo12:.LANCHOR169 - str x0, [x29, 104] - ubfiz x0, x19, 8, 8 - add x25, x6, x0 -.L1830: - adrp x24, .LANCHOR14 - add x24, x24, :lo12:.LANCHOR14 - mov w21, 0 + adrp x0, .LANCHOR19 + mov w22, 0 + add x0, x0, :lo12:.LANCHOR19 mov w28, -1 -.L1831: - ldr x0, [x29, 104] + str x0, [x29, 104] +.L1785: + ldr x0, [x29, 112] ldrb w0, [x0] - cmp w21, w0 - bcc .L1836 -.L1835: + cmp w22, w0 + bcc .L1790 +.L1789: mov w0, 239 - str w0, [x25, 2056] + str w0, [x19, 2056] mov w0, 137 - str w0, [x25, 2052] - mov w0, 200 - bl timer_delay_ns - str wzr, [x25, 2048] - str wzr, [x25, 2048] - cmp w28, w20 - str wzr, [x25, 2048] - str wzr, [x25, 2048] - bcc .L1837 + str w0, [x19, 2052] + mov x0, 1 + bl udelay + str wzr, [x19, 2048] + str wzr, [x19, 2048] + cmp w28, w21 + str wzr, [x19, 2048] + str wzr, [x19, 2048] + bcc .L1791 cmn w28, #1 mov w0, 256 csel w28, w28, w0, eq -.L1837: +.L1791: cmn w28, #1 - cset w24, eq + cset w27, eq cmp w28, 256 cset w0, eq - orr w0, w24, w0 - cbz w0, .L1838 + orr w0, w27, w0 + cbz w0, .L1792 mov w4, w28 - mov w3, w21 - mov w2, w23 - mov w1, w21 - adrp x0, .LC116 - add x0, x0, :lo12:.LC116 + mov w3, w22 + mov w2, w24 + mov w1, w20 + adrp x0, .LC113 + add x0, x0, :lo12:.LC113 bl printf - eor w0, w22, 1 - tst w24, w0 - beq .L1839 + eor w0, w23, 1 + tst w27, w0 + beq .L1793 mov w1, 3 - mov w0, w19 - mov w22, 1 + mov w0, w20 + mov w23, 1 bl mt_auto_read_calibration_config - b .L1830 -.L1836: + b .L1784 +.L1790: mov w0, 239 - str w0, [x25, 2056] + str w0, [x19, 2056] mov w0, 137 - str w0, [x25, 2052] - add w27, w21, 1 - mov w0, 200 - bl timer_delay_ns - str w27, [x25, 2048] - str wzr, [x25, 2048] + str w0, [x19, 2052] + add w27, w22, 1 + mov x0, 1 + bl udelay + str w27, [x19, 2048] + str wzr, [x19, 2048] mov x3, x26 - ldr w4, [x29, 116] - mov w1, w23 - ldr x2, [x29, 120] - mov w0, w19 - str wzr, [x25, 2048] - str wzr, [x25, 2048] + ldr w4, [x29, 124] + mov x2, x25 + str wzr, [x19, 2048] + mov w1, w24 + str wzr, [x19, 2048] + mov w0, w20 bl flash_read_page - mov w7, w0 - ldr w0, [x24] - tbz x0, 12, .L1832 - mov w4, w7 - str w7, [x29, 112] + mov w6, w0 + ldr x0, [x29, 104] + ldr w0, [x0] + tbz x0, 12, .L1786 + mov w4, w6 + str w6, [x29, 120] mov w3, w28 - mov w2, w23 - mov w1, w21 - adrp x0, .LC115 - add x0, x0, :lo12:.LC115 + mov w2, w24 + mov w1, w22 + adrp x0, .LC112 + add x0, x0, :lo12:.LC112 bl printf - ldr w7, [x29, 112] -.L1832: - cmn w7, #1 - beq .L1833 - adrp x0, .LANCHOR166 + ldr w6, [x29, 120] +.L1786: + cmn w6, #1 + beq .L1787 + adrp x0, .LANCHOR163 cmn w28, #1 - csel w28, w28, w7, ne - cmp w7, w20 - ldr x0, [x0, #:lo12:.LANCHOR166] - str x0, [x29, 120] - adrp x0, .LANCHOR168 - ldr x26, [x0, #:lo12:.LANCHOR168] - bcc .L1842 -.L1833: - mov w21, w27 - b .L1831 -.L1842: - mov w28, w7 - b .L1835 -.L1839: - cbz w22, .L1840 - mov w0, w19 + csel w28, w28, w6, ne + cmp w6, w21 + ldr x25, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR165 + ldr x26, [x0, #:lo12:.LANCHOR165] + bcc .L1796 +.L1787: + mov w22, w27 + b .L1785 +.L1796: + mov w28, w6 + b .L1789 +.L1793: + cbz w23, .L1794 + mov w0, w20 mov w1, 0 bl mt_auto_read_calibration_config cmn w28, #1 mov w0, 256 csel w28, w28, w0, eq -.L1840: +.L1794: bl nandc_wait_flash_ready mov w0, w28 ldp x19, x20, [sp, 16] @@ -11296,13 +11122,13 @@ micron_read_retrial: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L1838: - cbz w22, .L1840 +.L1792: + cbz w23, .L1794 mov w1, 0 - mov w0, w19 + mov w0, w20 mov w28, 256 bl mt_auto_read_calibration_config - b .L1840 + b .L1794 .size micron_read_retrial, .-micron_read_retrial .section .text.toshiba_3d_read_retrial,"ax",@progbits .align 2 @@ -11311,30 +11137,28 @@ micron_read_retrial: toshiba_3d_read_retrial: stp x29, x30, [sp, -144]! add x29, sp, 0 - stp x23, x24, [sp, 48] - mov w23, w1 - stp x27, x28, [sp, 80] - mov w28, w4 - ubfx x4, x23, 24, 2 - stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] - and w24, w0, 255 + adrp x22, .LANCHOR16 + stp x23, x24, [sp, 48] + mov w24, w1 stp x25, x26, [sp, 64] - mov x27, x3 + and w23, w0, 255 + stp x27, x28, [sp, 80] mov x26, x2 + stp x19, x20, [sp, 16] + mov x27, x3 + mov w28, w4 bl nandc_wait_flash_ready - adrp x0, .LANCHOR13 - adrp x22, .LANCHOR24 + adrp x0, .LANCHOR7 mov w1, 46 mov w2, 56 - ldr x25, [x0, #:lo12:.LANCHOR13] - and x0, x24, 255 + ubfx x19, x24, 24, 2 + ldr x25, [x0, #:lo12:.LANCHOR7] + and x0, x23, 255 add x21, x0, 8 str x0, [x29, 128] - ldrb w0, [x22, #:lo12:.LANCHOR24] - mov w19, -1 + ldrb w0, [x22, #:lo12:.LANCHOR16] add x21, x25, x21, lsl 8 - mov w20, 1 cmp w0, 36 mov w0, 26 csel w1, w2, w1, ne @@ -11342,18 +11166,20 @@ toshiba_3d_read_retrial: mov w1, 10 csel w0, w1, w0, ne str w0, [x29, 136] - add x0, x22, :lo12:.LANCHOR24 - cbnz w4, .L1860 + cbnz w19, .L1814 + add x0, x22, :lo12:.LANCHOR16 str x0, [x29, 120] - sxtw x0, w24 + sxtw x0, w23 + mov w19, -1 add x0, x0, 8 + mov w20, 1 add x0, x25, x0, lsl 8 str x0, [x29, 112] -.L1867: +.L1821: ldr x0, [x29, 120] ldrb w0, [x0] cmp w0, 36 - bne .L1861 + bne .L1815 mov w1, w20 mov x0, x21 mov w2, 0 @@ -11361,70 +11187,70 @@ toshiba_3d_read_retrial: ldr x1, [x29, 112] mov w0, 93 str w0, [x1, 8] -.L1862: +.L1816: mov w4, w28 mov x3, x27 mov x2, x26 - mov w1, w23 - mov w0, w24 + mov w1, w24 + mov w0, w23 bl flash_read_page mov w4, w0 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 4, .L1863 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 4, .L1817 mov w3, w4 str w4, [x29, 108] - mov w2, w23 + mov w2, w24 mov w1, w20 - adrp x0, .LC117 - add x0, x0, :lo12:.LC117 + adrp x0, .LC114 + add x0, x0, :lo12:.LC114 bl printf ldr w4, [x29, 108] -.L1863: +.L1817: cmn w4, #1 - beq .L1864 - adrp x0, .LANCHOR166 + beq .L1818 + adrp x0, .LANCHOR163 cmn w19, #1 csel w19, w19, w4, ne - ldr x26, [x0, #:lo12:.LANCHOR166] - adrp x0, .LANCHOR168 - ldr x27, [x0, #:lo12:.LANCHOR168] - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + ldr x26, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR165 + ldr x27, [x0, #:lo12:.LANCHOR165] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w4, w0, lsr 2 - bcc .L1882 -.L1864: + bcc .L1836 +.L1818: ldr w0, [x29, 136] add w20, w20, 1 cmp w0, w20 - bne .L1867 -.L1866: - ldrb w0, [x22, #:lo12:.LANCHOR24] + bne .L1821 +.L1820: + ldrb w0, [x22, #:lo12:.LANCHOR16] cmp w0, 36 - bne .L1868 + bne .L1822 mov w2, 0 -.L1905: +.L1859: mov w1, 0 mov x0, x21 bl toshiba_tlc_set_rr_para - b .L1869 -.L1861: + b .L1823 +.L1815: mov w1, w20 mov x0, x21 bl toshiba_3d_set_slc_rr_para - b .L1862 -.L1882: + b .L1816 +.L1836: mov w19, w4 - b .L1866 -.L1868: + b .L1820 +.L1822: mov w1, 0 mov x0, x21 bl toshiba_3d_set_slc_rr_para -.L1869: - ldrb w0, [x22, #:lo12:.LANCHOR24] +.L1823: + ldrb w0, [x22, #:lo12:.LANCHOR16] cmp w0, 36 - bne .L1878 + bne .L1832 ldr x0, [x29, 128] add x25, x25, x0, lsl 8 mov w0, 85 @@ -11433,27 +11259,27 @@ toshiba_3d_read_retrial: str wzr, [x25, 2052] str wzr, [x25, 2048] str w0, [x25, 2056] -.L1878: - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] +.L1832: + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w19, w0, lsr 2 - bcc .L1879 + bcc .L1833 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L1879: +.L1833: cmp w19, 256 ccmn w19, #1, 4, ne - bne .L1880 - adrp x0, .LC119 + bne .L1834 + adrp x0, .LC116 mov w4, w19 mov w3, w20 - mov w2, w23 - mov w1, w20 - add x0, x0, :lo12:.LC119 + mov w2, w24 + mov w1, w23 + add x0, x0, :lo12:.LC116 bl printf -.L1880: +.L1834: bl nandc_wait_flash_ready mov w0, w19 ldp x19, x20, [sp, 16] @@ -11463,82 +11289,85 @@ toshiba_3d_read_retrial: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 144 ret -.L1860: +.L1814: + add x0, x22, :lo12:.LANCHOR16 str x0, [x29, 112] - sxtw x0, w24 + sxtw x0, w23 + mov w19, -1 add x0, x0, 8 + mov w20, 1 add x0, x25, x0, lsl 8 str x0, [x29, 136] -.L1876: +.L1830: ldr x0, [x29, 112] ldrb w0, [x0] cmp w0, 36 - bne .L1870 + bne .L1824 mov x0, x21 mov w2, 1 mov w1, w20 bl toshiba_tlc_set_rr_para mov w0, 93 -.L1904: +.L1858: ldr x1, [x29, 136] mov w4, w28 mov x3, x27 mov x2, x26 str w0, [x1, 8] - mov w1, w23 - mov w0, w24 + mov w1, w24 + mov w0, w23 bl flash_read_page mov w4, w0 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 4, .L1872 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 4, .L1826 mov w3, w4 str w4, [x29, 108] - mov w2, w23 + mov w2, w24 mov w1, w20 - adrp x0, .LC118 - add x0, x0, :lo12:.LC118 + adrp x0, .LC115 + add x0, x0, :lo12:.LC115 bl printf ldr w4, [x29, 108] -.L1872: +.L1826: cmn w4, #1 - beq .L1873 - adrp x0, .LANCHOR166 + beq .L1827 + adrp x0, .LANCHOR163 cmn w19, #1 csel w19, w19, w4, ne - ldr x26, [x0, #:lo12:.LANCHOR166] - adrp x0, .LANCHOR168 - ldr x27, [x0, #:lo12:.LANCHOR168] - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + ldr x26, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR165 + ldr x27, [x0, #:lo12:.LANCHOR165] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w4, w0, lsr 2 - bcc .L1883 -.L1873: + bcc .L1837 +.L1827: ldr w0, [x29, 120] add w20, w20, 1 cmp w0, w20 - bne .L1876 -.L1875: - ldrb w0, [x22, #:lo12:.LANCHOR24] + bne .L1830 +.L1829: + ldrb w0, [x22, #:lo12:.LANCHOR16] cmp w0, 36 - bne .L1877 + bne .L1831 mov w2, 1 - b .L1905 -.L1870: + b .L1859 +.L1824: mov x0, x21 mov w1, w20 bl toshiba_3d_set_tlc_rr_para mov w0, 38 - b .L1904 -.L1883: + b .L1858 +.L1837: mov w19, w4 - b .L1875 -.L1877: + b .L1829 +.L1831: mov w1, 0 mov x0, x21 bl toshiba_3d_set_tlc_rr_para - b .L1869 + b .L1823 .size toshiba_3d_read_retrial, .-toshiba_3d_read_retrial .section .text.toshiba_read_retrial,"ax",@progbits .align 2 @@ -11562,87 +11391,87 @@ toshiba_read_retrial: bl zftl_flash_enter_slc_mode mov w0, w19 bl zftl_flash_exit_slc_mode - adrp x0, .LANCHOR13 - adrp x1, .LANCHOR24 + adrp x0, .LANCHOR7 + adrp x1, .LANCHOR16 str x1, [x29, 120] - ldr x22, [x0, #:lo12:.LANCHOR13] + ldr x22, [x0, #:lo12:.LANCHOR7] and x0, x19, 255 add x21, x0, 8 str x0, [x29, 104] - ldrb w0, [x1, #:lo12:.LANCHOR24] + ldrb w0, [x1, #:lo12:.LANCHOR16] add x21, x22, x21, lsl 8 sub w0, w0, #67 and w0, w0, 255 cmp w0, 1 - bls .L1924 - adrp x0, .LANCHOR21 - ldrb w0, [x0, #:lo12:.LANCHOR21] - cbz w0, .L1925 + bls .L1878 + adrp x0, .LANCHOR26 + ldrb w0, [x0, #:lo12:.LANCHOR26] + cbz w0, .L1879 mov w23, 1 mov w0, 1 bl nandc_set_if_mode -.L1908: +.L1862: and x0, x19, 255 mov w1, 92 add x0, x22, x0, lsl 8 str w1, [x0, 2056] mov w1, 197 str w1, [x0, 2056] -.L1907: +.L1861: sxtw x0, w19 mov w20, 1 add x0, x0, 8 mov w24, -1 add x0, x22, x0, lsl 8 str x0, [x29, 96] -.L1909: - adrp x0, .LANCHOR169 - ldrb w0, [x0, #:lo12:.LANCHOR169] +.L1863: + adrp x0, .LANCHOR166 + ldrb w0, [x0, #:lo12:.LANCHOR166] add w0, w0, 1 cmp w20, w0 - bcc .L1918 + bcc .L1872 mov w28, w24 -.L1917: +.L1871: ldr x0, [x29, 120] mov w1, 0 - ldrb w0, [x0, #:lo12:.LANCHOR24] + ldrb w0, [x0, #:lo12:.LANCHOR16] sub w0, w0, #67 and w0, w0, 255 cmp w0, 1 mov x0, x21 - bhi .L1919 + bhi .L1873 bl sandisk_set_rr_para -.L1920: +.L1874: sxtw x19, w19 mov w0, 255 add x19, x19, 8 add x22, x22, x19, lsl 8 str w0, [x22, 8] - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w28, w0, lsr 2 - bcc .L1921 + bcc .L1875 cmn w28, #1 mov w0, 256 csel w28, w28, w0, eq -.L1921: +.L1875: cmp w28, 256 ccmn w28, #1, 4, ne - bne .L1922 - adrp x0, .LC119 + bne .L1876 + adrp x0, .LC116 mov w4, w28 mov w3, w20 mov w2, w25 mov w1, w20 - add x0, x0, :lo12:.LC119 + add x0, x0, :lo12:.LC116 bl printf -.L1922: +.L1876: bl nandc_wait_flash_ready - cbz w23, .L1906 + cbz w23, .L1860 mov w0, 4 bl nandc_set_if_mode -.L1906: +.L1860: mov w0, w28 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -11651,36 +11480,36 @@ toshiba_read_retrial: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L1925: +.L1879: mov w23, 0 - b .L1908 -.L1924: + b .L1862 +.L1878: mov w23, 0 - b .L1907 -.L1918: + b .L1861 +.L1872: ldr x0, [x29, 120] mov w1, w20 - ldrb w0, [x0, #:lo12:.LANCHOR24] + ldrb w0, [x0, #:lo12:.LANCHOR16] sub w0, w0, #67 and w0, w0, 255 cmp w0, 1 mov x0, x21 - bhi .L1910 + bhi .L1864 bl sandisk_set_rr_para -.L1911: +.L1865: ldr x0, [x29, 120] - ldrb w0, [x0, #:lo12:.LANCHOR24] + ldrb w0, [x0, #:lo12:.LANCHOR16] cmp w0, 34 - bne .L1912 - adrp x0, .LANCHOR169 - ldrb w0, [x0, #:lo12:.LANCHOR169] + bne .L1866 + adrp x0, .LANCHOR166 + ldrb w0, [x0, #:lo12:.LANCHOR166] sub w0, w0, #3 cmp w20, w0 - bne .L1912 + bne .L1866 ldr x1, [x29, 96] mov w0, 179 str w0, [x1, 8] -.L1912: +.L1866: ldr x0, [x29, 104] mov w1, 38 ldr w4, [x29, 116] @@ -11695,27 +11524,27 @@ toshiba_read_retrial: bl flash_read_page mov w28, w0 cmn w0, #1 - beq .L1915 + beq .L1869 cmn w24, #1 csel w24, w24, w0, ne - adrp x0, .LANCHOR166 - ldr x26, [x0, #:lo12:.LANCHOR166] - adrp x0, .LANCHOR168 - ldr x27, [x0, #:lo12:.LANCHOR168] - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + adrp x0, .LANCHOR163 + ldr x26, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR165 + ldr x27, [x0, #:lo12:.LANCHOR165] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w28, w0, lsr 2 - bcc .L1917 -.L1915: + bcc .L1871 +.L1869: add w20, w20, 1 - b .L1909 -.L1910: + b .L1863 +.L1864: bl toshiba_set_rr_para - b .L1911 -.L1919: + b .L1865 +.L1873: bl toshiba_set_rr_para - b .L1920 + b .L1874 .size toshiba_read_retrial, .-toshiba_read_retrial .section .text.ymtc_3d_read_retrial,"ax",@progbits .align 2 @@ -11740,19 +11569,19 @@ ymtc_3d_read_retrial: bl zftl_flash_enter_slc_mode mov w0, w22 bl zftl_flash_exit_slc_mode - adrp x1, .LANCHOR13 + adrp x1, .LANCHOR7 ubfiz x21, x22, 8, 8 add x0, x21, 2048 - adrp x27, .LANCHOR50 - ldr x21, [x1, #:lo12:.LANCHOR13] + adrp x27, .LANCHOR49 + ldr x21, [x1, #:lo12:.LANCHOR7] mov w20, 1 - adrp x28, .LANCHOR166 - adrp x5, .LANCHOR168 + adrp x28, .LANCHOR163 + adrp x5, .LANCHOR165 add x21, x21, x0 - add x27, x27, :lo12:.LANCHOR50 + add x27, x27, :lo12:.LANCHOR49 tst x23, 50331648 - bne .L1948 -.L1943: + bne .L1902 +.L1897: str x5, [x29, 104] mov w1, w20 mov x0, x21 @@ -11765,44 +11594,44 @@ ymtc_3d_read_retrial: bl flash_read_page ldr x5, [x29, 104] cmn w0, #1 - beq .L1940 + beq .L1894 ldrb w1, [x27] cmn w19, #1 csel w19, w19, w0, ne - ldr x24, [x28, #:lo12:.LANCHOR166] - ldr x25, [x5, #:lo12:.LANCHOR168] + ldr x24, [x28, #:lo12:.LANCHOR163] + ldr x25, [x5, #:lo12:.LANCHOR165] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - bcc .L1951 -.L1940: + bcc .L1905 +.L1894: add w20, w20, 1 cmp w20, 10 - bne .L1943 -.L1942: + bne .L1897 +.L1896: mov w1, 0 mov x0, x21 bl ymtc_3d_set_slc_rr_para -.L1944: - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] +.L1898: + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w19, w0, lsr 2 - bcc .L1949 + bcc .L1903 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L1949: +.L1903: cmp w19, 256 ccmn w19, #1, 4, ne - bne .L1950 - adrp x0, .LC120 + bne .L1904 + adrp x0, .LC117 mov w4, w19 mov w3, w20 mov w2, w23 mov w1, w20 - add x0, x0, :lo12:.LC120 + add x0, x0, :lo12:.LC117 bl printf -.L1950: +.L1904: bl nandc_wait_flash_ready mov w0, w19 ldp x19, x20, [sp, 16] @@ -11812,10 +11641,10 @@ ymtc_3d_read_retrial: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 112 ret -.L1951: +.L1905: mov w19, w0 - b .L1942 -.L1948: + b .L1896 +.L1902: str x5, [x29, 104] mov w1, w20 mov x0, x21 @@ -11828,27 +11657,27 @@ ymtc_3d_read_retrial: bl flash_read_page ldr x5, [x29, 104] cmn w0, #1 - beq .L1945 + beq .L1899 ldrb w1, [x27] cmn w19, #1 csel w19, w19, w0, ne - ldr x24, [x28, #:lo12:.LANCHOR166] - ldr x25, [x5, #:lo12:.LANCHOR168] + ldr x24, [x28, #:lo12:.LANCHOR163] + ldr x25, [x5, #:lo12:.LANCHOR165] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - bcc .L1952 -.L1945: + bcc .L1906 +.L1899: add w20, w20, 1 cmp w20, 51 - bne .L1948 -.L1947: + bne .L1902 +.L1901: mov w1, 0 mov x0, x21 bl ymtc_3d_set_tlc_rr_para - b .L1944 -.L1952: + b .L1898 +.L1906: mov w19, w0 - b .L1947 + b .L1901 .size ymtc_3d_read_retrial, .-ymtc_3d_read_retrial .section .text.samsung_read_retrial,"ax",@progbits .align 2 @@ -11872,19 +11701,19 @@ samsung_read_retrial: bl zftl_flash_enter_slc_mode mov w0, w21 bl zftl_flash_exit_slc_mode - adrp x0, .LANCHOR13 + adrp x0, .LANCHOR7 tst x20, 50331648 and x5, x21, 255 - ldr x0, [x0, #:lo12:.LANCHOR13] - bne .L1968 - adrp x24, .LANCHOR170 - adrp x27, .LC121 + ldr x0, [x0, #:lo12:.LANCHOR7] + bne .L1922 + adrp x24, .LANCHOR167 + adrp x27, .LC118 add x28, x0, x5, lsl 8 - add x24, x24, :lo12:.LANCHOR170 - add x27, x27, :lo12:.LC121 + add x24, x24, :lo12:.LANCHOR167 + add x27, x27, :lo12:.LC118 mov x26, 0 mov w25, -1 -.L1973: +.L1927: mov w0, 239 str w0, [x28, 2056] mov w0, 141 @@ -11904,9 +11733,9 @@ samsung_read_retrial: mov w0, w21 bl flash_read_page mov w4, w0 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 4, .L1969 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 4, .L1923 mov w3, w4 str w4, [x29, 104] mov w2, w20 @@ -11914,26 +11743,26 @@ samsung_read_retrial: mov x0, x27 bl printf ldr w4, [x29, 104] -.L1969: +.L1923: cmn w4, #1 - beq .L1970 - adrp x0, .LANCHOR166 + beq .L1924 + adrp x0, .LANCHOR163 cmn w25, #1 csel w25, w25, w4, ne - ldr x22, [x0, #:lo12:.LANCHOR166] - adrp x0, .LANCHOR168 - ldr x23, [x0, #:lo12:.LANCHOR168] - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + ldr x22, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR165 + ldr x23, [x0, #:lo12:.LANCHOR165] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w4, w0, lsr 2 - bcc .L1982 -.L1970: + bcc .L1936 +.L1924: add x26, x26, 1 cmp x26, 25 - bne .L1973 + bne .L1927 mov w19, 26 -.L1972: +.L1926: mov w0, 239 str w0, [x28, 2056] mov w0, 141 @@ -11942,28 +11771,28 @@ samsung_read_retrial: str wzr, [x28, 2048] str wzr, [x28, 2048] str wzr, [x28, 2048] -.L2004: +.L1958: bl nandc_wait_flash_ready - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w25, w0, lsr 2 - bcc .L1980 + bcc .L1934 cmn w25, #1 mov w0, 256 csel w25, w25, w0, eq -.L1980: +.L1934: cmp w25, 256 ccmn w25, #1, 4, ne - bne .L1981 - adrp x0, .LC123 + bne .L1935 + adrp x0, .LC120 mov w4, w25 mov w3, w19 mov w2, w20 mov w1, w19 - add x0, x0, :lo12:.LC123 + add x0, x0, :lo12:.LC120 bl printf -.L1981: +.L1935: bl nandc_wait_flash_ready mov w0, w25 ldp x19, x20, [sp, 16] @@ -11973,20 +11802,20 @@ samsung_read_retrial: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 112 ret -.L1982: +.L1936: mov w25, w4 - b .L1972 -.L1968: - adrp x7, .LANCHOR171 - add x7, x7, :lo12:.LANCHOR171 - adrp x24, .LC122 + b .L1926 +.L1922: + adrp x7, .LANCHOR168 + add x7, x7, :lo12:.LANCHOR168 + adrp x24, .LC119 add x28, x7, 4 add x27, x0, x5, lsl 8 - add x24, x24, :lo12:.LC122 + add x24, x24, :lo12:.LC119 mov w25, -1 mov w19, 1 mov w26, 137 -.L1979: +.L1933: mov w0, 239 str w0, [x27, 2056] str w26, [x27, 2052] @@ -12006,9 +11835,9 @@ samsung_read_retrial: mov w0, w21 bl flash_read_page mov w4, w0 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 4, .L1975 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 4, .L1929 mov w3, w4 str w4, [x29, 104] mov w2, w20 @@ -12016,26 +11845,26 @@ samsung_read_retrial: mov x0, x24 bl printf ldr w4, [x29, 104] -.L1975: +.L1929: cmn w4, #1 - beq .L1976 - adrp x0, .LANCHOR166 + beq .L1930 + adrp x0, .LANCHOR163 cmn w25, #1 csel w25, w25, w4, ne - ldr x22, [x0, #:lo12:.LANCHOR166] - adrp x0, .LANCHOR168 - ldr x23, [x0, #:lo12:.LANCHOR168] - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + ldr x22, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR165 + ldr x23, [x0, #:lo12:.LANCHOR165] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w4, w0, lsr 2 - bcc .L1983 -.L1976: + bcc .L1937 +.L1930: add w19, w19, 1 add x28, x28, 4 cmp w19, 26 - bne .L1979 -.L1978: + bne .L1933 +.L1932: mov w0, 239 str w0, [x27, 2056] mov w0, 137 @@ -12044,10 +11873,10 @@ samsung_read_retrial: str wzr, [x27, 2048] str wzr, [x27, 2048] str wzr, [x27, 2048] - b .L2004 -.L1983: + b .L1958 +.L1937: mov w25, w4 - b .L1978 + b .L1932 .size samsung_read_retrial, .-samsung_read_retrial .section .text.hynix_read_retrial,"ax",@progbits .align 2 @@ -12058,11 +11887,11 @@ hynix_read_retrial: add x29, sp, 0 stp x23, x24, [sp, 48] and x23, x0, 255 - adrp x0, .LANCHOR27 + adrp x0, .LANCHOR6 stp x27, x28, [sp, 80] stp x21, x22, [sp, 32] mov w27, w4 - ldr x28, [x0, #:lo12:.LANCHOR27] + ldr x28, [x0, #:lo12:.LANCHOR6] mov w22, w1 stp x25, x26, [sp, 64] mov x25, x2 @@ -12079,37 +11908,37 @@ hynix_read_retrial: bl zftl_flash_enter_slc_mode mov w0, w23 bl zftl_flash_exit_slc_mode - adrp x6, .LANCHOR50 - add x6, x6, :lo12:.LANCHOR50 + adrp x6, .LANCHOR49 + add x6, x6, :lo12:.LANCHOR49 mov w5, 0 - adrp x7, .LANCHOR166 - adrp x8, .LANCHOR168 -.L2006: + adrp x7, .LANCHOR163 + adrp x8, .LANCHOR165 +.L1960: cmp w5, w24 - bcc .L2011 -.L2010: - adrp x0, .LANCHOR50 + bcc .L1965 +.L1964: + adrp x0, .LANCHOR49 add x23, x28, x23 - ldrb w0, [x0, #:lo12:.LANCHOR50] + ldrb w0, [x0, #:lo12:.LANCHOR49] strb w20, [x23, 8] add w0, w0, w0, lsl 1 cmp w19, w0, lsr 2 - bcc .L2012 + bcc .L1966 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L2012: +.L1966: cmp w19, 256 ccmn w19, #1, 4, ne - bne .L2013 - adrp x0, .LC124 + bne .L1967 + adrp x0, .LC121 mov w4, w19 mov w3, w5 mov w2, w22 mov w1, w5 - add x0, x0, :lo12:.LC124 + add x0, x0, :lo12:.LC121 bl printf -.L2013: +.L1967: bl nandc_wait_flash_ready mov w0, w19 ldp x19, x20, [sp, 16] @@ -12119,7 +11948,7 @@ hynix_read_retrial: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L2011: +.L1965: add w20, w20, 1 stp x6, x8, [x29, 96] and w20, w20, 255 @@ -12140,21 +11969,21 @@ hynix_read_retrial: cmn w0, #1 ldp x6, x8, [x29, 96] ldr x7, [x29, 112] - beq .L2008 + beq .L1962 ldrb w1, [x6] cmn w19, #1 csel w19, w19, w0, ne - ldr x25, [x7, #:lo12:.LANCHOR166] - ldr x26, [x8, #:lo12:.LANCHOR168] + ldr x25, [x7, #:lo12:.LANCHOR163] + ldr x26, [x8, #:lo12:.LANCHOR165] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - bcc .L2014 -.L2008: + bcc .L1968 +.L1962: add w5, w5, 1 - b .L2006 -.L2014: + b .L1960 +.L1968: mov w19, w0 - b .L2010 + b .L1964 .size hynix_read_retrial, .-hynix_read_retrial .section .text.flash_ddr_tuning_read,"ax",@progbits .align 2 @@ -12172,25 +12001,25 @@ flash_ddr_tuning_read: stp x25, x26, [sp, 64] mov x24, x3 stp x27, x28, [sp, 80] - adrp x25, .LANCHOR50 + adrp x25, .LANCHOR49 str w4, [x29, 136] bl nandc_get_ddr_para - add x25, x25, :lo12:.LANCHOR50 + add x25, x25, :lo12:.LANCHOR49 str w0, [x29, 132] - adrp x0, .LANCHOR14 - add x0, x0, :lo12:.LANCHOR14 + adrp x0, .LANCHOR19 + add x0, x0, :lo12:.LANCHOR19 mov w28, 0 str x0, [x29, 120] mov w26, 0 - adrp x0, .LC125 + adrp x0, .LC122 mov w27, 0 - add x0, x0, :lo12:.LC125 + add x0, x0, :lo12:.LC122 mov w19, 1024 mov w21, -1 mov w7, 6 str wzr, [x29, 140] str x0, [x29, 112] -.L2030: +.L1984: mov w0, w7 str w7, [x29, 128] bl nandc_set_ddr_para @@ -12204,7 +12033,7 @@ flash_ddr_tuning_read: ldr x0, [x29, 120] ldr w7, [x29, 128] ldr w0, [x0] - tbz x0, 4, .L2025 + tbz x0, 4, .L1979 ldr x0, [x29, 112] mov w3, w4 mov w1, w7 @@ -12214,50 +12043,50 @@ flash_ddr_tuning_read: bl printf ldr w4, [x29, 108] ldr w7, [x29, 128] -.L2025: +.L1979: add w0, w19, 1 cmp w4, w0 - bhi .L2026 - adrp x0, .LANCHOR166 - ldr x23, [x0, #:lo12:.LANCHOR166] - adrp x0, .LANCHOR168 - ldr x24, [x0, #:lo12:.LANCHOR168] + bhi .L1980 + adrp x0, .LANCHOR163 + ldr x23, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR165 + ldr x24, [x0, #:lo12:.LANCHOR165] ldrb w0, [x25] cmp w4, w0, lsr 2 - bcs .L2036 + bcs .L1990 add w27, w27, 1 cmp w27, 7 - bls .L2036 + bls .L1990 sub w28, w7, w27 mov w19, w4 mov w21, 0 -.L2028: +.L1982: ldr w0, [x29, 140] cmp w27, w26 csel w28, w28, w0, cs -.L2029: - cbz w28, .L2031 - adrp x0, .LANCHOR50 +.L1983: + cbz w28, .L1985 + adrp x0, .LANCHOR49 mov w1, 3 - ldrb w0, [x0, #:lo12:.LANCHOR50] + ldrb w0, [x0, #:lo12:.LANCHOR49] udiv w0, w0, w1 cmp w0, w19 - bls .L2031 + bls .L1985 mov w1, w28 - adrp x0, .LC126 - add x0, x0, :lo12:.LC126 + adrp x0, .LC123 + add x0, x0, :lo12:.LC123 bl printf mov w0, w28 -.L2050: +.L2004: bl nandc_set_ddr_para - cbz w21, .L2024 - adrp x25, .LANCHOR49 - ldrb w0, [x25, #:lo12:.LANCHOR49] - tbz x0, 0, .L2024 + cbz w21, .L1978 + adrp x25, .LANCHOR48 + ldrb w0, [x25, #:lo12:.LANCHOR48] + tbz x0, 0, .L1978 mov w2, w22 mov w1, w20 - adrp x0, .LC127 - add x0, x0, :lo12:.LC127 + adrp x0, .LC124 + add x0, x0, :lo12:.LC124 bl printf mov w0, w20 bl flash_reset @@ -12265,8 +12094,8 @@ flash_ddr_tuning_read: bl flash_set_interface_mode mov w0, 1 bl nandc_set_if_mode - adrp x0, .LANCHOR34 - add x0, x0, :lo12:.LANCHOR34 + adrp x0, .LANCHOR33 + add x0, x0, :lo12:.LANCHOR33 mov w1, 2 strb w1, [x0, w20, sxtw] mov w0, w20 @@ -12281,22 +12110,22 @@ flash_ddr_tuning_read: mov w3, w0 mov w2, w22 mov w1, w20 - adrp x0, .LC128 - add x0, x0, :lo12:.LC128 + adrp x0, .LC125 + add x0, x0, :lo12:.LC125 bl printf - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] cmp w19, w0 - bhi .L2038 - adrp x1, .LANCHOR172 - ldr w0, [x1, #:lo12:.LANCHOR172] + bhi .L1992 + adrp x1, .LANCHOR169 + ldr w0, [x1, #:lo12:.LANCHOR169] add w0, w0, 1 - str w0, [x1, #:lo12:.LANCHOR172] + str w0, [x1, #:lo12:.LANCHOR169] cmp w0, 100 - bls .L2034 - adrp x0, .LANCHOR21 - strb wzr, [x0, #:lo12:.LANCHOR21] -.L2024: + bls .L1988 + adrp x0, .LANCHOR26 + strb wzr, [x0, #:lo12:.LANCHOR26] +.L1978: mov w0, w19 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -12305,37 +12134,37 @@ flash_ddr_tuning_read: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 144 ret -.L2026: +.L1980: cmp w27, w26 - bls .L2037 + bls .L1991 sub w0, w28, w27 str w0, [x29, 140] cmp w27, 7 - bhi .L2029 + bhi .L1983 mov w26, w27 -.L2037: +.L1991: mov w27, 0 - b .L2027 -.L2036: + b .L1981 +.L1990: mov w28, w7 mov w19, w4 mov w21, 0 -.L2027: +.L1981: add w7, w7, 2 cmp w7, 50 - bne .L2030 - b .L2028 -.L2031: + bne .L1984 + b .L1982 +.L1985: ldrb w0, [x29, 132] - b .L2050 -.L2038: + b .L2004 +.L1992: mov w19, w21 -.L2034: - ldrb w0, [x25, #:lo12:.LANCHOR49] +.L1988: + ldrb w0, [x25, #:lo12:.LANCHOR48] bl flash_set_interface_mode - ldrb w0, [x25, #:lo12:.LANCHOR49] + ldrb w0, [x25, #:lo12:.LANCHOR48] bl nandc_set_if_mode - b .L2024 + b .L1978 .size flash_ddr_tuning_read, .-flash_ddr_tuning_read .section .text.flash_read_page_en,"ax",@progbits .align 2 @@ -12346,70 +12175,70 @@ flash_read_page_en: add x29, sp, 0 stp x19, x20, [sp, 16] and w20, w0, 255 - adrp x0, .LANCHOR18 + adrp x0, .LANCHOR23 stp x23, x24, [sp, 48] stp x21, x22, [sp, 32] mov w19, w1 str x25, [sp, 64] mov x22, x2 - ldrb w1, [x0, #:lo12:.LANCHOR18] + ldrb w1, [x0, #:lo12:.LANCHOR23] mov x23, x3 mov w24, w4 mov x25, x0 cmp w1, w20 - bhi .L2052 - adrp x1, .LANCHOR173 + bhi .L2006 + adrp x1, .LANCHOR170 adrp x0, .LC0 - mov w2, 428 - add x1, x1, :lo12:.LANCHOR173 + mov w2, 431 + add x1, x1, :lo12:.LANCHOR170 add x0, x0, :lo12:.LC0 bl printf -.L2052: - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 - ldrb w4, [x25, #:lo12:.LANCHOR18] +.L2006: + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 + ldrb w4, [x25, #:lo12:.LANCHOR23] ldrb w21, [x0, w20, sxtw] cmp w20, w4 - bcc .L2053 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbnz x0, 6, .L2054 -.L2078: + bcc .L2007 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbnz x0, 6, .L2008 +.L2032: mov w0, -1 -.L2051: +.L2005: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldr x25, [sp, 64] ldp x29, x30, [sp], 80 ret -.L2054: +.L2008: mov w3, w19 mov w2, w20 mov w1, w21 - adrp x0, .LC129 - add x0, x0, :lo12:.LC129 + adrp x0, .LC126 + add x0, x0, :lo12:.LC126 bl printf - b .L2078 -.L2053: + b .L2032 +.L2007: tst x19, 50331648 - bne .L2056 + bne .L2010 adrp x0, .LANCHOR0 adrp x1, .LANCHOR1 ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L2057 + cbz w0, .L2011 ldrb w0, [x1, #:lo12:.LANCHOR1] - cbz w0, .L2056 -.L2057: + cbz w0, .L2010 +.L2011: adrp x0, .LANCHOR2 ldrb w1, [x1, #:lo12:.LANCHOR1] ldrh w2, [x0, #:lo12:.LANCHOR2] udiv w0, w19, w2 mul w0, w0, w2 sub w19, w19, w0 - cbz w1, .L2058 + cbz w1, .L2012 add w19, w0, w19, lsl 1 -.L2056: +.L2010: mov w4, w24 mov x3, x23 mov x2, x22 @@ -12417,25 +12246,25 @@ flash_read_page_en: mov w0, w21 bl flash_read_page cmn w0, #1 - bne .L2051 - adrp x20, .LANCHOR52 - ldrb w25, [x20, #:lo12:.LANCHOR52] - cbnz w25, .L2059 -.L2062: - adrp x0, .LANCHOR174 - ldr x5, [x0, #:lo12:.LANCHOR174] - cbnz x5, .L2060 -.L2061: - ldrb w4, [x20, #:lo12:.LANCHOR52] + bne .L2005 + adrp x20, .LANCHOR51 + ldrb w25, [x20, #:lo12:.LANCHOR51] + cbnz w25, .L2013 +.L2016: + adrp x0, .LANCHOR171 + ldr x5, [x0, #:lo12:.LANCHOR171] + cbnz x5, .L2014 +.L2015: + ldrb w4, [x20, #:lo12:.LANCHOR51] mov w3, -1 mov w2, w19 mov w1, 0 - adrp x0, .LC130 - add x0, x0, :lo12:.LC130 + adrp x0, .LC127 + add x0, x0, :lo12:.LC127 bl printf - adrp x0, .LANCHOR21 - ldrb w0, [x0, #:lo12:.LANCHOR21] - cbz w0, .L2078 + adrp x0, .LANCHOR26 + ldrb w0, [x0, #:lo12:.LANCHOR26] + cbz w0, .L2032 mov w4, w24 mov x3, x23 mov x2, x22 @@ -12447,25 +12276,25 @@ flash_read_page_en: ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 80 b flash_ddr_tuning_read -.L2058: +.L2012: adrp x1, .LANCHOR3 add x1, x1, :lo12:.LANCHOR3 ldrh w19, [x1, w19, uxtw 1] add w19, w19, w0 - b .L2056 -.L2059: - strb wzr, [x20, #:lo12:.LANCHOR52] + b .L2010 +.L2013: + strb wzr, [x20, #:lo12:.LANCHOR51] mov w4, w24 mov x3, x23 mov x2, x22 mov w1, w19 mov w0, w21 bl flash_read_page - strb w25, [x20, #:lo12:.LANCHOR52] + strb w25, [x20, #:lo12:.LANCHOR51] cmn w0, #1 - beq .L2062 - b .L2051 -.L2060: + beq .L2016 + b .L2005 +.L2014: mov w4, w24 mov x3, x23 mov x2, x22 @@ -12473,8 +12302,8 @@ flash_read_page_en: mov w0, w21 blr x5 cmn w0, #1 - beq .L2061 - b .L2051 + beq .L2015 + b .L2005 .size flash_read_page_en, .-flash_read_page_en .section .text.flash_get_last_written_page,"ax",@progbits .align 2 @@ -12485,15 +12314,15 @@ flash_get_last_written_page: add x29, sp, 0 stp x23, x24, [sp, 48] and w23, w0, 255 - adrp x0, .LANCHOR147 + adrp x0, .LANCHOR144 stp x19, x20, [sp, 16] stp x25, x26, [sp, 64] mov x24, x2 - ldrh w19, [x0, #:lo12:.LANCHOR147] - adrp x0, .LANCHOR33+26 + ldrh w19, [x0, #:lo12:.LANCHOR144] + adrp x0, .LANCHOR32+26 stp x21, x22, [sp, 32] and w21, w1, 65535 - ldrh w26, [x0, #:lo12:.LANCHOR33+26] + ldrh w26, [x0, #:lo12:.LANCHOR32+26] sub w19, w19, #1 sxth w19, w19 stp x27, x28, [sp, 80] @@ -12504,23 +12333,23 @@ flash_get_last_written_page: add w1, w19, w26 bl flash_read_page_en cmp w0, 512 - bne .L2080 + bne .L2034 mov w27, 0 mov w28, 2 -.L2081: +.L2035: cmp w27, w19 - ble .L2084 -.L2080: - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L2085 + ble .L2038 +.L2034: + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L2039 ldr w3, [x22] - adrp x0, .LC131 + adrp x0, .LC128 mov w2, w19 mov w1, w21 - add x0, x0, :lo12:.LC131 + add x0, x0, :lo12:.LC128 bl printf -.L2085: +.L2039: mov w0, w19 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -12529,7 +12358,7 @@ flash_get_last_written_page: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 96 ret -.L2084: +.L2038: add w20, w27, w19 mov w4, w25 mov x3, x22 @@ -12539,28 +12368,28 @@ flash_get_last_written_page: add w1, w26, w20, sxth bl flash_read_page_en cmp w0, 512 - bne .L2082 + bne .L2036 sub w19, w20, #1 sxth w19, w19 - b .L2081 -.L2082: + b .L2035 +.L2036: add w20, w20, 1 sxth w27, w20 - b .L2081 + b .L2035 .size flash_get_last_written_page, .-flash_get_last_written_page .section .text.flash_get_last_written_page_ext,"ax",@progbits .align 2 .global flash_get_last_written_page_ext .type flash_get_last_written_page_ext, %function flash_get_last_written_page_ext: - adrp x4, .LANCHOR32 + adrp x4, .LANCHOR31 mov w5, 24 and w0, w0, 65535 mov w6, 1 - ldrb w4, [x4, #:lo12:.LANCHOR32] + ldrb w4, [x4, #:lo12:.LANCHOR31] sub w5, w5, w4 - adrp x4, .LANCHOR75 - ldrh w4, [x4, #:lo12:.LANCHOR75] + adrp x4, .LANCHOR74 + ldrh w4, [x4, #:lo12:.LANCHOR74] sub w5, w5, w4 mov w4, w3 mov x3, x2 @@ -12579,44 +12408,44 @@ flash_ddr_para_scan: stp x29, x30, [sp, -80]! add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x20, .LANCHOR49 + adrp x20, .LANCHOR48 stp x21, x22, [sp, 32] and w22, w0, 255 - ldrb w0, [x20, #:lo12:.LANCHOR49] - adrp x19, .LANCHOR21 + ldrb w0, [x20, #:lo12:.LANCHOR48] + adrp x19, .LANCHOR26 stp x23, x24, [sp, 48] mov w21, 1 mov w23, w1 str x25, [sp, 64] - strb w21, [x19, #:lo12:.LANCHOR21] - adrp x24, .LANCHOR176 + strb w21, [x19, #:lo12:.LANCHOR26] + adrp x24, .LANCHOR173 bl flash_set_interface_mode - adrp x25, .LANCHOR175 - ldrb w0, [x20, #:lo12:.LANCHOR49] + adrp x25, .LANCHOR172 + ldrb w0, [x20, #:lo12:.LANCHOR48] bl nandc_set_if_mode - ldr x3, [x25, #:lo12:.LANCHOR175] + ldr x3, [x25, #:lo12:.LANCHOR172] mov w4, 4 - ldr x2, [x24, #:lo12:.LANCHOR176] + ldr x2, [x24, #:lo12:.LANCHOR173] mov w1, w23 mov w0, w22 bl flash_ddr_tuning_read - ldr x3, [x25, #:lo12:.LANCHOR175] + ldr x3, [x25, #:lo12:.LANCHOR172] mov w4, 4 - ldr x2, [x24, #:lo12:.LANCHOR176] + ldr x2, [x24, #:lo12:.LANCHOR173] mov w1, w23 mov w0, w22 bl flash_read_page cmn w0, #1 mov x0, x19 - bne .L2092 - ldrb w1, [x20, #:lo12:.LANCHOR49] - tbz x1, 0, .L2092 + bne .L2046 + ldrb w1, [x20, #:lo12:.LANCHOR48] + tbz x1, 0, .L2046 mov w0, 1 bl flash_set_interface_mode mov w0, w21 bl nandc_set_if_mode - strb wzr, [x19, #:lo12:.LANCHOR21] -.L2093: + strb wzr, [x19, #:lo12:.LANCHOR26] +.L2047: mov w0, 0 ldr x25, [sp, 64] ldp x19, x20, [sp, 16] @@ -12624,59 +12453,49 @@ flash_ddr_para_scan: ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 80 ret -.L2092: +.L2046: mov w1, 1 - strb w1, [x0, #:lo12:.LANCHOR21] - b .L2093 + strb w1, [x0, #:lo12:.LANCHOR26] + b .L2047 .size flash_ddr_para_scan, .-flash_ddr_para_scan .section .text.flash_prog_page,"ax",@progbits .align 2 .global flash_prog_page .type flash_prog_page, %function flash_prog_page: - stp x29, x30, [sp, -96]! + stp x29, x30, [sp, -80]! add x29, sp, 0 stp x21, x22, [sp, 32] and w21, w0, 255 - adrp x0, .LANCHOR13 + adrp x0, .LANCHOR7 stp x25, x26, [sp, 64] stp x19, x20, [sp, 16] mov w20, 24 - ldr x26, [x0, #:lo12:.LANCHOR13] - adrp x0, .LANCHOR32 - stp x23, x24, [sp, 48] + ldr x26, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR31 mov w22, w1 - ldrb w0, [x0, #:lo12:.LANCHOR32] - and x19, x21, 255 - str x27, [sp, 80] - add x23, x19, 8 - sub w0, w20, w0 - mov w20, 1 + stp x23, x24, [sp, 48] + ldrb w0, [x0, #:lo12:.LANCHOR31] mov x24, x2 mov x25, x3 + and x19, x21, 255 + sub w0, w20, w0 + mov w20, 1 + add x23, x19, 8 lsl w20, w20, w0 - adrp x0, .LANCHOR14 sub w20, w20, #1 - add x23, x26, x23, lsl 8 - ldr w0, [x0, #:lo12:.LANCHOR14] and w20, w20, w1 - ubfx x27, x22, 24, 2 - tbz x0, 4, .L2099 - adrp x0, .LC132 - mov w3, w4 - mov w2, w27 - add x0, x0, :lo12:.LC132 - bl printf -.L2099: bl nandc_wait_flash_ready mov w0, w21 bl hynix_reconfig_rr_para mov w0, w21 bl nandc_cs + add x23, x26, x23, lsl 8 mov w0, w21 - cbnz w27, .L2100 + tst x22, 50331648 + bne .L2053 bl zftl_flash_enter_slc_mode -.L2101: +.L2054: add x19, x26, x19, lsl 8 mov w0, 128 str w0, [x19, 2056] @@ -12688,19 +12507,19 @@ flash_prog_page: str w0, [x19, 2052] lsr w0, w20, 16 str w0, [x19, 2052] - adrp x0, .LANCHOR31 - ldrb w0, [x0, #:lo12:.LANCHOR31] - cbz w0, .L2102 + adrp x0, .LANCHOR30 + ldrb w0, [x0, #:lo12:.LANCHOR30] + cbz w0, .L2055 lsr w0, w20, 24 str w0, [x19, 2052] -.L2102: +.L2055: mov w0, w20 bl nandc_set_seed - adrp x0, .LANCHOR33+9 + adrp x0, .LANCHOR32+9 mov x4, x25 mov x3, x24 mov w1, 1 - ldrb w2, [x0, #:lo12:.LANCHOR33+9] + ldrb w2, [x0, #:lo12:.LANCHOR32+9] mov w0, w21 bl nandc_xfer mov w0, 16 @@ -12709,26 +12528,25 @@ flash_prog_page: mov x0, x23 bl flash_read_status mov w3, w0 - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 and w2, w3, 4 - tbz x3, 2, .L2098 + tbz x3, 2, .L2052 mov w1, w22 - adrp x0, .LC133 - add x0, x0, :lo12:.LC133 + adrp x0, .LC129 + add x0, x0, :lo12:.LC129 bl printf mov w2, -1 -.L2098: +.L2052: mov w0, w2 - ldr x27, [sp, 80] ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x25, x26, [sp, 64] - ldp x29, x30, [sp], 96 + ldp x29, x30, [sp], 80 ret -.L2100: +.L2053: bl zftl_flash_exit_slc_mode - b .L2101 + b .L2054 .size flash_prog_page, .-flash_prog_page .section .text.flash_test_blk,"ax",@progbits .align 2 @@ -12739,16 +12557,16 @@ flash_test_blk: mov w2, 32 add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x22, .LANCHOR166 + adrp x22, .LANCHOR163 stp x19, x20, [sp, 16] and w20, w0, 255 - ldr x0, [x22, #:lo12:.LANCHOR166] - adrp x21, .LANCHOR168 + ldr x0, [x22, #:lo12:.LANCHOR163] + adrp x21, .LANCHOR165 and w19, w1, 65535 str x23, [sp, 48] mov w1, 165 bl ftl_memset - ldr x0, [x21, #:lo12:.LANCHOR168] + ldr x0, [x21, #:lo12:.LANCHOR165] mov w2, 8 mov w1, 90 bl ftl_memset @@ -12759,10 +12577,10 @@ flash_test_blk: mov w1, w19 bl flash_erase_block cmn w0, #1 - bne .L2115 -.L2117: + bne .L2065 +.L2067: mov w21, -1 -.L2116: +.L2066: mov w1, w19 mov w0, w20 bl flash_erase_block @@ -12772,38 +12590,38 @@ flash_test_blk: ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 64 ret -.L2115: - adrp x23, .LANCHOR33 - add x23, x23, :lo12:.LANCHOR33 - ldr x3, [x21, #:lo12:.LANCHOR168] +.L2065: + adrp x23, .LANCHOR32 + add x23, x23, :lo12:.LANCHOR32 + ldr x3, [x21, #:lo12:.LANCHOR165] mov w1, w19 - ldr x2, [x22, #:lo12:.LANCHOR166] + ldr x2, [x22, #:lo12:.LANCHOR163] mov w0, w20 ldrb w4, [x23, 9] bl flash_prog_page cmn w0, #1 - beq .L2117 + beq .L2067 ldrb w4, [x23, 9] mov w1, w19 - ldr x3, [x21, #:lo12:.LANCHOR168] + ldr x3, [x21, #:lo12:.LANCHOR165] mov w0, w20 - ldr x2, [x22, #:lo12:.LANCHOR166] + ldr x2, [x22, #:lo12:.LANCHOR163] bl flash_read_page_en cmn w0, #1 - beq .L2117 - ldr x0, [x22, #:lo12:.LANCHOR166] + beq .L2067 + ldr x0, [x22, #:lo12:.LANCHOR163] ldr w1, [x0] mov w0, 42405 movk w0, 0xa5a5, lsl 16 cmp w1, w0 - bne .L2117 - ldr x0, [x21, #:lo12:.LANCHOR168] + bne .L2067 + ldr x0, [x21, #:lo12:.LANCHOR165] ldr w1, [x0] mov w0, 23130 movk w0, 0x5a5a, lsl 16 cmp w1, w0 csetm w21, ne - b .L2116 + b .L2066 .size flash_test_blk, .-flash_test_blk .section .text.id_block_prog_msb_ff_data,"ax",@progbits .align 2 @@ -12814,50 +12632,50 @@ id_block_prog_msb_ff_data: add x29, sp, 0 stp x21, x22, [sp, 32] and w22, w0, 255 - adrp x0, .LANCHOR19 + adrp x0, .LANCHOR24 stp x19, x20, [sp, 16] stp x23, x24, [sp, 48] - ldrb w0, [x0, #:lo12:.LANCHOR19] + ldrb w0, [x0, #:lo12:.LANCHOR24] str x25, [sp, 64] - cbnz w0, .L2125 - adrp x20, .LANCHOR33 - add x20, x20, :lo12:.LANCHOR33 + cbnz w0, .L2075 + adrp x20, .LANCHOR32 + add x20, x20, :lo12:.LANCHOR32 ldrb w0, [x20, 19] sub w0, w0, #5 and w3, w0, 255 cmp w3, 63 - bhi .L2125 + bhi .L2075 and w19, w2, 65535 mov x2, 16391 movk x2, 0x4000, lsl 16 movk x2, 0x8000, lsl 48 lsr x0, x2, x3 - tbz x0, 0, .L2125 - adrp x21, .LANCHOR145 + tbz x0, 0, .L2075 + adrp x21, .LANCHOR142 mov w23, w1 - add x21, x21, :lo12:.LANCHOR145 + add x21, x21, :lo12:.LANCHOR142 mov w25, 65535 - adrp x24, .LANCHOR166 -.L2127: + adrp x24, .LANCHOR163 +.L2077: ldrh w0, [x20, 10] cmp w0, w19 - bhi .L2128 -.L2125: + bhi .L2078 +.L2075: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldr x25, [sp, 64] ldp x29, x30, [sp], 80 ret -.L2128: +.L2078: ldrh w0, [x21, w19, sxtw 1] cmp w0, w25 - bne .L2125 - ldr x0, [x24, #:lo12:.LANCHOR166] + bne .L2075 + ldr x0, [x24, #:lo12:.LANCHOR163] mov w2, 16384 mov w1, 255 bl ftl_memset - ldr x3, [x24, #:lo12:.LANCHOR166] + ldr x3, [x24, #:lo12:.LANCHOR163] add w1, w19, w23 ldrb w4, [x20, 9] add w19, w19, 1 @@ -12865,7 +12683,7 @@ id_block_prog_msb_ff_data: mov w0, w22 and w19, w19, 65535 bl flash_prog_page - b .L2127 + b .L2077 .size id_block_prog_msb_ff_data, .-id_block_prog_msb_ff_data .section .text.flash_start_one_pass_page_prog,"ax",@progbits .align 2 @@ -12875,19 +12693,19 @@ flash_start_one_pass_page_prog: stp x29, x30, [sp, -32]! and w8, w0, 255 and w7, w3, 255 - adrp x0, .LANCHOR13 + adrp x0, .LANCHOR7 add x29, sp, 0 stp x19, x20, [sp, 16] and w20, w2, 255 - ldr x19, [x0, #:lo12:.LANCHOR13] + ldr x19, [x0, #:lo12:.LANCHOR7] mov w0, w7 bl nandc_cs - cbz w8, .L2131 + cbz w8, .L2081 sxtw x0, w7 add x0, x0, 8 add x0, x19, x0, lsl 8 str w8, [x0, 8] -.L2131: +.L2081: ubfiz x0, x7, 8, 8 add x19, x19, x0 mov w0, 128 @@ -12900,19 +12718,19 @@ flash_start_one_pass_page_prog: str w0, [x19, 2052] lsr w0, w4, 16 str w0, [x19, 2052] - adrp x0, .LANCHOR31 - ldrb w0, [x0, #:lo12:.LANCHOR31] - cbz w0, .L2132 + adrp x0, .LANCHOR30 + ldrb w0, [x0, #:lo12:.LANCHOR30] + cbz w0, .L2082 lsr w0, w4, 24 str w0, [x19, 2052] -.L2132: +.L2082: mov w0, w4 bl nandc_set_seed - adrp x0, .LANCHOR33+9 + adrp x0, .LANCHOR32+9 mov x4, x6 mov x3, x5 mov w1, 1 - ldrb w2, [x0, #:lo12:.LANCHOR33+9] + ldrb w2, [x0, #:lo12:.LANCHOR32+9] mov w0, w7 bl nandc_xfer str w20, [x19, 2056] @@ -12931,19 +12749,19 @@ flash_dual_page_prog: and w20, w0, 255 stp x25, x26, [sp, 64] mov x25, x2 - adrp x2, .LANCHOR13 + adrp x2, .LANCHOR7 stp x21, x22, [sp, 32] ubfiz x22, x20, 8, 8 stp x27, x28, [sp, 80] add x0, x22, 2048 - ldr x22, [x2, #:lo12:.LANCHOR13] + ldr x22, [x2, #:lo12:.LANCHOR7] mov w19, 24 - adrp x27, .LANCHOR14 + adrp x27, .LANCHOR19 add x22, x22, x0 - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 stp x23, x24, [sp, 48] mov w21, w1 - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] mov x26, x3 mov x23, x4 mov x24, x5 @@ -12951,23 +12769,23 @@ flash_dual_page_prog: mov w19, 1 ubfx x28, x21, 24, 2 lsl w19, w19, w0 - ldr w0, [x27, #:lo12:.LANCHOR14] + ldr w0, [x27, #:lo12:.LANCHOR19] sub w19, w19, #1 and w19, w19, w1 - tbz x0, 4, .L2141 - adrp x0, .LC132 + tbz x0, 4, .L2091 + adrp x0, .LC130 mov w3, w6 mov w2, w28 - add x0, x0, :lo12:.LC132 + add x0, x0, :lo12:.LC130 bl printf -.L2141: +.L2091: bl nandc_wait_flash_ready mov w0, w20 bl nandc_cs mov w0, w20 - cbnz w28, .L2142 + cbnz w28, .L2092 bl zftl_flash_enter_slc_mode -.L2143: +.L2093: mov x6, x26 mov x5, x25 mov w4, w19 @@ -12989,18 +12807,18 @@ flash_dual_page_prog: mov x0, x22 bl flash_read_status mov w3, w0 - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 and w2, w3, 4 - tbz x3, 2, .L2140 - ldr w0, [x27, #:lo12:.LANCHOR14] - tbz x0, 12, .L2145 - adrp x0, .LC133 + tbz x3, 2, .L2090 + ldr w0, [x27, #:lo12:.LANCHOR19] + tbz x0, 12, .L2095 + adrp x0, .LC129 mov w1, w21 - add x0, x0, :lo12:.LC133 + add x0, x0, :lo12:.LC129 bl printf -.L2145: +.L2095: mov w2, -1 -.L2140: +.L2090: mov w0, w2 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -13009,9 +12827,9 @@ flash_dual_page_prog: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 96 ret -.L2142: +.L2092: bl zftl_flash_exit_slc_mode - b .L2143 + b .L2093 .size flash_dual_page_prog, .-flash_dual_page_prog .section .text.ymtc_flash_tlc_page_prog,"ax",@progbits .align 2 @@ -13024,19 +12842,19 @@ ymtc_flash_tlc_page_prog: and w20, w0, 255 str x25, [sp, 64] mov w25, w1 - adrp x1, .LANCHOR13 + adrp x1, .LANCHOR7 stp x21, x22, [sp, 32] ubfiz x22, x20, 8, 8 mov w19, 24 add x0, x22, 2048 - ldr x22, [x1, #:lo12:.LANCHOR13] + ldr x22, [x1, #:lo12:.LANCHOR7] mov w21, 1 stp x23, x24, [sp, 48] add x22, x22, x0 - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 mov x23, x2 mov x24, x3 - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] sub w19, w19, w0 bl nandc_wait_flash_ready lsl w19, w21, w19 @@ -13076,19 +12894,19 @@ ymtc_flash_tlc_page_prog: mov x0, x22 bl flash_read_status mov w3, w0 - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 and w2, w3, 4 - tbz x3, 2, .L2153 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L2155 - adrp x0, .LC134 + tbz x3, 2, .L2103 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L2105 + adrp x0, .LC131 mov w1, w25 - add x0, x0, :lo12:.LC134 + add x0, x0, :lo12:.LC131 bl printf -.L2155: +.L2105: mov w2, -1 -.L2153: +.L2103: mov w0, w2 ldr x25, [sp, 64] ldp x19, x20, [sp, 16] @@ -13097,13 +12915,13 @@ ymtc_flash_tlc_page_prog: ldp x29, x30, [sp], 80 ret .size ymtc_flash_tlc_page_prog, .-ymtc_flash_tlc_page_prog - .section .text.fw_flash_page_prog.constprop.30,"ax",@progbits + .section .text.fw_flash_page_prog.constprop.29,"ax",@progbits .align 2 - .type fw_flash_page_prog.constprop.30, %function -fw_flash_page_prog.constprop.30: + .type fw_flash_page_prog.constprop.29, %function +fw_flash_page_prog.constprop.29: stp x29, x30, [sp, -64]! - adrp x4, .LANCHOR33 - add x4, x4, :lo12:.LANCHOR33 + adrp x4, .LANCHOR32 + add x4, x4, :lo12:.LANCHOR32 add x29, sp, 0 stp x19, x20, [sp, 16] mov x20, x1 @@ -13112,26 +12930,26 @@ fw_flash_page_prog.constprop.30: str x23, [sp, 48] ldrb w19, [x4, 9] udiv w19, w0, w19 - adrp x0, .LANCHOR50 - ldrb w23, [x0, #:lo12:.LANCHOR50] - adrp x0, .LANCHOR17 - ldrb w0, [x0, #:lo12:.LANCHOR17] + adrp x0, .LANCHOR49 + ldrb w23, [x0, #:lo12:.LANCHOR49] + adrp x0, .LANCHOR22 + ldrb w0, [x0, #:lo12:.LANCHOR22] bl nandc_bch_sel ldrb w0, [x4, 7] cmp w0, 9 - bne .L2161 - adrp x0, .LANCHOR19 - ldrb w0, [x0, #:lo12:.LANCHOR19] - cbnz w0, .L2161 + bne .L2111 + adrp x0, .LANCHOR24 + ldrb w0, [x0, #:lo12:.LANCHOR24] + cbnz w0, .L2111 ldrb w0, [x4, 12] cmp w0, 3 - bne .L2162 + bne .L2112 mov x3, x21 mov x2, x20 mov w1, w19 mov w0, 0 bl ymtc_flash_tlc_page_prog -.L2165: +.L2115: mov w4, w0 mov w0, w23 bl nandc_bch_sel @@ -13141,13 +12959,13 @@ fw_flash_page_prog.constprop.30: ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 64 ret -.L2162: - adrp x22, .LANCHOR166 +.L2112: + adrp x22, .LANCHOR163 mov w2, 16384 mov w1, 255 - ldr x0, [x22, #:lo12:.LANCHOR166] + ldr x0, [x22, #:lo12:.LANCHOR163] bl ftl_memset - ldr x5, [x22, #:lo12:.LANCHOR166] + ldr x5, [x22, #:lo12:.LANCHOR163] mov w6, 4 mov x3, x21 mov x2, x20 @@ -13155,16 +12973,16 @@ fw_flash_page_prog.constprop.30: mov w1, w19 mov w0, 0 bl flash_dual_page_prog - b .L2165 -.L2161: + b .L2115 +.L2111: mov w4, 4 mov x3, x21 mov x2, x20 mov w1, w19 mov w0, 0 bl flash_prog_page - b .L2165 - .size fw_flash_page_prog.constprop.30, .-fw_flash_page_prog.constprop.30 + b .L2115 + .size fw_flash_page_prog.constprop.29, .-fw_flash_page_prog.constprop.29 .section .text.idb_write_data,"ax",@progbits .align 2 .global idb_write_data @@ -13178,11 +12996,11 @@ idb_write_data: stp x21, x22, [sp, 32] mov w20, w3 stp x23, x24, [sp, 48] - adrp x22, .LANCHOR143 + adrp x22, .LANCHOR140 stp x25, x26, [sp, 64] mov x24, x2 stp x27, x28, [sp, 80] - bne .L2167 + bne .L2117 ldr w0, [x2] mov w1, 35899 movk w1, 0xfcdc, lsl 16 @@ -13190,69 +13008,69 @@ idb_write_data: mov w1, 19282 movk w1, 0x534e, lsl 16 ccmp w0, w1, 4, ne - beq .L2168 + beq .L2118 add w1, w1, 327680 cmp w0, w1 - bne .L2167 -.L2168: - adrp x21, .LANCHOR141 + bne .L2117 +.L2118: + adrp x21, .LANCHOR138 mov w1, 1 - strb w1, [x22, #:lo12:.LANCHOR143] - ldr x0, [x21, #:lo12:.LANCHOR141] - cbnz x0, .L2169 + strb w1, [x22, #:lo12:.LANCHOR140] + ldr x0, [x21, #:lo12:.LANCHOR138] + cbnz x0, .L2119 mov w0, 262144 bl ftl_malloc - str x0, [x21, #:lo12:.LANCHOR141] -.L2169: - adrp x0, .LANCHOR177 + str x0, [x21, #:lo12:.LANCHOR138] +.L2119: + adrp x0, .LANCHOR174 mov w1, 64 - str w1, [x0, #:lo12:.LANCHOR177] -.L2167: - ldrb w0, [x22, #:lo12:.LANCHOR143] - cbz w0, .L2235 - adrp x0, .LANCHOR141 + str w1, [x0, #:lo12:.LANCHOR174] +.L2117: + ldrb w0, [x22, #:lo12:.LANCHOR140] + cbz w0, .L2185 + adrp x0, .LANCHOR138 mov x23, x0 - ldr x21, [x0, #:lo12:.LANCHOR141] - cbz x21, .L2235 + ldr x21, [x0, #:lo12:.LANCHOR138] + cbz x21, .L2185 add w0, w19, w20 str w0, [x29, 140] cmp w0, 63 - bls .L2171 + bls .L2121 cmp w19, 575 - bhi .L2172 - adrp x21, .LANCHOR144 - ldr x0, [x21, #:lo12:.LANCHOR144] - cbz x0, .L2173 -.L2176: - adrp x1, .LANCHOR142 + bhi .L2122 + adrp x21, .LANCHOR141 + ldr x0, [x21, #:lo12:.LANCHOR141] + cbz x0, .L2123 +.L2126: + adrp x1, .LANCHOR139 mov w2, 1 - ldr x0, [x23, #:lo12:.LANCHOR141] + ldr x0, [x23, #:lo12:.LANCHOR138] cmp w19, 64 - str w2, [x1, #:lo12:.LANCHOR142] - bhi .L2288 + str w2, [x1, #:lo12:.LANCHOR139] + bhi .L2238 mov w4, 64 sub w4, w4, w19 sub w2, w20, w4 ubfiz x4, x4, 9, 25 lsl w2, w2, 9 add x1, x24, x4 -.L2294: +.L2244: bl ftl_memcpy -.L2177: - adrp x0, .LANCHOR177 - ldr w0, [x0, #:lo12:.LANCHOR177] +.L2127: + adrp x0, .LANCHOR174 + ldr w0, [x0, #:lo12:.LANCHOR174] cmp w19, w0 - beq .L2231 - strb wzr, [x22, #:lo12:.LANCHOR143] - b .L2231 -.L2173: + beq .L2181 + strb wzr, [x22, #:lo12:.LANCHOR140] + b .L2181 +.L2123: mov w0, 262144 bl ftl_malloc - str x0, [x21, #:lo12:.LANCHOR144] - cbnz x0, .L2176 + str x0, [x21, #:lo12:.LANCHOR141] + cbnz x0, .L2126 mov w0, -1 - b .L2166 -.L2288: + b .L2116 +.L2238: mov w2, 576 sub w2, w2, w19 cmp w20, w2 @@ -13262,14 +13080,14 @@ idb_write_data: lsl w2, w2, 9 mov x1, x24 add x0, x0, x3 - b .L2294 -.L2171: + b .L2244 +.L2121: cmp w19, 575 - bls .L2177 -.L2172: - adrp x0, .LANCHOR142 - ldr w0, [x0, #:lo12:.LANCHOR142] - cbz w0, .L2177 + bls .L2127 +.L2122: + adrp x0, .LANCHOR139 + ldr w0, [x0, #:lo12:.LANCHOR139] + cbz w0, .L2127 ldr w0, [x21] mov w1, 35899 movk w1, 0xfcdc, lsl 16 @@ -13277,109 +13095,109 @@ idb_write_data: mov w1, 19282 movk w1, 0x534e, lsl 16 ccmp w0, w1, 4, ne - beq .L2178 + beq .L2128 add w1, w1, 327680 cmp w0, w1 - bne .L2179 -.L2178: + bne .L2129 +.L2128: adrp x0, .LANCHOR0 - mov x10, x0 + mov x20, x0 ldrb w1, [x0, #:lo12:.LANCHOR0] str w1, [x29, 176] - adrp x1, .LANCHOR19 - mov x11, x1 + adrp x1, .LANCHOR24 + mov x24, x1 ldr w0, [x29, 176] - ldrb w2, [x1, #:lo12:.LANCHOR19] + ldrb w2, [x1, #:lo12:.LANCHOR24] str w2, [x29, 204] - cbz w0, .L2180 + cbz w0, .L2130 ldrh w0, [x29, 176] str w0, [x29, 172] uxtw x0, w2 cmp w0, 0 cset w0, eq -.L2291: - adrp x8, .LANCHOR33 - add x8, x8, :lo12:.LANCHOR33 +.L2241: + adrp x23, .LANCHOR32 + add x23, x23, :lo12:.LANCHOR32 str w0, [x29, 200] mov w0, 0 - ldrb w19, [x8, 9] - ldrh w22, [x8, 26] + ldrb w19, [x23, 9] + ldrh w22, [x23, 26] bl zftl_flash_exit_slc_mode - ldrh w20, [x8, 10] + ldrb w0, [x24, #:lo12:.LANCHOR24] add x1, x21, 258048 - ldrb w0, [x11, #:lo12:.LANCHOR19] + strb w0, [x20, #:lo12:.LANCHOR0] mov w4, 16981 - strb w0, [x10, #:lo12:.LANCHOR0] + ldrh w20, [x23, 10] add x1, x1, 2044 - ldrb w0, [x8, 12] - lsl w20, w20, 2 + ldrb w0, [x23, 12] mov w2, 65023 movk w4, 0x4f4f, lsl 16 mov w3, 4098 + lsl w20, w20, 2 sdiv w20, w20, w0 mov w0, 512 cmp w20, 512 csel w20, w20, w0, lt mov w0, 0 -.L2187: +.L2137: ldr w5, [x1] - cbnz w5, .L2183 - cbnz w0, .L2184 + cbnz w5, .L2133 + cbnz w0, .L2134 str w4, [x1, 2048] -.L2185: +.L2135: add w0, w0, 1 sub w2, w2, #1 cmp w0, w3 sub x1, x1, #4 csel w0, w0, wzr, ls cmp w2, 4096 - bne .L2187 -.L2183: + bne .L2137 +.L2133: ldr w1, [x21, w2, uxtw 2] mov w3, w20 - adrp x0, .LC135 - add x0, x0, :lo12:.LC135 + adrp x0, .LC132 + add x0, x0, :lo12:.LC132 bl printf str wzr, [x29, 180] mul w0, w22, w19 str wzr, [x29, 192] str w0, [x29, 128] - adrp x0, .LANCHOR52 - add x0, x0, :lo12:.LANCHOR52 + adrp x0, .LANCHOR51 + add x0, x0, :lo12:.LANCHOR51 str x0, [x29, 184] -.L2226: - adrp x23, .LANCHOR144 +.L2176: + adrp x23, .LANCHOR141 mov w1, 0 mov w2, 512 - ldr x0, [x23, #:lo12:.LANCHOR144] + ldr x0, [x23, #:lo12:.LANCHOR141] bl ftl_memset str x23, [x29, 160] - adrp x0, .LANCHOR27 + adrp x0, .LANCHOR6 ldr w1, [x29, 192] - ldr x0, [x0, #:lo12:.LANCHOR27] + ldr x0, [x0, #:lo12:.LANCHOR6] add x0, x0, x1, uxtw ldrb w19, [x0, 32] cmp w19, 255 - beq .L2188 + beq .L2138 ldr w0, [x29, 128] mul w19, w19, w0 ldr w0, [x29, 200] - cbz w0, .L2189 + cbz w0, .L2139 and w0, w1, -3 - adrp x10, .LANCHOR0 + adrp x24, .LANCHOR0 cmp w0, 1 - adrp x8, .LANCHOR19 - beq .L2190 + adrp x22, .LANCHOR24 + beq .L2140 ldr w0, [x29, 200] cmp w0, 3 - bne .L2191 -.L2190: + bne .L2141 +.L2140: ldrb w0, [x29, 172] - strb w0, [x10, #:lo12:.LANCHOR0] - strb w0, [x8, #:lo12:.LANCHOR19] -.L2189: - adrp x22, .LANCHOR33 - add x27, x22, :lo12:.LANCHOR33 + strb w0, [x24, #:lo12:.LANCHOR0] + strb w0, [x22, #:lo12:.LANCHOR24] +.L2139: + adrp x22, .LANCHOR32 + add x27, x22, :lo12:.LANCHOR32 ldr x0, [x29, 184] ldrb w24, [x27, 9] ldrh w25, [x27, 26] @@ -13401,15 +13219,15 @@ idb_write_data: lsl w0, w0, 2 sdiv w0, w0, w1 str w0, [x29, 156] - bne .L2241 - adrp x0, .LANCHOR28 - ldrb w0, [x0, #:lo12:.LANCHOR28] + bne .L2191 + adrp x0, .LANCHOR27 + ldrb w0, [x0, #:lo12:.LANCHOR27] cmp w0, 9 - bne .L2241 + bne .L2191 ldr x0, [x29, 160] mov w2, 1024 mov w1, 0 - ldr x25, [x0, #:lo12:.LANCHOR144] + ldr x25, [x0, #:lo12:.LANCHOR141] mov x0, x25 bl ftl_memset mov w0, 18766 @@ -13417,15 +13235,15 @@ idb_write_data: str w0, [x25] mov w0, 12 str w0, [x25, 4] - adrp x0, .LANCHOR19 + adrp x0, .LANCHOR24 strb wzr, [x25, 16] str wzr, [x25, 12] - ldrb w0, [x0, #:lo12:.LANCHOR19] - cbz w0, .L2193 + ldrb w0, [x0, #:lo12:.LANCHOR24] + cbz w0, .L2143 ldrb w0, [x27, 29] strb w0, [x25, 16] -.L2193: - add x1, x22, :lo12:.LANCHOR33 +.L2143: + add x1, x22, :lo12:.LANCHOR32 mov w0, 4 strb w0, [x25, 17] cmp w24, 8 @@ -13445,31 +13263,31 @@ idb_write_data: str w0, [x25, 8] sub w0, w20, #4 str w0, [x29, 196] -.L2192: +.L2142: adrp x27, .LANCHOR3 mov x23, x21 add x27, x27, :lo12:.LANCHOR3 - adrp x0, .LANCHOR19 + adrp x0, .LANCHOR24 mov w28, 0 - add x0, x0, :lo12:.LANCHOR19 + add x0, x0, :lo12:.LANCHOR24 str x0, [x29, 144] -.L2195: +.L2145: ldr w0, [x29, 156] cmp w0, w28 - bhi .L2206 + bhi .L2156 ldr x0, [x29, 160] - add x22, x22, :lo12:.LANCHOR33 + add x22, x22, :lo12:.LANCHOR32 mov w24, 4 mov w25, 0 mov w28, 0 - ldr x23, [x0, #:lo12:.LANCHOR144] + ldr x23, [x0, #:lo12:.LANCHOR141] ldrb w0, [x22, 9] str w0, [x29, 144] ldrh w0, [x22, 26] ldr w1, [x29, 144] mul w0, w0, w1 - adrp x1, .LANCHOR52 - strb wzr, [x1, #:lo12:.LANCHOR52] + adrp x1, .LANCHOR51 + strb wzr, [x1, #:lo12:.LANCHOR51] udiv w1, w19, w0 msub w0, w1, w0, w19 str w0, [x29, 168] @@ -13483,41 +13301,41 @@ idb_write_data: adrp x0, .LANCHOR3 add x0, x0, :lo12:.LANCHOR3 str x0, [x29, 112] -.L2207: +.L2157: ldr w0, [x29, 156] cmp w25, w0 - bcc .L2221 + bcc .L2171 ldr x0, [x29, 184] ldrb w1, [x29, 136] strb w1, [x0] ldr w0, [x29, 200] - cbz w0, .L2222 + cbz w0, .L2172 mov w0, 0 bl zftl_flash_exit_slc_mode adrp x0, .LANCHOR0 strb wzr, [x0, #:lo12:.LANCHOR0] - adrp x0, .LANCHOR19 - strb wzr, [x0, #:lo12:.LANCHOR19] -.L2222: + adrp x0, .LANCHOR24 + strb wzr, [x0, #:lo12:.LANCHOR24] +.L2172: ldr w0, [x29, 196] mov x2, 0 lsl w1, w0, 7 - adrp x0, .LANCHOR144 - ldr x0, [x0, #:lo12:.LANCHOR144] -.L2223: + adrp x0, .LANCHOR141 + ldr x0, [x0, #:lo12:.LANCHOR141] +.L2173: mov w22, w2 cmp w2, w1 - bcc .L2224 + bcc .L2174 ldr w0, [x29, 180] add w0, w0, 1 str w0, [x29, 180] cmp w0, 5 - bls .L2188 - b .L2233 -.L2180: + bls .L2138 + b .L2183 +.L2130: ldr w0, [x29, 204] cmp w0, 3 - beq .L2237 + beq .L2187 cmp w0, 2 mov w0, 2 csel w0, wzr, w0, ne @@ -13526,134 +13344,134 @@ idb_write_data: cmp w0, 2 mov w0, 3 csel w0, wzr, w0, ne - b .L2291 -.L2237: + b .L2241 +.L2187: ldr w0, [x29, 204] str w0, [x29, 172] mov w0, 2 - b .L2291 -.L2184: + b .L2241 +.L2134: ldr w5, [x21, w0, uxtw 2] str w5, [x1, 2048] - b .L2185 -.L2191: + b .L2135 +.L2141: mov w0, 0 bl zftl_flash_exit_slc_mode - strb wzr, [x10, #:lo12:.LANCHOR0] - strb wzr, [x8, #:lo12:.LANCHOR19] - b .L2189 -.L2241: + strb wzr, [x24, #:lo12:.LANCHOR0] + strb wzr, [x22, #:lo12:.LANCHOR24] + b .L2139 +.L2191: mov x25, 0 str w20, [x29, 196] - b .L2192 -.L2206: + b .L2142 +.L2156: ldr w0, [x29, 168] - adrp x2, .LANCHOR19 + adrp x2, .LANCHOR24 add w4, w0, w28 - ldrb w2, [x2, #:lo12:.LANCHOR19] + ldrb w2, [x2, #:lo12:.LANCHOR24] ubfx x4, x4, 2, 16 add w1, w4, 1 ldrh w0, [x27, w1, sxtw 1] - cbz w2, .L2197 + cbz w2, .L2147 adrp x0, .LANCHOR1 ldrb w7, [x0, #:lo12:.LANCHOR1] lsl w0, w1, 1 cmp w7, 0 csel w0, w0, w1, ne -.L2197: - adrp x1, .LANCHOR28 - ldrb w1, [x1, #:lo12:.LANCHOR28] +.L2147: + adrp x1, .LANCHOR27 + ldrb w1, [x1, #:lo12:.LANCHOR27] cmp w1, 9 - bne .L2199 -.L2292: + bne .L2149 +.L2242: str w0, [x29, 208] mov w0, 61424 str w0, [x29, 212] ldrh w0, [x27, w4, sxtw 1] - cbnz w2, .L2201 + cbnz w2, .L2151 mov w4, w0 -.L2202: +.L2152: mul w0, w24, w4 - cbnz x25, .L2203 + cbnz x25, .L2153 str w4, [x29, 152] add x2, x29, 208 mov x1, x23 add w0, w0, w26 - bl fw_flash_page_prog.constprop.30 + bl fw_flash_page_prog.constprop.29 ldr x0, [x29, 144] ldr w4, [x29, 152] ldrb w0, [x0] - cbnz w0, .L2204 + cbnz w0, .L2154 udiv w1, w26, w24 add w2, w4, 1 bl id_block_prog_msb_ff_data -.L2204: +.L2154: ldr w0, [x29, 196] add x23, x23, 2048 add w0, w0, 16 cmp w28, w0 - bcc .L2205 + bcc .L2155 ldr w0, [x29, 196] add w1, w0, 20 add x0, x21, 2048 cmp w28, w1 csel x23, x0, x23, cc -.L2205: +.L2155: add w5, w28, 4 mov x25, 0 and w28, w5, 65535 - b .L2195 -.L2199: + b .L2145 +.L2149: sub w0, w0, #1 lsl w0, w0, 2 - b .L2292 -.L2201: + b .L2242 +.L2151: adrp x0, .LANCHOR1 ldrb w1, [x0, #:lo12:.LANCHOR1] lsl w0, w4, 1 cmp w1, 0 csel w4, w0, w4, ne - b .L2202 -.L2203: + b .L2152 +.L2153: add x2, x29, 208 mov x1, x25 add w0, w0, w26 - bl fw_flash_page_prog.constprop.30 - b .L2205 -.L2221: + bl fw_flash_page_prog.constprop.29 + b .L2155 +.L2171: ldr w0, [x29, 160] - adrp x1, .LANCHOR19 + adrp x1, .LANCHOR24 sub w27, w24, w0 ldr w0, [x29, 168] - ldrb w1, [x1, #:lo12:.LANCHOR19] + ldrb w1, [x1, #:lo12:.LANCHOR24] and w27, w27, 65535 add w22, w0, w25 ldr x0, [x29, 112] udiv w22, w22, w24 and w22, w22, 65535 ldrh w0, [x0, w22, sxtw 1] - cbnz w1, .L2208 + cbnz w1, .L2158 mov w22, w0 -.L2209: - adrp x0, .LANCHOR17 +.L2159: + adrp x0, .LANCHOR22 ldr w1, [x29, 152] - ldrb w26, [x0, #:lo12:.LANCHOR17] + ldrb w26, [x0, #:lo12:.LANCHOR22] ldr w0, [x29, 160] add w0, w0, w1 ldr w1, [x29, 144] madd w22, w1, w22, w0 - adrp x0, .LANCHOR33+9 - ldrb w0, [x0, #:lo12:.LANCHOR33+9] + adrp x0, .LANCHOR32+9 + ldrb w0, [x0, #:lo12:.LANCHOR32+9] udiv w22, w22, w0 - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] str w0, [x29, 132] mov w0, w26 bl nandc_bch_sel - adrp x0, .LANCHOR21 - add x0, x0, :lo12:.LANCHOR21 + adrp x0, .LANCHOR26 + add x0, x0, :lo12:.LANCHOR26 str x0, [x29, 120] -.L2210: +.L2160: mov w4, w24 add x3, x29, 208 mov x2, x23 @@ -13662,33 +13480,33 @@ idb_write_data: bl flash_read_page mov w5, w0 cmn w0, #1 - bne .L2211 + bne .L2161 ldr x0, [x29, 184] ldrb w6, [x0] - cbnz w6, .L2212 -.L2215: - adrp x0, .LANCHOR174 - ldr x6, [x0, #:lo12:.LANCHOR174] - cbnz x6, .L2213 -.L2214: + cbnz w6, .L2162 +.L2165: + adrp x0, .LANCHOR171 + ldr x6, [x0, #:lo12:.LANCHOR171] + cbnz x6, .L2163 +.L2164: ldr x0, [x29, 120] ldrb w0, [x0] - cbz w0, .L2211 + cbz w0, .L2161 mov w4, w24 add x3, x29, 208 mov x2, x23 mov w1, w22 mov w0, 0 bl flash_ddr_tuning_read - b .L2293 -.L2208: + b .L2243 +.L2158: adrp x0, .LANCHOR1 ldrb w1, [x0, #:lo12:.LANCHOR1] lsl w0, w22, 1 cmp w1, 0 csel w22, w0, w22, ne - b .L2209 -.L2212: + b .L2159 +.L2162: ldr x0, [x29, 184] mov w1, w22 stp w6, w5, [x29, 104] @@ -13702,21 +13520,21 @@ idb_write_data: ldr x1, [x29, 184] ldp w6, w5, [x29, 104] strb w6, [x1] - beq .L2215 -.L2293: + beq .L2165 +.L2243: mov w5, w0 -.L2211: +.L2161: cmn w5, #1 cset w4, eq cmp w26, 16 cset w0, ne tst w4, w0 - beq .L2217 + beq .L2167 mov w0, 16 mov w26, 16 bl nandc_bch_sel - b .L2210 -.L2213: + b .L2160 +.L2163: str w5, [x29, 108] mov w4, w24 add x3, x29, 208 @@ -13726,9 +13544,9 @@ idb_write_data: blr x6 cmn w0, #1 ldr w5, [x29, 108] - beq .L2214 - b .L2293 -.L2217: + beq .L2164 + b .L2243 +.L2167: ldr w0, [x29, 132] bl nandc_bch_sel cmp w4, 0 @@ -13736,95 +13554,95 @@ idb_write_data: csinv w28, w28, wzr, eq cmp w25, 0 ccmp w19, w0, 0, eq - bne .L2219 - cbnz w28, .L2219 + bne .L2169 + cbnz w28, .L2169 ldr w1, [x23] mov w0, 18766 movk w0, 0x464e, lsl 16 cmp w1, w0 - bne .L2219 + bne .L2169 ldr w0, [x29, 156] ldrb w24, [x23, 17] add w0, w0, w27 str w0, [x29, 156] -.L2220: +.L2170: add w25, w27, w25 and w25, w25, 65535 - b .L2207 -.L2219: + b .L2157 +.L2169: ubfiz x0, x27, 9, 16 str wzr, [x29, 160] add x23, x23, x0 - b .L2220 -.L2224: + b .L2170 +.L2174: ldr w4, [x0, x2, lsl 2] add x2, x2, 1 add x3, x21, x2, lsl 2 ldr w3, [x3, -4] cmp w4, w3 - beq .L2223 + beq .L2173 mov w2, 512 mov w1, 0 bl ftl_memset mov w1, w22 - adrp x0, .LC136 - add x0, x0, :lo12:.LC136 + adrp x0, .LC133 + add x0, x0, :lo12:.LC133 bl printf mov w1, w19 mov w0, 0 bl flash_erase_block -.L2188: +.L2138: ldr w0, [x29, 192] add w0, w0, 1 str w0, [x29, 192] cmp w0, 4 - bne .L2226 -.L2233: + bne .L2176 +.L2183: mov w0, 0 bl zftl_flash_exit_slc_mode adrp x0, .LANCHOR0 ldrb w1, [x29, 176] strb w1, [x0, #:lo12:.LANCHOR0] ldr w0, [x29, 200] - cbz w0, .L2227 - adrp x0, .LANCHOR19 + cbz w0, .L2177 + adrp x0, .LANCHOR24 ldrb w1, [x29, 204] - strb w1, [x0, #:lo12:.LANCHOR19] -.L2227: + strb w1, [x0, #:lo12:.LANCHOR24] +.L2177: mov w1, 2 - adrp x0, .LANCHOR34 - strb w1, [x0, #:lo12:.LANCHOR34] + adrp x0, .LANCHOR33 + strb w1, [x0, #:lo12:.LANCHOR33] mov w0, 0 bl zftl_flash_enter_slc_mode ldr w0, [x29, 180] - cbnz w0, .L2179 - adrp x0, .LC137 + cbnz w0, .L2129 + adrp x0, .LC134 mov w1, 0 - add x0, x0, :lo12:.LC137 + add x0, x0, :lo12:.LC134 bl printf +.L2129: + adrp x0, .LANCHOR139 + adrp x19, .LANCHOR138 + str wzr, [x0, #:lo12:.LANCHOR139] + adrp x0, .LANCHOR140 + strb wzr, [x0, #:lo12:.LANCHOR140] + ldr x0, [x19, #:lo12:.LANCHOR138] + cbz x0, .L2179 + bl free + str xzr, [x19, #:lo12:.LANCHOR138] .L2179: - adrp x0, .LANCHOR142 adrp x19, .LANCHOR141 - str wzr, [x0, #:lo12:.LANCHOR142] - adrp x0, .LANCHOR143 - strb wzr, [x0, #:lo12:.LANCHOR143] ldr x0, [x19, #:lo12:.LANCHOR141] - cbz x0, .L2229 + cbz x0, .L2181 bl free str xzr, [x19, #:lo12:.LANCHOR141] -.L2229: - adrp x19, .LANCHOR144 - ldr x0, [x19, #:lo12:.LANCHOR144] - cbz x0, .L2231 - bl free - str xzr, [x19, #:lo12:.LANCHOR144] -.L2231: - adrp x0, .LANCHOR177 +.L2181: + adrp x0, .LANCHOR174 ldr w1, [x29, 140] - str w1, [x0, #:lo12:.LANCHOR177] -.L2235: + str w1, [x0, #:lo12:.LANCHOR174] +.L2185: mov w0, 0 -.L2166: +.L2116: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -13842,43 +13660,43 @@ flash_start_tlc_page_prog: add x29, sp, 0 stp x25, x26, [sp, 64] and w25, w0, 255 - adrp x0, .LANCHOR18 + adrp x0, .LANCHOR23 stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] and w21, w1, 255 stp x23, x24, [sp, 48] and w26, w3, 255 - ldrb w1, [x0, #:lo12:.LANCHOR18] + ldrb w1, [x0, #:lo12:.LANCHOR23] and w22, w2, 255 mov w20, w4 mov x23, x5 mov x24, x6 cmp w1, w26 mov x19, x0 - bhi .L2296 - adrp x1, .LANCHOR178 + bhi .L2246 + adrp x1, .LANCHOR175 adrp x0, .LC0 - mov w2, 859 - add x1, x1, :lo12:.LANCHOR178 + mov w2, 868 + add x1, x1, :lo12:.LANCHOR175 add x0, x0, :lo12:.LC0 bl printf -.L2296: - ldrb w0, [x19, #:lo12:.LANCHOR18] +.L2246: + ldrb w0, [x19, #:lo12:.LANCHOR23] cmp w0, w26 - bls .L2295 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 + bls .L2245 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 ldrb w5, [x0, w26, sxtw] - adrp x0, .LANCHOR13 - ldr x19, [x0, #:lo12:.LANCHOR13] + adrp x0, .LANCHOR7 + ldr x19, [x0, #:lo12:.LANCHOR7] mov w0, w5 bl nandc_cs - cbz w25, .L2298 + cbz w25, .L2248 sxtw x0, w5 add x0, x0, 8 add x0, x19, x0, lsl 8 str w25, [x0, 8] -.L2298: +.L2248: ubfiz x0, x5, 8, 8 add x19, x19, x0 mov w0, 128 @@ -13896,11 +13714,11 @@ flash_start_tlc_page_prog: sub w0, w20, #1 add w0, w0, w21 bl nandc_set_seed - adrp x0, .LANCHOR33+9 + adrp x0, .LANCHOR32+9 mov x4, x24 mov x3, x23 mov w1, 1 - ldrb w2, [x0, #:lo12:.LANCHOR33+9] + ldrb w2, [x0, #:lo12:.LANCHOR32+9] mov w0, w5 bl nandc_xfer ldp x23, x24, [sp, 48] @@ -13909,8 +13727,8 @@ flash_start_tlc_page_prog: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 80 - b nandc_de_cs.constprop.33 -.L2295: + b nandc_de_cs.constprop.32 +.L2245: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -13928,25 +13746,25 @@ queue_tlc_prog_cmd: stp x21, x22, [sp, 32] mov x21, x0 ldr x7, [x0] - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 mov w22, 1 stp x19, x20, [sp, 16] - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] str x23, [sp, 48] mov w23, w1 sub w2, w2, w0 ldr w1, [x7, 40] lsl w19, w22, w0 - adrp x0, .LANCHOR37 + adrp x0, .LANCHOR36 lsl w20, w22, w2 sub w19, w19, #1 - ldrb w0, [x0, #:lo12:.LANCHOR37] + ldrb w0, [x0, #:lo12:.LANCHOR36] sub w20, w20, #1 and w20, w20, w1 lsr w1, w1, w2 and w19, w19, w1 and w19, w19, 255 - cbz w0, .L2304 + cbz w0, .L2254 mov w0, w19 bl zftl_flash_exit_slc_mode ldr x0, [x21] @@ -13978,8 +13796,8 @@ queue_tlc_prog_cmd: ldr x6, [x0, 24] mov w0, 0 bl flash_start_one_pass_page_prog -.L2305: - cbz w23, .L2303 +.L2255: + cbz w23, .L2253 ldr x1, [x21] mov w0, 4 strb w0, [x1, 58] @@ -13987,14 +13805,14 @@ queue_tlc_prog_cmd: strb w0, [x1, 59] mov w0, -1 strb w0, [x1] - adrp x0, .LANCHOR60 - add x0, x0, :lo12:.LANCHOR60 + adrp x0, .LANCHOR59 + add x0, x0, :lo12:.LANCHOR59 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldr x23, [sp, 48] ldp x29, x30, [sp], 64 b buf_add_tail -.L2304: +.L2254: ldr x5, [x7, 8] mov w4, w20 ldr x6, [x7, 24] @@ -14024,8 +13842,8 @@ queue_tlc_prog_cmd: ldr x6, [x0, 24] ldrb w0, [x7, 60] bl flash_start_tlc_page_prog - b .L2305 -.L2303: + b .L2255 +.L2253: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldr x23, [sp, 48] @@ -14043,22 +13861,22 @@ sblk_3d_tlc_dump_prog: stp x19, x20, [sp, 16] mov x20, x0 ldr w1, [x0, 40] - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 stp x21, x22, [sp, 32] mov w22, 1 - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] sub w2, w2, w0 lsl w19, w22, w0 - adrp x0, .LANCHOR37 + adrp x0, .LANCHOR36 lsl w21, w22, w2 sub w19, w19, #1 - ldrb w0, [x0, #:lo12:.LANCHOR37] + ldrb w0, [x0, #:lo12:.LANCHOR36] sub w21, w21, #1 and w21, w21, w1 lsr w1, w1, w2 and w19, w19, w1 and w19, w19, 255 - cbz w0, .L2309 + cbz w0, .L2259 mov w0, w19 bl zftl_flash_exit_slc_mode ldr x5, [x20, 8] @@ -14087,7 +13905,7 @@ sblk_3d_tlc_dump_prog: mov w1, w22 mov w0, 0 bl flash_start_one_pass_page_prog -.L2310: +.L2260: bl nandc_wait_flash_ready ldr w0, [x20, 40] mov w1, 64 @@ -14095,7 +13913,7 @@ sblk_3d_tlc_dump_prog: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 48 b flash_wait_device_ready -.L2309: +.L2259: ldr x5, [x20, 8] mov w4, w21 ldr x6, [x20, 24] @@ -14122,7 +13940,7 @@ sblk_3d_tlc_dump_prog: mov w1, 3 mov w0, 0 bl flash_start_tlc_page_prog - b .L2310 + b .L2260 .size sblk_3d_tlc_dump_prog, .-sblk_3d_tlc_dump_prog .section .text.flash_start_3d_mlc_page_prog,"ax",@progbits .align 2 @@ -14133,32 +13951,32 @@ flash_start_3d_mlc_page_prog: add x29, sp, 0 stp x21, x22, [sp, 32] and w21, w0, 255 - adrp x0, .LANCHOR18 + adrp x0, .LANCHOR23 stp x19, x20, [sp, 16] stp x23, x24, [sp, 48] and w24, w1, 255 - ldrb w1, [x0, #:lo12:.LANCHOR18] + ldrb w1, [x0, #:lo12:.LANCHOR23] mov w20, w2 mov x22, x3 mov x23, x4 cmp w1, w24 mov x19, x0 - bhi .L2313 - adrp x1, .LANCHOR179 + bhi .L2263 + adrp x1, .LANCHOR176 adrp x0, .LC0 - mov w2, 892 - add x1, x1, :lo12:.LANCHOR179 + mov w2, 903 + add x1, x1, :lo12:.LANCHOR176 add x0, x0, :lo12:.LC0 bl printf -.L2313: - ldrb w0, [x19, #:lo12:.LANCHOR18] +.L2263: + ldrb w0, [x19, #:lo12:.LANCHOR23] cmp w0, w24 - bls .L2312 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 + bls .L2262 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 ldrb w5, [x0, w24, sxtw] - adrp x0, .LANCHOR13 - ldr x19, [x0, #:lo12:.LANCHOR13] + adrp x0, .LANCHOR7 + ldr x19, [x0, #:lo12:.LANCHOR7] mov w0, w5 bl nandc_cs ubfiz x0, x5, 8, 8 @@ -14175,15 +13993,15 @@ flash_start_3d_mlc_page_prog: str w0, [x19, 2052] mov w0, w20 bl nandc_set_seed - adrp x0, .LANCHOR33+9 + adrp x0, .LANCHOR32+9 mov x4, x23 mov x3, x22 mov w1, 1 - ldrb w2, [x0, #:lo12:.LANCHOR33+9] + ldrb w2, [x0, #:lo12:.LANCHOR32+9] mov w0, w5 bl nandc_xfer str w21, [x19, 2056] -.L2312: +.L2262: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -14201,9 +14019,9 @@ sblk_mlc_dump_prog: stp x19, x20, [sp, 16] mov x20, x0 ldr w1, [x0, 40] - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 str x21, [sp, 32] - ldrb w19, [x0, #:lo12:.LANCHOR32] + ldrb w19, [x0, #:lo12:.LANCHOR31] mov w0, 1 sub w2, w2, w19 lsl w19, w0, w19 @@ -14216,16 +14034,16 @@ sblk_mlc_dump_prog: and w19, w19, 255 mov w0, w19 bl zftl_flash_exit_slc_mode - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L2317 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L2267 ldr w2, [x20, 40] - adrp x0, .LC138 + adrp x0, .LC135 mov w1, w21 - add x0, x0, :lo12:.LC138 + add x0, x0, :lo12:.LC135 add w3, w2, 1 bl printf -.L2317: +.L2267: ldr x3, [x20, 8] mov w2, w21 ldr x4, [x20, 24] @@ -14244,7 +14062,7 @@ sblk_mlc_dump_prog: mov w1, 64 bl flash_wait_device_ready mov w2, w0 - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 ldr x21, [sp, 32] mov w0, w2 ldp x19, x20, [sp, 16] @@ -14260,68 +14078,68 @@ flash_start_page_prog: add x29, sp, 0 stp x21, x22, [sp, 32] and w21, w0, 255 - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 stp x19, x20, [sp, 16] stp x25, x26, [sp, 64] mov w19, 24 - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] mov w20, 1 str x27, [sp, 80] - adrp x27, .LANCHOR18 + adrp x27, .LANCHOR23 sub w25, w19, w0 stp x23, x24, [sp, 48] lsl w20, w20, w0 sub w20, w20, #1 lsr w0, w1, w25 and w20, w20, w0 - ldrb w0, [x27, #:lo12:.LANCHOR18] + ldrb w0, [x27, #:lo12:.LANCHOR23] and w20, w20, 255 mov w24, w1 mov x22, x2 mov x23, x3 cmp w0, w20 - bhi .L2323 - adrp x1, .LANCHOR180 + bhi .L2273 + adrp x1, .LANCHOR177 adrp x0, .LC0 - mov w2, 945 - add x1, x1, :lo12:.LANCHOR180 + mov w2, 956 + add x1, x1, :lo12:.LANCHOR177 add x0, x0, :lo12:.LC0 bl printf -.L2323: - ldrb w0, [x27, #:lo12:.LANCHOR18] +.L2273: + ldrb w0, [x27, #:lo12:.LANCHOR23] cmp w0, w20 - bls .L2322 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 + bls .L2272 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 mov w19, 1 lsl w19, w19, w25 sub w19, w19, #1 ldrb w26, [x0, w20, sxtw] - adrp x0, .LANCHOR13 + adrp x0, .LANCHOR7 and w19, w19, w24 - ldr x25, [x0, #:lo12:.LANCHOR13] + ldr x25, [x0, #:lo12:.LANCHOR7] bl nandc_rdy_status - cbnz w0, .L2325 - ldrb w0, [x27, #:lo12:.LANCHOR18] + cbnz w0, .L2275 + ldrb w0, [x27, #:lo12:.LANCHOR23] cmp w0, 1 - bne .L2326 + bne .L2276 bl nandc_wait_flash_ready -.L2325: +.L2275: mov w0, w26 bl hynix_reconfig_rr_para mov w0, w26 bl nandc_cs tst x24, 50331648 - bne .L2327 + bne .L2277 mov w0, w19 bl slc_phy_page_address_calc mov w19, w0 adrp x0, .LANCHOR0 ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L2328 + cbz w0, .L2278 mov w0, w26 bl zftl_flash_enter_slc_mode -.L2328: +.L2278: ubfiz x20, x26, 8, 8 mov w0, 128 add x20, x25, x20 @@ -14334,19 +14152,19 @@ flash_start_page_prog: str w0, [x20, 2052] lsr w0, w19, 16 str w0, [x20, 2052] - adrp x0, .LANCHOR31 - ldrb w0, [x0, #:lo12:.LANCHOR31] - cbz w0, .L2329 + adrp x0, .LANCHOR30 + ldrb w0, [x0, #:lo12:.LANCHOR30] + cbz w0, .L2279 lsr w0, w19, 24 str w0, [x20, 2052] -.L2329: +.L2279: mov w0, w19 bl nandc_set_seed - adrp x0, .LANCHOR33+9 + adrp x0, .LANCHOR32+9 mov x4, x23 mov x3, x22 mov w1, 1 - ldrb w2, [x0, #:lo12:.LANCHOR33+9] + ldrb w2, [x0, #:lo12:.LANCHOR32+9] mov w0, w26 bl nandc_xfer ldr x27, [sp, 80] @@ -14356,18 +14174,18 @@ flash_start_page_prog: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 96 - b nandc_de_cs.constprop.33 -.L2326: + b nandc_de_cs.constprop.32 +.L2276: mov w2, 64 mov w1, w19 mov w0, w20 bl flash_wait_device_ready_raw - b .L2325 -.L2327: + b .L2275 +.L2277: mov w0, w26 bl zftl_flash_exit_slc_mode - b .L2328 -.L2322: + b .L2278 +.L2272: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -14389,16 +14207,16 @@ queue_prog_cmd: mov x19, x0 mov w0, 16 bl flash_start_page_prog - adrp x0, .LANCHOR60 + adrp x0, .LANCHOR59 ldr w3, [x19, 40] - ldrb w1, [x0, #:lo12:.LANCHOR60] + ldrb w1, [x0, #:lo12:.LANCHOR59] cmp w1, 255 - beq .L2338 - adrp x2, .LANCHOR32 + beq .L2288 + adrp x2, .LANCHOR31 mov w5, 24 - adrp x6, .LANCHOR56 - add x6, x6, :lo12:.LANCHOR56 - ldrb w4, [x2, #:lo12:.LANCHOR32] + adrp x6, .LANCHOR55 + add x6, x6, :lo12:.LANCHOR55 + ldrb w4, [x2, #:lo12:.LANCHOR31] mov w2, 1 mov x8, x6 sub w5, w5, w4 @@ -14407,19 +14225,19 @@ queue_prog_cmd: and w2, w2, 65535 asr w3, w3, w5 and w3, w3, w2 -.L2340: +.L2290: add x7, x6, x1, lsl 6 ldr w4, [x7, 40] lsr w4, w4, w5 and w4, w2, w4 cmp w3, w4 - bne .L2339 + bne .L2289 ldrb w4, [x7, 58] cmp w4, 7 - bne .L2339 + bne .L2289 mov w1, 3 strb w1, [x7, 58] -.L2338: +.L2288: mov w1, 3 strb w1, [x19, 58] mov w1, 1 @@ -14427,16 +14245,16 @@ queue_prog_cmd: mov w1, -1 strb w1, [x19] mov x1, x19 - add x0, x0, :lo12:.LANCHOR60 + add x0, x0, :lo12:.LANCHOR59 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 b buf_add_tail -.L2339: +.L2289: lsl x1, x1, 6 ldrb w1, [x8, x1] cmp w1, 255 - bne .L2340 - b .L2338 + bne .L2290 + b .L2288 .size queue_prog_cmd, .-queue_prog_cmd .section .text.flash_complete_plane_page_read,"ax",@progbits .align 2 @@ -14448,11 +14266,11 @@ flash_complete_plane_page_read: add x29, sp, 0 stp x23, x24, [sp, 48] mov w24, w0 - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 stp x21, x22, [sp, 32] stp x19, x20, [sp, 16] mov w19, 1 - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] mov x20, x1 mov x21, x2 sub w22, w4, w0 @@ -14460,128 +14278,128 @@ flash_complete_plane_page_read: sub w19, w19, #1 lsr w0, w24, w22 and w19, w19, w0 - adrp x0, .LANCHOR18 + adrp x0, .LANCHOR23 and w19, w19, 255 mov x23, x0 - ldrb w1, [x0, #:lo12:.LANCHOR18] + ldrb w1, [x0, #:lo12:.LANCHOR23] cmp w1, w19 - bhi .L2347 - adrp x1, .LANCHOR181 + bhi .L2297 + adrp x1, .LANCHOR178 adrp x0, .LC0 - mov w2, 1055 - add x1, x1, :lo12:.LANCHOR181 + mov w2, 1070 + add x1, x1, :lo12:.LANCHOR178 add x0, x0, :lo12:.LC0 bl printf -.L2347: - ldrb w0, [x23, #:lo12:.LANCHOR18] +.L2297: + ldrb w0, [x23, #:lo12:.LANCHOR23] cmp w0, w19 - bls .L2358 - adrp x2, .LANCHOR30 - add x2, x2, :lo12:.LANCHOR30 - adrp x0, .LANCHOR13 + bls .L2308 + adrp x2, .LANCHOR29 + add x2, x2, :lo12:.LANCHOR29 + adrp x0, .LANCHOR7 mov w4, 1 lsl w4, w4, w22 sub w4, w4, #1 ldrb w8, [x2, w19, sxtw] and w4, w4, w24 - ldr x7, [x0, #:lo12:.LANCHOR13] + ldr x7, [x0, #:lo12:.LANCHOR7] ubfx x24, x24, 24, 2 mov w0, w8 bl nandc_cs - cbnz w24, .L2349 + cbnz w24, .L2299 mov w0, w4 bl slc_phy_page_address_calc mov w4, w0 -.L2349: - adrp x0, .LANCHOR20+16 +.L2299: + adrp x0, .LANCHOR25+16 and x1, x8, 255 and w6, w4, 255 lsr w5, w4, 8 - ldrb w0, [x0, #:lo12:.LANCHOR20+16] + ldrb w0, [x0, #:lo12:.LANCHOR25+16] lsr w3, w4, 16 - adrp x2, .LANCHOR31 + adrp x2, .LANCHOR30 cmp w0, 1 - adrp x0, .LANCHOR16 - bne .L2350 + adrp x0, .LANCHOR21 + bne .L2300 add x1, x7, x1, lsl 8 mov w7, 6 -.L2376: +.L2326: str w7, [x1, 2056] str wzr, [x1, 2052] str wzr, [x1, 2052] str w6, [x1, 2052] str w5, [x1, 2052] str w3, [x1, 2052] - ldrb w2, [x2, #:lo12:.LANCHOR31] - cbz w2, .L2372 + ldrb w2, [x2, #:lo12:.LANCHOR30] + cbz w2, .L2322 lsr w2, w4, 24 str w2, [x1, 2052] -.L2372: - ldr x0, [x0, #:lo12:.LANCHOR16] +.L2322: + ldr x0, [x0, #:lo12:.LANCHOR21] mov w2, 224 str w2, [x1, 2056] ldrb w0, [x0, 12] cmp w0, 3 - bne .L2356 - cbz w24, .L2356 + bne .L2306 + cbz w24, .L2306 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L2306 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L2356 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbnz w0, .L2356 + cbnz w0, .L2306 add w4, w4, w4, lsl 1 sub w0, w24, #1 add w0, w4, w0 -.L2373: +.L2323: bl nandc_set_seed - adrp x0, .LANCHOR33+9 + adrp x0, .LANCHOR32+9 mov x4, x21 mov x3, x20 mov w1, 0 - ldrb w2, [x0, #:lo12:.LANCHOR33+9] + ldrb w2, [x0, #:lo12:.LANCHOR32+9] mov w0, w8 bl nandc_xfer mov w2, w0 - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 mov w0, w2 -.L2346: +.L2296: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 64 ret -.L2350: - ldr x10, [x0, #:lo12:.LANCHOR16] +.L2300: + ldr x10, [x0, #:lo12:.LANCHOR21] add x1, x7, x1, lsl 8 ldrb w10, [x10, 12] cmp w10, 3 - bne .L2353 + bne .L2303 mov w7, 5 - b .L2376 -.L2353: + b .L2326 +.L2303: str wzr, [x1, 2056] str wzr, [x1, 2052] str wzr, [x1, 2052] str w6, [x1, 2052] - ldrb w2, [x2, #:lo12:.LANCHOR31] + ldrb w2, [x2, #:lo12:.LANCHOR30] str w5, [x1, 2052] str w3, [x1, 2052] - cbz w2, .L2355 + cbz w2, .L2305 lsr w2, w4, 24 str w2, [x1, 2052] -.L2355: +.L2305: mov w2, 5 str w2, [x1, 2056] str wzr, [x1, 2052] str wzr, [x1, 2052] - b .L2372 -.L2356: + b .L2322 +.L2306: mov w0, w4 - b .L2373 -.L2358: + b .L2323 +.L2308: mov w0, -1 - b .L2346 + b .L2296 .size flash_complete_plane_page_read, .-flash_complete_plane_page_read .section .text.flash_complete_page_read,"ax",@progbits .align 2 @@ -14592,11 +14410,11 @@ flash_complete_page_read: add x29, sp, 0 stp x21, x22, [sp, 32] mov w21, w0 - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 stp x19, x20, [sp, 16] mov x22, x1 mov w1, 24 - ldrb w20, [x0, #:lo12:.LANCHOR32] + ldrb w20, [x0, #:lo12:.LANCHOR31] mov w0, 1 stp x23, x24, [sp, 48] mov x23, x2 @@ -14605,73 +14423,73 @@ flash_complete_page_read: lsl w20, w0, w20 sub w20, w20, #1 lsl w19, w0, w1 - adrp x0, .LANCHOR18 + adrp x0, .LANCHOR23 lsr w1, w21, w1 stp x27, x28, [sp, 80] and w20, w20, w1 - ldrb w0, [x0, #:lo12:.LANCHOR18] + ldrb w0, [x0, #:lo12:.LANCHOR23] sub w19, w19, #1 and w20, w20, 255 and w19, w19, w21 ubfx x24, x21, 24, 2 cmp w0, w20 - bhi .L2378 - adrp x1, .LANCHOR182 + bhi .L2328 + adrp x1, .LANCHOR179 adrp x0, .LC0 - mov w2, 1212 - add x1, x1, :lo12:.LANCHOR182 + mov w2, 1232 + add x1, x1, :lo12:.LANCHOR179 add x0, x0, :lo12:.LC0 bl printf -.L2378: - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 +.L2328: + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 ldrb w25, [x0, w20, sxtw] - adrp x0, .LANCHOR13 - ldr x4, [x0, #:lo12:.LANCHOR13] + adrp x0, .LANCHOR7 + ldr x4, [x0, #:lo12:.LANCHOR7] mov w0, w25 bl nandc_cs - cbnz w24, .L2379 + cbnz w24, .L2329 mov w0, w19 bl slc_phy_page_address_calc mov w19, w0 -.L2379: +.L2329: + adrp x20, .LANCHOR32 + add x0, x20, :lo12:.LANCHOR32 + ldrb w0, [x0, 12] + cmp w0, 3 + bne .L2330 ubfiz x0, x25, 8, 8 mov w1, 5 add x0, x4, x0 - adrp x20, .LANCHOR33 str w1, [x0, 2056] - add x1, x20, :lo12:.LANCHOR33 - str wzr, [x0, 2052] - str wzr, [x0, 2052] - ldrb w1, [x1, 12] - cmp w1, 3 - bne .L2380 and w1, w19, 255 + str wzr, [x0, 2052] + str wzr, [x0, 2052] str w1, [x0, 2052] lsr w1, w19, 8 str w1, [x0, 2052] lsr w1, w19, 16 str w1, [x0, 2052] -.L2380: mov w1, 224 str w1, [x0, 2056] - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L2330: + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w0, [x0, 12] cmp w0, 3 - bne .L2381 - cbz w24, .L2381 + bne .L2331 + cbz w24, .L2331 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L2331 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L2381 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbnz w0, .L2381 + cbnz w0, .L2331 sub w0, w24, #1 add w1, w19, w19, lsl 1 add w0, w0, w1 -.L2408: - add x28, x20, :lo12:.LANCHOR33 +.L2358: + add x28, x20, :lo12:.LANCHOR32 bl nandc_set_seed mov x4, x23 mov x3, x22 @@ -14680,36 +14498,36 @@ flash_complete_page_read: ldrb w2, [x28, 9] bl nandc_xfer cmn w0, #1 - bne .L2383 - adrp x26, .LANCHOR52 - ldrb w27, [x26, #:lo12:.LANCHOR52] - cbz w27, .L2384 + bne .L2333 + adrp x26, .LANCHOR51 + ldrb w27, [x26, #:lo12:.LANCHOR51] + cbz w27, .L2334 ldrb w4, [x28, 9] mov x3, x23 - strb wzr, [x26, #:lo12:.LANCHOR52] + strb wzr, [x26, #:lo12:.LANCHOR51] mov x2, x22 orr w1, w19, w24, lsl 24 mov w0, w25 bl flash_read_page - strb w27, [x26, #:lo12:.LANCHOR52] - cbnz w24, .L2385 -.L2390: + strb w27, [x26, #:lo12:.LANCHOR51] + cbnz w24, .L2335 +.L2340: adrp x1, .LANCHOR0 ldrb w1, [x1, #:lo12:.LANCHOR0] - cbz w1, .L2385 - adrp x1, .LANCHOR50 - ldrb w1, [x1, #:lo12:.LANCHOR50] + cbz w1, .L2335 + adrp x1, .LANCHOR49 + ldrb w1, [x1, #:lo12:.LANCHOR49] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - blt .L2385 - add x20, x20, :lo12:.LANCHOR33 + blt .L2335 + add x20, x20, :lo12:.LANCHOR32 ldrb w1, [x20, 19] sub w1, w1, #4 and w1, w1, 255 cmp w1, 4 mov w1, 256 csel w0, w0, w1, hi -.L2377: +.L2327: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -14717,32 +14535,32 @@ flash_complete_page_read: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 96 ret -.L2381: +.L2331: mov w0, w19 - b .L2408 -.L2385: + b .L2358 +.L2335: cmn w0, #1 - bne .L2377 -.L2391: - adrp x0, .LANCHOR174 - ldr x5, [x0, #:lo12:.LANCHOR174] - cbnz x5, .L2387 -.L2389: - adrp x0, .LANCHOR52 + bne .L2327 +.L2341: + adrp x0, .LANCHOR171 + ldr x5, [x0, #:lo12:.LANCHOR171] + cbnz x5, .L2337 +.L2339: + adrp x0, .LANCHOR51 mov w3, -1 mov w2, w21 mov w1, 0 - ldrb w4, [x0, #:lo12:.LANCHOR52] - adrp x0, .LC139 - add x0, x0, :lo12:.LC139 + ldrb w4, [x0, #:lo12:.LANCHOR51] + adrp x0, .LC136 + add x0, x0, :lo12:.LC136 bl printf - adrp x0, .LANCHOR21 - ldrb w0, [x0, #:lo12:.LANCHOR21] - cbnz w0, .L2388 + adrp x0, .LANCHOR26 + ldrb w0, [x0, #:lo12:.LANCHOR26] + cbnz w0, .L2338 mov w0, -1 - b .L2377 -.L2387: - add x0, x20, :lo12:.LANCHOR33 + b .L2327 +.L2337: + add x0, x20, :lo12:.LANCHOR32 mov x3, x23 mov x2, x22 orr w1, w19, w24, lsl 24 @@ -14750,10 +14568,10 @@ flash_complete_page_read: mov w0, w25 blr x5 cmn w0, #1 - beq .L2389 - b .L2377 -.L2388: - add x20, x20, :lo12:.LANCHOR33 + beq .L2339 + b .L2327 +.L2338: + add x20, x20, :lo12:.LANCHOR32 orr w1, w19, w24, lsl 24 mov x3, x23 mov x2, x22 @@ -14766,80 +14584,77 @@ flash_complete_page_read: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 96 b flash_ddr_tuning_read -.L2384: - cbz w24, .L2390 - b .L2391 -.L2383: - cbnz w24, .L2377 - b .L2390 +.L2334: + cbz w24, .L2340 + b .L2341 +.L2333: + cbnz w24, .L2327 + b .L2340 .size flash_complete_page_read, .-flash_complete_page_read .section .text.queue_wait_first_req_completed,"ax",@progbits .align 2 .type queue_wait_first_req_completed, %function queue_wait_first_req_completed: stp x29, x30, [sp, -96]! - adrp x0, .LANCHOR60 + adrp x0, .LANCHOR59 add x29, sp, 0 stp x19, x20, [sp, 16] - ldrb w0, [x0, #:lo12:.LANCHOR60] + ldrb w0, [x0, #:lo12:.LANCHOR59] stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] cmp w0, 255 stp x25, x26, [sp, 64] str x27, [sp, 80] - bne .L2410 -.L2443: + bne .L2360 +.L2393: mov w21, 0 - b .L2409 -.L2410: - adrp x19, .LANCHOR56 + b .L2359 +.L2360: + adrp x19, .LANCHOR55 sxtw x20, w0 - add x1, x19, :lo12:.LANCHOR56 + add x1, x19, :lo12:.LANCHOR55 add x1, x1, x20, lsl 6 ldrb w2, [x1, 58] ldr w21, [x1, 40] sub w3, w2, #1 cmp w3, 10 - bhi .L2443 - adrp x1, .L2413 - add x1, x1, :lo12:.L2413 + bhi .L2393 + adrp x1, .L2363 + add x1, x1, :lo12:.L2363 ldrh w1, [x1,w3,uxtw #1] - adr x3, .Lrtx2413 + adr x3, .Lrtx2363 add x1, x3, w1, sxth #2 br x1 -.Lrtx2413: +.Lrtx2363: .section .rodata.queue_wait_first_req_completed,"a",@progbits .align 0 .align 2 -.L2413: - .2byte (.L2412 - .Lrtx2413) / 4 - .2byte (.L2414 - .Lrtx2413) / 4 - .2byte (.L2415 - .Lrtx2413) / 4 - .2byte (.L2415 - .Lrtx2413) / 4 - .2byte (.L2415 - .Lrtx2413) / 4 - .2byte (.L2415 - .Lrtx2413) / 4 - .2byte (.L2416 - .Lrtx2413) / 4 - .2byte (.L2417 - .Lrtx2413) / 4 - .2byte (.L2418 - .Lrtx2413) / 4 - .2byte (.L2415 - .Lrtx2413) / 4 - .2byte (.L2418 - .Lrtx2413) / 4 +.L2363: + .2byte (.L2362 - .Lrtx2363) / 4 + .2byte (.L2364 - .Lrtx2363) / 4 + .2byte (.L2365 - .Lrtx2363) / 4 + .2byte (.L2365 - .Lrtx2363) / 4 + .2byte (.L2365 - .Lrtx2363) / 4 + .2byte (.L2365 - .Lrtx2363) / 4 + .2byte (.L2366 - .Lrtx2363) / 4 + .2byte (.L2367 - .Lrtx2363) / 4 + .2byte (.L2368 - .Lrtx2363) / 4 + .2byte (.L2365 - .Lrtx2363) / 4 + .2byte (.L2368 - .Lrtx2363) / 4 .section .text.queue_wait_first_req_completed -.L2412: - mov w1, 64 - mov w0, w21 - bl flash_wait_device_ready - tbz x0, 6, .L2443 - add x0, x19, :lo12:.LANCHOR56 +.L2362: + bl nandc_wait_flash_ready + add x0, x19, :lo12:.LANCHOR55 add x0, x0, x20, lsl 6 ldp x1, x2, [x0, 8] - cbz x2, .L2420 + cbz x2, .L2369 ldrb w3, [x0, 56] adrp x0, .LANCHOR131 ldrb w0, [x0, #:lo12:.LANCHOR131] cmp w3, w0 csel x1, x1, x2, ne -.L2420: - add x19, x19, :lo12:.LANCHOR56 +.L2369: + add x19, x19, :lo12:.LANCHOR55 mov w0, w21 add x20, x19, x20, lsl 6 ldr x2, [x20, 24] @@ -14850,37 +14665,34 @@ queue_wait_first_req_completed: ldrb w0, [x20, 2] orr w0, w0, 8 strb w0, [x20, 2] - b .L2443 -.L2414: - mov w1, 64 - mov w0, w21 - bl flash_wait_device_ready - tbz x0, 6, .L2443 - add x0, x19, :lo12:.LANCHOR56 + b .L2393 +.L2364: + bl nandc_wait_flash_ready + add x0, x19, :lo12:.LANCHOR55 lsl x2, x20, 6 add x1, x0, x2 ldrb w21, [x0, x2] add x0, x0, x21, lsl 6 ldr x24, [x0, 8] ldp x26, x0, [x1, 8] - cbz x0, .L2421 + cbz x0, .L2370 ldrb w2, [x1, 56] adrp x1, .LANCHOR131 ldrb w1, [x1, #:lo12:.LANCHOR131] cmp w2, w1 csel x26, x26, x0, ne -.L2421: - add x0, x19, :lo12:.LANCHOR56 +.L2370: + add x0, x19, :lo12:.LANCHOR55 add x0, x0, x21, lsl 6 ldr x1, [x0, 16] - cbz x1, .L2422 + cbz x1, .L2371 ldrb w2, [x0, 56] adrp x0, .LANCHOR131 ldrb w0, [x0, #:lo12:.LANCHOR131] cmp w2, w0 csel x24, x24, x1, ne -.L2422: - add x22, x19, :lo12:.LANCHOR56 +.L2371: + add x22, x19, :lo12:.LANCHOR55 mov x1, x26 add x27, x22, x20, lsl 6 add x22, x22, x21, lsl 6 @@ -14894,20 +14706,20 @@ queue_wait_first_req_completed: bl flash_complete_plane_page_read mov w25, w0 cmn w23, #1 - beq .L2423 + beq .L2372 ldr w0, [x27, 36] cmn w0, #1 - beq .L2424 + beq .L2373 ldr x1, [x27, 24] ldr w1, [x1, 4] cmp w0, w1 - beq .L2424 -.L2423: - adrp x0, .LANCHOR32 - add x22, x19, :lo12:.LANCHOR56 + beq .L2373 +.L2372: + adrp x0, .LANCHOR31 + add x22, x19, :lo12:.LANCHOR55 add x22, x22, x20, lsl 6 mov w5, 1 - ldrb w2, [x0, #:lo12:.LANCHOR32] + ldrb w2, [x0, #:lo12:.LANCHOR31] mov w0, 24 sub w0, w0, w2 ldr x3, [x22, 24] @@ -14925,37 +14737,37 @@ queue_wait_first_req_completed: mov w23, w0 ldr w2, [x22, 36] cmn w2, #1 - beq .L2425 + beq .L2374 ldr x0, [x22, 24] ldr w4, [x0, 4] cmp w2, w4 - beq .L2425 - adrp x1, .LANCHOR14 - ldr w1, [x1, #:lo12:.LANCHOR14] - tbz x1, 6, .L2425 + beq .L2374 + adrp x1, .LANCHOR19 + ldr w1, [x1, #:lo12:.LANCHOR19] + tbz x1, 6, .L2374 ldr w3, [x0] - adrp x0, .LC140 + adrp x0, .LC137 ldr w1, [x22, 40] - add x0, x0, :lo12:.LC140 + add x0, x0, :lo12:.LC137 bl printf -.L2425: - add x0, x19, :lo12:.LANCHOR56 +.L2374: + add x0, x19, :lo12:.LANCHOR55 add x0, x0, x20, lsl 6 ldr w1, [x0, 36] cmn w1, #1 - beq .L2424 + beq .L2373 ldr x0, [x0, 24] ldr w0, [x0, 4] cmp w1, w0 - beq .L2424 - adrp x1, .LANCHOR183 + beq .L2373 + adrp x1, .LANCHOR180 adrp x0, .LC0 - mov w2, 430 - add x1, x1, :lo12:.LANCHOR183 + mov w2, 431 + add x1, x1, :lo12:.LANCHOR180 add x0, x0, :lo12:.LC0 bl printf -.L2424: - add x0, x19, :lo12:.LANCHOR56 +.L2373: + add x0, x19, :lo12:.LANCHOR55 mov w1, 13 add x20, x0, x20, lsl 6 cmn w25, #1 @@ -14964,21 +14776,21 @@ queue_wait_first_req_completed: str w23, [x20, 52] orr w1, w1, 8 strb w1, [x20, 2] - beq .L2426 + beq .L2375 add x0, x0, x21, lsl 6 ldr w1, [x0, 36] cmn w1, #1 - beq .L2428 + beq .L2377 ldr x0, [x0, 24] ldr w0, [x0, 4] cmp w1, w0 - beq .L2428 -.L2426: - adrp x0, .LANCHOR32 - add x20, x19, :lo12:.LANCHOR56 + beq .L2377 +.L2375: + adrp x0, .LANCHOR31 + add x20, x19, :lo12:.LANCHOR55 add x20, x20, x21, lsl 6 mov w5, 1 - ldrb w2, [x0, #:lo12:.LANCHOR32] + ldrb w2, [x0, #:lo12:.LANCHOR31] mov w0, 24 sub w0, w0, w2 ldr x3, [x20, 24] @@ -14995,37 +14807,37 @@ queue_wait_first_req_completed: bl flash_read_page_en ldr w2, [x20, 36] cmn w2, #1 - beq .L2430 + beq .L2379 ldr x0, [x20, 24] ldr w4, [x0, 4] cmp w2, w4 - beq .L2430 - adrp x1, .LANCHOR14 - ldr w1, [x1, #:lo12:.LANCHOR14] - tbz x1, 6, .L2430 + beq .L2379 + adrp x1, .LANCHOR19 + ldr w1, [x1, #:lo12:.LANCHOR19] + tbz x1, 6, .L2379 ldr w3, [x0] - adrp x0, .LC140 + adrp x0, .LC137 ldr w1, [x20, 40] - add x0, x0, :lo12:.LC140 + add x0, x0, :lo12:.LC137 bl printf -.L2430: - add x0, x19, :lo12:.LANCHOR56 +.L2379: + add x0, x19, :lo12:.LANCHOR55 add x0, x0, x21, lsl 6 ldr w1, [x0, 36] cmn w1, #1 - beq .L2428 + beq .L2377 ldr x0, [x0, 24] ldr w0, [x0, 4] cmp w1, w0 - beq .L2428 - adrp x1, .LANCHOR183 + beq .L2377 + adrp x1, .LANCHOR180 adrp x0, .LC0 - mov w2, 449 - add x1, x1, :lo12:.LANCHOR183 + mov w2, 450 + add x1, x1, :lo12:.LANCHOR180 add x0, x0, :lo12:.LC0 bl printf -.L2428: - add x19, x19, :lo12:.LANCHOR56 +.L2377: + add x19, x19, :lo12:.LANCHOR55 mov w0, 13 add x21, x19, x21, lsl 6 strb w0, [x21, 58] @@ -15033,17 +14845,17 @@ queue_wait_first_req_completed: str w23, [x21, 52] orr w0, w0, 8 strb w0, [x21, 2] - b .L2443 -.L2415: + b .L2393 +.L2365: mov w0, w21 mov w1, 64 bl flash_wait_device_ready mov w21, w0 - tbz x21, 6, .L2443 + tbz x21, 6, .L2393 mov w0, 5 tst w21, w0 - beq .L2431 - add x19, x19, :lo12:.LANCHOR56 + beq .L2381 + add x19, x19, :lo12:.LANCHOR55 mov w0, 12 add x20, x19, x20, lsl 6 mov w4, 12 @@ -15051,15 +14863,15 @@ queue_wait_first_req_completed: ldrb w1, [x20, 1] ldr w3, [x20, 40] strb w0, [x20, 58] - adrp x0, .LC141 - add x0, x0, :lo12:.LC141 + adrp x0, .LC138 + add x0, x0, :lo12:.LC138 bl printf -.L2507: +.L2451: mov w0, -1 str w0, [x20, 52] - b .L2409 -.L2431: - add x21, x19, :lo12:.LANCHOR56 + b .L2359 +.L2381: + add x21, x19, :lo12:.LANCHOR55 mov w0, 13 add x21, x21, x20, lsl 6 strb w0, [x21, 58] @@ -15070,60 +14882,60 @@ queue_wait_first_req_completed: str wzr, [x21, 52] movk w0, 0x444b, lsl 16 cmp w1, w0 - bne .L2443 + bne .L2393 ldrh w0, [x21, 50] - cbnz w0, .L2443 - adrp x0, .LANCHOR32 + cbnz w0, .L2393 + adrp x0, .LANCHOR31 mov w5, 1 - adrp x22, .LANCHOR175 + adrp x22, .LANCHOR172 ldr w1, [x21, 40] - ldrb w2, [x0, #:lo12:.LANCHOR32] + ldrb w2, [x0, #:lo12:.LANCHOR31] mov w0, 24 - ldr x3, [x22, #:lo12:.LANCHOR175] + ldr x3, [x22, #:lo12:.LANCHOR172] sub w0, w0, w2 lsl w5, w5, w2 adrp x2, .LANCHOR131 sub w5, w5, #1 ldrb w4, [x2, #:lo12:.LANCHOR131] - adrp x2, .LANCHOR176 + adrp x2, .LANCHOR173 lsl w6, w5, w0 - ldr x2, [x2, #:lo12:.LANCHOR176] + ldr x2, [x2, #:lo12:.LANCHOR173] lsr w0, w1, w0 bic w1, w1, w6 and w0, w0, w5 bl flash_read_page_en cmn w0, #1 - beq .L2432 - ldr x1, [x22, #:lo12:.LANCHOR175] + beq .L2382 + ldr x1, [x22, #:lo12:.LANCHOR172] ldr x2, [x21, 24] ldr w1, [x1] ldr w2, [x2] cmp w2, w1 - beq .L2443 -.L2432: - add x19, x19, :lo12:.LANCHOR56 - adrp x1, .LANCHOR52 + beq .L2393 +.L2382: + add x19, x19, :lo12:.LANCHOR55 + adrp x1, .LANCHOR51 add x20, x19, x20, lsl 6 mov w3, w0 - ldrb w4, [x1, #:lo12:.LANCHOR52] - adrp x0, .LC142 - add x0, x0, :lo12:.LC142 + ldrb w4, [x1, #:lo12:.LANCHOR51] + adrp x0, .LC139 + add x0, x0, :lo12:.LC139 ldrb w1, [x20, 1] ldr w2, [x20, 40] bl printf mov w0, -1 str w0, [x20, 52] - b .L2443 -.L2418: + b .L2393 +.L2368: cmp w2, 11 mov w1, 3 mov w5, 10 csel w5, w5, w1, eq - adrp x1, .LANCHOR32 + adrp x1, .LANCHOR31 mov w4, 24 mov w2, 1 - add x22, x19, :lo12:.LANCHOR56 - ldrb w3, [x1, #:lo12:.LANCHOR32] + add x22, x19, :lo12:.LANCHOR55 + ldrb w3, [x1, #:lo12:.LANCHOR31] ubfiz x0, x0, 6, 8 add x0, x22, x0 mov x24, x1 @@ -15133,41 +14945,41 @@ queue_wait_first_req_completed: lsr w3, w21, w4 and w3, w3, w2 and w3, w3, 65535 -.L2434: +.L2384: ldrb w1, [x0] cmp w1, 255 - bne .L2441 + bne .L2391 mov w21, -1 - b .L2409 -.L2441: + b .L2359 +.L2391: sxtw x23, w1 ubfiz x0, x1, 6, 8 add x1, x22, x23, lsl 6 add x0, x22, x0 ldrb w6, [x1, 58] cmp w6, w5 - bne .L2434 + bne .L2384 ldr w1, [x1, 40] lsr w1, w1, w4 and w1, w1, w2 cmp w3, w1 - bne .L2434 + bne .L2384 mov w0, w21 mov w1, 64 bl flash_wait_device_ready mov w21, w0 - tbnz x21, 6, .L2436 -.L2506: + tbnz x21, 6, .L2386 +.L2450: mov w21, 0 - b .L2437 -.L2436: + b .L2387 +.L2386: tst x21, 15 - beq .L2438 + beq .L2388 add x22, x22, x20, lsl 6 mov w2, w0 mov w4, 12 - adrp x0, .LC143 - add x0, x0, :lo12:.LC143 + adrp x0, .LC140 + add x0, x0, :lo12:.LC140 ldrb w1, [x22, 1] ldr w3, [x22, 40] bl printf @@ -15175,15 +14987,15 @@ queue_wait_first_req_completed: strb w0, [x22, 58] mov w0, -1 str w0, [x22, 52] -.L2437: - add x1, x19, :lo12:.LANCHOR56 +.L2387: + add x1, x19, :lo12:.LANCHOR55 add x20, x1, x20, lsl 6 add x1, x1, x23, lsl 6 ldrb w0, [x20, 58] strb w0, [x1, 58] ldr w0, [x20, 52] str w0, [x1, 52] -.L2409: +.L2359: mov w0, w21 ldr x27, [sp, 80] ldp x19, x20, [sp, 16] @@ -15192,7 +15004,7 @@ queue_wait_first_req_completed: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 96 ret -.L2438: +.L2388: add x21, x22, x20, lsl 6 mov w0, 13 strb w0, [x21, 58] @@ -15203,78 +15015,78 @@ queue_wait_first_req_completed: str wzr, [x21, 52] movk w0, 0x444b, lsl 16 cmp w1, w0 - bne .L2506 + bne .L2450 ldrh w0, [x21, 50] - cbnz w0, .L2506 - ldrb w2, [x24, #:lo12:.LANCHOR32] + cbnz w0, .L2450 + ldrb w2, [x24, #:lo12:.LANCHOR31] mov w5, 1 mov w0, 24 - adrp x22, .LANCHOR175 + adrp x22, .LANCHOR172 sub w0, w0, w2 ldr w1, [x21, 40] lsl w5, w5, w2 adrp x2, .LANCHOR131 sub w5, w5, #1 - ldr x3, [x22, #:lo12:.LANCHOR175] + ldr x3, [x22, #:lo12:.LANCHOR172] ldrb w4, [x2, #:lo12:.LANCHOR131] - adrp x2, .LANCHOR176 + adrp x2, .LANCHOR173 lsl w6, w5, w0 - ldr x2, [x2, #:lo12:.LANCHOR176] + ldr x2, [x2, #:lo12:.LANCHOR173] lsr w0, w1, w0 bic w1, w1, w6 and w0, w0, w5 bl flash_read_page_en cmn w0, #1 - beq .L2440 - ldr x1, [x22, #:lo12:.LANCHOR175] + beq .L2390 + ldr x1, [x22, #:lo12:.LANCHOR172] ldr x2, [x21, 24] ldr w1, [x1] ldr w2, [x2] cmp w2, w1 - beq .L2506 -.L2440: - add x21, x19, :lo12:.LANCHOR56 - adrp x1, .LANCHOR52 + beq .L2450 +.L2390: + add x21, x19, :lo12:.LANCHOR55 + adrp x1, .LANCHOR51 add x21, x21, x20, lsl 6 mov w3, w0 - ldrb w4, [x1, #:lo12:.LANCHOR52] - adrp x0, .LC144 - add x0, x0, :lo12:.LC144 + ldrb w4, [x1, #:lo12:.LANCHOR51] + adrp x0, .LC141 + add x0, x0, :lo12:.LC141 ldrb w1, [x21, 1] ldr w2, [x21, 40] bl printf mov w0, -1 str w0, [x21, 52] - b .L2506 -.L2416: + b .L2450 +.L2366: mov w0, w21 mov w1, 32 bl flash_wait_device_ready mov w21, w0 - tbz x21, 5, .L2443 - add x19, x19, :lo12:.LANCHOR56 + tbz x21, 5, .L2393 + add x19, x19, :lo12:.LANCHOR55 tst x21, 15 add x20, x19, x20, lsl 6 - beq .L2442 + beq .L2392 mov w0, 12 strb w0, [x20, 58] - b .L2507 -.L2442: + b .L2451 +.L2392: mov w0, 13 str wzr, [x20, 52] strb w0, [x20, 58] - b .L2443 -.L2417: + b .L2393 +.L2367: mov w1, 64 mov w0, w21 bl flash_wait_device_ready - tbz x0, 6, .L2443 - add x19, x19, :lo12:.LANCHOR56 + tbz x0, 6, .L2393 + add x19, x19, :lo12:.LANCHOR55 add x19, x19, x20, lsl 6 str w0, [x19, 52] mov w0, 7 strb w0, [x19, 58] - b .L2443 + b .L2393 .size queue_wait_first_req_completed, .-queue_wait_first_req_completed .section .text.sblk_prog_page,"ax",@progbits .align 2 @@ -15291,24 +15103,24 @@ sblk_prog_page: stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] - cbz w0, .L2509 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L2509 + cbz w0, .L2453 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L2453 ldr w1, [x19, 40] - adrp x0, .LC145 + adrp x0, .LC142 mov w2, w20 - add x0, x0, :lo12:.LC145 + add x0, x0, :lo12:.LC142 bl printf -.L2509: - adrp x23, .LANCHOR45 - adrp x25, .LANCHOR32 - add x23, x23, :lo12:.LANCHOR45 - add x26, x25, :lo12:.LANCHOR32 +.L2453: + adrp x23, .LANCHOR44 + adrp x25, .LANCHOR31 + add x23, x23, :lo12:.LANCHOR44 + add x26, x25, :lo12:.LANCHOR31 mov w21, 0 -.L2510: - cbnz w20, .L2521 -.L2537: +.L2454: + cbnz w20, .L2465 +.L2481: mov w0, 0 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -15317,38 +15129,38 @@ sblk_prog_page: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 96 ret -.L2521: +.L2465: ldrb w24, [x19] ldr w22, [x19, 40] -.L2511: +.L2455: mov w1, 1 mov w0, w22 bl queue_lun_state - cbnz w0, .L2512 + cbnz w0, .L2456 cmp w20, 1 - beq .L2513 + beq .L2457 ldrb w0, [x23] - cbz w0, .L2513 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbz w0, .L2514 -.L2513: + cbz w0, .L2457 + adrp x0, .LANCHOR36 + ldrb w0, [x0, #:lo12:.LANCHOR36] + cbz w0, .L2458 +.L2457: mov x0, x19 bl queue_prog_cmd -.L2515: +.L2459: subs w20, w20, #1 - beq .L2537 + beq .L2481 ubfiz x24, x24, 6, 8 - adrp x19, .LANCHOR56 - add x19, x19, :lo12:.LANCHOR56 + adrp x19, .LANCHOR55 + add x19, x19, :lo12:.LANCHOR55 add x19, x19, x24 - b .L2510 -.L2512: + b .L2454 +.L2456: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2511 -.L2514: - ldrb w1, [x25, #:lo12:.LANCHOR32] + b .L2455 +.L2458: + ldrb w1, [x25, #:lo12:.LANCHOR31] mov w27, 24 mov w0, 1 sub w27, w27, w1 @@ -15359,17 +15171,17 @@ sblk_prog_page: ldrb w0, [x19] and w27, w27, 65535 cmp w0, 255 - bne .L2516 - adrp x1, .LANCHOR184 + bne .L2460 + adrp x1, .LANCHOR181 adrp x0, .LC0 - mov w2, 696 - add x1, x1, :lo12:.LANCHOR184 + mov w2, 697 + add x1, x1, :lo12:.LANCHOR181 add x0, x0, :lo12:.LC0 bl printf -.L2516: +.L2460: ldrb w0, [x19] - adrp x1, .LANCHOR56 - add x1, x1, :lo12:.LANCHOR56 + adrp x1, .LANCHOR55 + add x1, x1, :lo12:.LANCHOR55 mov w3, 24 mov w28, 1 add x0, x1, x0, lsl 6 @@ -15381,11 +15193,11 @@ sblk_prog_page: lsr w1, w4, w3 and w0, w0, w1 cmp w27, w0, uxth - bne .L2517 + bne .L2461 + adrp x0, .LANCHOR74 + ldrh w2, [x0, #:lo12:.LANCHOR74] adrp x0, .LANCHOR75 - ldrh w2, [x0, #:lo12:.LANCHOR75] - adrp x0, .LANCHOR76 - ldrb w1, [x0, #:lo12:.LANCHOR76] + ldrb w1, [x0, #:lo12:.LANCHOR75] sub w0, w3, w2 lsr w5, w22, w2 sub w3, w1, #1 @@ -15403,9 +15215,9 @@ sblk_prog_page: cmp w5, w0 and w1, w1, w4 ccmp w22, w1, 0, ne - bne .L2517 + bne .L2461 cmp w21, w3 - beq .L2517 + beq .L2461 ldr w1, [x19, 40] mov w0, 17 ldr x2, [x19, 8] @@ -15418,15 +15230,15 @@ sblk_prog_page: mov w0, -1 strb w0, [x19] mov x1, x19 - adrp x0, .LANCHOR60 - add x0, x0, :lo12:.LANCHOR60 + adrp x0, .LANCHOR59 + add x0, x0, :lo12:.LANCHOR59 bl buf_add_tail - b .L2515 -.L2517: + b .L2459 +.L2461: mov x0, x19 mov w21, 0 bl queue_prog_cmd - b .L2515 + b .L2459 .size sblk_prog_page, .-sblk_prog_page .section .text.sblk_wait_write_queue_completed,"ax",@progbits .align 2 @@ -15436,19 +15248,19 @@ sblk_wait_write_queue_completed: stp x29, x30, [sp, -32]! add x29, sp, 0 str x19, [sp, 16] - adrp x19, .LANCHOR60 - add x19, x19, :lo12:.LANCHOR60 -.L2540: + adrp x19, .LANCHOR59 + add x19, x19, :lo12:.LANCHOR59 +.L2484: ldrb w0, [x19] cmp w0, 255 - bne .L2541 + bne .L2485 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 ret -.L2541: +.L2485: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2540 + b .L2484 .size sblk_wait_write_queue_completed, .-sblk_wait_write_queue_completed .section .text.ftl_flush,"ax",@progbits .align 2 @@ -15461,17 +15273,17 @@ ftl_flush: ldrb w1, [x0, #:lo12:.LANCHOR129] stp x19, x20, [sp, 16] mov x19, x0 - adrp x20, .LANCHOR185 - cbz w1, .L2544 - ldrb w2, [x20, #:lo12:.LANCHOR185] - adrp x0, .LANCHOR56 - add x0, x0, :lo12:.LANCHOR56 + adrp x20, .LANCHOR182 + cbz w1, .L2488 + ldrb w2, [x20, #:lo12:.LANCHOR182] + adrp x0, .LANCHOR55 + add x0, x0, :lo12:.LANCHOR55 add x0, x0, x2, lsl 6 bl sblk_prog_page -.L2544: +.L2488: mov w0, -1 strb wzr, [x19, #:lo12:.LANCHOR129] - strb w0, [x20, #:lo12:.LANCHOR185] + strb w0, [x20, #:lo12:.LANCHOR182] bl sblk_wait_write_queue_completed bl ftl_write_completed ldp x19, x20, [sp, 16] @@ -15516,11 +15328,11 @@ ftl_read_ppa_page: add x29, sp, 0 stp x19, x20, [sp, 16] mov w20, w0 - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 mov w19, 24 stp x21, x22, [sp, 32] mov x21, x1 - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] mov x22, x2 str x23, [sp, 48] mov w23, w3 @@ -15554,21 +15366,21 @@ sblk_read_page: stp x27, x28, [sp, 80] mov w21, w22 stp x19, x20, [sp, 16] - adrp x27, .LANCHOR32 + adrp x27, .LANCHOR31 stp x23, x24, [sp, 48] mov x19, x0 stp x25, x26, [sp, 64] mov x23, x0 - adrp x25, .LANCHOR186 - add x28, x27, :lo12:.LANCHOR32 - add x25, x25, :lo12:.LANCHOR186 -.L2554: - cbnz w21, .L2564 -.L2577: - adrp x19, .LANCHOR56 - add x19, x19, :lo12:.LANCHOR56 -.L2565: - cbnz w22, .L2567 + adrp x25, .LANCHOR183 + add x28, x27, :lo12:.LANCHOR31 + add x25, x25, :lo12:.LANCHOR183 +.L2498: + cbnz w21, .L2508 +.L2521: + adrp x19, .LANCHOR55 + add x19, x19, :lo12:.LANCHOR55 +.L2509: + cbnz w22, .L2511 ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -15577,28 +15389,28 @@ sblk_read_page: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L2564: +.L2508: ldrb w24, [x19] ldr w26, [x19, 40] -.L2555: +.L2499: mov w1, 0 mov w0, w26 bl queue_lun_state - cbnz w0, .L2556 + cbnz w0, .L2500 cmp w21, 1 - beq .L2561 + beq .L2505 ldrb w0, [x25] - cbnz w0, .L2558 -.L2561: + cbnz w0, .L2502 +.L2505: mov x0, x19 bl queue_read_cmd - b .L2559 -.L2556: + b .L2503 +.L2500: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2555 -.L2558: - ldrb w1, [x27, #:lo12:.LANCHOR32] + b .L2499 +.L2502: + ldrb w1, [x27, #:lo12:.LANCHOR31] mov w20, 24 mov w0, 1 sub w20, w20, w1 @@ -15609,17 +15421,17 @@ sblk_read_page: ldrb w0, [x19] and w20, w20, 65535 cmp w0, 255 - bne .L2560 - adrp x1, .LANCHOR187 + bne .L2504 + adrp x1, .LANCHOR184 adrp x0, .LC0 - mov w2, 781 - add x1, x1, :lo12:.LANCHOR187 + mov w2, 782 + add x1, x1, :lo12:.LANCHOR184 add x0, x0, :lo12:.LC0 bl printf -.L2560: +.L2504: ldrb w4, [x19] - adrp x2, .LANCHOR56 - add x2, x2, :lo12:.LANCHOR56 + adrp x2, .LANCHOR55 + add x2, x2, :lo12:.LANCHOR55 ldrb w7, [x28] mov w0, 24 mov w3, 1 @@ -15632,18 +15444,18 @@ sblk_read_page: lsr w0, w1, w0 and w0, w0, w3 cmp w20, w0, uxth - bne .L2561 + bne .L2505 adrp x0, .LANCHOR111 ldrh w0, [x0, #:lo12:.LANCHOR111] add w26, w0, w26 cmp w1, w26 - bne .L2561 + bne .L2505 ldr w0, [x19, 40] mov w26, -1 ldrb w24, [x2, x5] - adrp x20, .LANCHOR60 + adrp x20, .LANCHOR59 stp x6, x5, [x29, 96] - add x20, x20, :lo12:.LANCHOR60 + add x20, x20, :lo12:.LANCHOR59 str x2, [x29, 112] sub w21, w21, #1 str w4, [x29, 120] @@ -15666,28 +15478,28 @@ sblk_read_page: ubfiz x1, x4, 6, 8 add x1, x2, x1 bl buf_add_tail -.L2559: +.L2503: subs w21, w21, #1 - beq .L2577 + beq .L2521 ubfiz x24, x24, 6, 8 - adrp x19, .LANCHOR56 - add x19, x19, :lo12:.LANCHOR56 + adrp x19, .LANCHOR55 + add x19, x19, :lo12:.LANCHOR55 add x19, x19, x24 - b .L2554 -.L2567: + b .L2498 +.L2511: ldrb w0, [x23, 58] cmp w0, 13 - bne .L2566 + bne .L2510 ldrb w0, [x23] sub w22, w22, #1 cmp w0, 255 - beq .L2566 + beq .L2510 ubfiz x23, x0, 6, 8 add x23, x19, x23 -.L2566: +.L2510: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2565 + b .L2509 .size sblk_read_page, .-sblk_read_page .section .text.gc_check_data_one_wl,"ax",@progbits .align 2 @@ -15698,112 +15510,112 @@ gc_check_data_one_wl: stp x29, x30, [sp, 16] add x29, sp, 16 stp x19, x20, [sp, 32] - adrp x19, .LANCHOR71 + adrp x19, .LANCHOR70 stp x21, x22, [sp, 48] - add x22, x19, :lo12:.LANCHOR71 - adrp x20, .LANCHOR10 + add x22, x19, :lo12:.LANCHOR70 + adrp x20, .LANCHOR12 stp x23, x24, [sp, 64] stp x25, x26, [sp, 80] ldr x0, [x22, 8] stp x27, x28, [sp, 96] - ldr x21, [x20, #:lo12:.LANCHOR10] - cbnz x0, .L2580 + ldr x21, [x20, #:lo12:.LANCHOR12] + cbnz x0, .L2524 mov w0, 1 bl buf_alloc str x0, [x22, 8] -.L2580: - add x0, x19, :lo12:.LANCHOR71 +.L2524: + add x0, x19, :lo12:.LANCHOR70 ldr x22, [x0, 8] - cbnz x22, .L2581 - adrp x1, .LANCHOR188 + cbnz x22, .L2525 + adrp x1, .LANCHOR185 adrp x0, .LC0 mov w2, 729 - add x1, x1, :lo12:.LANCHOR188 + add x1, x1, :lo12:.LANCHOR185 add x0, x0, :lo12:.LC0 bl printf -.L2581: +.L2525: adrp x27, .LANCHOR111 - adrp x28, .LANCHOR79 + adrp x28, .LANCHOR78 add x26, x21, 96 add x27, x27, :lo12:.LANCHOR111 - add x28, x28, :lo12:.LANCHOR79 + add x28, x28, :lo12:.LANCHOR78 mov w25, 0 -.L2582: +.L2526: ldrb w0, [x21, 89] cmp w25, w0 - bge .L2593 + bge .L2537 mov w24, 1 - add x23, x19, :lo12:.LANCHOR71 - b .L2594 -.L2592: + add x23, x19, :lo12:.LANCHOR70 + b .L2538 +.L2536: ldrh w0, [x26] ldrh w2, [x27] ldrb w1, [x28] cmp w1, 2 mul w2, w0, w2 - beq .L2583 - adrp x0, .LANCHOR36 - ldrb w0, [x0, #:lo12:.LANCHOR36] - cbz w0, .L2584 -.L2583: + beq .L2527 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbz w0, .L2528 +.L2527: ldrh w0, [x23, 16] sub w3, w0, #1 add w0, w24, w2 add w0, w3, w0 orr w1, w0, w1, lsl 24 str w1, [x22, 40] -.L2585: +.L2529: mov w1, 1 mov x0, x22 bl sblk_read_page ldr w2, [x22, 52] - adrp x1, .LANCHOR162 + adrp x1, .LANCHOR159 cmn w2, #1 - beq .L2588 + beq .L2532 ldrh w0, [x23, 22] - ldr x4, [x1, #:lo12:.LANCHOR162] + ldr x4, [x1, #:lo12:.LANCHOR159] ldr x3, [x22, 24] lsl x0, x0, 2 ldr w5, [x4, x0] ldr w4, [x3, 4] cmp w5, w4 - bne .L2588 - adrp x4, .LANCHOR163 - ldr x4, [x4, #:lo12:.LANCHOR163] + bne .L2532 + adrp x4, .LANCHOR160 + ldr x4, [x4, #:lo12:.LANCHOR160] ldr w4, [x4, x0] ldr w0, [x3, 8] cmp w4, w0 - beq .L2589 -.L2588: + beq .L2533 +.L2532: ldrh w0, [x23, 22] - ldr x1, [x1, #:lo12:.LANCHOR162] + ldr x1, [x1, #:lo12:.LANCHOR159] lsl x0, x0, 2 ldr w3, [x1, x0] cmn w3, #1 - beq .L2589 - adrp x1, .LANCHOR14 - ldr w1, [x1, #:lo12:.LANCHOR14] - tbz x1, 10, .L2590 + beq .L2533 + adrp x1, .LANCHOR19 + ldr w1, [x1, #:lo12:.LANCHOR19] + tbz x1, 10, .L2534 ldr x1, [x22, 24] - adrp x4, .LANCHOR163 - ldr x4, [x4, #:lo12:.LANCHOR163] + adrp x4, .LANCHOR160 + ldr x4, [x4, #:lo12:.LANCHOR160] ldr w5, [x1, 12] str w5, [sp] ldr w4, [x4, x0] - adrp x0, .LC146 + adrp x0, .LC143 ldp w5, w6, [x1] - add x0, x0, :lo12:.LC146 + add x0, x0, :lo12:.LC143 ldr w7, [x1, 8] ldr w1, [x22, 40] bl printf -.L2590: +.L2534: adrp x0, .LANCHOR124 ldrh w1, [x21, 80] ldrb w2, [x0, #:lo12:.LANCHOR124] - adrp x0, .LANCHOR9 - ldr x0, [x0, #:lo12:.LANCHOR9] + adrp x0, .LANCHOR11 + ldr x0, [x0, #:lo12:.LANCHOR11] strh wzr, [x0, x1, lsl 1] - ldr x1, [x20, #:lo12:.LANCHOR10] + ldr x1, [x20, #:lo12:.LANCHOR12] ldr w0, [x1, 556] add w0, w0, 1 str w0, [x1, 556] @@ -15813,16 +15625,16 @@ gc_check_data_one_wl: mov w0, 20041 movk w0, 0x444b, lsl 16 cmp w1, w0 - bne .L2597 - cbnz w2, .L2597 - adrp x0, .LANCHOR81 - ldrb w0, [x0, #:lo12:.LANCHOR81] - cbnz w0, .L2597 + bne .L2541 + cbnz w2, .L2541 + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbnz w0, .L2541 ldr w0, [x22, 40] bl ftl_mask_bad_block -.L2597: +.L2541: mov w0, -1 -.L2579: +.L2523: ldp x19, x20, [sp, 32] ldp x21, x22, [sp, 48] ldp x23, x24, [sp, 64] @@ -15831,54 +15643,54 @@ gc_check_data_one_wl: ldp x29, x30, [sp, 16] add sp, sp, 112 ret -.L2584: +.L2528: cmp w1, 3 ldrh w0, [x23, 16] - bne .L2586 - adrp x1, .LANCHOR37 - ldrb w1, [x1, #:lo12:.LANCHOR37] - cbz w1, .L2587 + bne .L2530 + adrp x1, .LANCHOR36 + ldrb w1, [x1, #:lo12:.LANCHOR36] + cbz w1, .L2531 add w0, w0, w0, lsl 1 sub w1, w0, #1 add w0, w24, w2 add w0, w1, w0 orr w0, w0, 50331648 -.L2612: +.L2556: str w0, [x22, 40] - b .L2585 -.L2587: + b .L2529 +.L2531: add w0, w0, w2 orr w0, w0, w24, lsl 24 - b .L2612 -.L2586: + b .L2556 +.L2530: add w0, w0, w2 - b .L2612 -.L2589: + b .L2556 +.L2533: ldrh w0, [x23, 22] add w24, w24, 1 add w0, w0, 1 strh w0, [x23, 22] -.L2594: +.L2538: ldrh w0, [x23, 20] cmp w24, w0 - ble .L2592 + ble .L2536 add w25, w25, 1 add x26, x26, 2 - b .L2582 -.L2593: - add x19, x19, :lo12:.LANCHOR71 + b .L2526 +.L2537: + add x19, x19, :lo12:.LANCHOR70 ldrh w0, [x19, 16] add w1, w0, 1 strh w1, [x19, 16] - adrp x1, .LANCHOR81 - ldrb w1, [x1, #:lo12:.LANCHOR81] - cbz w1, .L2598 + adrp x1, .LANCHOR80 + ldrb w1, [x1, #:lo12:.LANCHOR80] + cbz w1, .L2542 add w0, w0, 2 strh w0, [x19, 16] -.L2598: -.L2591: +.L2542: +.L2535: mov w0, 0 - b .L2579 + b .L2523 .size gc_check_data_one_wl, .-gc_check_data_one_wl .section .text.sblk_tlc_prog_one_page,"ax",@progbits .align 2 @@ -15891,11 +15703,11 @@ sblk_tlc_prog_one_page: mov x19, x0 ldr x0, [x0] ldr w20, [x0, 40] -.L2614: +.L2558: mov w1, 1 mov w0, w20 bl queue_lun_state - cbnz w0, .L2615 + cbnz w0, .L2559 mov x0, x19 mov w1, 1 bl queue_tlc_prog_cmd @@ -15903,10 +15715,10 @@ sblk_tlc_prog_one_page: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret -.L2615: +.L2559: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2614 + b .L2558 .size sblk_tlc_prog_one_page, .-sblk_tlc_prog_one_page .section .text.sblk_xlc_prog_pages,"ax",@progbits .align 2 @@ -15924,37 +15736,37 @@ sblk_xlc_prog_pages: mov w24, w2 ldr w19, [x0, 40] str x25, [sp, 64] -.L2618: +.L2562: mov w1, 1 mov w0, w19 bl queue_lun_state - cbnz w0, .L2619 + cbnz w0, .L2563 cmp w24, 2 - bne .L2620 - adrp x0, .LANCHOR45 + bne .L2564 + adrp x0, .LANCHOR44 ldr x3, [x22] - ldrb w0, [x0, #:lo12:.LANCHOR45] - cbz w0, .L2621 - adrp x0, .LANCHOR32 + ldrb w0, [x0, #:lo12:.LANCHOR44] + cbz w0, .L2565 + adrp x0, .LANCHOR31 ldr x7, [x20] mov w25, 1 mov w2, 24 - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] ldr w3, [x3, 40] sub w2, w2, w0 ldr w1, [x7, 40] lsl w19, w25, w0 - adrp x0, .LANCHOR37 + adrp x0, .LANCHOR36 lsl w21, w25, w2 sub w19, w19, #1 - ldrb w0, [x0, #:lo12:.LANCHOR37] + ldrb w0, [x0, #:lo12:.LANCHOR36] sub w21, w21, #1 and w23, w1, w21 lsr w1, w1, w2 and w19, w19, w1 and w21, w21, w3 and w19, w19, 255 - cbz w0, .L2622 + cbz w0, .L2566 mov w0, w19 bl zftl_flash_exit_slc_mode ldr x0, [x20] @@ -16016,7 +15828,7 @@ sblk_xlc_prog_pages: ldr x6, [x0, 24] mov w0, 0 bl flash_start_one_pass_page_prog -.L2623: +.L2567: ldr x1, [x20] mov w0, 5 strb w0, [x1, 58] @@ -16024,10 +15836,10 @@ sblk_xlc_prog_pages: strb w0, [x1, 59] mov w0, -1 strb w0, [x1] - adrp x0, .LANCHOR60 - add x0, x0, :lo12:.LANCHOR60 + adrp x0, .LANCHOR59 + add x0, x0, :lo12:.LANCHOR59 bl buf_add_tail -.L2624: +.L2568: mov w0, 0 ldr x25, [sp, 64] ldp x19, x20, [sp, 16] @@ -16035,11 +15847,11 @@ sblk_xlc_prog_pages: ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 80 ret -.L2619: +.L2563: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2618 -.L2622: + b .L2562 +.L2566: ldr x5, [x7, 8] mov w4, w23 ldr x6, [x7, 24] @@ -16102,37 +15914,37 @@ sblk_xlc_prog_pages: ldr x6, [x0, 24] ldrb w0, [x7, 60] bl flash_start_tlc_page_prog - b .L2623 -.L2621: + b .L2567 +.L2565: ldr w19, [x3, 40] -.L2625: +.L2569: mov w1, 1 mov w0, w19 bl queue_lun_state - cbnz w0, .L2626 + cbnz w0, .L2570 mov w1, 1 mov x0, x20 bl queue_tlc_prog_cmd mov w1, 0 mov x0, x22 bl queue_tlc_prog_cmd -.L2627: +.L2571: mov w1, 1 mov w0, w19 bl queue_lun_state - cbz w0, .L2624 + cbz w0, .L2568 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2627 -.L2626: + b .L2571 +.L2570: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2625 -.L2620: + b .L2569 +.L2564: mov w1, 1 mov x0, x20 bl queue_tlc_prog_cmd - b .L2624 + b .L2568 .size sblk_xlc_prog_pages, .-sblk_xlc_prog_pages .section .text.sblk_3d_mlc_prog_pages,"ax",@progbits .align 2 @@ -16146,17 +15958,17 @@ sblk_3d_mlc_prog_pages: stp x21, x22, [sp, 32] add x21, x0, x1 stp x23, x24, [sp, 48] - adrp x23, .LANCHOR32 - adrp x24, .LANCHOR60 + adrp x23, .LANCHOR31 + adrp x24, .LANCHOR59 str x25, [sp, 64] - add x23, x23, :lo12:.LANCHOR32 - add x24, x24, :lo12:.LANCHOR60 + add x23, x23, :lo12:.LANCHOR31 + add x24, x24, :lo12:.LANCHOR59 add x25, x0, 8 stp x19, x20, [sp, 16] mov w22, 1 -.L2631: +.L2575: cmp x21, x25 - bne .L2634 + bne .L2578 mov w0, 0 ldr x25, [sp, 64] ldp x19, x20, [sp, 16] @@ -16164,14 +15976,14 @@ sblk_3d_mlc_prog_pages: ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 80 ret -.L2634: +.L2578: ldr x0, [x25, -8] ldr w19, [x0, 40] -.L2632: +.L2576: mov w1, 1 mov w0, w19 bl queue_lun_state - cbnz w0, .L2633 + cbnz w0, .L2577 ldr x0, [x25, -8] mov w2, 24 ldrb w1, [x23] @@ -16203,7 +16015,7 @@ sblk_3d_mlc_prog_pages: ldr x4, [x0, 24] mov w0, 16 bl flash_start_3d_mlc_page_prog - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 ldr x1, [x25, -24] mov w0, 4 strb w22, [x1, 59] @@ -16212,11 +16024,11 @@ sblk_3d_mlc_prog_pages: strb w0, [x1] mov x0, x24 bl buf_add_tail - b .L2631 -.L2633: + b .L2575 +.L2577: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2632 + b .L2576 .size sblk_3d_mlc_prog_pages, .-sblk_3d_mlc_prog_pages .section .text.flash_prog_page_en,"ax",@progbits .align 2 @@ -16230,63 +16042,63 @@ flash_prog_page_en: and w0, w5, 255 stp x19, x20, [sp, 16] str w0, [x29, 124] - adrp x0, .LANCHOR18 + adrp x0, .LANCHOR23 stp x23, x24, [sp, 48] mov w20, w1 stp x27, x28, [sp, 80] mov x23, x2 - ldrb w1, [x0, #:lo12:.LANCHOR18] + ldrb w1, [x0, #:lo12:.LANCHOR23] mov x22, x3 stp x25, x26, [sp, 64] mov w28, w4 ubfx x24, x20, 24, 2 cmp w1, w21 mov x19, x0 - bhi .L2637 - adrp x1, .LANCHOR189 + bhi .L2581 + adrp x1, .LANCHOR186 adrp x0, .LC0 - mov w2, 635 - add x1, x1, :lo12:.LANCHOR189 + mov w2, 642 + add x1, x1, :lo12:.LANCHOR186 add x0, x0, :lo12:.LC0 bl printf -.L2637: - ldrb w0, [x19, #:lo12:.LANCHOR18] +.L2581: + ldrb w0, [x19, #:lo12:.LANCHOR23] cmp w0, w21 - bls .L2648 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 + bls .L2592 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 ldrb w27, [x0, w21, sxtw] - cbnz w24, .L2650 + cbnz w24, .L2594 adrp x0, .LANCHOR0 ldrb w1, [x0, #:lo12:.LANCHOR0] adrp x0, .LANCHOR1 - cbz w1, .L2640 + cbz w1, .L2584 ldrb w1, [x0, #:lo12:.LANCHOR1] - cbz w1, .L2650 -.L2640: + cbz w1, .L2594 +.L2584: adrp x1, .LANCHOR2 ldrb w0, [x0, #:lo12:.LANCHOR1] ldrh w1, [x1, #:lo12:.LANCHOR2] udiv w19, w20, w1 mul w19, w19, w1 sub w1, w20, w19 - cbz w0, .L2641 + cbz w0, .L2585 add w19, w19, w1, lsl 1 -.L2639: - adrp x24, .LANCHOR14 - adrp x25, .LC147 - add x24, x24, :lo12:.LANCHOR14 - add x25, x25, :lo12:.LC147 - adrp x26, .LANCHOR175 -.L2645: +.L2583: + adrp x24, .LANCHOR19 + adrp x25, .LC144 + add x24, x24, :lo12:.LANCHOR19 + add x25, x25, :lo12:.LC144 + adrp x26, .LANCHOR172 +.L2589: ldr w0, [x24] - tbz x0, 4, .L2642 + tbz x0, 4, .L2586 mov w3, w19 mov w2, w20 mov w1, w27 mov x0, x25 bl printf -.L2642: +.L2586: mov w4, w28 mov x3, x22 mov x2, x23 @@ -16295,12 +16107,12 @@ flash_prog_page_en: bl flash_prog_page mov w5, w0 ldr w0, [x29, 124] - cbz w0, .L2643 - adrp x6, .LANCHOR176 - ldr x3, [x26, #:lo12:.LANCHOR175] + cbz w0, .L2587 + adrp x6, .LANCHOR173 + ldr x3, [x26, #:lo12:.LANCHOR172] mov w4, w28 str x6, [x29, 112] - ldr x2, [x6, #:lo12:.LANCHOR176] + ldr x2, [x6, #:lo12:.LANCHOR173] mov w1, w20 mov w0, w21 str w5, [x29, 104] @@ -16310,78 +16122,78 @@ flash_prog_page_en: mov w4, w0 ccmn w0, #1, 4, ne mov x7, x6 - beq .L2644 - ldr x0, [x6, #:lo12:.LANCHOR176] + beq .L2588 + ldr x0, [x6, #:lo12:.LANCHOR173] ldr w1, [x23] ldr w5, [x29, 104] ldr w0, [x0] cmp w1, w0 - bne .L2644 - ldr x0, [x26, #:lo12:.LANCHOR175] + bne .L2588 + ldr x0, [x26, #:lo12:.LANCHOR172] ldr w1, [x22] ldr w0, [x0] cmp w1, w0 - beq .L2643 -.L2644: + beq .L2587 +.L2588: str w4, [x29, 112] mov w3, 4 str x7, [x29, 104] mov w2, w3 mov x1, x23 - adrp x0, .LC148 - add x0, x0, :lo12:.LC148 + adrp x0, .LC145 + add x0, x0, :lo12:.LC145 bl rknand_print_hex mov w3, 4 mov x1, x22 mov w2, w3 - adrp x0, .LC149 - add x0, x0, :lo12:.LC149 + adrp x0, .LC146 + add x0, x0, :lo12:.LC146 bl rknand_print_hex - adrp x0, .LANCHOR175 + adrp x0, .LANCHOR172 mov w3, 4 mov w2, w3 - ldr x1, [x0, #:lo12:.LANCHOR175] - adrp x0, .LC150 - add x0, x0, :lo12:.LC150 + ldr x1, [x0, #:lo12:.LANCHOR172] + adrp x0, .LC147 + add x0, x0, :lo12:.LC147 bl rknand_print_hex ldr x7, [x29, 104] mov w3, 4 - adrp x0, .LC151 + adrp x0, .LC148 mov w2, w3 - add x0, x0, :lo12:.LC151 - ldr x1, [x7, #:lo12:.LANCHOR176] + add x0, x0, :lo12:.LC148 + ldr x1, [x7, #:lo12:.LANCHOR173] bl rknand_print_hex ldr w4, [x29, 112] cmp w4, 512 - beq .L2645 -.L2647: + beq .L2589 +.L2591: mov w1, w20 - adrp x0, .LC152 - add x0, x0, :lo12:.LC152 + adrp x0, .LC149 + add x0, x0, :lo12:.LC149 bl printf - adrp x1, .LANCHOR189 + adrp x1, .LANCHOR186 adrp x0, .LC0 - mov w2, 678 - add x1, x1, :lo12:.LANCHOR189 + mov w2, 685 + add x1, x1, :lo12:.LANCHOR186 add x0, x0, :lo12:.LC0 bl printf -.L2648: +.L2592: mov w0, -1 - b .L2636 -.L2641: + b .L2580 +.L2585: adrp x0, .LANCHOR3 add x0, x0, :lo12:.LANCHOR3 ldrh w0, [x0, w1, uxtw 1] add w19, w0, w19 - b .L2639 -.L2650: + b .L2583 +.L2594: mov w19, w20 - b .L2639 -.L2643: + b .L2583 +.L2587: mov w0, w5 cmn w5, #1 - beq .L2647 -.L2636: + beq .L2591 +.L2580: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -16398,61 +16210,61 @@ ftl_test_block: stp x29, x30, [sp, -128]! add x29, sp, 0 stp x23, x24, [sp, 48] - adrp x24, .LANCHOR190 + adrp x24, .LANCHOR187 stp x21, x22, [sp, 32] and w21, w0, 65535 - ldr x0, [x24, #:lo12:.LANCHOR190] + ldr x0, [x24, #:lo12:.LANCHOR187] mov w23, 0 stp x25, x26, [sp, 64] - adrp x25, .LANCHOR191 + adrp x25, .LANCHOR188 stp x19, x20, [sp, 16] adrp x26, .LANCHOR112 stp x27, x28, [sp, 80] mov w20, 0 str wzr, [x0] add x0, x26, :lo12:.LANCHOR112 - adrp x27, .LANCHOR76 + adrp x27, .LANCHOR75 str x0, [x29, 112] - str wzr, [x25, #:lo12:.LANCHOR191] - add x0, x27, :lo12:.LANCHOR76 + str wzr, [x25, #:lo12:.LANCHOR188] + add x0, x27, :lo12:.LANCHOR75 str x0, [x29, 96] -.L2667: +.L2611: ldr x0, [x29, 112] ldrb w0, [x0] cmp w0, w20 - bls .L2677 - add x0, x27, :lo12:.LANCHOR76 + bls .L2621 + add x0, x27, :lo12:.LANCHOR75 mov w22, 0 str x0, [x29, 120] - adrp x0, .LANCHOR14 - add x0, x0, :lo12:.LANCHOR14 + adrp x0, .LANCHOR19 + add x0, x0, :lo12:.LANCHOR19 str x0, [x29, 104] - b .L2678 -.L2676: + b .L2622 +.L2620: ldr x0, [x29, 104] ldr w0, [x0] - tbz x0, 12, .L2668 - adrp x0, .LC153 + tbz x0, 12, .L2612 + adrp x0, .LC150 mov w1, w21 - add x0, x0, :lo12:.LC153 + add x0, x0, :lo12:.LC150 bl printf -.L2668: +.L2612: ldr x0, [x29, 96] ldrb w19, [x0] madd w19, w21, w19, w22 and w19, w19, 65535 - cbnz w20, .L2669 - adrp x0, .LANCHOR27 - ldr x0, [x0, #:lo12:.LANCHOR27] + cbnz w20, .L2613 + adrp x0, .LANCHOR6 + ldr x0, [x0, #:lo12:.LANCHOR6] ldrb w0, [x0, 47] cmp w0, w19 - bcs .L2670 -.L2669: + bcs .L2614 +.L2613: and w28, w20, 255 mov w1, w19 mov w0, w28 bl flash_check_bad_block - cbnz w0, .L2670 + cbnz w0, .L2614 adrp x0, .LANCHOR111 mov w1, w23 ldrh w7, [x0, #:lo12:.LANCHOR111] @@ -16460,62 +16272,62 @@ ftl_test_block: mul w26, w7, w19 mov w2, w26 bl flash_erase_block_en - cbz w0, .L2671 - adrp x0, .LANCHOR79 - ldrb w0, [x0, #:lo12:.LANCHOR79] + cbz w0, .L2615 + adrp x0, .LANCHOR78 + ldrb w0, [x0, #:lo12:.LANCHOR78] cmp w0, 2 - bne .L2693 + bne .L2637 adrp x0, .LANCHOR0 ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L2693 + cbz w0, .L2637 mov w2, w26 mov w1, 1 mov w0, w28 bl flash_erase_block_en - cbnz w0, .L2693 -.L2675: - adrp x0, .LANCHOR79 + cbnz w0, .L2637 +.L2619: + adrp x0, .LANCHOR78 mov w23, 1 - ldrb w0, [x0, #:lo12:.LANCHOR79] + ldrb w0, [x0, #:lo12:.LANCHOR78] add w26, w26, w0, lsl 24 -.L2674: +.L2618: adrp x0, .LANCHOR131 - ldr x2, [x24, #:lo12:.LANCHOR190] + ldr x2, [x24, #:lo12:.LANCHOR187] mov w5, 1 - add x3, x25, :lo12:.LANCHOR191 + add x3, x25, :lo12:.LANCHOR188 ldrb w4, [x0, #:lo12:.LANCHOR131] mov w1, w26 mov w0, w28 bl flash_prog_page_en - cbz w0, .L2670 -.L2693: + cbz w0, .L2614 +.L2637: mov w1, w19 mov w0, w28 bl flash_mask_bad_block -.L2670: +.L2614: add w22, w22, 1 and w22, w22, 65535 -.L2678: +.L2622: ldr x0, [x29, 120] ldrb w0, [x0] cmp w0, w22 - bhi .L2676 + bhi .L2620 add w20, w20, 1 and w20, w20, 65535 - b .L2667 -.L2671: - cbz w23, .L2674 - b .L2675 -.L2677: - cbz w23, .L2679 - adrp x0, .LANCHOR7 + b .L2611 +.L2615: + cbz w23, .L2618 + b .L2619 +.L2621: + cbz w23, .L2623 + adrp x0, .LANCHOR9 mov w1, 2 - ldr x0, [x0, #:lo12:.LANCHOR7] + ldr x0, [x0, #:lo12:.LANCHOR9] add x21, x0, x21, uxth 2 ldrb w0, [x21, 2] bfi w0, w1, 3, 2 strb w0, [x21, 2] -.L2679: +.L2623: ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -16550,18 +16362,18 @@ ftl_prog_page: bl flash_prog_page_en mov w19, w0 cmn w0, #1 - bne .L2694 - mov w2, 2670 - adrp x1, .LANCHOR192 + bne .L2638 + mov w2, 2678 + adrp x1, .LANCHOR189 adrp x0, .LC0 - add x1, x1, :lo12:.LANCHOR192 + add x1, x1, :lo12:.LANCHOR189 add x0, x0, :lo12:.LC0 bl printf - adrp x0, .LC152 + adrp x0, .LC149 mov w1, w20 - add x0, x0, :lo12:.LC152 + add x0, x0, :lo12:.LC149 bl printf -.L2694: +.L2638: mov w0, w19 ldr x23, [sp, 48] ldp x19, x20, [sp, 16] @@ -16583,74 +16395,75 @@ ftl_info_flush: adrp x24, .LANCHOR110 ldrb w2, [x21, #:lo12:.LANCHOR131] stp x19, x20, [sp, 16] - adrp x20, .LANCHOR193 + adrp x20, .LANCHOR190 str w0, [x29, 116] - add x0, x20, :lo12:.LANCHOR193 + add x0, x20, :lo12:.LANCHOR190 stp x25, x26, [sp, 64] lsl w2, w2, 1 stp x27, x28, [sp, 80] bl ftl_memset ldr x0, [x24, #:lo12:.LANCHOR110] ldrh w1, [x0, 74] - cbz w1, .L2698 + cmp w1, 1 + bls .L2642 strh wzr, [x0, 150] -.L2698: - adrp x23, .LANCHOR194 - add x19, x23, :lo12:.LANCHOR194 +.L2642: + adrp x23, .LANCHOR191 + add x19, x23, :lo12:.LANCHOR191 adrp x25, .LANCHOR111 mov w26, 0 add x0, x25, :lo12:.LANCHOR111 str x0, [x29, 104] -.L2711: - add x0, x23, :lo12:.LANCHOR194 - adrp x22, .LANCHOR195 +.L2655: + add x0, x23, :lo12:.LANCHOR191 + adrp x22, .LANCHOR192 ldrh w1, [x25, #:lo12:.LANCHOR111] - add x7, x20, :lo12:.LANCHOR193 + add x7, x20, :lo12:.LANCHOR190 str w1, [x29, 120] ldrh w27, [x0, 2] ldr x0, [x24, #:lo12:.LANCHOR110] ldrb w1, [x21, #:lo12:.LANCHOR131] - ldrb w28, [x23, #:lo12:.LANCHOR194] + ldrb w28, [x23, #:lo12:.LANCHOR191] ldr w6, [x0, 4] lsl w1, w1, 9 add w6, w6, 1 str w6, [x0, 4] ldr w0, [x29, 116] - str w0, [x20, #:lo12:.LANCHOR193] - ldr x0, [x22, #:lo12:.LANCHOR195] + str w0, [x20, #:lo12:.LANCHOR190] + ldr x0, [x22, #:lo12:.LANCHOR192] str w6, [x7, 4] bl js_hash str w0, [x7, 8] - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L2699 - adrp x0, .LC154 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L2643 + adrp x0, .LC151 mov w3, w6 mov w2, w27 mov w1, w28 - add x0, x0, :lo12:.LC154 + add x0, x0, :lo12:.LC151 bl printf -.L2699: - adrp x1, .LANCHOR95 +.L2643: + adrp x1, .LANCHOR94 ldrh w0, [x19, 2] - ldrh w1, [x1, #:lo12:.LANCHOR95] + ldrh w1, [x1, #:lo12:.LANCHOR94] cmp w1, w0 - bhi .L2700 - adrp x27, .LANCHOR196 + bhi .L2644 + adrp x27, .LANCHOR193 adrp x3, .LC0 - add x27, x27, :lo12:.LANCHOR196 + add x27, x27, :lo12:.LANCHOR193 add x3, x3, :lo12:.LC0 -.L2707: +.L2651: ldrb w0, [x19, 1] - adrp x28, .LANCHOR27 + adrp x28, .LANCHOR6 add w0, w0, 1 and w0, w0, 255 strb w0, [x19, 1] cmp w0, 7 - bls .L2701 + bls .L2645 mov x0, 0 -.L2706: - ldr x2, [x28, #:lo12:.LANCHOR27] +.L2650: + ldr x2, [x28, #:lo12:.LANCHOR6] add w1, w0, 8 and w26, w0, 65535 add x1, x2, x1, sxtw @@ -16658,24 +16471,24 @@ ftl_info_flush: add w1, w2, 127 and w1, w1, 255 cmp w1, 125 - bhi .L2702 + bhi .L2646 mov x0, x3 str x3, [x29, 120] - mov w2, 841 + mov w2, 846 mov x1, x27 bl printf ldr x3, [x29, 120] -.L2705: +.L2649: strb w26, [x19, 1] mov w26, 1 -.L2701: - ldr x0, [x28, #:lo12:.LANCHOR27] +.L2645: + ldr x0, [x28, #:lo12:.LANCHOR6] ldrb w1, [x19, 1] add x0, x0, x1 ldrb w28, [x0, 40] strb w28, [x19] cmp w28, 255 - beq .L2707 + beq .L2651 ldr x0, [x29, 104] ldrh w27, [x0] mov w0, 0 @@ -16684,60 +16497,60 @@ ftl_info_flush: bl flash_erase_block ldrb w4, [x21, #:lo12:.LANCHOR131] mov w1, w27 - ldr x2, [x22, #:lo12:.LANCHOR195] - add x3, x20, :lo12:.LANCHOR193 + ldr x2, [x22, #:lo12:.LANCHOR192] + add x3, x20, :lo12:.LANCHOR190 mov w0, 0 add w27, w27, 1 bl ftl_prog_page mov w0, 1 strh w0, [x19, 2] -.L2708: +.L2652: ldrb w4, [x21, #:lo12:.LANCHOR131] mov w1, w27 - ldr x2, [x22, #:lo12:.LANCHOR195] - add x3, x20, :lo12:.LANCHOR193 + ldr x2, [x22, #:lo12:.LANCHOR192] + add x3, x20, :lo12:.LANCHOR190 mov w0, 0 bl ftl_prog_page cmn w0, #1 ldrh w1, [x19, 2] - adrp x0, .LANCHOR197 + adrp x0, .LANCHOR194 add w1, w1, 1 strh w1, [x19, 2] - beq .L2709 - ldrb w1, [x0, #:lo12:.LANCHOR197] - cbz w1, .L2710 -.L2709: - strb wzr, [x0, #:lo12:.LANCHOR197] - b .L2711 -.L2702: + beq .L2653 + ldrb w1, [x0, #:lo12:.LANCHOR194] + cbz w1, .L2654 +.L2653: + strb wzr, [x0, #:lo12:.LANCHOR194] + b .L2655 +.L2646: cmp w2, 255 - bne .L2705 + bne .L2649 add x0, x0, 1 cmp x0, 8 - bne .L2706 + bne .L2650 mov w26, w0 - b .L2705 -.L2700: + b .L2649 +.L2644: ldr w1, [x29, 120] madd w27, w1, w28, w27 - cbnz w0, .L2708 + cbnz w0, .L2652 mov w1, w27 bl flash_erase_block - b .L2708 -.L2710: - cbnz w26, .L2712 -.L2720: - adrp x0, .LANCHOR194 - ldrb w0, [x0, #:lo12:.LANCHOR194] + b .L2652 +.L2654: + cbnz w26, .L2656 +.L2664: + adrp x0, .LANCHOR191 + ldrb w0, [x0, #:lo12:.LANCHOR191] cmp w0, 255 - bne .L2714 - adrp x1, .LANCHOR196 + bne .L2658 + adrp x1, .LANCHOR193 adrp x0, .LC0 - mov w2, 885 - add x1, x1, :lo12:.LANCHOR196 + mov w2, 890 + add x1, x1, :lo12:.LANCHOR193 add x0, x0, :lo12:.LC0 bl printf -.L2714: +.L2658: ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -16746,43 +16559,43 @@ ftl_info_flush: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L2712: +.L2656: ldrb w19, [x19, 1] - adrp x20, .LANCHOR196 + adrp x20, .LANCHOR193 adrp x21, .LC0 - add x20, x20, :lo12:.LANCHOR196 + add x20, x20, :lo12:.LANCHOR193 add w19, w19, 1 add x21, x21, :lo12:.LC0 - adrp x22, .LANCHOR27 -.L2715: + adrp x22, .LANCHOR6 +.L2659: cmp w19, 7 - bhi .L2720 - ldr x1, [x22, #:lo12:.LANCHOR27] + bhi .L2664 + ldr x1, [x22, #:lo12:.LANCHOR6] add w0, w19, 8 add x0, x1, x0, sxtw ldrb w23, [x0, 32] add w0, w23, 127 and w0, w0, 255 cmp w0, 125 - bhi .L2716 - mov w2, 876 + bhi .L2660 + mov w2, 881 mov x1, x20 mov x0, x21 bl printf -.L2717: +.L2661: adrp x0, .LANCHOR111 ldrh w1, [x0, #:lo12:.LANCHOR111] mov w0, 0 mul w1, w1, w23 bl flash_erase_block - b .L2718 -.L2716: + b .L2662 +.L2660: cmp w23, 255 - bne .L2717 -.L2718: + bne .L2661 +.L2662: add w19, w19, 1 and w19, w19, 65535 - b .L2715 + b .L2659 .size ftl_info_flush, .-ftl_info_flush .section .text.ftl_info_blk_init,"ax",@progbits .align 2 @@ -16790,28 +16603,28 @@ ftl_info_flush: .type ftl_info_blk_init, %function ftl_info_blk_init: stp x29, x30, [sp, -112]! - adrp x0, .LANCHOR198 - adrp x1, .LANCHOR197 + adrp x0, .LANCHOR195 + adrp x1, .LANCHOR194 mov w2, 16384 add x29, sp, 0 - strb wzr, [x0, #:lo12:.LANCHOR198] + strb wzr, [x0, #:lo12:.LANCHOR195] mov w0, 1 - strb w0, [x1, #:lo12:.LANCHOR197] - adrp x1, .LANCHOR199 + strb w0, [x1, #:lo12:.LANCHOR194] + adrp x1, .LANCHOR196 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR195 - strb w0, [x1, #:lo12:.LANCHOR199] - adrp x1, .LANCHOR7 - ldr x0, [x21, #:lo12:.LANCHOR195] + adrp x21, .LANCHOR192 + strb w0, [x1, #:lo12:.LANCHOR196] + adrp x1, .LANCHOR9 + ldr x0, [x21, #:lo12:.LANCHOR192] mov x22, 7 - str x0, [x1, #:lo12:.LANCHOR7] - adrp x1, .LANCHOR6 + str x0, [x1, #:lo12:.LANCHOR9] + adrp x1, .LANCHOR8 stp x19, x20, [sp, 16] adrp x19, .LANCHOR110 - ldrh w1, [x1, #:lo12:.LANCHOR6] - adrp x20, .LANCHOR194 + ldrh w1, [x1, #:lo12:.LANCHOR8] + adrp x20, .LANCHOR191 stp x23, x24, [sp, 48] - adrp x23, .LANCHOR27 + adrp x23, .LANCHOR6 stp x25, x26, [sp, 64] adrp x24, .LANCHOR131 add x1, x0, x1, lsl 2 @@ -16820,50 +16633,50 @@ ftl_info_blk_init: mov w1, 0 bl ftl_memset adrp x26, .LANCHOR111 - adrp x0, .LANCHOR200 + adrp x0, .LANCHOR197 mov w1, 0 mov w2, 16384 mov w27, 21574 - ldr x0, [x0, #:lo12:.LANCHOR200] + ldr x0, [x0, #:lo12:.LANCHOR197] add x26, x26, :lo12:.LANCHOR111 add x24, x24, :lo12:.LANCHOR131 movk w27, 0x494c, lsl 16 bl ftl_memset - ldr x1, [x23, #:lo12:.LANCHOR27] - add x0, x20, :lo12:.LANCHOR194 + ldr x1, [x23, #:lo12:.LANCHOR6] + add x0, x20, :lo12:.LANCHOR191 strb wzr, [x0, 1] ldrb w1, [x1, 40] - strb w1, [x20, #:lo12:.LANCHOR194] + strb w1, [x20, #:lo12:.LANCHOR191] strh wzr, [x0, 2] -.L2739: - ldr x1, [x23, #:lo12:.LANCHOR27] +.L2680: + ldr x1, [x23, #:lo12:.LANCHOR6] add w0, w22, 8 sxth w25, w22 mov w28, w22 add x0, x1, x0, sxtw ldrb w0, [x0, 32] cmp w0, 255 - bne .L2738 -.L2743: + bne .L2679 +.L2684: sub x22, x22, #1 cmn x22, #1 - bne .L2739 + bne .L2680 mov w25, 0 -.L2740: - adrp x24, .LANCHOR14 - ldr w0, [x24, #:lo12:.LANCHOR14] - tbz x0, 12, .L2744 +.L2681: + adrp x24, .LANCHOR19 + ldr w0, [x24, #:lo12:.LANCHOR19] + tbz x0, 12, .L2685 ldr x0, [x19, #:lo12:.LANCHOR110] mov w2, 4800 mov w1, w22 ldr w3, [x0] - adrp x0, .LC156 - add x0, x0, :lo12:.LC156 + adrp x0, .LC153 + add x0, x0, :lo12:.LC153 bl printf -.L2744: +.L2685: cmn w22, #1 - bne .L2745 - ldr x0, [x21, #:lo12:.LANCHOR195] + bne .L2686 + ldr x0, [x21, #:lo12:.LANCHOR192] mov w1, 0 mov w2, 16384 bl ftl_memset @@ -16871,11 +16684,11 @@ ftl_info_blk_init: mov w1, 21574 movk w1, 0x494c, lsl 16 str w1, [x0] - mov w1, 35 + mov w1, 36 movk w1, 0x6, lsl 16 str w1, [x0, 12] mov w0, w22 -.L2737: +.L2678: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -16883,12 +16696,12 @@ ftl_info_blk_init: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 112 ret -.L2738: +.L2679: ldrh w6, [x26] - adrp x7, .LANCHOR193 + adrp x7, .LANCHOR190 ldrb w4, [x24] - add x7, x7, :lo12:.LANCHOR193 - ldr x2, [x21, #:lo12:.LANCHOR195] + add x7, x7, :lo12:.LANCHOR190 + ldr x2, [x21, #:lo12:.LANCHOR192] mov x3, x7 str x7, [x29, 96] mul w6, w6, w0 @@ -16900,87 +16713,87 @@ ftl_info_blk_init: cmn w0, #1 ldr w6, [x29, 108] ldr x7, [x29, 96] - bne .L2741 + bne .L2682 ldrb w4, [x24] mov x3, x7 - ldr x2, [x21, #:lo12:.LANCHOR195] + ldr x2, [x21, #:lo12:.LANCHOR192] add w1, w6, 1 mov w0, 0 bl ftl_read_page mov w5, w0 -.L2741: - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L2742 +.L2682: + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L2683 ldr x0, [x19, #:lo12:.LANCHOR110] mov w2, w5 str w5, [x29, 108] - mov w3, 744 + mov w3, 749 mov w1, w28 ldr w4, [x0] - adrp x0, .LC155 - add x0, x0, :lo12:.LC155 + adrp x0, .LC152 + add x0, x0, :lo12:.LC152 bl printf ldr w5, [x29, 108] -.L2742: +.L2683: cmn w5, #1 - beq .L2743 + beq .L2684 ldr x0, [x19, #:lo12:.LANCHOR110] ldr w0, [x0] cmp w0, w27 - bne .L2743 + bne .L2684 mov w22, w25 - b .L2740 -.L2745: - ldr x1, [x23, #:lo12:.LANCHOR27] + b .L2681 +.L2686: + ldr x1, [x23, #:lo12:.LANCHOR6] add w0, w25, 8 - ldr x2, [x21, #:lo12:.LANCHOR195] + ldr x2, [x21, #:lo12:.LANCHOR192] mov w4, 4 adrp x26, .LANCHOR131 mov w28, 21574 add x0, x1, x0, sxtw - adrp x27, .LC157 + adrp x27, .LC154 add x26, x26, :lo12:.LANCHOR131 - add x27, x27, :lo12:.LC157 + add x27, x27, :lo12:.LC154 movk w28, 0x494c, lsl 16 ldrb w1, [x0, 32] - add x0, x20, :lo12:.LANCHOR194 - strb w1, [x20, #:lo12:.LANCHOR194] + add x0, x20, :lo12:.LANCHOR191 + strb w1, [x20, #:lo12:.LANCHOR191] strb w25, [x0, 1] - adrp x25, .LANCHOR193 + adrp x25, .LANCHOR190 mov w0, 0 - add x3, x25, :lo12:.LANCHOR193 + add x3, x25, :lo12:.LANCHOR190 bl flash_get_last_written_page sxth w22, w0 add w0, w0, 1 - ldrb w23, [x20, #:lo12:.LANCHOR194] + ldrb w23, [x20, #:lo12:.LANCHOR191] and w0, w0, 65535 str w0, [x29, 108] adrp x0, .LANCHOR111 ldrh w0, [x0, #:lo12:.LANCHOR111] madd w23, w23, w0, w22 -.L2747: - tbnz w22, #31, .L2751 +.L2688: + tbnz w22, #31, .L2692 ldrb w4, [x26] - add x5, x25, :lo12:.LANCHOR193 - ldr x2, [x21, #:lo12:.LANCHOR195] + add x5, x25, :lo12:.LANCHOR190 + ldr x2, [x21, #:lo12:.LANCHOR192] mov x3, x5 mov w1, w23 mov w0, 0 str x5, [x29, 96] bl ftl_read_page cmn w0, #1 - beq .L2748 + beq .L2689 ldr x0, [x19, #:lo12:.LANCHOR110] ldr x5, [x29, 96] ldr w0, [x0] cmp w0, w28 - bne .L2748 + bne .L2689 ldr w6, [x5, 8] - cbnz w6, .L2749 -.L2751: + cbnz w6, .L2690 +.L2692: ldrh w0, [x29, 108] - add x20, x20, :lo12:.LANCHOR194 + add x20, x20, :lo12:.LANCHOR191 strh w0, [x20, 2] bl ftl_tmp_into_update ldr x1, [x19, #:lo12:.LANCHOR110] @@ -16991,33 +16804,33 @@ ftl_info_blk_init: bl ftl_info_flush mov w0, 0 bl ftl_info_flush - ldr w0, [x24, #:lo12:.LANCHOR14] - tbnz x0, 14, .L2750 -.L2767: + ldr w0, [x24, #:lo12:.LANCHOR19] + tbnz x0, 14, .L2691 +.L2708: mov w0, 0 - b .L2737 -.L2749: - ldr x0, [x21, #:lo12:.LANCHOR195] + b .L2678 +.L2690: + ldr x0, [x21, #:lo12:.LANCHOR192] ldrb w1, [x26] lsl w1, w1, 9 bl js_hash cmp w6, w0 - beq .L2751 + beq .L2692 mov w1, w6 mov x0, x27 bl printf -.L2748: +.L2689: sub w22, w22, #1 sub w23, w23, #1 sxth w22, w22 - b .L2747 -.L2750: + b .L2688 +.L2691: ldr x0, [x19, #:lo12:.LANCHOR110] ldr w1, [x0, 156] - adrp x0, .LC158 - add x0, x0, :lo12:.LC158 + adrp x0, .LC155 + add x0, x0, :lo12:.LC155 bl printf - b .L2767 + b .L2708 .size ftl_info_blk_init, .-ftl_info_blk_init .section .text.ftl_ext_info_flush,"ax",@progbits .align 2 @@ -17025,30 +16838,30 @@ ftl_info_blk_init: .type ftl_ext_info_flush, %function ftl_ext_info_flush: stp x29, x30, [sp, -96]! - adrp x0, .LANCHOR10 + adrp x0, .LANCHOR12 add x29, sp, 0 - ldr x0, [x0, #:lo12:.LANCHOR10] + ldr x0, [x0, #:lo12:.LANCHOR12] stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] ldr w1, [x0, 520] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] - cbz w1, .L2769 + cbz w1, .L2710 str wzr, [x0, 520] -.L2769: - adrp x20, .LANCHOR95 - adrp x22, .LANCHOR201 - adrp x21, .LANCHOR32 - add x20, x20, :lo12:.LANCHOR95 - add x22, x22, :lo12:.LANCHOR201 - add x21, x21, :lo12:.LANCHOR32 +.L2710: + adrp x20, .LANCHOR94 + adrp x22, .LANCHOR198 + adrp x21, .LANCHOR31 + add x20, x20, :lo12:.LANCHOR94 + add x22, x22, :lo12:.LANCHOR198 + add x21, x21, :lo12:.LANCHOR31 mov w0, 0 bl ftl_total_vpn_update -.L2770: +.L2711: adrp x23, .LANCHOR110 mov x24, x23 -.L2773: +.L2714: ldr x0, [x23, #:lo12:.LANCHOR110] ldr w1, [x0, 56] add w1, w1, 1 @@ -17056,29 +16869,29 @@ ftl_ext_info_flush: ldrh w1, [x0, 140] ldrh w0, [x20] cmp w1, w0 - bcc .L2771 + bcc .L2712 bl ftl_ext_alloc_new_blk -.L2771: +.L2712: ldr x0, [x24, #:lo12:.LANCHOR110] ldrh w1, [x0, 130] mov w0, 65535 cmp w1, w0 - bne .L2772 + bne .L2713 adrp x0, .LC0 - mov w2, 2203 + mov w2, 2211 mov x1, x22 add x0, x0, :lo12:.LC0 bl printf -.L2772: +.L2713: ldrb w19, [x21] mov w0, 24 ldr x1, [x24, #:lo12:.LANCHOR110] adrp x26, .LANCHOR131 sub w19, w0, w19 - adrp x0, .LANCHOR75 - adrp x27, .LANCHOR193 - add x25, x27, :lo12:.LANCHOR193 - ldrh w0, [x0, #:lo12:.LANCHOR75] + adrp x0, .LANCHOR74 + adrp x27, .LANCHOR190 + add x25, x27, :lo12:.LANCHOR190 + ldrh w0, [x0, #:lo12:.LANCHOR74] ldrh w2, [x1, 130] sub w0, w19, w0 mov w19, 1 @@ -17098,12 +16911,12 @@ ftl_ext_info_flush: bl ftl_memset ldr x0, [x24, #:lo12:.LANCHOR110] ldrb w7, [x26, #:lo12:.LANCHOR131] - str wzr, [x27, #:lo12:.LANCHOR193] + str wzr, [x27, #:lo12:.LANCHOR190] ldr w0, [x0, 56] lsl w1, w7, 9 str w0, [x25, 4] - adrp x0, .LANCHOR200 - ldr x6, [x0, #:lo12:.LANCHOR200] + adrp x0, .LANCHOR197 + ldr x6, [x0, #:lo12:.LANCHOR197] mov x0, x6 bl js_hash mov x2, x6 @@ -17119,16 +16932,16 @@ ftl_ext_info_flush: and w1, w1, 65535 strh w1, [x2, 140] cmp w1, 1 - beq .L2773 + beq .L2714 cmn w0, #1 - adrp x0, .LANCHOR199 - beq .L2774 - ldrb w1, [x0, #:lo12:.LANCHOR199] - cbz w1, .L2775 -.L2774: - strb wzr, [x0, #:lo12:.LANCHOR199] - b .L2770 -.L2775: + adrp x0, .LANCHOR196 + beq .L2715 + ldrb w1, [x0, #:lo12:.LANCHOR196] + cbz w1, .L2716 +.L2715: + strb wzr, [x0, #:lo12:.LANCHOR196] + b .L2711 +.L2716: mov w0, 0 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -17145,7 +16958,7 @@ ftl_ext_info_flush: ftl_ext_info_init: stp x29, x30, [sp, -128]! adrp x0, .LANCHOR121 - adrp x2, .LANCHOR75 + adrp x2, .LANCHOR74 mov w4, 4 add x29, sp, 0 stp x19, x20, [sp, 16] @@ -17153,19 +16966,19 @@ ftl_ext_info_init: strh wzr, [x0, #:lo12:.LANCHOR121] ldr x0, [x20, #:lo12:.LANCHOR110] stp x21, x22, [sp, 32] - adrp x21, .LANCHOR200 + adrp x21, .LANCHOR197 stp x27, x28, [sp, 80] stp x23, x24, [sp, 48] - adrp x24, .LANCHOR193 + adrp x24, .LANCHOR190 ldrh w1, [x0, 130] - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 stp x25, x26, [sp, 64] - add x3, x24, :lo12:.LANCHOR193 - ldrb w19, [x0, #:lo12:.LANCHOR32] + add x3, x24, :lo12:.LANCHOR190 + ldrb w19, [x0, #:lo12:.LANCHOR31] mov w0, 24 sub w0, w0, w19 - ldrh w19, [x2, #:lo12:.LANCHOR75] - ldr x2, [x21, #:lo12:.LANCHOR200] + ldrh w19, [x2, #:lo12:.LANCHOR74] + ldr x2, [x21, #:lo12:.LANCHOR197] sub w0, w0, w19 mov w19, 1 lsl w19, w19, w0 @@ -17177,21 +16990,21 @@ ftl_ext_info_init: mov w0, w27 bl flash_get_last_written_page sxth w23, w0 - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR19 stp x0, x24, [x29, 112] - ldr w1, [x0, #:lo12:.LANCHOR14] - tbz x1, 12, .L2786 + ldr w1, [x0, #:lo12:.LANCHOR19] + tbz x1, 12, .L2727 ldr x0, [x20, #:lo12:.LANCHOR110] - adrp x1, .LANCHOR202 + adrp x1, .LANCHOR199 and w4, w22, 65535 mov w3, w23 - mov w2, 2248 - add x1, x1, :lo12:.LANCHOR202 + mov w2, 2256 + add x1, x1, :lo12:.LANCHOR199 ldrh w5, [x0, 130] - adrp x0, .LC159 - add x0, x0, :lo12:.LC159 + adrp x0, .LC156 + add x0, x0, :lo12:.LC156 bl printf -.L2786: +.L2727: adrp x25, .LANCHOR131 adrp x26, .LANCHOR111 mov w28, 20038 @@ -17199,16 +17012,16 @@ ftl_ext_info_init: add x26, x26, :lo12:.LANCHOR111 mov w24, 0 movk w28, 0x4549, lsl 16 -.L2787: +.L2728: and w22, w23, 65535 sub w0, w22, w24 - tbnz x0, 15, .L2792 + tbnz x0, 15, .L2733 ldr x0, [x29, 120] sub w1, w23, w24 ldrb w4, [x25] - add x5, x0, :lo12:.LANCHOR193 + add x5, x0, :lo12:.LANCHOR190 ldrh w0, [x26] - ldr x2, [x21, #:lo12:.LANCHOR200] + ldr x2, [x21, #:lo12:.LANCHOR197] mov x3, x5 str x5, [x29, 104] madd w1, w0, w19, w1 @@ -17216,28 +17029,28 @@ ftl_ext_info_init: bl flash_read_page_en cmp w0, 512 ccmn w0, #1, 4, ne - beq .L2788 - adrp x0, .LANCHOR10 + beq .L2729 + adrp x0, .LANCHOR12 ldr x5, [x29, 104] - ldr x0, [x0, #:lo12:.LANCHOR10] + ldr x0, [x0, #:lo12:.LANCHOR12] ldr w0, [x0] cmp w0, w28 - bne .L2788 + bne .L2729 ldr w6, [x5, 8] - cbnz w6, .L2789 -.L2792: + cbnz w6, .L2730 +.L2733: bl zftl_sblk_list_init ldr x0, [x20, #:lo12:.LANCHOR110] ldrh w1, [x0, 140] cmp w1, w23 - bgt .L2791 + bgt .L2732 add w22, w22, 1 strh w22, [x0, 140] bl ftl_ext_info_flush -.L2791: - adrp x0, .LANCHOR10 +.L2732: + adrp x0, .LANCHOR12 mov w1, -1 - ldr x0, [x0, #:lo12:.LANCHOR10] + ldr x0, [x0, #:lo12:.LANCHOR12] strh w1, [x0, 584] strh w1, [x0, 586] strh w1, [x0, 588] @@ -17250,21 +17063,21 @@ ftl_ext_info_init: str wzr, [x0, 520] str wzr, [x0, 604] str wzr, [x0, 608] - ldr w1, [x1, #:lo12:.LANCHOR14] - tbz x1, 12, .L2794 + ldr w1, [x1, #:lo12:.LANCHOR19] + tbz x1, 12, .L2735 ldr w3, [x0, 12] - adrp x1, .LANCHOR202 - adrp x0, .LC161 + adrp x1, .LANCHOR199 + adrp x0, .LC158 mov w4, 0 mov w2, 0 - add x1, x1, :lo12:.LANCHOR202 - add x0, x0, :lo12:.LC161 + add x1, x1, :lo12:.LANCHOR199 + add x0, x0, :lo12:.LC158 bl printf -.L2794: - adrp x0, .LANCHOR73 +.L2735: + adrp x0, .LANCHOR72 mov w1, -1 ldp x19, x20, [sp, 16] - strh w1, [x0, #:lo12:.LANCHOR73] + strh w1, [x0, #:lo12:.LANCHOR72] ldp x21, x22, [sp, 32] mov w0, 0 ldp x23, x24, [sp, 48] @@ -17272,498 +17085,29 @@ ftl_ext_info_init: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L2789: - ldr x0, [x21, #:lo12:.LANCHOR200] +.L2730: + ldr x0, [x21, #:lo12:.LANCHOR197] ldrb w1, [x25] lsl w1, w1, 9 bl js_hash cmp w6, w0 - beq .L2792 - adrp x0, .LC160 + beq .L2733 + adrp x0, .LC157 mov w1, w6 - add x0, x0, :lo12:.LC160 + add x0, x0, :lo12:.LC157 bl printf -.L2788: +.L2729: add w24, w24, 1 - b .L2787 + b .L2728 .size ftl_ext_info_init, .-ftl_ext_info_init - .section .text.ftl_low_format_data_init,"ax",@progbits - .align 2 - .global ftl_low_format_data_init - .type ftl_low_format_data_init, %function -ftl_low_format_data_init: - stp x29, x30, [sp, -48]! - adrp x0, .LANCHOR200 - mov w2, 16384 - mov w1, 0 - add x29, sp, 0 - ldr x0, [x0, #:lo12:.LANCHOR200] - stp x19, x20, [sp, 16] - adrp x19, .LANCHOR110 - str x21, [sp, 32] - bl ftl_memset - bl zftl_sblk_list_init - mov w0, 1 - bl ftl_alloc_sblk - mov w1, 0 - mov w21, w0 - bl ftl_erase_sblk - ldr x1, [x19, #:lo12:.LANCHOR110] - mov w0, w21 - add x1, x1, 672 - bl ftl_get_blk_list_in_sblk - ldr x0, [x19, #:lo12:.LANCHOR110] - ldrh w20, [x0, 672] - strh wzr, [x0, 690] - mov w0, 65533 - sub w1, w20, #1 - cmp w0, w1, uxth - bcs .L2806 - adrp x1, .LANCHOR203 - adrp x0, .LC0 - mov w2, 2476 - add x1, x1, :lo12:.LANCHOR203 - add x0, x0, :lo12:.LC0 - bl printf -.L2806: - ldr x0, [x19, #:lo12:.LANCHOR110] - mov w2, 256 - mov w1, 255 - add x0, x0, 416 - strh wzr, [x0, 280] - bl ftl_memset - ldr x0, [x19, #:lo12:.LANCHOR110] - mov w2, 4096 - mov w1, 0 - add x0, x0, 704 - bl ftl_memset - adrp x0, .LANCHOR32 - ldr x1, [x19, #:lo12:.LANCHOR110] - ldrb w2, [x0, #:lo12:.LANCHOR32] - mov w0, 24 - sub w0, w0, w2 - adrp x2, .LANCHOR75 - strh w21, [x1, 416] - adrp x21, .LANCHOR10 - ldrh w2, [x2, #:lo12:.LANCHOR75] - strh w20, [x1, 692] - sub w0, w0, w2 - asr w0, w20, w0 - strh w0, [x1, 694] - mov w0, 1 - strh w0, [x1, 688] - adrp x0, .LANCHOR204 - ldrh w0, [x0, #:lo12:.LANCHOR204] - strh w0, [x1, 698] - mov w1, 20038 - ldr x0, [x21, #:lo12:.LANCHOR10] - movk w1, 0x4549, lsl 16 - str w1, [x0] - bl ftl_alloc_sys_blk - mov w20, w0 - mov w1, 0 - bl ftl_erase_phy_blk - ldr x0, [x19, #:lo12:.LANCHOR110] - mov w1, 2 - strh w20, [x0, 130] - mov w20, -1 - strh wzr, [x0, 140] - ldr x0, [x21, #:lo12:.LANCHOR10] - add x0, x0, 16 - strh w20, [x0, 568] - strh w20, [x0, 570] - strh w20, [x0, 572] - strh w20, [x0, 574] - bl ftl_open_sblk_init - ldr x0, [x21, #:lo12:.LANCHOR10] - mov w1, 3 - add x0, x0, 48 - bl ftl_open_sblk_init - ldr x1, [x19, #:lo12:.LANCHOR110] - ldr x0, [x21, #:lo12:.LANCHOR10] - add x0, x0, 136 - ldrh w2, [x1, 134] - strh w2, [x0, -10] - strh w20, [x0, -56] - mov w2, -1 - strh w20, [x0, -6] - str w2, [x0, 408] - strh wzr, [x0, -12] - strh wzr, [x0, -16] - strh wzr, [x0, -14] - strh w2, [x1, 126] - mov w2, 256 - str wzr, [x0, 384] - mov w1, 255 - str wzr, [x0, 388] - str wzr, [x0, 392] - bl ftl_memset - mov w2, 128 - mov w1, 255 - ldr x0, [x21, #:lo12:.LANCHOR10] - add x0, x0, 392 - bl ftl_memset - bl ftl_ext_info_flush - mov w0, 0 - bl ftl_info_flush - bl ftl_info_blk_init - ldr x21, [sp, 32] - mov w0, 0 - ldp x19, x20, [sp, 16] - ldp x29, x30, [sp], 48 - ret - .size ftl_low_format_data_init, .-ftl_low_format_data_init - .section .text.ftl_low_format,"ax",@progbits - .align 2 - .global ftl_low_format - .type ftl_low_format, %function -ftl_low_format: - stp x29, x30, [sp, -80]! - mov w1, 0 - adrp x0, .LC162 - add x0, x0, :lo12:.LC162 - add x29, sp, 0 - stp x19, x20, [sp, 16] - adrp x20, .LANCHOR205 - stp x21, x22, [sp, 32] - add x20, x20, :lo12:.LANCHOR205 - stp x25, x26, [sp, 64] - adrp x22, .LANCHOR27 - mov x25, x22 - stp x23, x24, [sp, 48] - mov w19, 8 - adrp x23, .LC0 - bl printf -.L2811: - ldr x0, [x22, #:lo12:.LANCHOR27] - add x0, x0, x19, sxtw - ldrb w21, [x0, 32] - add w0, w21, 127 - and w0, w0, 255 - cmp w0, 125 - bhi .L2809 - mov w2, 2531 - mov x1, x20 - add x0, x23, :lo12:.LC0 - bl printf -.L2809: - cmp w21, 255 - beq .L2810 - adrp x0, .LANCHOR111 - ldrh w1, [x0, #:lo12:.LANCHOR111] - mov w0, 0 - mul w1, w1, w21 - bl flash_erase_block -.L2810: - add w19, w19, 1 - cmp w19, 16 - bne .L2811 - bl sblk_init - adrp x22, .LANCHOR7 - bl ftl_info_blk_init - adrp x19, .LANCHOR6 - adrp x0, .LANCHOR195 - mov w2, 16384 - mov w1, 0 - ldr x0, [x0, #:lo12:.LANCHOR195] - bl ftl_memset - ldr x0, [x22, #:lo12:.LANCHOR7] - mov w3, 1 - ldrh w2, [x19, #:lo12:.LANCHOR6] - add x2, x0, x2, lsl 2 -.L2812: - cmp x0, x2 - bne .L2813 - adrp x21, .LANCHOR110 - mov w1, 21574 - adrp x24, .LANCHOR69 - add x24, x24, :lo12:.LANCHOR69 - ldr x0, [x21, #:lo12:.LANCHOR110] - movk w1, 0x494c, lsl 16 - mov w20, 0 - mov w26, 1 - strh wzr, [x0, 148] - str w1, [x0] -.L2814: - ldrh w0, [x19, #:lo12:.LANCHOR6] - adrp x23, .LANCHOR76 - cmp w0, w20 - bhi .L2823 - ldr x0, [x25, #:lo12:.LANCHOR27] - mov w4, 3 - ldrb w2, [x23, #:lo12:.LANCHOR76] - mov w10, 15 - ldr x6, [x21, #:lo12:.LANCHOR110] - cmp w2, 1 - ldr x1, [x22, #:lo12:.LANCHOR7] - ldrb w0, [x0, 47] - csinc w4, w4, wzr, ne - and w4, w4, 255 - and w8, w2, 65535 - ldrh w3, [x6, 148] - udiv w0, w0, w2 - and w5, w0, 65535 - ubfiz x0, x0, 2, 8 - add x0, x0, 4 - add w20, w5, 1 - add x0, x1, x0 -.L2826: - cmp w2, 4 - add x1, x1, 4 - csel w7, w10, w4, eq - strb w7, [x1, -1] - ldrb w7, [x1, -2] - orr w7, w7, -32 - strb w7, [x1, -2] - cmp x1, x0 - bne .L2826 - mul w5, w5, w8 - mov w4, 16 - add w0, w8, w3 - sdiv w4, w4, w2 - add w0, w5, w0, uxth - strh w0, [x6, 148] - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - add w4, w20, w4 - and w4, w4, 65535 - strh w4, [x6, 134] - tbz x0, 12, .L2827 - adrp x0, .LC163 - mov w3, w20 - mov w2, 128 - mov w1, 2590 - add x0, x0, :lo12:.LC163 - bl printf -.L2827: - ldr x0, [x21, #:lo12:.LANCHOR110] - mov w2, 128 - mov w1, 255 - add x0, x0, 160 - bl ftl_memset - adrp x0, .LANCHOR112 - ldrb w10, [x23, #:lo12:.LANCHOR76] - adrp x3, .LANCHOR75 - ldr x2, [x21, #:lo12:.LANCHOR110] - ldrb w16, [x0, #:lo12:.LANCHOR112] - adrp x0, .LANCHOR32 - and w11, w10, 65535 - ldr x15, [x22, #:lo12:.LANCHOR7] - ldrb w4, [x0, #:lo12:.LANCHOR32] - mov w0, 24 - ldrh w8, [x2, 134] - sub w0, w0, w4 - ldrh w4, [x3, #:lo12:.LANCHOR75] - mul w1, w20, w11 - mov w3, 0 - sub w0, w0, w4 - mov w4, 1 - and w1, w1, 65535 - lsl w4, w4, w0 - and w4, w4, 65535 -.L2828: - cmp w20, w8 - bcc .L2834 - ldrh w0, [x19, #:lo12:.LANCHOR6] - strh w3, [x2, 112] - sub w0, w0, w8 - strh wzr, [x2, 114] - strh w0, [x2, 116] - strh wzr, [x2, 118] - strh w8, [x2, 132] - bl ftl_low_format_data_init - mov w0, 0 - ldp x19, x20, [sp, 16] - ldp x21, x22, [sp, 32] - ldp x23, x24, [sp, 48] - ldp x25, x26, [sp, 64] - ldp x29, x30, [sp], 80 - ret -.L2813: - ldrb w1, [x0, 2] - add x0, x0, 4 - and w1, w1, 31 - bfi w1, w3, 3, 2 - strb w1, [x0, -2] - b .L2812 -.L2823: - adrp x0, .LANCHOR82 - strh w20, [x24] - ldrb w0, [x0, #:lo12:.LANCHOR82] - cbnz w0, .L2815 - mov w0, w20 - bl ftl_test_block -.L2815: - ldrb w11, [x23, #:lo12:.LANCHOR76] - adrp x0, .LANCHOR112 - ldr x6, [x22, #:lo12:.LANCHOR7] - mov w7, 0 - ldrb w14, [x0, #:lo12:.LANCHOR112] - mov w10, 0 - ldr x13, [x21, #:lo12:.LANCHOR110] - mov w8, 0 - mul w12, w20, w11 - add x6, x6, x20, uxth 2 -.L2816: - cmp w8, w14 - bcs .L2820 - add w15, w11, w7 - b .L2821 -.L2819: - add w1, w7, w12 - mov w0, w8 - bl flash_check_bad_block - cbz w0, .L2817 - ldrb w1, [x6, 3] - lsl w0, w26, w7 - orr w0, w0, w1 - strb w0, [x6, 3] - ldrh w0, [x13, 148] - add w0, w0, 1 - strh w0, [x13, 148] -.L2818: - add w7, w7, 1 -.L2821: - cmp w7, w15 - bne .L2819 - add w8, w8, 1 - sub w12, w12, w11 - and w8, w8, 65535 - b .L2816 -.L2817: - add w10, w10, 1 - and w10, w10, 65535 - b .L2818 -.L2820: - cbnz w10, .L2822 - ldrb w0, [x6, 2] - orr w0, w0, -32 - strb w0, [x6, 2] -.L2822: - add w20, w20, 1 - and w20, w20, 65535 - b .L2814 -.L2834: - add x13, x15, x20, uxth 2 - mov w6, 0 - mov w12, 0 - mov w5, 0 - ldrb w0, [x13, 2] - orr w0, w0, -32 - strb w0, [x13, 2] -.L2829: - cmp w5, w16 - bcc .L2836 - add w20, w20, 1 - add w1, w1, w11 - and w20, w20, 65535 - and w1, w1, 65535 - b .L2828 -.L2832: - ldrb w14, [x13, 3] - add w17, w12, w7 - asr w14, w14, w17 - tbnz x14, 0, .L2830 - cmp w10, 1 - bls .L2835 - and w0, w0, 1 - add w0, w1, w0 - and w0, w0, 65535 -.L2831: - add x14, x2, x3, sxtw 1 - add w3, w3, 1 - and w3, w3, 65535 - add w0, w0, w6 - strh w0, [x14, 160] -.L2830: - add x7, x7, 1 -.L2833: - and w0, w7, 65535 - cmp w0, w11 - bcc .L2832 - add w5, w5, 1 - add w6, w4, w6 - and w5, w5, 65535 - add w12, w12, w10 - and w6, w6, 65535 - b .L2829 -.L2835: - mov w0, w1 - b .L2831 -.L2836: - mov x7, 0 - b .L2833 - .size ftl_low_format, .-ftl_low_format - .section .text.ftl_re_low_format,"ax",@progbits - .align 2 - .global ftl_re_low_format - .type ftl_re_low_format, %function -ftl_re_low_format: - stp x29, x30, [sp, -16]! - mov w1, 1 - adrp x0, .LC164 - add x0, x0, :lo12:.LC164 - add x29, sp, 0 - bl printf - bl sblk_init - bl ftl_info_blk_init - bl ftl_ext_info_init - adrp x0, .LANCHOR110 - adrp x2, .LANCHOR6 - mov w3, 0 - mov w4, 0 - ldr x0, [x0, #:lo12:.LANCHOR110] - mov w5, 0 - ldrh w7, [x2, #:lo12:.LANCHOR6] - adrp x2, .LANCHOR7 - ldr x2, [x2, #:lo12:.LANCHOR7] - ldrh w1, [x0, 134] - add x2, x2, x1, uxth 2 -.L2847: - cmp w1, w7 - bcc .L2851 - strh w5, [x0, 114] - strh w4, [x0, 118] - strh w3, [x0, 116] - strh wzr, [x0, 122] - strh wzr, [x0, 120] - strh wzr, [x0, 124] - bl ftl_low_format_data_init - mov w0, 0 - ldp x29, x30, [sp], 16 - ret -.L2851: - ldrb w6, [x2, 2] - and w8, w6, 31 - strb w8, [x2, 2] - ands w6, w6, 24 - bne .L2848 - add w5, w5, 1 - and w5, w5, 65535 -.L2849: - add w1, w1, 1 - add x2, x2, 4 - and w1, w1, 65535 - b .L2847 -.L2848: - cmp w6, 16 - bne .L2850 - add w4, w4, 1 - and w4, w4, 65535 - b .L2849 -.L2850: - add w3, w3, 1 - and w3, w3, 65535 - b .L2849 - .size ftl_re_low_format, .-ftl_re_low_format .section .text.ftl_prog_ppa_page,"ax",@progbits .align 2 .global ftl_prog_ppa_page .type ftl_prog_ppa_page, %function ftl_prog_ppa_page: - adrp x4, .LANCHOR32 + adrp x4, .LANCHOR31 mov w5, 1 - ldrb w6, [x4, #:lo12:.LANCHOR32] + ldrb w6, [x4, #:lo12:.LANCHOR31] mov w4, 24 sub w4, w4, w6 lsl w7, w5, w4 @@ -17785,7 +17129,7 @@ ftl_prog_ppa_page: ftl_write_last_log_page: ldrh w1, [x0, 6] cmp w1, 1 - bne .L2856 + bne .L2749 stp x29, x30, [sp, -48]! adrp x1, .LANCHOR117 add x29, sp, 0 @@ -17797,19 +17141,19 @@ ftl_write_last_log_page: bl ftl_get_new_free_page mov w21, w0 cmn w0, #1 - beq .L2857 + beq .L2750 ldrh w0, [x19] add x20, x20, x22, uxth 2 bl ftl_vpn_decrement - adrp x0, .LANCHOR191 + adrp x0, .LANCHOR188 mov w1, 15555 - add x7, x0, :lo12:.LANCHOR191 + add x7, x0, :lo12:.LANCHOR188 movk w1, 0xf55f, lsl 16 - str w1, [x0, #:lo12:.LANCHOR191] - adrp x0, .LANCHOR95 - ldrh w1, [x0, #:lo12:.LANCHOR95] - adrp x0, .LANCHOR80 - ldrb w0, [x0, #:lo12:.LANCHOR80] + str w1, [x0, #:lo12:.LANCHOR188] + adrp x0, .LANCHOR94 + ldrh w1, [x0, #:lo12:.LANCHOR94] + adrp x0, .LANCHOR79 + ldrb w0, [x0, #:lo12:.LANCHOR79] mul w1, w1, w0 mov x0, x20 lsl w1, w1, 2 @@ -17827,16 +17171,1536 @@ ftl_write_last_log_page: ldrb w3, [x0, #:lo12:.LANCHOR131] mov w0, w21 bl ftl_prog_ppa_page -.L2857: +.L2750: mov w0, 0 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 48 ret -.L2856: +.L2749: mov w0, -1 ret .size ftl_write_last_log_page, .-ftl_write_last_log_page + .section .text.ftl_dump_write_open_sblk,"ax",@progbits + .align 2 + .global ftl_dump_write_open_sblk + .type ftl_dump_write_open_sblk, %function +ftl_dump_write_open_sblk: + sub sp, sp, #224 + stp x29, x30, [sp, 48] + add x29, sp, 48 + stp x19, x20, [sp, 64] + and w20, w0, 65535 + adrp x0, .LANCHOR8 + stp x21, x22, [sp, 80] + stp x23, x24, [sp, 96] + ldrh w0, [x0, #:lo12:.LANCHOR8] + stp x25, x26, [sp, 112] + stp x27, x28, [sp, 128] + cmp w0, w20 + bls .L2755 + adrp x0, .LANCHOR83 + str x0, [x29, 120] + ldrb w1, [x0, #:lo12:.LANCHOR83] + cbnz w1, .L2757 + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbz w0, .L2755 +.L2757: + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L2755 + adrp x0, .LANCHOR9 + ubfiz x14, x20, 2, 16 + mov x15, x0 + ldr x1, [x0, #:lo12:.LANCHOR9] + add x1, x1, x14 + ldrb w1, [x1, 2] + and w1, w1, 224 + cmp w1, 160 + bne .L2779 + adrp x0, .LANCHOR78 + ldrb w25, [x0, #:lo12:.LANCHOR78] +.L2758: + add x21, x29, 176 + adrp x23, .LANCHOR94 + mov w0, w20 + adrp x26, .LANCHOR111 + add x26, x26, :lo12:.LANCHOR111 + mov w27, 0 + strh w20, [x21, -32]! + mov w28, 0 + add x1, x21, 16 + bl ftl_get_blk_list_in_sblk + ldrh w1, [x23, #:lo12:.LANCHOR94] + and w0, w0, 255 + strb w0, [x29, 153] + strb wzr, [x29, 149] + strh wzr, [x29, 146] + mul w0, w0, w1 + strh wzr, [x29, 154] + strh w0, [x29, 150] + ldr x0, [x15, #:lo12:.LANCHOR9] + add x1, x0, x14 + ldr w5, [x0, x14] + ldrb w2, [x1, 2] + mov w1, w20 + ldrh w4, [x0, x14] + adrp x0, .LC159 + ubfx x5, x5, 11, 8 + add x0, x0, :lo12:.LC159 + ubfx x3, x2, 3, 2 + and w4, w4, 2047 + ubfx x2, x2, 5, 3 + bl printf + mov w0, 1 + bl buf_alloc + mov x19, x0 + mov w10, 0 + add x0, x23, :lo12:.LANCHOR94 + str x0, [x29, 128] +.L2759: + ldr x0, [x29, 128] + ldrh w0, [x0] + cmp w0, w27 + bls .L2767 + lsl w22, w27, 1 + mov w28, 0 + sub w0, w22, #1 + add w22, w22, w27 + str w0, [x29, 140] + sub w22, w22, #1 + adrp x0, .LC160 + add x0, x0, :lo12:.LC160 + str x0, [x29, 112] + b .L2770 +.L2779: + mov w25, 1 + b .L2758 +.L2768: + ldrh w12, [x21, x24] + mov w0, 65535 + cmp w12, w0 + bne .L2760 +.L2766: + add w10, w10, 1 + and w10, w10, 65535 +.L2761: + cmp w25, w10 + bcs .L2768 + add w11, w28, 1 + and w28, w11, 65535 +.L2770: + ldrb w0, [x29, 153] + cmp w0, w28 + bls .L2769 + sxtw x24, w28 + mov w10, 1 + add x24, x24, 8 + lsl x24, x24, 1 + b .L2761 +.L2760: + ldrh w3, [x26] + cmp w25, 3 + mul w3, w3, w12 + add w0, w3, w10 + bne .L2762 + adrp x1, .LANCHOR36 + ldrb w1, [x1, #:lo12:.LANCHOR36] + cbz w1, .L2763 + adrp x1, .LANCHOR78 + add w0, w0, w22 + ldrb w3, [x1, #:lo12:.LANCHOR78] +.L2793: + orr w3, w0, w3, lsl 24 + b .L2764 +.L2763: + add w3, w27, w3 + orr w3, w3, w10, lsl 24 +.L2764: + str w3, [x19, 40] + mov w1, 1 + stp w10, w12, [x29, 104] + mov x0, x19 + str w3, [x29, 136] + bl sblk_read_page + ldr w13, [x19, 52] + ldp w10, w12, [x29, 104] + cmp w13, 512 + ccmn w13, #1, 4, ne + ldr w3, [x29, 136] + bne .L2766 + ldr x1, [x19, 24] + mov w4, w13 + ldr x0, [x19, 8] + str w10, [x29, 108] + str w13, [x29, 136] + ldr w2, [x1, 12] + str w2, [sp, 32] + ldr w2, [x1, 8] + str w2, [sp, 24] + ldr w2, [x1, 4] + str w2, [sp, 16] + mov w2, w27 + ldr w1, [x1] + str w1, [sp, 8] + ldr w1, [x0, 12] + str w1, [sp] + mov w1, w12 + ldp w5, w6, [x0] + ldr w7, [x0, 8] + ldr x0, [x29, 112] + bl printf + ldr w13, [x29, 136] + ldr w10, [x29, 108] + cmp w13, 512 + bne .L2766 +.L2767: + mov w4, w10 + mov w3, w28 + mov w2, w27 + mov w1, w20 + adrp x24, .LANCHOR131 + adrp x0, .LC161 + add x0, x0, :lo12:.LC161 + bl printf + ldr x0, [x19, 8] + mov w1, 0 + ldrb w2, [x24, #:lo12:.LANCHOR131] + adrp x25, .LANCHOR19 + adrp x26, .LC162 + add x25, x25, :lo12:.LANCHOR19 + add x26, x26, :lo12:.LC162 + lsl w2, w2, 9 + bl ftl_memset + ldr x0, [x19, 24] + mov w1, 0 + ldrb w2, [x24, #:lo12:.LANCHOR131] + lsl w2, w2, 1 + bl ftl_memset +.L2771: + ldrh w0, [x23, #:lo12:.LANCHOR94] + cmp w0, w27 + bls .L2777 + lsl w0, w27, 1 + str w0, [x29, 140] + ldr x0, [x29, 120] + mov w22, 0 + add x28, x0, :lo12:.LANCHOR83 + b .L2778 +.L2762: + cmp w25, 2 + bne .L2765 + adrp x1, .LANCHOR78 + ldrb w3, [x1, #:lo12:.LANCHOR78] + ldr w1, [x29, 140] + add w0, w1, w0 + b .L2793 +.L2765: + add w3, w27, w3 + b .L2764 +.L2769: + add w8, w27, 1 + and w27, w8, 65535 + b .L2759 +.L2776: + ldr w0, [x25] + tbz x0, 12, .L2772 + mov w2, w22 + mov w1, w27 + mov x0, x26 + bl printf +.L2772: + ldrb w1, [x28] + adrp x2, .LANCHOR111 + sxtw x0, w22 + cbz w1, .L2773 + add x0, x0, 8 + ldrh w1, [x2, #:lo12:.LANCHOR111] + ldrh w0, [x21, x0, lsl 1] + mul w0, w0, w1 + orr w0, w0, w27 + str w0, [x19, 40] + mov x0, x19 + bl sblk_3d_tlc_dump_prog +.L2774: + add w22, w22, 1 + and w22, w22, 65535 +.L2778: + ldrb w0, [x29, 153] + cmp w0, w22 + bhi .L2776 + add w8, w27, 1 + and w27, w8, 65535 + b .L2771 +.L2773: + adrp x1, .LANCHOR78 + add x0, x0, 8 + ldrb w1, [x1, #:lo12:.LANCHOR78] + cmp w1, 2 + bne .L2775 + ldrh w1, [x2, #:lo12:.LANCHOR111] + ldrh w0, [x21, x0, lsl 1] + mul w0, w0, w1 + ldr w1, [x29, 140] + orr w0, w0, w1 + orr w0, w0, 33554432 + str w0, [x19, 40] + mov x0, x19 + bl sblk_mlc_dump_prog + b .L2774 +.L2775: + ldrh w1, [x21, x0, lsl 1] + mov w6, 1 + ldrh w0, [x2, #:lo12:.LANCHOR111] + mov w5, 0 + ldrb w4, [x24, #:lo12:.LANCHOR131] + ldr x3, [x19, 24] + mul w1, w1, w0 + adrp x0, .LANCHOR31 + ldrb w2, [x0, #:lo12:.LANCHOR31] + mov w0, 24 + orr w1, w1, w27 + str w1, [x19, 40] + sub w0, w0, w2 + lsl w6, w6, w2 + ldr x2, [x19, 8] + sub w6, w6, #1 + lsl w7, w6, w0 + lsr w0, w1, w0 + bic w1, w1, w7 + and w0, w0, w6 + bl flash_prog_page_en + b .L2774 +.L2777: + mov x0, x19 + bl zbuf_free + adrp x0, .LC163 + mov w1, w20 + add x0, x0, :lo12:.LC163 + bl printf +.L2755: + ldp x19, x20, [sp, 64] + ldp x21, x22, [sp, 80] + ldp x23, x24, [sp, 96] + ldp x25, x26, [sp, 112] + ldp x27, x28, [sp, 128] + ldp x29, x30, [sp, 48] + add sp, sp, 224 + ret + .size ftl_dump_write_open_sblk, .-ftl_dump_write_open_sblk + .section .text.gc_ink_check_sblk,"ax",@progbits + .align 2 + .global gc_ink_check_sblk + .type gc_ink_check_sblk, %function +gc_ink_check_sblk: + stp x29, x30, [sp, -80]! + add x29, sp, 0 + stp x19, x20, [sp, 16] + adrp x19, .LANCHOR70 + add x0, x19, :lo12:.LANCHOR70 + stp x21, x22, [sp, 32] + stp x23, x24, [sp, 48] + stp x25, x26, [sp, 64] + ldrh w1, [x0, 2110] + ldr x22, [x0, 2184] + cmp w1, 3 + bhi .L2795 + adrp x0, .L2797 + mov x20, x19 + add x0, x0, :lo12:.L2797 + ldrh w0, [x0,w1,uxtw #1] + adr x1, .Lrtx2797 + add x0, x1, w0, sxth #2 + br x0 +.Lrtx2797: + .section .rodata.gc_ink_check_sblk,"a",@progbits + .align 0 + .align 2 +.L2797: + .2byte (.L2796 - .Lrtx2797) / 4 + .2byte (.L2798 - .Lrtx2797) / 4 + .2byte (.L2799 - .Lrtx2797) / 4 + .2byte (.L2800 - .Lrtx2797) / 4 + .section .text.gc_ink_check_sblk +.L2796: + adrp x0, .LANCHOR107 + add x24, x0, :lo12:.LANCHOR107 + ldrh w0, [x0, #:lo12:.LANCHOR107] + cmp w0, 7 + bls .L2794 + adrp x0, .LANCHOR57 + ldrb w0, [x0, #:lo12:.LANCHOR57] + cmp w0, 2 + bls .L2794 + adrp x21, .LANCHOR108 + add x21, x21, :lo12:.LANCHOR108 + mov w1, 0 + mov x0, x21 + bl _list_get_gc_head_node + and w0, w0, 65535 + mov w23, 65535 + cmp w0, w23 + beq .L2794 + adrp x22, .LANCHOR9 + ubfiz x0, x0, 2, 16 + ldr x1, [x22, #:lo12:.LANCHOR9] + ldrh w0, [x1, x0] + and w0, w0, 2047 + cmp w0, 2 + bgt .L2794 + add x20, x19, :lo12:.LANCHOR70 + mov w0, 1 + bl buf_alloc + str x0, [x20, 2184] + cbz x0, .L2794 + mov x2, x24 + mov w1, 0 + mov x0, x21 + bl _list_pop_index_node + and w14, w0, 65535 + cmp w14, w23 + bne .L2804 + ldr x0, [x20, 2184] + bl zbuf_free + str xzr, [x20, 2184] +.L2794: + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] + ldp x29, x30, [sp], 80 + ret +.L2804: + add x1, x20, 2162 + mov w0, w14 + bl ftl_get_blk_list_in_sblk + strb w0, [x20, 2155] + mov w0, 1 + strh w0, [x20, 2110] + ldr x0, [x22, #:lo12:.LANCHOR9] + strh w14, [x20, 2146] + ubfiz x14, x14, 2, 16 + strh wzr, [x20, 2148] + ldrh w1, [x0, x14] + adrp x0, .LANCHOR131 + ldrb w2, [x0, #:lo12:.LANCHOR131] + ldr x0, [x20, 2184] + lsl w2, w2, 9 + tbz x1, 0, .L2805 + mov w1, 85 +.L2820: + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] + ldr x0, [x0, 8] + ldp x29, x30, [sp], 80 + b ftl_memset +.L2805: + mov w1, 170 + b .L2820 +.L2798: + add x20, x19, :lo12:.LANCHOR70 + mov w1, 0 + ldrh w0, [x20, 2146] + bl ftl_erase_sblk + mov w0, 2 + strh w0, [x20, 2110] + b .L2794 +.L2799: + adrp x21, .LANCHOR111 + mov w24, 65280 + adrp x23, .LANCHOR31 + add x21, x21, :lo12:.LANCHOR111 + add x23, x23, :lo12:.LANCHOR31 + mov w19, 0 + movk w24, 0x55aa, lsl 16 + bl sblk_wait_write_queue_completed +.L2806: + add x0, x20, :lo12:.LANCHOR70 + ldrb w1, [x0, 2155] + cmp w1, w19 + bhi .L2808 + ldrh w1, [x0, 2148] + adrp x2, .LANCHOR94 + add w1, w1, 1 + ldrh w2, [x2, #:lo12:.LANCHOR94] + and w1, w1, 65535 + strh w1, [x0, 2148] + cmp w2, w1 + bhi .L2794 + mov w1, 3 + strh wzr, [x0, 2148] + strh w1, [x0, 2110] + b .L2794 +.L2808: + add x1, x0, x19, sxtw 1 + ldrh w2, [x1, 2162] + mov w1, 65535 + cmp w2, w1 + beq .L2807 + ldrh w0, [x0, 2148] + mov w6, 1 + ldrh w1, [x21] + mov w5, 0 + ldr x3, [x22, 24] + madd w1, w1, w2, w0 + ldr x2, [x22, 8] + mov w0, 24 + stp w1, w24, [x2] + str wzr, [x3] + ldrb w4, [x23] + sub w0, w0, w4 + lsl w6, w6, w4 + adrp x4, .LANCHOR131 + sub w6, w6, #1 + ldrb w4, [x4, #:lo12:.LANCHOR131] + lsl w7, w6, w0 + lsr w0, w1, w0 + bic w1, w1, w7 + and w0, w0, w6 + bl flash_prog_page_en +.L2807: + add w19, w19, 1 + and w19, w19, 65535 + b .L2806 +.L2800: + adrp x25, .LANCHOR111 + add x19, x19, :lo12:.LANCHOR70 + add x25, x25, :lo12:.LANCHOR111 + mov w21, 0 + mov w26, 65535 + bl sblk_wait_write_queue_completed +.L2809: + ldrb w0, [x19, 2155] + cmp w0, w21 + bhi .L2813 + ldrh w0, [x19, 2148] + adrp x1, .LANCHOR94 + add w0, w0, 1 + ldrh w1, [x1, #:lo12:.LANCHOR94] + and w0, w0, 65535 + strh w0, [x19, 2148] + cmp w1, w0 + bhi .L2794 + ldr x0, [x19, 2184] + strh wzr, [x19, 2110] + bl zbuf_free + str xzr, [x19, 2184] + ldrh w0, [x19, 2112] + cmp w0, 15 + bhi .L2814 + add w1, w0, 1 + add x0, x19, x0, sxtw 1 + strh w1, [x19, 2112] + ldrh w1, [x19, 2146] + strh w1, [x0, 2114] +.L2815: + add x19, x20, :lo12:.LANCHOR70 + adrp x0, .LC164 + ldp x21, x22, [sp, 32] + add x0, x0, :lo12:.LC164 + ldrh w2, [x19, 2112] + ldrh w1, [x19, 2146] + ldp x23, x24, [sp, 48] + ldp x19, x20, [sp, 16] + ldp x25, x26, [sp, 64] + ldp x29, x30, [sp], 80 + b printf +.L2813: + add x24, x19, x21, sxtw 1 + add x24, x24, 16 + ldrh w0, [x24, 2146] + cmp w0, w26 + beq .L2811 + ldrh w1, [x19, 2148] + ldrh w23, [x25] + madd w23, w23, w0, w1 + mov w1, 1 + str w23, [x22, 40] + mov x0, x22 + bl sblk_read_page + ldr x0, [x22, 8] + ldr w0, [x0] + cmp w23, w0 + beq .L2811 + mov w0, w23 + bl ftl_mask_bad_block + mov w0, -1 + strh w0, [x24, 2146] +.L2811: + add w21, w21, 1 + and w21, w21, 65535 + b .L2809 +.L2814: + ldrh w0, [x19, 2146] + bl zftl_insert_free_list + b .L2815 +.L2795: + strh wzr, [x0, 2110] + b .L2794 + .size gc_ink_check_sblk, .-gc_ink_check_sblk + .section .text.ftl_ink_check_sblk,"ax",@progbits + .align 2 + .global ftl_ink_check_sblk + .type ftl_ink_check_sblk, %function +ftl_ink_check_sblk: + stp x29, x30, [sp, -144]! + add x29, sp, 0 + stp x23, x24, [sp, 48] + adrp x24, .LANCHOR9 + stp x19, x20, [sp, 16] + and w19, w0, 65535 + ldr x0, [x24, #:lo12:.LANCHOR9] + ubfiz x23, x19, 2, 16 + stp x21, x22, [sp, 32] + mov w1, w19 + stp x25, x26, [sp, 64] + stp x27, x28, [sp, 80] + ldr w3, [x0, x23] + ldrh w2, [x0, x23] + adrp x0, .LC165 + add x0, x0, :lo12:.LC165 + ubfx x3, x3, 11, 8 + and w2, w2, 2047 + bl printf + mov w0, 65535 + cmp w19, w0 + beq .L2821 + adrp x0, .LANCHOR8 + ldrh w0, [x0, #:lo12:.LANCHOR8] + cmp w0, w19 + bls .L2821 + add x21, x29, 144 + mov w1, 0 + mov w0, w19 + bl ftl_erase_sblk + mov w0, w19 + adrp x27, .LANCHOR131 + strh w19, [x21, -32]! + add x1, x21, 16 + bl ftl_get_blk_list_in_sblk + strb w0, [x29, 121] + mov w0, 1 + bl buf_alloc + mov x20, x0 + ldr x0, [x24, #:lo12:.LANCHOR9] + ldrb w2, [x27, #:lo12:.LANCHOR131] + ldrh w0, [x0, x23] + lsl w2, w2, 9 + and w0, w0, 2047 + cmp w0, 1 + bgt .L2823 + mov w1, 85 +.L2839: + ldr x0, [x20, 8] + adrp x28, .LANCHOR111 + add x28, x28, :lo12:.LANCHOR111 + mov w26, 0 + bl ftl_memset + bl sblk_wait_write_queue_completed + mov w7, 65280 + movk w7, 0x55aa, lsl 16 +.L2825: + adrp x25, .LANCHOR94 + ldrh w0, [x25, #:lo12:.LANCHOR94] + cmp w0, w26 + bls .L2828 + adrp x25, .LANCHOR31 + mov w22, 0 + add x25, x25, :lo12:.LANCHOR31 + b .L2829 +.L2823: + mov w1, 170 + b .L2839 +.L2827: + add x0, x21, x22, sxtw 1 + mov w1, 65535 + ldrh w0, [x0, 16] + cmp w0, w1 + beq .L2826 + ldrh w1, [x28] + mov w6, 1 + ldr x2, [x20, 8] + mov w5, 0 + ldr x3, [x20, 24] + str w7, [x29, 108] + madd w1, w1, w0, w26 + mov w0, 24 + stp w1, w7, [x2] + str wzr, [x3] + ldrb w4, [x25] + sub w0, w0, w4 + lsl w6, w6, w4 + ldrb w4, [x27, #:lo12:.LANCHOR131] + sub w6, w6, #1 + lsl w8, w6, w0 + lsr w0, w1, w0 + bic w1, w1, w8 + and w0, w0, w6 + bl flash_prog_page_en + ldr w7, [x29, 108] +.L2826: + add w22, w22, 1 + and w22, w22, 65535 +.L2829: + ldrb w0, [x29, 121] + cmp w0, w22 + bhi .L2827 + add w26, w26, 1 + and w26, w26, 65535 + b .L2825 +.L2828: + adrp x26, .LANCHOR111 + add x26, x26, :lo12:.LANCHOR111 + mov w28, 0 +.L2830: + ldrh w0, [x25, #:lo12:.LANCHOR94] + cmp w0, w28 + bls .L2835 + mov w27, 0 + b .L2836 +.L2834: + sxtw x22, w27 + mov w1, 65535 + add x22, x22, 8 + lsl x22, x22, 1 + ldrh w0, [x21, x22] + cmp w0, w1 + beq .L2832 + ldrh w4, [x26] + mov w1, 1 + madd w4, w4, w0, w28 + mov x0, x20 + str w4, [x20, 40] + str w4, [x29, 108] + bl sblk_read_page + ldr x0, [x20, 8] + ldr w4, [x29, 108] + ldr w0, [x0] + cmp w4, w0 + beq .L2832 + mov w0, w4 + bl ftl_mask_bad_block + mov w0, -1 + strh w0, [x21, x22] +.L2832: + add w2, w27, 1 + and w27, w2, 65535 +.L2836: + ldrb w0, [x29, 121] + cmp w0, w27 + bhi .L2834 + add w3, w28, 1 + and w28, w3, 65535 + b .L2830 +.L2835: + mov x0, x20 + bl zbuf_free + ldr x0, [x24, #:lo12:.LANCHOR9] + mov w1, w19 + ldr w3, [x0, x23] + ldrh w2, [x0, x23] + adrp x0, .LC166 + add x0, x0, :lo12:.LC166 + ubfx x3, x3, 11, 8 + and w2, w2, 2047 + bl printf +.L2821: + 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 + ret + .size ftl_ink_check_sblk, .-ftl_ink_check_sblk + .section .text.ftl_alloc_sblk,"ax",@progbits + .align 2 + .global ftl_alloc_sblk + .type ftl_alloc_sblk, %function +ftl_alloc_sblk: + stp x29, x30, [sp, -80]! + cmp w0, 5 + add x29, sp, 0 + stp x23, x24, [sp, 48] + and w23, w0, 65535 + stp x21, x22, [sp, 32] + mov w1, w23 + stp x19, x20, [sp, 16] + cset w22, eq + mov w21, w0 + str x25, [sp, 64] + mov w0, 0 + bl zftl_get_free_sblk + and w19, w0, 65535 + mov w0, 65535 + cmp w19, w0 + beq .L2842 + adrp x0, .LANCHOR9 + ubfiz x25, x19, 2, 16 + lsl w22, w22, 1 + mov w24, w19 + ldr x20, [x0, #:lo12:.LANCHOR9] + mov x23, x0 + add x20, x20, x25 + ldrb w1, [x20, 2] + tst w1, 224 + beq .L2843 + adrp x1, .LANCHOR200 + adrp x0, .LC0 + mov w2, 1012 + add x1, x1, :lo12:.LANCHOR200 + add x0, x0, :lo12:.LC0 + bl printf +.L2843: + ldrb w0, [x20, 2] + bfi w0, w21, 5, 3 + ubfx x1, x0, 3, 2 + orr w1, w22, w1 + bfi w0, w1, 3, 2 + strb w0, [x20, 2] + and w1, w0, 24 + cmp w1, 24 + bne .L2844 + cbnz w22, .L2844 + mov w1, 1 + bfi w0, w1, 3, 2 + strb w0, [x20, 2] +.L2844: + adrp x0, .LANCHOR110 + ldr x0, [x0, #:lo12:.LANCHOR110] + ldrh w0, [x0, 150] + cbz w0, .L2845 + ldr x0, [x23, #:lo12:.LANCHOR9] + ldrh w0, [x0, x25] + tst x0, 2047 + bne .L2845 + cbnz w22, .L2845 + mov w0, w24 + bl ftl_ink_check_sblk +.L2845: + mov w0, w19 + ldr x25, [sp, 64] + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x23, x24, [sp, 48] + ldp x29, x30, [sp], 80 + ret +.L2842: + bl print_ftl_debug_info + adrp x20, .LC167 + mov w2, w21 + add x20, x20, :lo12:.LC167 + mov w1, w19 + mov x0, x20 + bl printf + mov w1, w23 + mov w0, 0 + bl zftl_get_free_sblk + and w19, w0, 65535 + mov w2, w21 + mov w1, w19 + mov x0, x20 + bl printf + bl dump_all_list_info + mov w2, 1031 + adrp x1, .LANCHOR200 + adrp x0, .LC0 + add x1, x1, :lo12:.LANCHOR200 + add x0, x0, :lo12:.LC0 + bl printf + b .L2845 + .size ftl_alloc_sblk, .-ftl_alloc_sblk + .section .text.ftl_open_sblk_init,"ax",@progbits + .align 2 + .global ftl_open_sblk_init + .type ftl_open_sblk_init, %function +ftl_open_sblk_init: + stp x29, x30, [sp, -80]! + add x29, sp, 0 + stp x21, x22, [sp, 32] + adrp x21, .LANCHOR79 + stp x23, x24, [sp, 48] + adrp x22, .LC168 + stp x19, x20, [sp, 16] + adrp x24, .LANCHOR94 + mov x19, x0 + mov w23, w1 + add x24, x24, :lo12:.LANCHOR94 + add x21, x21, :lo12:.LANCHOR79 + add x22, x22, :lo12:.LC168 + stp x25, x26, [sp, 64] +.L2855: + mov w25, 65535 +.L2856: + mov w0, w23 + bl ftl_alloc_sblk + and w20, w0, 65535 + cmp w20, w25 + beq .L2856 + mov w1, 0 + mov w0, w20 + bl ftl_erase_sblk + add x1, x19, 16 + mov w0, w20 + bl ftl_get_blk_list_in_sblk + and w0, w0, 255 + ldrh w1, [x24] + cmp w23, 2 + strb w0, [x19, 9] + strh w20, [x19] + strh wzr, [x19, 2] + mul w0, w1, w0 + strb wzr, [x19, 5] + strh w0, [x19, 6] + strh wzr, [x19, 10] + strb w23, [x19, 4] + beq .L2859 + ldrb w0, [x21] + mul w0, w1, w0 + and w0, w0, 65535 +.L2857: + ldrb w2, [x21] + adrp x26, .LANCHOR11 + strh w0, [x19, 12] + ubfiz x25, x20, 1, 16 + mul w2, w2, w1 + adrp x1, .LANCHOR117 + ldr x3, [x1, #:lo12:.LANCHOR117] + mov w1, 255 + lsl w2, w2, 2 + add x0, x3, x0, uxth 2 + bl ftl_memset + ldr x0, [x26, #:lo12:.LANCHOR11] + ldrh w1, [x19, 6] + strh w1, [x0, x25] + ldrb w0, [x19, 9] + cbnz w0, .L2854 + mov w1, w20 + mov x0, x22 + bl printf + ldr x0, [x26, #:lo12:.LANCHOR11] + mov w1, -1 + strh w1, [x0, x25] + mov w0, 7 + strb w0, [x19, 4] + b .L2855 +.L2859: + mov w0, 0 + b .L2857 +.L2854: + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] + ldp x29, x30, [sp], 80 + ret + .size ftl_open_sblk_init, .-ftl_open_sblk_init + .section .text.ftl_low_format_data_init,"ax",@progbits + .align 2 + .global ftl_low_format_data_init + .type ftl_low_format_data_init, %function +ftl_low_format_data_init: + stp x29, x30, [sp, -48]! + adrp x0, .LANCHOR197 + mov w2, 16384 + mov w1, 0 + add x29, sp, 0 + ldr x0, [x0, #:lo12:.LANCHOR197] + stp x19, x20, [sp, 16] + adrp x19, .LANCHOR110 + str x21, [sp, 32] + bl ftl_memset + bl zftl_sblk_list_init + mov w0, 1 + bl ftl_alloc_sblk + mov w1, 0 + mov w21, w0 + bl ftl_erase_sblk + ldr x1, [x19, #:lo12:.LANCHOR110] + mov w0, w21 + add x1, x1, 672 + bl ftl_get_blk_list_in_sblk + ldr x0, [x19, #:lo12:.LANCHOR110] + ldrh w20, [x0, 672] + strh wzr, [x0, 690] + mov w0, 65533 + sub w1, w20, #1 + cmp w0, w1, uxth + bcs .L2863 + adrp x1, .LANCHOR201 + adrp x0, .LC0 + mov w2, 2484 + add x1, x1, :lo12:.LANCHOR201 + add x0, x0, :lo12:.LC0 + bl printf +.L2863: + ldr x0, [x19, #:lo12:.LANCHOR110] + mov w2, 256 + mov w1, 255 + add x0, x0, 416 + strh wzr, [x0, 280] + bl ftl_memset + ldr x0, [x19, #:lo12:.LANCHOR110] + mov w2, 4096 + mov w1, 0 + add x0, x0, 704 + bl ftl_memset + adrp x0, .LANCHOR31 + ldr x1, [x19, #:lo12:.LANCHOR110] + ldrb w2, [x0, #:lo12:.LANCHOR31] + mov w0, 24 + sub w0, w0, w2 + adrp x2, .LANCHOR74 + strh w21, [x1, 416] + adrp x21, .LANCHOR12 + ldrh w2, [x2, #:lo12:.LANCHOR74] + strh w20, [x1, 692] + sub w0, w0, w2 + asr w0, w20, w0 + strh w0, [x1, 694] + mov w0, 1 + strh w0, [x1, 688] + adrp x0, .LANCHOR202 + ldrh w0, [x0, #:lo12:.LANCHOR202] + strh w0, [x1, 698] + mov w1, 20038 + ldr x0, [x21, #:lo12:.LANCHOR12] + movk w1, 0x4549, lsl 16 + str w1, [x0] + bl ftl_alloc_sys_blk + mov w20, w0 + mov w1, 0 + bl ftl_erase_phy_blk + ldr x0, [x19, #:lo12:.LANCHOR110] + mov w1, 2 + strh w20, [x0, 130] + mov w20, -1 + strh wzr, [x0, 140] + ldr x0, [x21, #:lo12:.LANCHOR12] + add x0, x0, 16 + strh w20, [x0, 568] + strh w20, [x0, 570] + strh w20, [x0, 572] + strh w20, [x0, 574] + bl ftl_open_sblk_init + ldr x0, [x21, #:lo12:.LANCHOR12] + mov w1, 3 + add x0, x0, 48 + bl ftl_open_sblk_init + ldr x1, [x19, #:lo12:.LANCHOR110] + ldr x0, [x21, #:lo12:.LANCHOR12] + add x0, x0, 136 + ldrh w2, [x1, 134] + strh w2, [x0, -10] + strh w20, [x0, -56] + mov w2, -1 + strh w20, [x0, -6] + str w2, [x0, 408] + strh wzr, [x0, -12] + strh wzr, [x0, -16] + strh wzr, [x0, -14] + strh w2, [x1, 126] + mov w2, 256 + str wzr, [x0, 384] + mov w1, 255 + str wzr, [x0, 388] + str wzr, [x0, 392] + bl ftl_memset + mov w2, 128 + mov w1, 255 + ldr x0, [x21, #:lo12:.LANCHOR12] + add x0, x0, 392 + bl ftl_memset + bl ftl_ext_info_flush + mov w0, 0 + bl ftl_info_flush + bl ftl_info_blk_init + ldr x21, [sp, 32] + mov w0, 0 + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 48 + ret + .size ftl_low_format_data_init, .-ftl_low_format_data_init + .section .text.ftl_low_format,"ax",@progbits + .align 2 + .global ftl_low_format + .type ftl_low_format, %function +ftl_low_format: + stp x29, x30, [sp, -80]! + mov w1, 0 + adrp x0, .LC169 + add x0, x0, :lo12:.LC169 + add x29, sp, 0 + stp x19, x20, [sp, 16] + adrp x20, .LANCHOR203 + stp x21, x22, [sp, 32] + add x20, x20, :lo12:.LANCHOR203 + stp x25, x26, [sp, 64] + adrp x22, .LANCHOR6 + mov x25, x22 + stp x23, x24, [sp, 48] + mov w19, 8 + adrp x23, .LC0 + bl printf +.L2868: + ldr x0, [x22, #:lo12:.LANCHOR6] + add x0, x0, x19, sxtw + ldrb w21, [x0, 32] + add w0, w21, 127 + and w0, w0, 255 + cmp w0, 125 + bhi .L2866 + mov w2, 2539 + mov x1, x20 + add x0, x23, :lo12:.LC0 + bl printf +.L2866: + cmp w21, 255 + beq .L2867 + adrp x0, .LANCHOR111 + ldrh w1, [x0, #:lo12:.LANCHOR111] + mov w0, 0 + mul w1, w1, w21 + bl flash_erase_block +.L2867: + add w19, w19, 1 + cmp w19, 16 + bne .L2868 + bl sblk_init + adrp x22, .LANCHOR9 + bl ftl_info_blk_init + adrp x19, .LANCHOR8 + adrp x0, .LANCHOR192 + mov w2, 16384 + mov w1, 0 + ldr x0, [x0, #:lo12:.LANCHOR192] + bl ftl_memset + ldr x0, [x22, #:lo12:.LANCHOR9] + mov w3, 1 + ldrh w2, [x19, #:lo12:.LANCHOR8] + add x2, x0, x2, lsl 2 +.L2869: + cmp x0, x2 + bne .L2870 + adrp x21, .LANCHOR110 + mov w1, 21574 + adrp x24, .LANCHOR68 + add x24, x24, :lo12:.LANCHOR68 + ldr x0, [x21, #:lo12:.LANCHOR110] + movk w1, 0x494c, lsl 16 + mov w20, 0 + mov w26, 1 + strh wzr, [x0, 148] + str w1, [x0] +.L2871: + ldrh w0, [x19, #:lo12:.LANCHOR8] + adrp x23, .LANCHOR75 + cmp w0, w20 + bhi .L2880 + ldr x0, [x25, #:lo12:.LANCHOR6] + mov w4, 3 + ldrb w2, [x23, #:lo12:.LANCHOR75] + mov w10, 15 + ldr x6, [x21, #:lo12:.LANCHOR110] + cmp w2, 1 + ldr x1, [x22, #:lo12:.LANCHOR9] + ldrb w0, [x0, 47] + csinc w4, w4, wzr, ne + and w4, w4, 255 + and w8, w2, 65535 + ldrh w3, [x6, 148] + udiv w0, w0, w2 + and w5, w0, 65535 + ubfiz x0, x0, 2, 8 + add x0, x0, 4 + add w20, w5, 1 + add x0, x1, x0 +.L2883: + cmp w2, 4 + add x1, x1, 4 + csel w7, w10, w4, eq + strb w7, [x1, -1] + ldrb w7, [x1, -2] + orr w7, w7, -32 + strb w7, [x1, -2] + cmp x1, x0 + bne .L2883 + mul w5, w5, w8 + mov w4, 16 + add w0, w8, w3 + sdiv w4, w4, w2 + add w0, w5, w0, uxth + strh w0, [x6, 148] + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + add w4, w20, w4 + and w4, w4, 65535 + strh w4, [x6, 134] + tbz x0, 12, .L2884 + adrp x0, .LC170 + mov w3, w20 + mov w2, 128 + mov w1, 2598 + add x0, x0, :lo12:.LC170 + bl printf +.L2884: + ldr x0, [x21, #:lo12:.LANCHOR110] + mov w2, 128 + mov w1, 255 + add x0, x0, 160 + bl ftl_memset + adrp x0, .LANCHOR112 + ldrb w10, [x23, #:lo12:.LANCHOR75] + adrp x3, .LANCHOR74 + ldr x2, [x21, #:lo12:.LANCHOR110] + ldrb w16, [x0, #:lo12:.LANCHOR112] + adrp x0, .LANCHOR31 + and w11, w10, 65535 + ldr x15, [x22, #:lo12:.LANCHOR9] + ldrb w4, [x0, #:lo12:.LANCHOR31] + mov w0, 24 + ldrh w8, [x2, 134] + sub w0, w0, w4 + ldrh w4, [x3, #:lo12:.LANCHOR74] + mul w1, w20, w11 + mov w3, 0 + sub w0, w0, w4 + mov w4, 1 + and w1, w1, 65535 + lsl w4, w4, w0 + and w4, w4, 65535 +.L2885: + cmp w20, w8 + bcc .L2891 + ldrh w0, [x19, #:lo12:.LANCHOR8] + strh w3, [x2, 112] + sub w0, w0, w8 + strh wzr, [x2, 114] + strh w0, [x2, 116] + strh wzr, [x2, 118] + strh w8, [x2, 132] + bl ftl_low_format_data_init + mov w0, 0 + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] + ldp x29, x30, [sp], 80 + ret +.L2870: + ldrb w1, [x0, 2] + add x0, x0, 4 + and w1, w1, 31 + bfi w1, w3, 3, 2 + strb w1, [x0, -2] + b .L2869 +.L2880: + adrp x0, .LANCHOR81 + strh w20, [x24] + ldrb w0, [x0, #:lo12:.LANCHOR81] + cbnz w0, .L2872 + mov w0, w20 + bl ftl_test_block +.L2872: + ldrb w11, [x23, #:lo12:.LANCHOR75] + adrp x0, .LANCHOR112 + ldr x6, [x22, #:lo12:.LANCHOR9] + mov w7, 0 + ldrb w14, [x0, #:lo12:.LANCHOR112] + mov w10, 0 + ldr x13, [x21, #:lo12:.LANCHOR110] + mov w8, 0 + mul w12, w20, w11 + add x6, x6, x20, uxth 2 +.L2873: + cmp w8, w14 + bcs .L2877 + add w15, w11, w7 + b .L2878 +.L2876: + add w1, w7, w12 + mov w0, w8 + bl flash_check_bad_block + cbz w0, .L2874 + ldrb w1, [x6, 3] + lsl w0, w26, w7 + orr w0, w0, w1 + strb w0, [x6, 3] + ldrh w0, [x13, 148] + add w0, w0, 1 + strh w0, [x13, 148] +.L2875: + add w7, w7, 1 +.L2878: + cmp w7, w15 + bne .L2876 + add w8, w8, 1 + sub w12, w12, w11 + and w8, w8, 65535 + b .L2873 +.L2874: + add w10, w10, 1 + and w10, w10, 65535 + b .L2875 +.L2877: + cbnz w10, .L2879 + ldrb w0, [x6, 2] + orr w0, w0, -32 + strb w0, [x6, 2] +.L2879: + add w20, w20, 1 + and w20, w20, 65535 + b .L2871 +.L2891: + add x13, x15, x20, uxth 2 + mov w6, 0 + mov w12, 0 + mov w5, 0 + ldrb w0, [x13, 2] + orr w0, w0, -32 + strb w0, [x13, 2] +.L2886: + cmp w5, w16 + bcc .L2893 + add w20, w20, 1 + add w1, w1, w11 + and w20, w20, 65535 + and w1, w1, 65535 + b .L2885 +.L2889: + ldrb w14, [x13, 3] + add w17, w12, w7 + asr w14, w14, w17 + tbnz x14, 0, .L2887 + cmp w10, 1 + bls .L2892 + and w0, w0, 1 + add w0, w1, w0 + and w0, w0, 65535 +.L2888: + add x14, x2, x3, sxtw 1 + add w3, w3, 1 + and w3, w3, 65535 + add w0, w0, w6 + strh w0, [x14, 160] +.L2887: + add x7, x7, 1 +.L2890: + and w0, w7, 65535 + cmp w0, w11 + bcc .L2889 + add w5, w5, 1 + add w6, w4, w6 + and w5, w5, 65535 + add w12, w12, w10 + and w6, w6, 65535 + b .L2886 +.L2892: + mov w0, w1 + b .L2888 +.L2893: + mov x7, 0 + b .L2890 + .size ftl_low_format, .-ftl_low_format + .section .text.ftl_re_low_format,"ax",@progbits + .align 2 + .global ftl_re_low_format + .type ftl_re_low_format, %function +ftl_re_low_format: + stp x29, x30, [sp, -16]! + mov w1, 1 + adrp x0, .LC171 + add x0, x0, :lo12:.LC171 + add x29, sp, 0 + bl printf + bl sblk_init + bl ftl_info_blk_init + bl ftl_ext_info_init + adrp x0, .LANCHOR110 + adrp x2, .LANCHOR8 + mov w3, 0 + mov w4, 0 + ldr x0, [x0, #:lo12:.LANCHOR110] + mov w5, 0 + ldrh w7, [x2, #:lo12:.LANCHOR8] + adrp x2, .LANCHOR9 + ldr x2, [x2, #:lo12:.LANCHOR9] + ldrh w1, [x0, 134] + add x2, x2, x1, uxth 2 +.L2904: + cmp w1, w7 + bcc .L2908 + strh w5, [x0, 114] + strh w4, [x0, 118] + strh w3, [x0, 116] + strh wzr, [x0, 122] + strh wzr, [x0, 120] + strh wzr, [x0, 124] + bl ftl_low_format_data_init + mov w0, 0 + ldp x29, x30, [sp], 16 + ret +.L2908: + ldrb w6, [x2, 2] + and w8, w6, 31 + strb w8, [x2, 2] + ands w6, w6, 24 + bne .L2905 + add w5, w5, 1 + and w5, w5, 65535 +.L2906: + add w1, w1, 1 + add x2, x2, 4 + and w1, w1, 65535 + b .L2904 +.L2905: + cmp w6, 16 + bne .L2907 + add w4, w4, 1 + and w4, w4, 65535 + b .L2906 +.L2907: + add w3, w3, 1 + and w3, w3, 65535 + b .L2906 + .size ftl_re_low_format, .-ftl_re_low_format + .section .text.pm_alloc_new_blk,"ax",@progbits + .align 2 + .global pm_alloc_new_blk + .type pm_alloc_new_blk, %function +pm_alloc_new_blk: + stp x29, x30, [sp, -64]! + adrp x2, .LANCHOR79 + add x29, sp, 0 + stp x19, x20, [sp, 16] + adrp x20, .LANCHOR110 + stp x21, x22, [sp, 32] + ldr x1, [x20, #:lo12:.LANCHOR110] + ldrb w2, [x2, #:lo12:.LANCHOR79] + ldrh w0, [x1, 690] + str x23, [sp, 48] + add w0, w0, 1 + and w0, w0, 65535 + strh w0, [x1, 690] + cmp w2, w0 + bls .L2911 + add x0, x1, x0, sxtw 1 + ldrh w1, [x0, 672] + mov w0, 65535 + cmp w1, w0 + bne .L2912 +.L2911: + adrp x19, .LC168 + add x19, x19, :lo12:.LC168 + mov w23, 65535 + adrp x22, .LANCHOR9 +.L2913: + mov w0, 1 + bl ftl_alloc_sblk + and w21, w0, 65535 + cmp w21, w23 + beq .L2913 + mov w1, 0 + mov w0, w21 + bl ftl_erase_sblk + add x14, x20, :lo12:.LANCHOR110 + ldr x1, [x20, #:lo12:.LANCHOR110] + mov w0, w21 + add x1, x1, 672 + bl ftl_get_blk_list_in_sblk + tst w0, 65535 + bne .L2914 + mov w1, w21 + mov x0, x19 + bl printf + ldr x0, [x22, #:lo12:.LANCHOR9] + add x21, x0, x21, uxth 2 + ldrb w0, [x21, 2] + orr w0, w0, -32 + strb w0, [x21, 2] + b .L2913 +.L2914: + ldr x0, [x14] + adrp x1, .LANCHOR204 + mov w2, 1 + mov w19, 0 + add x0, x0, 416 + str w2, [x1, #:lo12:.LANCHOR204] + mov w1, 65535 + strh wzr, [x0, 274] +.L2916: + ldrh w2, [x0] + cmp w2, w1 + beq .L2915 + add w19, w19, 1 + add x0, x0, 2 + and w19, w19, 65535 + cmp w19, 128 + bne .L2916 + adrp x1, .LANCHOR205 + adrp x0, .LC0 + mov w2, 264 + add x1, x1, :lo12:.LANCHOR205 + add x0, x0, :lo12:.LC0 + bl printf +.L2915: + ldr x0, [x20, #:lo12:.LANCHOR110] + add x19, x0, x19, sxtw 1 + ldrh w1, [x0, 688] + strh w21, [x19, 416] + add w1, w1, 1 + strh w1, [x0, 688] +.L2912: + ldr x1, [x20, #:lo12:.LANCHOR110] + ldrh w0, [x1, 690] + add x0, x0, 336 + ldrh w19, [x1, x0, lsl 1] + mov w0, 65533 + sub w1, w19, #1 + cmp w0, w1, uxth + bcs .L2918 + adrp x1, .LANCHOR205 + adrp x0, .LC0 + mov w2, 270 + add x1, x1, :lo12:.LANCHOR205 + add x0, x0, :lo12:.LC0 + bl printf +.L2918: + adrp x1, .LANCHOR31 + mov w2, 24 + ldr x0, [x20, #:lo12:.LANCHOR110] + ldrb w1, [x1, #:lo12:.LANCHOR31] + sub w2, w2, w1 + adrp x1, .LANCHOR74 + strh wzr, [x0, 696] + ldrh w1, [x1, #:lo12:.LANCHOR74] + strh w19, [x0, 692] + sub w2, w2, w1 + asr w4, w19, w2 + strh w4, [x0, 694] + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L2921 + mov w0, 1 + and w4, w4, 65535 + lsl w2, w0, w2 + mov w3, w19 + adrp x0, .LC172 + sub w2, w2, #1 + mov w1, w19 + add x0, x0, :lo12:.LC172 + bl printf +.L2921: + mov w0, 0 + ldr x23, [sp, 48] + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x29, x30, [sp], 64 + ret + .size pm_alloc_new_blk, .-pm_alloc_new_blk .section .text.pm_write_page,"ax",@progbits .align 2 .global pm_write_page @@ -17847,18 +18711,18 @@ pm_write_page: stp x19, x20, [sp, 16] mov w19, w0 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR95 + adrp x21, .LANCHOR94 stp x23, x24, [sp, 48] adrp x22, .LANCHOR111 adrp x24, .LANCHOR110 mov x23, x1 - add x21, x21, :lo12:.LANCHOR95 + add x21, x21, :lo12:.LANCHOR94 mov x20, x24 add x22, x22, :lo12:.LANCHOR111 stp x25, x26, [sp, 64] str x27, [sp, 80] mov w25, 65535 -.L2863: +.L2929: ldr x0, [x24, #:lo12:.LANCHOR110] ldr w1, [x0, 48] ldrh w2, [x0, 696] @@ -17866,26 +18730,26 @@ pm_write_page: str w1, [x0, 48] ldrh w1, [x21] cmp w2, w1 - bcs .L2864 + bcs .L2930 ldrh w0, [x0, 692] cmp w0, w25 - bne .L2865 -.L2864: + bne .L2931 +.L2930: bl pm_alloc_new_blk mov w0, 0 bl ftl_info_flush -.L2865: +.L2931: ldr x0, [x20, #:lo12:.LANCHOR110] ldrh w0, [x0, 692] cmp w0, w25 - bne .L2866 + bne .L2932 adrp x1, .LANCHOR206 adrp x0, .LC0 mov w2, 303 add x1, x1, :lo12:.LANCHOR206 add x0, x0, :lo12:.LC0 bl printf -.L2866: +.L2932: ldr x0, [x20, #:lo12:.LANCHOR110] adrp x27, .LANCHOR207 ldrh w1, [x22] @@ -17920,27 +18784,27 @@ pm_write_page: strh w1, [x2, 696] cmp w1, 1 adrp x1, .LANCHOR208 - beq .L2867 + beq .L2933 ldrb w3, [x1, #:lo12:.LANCHOR208] - cbz w3, .L2868 -.L2867: + cbz w3, .L2934 +.L2933: strb wzr, [x1, #:lo12:.LANCHOR208] - b .L2863 -.L2868: + b .L2929 +.L2934: cmn w0, #1 - bne .L2870 + bne .L2936 mov w1, w26 - adrp x0, .LC165 - add x0, x0, :lo12:.LC165 + adrp x0, .LC173 + add x0, x0, :lo12:.LC173 bl printf - b .L2863 -.L2870: + b .L2929 +.L2936: ldrh w0, [x2, 698] cmp w19, w0 - bcs .L2871 + bcs .L2937 add x19, x2, x19, uxtw 2 str w26, [x19, 704] -.L2871: +.L2937: mov w0, 0 ldr x27, [sp, 80] ldp x19, x20, [sp, 16] @@ -17950,363 +18814,55 @@ pm_write_page: ldp x29, x30, [sp], 96 ret .size pm_write_page, .-pm_write_page - .section .text.ftl_dump_write_open_sblk,"ax",@progbits - .align 2 - .global ftl_dump_write_open_sblk - .type ftl_dump_write_open_sblk, %function -ftl_dump_write_open_sblk: - sub sp, sp, #224 - stp x29, x30, [sp, 48] - add x29, sp, 48 - stp x19, x20, [sp, 64] - and w20, w0, 65535 - adrp x0, .LANCHOR6 - stp x21, x22, [sp, 80] - stp x23, x24, [sp, 96] - ldrh w0, [x0, #:lo12:.LANCHOR6] - stp x25, x26, [sp, 112] - stp x27, x28, [sp, 128] - cmp w0, w20 - bls .L2876 - adrp x0, .LANCHOR84 - str x0, [x29, 120] - ldrb w1, [x0, #:lo12:.LANCHOR84] - cbnz w1, .L2878 - adrp x0, .LANCHOR81 - ldrb w0, [x0, #:lo12:.LANCHOR81] - cbz w0, .L2876 -.L2878: - adrp x0, .LANCHOR36 - ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L2876 - adrp x0, .LANCHOR7 - ubfiz x14, x20, 2, 16 - mov x15, x0 - ldr x1, [x0, #:lo12:.LANCHOR7] - add x1, x1, x14 - ldrb w1, [x1, 2] - and w1, w1, 224 - cmp w1, 160 - bne .L2900 - adrp x0, .LANCHOR79 - ldrb w25, [x0, #:lo12:.LANCHOR79] -.L2879: - add x21, x29, 176 - adrp x23, .LANCHOR95 - mov w0, w20 - adrp x26, .LANCHOR111 - add x26, x26, :lo12:.LANCHOR111 - mov w27, 0 - strh w20, [x21, -32]! - mov w28, 0 - add x1, x21, 16 - bl ftl_get_blk_list_in_sblk - ldrh w1, [x23, #:lo12:.LANCHOR95] - and w0, w0, 255 - strb w0, [x29, 153] - strb wzr, [x29, 149] - strh wzr, [x29, 146] - mul w0, w0, w1 - strh wzr, [x29, 154] - strh w0, [x29, 150] - ldr x0, [x15, #:lo12:.LANCHOR7] - add x1, x0, x14 - ldr w5, [x0, x14] - ldrb w2, [x1, 2] - mov w1, w20 - ldrh w4, [x0, x14] - adrp x0, .LC166 - ubfx x5, x5, 11, 8 - add x0, x0, :lo12:.LC166 - ubfx x3, x2, 3, 2 - and w4, w4, 2047 - ubfx x2, x2, 5, 3 - bl printf - mov w0, 1 - bl buf_alloc - mov x19, x0 - mov w10, 0 - add x0, x23, :lo12:.LANCHOR95 - str x0, [x29, 128] -.L2880: - ldr x0, [x29, 128] - ldrh w0, [x0] - cmp w0, w27 - bls .L2888 - lsl w22, w27, 1 - mov w28, 0 - sub w0, w22, #1 - add w22, w22, w27 - str w0, [x29, 140] - sub w22, w22, #1 - adrp x0, .LC167 - add x0, x0, :lo12:.LC167 - str x0, [x29, 112] - b .L2891 -.L2900: - mov w25, 1 - b .L2879 -.L2889: - ldrh w12, [x21, x24] - mov w0, 65535 - cmp w12, w0 - bne .L2881 -.L2887: - add w10, w10, 1 - and w10, w10, 65535 -.L2882: - cmp w25, w10 - bcs .L2889 - add w11, w28, 1 - and w28, w11, 65535 -.L2891: - ldrb w0, [x29, 153] - cmp w0, w28 - bls .L2890 - sxtw x24, w28 - mov w10, 1 - add x24, x24, 8 - lsl x24, x24, 1 - b .L2882 -.L2881: - ldrh w3, [x26] - cmp w25, 3 - mul w3, w3, w12 - add w0, w3, w10 - bne .L2883 - adrp x1, .LANCHOR37 - ldrb w1, [x1, #:lo12:.LANCHOR37] - cbz w1, .L2884 - adrp x1, .LANCHOR79 - add w0, w0, w22 - ldrb w3, [x1, #:lo12:.LANCHOR79] -.L2914: - orr w3, w0, w3, lsl 24 - b .L2885 -.L2884: - add w3, w27, w3 - orr w3, w3, w10, lsl 24 -.L2885: - str w3, [x19, 40] - mov w1, 1 - stp w10, w12, [x29, 104] - mov x0, x19 - str w3, [x29, 136] - bl sblk_read_page - ldr w13, [x19, 52] - ldp w10, w12, [x29, 104] - cmp w13, 512 - ccmn w13, #1, 4, ne - ldr w3, [x29, 136] - bne .L2887 - ldr x1, [x19, 24] - mov w4, w13 - ldr x0, [x19, 8] - str w10, [x29, 108] - str w13, [x29, 136] - ldr w2, [x1, 12] - str w2, [sp, 32] - ldr w2, [x1, 8] - str w2, [sp, 24] - ldr w2, [x1, 4] - str w2, [sp, 16] - mov w2, w27 - ldr w1, [x1] - str w1, [sp, 8] - ldr w1, [x0, 12] - str w1, [sp] - mov w1, w12 - ldp w5, w6, [x0] - ldr w7, [x0, 8] - ldr x0, [x29, 112] - bl printf - ldr w13, [x29, 136] - ldr w10, [x29, 108] - cmp w13, 512 - bne .L2887 -.L2888: - mov w4, w10 - mov w3, w28 - mov w2, w27 - mov w1, w20 - adrp x24, .LANCHOR131 - adrp x0, .LC168 - add x0, x0, :lo12:.LC168 - bl printf - ldr x0, [x19, 8] - mov w1, 0 - ldrb w2, [x24, #:lo12:.LANCHOR131] - adrp x25, .LANCHOR14 - adrp x26, .LC169 - add x25, x25, :lo12:.LANCHOR14 - add x26, x26, :lo12:.LC169 - lsl w2, w2, 9 - bl ftl_memset - ldr x0, [x19, 24] - mov w1, 0 - ldrb w2, [x24, #:lo12:.LANCHOR131] - lsl w2, w2, 1 - bl ftl_memset -.L2892: - ldrh w0, [x23, #:lo12:.LANCHOR95] - cmp w0, w27 - bls .L2898 - lsl w0, w27, 1 - str w0, [x29, 140] - ldr x0, [x29, 120] - mov w22, 0 - add x28, x0, :lo12:.LANCHOR84 - b .L2899 -.L2883: - cmp w25, 2 - bne .L2886 - adrp x1, .LANCHOR79 - ldrb w3, [x1, #:lo12:.LANCHOR79] - ldr w1, [x29, 140] - add w0, w1, w0 - b .L2914 -.L2886: - add w3, w27, w3 - b .L2885 -.L2890: - add w8, w27, 1 - and w27, w8, 65535 - b .L2880 -.L2897: - ldr w0, [x25] - tbz x0, 12, .L2893 - mov w2, w22 - mov w1, w27 - mov x0, x26 - bl printf -.L2893: - ldrb w1, [x28] - adrp x2, .LANCHOR111 - sxtw x0, w22 - cbz w1, .L2894 - add x0, x0, 8 - ldrh w1, [x2, #:lo12:.LANCHOR111] - ldrh w0, [x21, x0, lsl 1] - mul w0, w0, w1 - orr w0, w0, w27 - str w0, [x19, 40] - mov x0, x19 - bl sblk_3d_tlc_dump_prog -.L2895: - add w22, w22, 1 - and w22, w22, 65535 -.L2899: - ldrb w0, [x29, 153] - cmp w0, w22 - bhi .L2897 - add w8, w27, 1 - and w27, w8, 65535 - b .L2892 -.L2894: - adrp x1, .LANCHOR79 - add x0, x0, 8 - ldrb w1, [x1, #:lo12:.LANCHOR79] - cmp w1, 2 - bne .L2896 - ldrh w1, [x2, #:lo12:.LANCHOR111] - ldrh w0, [x21, x0, lsl 1] - mul w0, w0, w1 - ldr w1, [x29, 140] - orr w0, w0, w1 - orr w0, w0, 33554432 - str w0, [x19, 40] - mov x0, x19 - bl sblk_mlc_dump_prog - b .L2895 -.L2896: - ldrh w1, [x21, x0, lsl 1] - mov w6, 1 - ldrh w0, [x2, #:lo12:.LANCHOR111] - mov w5, 0 - ldrb w4, [x24, #:lo12:.LANCHOR131] - ldr x3, [x19, 24] - mul w1, w1, w0 - adrp x0, .LANCHOR32 - ldrb w2, [x0, #:lo12:.LANCHOR32] - mov w0, 24 - orr w1, w1, w27 - str w1, [x19, 40] - sub w0, w0, w2 - lsl w6, w6, w2 - ldr x2, [x19, 8] - sub w6, w6, #1 - lsl w7, w6, w0 - lsr w0, w1, w0 - bic w1, w1, w7 - and w0, w0, w6 - bl flash_prog_page_en - b .L2895 -.L2898: - mov x0, x19 - bl zbuf_free - adrp x0, .LC170 - mov w1, w20 - add x0, x0, :lo12:.LC170 - bl printf -.L2876: - ldp x19, x20, [sp, 64] - ldp x21, x22, [sp, 80] - ldp x23, x24, [sp, 96] - ldp x25, x26, [sp, 112] - ldp x27, x28, [sp, 128] - ldp x29, x30, [sp, 48] - add sp, sp, 224 - ret - .size ftl_dump_write_open_sblk, .-ftl_dump_write_open_sblk .section .text.flash_info_flush,"ax",@progbits .align 2 .global flash_info_flush .type flash_info_flush, %function flash_info_flush: stp x29, x30, [sp, -112]! - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR19 add x29, sp, 0 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] - tbz x0, 12, .L2916 + tbz x0, 12, .L2943 adrp x2, .LANCHOR209 - adrp x0, .LC97 + adrp x0, .LC94 add x2, x2, :lo12:.LANCHOR209 - mov w1, 364 - add x0, x0, :lo12:.LC97 + mov w1, 365 + add x0, x0, :lo12:.LC94 bl printf -.L2916: +.L2943: adrp x23, .LANCHOR210 - adrp x20, .LANCHOR27 + adrp x20, .LANCHOR6 mov w2, 64 mov w1, 0 ldr x0, [x23, #:lo12:.LANCHOR210] adrp x21, .LANCHOR211 adrp x22, .LANCHOR2 - adrp x24, .LC172 - adrp x25, .LANCHOR147 + adrp x24, .LC175 + adrp x25, .LANCHOR144 add x22, x22, :lo12:.LANCHOR2 - add x24, x24, :lo12:.LC172 - add x25, x25, :lo12:.LANCHOR147 + add x24, x24, :lo12:.LC175 + add x25, x25, :lo12:.LANCHOR144 bl ftl_memset add x27, x21, :lo12:.LANCHOR211 - ldr x1, [x20, #:lo12:.LANCHOR27] + ldr x1, [x20, #:lo12:.LANCHOR6] mov w3, 16 mov w2, 4 - adrp x0, .LC171 - add x0, x0, :lo12:.LC171 + adrp x0, .LC174 + add x0, x0, :lo12:.LC174 mov w26, 0 bl rknand_print_hex - ldr x6, [x20, #:lo12:.LANCHOR27] + ldr x6, [x20, #:lo12:.LANCHOR6] add x0, x6, 16 ldr w1, [x6, 8] bl js_hash str w0, [x6, 12] -.L2917: +.L2944: add x28, x21, :lo12:.LANCHOR211 ldrb w4, [x21, #:lo12:.LANCHOR211] ldrh w19, [x22] @@ -18321,8 +18877,8 @@ flash_info_flush: sub w0, w0, #1 cmp w1, w0 ldp w3, w4, [x29, 104] - blt .L2918 - ldr x6, [x20, #:lo12:.LANCHOR27] + blt .L2945 + ldr x6, [x20, #:lo12:.LANCHOR6] ldrb w7, [x28, 1] strh wzr, [x28, 2] ldr w0, [x6, 4] @@ -18340,19 +18896,19 @@ flash_info_flush: ldrh w19, [x22] str w0, [x6, 12] mul w19, w19, w7 -.L2927: +.L2954: mov w1, w19 mov w0, 0 bl flash_erase_block - b .L2919 -.L2922: + b .L2946 +.L2949: mov w26, 1 - b .L2917 -.L2918: + b .L2944 +.L2945: madd w19, w19, w4, w3 - cbz w1, .L2927 -.L2919: - ldr x2, [x20, #:lo12:.LANCHOR27] + cbz w1, .L2954 +.L2946: + ldr x2, [x20, #:lo12:.LANCHOR6] mov w1, w19 ldr x3, [x23, #:lo12:.LANCHOR210] mov w5, 1 @@ -18368,14 +18924,14 @@ flash_info_flush: ldrh w1, [x27, 2] add w1, w1, 1 strh w1, [x27, 2] - bne .L2920 + bne .L2947 mov w1, w19 - adrp x0, .LC173 - add x0, x0, :lo12:.LC173 + adrp x0, .LC176 + add x0, x0, :lo12:.LC176 bl printf - b .L2917 -.L2920: - cbz w26, .L2922 + b .L2944 +.L2947: + cbz w26, .L2949 ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -18391,59 +18947,59 @@ flash_info_flush: .type flash_info_blk_init, %function flash_info_blk_init: stp x29, x30, [sp, -96]! - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR19 add x29, sp, 0 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] stp x19, x20, [sp, 16] - adrp x20, .LANCHOR27 + adrp x20, .LANCHOR6 stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] str x27, [sp, 80] - tbz x0, 12, .L2929 - ldr x4, [x20, #:lo12:.LANCHOR27] + tbz x0, 12, .L2956 + ldr x4, [x20, #:lo12:.LANCHOR6] adrp x2, .LANCHOR212 - adrp x0, .LC174 + adrp x0, .LC177 mov w3, 2048 add x2, x2, :lo12:.LANCHOR212 - mov w1, 49 - add x0, x0, :lo12:.LC174 + mov w1, 50 + add x0, x0, :lo12:.LC177 bl printf -.L2929: +.L2956: adrp x24, .LANCHOR2 mov w23, 21321 add x26, x24, :lo12:.LANCHOR2 mov w22, 4 adrp x21, .LANCHOR210 movk w23, 0x5359, lsl 16 -.L2933: +.L2960: mov w19, 0 -.L2932: +.L2959: ldrh w1, [x26] mov w4, 4 ldr x3, [x21, #:lo12:.LANCHOR210] mov w0, 0 - ldr x2, [x20, #:lo12:.LANCHOR27] + ldr x2, [x20, #:lo12:.LANCHOR6] add x27, x21, :lo12:.LANCHOR210 - add x25, x20, :lo12:.LANCHOR27 + add x25, x20, :lo12:.LANCHOR6 madd w1, w1, w22, w19 bl flash_read_page_en cmn w0, #1 - beq .L2930 - ldr x2, [x20, #:lo12:.LANCHOR27] + beq .L2957 + ldr x2, [x20, #:lo12:.LANCHOR6] ldr w0, [x2] cmp w0, w23 - beq .L2931 -.L2930: + beq .L2958 +.L2957: add w19, w19, 1 cmp w19, 4 - bne .L2932 + bne .L2959 add w22, w22, 1 cmp w22, 16 - bne .L2933 -.L2959: + bne .L2960 +.L2986: mov w0, -1 -.L2928: +.L2955: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -18451,43 +19007,43 @@ flash_info_blk_init: ldr x27, [sp, 80] ldp x29, x30, [sp], 96 ret -.L2941: +.L2968: ldr x0, [x25] ldr w1, [x0] cmp w1, w23 - bne .L2942 + bne .L2969 ldr w22, [x0, 4] -.L2935: +.L2962: add x23, x19, :lo12:.LANCHOR211 ldrh w0, [x24, #:lo12:.LANCHOR2] ldr x3, [x21, #:lo12:.LANCHOR210] mov w4, 4 - ldr x2, [x20, #:lo12:.LANCHOR27] + ldr x2, [x20, #:lo12:.LANCHOR6] ldrb w1, [x23, 1] mul w1, w1, w0 mov w0, 0 bl flash_read_page_en cmn w0, #1 - beq .L2936 - ldr x0, [x20, #:lo12:.LANCHOR27] + beq .L2963 + ldr x0, [x20, #:lo12:.LANCHOR6] mov w1, 21321 movk w1, 0x5359, lsl 16 ldr w2, [x0] cmp w2, w1 - bne .L2936 + bne .L2963 ldr w1, [x0, 4] cmp w22, w1 - bcs .L2936 + bcs .L2963 ldrb w1, [x0, 37] ldrb w0, [x0, 36] strb w1, [x19, #:lo12:.LANCHOR211] strb w0, [x23, 1] -.L2936: +.L2963: ldrb w1, [x19, #:lo12:.LANCHOR211] add x22, x19, :lo12:.LANCHOR211 ldr x3, [x21, #:lo12:.LANCHOR210] mov w4, 4 - ldr x2, [x20, #:lo12:.LANCHOR27] + ldr x2, [x20, #:lo12:.LANCHOR6] mov w0, 0 bl flash_get_last_written_page and w25, w0, 65535 @@ -18500,42 +19056,42 @@ flash_info_blk_init: movk w24, 0x5359, lsl 16 mul w23, w23, w1 add w23, w23, w0, sxth -.L2937: +.L2964: sub w0, w25, w22 sxth w19, w0 - tbz w19, #31, .L2940 + tbz w19, #31, .L2967 cmn w19, #1 - bne .L2939 - ldr x0, [x20, #:lo12:.LANCHOR27] + bne .L2966 + ldr x0, [x20, #:lo12:.LANCHOR6] ldr w1, [x0] - adrp x0, .LC175 - add x0, x0, :lo12:.LC175 + adrp x0, .LC178 + add x0, x0, :lo12:.LC178 bl printf - b .L2959 -.L2940: + b .L2986 +.L2967: ldr x3, [x21, #:lo12:.LANCHOR210] mov w4, 4 - ldr x2, [x20, #:lo12:.LANCHOR27] + ldr x2, [x20, #:lo12:.LANCHOR6] sub w1, w23, w22 mov w0, 0 bl flash_read_page_en cmn w0, #1 - beq .L2938 - ldr x0, [x20, #:lo12:.LANCHOR27] + beq .L2965 + ldr x0, [x20, #:lo12:.LANCHOR6] ldr w0, [x0] cmp w0, w24 - beq .L2939 -.L2938: + beq .L2966 +.L2965: add w22, w22, 1 - b .L2937 -.L2939: + b .L2964 +.L2966: cmp w22, 1 - bls .L2943 + bls .L2970 bl flash_info_flush -.L2943: +.L2970: mov w0, 0 - b .L2928 -.L2931: + b .L2955 +.L2958: adrp x19, .LANCHOR211 add x1, x19, :lo12:.LANCHOR211 ldrb w3, [x2, 37] @@ -18549,10 +19105,10 @@ flash_info_blk_init: mov w0, 0 bl flash_read_page_en cmn w0, #1 - bne .L2941 -.L2942: + bne .L2968 +.L2969: mov w22, 0 - b .L2935 + b .L2962 .size flash_info_blk_init, .-flash_info_blk_init .section .text.nand_flash_init,"ax",@progbits .align 2 @@ -18562,64 +19118,64 @@ nand_flash_init: stp x29, x30, [sp, -96]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR14 + adrp x21, .LANCHOR19 stp x19, x20, [sp, 16] mov x19, x0 - ldr w0, [x21, #:lo12:.LANCHOR14] + ldr w0, [x21, #:lo12:.LANCHOR19] stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] str x27, [sp, 80] - tbz x0, 12, .L2961 + tbz x0, 12, .L2988 adrp x2, .LANCHOR213 - adrp x0, .LC97 + adrp x0, .LC94 add x2, x2, :lo12:.LANCHOR213 - mov w1, 3429 - add x0, x0, :lo12:.LC97 + mov w1, 3451 + add x0, x0, :lo12:.LC94 bl printf -.L2961: - adrp x0, .LANCHOR172 - adrp x24, .LANCHOR16 - adrp x22, .LANCHOR48 - add x25, x22, :lo12:.LANCHOR48 - str wzr, [x0, #:lo12:.LANCHOR172] +.L2988: + adrp x0, .LANCHOR169 + adrp x24, .LANCHOR21 + adrp x22, .LANCHOR47 + add x25, x22, :lo12:.LANCHOR47 + str wzr, [x0, #:lo12:.LANCHOR169] mov x0, x19 bl nandc_init - adrp x19, .LANCHOR33 - add x0, x19, :lo12:.LANCHOR33 - str x0, [x24, #:lo12:.LANCHOR16] - adrp x0, .LANCHOR18 - adrp x23, .LANCHOR32 + adrp x19, .LANCHOR32 + add x0, x19, :lo12:.LANCHOR32 + str x0, [x24, #:lo12:.LANCHOR21] + adrp x0, .LANCHOR23 + adrp x23, .LANCHOR31 mov x26, x25 mov w1, 1 mov w20, 0 - strb w1, [x0, #:lo12:.LANCHOR18] + strb w1, [x0, #:lo12:.LANCHOR23] mov w27, 44 mov w0, 3 mov w2, 8 - strb w0, [x23, #:lo12:.LANCHOR32] + strb w0, [x23, #:lo12:.LANCHOR31] mov w1, 0 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 bl ftl_memset mov w2, 32 mov w1, 0 - adrp x0, .LANCHOR148 - add x0, x0, :lo12:.LANCHOR148 + adrp x0, .LANCHOR145 + add x0, x0, :lo12:.LANCHOR145 bl ftl_memset -.L2967: +.L2994: mov x1, x25 mov w0, w20 bl flash_read_id - cbnz w20, .L2962 + cbnz w20, .L2989 ldrb w0, [x26] sub w0, w0, #1 and w0, w0, 255 cmp w0, 253 - bls .L2963 -.L2965: - mov w8, -2 -.L2960: - mov w0, w8 + bls .L2990 +.L2992: + mov w22, -2 +.L2987: + mov w0, w22 ldr x27, [sp, 80] ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -18627,35 +19183,35 @@ nand_flash_init: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 96 ret -.L2963: +.L2990: ldrb w0, [x26, 1] cmp w0, 255 - beq .L2965 -.L2962: + beq .L2992 +.L2989: ldrb w0, [x25] cmp w0, 181 - bne .L2966 + bne .L2993 strb w27, [x25] -.L2966: +.L2993: add w20, w20, 1 add x25, x25, 8 and w20, w20, 255 cmp w20, 4 - bne .L2967 + bne .L2994 adrp x0, .LANCHOR214 add x8, x0, :lo12:.LANCHOR214 add x8, x8, 1 mov x7, x0 - add x12, x22, :lo12:.LANCHOR48 + add x12, x22, :lo12:.LANCHOR47 mov x10, 0 -.L2970: +.L2997: ldrb w2, [x8, -1] mov w11, w10 lsl x25, x10, 5 mov x1, x12 mov x0, x8 bl flash_mem_cmp8 - cbnz w0, .L2968 + cbnz w0, .L2995 add x0, x7, :lo12:.LANCHOR214 ubfiz x11, x11, 5, 32 add x25, x0, x25 @@ -18664,77 +19220,77 @@ nand_flash_init: add x4, x1, :lo12:.LANCHOR215 ldrb w3, [x0, 22] mov x0, 0 -.L2969: +.L2996: lsl x5, x0, 5 mov w2, w0 ldrb w5, [x5, x4] cmp w5, w3 - beq .L2971 + beq .L2998 add x0, x0, 1 cmp x0, 4 - bne .L2969 + bne .L2996 mov w2, w0 -.L2971: +.L2998: ubfiz x0, x2, 5, 32 add x1, x1, :lo12:.LANCHOR215 add x1, x1, x0 mov w2, 32 - adrp x0, .LANCHOR20 - add x20, x19, :lo12:.LANCHOR33 - add x0, x0, :lo12:.LANCHOR20 - adrp x26, .LANCHOR28 + adrp x0, .LANCHOR25 + add x20, x19, :lo12:.LANCHOR32 + add x0, x0, :lo12:.LANCHOR25 + adrp x26, .LANCHOR27 bl ftl_memcpy mov w2, 32 mov x1, x25 mov x0, x20 bl ftl_memcpy - ldrb w0, [x26, #:lo12:.LANCHOR28] + ldrb w0, [x26, #:lo12:.LANCHOR27] cmp w0, 8 - bhi .L2972 + bhi .L2999 ldrb w0, [x20, 20] cmp w0, 60 - bls .L2972 + bls .L2999 mov w0, 60 strb w0, [x20, 20] -.L2972: - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L3002 +.L2999: + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L3029 adrp x2, .LANCHOR213 - adrp x0, .LC97 + adrp x0, .LC94 add x2, x2, :lo12:.LANCHOR213 - mov w1, 3456 - add x0, x0, :lo12:.LC97 + mov w1, 3478 + add x0, x0, :lo12:.LC94 bl printf -.L3002: - ldr x0, [x24, #:lo12:.LANCHOR16] +.L3029: + ldr x0, [x24, #:lo12:.LANCHOR21] ldrh w0, [x0, 10] cmp w0, 1023 - bls .L2973 + bls .L3000 mov w0, 2 - strb w0, [x23, #:lo12:.LANCHOR32] -.L2973: + strb w0, [x23, #:lo12:.LANCHOR31] +.L3000: mov w0, 16384 bl ftl_malloc - adrp x1, .LANCHOR176 - adrp x23, .LANCHOR27 - add x20, x19, :lo12:.LANCHOR33 - adrp x25, .LANCHOR49 - str x0, [x1, #:lo12:.LANCHOR176] + adrp x1, .LANCHOR173 + adrp x23, .LANCHOR6 + add x20, x19, :lo12:.LANCHOR32 + adrp x25, .LANCHOR48 + str x0, [x1, #:lo12:.LANCHOR173] mov w0, 16384 bl ftl_malloc - adrp x1, .LANCHOR166 - str x0, [x1, #:lo12:.LANCHOR166] + adrp x1, .LANCHOR163 + str x0, [x1, #:lo12:.LANCHOR163] mov w0, 2048 bl ftl_malloc - str x0, [x23, #:lo12:.LANCHOR27] + str x0, [x23, #:lo12:.LANCHOR6] mov w0, 64 bl ftl_malloc - adrp x1, .LANCHOR175 - str x0, [x1, #:lo12:.LANCHOR175] + adrp x1, .LANCHOR172 + str x0, [x1, #:lo12:.LANCHOR172] mov w0, 64 bl ftl_malloc - adrp x1, .LANCHOR168 - str x0, [x1, #:lo12:.LANCHOR168] + adrp x1, .LANCHOR165 + str x0, [x1, #:lo12:.LANCHOR165] mov w0, 64 bl ftl_malloc adrp x1, .LANCHOR210 @@ -18745,28 +19301,28 @@ nand_flash_init: ldrb w0, [x20, 18] bl flash_lsb_page_tbl_build ldrb w0, [x20, 20] - adrp x20, .LANCHOR174 + adrp x20, .LANCHOR171 bl nandc_bch_sel - str xzr, [x20, #:lo12:.LANCHOR174] - ldr x2, [x24, #:lo12:.LANCHOR16] + str xzr, [x20, #:lo12:.LANCHOR171] + ldr x2, [x24, #:lo12:.LANCHOR21] ldrh w0, [x2, 16] ubfx x1, x0, 8, 3 - strb w1, [x25, #:lo12:.LANCHOR49] - adrp x1, .LANCHOR186 + strb w1, [x25, #:lo12:.LANCHOR48] + adrp x1, .LANCHOR183 ubfx x3, x0, 3, 1 - strb w3, [x1, #:lo12:.LANCHOR186] - adrp x1, .LANCHOR45 + strb w3, [x1, #:lo12:.LANCHOR183] + adrp x1, .LANCHOR44 ubfx x3, x0, 4, 1 - strb w3, [x1, #:lo12:.LANCHOR45] - adrp x1, .LANCHOR84 + strb w3, [x1, #:lo12:.LANCHOR44] + adrp x1, .LANCHOR83 ubfx x3, x0, 12, 1 - strb w3, [x1, #:lo12:.LANCHOR84] - adrp x1, .LANCHOR81 + strb w3, [x1, #:lo12:.LANCHOR83] + adrp x1, .LANCHOR80 ubfx x3, x0, 13, 1 - strb w3, [x1, #:lo12:.LANCHOR81] - adrp x1, .LANCHOR36 + strb w3, [x1, #:lo12:.LANCHOR80] + adrp x1, .LANCHOR35 ubfx x3, x0, 11, 1 - strb w3, [x1, #:lo12:.LANCHOR36] + strb w3, [x1, #:lo12:.LANCHOR35] adrp x3, .LANCHOR124 ldrb w1, [x2, 31] ldrb w2, [x2, 28] @@ -18779,226 +19335,226 @@ nand_flash_init: ubfx x4, x0, 14, 1 lsr w0, w0, 15 strb w4, [x3, #:lo12:.LANCHOR1] - adrp x3, .LANCHOR82 - strb w0, [x3, #:lo12:.LANCHOR82] + adrp x3, .LANCHOR81 + strb w0, [x3, #:lo12:.LANCHOR81] adrp x0, .LANCHOR0 ubfx x3, x1, 3, 1 ubfx x1, x1, 4, 1 strb w2, [x0, #:lo12:.LANCHOR0] - adrp x0, .LANCHOR31 - strb w3, [x0, #:lo12:.LANCHOR31] - adrp x0, .LANCHOR37 - strb w1, [x0, #:lo12:.LANCHOR37] - adrp x1, .LANCHOR17 + adrp x0, .LANCHOR30 + strb w3, [x0, #:lo12:.LANCHOR30] + adrp x0, .LANCHOR36 + strb w1, [x0, #:lo12:.LANCHOR36] + adrp x1, .LANCHOR22 mov w0, 60 - strb w0, [x1, #:lo12:.LANCHOR17] - ldrb w0, [x26, #:lo12:.LANCHOR28] + strb w0, [x1, #:lo12:.LANCHOR22] + ldrb w0, [x26, #:lo12:.LANCHOR27] cmp w0, 9 - bne .L2974 + bne .L3001 mov w3, 70 - strb w3, [x1, #:lo12:.LANCHOR17] -.L2974: - add x1, x19, :lo12:.LANCHOR33 - adrp x24, .LANCHOR19 - strb w2, [x24, #:lo12:.LANCHOR19] + strb w3, [x1, #:lo12:.LANCHOR22] +.L3001: + add x1, x19, :lo12:.LANCHOR32 + adrp x24, .LANCHOR24 + strb w2, [x24, #:lo12:.LANCHOR24] ldrb w2, [x1, 31] - tbz x2, 0, .L2975 + tbz x2, 0, .L3002 ldrb w1, [x1, 29] - cbz w1, .L2976 + cbz w1, .L3003 mov w1, 2 -.L3034: - strb w1, [x24, #:lo12:.LANCHOR19] -.L2975: +.L3061: + strb w1, [x24, #:lo12:.LANCHOR24] +.L3002: cmp w0, 8 - bne .L2977 - ldrb w0, [x22, #:lo12:.LANCHOR48] + bne .L3004 + ldrb w0, [x22, #:lo12:.LANCHOR47] mov w1, 137 cmp w0, 44 ccmp w0, w1, 4, ne - bne .L2977 - add x0, x19, :lo12:.LANCHOR33 + bne .L3004 + add x0, x19, :lo12:.LANCHOR32 ldrb w0, [x0, 28] cmp w0, 3 - bne .L2977 - strb wzr, [x24, #:lo12:.LANCHOR19] -.L2977: - add x1, x19, :lo12:.LANCHOR33 - adrp x27, .LANCHOR24 + bne .L3004 + strb wzr, [x24, #:lo12:.LANCHOR24] +.L3004: + add x1, x19, :lo12:.LANCHOR32 + adrp x27, .LANCHOR16 ldrb w0, [x1, 19] ldrh w1, [x1, 16] - strb w0, [x27, #:lo12:.LANCHOR24] - tbz x1, 6, .L2979 + strb w0, [x27, #:lo12:.LANCHOR16] + tbz x1, 6, .L3006 sub w1, w0, #17 and w1, w1, 255 cmp w1, 2 ccmp w0, 21, 4, hi - bne .L2980 + bne .L3007 adrp x1, micron_read_retrial add x1, x1, :lo12:micron_read_retrial - str x1, [x20, #:lo12:.LANCHOR174] + str x1, [x20, #:lo12:.LANCHOR171] cmp w0, 21 - adrp x0, .LANCHOR169 - beq .L2981 + adrp x0, .LANCHOR166 + beq .L3008 mov w1, 15 -.L3036: - strb w1, [x0, #:lo12:.LANCHOR169] -.L2979: - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L2990 +.L3063: + strb w1, [x0, #:lo12:.LANCHOR166] +.L3006: + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L3017 adrp x2, .LANCHOR213 - adrp x0, .LC97 + adrp x0, .LC94 add x2, x2, :lo12:.LANCHOR213 - mov w1, 3549 - add x0, x0, :lo12:.LC97 + mov w1, 3571 + add x0, x0, :lo12:.LC94 bl printf -.L2990: - adrp x26, .LANCHOR21 - ldrb w0, [x25, #:lo12:.LANCHOR49] - strb wzr, [x26, #:lo12:.LANCHOR21] - tbz x0, 0, .L2991 - ldrb w0, [x22, #:lo12:.LANCHOR48] +.L3017: + adrp x26, .LANCHOR26 + ldrb w0, [x25, #:lo12:.LANCHOR48] + strb wzr, [x26, #:lo12:.LANCHOR26] + tbz x0, 0, .L3018 + ldrb w0, [x22, #:lo12:.LANCHOR47] cmp w0, 155 - beq .L2992 + beq .L3019 mov w0, 4 bl flash_set_interface_mode mov w0, 4 bl nandc_set_if_mode -.L2992: +.L3019: mov w0, 1 bl flash_set_interface_mode mov w0, 1 -.L3038: +.L3065: bl nandc_set_if_mode bl flash_info_blk_init - mov w8, w0 + mov w22, w0 cmn w0, #1 - bne .L2994 - ldr x0, [x23, #:lo12:.LANCHOR27] + bne .L3021 + ldr x0, [x23, #:lo12:.LANCHOR6] mov w1, 17 strb w1, [x0, 32] - adrp x0, .LANCHOR34 - strb wzr, [x0, #:lo12:.LANCHOR34] + adrp x0, .LANCHOR33 + strb wzr, [x0, #:lo12:.LANCHOR33] mov w0, 0 bl zftl_flash_exit_slc_mode - b .L2960 -.L2968: + b .L2987 +.L2995: add x10, x10, 1 add x8, x8, 32 cmp x10, 49 - bne .L2970 - b .L2965 -.L2976: + bne .L2997 + b .L2992 +.L3003: mov w1, 3 - b .L3034 -.L2981: + b .L3061 +.L3008: mov w1, 4 - b .L3036 -.L2980: + b .L3063 +.L3007: sub w1, w0, #65 cmp w0, 33 and w1, w1, 255 ccmp w1, 1, 0, ne - bhi .L2983 + bhi .L3010 adrp x0, toshiba_read_retrial add x0, x0, :lo12:toshiba_read_retrial - str x0, [x20, #:lo12:.LANCHOR174] - adrp x0, .LANCHOR26 + str x0, [x20, #:lo12:.LANCHOR171] + adrp x0, .LANCHOR18 mov w1, 4 - strb w1, [x0, #:lo12:.LANCHOR26] -.L3040: + strb w1, [x0, #:lo12:.LANCHOR18] +.L3067: mov w1, 7 -.L3039: - adrp x0, .LANCHOR169 - b .L3036 -.L2983: +.L3066: + adrp x0, .LANCHOR166 + b .L3063 +.L3010: sub w2, w0, #34 sub w1, w0, #67 and w2, w2, 255 and w1, w1, 255 cmp w2, 1 ccmp w1, 1, 0, hi - bhi .L2984 + bhi .L3011 adrp x2, toshiba_read_retrial add x2, x2, :lo12:toshiba_read_retrial - str x2, [x20, #:lo12:.LANCHOR174] + str x2, [x20, #:lo12:.LANCHOR171] cmp w0, 35 mov w2, 68 ccmp w0, w2, 4, ne - adrp x0, .LANCHOR169 - beq .L2985 + adrp x0, .LANCHOR166 + beq .L3012 mov w2, 7 -.L3035: - strb w2, [x0, #:lo12:.LANCHOR169] +.L3062: + strb w2, [x0, #:lo12:.LANCHOR166] cmp w1, 1 - adrp x0, .LANCHOR26 - bhi .L2987 + adrp x0, .LANCHOR18 + bhi .L3014 mov w1, 4 -.L3037: - strb w1, [x0, #:lo12:.LANCHOR26] - b .L2979 -.L2985: +.L3064: + strb w1, [x0, #:lo12:.LANCHOR18] + b .L3006 +.L3012: mov w2, 17 - b .L3035 -.L2987: + b .L3062 +.L3014: mov w1, 5 - b .L3037 -.L2984: + b .L3064 +.L3011: sub w1, w0, #36 and w1, w1, 255 cmp w1, 1 - bhi .L2988 + bhi .L3015 adrp x0, toshiba_3d_read_retrial add x0, x0, :lo12:toshiba_3d_read_retrial - str x0, [x20, #:lo12:.LANCHOR174] - b .L3040 -.L2988: + str x0, [x20, #:lo12:.LANCHOR171] + b .L3067 +.L3015: cmp w0, 50 - bne .L2989 + bne .L3016 adrp x0, samsung_read_retrial mov w1, 25 add x0, x0, :lo12:samsung_read_retrial - str x0, [x20, #:lo12:.LANCHOR174] - b .L3039 -.L2989: + str x0, [x20, #:lo12:.LANCHOR171] + b .L3066 +.L3016: cmp w0, 81 - bne .L2979 + bne .L3006 adrp x0, ymtc_3d_read_retrial add x0, x0, :lo12:ymtc_3d_read_retrial - str x0, [x20, #:lo12:.LANCHOR174] - adrp x0, .LANCHOR169 + str x0, [x20, #:lo12:.LANCHOR171] + adrp x0, .LANCHOR166 mov w1, 7 - strb w1, [x0, #:lo12:.LANCHOR169] - adrp x0, .LANCHOR51 - strb wzr, [x0, #:lo12:.LANCHOR51] - b .L2979 -.L2991: + strb w1, [x0, #:lo12:.LANCHOR166] + adrp x0, .LANCHOR50 + strb wzr, [x0, #:lo12:.LANCHOR50] + b .L3006 +.L3018: mov w0, 4 - b .L3038 -.L2994: - add x19, x19, :lo12:.LANCHOR33 + b .L3065 +.L3021: + add x19, x19, :lo12:.LANCHOR32 ldrb w0, [x19, 7] cmp w0, 9 - bne .L2995 - ldr x0, [x23, #:lo12:.LANCHOR27] + bne .L3022 + ldr x0, [x23, #:lo12:.LANCHOR6] ldrb w0, [x0, 20] cmp w0, 1 - beq .L2995 - strb wzr, [x24, #:lo12:.LANCHOR19] -.L2995: - ldrb w0, [x27, #:lo12:.LANCHOR24] + beq .L3022 + strb wzr, [x24, #:lo12:.LANCHOR24] +.L3022: + ldrb w0, [x27, #:lo12:.LANCHOR16] sub w0, w0, #1 and w0, w0, 255 cmp w0, 7 - bhi .L2996 + bhi .L3023 adrp x0, hynix_read_retrial add x0, x0, :lo12:hynix_read_retrial - str x0, [x20, #:lo12:.LANCHOR174] -.L2996: - ldrb w0, [x25, #:lo12:.LANCHOR49] - tbz x0, 2, .L2998 - ldr x0, [x23, #:lo12:.LANCHOR27] + str x0, [x20, #:lo12:.LANCHOR171] +.L3023: + ldrb w0, [x25, #:lo12:.LANCHOR48] + tbz x0, 2, .L3025 + ldr x0, [x23, #:lo12:.LANCHOR6] ldrb w0, [x0, 19] - cbz w0, .L2998 + cbz w0, .L3025 adrp x0, .LANCHOR211 ldrb w1, [x0, #:lo12:.LANCHOR211] adrp x0, .LANCHOR2 @@ -19006,24 +19562,24 @@ nand_flash_init: mul w1, w1, w0 mov w0, 0 bl flash_ddr_para_scan - ldrb w0, [x26, #:lo12:.LANCHOR21] - cbnz w0, .L2998 - ldr x0, [x23, #:lo12:.LANCHOR27] + ldrb w0, [x26, #:lo12:.LANCHOR26] + cbnz w0, .L3025 + ldr x0, [x23, #:lo12:.LANCHOR6] strb wzr, [x0, 19] bl flash_info_flush -.L2998: - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L3000 +.L3025: + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L3027 adrp x2, .LANCHOR213 - adrp x0, .LC97 + adrp x0, .LC94 add x2, x2, :lo12:.LANCHOR213 - mov w1, 3647 - add x0, x0, :lo12:.LC97 + mov w1, 3674 + add x0, x0, :lo12:.LC94 bl printf -.L3000: +.L3027: bl nand_flash_print_info - mov w8, 0 - b .L2960 + mov w22, 0 + b .L2987 .size nand_flash_init, .-nand_flash_init .section .text.ftl_sysblk_dump,"ax",@progbits .align 2 @@ -19040,37 +19596,37 @@ ftl_sysblk_dump: stp x25, x26, [sp, 112] mov w0, 1 stp x27, x28, [sp, 128] - adrp x25, .LANCHOR95 + adrp x25, .LANCHOR94 stp x21, x22, [sp, 80] bl buf_alloc ldr x28, [x0, 8] adrp x26, .LANCHOR111 adrp x27, .LANCHOR131 mov x24, x0 - add x25, x25, :lo12:.LANCHOR95 + add x25, x25, :lo12:.LANCHOR94 add x26, x26, :lo12:.LANCHOR111 add x27, x27, :lo12:.LANCHOR131 mov w19, 0 -.L3042: +.L3069: ldrh w0, [x25] cmp w0, w19 - bhi .L3044 + bhi .L3071 add x1, x28, 704 mov w3, 32 mov w2, 4 - adrp x0, .LC176 - add x0, x0, :lo12:.LC176 + adrp x0, .LC179 + add x0, x0, :lo12:.LC179 bl rknand_print_hex mov x0, x24 bl zbuf_free - cbz w20, .L3045 + cbz w20, .L3072 adrp x1, .LANCHOR218 adrp x0, .LC0 - mov w2, 1611 + mov w2, 1619 add x1, x1, :lo12:.LANCHOR218 add x0, x0, :lo12:.LC0 bl printf -.L3045: +.L3072: mov w0, w20 ldp x19, x20, [sp, 64] ldp x21, x22, [sp, 80] @@ -19080,7 +19636,7 @@ ftl_sysblk_dump: ldp x29, x30, [sp, 48] add sp, sp, 144 ret -.L3044: +.L3071: ldrh w21, [x26] ldrb w3, [x27] ldr x1, [x24, 8] @@ -19109,13 +19665,13 @@ ftl_sysblk_dump: mov w1, w23 ldp w5, w6, [x0] ldr w7, [x0, 8] - adrp x0, .LC167 - add x0, x0, :lo12:.LC167 + adrp x0, .LC160 + add x0, x0, :lo12:.LC160 bl printf cmp w22, 512 ccmn w22, #1, 4, ne csinc w20, w20, wzr, ne - b .L3042 + b .L3069 .size ftl_sysblk_dump, .-ftl_sysblk_dump .section .text.ftl_open_sblk_recovery,"ax",@progbits .align 2 @@ -19125,56 +19681,56 @@ ftl_open_sblk_recovery: stp x29, x30, [sp, -368]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR14 + adrp x21, .LANCHOR19 stp x19, x20, [sp, 16] mov x19, x0 - ldr w0, [x21, #:lo12:.LANCHOR14] + ldr w0, [x21, #:lo12:.LANCHOR19] stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] str x1, [x29, 136] - tbz x0, 12, .L3053 + tbz x0, 12, .L3080 ldrh w1, [x19, 2] - adrp x0, .LC177 - add x0, x0, :lo12:.LC177 - bl printf -.L3053: - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L3054 - ldrb w1, [x19, 5] - adrp x0, .LC178 - add x0, x0, :lo12:.LC178 - bl printf -.L3054: - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L3055 - ldrh w1, [x19] - adrp x0, .LC179 - add x0, x0, :lo12:.LC179 - bl printf -.L3055: - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L3056 - ldrh w2, [x19, 18] adrp x0, .LC180 - ldrh w1, [x19, 16] add x0, x0, :lo12:.LC180 bl printf -.L3056: - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L3057 - ldrb w1, [x19, 9] +.L3080: + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L3081 + ldrb w1, [x19, 5] adrp x0, .LC181 add x0, x0, :lo12:.LC181 bl printf -.L3057: +.L3081: + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L3082 + ldrh w1, [x19] + adrp x0, .LC182 + add x0, x0, :lo12:.LC182 + bl printf +.L3082: + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L3083 + ldrh w2, [x19, 18] + adrp x0, .LC183 + ldrh w1, [x19, 16] + add x0, x0, :lo12:.LC183 + bl printf +.L3083: + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L3084 + ldrb w1, [x19, 9] + adrp x0, .LC184 + add x0, x0, :lo12:.LC184 + bl printf +.L3084: ldrh w0, [x19, 10] strh w0, [x19, 14] - adrp x0, .LANCHOR6 + adrp x0, .LANCHOR8 ldrh w1, [x19] - ldrh w0, [x0, #:lo12:.LANCHOR6] + ldrh w0, [x0, #:lo12:.LANCHOR8] cmp w1, w0 - bcs .L3052 + bcs .L3079 mov w0, 1 adrp x22, .LANCHOR131 bl buf_alloc @@ -19205,101 +19761,101 @@ ftl_open_sblk_recovery: add x0, x0, :lo12:.LANCHOR111 str wzr, [x29, 156] str x0, [x29, 120] -.L3059: - adrp x25, .LANCHOR95 - ldrh w0, [x25, #:lo12:.LANCHOR95] +.L3086: + adrp x25, .LANCHOR94 + ldrh w0, [x25, #:lo12:.LANCHOR94] cmp w0, w24 - bhi .L3074 -.L3062: + bhi .L3101 +.L3089: ldrh w0, [x19, 10] ldrh w1, [x19, 6] - ldrh w2, [x25, #:lo12:.LANCHOR95] + ldrh w2, [x25, #:lo12:.LANCHOR94] add w1, w1, w0 ldrb w0, [x19, 9] strh w24, [x19, 2] strb w23, [x19, 5] mul w0, w0, w2 cmp w1, w0 - beq .L3075 + beq .L3102 adrp x1, .LANCHOR219 adrp x0, .LC0 - mov w2, 1794 + mov w2, 1802 add x1, x1, :lo12:.LANCHOR219 add x0, x0, :lo12:.LC0 bl printf -.L3075: +.L3102: adrp x2, .LANCHOR117 ldrh w3, [x19, 10] mov w0, 0 mov w1, 0 ldr x4, [x2, #:lo12:.LANCHOR117] str x2, [x29, 144] -.L3076: +.L3103: cmp w1, w3 - bcc .L3078 + bcc .L3105 ldrb w23, [x19, 9] - adrp x24, .LANCHOR9 - ldrh w1, [x25, #:lo12:.LANCHOR95] + adrp x24, .LANCHOR11 + ldrh w1, [x25, #:lo12:.LANCHOR94] madd w23, w23, w1, w0 - ldr w0, [x21, #:lo12:.LANCHOR14] + ldr w0, [x21, #:lo12:.LANCHOR19] sub w23, w23, w3 and w23, w23, 65535 - tbz x0, 12, .L3079 + tbz x0, 12, .L3106 ldrh w1, [x19] - ldr x2, [x24, #:lo12:.LANCHOR9] + ldr x2, [x24, #:lo12:.LANCHOR11] ubfiz x0, x1, 1, 16 ldrh w3, [x2, x0] - adrp x0, .LC184 + adrp x0, .LC187 mov w2, w23 - add x0, x0, :lo12:.LC184 + add x0, x0, :lo12:.LC187 bl printf -.L3079: - ldr x0, [x24, #:lo12:.LANCHOR9] +.L3106: + ldr x0, [x24, #:lo12:.LANCHOR11] ldrh w1, [x19] strh w23, [x0, x1, lsl 1] - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 14, .L3080 + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 14, .L3107 ldp w1, w2, [x29, 176] - adrp x0, .LC185 + adrp x0, .LC188 ldp w3, w4, [x29, 184] - add x0, x0, :lo12:.LC185 + add x0, x0, :lo12:.LC188 bl printf -.L3080: +.L3107: ldr x0, [x20, 8] mov w1, 0 ldrb w2, [x22, #:lo12:.LANCHOR131] - adrp x28, .LANCHOR80 + adrp x28, .LANCHOR79 mov x24, 0 lsl w2, w2, 9 bl ftl_memset - adrp x0, .LC187 - add x0, x0, :lo12:.LC187 + adrp x0, .LC190 + add x0, x0, :lo12:.LC190 str x0, [x29, 128] - add x0, x28, :lo12:.LANCHOR80 + add x0, x28, :lo12:.LANCHOR79 str x0, [x29, 120] -.L3081: - ldrb w0, [x28, #:lo12:.LANCHOR80] - add x1, x28, :lo12:.LANCHOR80 +.L3108: + ldrb w0, [x28, #:lo12:.LANCHOR79] + add x1, x28, :lo12:.LANCHOR79 str w24, [x29, 168] mul w0, w0, w27 cmp w24, w0 - bcc .L3093 - adrp x24, .LC188 - adrp x23, .LC187 - add x24, x24, :lo12:.LC188 - add x23, x23, :lo12:.LC187 + bcc .L3120 + adrp x24, .LC191 + adrp x23, .LC190 + add x24, x24, :lo12:.LC191 + add x23, x23, :lo12:.LC190 mov x28, 0 str x1, [x29, 160] -.L3094: +.L3121: ldr x0, [x29, 160] ldrb w0, [x0] mul w0, w0, w27 cmp w0, w28 - bhi .L3100 + bhi .L3127 mov x0, x20 bl zbuf_free ldrh w1, [x19, 12] - ldrh w0, [x25, #:lo12:.LANCHOR95] + ldrh w0, [x25, #:lo12:.LANCHOR94] ldrb w2, [x19, 9] madd w0, w0, w2, w1 mov x1, -4 @@ -19308,20 +19864,20 @@ ftl_open_sblk_recovery: ldr x1, [x1, #:lo12:.LANCHOR117] ldr w0, [x1, x0] cmn w0, #1 - beq .L3101 + beq .L3128 adrp x1, .LANCHOR219 adrp x0, .LC0 - mov w2, 1909 + mov w2, 1917 add x1, x1, :lo12:.LANCHOR219 add x0, x0, :lo12:.LC0 bl printf -.L3101: +.L3128: ldrh w0, [x19, 6] cmp w0, 1 - bne .L3052 + bne .L3079 mov x0, x19 bl ftl_write_last_log_page -.L3052: +.L3079: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -19329,27 +19885,27 @@ ftl_open_sblk_recovery: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 368 ret -.L3074: +.L3101: ldrb w23, [x19, 5] - adrp x0, .LANCHOR198 - add x0, x0, :lo12:.LANCHOR198 + adrp x0, .LANCHOR195 + add x0, x0, :lo12:.LANCHOR195 str x0, [x29, 128] -.L3060: +.L3087: ldrb w0, [x19, 9] cmp w0, w23 - bhi .L3073 + bhi .L3100 add w24, w24, 1 strb wzr, [x19, 5] and w24, w24, 65535 - b .L3059 -.L3073: + b .L3086 +.L3100: add x0, x19, x23, sxtw 1 ldrh w0, [x0, 16] str w0, [x29, 168] mov w0, 65535 ldr w1, [x29, 168] cmp w1, w0 - beq .L3061 + beq .L3088 ldr x0, [x29, 120] ldrb w3, [x22, #:lo12:.LANCHOR131] ldr x2, [x20, 24] @@ -19360,21 +19916,21 @@ ftl_open_sblk_recovery: bl ftl_read_ppa_page mov w28, w0 cmp w0, 512 - beq .L3062 + beq .L3089 cmn w0, #1 - beq .L3063 + beq .L3090 ldr x0, [x20, 24] ldr w1, [x0] cmn w1, #1 - bne .L3063 + bne .L3090 ldr w0, [x0, 4] cmn w0, #1 - bne .L3063 + bne .L3090 ldr x0, [x20, 8] ldr w0, [x0] cmn w0, #1 - beq .L3062 -.L3063: + beq .L3089 +.L3090: ldr x1, [x29, 128] mov w0, 1 strb w0, [x1] @@ -19382,76 +19938,76 @@ ftl_open_sblk_recovery: ldrh w1, [x19, 10] madd w0, w0, w24, w23 cmp w1, w0 - beq .L3064 + beq .L3091 adrp x1, .LANCHOR219 adrp x0, .LC0 - mov w2, 1686 + mov w2, 1694 add x1, x1, :lo12:.LANCHOR219 add x0, x0, :lo12:.LC0 bl printf -.L3064: +.L3091: ldrh w0, [x19, 10] ldrh w1, [x19, 6] ldrb w2, [x19, 9] add w1, w1, w0 - ldrh w0, [x25, #:lo12:.LANCHOR95] + ldrh w0, [x25, #:lo12:.LANCHOR94] mul w0, w0, w2 cmp w1, w0 - beq .L3065 + beq .L3092 adrp x1, .LANCHOR219 adrp x0, .LC0 - mov w2, 1687 + mov w2, 1695 add x1, x1, :lo12:.LANCHOR219 add x0, x0, :lo12:.LC0 bl printf -.L3065: +.L3092: ldrb w0, [x22, #:lo12:.LANCHOR131] cmp w0, 8 - bls .L3066 + bls .L3093 ldr x6, [x20, 24] mov w1, 15555 movk w1, 0xf55f, lsl 16 ldr w0, [x6] cmp w0, w1 - beq .L3066 + beq .L3093 cmn w28, #1 - beq .L3068 + beq .L3095 ldr w0, [x6, 4] cmn w0, #1 - beq .L3069 + beq .L3096 ldr w1, [x6, 16] mov w0, 21320 movk w0, 0x4841, lsl 16 cmp w1, w0 - bne .L3069 + bne .L3096 ldr x0, [x29, 144] mov w1, 1024 bl js_hash ldr w1, [x6, 20] cmp w1, w0 - beq .L3069 + beq .L3096 ldr w3, [x29, 160] mov w5, w0 ldr w1, [x29, 168] mov w4, w28 mov w2, w24 - adrp x0, .LC182 - add x0, x0, :lo12:.LC182 + adrp x0, .LC185 + add x0, x0, :lo12:.LC185 bl printf ldr x1, [x29, 144] mov w3, 16 mov w2, 4 - adrp x0, .LC183 - add x0, x0, :lo12:.LC183 + adrp x0, .LC186 + add x0, x0, :lo12:.LC186 bl rknand_print_hex ldr x1, [x20, 24] - adrp x0, .LC150 + adrp x0, .LC147 ldrb w3, [x22, #:lo12:.LANCHOR131] mov w2, 4 - add x0, x0, :lo12:.LC150 + add x0, x0, :lo12:.LC147 lsr w3, w3, 1 bl rknand_print_hex -.L3068: +.L3095: ldrh w0, [x19, 6] mov w27, 4 sub w0, w0, #1 @@ -19461,55 +20017,55 @@ ftl_open_sblk_recovery: strh w0, [x19, 10] mov w0, 1 str w0, [x29, 156] -.L3061: +.L3088: add w23, w23, 1 and w23, w23, 65535 - b .L3060 -.L3066: + b .L3087 +.L3093: cmn w28, #1 - beq .L3068 -.L3069: + beq .L3095 +.L3096: ldr x1, [x20, 24] ldr w0, [x1, 4] cmn w0, #1 - beq .L3068 + beq .L3095 ldr w1, [x1] mov w2, 15555 movk w2, 0xf55f, lsl 16 cmp w1, w2 - beq .L3068 + beq .L3095 bl lpa_hash_get_ppa ldr x1, [x29, 136] - cbz x1, .L3071 + cbz x1, .L3098 ldr x3, [x20, 24] ldr w1, [x3, 8] cmp w0, w1 - beq .L3071 + beq .L3098 cmn w0, #1 - beq .L3071 - adrp x4, .LANCHOR32 - adrp x5, .LANCHOR75 + beq .L3098 + adrp x4, .LANCHOR31 + adrp x5, .LANCHOR74 mov w28, 24 mov w27, 1 - ldrb w1, [x4, #:lo12:.LANCHOR32] - ldrh w6, [x5, #:lo12:.LANCHOR75] + ldrb w1, [x4, #:lo12:.LANCHOR31] + ldrh w6, [x5, #:lo12:.LANCHOR74] sub w1, w28, w1 sub w1, w1, w6 lsr w2, w0, w6 - adrp x6, .LANCHOR76 + adrp x6, .LANCHOR75 lsl w1, w27, w1 sub w1, w1, #1 and w1, w1, w2 - ldrb w2, [x6, #:lo12:.LANCHOR76] + ldrb w2, [x6, #:lo12:.LANCHOR75] udiv w1, w1, w2 ldr x2, [x29, 136] ldrh w2, [x2] cmp w2, w1, uxth - bne .L3071 + bne .L3098 ldr w8, [x3] - adrp x7, .LANCHOR193 + adrp x7, .LANCHOR190 ldrb w3, [x22, #:lo12:.LANCHOR131] - add x2, x7, :lo12:.LANCHOR193 + add x2, x7, :lo12:.LANCHOR190 ldr x1, [x20, 8] str w8, [x29, 156] str x7, [x29, 168] @@ -19518,43 +20074,43 @@ ftl_open_sblk_recovery: bl ftl_read_ppa_page ldr x7, [x29, 168] ldr w8, [x29, 156] - ldr w0, [x7, #:lo12:.LANCHOR193] + ldr w0, [x7, #:lo12:.LANCHOR190] cmp w8, w0 - bhi .L3071 + bhi .L3098 ldr x0, [x20, 24] ldr w0, [x0, 8] cmn w0, #1 - beq .L3068 + beq .L3095 ldp x6, x4, [x29, 96] ldr x5, [x29, 112] - ldrb w2, [x4, #:lo12:.LANCHOR32] - ldrh w1, [x5, #:lo12:.LANCHOR75] + ldrb w2, [x4, #:lo12:.LANCHOR31] + ldrh w1, [x5, #:lo12:.LANCHOR74] sub w28, w28, w2 sub w28, w28, w1 lsr w0, w0, w1 lsl w27, w27, w28 sub w27, w27, #1 and w27, w27, w0 - ldrb w0, [x6, #:lo12:.LANCHOR76] + ldrb w0, [x6, #:lo12:.LANCHOR75] udiv w0, w27, w0 bl ftl_vpn_decrement - b .L3068 -.L3078: + b .L3095 +.L3105: ldrh w2, [x19, 12] add w2, w2, w1 ldr w2, [x4, x2, lsl 2] cmn w2, #1 - beq .L3077 + beq .L3104 add w23, w0, 1 and w0, w23, 65535 -.L3077: +.L3104: add w1, w1, 1 - b .L3076 -.L3093: + b .L3103 +.L3120: ldr w0, [x26, x24, lsl 2] cmn w0, #1 - bne .L3082 -.L3086: + bne .L3109 +.L3113: adrp x0, .LANCHOR110 ldr x1, [x20, 24] mov w23, -1 @@ -19568,23 +20124,23 @@ ftl_open_sblk_recovery: str wzr, [x0] mov w0, 2 bl ftl_debug_info_fill -.L3083: +.L3110: ldr w0, [x29, 156] - cbz w0, .L3088 + cbz w0, .L3115 ldrh w0, [x19, 6] cmp w0, 1 - bls .L3088 - add x0, x21, :lo12:.LANCHOR14 + bls .L3115 + add x0, x21, :lo12:.LANCHOR19 str x0, [x29, 160] add x0, x22, :lo12:.LANCHOR131 str x0, [x29, 136] -.L3153: +.L3180: mov x0, x19 bl ftl_get_new_free_page mov w4, w0 ldr x0, [x29, 160] ldr w0, [x0] - tbz x0, 14, .L3090 + tbz x0, 14, .L3117 ldrh w0, [x19, 12] mov w1, w4 ldrh w3, [x19, 10] @@ -19596,7 +20152,7 @@ ftl_open_sblk_recovery: ldr x0, [x29, 128] bl printf ldr w4, [x29, 112] -.L3090: +.L3117: ldr x0, [x29, 120] ldr w2, [x29, 168] ldrh w1, [x19, 6] @@ -19605,7 +20161,7 @@ ftl_open_sblk_recovery: add w0, w0, 1 sub w0, w0, w2 cmp w1, w0 - bls .L3088 + bls .L3115 ldr x0, [x29, 136] ldr x1, [x20, 8] ldr x2, [x20, 24] @@ -19621,7 +20177,7 @@ ftl_open_sblk_recovery: cmn w23, #1 ldr w4, [x29, 104] ccmn w1, #1, 4, ne - beq .L3091 + beq .L3118 add x0, x29, 240 ldrh w1, [x19, 12] str w4, [x0, x24, lsl 2] @@ -19630,10 +20186,10 @@ ftl_open_sblk_recovery: add x1, x29, 304 sub w0, w0, #1 str w0, [x1, x24, lsl 2] -.L3088: +.L3115: add x24, x24, 1 - b .L3081 -.L3082: + b .L3108 +.L3109: ldrb w3, [x22, #:lo12:.LANCHOR131] ldr x1, [x20, 8] ldr x2, [x20, 24] @@ -19643,18 +20199,18 @@ ftl_open_sblk_recovery: ldr w0, [x0, 4] bl lpa_hash_get_ppa mov w4, w0 - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 14, .L3084 + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 14, .L3111 ldr x0, [x20, 24] mov w1, w4 ldr w2, [x26, x24, lsl 2] str w4, [x29, 160] ldr w3, [x0, 4] - adrp x0, .LC186 - add x0, x0, :lo12:.LC186 + adrp x0, .LC189 + add x0, x0, :lo12:.LC189 bl printf ldr w4, [x29, 160] -.L3084: +.L3111: ldr x1, [x20, 24] mov x2, 0 ldr w0, [x26, x24, lsl 2] @@ -19666,20 +20222,20 @@ ftl_open_sblk_recovery: mov w0, 2 bl ftl_debug_info_fill cmn w23, #1 - bne .L3083 - b .L3086 -.L3091: + bne .L3110 + b .L3113 +.L3118: ldrh w0, [x19, 6] cmp w0, 1 - bls .L3088 + bls .L3115 cmn w23, #1 - bne .L3153 - b .L3088 -.L3100: + bne .L3180 + b .L3115 +.L3127: add x0, x29, 240 ldr w0, [x0, x28, lsl 2] cmn w0, #1 - beq .L3096 + beq .L3123 ldrb w3, [x22, #:lo12:.LANCHOR131] ldr w0, [x26, x28, lsl 2] ldr x1, [x20, 8] @@ -19687,7 +20243,7 @@ ftl_open_sblk_recovery: bl ftl_read_ppa_page cmp w0, 256 ccmn w0, #1, 4, ne - bne .L3096 + bne .L3123 add x0, x29, 240 ldrb w3, [x22, #:lo12:.LANCHOR131] ldr x1, [x20, 8] @@ -19695,8 +20251,8 @@ ftl_open_sblk_recovery: ldr w0, [x0, x28, lsl 2] bl ftl_read_ppa_page mov w5, w0 - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 14, .L3098 + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 14, .L3125 ldr x0, [x20, 24] mov w1, w5 ldr w3, [x26, x28, lsl 2] @@ -19705,22 +20261,22 @@ ftl_open_sblk_recovery: mov x0, x23 bl printf ldr w5, [x29, 168] -.L3098: +.L3125: cmn w5, #1 - beq .L3096 + beq .L3123 ldr x0, [x20, 24] ldr w2, [x26, x28, lsl 2] ldr w1, [x0, 8] cmp w2, w1 - bne .L3096 - ldr w1, [x21, #:lo12:.LANCHOR14] - tbz x1, 14, .L3099 + bne .L3123 + ldr w1, [x21, #:lo12:.LANCHOR19] + tbz x1, 14, .L3126 add x1, x29, 304 ldr w3, [x1, x28, lsl 2] ldr w1, [x0, 4] mov x0, x24 bl printf -.L3099: +.L3126: add x1, x29, 304 ldr x0, [x20, 24] ldr w1, [x1, x28, lsl 2] @@ -19729,31 +20285,31 @@ ftl_open_sblk_recovery: ldrh w2, [x29, 168] ldr w0, [x0, 4] bl lpa_hash_update_ppa -.L3096: +.L3123: add x28, x28, 1 - b .L3094 -.L3071: + b .L3121 +.L3098: ldr x3, [x20, 24] adrp x0, .LANCHOR128 ldr w0, [x0, #:lo12:.LANCHOR128] ldr w1, [x3, 4] cmp w1, w0 - bcs .L3068 + bcs .L3095 ldrb w0, [x19, 9] - ldrh w1, [x25, #:lo12:.LANCHOR95] + ldrh w1, [x25, #:lo12:.LANCHOR94] ldrh w2, [x19, 10] mul w0, w0, w1 sub w0, w0, #1 cmp w2, w0 - bge .L3068 + bge .L3095 adrp x0, .LANCHOR110 ldr w1, [x3] ldr x0, [x0, #:lo12:.LANCHOR110] ldr w4, [x0, 8] cmp w1, w4 - bls .L3072 + bls .L3099 str w1, [x0, 8] -.L3072: +.L3099: ldrh w0, [x19, 12] add w2, w2, w0 ldp w0, w1, [x3, 4] @@ -19766,7 +20322,7 @@ ftl_open_sblk_recovery: str w0, [x29, 184] ldr w0, [x29, 160] str w0, [x29, 188] - b .L3068 + b .L3095 .size ftl_open_sblk_recovery, .-ftl_open_sblk_recovery .section .text.dump_ftl_info,"ax",@progbits .align 2 @@ -19774,101 +20330,101 @@ ftl_open_sblk_recovery: .type dump_ftl_info, %function dump_ftl_info: stp x29, x30, [sp, -48]! - adrp x0, .LANCHOR58 + adrp x0, .LANCHOR57 add x29, sp, 0 - ldrb w1, [x0, #:lo12:.LANCHOR58] - adrp x0, .LC189 + ldrb w1, [x0, #:lo12:.LANCHOR57] + adrp x0, .LC192 stp x19, x20, [sp, 16] - add x0, x0, :lo12:.LC189 + add x0, x0, :lo12:.LC192 stp x21, x22, [sp, 32] adrp x22, .LANCHOR110 - adrp x19, .LANCHOR10 - adrp x20, .LANCHOR95 + adrp x19, .LANCHOR12 + adrp x20, .LANCHOR94 bl printf - adrp x21, .LANCHOR6 - adrp x0, .LANCHOR194 - add x1, x0, :lo12:.LANCHOR194 + adrp x21, .LANCHOR8 + adrp x0, .LANCHOR191 + add x1, x0, :lo12:.LANCHOR191 ldrh w3, [x1, 2] ldrb w2, [x1, 1] - ldrb w1, [x0, #:lo12:.LANCHOR194] - adrp x0, .LC190 - add x0, x0, :lo12:.LC190 + ldrb w1, [x0, #:lo12:.LANCHOR191] + adrp x0, .LC193 + add x0, x0, :lo12:.LC193 bl printf ldr x0, [x22, #:lo12:.LANCHOR110] ldrh w2, [x0, 140] ldrh w1, [x0, 130] - adrp x0, .LC191 - add x0, x0, :lo12:.LC191 + adrp x0, .LC194 + add x0, x0, :lo12:.LC194 bl printf - ldr x1, [x19, #:lo12:.LANCHOR10] - adrp x0, .LC192 - add x0, x0, :lo12:.LC192 + ldr x1, [x19, #:lo12:.LANCHOR12] + adrp x0, .LC195 + add x0, x0, :lo12:.LC195 ldrh w5, [x1, 26] ldrh w4, [x1, 22] ldrb w3, [x1, 21] ldrh w2, [x1, 18] ldrh w1, [x1, 16] bl printf - ldr x1, [x19, #:lo12:.LANCHOR10] - adrp x0, .LC193 - add x0, x0, :lo12:.LC193 + ldr x1, [x19, #:lo12:.LANCHOR12] + adrp x0, .LC196 + add x0, x0, :lo12:.LC196 ldrh w5, [x1, 58] ldrh w4, [x1, 54] ldrb w3, [x1, 53] ldrh w2, [x1, 50] ldrh w1, [x1, 48] bl printf - ldr x1, [x19, #:lo12:.LANCHOR10] - adrp x19, .LANCHOR80 - adrp x0, .LC194 - add x0, x0, :lo12:.LC194 + ldr x1, [x19, #:lo12:.LANCHOR12] + adrp x19, .LANCHOR79 + adrp x0, .LC197 + add x0, x0, :lo12:.LC197 ldrh w5, [x1, 90] ldrh w4, [x1, 86] ldrb w3, [x1, 85] ldrh w2, [x1, 82] ldrh w1, [x1, 80] bl printf - ldrb w0, [x19, #:lo12:.LANCHOR80] + ldrb w0, [x19, #:lo12:.LANCHOR79] mov w2, 4 - ldrh w3, [x20, #:lo12:.LANCHOR95] + ldrh w3, [x20, #:lo12:.LANCHOR94] mul w3, w3, w0 adrp x0, .LANCHOR117 ldr x1, [x0, #:lo12:.LANCHOR117] - adrp x0, .LC195 + adrp x0, .LC198 lsl w3, w3, 1 - add x0, x0, :lo12:.LC195 + add x0, x0, :lo12:.LC198 bl rknand_print_hex - adrp x0, .LANCHOR9 - ldrh w3, [x21, #:lo12:.LANCHOR6] + adrp x0, .LANCHOR11 + ldrh w3, [x21, #:lo12:.LANCHOR8] mov w2, 2 - ldr x1, [x0, #:lo12:.LANCHOR9] - adrp x0, .LC196 - add x0, x0, :lo12:.LC196 + ldr x1, [x0, #:lo12:.LANCHOR11] + adrp x0, .LC199 + add x0, x0, :lo12:.LC199 bl rknand_print_hex ldr x1, [x22, #:lo12:.LANCHOR110] mov w2, 4 - adrp x0, .LC176 - add x0, x0, :lo12:.LC176 + adrp x0, .LC179 + add x0, x0, :lo12:.LC179 add x1, x1, 704 ldrh w3, [x1, -6] bl rknand_print_hex - adrp x0, .LANCHOR7 - ldrh w3, [x21, #:lo12:.LANCHOR6] + adrp x0, .LANCHOR9 + ldrh w3, [x21, #:lo12:.LANCHOR8] mov w2, 4 - ldr x1, [x0, #:lo12:.LANCHOR7] - adrp x0, .LC197 - add x0, x0, :lo12:.LC197 + ldr x1, [x0, #:lo12:.LANCHOR9] + adrp x0, .LC200 + add x0, x0, :lo12:.LC200 bl rknand_print_hex mov w3, 256 mov w2, 2 adrp x1, .LANCHOR116 - adrp x0, .LC198 + adrp x0, .LC201 add x1, x1, :lo12:.LANCHOR116 - add x0, x0, :lo12:.LC198 + add x0, x0, :lo12:.LC201 bl rknand_print_hex - ldrb w0, [x19, #:lo12:.LANCHOR80] + ldrb w0, [x19, #:lo12:.LANCHOR79] mov w2, 2 - ldrh w3, [x20, #:lo12:.LANCHOR95] + ldrh w3, [x20, #:lo12:.LANCHOR94] ldp x21, x22, [sp, 32] ldp x19, x20, [sp, 16] mul w3, w3, w0 @@ -19876,8 +20432,8 @@ dump_ftl_info: ldp x29, x30, [sp], 48 lsl w3, w3, 1 ldr x1, [x0, #:lo12:.LANCHOR118] - adrp x0, .LC199 - add x0, x0, :lo12:.LC199 + adrp x0, .LC202 + add x0, x0, :lo12:.LC202 b rknand_print_hex .size dump_ftl_info, .-dump_ftl_info .section .text.pm_ppa_update_check,"ax",@progbits @@ -19885,11 +20441,11 @@ dump_ftl_info: .global pm_ppa_update_check .type pm_ppa_update_check, %function pm_ppa_update_check: - adrp x4, .LANCHOR32 - adrp x3, .LANCHOR75 + adrp x4, .LANCHOR31 + adrp x3, .LANCHOR74 mov w5, 24 - ldrb w4, [x4, #:lo12:.LANCHOR32] - ldrh w3, [x3, #:lo12:.LANCHOR75] + ldrb w4, [x4, #:lo12:.LANCHOR31] + ldrh w3, [x3, #:lo12:.LANCHOR74] sub w4, w5, w4 sub w5, w4, w3 mov w4, 1 @@ -19897,30 +20453,30 @@ pm_ppa_update_check: lsl w4, w4, w5 sub w4, w4, #1 and w4, w4, w3 - adrp x3, .LANCHOR76 - ldrb w3, [x3, #:lo12:.LANCHOR76] + adrp x3, .LANCHOR75 + ldrb w3, [x3, #:lo12:.LANCHOR75] udiv w4, w4, w3 - adrp x3, .LANCHOR7 - ldr x3, [x3, #:lo12:.LANCHOR7] + adrp x3, .LANCHOR9 + ldr x3, [x3, #:lo12:.LANCHOR9] add x4, x3, x4, uxth 2 ldrb w3, [x4, 2] ubfx x3, x3, 5, 3 cmp w3, 1 ccmp w3, 7, 4, ne - bne .L3185 + bne .L3212 mov w3, w2 mov w2, w1 mov x1, x0 stp x29, x30, [sp, -16]! - adrp x0, .LC200 - add x0, x0, :lo12:.LC200 + adrp x0, .LC203 + add x0, x0, :lo12:.LC203 add x29, sp, 0 bl printf bl dump_ftl_info mov w0, -1 ldp x29, x30, [sp], 16 ret -.L3185: +.L3212: mov w0, 0 ret .size pm_ppa_update_check, .-pm_ppa_update_check @@ -19937,23 +20493,23 @@ load_l2p_region: stp x23, x24, [sp, 48] cmp w21, 31 stp x25, x26, [sp, 64] - bls .L3191 + bls .L3218 adrp x1, .LANCHOR220 adrp x0, .LC0 mov w2, 32 add x1, x1, :lo12:.LANCHOR220 add x0, x0, :lo12:.LC0 bl printf -.L3191: +.L3218: adrp x20, .LANCHOR110 mov x25, x20 ldr x0, [x20, #:lo12:.LANCHOR110] ldrh w2, [x0, 698] cmp w2, w19 - bcs .L3192 + bcs .L3219 mov w1, w19 - adrp x0, .LC201 - add x0, x0, :lo12:.LC201 + adrp x0, .LC204 + add x0, x0, :lo12:.LC204 bl printf adrp x0, .LANCHOR221 mov w1, 255 @@ -19964,47 +20520,47 @@ load_l2p_region: ldr x0, [x20, #:lo12:.LANCHOR110] ldrh w0, [x0, 698] cmp w0, w19 - bcc .L3193 -.L3203: + bcc .L3220 +.L3230: mov w0, 0 -.L3190: +.L3217: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 80 ret -.L3193: +.L3220: mov w2, 37 -.L3204: +.L3231: adrp x1, .LANCHOR220 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR220 add x0, x0, :lo12:.LC0 bl printf - b .L3203 -.L3192: + b .L3230 +.L3219: add x0, x0, x19, sxtw 2 - adrp x22, .LANCHOR138 - add x1, x22, :lo12:.LANCHOR138 + adrp x22, .LANCHOR135 + add x1, x22, :lo12:.LANCHOR135 ldr w23, [x0, 704] lsl x0, x21, 4 add x26, x1, x0 strh w19, [x1, x0] strh wzr, [x26, 2] - cbnz w23, .L3195 + cbnz w23, .L3222 mov w1, w19 mov w2, 0 - adrp x0, .LC202 - add x0, x0, :lo12:.LC202 + adrp x0, .LC205 + add x0, x0, :lo12:.LC205 bl printf adrp x0, .LANCHOR221 mov w1, 255 ldrh w2, [x0, #:lo12:.LANCHOR221] ldr x0, [x26, 8] bl ftl_memset - b .L3203 -.L3195: + b .L3230 +.L3222: adrp x20, .LANCHOR207 adrp x24, .LANCHOR131 ldr x1, [x26, 8] @@ -20015,45 +20571,45 @@ load_l2p_region: ldr x1, [x20, #:lo12:.LANCHOR207] ldr w2, [x1] cmp w2, w19 - bne .L3196 + bne .L3223 cmp w0, 512 ccmn w0, #1, 4, ne - beq .L3196 -.L3200: + beq .L3223 +.L3227: ldr x0, [x20, #:lo12:.LANCHOR207] ldr w0, [x0] cmp w19, w0 - beq .L3203 + beq .L3230 mov w2, 73 - b .L3204 -.L3196: + b .L3231 +.L3223: mov w4, w23 mov w3, w0 mov w1, w19 - adrp x0, .LC203 - add x0, x0, :lo12:.LC203 + adrp x0, .LC206 + add x0, x0, :lo12:.LC206 bl printf ldr x1, [x25, #:lo12:.LANCHOR110] - add x22, x22, :lo12:.LANCHOR138 + add x22, x22, :lo12:.LANCHOR135 add x21, x22, x21, lsl 4 mov w2, 4 add x1, x1, 704 - adrp x0, .LC204 - add x0, x0, :lo12:.LC204 + adrp x0, .LC207 + add x0, x0, :lo12:.LC207 ldrh w3, [x1, -6] bl rknand_print_hex ldr x1, [x21, 8] mov w2, 4 ldrb w3, [x24, #:lo12:.LANCHOR131] - adrp x0, .LC183 - add x0, x0, :lo12:.LC183 + adrp x0, .LC186 + add x0, x0, :lo12:.LC186 lsl w3, w3, 7 bl rknand_print_hex ldr x1, [x20, #:lo12:.LANCHOR207] mov w3, 16 mov w2, 4 - adrp x0, .LC205 - add x0, x0, :lo12:.LC205 + adrp x0, .LC208 + add x0, x0, :lo12:.LC208 bl rknand_print_hex ldrb w3, [x24, #:lo12:.LANCHOR131] mov w0, w23 @@ -20062,21 +20618,21 @@ load_l2p_region: bl ftl_read_ppa_page cmp w0, 512 ccmn w0, #1, 4, ne - bne .L3199 + bne .L3226 adrp x0, .LANCHOR221 mov w1, 255 ldrh w2, [x0, #:lo12:.LANCHOR221] ldr x0, [x21, 8] bl ftl_memset -.L3201: +.L3228: mov w0, -1 - b .L3190 -.L3199: + b .L3217 +.L3226: ldr x0, [x20, #:lo12:.LANCHOR207] ldr w0, [x0] cmp w19, w0 - beq .L3200 - b .L3201 + beq .L3227 + b .L3228 .size load_l2p_region, .-load_l2p_region .section .text.pm_gc,"ax",@progbits .align 2 @@ -20088,37 +20644,37 @@ pm_gc: stp x19, x20, [sp, 16] adrp x19, .LANCHOR110 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR151 + adrp x21, .LANCHOR148 ldr x0, [x19, #:lo12:.LANCHOR110] stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] ldrh w2, [x0, 688] - adrp x0, .LANCHOR155 + adrp x0, .LANCHOR152 str x27, [sp, 80] mov x20, x0 - ldrh w1, [x0, #:lo12:.LANCHOR155] + ldrh w1, [x0, #:lo12:.LANCHOR152] sub w1, w1, #1 cmp w2, w1 - bge .L3206 - ldr w0, [x21, #:lo12:.LANCHOR151] - cbz w0, .L3207 -.L3206: + bge .L3233 + ldr w0, [x21, #:lo12:.LANCHOR148] + cbz w0, .L3234 +.L3233: bl pm_free_sblk ldr x2, [x19, #:lo12:.LANCHOR110] - ldrh w1, [x20, #:lo12:.LANCHOR155] + ldrh w1, [x20, #:lo12:.LANCHOR152] sub w1, w1, #1 ldrh w3, [x2, 688] cmp w3, w1 - bge .L3208 - ldr w1, [x21, #:lo12:.LANCHOR151] - cbz w1, .L3207 -.L3208: + bge .L3235 + ldr w1, [x21, #:lo12:.LANCHOR148] + cbz w1, .L3234 +.L3235: add x0, x2, x0, uxth 1 - str wzr, [x21, #:lo12:.LANCHOR151] + str wzr, [x21, #:lo12:.LANCHOR148] mov w20, 65535 ldrh w21, [x0, 416] cmp w21, w20 - bne .L3210 + bne .L3237 adrp x1, .LANCHOR222 add x1, x1, :lo12:.LANCHOR222 mov w2, 182 @@ -20130,41 +20686,41 @@ pm_gc: add x0, x1, x0, uxth 1 ldrh w21, [x0, 416] cmp w21, w20 - beq .L3207 -.L3210: + beq .L3234 +.L3237: bl pm_select_ram_region and x22, x0, 65535 lsl x0, x22, 4 - adrp x20, .LANCHOR138 - add x1, x20, :lo12:.LANCHOR138 + adrp x20, .LANCHOR135 + add x1, x20, :lo12:.LANCHOR135 mov x25, x22 add x23, x1, x0 ldrh w0, [x1, x0] mov w1, 65535 cmp w0, w1 - beq .L3211 + beq .L3238 ldr x1, [x23, 8] - cbz x1, .L3211 + cbz x1, .L3238 ldrsh w2, [x23, 2] - tbz w2, #31, .L3211 + tbz w2, #31, .L3238 bl pm_write_page ldrh w0, [x23, 2] and w0, w0, 32767 strh w0, [x23, 2] -.L3211: - adrp x23, .LANCHOR75 - adrp x24, .LANCHOR32 - add x23, x23, :lo12:.LANCHOR75 - add x24, x24, :lo12:.LANCHOR32 +.L3238: + adrp x23, .LANCHOR74 + adrp x24, .LANCHOR31 + add x23, x23, :lo12:.LANCHOR74 + add x24, x24, :lo12:.LANCHOR31 mov w27, 0 mov w26, 24 -.L3212: +.L3239: ldr x2, [x19, #:lo12:.LANCHOR110] ldrh w0, [x2, 698] cmp w0, w27 - bhi .L3215 + bhi .L3242 bl pm_free_sblk -.L3207: +.L3234: mov w0, 0 ldr x27, [sp, 80] ldp x19, x20, [sp, 16] @@ -20173,7 +20729,7 @@ pm_gc: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 96 ret -.L3215: +.L3242: ldrb w0, [x24] add x2, x2, x27, sxtw 2 ldrh w3, [x23] @@ -20185,29 +20741,29 @@ pm_gc: sub w0, w0, #1 lsr w1, w1, w3 and w0, w0, w1 - adrp x1, .LANCHOR76 - ldrb w1, [x1, #:lo12:.LANCHOR76] + adrp x1, .LANCHOR75 + ldrb w1, [x1, #:lo12:.LANCHOR75] udiv w0, w0, w1 cmp w21, w0, uxth - bne .L3213 + bne .L3240 mov w1, w25 mov w0, w27 bl load_l2p_region - cbnz w0, .L3214 - add x0, x20, :lo12:.LANCHOR138 + cbnz w0, .L3241 + add x0, x20, :lo12:.LANCHOR135 add x0, x0, x22, lsl 4 ldr x1, [x0, 8] mov w0, w27 bl pm_write_page -.L3214: - add x1, x20, :lo12:.LANCHOR138 +.L3241: + add x1, x20, :lo12:.LANCHOR135 lsl x0, x22, 4 mov w2, -1 strh w2, [x1, x0] -.L3213: +.L3240: add w27, w27, 1 and w27, w27, 65535 - b .L3212 + b .L3239 .size pm_gc, .-pm_gc .section .text.pm_flush_id,"ax",@progbits .align 2 @@ -20216,8 +20772,8 @@ pm_gc: pm_flush_id: stp x29, x30, [sp, -32]! ubfiz x0, x0, 4, 16 - adrp x2, .LANCHOR138 - add x2, x2, :lo12:.LANCHOR138 + adrp x2, .LANCHOR135 + add x2, x2, :lo12:.LANCHOR135 add x29, sp, 0 str x19, [sp, 16] add x19, x2, x0 @@ -20227,12 +20783,12 @@ pm_flush_id: ldrh w0, [x19, 2] and w0, w0, 32767 strh w0, [x19, 2] - adrp x19, .LANCHOR136 - ldr w0, [x19, #:lo12:.LANCHOR136] - cbz w0, .L3224 + adrp x19, .LANCHOR204 + ldr w0, [x19, #:lo12:.LANCHOR204] + cbz w0, .L3251 bl pm_gc - str wzr, [x19, #:lo12:.LANCHOR136] -.L3224: + str wzr, [x19, #:lo12:.LANCHOR204] +.L3251: mov w0, 0 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 @@ -20246,21 +20802,21 @@ pm_flush: stp x29, x30, [sp, -32]! add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x19, .LANCHOR138 - add x19, x19, :lo12:.LANCHOR138 + adrp x19, .LANCHOR135 + add x19, x19, :lo12:.LANCHOR135 mov w20, 0 add x19, x19, 2 -.L3231: +.L3258: ldrsh w0, [x19] - tbz w0, #31, .L3230 + tbz w0, #31, .L3257 mov w0, w20 bl pm_flush_id -.L3230: +.L3257: add w20, w20, 1 add x19, x19, 16 and w20, w20, 65535 cmp w20, 32 - bne .L3231 + bne .L3258 mov w0, 0 ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 @@ -20309,15 +20865,15 @@ pm_init: add x29, sp, 0 stp x23, x24, [sp, 48] mov w24, w0 - adrp x0, .LANCHOR151 + adrp x0, .LANCHOR148 stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] - adrp x19, .LANCHOR138 - str wzr, [x0, #:lo12:.LANCHOR151] - adrp x0, .LANCHOR136 + adrp x19, .LANCHOR135 + str wzr, [x0, #:lo12:.LANCHOR148] + adrp x0, .LANCHOR204 stp x25, x26, [sp, 64] - add x20, x19, :lo12:.LANCHOR138 - str wzr, [x0, #:lo12:.LANCHOR136] + add x20, x19, :lo12:.LANCHOR135 + str wzr, [x0, #:lo12:.LANCHOR204] adrp x0, .LANCHOR208 stp x27, x28, [sp, 80] adrp x22, .LANCHOR131 @@ -20330,19 +20886,19 @@ pm_init: mov x21, x1 mov w25, -1 str x0, [x1, #:lo12:.LANCHOR207] -.L3241: +.L3268: strh w25, [x20] strh wzr, [x20, 2] - cbz w24, .L3240 + cbz w24, .L3267 ldrb w0, [x22] lsl w0, w0, 9 bl ftl_malloc str x0, [x20, 8] -.L3240: +.L3267: add x20, x20, 16 cmp x20, x23 - bne .L3241 - add x0, x19, :lo12:.LANCHOR138 + bne .L3268 + add x0, x19, :lo12:.LANCHOR135 adrp x20, .LANCHOR110 ldr x22, [x21, #:lo12:.LANCHOR207] mov w4, 4 @@ -20358,32 +20914,32 @@ pm_init: mov w24, w26 ldrh w2, [x0, 696] cmp w2, w26 - bgt .L3242 + bgt .L3269 ldrh w1, [x0, 692] mov w3, w26 - adrp x0, .LC206 - add x0, x0, :lo12:.LC206 + adrp x0, .LC209 + add x0, x0, :lo12:.LC209 adrp x25, .LANCHOR131 add x25, x25, :lo12:.LANCHOR131 - adrp x28, .LC207 + adrp x28, .LC210 bl printf ldr x0, [x20, #:lo12:.LANCHOR110] ldrsh w21, [x0, 696] adrp x0, .LANCHOR111 add x0, x0, :lo12:.LANCHOR111 str x0, [x29, 104] -.L3243: +.L3270: cmp w21, w26 - ble .L3246 - adrp x0, .LANCHOR198 + ble .L3273 + adrp x0, .LANCHOR195 mov w1, 1 add w24, w24, 1 - strb w1, [x0, #:lo12:.LANCHOR198] + strb w1, [x0, #:lo12:.LANCHOR195] ldr x0, [x20, #:lo12:.LANCHOR110] strh w24, [x0, 696] bl pm_free_sblk -.L3242: - add x19, x19, :lo12:.LANCHOR138 +.L3269: + add x19, x19, :lo12:.LANCHOR135 adrp x0, .LANCHOR221 mov w1, 255 ldrh w2, [x0, #:lo12:.LANCHOR221] @@ -20392,9 +20948,9 @@ pm_init: ldr x1, [x19, 8] mov w0, -1 bl pm_write_page - adrp x0, .LANCHOR198 - ldrb w0, [x0, #:lo12:.LANCHOR198] - cbz w0, .L3247 + adrp x0, .LANCHOR195 + ldrb w0, [x0, #:lo12:.LANCHOR195] + cbz w0, .L3274 ldr x1, [x19, 8] mov w0, -1 bl pm_write_page @@ -20404,7 +20960,7 @@ pm_init: ldr x1, [x19, 8] mov w0, -1 bl pm_write_page -.L3247: +.L3274: bl pm_free_sblk bl pm_gc mov w0, 0 @@ -20415,7 +20971,7 @@ pm_init: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 112 ret -.L3246: +.L3273: ldr x0, [x20, #:lo12:.LANCHOR110] mov x3, x22 ldr x1, [x29, 104] @@ -20435,38 +20991,38 @@ pm_init: ldrh w3, [x0, 694] add w1, w1, 1 str w1, [x0, 48] - add x0, x28, :lo12:.LC207 + add x0, x28, :lo12:.LC210 ldr w1, [x22] bl printf ldr w4, [x29, 100] cmp w4, 512 ccmn w4, #1, 4, ne - beq .L3244 + beq .L3271 ldr x8, [x20, #:lo12:.LANCHOR110] ldr w6, [x22] ldrh w0, [x8, 698] cmp w6, w0 - bcs .L3244 + bcs .L3271 ldr w7, [x22, 8] - cbz w7, .L3245 + cbz w7, .L3272 ldrb w1, [x25] mov x0, x27 lsl w1, w1, 9 bl js_hash cmp w7, w0 - beq .L3245 - adrp x0, .LC208 + beq .L3272 + adrp x0, .LC211 mov w1, w7 - add x0, x0, :lo12:.LC208 + add x0, x0, :lo12:.LC211 bl printf -.L3244: +.L3271: add w21, w21, 1 sxth w21, w21 - b .L3243 -.L3245: + b .L3270 +.L3272: add x6, x8, x6, uxtw 2 str w23, [x6, 704] - b .L3244 + b .L3271 .size pm_init, .-pm_init .section .text.pm_log2phys,"ax",@progbits .align 2 @@ -20486,15 +21042,15 @@ pm_log2phys: ldr w2, [x0, #:lo12:.LANCHOR128] str x27, [sp, 80] cmp w25, w2 - bcc .L3263 + bcc .L3290 mov w1, w25 - adrp x0, .LC209 - add x0, x0, :lo12:.LC209 + adrp x0, .LC212 + add x0, x0, :lo12:.LC212 bl printf mov w0, -1 - cbnz w24, .L3262 + cbnz w24, .L3289 str w0, [x23] -.L3262: +.L3289: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -20502,35 +21058,35 @@ pm_log2phys: ldr x27, [sp, 80] ldp x29, x30, [sp], 96 ret -.L3263: +.L3290: adrp x0, .LANCHOR131 - adrp x21, .LANCHOR138 + adrp x21, .LANCHOR135 mov x19, 0 ldrb w20, [x0, #:lo12:.LANCHOR131] - add x0, x21, :lo12:.LANCHOR138 + add x0, x21, :lo12:.LANCHOR135 add x0, x0, 8 lsl w22, w20, 7 udiv w22, w25, w22 and w26, w22, 65535 -.L3269: +.L3296: ldr x1, [x0] - cbz x1, .L3265 + cbz x1, .L3292 ldrh w1, [x0, -8] cmp w1, w26 - bne .L3265 -.L3266: + bne .L3292 +.L3293: ubfiz w20, w20, 7, 9 msub w25, w26, w20, w25 and x25, x25, 65535 - cbnz w24, .L3267 - add x0, x21, :lo12:.LANCHOR138 - adrp x1, .LANCHOR32 + cbnz w24, .L3294 + add x0, x21, :lo12:.LANCHOR135 + adrp x1, .LANCHOR31 add x0, x0, x19, lsl 4 mov w2, 24 ldr x0, [x0, 8] ldr w0, [x0, x25, lsl 2] str w0, [x23] - ldrb w3, [x1, #:lo12:.LANCHOR32] + ldrb w3, [x1, #:lo12:.LANCHOR31] mov w1, 1 sub w2, w2, w3 lsl w1, w1, w3 @@ -20540,23 +21096,23 @@ pm_log2phys: adrp x1, .LANCHOR112 ldrb w1, [x1, #:lo12:.LANCHOR112] cmp w0, w1 - bcc .L3268 + bcc .L3295 mov w0, -1 str w0, [x23] -.L3268: - add x21, x21, :lo12:.LANCHOR138 +.L3295: + add x21, x21, :lo12:.LANCHOR135 add x19, x21, x19, lsl 4 ldrh w0, [x19, 2] mvn x1, x0 tst x1, 32767 - beq .L3272 + beq .L3299 add w0, w0, 1 strh w0, [x19, 2] -.L3272: +.L3299: mov w0, 0 - b .L3262 -.L3267: - add x0, x21, :lo12:.LANCHOR138 + b .L3289 +.L3294: + add x0, x21, :lo12:.LANCHOR135 ldr w2, [x23] add x0, x0, x19, lsl 4 ldr x1, [x0, 8] @@ -20564,35 +21120,35 @@ pm_log2phys: ldrh w1, [x0, 2] orr w1, w1, -32768 strh w1, [x0, 2] - adrp x0, .LANCHOR139 - strb w22, [x0, #:lo12:.LANCHOR139] - b .L3268 -.L3265: + adrp x0, .LANCHOR136 + strb w22, [x0, #:lo12:.LANCHOR136] + b .L3295 +.L3292: add w19, w19, 1 add x0, x0, 16 and x19, x19, 65535 cmp w19, 32 - bne .L3269 + bne .L3296 bl pm_select_ram_region and x19, x0, 65535 sbfiz x1, x19, 4, 32 - add x2, x21, :lo12:.LANCHOR138 + add x2, x21, :lo12:.LANCHOR135 add x3, x2, x1 mov w27, w0 ldrh w2, [x2, x1] mov w1, 65535 cmp w2, w1 - beq .L3270 + beq .L3297 ldrsh w1, [x3, 2] - tbz w1, #31, .L3270 + tbz w1, #31, .L3297 bl pm_flush_id -.L3270: +.L3297: adrp x0, .LANCHOR223 mov w1, w27 strb w19, [x0, #:lo12:.LANCHOR223] mov w0, w26 bl load_l2p_region - b .L3266 + b .L3293 .size pm_log2phys, .-pm_log2phys .section .text.gc_recovery,"ax",@progbits .align 2 @@ -20600,18 +21156,18 @@ pm_log2phys: .type gc_recovery, %function gc_recovery: sub sp, sp, #240 - adrp x0, .LANCHOR10 - adrp x1, .LANCHOR85 + adrp x0, .LANCHOR12 + adrp x1, .LANCHOR84 mov w2, 65535 stp x29, x30, [sp, 32] add x29, sp, 32 stp x23, x24, [sp, 80] - ldr x23, [x0, #:lo12:.LANCHOR10] - strb wzr, [x1, #:lo12:.LANCHOR85] - adrp x1, .LANCHOR159 + ldr x23, [x0, #:lo12:.LANCHOR12] + strb wzr, [x1, #:lo12:.LANCHOR84] + adrp x1, .LANCHOR156 stp x25, x26, [sp, 96] mov x26, x0 - strb wzr, [x1, #:lo12:.LANCHOR159] + strb wzr, [x1, #:lo12:.LANCHOR156] add x1, x23, 80 stp x19, x20, [sp, 48] str x1, [x29, 168] @@ -20619,7 +21175,7 @@ gc_recovery: ldrh w1, [x23, 80] stp x27, x28, [sp, 112] cmp w1, w2 - beq .L3279 + beq .L3306 mov w0, -1 strh w0, [x23, 130] mov w0, 1 @@ -20634,40 +21190,40 @@ gc_recovery: ldrh w1, [x3, #:lo12:.LANCHOR111] ldrh w0, [x0, 16] mul w1, w0, w1 - adrp x0, .LANCHOR79 + adrp x0, .LANCHOR78 str w1, [x29, 200] - ldrb w2, [x0, #:lo12:.LANCHOR79] + ldrb w2, [x0, #:lo12:.LANCHOR78] str x0, [x29, 176] cmp w2, 2 - beq .L3280 + beq .L3307 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L3307 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L3280 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbz w0, .L3281 -.L3280: - adrp x0, .LANCHOR86 - ldrh w0, [x0, #:lo12:.LANCHOR86] + cbz w0, .L3308 +.L3307: + adrp x0, .LANCHOR85 + ldrh w0, [x0, #:lo12:.LANCHOR85] sub w0, w0, #1 add w0, w0, w1 orr w2, w0, w2, lsl 24 str w2, [x27, 40] -.L3282: +.L3309: mov w1, 1 mov x0, x27 bl sblk_read_page ldr w0, [x27, 52] cmp w0, 512 ccmn w0, #1, 4, ne - beq .L3283 + beq .L3310 ldr x0, [x27, 24] ldr w1, [x0] mov w0, 15555 movk w0, 0xf55f, lsl 16 cmp w1, w0 - beq .L3284 -.L3283: + beq .L3311 +.L3310: mov x0, x27 bl zbuf_free ldr x1, [x27, 24] @@ -20680,68 +21236,68 @@ gc_recovery: str w2, [sp] ldp w3, w4, [x0] ldp w5, w6, [x0, 8] - adrp x0, .LC210 + adrp x0, .LC213 ldr w7, [x1] - add x0, x0, :lo12:.LC210 + add x0, x0, :lo12:.LC213 ldr w1, [x27, 40] ldr w2, [x27, 52] bl printf -.L3373: - adrp x0, .LANCHOR9 +.L3400: + adrp x0, .LANCHOR11 ldrh w1, [x23, 80] mov w25, 0 - ldr x0, [x0, #:lo12:.LANCHOR9] + ldr x0, [x0, #:lo12:.LANCHOR11] strh wzr, [x0, x1, lsl 1] - ldr x0, [x26, #:lo12:.LANCHOR10] + ldr x0, [x26, #:lo12:.LANCHOR12] ldrh w1, [x23, 80] strh w1, [x0, 130] -.L3285: +.L3312: ldrh w0, [x23, 80] - adrp x2, .LANCHOR9 - ldr x2, [x2, #:lo12:.LANCHOR9] + adrp x2, .LANCHOR11 + ldr x2, [x2, #:lo12:.LANCHOR11] ubfiz x1, x0, 1, 16 ldrh w1, [x2, x1] - cbnz w1, .L3329 + cbnz w1, .L3356 bl ftl_dump_write_open_sblk -.L3329: +.L3356: ldrh w1, [x23, 80] mov w2, w25 - adrp x0, .LC212 - add x0, x0, :lo12:.LC212 + adrp x0, .LC215 + add x0, x0, :lo12:.LC215 bl printf mov w0, -1 strh w0, [x23, 80] bl pm_flush bl ftl_ext_info_flush - ldr x0, [x26, #:lo12:.LANCHOR10] + ldr x0, [x26, #:lo12:.LANCHOR12] mov w1, 65535 ldrh w0, [x0, 130] cmp w0, w1 - beq .L3330 - adrp x1, .LANCHOR6 - ldrh w1, [x1, #:lo12:.LANCHOR6] + beq .L3357 + adrp x1, .LANCHOR8 + ldrh w1, [x1, #:lo12:.LANCHOR8] cmp w1, w0 - bhi .L3331 + bhi .L3358 adrp x1, .LANCHOR225 adrp x0, .LC0 mov w2, 517 add x1, x1, :lo12:.LANCHOR225 add x0, x0, :lo12:.LC0 bl printf -.L3331: - ldr x0, [x26, #:lo12:.LANCHOR10] +.L3358: + ldr x0, [x26, #:lo12:.LANCHOR12] ldrh w0, [x0, 130] bl ftl_free_sblk -.L3330: +.L3357: adrp x0, .LANCHOR110 ldr x1, [x0, #:lo12:.LANCHOR110] mov w0, -1 strh w0, [x1, 126] - ldr x1, [x26, #:lo12:.LANCHOR10] + ldr x1, [x26, #:lo12:.LANCHOR12] strh w0, [x1, 130] mov w0, 0 bl ftl_info_flush -.L3278: +.L3305: ldp x19, x20, [sp, 48] ldp x21, x22, [sp, 64] ldp x23, x24, [sp, 80] @@ -20750,32 +21306,32 @@ gc_recovery: ldp x29, x30, [sp, 32] add sp, sp, 240 ret -.L3281: +.L3308: cmp w2, 3 - bne .L3282 - adrp x0, .LANCHOR95 - ldrh w0, [x0, #:lo12:.LANCHOR95] + bne .L3309 + adrp x0, .LANCHOR94 + ldrh w0, [x0, #:lo12:.LANCHOR94] sub w0, w0, #1 add w0, w0, w1 orr w0, w0, 50331648 str w0, [x27, 40] - b .L3282 -.L3284: + b .L3309 +.L3311: adrp x21, .LANCHOR224 - adrp x19, .LANCHOR86 - adrp x20, .LANCHOR80 - adrp x24, .LANCHOR162 + adrp x19, .LANCHOR85 + adrp x20, .LANCHOR79 + adrp x24, .LANCHOR159 ldrb w0, [x21, #:lo12:.LANCHOR224] cmp w0, 2 - bne .L3286 + bne .L3313 ldr x0, [x29, 176] - ldrb w0, [x0, #:lo12:.LANCHOR79] + ldrb w0, [x0, #:lo12:.LANCHOR78] cmp w0, 3 - bne .L3286 - ldrh w2, [x19, #:lo12:.LANCHOR86] + bne .L3313 + ldrh w2, [x19, #:lo12:.LANCHOR85] adrp x22, .LANCHOR221 - ldrb w1, [x20, #:lo12:.LANCHOR80] - ldr x3, [x24, #:lo12:.LANCHOR162] + ldrb w1, [x20, #:lo12:.LANCHOR79] + ldr x3, [x24, #:lo12:.LANCHOR159] ubfiz w2, w2, 2, 14 ldrh w0, [x22, #:lo12:.LANCHOR221] mul w2, w2, w1 @@ -20785,16 +21341,16 @@ gc_recovery: and w2, w2, 65535 add x0, x3, x0 bl ftl_memcpy + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L3314 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L3287 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbz w0, .L3288 -.L3287: + cbz w0, .L3315 +.L3314: ldr w0, [x27, 40] sub w0, w0, #1 -.L3367: +.L3394: str w0, [x27, 40] mov w1, 1 mov x0, x27 @@ -20802,48 +21358,48 @@ gc_recovery: ldr w0, [x27, 52] cmp w0, 512 ccmn w0, #1, 4, ne - beq .L3290 + beq .L3317 ldr x0, [x27, 24] ldr w1, [x0] mov w0, 15555 movk w0, 0xf55f, lsl 16 cmp w1, w0 - beq .L3291 -.L3290: + beq .L3318 +.L3317: mov x0, x27 bl zbuf_free - b .L3373 -.L3288: - adrp x1, .LANCHOR95 + b .L3400 +.L3315: + adrp x1, .LANCHOR94 ldr w0, [x29, 200] - ldrh w1, [x1, #:lo12:.LANCHOR95] + ldrh w1, [x1, #:lo12:.LANCHOR94] sub w0, w0, #1 add w0, w0, w1 orr w0, w0, 33554432 - b .L3367 -.L3291: + b .L3394 +.L3318: ldrh w2, [x22, #:lo12:.LANCHOR221] -.L3368: +.L3395: ldr x1, [x27, 8] - adrp x22, .LANCHOR163 - ldr x0, [x24, #:lo12:.LANCHOR162] + adrp x22, .LANCHOR160 + ldr x0, [x24, #:lo12:.LANCHOR159] bl ftl_memcpy - ldrb w1, [x20, #:lo12:.LANCHOR80] - ldrh w0, [x19, #:lo12:.LANCHOR86] + ldrb w1, [x20, #:lo12:.LANCHOR79] + ldrh w0, [x19, #:lo12:.LANCHOR85] mul w0, w0, w1 adrp x1, .LANCHOR131 ldrb w1, [x1, #:lo12:.LANCHOR131] lsl w2, w0, 2 cmp w1, w0, lsr 6 - bge .L3293 - ldr x0, [x22, #:lo12:.LANCHOR163] + bge .L3320 + ldr x0, [x22, #:lo12:.LANCHOR160] mov w1, 0 bl ftl_memset ldrb w21, [x21, #:lo12:.LANCHOR224] cmp w21, 1 - bne .L3334 - ldrb w1, [x20, #:lo12:.LANCHOR80] - ldrh w0, [x19, #:lo12:.LANCHOR86] + bne .L3361 + ldrb w1, [x20, #:lo12:.LANCHOR79] + ldrh w0, [x19, #:lo12:.LANCHOR85] mul w0, w0, w1 adrp x1, .LANCHOR221 ldrh w1, [x1, #:lo12:.LANCHOR221] @@ -20851,178 +21407,178 @@ gc_recovery: ldr x1, [x27, 8] mov w2, w25 add x1, x1, x0, sxtw 2 - ldr x0, [x22, #:lo12:.LANCHOR163] + ldr x0, [x22, #:lo12:.LANCHOR160] bl ftl_memcpy -.L3294: - adrp x0, .LANCHOR95 - ldrh w0, [x0, #:lo12:.LANCHOR95] +.L3321: + adrp x0, .LANCHOR94 + ldrh w0, [x0, #:lo12:.LANCHOR94] str w0, [x29, 184] ldr x0, [x29, 176] - ldrb w0, [x0, #:lo12:.LANCHOR79] + ldrb w0, [x0, #:lo12:.LANCHOR78] str w0, [x29, 188] cmp w0, 2 - bne .L3295 - adrp x0, .LANCHOR81 - ldrb w0, [x0, #:lo12:.LANCHOR81] - cbz w0, .L3296 -.L3295: - adrp x0, .LANCHOR36 - ldrb w0, [x0, #:lo12:.LANCHOR36] - cbz w0, .L3297 -.L3296: + bne .L3322 + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbz w0, .L3323 +.L3322: + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbz w0, .L3324 +.L3323: ldp w0, w1, [x29, 184] mul w0, w0, w1 str w0, [x29, 184] mov w0, 1 str w0, [x29, 188] -.L3297: - adrp x22, .LANCHOR36 +.L3324: + adrp x22, .LANCHOR35 mov w28, 0 - add x0, x22, :lo12:.LANCHOR36 + add x0, x22, :lo12:.LANCHOR35 mov w10, 0 str x0, [x29, 112] -.L3298: +.L3325: sub w0, w28, #1 str w0, [x29, 144] ldr w0, [x29, 184] cmp w0, w28 - bls .L3311 + bls .L3338 add w0, w28, w28, lsl 1 mov x20, 0 sub w0, w0, #1 str w0, [x29, 164] - adrp x0, .LANCHOR37 - add x0, x0, :lo12:.LANCHOR37 + adrp x0, .LANCHOR36 + add x0, x0, :lo12:.LANCHOR36 str x0, [x29, 120] - b .L3312 -.L3286: - ldrh w2, [x19, #:lo12:.LANCHOR86] - ldrb w0, [x20, #:lo12:.LANCHOR80] + b .L3339 +.L3313: + ldrh w2, [x19, #:lo12:.LANCHOR85] + ldrb w0, [x20, #:lo12:.LANCHOR79] mul w2, w2, w0 lsl w2, w2, 2 - b .L3368 -.L3293: + b .L3395 +.L3320: ldr x1, [x27, 8] mov w21, 0 add x1, x1, x0, sxtw 2 - ldr x0, [x22, #:lo12:.LANCHOR163] + ldr x0, [x22, #:lo12:.LANCHOR160] bl ftl_memcpy -.L3369: +.L3396: mov w25, 0 - b .L3294 -.L3334: + b .L3321 +.L3361: mov w21, 1 - b .L3369 -.L3307: + b .L3396 +.L3334: ldp x1, x0, [x29, 128] ldr x2, [x29, 176] ldrh w0, [x0, 96] ldrh w1, [x1] - ldrb w2, [x2, #:lo12:.LANCHOR79] + ldrb w2, [x2, #:lo12:.LANCHOR78] cmp w2, 2 mul w0, w0, w1 str w0, [x29, 200] add w1, w22, w0 - beq .L3299 + beq .L3326 ldr x3, [x29, 112] ldrb w3, [x3] - cbz w3, .L3300 -.L3299: + cbz w3, .L3327 +.L3326: ldr w0, [x29, 144] add w1, w1, w0 orr w1, w1, w2, lsl 24 -.L3370: +.L3397: str w1, [x27, 40] -.L3301: +.L3328: mov w1, 1 str x8, [x29, 96] str w10, [x29, 104] mov x0, x27 bl sblk_read_page - adrp x1, .LANCHOR163 + adrp x1, .LANCHOR160 ldr w10, [x29, 104] ldr x0, [x27, 24] ldr x8, [x29, 96] - cbz w21, .L3304 - ldr x2, [x1, #:lo12:.LANCHOR163] + cbz w21, .L3331 + ldr x2, [x1, #:lo12:.LANCHOR160] ldr w3, [x2, x8] - cbnz w3, .L3304 + cbnz w3, .L3331 ldr w3, [x0, 8] str w3, [x2, x8] -.L3304: - ldr x2, [x24, #:lo12:.LANCHOR162] +.L3331: + ldr x2, [x24, #:lo12:.LANCHOR159] ldr w6, [x0, 4] ldr w3, [x2, x8] cmp w3, w6 - bne .L3305 - ldr x2, [x1, #:lo12:.LANCHOR163] + bne .L3332 + ldr x2, [x1, #:lo12:.LANCHOR160] ldr w4, [x2, x8] ldr w2, [x0, 8] cmp w4, w2 - beq .L3306 -.L3305: - ldr x1, [x1, #:lo12:.LANCHOR163] + beq .L3333 +.L3332: + ldr x1, [x1, #:lo12:.LANCHOR160] ldr w2, [x0, 12] str w2, [sp] str w10, [x29, 96] ldr w4, [x1, x8] ldr w5, [x0] ldr w7, [x0, 8] - adrp x0, .LC211 + adrp x0, .LC214 ldr w1, [x27, 40] - add x0, x0, :lo12:.LC211 + add x0, x0, :lo12:.LC214 ldr w2, [x27, 52] str x8, [x29, 104] bl printf - ldr x0, [x24, #:lo12:.LANCHOR162] + ldr x0, [x24, #:lo12:.LANCHOR159] ldr x8, [x29, 104] ldr w10, [x29, 96] ldr w0, [x0, x8] cmn w0, #1 - beq .L3306 + beq .L3333 mov x0, x27 bl zbuf_free - adrp x0, .LANCHOR9 + adrp x0, .LANCHOR11 ldrh w1, [x23, 80] - ldr x0, [x0, #:lo12:.LANCHOR9] + ldr x0, [x0, #:lo12:.LANCHOR11] strh wzr, [x0, x1, lsl 1] - ldr x0, [x26, #:lo12:.LANCHOR10] + ldr x0, [x26, #:lo12:.LANCHOR12] ldrh w1, [x23, 80] strh w1, [x0, 130] - b .L3285 -.L3300: + b .L3312 +.L3327: cmp w2, 3 - bne .L3302 + bne .L3329 ldr x2, [x29, 120] ldrb w2, [x2] - cbz w2, .L3303 + cbz w2, .L3330 ldr w0, [x29, 164] add w1, w1, w0 orr w1, w1, 50331648 - b .L3370 -.L3303: + b .L3397 +.L3330: add w0, w28, w0 orr w0, w0, w22, lsl 24 -.L3371: +.L3398: str w0, [x27, 40] - b .L3301 -.L3302: + b .L3328 +.L3329: add w0, w28, w0 - b .L3371 -.L3306: + b .L3398 +.L3333: add w10, w10, 1 add w22, w22, 1 add x8, x8, 4 -.L3309: +.L3336: ldr w0, [x29, 188] cmp w0, w22 - bcs .L3307 + bcs .L3334 add x20, x20, 1 -.L3312: +.L3339: ldr x0, [x29, 168] ldrb w0, [x0, 9] cmp w0, w20 - ble .L3308 + ble .L3335 add x0, x23, x20, lsl 1 str x0, [x29, 136] ldr x0, [x29, 152] @@ -21030,82 +21586,82 @@ gc_recovery: mov w22, 1 add x0, x0, :lo12:.LANCHOR111 str x0, [x29, 128] - b .L3309 -.L3308: - adrp x0, .LANCHOR81 - ldrb w0, [x0, #:lo12:.LANCHOR81] + b .L3336 +.L3335: + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] cmp w0, 0 cinc w28, w28, ne add w28, w28, 1 - b .L3298 -.L3311: + b .L3325 +.L3338: mov x0, x27 bl zbuf_free ldr x0, [x29, 168] - adrp x20, .LANCHOR9 - ldrh w3, [x19, #:lo12:.LANCHOR86] + adrp x20, .LANCHOR11 + ldrh w3, [x19, #:lo12:.LANCHOR85] mov w25, 0 ldrh w2, [x23, 80] mov w27, 0 - ldr x1, [x20, #:lo12:.LANCHOR9] + ldr x1, [x20, #:lo12:.LANCHOR11] mov w28, 0 ldrb w0, [x0, 9] str x20, [x29, 144] mul w0, w0, w3 strh w0, [x1, x2, lsl 1] - adrp x0, .LANCHOR75 - add x0, x0, :lo12:.LANCHOR75 + adrp x0, .LANCHOR74 + add x0, x0, :lo12:.LANCHOR74 str x0, [x29, 104] -.L3313: +.L3340: sub w0, w27, #1 str w0, [x29, 128] ldr w0, [x29, 184] cmp w0, w27 - bls .L3327 + bls .L3354 add w22, w27, w27, lsl 1 mov x21, 0 sub w0, w22, #1 str w0, [x29, 120] - b .L3328 -.L3323: - ldr x1, [x24, #:lo12:.LANCHOR162] + b .L3355 +.L3350: + ldr x1, [x24, #:lo12:.LANCHOR159] sbfiz x0, x28, 2, 32 ldr w20, [x1, x0] cmn w20, #1 - beq .L3314 - adrp x1, .LANCHOR163 - ldr x1, [x1, #:lo12:.LANCHOR163] + beq .L3341 + adrp x1, .LANCHOR160 + ldr x1, [x1, #:lo12:.LANCHOR160] ldr w0, [x1, x0] str w0, [x29, 164] mov w0, w20 bl lpa_hash_get_ppa str w0, [x29, 204] cmn w0, #1 - bne .L3315 + bne .L3342 mov w2, 0 add x1, x29, 204 mov w0, w20 bl pm_log2phys -.L3315: +.L3342: ldr x0, [x29, 136] ldr x1, [x29, 152] ldr x2, [x29, 176] ldrh w0, [x0, 96] ldrh w1, [x1, #:lo12:.LANCHOR111] - ldrb w2, [x2, #:lo12:.LANCHOR79] + ldrb w2, [x2, #:lo12:.LANCHOR78] cmp w2, 2 mul w0, w0, w1 add w1, w22, w0 - beq .L3316 - adrp x6, .LANCHOR36 - ldrb w6, [x6, #:lo12:.LANCHOR36] - cbz w6, .L3317 -.L3316: + beq .L3343 + adrp x6, .LANCHOR35 + ldrb w6, [x6, #:lo12:.LANCHOR35] + cbz w6, .L3344 +.L3343: ldr w0, [x29, 128] add w1, w0, w1 orr w1, w1, w2, lsl 24 str w1, [x29, 200] -.L3318: +.L3345: ldp x0, x1, [x29, 104] mov w19, 24 mov w2, 1 @@ -21118,103 +21674,103 @@ gc_recovery: lsl w19, w2, w19 sub w19, w19, #1 and w19, w19, w0 - adrp x0, .LANCHOR76 - ldrb w0, [x0, #:lo12:.LANCHOR76] + adrp x0, .LANCHOR75 + ldrb w0, [x0, #:lo12:.LANCHOR75] udiv w19, w19, w0 ldr w0, [x29, 204] cmp w1, w0 and x19, x19, 65535 - bne .L3321 + bne .L3348 add x1, x29, 200 mov w0, w20 bl pm_log2phys add w25, w25, 1 mov w0, w19 bl ftl_vpn_decrement -.L3322: - adrp x0, .LANCHOR7 +.L3349: + adrp x0, .LANCHOR9 add w28, w28, 1 - ldr x0, [x0, #:lo12:.LANCHOR7] + ldr x0, [x0, #:lo12:.LANCHOR9] add x0, x0, x19, lsl 2 ldrb w0, [x0, 2] tst w0, 224 - bne .L3314 + bne .L3341 ldr x0, [x29, 144] lsl x19, x19, 1 - ldr x0, [x0, #:lo12:.LANCHOR9] + ldr x0, [x0, #:lo12:.LANCHOR11] ldrh w1, [x0, x19] - cbz w1, .L3314 + cbz w1, .L3341 strh wzr, [x0, x19] -.L3314: +.L3341: add w22, w22, 1 -.L3325: +.L3352: ldr w0, [x29, 188] cmp w0, w22 - bcs .L3323 + bcs .L3350 add x21, x21, 1 -.L3328: +.L3355: ldr x0, [x29, 168] ldrb w0, [x0, 9] cmp w0, w21 - ble .L3324 + ble .L3351 add x0, x23, x21, lsl 1 mov w22, 1 str x0, [x29, 136] - adrp x0, .LANCHOR32 - add x0, x0, :lo12:.LANCHOR32 + adrp x0, .LANCHOR31 + add x0, x0, :lo12:.LANCHOR31 str x0, [x29, 112] - b .L3325 -.L3317: + b .L3352 +.L3344: cmp w2, 3 - bne .L3319 - adrp x2, .LANCHOR37 - ldrb w6, [x2, #:lo12:.LANCHOR37] + bne .L3346 + adrp x2, .LANCHOR36 + ldrb w6, [x2, #:lo12:.LANCHOR36] lsl w2, w22, 24 - cbz w6, .L3320 + cbz w6, .L3347 ldr w0, [x29, 120] add w1, w0, w1 orr w0, w1, w2 -.L3372: +.L3399: str w0, [x29, 200] - b .L3318 -.L3320: + b .L3345 +.L3347: add w0, w27, w0 orr w0, w0, w2 - b .L3372 -.L3319: + b .L3399 +.L3346: add w0, w27, w0 - b .L3372 -.L3321: + b .L3399 +.L3348: ldr w1, [x29, 200] cmp w0, w1 cinc w25, w25, eq - b .L3322 -.L3324: - adrp x0, .LANCHOR81 - ldrb w0, [x0, #:lo12:.LANCHOR81] + b .L3349 +.L3351: + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] cmp w0, 0 cinc w27, w27, ne add w27, w27, 1 - b .L3313 -.L3327: + b .L3340 +.L3354: ldr x0, [x29, 144] ldrh w1, [x23, 80] - ldr x0, [x0, #:lo12:.LANCHOR9] + ldr x0, [x0, #:lo12:.LANCHOR11] strh w25, [x0, x1, lsl 1] ldrh w0, [x23, 80] bl zftl_insert_data_list - b .L3285 -.L3279: + b .L3312 +.L3306: ldrh w0, [x23, 130] cmp w0, w1 - beq .L3278 + beq .L3305 adrp x19, .LANCHOR110 ldr x1, [x19, #:lo12:.LANCHOR110] ldrh w1, [x1, 126] cmp w1, w0 - bne .L3333 + bne .L3360 bl pm_flush - ldr x0, [x26, #:lo12:.LANCHOR10] + ldr x0, [x26, #:lo12:.LANCHOR12] ldrh w0, [x0, 130] bl ftl_free_sblk ldr x0, [x19, #:lo12:.LANCHOR110] @@ -21222,11 +21778,11 @@ gc_recovery: strh w1, [x0, 126] mov w0, 0 bl ftl_info_flush -.L3333: - ldr x0, [x26, #:lo12:.LANCHOR10] +.L3360: + ldr x0, [x26, #:lo12:.LANCHOR12] mov w1, -1 strh w1, [x0, 130] - b .L3278 + b .L3305 .size gc_recovery, .-gc_recovery .section .text.gc_update_l2p_map_new,"ax",@progbits .align 2 @@ -21234,33 +21790,33 @@ gc_recovery: .type gc_update_l2p_map_new, %function gc_update_l2p_map_new: stp x29, x30, [sp, -176]! - adrp x0, .LANCHOR10 - adrp x1, .LANCHOR86 + adrp x0, .LANCHOR12 + adrp x1, .LANCHOR85 add x29, sp, 0 stp x21, x22, [sp, 32] - ldr x21, [x0, #:lo12:.LANCHOR10] + ldr x21, [x0, #:lo12:.LANCHOR12] stp x25, x26, [sp, 64] - ldrh w26, [x1, #:lo12:.LANCHOR86] + ldrh w26, [x1, #:lo12:.LANCHOR85] add x1, x21, 80 stp x23, x24, [sp, 48] - adrp x24, .LANCHOR14 + adrp x24, .LANCHOR19 stp x19, x20, [sp, 16] stp x27, x28, [sp, 80] stp x0, x1, [x29, 128] ldrb w1, [x1, 9] mul w26, w26, w1 - ldr w1, [x24, #:lo12:.LANCHOR14] - tbz x1, 8, .L3375 + ldr w1, [x24, #:lo12:.LANCHOR19] + tbz x1, 8, .L3402 ldrh w1, [x21, 80] - adrp x0, .LC213 - add x0, x0, :lo12:.LC213 + adrp x0, .LC216 + add x0, x0, :lo12:.LC216 bl printf -.L3375: - adrp x23, .LANCHOR9 +.L3402: + adrp x23, .LANCHOR11 adrp x0, .LANCHOR224 ldrh w2, [x21, 80] mov x22, 0 - ldr x1, [x23, #:lo12:.LANCHOR9] + ldr x1, [x23, #:lo12:.LANCHOR11] mov w25, 0 ldrb w0, [x0, #:lo12:.LANCHOR224] sub w0, w26, w0 @@ -21268,37 +21824,37 @@ gc_update_l2p_map_new: adrp x0, .LANCHOR131 add x0, x0, :lo12:.LANCHOR131 str x0, [x29, 104] -.L3376: +.L3403: mov w28, w22 cmp w26, w22 - bhi .L3386 - ldr w0, [x24, #:lo12:.LANCHOR14] - tbz x0, 8, .L3387 + bhi .L3413 + ldr w0, [x24, #:lo12:.LANCHOR19] + tbz x0, 8, .L3414 ldr x0, [x29, 128] mov w3, w25 - ldr x1, [x23, #:lo12:.LANCHOR9] + ldr x1, [x23, #:lo12:.LANCHOR11] ldrh w2, [x21, 80] - ldr x0, [x0, #:lo12:.LANCHOR10] + ldr x0, [x0, #:lo12:.LANCHOR12] ldrh w2, [x1, x2, lsl 1] ldrh w1, [x0, 80] - adrp x0, .LC216 - add x0, x0, :lo12:.LC216 + adrp x0, .LC219 + add x0, x0, :lo12:.LC219 bl printf -.L3387: +.L3414: ldrh w1, [x21, 80] - ldr x0, [x23, #:lo12:.LANCHOR9] + ldr x0, [x23, #:lo12:.LANCHOR11] ldrh w0, [x0, x1, lsl 1] cmp w25, w0 - beq .L3388 + beq .L3415 adrp x1, .LANCHOR226 adrp x0, .LC0 mov w2, 898 add x1, x1, :lo12:.LANCHOR226 add x0, x0, :lo12:.LC0 bl printf -.L3388: +.L3415: ldrh w1, [x21, 80] - ldr x0, [x23, #:lo12:.LANCHOR9] + ldr x0, [x23, #:lo12:.LANCHOR11] strh w25, [x0, x1, lsl 1] ldrh w0, [x21, 80] bl zftl_insert_data_list @@ -21309,85 +21865,85 @@ gc_update_l2p_map_new: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 176 ret -.L3386: - adrp x27, .LANCHOR162 +.L3413: + adrp x27, .LANCHOR159 lsl x19, x22, 2 - ldr x0, [x27, #:lo12:.LANCHOR162] + ldr x0, [x27, #:lo12:.LANCHOR159] ldr w2, [x0, x19] cmn w2, #1 - beq .L3377 + beq .L3404 adrp x0, .LANCHOR131 ldrb w20, [x0, #:lo12:.LANCHOR131] lsl w20, w20, 7 udiv w20, w2, w20 and w0, w20, 65535 str w0, [x29, 156] - ldr w0, [x24, #:lo12:.LANCHOR14] - tbz x0, 8, .L3378 + ldr w0, [x24, #:lo12:.LANCHOR19] + tbz x0, 8, .L3405 ldr w1, [x29, 156] - adrp x0, .LC214 + adrp x0, .LC217 mov w3, w22 - add x0, x0, :lo12:.LC214 + add x0, x0, :lo12:.LC217 bl printf -.L3378: +.L3405: sub w28, w26, w28 add x28, x28, x22 lsl x0, x28, 2 str x0, [x29, 144] - adrp x0, .LC215 - add x0, x0, :lo12:.LC215 + adrp x0, .LC218 + add x0, x0, :lo12:.LC218 str x0, [x29, 120] - adrp x0, .LANCHOR75 - add x0, x0, :lo12:.LANCHOR75 + adrp x0, .LANCHOR74 + add x0, x0, :lo12:.LANCHOR74 str x0, [x29, 112] -.L3379: +.L3406: ldr x0, [x29, 144] cmp x0, x19 - bne .L3385 -.L3377: + bne .L3412 +.L3404: add x22, x22, 1 - b .L3376 -.L3385: - ldr x0, [x27, #:lo12:.LANCHOR162] + b .L3403 +.L3412: + ldr x0, [x27, #:lo12:.LANCHOR159] ldr w20, [x0, x19] cmn w20, #1 - beq .L3380 + beq .L3407 ldr x0, [x29, 104] ldr w1, [x29, 156] ldrb w0, [x0] lsl w0, w0, 7 udiv w0, w20, w0 cmp w1, w0, uxth - bne .L3380 - adrp x0, .LANCHOR163 - ldr x0, [x0, #:lo12:.LANCHOR163] + bne .L3407 + adrp x0, .LANCHOR160 + ldr x0, [x0, #:lo12:.LANCHOR160] ldr w28, [x0, x19] mov w0, w20 bl lpa_hash_get_ppa str w0, [x29, 172] cmn w0, #1 - bne .L3381 + bne .L3408 mov w2, 0 add x1, x29, 172 mov w0, w20 bl pm_log2phys -.L3381: +.L3408: ldr w3, [x29, 172] cmp w28, w3 - bne .L3382 - adrp x0, .LANCHOR164 + bne .L3409 + adrp x0, .LANCHOR161 mov w2, 1 add x1, x29, 168 add w25, w25, 1 - ldr x0, [x0, #:lo12:.LANCHOR164] + ldr x0, [x0, #:lo12:.LANCHOR161] ldr w0, [x0, x19] str w0, [x29, 168] mov w0, w20 bl pm_log2phys ldr x0, [x29, 112] ldrh w2, [x0] - adrp x0, .LANCHOR32 - ldrb w1, [x0, #:lo12:.LANCHOR32] + adrp x0, .LANCHOR31 + ldrb w1, [x0, #:lo12:.LANCHOR31] mov w0, 24 lsr w28, w28, w2 sub w0, w0, w1 @@ -21396,28 +21952,28 @@ gc_update_l2p_map_new: lsl w0, w0, w1 sub w0, w0, #1 and w28, w0, w28 - adrp x0, .LANCHOR76 - ldrb w0, [x0, #:lo12:.LANCHOR76] + adrp x0, .LANCHOR75 + ldrb w0, [x0, #:lo12:.LANCHOR75] udiv w0, w28, w0 -.L3408: +.L3435: bl ftl_vpn_decrement - ldr x0, [x27, #:lo12:.LANCHOR162] + ldr x0, [x27, #:lo12:.LANCHOR159] mov w1, -1 str w1, [x0, x19] -.L3380: +.L3407: add x19, x19, 4 - b .L3379 -.L3382: - ldr w0, [x24, #:lo12:.LANCHOR14] - tbz x0, 8, .L3384 + b .L3406 +.L3409: + ldr w0, [x24, #:lo12:.LANCHOR19] + tbz x0, 8, .L3411 ldr x0, [x29, 120] mov w2, w28 mov w1, w20 bl printf -.L3384: +.L3411: ldr x0, [x29, 136] ldrh w0, [x0] - b .L3408 + b .L3435 .size gc_update_l2p_map_new, .-gc_update_l2p_map_new .section .text.gc_scan_src_blk_one_page,"ax",@progbits .align 2 @@ -21430,90 +21986,90 @@ gc_scan_src_blk_one_page: mov w5, 65535 add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x20, .LANCHOR71 - add x1, x20, :lo12:.LANCHOR71 + adrp x20, .LANCHOR70 + add x1, x20, :lo12:.LANCHOR70 stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] - adrp x21, .LANCHOR80 + adrp x21, .LANCHOR79 stp x25, x26, [sp, 64] - ldrb w6, [x21, #:lo12:.LANCHOR80] + ldrb w6, [x21, #:lo12:.LANCHOR79] ldrb w0, [x1, 4] add x2, x1, x0, sxtw 1 ldrh w22, [x2, 40] ldrh w2, [x1, 2] -.L3410: +.L3437: cmp w22, w5 - beq .L3412 - cbz w4, .L3413 - add x1, x20, :lo12:.LANCHOR71 + beq .L3439 + cbz w4, .L3440 + add x1, x20, :lo12:.LANCHOR70 strh w2, [x1, 2] -.L3413: - cbz w3, .L3414 - add x1, x20, :lo12:.LANCHOR71 +.L3440: + cbz w3, .L3441 + add x1, x20, :lo12:.LANCHOR70 strb w0, [x1, 4] -.L3414: +.L3441: mov w0, 1 adrp x23, .LANCHOR111 bl buf_alloc - adrp x24, .LANCHOR36 + adrp x24, .LANCHOR35 mov x25, x0 add x23, x23, :lo12:.LANCHOR111 - add x24, x24, :lo12:.LANCHOR36 + add x24, x24, :lo12:.LANCHOR35 mov w26, 1 -.L3415: - add x19, x20, :lo12:.LANCHOR71 +.L3442: + add x19, x20, :lo12:.LANCHOR70 ldrb w1, [x19, 6] cmp w26, w1 - ble .L3425 + ble .L3452 mov x0, x25 bl zbuf_free ldrb w0, [x19, 4] - ldrb w1, [x21, #:lo12:.LANCHOR80] + ldrb w1, [x21, #:lo12:.LANCHOR79] add w0, w0, 1 and w0, w0, 255 strb w0, [x19, 4] cmp w1, w0 - bne .L3409 + bne .L3436 ldrh w0, [x19, 2] strb wzr, [x19, 4] add w0, w0, 1 strh w0, [x19, 2] -.L3409: +.L3436: 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 -.L3412: +.L3439: add w0, w0, 1 and w0, w0, 255 cmp w0, w6 - bne .L3411 + bne .L3438 add w2, w2, 1 mov w0, 0 and w2, w2, 65535 mov w4, 1 -.L3411: +.L3438: add x3, x1, x0, sxtw 1 ldrh w22, [x3, 40] mov w3, 1 - b .L3410 -.L3425: + b .L3437 +.L3452: ldrh w0, [x23] cmp w1, 2 mul w0, w0, w22 - bne .L3416 + bne .L3443 ldrh w1, [x19, 2] lsl w1, w1, 1 -.L3435: +.L3462: sub w1, w1, #1 add w0, w26, w0 add w0, w1, w0 - adrp x1, .LANCHOR79 - ldrb w1, [x1, #:lo12:.LANCHOR79] + adrp x1, .LANCHOR78 + ldrb w1, [x1, #:lo12:.LANCHOR78] orr w0, w0, w1, lsl 24 -.L3434: +.L3461: str w0, [x25, 40] mov w1, 1 mov x0, x25 @@ -21521,64 +22077,64 @@ gc_scan_src_blk_one_page: ldr w0, [x25, 52] cmp w0, 512 ccmn w0, #1, 4, ne - beq .L3422 + beq .L3449 ldr x0, [x25, 24] ldr w19, [x0, 4] mov w0, w19 bl lpa_hash_get_ppa str w0, [x29, 92] cmn w0, #1 - bne .L3423 + bne .L3450 adrp x0, .LANCHOR128 ldr w0, [x0, #:lo12:.LANCHOR128] cmp w19, w0 - bcs .L3423 + bcs .L3450 mov w2, 0 add x1, x29, 92 mov w0, w19 bl pm_log2phys -.L3423: +.L3450: ldr w2, [x25, 40] ldr w0, [x29, 92] cmp w2, w0 - bne .L3422 - add x1, x20, :lo12:.LANCHOR71 - adrp x4, .LANCHOR77 - ldr x4, [x4, #:lo12:.LANCHOR77] + bne .L3449 + add x1, x20, :lo12:.LANCHOR70 + adrp x4, .LANCHOR76 + ldr x4, [x4, #:lo12:.LANCHOR76] ldrh w0, [x1, 24] ubfiz x3, x0, 2, 16 add w0, w0, 1 str w2, [x4, x3] strh w0, [x1, 24] -.L3422: - add x1, x20, :lo12:.LANCHOR71 +.L3449: + add x1, x20, :lo12:.LANCHOR70 add w26, w26, 1 ldrh w0, [x1, 26] add w0, w0, 1 strh w0, [x1, 26] - b .L3415 -.L3416: + b .L3442 +.L3443: cmp w1, 3 - bne .L3418 + bne .L3445 ldrb w1, [x24] - cbnz w1, .L3419 - adrp x1, .LANCHOR37 - ldrb w1, [x1, #:lo12:.LANCHOR37] - cbz w1, .L3420 -.L3419: - add x1, x20, :lo12:.LANCHOR71 + cbnz w1, .L3446 + adrp x1, .LANCHOR36 + ldrb w1, [x1, #:lo12:.LANCHOR36] + cbz w1, .L3447 +.L3446: + add x1, x20, :lo12:.LANCHOR70 ldrh w1, [x1, 2] add w1, w1, w1, lsl 1 - b .L3435 -.L3420: + b .L3462 +.L3447: ldrh w1, [x19, 2] add w0, w1, w0 orr w0, w0, w26, lsl 24 - b .L3434 -.L3418: + b .L3461 +.L3445: ldrh w1, [x19, 2] add w0, w1, w0 - b .L3434 + b .L3461 .size gc_scan_src_blk_one_page, .-gc_scan_src_blk_one_page .section .text.gc_scan_src_blk,"ax",@progbits .align 2 @@ -21589,117 +22145,117 @@ gc_scan_src_blk: mov w0, 65535 add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR71 + adrp x21, .LANCHOR70 stp x19, x20, [sp, 16] - ldrh w1, [x21, #:lo12:.LANCHOR71] + ldrh w1, [x21, #:lo12:.LANCHOR70] stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] cmp w1, w0 stp x27, x28, [sp, 80] - bne .L3437 + bne .L3464 adrp x1, .LANCHOR227 adrp x0, .LC0 - mov w2, 1504 + mov w2, 1505 add x1, x1, :lo12:.LANCHOR227 add x0, x0, :lo12:.LC0 bl printf -.L3437: - ldrh w1, [x21, #:lo12:.LANCHOR71] +.L3464: + ldrh w1, [x21, #:lo12:.LANCHOR70] mov w0, 65535 cmp w1, w0 - beq .L3467 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L3439 - adrp x2, .LANCHOR9 + beq .L3494 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L3466 + adrp x2, .LANCHOR11 ubfiz x0, x1, 1, 16 - ldr x2, [x2, #:lo12:.LANCHOR9] + ldr x2, [x2, #:lo12:.LANCHOR11] ldrh w2, [x2, x0] - adrp x0, .LC217 - add x0, x0, :lo12:.LC217 + adrp x0, .LC220 + add x0, x0, :lo12:.LC220 bl printf -.L3439: - ldrh w0, [x21, #:lo12:.LANCHOR71] - add x14, x21, :lo12:.LANCHOR71 +.L3466: + ldrh w0, [x21, #:lo12:.LANCHOR70] + add x14, x21, :lo12:.LANCHOR70 add x1, x14, 40 bl ftl_get_blk_list_in_sblk and w1, w0, 255 strb w1, [x14, 5] - cbnz w1, .L3440 + cbnz w1, .L3467 mov w0, -1 - strh w0, [x21, #:lo12:.LANCHOR71] -.L3467: + strh w0, [x21, #:lo12:.LANCHOR70] +.L3494: mov w0, 0 - b .L3436 -.L3440: - adrp x4, .LANCHOR7 - ldrh w3, [x21, #:lo12:.LANCHOR71] + b .L3463 +.L3467: + adrp x4, .LANCHOR9 + ldrh w3, [x21, #:lo12:.LANCHOR70] mov x19, x4 - ldr x1, [x4, #:lo12:.LANCHOR7] + ldr x1, [x4, #:lo12:.LANCHOR9] mov x2, x3 add x1, x1, x3, lsl 2 ldrb w1, [x1, 2] and w1, w1, 224 cmp w1, 32 - beq .L3441 + beq .L3468 cmp w1, 224 - beq .L3441 - cbz w1, .L3442 - adrp x1, .LANCHOR10 - ldr x1, [x1, #:lo12:.LANCHOR10] + beq .L3468 + cbz w1, .L3469 + adrp x1, .LANCHOR12 + ldr x1, [x1, #:lo12:.LANCHOR12] ldrh w3, [x1, 16] cmp w3, w2 - beq .L3441 + beq .L3468 ldrh w3, [x1, 48] cmp w3, w2 - beq .L3441 + beq .L3468 ldrh w1, [x1, 80] cmp w1, w2 - bne .L3487 -.L3441: - add x0, x21, :lo12:.LANCHOR71 + bne .L3514 +.L3468: + add x0, x21, :lo12:.LANCHOR70 mov w1, -1 - strh w1, [x21, #:lo12:.LANCHOR71] + strh w1, [x21, #:lo12:.LANCHOR70] strh wzr, [x0, 24] - b .L3467 -.L3442: - adrp x0, .LANCHOR9 + b .L3494 +.L3469: + adrp x0, .LANCHOR11 mov x19, x0 - ldr x1, [x0, #:lo12:.LANCHOR9] + ldr x1, [x0, #:lo12:.LANCHOR11] ldrh w1, [x1, x3, lsl 1] - cbz w1, .L3444 + cbz w1, .L3471 adrp x1, .LANCHOR227 adrp x0, .LC0 - mov w2, 1529 + mov w2, 1530 add x1, x1, :lo12:.LANCHOR227 add x0, x0, :lo12:.LC0 bl printf -.L3444: - ldrh w1, [x21, #:lo12:.LANCHOR71] - ldr x0, [x19, #:lo12:.LANCHOR9] +.L3471: + ldrh w1, [x21, #:lo12:.LANCHOR70] + ldr x0, [x19, #:lo12:.LANCHOR11] strh wzr, [x0, x1, lsl 1] - b .L3441 -.L3487: + b .L3468 +.L3514: and w0, w0, 255 sub w0, w0, #1 add x0, x14, x0, sxtw 1 ldrh w24, [x0, 40] mov w0, 65535 cmp w24, w0 - bne .L3445 + bne .L3472 adrp x1, .LANCHOR227 adrp x0, .LC0 - mov w2, 1539 + mov w2, 1540 add x1, x1, :lo12:.LANCHOR227 add x0, x0, :lo12:.LC0 bl printf -.L3445: - ldrh w1, [x21, #:lo12:.LANCHOR71] +.L3472: + ldrh w1, [x21, #:lo12:.LANCHOR70] adrp x23, .LANCHOR111 - ldr x2, [x19, #:lo12:.LANCHOR7] - adrp x22, .LANCHOR95 + ldr x2, [x19, #:lo12:.LANCHOR9] + adrp x22, .LANCHOR94 ldrh w20, [x23, #:lo12:.LANCHOR111] - ldrh w0, [x22, #:lo12:.LANCHOR95] + ldrh w0, [x22, #:lo12:.LANCHOR94] add x1, x2, x1, lsl 2 sub w0, w0, #1 and w0, w0, 65535 @@ -21707,31 +22263,31 @@ gc_scan_src_blk: ldrb w1, [x1, 2] and w1, w1, 224 cmp w1, 160 - bne .L3468 - adrp x1, .LANCHOR79 - ldrb w1, [x1, #:lo12:.LANCHOR79] + bne .L3495 + adrp x1, .LANCHOR78 + ldrb w1, [x1, #:lo12:.LANCHOR78] and w27, w1, 65535 cmp w1, 2 orr w20, w20, w1, lsl 24 - bne .L3447 - adrp x0, .LANCHOR86 - ldrh w0, [x0, #:lo12:.LANCHOR86] + bne .L3474 + adrp x0, .LANCHOR85 + ldrh w0, [x0, #:lo12:.LANCHOR85] sub w0, w0, #1 and w0, w0, 65535 -.L3447: +.L3474: + adrp x1, .LANCHOR35 + ldrb w1, [x1, #:lo12:.LANCHOR35] + cbnz w1, .L3475 adrp x1, .LANCHOR36 ldrb w1, [x1, #:lo12:.LANCHOR36] - cbnz w1, .L3448 - adrp x1, .LANCHOR37 - ldrb w1, [x1, #:lo12:.LANCHOR37] - cbz w1, .L3446 -.L3448: - adrp x0, .LANCHOR86 - ldrh w0, [x0, #:lo12:.LANCHOR86] + cbz w1, .L3473 +.L3475: + adrp x0, .LANCHOR85 + ldrh w0, [x0, #:lo12:.LANCHOR85] sub w0, w0, #1 and w0, w0, 65535 -.L3446: - add x25, x21, :lo12:.LANCHOR71 +.L3473: + add x25, x21, :lo12:.LANCHOR70 orr w20, w0, w20 mov w0, 1 strb w27, [x25, 6] @@ -21748,13 +22304,13 @@ gc_scan_src_blk: ldr w0, [x19, 52] cmp w0, 512 ccmn w0, #1, 4, ne - bne .L3449 -.L3492: + bne .L3476 +.L3519: mov x0, x19 bl zbuf_free -.L3490: +.L3517: mov w0, -1 -.L3436: +.L3463: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -21762,43 +22318,43 @@ gc_scan_src_blk: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 112 ret -.L3468: +.L3495: mov w27, 1 - b .L3446 -.L3449: + b .L3473 +.L3476: ldr x7, [x19, 24] mov w0, 15555 movk w0, 0xf55f, lsl 16 ldr w1, [x7] cmp w1, w0 - beq .L3450 - mov w2, 1577 -.L3493: + beq .L3477 + mov w2, 1578 +.L3520: adrp x1, .LANCHOR227 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR227 add x0, x0, :lo12:.LC0 bl printf - b .L3492 -.L3450: - adrp x0, .LANCHOR80 - ldrh w26, [x22, #:lo12:.LANCHOR95] - ldrb w25, [x0, #:lo12:.LANCHOR80] + b .L3519 +.L3477: + adrp x0, .LANCHOR79 + ldrh w26, [x22, #:lo12:.LANCHOR94] + ldrb w25, [x0, #:lo12:.LANCHOR79] adrp x0, .LANCHOR224 ldrb w0, [x0, #:lo12:.LANCHOR224] mul w26, w25, w26 cmp w0, 2 mul w26, w27, w26 and w26, w26, 65535 - bne .L3451 + bne .L3478 cmp w27, 3 - bne .L3451 - adrp x1, .LANCHOR86 + bne .L3478 + adrp x1, .LANCHOR85 adrp x28, .LANCHOR221 - adrp x27, .LANCHOR77 - ldrh w1, [x1, #:lo12:.LANCHOR86] + adrp x27, .LANCHOR76 + ldrh w1, [x1, #:lo12:.LANCHOR85] ldrh w0, [x28, #:lo12:.LANCHOR221] - ldr x3, [x27, #:lo12:.LANCHOR77] + ldr x3, [x27, #:lo12:.LANCHOR76] ubfiz w1, w1, 2, 14 mul w25, w25, w1 ldr x1, [x19, 8] @@ -21810,100 +22366,100 @@ gc_scan_src_blk: bl ftl_memcpy ldr x0, [x19, 24] ldr w6, [x0, 4] - cbz w6, .L3452 + cbz w6, .L3479 ldr x0, [x19, 8] mov w1, w25 bl js_hash cmp w6, w0 - beq .L3452 + beq .L3479 mov x0, x19 bl zbuf_free ldr x0, [x19, 24] mov w3, w25 -.L3491: +.L3518: ldr w1, [x0, 4] - adrp x0, .LC218 + adrp x0, .LC221 ldr w2, [x19, 40] - add x0, x0, :lo12:.LC218 + add x0, x0, :lo12:.LC221 bl printf - b .L3490 -.L3452: + b .L3517 +.L3479: + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L3480 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L3453 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbz w0, .L3454 -.L3453: + cbz w0, .L3481 +.L3480: sub w0, w20, #1 str w0, [x19, 40] -.L3455: +.L3482: mov w1, 1 mov x0, x19 bl sblk_read_page ldr w0, [x19, 52] cmp w0, 512 ccmn w0, #1, 4, ne - beq .L3492 + beq .L3519 ldr x0, [x19, 24] ldr w1, [x0] mov w0, 15555 movk w0, 0xf55f, lsl 16 cmp w1, w0 - beq .L3457 - mov w2, 1618 - b .L3493 -.L3454: + beq .L3484 + mov w2, 1619 + b .L3520 +.L3481: ldrh w1, [x23, #:lo12:.LANCHOR111] - ldrh w0, [x22, #:lo12:.LANCHOR95] + ldrh w0, [x22, #:lo12:.LANCHOR94] sub w0, w0, #1 and w0, w0, 65535 mul w24, w1, w24 orr w0, w0, 33554432 orr w24, w0, w24 str w24, [x19, 40] - b .L3455 -.L3457: + b .L3482 +.L3484: ldrh w2, [x28, #:lo12:.LANCHOR221] - ldr x0, [x27, #:lo12:.LANCHOR77] + ldr x0, [x27, #:lo12:.LANCHOR76] ldr x1, [x19, 8] -.L3489: - adrp x20, .LANCHOR77 +.L3516: + adrp x20, .LANCHOR76 bl ftl_memcpy - adrp x22, .LANCHOR75 - adrp x23, .LANCHOR32 - ldr x24, [x20, #:lo12:.LANCHOR77] - add x22, x22, :lo12:.LANCHOR75 - add x23, x23, :lo12:.LANCHOR32 + adrp x22, .LANCHOR74 + adrp x23, .LANCHOR31 + ldr x24, [x20, #:lo12:.LANCHOR76] + add x22, x22, :lo12:.LANCHOR74 + add x23, x23, :lo12:.LANCHOR31 mov x25, 0 -.L3460: +.L3487: cmp w26, w25 - bgt .L3465 + bgt .L3492 mov x0, x19 bl zbuf_free - adrp x0, .LANCHOR9 - ldrh w1, [x21, #:lo12:.LANCHOR71] - add x3, x21, :lo12:.LANCHOR71 + adrp x0, .LANCHOR11 + ldrh w1, [x21, #:lo12:.LANCHOR70] + add x3, x21, :lo12:.LANCHOR70 mov x19, x0 - ldr x4, [x0, #:lo12:.LANCHOR9] + ldr x4, [x0, #:lo12:.LANCHOR11] ubfiz x2, x1, 1, 16 ldrh w3, [x3, 24] ldrh w2, [x4, x2] cmp w2, w3 - beq .L3466 - adrp x0, .LC219 - add x0, x0, :lo12:.LC219 + beq .L3493 + adrp x0, .LC222 + add x0, x0, :lo12:.LC222 bl printf -.L3466: - add x0, x21, :lo12:.LANCHOR71 - ldrh w2, [x21, #:lo12:.LANCHOR71] - ldr x1, [x19, #:lo12:.LANCHOR9] +.L3493: + add x0, x21, :lo12:.LANCHOR70 + ldrh w2, [x21, #:lo12:.LANCHOR70] + ldr x1, [x19, #:lo12:.LANCHOR11] ldrh w3, [x0, 24] strh w3, [x1, x2, lsl 1] strh wzr, [x0, 28] ldrh w0, [x0, 24] - b .L3436 -.L3451: + b .L3463 +.L3478: ldr x6, [x19, 8] lsl w20, w26, 2 mov w1, w20 @@ -21911,31 +22467,31 @@ gc_scan_src_blk: bl js_hash ldr w1, [x7, 4] cmp w1, w0 - beq .L3459 + beq .L3486 mov x0, x19 bl zbuf_free mov w3, w20 ldr x0, [x19, 24] - b .L3491 -.L3459: - adrp x0, .LANCHOR77 + b .L3518 +.L3486: + adrp x0, .LANCHOR76 mov w2, w20 mov x1, x6 - ldr x0, [x0, #:lo12:.LANCHOR77] - b .L3489 -.L3465: + ldr x0, [x0, #:lo12:.LANCHOR76] + b .L3516 +.L3492: ldr w0, [x24, x25, lsl 2] cmn w0, #1 - beq .L3462 + beq .L3489 bl lpa_hash_get_ppa str w0, [x29, 108] cmn w0, #1 - bne .L3463 + bne .L3490 ldr w0, [x24, x25, lsl 2] mov w2, 0 add x1, x29, 108 bl pm_log2phys -.L3463: +.L3490: ldrb w0, [x23] mov w1, 24 ldrh w2, [x22] @@ -21944,25 +22500,25 @@ gc_scan_src_blk: sub w1, w0, w2 mov w0, 1 lsl w0, w0, w1 - adrp x1, .LANCHOR76 + adrp x1, .LANCHOR75 sub w0, w0, #1 lsr w2, w3, w2 - ldrb w1, [x1, #:lo12:.LANCHOR76] + ldrb w1, [x1, #:lo12:.LANCHOR75] and w0, w0, w2 - ldrh w2, [x21, #:lo12:.LANCHOR71] + ldrh w2, [x21, #:lo12:.LANCHOR70] udiv w0, w0, w1 - add x1, x21, :lo12:.LANCHOR71 + add x1, x21, :lo12:.LANCHOR70 cmp w0, w2 - bne .L3462 + bne .L3489 ldrh w0, [x1, 24] - ldr x4, [x20, #:lo12:.LANCHOR77] + ldr x4, [x20, #:lo12:.LANCHOR76] ubfiz x2, x0, 2, 16 add w0, w0, 1 str w3, [x4, x2] strh w0, [x1, 24] -.L3462: +.L3489: add x25, x25, 1 - b .L3460 + b .L3487 .size gc_scan_src_blk, .-gc_scan_src_blk .section .text.gc_scan_static_data,"ax",@progbits .align 2 @@ -21972,27 +22528,27 @@ gc_scan_static_data: stp x29, x30, [sp, -80]! add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x19, .LANCHOR10 + adrp x19, .LANCHOR12 stp x21, x22, [sp, 32] - ldr x0, [x19, #:lo12:.LANCHOR10] + ldr x0, [x19, #:lo12:.LANCHOR12] ldr w1, [x0, 544] str x23, [sp, 48] cmn w1, #1 - beq .L3495 + beq .L3522 adrp x21, .LANCHOR228 adrp x22, .LC0 add x21, x21, :lo12:.LANCHOR228 add x22, x22, :lo12:.LC0 mov w20, 0 -.L3503: - ldr x0, [x19, #:lo12:.LANCHOR10] +.L3530: + ldr x0, [x19, #:lo12:.LANCHOR12] mov w2, 0 add x1, x29, 76 ldr w0, [x0, 544] bl pm_log2phys ldr w0, [x29, 76] cmn w0, #1 - beq .L3496 + beq .L3523 mov w0, 1 bl buf_alloc ldr w1, [x29, 76] @@ -22002,12 +22558,12 @@ gc_scan_static_data: bl sblk_read_page ldr w0, [x23, 52] cmp w0, 256 - bne .L3497 - adrp x0, .LANCHOR75 + bne .L3524 + adrp x0, .LANCHOR74 ldr w2, [x29, 76] - ldrh w3, [x0, #:lo12:.LANCHOR75] - adrp x0, .LANCHOR32 - ldrb w1, [x0, #:lo12:.LANCHOR32] + ldrh w3, [x0, #:lo12:.LANCHOR74] + adrp x0, .LANCHOR31 + ldrb w1, [x0, #:lo12:.LANCHOR31] mov w0, 24 lsr w2, w2, w3 sub w0, w0, w1 @@ -22016,34 +22572,34 @@ gc_scan_static_data: lsl w0, w1, w0 sub w0, w0, #1 and w0, w0, w2 - adrp x2, .LANCHOR76 - ldrb w3, [x2, #:lo12:.LANCHOR76] + adrp x2, .LANCHOR75 + ldrb w3, [x2, #:lo12:.LANCHOR75] mov w2, 0 udiv w0, w0, w3 bl gc_add_sblk -.L3497: - ldr x0, [x19, #:lo12:.LANCHOR10] +.L3524: + ldr x0, [x19, #:lo12:.LANCHOR12] ldr x1, [x23, 24] ldr w0, [x0, 544] ldr w1, [x1, 4] cmp w1, w0 - beq .L3498 - mov w2, 2162 + beq .L3525 + mov w2, 2163 mov x1, x21 mov x0, x22 bl printf -.L3498: +.L3525: mov x0, x23 bl zbuf_free -.L3496: - ldr x0, [x19, #:lo12:.LANCHOR10] +.L3523: + ldr x0, [x19, #:lo12:.LANCHOR12] adrp x2, .LANCHOR128 ldr w2, [x2, #:lo12:.LANCHOR128] ldr w1, [x0, 544] add w1, w1, 1 str w1, [x0, 544] cmp w1, w2 - bcc .L3499 + bcc .L3526 mov w1, -1 str w1, [x0, 544] ldr w1, [x0, 548] @@ -22054,46 +22610,46 @@ gc_scan_static_data: bl ftl_ext_info_flush mov w0, 0 bl ftl_info_flush -.L3494: +.L3521: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldr x23, [sp, 48] ldp x29, x30, [sp], 80 ret -.L3499: +.L3526: ldr w0, [x29, 76] cmn w0, #1 - bne .L3494 + bne .L3521 adrp x1, .LANCHOR221 add w0, w20, 1 and w0, w0, 65535 ldrh w1, [x1, #:lo12:.LANCHOR221] cmp w20, w1, lsr 2 - bcs .L3494 + bcs .L3521 mov w20, w0 - b .L3503 -.L3495: + b .L3530 +.L3522: ldr w1, [x0, 536] adrp x3, .LANCHOR110 ldr w2, [x0, 12] add w1, w1, 12959744 add w1, w1, 256 cmp w2, w1 - bhi .L3505 + bhi .L3532 ldr x4, [x3, #:lo12:.LANCHOR110] mov w5, 5000 ldr w1, [x0, 540] add w1, w1, w5 ldr w4, [x4, 44] cmp w4, w1 - bls .L3494 -.L3505: + bls .L3521 +.L3532: ldr x1, [x3, #:lo12:.LANCHOR110] ldr w1, [x1, 44] str w1, [x0, 540] str w2, [x0, 536] str wzr, [x0, 544] - b .L3494 + b .L3521 .size gc_scan_static_data, .-gc_scan_static_data .section .text.ftl_sblk_dump,"ax",@progbits .align 2 @@ -22105,12 +22661,12 @@ ftl_sblk_dump: stp x29, x30, [sp, 48] add x29, sp, 48 stp x23, x24, [sp, 96] - adrp x24, .LANCHOR7 + adrp x24, .LANCHOR9 lsl x23, x0, 2 stp x19, x20, [sp, 64] str x0, [x29, 144] mov x20, x0 - ldr x0, [x24, #:lo12:.LANCHOR7] + ldr x0, [x24, #:lo12:.LANCHOR9] str x1, [x29, 160] add x1, x0, x23 stp x21, x22, [sp, 80] @@ -22119,50 +22675,50 @@ ftl_sblk_dump: ldrb w2, [x1, 2] mov w1, w20 ldrh w4, [x0, x23] - adrp x0, .LC220 + adrp x0, .LC223 stp x27, x28, [sp, 128] ubfx x5, x5, 11, 8 ubfx x3, x2, 3, 2 and w4, w4, 2047 ubfx x2, x2, 5, 3 - add x0, x0, :lo12:.LC220 + add x0, x0, :lo12:.LC223 bl printf mov w0, 65535 cmp w20, w0 - beq .L3534 - adrp x0, .LANCHOR6 - ldrh w0, [x0, #:lo12:.LANCHOR6] + beq .L3561 + adrp x0, .LANCHOR8 + ldrh w0, [x0, #:lo12:.LANCHOR8] cmp w0, w20 - bls .L3534 - ldr x0, [x24, #:lo12:.LANCHOR7] + bls .L3561 + ldr x0, [x24, #:lo12:.LANCHOR9] add x0, x0, x23 ldrb w0, [x0, 2] and w0, w0, 224 cmp w0, 160 - bne .L3535 - adrp x0, .LANCHOR79 - ldrb w25, [x0, #:lo12:.LANCHOR79] -.L3513: + bne .L3562 + adrp x0, .LANCHOR78 + ldrb w25, [x0, #:lo12:.LANCHOR78] +.L3540: add x28, x29, 240 - adrp x21, .LANCHOR95 + adrp x21, .LANCHOR94 mov w0, w20 mov w19, 0 strh w20, [x28, -32]! add x1, x28, 16 bl ftl_get_blk_list_in_sblk - ldrh w2, [x21, #:lo12:.LANCHOR95] + ldrh w2, [x21, #:lo12:.LANCHOR94] and w1, w0, 255 strb w1, [x29, 217] and w4, w0, 255 strb wzr, [x29, 213] mov w3, w25 strh wzr, [x29, 210] - adrp x0, .LC221 + adrp x0, .LC224 mul w1, w1, w2 strh wzr, [x29, 218] strh w1, [x29, 214] - add x0, x0, :lo12:.LC221 - ldr x1, [x24, #:lo12:.LANCHOR7] + add x0, x0, :lo12:.LC224 + ldr x1, [x24, #:lo12:.LANCHOR9] add x1, x1, x23 ldrb w2, [x1, 2] mov w1, w20 @@ -22177,55 +22733,55 @@ ftl_sblk_dump: str wzr, [x29, 176] add x0, x0, :lo12:.LANCHOR111 str x0, [x29, 112] -.L3514: +.L3541: ldr x0, [x29, 136] - ldrh w0, [x0, #:lo12:.LANCHOR95] + ldrh w0, [x0, #:lo12:.LANCHOR94] cmp w0, w19 - bls .L3531 + bls .L3558 lsl w0, w19, 1 mov w22, 0 sub w1, w0, #1 add w0, w0, w19 sub w0, w0, #1 stp w1, w0, [x29, 152] - adrp x0, .LC167 - add x0, x0, :lo12:.LC167 + adrp x0, .LC160 + add x0, x0, :lo12:.LC160 str x0, [x29, 120] - b .L3532 -.L3535: + b .L3559 +.L3562: mov w25, 1 - b .L3513 -.L3528: + b .L3540 +.L3555: ldr x0, [x29, 128] ldrh w11, [x28, x0] mov w0, 65535 cmp w11, w0 - beq .L3515 + beq .L3542 ldr x0, [x29, 112] cmp w25, 3 ldrh w8, [x0] mul w1, w8, w11 add w0, w21, w1 - bne .L3516 - adrp x2, .LANCHOR36 - ldrb w2, [x2, #:lo12:.LANCHOR36] - cbz w2, .L3517 - adrp x1, .LANCHOR79 - ldrb w8, [x1, #:lo12:.LANCHOR79] + bne .L3543 + adrp x2, .LANCHOR35 + ldrb w2, [x2, #:lo12:.LANCHOR35] + cbz w2, .L3544 + adrp x1, .LANCHOR78 + ldrb w8, [x1, #:lo12:.LANCHOR78] ldr w1, [x29, 156] -.L3544: +.L3571: add w0, w0, w1 orr w27, w0, w8, lsl 24 - b .L3518 -.L3517: - adrp x2, .LANCHOR37 + b .L3545 +.L3544: + adrp x2, .LANCHOR36 lsl w8, w21, 24 - ldrb w2, [x2, #:lo12:.LANCHOR37] - cbz w2, .L3519 + ldrb w2, [x2, #:lo12:.LANCHOR36] + cbz w2, .L3546 ldr w1, [x29, 156] add w0, w0, w1 orr w27, w0, w8 -.L3518: +.L3545: str w27, [x26, 40] mov w1, 1 str w11, [x29, 100] @@ -22261,28 +22817,28 @@ ftl_sblk_dump: ccmn w12, #1, 4, ne csinc w0, w0, wzr, ne str w0, [x29, 168] - ldr x0, [x24, #:lo12:.LANCHOR7] + ldr x0, [x24, #:lo12:.LANCHOR9] add x0, x0, x23 ldrb w0, [x0, 2] and w0, w0, 224 cmp w0, 224 ccmp w0, w1, 4, ne - beq .L3515 + beq .L3542 ldr x0, [x26, 24] ldr w0, [x0, 4] bl lpa_hash_get_ppa str w0, [x29, 204] cmn w0, #1 - bne .L3522 + bne .L3549 ldr x0, [x26, 24] mov w2, 0 add x1, x29, 204 ldr w0, [x0, 4] bl pm_log2phys -.L3522: +.L3549: ldr w0, [x29, 204] cmp w27, w0 - bne .L3523 + bne .L3550 ldr w0, [x29, 172] mov w1, w27 add w0, w0, 1 @@ -22290,12 +22846,12 @@ ftl_sblk_dump: ldr x0, [x26, 24] ldr w3, [x29, 172] ldr w2, [x0, 4] - adrp x0, .LC222 - add x0, x0, :lo12:.LC222 + adrp x0, .LC225 + add x0, x0, :lo12:.LC225 bl printf -.L3523: +.L3550: ldr x0, [x29, 160] - cbz x0, .L3525 + cbz x0, .L3552 ldr x0, [x29, 176] ubfiz x3, x0, 2, 32 ldr x0, [x29, 160] @@ -22303,85 +22859,85 @@ ftl_sblk_dump: ldr x0, [x26, 24] ldr w0, [x0, 4] cmp w0, w2 - beq .L3526 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L3526 + beq .L3553 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L3553 ldr w1, [x29, 176] - adrp x0, .LC223 + adrp x0, .LC226 str x3, [x29, 104] - add x0, x0, :lo12:.LC223 + add x0, x0, :lo12:.LC226 bl printf ldr x3, [x29, 104] -.L3526: +.L3553: ldr x1, [x26, 24] ldr x0, [x29, 160] ldr w1, [x1, 4] ldr w0, [x0, x3] cmp w1, w0 - beq .L3525 + beq .L3552 cmn w0, #1 - beq .L3525 + beq .L3552 adrp x1, .LANCHOR229 adrp x0, .LC0 - mov w2, 1567 + mov w2, 1575 add x1, x1, :lo12:.LANCHOR229 add x0, x0, :lo12:.LC0 bl printf -.L3525: +.L3552: ldr w0, [x29, 176] add w0, w0, 1 str w0, [x29, 176] -.L3515: +.L3542: add w21, w21, 1 and w21, w21, 65535 -.L3530: +.L3557: cmp w25, w21 - bcs .L3528 + bcs .L3555 add w22, w22, 1 and w22, w22, 65535 -.L3532: +.L3559: ldrb w0, [x29, 217] cmp w0, w22 - bls .L3529 + bls .L3556 sxtw x0, w22 mov w21, 1 add x0, x0, 8 lsl x0, x0, 1 str x0, [x29, 128] - b .L3530 -.L3519: + b .L3557 +.L3546: add w1, w19, w1 orr w27, w8, w1 - b .L3518 -.L3516: + b .L3545 +.L3543: cmp w25, 2 - bne .L3520 - adrp x1, .LANCHOR79 - ldrb w8, [x1, #:lo12:.LANCHOR79] + bne .L3547 + adrp x1, .LANCHOR78 + ldrb w8, [x1, #:lo12:.LANCHOR78] ldr w1, [x29, 152] - b .L3544 -.L3520: + b .L3571 +.L3547: add w27, w19, w1 - b .L3518 -.L3529: + b .L3545 +.L3556: add w19, w19, 1 and w19, w19, 65535 - b .L3514 -.L3531: + b .L3541 +.L3558: mov x0, x26 bl zbuf_free - adrp x0, .LANCHOR9 + adrp x0, .LANCHOR11 ldr x1, [x29, 144] ldr w3, [x29, 172] - ldr x0, [x0, #:lo12:.LANCHOR9] + ldr x0, [x0, #:lo12:.LANCHOR11] ldrh w2, [x0, x1, lsl 1] mov w1, w20 - adrp x0, .LC224 - add x0, x0, :lo12:.LC224 + adrp x0, .LC227 + add x0, x0, :lo12:.LC227 bl printf ldr w0, [x29, 168] -.L3511: +.L3538: ldp x19, x20, [sp, 64] ldp x21, x22, [sp, 80] ldp x23, x24, [sp, 96] @@ -22390,266 +22946,299 @@ ftl_sblk_dump: ldp x29, x30, [sp, 48] add sp, sp, 288 ret -.L3534: +.L3561: mov w0, 0 - b .L3511 + b .L3538 .size ftl_sblk_dump, .-ftl_sblk_dump .section .text.zftl_read,"ax",@progbits .align 2 .global zftl_read .type zftl_read, %function zftl_read: - sub sp, sp, #208 + sub sp, sp, #192 stp x29, x30, [sp, 16] add x29, sp, 16 stp x19, x20, [sp, 32] mov w19, w0 - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR19 stp x21, x22, [sp, 48] stp x23, x24, [sp, 64] mov w20, w1 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] mov w23, w2 stp x25, x26, [sp, 80] mov x22, x3 stp x27, x28, [sp, 96] - tbz x0, 12, .L3546 + tbz x0, 12, .L3573 mov w3, w2 - adrp x0, .LC225 + adrp x0, .LC228 mov w2, w1 - add x0, x0, :lo12:.LC225 + add x0, x0, :lo12:.LC228 mov w1, w19 bl printf -.L3546: - cbnz w19, .L3547 - adrp x0, .LANCHOR68 +.L3573: + cbnz w19, .L3574 + adrp x0, .LANCHOR67 mov w19, 24576 - ldr w0, [x0, #:lo12:.LANCHOR68] -.L3548: + ldr w0, [x0, #:lo12:.LANCHOR67] +.L3575: cmp w0, w20 ccmp w0, w23, 0, hi - bcc .L3578 + bcc .L3608 add w1, w20, w23 cmp w0, w1 - bcc .L3578 + bcc .L3608 adrp x1, .LANCHOR110 - adrp x26, .LANCHOR131 + adrp x24, .LANCHOR131 add w19, w19, w20 - str x1, [x29, 120] + str x1, [x29, 112] ldr x2, [x1, #:lo12:.LANCHOR110] - str x26, [x29, 168] ldr w0, [x2, 24] add w0, w0, w23 str w0, [x2, 24] - ldrb w0, [x26, #:lo12:.LANCHOR131] + ldrb w0, [x24, #:lo12:.LANCHOR131] + udiv w2, w19, w0 + stp wzr, w2, [x29, 152] add w2, w23, w19 - stp w2, wzr, [x29, 160] + str w2, [x29, 148] sub w2, w2, #1 - udiv w27, w19, w0 udiv w0, w2, w0 - mov w20, w27 - sub w25, w0, w27 - str w0, [x29, 156] - add w25, w25, 1 + ldr w2, [x29, 156] + mov x21, x2 + sub w26, w0, w2 + str w0, [x29, 144] + add w26, w26, 1 adrp x0, .LANCHOR134 add x28, x0, :lo12:.LANCHOR134 -.L3550: - cbnz w25, .L3575 - ldr w0, [x29, 164] -.L3545: +.L3577: + cbnz w26, .L3605 + ldr w0, [x29, 152] +.L3572: ldp x19, x20, [sp, 32] ldp x21, x22, [sp, 48] ldp x23, x24, [sp, 64] ldp x25, x26, [sp, 80] ldp x27, x28, [sp, 96] ldp x29, x30, [sp, 16] - add sp, sp, 208 + add sp, sp, 192 ret -.L3547: +.L3574: cmp w19, 3 - bhi .L3578 + bhi .L3608 lsl w19, w19, 13 mov w0, 8192 - b .L3548 -.L3575: - ldr x0, [x29, 168] - cmp w20, w27 - ldrb w1, [x0, #:lo12:.LANCHOR131] + b .L3575 +.L3605: ldr w0, [x29, 156] - and w24, w1, 65535 - ccmp w20, w0, 4, ne + ldrb w1, [x24, #:lo12:.LANCHOR131] + cmp w21, w0 + ldr w0, [x29, 144] + and w25, w1, 65535 + ccmp w21, w0, 4, ne + bne .L3609 + ldr w0, [x29, 156] + cmp w21, w0 bne .L3579 - cmp w20, w27 - bne .L3552 udiv w3, w19, w1 and w0, w23, 65535 msub w1, w3, w1, w19 - and w26, w1, 65535 - sub w24, w24, w26 - and w24, w24, 65535 - cmp w23, w24 - csel w24, w0, w24, cc -.L3551: - adrp x21, .LANCHOR56 - add x1, x21, :lo12:.LANCHOR56 + and w27, w1, 65535 + sub w25, w25, w27 + and w25, w25, 65535 + cmp w23, w25 + csel w25, w0, w25, cc +.L3578: + adrp x20, .LANCHOR55 + add x1, x20, :lo12:.LANCHOR55 add x1, x1, 2 mov w0, 0 -.L3555: +.L3582: ldr w2, [x1, 34] - cmp w20, w2 - bne .L3553 + cmp w21, w2 + bne .L3580 ldrb w2, [x1] - tbz x2, 3, .L3553 - add x1, x21, :lo12:.LANCHOR56 + tbz x2, 3, .L3580 + add x1, x20, :lo12:.LANCHOR55 ubfiz x0, x0, 6, 32 add x0, x1, x0 - lsl w2, w24, 9 - ubfiz x24, x24, 9, 16 - ubfiz x26, x26, 9, 16 + lsl w2, w25, 9 + ubfiz x25, x25, 9, 16 + ubfiz x27, x27, 9, 16 ldr x1, [x0, 8] mov x0, x22 - add x22, x22, x24 - add x1, x1, x26 + add x22, x22, x25 + add x1, x1, x27 bl ftl_memcpy -.L3554: - add w20, w20, 1 - sub w25, w25, #1 -.L3561: - adrp x0, .LANCHOR58 - ldrb w0, [x0, #:lo12:.LANCHOR58] +.L3581: + add w21, w21, 1 + sub w26, w26, #1 +.L3588: + adrp x0, .LANCHOR57 + ldrb w0, [x0, #:lo12:.LANCHOR57] cmp w0, 2 - bls .L3562 - cbnz w25, .L3550 -.L3562: + bls .L3589 + cbnz w26, .L3577 +.L3589: adrp x0, .LANCHOR134 ldrb w1, [x0, #:lo12:.LANCHOR134] - cbz w1, .L3550 - adrp x24, .LANCHOR133 - add x0, x21, :lo12:.LANCHOR56 - ldrb w2, [x24, #:lo12:.LANCHOR133] + cbz w1, .L3577 + adrp x25, .LANCHOR133 + add x0, x20, :lo12:.LANCHOR55 + ldrb w2, [x25, #:lo12:.LANCHOR133] add x0, x0, x2, lsl 6 bl sblk_read_page adrp x0, .LANCHOR230 add x0, x0, :lo12:.LANCHOR230 - str x0, [x29, 136] + str x0, [x29, 128] adrp x0, .LC0 add x0, x0, :lo12:.LC0 - str x0, [x29, 128] -.L3564: + str x0, [x29, 120] +.L3591: ldrb w0, [x28] - cbnz w0, .L3574 + cbnz w0, .L3604 mov w0, -1 strb wzr, [x28] - strb w0, [x24, #:lo12:.LANCHOR133] - b .L3550 -.L3552: - ldr w0, [x29, 160] - msub w24, w1, w20, w0 - and w24, w24, 255 + strb w0, [x25, #:lo12:.LANCHOR133] + b .L3577 .L3579: - mov w26, 0 - b .L3551 -.L3553: + ldr w0, [x29, 148] + msub w25, w1, w21, w0 + and w25, w25, 255 +.L3609: + mov w27, 0 + b .L3578 +.L3580: add w0, w0, 1 add x1, x1, 64 cmp w0, 32 - bne .L3555 - mov w0, w20 + bne .L3582 + mov w0, w21 bl lpa_hash_get_ppa - str w0, [x29, 188] + str w0, [x29, 172] cmn w0, #1 - bne .L3556 + bne .L3583 mov w2, 0 - add x1, x29, 188 - mov w0, w20 + add x1, x29, 172 + mov w0, w21 bl pm_log2phys -.L3556: - ldr w0, [x29, 188] +.L3583: + ldr w0, [x29, 172] cmn w0, #1 - bne .L3557 - ldr x0, [x29, 168] - mov w24, 0 - add x26, x0, :lo12:.LANCHOR131 -.L3558: - ldrb w0, [x26] - cmp w24, w0 - bcs .L3554 - madd w0, w20, w0, w24 + bne .L3584 + add x27, x24, :lo12:.LANCHOR131 + mov w25, 0 +.L3585: + ldrb w0, [x27] + cmp w25, w0 + bcs .L3581 + madd w0, w21, w0, w25 cmp w19, w0 - bhi .L3559 - ldr w1, [x29, 160] + bhi .L3586 + ldr w1, [x29, 148] cmp w1, w0 - bls .L3559 + bls .L3586 mov x0, x22 add x22, x22, 512 mov w2, 512 mov w1, 0 bl ftl_memset -.L3559: - add w24, w24, 1 - b .L3558 -.L3557: +.L3586: + add w25, w25, 1 + b .L3585 +.L3584: mov w0, 0 bl buf_alloc - cbz x0, .L3561 - ldr x2, [x29, 120] + cbz x0, .L3588 + ldr x2, [x29, 112] ldr x4, [x2, #:lo12:.LANCHOR110] ldr w2, [x4, 40] add w2, w2, 1 str w2, [x4, 40] - ldr w2, [x29, 188] - strb w24, [x0, 56] - ubfiz x24, x24, 9, 16 + ldr w2, [x29, 172] + strb w25, [x0, 56] + ubfiz x25, x25, 9, 16 str x22, [x0, 16] - add x22, x22, x24 - strb w26, [x0, 57] - stp w20, w2, [x0, 36] + add x22, x22, x25 + strb w27, [x0, 57] + stp w21, w2, [x0, 36] str w2, [x0, 44] bl zftl_add_read_buf - b .L3554 -.L3574: - ldrb w0, [x24, #:lo12:.LANCHOR133] + b .L3581 +.L3604: + ldrb w0, [x25, #:lo12:.LANCHOR133] cmp w0, 255 - bne .L3565 - ldp x0, x1, [x29, 128] - mov w2, 1276 + bne .L3592 + ldp x0, x1, [x29, 120] + mov w2, 1281 bl printf -.L3565: - ldrb w26, [x24, #:lo12:.LANCHOR133] - add x0, x21, :lo12:.LANCHOR56 - ubfiz x1, x26, 6, 8 - lsl x2, x26, 6 +.L3592: + ldrb w27, [x25, #:lo12:.LANCHOR133] + add x0, x20, :lo12:.LANCHOR55 + ubfiz x1, x27, 6, 8 + lsl x2, x27, 6 add x1, x0, x1 - str x1, [x29, 144] + str x1, [x29, 136] add x1, x0, x2 ldrb w0, [x0, x2] - strb w0, [x24, #:lo12:.LANCHOR133] + strb w0, [x25, #:lo12:.LANCHOR133] ldr w10, [x1, 52] cmn w10, #1 - bne .L3566 - adrp x0, .LANCHOR10 - str w10, [x29, 164] - ldr x1, [x0, #:lo12:.LANCHOR10] + bne .L3593 + adrp x0, .LANCHOR12 + str w10, [x29, 152] + ldr x1, [x0, #:lo12:.LANCHOR12] ldr w0, [x1, 552] add w0, w0, 1 str w0, [x1, 552] -.L3567: - add x1, x21, :lo12:.LANCHOR56 - add x1, x1, x26, lsl 6 +.L3594: + add x0, x20, :lo12:.LANCHOR55 + add x0, x0, x27, lsl 6 + ldr x3, [x0, 24] + ldr w0, [x0, 36] + ldr w1, [x3, 4] + cmp w1, w0 + bne .L3595 + cmn w10, #1 + bne .L3596 +.L3595: + add x0, x20, :lo12:.LANCHOR55 + ldrb w4, [x24, #:lo12:.LANCHOR131] + add x0, x0, x27, lsl 6 + mov w5, 1 + ldrb w1, [x0, 56] + ldp x2, x7, [x0, 8] + cmp w1, w4 + ldr w1, [x0, 40] + adrp x0, .LANCHOR31 + csel x2, x7, x2, cs + ldrb w6, [x0, #:lo12:.LANCHOR31] + mov w0, 24 + sub w0, w0, w6 + lsl w5, w5, w6 + sub w5, w5, #1 + lsl w6, w5, w0 + lsr w0, w1, w0 + bic w1, w1, w6 + and w0, w0, w5 + bl flash_read_page_en + mov w10, w0 +.L3596: + add x1, x20, :lo12:.LANCHOR55 + add x1, x1, x27, lsl 6 ldr x0, [x1, 24] ldr w3, [x1, 36] ldr w1, [x0, 4] cmp w1, w3 - bne .L3568 + bne .L3598 cmn w10, #1 - bne .L3569 -.L3568: - adrp x1, .LANCHOR10 - add x11, x21, :lo12:.LANCHOR56 - add x11, x11, x26, lsl 6 - str w10, [x29, 152] - ldr x2, [x1, #:lo12:.LANCHOR10] - str x11, [x29, 112] + bne .L3599 +.L3598: + adrp x1, .LANCHOR12 + add x11, x20, :lo12:.LANCHOR55 + add x11, x11, x27, lsl 6 + str w10, [x29, 108] + ldr x2, [x1, #:lo12:.LANCHOR12] + str x11, [x29, 96] ldr w1, [x2, 552] add w1, w1, 1 str w1, [x2, 552] @@ -22659,15 +23248,15 @@ zftl_read: mov w2, w10 ldp w5, w6, [x0] ldr w7, [x0, 8] - adrp x0, .LC227 + adrp x0, .LC230 ldr w4, [x11, 40] - add x0, x0, :lo12:.LC227 + add x0, x0, :lo12:.LC230 bl printf - adrp x0, .LANCHOR75 - ldr x11, [x29, 112] - ldrh w2, [x0, #:lo12:.LANCHOR75] - adrp x0, .LANCHOR32 - ldrb w1, [x0, #:lo12:.LANCHOR32] + adrp x0, .LANCHOR74 + ldr x11, [x29, 96] + ldrh w2, [x0, #:lo12:.LANCHOR74] + adrp x0, .LANCHOR31 + ldrb w1, [x0, #:lo12:.LANCHOR31] mov w0, 24 sub w0, w0, w1 sub w1, w0, w2 @@ -22677,34 +23266,33 @@ zftl_read: sub w0, w0, #1 lsr w1, w1, w2 and w0, w0, w1 - adrp x1, .LANCHOR76 - ldrb w2, [x1, #:lo12:.LANCHOR76] + adrp x1, .LANCHOR75 + ldrb w2, [x1, #:lo12:.LANCHOR75] mov x1, 0 udiv w0, w0, w2 bl ftl_sblk_dump - ldr w10, [x29, 152] -.L3569: - add x0, x21, :lo12:.LANCHOR56 - add x0, x0, x26, lsl 6 + ldr w10, [x29, 108] +.L3599: + add x0, x20, :lo12:.LANCHOR55 + add x0, x0, x27, lsl 6 ldr x1, [x0, 24] ldr w0, [x0, 36] ldr w1, [x1, 4] cmp w1, w0 - bne .L3570 + bne .L3600 cmn w10, #1 - bne .L3571 -.L3570: - ldp x0, x1, [x29, 128] - mov w2, 1301 + bne .L3601 +.L3600: + ldp x0, x1, [x29, 120] + mov w2, 1317 bl printf -.L3571: - add x0, x21, :lo12:.LANCHOR56 - add x8, x0, x26, lsl 6 - ldr x0, [x29, 168] +.L3601: + add x0, x20, :lo12:.LANCHOR55 + add x8, x0, x27, lsl 6 + ldrb w0, [x24, #:lo12:.LANCHOR131] ldrb w2, [x8, 56] - ldrb w0, [x0, #:lo12:.LANCHOR131] cmp w0, w2 - bls .L3572 + bls .L3602 ldrb w0, [x8, 57] lsl w2, w2, 9 ldr x1, [x8, 8] @@ -22712,58 +23300,58 @@ zftl_read: add x1, x1, x0 ldr x0, [x8, 16] bl ftl_memcpy -.L3573: - ldr x1, [x29, 144] - adrp x0, .LANCHOR63 - add x0, x0, :lo12:.LANCHOR63 +.L3603: + ldr x1, [x29, 136] + adrp x0, .LANCHOR62 + add x0, x0, :lo12:.LANCHOR62 bl buf_remove_buf - ldr x0, [x29, 144] + ldr x0, [x29, 136] bl zbuf_free ldrb w0, [x28] sub w0, w0, #1 strb w0, [x28] - b .L3564 -.L3566: + b .L3591 +.L3593: cmp w10, 256 - bne .L3567 - adrp x2, .LANCHOR32 - adrp x0, .LANCHOR75 + bne .L3594 + adrp x2, .LANCHOR31 + adrp x0, .LANCHOR74 mov w4, 24 mov w5, 1 - ldrb w2, [x2, #:lo12:.LANCHOR32] - ldrh w0, [x0, #:lo12:.LANCHOR75] + ldrb w2, [x2, #:lo12:.LANCHOR31] + ldrh w0, [x0, #:lo12:.LANCHOR74] sub w4, w4, w2 - stp w10, w5, [x29, 108] + str w5, [x29, 96] ldp w2, w3, [x1, 36] sub w4, w4, w0 lsl w4, w5, w4 sub w4, w4, #1 lsr w0, w3, w0 and w4, w4, w0 - adrp x0, .LANCHOR76 - ldrb w0, [x0, #:lo12:.LANCHOR76] + adrp x0, .LANCHOR75 + ldrb w0, [x0, #:lo12:.LANCHOR75] udiv w4, w4, w0 - adrp x0, .LC226 - add x0, x0, :lo12:.LC226 + adrp x0, .LC229 + add x0, x0, :lo12:.LC229 + stp w10, w4, [x29, 104] and w1, w4, 65535 - str w4, [x29, 152] bl printf - ldr w5, [x29, 112] + ldr w5, [x29, 96] mov w2, 0 - ldr w4, [x29, 152] + ldr w4, [x29, 108] mov w1, w5 mov w0, w4 bl gc_add_sblk - ldr w10, [x29, 108] - b .L3567 -.L3572: + ldr w10, [x29, 104] + b .L3594 +.L3602: ldrb w0, [x8, 2] and w0, w0, -9 strb w0, [x8, 2] - b .L3573 -.L3578: + b .L3603 +.L3608: mov w0, -1 - b .L3545 + b .L3572 .size zftl_read, .-zftl_read .section .text.zftl_sys_read,"ax",@progbits .align 2 @@ -22845,11 +23433,11 @@ ftl_update_l2p_map: stp x21, x22, [sp, 32] mov x22, x0 stp x19, x20, [sp, 16] - adrp x0, .LANCHOR95 + adrp x0, .LANCHOR94 stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] - ldrh w23, [x0, #:lo12:.LANCHOR95] + ldrh w23, [x0, #:lo12:.LANCHOR94] ldrb w0, [x22, 9] ldrh w19, [x22, 12] mul w23, w23, w0 @@ -22860,37 +23448,37 @@ ftl_update_l2p_map: add x1, x19, x23, sxtw 2 ldr w1, [x1, -4] cmn w1, #1 - beq .L3602 + beq .L3632 adrp x1, .LANCHOR231 adrp x0, .LC0 - mov w2, 1990 + mov w2, 1998 add x1, x1, :lo12:.LANCHOR231 add x0, x0, :lo12:.LC0 bl printf -.L3602: +.L3632: adrp x27, .LANCHOR131 mov x24, 0 add x0, x27, :lo12:.LANCHOR131 mov w21, 0 str x0, [x29, 96] -.L3603: +.L3633: cmp w24, w23 - blt .L3609 - adrp x0, .LANCHOR14 - adrp x19, .LANCHOR9 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L3610 + blt .L3639 + adrp x0, .LANCHOR19 + adrp x19, .LANCHOR11 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L3640 ldrh w1, [x22] - ldr x2, [x19, #:lo12:.LANCHOR9] + ldr x2, [x19, #:lo12:.LANCHOR11] ubfiz x0, x1, 1, 16 ldrh w3, [x2, x0] - adrp x0, .LC231 + adrp x0, .LC234 mov w2, w21 - add x0, x0, :lo12:.LC231 + add x0, x0, :lo12:.LC234 bl printf -.L3610: +.L3640: ldrh w1, [x22] - ldr x0, [x19, #:lo12:.LANCHOR9] + ldr x0, [x19, #:lo12:.LANCHOR11] ldp x23, x24, [sp, 48] ldp x19, x20, [sp, 16] strh w21, [x0, x1, lsl 1] @@ -22899,38 +23487,38 @@ ftl_update_l2p_map: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L3609: +.L3639: ldr w2, [x19, x24, lsl 2] cmn w2, #1 - beq .L3604 + beq .L3634 ldrb w20, [x27, #:lo12:.LANCHOR131] - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] lsl w20, w20, 7 udiv w20, w2, w20 and w20, w20, 65535 - tbz x0, 12, .L3605 - adrp x0, .LC228 + tbz x0, 12, .L3635 + adrp x0, .LC231 mov w3, w24 mov w1, w20 - add x0, x0, :lo12:.LC228 + add x0, x0, :lo12:.LC231 bl printf -.L3605: +.L3635: adrp x25, .LANCHOR111 - adrp x26, .LC229 + adrp x26, .LC232 mov x28, x24 add x25, x25, :lo12:.LANCHOR111 - add x26, x26, :lo12:.LC229 -.L3608: + add x26, x26, :lo12:.LC232 +.L3638: ldr w1, [x19, x28, lsl 2] cmn w1, #1 - beq .L3606 + beq .L3636 ldr x0, [x29, 96] ldrb w2, [x0] lsl w2, w2, 7 udiv w1, w1, w2 cmp w20, w1, uxth - bne .L3606 + bne .L3636 ldrb w0, [x22, 9] sdiv w1, w28, w0 msub w0, w1, w0, w28 @@ -22942,15 +23530,15 @@ ftl_update_l2p_map: str w2, [x29, 124] ldr w1, [x19, x28, lsl 2] bl pm_ppa_update_check - cbz w0, .L3607 + cbz w0, .L3637 ldr x0, [x29, 104] mov w3, w23 mov w2, 4 ldr x1, [x0, #:lo12:.LANCHOR117] - adrp x0, .LC230 - add x0, x0, :lo12:.LC230 + adrp x0, .LC233 + add x0, x0, :lo12:.LC233 bl rknand_print_hex -.L3607: +.L3637: ldr w0, [x19, x28, lsl 2] add w21, w21, 1 mov w2, 1 @@ -22959,13 +23547,13 @@ ftl_update_l2p_map: bl pm_log2phys mov w0, -1 str w0, [x19, x28, lsl 2] -.L3606: +.L3636: add x28, x28, 1 cmp w23, w28 - bgt .L3608 -.L3604: + bgt .L3638 +.L3634: add x24, x24, 1 - b .L3603 + b .L3633 .size ftl_update_l2p_map, .-ftl_update_l2p_map .section .text.ftl_alloc_new_data_sblk,"ax",@progbits .align 2 @@ -22983,36 +23571,36 @@ ftl_alloc_new_data_sblk: ldrh w0, [x20] mov w1, 65535 cmp w0, w1 - beq .L3632 + beq .L3662 bl zftl_insert_data_list -.L3632: - adrp x19, .LANCHOR10 - ldr x0, [x19, #:lo12:.LANCHOR10] +.L3662: + adrp x19, .LANCHOR12 + ldr x0, [x19, #:lo12:.LANCHOR12] add x0, x0, 16 cmp x20, x0 mov x0, x20 cset w1, ne add w1, w1, 2 bl ftl_open_sblk_init - ldr x0, [x19, #:lo12:.LANCHOR10] + ldr x0, [x19, #:lo12:.LANCHOR12] ldr w0, [x0, 560] cmp w0, w21 - bne .L3634 + bne .L3664 mov w20, 65535 cmp w21, w20 - beq .L3634 + beq .L3664 mov w1, w21 - adrp x0, .LC232 - add x0, x0, :lo12:.LC232 + adrp x0, .LC235 + add x0, x0, :lo12:.LC235 bl printf - ldr x0, [x19, #:lo12:.LANCHOR10] + ldr x0, [x19, #:lo12:.LANCHOR12] ldr w0, [x0, 564] bl gc_mark_bad_ppa - ldr x0, [x19, #:lo12:.LANCHOR10] + ldr x0, [x19, #:lo12:.LANCHOR12] mov w1, -1 str w20, [x0, 560] str w1, [x0, 564] -.L3634: +.L3664: bl ftl_ext_info_flush mov w0, 0 bl ftl_info_flush @@ -23029,56 +23617,56 @@ ftl_alloc_new_data_sblk: .type ftl_write_commit, %function ftl_write_commit: stp x29, x30, [sp, -160]! - adrp x0, .LANCHOR56 + adrp x0, .LANCHOR55 add x29, sp, 0 stp x23, x24, [sp, 48] - add x24, x0, :lo12:.LANCHOR56 + add x24, x0, :lo12:.LANCHOR55 add x0, x24, 2050 stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] str x0, [x29, 104] -.L3638: - adrp x2, .LANCHOR67 - ldrb w1, [x2, #:lo12:.LANCHOR67] - cbz w1, .L3640 - adrp x3, .LANCHOR66 - adrp x0, .LANCHOR56 - add x0, x0, :lo12:.LANCHOR56 +.L3668: + adrp x2, .LANCHOR66 + ldrb w1, [x2, #:lo12:.LANCHOR66] + cbz w1, .L3670 + adrp x3, .LANCHOR65 + adrp x0, .LANCHOR55 + add x0, x0, :lo12:.LANCHOR55 sub w1, w1, #1 - ldrb w4, [x3, #:lo12:.LANCHOR66] - strb w1, [x2, #:lo12:.LANCHOR67] - ubfiz x28, x4, 6, 8 - add x5, x0, x28 - stp x4, x5, [x29, 128] + ldrb w4, [x3, #:lo12:.LANCHOR65] + strb w1, [x2, #:lo12:.LANCHOR66] + ubfiz x5, x4, 6, 8 + add x5, x0, x5 + stp x4, x5, [x29, 120] lsl x4, x4, 6 add x5, x0, x4 ldrb w0, [x0, x4] - strb w0, [x3, #:lo12:.LANCHOR66] + strb w0, [x3, #:lo12:.LANCHOR65] adrp x0, .LANCHOR128 ldr w2, [x5, 36] mov x19, x0 ldr w1, [x0, #:lo12:.LANCHOR128] cmp w2, w1 - bcc .L3642 + bcc .L3672 adrp x1, .LANCHOR232 adrp x0, .LC0 mov w2, 604 add x1, x1, :lo12:.LANCHOR232 add x0, x0, :lo12:.LC0 bl printf -.L3642: - ldr x0, [x29, 128] +.L3672: + ldr x0, [x29, 120] ldr w1, [x19, #:lo12:.LANCHOR128] add x0, x24, x0, lsl 6 ldr w22, [x0, 36] cmp w22, w1 - bcc .L3643 - ldr x0, [x29, 136] + bcc .L3673 + ldr x0, [x29, 128] bl zbuf_free mov w0, -1 -.L3637: +.L3667: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -23086,25 +23674,25 @@ ftl_write_commit: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 160 ret -.L3643: +.L3673: ldrb w21, [x0, 57] ldrb w20, [x0, 56] ldr x26, [x0, 8] ldr x23, [x0, 24] adrp x0, .LANCHOR129 - str x0, [x29, 120] + str x0, [x29, 112] ldrb w1, [x0, #:lo12:.LANCHOR129] - cbz w1, .L3645 - adrp x0, .LANCHOR185 - ldrb w19, [x0, #:lo12:.LANCHOR185] + cbz w1, .L3675 + adrp x0, .LANCHOR182 + ldrb w19, [x0, #:lo12:.LANCHOR182] add x19, x24, x19, lsl 6 -.L3646: +.L3676: ldrb w0, [x19] cmp w0, 255 - bne .L3647 + bne .L3677 ldr w0, [x19, 36] cmp w22, w0 - bne .L3645 + bne .L3675 ldr x0, [x19, 8] ubfiz x21, x21, 9, 8 lsl w2, w20, 9 @@ -23121,86 +23709,86 @@ ftl_write_commit: add x2, x2, x0, sxtw 2 mov w0, 2 bl ftl_debug_info_fill - ldr x0, [x29, 136] + ldr x0, [x29, 128] bl zbuf_free - b .L3638 -.L3647: + b .L3668 +.L3677: ubfiz x19, x0, 6, 8 add x19, x24, x19 - b .L3646 -.L3645: + b .L3676 +.L3675: mov w0, w22 bl lpa_hash_get_ppa str w0, [x29, 156] cmn w0, #1 - bne .L3649 + bne .L3679 mov w2, 0 add x1, x29, 156 mov w0, w22 bl pm_log2phys -.L3649: - adrp x27, .LANCHOR10 +.L3679: + adrp x27, .LANCHOR12 ldr w2, [x29, 156] add x0, x24, 2 mov w3, 0 - ldr x19, [x27, #:lo12:.LANCHOR10] + ldr x19, [x27, #:lo12:.LANCHOR12] mov x25, 0 add x19, x19, 16 -.L3651: +.L3681: ldr w1, [x0, 34] cmp w22, w1 - bne .L3650 + bne .L3680 ldrb w1, [x0] - tbz x1, 3, .L3650 + tbz x1, 3, .L3680 ldr w2, [x0, 38] and w1, w1, -9 ldr x25, [x0, 6] mov w3, 1 strb w1, [x0] -.L3650: +.L3680: ldr x1, [x29, 104] add x0, x0, 64 cmp x0, x1 - bne .L3651 - cbz w3, .L3652 + bne .L3681 + cbz w3, .L3682 str w2, [x29, 156] -.L3652: - adrp x0, .LANCHOR131 - str x0, [x29, 112] - ldrb w1, [x0, #:lo12:.LANCHOR131] - cmp w20, w1 - bcs .L3676 +.L3682: + adrp x28, .LANCHOR131 + str x28, [x29, 136] + ldrb w0, [x28, #:lo12:.LANCHOR131] + cmp w20, w0 + bcs .L3708 add w20, w21, w20 - cbz x25, .L3654 - cbz w21, .L3655 + cbz x25, .L3684 + cbz w21, .L3685 lsl w2, w21, 9 mov x1, x25 mov x0, x26 bl ftl_memcpy - ldr x19, [x27, #:lo12:.LANCHOR10] + ldr x19, [x27, #:lo12:.LANCHOR12] add x19, x19, 48 -.L3655: - ldr x0, [x29, 112] +.L3685: + ldr x0, [x29, 136] ldrb w2, [x0, #:lo12:.LANCHOR131] cmp w20, w2 - bcc .L3656 - ldr x19, [x27, #:lo12:.LANCHOR10] + bcc .L3686 + ldr x19, [x27, #:lo12:.LANCHOR12] add x19, x19, 16 -.L3676: +.L3708: mov w25, 0 - b .L3653 -.L3656: + b .L3683 +.L3686: ubfiz x0, x20, 9, 9 sub w2, w2, w20 add x1, x25, x0 lsl w2, w2, 9 add x0, x26, x0 bl ftl_memcpy - b .L3676 -.L3654: + b .L3708 +.L3684: ldr w0, [x29, 156] cmn w0, #1 - beq .L3657 + beq .L3687 mov w0, 1 bl buf_alloc ldr w1, [x29, 156] @@ -23208,92 +23796,118 @@ ftl_write_commit: stp w22, w1, [x0, 36] mov w1, 1 bl sblk_read_page - ldr x0, [x28, 24] - ldr w25, [x0, 12] - ldr w0, [x0, 4] - add w25, w25, 1 + ldr x3, [x28, 24] + ldr w0, [x3, 4] + ldr w25, [x3, 12] cmp w22, w0 - bne .L3658 + add w25, w25, 1 + bne .L3688 ldr w0, [x28, 52] cmn w0, #1 - bne .L3659 -.L3658: - ldr x1, [x27, #:lo12:.LANCHOR10] + bne .L3689 +.L3688: + adrp x0, .LANCHOR31 + mov w6, 1 + ldr w1, [x28, 40] + ldrb w2, [x0, #:lo12:.LANCHOR31] + mov w0, 24 + sub w0, w0, w2 + lsl w6, w6, w2 + ldr x2, [x29, 136] + sub w6, w6, #1 + lsl w7, w6, w0 + ldrb w4, [x2, #:lo12:.LANCHOR131] + lsr w0, w1, w0 + ldr x2, [x28, 8] + bic w1, w1, w7 + and w0, w0, w6 + bl flash_read_page_en + str w0, [x28, 52] +.L3689: + ldr x0, [x28, 24] + ldr w0, [x0, 4] + cmp w22, w0 + bne .L3690 + ldr w0, [x28, 52] + cmn w0, #1 + bne .L3691 +.L3690: + ldr x1, [x27, #:lo12:.LANCHOR12] mov w3, w22 ldr w4, [x28, 52] ldr w2, [x29, 156] ldr w0, [x1, 552] add w0, w0, 1 str w0, [x1, 552] - adrp x0, .LC233 - add x0, x0, :lo12:.LC233 + adrp x0, .LC236 + add x0, x0, :lo12:.LC236 ldrb w1, [x28, 1] bl printf ldr x1, [x28, 24] mov w3, 4 - adrp x0, .LC205 + adrp x0, .LC208 mov w2, w3 - add x0, x0, :lo12:.LC205 + add x0, x0, :lo12:.LC208 bl rknand_print_hex -.L3659: +.L3691: ldr x0, [x28, 24] ldr w0, [x0, 4] cmp w22, w0 - bne .L3660 + bne .L3692 ldr w0, [x28, 52] cmn w0, #1 - bne .L3661 -.L3660: + bne .L3693 +.L3692: adrp x1, .LANCHOR232 adrp x0, .LC0 - mov w2, 691 + mov w2, 696 add x1, x1, :lo12:.LANCHOR232 add x0, x0, :lo12:.LC0 bl printf -.L3661: - cbz w21, .L3662 +.L3693: + cbz w21, .L3694 ldr w0, [x29, 156] lsl w2, w21, 9 cmn w0, #1 - beq .L3663 + beq .L3695 ldr x1, [x28, 8] mov x0, x26 bl ftl_memcpy -.L3664: - ldr x19, [x27, #:lo12:.LANCHOR10] +.L3696: + ldr x19, [x27, #:lo12:.LANCHOR12] add x19, x19, 48 -.L3662: - ldr x0, [x29, 112] +.L3694: + ldr x0, [x29, 136] ldrb w2, [x0, #:lo12:.LANCHOR131] cmp w20, w2 - bcc .L3665 - bls .L3666 - ldr x19, [x27, #:lo12:.LANCHOR10] + bcc .L3697 + bls .L3698 + ldr x19, [x27, #:lo12:.LANCHOR12] add x19, x19, 16 -.L3666: - cbz x28, .L3653 +.L3698: + cbz x28, .L3683 ldrb w0, [x28, 2] mov x1, x28 and w0, w0, -9 strb w0, [x28, 2] - adrp x0, .LANCHOR63 - add x0, x0, :lo12:.LANCHOR63 + adrp x0, .LANCHOR62 + add x0, x0, :lo12:.LANCHOR62 bl buf_remove_buf mov x0, x28 bl zbuf_free -.L3653: +.L3683: ldrh w0, [x19, 6] - cbnz w0, .L3668 + cbnz w0, .L3700 bl ftl_flush mov x0, x19 bl ftl_alloc_new_data_sblk -.L3668: +.L3700: mov x0, x19 bl ftl_get_new_free_page mov w10, w0 - ldr x0, [x29, 128] + ldr x0, [x29, 120] mov x1, x23 - adrp x20, .LANCHOR185 + adrp x20, .LANCHOR182 lsl x8, x0, 6 add x7, x24, x8 ldr w0, [x7, 32] @@ -23301,7 +23915,7 @@ ftl_write_commit: str w25, [x23, 12] ldr w0, [x29, 156] str w0, [x23, 8] - ldr x0, [x29, 112] + ldr x0, [x29, 136] str wzr, [x1, 16]! ldrb w2, [x0, #:lo12:.LANCHOR131] mov w0, 2 @@ -23320,12 +23934,12 @@ ftl_write_commit: strb w0, [x7, 2] ldrh w0, [x19, 10] add w0, w0, w1 - ldr x1, [x29, 136] + ldr x1, [x29, 128] sub w0, w0, #1 strh w0, [x7, 48] - add x0, x20, :lo12:.LANCHOR185 + add x0, x20, :lo12:.LANCHOR182 bl buf_add_tail - ldr x0, [x29, 120] + ldr x0, [x29, 112] ldrb w2, [x0, #:lo12:.LANCHOR129] add w2, w2, 1 and w2, w2, 255 @@ -23334,24 +23948,24 @@ ftl_write_commit: cmp w2, 2 str wzr, [x0, #:lo12:.LANCHOR233] ldrh w0, [x19, 6] - bhi .L3669 + bhi .L3701 cmp w0, 1 - bne .L3641 -.L3669: + bne .L3671 +.L3701: ldrb w1, [x19, 5] cmp w1, 0 mov w1, 0 cset w4, ne cmp w0, 1 - ldrb w0, [x20, #:lo12:.LANCHOR185] + ldrb w0, [x20, #:lo12:.LANCHOR182] csinc w4, w2, w4, eq mov w3, w0 -.L3673: +.L3705: cmp w1, w4 - bne .L3674 - strb w3, [x20, #:lo12:.LANCHOR185] + bne .L3706 + strb w3, [x20, #:lo12:.LANCHOR182] and w1, w1, 255 - ldr x3, [x29, 120] + ldr x3, [x29, 112] sub w2, w2, w1 ubfiz x0, x0, 6, 8 add x0, x24, x0 @@ -23359,58 +23973,58 @@ ftl_write_commit: bl sblk_prog_page ldrh w0, [x19, 6] cmp w0, 1 - bne .L3641 + bne .L3671 bl sblk_wait_write_queue_completed bl ftl_write_completed mov x0, x19 bl ftl_write_last_log_page mov x0, x19 bl ftl_alloc_new_data_sblk -.L3641: - adrp x0, .LANCHOR67 - ldrb w0, [x0, #:lo12:.LANCHOR67] - cbnz w0, .L3638 -.L3640: +.L3671: + adrp x0, .LANCHOR66 + ldrb w0, [x0, #:lo12:.LANCHOR66] + cbnz w0, .L3668 +.L3670: bl ftl_write_completed mov w0, 0 - b .L3637 -.L3665: + b .L3667 +.L3697: ldr w0, [x29, 156] sub w2, w2, w20 lsl w2, w2, 9 cmn w0, #1 ubfiz x0, x20, 7, 9 - beq .L3667 + beq .L3699 ldr x1, [x28, 8] lsl x0, x0, 2 add x1, x1, x0 add x0, x26, x0 bl ftl_memcpy - b .L3666 -.L3667: + b .L3698 +.L3699: mov w1, 0 add x0, x26, x0, lsl 2 bl ftl_memset - b .L3666 -.L3674: + b .L3698 +.L3706: ubfiz x3, x3, 6, 8 add w1, w1, 1 ldrb w3, [x24, x3] - b .L3673 -.L3675: + b .L3705 +.L3707: lsl w2, w21, 9 mov x28, 0 mov w25, 0 -.L3663: +.L3695: mov w1, 0 mov x0, x26 bl ftl_memset - b .L3664 -.L3657: - cbnz w21, .L3675 + b .L3696 +.L3687: + cbnz w21, .L3707 mov w25, 0 mov x28, 0 - b .L3662 + b .L3694 .size ftl_write_commit, .-ftl_write_commit .section .text.gc_do_copy_back,"ax",@progbits .align 2 @@ -23418,20 +24032,20 @@ ftl_write_commit: .type gc_do_copy_back, %function gc_do_copy_back: stp x29, x30, [sp, -224]! - adrp x0, .LANCHOR85 + adrp x0, .LANCHOR84 add x29, sp, 0 - ldrb w0, [x0, #:lo12:.LANCHOR85] + ldrb w0, [x0, #:lo12:.LANCHOR84] stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] - cbnz w0, .L3702 + cbnz w0, .L3734 bl buf_alloc mov x19, x0 - cbz x0, .L3701 - adrp x21, .LANCHOR71 - add x3, x21, :lo12:.LANCHOR71 + cbz x0, .L3733 + adrp x21, .LANCHOR70 + add x3, x21, :lo12:.LANCHOR70 ldrh w2, [x3, 26] mov w0, w2 bl gc_get_src_ppa_from_index @@ -23445,52 +24059,52 @@ gc_do_copy_back: ldr w0, [x19, 52] cmp w0, 512 ccmn w0, #1, 4, ne - bne .L3704 + bne .L3736 adrp x1, .LANCHOR234 adrp x0, .LC0 mov w2, 1032 add x1, x1, :lo12:.LANCHOR234 add x0, x0, :lo12:.LC0 bl printf -.L3704: +.L3736: ldr x0, [x19, 24] ldr w20, [x0, 4] mov w0, w20 bl lpa_hash_get_ppa str w0, [x29, 176] cmn w0, #1 - bne .L3705 + bne .L3737 mov w2, 0 add x1, x29, 176 mov w0, w20 bl pm_log2phys -.L3705: +.L3737: ldr w23, [x29, 176] cmp w22, w23 - bne .L3706 - adrp x0, .LANCHOR56 - add x0, x0, :lo12:.LANCHOR56 + bne .L3738 + adrp x0, .LANCHOR55 + add x0, x0, :lo12:.LANCHOR55 add x1, x0, 2 add x0, x0, 2050 -.L3709: +.L3741: ldr w2, [x1, 34] cmp w20, w2 - bne .L3707 + bne .L3739 ldrb w2, [x1] - tbz x2, 1, .L3707 + tbz x2, 1, .L3739 mov x0, x19 bl zbuf_free - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L3701 - add x21, x21, :lo12:.LANCHOR71 - adrp x0, .LC234 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L3733 + add x21, x21, :lo12:.LANCHOR70 + adrp x0, .LC237 mov w2, w22 mov w1, w20 - add x0, x0, :lo12:.LC234 + add x0, x0, :lo12:.LC237 ldrh w3, [x21, 26] bl printf -.L3701: +.L3733: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -23498,10 +24112,10 @@ gc_do_copy_back: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 224 ret -.L3707: +.L3739: add x1, x1, 64 cmp x1, x0 - bne .L3709 + bne .L3741 adrp x0, .LANCHOR131 strb wzr, [x19, 57] str w20, [x19, 36] @@ -23511,25 +24125,25 @@ gc_do_copy_back: ldr w1, [x0] str w1, [x19, 32] str wzr, [x0, 16] - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L3710 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L3742 mov w0, w20 bl lpa_hash_get_ppa - add x1, x21, :lo12:.LANCHOR71 + add x1, x21, :lo12:.LANCHOR70 mov w3, w0 mov w4, w22 - adrp x0, .LC235 + adrp x0, .LC238 mov w2, w23 - add x0, x0, :lo12:.LC235 + add x0, x0, :lo12:.LC238 ldrh w5, [x1, 26] mov w1, w20 bl printf -.L3710: +.L3742: mov x0, x19 bl ftl_gc_write_buf bl ftl_write_commit - add x21, x21, :lo12:.LANCHOR71 + add x21, x21, :lo12:.LANCHOR70 adrp x0, .LANCHOR110 ldr x1, [x0, #:lo12:.LANCHOR110] ldr w0, [x1, 60] @@ -23538,74 +24152,74 @@ gc_do_copy_back: ldrh w0, [x21, 28] add w0, w0, 1 strh w0, [x21, 28] - b .L3701 -.L3706: - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L3711 - add x21, x21, :lo12:.LANCHOR71 + b .L3733 +.L3738: + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L3743 + add x21, x21, :lo12:.LANCHOR70 mov w0, w20 bl lpa_hash_get_ppa mov w3, w0 mov w4, w22 - adrp x0, .LC235 + adrp x0, .LC238 ldrh w5, [x21, 26] mov w2, w23 mov w1, w20 - add x0, x0, :lo12:.LC235 + add x0, x0, :lo12:.LC238 bl printf -.L3711: +.L3743: mov x0, x19 bl zbuf_free - b .L3701 -.L3702: - adrp x2, .LANCHOR10 - adrp x1, .LANCHOR80 + b .L3733 +.L3734: + adrp x2, .LANCHOR12 + adrp x1, .LANCHOR79 stp x1, x2, [x29, 136] - ldr x26, [x2, #:lo12:.LANCHOR10] - ldrb w3, [x1, #:lo12:.LANCHOR80] + ldr x26, [x2, #:lo12:.LANCHOR12] + ldrb w3, [x1, #:lo12:.LANCHOR79] add x26, x26, 80 ldrb w0, [x26, 9] and w20, w0, 65535 cmp w3, w20 - bhi .L3766 + bhi .L3798 cmp w20, 2 mov w21, 2 csel w21, w20, w21, ls and w21, w21, 65535 -.L3712: - adrp x1, .LANCHOR79 +.L3744: + adrp x1, .LANCHOR78 str x1, [x29, 120] - ldrb w19, [x1, #:lo12:.LANCHOR79] + ldrb w19, [x1, #:lo12:.LANCHOR78] cmp w19, 3 - bne .L3713 - adrp x1, .LANCHOR36 - ldrb w1, [x1, #:lo12:.LANCHOR36] - cbz w1, .L3714 - adrp x1, .LANCHOR71 - add x1, x1, :lo12:.LANCHOR71 + bne .L3745 + adrp x1, .LANCHOR35 + ldrb w1, [x1, #:lo12:.LANCHOR35] + cbz w1, .L3746 + adrp x1, .LANCHOR70 + add x1, x1, :lo12:.LANCHOR70 ldrh w22, [x1, 2106] adrp x1, .LANCHOR124 ldrb w1, [x1, #:lo12:.LANCHOR124] sdiv w2, w22, w0 and w25, w2, 65535 - cbz w1, .L3715 + cbz w1, .L3747 adrp x1, .LANCHOR235 add x1, x1, :lo12:.LANCHOR235 ldrh w1, [x1, w2, sxtw 1] cmp w1, 0 cset w19, ne -.L3833: +.L3865: add w19, w19, 1 -.L3716: +.L3748: msub w20, w20, w25, w22 and w20, w20, 65535 -.L3717: - adrp x1, .LANCHOR86 +.L3749: + adrp x1, .LANCHOR85 mul w11, w19, w21 adrp x10, .LANCHOR235 sxtw x13, w25 - ldrh w5, [x1, #:lo12:.LANCHOR86] + ldrh w5, [x1, #:lo12:.LANCHOR85] adrp x1, .LANCHOR224 add x10, x10, :lo12:.LANCHOR235 mov w2, 0 @@ -23614,58 +24228,58 @@ gc_do_copy_back: sub w5, w0, w5 adrp x0, .LANCHOR124 ldrb w12, [x0, #:lo12:.LANCHOR124] - adrp x0, .LANCHOR163 - ldr x8, [x0, #:lo12:.LANCHOR163] - adrp x0, .LANCHOR71 - add x6, x0, :lo12:.LANCHOR71 + adrp x0, .LANCHOR160 + ldr x8, [x0, #:lo12:.LANCHOR160] + adrp x0, .LANCHOR70 + add x6, x0, :lo12:.LANCHOR70 ldrh w14, [x6, 24] -.L3721: +.L3753: cmp w2, w11 - bge .L3774 + bge .L3806 add w4, w22, w2 cmp w4, w5 - blt .L3722 - cbz w12, .L3774 + blt .L3754 + cbz w12, .L3806 ldrh w0, [x10, x13, lsl 1] cmp w0, w25 - bcc .L3723 -.L3774: + bcc .L3755 +.L3806: mov w23, 1 - b .L3719 -.L3766: + b .L3751 +.L3798: mov w21, 1 - b .L3712 -.L3715: + b .L3744 +.L3747: adrp x1, .LANCHOR217 ldrb w1, [x1, #:lo12:.LANCHOR217] - cbz w1, .L3768 + cbz w1, .L3800 sub w1, w25, #62 and w1, w1, 65535 cmp w1, 2159 - bhi .L3769 + bhi .L3801 udiv w19, w25, w19 add w19, w19, w19, lsl 1 sub w19, w25, w19 and w19, w19, 65535 cmp w19, 0 cset w19, eq - b .L3833 -.L3768: + b .L3865 +.L3800: mov w19, 1 - b .L3716 -.L3769: + b .L3748 +.L3801: mov w19, 2 - b .L3716 -.L3714: - adrp x1, .LANCHOR84 - ldrb w1, [x1, #:lo12:.LANCHOR84] - cbz w1, .L3718 - adrp x1, .LANCHOR71 - add x1, x1, :lo12:.LANCHOR71 + b .L3748 +.L3746: + adrp x1, .LANCHOR83 + ldrb w1, [x1, #:lo12:.LANCHOR83] + cbz w1, .L3750 + adrp x1, .LANCHOR70 + add x1, x1, :lo12:.LANCHOR70 add w20, w0, w0, lsl 1 ldrh w22, [x1, 2106] - adrp x1, .LANCHOR37 - ldrb w1, [x1, #:lo12:.LANCHOR37] + adrp x1, .LANCHOR36 + ldrb w1, [x1, #:lo12:.LANCHOR36] sdiv w20, w22, w20 and w25, w20, 65535 mul w20, w0, w20 @@ -23673,13 +24287,13 @@ gc_do_copy_back: add w20, w20, w22 sdiv w20, w20, w19 and w20, w20, 65535 - cbz w1, .L3717 + cbz w1, .L3749 add w3, w25, w25, lsl 1 and w25, w3, 65535 - b .L3717 -.L3718: - adrp x1, .LANCHOR71 - add x1, x1, :lo12:.LANCHOR71 + b .L3749 +.L3750: + adrp x1, .LANCHOR70 + add x1, x1, :lo12:.LANCHOR70 adrp x2, .LANCHOR236 add x2, x2, :lo12:.LANCHOR236 ldrh w4, [x1, 2106] @@ -23693,8 +24307,8 @@ gc_do_copy_back: madd w22, w25, w0, w20 add w22, w22, w22, lsl 1 and w22, w22, 65535 - beq .L3717 -.L3719: + beq .L3749 +.L3751: mul w0, w19, w21 stp wzr, w0, [x29, 152] ubfiz w0, w21, 1, 15 @@ -23704,104 +24318,104 @@ gc_do_copy_back: str w0, [x29, 128] ldrh w0, [x29, 128] str x0, [x29, 112] - adrp x0, .LANCHOR56 - add x0, x0, :lo12:.LANCHOR56 + adrp x0, .LANCHOR55 + add x0, x0, :lo12:.LANCHOR55 str x0, [x29, 104] -.L3724: +.L3756: ldp w0, w1, [x29, 152] ldrh w24, [x29, 152] and w0, w0, 65535 str w0, [x29, 168] cmp w0, w1 - blt .L3748 + blt .L3780 ldr x0, [x29, 120] - ldrb w0, [x0, #:lo12:.LANCHOR79] + ldrb w0, [x0, #:lo12:.LANCHOR78] cmp w0, 3 add x0, x29, 176 - bne .L3749 - adrp x1, .LANCHOR36 - ldrb w1, [x1, #:lo12:.LANCHOR36] - cbz w1, .L3750 + bne .L3781 + adrp x1, .LANCHOR35 + ldrb w1, [x1, #:lo12:.LANCHOR35] + cbz w1, .L3782 ldr w2, [x29, 156] mov w1, 0 sub w2, w2, #1 -.L3751: +.L3783: cmp w1, w2 - blt .L3752 -.L3837: + blt .L3784 +.L3869: ldr x0, [x0, w2, sxtw 3] mov w1, -1 strb w1, [x0] mul w1, w21, w19 ldr x0, [x29, 176] bl sblk_prog_page - b .L3753 -.L3713: - adrp x1, .LANCHOR81 - ldrb w1, [x1, #:lo12:.LANCHOR81] - cbnz w1, .L3720 - adrp x1, .LANCHOR71 - add x1, x1, :lo12:.LANCHOR71 + b .L3785 +.L3745: + adrp x1, .LANCHOR80 + ldrb w1, [x1, #:lo12:.LANCHOR80] + cbnz w1, .L3752 + adrp x1, .LANCHOR70 + add x1, x1, :lo12:.LANCHOR70 mov w19, 1 ldrh w22, [x1, 2106] sdiv w25, w22, w0 msub w20, w20, w25, w22 and w20, w20, 65535 - b .L3717 -.L3720: - adrp x1, .LANCHOR71 - add x1, x1, :lo12:.LANCHOR71 + b .L3749 +.L3752: + adrp x1, .LANCHOR70 + add x1, x1, :lo12:.LANCHOR70 mov w19, 2 ldrh w22, [x1, 2106] sdiv w25, w22, w0 msub w20, w20, w25, w22 and w20, w20, 65535 - b .L3717 -.L3723: - tbz x2, 0, .L3774 -.L3722: + b .L3749 +.L3755: + tbz x2, 0, .L3806 +.L3754: sbfiz x4, x4, 2, 32 ldr w0, [x8, x4] cmn w0, #1 - bne .L3725 + bne .L3757 ldrh w7, [x6, 26] cmp w7, w14 - bcs .L3701 - cbz w12, .L3726 + bcs .L3733 + cbz w12, .L3758 ldrh w0, [x10, x13, lsl 1] cmp w0, w25 - bcs .L3726 - tbz x2, 0, .L3726 + bcs .L3758 + tbz x2, 0, .L3758 ubfiz x0, x0, 2, 16 ldr w0, [x8, x0] -.L3834: +.L3866: str w0, [x8, x4] -.L3725: +.L3757: add w2, w2, 1 and w2, w2, 65535 - b .L3721 -.L3726: + b .L3753 +.L3758: mov w0, w7 bl gc_get_src_ppa_from_index add w7, w7, 1 strh w7, [x6, 26] - b .L3834 -.L3748: + b .L3866 +.L3780: ldr w0, [x29, 168] add w0, w22, w0 str w0, [x29, 172] sxtw x0, w0 str x0, [x29, 160] - adrp x0, .LANCHOR83 + adrp x0, .LANCHOR82 ldr x1, [x29, 160] - ldr x0, [x0, #:lo12:.LANCHOR83] + ldr x0, [x0, #:lo12:.LANCHOR82] ldrb w0, [x0, x1] cmp w0, 255 - bne .L3728 + bne .L3760 mov w0, 0 bl buf_alloc mov x27, x0 - cbnz x0, .L3729 + cbnz x0, .L3761 bl sblk_wait_write_queue_completed bl ftl_write_completed bl gc_write_completed @@ -23809,51 +24423,51 @@ gc_do_copy_back: mov w0, 0 bl buf_alloc mov x27, x0 - cbz x0, .L3701 -.L3729: - adrp x0, .LANCHOR83 + cbz x0, .L3733 +.L3761: + adrp x0, .LANCHOR82 ldr x2, [x29, 160] ldrb w1, [x27, 1] - ldr x0, [x0, #:lo12:.LANCHOR83] + ldr x0, [x0, #:lo12:.LANCHOR82] strb w1, [x0, x2] - adrp x0, .LANCHOR71 - add x1, x0, :lo12:.LANCHOR71 + adrp x0, .LANCHOR70 + add x1, x0, :lo12:.LANCHOR70 strb w23, [x27, 61] ldrb w0, [x1, 7] add w0, w0, 1 strb w0, [x1, 7] add w0, w24, w22 strh w0, [x27, 48] - adrp x0, .LANCHOR86 + adrp x0, .LANCHOR85 ldr w1, [x29, 172] - ldrh w6, [x0, #:lo12:.LANCHOR86] + ldrh w6, [x0, #:lo12:.LANCHOR85] adrp x0, .LANCHOR224 ldrb w5, [x0, #:lo12:.LANCHOR224] ldrb w0, [x26, 9] mul w0, w0, w6 sub w0, w0, w5 cmp w1, w0 - blt .L3730 + blt .L3762 adrp x1, .LANCHOR124 ldrb w1, [x1, #:lo12:.LANCHOR124] - cbz w1, .L3731 + cbz w1, .L3763 adrp x1, .LANCHOR235 add x1, x1, :lo12:.LANCHOR235 ldrh w1, [x1, w25, sxtw 1] cmp w1, w25 - bcs .L3731 - tbnz x24, 0, .L3730 -.L3731: - adrp x1, .LANCHOR162 + bcs .L3763 + tbnz x24, 0, .L3762 +.L3763: + adrp x1, .LANCHOR159 ldr w3, [x29, 172] mov w2, -1 cmp w5, 2 - ldr x1, [x1, #:lo12:.LANCHOR162] + ldr x1, [x1, #:lo12:.LANCHOR159] str w2, [x1, w3, sxtw 2] - bne .L3732 + bne .L3764 cmp w3, w0 adrp x28, .LANCHOR221 - bne .L3733 + bne .L3765 ldrh w2, [x28, #:lo12:.LANCHOR221] ldr x0, [x27, 8] bl ftl_memcpy @@ -23872,21 +24486,21 @@ gc_do_copy_back: bl js_hash str w0, [x6, 4] ldr x0, [x29, 144] - ldr x0, [x0, #:lo12:.LANCHOR10] + ldr x0, [x0, #:lo12:.LANCHOR12] ldr w0, [x0, 132] stp w0, wzr, [x6, 8] -.L3734: +.L3766: ldr x0, [x27, 24] str wzr, [x0, 16] -.L3728: - adrp x0, .LANCHOR83 +.L3760: + adrp x0, .LANCHOR82 ldrsw x2, [x29, 168] add x4, x29, 176 - ldr x1, [x0, #:lo12:.LANCHOR83] + ldr x1, [x0, #:lo12:.LANCHOR82] ldr x0, [x29, 160] ldrb w5, [x1, x0] - adrp x0, .LANCHOR56 - add x6, x0, :lo12:.LANCHOR56 + adrp x0, .LANCHOR55 + add x6, x0, :lo12:.LANCHOR55 mov x7, x5 ubfiz x0, x5, 6, 8 add x0, x6, x0 @@ -23896,27 +24510,27 @@ gc_do_copy_back: strh w0, [x6, 50] ldr x0, [x29, 120] strb w23, [x6, 61] - ldrb w0, [x0, #:lo12:.LANCHOR79] + ldrb w0, [x0, #:lo12:.LANCHOR78] cmp w0, 3 - bne .L3739 - adrp x8, .LANCHOR36 - ldrb w8, [x8, #:lo12:.LANCHOR36] - cbz w8, .L3740 + bne .L3771 + adrp x8, .LANCHOR35 + ldrb w8, [x8, #:lo12:.LANCHOR35] + cbz w8, .L3772 adrp x0, .LANCHOR124 and w8, w24, 1 add w10, w8, w25 ldrb w0, [x0, #:lo12:.LANCHOR124] - cbz w0, .L3741 + cbz w0, .L3773 adrp x6, .LANCHOR235 add x6, x6, :lo12:.LANCHOR235 ldrh w6, [x6, w25, sxtw 1] cmp w6, w25 - bcs .L3741 + bcs .L3773 cmp w8, 0 csel w10, w10, w6, eq -.L3741: - adrp x0, .LANCHOR56 - add x6, x0, :lo12:.LANCHOR56 +.L3773: + adrp x0, .LANCHOR55 + add x6, x0, :lo12:.LANCHOR55 add x5, x6, x5, lsl 6 udiv w6, w24, w19 add w6, w6, w20 @@ -23927,21 +24541,21 @@ gc_do_copy_back: madd w0, w0, w6, w10 orr w0, w0, 50331648 str w0, [x5, 40] -.L3746: - adrp x0, .LANCHOR56 +.L3778: + adrp x0, .LANCHOR55 sbfiz x7, x7, 6, 32 - add x0, x0, :lo12:.LANCHOR56 + add x0, x0, :lo12:.LANCHOR55 add x0, x0, x7 ldrh w5, [x0, 48] ldr w6, [x0, 40] - adrp x0, .LANCHOR164 - ldr x0, [x0, #:lo12:.LANCHOR164] + adrp x0, .LANCHOR161 + ldr x0, [x0, #:lo12:.LANCHOR161] str w6, [x0, x5, lsl 2] - b .L3765 -.L3733: + b .L3797 +.L3765: ldr x2, [x29, 136] ldrh w0, [x28, #:lo12:.LANCHOR221] - ldrb w28, [x2, #:lo12:.LANCHOR80] + ldrb w28, [x2, #:lo12:.LANCHOR79] mul w28, w28, w6 lsl w28, w28, 2 sub w28, w28, w0 @@ -23965,36 +24579,36 @@ gc_do_copy_back: bl js_hash str w0, [x6, 4] ldr x0, [x29, 144] - ldr x0, [x0, #:lo12:.LANCHOR10] + ldr x0, [x0, #:lo12:.LANCHOR12] ldr w0, [x0, 132] str w0, [x6, 8] mov w0, 1 str w0, [x6, 12] - b .L3734 -.L3732: + b .L3766 +.L3764: ldr x0, [x29, 136] - ldrb w2, [x0, #:lo12:.LANCHOR80] + ldrb w2, [x0, #:lo12:.LANCHOR79] ldr x0, [x27, 8] mul w2, w2, w6 lsl w2, w2, 2 bl ftl_memcpy ldr x1, [x29, 136] - adrp x0, .LANCHOR86 - ldrh w0, [x0, #:lo12:.LANCHOR86] - ldrb w1, [x1, #:lo12:.LANCHOR80] + adrp x0, .LANCHOR85 + ldrh w0, [x0, #:lo12:.LANCHOR85] + ldrb w1, [x1, #:lo12:.LANCHOR79] mul w0, w0, w1 adrp x1, .LANCHOR131 ldrb w1, [x1, #:lo12:.LANCHOR131] lsl w2, w0, 2 cmp w1, w0, lsr 6 - bge .L3735 + bge .L3767 adrp x1, .LANCHOR221 ldrh w1, [x1, #:lo12:.LANCHOR221] sub w2, w1, w2 -.L3735: - adrp x1, .LANCHOR163 +.L3767: + adrp x1, .LANCHOR160 ldr x5, [x27, 8] - ldr x1, [x1, #:lo12:.LANCHOR163] + ldr x1, [x1, #:lo12:.LANCHOR160] add x0, x5, x0, sxtw 2 bl ftl_memcpy adrp x0, .LANCHOR131 @@ -24007,26 +24621,26 @@ gc_do_copy_back: mov w0, 15555 movk w0, 0xf55f, lsl 16 str w0, [x6] - adrp x0, .LANCHOR86 - ldrh w1, [x0, #:lo12:.LANCHOR86] + adrp x0, .LANCHOR85 + ldrh w1, [x0, #:lo12:.LANCHOR85] ldr x0, [x29, 136] - ldrb w0, [x0, #:lo12:.LANCHOR80] + ldrb w0, [x0, #:lo12:.LANCHOR79] mul w1, w1, w0 ldr x0, [x27, 8] lsl w1, w1, 2 bl js_hash str w0, [x6, 4] ldr x0, [x29, 144] - ldr x0, [x0, #:lo12:.LANCHOR10] + ldr x0, [x0, #:lo12:.LANCHOR12] ldr w0, [x0, 132] str w0, [x6, 8] - b .L3734 -.L3730: + b .L3766 +.L3762: ldr x0, [x29, 160] mov w1, 1 lsl x28, x0, 2 - adrp x0, .LANCHOR163 - ldr x0, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR160 + ldr x0, [x0, #:lo12:.LANCHOR160] ldr w0, [x0, x28] str w0, [x27, 40] mov x0, x27 @@ -24034,11 +24648,11 @@ gc_do_copy_back: ldr w0, [x27, 52] cmp w0, 512 ccmn w0, #1, 4, ne - bne .L3737 - adrp x0, .LANCHOR75 - ldrh w2, [x0, #:lo12:.LANCHOR75] - adrp x0, .LANCHOR32 - ldrb w1, [x0, #:lo12:.LANCHOR32] + bne .L3769 + adrp x0, .LANCHOR74 + ldrh w2, [x0, #:lo12:.LANCHOR74] + adrp x0, .LANCHOR31 + ldrb w1, [x0, #:lo12:.LANCHOR31] mov w0, 24 sub w0, w0, w1 sub w1, w0, w2 @@ -24048,50 +24662,50 @@ gc_do_copy_back: sub w0, w0, #1 lsr w1, w1, w2 and w0, w0, w1 - adrp x1, .LANCHOR76 - ldrb w2, [x1, #:lo12:.LANCHOR76] + adrp x1, .LANCHOR75 + ldrb w2, [x1, #:lo12:.LANCHOR75] mov x1, 0 udiv w0, w0, w2 bl ftl_sblk_dump ldr w0, [x27, 52] cmp w0, 512 ccmn w0, #1, 4, ne - bne .L3737 + bne .L3769 ldr x0, [x27, 24] mov w1, -1 str w1, [x0, 4] ldr w0, [x27, 52] cmp w0, 512 ccmp w0, w1, 4, ne - bne .L3737 + bne .L3769 adrp x1, .LANCHOR234 adrp x0, .LC0 mov w2, 1223 add x1, x1, :lo12:.LANCHOR234 add x0, x0, :lo12:.LC0 bl printf -.L3737: +.L3769: ldr x0, [x27, 24] adrp x1, .LANCHOR128 ldr w1, [x1, #:lo12:.LANCHOR128] ldr w2, [x0, 4] cmp w2, w1 - bcc .L3738 + bcc .L3770 mov w1, -1 str w1, [x0, 4] -.L3738: - adrp x1, .LANCHOR162 +.L3770: + adrp x1, .LANCHOR159 ldr w2, [x0, 4] - ldr x1, [x1, #:lo12:.LANCHOR162] + ldr x1, [x1, #:lo12:.LANCHOR159] str w2, [x1, x28] ldr w1, [x27, 40] str w1, [x0, 8] - b .L3734 -.L3740: + b .L3766 +.L3772: udiv w0, w24, w0 - adrp x7, .LANCHOR37 - ldrb w7, [x7, #:lo12:.LANCHOR37] - cbz w7, .L3743 + adrp x7, .LANCHOR36 + ldrb w7, [x7, #:lo12:.LANCHOR36] + cbz w7, .L3775 add w7, w0, w20 adrp x8, .LANCHOR111 add x7, x26, x7, sxtw 1 @@ -24101,12 +24715,12 @@ gc_do_copy_back: ldrh w7, [x7, 16] madd w7, w7, w8, w25 add w0, w7, w0, uxth -.L3838: +.L3870: str w0, [x6, 40] ldr x0, [x29, 104] add x5, x0, x5, lsl 6 - adrp x0, .LANCHOR164 - ldr x6, [x0, #:lo12:.LANCHOR164] + adrp x0, .LANCHOR161 + ldr x6, [x0, #:lo12:.LANCHOR161] mov w0, 3 ldrh w7, [x5, 48] udiv w0, w24, w0 @@ -24117,16 +24731,16 @@ gc_do_copy_back: add w0, w0, 1 orr w0, w5, w0, lsl 24 str w0, [x6, x7, lsl 2] -.L3765: +.L3797: adrp x0, .LANCHOR124 ldrb w0, [x0, #:lo12:.LANCHOR124] - cbz w0, .L3747 + cbz w0, .L3779 adrp x0, .LANCHOR235 add x0, x0, :lo12:.LANCHOR235 ldrh w0, [x0, w25, sxtw 1] cmp w0, w25 - bcs .L3747 - tbz x24, 0, .L3747 + bcs .L3779 + tbz x24, 0, .L3779 ldr x3, [x29, 160] mov w0, -1 strb w0, [x1, x3] @@ -24135,45 +24749,45 @@ gc_do_copy_back: ldr x2, [x29, 112] strh w1, [x0, 48] ldrb w1, [x0, 1] - adrp x0, .LANCHOR83 - ldr x0, [x0, #:lo12:.LANCHOR83] + adrp x0, .LANCHOR82 + ldr x0, [x0, #:lo12:.LANCHOR82] strb w1, [x0, x2] - adrp x0, .LANCHOR163 + adrp x0, .LANCHOR160 ldr w2, [x29, 172] mov w1, -1 - ldr x0, [x0, #:lo12:.LANCHOR163] + ldr x0, [x0, #:lo12:.LANCHOR160] str w1, [x0, w2, sxtw 2] -.L3747: +.L3779: ldr w0, [x29, 152] add w0, w0, 1 str w0, [x29, 152] - b .L3724 -.L3743: + b .L3756 +.L3775: add w0, w0, w20 adrp x7, .LANCHOR111 add x0, x26, x0, sxtw 1 ldrh w7, [x7, #:lo12:.LANCHOR111] ldrh w0, [x0, 16] madd w0, w0, w7, w25 - b .L3838 -.L3739: + b .L3870 +.L3771: cmp w0, 2 - bne .L3746 - adrp x0, .LANCHOR81 + bne .L3778 + adrp x0, .LANCHOR80 adrp x5, .LANCHOR111 - ldrb w0, [x0, #:lo12:.LANCHOR81] - cbnz w0, .L3745 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbnz w0, .L3777 ldr w0, [x29, 168] ldrh w5, [x5, #:lo12:.LANCHOR111] add w27, w20, w0 add x27, x26, x27, sxtw 1 ldrh w0, [x27, 16] madd w0, w0, w5, w25 -.L3835: +.L3867: orr w0, w0, 33554432 str w0, [x6, 40] - b .L3746 -.L3745: + b .L3778 +.L3777: add w0, w20, w24, lsr 1 ldrh w5, [x5, #:lo12:.LANCHOR111] add x0, x26, x0, sxtw 1 @@ -24181,118 +24795,118 @@ gc_do_copy_back: madd w0, w0, w5, w25 and w5, w24, 1 add w0, w0, w5 - b .L3835 -.L3752: + b .L3867 +.L3784: ldr x4, [x0, w1, sxtw 3] add w1, w1, 1 ldr x5, [x0, w1, sxtw 3] and w1, w1, 65535 ldrb w5, [x5, 1] strb w5, [x4] - b .L3751 -.L3750: - adrp x1, .LANCHOR84 - ldrb w2, [x1, #:lo12:.LANCHOR84] + b .L3783 +.L3782: + adrp x1, .LANCHOR83 + ldrb w2, [x1, #:lo12:.LANCHOR83] ldr x1, [x29, 176] - cbz w2, .L3754 -.L3757: + cbz w2, .L3786 +.L3789: strb wzr, [x1, 60] - b .L3756 -.L3754: + b .L3788 +.L3786: cmp w23, 1 - bne .L3755 + bne .L3787 mov w2, 9 -.L3836: +.L3868: strb w2, [x1, 60] -.L3756: +.L3788: mov w2, w21 add x1, x0, 24 bl sblk_xlc_prog_pages -.L3753: - adrp x0, .LANCHOR84 - ldrb w0, [x0, #:lo12:.LANCHOR84] - cbz w0, .L3762 +.L3785: + adrp x0, .LANCHOR83 + ldrb w0, [x0, #:lo12:.LANCHOR83] + cbz w0, .L3794 add w21, w21, w21, lsl 1 and w21, w21, 65535 -.L3763: +.L3795: adrp x0, .LANCHOR110 ldr x1, [x0, #:lo12:.LANCHOR110] ldr w0, [x1, 52] add w0, w0, w21 str w0, [x1, 52] - adrp x0, .LANCHOR71 - add x25, x0, :lo12:.LANCHOR71 + adrp x0, .LANCHOR70 + add x25, x0, :lo12:.LANCHOR70 ldrh w0, [x25, 2106] add w21, w21, w0 - adrp x0, .LANCHOR86 + adrp x0, .LANCHOR85 and w21, w21, 65535 strh w21, [x25, 2106] - ldrh w0, [x0, #:lo12:.LANCHOR86] + ldrh w0, [x0, #:lo12:.LANCHOR85] ldrb w1, [x26, 9] mul w0, w0, w1 cmp w21, w0 - blt .L3764 + blt .L3796 ldr x0, [x29, 144] - ldr x0, [x0, #:lo12:.LANCHOR10] + ldr x0, [x0, #:lo12:.LANCHOR12] strh wzr, [x0, 86] -.L3764: +.L3796: bl gc_write_completed - b .L3701 -.L3755: + b .L3733 +.L3787: cmp w23, 2 - bne .L3757 + bne .L3789 mov w2, 13 - b .L3836 -.L3749: + b .L3868 +.L3781: + adrp x1, .LANCHOR80 + ldrb w1, [x1, #:lo12:.LANCHOR80] + cbz w1, .L3807 adrp x1, .LANCHOR81 ldrb w1, [x1, #:lo12:.LANCHOR81] - cbz w1, .L3775 - adrp x1, .LANCHOR82 - ldrb w1, [x1, #:lo12:.LANCHOR82] - cbnz w1, .L3759 -.L3758: + cbnz w1, .L3791 +.L3790: ldr w2, [x29, 156] sub w2, w2, #1 -.L3760: +.L3792: cmp w1, w2 - bge .L3837 + bge .L3869 ldr x4, [x0, w1, sxtw 3] add w1, w1, 1 ldr x5, [x0, w1, sxtw 3] and w1, w1, 65535 ldrb w5, [x5, 1] strb w5, [x4] - b .L3760 -.L3775: + b .L3792 +.L3807: mov w1, 0 - b .L3758 -.L3759: + b .L3790 +.L3791: mov w1, w21 bl sblk_3d_mlc_prog_pages - b .L3753 -.L3762: - adrp x0, .LANCHOR81 - ldrb w0, [x0, #:lo12:.LANCHOR81] - cbnz w0, .L3776 - adrp x0, .LANCHOR36 - ldrb w0, [x0, #:lo12:.LANCHOR36] - cbz w0, .L3763 + b .L3785 +.L3794: + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbnz w0, .L3808 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbz w0, .L3795 adrp x0, .LANCHOR124 ldrh w1, [x29, 156] ldrb w0, [x0, #:lo12:.LANCHOR124] - cbz w0, .L3777 + cbz w0, .L3809 adrp x0, .LANCHOR235 add x0, x0, :lo12:.LANCHOR235 ldrh w0, [x0, w25, sxtw 1] cmp w0, w25 csel w21, w21, w1, cc - b .L3763 -.L3776: + b .L3795 +.L3808: ldr w21, [x29, 132] - b .L3763 -.L3777: + b .L3795 +.L3809: mov w21, w1 - b .L3763 + b .L3795 .size gc_do_copy_back, .-gc_do_copy_back .section .text.zftl_do_gc,"ax",@progbits .align 2 @@ -24303,320 +24917,378 @@ zftl_do_gc: adrp x1, .LANCHOR107 stp x29, x30, [sp, 16] add x29, sp, 16 - stp x23, x24, [sp, 64] - adrp x24, .LANCHOR103 - stp x19, x20, [sp, 32] - adrp x19, .LANCHOR159 + ldrh w1, [x1, #:lo12:.LANCHOR107] stp x21, x22, [sp, 48] - adrp x23, .LANCHOR10 - ldrh w22, [x1, #:lo12:.LANCHOR107] + adrp x22, .LANCHOR103 + stp x19, x20, [sp, 32] + adrp x20, .LANCHOR156 + stp x23, x24, [sp, 64] + adrp x23, .LANCHOR12 stp x25, x26, [sp, 80] - ldrh w21, [x24, #:lo12:.LANCHOR103] - ldrb w1, [x19, #:lo12:.LANCHOR159] + ldrh w21, [x22, #:lo12:.LANCHOR103] + ldrb w2, [x20, #:lo12:.LANCHOR156] stp x27, x28, [sp, 96] - add w21, w22, w21 - ldr x26, [x23, #:lo12:.LANCHOR10] - cmp w1, 6 - bhi .L3954 + add w21, w1, w21 + ldr x26, [x23, #:lo12:.LANCHOR12] + cmp w2, 6 + bhi .L3988 mov w25, w0 and w21, w21, 65535 - adrp x0, .L3842 - add x0, x0, :lo12:.L3842 - ldrh w0, [x0,w1,uxtw #1] - adr x1, .Lrtx3842 - add x0, x1, w0, sxth #2 + adrp x0, .L3874 + add x0, x0, :lo12:.L3874 + ldrh w0, [x0,w2,uxtw #1] + adr x2, .Lrtx3874 + add x0, x2, w0, sxth #2 br x0 -.Lrtx3842: +.Lrtx3874: .section .rodata.zftl_do_gc,"a",@progbits .align 0 .align 2 -.L3842: - .2byte (.L3841 - .Lrtx3842) / 4 - .2byte (.L3843 - .Lrtx3842) / 4 - .2byte (.L3844 - .Lrtx3842) / 4 - .2byte (.L3845 - .Lrtx3842) / 4 - .2byte (.L3846 - .Lrtx3842) / 4 - .2byte (.L3847 - .Lrtx3842) / 4 - .2byte (.L3848 - .Lrtx3842) / 4 +.L3874: + .2byte (.L3873 - .Lrtx3874) / 4 + .2byte (.L3875 - .Lrtx3874) / 4 + .2byte (.L3876 - .Lrtx3874) / 4 + .2byte (.L3877 - .Lrtx3874) / 4 + .2byte (.L3878 - .Lrtx3874) / 4 + .2byte (.L3879 - .Lrtx3874) / 4 + .2byte (.L3880 - .Lrtx3874) / 4 .section .text.zftl_do_gc -.L3847: - adrp x20, .LANCHOR71 - add x24, x20, :lo12:.LANCHOR71 +.L3879: + adrp x19, .LANCHOR70 + add x24, x19, :lo12:.LANCHOR70 mov w22, 0 -.L3849: +.L3881: bl gc_check_data_one_wl - cbz w0, .L3950 - ldr x0, [x23, #:lo12:.LANCHOR10] - add x20, x20, :lo12:.LANCHOR71 - strh wzr, [x20, 56] + cbz w0, .L3984 + ldr x0, [x23, #:lo12:.LANCHOR12] + add x19, x19, :lo12:.LANCHOR70 + strh wzr, [x19, 56] ldrh w0, [x0, 80] bl ftl_free_sblk adrp x2, .LANCHOR110 - ldr x1, [x23, #:lo12:.LANCHOR10] + ldr x1, [x23, #:lo12:.LANCHOR12] mov w0, -1 ldr x2, [x2, #:lo12:.LANCHOR110] strh w0, [x1, 80] strh w0, [x2, 126] strh w0, [x1, 130] - ldr x0, [x20, 8] + ldr x0, [x19, 8] bl zbuf_free - strb wzr, [x19, #:lo12:.LANCHOR159] - str xzr, [x20, 8] - b .L4034 -.L3841: + strb wzr, [x20, #:lo12:.LANCHOR156] + str xzr, [x19, 8] + b .L4074 +.L3873: adrp x0, .LANCHOR105 adrp x27, .LANCHOR97 - ldrh w2, [x26, 80] - ldrh w0, [x0, #:lo12:.LANCHOR105] - ldrh w24, [x27, #:lo12:.LANCHOR97] - add w22, w22, w0 + ldrh w3, [x26, 80] + ldrh w22, [x0, #:lo12:.LANCHOR105] adrp x0, .LANCHOR99 + ldrh w24, [x27, #:lo12:.LANCHOR97] + ldrh w2, [x0, #:lo12:.LANCHOR99] + add w22, w1, w22 stp x0, x27, [x29, 112] and w22, w22, 65535 - ldrh w1, [x0, #:lo12:.LANCHOR99] - add w24, w24, w1 - mov w1, 65535 + add w24, w24, w2 + mov w2, 65535 and w24, w24, 65535 - cmp w2, w1 - beq .L3850 - cbnz w25, .L3851 - adrp x0, .LANCHOR87 - ldrh w0, [x0, #:lo12:.LANCHOR87] + cmp w3, w2 + beq .L3882 + cbnz w25, .L3883 + adrp x0, .LANCHOR86 + ldrh w0, [x0, #:lo12:.LANCHOR86] cmp w21, w0, lsl 1 - blt .L3851 -.L3954: - mov w20, 16 - b .L3839 -.L3851: + blt .L3883 +.L3988: + mov w19, 16 + b .L3871 +.L3883: adrp x5, .LANCHOR96 - mov w1, 5 - adrp x25, .LANCHOR85 - ldrh w0, [x5, #:lo12:.LANCHOR96] - add w0, w0, 1 - and w0, w0, 65535 - strh w0, [x5, #:lo12:.LANCHOR96] - bl zftl_get_gc_node + adrp x0, .LANCHOR92 + add x0, x0, :lo12:.LANCHOR92 + adrp x25, .LANCHOR84 + ldrh w1, [x5, #:lo12:.LANCHOR96] + add w1, w1, 1 + and w1, w1, 65535 + strh w1, [x5, #:lo12:.LANCHOR96] + bl _list_get_gc_head_node and w3, w0, 65535 mov w1, 65535 cmp w3, w1 - beq .L3852 - adrp x4, .LANCHOR9 + beq .L3884 + adrp x4, .LANCHOR11 ubfiz x3, x3, 1, 16 - adrp x1, .LANCHOR160 - mov x20, x1 - ldr x4, [x4, #:lo12:.LANCHOR9] - ldr w2, [x1, #:lo12:.LANCHOR160] + adrp x1, .LANCHOR157 + mov x19, x1 + ldr x4, [x4, #:lo12:.LANCHOR11] + ldr w2, [x1, #:lo12:.LANCHOR157] add w2, w2, 1 - str w2, [x1, #:lo12:.LANCHOR160] + str w2, [x1, #:lo12:.LANCHOR157] ldrh w3, [x4, x3] - adrp x4, .LANCHOR95 - ldrh w4, [x4, #:lo12:.LANCHOR95] + adrp x4, .LANCHOR94 + ldrh w4, [x4, #:lo12:.LANCHOR94] cmp w4, w3 - bcs .L3853 - adrp x1, .LANCHOR6 - ldrh w1, [x1, #:lo12:.LANCHOR6] + bcs .L3885 + adrp x1, .LANCHOR8 + ldrh w1, [x1, #:lo12:.LANCHOR8] cmp w2, w1, lsr 4 - bls .L3852 + bls .L3884 adrp x1, .LANCHOR100 ldrh w1, [x1, #:lo12:.LANCHOR100] cmp w1, w3 - bls .L3852 -.L3853: - ldrb w2, [x25, #:lo12:.LANCHOR85] + bls .L3884 +.L3885: + ldrb w2, [x25, #:lo12:.LANCHOR84] mov w1, 0 bl gc_add_sblk - cbz w0, .L3854 + cbz w0, .L3886 mov w0, 1 - str wzr, [x20, #:lo12:.LANCHOR160] - strb w0, [x19, #:lo12:.LANCHOR159] - b .L3954 -.L3852: + str wzr, [x19, #:lo12:.LANCHOR157] + strb w0, [x20, #:lo12:.LANCHOR156] + b .L3988 +.L3884: strh wzr, [x5, #:lo12:.LANCHOR96] -.L3854: +.L3886: cmp w22, 15 - bls .L3956 - adrp x0, .LANCHOR93 - ldrh w1, [x0, #:lo12:.LANCHOR93] + bls .L3990 + adrp x0, .LANCHOR91 + ldrh w1, [x0, #:lo12:.LANCHOR91] adrp x0, .LANCHOR101 ldrh w0, [x0, #:lo12:.LANCHOR101] cmp w1, w0 - bhi .L3956 + bhi .L3990 cmp w24, 0 - cset w20, eq - add w20, w20, 1 -.L3855: - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L3856 - ldr x0, [x23, #:lo12:.LANCHOR10] + cset w19, eq + add w19, w19, 1 +.L3887: + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L3888 + ldr x0, [x23, #:lo12:.LANCHOR12] mov w4, w22 - ldrb w2, [x25, #:lo12:.LANCHOR85] + ldrb w2, [x25, #:lo12:.LANCHOR84] mov w3, w21 - mov w1, 2662 + mov w1, 2807 ldrh w7, [x0, 122] ldrh w6, [x0, 120] ldrh w5, [x0, 124] ldrh w0, [x26, 80] str w0, [sp] - adrp x0, .LC236 - add x0, x0, :lo12:.LC236 + adrp x0, .LC239 + add x0, x0, :lo12:.LC239 bl printf -.L3856: - ldrb w0, [x25, #:lo12:.LANCHOR85] +.L3888: + ldrb w0, [x25, #:lo12:.LANCHOR84] mov w2, 1 - mov w1, w20 + mov w1, w19 bl gc_search_src_blk cmp w0, 0 - ble .L3857 -.L3858: + ble .L3889 +.L3890: mov w0, 1 -.L4036: - strb w0, [x19, #:lo12:.LANCHOR159] - b .L3954 -.L3956: - mov w20, 2 - b .L3855 -.L3857: - ldrb w0, [x25, #:lo12:.LANCHOR85] +.L4076: + strb w0, [x20, #:lo12:.LANCHOR156] + b .L3988 +.L3990: + mov w19, 2 + b .L3887 +.L3889: + ldrb w0, [x25, #:lo12:.LANCHOR84] mov w2, 1 mov w1, 3 bl gc_search_src_blk cmp w0, 0 - bgt .L3858 - b .L3954 -.L3850: + bgt .L3890 + b .L3988 +.L3882: cmp w25, 1 - bne .L3860 + bne .L3892 + adrp x0, .LANCHOR110 + ldr x0, [x0, #:lo12:.LANCHOR110] + ldrh w0, [x0, 150] + cbz w0, .L3893 + cmp w1, 8 + bls .L3893 + bl gc_ink_check_sblk +.L3893: bl gc_scan_static_data - adrp x26, .LANCHOR85 - ldr x0, [x23, #:lo12:.LANCHOR10] + adrp x26, .LANCHOR84 + ldr x0, [x23, #:lo12:.LANCHOR12] ldrh w0, [x0, 122] - cbz w0, .L3861 -.L3862: + cbz w0, .L3894 +.L3895: mov w0, 1 - strb w0, [x26, #:lo12:.LANCHOR85] - b .L4036 -.L3861: + strb w0, [x26, #:lo12:.LANCHOR84] + b .L4076 +.L3894: bl gc_static_wearleveling - mov w20, w0 - cbnz w0, .L3862 - adrp x27, .LANCHOR161 - cbz w22, .L3863 + mov w19, w0 + cbnz w0, .L3895 + adrp x27, .LANCHOR158 + cbz w22, .L3896 cmp w21, w24 adrp x1, .LANCHOR98 - bcs .L3864 + bcs .L3897 ldrh w0, [x1, #:lo12:.LANCHOR98] cmp w0, w21 - bhi .L3865 -.L3864: + bhi .L3898 +.L3897: ldrh w1, [x1, #:lo12:.LANCHOR98] add w0, w21, w24 cmp w0, w1 - blt .L3865 - adrp x0, .LANCHOR93 - ldrh w1, [x0, #:lo12:.LANCHOR93] + blt .L3898 + adrp x0, .LANCHOR91 + ldrh w1, [x0, #:lo12:.LANCHOR91] adrp x0, .LANCHOR101 ldrh w0, [x0, #:lo12:.LANCHOR101] cmp w1, w0 - bcc .L3863 -.L3865: + bcc .L3896 +.L3898: mov w0, 1 - strb w0, [x26, #:lo12:.LANCHOR85] - mov w0, 16 - bl zftl_get_gc_node.part.9 + mov w1, 16 + strb w0, [x26, #:lo12:.LANCHOR84] + adrp x0, .LANCHOR95 + add x0, x0, :lo12:.LANCHOR95 + bl _list_get_gc_head_node and w1, w0, 65535 mov w2, 65535 - adrp x28, .LANCHOR160 + adrp x28, .LANCHOR157 cmp w1, w2 - beq .L3866 - adrp x2, .LANCHOR9 + beq .L3899 + adrp x2, .LANCHOR11 ubfiz x1, x1, 1, 16 - ldr x2, [x2, #:lo12:.LANCHOR9] + ldr x2, [x2, #:lo12:.LANCHOR11] ldrh w2, [x2, x1] - ldrh w1, [x27, #:lo12:.LANCHOR161] + ldrh w1, [x27, #:lo12:.LANCHOR158] cmp w2, w1 - bcs .L3866 + bcs .L3899 cmp w21, 2 - bls .L3866 - strb wzr, [x26, #:lo12:.LANCHOR85] + bls .L3899 + strb wzr, [x26, #:lo12:.LANCHOR84] mov w2, 0 - str wzr, [x28, #:lo12:.LANCHOR160] + str wzr, [x28, #:lo12:.LANCHOR157] mov w1, 1 bl gc_add_sblk - cbnz w0, .L3858 -.L3866: - mov w1, 3 - mov w0, 0 - bl zftl_get_gc_node + cbnz w0, .L3890 +.L3899: + mov w1, 0 + adrp x0, .LANCHOR90 + add x0, x0, :lo12:.LANCHOR90 + bl _list_get_gc_head_node and w1, w0, 65535 mov w2, 65535 cmp w1, w2 - beq .L3867 - adrp x2, .LANCHOR9 + beq .L3900 + adrp x2, .LANCHOR11 ubfiz x1, x1, 1, 16 - ldr x2, [x2, #:lo12:.LANCHOR9] + ldr x2, [x2, #:lo12:.LANCHOR11] ldrh w2, [x2, x1] - ldrh w1, [x27, #:lo12:.LANCHOR161] + ldrh w1, [x27, #:lo12:.LANCHOR158] cmp w2, w1 - bcs .L3867 + bcs .L3900 cmp w21, 2 - bls .L3867 - strb wzr, [x26, #:lo12:.LANCHOR85] + bls .L3900 + strb wzr, [x26, #:lo12:.LANCHOR84] mov w2, 0 - str wzr, [x28, #:lo12:.LANCHOR160] + str wzr, [x28, #:lo12:.LANCHOR157] mov w1, 1 bl gc_add_sblk - cbnz w0, .L3858 -.L3867: - ldrh w0, [x27, #:lo12:.LANCHOR161] - adrp x1, .LANCHOR95 + cbnz w0, .L3890 +.L3900: + ldrh w0, [x27, #:lo12:.LANCHOR158] + adrp x1, .LANCHOR94 add w0, w0, 1 - ldrh w5, [x1, #:lo12:.LANCHOR95] + ldrh w5, [x1, #:lo12:.LANCHOR94] and w0, w0, 65535 - strh w0, [x27, #:lo12:.LANCHOR161] + strh w0, [x27, #:lo12:.LANCHOR158] cmp w0, w5, lsr 5 - bls .L3868 + bls .L3901 mov w0, 4 - strh w0, [x27, #:lo12:.LANCHOR161] -.L3868: - adrp x1, .LANCHOR90 - ldr w0, [x28, #:lo12:.LANCHOR160] - strh wzr, [x1, #:lo12:.LANCHOR90] - adrp x1, .LANCHOR91 + strh w0, [x27, #:lo12:.LANCHOR158] +.L3901: + adrp x1, .LANCHOR87 + ldr w0, [x28, #:lo12:.LANCHOR157] + strh wzr, [x1, #:lo12:.LANCHOR87] + adrp x1, .LANCHOR88 add w0, w0, 1 - str w0, [x28, #:lo12:.LANCHOR160] - strh wzr, [x1, #:lo12:.LANCHOR91] - adrp x1, .LANCHOR92 - strh wzr, [x1, #:lo12:.LANCHOR92] - adrp x1, .LANCHOR6 - ldrh w1, [x1, #:lo12:.LANCHOR6] + str w0, [x28, #:lo12:.LANCHOR157] + strh wzr, [x1, #:lo12:.LANCHOR88] + adrp x1, .LANCHOR89 + strh wzr, [x1, #:lo12:.LANCHOR89] + adrp x1, .LANCHOR8 + ldrh w1, [x1, #:lo12:.LANCHOR8] cmp w0, w1, lsr 5 - adrp x0, .LANCHOR93 - bls .L3869 - ldrh w1, [x0, #:lo12:.LANCHOR93] + adrp x0, .LANCHOR91 + bls .L3902 + ldrh w1, [x0, #:lo12:.LANCHOR91] cmp w1, w22 - bls .L3869 - mov w1, 5 - mov w0, 0 - bl zftl_get_gc_node + bls .L3902 + mov w1, 0 + adrp x0, .LANCHOR92 + add x0, x0, :lo12:.LANCHOR92 + bl _list_get_gc_head_node and w0, w0, 65535 mov w1, 65535 cmp w0, w1 - bne .L3870 -.L4024: - mov w20, 16 -.L3871: - ldr x0, [x23, #:lo12:.LANCHOR10] - adrp x28, .LANCHOR85 + bne .L3903 +.L4064: + mov w19, 16 + b .L3904 +.L3903: + adrp x1, .LANCHOR11 + ubfiz x0, x0, 1, 16 + ldr x1, [x1, #:lo12:.LANCHOR11] + ldrh w1, [x1, x0] + adrp x0, .LANCHOR79 + ldrb w0, [x0, #:lo12:.LANCHOR79] + mul w0, w0, w5 + cmp w1, w0 + bgt .L4064 + str wzr, [x28, #:lo12:.LANCHOR157] + mov w2, 4 +.L4070: + mov w1, 2 +.L4063: + ldrb w0, [x26, #:lo12:.LANCHOR84] + bl gc_search_src_blk + and w0, w0, 65535 + cbz w0, .L4064 + b .L3890 +.L3902: + ldrh w1, [x0, #:lo12:.LANCHOR91] + adrp x0, .LANCHOR101 + ldrh w0, [x0, #:lo12:.LANCHOR101] + cmp w1, w0 + bcc .L3907 + mov w2, 1 + b .L4070 +.L3907: + ldr x0, [x29, 120] + ldrh w0, [x0, #:lo12:.LANCHOR97] + cbnz w0, .L3908 + ldr x0, [x29, 112] + ldrh w0, [x0, #:lo12:.LANCHOR99] + cmp w0, 8 + bls .L3909 +.L3908: + mov w2, 4 + mov w1, 1 + b .L4063 +.L3909: + adrp x0, .LANCHOR70+2110 + ldrh w0, [x0, #:lo12:.LANCHOR70+2110] + cbnz w0, .L4064 +.L3904: + ldr x0, [x23, #:lo12:.LANCHOR12] + adrp x28, .LANCHOR84 mov w1, 1 mov x23, x28 - strb w1, [x28, #:lo12:.LANCHOR85] + strb w1, [x28, #:lo12:.LANCHOR84] ldrh w0, [x0, 124] - cbz w0, .L3876 - strb wzr, [x28, #:lo12:.LANCHOR85] - strb w1, [x19, #:lo12:.LANCHOR159] -.L3839: - mov w0, w20 + cbz w0, .L3910 + strb wzr, [x28, #:lo12:.LANCHOR84] + strb w1, [x20, #:lo12:.LANCHOR156] +.L3871: + mov w0, w19 ldp x19, x20, [sp, 32] ldp x21, x22, [sp, 48] ldp x23, x24, [sp, 64] @@ -24625,279 +25297,244 @@ zftl_do_gc: ldp x29, x30, [sp, 16] add sp, sp, 144 ret -.L3870: - adrp x1, .LANCHOR9 - ubfiz x0, x0, 1, 16 - ldr x1, [x1, #:lo12:.LANCHOR9] - ldrh w1, [x1, x0] - adrp x0, .LANCHOR80 - ldrb w0, [x0, #:lo12:.LANCHOR80] - mul w0, w0, w5 - cmp w1, w0 - bgt .L4024 - str wzr, [x28, #:lo12:.LANCHOR160] - mov w2, 4 -.L4031: - mov w1, 2 -.L4023: - ldrb w0, [x26, #:lo12:.LANCHOR85] - bl gc_search_src_blk - and w0, w0, 65535 - cbz w0, .L4024 - b .L3858 -.L3869: - ldrh w1, [x0, #:lo12:.LANCHOR93] - adrp x0, .LANCHOR101 - ldrh w0, [x0, #:lo12:.LANCHOR101] - cmp w1, w0 - bcc .L3874 - mov w2, 1 - b .L4031 -.L3874: - ldr x0, [x29, 120] - ldrh w0, [x0, #:lo12:.LANCHOR97] - cbnz w0, .L3875 - ldr x0, [x29, 112] - ldrh w0, [x0, #:lo12:.LANCHOR99] - cmp w0, 8 - bls .L3871 -.L3875: - mov w2, 4 - mov w1, 1 - b .L4023 -.L3863: - adrp x0, .LANCHOR95 - ldrh w1, [x0, #:lo12:.LANCHOR95] - ldrh w0, [x27, #:lo12:.LANCHOR161] +.L3896: + adrp x0, .LANCHOR94 + ldrh w1, [x0, #:lo12:.LANCHOR94] + ldrh w0, [x27, #:lo12:.LANCHOR158] cmp w0, w1, lsr 5 - bcc .L4024 + bcc .L4064 mov w0, 4 - strh w0, [x27, #:lo12:.LANCHOR161] - b .L4024 -.L3860: - adrp x0, .LANCHOR87 - ldrh w0, [x0, #:lo12:.LANCHOR87] + strh w0, [x27, #:lo12:.LANCHOR158] + b .L4064 +.L3892: + adrp x0, .LANCHOR86 + ldrh w0, [x0, #:lo12:.LANCHOR86] cmp w0, w21 - bcs .L4024 + bcs .L4064 ldrh w0, [x26, 124] - cbz w0, .L3954 - b .L4024 -.L3876: - adrp x0, .LANCHOR87 + cbz w0, .L3988 + b .L4064 +.L3910: + adrp x0, .LANCHOR86 mov x26, x0 - ldrh w2, [x0, #:lo12:.LANCHOR87] + ldrh w2, [x0, #:lo12:.LANCHOR86] cmp w21, w2 - bcs .L3877 - cbz w22, .L3878 + bcs .L3911 + cbz w22, .L3912 cmp w22, 16 - bls .L3879 - adrp x0, .LANCHOR93 - ldrh w2, [x0, #:lo12:.LANCHOR93] + bls .L3913 + adrp x0, .LANCHOR91 + ldrh w2, [x0, #:lo12:.LANCHOR91] adrp x0, .LANCHOR101 ldrh w0, [x0, #:lo12:.LANCHOR101] cmp w2, w0 - bhi .L3879 + bhi .L3913 mov w2, 4 mov w0, w1 bl gc_search_src_blk tst w0, 65535 - bne .L3880 -.L4027: + bne .L3914 +.L4071: mov w2, 4 mov w1, 3 - ldrb w0, [x28, #:lo12:.LANCHOR85] - b .L4026 -.L3880: - mov w1, 5 - mov w0, 0 - bl zftl_get_gc_node + ldrb w0, [x28, #:lo12:.LANCHOR84] + b .L4066 +.L3914: + mov w1, 0 + adrp x0, .LANCHOR92 + add x0, x0, :lo12:.LANCHOR92 + bl _list_get_gc_head_node and w3, w0, 65535 mov w1, 65535 cmp w3, w1 - beq .L3883 - adrp x4, .LANCHOR9 + beq .L3917 + adrp x4, .LANCHOR11 ubfiz x3, x3, 1, 16 - adrp x1, .LANCHOR160 + adrp x1, .LANCHOR157 mov x21, x1 - ldr x4, [x4, #:lo12:.LANCHOR9] - ldr w2, [x1, #:lo12:.LANCHOR160] + ldr x4, [x4, #:lo12:.LANCHOR11] + ldr w2, [x1, #:lo12:.LANCHOR157] add w2, w2, 1 - str w2, [x1, #:lo12:.LANCHOR160] + str w2, [x1, #:lo12:.LANCHOR157] ldrh w3, [x4, x3] - adrp x4, .LANCHOR95 - ldrh w4, [x4, #:lo12:.LANCHOR95] + adrp x4, .LANCHOR94 + ldrh w4, [x4, #:lo12:.LANCHOR94] cmp w4, w3 - bcs .L3884 - adrp x1, .LANCHOR6 - ldrh w1, [x1, #:lo12:.LANCHOR6] + bcs .L3918 + adrp x1, .LANCHOR8 + ldrh w1, [x1, #:lo12:.LANCHOR8] cmp w2, w1, lsr 4 - bls .L3883 + bls .L3917 adrp x1, .LANCHOR100 ldrh w1, [x1, #:lo12:.LANCHOR100] cmp w1, w3 - bls .L3883 -.L3884: - ldrb w2, [x23, #:lo12:.LANCHOR85] + bls .L3917 +.L3918: + ldrb w2, [x23, #:lo12:.LANCHOR84] mov w1, 0 bl gc_add_sblk - str wzr, [x21, #:lo12:.LANCHOR160] + str wzr, [x21, #:lo12:.LANCHOR157] adrp x0, .LANCHOR122 mov w1, 1 str w1, [x0, #:lo12:.LANCHOR122] -.L3883: +.L3917: mov w0, 1 - strb w0, [x19, #:lo12:.LANCHOR159] - b .L3839 -.L3879: + strb w0, [x20, #:lo12:.LANCHOR156] + b .L3871 +.L3913: mov w2, 1 mov w1, 2 mov w0, w2 bl gc_search_src_blk tst w0, 65535 - bne .L3883 - ldrb w0, [x23, #:lo12:.LANCHOR85] + bne .L3917 + ldrb w0, [x23, #:lo12:.LANCHOR84] mov w2, 4 mov w1, 3 -.L4026: +.L4066: bl gc_search_src_blk and w0, w0, 65535 -.L3881: - cbnz w0, .L3883 - b .L3839 -.L3878: - strb wzr, [x28, #:lo12:.LANCHOR85] +.L3915: + cbnz w0, .L3917 + b .L3871 +.L3912: + strb wzr, [x28, #:lo12:.LANCHOR84] cmp w21, 16 - bls .L3886 + bls .L3920 mov w2, 4 mov w1, 3 mov w0, 0 - b .L4026 -.L3886: + b .L4066 +.L3920: mov w2, w1 mov w0, 0 bl gc_search_src_blk tst w0, 65535 - bne .L3883 - b .L4027 -.L3877: + bne .L3917 + b .L4071 +.L3911: cmp w25, 1 - bne .L3839 + bne .L3871 cmp w21, w2, lsl 1 - bge .L3887 + bge .L3921 cmp w24, w22, lsr 1 - bcs .L3888 - adrp x1, .LANCHOR93 - ldrh w2, [x1, #:lo12:.LANCHOR93] + bcs .L3922 + adrp x1, .LANCHOR91 + ldrh w2, [x1, #:lo12:.LANCHOR91] adrp x1, .LANCHOR101 ldrh w1, [x1, #:lo12:.LANCHOR101] cmp w2, w1 - bcs .L3888 + bcs .L3922 adrp x1, .LANCHOR98 ldrh w1, [x1, #:lo12:.LANCHOR98] lsr w1, w1, 2 - strh w1, [x0, #:lo12:.LANCHOR87] - b .L3839 -.L3888: - mov w0, 8 - bl zftl_get_gc_node.part.9 + strh w1, [x0, #:lo12:.LANCHOR86] + b .L3871 +.L3922: + mov w1, 8 + adrp x25, .LANCHOR95 + add x0, x25, :lo12:.LANCHOR95 + bl _list_get_gc_head_node and w1, w0, 65535 mov w2, 65535 cmp w1, w2 - beq .L3889 - adrp x2, .LANCHOR9 + beq .L3923 + adrp x2, .LANCHOR11 ubfiz x1, x1, 1, 16 - ldr x2, [x2, #:lo12:.LANCHOR9] + ldr x2, [x2, #:lo12:.LANCHOR11] ldrh w1, [x2, x1] cmp w1, 3 - bhi .L3889 - cbz w21, .L3889 - strb wzr, [x23, #:lo12:.LANCHOR85] + bhi .L3923 + cbz w21, .L3923 + strb wzr, [x23, #:lo12:.LANCHOR84] mov w2, 0 mov w1, 1 bl gc_add_sblk - cbnz w0, .L3883 -.L3889: - mov w1, 5 - mov w0, 0 - bl zftl_get_gc_node - and w25, w0, 65535 + cbnz w0, .L3917 +.L3923: + mov w1, 0 + adrp x0, .LANCHOR92 + add x0, x0, :lo12:.LANCHOR92 + bl _list_get_gc_head_node + and w28, w0, 65535 mov w1, 65535 - mov w28, w25 - cmp w25, w1 - bne .L3890 -.L3895: + mov w3, w28 + cmp w28, w1 + bne .L3924 +.L3929: cmp w22, 1 - bhi .L3891 -.L3892: + bhi .L3925 +.L3926: cmp w21, w24 adrp x21, .LANCHOR98 - bcs .L3899 - strb wzr, [x23, #:lo12:.LANCHOR85] - mov w0, 4 - bl zftl_get_gc_node.part.9 + bcs .L3933 + mov w1, 4 + strb wzr, [x23, #:lo12:.LANCHOR84] + add x0, x25, :lo12:.LANCHOR95 + bl _list_get_gc_head_node and w0, w0, 65535 mov w1, 65535 cmp w0, w1 - beq .L3899 - adrp x1, .LANCHOR9 + beq .L3933 + adrp x1, .LANCHOR11 ubfiz x0, x0, 1, 16 - adrp x2, .LANCHOR80 - ldr x1, [x1, #:lo12:.LANCHOR9] - ldrb w2, [x2, #:lo12:.LANCHOR80] + adrp x2, .LANCHOR79 + ldr x1, [x1, #:lo12:.LANCHOR11] + ldrb w2, [x2, #:lo12:.LANCHOR79] ldrh w1, [x1, x0] - adrp x0, .LANCHOR95 - ldrh w0, [x0, #:lo12:.LANCHOR95] + adrp x0, .LANCHOR94 + ldrh w0, [x0, #:lo12:.LANCHOR94] mul w0, w0, w2 cmp w1, w0, lsr 1 - ble .L3901 -.L3899: + ble .L3935 +.L3933: ldrh w0, [x21, #:lo12:.LANCHOR98] lsr w0, w0, 2 - strh w0, [x26, #:lo12:.LANCHOR87] - b .L3839 -.L3890: - adrp x2, .LANCHOR160 - adrp x3, .LANCHOR6 - uxtw x25, w25 - ldr w1, [x2, #:lo12:.LANCHOR160] - ldrh w3, [x3, #:lo12:.LANCHOR6] + strh w0, [x26, #:lo12:.LANCHOR86] + b .L3871 +.L3924: + adrp x2, .LANCHOR157 + adrp x4, .LANCHOR8 + uxtw x28, w28 + ldr w1, [x2, #:lo12:.LANCHOR157] + ldrh w4, [x4, #:lo12:.LANCHOR8] add w1, w1, 1 - str w1, [x2, #:lo12:.LANCHOR160] - cmp w1, w3, lsr 4 - adrp x3, .LANCHOR9 - bls .L3893 - ldr x1, [x3, #:lo12:.LANCHOR9] - str wzr, [x2, #:lo12:.LANCHOR160] - ldrh w2, [x1, x25, lsl 1] + str w1, [x2, #:lo12:.LANCHOR157] + cmp w1, w4, lsr 4 + adrp x4, .LANCHOR11 + bls .L3927 + ldr x1, [x4, #:lo12:.LANCHOR11] + str wzr, [x2, #:lo12:.LANCHOR157] + ldrh w2, [x1, x28, lsl 1] adrp x1, .LANCHOR100 ldrh w1, [x1, #:lo12:.LANCHOR100] cmp w2, w1 - bcs .L3893 - mov w4, 1 - str x3, [x29, 96] - strb w4, [x23, #:lo12:.LANCHOR85] + bcs .L3927 + mov w5, 1 + str x4, [x29, 96] + strb w5, [x23, #:lo12:.LANCHOR84] mov w2, 1 - str w4, [x29, 108] + stp w3, w5, [x29, 104] mov w1, 0 bl gc_add_sblk - ldr w4, [x29, 108] - ldr x3, [x29, 96] - cbz w0, .L3893 - strb w4, [x19, #:lo12:.LANCHOR159] - b .L3839 -.L3893: - ldr x0, [x3, #:lo12:.LANCHOR9] - ldrh w1, [x0, x25, lsl 1] - adrp x0, .LANCHOR95 - ldrh w0, [x0, #:lo12:.LANCHOR95] + ldp w3, w5, [x29, 104] + ldr x4, [x29, 96] + cbz w0, .L3927 + strb w5, [x20, #:lo12:.LANCHOR156] + b .L3871 +.L3927: + ldr x0, [x4, #:lo12:.LANCHOR11] + ldrh w1, [x0, x28, lsl 1] + adrp x0, .LANCHOR94 + ldrh w0, [x0, #:lo12:.LANCHOR94] cmp w1, w0, lsr 1 - bhi .L3894 + bhi .L3928 mov w2, 0 mov w1, 1 - mov w0, w28 + mov w0, w3 bl gc_add_sblk - b .L3883 -.L3894: + b .L3917 +.L3928: ldp x2, x0, [x29, 112] ldrh w2, [x2, #:lo12:.LANCHOR99] ldrh w0, [x0, #:lo12:.LANCHOR97] @@ -24905,376 +25542,379 @@ zftl_do_gc: adrp x2, .LANCHOR98 ldrh w2, [x2, #:lo12:.LANCHOR98] cmp w0, w2, lsl 1 - ble .L3895 + ble .L3929 adrp x0, .LANCHOR100 ldrh w0, [x0, #:lo12:.LANCHOR100] cmp w0, w1 - bcc .L3892 - b .L3895 -.L3891: + bcc .L3926 + b .L3929 +.L3925: mov w1, 1 - strb w1, [x23, #:lo12:.LANCHOR85] + strb w1, [x23, #:lo12:.LANCHOR84] cmp w22, 16 - bls .L3896 - adrp x0, .LANCHOR93 - ldrh w2, [x0, #:lo12:.LANCHOR93] + bls .L3930 + adrp x0, .LANCHOR91 + ldrh w2, [x0, #:lo12:.LANCHOR91] adrp x0, .LANCHOR101 ldrh w0, [x0, #:lo12:.LANCHOR101] cmp w2, w0 - bhi .L3896 + bhi .L3930 mov w0, w1 mov w2, 4 -.L4033: +.L4073: bl gc_search_src_blk ands w0, w0, 65535 - bne .L3897 - ldrb w0, [x23, #:lo12:.LANCHOR85] + bne .L3931 + ldrb w0, [x23, #:lo12:.LANCHOR84] mov w2, 4 mov w1, 3 bl gc_search_src_blk and w0, w0, 65535 -.L3897: +.L3931: adrp x1, .LANCHOR98 cmp w21, w24, lsr 1 ldrh w1, [x1, #:lo12:.LANCHOR98] - bls .L4028 + bls .L4067 lsr w1, w1, 2 -.L4029: - strh w1, [x26, #:lo12:.LANCHOR87] - b .L3881 -.L3896: +.L4068: + strh w1, [x26, #:lo12:.LANCHOR86] + b .L3915 +.L3930: mov w2, 1 mov w1, 2 mov w0, w2 - b .L4033 -.L3901: + b .L4073 +.L3935: mov w1, 3 mov w2, 4 mov w0, 0 bl gc_search_src_blk ldrh w1, [x21, #:lo12:.LANCHOR98] and w0, w0, 65535 -.L4028: +.L4067: lsr w1, w1, 1 - b .L4029 -.L3887: + b .L4068 +.L3921: adrp x1, .LANCHOR98 - mov w20, 0 ldrh w1, [x1, #:lo12:.LANCHOR98] lsr w1, w1, 2 - strh w1, [x0, #:lo12:.LANCHOR87] - b .L3839 -.L3843: - adrp x7, .LANCHOR71 + strh w1, [x0, #:lo12:.LANCHOR86] + adrp x0, .LANCHOR70+2110 + ldrh w0, [x0, #:lo12:.LANCHOR70+2110] + cmp w0, 0 + csel w19, w19, wzr, ne + b .L3871 +.L3875: + adrp x7, .LANCHOR70 mov w0, 65535 - ldrh w1, [x7, #:lo12:.LANCHOR71] + ldrh w1, [x7, #:lo12:.LANCHOR70] cmp w1, w0 - bne .L3902 + bne .L3936 bl gc_get_src_blk - strh w0, [x7, #:lo12:.LANCHOR71] -.L3902: - ldrh w0, [x7, #:lo12:.LANCHOR71] + strh w0, [x7, #:lo12:.LANCHOR70] +.L3936: + ldrh w0, [x7, #:lo12:.LANCHOR70] mov w1, 65535 cmp w0, w1 - beq .L3903 - adrp x1, .LANCHOR6 - ldrh w1, [x1, #:lo12:.LANCHOR6] + beq .L3937 + adrp x1, .LANCHOR8 + ldrh w1, [x1, #:lo12:.LANCHOR8] cmp w1, w0 - bhi .L3903 + bhi .L3937 mov w0, -1 - strh w0, [x7, #:lo12:.LANCHOR71] -.L3903: - ldrh w3, [x7, #:lo12:.LANCHOR71] + strh w0, [x7, #:lo12:.LANCHOR70] +.L3937: + ldrh w3, [x7, #:lo12:.LANCHOR70] mov w0, 65535 - add x1, x7, :lo12:.LANCHOR71 + add x1, x7, :lo12:.LANCHOR70 cmp w3, w0 - beq .L4035 - adrp x0, .LANCHOR7 + beq .L4075 + adrp x0, .LANCHOR9 ldrh w5, [x1, 56] uxtw x4, w3 - ldr x2, [x0, #:lo12:.LANCHOR7] + ldr x2, [x0, #:lo12:.LANCHOR9] add x2, x2, x4, lsl 2 - cbz w5, .L3905 + cbz w5, .L3939 add x1, x1, 58 mov w0, 0 -.L3907: +.L3941: ldrh w6, [x1], 2 cmp w6, w3 - bne .L3906 -.L3911: - adrp x0, .LANCHOR71 + bne .L3940 +.L3945: + adrp x0, .LANCHOR70 mov w1, -1 - strh w1, [x0, #:lo12:.LANCHOR71] - b .L3954 -.L3906: + strh w1, [x0, #:lo12:.LANCHOR70] + b .L3988 +.L3940: add w0, w0, 1 and w0, w0, 65535 cmp w5, w0 - bne .L3907 -.L3905: + bne .L3941 +.L3939: ldrb w0, [x2, 2] and w1, w0, 224 cmp w1, 224 - beq .L3908 + beq .L3942 tst w0, 192 - bne .L3909 -.L3908: - adrp x0, .LANCHOR9 - ldr x0, [x0, #:lo12:.LANCHOR9] + bne .L3943 +.L3942: + adrp x0, .LANCHOR11 + ldr x0, [x0, #:lo12:.LANCHOR11] ldrh w0, [x0, x4, lsl 1] - cbz w0, .L3911 - mov w2, 3153 + cbz w0, .L3945 + mov w2, 3306 adrp x1, .LANCHOR237 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR237 add x0, x0, :lo12:.LC0 bl printf - b .L3911 -.L3909: + b .L3945 +.L3943: mov w0, 2 - b .L4036 -.L3844: + b .L4076 +.L3876: bl gc_scan_src_blk cmn w0, #1 - bne .L3912 + bne .L3946 mov w0, 3 - b .L4036 -.L3912: - adrp x20, .LANCHOR71 + b .L4076 +.L3946: + adrp x19, .LANCHOR70 mov w2, 65535 - add x0, x20, :lo12:.LANCHOR71 - ldrh w1, [x20, #:lo12:.LANCHOR71] + add x0, x19, :lo12:.LANCHOR70 + ldrh w1, [x19, #:lo12:.LANCHOR70] cmp w1, w2 - beq .L3858 + beq .L3890 ldrh w2, [x0, 24] - cbz w2, .L3913 + cbz w2, .L3947 mov w1, 4 strh wzr, [x0, 26] - strb w1, [x19, #:lo12:.LANCHOR159] - b .L3954 -.L3913: + strb w1, [x20, #:lo12:.LANCHOR156] + b .L3988 +.L3947: mov w0, 1 - strb w0, [x19, #:lo12:.LANCHOR159] - adrp x0, .LANCHOR9 + strb w0, [x20, #:lo12:.LANCHOR156] + adrp x0, .LANCHOR11 ubfiz x1, x1, 1, 16 - mov x19, x0 - ldr x2, [x0, #:lo12:.LANCHOR9] + mov x20, x0 + ldr x2, [x0, #:lo12:.LANCHOR11] ldrh w1, [x2, x1] - cbz w1, .L3914 + cbz w1, .L3948 adrp x1, .LANCHOR237 adrp x0, .LC0 - mov w2, 3183 + mov w2, 3336 add x1, x1, :lo12:.LANCHOR237 add x0, x0, :lo12:.LC0 bl printf -.L3914: - ldrh w0, [x20, #:lo12:.LANCHOR71] - add x21, x20, :lo12:.LANCHOR71 +.L3948: + ldrh w0, [x19, #:lo12:.LANCHOR70] + add x21, x19, :lo12:.LANCHOR70 bl ftl_free_sblk - ldr x0, [x19, #:lo12:.LANCHOR9] - ldrh w1, [x20, #:lo12:.LANCHOR71] + ldr x0, [x20, #:lo12:.LANCHOR11] + ldrh w1, [x19, #:lo12:.LANCHOR70] strh wzr, [x0, x1, lsl 1] ldrh w0, [x21, 30] add w0, w0, 1 and w0, w0, 65535 cmp w0, 8 - bhi .L3915 + bhi .L3949 strh w0, [x21, 30] - b .L3911 -.L3915: + b .L3945 +.L3949: strh wzr, [x21, 30] bl ftl_flush bl pm_flush bl ftl_ext_info_flush mov w0, 0 bl ftl_info_flush - b .L3911 -.L3845: - adrp x20, .LANCHOR71 - adrp x23, .LANCHOR95 - add x22, x20, :lo12:.LANCHOR71 - add x23, x23, :lo12:.LANCHOR95 -.L3999: + b .L3945 +.L3877: + adrp x19, .LANCHOR70 + adrp x23, .LANCHOR94 + add x22, x19, :lo12:.LANCHOR70 + add x23, x23, :lo12:.LANCHOR94 +.L4037: bl gc_scan_src_blk_one_page ldrh w1, [x22, 2] ldrh w0, [x23] cmp w1, w0 - bcs .L3917 + bcs .L3951 cmp w21, 7 - bls .L3999 - b .L3954 -.L3917: + bls .L4037 + b .L3988 +.L3951: ldrh w3, [x22, 24] ldrh w1, [x22] - cbz w3, .L3918 + cbz w3, .L3952 mov w0, 4 - strb w0, [x19, #:lo12:.LANCHOR159] - adrp x19, .LANCHOR9 + strb w0, [x20, #:lo12:.LANCHOR156] + adrp x20, .LANCHOR11 ubfiz x0, x1, 1, 16 strh wzr, [x22, 26] - ldr x2, [x19, #:lo12:.LANCHOR9] + ldr x2, [x20, #:lo12:.LANCHOR11] ldrh w2, [x2, x0] cmp w3, w2 - beq .L3919 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 10, .L3919 - adrp x0, .LC237 - add x0, x0, :lo12:.LC237 + beq .L3953 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 10, .L3953 + adrp x0, .LC240 + add x0, x0, :lo12:.LC240 bl printf -.L3919: - ldrh w2, [x20, #:lo12:.LANCHOR71] - add x0, x20, :lo12:.LANCHOR71 - ldr x1, [x19, #:lo12:.LANCHOR9] +.L3953: + ldrh w2, [x19, #:lo12:.LANCHOR70] + add x0, x19, :lo12:.LANCHOR70 + ldr x1, [x20, #:lo12:.LANCHOR11] ldrh w0, [x0, 24] ldrh w1, [x1, x2, lsl 1] cmp w1, w0 - beq .L3920 + beq .L3954 adrp x1, .LANCHOR237 adrp x0, .LC0 - mov w2, 3226 + mov w2, 3379 add x1, x1, :lo12:.LANCHOR237 add x0, x0, :lo12:.LC0 bl printf -.L3920: - add x0, x20, :lo12:.LANCHOR71 - ldrh w1, [x20, #:lo12:.LANCHOR71] +.L3954: + add x0, x19, :lo12:.LANCHOR70 + ldrh w1, [x19, #:lo12:.LANCHOR70] ldrh w2, [x0, 24] - ldr x0, [x19, #:lo12:.LANCHOR9] + ldr x0, [x20, #:lo12:.LANCHOR11] strh w2, [x0, x1, lsl 1] - b .L3954 -.L3918: - adrp x0, .LANCHOR7 - ldr x21, [x0, #:lo12:.LANCHOR7] + b .L3988 +.L3952: + adrp x0, .LANCHOR9 + ldr x21, [x0, #:lo12:.LANCHOR9] mov w0, 1 - strb w0, [x19, #:lo12:.LANCHOR159] - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] + strb w0, [x20, #:lo12:.LANCHOR156] + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] add x21, x21, x1, uxth 2 - tbz x0, 8, .L3921 + tbz x0, 8, .L3955 ldrb w2, [x21, 2] - adrp x0, .LC238 - add x0, x0, :lo12:.LC238 + adrp x0, .LC241 + add x0, x0, :lo12:.LC241 ubfx x2, x2, 5, 3 bl printf -.L3921: +.L3955: ldrb w0, [x21, 2] and w1, w0, 224 cmp w1, 224 - beq .L3922 + beq .L3956 tst w0, 192 - bne .L3923 -.L3922: + bne .L3957 +.L3956: adrp x1, .LANCHOR237 adrp x0, .LC0 - mov w2, 3236 + mov w2, 3389 add x1, x1, :lo12:.LANCHOR237 add x0, x0, :lo12:.LC0 bl printf -.L3923: - ldrh w0, [x20, #:lo12:.LANCHOR71] - add x19, x20, :lo12:.LANCHOR71 +.L3957: + ldrh w0, [x19, #:lo12:.LANCHOR70] + add x20, x19, :lo12:.LANCHOR70 bl ftl_free_sblk mov w0, -1 - strh w0, [x20, #:lo12:.LANCHOR71] - ldrh w0, [x19, 30] + strh w0, [x19, #:lo12:.LANCHOR70] + ldrh w0, [x20, 30] add w0, w0, 1 and w0, w0, 65535 cmp w0, 8 - bhi .L3924 - strh w0, [x19, 30] - b .L3954 -.L3924: - strh wzr, [x19, 30] -.L4034: + bhi .L3958 + strh w0, [x20, 30] + b .L3988 +.L3958: + strh wzr, [x20, 30] +.L4074: bl flt_sys_flush - b .L3954 -.L3846: + b .L3988 +.L3878: ldrh w1, [x26, 80] mov w0, 65535 cmp w1, w0 - bne .L3925 - adrp x0, .LANCHOR85 - ldrb w22, [x0, #:lo12:.LANCHOR85] - cmp w22, 1 - bne .L3925 + bne .L3959 + adrp x0, .LANCHOR84 + ldrb w19, [x0, #:lo12:.LANCHOR84] + cmp w19, 1 + bne .L3959 bl ftl_flush - adrp x0, .LANCHOR71 - add x1, x0, :lo12:.LANCHOR71 + adrp x0, .LANCHOR70 + add x1, x0, :lo12:.LANCHOR70 mov x20, x0 - ldrh w1, [x1, 2110] - cbz w1, .L3926 - mov w0, w22 + ldrh w1, [x1, 2192] + cbz w1, .L3960 + mov w0, w19 mov w1, 5 -.L4030: +.L4069: bl zftl_gc_get_free_sblk and w19, w0, 65535 mov w0, 65535 cmp w19, w0 - beq .L3928 - adrp x0, .LANCHOR7 - ldr x21, [x0, #:lo12:.LANCHOR7] + beq .L3962 + adrp x0, .LANCHOR9 + ldr x21, [x0, #:lo12:.LANCHOR9] add x21, x21, x19, uxth 2 ldrb w0, [x21, 2] tst w0, 224 - beq .L3929 + beq .L3963 adrp x1, .LANCHOR237 adrp x0, .LC0 - mov w2, 3270 + mov w2, 3423 add x1, x1, :lo12:.LANCHOR237 add x0, x0, :lo12:.LC0 bl printf -.L3929: +.L3963: ldrb w0, [x21, 2] mov w1, 5 bfi w0, w1, 5, 3 orr w0, w0, 16 strb w0, [x21, 2] -.L3953: +.L3987: mov w1, 1 mov w0, w19 bl ftl_erase_sblk - adrp x22, .LANCHOR86 + adrp x22, .LANCHOR85 mov w0, 5 strb w0, [x26, 84] add x1, x26, 96 mov w0, w19 bl ftl_get_blk_list_in_sblk and w0, w0, 255 - adrp x1, .LANCHOR95 - adrp x21, .LANCHOR80 + adrp x1, .LANCHOR94 + adrp x21, .LANCHOR79 strb w0, [x26, 89] - ldrh w1, [x1, #:lo12:.LANCHOR95] - ldrh w2, [x22, #:lo12:.LANCHOR86] + ldrh w1, [x1, #:lo12:.LANCHOR94] + ldrh w2, [x22, #:lo12:.LANCHOR85] strh w19, [x26, 80] strh wzr, [x26, 82] mul w0, w0, w1 strb wzr, [x26, 85] strh w0, [x26, 86] mov w1, 255 - ldrb w0, [x21, #:lo12:.LANCHOR80] + ldrb w0, [x21, #:lo12:.LANCHOR79] strh wzr, [x26, 90] mul w2, w2, w0 - adrp x0, .LANCHOR162 - ldr x0, [x0, #:lo12:.LANCHOR162] + adrp x0, .LANCHOR159 + ldr x0, [x0, #:lo12:.LANCHOR159] lsl w2, w2, 2 bl ftl_memset - ldrb w0, [x21, #:lo12:.LANCHOR80] + ldrb w0, [x21, #:lo12:.LANCHOR79] mov w1, 255 - ldrh w2, [x22, #:lo12:.LANCHOR86] + ldrh w2, [x22, #:lo12:.LANCHOR85] mul w2, w2, w0 - adrp x0, .LANCHOR163 - ldr x0, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR160 + ldr x0, [x0, #:lo12:.LANCHOR160] lsl w2, w2, 2 bl ftl_memset - ldrb w0, [x21, #:lo12:.LANCHOR80] + ldrb w0, [x21, #:lo12:.LANCHOR79] mov w1, 255 - ldrh w2, [x22, #:lo12:.LANCHOR86] + ldrh w2, [x22, #:lo12:.LANCHOR85] mul w2, w2, w0 - adrp x0, .LANCHOR83 - ldr x0, [x0, #:lo12:.LANCHOR83] + adrp x0, .LANCHOR82 + ldr x0, [x0, #:lo12:.LANCHOR82] bl ftl_memset - ldr x0, [x23, #:lo12:.LANCHOR10] + ldr x0, [x23, #:lo12:.LANCHOR12] mov w1, -1 str w19, [x0, 132] strh w1, [x0, 128] @@ -25285,106 +25925,106 @@ zftl_do_gc: mov w1, -1 ldr x0, [x0, #:lo12:.LANCHOR110] strh w19, [x0, 126] - add x0, x20, :lo12:.LANCHOR71 - str w1, [x0, 2116] + add x0, x20, :lo12:.LANCHOR70 + str w1, [x0, 2196] strh wzr, [x0, 2106] strh wzr, [x0, 56] strh wzr, [x0, 2108] - strh wzr, [x0, 2112] + strh wzr, [x0, 2194] mov w0, 0 bl ftl_info_flush - b .L3954 -.L3926: + b .L3988 +.L3960: mov w1, 5 mov w0, 0 - b .L4030 -.L3925: + b .L4069 +.L3959: cmp w25, 1 - mov w22, 4 - csinc w22, w22, wzr, eq + mov w24, 4 + csinc w24, w24, wzr, eq cmp w21, 15 - mov w0, w22 - add w22, w22, 4 - adrp x25, .LANCHOR85 - adrp x21, .LANCHOR71 - csel w22, w22, w0, ls - add x25, x25, :lo12:.LANCHOR85 - add x20, x21, :lo12:.LANCHOR71 + mov w0, w24 + add w24, w24, 4 + adrp x25, .LANCHOR84 + adrp x21, .LANCHOR70 + csel w24, w24, w0, ls + add x25, x25, :lo12:.LANCHOR84 + add x19, x21, :lo12:.LANCHOR70 add x27, x26, 80 -.L3932: - sub w22, w22, #1 - and w22, w22, 255 - cmp w22, 255 - beq .L3954 +.L3966: + sub w24, w24, #1 + and w24, w24, 255 + cmp w24, 255 + beq .L3988 bl gc_do_copy_back ldrb w0, [x25] - cbnz w0, .L3933 - adrp x0, .LANCHOR58 - ldrb w0, [x0, #:lo12:.LANCHOR58] + cbnz w0, .L3967 + adrp x0, .LANCHOR57 + ldrb w0, [x0, #:lo12:.LANCHOR57] cmp w0, 3 - bhi .L3934 + bhi .L3968 bl ftl_write_commit -.L3934: - ldrh w1, [x20, 26] - ldrh w0, [x20, 24] +.L3968: + ldrh w1, [x19, 26] + ldrh w0, [x19, 24] cmp w1, w0 - bcc .L3932 + bcc .L3966 mov w0, 1 - strb w0, [x19, #:lo12:.LANCHOR159] + strb w0, [x20, #:lo12:.LANCHOR156] bl ftl_write_commit bl ftl_flush - adrp x0, .LANCHOR9 - ldrh w2, [x20] + adrp x0, .LANCHOR11 + ldrh w2, [x19] mov x19, x0 - ldr x1, [x0, #:lo12:.LANCHOR9] + ldr x1, [x0, #:lo12:.LANCHOR11] ldrh w1, [x1, x2, lsl 1] - cbz w1, .L3936 + cbz w1, .L3970 adrp x1, .LANCHOR237 adrp x0, .LC0 - mov w2, 3354 + mov w2, 3507 add x1, x1, :lo12:.LANCHOR237 add x0, x0, :lo12:.LC0 bl printf -.L3936: - ldrh w0, [x21, #:lo12:.LANCHOR71] - ldr x2, [x19, #:lo12:.LANCHOR9] +.L3970: + ldrh w0, [x21, #:lo12:.LANCHOR70] + ldr x2, [x19, #:lo12:.LANCHOR11] ubfiz x1, x0, 1, 16 ldrh w1, [x2, x1] - cbnz w1, .L3937 + cbnz w1, .L3971 bl ftl_free_sblk - b .L3911 -.L3937: + b .L3945 +.L3971: mov w2, 1 mov w1, 0 bl gc_add_sblk - b .L3911 -.L3933: - ldrh w0, [x20, 2112] - cbz w0, .L3938 - strh wzr, [x20, 2112] + b .L3945 +.L3967: + ldrh w0, [x19, 2194] + cbz w0, .L3972 + strh wzr, [x19, 2194] bl sblk_wait_write_queue_completed bl gc_write_completed - ldr w0, [x20, 2116] - adrp x20, .LANCHOR110 + ldr w0, [x19, 2196] + adrp x19, .LANCHOR110 cmn w0, #1 - beq .L3939 + beq .L3973 adrp x1, .LANCHOR124 ldrb w1, [x1, #:lo12:.LANCHOR124] - cbnz w1, .L3940 - adrp x1, .LANCHOR81 - ldrb w1, [x1, #:lo12:.LANCHOR81] - cbz w1, .L3941 -.L3940: - ldr x1, [x20, #:lo12:.LANCHOR110] + cbnz w1, .L3974 + adrp x1, .LANCHOR80 + ldrb w1, [x1, #:lo12:.LANCHOR80] + cbz w1, .L3975 +.L3974: + ldr x1, [x19, #:lo12:.LANCHOR110] ldr w2, [x1, 156] mov w1, 20041 movk w1, 0x444b, lsl 16 cmp w2, w1 - bne .L3941 - adrp x1, .LANCHOR75 - ldrh w3, [x1, #:lo12:.LANCHOR75] - adrp x1, .LANCHOR32 - ldrb w2, [x1, #:lo12:.LANCHOR32] + bne .L3975 + adrp x1, .LANCHOR74 + ldrh w3, [x1, #:lo12:.LANCHOR74] + adrp x1, .LANCHOR31 + ldrb w2, [x1, #:lo12:.LANCHOR31] mov w1, 24 lsr w0, w0, w3 sub w1, w1, w2 @@ -25393,26 +26033,26 @@ zftl_do_gc: lsl w1, w1, w2 sub w1, w1, #1 and w0, w1, w0 - adrp x1, .LANCHOR76 - ldrb w1, [x1, #:lo12:.LANCHOR76] + adrp x1, .LANCHOR75 + ldrb w1, [x1, #:lo12:.LANCHOR75] udiv w0, w0, w1 - adrp x1, .LANCHOR7 - ldr x2, [x1, #:lo12:.LANCHOR7] + adrp x1, .LANCHOR9 + ldr x2, [x1, #:lo12:.LANCHOR9] lsl x0, x0, 2 add x4, x2, x0 ldrb w1, [x4, 2] - tbz x1, 3, .L3939 + tbz x1, 3, .L3973 adrp x5, .LANCHOR98 - ldrh w3, [x24, #:lo12:.LANCHOR103] + ldrh w3, [x22, #:lo12:.LANCHOR103] ldrh w5, [x5, #:lo12:.LANCHOR98] add w3, w3, 8 cmp w3, w5 - bge .L3939 + bge .L3973 and w1, w1, -25 strb w1, [x4, 2] - adrp x1, .LANCHOR8 + adrp x1, .LANCHOR10 ldr w3, [x2, x0] - ldrh w1, [x1, #:lo12:.LANCHOR8] + ldrh w1, [x1, #:lo12:.LANCHOR10] ldrh w4, [x2, x0] ubfx x3, x3, 11, 8 and w5, w4, 2047 @@ -25425,155 +26065,155 @@ zftl_do_gc: ldr w1, [x2, x0] bfi w1, w3, 11, 8 str w1, [x2, x0] -.L3939: - ldr x0, [x23, #:lo12:.LANCHOR10] - add x22, x21, :lo12:.LANCHOR71 +.L3973: + ldr x0, [x23, #:lo12:.LANCHOR12] + add x22, x21, :lo12:.LANCHOR70 strh wzr, [x22, 56] ldrh w0, [x0, 80] - str wzr, [x22, 2116] + str wzr, [x22, 2196] bl ftl_free_sblk - ldr x1, [x23, #:lo12:.LANCHOR10] + ldr x1, [x23, #:lo12:.LANCHOR12] mov w0, -1 - ldr x2, [x20, #:lo12:.LANCHOR110] + ldr x2, [x19, #:lo12:.LANCHOR110] strh w0, [x1, 80] strh w0, [x2, 126] strh w0, [x1, 130] ldr x0, [x22, 8] - cbz x0, .L3942 + cbz x0, .L3976 bl zbuf_free -.L3942: - add x21, x21, :lo12:.LANCHOR71 +.L3976: + add x21, x21, :lo12:.LANCHOR70 str xzr, [x21, 8] bl flt_sys_flush - mov w2, 3413 - strb wzr, [x19, #:lo12:.LANCHOR159] + mov w2, 3567 + strb wzr, [x20, #:lo12:.LANCHOR156] adrp x1, .LANCHOR237 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR237 add x0, x0, :lo12:.LC0 bl printf - b .L3954 -.L3941: + b .L3988 +.L3975: bl ftl_mask_bad_block - b .L3939 -.L3938: + b .L3973 +.L3972: ldrh w0, [x27, 6] - ldrh w1, [x20, 26] + ldrh w1, [x19, 26] cmp w0, 1 - ldrh w0, [x20, 24] - bls .L3943 + ldrh w0, [x19, 24] + bls .L3977 cmp w1, w0 - bcc .L3932 + bcc .L3966 mov w0, 1 - strb w0, [x19, #:lo12:.LANCHOR159] - ldrh w0, [x20, 56] + strb w0, [x20, #:lo12:.LANCHOR156] + ldrh w0, [x19, 56] add w1, w0, 1 - strh w1, [x20, 56] - add x0, x20, x0, sxtw 1 - ldrh w1, [x20] + strh w1, [x19, 56] + add x0, x19, x0, sxtw 1 + ldrh w1, [x19] strh w1, [x0, 58] mov w0, -1 - strh w0, [x20] - b .L3954 -.L3943: + strh w0, [x19] + b .L3988 +.L3977: mov w2, 5 - strb w2, [x19, #:lo12:.LANCHOR159] + strb w2, [x20, #:lo12:.LANCHOR156] cmp w1, w0 - bcc .L3944 - ldrh w0, [x20, 56] + bcc .L3978 + ldrh w0, [x19, 56] add w1, w0, 1 - strh w1, [x20, 56] - add x0, x20, x0, sxtw 1 - ldrh w1, [x20] + strh w1, [x19, 56] + add x0, x19, x0, sxtw 1 + ldrh w1, [x19] strh w1, [x0, 58] mov w0, -1 - strh w0, [x20] -.L3944: + strh w0, [x19] +.L3978: bl ftl_flush bl sblk_wait_write_queue_completed bl gc_write_completed - ldr x0, [x23, #:lo12:.LANCHOR10] + ldr x0, [x23, #:lo12:.LANCHOR12] ldrh w1, [x26, 80] strh w1, [x0, 128] bl pm_flush bl ftl_ext_info_flush - adrp x1, .LANCHOR95 - add x0, x21, :lo12:.LANCHOR71 - adrp x2, .LANCHOR36 - ldrh w1, [x1, #:lo12:.LANCHOR95] + adrp x1, .LANCHOR94 + add x0, x21, :lo12:.LANCHOR70 + adrp x2, .LANCHOR35 + ldrh w1, [x1, #:lo12:.LANCHOR94] strh w1, [x0, 18] - adrp x1, .LANCHOR79 - ldrb w2, [x2, #:lo12:.LANCHOR36] + adrp x1, .LANCHOR78 + ldrb w2, [x2, #:lo12:.LANCHOR35] strh wzr, [x0, 16] - ldrb w1, [x1, #:lo12:.LANCHOR79] + ldrb w1, [x1, #:lo12:.LANCHOR78] strh w1, [x0, 20] - cbz w2, .L3945 - adrp x2, .LANCHOR86 - ldrh w2, [x2, #:lo12:.LANCHOR86] + cbz w2, .L3979 + adrp x2, .LANCHOR85 + ldrh w2, [x2, #:lo12:.LANCHOR85] strh w2, [x0, 18] mov w2, 1 strh w2, [x0, 20] -.L3945: +.L3979: cmp w1, 2 - bne .L3947 - add x0, x21, :lo12:.LANCHOR71 + bne .L3981 + add x0, x21, :lo12:.LANCHOR70 ldrh w1, [x0, 18] ubfiz w1, w1, 1, 15 strh w1, [x0, 18] - adrp x1, .LANCHOR81 - ldrb w1, [x1, #:lo12:.LANCHOR81] - cbnz w1, .L3947 + adrp x1, .LANCHOR80 + ldrb w1, [x1, #:lo12:.LANCHOR80] + cbnz w1, .L3981 mov w1, 1 strh w1, [x0, 20] -.L3947: - add x21, x21, :lo12:.LANCHOR71 +.L3981: + add x21, x21, :lo12:.LANCHOR70 strh wzr, [x21, 22] - b .L3954 -.L3950: + b .L3988 +.L3984: ldrh w1, [x24, 16] ldrh w0, [x24, 18] cmp w1, w0 - bcc .L3951 + bcc .L3985 mov w0, 6 - strb w0, [x19, #:lo12:.LANCHOR159] + strb w0, [x20, #:lo12:.LANCHOR156] ldr x0, [x24, 8] bl zbuf_free str xzr, [x24, 8] - b .L3954 -.L3951: + b .L3988 +.L3985: cmp w21, 15 - bls .L3849 + bls .L3881 cmp w25, 1 - bne .L3954 + bne .L3988 add w22, w22, 1 and w22, w22, 255 cmp w22, 4 - bls .L3849 - b .L3954 -.L3848: + bls .L3881 + b .L3988 +.L3880: bl gc_update_l2p_map_new - mov w20, -1 + mov w19, -1 bl gc_free_src_blk bl ftl_flush bl pm_flush - strh w20, [x26, 80] + strh w19, [x26, 80] bl ftl_ext_info_flush adrp x0, .LANCHOR110 ldr x0, [x0, #:lo12:.LANCHOR110] - strh w20, [x0, 126] + strh w19, [x0, 126] mov w0, 0 bl ftl_info_flush -.L4035: - strb wzr, [x19, #:lo12:.LANCHOR159] - b .L3954 -.L3928: - mov w2, 3277 +.L4075: + strb wzr, [x20, #:lo12:.LANCHOR156] + b .L3988 +.L3962: + mov w2, 3430 adrp x1, .LANCHOR237 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR237 add x0, x0, :lo12:.LC0 bl printf - b .L3953 + b .L3987 .size zftl_do_gc, .-zftl_do_gc .section .text.zftl_init,"ax",@progbits .align 2 @@ -25581,84 +26221,84 @@ zftl_do_gc: .type zftl_init, %function zftl_init: stp x29, x30, [sp, -112]! - adrp x1, .LANCHOR66 + adrp x1, .LANCHOR65 mov w0, -1 add x29, sp, 0 - strb w0, [x1, #:lo12:.LANCHOR66] - adrp x1, .LANCHOR67 + strb w0, [x1, #:lo12:.LANCHOR65] + adrp x1, .LANCHOR66 stp x21, x22, [sp, 32] - adrp x22, .LANCHOR95 - strb wzr, [x1, #:lo12:.LANCHOR67] + adrp x22, .LANCHOR94 + strb wzr, [x1, #:lo12:.LANCHOR66] adrp x1, .LANCHOR133 stp x19, x20, [sp, 16] - adrp x21, .LANCHOR80 + adrp x21, .LANCHOR79 strb w0, [x1, #:lo12:.LANCHOR133] adrp x1, .LANCHOR134 stp x23, x24, [sp, 48] adrp x20, .LANCHOR221 strb wzr, [x1, #:lo12:.LANCHOR134] - adrp x1, .LANCHOR185 + adrp x1, .LANCHOR182 stp x25, x26, [sp, 64] - adrp x23, .LANCHOR6 - strb w0, [x1, #:lo12:.LANCHOR185] + adrp x23, .LANCHOR8 + strb w0, [x1, #:lo12:.LANCHOR182] adrp x0, .LANCHOR129 mov w1, -1 stp x27, x28, [sp, 80] strb wzr, [x0, #:lo12:.LANCHOR129] adrp x0, .LANCHOR238 str w1, [x0, #:lo12:.LANCHOR238] - adrp x1, .LC239 - adrp x0, .LC104 - add x1, x1, :lo12:.LC239 - add x0, x0, :lo12:.LC104 + adrp x1, .LC242 + adrp x0, .LC101 + add x1, x1, :lo12:.LC242 + add x0, x0, :lo12:.LC101 bl printf - adrp x1, .LANCHOR33 - add x1, x1, :lo12:.LANCHOR33 - adrp x0, .LANCHOR79 + adrp x1, .LANCHOR32 + add x1, x1, :lo12:.LANCHOR32 + adrp x0, .LANCHOR78 adrp x2, .LANCHOR131 adrp x3, .LANCHOR112 - adrp x4, .LANCHOR76 + adrp x4, .LANCHOR75 ldrb w7, [x1, 12] - strb w7, [x0, #:lo12:.LANCHOR79] + strb w7, [x0, #:lo12:.LANCHOR78] ldrb w0, [x1, 9] strb w0, [x2, #:lo12:.LANCHOR131] - adrp x2, .LANCHOR86 + adrp x2, .LANCHOR85 ldrh w5, [x1, 10] - strh w5, [x2, #:lo12:.LANCHOR86] - adrp x2, .LANCHOR18 + strh w5, [x2, #:lo12:.LANCHOR85] + adrp x2, .LANCHOR23 ldrh w8, [x1, 14] ubfiz w6, w0, 9, 7 - ldrb w2, [x2, #:lo12:.LANCHOR18] + ldrb w2, [x2, #:lo12:.LANCHOR23] sdiv w11, w5, w7 strb w2, [x3, #:lo12:.LANCHOR112] ldrb w3, [x1, 13] adrp x1, .LANCHOR2 - strb w3, [x4, #:lo12:.LANCHOR76] + strb w3, [x4, #:lo12:.LANCHOR75] ldrh w4, [x1, #:lo12:.LANCHOR2] adrp x1, .LANCHOR111 - strh w11, [x22, #:lo12:.LANCHOR95] + strh w11, [x22, #:lo12:.LANCHOR94] mul w2, w2, w3 strh w4, [x1, #:lo12:.LANCHOR111] - strh w8, [x23, #:lo12:.LANCHOR6] + strh w8, [x23, #:lo12:.LANCHOR8] mov w3, 1 and w2, w2, 255 strh w6, [x20, #:lo12:.LANCHOR221] - strb w2, [x21, #:lo12:.LANCHOR80] + strb w2, [x21, #:lo12:.LANCHOR79] mov w1, 0 -.L4038: +.L4078: cmp w4, w3 - bcs .L4039 + bcs .L4079 mul w10, w0, w5 - adrp x3, .LANCHOR75 + adrp x3, .LANCHOR74 sub w1, w1, #1 mov w4, 0 - strh w1, [x3, #:lo12:.LANCHOR75] + strh w1, [x3, #:lo12:.LANCHOR74] mov w1, 1 mul w3, w8, w10 lsr w12, w3, 21 -.L4040: +.L4080: cmp w12, w1 - bcs .L4041 + bcs .L4081 mov w1, 57344 sub w4, w4, #1 movk w1, 0x1c, lsl 16 @@ -25666,16 +26306,16 @@ zftl_init: adrp x28, .LANCHOR128 sub w12, w6, #1 mul w1, w2, w1 - adrp x24, .LANCHOR204 + adrp x24, .LANCHOR202 mul w11, w11, w2 adrp x27, .LANCHOR240 mul w10, w10, w2 - adrp x26, .LANCHOR155 + adrp x26, .LANCHOR152 lsl w1, w1, w4 - adrp x4, .LANCHOR68 + adrp x4, .LANCHOR67 sub w10, w10, #1 adrp x25, .LANCHOR98 - str w1, [x4, #:lo12:.LANCHOR68] + str w1, [x4, #:lo12:.LANCHOR67] adrp x4, .LANCHOR239 lsr w8, w8, 4 strh w8, [x25, #:lo12:.LANCHOR98] @@ -25689,65 +26329,65 @@ zftl_init: add w0, w12, w0, lsl 2 add w3, w3, 8 udiv w0, w0, w6 - strh w0, [x24, #:lo12:.LANCHOR204] + strh w0, [x24, #:lo12:.LANCHOR202] ubfiz w0, w0, 4, 16 sdiv w0, w0, w11 - strh w0, [x26, #:lo12:.LANCHOR155] + strh w0, [x26, #:lo12:.LANCHOR152] adrp x0, .LANCHOR101 str x0, [x29, 104] strh w3, [x0, #:lo12:.LANCHOR101] - bhi .L4042 + bhi .L4082 mov w0, 80 strh w0, [x25, #:lo12:.LANCHOR98] -.L4042: +.L4082: adrp x12, .LANCHOR126 mov w0, 2000 adrp x11, .LANCHOR125 - adrp x3, .LANCHOR152 + adrp x3, .LANCHOR149 strh w0, [x12, #:lo12:.LANCHOR126] mov w0, 50 - adrp x8, .LANCHOR153 + adrp x8, .LANCHOR150 strh w0, [x11, #:lo12:.LANCHOR125] mov w0, 256 - strh w0, [x3, #:lo12:.LANCHOR152] + strh w0, [x3, #:lo12:.LANCHOR149] mov w0, 48 - strh w0, [x8, #:lo12:.LANCHOR153] - adrp x0, .LANCHOR8 + strh w0, [x8, #:lo12:.LANCHOR150] + adrp x0, .LANCHOR10 mov w10, 32 cmp w7, 2 mov x13, x11 - strh w10, [x0, #:lo12:.LANCHOR8] + strh w10, [x0, #:lo12:.LANCHOR10] mov x7, x12 mov x14, x8 - beq .L4043 - adrp x15, .LANCHOR84 - ldrb w15, [x15, #:lo12:.LANCHOR84] - cbz w15, .L4044 -.L4043: + beq .L4083 + adrp x15, .LANCHOR83 + ldrb w15, [x15, #:lo12:.LANCHOR83] + cbz w15, .L4084 +.L4083: mov w8, 150 strh w8, [x13, #:lo12:.LANCHOR125] mov w8, 64 - strh w8, [x14, #:lo12:.LANCHOR153] + strh w8, [x14, #:lo12:.LANCHOR150] mov w8, 12 - strh w8, [x0, #:lo12:.LANCHOR8] + strh w8, [x0, #:lo12:.LANCHOR10] adrp x8, .LANCHOR0 ldrb w8, [x8, #:lo12:.LANCHOR0] - cbnz w8, .L4045 + cbnz w8, .L4085 mov w8, 4 - strh w8, [x0, #:lo12:.LANCHOR8] + strh w8, [x0, #:lo12:.LANCHOR10] mov w0, 600 strh w0, [x7, #:lo12:.LANCHOR126] mov w0, 128 - strh w0, [x3, #:lo12:.LANCHOR152] -.L4045: - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbz w0, .L4047 + strh w0, [x3, #:lo12:.LANCHOR149] +.L4085: + adrp x0, .LANCHOR36 + ldrb w0, [x0, #:lo12:.LANCHOR36] + cbz w0, .L4087 mov w0, 200 strh w0, [x13, #:lo12:.LANCHOR125] mov w0, 2000 strh w0, [x7, #:lo12:.LANCHOR126] -.L4047: +.L4087: adrp x0, .LANCHOR122 mul w2, w5, w2 mov w3, 1 @@ -25755,186 +26395,186 @@ zftl_init: adrp x0, .LANCHOR224 cmp w6, w2, lsl 2 strb w3, [x0, #:lo12:.LANCHOR224] - bge .L4049 + bge .L4089 mov w2, 2 strb w2, [x0, #:lo12:.LANCHOR224] -.L4049: - adrp x19, .LANCHOR14 - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4050 +.L4089: + adrp x19, .LANCHOR19 + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4090 str x4, [x29, 96] - adrp x0, .LC240 - add x0, x0, :lo12:.LC240 - bl printf - ldr x4, [x29, 96] -.L4050: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4051 - ldr w1, [x4, #:lo12:.LANCHOR239] - adrp x0, .LC241 - add x0, x0, :lo12:.LC241 - bl printf -.L4051: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4052 - ldr w1, [x28, #:lo12:.LANCHOR128] - adrp x0, .LC242 - add x0, x0, :lo12:.LC242 - bl printf -.L4052: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4053 - ldr w1, [x27, #:lo12:.LANCHOR240] adrp x0, .LC243 add x0, x0, :lo12:.LC243 bl printf -.L4053: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4054 - ldrh w1, [x24, #:lo12:.LANCHOR204] + ldr x4, [x29, 96] +.L4090: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4091 + ldr w1, [x4, #:lo12:.LANCHOR239] adrp x0, .LC244 add x0, x0, :lo12:.LC244 bl printf -.L4054: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4055 - ldrh w1, [x20, #:lo12:.LANCHOR221] +.L4091: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4092 + ldr w1, [x28, #:lo12:.LANCHOR128] adrp x0, .LC245 add x0, x0, :lo12:.LC245 bl printf -.L4055: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4056 - ldrh w1, [x26, #:lo12:.LANCHOR155] +.L4092: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4093 + ldr w1, [x27, #:lo12:.LANCHOR240] adrp x0, .LC246 add x0, x0, :lo12:.LC246 bl printf -.L4056: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4057 - ldrh w1, [x25, #:lo12:.LANCHOR98] +.L4093: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4094 + ldrh w1, [x24, #:lo12:.LANCHOR202] adrp x0, .LC247 add x0, x0, :lo12:.LC247 bl printf -.L4057: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4058 - ldr x0, [x29, 104] - ldrh w1, [x0, #:lo12:.LANCHOR101] +.L4094: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4095 + ldrh w1, [x20, #:lo12:.LANCHOR221] adrp x0, .LC248 add x0, x0, :lo12:.LC248 bl printf -.L4058: +.L4095: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4096 + ldrh w1, [x26, #:lo12:.LANCHOR152] + adrp x0, .LC249 + add x0, x0, :lo12:.LC249 + bl printf +.L4096: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4097 + ldrh w1, [x25, #:lo12:.LANCHOR98] + adrp x0, .LC250 + add x0, x0, :lo12:.LC250 + bl printf +.L4097: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4098 + ldr x0, [x29, 104] + ldrh w1, [x0, #:lo12:.LANCHOR101] + adrp x0, .LC251 + add x0, x0, :lo12:.LC251 + bl printf +.L4098: bl zbuf_init - adrp x25, .LANCHOR200 + adrp x25, .LANCHOR197 mov w0, 16384 bl ftl_malloc - adrp x1, .LANCHOR195 - str x0, [x1, #:lo12:.LANCHOR195] + adrp x1, .LANCHOR192 + str x0, [x1, #:lo12:.LANCHOR192] mov w0, 16384 bl ftl_malloc - str x0, [x25, #:lo12:.LANCHOR200] + str x0, [x25, #:lo12:.LANCHOR197] mov w0, 16384 bl ftl_malloc - adrp x1, .LANCHOR190 - str x0, [x1, #:lo12:.LANCHOR190] + adrp x1, .LANCHOR187 + str x0, [x1, #:lo12:.LANCHOR187] mov w0, 6 - ldrh w1, [x23, #:lo12:.LANCHOR6] + ldrh w1, [x23, #:lo12:.LANCHOR8] mul w0, w1, w0 bl ftl_malloc adrp x1, .LANCHOR4 str x0, [x1, #:lo12:.LANCHOR4] - ldrb w1, [x21, #:lo12:.LANCHOR80] - ldrh w0, [x22, #:lo12:.LANCHOR95] + ldrb w1, [x21, #:lo12:.LANCHOR79] + ldrh w0, [x22, #:lo12:.LANCHOR94] mul w0, w0, w1 lsl w0, w0, 2 bl ftl_malloc adrp x1, .LANCHOR118 - ldr x2, [x25, #:lo12:.LANCHOR200] - adrp x25, .LANCHOR10 + ldr x2, [x25, #:lo12:.LANCHOR197] + adrp x25, .LANCHOR12 str x0, [x1, #:lo12:.LANCHOR118] adrp x0, .LANCHOR117 - ldrh w1, [x22, #:lo12:.LANCHOR95] + ldrh w1, [x22, #:lo12:.LANCHOR94] str x2, [x0, #:lo12:.LANCHOR117] - ldrb w0, [x21, #:lo12:.LANCHOR80] + ldrb w0, [x21, #:lo12:.LANCHOR79] mul w1, w1, w0 lsl w0, w1, 1 - adrp x1, .LANCHOR9 + adrp x1, .LANCHOR11 add x3, x2, x0, sxtw 2 - str x3, [x1, #:lo12:.LANCHOR9] - ldrh w1, [x23, #:lo12:.LANCHOR6] + str x3, [x1, #:lo12:.LANCHOR11] + ldrh w1, [x23, #:lo12:.LANCHOR8] add w1, w0, w1, lsr 1 - ldr w0, [x19, #:lo12:.LANCHOR14] + ldr w0, [x19, #:lo12:.LANCHOR19] add x1, x2, x1, sxtw 2 - str x1, [x25, #:lo12:.LANCHOR10] - tbz x0, 12, .L4059 - adrp x0, .LC249 - add x0, x0, :lo12:.LC249 + str x1, [x25, #:lo12:.LANCHOR12] + tbz x0, 12, .L4099 + adrp x0, .LC252 + add x0, x0, :lo12:.LC252 bl printf -.L4059: - ldrh w0, [x22, #:lo12:.LANCHOR95] - ldrb w21, [x21, #:lo12:.LANCHOR80] - ldrh w1, [x23, #:lo12:.LANCHOR6] - ldrh w22, [x24, #:lo12:.LANCHOR204] +.L4099: + ldrh w0, [x22, #:lo12:.LANCHOR94] + ldrb w21, [x21, #:lo12:.LANCHOR79] + ldrh w1, [x23, #:lo12:.LANCHOR8] + ldrh w22, [x24, #:lo12:.LANCHOR202] mul w21, w0, w21 - ldr w0, [x19, #:lo12:.LANCHOR14] + ldr w0, [x19, #:lo12:.LANCHOR19] add w21, w1, w21, lsl 2 lsl w1, w1, 2 lsl w21, w21, 1 add w22, w1, w22, lsl 2 add w21, w21, 632 add w22, w22, 704 - tbz x0, 12, .L4060 + tbz x0, 12, .L4100 ldrh w3, [x20, #:lo12:.LANCHOR221] - adrp x0, .LC250 + adrp x0, .LC253 mov w2, w22 mov w1, w21 - add x0, x0, :lo12:.LC250 + add x0, x0, :lo12:.LC253 bl printf -.L4060: +.L4100: ldrh w0, [x20, #:lo12:.LANCHOR221] cmp w21, w0 - bhi .L4061 + bhi .L4101 cmp w22, w0 - bls .L4062 -.L4061: -.L4115: - b .L4115 -.L4039: + bls .L4102 +.L4101: +.L4155: + b .L4155 +.L4079: add w1, w1, 1 lsl w3, w3, 1 and w1, w1, 65535 - b .L4038 -.L4041: + b .L4078 +.L4081: add w4, w4, 1 lsl w1, w1, 1 and w4, w4, 65535 - b .L4040 -.L4044: - adrp x0, .LANCHOR36 - ldrb w0, [x0, #:lo12:.LANCHOR36] - cbz w0, .L4047 + b .L4080 +.L4084: + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbz w0, .L4087 mov w0, 1200 strh w10, [x11, #:lo12:.LANCHOR125] strh w0, [x12, #:lo12:.LANCHOR126] - strh w10, [x8, #:lo12:.LANCHOR153] - b .L4047 -.L4062: + strh w10, [x8, #:lo12:.LANCHOR150] + b .L4087 +.L4102: bl sblk_init bl ftl_info_blk_init cmn w0, #1 - beq .L4037 + beq .L4077 bl ftl_ext_info_init adrp x19, .LANCHOR110 bl gc_init mov w0, 1 bl pm_init bl lpa_rebuild_hash - ldr x0, [x25, #:lo12:.LANCHOR10] + ldr x0, [x25, #:lo12:.LANCHOR12] mov x1, 0 add x0, x0, 16 bl ftl_open_sblk_recovery - ldr x0, [x25, #:lo12:.LANCHOR10] + ldr x0, [x25, #:lo12:.LANCHOR12] add x1, x0, 16 add x0, x0, 48 bl ftl_open_sblk_recovery @@ -25942,44 +26582,44 @@ zftl_init: ldr w0, [x1, 8] add w0, w0, 16 str w0, [x1, 8] - ldr x0, [x25, #:lo12:.LANCHOR10] + ldr x0, [x25, #:lo12:.LANCHOR12] add x0, x0, 16 bl ftl_info_data_recovery - ldr x0, [x25, #:lo12:.LANCHOR10] + ldr x0, [x25, #:lo12:.LANCHOR12] add x0, x0, 48 bl ftl_info_data_recovery - ldr x0, [x25, #:lo12:.LANCHOR10] + ldr x0, [x25, #:lo12:.LANCHOR12] add x0, x0, 80 bl ftl_info_data_recovery bl gc_recovery bl pm_flush mov w0, 1 bl ftl_total_vpn_update - adrp x0, .LANCHOR198 - ldrb w0, [x0, #:lo12:.LANCHOR198] - cbz w0, .L4064 + adrp x0, .LANCHOR195 + ldrb w0, [x0, #:lo12:.LANCHOR195] + cbz w0, .L4104 ldr x1, [x19, #:lo12:.LANCHOR110] ldr w0, [x1, 68] add w0, w0, 1 str w0, [x1, 68] -.L4064: +.L4104: bl ftl_ext_info_flush mov w0, 0 bl ftl_info_flush bl print_ftl_debug_info - ldr x0, [x25, #:lo12:.LANCHOR10] + ldr x0, [x25, #:lo12:.LANCHOR12] ldrh w0, [x0, 124] - cbnz w0, .L4071 + cbnz w0, .L4111 adrp x0, .LANCHOR103 adrp x1, .LANCHOR107 ldrh w0, [x0, #:lo12:.LANCHOR103] ldrh w1, [x1, #:lo12:.LANCHOR107] add w0, w0, w1 cmp w0, 7 - ble .L4071 -.L4067: + ble .L4111 +.L4107: mov w0, 0 -.L4037: +.L4077: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -25987,35 +26627,35 @@ zftl_init: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 112 ret -.L4071: +.L4111: adrp x20, .LANCHOR103 adrp x21, .LANCHOR107 add x20, x20, :lo12:.LANCHOR103 add x21, x21, :lo12:.LANCHOR107 mov w19, 16384 -.L4068: +.L4108: mov w1, 1 mov w0, 0 bl zftl_do_gc mov w1, 1 mov w0, w1 bl zftl_do_gc - ldr x0, [x25, #:lo12:.LANCHOR10] + ldr x0, [x25, #:lo12:.LANCHOR12] ldrh w1, [x0, 124] - cbnz w1, .L4066 + cbnz w1, .L4106 ldrh w1, [x0, 80] mov w0, 65535 cmp w1, w0 - bne .L4066 + bne .L4106 ldrh w0, [x20] ldrh w1, [x21] add w0, w0, w1 cmp w0, 7 - bgt .L4067 -.L4066: + bgt .L4107 +.L4106: subs w19, w19, #1 - bne .L4068 - b .L4067 + bne .L4108 + b .L4107 .size zftl_init, .-zftl_init .section .text.rk_ftl_init,"ax",@progbits .align 2 @@ -26026,14 +26666,14 @@ rk_ftl_init: add x29, sp, 0 str x19, [sp, 16] bl nand_flash_init - cbnz w0, .L4119 + cbnz w0, .L4159 bl zftl_init -.L4119: +.L4159: mov w19, w0 bl idb_init mov w1, w19 - adrp x0, .LC251 - add x0, x0, :lo12:.LC251 + adrp x0, .LC254 + add x0, x0, :lo12:.LC254 bl printf mov w0, w19 ldr x19, [sp, 16] @@ -26049,44 +26689,44 @@ zftl_write: add x29, sp, 0 stp x19, x20, [sp, 16] mov w19, w0 - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR19 stp x21, x22, [sp, 32] stp x25, x26, [sp, 64] mov w20, w1 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] mov w21, w2 stp x23, x24, [sp, 48] mov x25, x3 stp x27, x28, [sp, 80] - tbz x0, 12, .L4122 + tbz x0, 12, .L4162 ldr w4, [x25] mov w3, w2 - adrp x0, .LC252 + adrp x0, .LC255 mov w2, w1 - add x0, x0, :lo12:.LC252 + add x0, x0, :lo12:.LC255 mov w1, w19 bl printf -.L4122: - cbnz w19, .L4123 - adrp x0, .LANCHOR68 +.L4162: + cbnz w19, .L4163 + adrp x0, .LANCHOR67 mov w19, 24576 - ldr w0, [x0, #:lo12:.LANCHOR68] -.L4124: + ldr w0, [x0, #:lo12:.LANCHOR67] +.L4164: cmp w0, w20 ccmp w0, w21, 0, hi - bcc .L4142 + bcc .L4182 add w1, w20, w21 cmp w0, w1 - bcc .L4142 + bcc .L4182 adrp x26, .LANCHOR131 add w19, w19, w20 sub w22, w21, #1 - adrp x27, .LANCHOR67 + adrp x27, .LANCHOR66 ldrb w0, [x26, #:lo12:.LANCHOR131] add w22, w22, w19 - adrp x28, .LANCHOR58 - add x27, x27, :lo12:.LANCHOR67 - add x28, x28, :lo12:.LANCHOR58 + adrp x28, .LANCHOR57 + add x27, x27, :lo12:.LANCHOR66 + add x28, x28, :lo12:.LANCHOR57 udiv w24, w19, w0 udiv w22, w22, w0 add x0, x26, :lo12:.LANCHOR131 @@ -26094,8 +26734,8 @@ zftl_write: mov w20, w24 sub w23, w22, w24 add w23, w23, 1 -.L4126: - cbnz w23, .L4135 +.L4166: + cbnz w23, .L4175 bl ftl_write_commit adrp x20, .LANCHOR103 bl ftl_flush @@ -26103,30 +26743,30 @@ zftl_write: mov w1, 1 mov w0, 0 bl zftl_do_gc - adrp x0, .LANCHOR10 - ldr x0, [x0, #:lo12:.LANCHOR10] + adrp x0, .LANCHOR12 + ldr x0, [x0, #:lo12:.LANCHOR12] ldrh w0, [x0, 124] - cbnz w0, .L4136 + cbnz w0, .L4176 ldrh w0, [x20, #:lo12:.LANCHOR103] ldrh w1, [x19, #:lo12:.LANCHOR107] add w0, w0, w1 cmp w0, 11 - bgt .L4137 -.L4136: + bgt .L4177 +.L4176: mov w1, 1 mov w0, 0 bl zftl_do_gc -.L4137: +.L4177: add x20, x20, :lo12:.LANCHOR103 add x19, x19, :lo12:.LANCHOR107 -.L4138: +.L4178: ldrh w0, [x20] ldrh w1, [x19] add w0, w0, w1 cmp w0, 7 - ble .L4139 + ble .L4179 mov w0, 0 -.L4121: +.L4161: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -26134,36 +26774,36 @@ zftl_write: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 112 ret -.L4123: +.L4163: cmp w19, 3 - bhi .L4142 + bhi .L4182 lsl w19, w19, 13 mov w0, 8192 - b .L4124 -.L4135: + b .L4164 +.L4175: ldrb w0, [x27] - cbz w0, .L4127 + cbz w0, .L4167 ldrb w0, [x28] cmp w0, 2 - bhi .L4127 + bhi .L4167 bl ftl_write_commit -.L4127: +.L4167: mov w0, 0 bl buf_alloc mov x26, x0 - cbnz x0, .L4128 + cbnz x0, .L4168 bl ftl_write_commit - b .L4126 -.L4128: + b .L4166 +.L4168: strb wzr, [x0, 57] cmp w20, w24 ldr x0, [x29, 104] ccmp w20, w22, 4, ne ldrb w0, [x0] strb w0, [x26, 56] - bne .L4131 + bne .L4171 cmp w20, w24 - bne .L4132 + bne .L4172 udiv w1, w19, w0 msub w1, w1, w0, w19 and w1, w1, 255 @@ -26172,9 +26812,9 @@ zftl_write: and w0, w0, 255 cmp w21, w0 csel w0, w21, w0, cc -.L4150: +.L4190: strb w0, [x26, 56] -.L4131: +.L4171: ldr x4, [x26, 8] mov x1, x25 ldrb w0, [x26, 57] @@ -26197,22 +26837,22 @@ zftl_write: ldrb w0, [x26, 56] ubfiz x0, x0, 9, 8 add x25, x25, x0 - b .L4126 -.L4132: + b .L4166 +.L4172: add w1, w19, w21 msub w0, w0, w20, w1 - b .L4150 -.L4139: + b .L4190 +.L4179: mov w1, 1 mov w0, 0 bl zftl_do_gc mov w1, 1 mov w0, w1 bl zftl_do_gc - b .L4138 -.L4142: + b .L4178 +.L4182: mov w0, -1 - b .L4121 + b .L4161 .size zftl_write, .-zftl_write .section .text.zftl_sys_write,"ax",@progbits .align 2 @@ -26260,12 +26900,12 @@ ftl_write: mov x20, x3 mov w22, w1 ands w21, w0, 255 - bne .L4155 + bne .L4195 mov w3, w2 mov w0, 0 mov x2, x20 bl idb_write_data -.L4155: +.L4195: mov x3, x20 mov w2, w19 mov w1, w22 @@ -26302,34 +26942,34 @@ zftl_discard: add x29, sp, 0 stp x19, x20, [sp, 16] mov w19, w1 - adrp x1, .LANCHOR68 + adrp x1, .LANCHOR67 stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] - ldr w1, [x1, #:lo12:.LANCHOR68] + ldr w1, [x1, #:lo12:.LANCHOR67] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] cmp w0, w1 ccmp w19, w1, 2, cc - bhi .L4181 + bhi .L4221 add w2, w0, w19 cmp w1, w2 - bcc .L4181 + bcc .L4221 adrp x24, .LANCHOR241 add w22, w0, 24576 - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR19 str x0, [x29, 104] ldr w1, [x24, #:lo12:.LANCHOR241] - ldr w2, [x0, #:lo12:.LANCHOR14] + ldr w2, [x0, #:lo12:.LANCHOR19] add w1, w19, w1 str w1, [x24, #:lo12:.LANCHOR241] - tbz x2, 12, .L4161 - adrp x0, .LC253 + tbz x2, 12, .L4201 + adrp x0, .LC256 mov w4, 0 mov w3, w19 mov w2, w22 - add x0, x0, :lo12:.LC253 + add x0, x0, :lo12:.LC256 bl printf -.L4161: +.L4201: adrp x23, .LANCHOR110 adrp x26, .LANCHOR131 ldr x0, [x23, #:lo12:.LANCHOR110] @@ -26341,7 +26981,7 @@ zftl_discard: ldrb w21, [x26, #:lo12:.LANCHOR131] udiv w20, w22, w21 msub w25, w20, w21, w22 - cbz w25, .L4162 + cbz w25, .L4202 sub w21, w21, w25 mov w0, w20 cmp w21, w19 @@ -26349,20 +26989,20 @@ zftl_discard: bl lpa_hash_get_ppa str w0, [x29, 120] cmn w0, #1 - bne .L4163 + bne .L4203 mov w2, 0 add x1, x29, 120 mov w0, w20 bl pm_log2phys -.L4163: +.L4203: ldr w0, [x29, 120] and w28, w21, 65535 cmn w0, #1 - beq .L4165 + beq .L4205 mov w0, 0 bl buf_alloc mov x3, x0 - cbz x0, .L4165 + cbz x0, .L4205 strb w25, [x0, 57] ubfiz x25, x25, 9, 25 strb w21, [x0, 56] @@ -26381,53 +27021,53 @@ zftl_discard: ldr w0, [x1, 76] add w0, w0, 1 str w0, [x1, 76] -.L4165: +.L4205: add w20, w20, 1 sub w19, w19, w28 -.L4162: - cbz w19, .L4167 +.L4202: + cbz w19, .L4207 bl ftl_flush -.L4167: - adrp x25, .LANCHOR75 +.L4207: + adrp x25, .LANCHOR74 add x21, x26, :lo12:.LANCHOR131 - add x25, x25, :lo12:.LANCHOR75 + add x25, x25, :lo12:.LANCHOR74 mov w0, -1 str w0, [x29, 124] -.L4168: +.L4208: ldrb w0, [x21] cmp w19, w0 - bcs .L4173 - cbz w19, .L4175 + bcs .L4213 + cbz w19, .L4215 mov w0, w20 bl lpa_hash_get_ppa str w0, [x29, 120] cmn w0, #1 - bne .L4176 + bne .L4216 mov w2, 0 add x1, x29, 120 mov w0, w20 bl pm_log2phys -.L4176: +.L4216: ldr w0, [x29, 120] cmn w0, #1 - beq .L4175 + beq .L4215 mov w0, 0 bl buf_alloc mov x21, x0 - cbz x0, .L4175 + cbz x0, .L4215 strb wzr, [x0, 57] strb w19, [x0, 56] stp w27, w20, [x21, 32] ldrb w0, [x26, #:lo12:.LANCHOR131] cmp w19, w0 - bcc .L4178 + bcc .L4218 adrp x1, .LANCHOR242 adrp x0, .LC0 - mov w2, 1477 + mov w2, 1493 add x1, x1, :lo12:.LANCHOR242 add x0, x0, :lo12:.LC0 bl printf -.L4178: +.L4218: ldr x0, [x21, 8] lsl w2, w19, 9 mov w1, 0 @@ -26439,38 +27079,38 @@ zftl_discard: ldr w0, [x1, 76] add w0, w0, 1 str w0, [x1, 76] -.L4175: +.L4215: ldr w1, [x24, #:lo12:.LANCHOR241] cmp w1, 8192 - bls .L4182 + bls .L4222 ldr x0, [x29, 104] - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L4179 - adrp x0, .LC253 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L4219 + adrp x0, .LC256 mov w4, 0 mov w3, w19 mov w2, w22 - add x0, x0, :lo12:.LC253 + add x0, x0, :lo12:.LC256 bl printf -.L4179: +.L4219: str wzr, [x24, #:lo12:.LANCHOR241] bl flt_sys_flush adrp x0, .LANCHOR122 mov w1, 1 str w1, [x0, #:lo12:.LANCHOR122] -.L4182: +.L4222: mov w0, 0 - b .L4159 -.L4173: + b .L4199 +.L4213: mov w0, w20 bl lpa_hash_get_ppa str w0, [x29, 120] cmn w0, #1 - beq .L4169 + beq .L4209 mov w0, 0 bl buf_alloc mov x28, x0 - cbz x0, .L4171 + cbz x0, .L4211 ldrb w2, [x21] mov w1, 0 strb w2, [x0, 56] @@ -26482,31 +27122,31 @@ zftl_discard: mov x0, x28 bl ftl_write_buf bl ftl_write_commit -.L4208: +.L4248: ldr x1, [x23, #:lo12:.LANCHOR110] ldr w0, [x1, 76] add w0, w0, 1 str w0, [x1, 76] -.L4171: +.L4211: ldrb w0, [x21] add w20, w20, 1 sub w19, w19, w0 - b .L4168 -.L4169: + b .L4208 +.L4209: mov w2, 0 add x1, x29, 120 mov w0, w20 bl pm_log2phys ldr w0, [x29, 120] cmn w0, #1 - beq .L4171 + beq .L4211 add x1, x29, 124 mov w2, 1 mov w0, w20 bl pm_log2phys - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 ldrh w2, [x25] - ldrb w1, [x0, #:lo12:.LANCHOR32] + ldrb w1, [x0, #:lo12:.LANCHOR31] mov w0, 24 sub w0, w0, w1 sub w1, w0, w2 @@ -26516,14 +27156,14 @@ zftl_discard: sub w0, w0, #1 lsr w1, w1, w2 and w0, w0, w1 - adrp x1, .LANCHOR76 - ldrb w1, [x1, #:lo12:.LANCHOR76] + adrp x1, .LANCHOR75 + ldrb w1, [x1, #:lo12:.LANCHOR75] udiv w0, w0, w1 bl ftl_vpn_decrement - b .L4208 -.L4181: + b .L4248 +.L4221: mov w0, -1 -.L4159: +.L4199: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -26548,47 +27188,47 @@ ftl_discard: dump_pm_blk: stp x29, x30, [sp, -48]! mov w2, 4 - adrp x0, .LC254 - add x0, x0, :lo12:.LC254 + adrp x0, .LC257 + add x0, x0, :lo12:.LC257 add x29, sp, 0 stp x19, x20, [sp, 16] adrp x20, .LANCHOR110 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR155 + adrp x21, .LANCHOR152 ldr x1, [x20, #:lo12:.LANCHOR110] mov w19, 0 mov w22, 65535 add x1, x1, 704 ldrh w3, [x1, -6] bl rknand_print_hex - ldrh w3, [x21, #:lo12:.LANCHOR155] - add x21, x21, :lo12:.LANCHOR155 + ldrh w3, [x21, #:lo12:.LANCHOR152] + add x21, x21, :lo12:.LANCHOR152 ldr x1, [x20, #:lo12:.LANCHOR110] mov w2, 2 - adrp x0, .LC255 - add x0, x0, :lo12:.LC255 + adrp x0, .LC258 + add x0, x0, :lo12:.LC258 add x1, x1, 416 bl rknand_print_hex -.L4211: +.L4251: ldrh w0, [x21] cmp w0, w19 - bhi .L4213 + bhi .L4253 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 48 ret -.L4213: +.L4253: ldr x0, [x20, #:lo12:.LANCHOR110] add x0, x0, x19, sxtw 1 ldrh w0, [x0, 416] cmp w0, w22 - beq .L4212 + beq .L4252 mov x1, 0 bl ftl_sblk_dump -.L4212: +.L4252: add w19, w19, 1 and w19, w19, 65535 - b .L4211 + b .L4251 .size dump_pm_blk, .-dump_pm_blk .global g_pm_spare .global pm_first_write @@ -26756,21 +27396,21 @@ dump_pm_blk: .global g_flash_page_buffer .section .bss.IDByte,"aw",@nobits .align 2 - .set .LANCHOR48,. + 0 + .set .LANCHOR47,. + 0 .type IDByte, %object .size IDByte, 32 IDByte: .zero 32 .section .bss._c_ftl_blk_pre_plane,"aw",@nobits .align 1 - .set .LANCHOR6,. + 0 + .set .LANCHOR8,. + 0 .type _c_ftl_blk_pre_plane, %object .size _c_ftl_blk_pre_plane, 2 _c_ftl_blk_pre_plane: .zero 2 .section .bss._c_ftl_block_addr_log2,"aw",@nobits .align 1 - .set .LANCHOR75,. + 0 + .set .LANCHOR74,. + 0 .type _c_ftl_block_addr_log2, %object .size _c_ftl_block_addr_log2, 2 _c_ftl_block_addr_log2: @@ -26790,7 +27430,7 @@ _c_ftl_block_align_addr: _c_ftl_byte_pre_page: .zero 2 .section .bss._c_ftl_cs_bits,"aw",@nobits - .set .LANCHOR32,. + 0 + .set .LANCHOR31,. + 0 .type _c_ftl_cs_bits, %object .size _c_ftl_cs_bits, 1 _c_ftl_cs_bits: @@ -26808,40 +27448,40 @@ _c_ftl_nand_blks_per_die: _c_ftl_nand_die_num: .zero 1 .section .bss._c_ftl_nand_planes_num,"aw",@nobits - .set .LANCHOR80,. + 0 + .set .LANCHOR79,. + 0 .type _c_ftl_nand_planes_num, %object .size _c_ftl_nand_planes_num, 1 _c_ftl_nand_planes_num: .zero 1 .section .bss._c_ftl_nand_type,"aw",@nobits - .set .LANCHOR79,. + 0 + .set .LANCHOR78,. + 0 .type _c_ftl_nand_type, %object .size _c_ftl_nand_type, 1 _c_ftl_nand_type: .zero 1 .section .bss._c_ftl_page_pre_blk,"aw",@nobits .align 1 - .set .LANCHOR86,. + 0 + .set .LANCHOR85,. + 0 .type _c_ftl_page_pre_blk, %object .size _c_ftl_page_pre_blk, 2 _c_ftl_page_pre_blk: .zero 2 .section .bss._c_ftl_page_pre_slc_blk,"aw",@nobits .align 1 - .set .LANCHOR95,. + 0 + .set .LANCHOR94,. + 0 .type _c_ftl_page_pre_slc_blk, %object .size _c_ftl_page_pre_slc_blk, 2 _c_ftl_page_pre_slc_blk: .zero 2 .section .bss._c_ftl_planes_per_die,"aw",@nobits - .set .LANCHOR76,. + 0 + .set .LANCHOR75,. + 0 .type _c_ftl_planes_per_die, %object .size _c_ftl_planes_per_die, 1 _c_ftl_planes_per_die: .zero 1 .section .bss._c_ftl_pm_page_num,"aw",@nobits .align 1 - .set .LANCHOR204,. + 0 + .set .LANCHOR202,. + 0 .type _c_ftl_pm_page_num, %object .size _c_ftl_pm_page_num, 2 _c_ftl_pm_page_num: @@ -26854,7 +27494,7 @@ _c_ftl_sec_per_page: .zero 1 .section .bss._c_max_pm_sblk,"aw",@nobits .align 1 - .set .LANCHOR155,. + 0 + .set .LANCHOR152,. + 0 .type _c_max_pm_sblk, %object .size _c_max_pm_sblk, 2 _c_max_pm_sblk: @@ -26875,21 +27515,21 @@ _c_mix_max_xlc_ec_count: .zero 2 .section .bss._c_slc_to_xlc_ec_ratio,"aw",@nobits .align 1 - .set .LANCHOR8,. + 0 + .set .LANCHOR10,. + 0 .type _c_slc_to_xlc_ec_ratio, %object .size _c_slc_to_xlc_ec_ratio, 2 _c_slc_to_xlc_ec_ratio: .zero 2 .section .bss._c_swl_slc_gc_th,"aw",@nobits .align 1 - .set .LANCHOR152,. + 0 + .set .LANCHOR149,. + 0 .type _c_swl_slc_gc_th, %object .size _c_swl_slc_gc_th, 2 _c_swl_slc_gc_th: .zero 2 .section .bss._c_swl_xlc_gc_th,"aw",@nobits .align 1 - .set .LANCHOR153,. + 0 + .set .LANCHOR150,. + 0 .type _c_swl_xlc_gc_th, %object .size _c_swl_xlc_gc_th, 2 _c_swl_xlc_gc_th: @@ -26917,7 +27557,7 @@ _c_totle_phy_density: .zero 4 .section .bss._c_user_data_density,"aw",@nobits .align 2 - .set .LANCHOR68,. + 0 + .set .LANCHOR67,. + 0 .type _c_user_data_density, %object .size _c_user_data_density, 4 _c_user_data_density: @@ -26970,27 +27610,27 @@ discard_sector_count: .zero 4 .section .bss.fill_spare_size,"aw",@nobits .align 1 - .set .LANCHOR54,. + 0 + .set .LANCHOR53,. + 0 .type fill_spare_size, %object .size fill_spare_size, 2 fill_spare_size: .zero 2 .section .bss.flash_ddr_tuning_sdr_read_count,"aw",@nobits .align 2 - .set .LANCHOR172,. + 0 + .set .LANCHOR169,. + 0 .type flash_ddr_tuning_sdr_read_count, %object .size flash_ddr_tuning_sdr_read_count, 4 flash_ddr_tuning_sdr_read_count: .zero 4 .section .bss.flash_read_retry,"aw",@nobits .align 3 - .set .LANCHOR174,. + 0 + .set .LANCHOR171,. + 0 .type flash_read_retry, %object .size flash_read_retry, 8 flash_read_retry: .zero 8 .section .bss.free_buf_count,"aw",@nobits - .set .LANCHOR58,. + 0 + .set .LANCHOR57,. + 0 .type free_buf_count, %object .size free_buf_count, 1 free_buf_count: @@ -27018,13 +27658,13 @@ free_xlc_sblk: .zero 2 .section .bss.ftl_ext_info_data_buffer,"aw",@nobits .align 3 - .set .LANCHOR200,. + 0 + .set .LANCHOR197,. + 0 .type ftl_ext_info_data_buffer, %object .size ftl_ext_info_data_buffer, 8 ftl_ext_info_data_buffer: .zero 8 .section .bss.ftl_ext_info_first_write,"aw",@nobits - .set .LANCHOR199,. + 0 + .set .LANCHOR196,. + 0 .type ftl_ext_info_first_write, %object .size ftl_ext_info_first_write, 1 ftl_ext_info_first_write: @@ -27038,27 +27678,27 @@ ftl_flush_jiffies: .zero 4 .section .bss.ftl_info_data_buffer,"aw",@nobits .align 3 - .set .LANCHOR195,. + 0 + .set .LANCHOR192,. + 0 .type ftl_info_data_buffer, %object .size ftl_info_data_buffer, 8 ftl_info_data_buffer: .zero 8 .section .bss.ftl_info_spare,"aw",@nobits .align 6 - .set .LANCHOR193,. + 0 + .set .LANCHOR190,. + 0 .type ftl_info_spare, %object .size ftl_info_spare, 256 ftl_info_spare: .zero 256 .section .bss.ftl_low_format_cur_blk,"aw",@nobits .align 1 - .set .LANCHOR69,. + 0 + .set .LANCHOR68,. + 0 .type ftl_low_format_cur_blk, %object .size ftl_low_format_cur_blk, 2 ftl_low_format_cur_blk: .zero 2 .section .bss.ftl_power_lost_flag,"aw",@nobits - .set .LANCHOR198,. + 0 + .set .LANCHOR195,. + 0 .type ftl_power_lost_flag, %object .size ftl_power_lost_flag, 1 ftl_power_lost_flag: @@ -27072,7 +27712,7 @@ ftl_sblk_lpa_tbl: .zero 8 .section .bss.ftl_sblk_update_list,"aw",@nobits .align 3 - .set .LANCHOR74,. + 0 + .set .LANCHOR73,. + 0 .type ftl_sblk_update_list, %object .size ftl_sblk_update_list, 16 ftl_sblk_update_list: @@ -27086,34 +27726,34 @@ ftl_sblk_update_list_offset: .zero 2 .section .bss.ftl_sblk_vpn,"aw",@nobits .align 3 - .set .LANCHOR9,. + 0 + .set .LANCHOR11,. + 0 .type ftl_sblk_vpn, %object .size ftl_sblk_vpn, 8 ftl_sblk_vpn: .zero 8 .section .bss.ftl_sblk_vpn_update_id,"aw",@nobits .align 1 - .set .LANCHOR73,. + 0 + .set .LANCHOR72,. + 0 .type ftl_sblk_vpn_update_id, %object .size ftl_sblk_vpn_update_id, 2 ftl_sblk_vpn_update_id: .zero 2 .section .bss.ftl_sys_info_first_write,"aw",@nobits - .set .LANCHOR197,. + 0 + .set .LANCHOR194,. + 0 .type ftl_sys_info_first_write, %object .size ftl_sys_info_first_write, 1 ftl_sys_info_first_write: .zero 1 .section .bss.ftl_tmp_buffer,"aw",@nobits .align 3 - .set .LANCHOR190,. + 0 + .set .LANCHOR187,. + 0 .type ftl_tmp_buffer, %object .size ftl_tmp_buffer, 8 ftl_tmp_buffer: .zero 8 .section .bss.ftl_tmp_spare,"aw",@nobits .align 6 - .set .LANCHOR191,. + 0 + .set .LANCHOR188,. + 0 .type ftl_tmp_spare, %object .size ftl_tmp_spare, 256 ftl_tmp_spare: @@ -27134,33 +27774,33 @@ g_block_align_addr: .zero 2 .section .bss.g_buf,"aw",@nobits .align 3 - .set .LANCHOR56,. + 0 + .set .LANCHOR55,. + 0 .type g_buf, %object .size g_buf, 2048 g_buf: .zero 2048 .section .bss.g_die_addr,"aw",@nobits .align 2 - .set .LANCHOR148,. + 0 + .set .LANCHOR145,. + 0 .type g_die_addr, %object .size g_die_addr, 32 g_die_addr: .zero 32 .section .bss.g_die_cs_idx,"aw",@nobits .align 2 - .set .LANCHOR30,. + 0 + .set .LANCHOR29,. + 0 .type g_die_cs_idx, %object .size g_die_cs_idx, 8 g_die_cs_idx: .zero 8 .section .bss.g_flash_3d_mlc_flag,"aw",@nobits - .set .LANCHOR81,. + 0 + .set .LANCHOR80,. + 0 .type g_flash_3d_mlc_flag, %object .size g_flash_3d_mlc_flag, 1 g_flash_3d_mlc_flag: .zero 1 .section .bss.g_flash_3d_tlc_flag,"aw",@nobits - .set .LANCHOR84,. + 0 + .set .LANCHOR83,. + 0 .type g_flash_3d_tlc_flag, %object .size g_flash_3d_tlc_flag, 1 g_flash_3d_tlc_flag: @@ -27174,13 +27814,13 @@ g_flash_blk_info: .zero 4 .section .bss.g_flash_cur_mode,"aw",@nobits .align 3 - .set .LANCHOR34,. + 0 + .set .LANCHOR33,. + 0 .type g_flash_cur_mode, %object .size g_flash_cur_mode, 4 g_flash_cur_mode: .zero 4 .section .bss.g_flash_interface_mode,"aw",@nobits - .set .LANCHOR49,. + 0 + .set .LANCHOR48,. + 0 .type g_flash_interface_mode, %object .size g_flash_interface_mode, 1 g_flash_interface_mode: @@ -27198,26 +27838,26 @@ g_flash_micron_3d_tlc_b05a: g_flash_micron_3d_tlc_b16a: .zero 1 .section .bss.g_flash_micron_3d_tlc_flag,"aw",@nobits - .set .LANCHOR36,. + 0 + .set .LANCHOR35,. + 0 .type g_flash_micron_3d_tlc_flag, %object .size g_flash_micron_3d_tlc_flag, 1 g_flash_micron_3d_tlc_flag: .zero 1 .section .bss.g_flash_multi_page_prog_en,"aw",@nobits - .set .LANCHOR45,. + 0 + .set .LANCHOR44,. + 0 .type g_flash_multi_page_prog_en, %object .size g_flash_multi_page_prog_en, 1 g_flash_multi_page_prog_en: .zero 1 .section .bss.g_flash_multi_page_read_en,"aw",@nobits - .set .LANCHOR186,. + 0 + .set .LANCHOR183,. + 0 .type g_flash_multi_page_read_en, %object .size g_flash_multi_page_read_en, 1 g_flash_multi_page_read_en: .zero 1 .section .bss.g_flash_page_buffer,"aw",@nobits .align 3 - .set .LANCHOR176,. + 0 + .set .LANCHOR173,. + 0 .type g_flash_page_buffer, %object .size g_flash_page_buffer, 8 g_flash_page_buffer: @@ -27229,7 +27869,7 @@ g_flash_page_buffer: g_flash_reversd_blks: .zero 1 .section .bss.g_flash_six_addr,"aw",@nobits - .set .LANCHOR31,. + 0 + .set .LANCHOR30,. + 0 .type g_flash_six_addr, %object .size g_flash_six_addr, 1 g_flash_six_addr: @@ -27242,7 +27882,7 @@ g_flash_slc_mode: .zero 1 .section .bss.g_flash_spare_buffer,"aw",@nobits .align 3 - .set .LANCHOR175,. + 0 + .set .LANCHOR172,. + 0 .type g_flash_spare_buffer, %object .size g_flash_spare_buffer, 8 g_flash_spare_buffer: @@ -27256,52 +27896,52 @@ g_flash_sys_spare_buffer: .zero 8 .section .bss.g_flash_tmp_page_buffer,"aw",@nobits .align 3 - .set .LANCHOR166,. + 0 + .set .LANCHOR163,. + 0 .type g_flash_tmp_page_buffer, %object .size g_flash_tmp_page_buffer, 8 g_flash_tmp_page_buffer: .zero 8 .section .bss.g_flash_tmp_spare_buffer,"aw",@nobits .align 3 - .set .LANCHOR168,. + 0 + .set .LANCHOR165,. + 0 .type g_flash_tmp_spare_buffer, %object .size g_flash_tmp_spare_buffer, 8 g_flash_tmp_spare_buffer: .zero 8 .section .bss.g_flash_toggle_mode_en,"aw",@nobits - .set .LANCHOR21,. + 0 + .set .LANCHOR26,. + 0 .type g_flash_toggle_mode_en, %object .size g_flash_toggle_mode_en, 1 g_flash_toggle_mode_en: .zero 1 .section .bss.g_flash_ymtc_3d_tlc_flag,"aw",@nobits - .set .LANCHOR37,. + 0 + .set .LANCHOR36,. + 0 .type g_flash_ymtc_3d_tlc_flag, %object .size g_flash_ymtc_3d_tlc_flag, 1 g_flash_ymtc_3d_tlc_flag: .zero 1 .section .bss.g_ftl_info_blk,"aw",@nobits .align 6 - .set .LANCHOR194,. + 0 + .set .LANCHOR191,. + 0 .type g_ftl_info_blk, %object .size g_ftl_info_blk, 4 g_ftl_info_blk: .zero 4 .section .bss.g_gc_info,"aw",@nobits .align 3 - .set .LANCHOR71,. + 0 + .set .LANCHOR70,. + 0 .type g_gc_info, %object - .size g_gc_info, 2136 + .size g_gc_info, 2216 g_gc_info: - .zero 2136 + .zero 2216 .section .bss.g_idb_ecc_bits,"aw",@nobits - .set .LANCHOR17,. + 0 + .set .LANCHOR22,. + 0 .type g_idb_ecc_bits, %object .size g_idb_ecc_bits, 1 g_idb_ecc_bits: .zero 1 .section .bss.g_idb_slc_mode_enable,"aw",@nobits - .set .LANCHOR19,. + 0 + .set .LANCHOR24,. + 0 .type g_idb_slc_mode_enable, %object .size g_idb_slc_mode_enable, 1 g_idb_slc_mode_enable: @@ -27314,64 +27954,64 @@ g_idb_slc_mode_enable: g_lsb_page_tbl: .zero 1024 .section .bss.g_maxRegNum,"aw",@nobits - .set .LANCHOR26,. + 0 + .set .LANCHOR18,. + 0 .type g_maxRegNum, %object .size g_maxRegNum, 1 g_maxRegNum: .zero 1 .section .bss.g_maxRetryCount,"aw",@nobits - .set .LANCHOR169,. + 0 + .set .LANCHOR166,. + 0 .type g_maxRetryCount, %object .size g_maxRetryCount, 1 g_maxRetryCount: .zero 1 .section .bss.g_msb_page_tbl,"aw",@nobits .align 2 - .set .LANCHOR145,. + 0 + .set .LANCHOR142,. + 0 .type g_msb_page_tbl, %object .size g_msb_page_tbl, 2048 g_msb_page_tbl: .zero 2048 .section .bss.g_nand_max_die,"aw",@nobits - .set .LANCHOR18,. + 0 + .set .LANCHOR23,. + 0 .type g_nand_max_die, %object .size g_nand_max_die, 1 g_nand_max_die: .zero 1 .section .bss.g_nand_opt_para,"aw",@nobits .align 3 - .set .LANCHOR20,. + 0 + .set .LANCHOR25,. + 0 .type g_nand_opt_para, %object .size g_nand_opt_para, 32 g_nand_opt_para: .zero 32 .section .bss.g_nandc_ecc_bits,"aw",@nobits - .set .LANCHOR50,. + 0 + .set .LANCHOR49,. + 0 .type g_nandc_ecc_bits, %object .size g_nandc_ecc_bits, 1 g_nandc_ecc_bits: .zero 1 .section .bss.g_nandc_tran_timeout,"aw",@nobits - .set .LANCHOR167,. + 0 + .set .LANCHOR164,. + 0 .type g_nandc_tran_timeout, %object .size g_nandc_tran_timeout, 1 g_nandc_tran_timeout: .zero 1 .section .bss.g_nandc_v6_master_info,"aw",@nobits .align 3 - .set .LANCHOR53,. + 0 + .set .LANCHOR52,. + 0 .type g_nandc_v6_master_info, %object .size g_nandc_v6_master_info, 40 g_nandc_v6_master_info: .zero 40 .section .bss.g_nandc_ver,"aw",@nobits - .set .LANCHOR28,. + 0 + .set .LANCHOR27,. + 0 .type g_nandc_ver, %object .size g_nandc_ver, 1 g_nandc_ver: .zero 1 .section .bss.g_one_pass_program,"aw",@nobits - .set .LANCHOR82,. + 0 + .set .LANCHOR81,. + 0 .type g_one_pass_program, %object .size g_one_pass_program, 1 g_one_pass_program: @@ -27384,7 +28024,7 @@ g_one_pass_program: g_pm_spare: .zero 8 .section .bss.g_retryMode,"aw",@nobits - .set .LANCHOR24,. + 0 + .set .LANCHOR16,. + 0 .type g_retryMode, %object .size g_retryMode, 1 g_retryMode: @@ -27402,103 +28042,103 @@ g_slc_mode_enable: .zero 1 .section .bss.g_slc_page_num,"aw",@nobits .align 1 - .set .LANCHOR147,. + 0 + .set .LANCHOR144,. + 0 .type g_slc_page_num, %object .size g_slc_page_num, 2 g_slc_page_num: .zero 2 .section .bss.g_totle_phy_block,"aw",@nobits .align 1 - .set .LANCHOR149,. + 0 + .set .LANCHOR146,. + 0 .type g_totle_phy_block, %object .size g_totle_phy_block, 2 g_totle_phy_block: .zero 2 .section .bss.gc_des_ppa_tbl,"aw",@nobits .align 3 - .set .LANCHOR164,. + 0 + .set .LANCHOR161,. + 0 .type gc_des_ppa_tbl, %object .size gc_des_ppa_tbl, 8 gc_des_ppa_tbl: .zero 8 .section .bss.gc_free_slc_sblk_th,"aw",@nobits .align 1 - .set .LANCHOR87,. + 0 + .set .LANCHOR86,. + 0 .type gc_free_slc_sblk_th, %object .size gc_free_slc_sblk_th, 2 gc_free_slc_sblk_th: .zero 2 .section .bss.gc_lpa_tbl,"aw",@nobits .align 3 - .set .LANCHOR162,. + 0 + .set .LANCHOR159,. + 0 .type gc_lpa_tbl, %object .size gc_lpa_tbl, 8 gc_lpa_tbl: .zero 8 .section .bss.gc_mode,"aw",@nobits - .set .LANCHOR85,. + 0 + .set .LANCHOR84,. + 0 .type gc_mode, %object .size gc_mode, 1 gc_mode: .zero 1 .section .bss.gc_page_buf_id,"aw",@nobits .align 3 - .set .LANCHOR83,. + 0 + .set .LANCHOR82,. + 0 .type gc_page_buf_id, %object .size gc_page_buf_id, 8 gc_page_buf_id: .zero 8 .section .bss.gc_pre_ppa_tbl,"aw",@nobits .align 3 - .set .LANCHOR163,. + 0 + .set .LANCHOR160,. + 0 .type gc_pre_ppa_tbl, %object .size gc_pre_ppa_tbl, 8 gc_pre_ppa_tbl: .zero 8 .section .bss.gc_search_count,"aw",@nobits .align 2 - .set .LANCHOR160,. + 0 + .set .LANCHOR157,. + 0 .type gc_search_count, %object .size gc_search_count, 4 gc_search_count: .zero 4 .section .bss.gc_slc_cache_index,"aw",@nobits .align 1 - .set .LANCHOR91,. + 0 + .set .LANCHOR88,. + 0 .type gc_slc_cache_index, %object .size gc_slc_cache_index, 2 gc_slc_cache_index: .zero 2 .section .bss.gc_slc_data_index,"aw",@nobits .align 1 - .set .LANCHOR90,. + 0 + .set .LANCHOR87,. + 0 .type gc_slc_data_index, %object .size gc_slc_data_index, 2 gc_slc_data_index: .zero 2 .section .bss.gc_slc_mode_slc_vpn_th,"aw",@nobits .align 1 - .set .LANCHOR161,. + 0 + .set .LANCHOR158,. + 0 .type gc_slc_mode_slc_vpn_th, %object .size gc_slc_mode_slc_vpn_th, 2 gc_slc_mode_slc_vpn_th: .zero 2 .section .bss.gc_slc_mode_tlc_vpn_th,"aw",@nobits .align 1 - .set .LANCHOR94,. + 0 + .set .LANCHOR93,. + 0 .type gc_slc_mode_tlc_vpn_th, %object .size gc_slc_mode_tlc_vpn_th, 2 gc_slc_mode_tlc_vpn_th: .zero 2 .section .bss.gc_slc_mode_vpn_th,"aw",@nobits .align 1 - .set .LANCHOR70,. + 0 + .set .LANCHOR69,. + 0 .type gc_slc_mode_vpn_th, %object .size gc_slc_mode_vpn_th, 2 gc_slc_mode_vpn_th: .zero 2 .section .bss.gc_state,"aw",@nobits - .set .LANCHOR159,. + 0 + .set .LANCHOR156,. + 0 .type gc_state, %object .size gc_state, 1 gc_state: @@ -27519,14 +28159,14 @@ gc_tlc_mode_tlc_vpn_th: .zero 2 .section .bss.gc_valid_page_ppa,"aw",@nobits .align 3 - .set .LANCHOR77,. + 0 + .set .LANCHOR76,. + 0 .type gc_valid_page_ppa, %object .size gc_valid_page_ppa, 8 gc_valid_page_ppa: .zero 8 .section .bss.gc_xlc_data_index,"aw",@nobits .align 1 - .set .LANCHOR92,. + 0 + .set .LANCHOR89,. + 0 .type gc_xlc_data_index, %object .size gc_xlc_data_index, 2 gc_xlc_data_index: @@ -27540,42 +28180,42 @@ gc_xlc_search_index: .zero 2 .section .bss.gp_blk_info,"aw",@nobits .align 3 - .set .LANCHOR7,. + 0 + .set .LANCHOR9,. + 0 .type gp_blk_info, %object .size gp_blk_info, 8 gp_blk_info: .zero 8 .section .bss.gp_data_slc_cache_head,"aw",@nobits .align 3 - .set .LANCHOR89,. + 0 + .set .LANCHOR90,. + 0 .type gp_data_slc_cache_head, %object .size gp_data_slc_cache_head, 8 gp_data_slc_cache_head: .zero 8 .section .bss.gp_data_slc_data_head,"aw",@nobits .align 3 - .set .LANCHOR12,. + 0 + .set .LANCHOR95,. + 0 .type gp_data_slc_data_head, %object .size gp_data_slc_data_head, 8 gp_data_slc_data_head: .zero 8 .section .bss.gp_data_xlc_data_head,"aw",@nobits .align 3 - .set .LANCHOR88,. + 0 + .set .LANCHOR92,. + 0 .type gp_data_xlc_data_head, %object .size gp_data_xlc_data_head, 8 gp_data_xlc_data_head: .zero 8 .section .bss.gp_flash_check_buf,"aw",@nobits .align 3 - .set .LANCHOR144,. + 0 + .set .LANCHOR141,. + 0 .type gp_flash_check_buf, %object .size gp_flash_check_buf, 8 gp_flash_check_buf: .zero 8 .section .bss.gp_flash_info,"aw",@nobits .align 3 - .set .LANCHOR27,. + 0 + .set .LANCHOR6,. + 0 .type gp_flash_info, %object .size gp_flash_info, 8 gp_flash_info: @@ -27603,7 +28243,7 @@ gp_free_xlc_head: .zero 8 .section .bss.gp_ftl_ext_info,"aw",@nobits .align 3 - .set .LANCHOR10,. + 0 + .set .LANCHOR12,. + 0 .type gp_ftl_ext_info, %object .size gp_ftl_ext_info, 8 gp_ftl_ext_info: @@ -27617,14 +28257,14 @@ gp_ftl_info: .zero 8 .section .bss.gp_nand_para_info,"aw",@nobits .align 3 - .set .LANCHOR16,. + 0 + .set .LANCHOR21,. + 0 .type gp_nand_para_info, %object .size gp_nand_para_info, 8 gp_nand_para_info: .zero 8 .section .bss.gp_nandc,"aw",@nobits .align 3 - .set .LANCHOR13,. + 0 + .set .LANCHOR7,. + 0 .type gp_nandc, %object .size gp_nandc, 8 gp_nandc: @@ -27638,27 +28278,27 @@ gp_sblk_list_tbl: .zero 8 .section .bss.idb_buf,"aw",@nobits .align 3 - .set .LANCHOR141,. + 0 + .set .LANCHOR138,. + 0 .type idb_buf, %object .size idb_buf, 8 idb_buf: .zero 8 .section .bss.idb_last_lba,"aw",@nobits .align 2 - .set .LANCHOR177,. + 0 + .set .LANCHOR174,. + 0 .type idb_last_lba, %object .size idb_last_lba, 4 idb_last_lba: .zero 4 .section .bss.idb_need_write_back,"aw",@nobits .align 2 - .set .LANCHOR142,. + 0 + .set .LANCHOR139,. + 0 .type idb_need_write_back, %object .size idb_need_write_back, 4 idb_need_write_back: .zero 4 .section .bss.idb_write_enable,"aw",@nobits - .set .LANCHOR143,. + 0 + .set .LANCHOR140,. + 0 .type idb_write_enable, %object .size idb_write_enable, 1 idb_write_enable: @@ -27684,19 +28324,19 @@ lpa_hash_index: nandc_ecc_sts: .zero 16 .section .bss.nandc_hw_seed,"aw",@nobits - .set .LANCHOR51,. + 0 + .set .LANCHOR50,. + 0 .type nandc_hw_seed, %object .size nandc_hw_seed, 1 nandc_hw_seed: .zero 1 .section .bss.nandc_randomizer_en,"aw",@nobits - .set .LANCHOR52,. + 0 + .set .LANCHOR51,. + 0 .type nandc_randomizer_en, %object .size nandc_randomizer_en, 1 nandc_randomizer_en: .zero 1 .section .bss.p_free_buf_head,"aw",@nobits - .set .LANCHOR57,. + 0 + .set .LANCHOR56,. + 0 .type p_free_buf_head, %object .size p_free_buf_head, 1 p_free_buf_head: @@ -27715,14 +28355,14 @@ pm_first_write: .zero 1 .section .bss.pm_force_gc,"aw",@nobits .align 2 - .set .LANCHOR151,. + 0 + .set .LANCHOR148,. + 0 .type pm_force_gc, %object .size pm_force_gc, 4 pm_force_gc: .zero 4 .section .bss.pm_gc_enable,"aw",@nobits .align 2 - .set .LANCHOR136,. + 0 + .set .LANCHOR204,. + 0 .type pm_gc_enable, %object .size pm_gc_enable, 4 pm_gc_enable: @@ -27734,14 +28374,14 @@ pm_gc_enable: pm_last_load_ram_id: .zero 1 .section .bss.pm_last_update_ram_id,"aw",@nobits - .set .LANCHOR139,. + 0 + .set .LANCHOR136,. + 0 .type pm_last_update_ram_id, %object .size pm_last_update_ram_id, 1 pm_last_update_ram_id: .zero 1 .section .bss.pm_ram_info,"aw",@nobits .align 3 - .set .LANCHOR138,. + 0 + .set .LANCHOR135,. + 0 .type pm_ram_info, %object .size pm_ram_info, 512 pm_ram_info: @@ -27766,25 +28406,25 @@ read_buf_count: read_buf_head: .zero 1 .section .bss.sblk_gc_write_completed_queue_head,"aw",@nobits - .set .LANCHOR64,. + 0 + .set .LANCHOR63,. + 0 .type sblk_gc_write_completed_queue_head, %object .size sblk_gc_write_completed_queue_head, 1 sblk_gc_write_completed_queue_head: .zero 1 .section .bss.sblk_queue_head,"aw",@nobits - .set .LANCHOR60,. + 0 + .set .LANCHOR59,. + 0 .type sblk_queue_head, %object .size sblk_queue_head, 1 sblk_queue_head: .zero 1 .section .bss.sblk_read_completed_queue_head,"aw",@nobits - .set .LANCHOR63,. + 0 + .set .LANCHOR62,. + 0 .type sblk_read_completed_queue_head, %object .size sblk_read_completed_queue_head, 1 sblk_read_completed_queue_head: .zero 1 .section .bss.sblk_write_completed_queue_head,"aw",@nobits - .set .LANCHOR65,. + 0 + .set .LANCHOR64,. + 0 .type sblk_write_completed_queue_head, %object .size sblk_write_completed_queue_head, 1 sblk_write_completed_queue_head: @@ -27804,13 +28444,13 @@ slc_cache_sblk: slc_data_sblk: .zero 2 .section .bss.write_buf_count,"aw",@nobits - .set .LANCHOR67,. + 0 + .set .LANCHOR66,. + 0 .type write_buf_count, %object .size write_buf_count, 1 write_buf_count: .zero 1 .section .bss.write_buf_head,"aw",@nobits - .set .LANCHOR66,. + 0 + .set .LANCHOR65,. + 0 .type write_buf_head, %object .size write_buf_head, 1 write_buf_head: @@ -27822,14 +28462,14 @@ write_buf_head: write_commit_count: .zero 1 .section .bss.write_commit_head,"aw",@nobits - .set .LANCHOR185,. + 0 + .set .LANCHOR182,. + 0 .type write_commit_head, %object .size write_commit_head, 1 write_commit_head: .zero 1 .section .bss.xlc_data_sblk,"aw",@nobits .align 1 - .set .LANCHOR93,. + 0 + .set .LANCHOR91,. + 0 .type xlc_data_sblk, %object .size xlc_data_sblk, 2 xlc_data_sblk: @@ -27843,7 +28483,7 @@ zftl_print_list_count: .zero 2 .section .data.g_nand_para_info,"aw",@progbits .align 3 - .set .LANCHOR33,. + 0 + .set .LANCHOR32,. + 0 .type g_nand_para_info, %object .size g_nand_para_info, 32 g_nand_para_info: @@ -27877,7 +28517,7 @@ g_nand_para_info: .byte 0 .section .data.hy_f26_ref_value,"aw",@progbits .align 3 - .set .LANCHOR165,. + 0 + .set .LANCHOR162,. + 0 .type hy_f26_ref_value, %object .size hy_f26_ref_value, 28 hy_f26_ref_value: @@ -27993,7 +28633,7 @@ nand_opt_para: .zero 14 .section .data.sd15_slc_rr,"aw",@progbits .align 3 - .set .LANCHOR41,. + 0 + .set .LANCHOR40,. + 0 .type sd15_slc_rr, %object .size sd15_slc_rr, 25 sd15_slc_rr: @@ -28024,7 +28664,7 @@ sd15_slc_rr: .byte 112 .section .data.sd15_tlc_rr,"aw",@progbits .align 3 - .set .LANCHOR40,. + 0 + .set .LANCHOR39,. + 0 .type sd15_tlc_rr, %object .size sd15_tlc_rr, 329 sd15_tlc_rr: @@ -29523,7 +30163,7 @@ tlc_prog_order: .hword 1019 .section .data.zftl_debug,"aw",@progbits .align 2 - .set .LANCHOR14,. + 0 + .set .LANCHOR19,. + 0 .type zftl_debug, %object .size zftl_debug, 4 zftl_debug: @@ -30906,468 +31546,468 @@ zftl_nand_flash_para_tbl: .byte -38 .byte -33 .byte 0 - .section .rodata.__func__.10137,"a",@progbits - .align 3 - .set .LANCHOR225,. + 0 - .type __func__.10137, %object - .size __func__.10137, 12 -__func__.10137: - .string "gc_recovery" - .section .rodata.__func__.10147,"a",@progbits - .align 3 - .set .LANCHOR72,. + 0 - .type __func__.10147, %object - .size __func__.10147, 12 -__func__.10147: - .string "gc_add_sblk" - .section .rodata.__func__.10194,"a",@progbits - .align 3 - .set .LANCHOR188,. + 0 - .type __func__.10194, %object - .size __func__.10194, 21 -__func__.10194: - .string "gc_check_data_one_wl" - .section .rodata.__func__.10226,"a",@progbits - .align 3 - .set .LANCHOR226,. + 0 - .type __func__.10226, %object - .size __func__.10226, 22 -__func__.10226: - .string "gc_update_l2p_map_new" - .section .rodata.__func__.10239,"a",@progbits - .align 3 - .set .LANCHOR78,. + 0 - .type __func__.10239, %object - .size __func__.10239, 19 -__func__.10239: - .string "gc_write_completed" - .section .rodata.__func__.10269,"a",@progbits - .align 3 - .set .LANCHOR234,. + 0 - .type __func__.10269, %object - .size __func__.10269, 16 -__func__.10269: - .string "gc_do_copy_back" - .section .rodata.__func__.10296,"a",@progbits - .align 3 - .set .LANCHOR127,. + 0 - .type __func__.10296, %object - .size __func__.10296, 16 -__func__.10296: - .string "gc_free_src_blk" - .section .rodata.__func__.10340,"a",@progbits - .align 3 - .set .LANCHOR227,. + 0 - .type __func__.10340, %object - .size __func__.10340, 16 -__func__.10340: - .string "gc_scan_src_blk" - .section .rodata.__func__.10401,"a",@progbits - .align 3 - .set .LANCHOR228,. + 0 - .type __func__.10401, %object - .size __func__.10401, 20 -__func__.10401: - .string "gc_scan_static_data" - .section .rodata.__func__.10468,"a",@progbits - .align 3 - .set .LANCHOR237,. + 0 - .type __func__.10468, %object - .size __func__.10468, 11 -__func__.10468: - .string "zftl_do_gc" - .section .rodata.__func__.10563,"a",@progbits - .align 3 - .set .LANCHOR5,. + 0 - .type __func__.10563, %object - .size __func__.10563, 18 -__func__.10563: - .string "_list_remove_node" - .section .rodata.__func__.10588,"a",@progbits - .align 3 - .set .LANCHOR11,. + 0 - .type __func__.10588, %object - .size __func__.10588, 23 -__func__.10588: - .string "_list_update_data_list" - .section .rodata.__func__.10663,"a",@progbits - .align 3 - .set .LANCHOR154,. + 0 - .type __func__.10663, %object - .size __func__.10663, 20 -__func__.10663: - .string "zftl_sblk_list_init" - .section .rodata.__func__.10697,"a",@progbits - .align 3 - .set .LANCHOR196,. + 0 - .type __func__.10697, %object - .size __func__.10697, 15 -__func__.10697: - .string "ftl_info_flush" - .section .rodata.__func__.10729,"a",@progbits - .align 3 - .set .LANCHOR135,. + 0 - .type __func__.10729, %object - .size __func__.10729, 15 -__func__.10729: - .string "ftl_alloc_sblk" - .section .rodata.__func__.10771,"a",@progbits - .align 3 - .set .LANCHOR113,. + 0 - .type __func__.10771, %object - .size __func__.10771, 18 -__func__.10771: - .string "ftl_alloc_sys_blk" - .section .rodata.__func__.10781,"a",@progbits - .align 3 - .set .LANCHOR114,. + 0 - .type __func__.10781, %object - .size __func__.10781, 17 -__func__.10781: - .string "ftl_free_sys_blk" - .section .rodata.__func__.10816,"a",@progbits - .align 3 - .set .LANCHOR229,. + 0 - .type __func__.10816, %object - .size __func__.10816, 14 -__func__.10816: - .string "ftl_sblk_dump" - .section .rodata.__func__.10840,"a",@progbits - .align 3 - .set .LANCHOR218,. + 0 - .type __func__.10840, %object - .size __func__.10840, 16 -__func__.10840: - .string "ftl_sysblk_dump" - .section .rodata.__func__.10865,"a",@progbits - .align 3 - .set .LANCHOR219,. + 0 - .type __func__.10865, %object - .size __func__.10865, 23 -__func__.10865: - .string "ftl_open_sblk_recovery" - .section .rodata.__func__.10898,"a",@progbits - .align 3 - .set .LANCHOR115,. + 0 - .type __func__.10898, %object - .size __func__.10898, 23 -__func__.10898: - .string "ftl_get_ppa_from_index" - .section .rodata.__func__.10919,"a",@progbits - .align 3 - .set .LANCHOR231,. + 0 - .type __func__.10919, %object - .size __func__.10919, 19 -__func__.10919: - .string "ftl_update_l2p_map" - .section .rodata.__func__.10938,"a",@progbits - .align 3 - .set .LANCHOR119,. + 0 - .type __func__.10938, %object - .size __func__.10938, 22 -__func__.10938: - .string "ftl_get_new_free_page" - .section .rodata.__func__.10949,"a",@progbits - .align 3 - .set .LANCHOR120,. + 0 - .type __func__.10949, %object - .size __func__.10949, 22 -__func__.10949: - .string "ftl_ext_alloc_new_blk" - .section .rodata.__func__.10975,"a",@progbits - .align 3 - .set .LANCHOR201,. + 0 - .type __func__.10975, %object - .size __func__.10975, 19 -__func__.10975: - .string "ftl_ext_info_flush" - .section .rodata.__func__.10987,"a",@progbits - .align 3 - .set .LANCHOR202,. + 0 - .type __func__.10987, %object - .size __func__.10987, 18 -__func__.10987: - .string "ftl_ext_info_init" - .section .rodata.__func__.11026,"a",@progbits - .align 3 - .set .LANCHOR203,. + 0 - .type __func__.11026, %object - .size __func__.11026, 25 -__func__.11026: - .string "ftl_low_format_data_init" - .section .rodata.__func__.11041,"a",@progbits - .align 3 - .set .LANCHOR205,. + 0 - .type __func__.11041, %object - .size __func__.11041, 15 -__func__.11041: - .string "ftl_low_format" - .section .rodata.__func__.11089,"a",@progbits - .align 3 - .set .LANCHOR192,. + 0 - .type __func__.11089, %object - .size __func__.11089, 14 -__func__.11089: - .string "ftl_prog_page" - .section .rodata.__func__.11212,"a",@progbits - .align 3 - .set .LANCHOR183,. + 0 - .type __func__.11212, %object - .size __func__.11212, 31 -__func__.11212: - .string "queue_wait_first_req_completed" - .section .rodata.__func__.11266,"a",@progbits - .align 3 - .set .LANCHOR184,. + 0 - .type __func__.11266, %object - .size __func__.11266, 15 -__func__.11266: - .string "sblk_prog_page" - .section .rodata.__func__.11293,"a",@progbits - .align 3 - .set .LANCHOR187,. + 0 - .type __func__.11293, %object - .size __func__.11293, 15 -__func__.11293: - .string "sblk_read_page" - .section .rodata.__func__.11363,"a",@progbits - .align 3 - .set .LANCHOR220,. + 0 - .type __func__.11363, %object - .size __func__.11363, 16 -__func__.11363: - .string "load_l2p_region" - .section .rodata.__func__.11379,"a",@progbits - .align 3 - .set .LANCHOR156,. + 0 - .type __func__.11379, %object - .size __func__.11379, 13 -__func__.11379: - .string "pm_free_sblk" - .section .rodata.__func__.11403,"a",@progbits - .align 3 - .set .LANCHOR222,. + 0 - .type __func__.11403, %object - .size __func__.11403, 6 -__func__.11403: - .string "pm_gc" - .section .rodata.__func__.11419,"a",@progbits - .align 3 - .set .LANCHOR137,. + 0 - .type __func__.11419, %object - .size __func__.11419, 17 -__func__.11419: - .string "pm_alloc_new_blk" - .section .rodata.__func__.11429,"a",@progbits - .align 3 - .set .LANCHOR206,. + 0 - .type __func__.11429, %object - .size __func__.11429, 14 -__func__.11429: - .string "pm_write_page" - .section .rodata.__func__.11447,"a",@progbits - .align 3 - .set .LANCHOR140,. + 0 - .type __func__.11447, %object - .size __func__.11447, 21 -__func__.11447: - .string "pm_select_ram_region" - .section .rodata.__func__.8787,"a",@progbits - .align 3 - .set .LANCHOR173,. + 0 - .type __func__.8787, %object - .size __func__.8787, 19 -__func__.8787: - .string "flash_read_page_en" - .section .rodata.__func__.8848,"a",@progbits - .align 3 - .set .LANCHOR189,. + 0 - .type __func__.8848, %object - .size __func__.8848, 19 -__func__.8848: - .string "flash_prog_page_en" - .section .rodata.__func__.8864,"a",@progbits - .align 3 - .set .LANCHOR44,. + 0 - .type __func__.8864, %object - .size __func__.8864, 26 -__func__.8864: - .string "flash_erase_duplane_block" - .section .rodata.__func__.8875,"a",@progbits - .align 3 - .set .LANCHOR46,. + 0 - .type __func__.8875, %object - .size __func__.8875, 21 -__func__.8875: - .string "flash_erase_block_en" - .section .rodata.__func__.8889,"a",@progbits - .align 3 - .set .LANCHOR29,. + 0 - .type __func__.8889, %object - .size __func__.8889, 28 -__func__.8889: - .string "flash_wait_device_ready_raw" - .section .rodata.__func__.8913,"a",@progbits - .align 3 - .set .LANCHOR178,. + 0 - .type __func__.8913, %object - .size __func__.8913, 26 -__func__.8913: - .string "flash_start_tlc_page_prog" - .section .rodata.__func__.8924,"a",@progbits - .align 3 - .set .LANCHOR179,. + 0 - .type __func__.8924, %object - .size __func__.8924, 29 -__func__.8924: - .string "flash_start_3d_mlc_page_prog" - .section .rodata.__func__.8942,"a",@progbits - .align 3 - .set .LANCHOR180,. + 0 - .type __func__.8942, %object - .size __func__.8942, 22 -__func__.8942: - .string "flash_start_page_prog" - .section .rodata.__func__.8953,"a",@progbits - .align 3 - .set .LANCHOR35,. + 0 - .type __func__.8953, %object - .size __func__.8953, 22 -__func__.8953: - .string "flash_start_page_read" - .section .rodata.__func__.8966,"a",@progbits - .align 3 - .set .LANCHOR181,. + 0 - .type __func__.8966, %object - .size __func__.8966, 31 -__func__.8966: - .string "flash_complete_plane_page_read" - .section .rodata.__func__.8978,"a",@progbits - .align 3 - .set .LANCHOR47,. + 0 - .type __func__.8978, %object - .size __func__.8978, 23 -__func__.8978: - .string "flash_start_plane_read" - .section .rodata.__func__.8991,"a",@progbits - .align 3 - .set .LANCHOR182,. + 0 - .type __func__.8991, %object - .size __func__.8991, 25 -__func__.8991: - .string "flash_complete_page_read" - .section .rodata.__func__.9406,"a",@progbits - .align 3 - .set .LANCHOR146,. + 0 - .type __func__.9406, %object - .size __func__.9406, 20 -__func__.9406: - .string "flash_die_info_init" - .section .rodata.__func__.9416,"a",@progbits - .align 3 - .set .LANCHOR15,. + 0 - .type __func__.9416, %object - .size __func__.9416, 22 -__func__.9416: - .string "nand_flash_print_info" - .section .rodata.__func__.9461,"a",@progbits - .align 3 - .set .LANCHOR213,. + 0 - .type __func__.9461, %object - .size __func__.9461, 16 -__func__.9461: - .string "nand_flash_init" - .section .rodata.__func__.9484,"a",@progbits - .align 3 - .set .LANCHOR158,. + 0 - .type __func__.9484, %object - .size __func__.9484, 11 -__func__.9484: - .string "nandc_init" - .section .rodata.__func__.9653,"a",@progbits - .align 3 - .set .LANCHOR59,. + 0 - .type __func__.9653, %object - .size __func__.9653, 13 -__func__.9653: - .string "buf_add_tail" - .section .rodata.__func__.9666,"a",@progbits - .align 3 - .set .LANCHOR61,. + 0 - .type __func__.9666, %object - .size __func__.9666, 10 -__func__.9666: - .string "buf_alloc" - .section .rodata.__func__.9680,"a",@progbits - .align 3 - .set .LANCHOR62,. + 0 - .type __func__.9680, %object - .size __func__.9680, 16 -__func__.9680: - .string "buf_remove_free" - .section .rodata.__func__.9701,"a",@progbits - .align 3 - .set .LANCHOR212,. + 0 - .type __func__.9701, %object - .size __func__.9701, 20 -__func__.9701: - .string "flash_info_blk_init" - .section .rodata.__func__.9716,"a",@progbits - .align 3 - .set .LANCHOR157,. + 0 - .type __func__.9716, %object - .size __func__.9716, 21 -__func__.9716: - .string "flash_info_data_init" - .section .rodata.__func__.9738,"a",@progbits - .align 3 - .set .LANCHOR209,. + 0 - .type __func__.9738, %object - .size __func__.9738, 17 -__func__.9738: - .string "flash_info_flush" - .section .rodata.__func__.9814,"a",@progbits - .align 3 - .set .LANCHOR150,. + 0 - .type __func__.9814, %object - .size __func__.9814, 17 -__func__.9814: - .string "lpa_rebuild_hash" - .section .rodata.__func__.9864,"a",@progbits - .align 3 - .set .LANCHOR232,. + 0 - .type __func__.9864, %object - .size __func__.9864, 17 -__func__.9864: - .string "ftl_write_commit" - .section .rodata.__func__.9882,"a",@progbits - .align 3 - .set .LANCHOR130,. + 0 - .type __func__.9882, %object - .size __func__.9882, 14 -__func__.9882: - .string "ftl_write_buf" - .section .rodata.__func__.9927,"a",@progbits - .align 3 - .set .LANCHOR132,. + 0 - .type __func__.9927, %object - .size __func__.9927, 18 -__func__.9927: - .string "zftl_add_read_buf" - .section .rodata.__func__.9960,"a",@progbits - .align 3 - .set .LANCHOR230,. + 0 - .type __func__.9960, %object - .size __func__.9960, 10 -__func__.9960: - .string "zftl_read" - .section .rodata.__func__.9991,"a",@progbits + .section .rodata.__func__.10004,"a",@progbits .align 3 .set .LANCHOR242,. + 0 - .type __func__.9991, %object - .size __func__.9991, 13 -__func__.9991: + .type __func__.10004, %object + .size __func__.10004, 13 +__func__.10004: .string "_ftl_discard" + .section .rodata.__func__.10150,"a",@progbits + .align 3 + .set .LANCHOR225,. + 0 + .type __func__.10150, %object + .size __func__.10150, 12 +__func__.10150: + .string "gc_recovery" + .section .rodata.__func__.10160,"a",@progbits + .align 3 + .set .LANCHOR71,. + 0 + .type __func__.10160, %object + .size __func__.10160, 12 +__func__.10160: + .string "gc_add_sblk" + .section .rodata.__func__.10207,"a",@progbits + .align 3 + .set .LANCHOR185,. + 0 + .type __func__.10207, %object + .size __func__.10207, 21 +__func__.10207: + .string "gc_check_data_one_wl" + .section .rodata.__func__.10239,"a",@progbits + .align 3 + .set .LANCHOR226,. + 0 + .type __func__.10239, %object + .size __func__.10239, 22 +__func__.10239: + .string "gc_update_l2p_map_new" + .section .rodata.__func__.10252,"a",@progbits + .align 3 + .set .LANCHOR77,. + 0 + .type __func__.10252, %object + .size __func__.10252, 19 +__func__.10252: + .string "gc_write_completed" + .section .rodata.__func__.10282,"a",@progbits + .align 3 + .set .LANCHOR234,. + 0 + .type __func__.10282, %object + .size __func__.10282, 16 +__func__.10282: + .string "gc_do_copy_back" + .section .rodata.__func__.10309,"a",@progbits + .align 3 + .set .LANCHOR127,. + 0 + .type __func__.10309, %object + .size __func__.10309, 16 +__func__.10309: + .string "gc_free_src_blk" + .section .rodata.__func__.10353,"a",@progbits + .align 3 + .set .LANCHOR227,. + 0 + .type __func__.10353, %object + .size __func__.10353, 16 +__func__.10353: + .string "gc_scan_src_blk" + .section .rodata.__func__.10414,"a",@progbits + .align 3 + .set .LANCHOR228,. + 0 + .type __func__.10414, %object + .size __func__.10414, 20 +__func__.10414: + .string "gc_scan_static_data" + .section .rodata.__func__.10508,"a",@progbits + .align 3 + .set .LANCHOR237,. + 0 + .type __func__.10508, %object + .size __func__.10508, 11 +__func__.10508: + .string "zftl_do_gc" + .section .rodata.__func__.10603,"a",@progbits + .align 3 + .set .LANCHOR5,. + 0 + .type __func__.10603, %object + .size __func__.10603, 18 +__func__.10603: + .string "_list_remove_node" + .section .rodata.__func__.10628,"a",@progbits + .align 3 + .set .LANCHOR13,. + 0 + .type __func__.10628, %object + .size __func__.10628, 23 +__func__.10628: + .string "_list_update_data_list" + .section .rodata.__func__.10703,"a",@progbits + .align 3 + .set .LANCHOR151,. + 0 + .type __func__.10703, %object + .size __func__.10703, 20 +__func__.10703: + .string "zftl_sblk_list_init" + .section .rodata.__func__.10737,"a",@progbits + .align 3 + .set .LANCHOR193,. + 0 + .type __func__.10737, %object + .size __func__.10737, 15 +__func__.10737: + .string "ftl_info_flush" + .section .rodata.__func__.10792,"a",@progbits + .align 3 + .set .LANCHOR200,. + 0 + .type __func__.10792, %object + .size __func__.10792, 15 +__func__.10792: + .string "ftl_alloc_sblk" + .section .rodata.__func__.10834,"a",@progbits + .align 3 + .set .LANCHOR113,. + 0 + .type __func__.10834, %object + .size __func__.10834, 18 +__func__.10834: + .string "ftl_alloc_sys_blk" + .section .rodata.__func__.10844,"a",@progbits + .align 3 + .set .LANCHOR114,. + 0 + .type __func__.10844, %object + .size __func__.10844, 17 +__func__.10844: + .string "ftl_free_sys_blk" + .section .rodata.__func__.10879,"a",@progbits + .align 3 + .set .LANCHOR229,. + 0 + .type __func__.10879, %object + .size __func__.10879, 14 +__func__.10879: + .string "ftl_sblk_dump" + .section .rodata.__func__.10903,"a",@progbits + .align 3 + .set .LANCHOR218,. + 0 + .type __func__.10903, %object + .size __func__.10903, 16 +__func__.10903: + .string "ftl_sysblk_dump" + .section .rodata.__func__.10928,"a",@progbits + .align 3 + .set .LANCHOR219,. + 0 + .type __func__.10928, %object + .size __func__.10928, 23 +__func__.10928: + .string "ftl_open_sblk_recovery" + .section .rodata.__func__.10961,"a",@progbits + .align 3 + .set .LANCHOR115,. + 0 + .type __func__.10961, %object + .size __func__.10961, 23 +__func__.10961: + .string "ftl_get_ppa_from_index" + .section .rodata.__func__.10982,"a",@progbits + .align 3 + .set .LANCHOR231,. + 0 + .type __func__.10982, %object + .size __func__.10982, 19 +__func__.10982: + .string "ftl_update_l2p_map" + .section .rodata.__func__.11001,"a",@progbits + .align 3 + .set .LANCHOR119,. + 0 + .type __func__.11001, %object + .size __func__.11001, 22 +__func__.11001: + .string "ftl_get_new_free_page" + .section .rodata.__func__.11012,"a",@progbits + .align 3 + .set .LANCHOR120,. + 0 + .type __func__.11012, %object + .size __func__.11012, 22 +__func__.11012: + .string "ftl_ext_alloc_new_blk" + .section .rodata.__func__.11038,"a",@progbits + .align 3 + .set .LANCHOR198,. + 0 + .type __func__.11038, %object + .size __func__.11038, 19 +__func__.11038: + .string "ftl_ext_info_flush" + .section .rodata.__func__.11050,"a",@progbits + .align 3 + .set .LANCHOR199,. + 0 + .type __func__.11050, %object + .size __func__.11050, 18 +__func__.11050: + .string "ftl_ext_info_init" + .section .rodata.__func__.11089,"a",@progbits + .align 3 + .set .LANCHOR201,. + 0 + .type __func__.11089, %object + .size __func__.11089, 25 +__func__.11089: + .string "ftl_low_format_data_init" + .section .rodata.__func__.11104,"a",@progbits + .align 3 + .set .LANCHOR203,. + 0 + .type __func__.11104, %object + .size __func__.11104, 15 +__func__.11104: + .string "ftl_low_format" + .section .rodata.__func__.11152,"a",@progbits + .align 3 + .set .LANCHOR189,. + 0 + .type __func__.11152, %object + .size __func__.11152, 14 +__func__.11152: + .string "ftl_prog_page" + .section .rodata.__func__.11275,"a",@progbits + .align 3 + .set .LANCHOR180,. + 0 + .type __func__.11275, %object + .size __func__.11275, 31 +__func__.11275: + .string "queue_wait_first_req_completed" + .section .rodata.__func__.11329,"a",@progbits + .align 3 + .set .LANCHOR181,. + 0 + .type __func__.11329, %object + .size __func__.11329, 15 +__func__.11329: + .string "sblk_prog_page" + .section .rodata.__func__.11356,"a",@progbits + .align 3 + .set .LANCHOR184,. + 0 + .type __func__.11356, %object + .size __func__.11356, 15 +__func__.11356: + .string "sblk_read_page" + .section .rodata.__func__.11426,"a",@progbits + .align 3 + .set .LANCHOR220,. + 0 + .type __func__.11426, %object + .size __func__.11426, 16 +__func__.11426: + .string "load_l2p_region" + .section .rodata.__func__.11442,"a",@progbits + .align 3 + .set .LANCHOR153,. + 0 + .type __func__.11442, %object + .size __func__.11442, 13 +__func__.11442: + .string "pm_free_sblk" + .section .rodata.__func__.11466,"a",@progbits + .align 3 + .set .LANCHOR222,. + 0 + .type __func__.11466, %object + .size __func__.11466, 6 +__func__.11466: + .string "pm_gc" + .section .rodata.__func__.11482,"a",@progbits + .align 3 + .set .LANCHOR205,. + 0 + .type __func__.11482, %object + .size __func__.11482, 17 +__func__.11482: + .string "pm_alloc_new_blk" + .section .rodata.__func__.11492,"a",@progbits + .align 3 + .set .LANCHOR206,. + 0 + .type __func__.11492, %object + .size __func__.11492, 14 +__func__.11492: + .string "pm_write_page" + .section .rodata.__func__.11510,"a",@progbits + .align 3 + .set .LANCHOR137,. + 0 + .type __func__.11510, %object + .size __func__.11510, 21 +__func__.11510: + .string "pm_select_ram_region" + .section .rodata.__func__.8803,"a",@progbits + .align 3 + .set .LANCHOR170,. + 0 + .type __func__.8803, %object + .size __func__.8803, 19 +__func__.8803: + .string "flash_read_page_en" + .section .rodata.__func__.8864,"a",@progbits + .align 3 + .set .LANCHOR186,. + 0 + .type __func__.8864, %object + .size __func__.8864, 19 +__func__.8864: + .string "flash_prog_page_en" + .section .rodata.__func__.8880,"a",@progbits + .align 3 + .set .LANCHOR43,. + 0 + .type __func__.8880, %object + .size __func__.8880, 26 +__func__.8880: + .string "flash_erase_duplane_block" + .section .rodata.__func__.8891,"a",@progbits + .align 3 + .set .LANCHOR45,. + 0 + .type __func__.8891, %object + .size __func__.8891, 21 +__func__.8891: + .string "flash_erase_block_en" + .section .rodata.__func__.8905,"a",@progbits + .align 3 + .set .LANCHOR28,. + 0 + .type __func__.8905, %object + .size __func__.8905, 28 +__func__.8905: + .string "flash_wait_device_ready_raw" + .section .rodata.__func__.8929,"a",@progbits + .align 3 + .set .LANCHOR175,. + 0 + .type __func__.8929, %object + .size __func__.8929, 26 +__func__.8929: + .string "flash_start_tlc_page_prog" + .section .rodata.__func__.8940,"a",@progbits + .align 3 + .set .LANCHOR176,. + 0 + .type __func__.8940, %object + .size __func__.8940, 29 +__func__.8940: + .string "flash_start_3d_mlc_page_prog" + .section .rodata.__func__.8958,"a",@progbits + .align 3 + .set .LANCHOR177,. + 0 + .type __func__.8958, %object + .size __func__.8958, 22 +__func__.8958: + .string "flash_start_page_prog" + .section .rodata.__func__.8969,"a",@progbits + .align 3 + .set .LANCHOR34,. + 0 + .type __func__.8969, %object + .size __func__.8969, 22 +__func__.8969: + .string "flash_start_page_read" + .section .rodata.__func__.8982,"a",@progbits + .align 3 + .set .LANCHOR178,. + 0 + .type __func__.8982, %object + .size __func__.8982, 31 +__func__.8982: + .string "flash_complete_plane_page_read" + .section .rodata.__func__.8994,"a",@progbits + .align 3 + .set .LANCHOR46,. + 0 + .type __func__.8994, %object + .size __func__.8994, 23 +__func__.8994: + .string "flash_start_plane_read" + .section .rodata.__func__.9007,"a",@progbits + .align 3 + .set .LANCHOR179,. + 0 + .type __func__.9007, %object + .size __func__.9007, 25 +__func__.9007: + .string "flash_complete_page_read" + .section .rodata.__func__.9422,"a",@progbits + .align 3 + .set .LANCHOR143,. + 0 + .type __func__.9422, %object + .size __func__.9422, 20 +__func__.9422: + .string "flash_die_info_init" + .section .rodata.__func__.9432,"a",@progbits + .align 3 + .set .LANCHOR20,. + 0 + .type __func__.9432, %object + .size __func__.9432, 22 +__func__.9432: + .string "nand_flash_print_info" + .section .rodata.__func__.9477,"a",@progbits + .align 3 + .set .LANCHOR213,. + 0 + .type __func__.9477, %object + .size __func__.9477, 16 +__func__.9477: + .string "nand_flash_init" + .section .rodata.__func__.9500,"a",@progbits + .align 3 + .set .LANCHOR155,. + 0 + .type __func__.9500, %object + .size __func__.9500, 11 +__func__.9500: + .string "nandc_init" + .section .rodata.__func__.9665,"a",@progbits + .align 3 + .set .LANCHOR58,. + 0 + .type __func__.9665, %object + .size __func__.9665, 13 +__func__.9665: + .string "buf_add_tail" + .section .rodata.__func__.9678,"a",@progbits + .align 3 + .set .LANCHOR60,. + 0 + .type __func__.9678, %object + .size __func__.9678, 10 +__func__.9678: + .string "buf_alloc" + .section .rodata.__func__.9692,"a",@progbits + .align 3 + .set .LANCHOR61,. + 0 + .type __func__.9692, %object + .size __func__.9692, 16 +__func__.9692: + .string "buf_remove_free" + .section .rodata.__func__.9713,"a",@progbits + .align 3 + .set .LANCHOR212,. + 0 + .type __func__.9713, %object + .size __func__.9713, 20 +__func__.9713: + .string "flash_info_blk_init" + .section .rodata.__func__.9728,"a",@progbits + .align 3 + .set .LANCHOR154,. + 0 + .type __func__.9728, %object + .size __func__.9728, 21 +__func__.9728: + .string "flash_info_data_init" + .section .rodata.__func__.9750,"a",@progbits + .align 3 + .set .LANCHOR209,. + 0 + .type __func__.9750, %object + .size __func__.9750, 17 +__func__.9750: + .string "flash_info_flush" + .section .rodata.__func__.9826,"a",@progbits + .align 3 + .set .LANCHOR147,. + 0 + .type __func__.9826, %object + .size __func__.9826, 17 +__func__.9826: + .string "lpa_rebuild_hash" + .section .rodata.__func__.9876,"a",@progbits + .align 3 + .set .LANCHOR232,. + 0 + .type __func__.9876, %object + .size __func__.9876, 17 +__func__.9876: + .string "ftl_write_commit" + .section .rodata.__func__.9894,"a",@progbits + .align 3 + .set .LANCHOR130,. + 0 + .type __func__.9894, %object + .size __func__.9894, 14 +__func__.9894: + .string "ftl_write_buf" + .section .rodata.__func__.9939,"a",@progbits + .align 3 + .set .LANCHOR132,. + 0 + .type __func__.9939, %object + .size __func__.9939, 18 +__func__.9939: + .string "zftl_add_read_buf" + .section .rodata.__func__.9972,"a",@progbits + .align 3 + .set .LANCHOR230,. + 0 + .type __func__.9972, %object + .size __func__.9972, 10 +__func__.9972: + .string "zftl_read" .section .rodata._list_remove_node.str1.1,"aMS",@progbits,1 .LC0: .string "\n!!!!! error @ func:%s - line:%d\n" @@ -31387,50 +32027,53 @@ __func__.9991: .LC47: .string "buf = %d, next=%d, flag=%d gc_write_flag=%d, lun_state=%d, op_status = %d lpa=%x, ppa=%x\n" .section .rodata.dump_ftl_info.str1.1,"aMS",@progbits,1 -.LC189: - .string "free_buf_count: %d\n" -.LC190: - .string "g_ftl_info_blk blk:0x%x, index:0x%x, page:0x%x\n" -.LC191: - .string "ftl_ext_info_blk blk:0x%x, page:0x%x\n" .LC192: - .string "ac_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" + .string "free_buf_count: %d\n" .LC193: - .string "tmp_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" + .string "g_ftl_info_blk blk:0x%x, index:0x%x, page:0x%x\n" .LC194: - .string "gc_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" + .string "ftl_ext_info_blk blk:0x%x, page:0x%x\n" .LC195: - .string "lpa:" + .string "ac_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" .LC196: - .string "vpn:" + .string "tmp_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" .LC197: - .string "sblk:" + .string "gc_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" .LC198: - .string "lpa_hash:" + .string "lpa:" .LC199: + .string "vpn:" +.LC200: + .string "sblk:" +.LC201: + .string "lpa_hash:" +.LC202: .string "lpa_hash_index:" .section .rodata.dump_pm_blk.str1.1,"aMS",@progbits,1 -.LC254: +.LC257: .string "pm l2p:" -.LC255: +.LC258: .string "pm blk:" .section .rodata.dump_sblk_queue.str1.1,"aMS",@progbits,1 -.LC80: +.LC79: .string "dump_sblk_queue: %d\n" -.LC81: +.LC80: .string "buf id= %d state = %d ppa = %x\n" .section .rodata.flash_complete_page_read.str1.1,"aMS",@progbits,1 -.LC139: +.LC136: .string "flash_complete_page_read %x %x error_ecc %d %d\n" .section .rodata.flash_ddr_tuning_read.str1.1,"aMS",@progbits,1 -.LC125: +.LC122: .string "%d flash_ddr_tuning_read %x ecc=%d\n" -.LC126: +.LC123: .string "sync para %d\n" -.LC127: +.LC124: .string "DDR mode Read error %x %x\n" -.LC128: +.LC125: .string "SDR mode Read %x %x ecc:%x\n" + .section .rodata.flash_dual_page_prog.str1.1,"aMS",@progbits,1 +.LC130: + .string "flash_prog_page %x %x %x\n" .section .rodata.flash_erase_all.str1.1,"aMS",@progbits,1 .LC35: .string "erase done: %x\n" @@ -31445,43 +32088,41 @@ __func__.9991: .LC32: .string "flash_erase_duplane_block pageadd = %x status = %x\n" .section .rodata.flash_get_last_written_page.str1.1,"aMS",@progbits,1 -.LC131: +.LC128: .string "flash_get_last_written_page: %x %x %x\n" .section .rodata.flash_info_blk_init.str1.1,"aMS",@progbits,1 -.LC174: +.LC177: .string "...%d @ %s %d %p\n" -.LC175: +.LC178: .string "no sys info %x\n" .section .rodata.flash_info_data_init.str1.1,"aMS",@progbits,1 -.LC97: +.LC94: .string "...%d @ %s\n" .section .rodata.flash_info_flush.str1.1,"aMS",@progbits,1 -.LC171: +.LC174: .string "finfo:" -.LC172: +.LC175: .string "flash_info_flush id = %x, page = %x\n" -.LC173: +.LC176: .string "sys_info_flush error:%x\n" .section .rodata.flash_mask_bad_block.str1.1,"aMS",@progbits,1 .LC48: .string "flash_mask_bad_block %d %d\n" .section .rodata.flash_prog_page.str1.1,"aMS",@progbits,1 -.LC132: - .string "flash_prog_page %x %x %x\n" -.LC133: +.LC129: .string "flash_prog_page page_addr = %x status = %x\n" .section .rodata.flash_prog_page_en.str1.1,"aMS",@progbits,1 -.LC147: +.LC144: .string "flash_prog_page_en:%x %x %x\n" -.LC148: +.LC145: .string "w d:" -.LC149: +.LC146: .string "w s:" -.LC150: +.LC147: .string "spare" -.LC151: +.LC148: .string "data" -.LC152: +.LC149: .string "write error: %x\n" .section .rodata.flash_read_id.str1.1,"aMS",@progbits,1 .LC38: @@ -31490,9 +32131,9 @@ __func__.9991: .LC39: .string "otp:%x %x %x %x\n" .section .rodata.flash_read_page_en.str1.1,"aMS",@progbits,1 -.LC129: +.LC126: .string "flash_read_page_en %x %x %x %x\n" -.LC130: +.LC127: .string "flash_read_page_en %x %x error_ecc %d %d\n" .section .rodata.flash_set_interface_mode.str1.1,"aMS",@progbits,1 .LC36: @@ -31500,111 +32141,119 @@ __func__.9991: .LC37: .string "nand ddr mode %x\n" .section .rodata.ftl_alloc_new_data_sblk.str1.1,"aMS",@progbits,1 -.LC232: +.LC235: .string "error gc_add_sblk: %x\n" .section .rodata.ftl_alloc_sblk.str1.1,"aMS",@progbits,1 -.LC79: +.LC167: .string "alloc sblk %x %d\n" .section .rodata.ftl_dump_write_open_sblk.str1.1,"aMS",@progbits,1 -.LC166: +.LC159: .string "ftl_sblk_dump_write = %x %d %d %d %d\n" -.LC167: +.LC160: .string "blk= %x, page=%x, ppa = %x, status = %x, data:%x %x %x %x, spare: %x %x %x %x\n" -.LC168: +.LC161: .string "ftl_sblk_dump_write2 = %x %d %d %d\n" -.LC169: +.LC162: .string "ftl_sblk_dump_write = %x %x\n" -.LC170: +.LC163: .string "ftl_sblk_dump_write done = %x\n" .section .rodata.ftl_ext_info_init.str1.1,"aMS",@progbits,1 -.LC159: +.LC156: .string "%s %d %d %x %x\n" -.LC160: +.LC157: .string "ext info hash %x error\n" -.LC161: +.LC158: .string "%s %x %x %x\n" .section .rodata.ftl_free_sblk.str1.1,"aMS",@progbits,1 .LC68: .string "swl_slc_free_mini_ec_blk sblk %x\n" .section .rodata.ftl_info_blk_init.str1.1,"aMS",@progbits,1 -.LC155: +.LC152: .string "%d %x @%d %x\n" -.LC156: +.LC153: .string "ftl_info_blk_init %d %d %x\n" -.LC157: +.LC154: .string "ftl info hash %x error\n" -.LC158: +.LC155: .string "ink flag: %x\n" .section .rodata.ftl_info_flush.str1.1,"aMS",@progbits,1 -.LC154: +.LC151: .string "g_ftl_info_blk blk = %x, page = %x version = %d\n" + .section .rodata.ftl_ink_check_sblk.str1.1,"aMS",@progbits,1 +.LC165: + .string "ftl_ink_check_sblk = %x %d %d\n" +.LC166: + .string "ftl_ink_check_sblk = %x %d %d end\n" .section .rodata.ftl_low_format.str1.1,"aMS",@progbits,1 -.LC162: +.LC169: .string "ftl_low_format %d\n" -.LC163: +.LC170: .string "low format %d %d %d %d\n" .section .rodata.ftl_mask_bad_block.str1.1,"aMS",@progbits,1 .LC66: .string "mask bad block:cs %x %x block: %x %x\n" + .section .rodata.ftl_open_sblk_init.str1.1,"aMS",@progbits,1 +.LC168: + .string "blk %x is bad block\n" .section .rodata.ftl_open_sblk_recovery.str1.1,"aMS",@progbits,1 -.LC177: - .string "saved_active_page = %x\n" -.LC178: - .string "saved_active_plane = %x\n" -.LC179: - .string "sblk = %x\n" .LC180: - .string "phy_blk = %x %x\n" + .string "saved_active_page = %x\n" .LC181: - .string "num_planes = %x\n" + .string "saved_active_plane = %x\n" .LC182: - .string "recovery blk=%x, page=%x, ppa = %x, status = %x, hash:%x\n" + .string "sblk = %x\n" .LC183: - .string "data:" + .string "phy_blk = %x %x\n" .LC184: - .string "sblk = %x, vpn0 = %d, vpn1 = %d\n" + .string "num_planes = %x\n" .LC185: - .string "dump_write_lpa = %x %x %x %x\n" + .string "recovery blk=%x, page=%x, ppa = %x, status = %x, hash:%x\n" .LC186: - .string "dump write new ppa = %x, last ppa = %x lpa = %x\n" + .string "data:" .LC187: - .string "dump write = %x %x %x\n" + .string "sblk = %x, vpn0 = %d, vpn1 = %d\n" .LC188: + .string "dump_write_lpa = %x %x %x %x\n" +.LC189: + .string "dump write new ppa = %x, last ppa = %x lpa = %x\n" +.LC190: + .string "dump write = %x %x %x\n" +.LC191: .string "dump write hash update = %x %x %x\n" .section .rodata.ftl_re_low_format.str1.1,"aMS",@progbits,1 -.LC164: +.LC171: .string "re low format %d\n" .section .rodata.ftl_sblk_dump.str1.1,"aMS",@progbits,1 -.LC220: - .string "ftl_sblk_dump = %x %d %d %d %d\n" -.LC221: - .string "ftl_sblk_dump = %x %x %x %x\n" -.LC222: - .string "page_addr = %x, lpa=%x vpn = %d\n" .LC223: - .string "index= %x, lpa=%x\n" + .string "ftl_sblk_dump = %x %d %d %d %d\n" .LC224: + .string "ftl_sblk_dump = %x %x %x %x\n" +.LC225: + .string "page_addr = %x, lpa=%x vpn = %d\n" +.LC226: + .string "index= %x, lpa=%x\n" +.LC227: .string "block = %x, vpn=%x check vpn = %x\n" .section .rodata.ftl_sysblk_dump.str1.1,"aMS",@progbits,1 -.LC176: +.LC179: .string "l2p:" .section .rodata.ftl_test_block.str1.1,"aMS",@progbits,1 -.LC153: +.LC150: .string "low format %d\n" .section .rodata.ftl_update_l2p_map.str1.1,"aMS",@progbits,1 -.LC228: - .string "ftl_update_l2p_map: %x %x %x\n" -.LC229: - .string "ftl_update_l2p_map" -.LC230: - .string "lpa_tbl:" .LC231: + .string "ftl_update_l2p_map: %x %x %x\n" +.LC232: + .string "ftl_update_l2p_map" +.LC233: + .string "lpa_tbl:" +.LC234: .string "sblk %x vpn: %d %d\n" .section .rodata.ftl_vpn_decrement.str1.1,"aMS",@progbits,1 .LC65: .string "ftl_vpn_decrement %x = %d, %d\n" .section .rodata.ftl_write_commit.str1.1,"aMS",@progbits,1 -.LC233: +.LC236: .string "%d read error: ppa:%x, lpa:%x, status:%x\n" .section .rodata.ftl_write_completed.str1.1,"aMS",@progbits,1 .LC77: @@ -31621,12 +32270,12 @@ __func__.9991: .LC52: .string "gc_add_sblk = %d, %d, %d, %d, %d, %d\n" .section .rodata.gc_check_data_one_wl.str1.1,"aMS",@progbits,1 -.LC146: +.LC143: .string "err: ppa = %x, status = %x, %x %x spare: %x %x %x %x\n" .section .rodata.gc_do_copy_back.str1.1,"aMS",@progbits,1 -.LC234: +.LC237: .string "gc page in buf: lpa %x ppa = %x pageindex= %x\n" -.LC235: +.LC238: .string "gc_do_copy_back: lpa %x des_ppa = %x %x gc_ppa= %x page_index= %d\n" .section .rodata.gc_free_bad_sblk.str1.1,"aMS",@progbits,1 .LC67: @@ -31639,22 +32288,25 @@ __func__.9991: .section .rodata.gc_free_temp_buf.str1.1,"aMS",@progbits,1 .LC55: .string "%d gc_free_temp_buf buf id= %x\n" + .section .rodata.gc_ink_check_sblk.str1.1,"aMS",@progbits,1 +.LC164: + .string "%x: ink_scaned_blk_num %x\n" .section .rodata.gc_mark_bad_ppa.str1.1,"aMS",@progbits,1 .LC53: .string "gc_mark_bad_ppa %d %x %x\n" .section .rodata.gc_recovery.str1.1,"aMS",@progbits,1 -.LC210: +.LC213: .string "ppa = %x, status = %x, data:%x %x %x %x, spare: %x %x %x %x\n" -.LC211: +.LC214: .string "ppa = %x, status = %x, %x %x spare: %x %x %x %x\n" -.LC212: +.LC215: .string "gc_recovery: %x vpn = %x\n" .section .rodata.gc_scan_src_blk.str1.1,"aMS",@progbits,1 -.LC217: +.LC220: .string "gc_scan_src_blk = %x, vpn = %d\n" -.LC218: +.LC221: .string "js hash error:%x %x %x\n" -.LC219: +.LC222: .string "gc_scan_src_blk = %x, s vpn0 = %d, c vpn1 = %d\n" .section .rodata.gc_search_src_blk.str1.1,"aMS",@progbits,1 .LC57: @@ -31662,69 +32314,69 @@ __func__.9991: .LC58: .string "gc_search_src_blk mode = %x, src mode = %x, count= %d %d\n" .section .rodata.gc_static_wearleveling.str1.1,"aMS",@progbits,1 -.LC85: +.LC82: .string "gc_static_wearleveling: min blk: %x,sec=%d,xec = %d ,mode=%d, func=%x, bbt=%x vpn = %d\n" -.LC86: +.LC83: .string "gc_static_wearleveling: min slc blk: %x,sec=%d,xec = %d ,mode=%d, func=%x, bbt=%x vpn = %d\n" -.LC87: +.LC84: .string "gc_static_wearleveling: min tlc blk: %x,sec=%d,xec = %d ,mode=%d, func=%x, bbt=%x vpn = %d\n" -.LC88: +.LC85: .string "gc_static_wearleveling: max slc blk: %x,sec=%d,xec = %d ,mode=%d, func=%x, bbt=%x vpn = %d\n" -.LC89: +.LC86: .string "gc_static_wearleveling: max xlc blk: %x,sec=%d,xec = %d ,mode=%d, func=%x, bbt=%x vpn = %d\n" -.LC90: +.LC87: .string "gc_static_wearleveling: slc blk: %x, tlc blk: %d avg slc ec: %d, avg tlc ec: %d \n" -.LC91: +.LC88: .string "gc_static_wearleveling: min slc ec: %x, min tlc ec: %d max slc ec: %d, max tlc ec: %d; %d %d\n" -.LC92: +.LC89: .string "swl add tlc gc = %x, %d, %d, %d, %d, %d\n" -.LC93: +.LC90: .string "swl add slc gc = %x, %d, %d, %d, %d, %d\n" .section .rodata.gc_update_l2p_map_new.str1.1,"aMS",@progbits,1 -.LC213: - .string "gc_update_l2p_map_new sblk %x\n" -.LC214: - .string "gc_update_l2p_map_new: %x %x %x\n" -.LC215: - .string "lpa: %x %x %x\n" .LC216: + .string "gc_update_l2p_map_new sblk %x\n" +.LC217: + .string "gc_update_l2p_map_new: %x %x %x\n" +.LC218: + .string "lpa: %x %x %x\n" +.LC219: .string "gc_update_l2p_map_new: %x vpn = %x vpn1 = %x done\n" .section .rodata.gc_write_completed.str1.1,"aMS",@progbits,1 .LC54: .string "status: %x, ppa: %x\n" .section .rodata.hynix_get_read_retry_default.str1.1,"aMS",@progbits,1 -.LC105: +.LC102: .string "otp error! %d" -.LC106: +.LC103: .string "rr" .section .rodata.hynix_read_retrial.str1.1,"aMS",@progbits,1 -.LC124: +.LC121: .string "hynix RR %d row=%x, count %d, status=%d\n" .section .rodata.idb_write_data.str1.1,"aMS",@progbits,1 -.LC135: +.LC132: .string "1 write_idblock fix data %x %x %x\n" -.LC136: +.LC133: .string "write_idblock check fail! %x\n" -.LC137: +.LC134: .string "write_idblock fail! %x\n" .section .rodata.load_l2p_region.str1.1,"aMS",@progbits,1 -.LC201: - .string "region_id = %d, pm_max_region = %d\n" -.LC202: - .string "load_l2p_region no ppa = %x , %x, all setting 0xff....\n" -.LC203: - .string "load_l2p_region = %x,%x,%x, %x\n" .LC204: - .string "pm_ppa:" + .string "region_id = %d, pm_max_region = %d\n" .LC205: + .string "load_l2p_region no ppa = %x , %x, all setting 0xff....\n" +.LC206: + .string "load_l2p_region = %x,%x,%x, %x\n" +.LC207: + .string "pm_ppa:" +.LC208: .string "spare:" .section .rodata.lpa_rebuild_hash.str1.1,"aMS",@progbits,1 -.LC84: +.LC81: .string "%s %d %d\n" .section .rodata.micron_read_retrial.str1.1,"aMS",@progbits,1 -.LC115: +.LC112: .string "MT %d row=%x,last status %d,status = %d\n" -.LC116: +.LC113: .string "MT RR %d row=%x,count %d,status=%d\n" .section .rodata.nand_flash_print_info.str1.1,"aMS",@progbits,1 .LC1: @@ -31788,55 +32440,53 @@ __func__.9991: .LC30: .string "g_flash_toggle_mode_en: %x\n" .section .rodata.nandc_init.str1.1,"aMS",@progbits,1 -.LC98: +.LC95: .string "...%s enter... %p\n" -.LC99: +.LC96: .string "0:%x %x %x %x %x\n" -.LC100: +.LC97: .string "g_nandc_ver...%d\n" .section .rodata.nandc_xfer.str1.1,"aMS",@progbits,1 -.LC112: +.LC109: .string "dqs data abort %x\n" -.LC113: +.LC110: .string "dqs data timeout %x\n" -.LC114: +.LC111: .string "xfer error %x\n" .section .rodata.nandc_xfer_done.str1.1,"aMS",@progbits,1 -.LC107: +.LC104: .string "flash_abort_clear = %d\n" -.LC108: +.LC105: .string "%d mtrans_cnt = %d page_num = %d\n" -.LC109: +.LC106: .string "%d flReg.d32=%x %x\n" -.LC110: +.LC107: .string "nandc:" -.LC111: +.LC108: .string "nandc_xfer_done read error %x\n" .section .rodata.pm_alloc_new_blk.str1.1,"aMS",@progbits,1 -.LC82: - .string "blk %x is bad block\n" -.LC83: +.LC172: .string "pm_alloc_new_blk: %x %x %x %x\n" .section .rodata.pm_free_sblk.str1.1,"aMS",@progbits,1 -.LC95: +.LC92: .string "GC PM block %x %x %x %d\n" -.LC96: +.LC93: .string "ftl_free_no_use_map_blk %x %x %x %d\n" .section .rodata.pm_init.str1.1,"aMS",@progbits,1 -.LC206: +.LC209: .string "pm_init posr %x %x %x\n" -.LC207: +.LC210: .string "pm_init recovery %x %x %x\n" -.LC208: +.LC211: .string "pm_init hash %x error\n" .section .rodata.pm_log2phys.str1.1,"aMS",@progbits,1 -.LC209: +.LC212: .string "pm_log2phys lpn = %d, max lpn = %d\n" .section .rodata.pm_ppa_update_check.str1.1,"aMS",@progbits,1 -.LC200: +.LC203: .string "%s w error lpn = %x, max ppa = %d\n" .section .rodata.pm_write_page.str1.1,"aMS",@progbits,1 -.LC165: +.LC173: .string "pm_write_page write error: %x\n" .section .rodata.print_ftl_debug_info.str1.1,"aMS",@progbits,1 .LC71: @@ -31860,19 +32510,19 @@ __func__.9991: .LC64: .string "%d: node:%x %x %x %x, %d %d %d %d %d\n" .section .rodata.queue_wait_first_req_completed.str1.1,"aMS",@progbits,1 -.LC140: +.LC137: .string "read: %x %x %x %x\n" -.LC141: +.LC138: .string "0set buf %d,status = %x, ppa = %x lun state = %d\n" -.LC142: +.LC139: .string "prog end %x %x error_ecc %d %d\n" -.LC143: +.LC140: .string "1set buf %d,status = %x, ppa = %x lun state = %d\n" -.LC144: +.LC141: .string "dp prog end %x %x error_ecc %d %d\n" .section .rodata.random_seed,"a",@progbits .align 3 - .set .LANCHOR55,. + 0 + .set .LANCHOR54,. + 0 .type random_seed, %object .size random_seed, 256 random_seed: @@ -32005,20 +32655,20 @@ random_seed: .hword 17598 .hword 28087 .section .rodata.rk_ftl_init.str1.1,"aMS",@progbits,1 -.LC251: +.LC254: .string "zftl_init %x\n" .section .rodata.rknand_print_hex.str1.1,"aMS",@progbits,1 -.LC101: +.LC98: .string "%s %p + 0x%x:" -.LC102: +.LC99: .string "%x " -.LC103: +.LC100: .string "" -.LC104: +.LC101: .string "%s\n" .section .rodata.samsung_14nm_mlc_rr,"a",@progbits .align 3 - .set .LANCHOR171,. + 0 + .set .LANCHOR168,. + 0 .type samsung_14nm_mlc_rr, %object .size samsung_14nm_mlc_rr, 104 samsung_14nm_mlc_rr: @@ -32128,7 +32778,7 @@ samsung_14nm_mlc_rr: .byte 8 .section .rodata.samsung_14nm_slc_rr,"a",@progbits .align 3 - .set .LANCHOR170,. + 0 + .set .LANCHOR167,. + 0 .type samsung_14nm_slc_rr, %object .size samsung_14nm_slc_rr, 26 samsung_14nm_slc_rr: @@ -32159,24 +32809,24 @@ samsung_14nm_slc_rr: .byte -115 .byte 100 .section .rodata.samsung_read_retrial.str1.1,"aMS",@progbits,1 -.LC121: +.LC118: .string "samsung SRR %d row=%x, status=%d\n" -.LC122: +.LC119: .string "samsung TRR %d row=%x, status=%d\n" -.LC123: +.LC120: .string "samsung RR %d row=%x,count %d,status=%d\n" .section .rodata.sandisk_prog_test_bad_block.str1.1,"aMS",@progbits,1 .LC40: .string "bad block test:%x %x\n" .section .rodata.sblk_mlc_dump_prog.str1.1,"aMS",@progbits,1 -.LC138: +.LC135: .string "sblk_mlc_dump_prog wl_addr= %x ppa = %x ppa = %x\n" .section .rodata.sblk_prog_page.str1.1,"aMS",@progbits,1 -.LC145: +.LC142: .string "sblk_prog_page ppa = %x, count = %d\n" .section .rodata.toshiba_15ref_value,"a",@progbits .align 3 - .set .LANCHOR22,. + 0 + .set .LANCHOR14,. + 0 .type toshiba_15ref_value, %object .size toshiba_15ref_value, 95 toshiba_15ref_value: @@ -32277,7 +32927,7 @@ toshiba_15ref_value: .byte 0 .section .rodata.toshiba_3D_slc_value,"a",@progbits .align 3 - .set .LANCHOR39,. + 0 + .set .LANCHOR38,. + 0 .type toshiba_3D_slc_value, %object .size toshiba_3D_slc_value, 11 toshiba_3D_slc_value: @@ -32294,7 +32944,7 @@ toshiba_3D_slc_value: .byte 56 .section .rodata.toshiba_3D_tlc_value,"a",@progbits .align 3 - .set .LANCHOR38,. + 0 + .set .LANCHOR37,. + 0 .type toshiba_3D_tlc_value, %object .size toshiba_3D_tlc_value, 399 toshiba_3D_tlc_value: @@ -32698,15 +33348,15 @@ toshiba_3D_tlc_value: .byte 12 .byte 14 .section .rodata.toshiba_3d_read_retrial.str1.1,"aMS",@progbits,1 -.LC117: +.LC114: .string "toshiba SRR %d row=%x, status=%d\n" -.LC118: +.LC115: .string "toshiba TRR %d row=%x, status=%d\n" -.LC119: +.LC116: .string "toshiba RR %d row=%x,count %d,status=%d\n" .section .rodata.toshiba_A19ref_value,"a",@progbits .align 3 - .set .LANCHOR23,. + 0 + .set .LANCHOR15,. + 0 .type toshiba_A19ref_value, %object .size toshiba_A19ref_value, 45 toshiba_A19ref_value: @@ -32757,7 +33407,7 @@ toshiba_A19ref_value: .byte 0 .section .rodata.toshiba_ref_value,"a",@progbits .align 3 - .set .LANCHOR25,. + 0 + .set .LANCHOR17,. + 0 .type toshiba_ref_value, %object .size toshiba_ref_value, 8 toshiba_ref_value: @@ -32771,7 +33421,7 @@ toshiba_ref_value: .byte 112 .section .rodata.ymtc_3D_slc_value,"a",@progbits .align 3 - .set .LANCHOR43,. + 0 + .set .LANCHOR42,. + 0 .type ymtc_3D_slc_value, %object .size ymtc_3D_slc_value, 10 ymtc_3D_slc_value: @@ -32787,7 +33437,7 @@ ymtc_3D_slc_value: .byte 56 .section .rodata.ymtc_3D_tlc_value,"a",@progbits .align 3 - .set .LANCHOR42,. + 0 + .set .LANCHOR41,. + 0 .type ymtc_3D_tlc_value, %object .size ymtc_3D_tlc_value, 357 ymtc_3D_tlc_value: @@ -33149,20 +33799,20 @@ ymtc_3D_tlc_value: .byte 12 .byte 14 .section .rodata.ymtc_3d_read_retrial.str1.1,"aMS",@progbits,1 -.LC120: +.LC117: .string "YMTC RR %d row=%x,count %d,status=%d\n" .section .rodata.ymtc_flash_tlc_page_prog.str1.1,"aMS",@progbits,1 -.LC134: +.LC131: .string "ymtc_flash_tlc_page_prog page_addr = %x status = %x\n" .section .rodata.zftl_discard.str1.1,"aMS",@progbits,1 -.LC253: +.LC256: .string "ftl_discard:(%x, %x, %x, %x)\n" .section .rodata.zftl_do_gc.str1.1,"aMS",@progbits,1 -.LC236: +.LC239: .string "gc %d: %d %d %d %d %d %d %d\n" -.LC237: +.LC240: .string "GC_STATE_SCAN_ALL_PAGE = %x, vpn0 = %d, vpn1 = %d\n" -.LC238: +.LC241: .string "gc free %x, %d\n" .section .rodata.zftl_gc_get_free_sblk.str1.1,"aMS",@progbits,1 .LC59: @@ -33175,41 +33825,41 @@ ymtc_3D_tlc_value: .LC62: .string "swl_slc_free_mini_ec_blk alloc sblk %x\n" .section .rodata.zftl_init.str1.1,"aMS",@progbits,1 -.LC239: - .string "FTL version: 6.0.23 20201130" -.LC240: - .string "_c_user_data_density := %d\n" -.LC241: - .string "_c_totle_phy_density := %d\n" .LC242: - .string "_c_totle_log_page := %d\n" + .string "FTL version: 6.0.24 20210107" .LC243: - .string "_c_totle_data_density := %d\n" + .string "_c_user_data_density := %d\n" .LC244: - .string "_c_ftl_pm_page_num := %d\n" + .string "_c_totle_phy_density := %d\n" .LC245: - .string "_c_ftl_byte_pre_page := %d\n" + .string "_c_totle_log_page := %d\n" .LC246: - .string "_c_max_pm_sblk := %d\n" + .string "_c_totle_data_density := %d\n" .LC247: - .string "_min_slc_super_block := %d\n" + .string "_c_ftl_pm_page_num := %d\n" .LC248: - .string "_max_xlc_super_block := %d\n" + .string "_c_ftl_byte_pre_page := %d\n" .LC249: - .string "gp_ftl_ext_info %p %p %p\n" + .string "_c_max_pm_sblk := %d\n" .LC250: + .string "_min_slc_super_block := %d\n" +.LC251: + .string "_max_xlc_super_block := %d\n" +.LC252: + .string "gp_ftl_ext_info %p %p %p\n" +.LC253: .string "flash info size: %d %d %d\n" .section .rodata.zftl_read.str1.1,"aMS",@progbits,1 -.LC225: +.LC228: .string "ftl_read %x %x %x\n" -.LC226: +.LC229: .string "ftl_read refresh =%x, lpa = %x, ppa= %x\n" -.LC227: +.LC230: .string "id=%d, status = %x, lpa = %x, ppa = %x spare = %x %x %x %x\n" .section .rodata.zftl_sblk_list_init.str1.1,"aMS",@progbits,1 -.LC94: +.LC91: .string "free blk vpn error: %x %x\n" .section .rodata.zftl_write.str1.1,"aMS",@progbits,1 -.LC252: +.LC255: .string "ftlwrite %x %x %x %x\n" .hidden free diff --git a/drivers/rknand/rk_zftl_spl_arm_v8.S b/drivers/rknand/rk_zftl_spl_arm_v8.S index 01eb17e7cc..1667ce9692 100644 --- a/drivers/rknand/rk_zftl_spl_arm_v8.S +++ b/drivers/rknand/rk_zftl_spl_arm_v8.S @@ -5,7 +5,7 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * date: 2020-11-30 + * date: 2021-01-07 */ .arch armv8-a+nosimd .file "rk_zftl_spl_arm_v8.S" @@ -149,60 +149,67 @@ _list_remove_node: strh w3, [x1, x0] b .L22 .size _list_remove_node, .-_list_remove_node - .section .text._list_pop_index_node,"ax",@progbits + .section .text.hynix_set_rr_para,"ax",@progbits .align 2 - .type _list_pop_index_node, %function -_list_pop_index_node: - stp x29, x30, [sp, -32]! + .type hynix_set_rr_para, %function +hynix_set_rr_para: + stp x29, x30, [sp, -64]! + adrp x2, .LANCHOR6 + and w1, w1, 255 + adrp x3, .LANCHOR7 add x29, sp, 0 + ldr x2, [x2, #:lo12:.LANCHOR6] + and w0, w0, 255 stp x19, x20, [sp, 16] - ldr x20, [x0] - cbz x20, .L31 - adrp x3, .LANCHOR4 - and w1, w1, 65535 - mov w4, 65535 - mov w5, 6 - ldr x19, [x3, #:lo12:.LANCHOR4] -.L27: - cbnz w1, .L28 -.L30: - sub x19, x20, x19 - mov x1, -6148914691236517206 - asr x19, x19, 1 - movk x1, 0xaaab, lsl 0 - mul x19, x19, x1 - and w19, w19, 65535 - mov w1, w19 - bl _list_remove_node - mov w0, -1 - strh w0, [x20] - strh w0, [x20, 2] - mov w0, w19 -.L25: - ldp x19, x20, [sp, 16] - ldp x29, x30, [sp], 32 - ret + stp x21, x22, [sp, 32] + add x21, x2, 112 + str x23, [sp, 48] + add x23, x2, 128 + ldr x19, [x3, #:lo12:.LANCHOR7] + ldrb w22, [x2, 113] + ldrb w2, [x2, 112] + cmp w2, 8 + mov x2, 32 + umaddl x1, w1, w22, x2 + beq .L26 + mov w2, 160 + umaddl x1, w2, w0, x1 +.L26: + ubfiz x0, x0, 8, 8 + add x21, x21, x1 + add x19, x19, x0 + mov x20, 0 + mov w0, 54 + str w0, [x19, 2056] .L28: - ldrh w3, [x20] - cmp w3, w4 - beq .L30 - sub w1, w1, #1 - umaddl x20, w3, w5, x19 - and w1, w1, 65535 - b .L27 -.L31: - mov w0, 65535 - b .L25 - .size _list_pop_index_node, .-_list_pop_index_node + cmp w22, w20, uxtb + bhi .L29 + ldp x21, x22, [sp, 32] + mov w0, 22 + ldr x23, [sp, 48] + str w0, [x19, 2056] + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 64 + ret +.L29: + ldrb w0, [x23, x20] + str w0, [x19, 2052] + mov x0, 1 + bl udelay + ldrsb w0, [x21, x20] + add x20, x20, 1 + str w0, [x19, 2048] + b .L28 + .size hynix_set_rr_para, .-hynix_set_rr_para .section .text._insert_free_list,"ax",@progbits .align 2 .type _insert_free_list, %function _insert_free_list: - adrp x3, .LANCHOR6 + adrp x3, .LANCHOR8 and w1, w1, 65535 - ldrh w3, [x3, #:lo12:.LANCHOR6] + ldrh w3, [x3, #:lo12:.LANCHOR8] cmp w3, w1 - bls .L33 + bls .L31 ldrh w3, [x2] mov w8, 6 ldr x7, [x0] @@ -215,18 +222,18 @@ _insert_free_list: add x6, x5, x12 strh w2, [x6, 2] strh w2, [x5, x12] - cbnz x7, .L35 -.L40: + cbnz x7, .L33 +.L38: str x6, [x0] ret -.L35: - adrp x2, .LANCHOR7 - adrp x3, .LANCHOR8 +.L33: + adrp x2, .LANCHOR9 + adrp x3, .LANCHOR10 mov w10, w8 mov w15, 65535 - ldr x11, [x2, #:lo12:.LANCHOR7] + ldr x11, [x2, #:lo12:.LANCHOR9] ubfiz x2, x1, 2, 16 - ldrh w14, [x3, #:lo12:.LANCHOR8] + ldrh w14, [x3, #:lo12:.LANCHOR10] mov x3, -6148914691236517206 movk x3, 0xaaab, lsl 0 ldr w4, [x11, x2] @@ -240,7 +247,7 @@ _insert_free_list: mul x2, x2, x3 mov x3, x7 and w2, w2, 65535 -.L38: +.L36: ubfiz x13, x2, 2, 16 ldr w8, [x11, x13] ldrh w13, [x11, x13] @@ -248,43 +255,43 @@ _insert_free_list: and w13, w13, 2047 madd w8, w14, w8, w13 cmp w4, w8, uxth - bls .L36 + bls .L34 ldrh w8, [x3] cmp w8, w15 - bne .L37 + bne .L35 strh w2, [x6, 2] strh w1, [x3] ret -.L37: +.L35: umaddl x3, w8, w10, x5 mov w2, w8 - b .L38 -.L36: + b .L36 +.L34: ldrh w4, [x3, 2] cmp x7, x3 strh w4, [x6, 2] strh w2, [x5, x12] - bne .L39 + bne .L37 strh w1, [x7, 2] - b .L40 -.L39: + b .L38 +.L37: ldrh w0, [x3, 2] mov w2, 6 umull x0, w0, w2 strh w1, [x5, x0] strh w1, [x3, 2] -.L33: +.L31: ret .size _insert_free_list, .-_insert_free_list .section .text._insert_data_list,"ax",@progbits .align 2 .type _insert_data_list, %function _insert_data_list: - adrp x3, .LANCHOR6 + adrp x3, .LANCHOR8 and w1, w1, 65535 - ldrh w4, [x3, #:lo12:.LANCHOR6] + ldrh w4, [x3, #:lo12:.LANCHOR8] cmp w4, w1 - bls .L63 + bls .L61 mov x5, x3 ldrh w3, [x2] mov w13, 6 @@ -298,38 +305,38 @@ _insert_data_list: add x11, x10, x13 strh w2, [x11, 2] strh w2, [x10, x13] - cbnz x12, .L44 + cbnz x12, .L42 str x11, [x0] ret -.L44: +.L42: stp x29, x30, [sp, -32]! - adrp x2, .LANCHOR9 + adrp x2, .LANCHOR11 uxtw x3, w1 - adrp x6, .LANCHOR8 + adrp x6, .LANCHOR10 add x29, sp, 0 - ldr x15, [x2, #:lo12:.LANCHOR9] - adrp x2, .LANCHOR7 + ldr x15, [x2, #:lo12:.LANCHOR11] + adrp x2, .LANCHOR9 ldrh w4, [x11, 4] - ldr x14, [x2, #:lo12:.LANCHOR7] + ldr x14, [x2, #:lo12:.LANCHOR9] stp x19, x20, [sp, 16] ldrh w8, [x15, x3, lsl 1] lsl x3, x3, 2 - ldrh w16, [x6, #:lo12:.LANCHOR8] + ldrh w16, [x6, #:lo12:.LANCHOR10] ldr w2, [x14, x3] mul w8, w8, w4 ldrh w3, [x14, x3] ubfx x2, x2, 11, 8 and w3, w3, 2047 - cbz w8, .L45 + cbz w8, .L43 madd w2, w16, w2, w3 add w8, w8, w2, uxth -.L45: +.L43: sub x2, x12, x10 mov x3, -6148914691236517206 asr x2, x2, 1 movk x3, 0xaaab, lsl 0 cmp w4, 0 - ldrh w19, [x5, #:lo12:.LANCHOR6] + ldrh w19, [x5, #:lo12:.LANCHOR8] csinv w8, w8, wzr, ne mov x7, x12 mul x2, x2, x3 @@ -337,13 +344,13 @@ _insert_data_list: mov w20, 65535 mov w30, 6 and w2, w2, 65535 -.L51: +.L49: add w4, w4, 1 and w4, w4, 65535 cmp w4, w19 - bhi .L41 + bhi .L39 cmp w1, w2 - beq .L41 + beq .L39 uxtw x6, w2 ldrh w17, [x7, 4] ldrh w3, [x15, x6, lsl 1] @@ -353,78 +360,45 @@ _insert_data_list: ldrh w6, [x14, x6] ubfx x5, x5, 11, 8 and w6, w6, 2047 - cbz w3, .L48 + cbz w3, .L46 madd w5, w16, w5, w6 add w3, w3, w5, uxth -.L48: - cbz w17, .L49 +.L46: + cbz w17, .L47 cmp w8, w3 - bls .L49 + bls .L47 ldrh w3, [x7] cmp w3, w20 - bne .L50 + bne .L48 strh w2, [x11, 2] strh w1, [x7] -.L41: +.L39: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret -.L50: +.L48: umaddl x7, w3, w30, x10 mov w2, w3 - b .L51 -.L49: + b .L49 +.L47: ldrh w3, [x7, 2] cmp x12, x7 strh w3, [x11, 2] strh w2, [x10, x13] - bne .L52 + bne .L50 strh w1, [x12, 2] str x11, [x0] - b .L41 -.L52: + b .L39 +.L50: ldrh w0, [x7, 2] mov w2, 6 umull x0, w0, w2 strh w1, [x10, x0] strh w1, [x7, 2] - b .L41 -.L63: + b .L39 +.L61: ret .size _insert_data_list, .-_insert_data_list - .section .text._list_get_gc_head_node.isra.2,"ax",@progbits - .align 2 - .type _list_get_gc_head_node.isra.2, %function -_list_get_gc_head_node.isra.2: - and w1, w1, 65535 - cbz x0, .L70 - adrp x2, .LANCHOR4 - mov w3, 65535 - mov w4, 6 - ldr x2, [x2, #:lo12:.LANCHOR4] -.L67: - cbz w1, .L68 - ldrh w0, [x0] - cmp w0, w3 - bne .L69 - ret -.L69: - sub w1, w1, #1 - umaddl x0, w0, w4, x2 - and w1, w1, 65535 - b .L67 -.L70: - mov w0, 65535 - ret -.L68: - sub x0, x0, x2 - mov x1, -6148914691236517206 - asr x0, x0, 1 - movk x1, 0xaaab, lsl 0 - mul x0, x0, x1 - and w0, w0, 65535 - ret - .size _list_get_gc_head_node.isra.2, .-_list_get_gc_head_node.isra.2 .section .text._list_update_data_list,"ax",@progbits .align 2 .type _list_update_data_list, %function @@ -433,20 +407,20 @@ _list_update_data_list: add x29, sp, 0 stp x19, x20, [sp, 16] and w19, w1, 65535 - adrp x1, .LANCHOR10 + adrp x1, .LANCHOR12 stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] - ldr x1, [x1, #:lo12:.LANCHOR10] + ldr x1, [x1, #:lo12:.LANCHOR12] ldrh w3, [x1, 16] str x25, [sp, 64] cmp w3, w19 - beq .L72 + beq .L63 ldrh w3, [x1, 48] cmp w3, w19 - beq .L72 + beq .L63 ldrh w1, [x1, 80] cmp w1, w19 - beq .L72 + beq .L63 adrp x1, .LANCHOR4 mov w22, 6 ldr x3, [x0] @@ -455,36 +429,36 @@ _list_update_data_list: ldr x24, [x1, #:lo12:.LANCHOR4] add x23, x24, x22 cmp x23, x3 - beq .L72 + beq .L63 mov x20, x0 ldrh w0, [x23, 2] mov w1, 65535 mov x21, x2 cmp w0, w1 - bne .L76 + bne .L67 ldrh w1, [x24, x22] cmp w1, w0 - bne .L76 - adrp x1, .LANCHOR11 + bne .L67 + adrp x1, .LANCHOR13 adrp x0, .LC0 mov w2, 273 - add x1, x1, :lo12:.LANCHOR11 + add x1, x1, :lo12:.LANCHOR13 add x0, x0, :lo12:.LC0 bl printf -.L76: +.L67: ldrh w1, [x23, 2] mov w0, 65535 cmp w1, w0 - bne .L77 + bne .L68 ldrh w0, [x24, x22] cmp w0, w1 - beq .L72 -.L77: - adrp x0, .LANCHOR9 + beq .L63 +.L68: + adrp x0, .LANCHOR11 ubfiz x2, x19, 1, 16 mov x5, -6148914691236517206 mov w4, -1 - ldr x0, [x0, #:lo12:.LANCHOR9] + ldr x0, [x0, #:lo12:.LANCHOR11] movk x5, 0xaaab, lsl 0 ldrh w3, [x0, x2] ldrh w2, [x23, 4] @@ -503,7 +477,7 @@ _list_update_data_list: mul w0, w0, w1 csel w0, w0, w4, ne cmp w3, w0 - bcs .L72 + bcs .L63 mov x2, x21 mov w1, w19 mov x0, x20 @@ -517,7 +491,7 @@ _list_update_data_list: ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 80 b _insert_data_list -.L72: +.L63: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -525,27 +499,137 @@ _list_update_data_list: ldp x29, x30, [sp], 80 ret .size _list_update_data_list, .-_list_update_data_list - .section .text.zftl_get_gc_node.part.10,"ax",@progbits + .section .text.nandc_de_cs.constprop.32,"ax",@progbits .align 2 - .type zftl_get_gc_node.part.10, %function -zftl_get_gc_node.part.10: - mov w1, w0 - adrp x0, .LANCHOR12 - ldr x0, [x0, #:lo12:.LANCHOR12] - b _list_get_gc_head_node.isra.2 - .size zftl_get_gc_node.part.10, .-zftl_get_gc_node.part.10 - .section .text.nandc_de_cs.constprop.33,"ax",@progbits - .align 2 - .type nandc_de_cs.constprop.33, %function -nandc_de_cs.constprop.33: - adrp x0, .LANCHOR13 - ldr x1, [x0, #:lo12:.LANCHOR13] + .type nandc_de_cs.constprop.32, %function +nandc_de_cs.constprop.32: + adrp x0, .LANCHOR7 + ldr x1, [x0, #:lo12:.LANCHOR7] ldr w0, [x1] and w0, w0, -256 and w0, w0, -131073 str w0, [x1] ret - .size nandc_de_cs.constprop.33, .-nandc_de_cs.constprop.33 + .size nandc_de_cs.constprop.32, .-nandc_de_cs.constprop.32 + .section .text.flash_read_status,"ax",@progbits + .align 2 + .global flash_read_status + .type flash_read_status, %function +flash_read_status: + stp x29, x30, [sp, -32]! + add x29, sp, 0 + str x19, [sp, 16] + mov x19, x0 + mov w0, 112 + str w0, [x19, 8] + mov x0, 1 + bl udelay + ldr w0, [x19] + ldr x19, [sp, 16] + and w0, w0, 255 + ldp x29, x30, [sp], 32 + ret + .size flash_read_status, .-flash_read_status + .section .text.toshiba_set_rr_para,"ax",@progbits + .align 2 + .global toshiba_set_rr_para + .type toshiba_set_rr_para, %function +toshiba_set_rr_para: + stp x29, x30, [sp, -96]! + add x29, sp, 0 + str x27, [sp, 80] + and w27, w1, 255 + add w2, w27, 1 + stp x21, x22, [sp, 32] + mov x21, x0 + mov w0, 5 + stp x19, x20, [sp, 16] + adrp x20, .LANCHOR14 + umull x2, w2, w0 + stp x23, x24, [sp, 48] + adrp x0, .LANCHOR15 + add x20, x20, :lo12:.LANCHOR14 + add x24, x0, :lo12:.LANCHOR15 + stp x25, x26, [sp, 64] + adrp x23, .LANCHOR18 + adrp x25, .LANCHOR16 + adrp x26, .LANCHOR17 + add x23, x23, :lo12:.LANCHOR18 + add x25, x25, :lo12:.LANCHOR16 + add x26, x26, :lo12:.LANCHOR17 + add x20, x20, x2 + add x24, x24, x2 + mov x22, x0 + mov x19, 0 +.L78: + ldrb w0, [x23] + cmp w0, w19 + bhi .L82 + 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], 96 + ret +.L82: + mov w0, 85 + str w0, [x21, 8] + add x0, x22, :lo12:.LANCHOR15 + ldrsb w0, [x19, x0] + str w0, [x21, 4] + mov x0, 1 + bl udelay + ldrb w0, [x25] + cmp w0, 34 + bne .L79 + ldrsb w0, [x24, x19] +.L84: + add x19, x19, 1 + str w0, [x21] + b .L78 +.L79: + cmp w0, 35 + bne .L81 + ldrsb w0, [x20, x19] + b .L84 +.L81: + ldrsb w0, [x26, w27, sxtw] + b .L84 + .size toshiba_set_rr_para, .-toshiba_set_rr_para + .section .text.hynix_reconfig_rr_para,"ax",@progbits + .align 2 + .global hynix_reconfig_rr_para + .type hynix_reconfig_rr_para, %function +hynix_reconfig_rr_para: + adrp x1, .LANCHOR16 + ldrb w1, [x1, #:lo12:.LANCHOR16] + sub w1, w1, #1 + and w1, w1, 255 + cmp w1, 7 + bhi .L91 + stp x29, x30, [sp, -32]! + and w0, w0, 255 + add x29, sp, 0 + stp x19, x20, [sp, 16] + adrp x20, .LANCHOR6 + sxtw x19, w0 + ldr x1, [x20, #:lo12:.LANCHOR6] + add x1, x1, x19 + ldrb w1, [x1, 120] + cbz w1, .L85 + mov w1, 0 + bl hynix_set_rr_para + ldr x0, [x20, #:lo12:.LANCHOR6] + add x0, x0, x19 + strb wzr, [x0, 120] +.L85: + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 32 + ret +.L91: + ret + .size hynix_reconfig_rr_para, .-hynix_reconfig_rr_para .section .text.nand_flash_print_info,"ax",@progbits .align 2 .global nand_flash_print_info @@ -554,19 +638,19 @@ nand_flash_print_info: stp x29, x30, [sp, -32]! add x29, sp, 0 str x19, [sp, 16] - adrp x19, .LANCHOR14 - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L86 - adrp x1, .LANCHOR15 + adrp x19, .LANCHOR19 + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L95 + adrp x1, .LANCHOR20 adrp x0, .LC1 - add x1, x1, :lo12:.LANCHOR15 + add x1, x1, :lo12:.LANCHOR20 add x0, x0, :lo12:.LC1 bl printf -.L86: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L87 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L95: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L96 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w6, [x0, 6] ldrb w5, [x0, 5] ldrb w4, [x0, 4] @@ -576,272 +660,272 @@ nand_flash_print_info: adrp x0, .LC2 add x0, x0, :lo12:.LC2 bl printf -.L87: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L88 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L96: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L97 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 8] adrp x0, .LC3 add x0, x0, :lo12:.LC3 bl printf -.L88: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L89 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L97: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L98 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 9] adrp x0, .LC4 add x0, x0, :lo12:.LC4 bl printf -.L89: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L90 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L98: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L99 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 10] adrp x0, .LC5 add x0, x0, :lo12:.LC5 bl printf -.L90: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L91 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L99: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L100 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 12] adrp x0, .LC6 add x0, x0, :lo12:.LC6 bl printf -.L91: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L92 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L100: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L101 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 13] adrp x0, .LC7 add x0, x0, :lo12:.LC7 bl printf -.L92: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L93 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L101: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L102 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 14] adrp x0, .LC8 add x0, x0, :lo12:.LC8 bl printf -.L93: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L94 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L102: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L103 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 23] adrp x0, .LC9 add x0, x0, :lo12:.LC9 bl printf -.L94: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L95 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L103: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L104 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 18] adrp x0, .LC10 add x0, x0, :lo12:.LC10 bl printf -.L95: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L96 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L104: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L105 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 19] adrp x0, .LC11 add x0, x0, :lo12:.LC11 bl printf -.L96: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L97 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L105: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L106 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 20] adrp x0, .LC12 add x0, x0, :lo12:.LC12 bl printf -.L97: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L98 - adrp x0, .LANCHOR17 - ldrb w1, [x0, #:lo12:.LANCHOR17] +.L106: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L107 + adrp x0, .LANCHOR22 + ldrb w1, [x0, #:lo12:.LANCHOR22] adrp x0, .LC13 add x0, x0, :lo12:.LC13 bl printf -.L98: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L99 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L107: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L108 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 22] adrp x0, .LC14 add x0, x0, :lo12:.LC14 bl printf -.L99: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L100 - adrp x0, .LANCHOR18 - ldrb w1, [x0, #:lo12:.LANCHOR18] +.L108: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L109 + adrp x0, .LANCHOR23 + ldrb w1, [x0, #:lo12:.LANCHOR23] adrp x0, .LC15 add x0, x0, :lo12:.LC15 bl printf -.L100: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L101 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L109: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L110 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 16] adrp x0, .LC16 add x0, x0, :lo12:.LC16 and w1, w1, 1 bl printf -.L101: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L102 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L110: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L111 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC17 add x0, x0, :lo12:.LC17 ubfx x1, x1, 1, 1 bl printf -.L102: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L103 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L111: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L112 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC18 add x0, x0, :lo12:.LC18 ubfx x1, x1, 2, 1 bl printf -.L103: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L104 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L112: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L113 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC19 add x0, x0, :lo12:.LC19 ubfx x1, x1, 3, 1 bl printf -.L104: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L105 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L113: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L114 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC20 add x0, x0, :lo12:.LC20 ubfx x1, x1, 4, 1 bl printf -.L105: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L106 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L114: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L115 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC21 add x0, x0, :lo12:.LC21 ubfx x1, x1, 5, 1 bl printf -.L106: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L107 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L115: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L116 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC22 add x0, x0, :lo12:.LC22 ubfx x1, x1, 6, 1 bl printf -.L107: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L108 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L116: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L117 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC23 add x0, x0, :lo12:.LC23 ubfx x1, x1, 7, 1 bl printf -.L108: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L109 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L117: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L118 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w1, [x0, 17] adrp x0, .LC24 add x0, x0, :lo12:.LC24 and w1, w1, 1 bl printf -.L109: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L110 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L118: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L119 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC25 add x0, x0, :lo12:.LC25 ubfx x1, x1, 9, 1 bl printf -.L110: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L111 - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L119: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L120 + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrh w1, [x0, 16] adrp x0, .LC26 add x0, x0, :lo12:.LC26 ubfx x1, x1, 10, 1 bl printf -.L111: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L112 - adrp x0, .LANCHOR19 - ldrb w2, [x0, #:lo12:.LANCHOR19] +.L120: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L121 + adrp x0, .LANCHOR24 + ldrb w2, [x0, #:lo12:.LANCHOR24] adrp x0, .LANCHOR0 ldrb w1, [x0, #:lo12:.LANCHOR0] adrp x0, .LC27 add x0, x0, :lo12:.LC27 bl printf -.L112: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L113 - adrp x0, .LANCHOR20 - add x0, x0, :lo12:.LANCHOR20 +.L121: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L122 + adrp x0, .LANCHOR25 + add x0, x0, :lo12:.LANCHOR25 ldrb w2, [x0, 11] ldrb w1, [x0, 10] adrp x0, .LC28 add x0, x0, :lo12:.LC28 bl printf -.L113: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L114 - adrp x0, .LANCHOR20 - add x0, x0, :lo12:.LANCHOR20 +.L122: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L123 + adrp x0, .LANCHOR25 + add x0, x0, :lo12:.LANCHOR25 ldrb w2, [x0, 9] ldrb w1, [x0, 8] adrp x0, .LC29 add x0, x0, :lo12:.LC29 bl printf -.L114: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L85 - adrp x0, .LANCHOR21 +.L123: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L94 + adrp x0, .LANCHOR26 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 - ldrb w1, [x0, #:lo12:.LANCHOR21] + ldrb w1, [x0, #:lo12:.LANCHOR26] adrp x0, .LC30 add x0, x0, :lo12:.LC30 b printf -.L85: +.L94: ldr x19, [sp, 16] ldp x29, x30, [sp], 32 ret @@ -851,193 +935,31 @@ nand_flash_print_info: .global timer_delay_ns .type timer_delay_ns, %function timer_delay_ns: - sub sp, sp, #16 - lsr w0, w0, 4 - str w0, [sp, 12] -.L205: - ldr w0, [sp, 12] - sub w1, w0, #1 - str w1, [sp, 12] - cbnz w0, .L205 - add sp, sp, 16 - ret + uxtw x0, w0 + mov x1, 1000 + add x0, x0, 999 + udiv x0, x0, x1 + b udelay .size timer_delay_ns, .-timer_delay_ns - .section .text.flash_read_status,"ax",@progbits - .align 2 - .global flash_read_status - .type flash_read_status, %function -flash_read_status: - stp x29, x30, [sp, -16]! - mov x2, x0 - mov w0, 112 - add x29, sp, 0 - str w0, [x2, 8] - mov w0, 120 - bl timer_delay_ns - ldr w0, [x2] - ldp x29, x30, [sp], 16 - and w0, w0, 255 - ret - .size flash_read_status, .-flash_read_status - .section .text.toshiba_set_rr_para,"ax",@progbits - .align 2 - .global toshiba_set_rr_para - .type toshiba_set_rr_para, %function -toshiba_set_rr_para: - and w11, w1, 255 - mov x4, x0 - add w2, w11, 1 - mov w0, 5 - adrp x6, .LANCHOR26 - add x6, x6, :lo12:.LANCHOR26 - adrp x3, .LANCHOR22 - add x3, x3, :lo12:.LANCHOR22 - umull x2, w2, w0 - adrp x0, .LANCHOR23 - add x7, x0, :lo12:.LANCHOR23 - mov x5, x0 - ldrb w0, [x6] - add x3, x3, x2 - add x7, x7, x2 - adrp x8, .LANCHOR24 - mov x2, 0 - adrp x10, .LANCHOR25 - add x8, x8, :lo12:.LANCHOR24 - add x10, x10, :lo12:.LANCHOR25 - cmp w0, w2 - bhi .L218 - ret -.L212: - cmp w0, 35 - bne .L214 - ldrsb w0, [x3, x2] - b .L219 -.L214: - ldrsb w0, [x10, w11, sxtw] - b .L219 -.L218: - stp x29, x30, [sp, -16]! - add x29, sp, 0 -.L215: - mov w0, 85 - str w0, [x4, 8] - add x0, x5, :lo12:.LANCHOR23 - ldrsb w0, [x2, x0] - str w0, [x4, 4] - mov w0, 200 - bl timer_delay_ns - ldrb w0, [x8] - cmp w0, 34 - bne .L212 - ldrsb w0, [x7, x2] -.L219: - str w0, [x4] - add x2, x2, 1 - ldrb w0, [x6] - cmp w0, w2 - bhi .L215 - ldp x29, x30, [sp], 16 - ret - .size toshiba_set_rr_para, .-toshiba_set_rr_para - .section .text.hynix_set_rr_para,"ax",@progbits - .align 2 - .type hynix_set_rr_para, %function -hynix_set_rr_para: - adrp x2, .LANCHOR27 - and w1, w1, 255 - and w0, w0, 255 - ldr x3, [x2, #:lo12:.LANCHOR27] - adrp x2, .LANCHOR13 - add x6, x3, 128 - add x4, x3, 112 - ldr x2, [x2, #:lo12:.LANCHOR13] - ldrb w5, [x3, 113] - ldrb w3, [x3, 112] - cmp w3, 8 - mov x3, 32 - umaddl x1, w1, w5, x3 - beq .L221 - mov w3, 160 - umaddl x1, w3, w0, x1 -.L221: - ubfiz x0, x0, 8, 8 - mov x3, 0 - add x2, x2, x0 - mov w0, 54 - add x4, x4, x1 - cmp w5, w3, uxtb - str w0, [x2, 2056] - bhi .L228 - mov w0, 22 - str w0, [x2, 2056] - ret -.L228: - stp x29, x30, [sp, -16]! - add x29, sp, 0 -.L224: - ldrb w0, [x6, x3] - str w0, [x2, 2052] - mov w0, 120 - bl timer_delay_ns - ldrsb w0, [x4, x3] - str w0, [x2, 2048] - add x3, x3, 1 - cmp w5, w3, uxtb - bhi .L224 - mov w0, 22 - str w0, [x2, 2056] - ldp x29, x30, [sp], 16 - ret - .size hynix_set_rr_para, .-hynix_set_rr_para - .section .text.hynix_reconfig_rr_para,"ax",@progbits - .align 2 - .global hynix_reconfig_rr_para - .type hynix_reconfig_rr_para, %function -hynix_reconfig_rr_para: - adrp x1, .LANCHOR24 - ldrb w1, [x1, #:lo12:.LANCHOR24] - sub w1, w1, #1 - and w1, w1, 255 - cmp w1, 7 - bhi .L235 - adrp x8, .LANCHOR27 - and w0, w0, 255 - sxtw x7, w0 - ldr x1, [x8, #:lo12:.LANCHOR27] - add x1, x1, x7 - ldrb w1, [x1, 120] - cbz w1, .L235 - stp x29, x30, [sp, -16]! - mov w1, 0 - add x29, sp, 0 - bl hynix_set_rr_para - ldr x0, [x8, #:lo12:.LANCHOR27] - add x0, x0, x7 - strb wzr, [x0, 120] - ldp x29, x30, [sp], 16 - ret -.L235: - ret - .size hynix_reconfig_rr_para, .-hynix_reconfig_rr_para .section .text.nandc_set_ddr_para,"ax",@progbits .align 2 .global nandc_set_ddr_para .type nandc_set_ddr_para, %function nandc_set_ddr_para: - adrp x1, .LANCHOR28 + adrp x1, .LANCHOR27 and w0, w0, 255 - adrp x2, .LANCHOR13 - ldrb w1, [x1, #:lo12:.LANCHOR28] - ldr x2, [x2, #:lo12:.LANCHOR13] + adrp x2, .LANCHOR7 + ldrb w1, [x1, #:lo12:.LANCHOR27] + ldr x2, [x2, #:lo12:.LANCHOR7] cmp w1, 9 lsl w1, w0, 16 lsl w0, w0, 8 orr w1, w1, w0 orr w1, w1, 3 - bne .L239 + bne .L215 str w1, [x2, 80] ret -.L239: +.L215: str w1, [x2, 304] ret .size nandc_set_ddr_para, .-nandc_set_ddr_para @@ -1046,43 +968,43 @@ nandc_set_ddr_para: .global nandc_get_ddr_para .type nandc_get_ddr_para, %function nandc_get_ddr_para: - adrp x0, .LANCHOR28 - ldrb w0, [x0, #:lo12:.LANCHOR28] + adrp x0, .LANCHOR27 + ldrb w0, [x0, #:lo12:.LANCHOR27] cmp w0, 9 - adrp x0, .LANCHOR13 - ldr x0, [x0, #:lo12:.LANCHOR13] - bne .L242 + adrp x0, .LANCHOR7 + ldr x0, [x0, #:lo12:.LANCHOR7] + bne .L218 ldr w0, [x0, 80] -.L244: +.L220: ubfx x0, x0, 8, 8 ret -.L242: +.L218: ldr w0, [x0, 304] - b .L244 + b .L220 .size nandc_get_ddr_para, .-nandc_get_ddr_para .section .text.nandc_set_if_mode,"ax",@progbits .align 2 .global nandc_set_if_mode .type nandc_set_if_mode, %function nandc_set_if_mode: - adrp x1, .LANCHOR13 + adrp x1, .LANCHOR7 and w0, w0, 255 tst w0, 6 - ldr x2, [x1, #:lo12:.LANCHOR13] + ldr x2, [x1, #:lo12:.LANCHOR7] ldr w1, [x2] - beq .L246 + beq .L222 tst x0, 4 orr w1, w1, 24576 - adrp x0, .LANCHOR28 + adrp x0, .LANCHOR27 and w1, w1, -32769 orr w1, w1, 196608 - ldrb w0, [x0, #:lo12:.LANCHOR28] + ldrb w0, [x0, #:lo12:.LANCHOR27] orr w3, w1, 32768 csel w1, w3, w1, ne cmp w0, 9 mov w0, 4099 movk w0, 0x10, lsl 16 - bne .L248 + bne .L224 mov w3, 8321 str w3, [x2, 8] str w0, [x2, 80] @@ -1090,10 +1012,10 @@ nandc_set_if_mode: str w0, [x2, 84] mov w0, 39 str w0, [x2, 84] -.L249: +.L225: str w1, [x2] ret -.L248: +.L224: mov w3, 8322 str w3, [x2, 344] str w0, [x2, 304] @@ -1101,20 +1023,20 @@ nandc_set_if_mode: str w0, [x2, 308] mov w0, 39 str w0, [x2, 308] - b .L249 -.L246: + b .L225 +.L222: and w1, w1, -8193 - b .L249 + b .L225 .size nandc_set_if_mode, .-nandc_set_if_mode .section .text.nandc_cs,"ax",@progbits .align 2 .global nandc_cs .type nandc_cs, %function nandc_cs: - adrp x1, .LANCHOR13 + adrp x1, .LANCHOR7 mov w2, 1 lsl w0, w2, w0 - ldr x3, [x1, #:lo12:.LANCHOR13] + ldr x3, [x1, #:lo12:.LANCHOR7] ldr w1, [x3] bfi w1, w0, 0, 8 str w1, [x3] @@ -1125,62 +1047,68 @@ nandc_cs: .global flash_wait_device_ready_raw .type flash_wait_device_ready_raw, %function flash_wait_device_ready_raw: - stp x29, x30, [sp, -48]! + stp x29, x30, [sp, -96]! add x29, sp, 0 - str x21, [sp, 32] - and w21, w0, 255 - adrp x0, .LANCHOR18 stp x19, x20, [sp, 16] - mov w19, w1 - mov w20, w2 - ldrb w0, [x0, #:lo12:.LANCHOR18] - cmp w0, w21 - bhi .L254 - adrp x1, .LANCHOR29 + and w19, w0, 255 + adrp x0, .LANCHOR23 + stp x25, x26, [sp, 64] + stp x21, x22, [sp, 32] + mov w20, w1 + ldrb w0, [x0, #:lo12:.LANCHOR23] + mov w26, w2 + stp x23, x24, [sp, 48] + str x27, [sp, 80] + cmp w0, w19 + bhi .L230 + adrp x1, .LANCHOR28 adrp x0, .LC0 - mov w2, 805 - add x1, x1, :lo12:.LANCHOR29 + mov w2, 812 + add x1, x1, :lo12:.LANCHOR28 add x0, x0, :lo12:.LC0 bl printf -.L254: - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 - lsr w7, w19, 8 - lsr w8, w19, 16 - lsr w10, w19, 24 - adrp x5, .LANCHOR31 - ldrb w6, [x0, w21, sxtw] - adrp x0, .LANCHOR13 - and w19, w19, 255 - add x5, x5, :lo12:.LANCHOR31 - ldr x4, [x0, #:lo12:.LANCHOR13] - mov w11, 120 - ubfiz x0, x6, 8, 8 - add x4, x4, x0 -.L260: - mov w0, w6 +.L230: + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 + lsr w23, w20, 8 + lsr w24, w20, 16 + lsr w25, w20, 24 + adrp x21, .LANCHOR30 + ldrb w22, [x0, w19, sxtw] + adrp x0, .LANCHOR7 + and w20, w20, 255 + add x21, x21, :lo12:.LANCHOR30 + ldr x19, [x0, #:lo12:.LANCHOR7] + mov w27, 120 + ubfiz x0, x22, 8, 8 + add x19, x19, x0 +.L236: + mov w0, w22 bl nandc_cs - str w11, [x4, 2056] - str w19, [x4, 2052] - ldrb w0, [x5] - str w7, [x4, 2052] - str w8, [x4, 2052] - cbz w0, .L255 - str w10, [x4, 2052] -.L255: - mov w0, 120 - bl timer_delay_ns - ldr w2, [x4, 2048] + str w27, [x19, 2056] + str w20, [x19, 2052] + ldrb w0, [x21] + str w23, [x19, 2052] + str w24, [x19, 2052] + cbz w0, .L231 + str w25, [x19, 2052] +.L231: + mov x0, 1 + bl udelay + ldr w2, [x19, 2048] and w2, w2, 255 - bl nandc_de_cs.constprop.33 - bics wzr, w20, w2 - bne .L260 + bl nandc_de_cs.constprop.32 + bics wzr, w26, w2 + bne .L236 cmp w2, 255 - beq .L260 + beq .L236 mov w0, w2 - ldr x21, [sp, 32] + ldr x27, [sp, 80] ldp x19, x20, [sp, 16] - ldp x29, x30, [sp], 48 + ldp x21, x22, [sp, 32] + ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] + ldp x29, x30, [sp], 96 ret .size flash_wait_device_ready_raw, .-flash_wait_device_ready_raw .section .text.flash_wait_device_ready,"ax",@progbits @@ -1189,10 +1117,10 @@ flash_wait_device_ready_raw: .type flash_wait_device_ready, %function flash_wait_device_ready: mov w2, w1 - adrp x1, .LANCHOR32 + adrp x1, .LANCHOR31 mov w5, 24 mov w4, 1 - ldrb w6, [x1, #:lo12:.LANCHOR32] + ldrb w6, [x1, #:lo12:.LANCHOR31] tst x0, 50331648 sub w5, w5, w6 lsl w3, w4, w5 @@ -1203,39 +1131,39 @@ flash_wait_device_ready: and w4, w4, w5 and w1, w3, w0 and w4, w4, 255 - bne .L265 + bne .L241 adrp x0, .LANCHOR0 adrp x5, .LANCHOR1 ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L266 + cbz w0, .L242 ldrb w0, [x5, #:lo12:.LANCHOR1] - cbz w0, .L265 -.L266: + cbz w0, .L241 +.L242: adrp x0, .LANCHOR2 ldrh w3, [x0, #:lo12:.LANCHOR2] udiv w0, w1, w3 mul w0, w0, w3 sub w3, w1, w0 ldrb w1, [x5, #:lo12:.LANCHOR1] - cbz w1, .L267 + cbz w1, .L243 add w1, w0, w3, lsl 1 -.L265: +.L241: mov w0, w4 b flash_wait_device_ready_raw -.L267: +.L243: adrp x5, .LANCHOR3 add x5, x5, :lo12:.LANCHOR3 ldrh w3, [x5, w3, uxtw 1] add w1, w3, w0 - b .L265 + b .L241 .size flash_wait_device_ready, .-flash_wait_device_ready .section .text.nandc_de_cs,"ax",@progbits .align 2 .global nandc_de_cs .type nandc_de_cs, %function nandc_de_cs: - adrp x0, .LANCHOR13 - ldr x1, [x0, #:lo12:.LANCHOR13] + adrp x0, .LANCHOR7 + ldr x1, [x0, #:lo12:.LANCHOR7] ldr w0, [x1] and w0, w0, -256 and w0, w0, -131073 @@ -1247,194 +1175,207 @@ nandc_de_cs: .global nandc_wait_flash_ready_no_delay .type nandc_wait_flash_ready_no_delay, %function nandc_wait_flash_ready_no_delay: - mov w2, 34464 - stp x29, x30, [sp, -32]! - movk w2, 0x1, lsl 16 - adrp x3, .LANCHOR13 + stp x29, x30, [sp, -48]! add x29, sp, 0 -.L277: - ldr x0, [x3, #:lo12:.LANCHOR13] + stp x19, x20, [sp, 16] + mov w19, 34464 + movk w19, 0x1, lsl 16 + adrp x20, .LANCHOR7 +.L253: + ldr x0, [x20, #:lo12:.LANCHOR7] ldr w0, [x0] - str w0, [x29, 24] - ldr w0, [x29, 24] - tbnz x0, 9, .L278 - mov w0, 10 - bl timer_delay_ns - subs w2, w2, #1 - bne .L277 + str w0, [x29, 40] + ldr w0, [x29, 40] + tbnz x0, 9, .L254 + mov x0, 1 + bl udelay + subs w19, w19, #1 + bne .L253 mov w0, -1 -.L275: - ldp x29, x30, [sp], 32 +.L251: + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 48 ret -.L278: +.L254: mov w0, 0 - b .L275 + b .L251 .size nandc_wait_flash_ready_no_delay, .-nandc_wait_flash_ready_no_delay .section .text.zftl_flash_enter_slc_mode,"ax",@progbits .align 2 .global zftl_flash_enter_slc_mode .type zftl_flash_enter_slc_mode, %function zftl_flash_enter_slc_mode: - and x4, x0, 255 - adrp x0, .LANCHOR0 - ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L300 - adrp x1, .LANCHOR13 - cmp w0, 1 - ldr x5, [x1, #:lo12:.LANCHOR13] - bne .L284 - adrp x0, .LANCHOR33+29 - ldrb w0, [x0, #:lo12:.LANCHOR33+29] - cbz w0, .L300 - add x4, x4, 8 - add x4, x5, x4, lsl 8 - str w0, [x4, 8] - ret -.L284: - stp x29, x30, [sp, -16]! - cmp w0, 2 + stp x29, x30, [sp, -48]! add x29, sp, 0 - bne .L286 - adrp x0, .LANCHOR34 - add x0, x0, :lo12:.LANCHOR34 - ldrb w1, [x0, x4] - cbz w1, .L281 - adrp x6, .LANCHOR33 - add x6, x6, :lo12:.LANCHOR33 - strb wzr, [x0, x4] - ldrb w0, [x6, 29] - cbz w0, .L281 - bl nandc_wait_flash_ready_no_delay - add x4, x4, 8 - add x4, x5, x4, lsl 8 - ldrb w0, [x6, 29] - str w0, [x4, 8] -.L281: - ldp x29, x30, [sp], 16 + stp x19, x20, [sp, 16] + and x19, x0, 255 + adrp x0, .LANCHOR0 + stp x21, x22, [sp, 32] + ldrb w0, [x0, #:lo12:.LANCHOR0] + cbz w0, .L257 + adrp x1, .LANCHOR7 + cmp w0, 1 + ldr x20, [x1, #:lo12:.LANCHOR7] + bne .L260 + adrp x0, .LANCHOR32+29 + ldrb w0, [x0, #:lo12:.LANCHOR32+29] + cbz w0, .L257 +.L276: + add x19, x19, 8 + add x19, x20, x19, lsl 8 + str w0, [x19, 8] +.L257: + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x29, x30, [sp], 48 ret -.L286: - cmp w0, 3 - bne .L281 - adrp x6, .LANCHOR34 - sxtw x7, w4 - add x6, x6, :lo12:.LANCHOR34 - ldrb w0, [x6, x7] - cbz w0, .L281 +.L260: + cmp w0, 2 + bne .L262 + adrp x0, .LANCHOR33 + add x0, x0, :lo12:.LANCHOR33 + ldrb w1, [x0, x19] + cbz w1, .L257 + adrp x21, .LANCHOR32 + add x21, x21, :lo12:.LANCHOR32 + strb wzr, [x0, x19] + ldrb w0, [x21, 29] + cbz w0, .L257 bl nandc_wait_flash_ready_no_delay - ubfiz x4, x4, 8, 8 - add x4, x5, x4 + ldrb w0, [x21, 29] + b .L276 +.L262: + cmp w0, 3 + bne .L257 + adrp x21, .LANCHOR33 + sxtw x22, w19 + add x21, x21, :lo12:.LANCHOR33 + ldrb w0, [x21, x22] + cbz w0, .L257 + ubfiz x19, x19, 8, 8 + bl nandc_wait_flash_ready_no_delay + add x19, x20, x19 mov w0, 239 - strb wzr, [x6, x7] - str w0, [x4, 2056] + strb wzr, [x21, x22] + str w0, [x19, 2056] mov w0, 145 - str w0, [x4, 2052] - mov w0, 100 - bl timer_delay_ns - str wzr, [x4, 2048] + str w0, [x19, 2052] + mov x0, 1 + bl udelay + str wzr, [x19, 2048] mov w0, 1 - str w0, [x4, 2048] - str wzr, [x4, 2048] - mov w0, 150 - str wzr, [x4, 2048] - bl timer_delay_ns + str w0, [x19, 2048] + str wzr, [x19, 2048] + mov x0, 1 + str wzr, [x19, 2048] + bl udelay bl nandc_wait_flash_ready_no_delay mov w0, 218 - str w0, [x4, 2056] - b .L281 -.L300: - ret + ldp x21, x22, [sp, 32] + str w0, [x19, 2056] + ldp x19, x20, [sp, 16] + mov x0, 1 + ldp x29, x30, [sp], 48 + b udelay .size zftl_flash_enter_slc_mode, .-zftl_flash_enter_slc_mode .section .text.zftl_flash_exit_slc_mode,"ax",@progbits .align 2 .global zftl_flash_exit_slc_mode .type zftl_flash_exit_slc_mode, %function zftl_flash_exit_slc_mode: - and x4, x0, 255 - adrp x0, .LANCHOR0 - ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L323 - adrp x1, .LANCHOR13 - cmp w0, 1 - ldr x5, [x1, #:lo12:.LANCHOR13] - bne .L305 - adrp x0, .LANCHOR33+30 - ldrb w0, [x0, #:lo12:.LANCHOR33+30] - cbz w0, .L323 - add x4, x4, 8 - add x4, x5, x4, lsl 8 - str w0, [x4, 8] - ret -.L305: - stp x29, x30, [sp, -16]! - cmp w0, 2 + stp x29, x30, [sp, -64]! add x29, sp, 0 - bne .L307 - adrp x0, .LANCHOR34 - add x0, x0, :lo12:.LANCHOR34 - ldrb w1, [x0, x4] - cbnz w1, .L302 - adrp x6, .LANCHOR33 - add x6, x6, :lo12:.LANCHOR33 + stp x19, x20, [sp, 16] + and x19, x0, 255 + adrp x0, .LANCHOR0 + stp x21, x22, [sp, 32] + str x23, [sp, 48] + ldrb w0, [x0, #:lo12:.LANCHOR0] + cbz w0, .L277 + adrp x1, .LANCHOR7 + cmp w0, 1 + ldr x20, [x1, #:lo12:.LANCHOR7] + bne .L280 + adrp x0, .LANCHOR32+30 + ldrb w0, [x0, #:lo12:.LANCHOR32+30] + cbz w0, .L277 +.L298: + add x19, x19, 8 + add x19, x20, x19, lsl 8 + str w0, [x19, 8] +.L277: + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldr x23, [sp, 48] + ldp x29, x30, [sp], 64 + ret +.L280: + cmp w0, 2 + bne .L282 + adrp x0, .LANCHOR33 + add x0, x0, :lo12:.LANCHOR33 + ldrb w1, [x0, x19] + cbnz w1, .L277 + adrp x21, .LANCHOR32 + add x21, x21, :lo12:.LANCHOR32 mov w2, 4 - ldrb w1, [x6, 12] + ldrb w1, [x21, 12] cmp w1, 2 csel w1, w1, w2, eq - strb w1, [x0, x4] - ldrb w0, [x6, 30] - cbz w0, .L302 + strb w1, [x0, x19] + ldrb w0, [x21, 30] + cbz w0, .L277 bl nandc_wait_flash_ready_no_delay - add x4, x4, 8 - add x4, x5, x4, lsl 8 - ldrb w0, [x6, 30] - str w0, [x4, 8] -.L302: - ldp x29, x30, [sp], 16 - ret -.L307: + ldrb w0, [x21, 30] + b .L298 +.L282: cmp w0, 3 - bne .L302 - adrp x6, .LANCHOR34 - sxtw x7, w4 - add x6, x6, :lo12:.LANCHOR34 - ldrb w0, [x6, x7] - cbnz w0, .L302 + bne .L277 + adrp x21, .LANCHOR33 + sxtw x23, w19 + add x21, x21, :lo12:.LANCHOR33 + ldrb w0, [x21, x23] + cbnz w0, .L277 + adrp x22, .LANCHOR32 + add x22, x22, :lo12:.LANCHOR32 bl nandc_wait_flash_ready_no_delay - ubfiz x4, x4, 8, 8 - adrp x2, .LANCHOR33 - add x2, x2, :lo12:.LANCHOR33 - add x4, x5, x4 + ubfiz x19, x19, 8, 8 + add x19, x20, x19 mov w1, 4 - ldrb w0, [x2, 12] + ldrb w0, [x22, 12] cmp w0, 2 csel w0, w0, w1, eq - strb w0, [x6, x7] + strb w0, [x21, x23] mov w0, 239 - str w0, [x4, 2056] + str w0, [x19, 2056] mov w0, 145 - str w0, [x4, 2052] - mov w0, 100 - bl timer_delay_ns - ldrb w0, [x2, 7] + str w0, [x19, 2052] + mov x0, 1 + bl udelay + ldrb w0, [x22, 7] cmp w0, 9 mov w0, 1 - bne .L310 - str w0, [x4, 2048] -.L311: - str w0, [x4, 2048] - mov w0, 150 - str wzr, [x4, 2048] - str wzr, [x4, 2048] - bl timer_delay_ns + bne .L285 + str w0, [x19, 2048] +.L286: + str w0, [x19, 2048] + mov x0, 1 + str wzr, [x19, 2048] + str wzr, [x19, 2048] + bl udelay bl nandc_wait_flash_ready_no_delay + ldr x23, [sp, 48] + ldp x21, x22, [sp, 32] mov w0, 223 - str w0, [x4, 2056] - b .L302 -.L310: - ldrb w1, [x6, x7] - str w1, [x4, 2048] - b .L311 -.L323: - ret + str w0, [x19, 2056] + mov x0, 1 + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 64 + b udelay +.L285: + ldrb w1, [x21, x23] + str w1, [x19, 2048] + b .L286 .size zftl_flash_exit_slc_mode, .-zftl_flash_exit_slc_mode .section .text.flash_start_page_read,"ax",@progbits .align 2 @@ -1442,235 +1383,242 @@ zftl_flash_exit_slc_mode: .type flash_start_page_read, %function flash_start_page_read: stp x29, x30, [sp, -64]! - mov w8, 24 add x29, sp, 0 - stp x19, x20, [sp, 16] - and w20, w0, 255 - adrp x0, .LANCHOR32 stp x21, x22, [sp, 32] - mov w19, 1 - mov w21, w1 - ldrb w0, [x0, #:lo12:.LANCHOR32] + and w21, w0, 255 + adrp x0, .LANCHOR31 + stp x19, x20, [sp, 16] str x23, [sp, 48] - sub w22, w8, w0 - lsl w19, w19, w0 - sub w19, w19, #1 - lsr w0, w1, w22 - and w19, w19, w0 - adrp x0, .LANCHOR18 - and w19, w19, 255 - mov x23, x0 - ldrb w1, [x0, #:lo12:.LANCHOR18] - cmp w1, w19 - bhi .L326 - adrp x1, .LANCHOR35 + mov w19, 24 + ldrb w0, [x0, #:lo12:.LANCHOR31] + mov w20, 1 + mov w22, w1 + sub w23, w19, w0 + lsl w20, w20, w0 + sub w20, w20, #1 + lsr w0, w1, w23 + and w20, w20, w0 + adrp x0, .LANCHOR23 + and w20, w20, 255 + mov x19, x0 + ldrb w1, [x0, #:lo12:.LANCHOR23] + cmp w1, w20 + bhi .L300 + adrp x1, .LANCHOR34 adrp x0, .LC0 - mov w2, 1001 - add x1, x1, :lo12:.LANCHOR35 + mov w2, 1013 + add x1, x1, :lo12:.LANCHOR34 add x0, x0, :lo12:.LC0 bl printf -.L326: - ldrb w0, [x23, #:lo12:.LANCHOR18] - cmp w0, w19 - bls .L325 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 - mov w8, 1 - lsl w8, w8, w22 - sub w8, w8, #1 - ldrb w11, [x0, w19, sxtw] - adrp x0, .LANCHOR13 - and w8, w8, w21 - ubfx x21, x21, 24, 2 - ldr x10, [x0, #:lo12:.LANCHOR13] - mov w0, w11 +.L300: + ldrb w0, [x19, #:lo12:.LANCHOR23] + cmp w0, w20 + bls .L299 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 + mov w19, 1 + ubfx x4, x22, 24, 2 + lsl w19, w19, w23 + sub w19, w19, #1 + and w19, w19, w22 + ldrb w22, [x0, w20, sxtw] + adrp x0, .LANCHOR7 + adrp x23, .LANCHOR21 + ldr x20, [x0, #:lo12:.LANCHOR7] + mov w0, w22 bl nandc_cs - adrp x12, .LANCHOR16 - cbnz w21, .L328 - mov w0, w8 + cbnz w4, .L302 + mov w0, w19 bl slc_phy_page_address_calc - mov w8, w0 + mov w19, w0 adrp x0, .LANCHOR0 ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L329 - mov w0, w11 + cbz w0, .L303 + mov w0, w22 bl zftl_flash_enter_slc_mode -.L329: - ldr x0, [x12, #:lo12:.LANCHOR16] +.L303: + ldr x0, [x23, #:lo12:.LANCHOR21] ldrb w1, [x0, 7] cmp w1, 1 - bne .L331 + bne .L305 ldrb w0, [x0, 12] cmp w0, 2 - bne .L331 - sxtw x0, w11 + bne .L305 + sxtw x0, w22 mov w1, 38 add x0, x0, 8 - add x0, x10, x0, lsl 8 + add x0, x20, x0, lsl 8 str w1, [x0, 8] -.L331: - ubfiz x0, x11, 8, 8 - and w1, w8, 255 - add x0, x10, x0 +.L305: + ubfiz x0, x22, 8, 8 + and w1, w19, 255 + add x0, x20, x0 str wzr, [x0, 2056] str wzr, [x0, 2052] str wzr, [x0, 2052] str w1, [x0, 2052] - lsr w1, w8, 8 + lsr w1, w19, 8 str w1, [x0, 2052] - lsr w1, w8, 16 + lsr w1, w19, 16 str w1, [x0, 2052] - adrp x1, .LANCHOR31 - ldrb w1, [x1, #:lo12:.LANCHOR31] - cbz w1, .L332 - lsr w8, w8, 24 - str w8, [x0, 2052] -.L332: - str w20, [x0, 2056] -.L325: + adrp x1, .LANCHOR30 + ldrb w1, [x1, #:lo12:.LANCHOR30] + cbz w1, .L306 + lsr w19, w19, 24 + str w19, [x0, 2052] +.L306: + str w21, [x0, 2056] +.L299: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldr x23, [sp, 48] ldp x29, x30, [sp], 64 ret -.L328: - ldr x0, [x12, #:lo12:.LANCHOR16] +.L302: + ldr x0, [x23, #:lo12:.LANCHOR21] ldrb w0, [x0, 12] cmp w0, 3 - bne .L330 + bne .L304 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L304 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L330 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbnz w0, .L330 - sxtw x0, w11 + cbnz w0, .L304 + sxtw x0, w22 add x0, x0, 8 - add x0, x10, x0, lsl 8 - str w21, [x0, 8] - b .L329 -.L330: - mov w0, w11 + add x0, x20, x0, lsl 8 + str w4, [x0, 8] + b .L303 +.L304: + mov w0, w22 bl zftl_flash_exit_slc_mode - b .L329 + b .L303 .size flash_start_page_read, .-flash_start_page_read .section .text.nandc_wait_flash_ready,"ax",@progbits .align 2 .global nandc_wait_flash_ready .type nandc_wait_flash_ready, %function nandc_wait_flash_ready: - stp x29, x30, [sp, -32]! - mov w0, 150 + stp x29, x30, [sp, -48]! + mov x0, 1 add x29, sp, 0 - bl timer_delay_ns - mov w2, 34464 - adrp x3, .LANCHOR13 - movk w2, 0x1, lsl 16 -.L342: - ldr x0, [x3, #:lo12:.LANCHOR13] + stp x19, x20, [sp, 16] + mov w19, 34464 + movk w19, 0x1, lsl 16 + adrp x20, .LANCHOR7 + bl udelay +.L316: + ldr x0, [x20, #:lo12:.LANCHOR7] ldr w0, [x0] - str w0, [x29, 24] - ldr w0, [x29, 24] - tbnz x0, 9, .L343 - mov w0, 10 - bl timer_delay_ns - subs w2, w2, #1 - bne .L342 + str w0, [x29, 40] + ldr w0, [x29, 40] + tbnz x0, 9, .L317 + mov x0, 1 + bl udelay + subs w19, w19, #1 + bne .L316 mov w0, -1 -.L340: - ldp x29, x30, [sp], 32 +.L314: + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 48 ret -.L343: +.L317: mov w0, 0 - b .L340 + b .L314 .size nandc_wait_flash_ready, .-nandc_wait_flash_ready .section .text.sandisk_set_rr_para,"ax",@progbits .align 2 .global sandisk_set_rr_para .type sandisk_set_rr_para, %function sandisk_set_rr_para: - stp x29, x30, [sp, -16]! - mov x3, x0 - and w2, w1, 255 - mov w0, 239 + stp x29, x30, [sp, -32]! add x29, sp, 0 - str w0, [x3, 8] + stp x19, x20, [sp, 16] + mov x20, x0 + mov w0, 239 + and w19, w1, 255 + str w0, [x20, 8] mov w0, 17 - str w0, [x3, 4] - mov w0, 200 - bl timer_delay_ns - add w1, w2, 1 - adrp x0, .LANCHOR26 - adrp x2, .LANCHOR22 - add x2, x2, :lo12:.LANCHOR22 - ldrb w4, [x0, #:lo12:.LANCHOR26] - adrp x0, .LANCHOR24 - ldrb w5, [x0, #:lo12:.LANCHOR24] + str w0, [x20, 4] + mov x0, 1 + bl udelay + adrp x0, .LANCHOR18 + add w1, w19, 1 + adrp x2, .LANCHOR14 + add x2, x2, :lo12:.LANCHOR14 + ldrb w3, [x0, #:lo12:.LANCHOR18] + adrp x0, .LANCHOR16 + ldrb w4, [x0, #:lo12:.LANCHOR16] mov w0, 5 umull x1, w1, w0 - adrp x0, .LANCHOR23 - add x0, x0, :lo12:.LANCHOR23 + adrp x0, .LANCHOR15 + add x0, x0, :lo12:.LANCHOR15 add x2, x2, x1 add x1, x0, x1 mov x0, 0 -.L347: - cmp w4, w0 - bhi .L350 - ldp x29, x30, [sp], 16 +.L321: + cmp w3, w0 + bhi .L324 + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 32 b nandc_wait_flash_ready -.L350: - cmp w5, 67 - bne .L348 - ldrsb w6, [x1, x0] -.L352: +.L324: + cmp w4, 67 + bne .L322 + ldrsb w5, [x1, x0] +.L326: add x0, x0, 1 - str w6, [x3] - b .L347 -.L348: - ldrsb w6, [x2, x0] - b .L352 + str w5, [x20] + b .L321 +.L322: + ldrsb w5, [x2, x0] + b .L326 .size sandisk_set_rr_para, .-sandisk_set_rr_para .section .text.toshiba_3d_set_tlc_rr_para,"ax",@progbits .align 2 .global toshiba_3d_set_tlc_rr_para .type toshiba_3d_set_tlc_rr_para, %function toshiba_3d_set_tlc_rr_para: - mov x4, x0 - stp x29, x30, [sp, -16]! + stp x29, x30, [sp, -48]! and x2, x1, 255 mov x1, 7 add x29, sp, 0 - mov w6, 213 - str w6, [x4, 8] - str wzr, [x4, 4] - nop // between mem op and mult-accumulate + stp x19, x20, [sp, 16] + mov x19, x0 + str x21, [sp, 32] + mov w21, 213 madd x1, x2, x1, x1 mov w0, -119 - str w0, [x4, 4] - adrp x0, .LANCHOR38 - add x0, x0, :lo12:.LANCHOR38 - add x5, x0, x1 + str w21, [x19, 8] + str wzr, [x19, 4] + str w0, [x19, 4] + adrp x0, .LANCHOR37 + add x0, x0, :lo12:.LANCHOR37 + add x20, x0, x1 ldrsb w0, [x0, x1] - str w0, [x4] - ldrsb w0, [x5, 1] - str w0, [x4] - ldrsb w0, [x5, 2] - str w0, [x4] - ldrsb w0, [x5, 3] - str w0, [x4] + str w0, [x19] + ldrsb w0, [x20, 1] + str w0, [x19] + ldrsb w0, [x20, 2] + str w0, [x19] + ldrsb w0, [x20, 3] + str w0, [x19] bl nandc_wait_flash_ready - ldp x29, x30, [sp], 16 - str w6, [x4, 8] - str wzr, [x4, 4] + str w21, [x19, 8] + str wzr, [x19, 4] mov w0, -118 - str w0, [x4, 4] - ldrsb w0, [x5, 4] - str w0, [x4] - ldrsb w0, [x5, 5] - str w0, [x4] - ldrsb w0, [x5, 6] - str w0, [x4] - str wzr, [x4] + str w0, [x19, 4] + ldrsb w0, [x20, 4] + ldr x21, [sp, 32] + str w0, [x19] + ldrsb w0, [x20, 5] + str w0, [x19] + ldrsb w0, [x20, 6] + str w0, [x19] + str wzr, [x19] + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 48 b nandc_wait_flash_ready .size toshiba_3d_set_tlc_rr_para, .-toshiba_3d_set_tlc_rr_para .section .text.toshiba_3d_set_slc_rr_para,"ax",@progbits @@ -1683,8 +1631,8 @@ toshiba_3d_set_slc_rr_para: str wzr, [x0, 4] mov w2, -117 str w2, [x0, 4] - adrp x2, .LANCHOR39 - add x2, x2, :lo12:.LANCHOR39 + adrp x2, .LANCHOR38 + add x2, x2, :lo12:.LANCHOR38 add x1, x2, x1, uxtb ldrsb w1, [x1, 1] str w1, [x0] @@ -1698,101 +1646,109 @@ toshiba_3d_set_slc_rr_para: .global toshiba_tlc_set_rr_para .type toshiba_tlc_set_rr_para, %function toshiba_tlc_set_rr_para: - mov w6, 239 + stp x29, x30, [sp, -48]! uxtw x1, w1 - cbz w2, .L357 - stp x29, x30, [sp, -16]! - mov x4, x0 + add x29, sp, 0 + str x21, [sp, 32] + mov w21, 239 + stp x19, x20, [sp, 16] + cbz w2, .L331 + mov x19, x0 mov x2, 7 mov w0, 18 - add x29, sp, 0 - str w6, [x4, 8] mul x1, x1, x2 - str w0, [x4, 4] - adrp x0, .LANCHOR40 - add x0, x0, :lo12:.LANCHOR40 - add x5, x0, x1 + str w21, [x19, 8] + str w0, [x19, 4] + adrp x0, .LANCHOR39 + add x0, x0, :lo12:.LANCHOR39 + add x20, x0, x1 ldrb w0, [x0, x1] - str w0, [x4] - ldrb w0, [x5, 1] - str w0, [x4] - ldrb w0, [x5, 2] - str w0, [x4] - ldrb w0, [x5, 3] - str w0, [x4] + str w0, [x19] + ldrb w0, [x20, 1] + str w0, [x19] + ldrb w0, [x20, 2] + str w0, [x19] + ldrb w0, [x20, 3] + str w0, [x19] bl nandc_wait_flash_ready - str w6, [x4, 8] + str w21, [x19, 8] mov w0, 19 - str w0, [x4, 4] - ldrb w0, [x5, 4] - str w0, [x4] - ldrb w0, [x5, 5] - str w0, [x4] - ldrb w0, [x5, 6] - str w0, [x4] - str wzr, [x4] - ldp x29, x30, [sp], 16 -.L360: + str w0, [x19, 4] + ldrb w0, [x20, 4] + str w0, [x19] + ldrb w0, [x20, 5] + str w0, [x19] + ldrb w0, [x20, 6] + str w0, [x19] + str wzr, [x19] +.L332: + ldp x19, x20, [sp, 16] + ldr x21, [sp, 32] + ldp x29, x30, [sp], 48 b nandc_wait_flash_ready -.L357: - str w6, [x0, 8] +.L331: + str w21, [x0, 8] mov w2, 20 str w2, [x0, 4] - adrp x2, .LANCHOR41 - add x2, x2, :lo12:.LANCHOR41 + adrp x2, .LANCHOR40 + add x2, x2, :lo12:.LANCHOR40 ldrb w1, [x2, x1] str w1, [x0] str wzr, [x0] str wzr, [x0] str wzr, [x0] - b .L360 + b .L332 .size toshiba_tlc_set_rr_para, .-toshiba_tlc_set_rr_para .section .text.ymtc_3d_set_tlc_rr_para,"ax",@progbits .align 2 .global ymtc_3d_set_tlc_rr_para .type ymtc_3d_set_tlc_rr_para, %function ymtc_3d_set_tlc_rr_para: - mov x4, x0 - stp x29, x30, [sp, -16]! + stp x29, x30, [sp, -48]! and x1, x1, 255 mov x2, 7 add x29, sp, 0 - mov w6, 239 - mov w0, 160 - str w6, [x4, 8] + stp x19, x20, [sp, 16] + mov x19, x0 + str x21, [sp, 32] mul x1, x1, x2 - str w0, [x4, 4] - adrp x0, .LANCHOR42 - add x0, x0, :lo12:.LANCHOR42 - add x5, x0, x1 + mov w21, 239 + mov w0, 160 + str w21, [x19, 8] + str w0, [x19, 4] + adrp x0, .LANCHOR41 + add x0, x0, :lo12:.LANCHOR41 + add x20, x0, x1 ldrsb w0, [x0, x1] - str w0, [x4] - ldrsb w0, [x5, 4] - str w0, [x4] - str wzr, [x4] - str wzr, [x4] + str w0, [x19] + ldrsb w0, [x20, 4] + str w0, [x19] + str wzr, [x19] + str wzr, [x19] bl nandc_wait_flash_ready - str w6, [x4, 8] + str w21, [x19, 8] mov w0, 161 - str w0, [x4, 4] - ldrsb w0, [x5, 1] - str w0, [x4] - ldrsb w0, [x5, 3] - str w0, [x4] - ldrsb w0, [x5, 5] - str w0, [x4] - str wzr, [x4] + str w0, [x19, 4] + ldrsb w0, [x20, 1] + str w0, [x19] + ldrsb w0, [x20, 3] + str w0, [x19] + ldrsb w0, [x20, 5] + str w0, [x19] + str wzr, [x19] bl nandc_wait_flash_ready - ldp x29, x30, [sp], 16 + str w21, [x19, 8] mov w0, 162 - str w6, [x4, 8] - str w0, [x4, 4] - ldrsb w0, [x5, 2] - str w0, [x4] - ldrsb w0, [x5, 6] - str w0, [x4] - str wzr, [x4] - str wzr, [x4] + str w0, [x19, 4] + ldrsb w0, [x20, 2] + ldr x21, [sp, 32] + str w0, [x19] + ldrsb w0, [x20, 6] + str w0, [x19] + str wzr, [x19] + str wzr, [x19] + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 48 b nandc_wait_flash_ready .size ymtc_3d_set_tlc_rr_para, .-ymtc_3d_set_tlc_rr_para .section .text.ymtc_3d_set_slc_rr_para,"ax",@progbits @@ -1805,8 +1761,8 @@ ymtc_3d_set_slc_rr_para: mov w2, 163 and x1, x1, 255 str w2, [x0, 4] - adrp x2, .LANCHOR43 - add x2, x2, :lo12:.LANCHOR43 + adrp x2, .LANCHOR42 + add x2, x2, :lo12:.LANCHOR42 ldrsb w1, [x2, x1] str w1, [x0] str wzr, [x0] @@ -1823,125 +1779,125 @@ flash_erase_duplane_block: add x29, sp, 0 stp x21, x22, [sp, 32] and w22, w0, 255 - adrp x0, .LANCHOR18 + adrp x0, .LANCHOR23 stp x19, x20, [sp, 16] stp x23, x24, [sp, 48] and w24, w1, 255 str x25, [sp, 64] mov w21, w2 - ldrb w1, [x0, #:lo12:.LANCHOR18] + ldrb w1, [x0, #:lo12:.LANCHOR23] mov w20, w3 mov x19, x0 cmp w1, w22 - bhi .L367 - adrp x1, .LANCHOR44 + bhi .L338 + adrp x1, .LANCHOR43 adrp x0, .LC0 - mov w2, 688 - add x1, x1, :lo12:.LANCHOR44 + mov w2, 695 + add x1, x1, :lo12:.LANCHOR43 add x0, x0, :lo12:.LC0 bl printf -.L367: - ldrb w0, [x19, #:lo12:.LANCHOR18] +.L338: + ldrb w0, [x19, #:lo12:.LANCHOR23] cmp w0, w22 - bls .L376 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 + bls .L347 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 ldrb w22, [x0, w22, sxtw] - adrp x0, .LANCHOR13 - ldr x25, [x0, #:lo12:.LANCHOR13] - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR7 + ldr x25, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR19 and x19, x22, 255 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] add x23, x19, 8 add x23, x25, x23, lsl 8 - tbz x0, 4, .L369 + tbz x0, 4, .L340 adrp x0, .LC31 mov w3, w20 mov w2, w21 mov w1, w22 add x0, x0, :lo12:.LC31 bl printf -.L369: +.L340: bl nandc_wait_flash_ready mov w0, w22 bl nandc_cs mov w0, w22 - cbnz w24, .L370 + cbnz w24, .L341 bl zftl_flash_enter_slc_mode -.L371: - add x25, x25, x19, lsl 8 +.L342: + add x19, x25, x19, lsl 8 mov w0, 96 - str w0, [x25, 2056] + str w0, [x19, 2056] and w0, w21, 255 - str w0, [x25, 2052] + str w0, [x19, 2052] lsr w0, w21, 8 - str w0, [x25, 2052] + str w0, [x19, 2052] lsr w0, w21, 16 - str w0, [x25, 2052] - adrp x0, .LANCHOR31 - mov x6, x0 - ldrb w1, [x0, #:lo12:.LANCHOR31] - cbz w1, .L372 + str w0, [x19, 2052] + adrp x0, .LANCHOR30 + mov x24, x0 + ldrb w1, [x0, #:lo12:.LANCHOR30] + cbz w1, .L343 lsr w0, w21, 24 - str w0, [x25, 2052] -.L372: - adrp x0, .LANCHOR45 - ldrb w0, [x0, #:lo12:.LANCHOR45] - cbnz w0, .L377 + str w0, [x19, 2052] +.L343: + adrp x0, .LANCHOR44 + ldrb w0, [x0, #:lo12:.LANCHOR44] + cbnz w0, .L348 mov w0, 208 - str w0, [x25, 2056] - mov w19, 5 + str w0, [x19, 2056] + mov w22, 5 bl nandc_wait_flash_ready mov x0, x23 bl flash_read_status - and w5, w0, w19 -.L373: + and w22, w0, w22 +.L344: mov w0, 96 - str w0, [x25, 2056] + str w0, [x19, 2056] and w0, w20, 255 - str w0, [x25, 2052] + str w0, [x19, 2052] lsr w0, w20, 8 - str w0, [x25, 2052] + str w0, [x19, 2052] lsr w0, w20, 16 - str w0, [x25, 2052] - ldrb w0, [x6, #:lo12:.LANCHOR31] - cbz w0, .L374 + str w0, [x19, 2052] + ldrb w0, [x24, #:lo12:.LANCHOR30] + cbz w0, .L345 lsr w20, w20, 24 - str w20, [x25, 2052] -.L374: + str w20, [x19, 2052] +.L345: mov w0, 208 - str w0, [x25, 2056] + str w0, [x19, 2056] mov w19, 5 bl nandc_wait_flash_ready mov x0, x23 bl flash_read_status mov w2, w0 - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 and w19, w2, w19 - orr w19, w19, w5 - cbz w19, .L375 + orr w19, w19, w22 + cbz w19, .L346 adrp x0, .LC32 mov w1, w21 add x0, x0, :lo12:.LC32 bl printf -.L375: +.L346: mov w0, w19 -.L366: +.L337: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldr x25, [sp, 64] ldp x29, x30, [sp], 80 ret -.L370: +.L341: bl zftl_flash_exit_slc_mode - b .L371 -.L377: - mov w5, 0 - b .L373 -.L376: + b .L342 +.L348: + mov w22, 0 + b .L344 +.L347: mov w0, -1 - b .L366 + b .L337 .size flash_erase_duplane_block, .-flash_erase_duplane_block .section .text.flash_erase_block_en,"ax",@progbits .align 2 @@ -1952,59 +1908,59 @@ flash_erase_block_en: add x29, sp, 0 stp x21, x22, [sp, 32] and w22, w0, 255 - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 stp x19, x20, [sp, 16] mov w19, 24 stp x23, x24, [sp, 48] - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] and w24, w1, 255 stp x25, x26, [sp, 64] mov w23, w2 sub w0, w19, w0 mov w19, 1 lsl w19, w19, w0 - adrp x0, .LANCHOR18 + adrp x0, .LANCHOR23 sub w19, w19, #1 mov x20, x0 - ldrb w1, [x0, #:lo12:.LANCHOR18] + ldrb w1, [x0, #:lo12:.LANCHOR23] and w19, w19, w2 cmp w1, w22 - bhi .L392 - adrp x1, .LANCHOR46 + bhi .L363 + adrp x1, .LANCHOR45 adrp x0, .LC0 - mov w2, 750 - add x1, x1, :lo12:.LANCHOR46 + mov w2, 757 + add x1, x1, :lo12:.LANCHOR45 add x0, x0, :lo12:.LC0 bl printf -.L392: - ldrb w0, [x20, #:lo12:.LANCHOR18] +.L363: + ldrb w0, [x20, #:lo12:.LANCHOR23] cmp w0, w22 - bls .L399 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 + bls .L370 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 ldrb w21, [x0, w22, sxtw] - adrp x0, .LANCHOR13 - ldr x26, [x0, #:lo12:.LANCHOR13] - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR7 + ldr x26, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR19 and x20, x21, 255 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] add x25, x20, 8 add x25, x26, x25, lsl 8 - tbz x0, 4, .L394 + tbz x0, 4, .L365 adrp x0, .LC33 mov w3, w24 mov w2, w23 mov w1, w21 add x0, x0, :lo12:.LC33 bl printf -.L394: +.L365: bl nandc_wait_flash_ready mov w0, w21 bl nandc_cs mov w0, w21 - cbnz w24, .L395 + cbnz w24, .L366 bl zftl_flash_enter_slc_mode -.L396: +.L367: add x0, x26, x20, lsl 8 mov w1, 96 str w1, [x0, 2056] @@ -2014,22 +1970,22 @@ flash_erase_block_en: str w1, [x0, 2052] lsr w1, w19, 16 str w1, [x0, 2052] - adrp x1, .LANCHOR31 - ldrb w1, [x1, #:lo12:.LANCHOR31] - cbz w1, .L397 + adrp x1, .LANCHOR30 + ldrb w1, [x1, #:lo12:.LANCHOR30] + cbz w1, .L368 lsr w19, w19, 24 str w19, [x0, 2052] -.L397: +.L368: mov w1, 208 str w1, [x0, 2056] bl nandc_wait_flash_ready mov x0, x25 bl flash_read_status mov w3, w0 - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 mov w0, 5 ands w3, w3, w0 - beq .L398 + beq .L369 adrp x0, .LANCHOR2 mov w1, w22 ldrh w2, [x0, #:lo12:.LANCHOR2] @@ -2038,21 +1994,21 @@ flash_erase_block_en: udiv w2, w23, w2 bl printf mov w3, -1 -.L398: +.L369: mov w0, w3 -.L391: +.L362: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 80 ret -.L395: +.L366: bl zftl_flash_exit_slc_mode - b .L396 -.L399: + b .L367 +.L370: mov w0, -1 - b .L391 + b .L362 .size flash_erase_block_en, .-flash_erase_block_en .section .text.flash_erase_block,"ax",@progbits .align 2 @@ -2069,8 +2025,8 @@ flash_erase_block: .type flash_erase_all, %function flash_erase_all: stp x29, x30, [sp, -80]! - adrp x0, .LANCHOR33 - add x0, x0, :lo12:.LANCHOR33 + adrp x0, .LANCHOR32 + add x0, x0, :lo12:.LANCHOR32 add x29, sp, 0 stp x19, x20, [sp, 16] mov w19, 0 @@ -2079,17 +2035,17 @@ flash_erase_all: stp x21, x22, [sp, 32] add x23, x23, :lo12:.LANCHOR2 ldrh w20, [x0, 14] - adrp x22, .LANCHOR18 + adrp x22, .LANCHOR23 str x25, [sp, 64] - add x22, x22, :lo12:.LANCHOR18 - adrp x24, .LANCHOR30 + add x22, x22, :lo12:.LANCHOR23 + adrp x24, .LANCHOR29 ldrb w1, [x0, 13] mul w20, w20, w1 and w20, w20, 65535 -.L412: +.L383: ldrb w0, [x22] cmp w0, w19 - bhi .L415 + bhi .L386 ldp x19, x20, [sp, 16] mov w1, 0 ldp x21, x22, [sp, 32] @@ -2099,188 +2055,194 @@ flash_erase_all: ldr x25, [sp, 64] ldp x29, x30, [sp], 80 b printf -.L415: - add x0, x24, :lo12:.LANCHOR30 +.L386: + add x0, x24, :lo12:.LANCHOR29 mov w21, 0 ldrb w25, [x0, w19, sxtw] -.L413: +.L384: cmp w20, w21, uxth - bhi .L414 + bhi .L385 add w19, w19, 1 and w19, w19, 65535 - b .L412 -.L414: + b .L383 +.L385: ldrh w1, [x23] mov w0, w25 mul w1, w1, w21 add w21, w21, 1 bl flash_erase_block - b .L413 + b .L384 .size flash_erase_all, .-flash_erase_all .section .text.flash_start_plane_read,"ax",@progbits .align 2 .global flash_start_plane_read .type flash_start_plane_read, %function flash_start_plane_read: - stp x29, x30, [sp, -48]! - adrp x2, .LANCHOR32 + stp x29, x30, [sp, -96]! + adrp x2, .LANCHOR31 mov w3, 24 add x29, sp, 0 stp x19, x20, [sp, 16] - ldrb w20, [x2, #:lo12:.LANCHOR32] + ldrb w19, [x2, #:lo12:.LANCHOR31] mov w2, 1 stp x21, x22, [sp, 32] - ubfx x21, x0, 24, 2 - sub w3, w3, w20 - lsl w20, w2, w20 - sub w20, w20, #1 - lsl w19, w2, w3 + ubfx x22, x0, 24, 2 + sub w3, w3, w19 + stp x23, x24, [sp, 48] + lsl w19, w2, w19 sub w19, w19, #1 - and w22, w19, w0 + lsl w20, w2, w3 + sub w20, w20, #1 + and w23, w20, w0 lsr w3, w0, w3 - adrp x0, .LANCHOR18 - and w20, w20, w3 - and w20, w20, 255 - and w19, w19, w1 - ldrb w0, [x0, #:lo12:.LANCHOR18] - cmp w0, w20 - bhi .L418 - adrp x1, .LANCHOR47 + adrp x0, .LANCHOR23 + and w19, w19, w3 + stp x25, x26, [sp, 64] + and w19, w19, 255 + ldrb w0, [x0, #:lo12:.LANCHOR23] + and w20, w20, w1 + stp x27, x28, [sp, 80] + cmp w0, w19 + bhi .L389 + adrp x1, .LANCHOR46 adrp x0, .LC0 - mov w2, 1128 - add x1, x1, :lo12:.LANCHOR47 + mov w2, 1148 + add x1, x1, :lo12:.LANCHOR46 add x0, x0, :lo12:.LC0 bl printf -.L418: - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 - ldrb w8, [x0, w20, sxtw] - adrp x0, .LANCHOR13 - ldr x10, [x0, #:lo12:.LANCHOR13] - mov w0, w8 +.L389: + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 + adrp x25, .LANCHOR21 + ldrb w21, [x0, w19, sxtw] + adrp x0, .LANCHOR7 + ldr x24, [x0, #:lo12:.LANCHOR7] + mov w0, w21 bl nandc_cs - adrp x11, .LANCHOR16 - cbnz w21, .L419 - mov w0, w22 + cbnz w22, .L390 + mov w0, w23 bl slc_phy_page_address_calc - mov w22, w0 - mov w0, w19 + mov w23, w0 + mov w0, w20 bl slc_phy_page_address_calc - mov w19, w0 + mov w20, w0 adrp x0, .LANCHOR0 ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L420 - mov w0, w8 + cbz w0, .L391 + mov w0, w21 bl zftl_flash_enter_slc_mode -.L420: - adrp x0, .LANCHOR20 - add x1, x0, :lo12:.LANCHOR20 - and x4, x8, 255 - and w5, w22, 255 - lsr w3, w22, 8 - and w12, w19, 255 +.L391: + adrp x0, .LANCHOR25 + add x1, x0, :lo12:.LANCHOR25 + and x19, x21, 255 + and w4, w23, 255 + lsr w3, w23, 8 + and w28, w20, 255 ldrb w2, [x1, 16] - lsr w7, w19, 8 - lsr w6, w19, 16 + lsr w27, w20, 8 + lsr w26, w20, 16 cmp w2, 1 - lsr w2, w22, 16 - bne .L422 - add x4, x10, x4, lsl 8 + lsr w2, w23, 16 + bne .L393 + add x19, x24, x19, lsl 8 ldrb w1, [x1, 8] - str w1, [x4, 2056] - adrp x1, .LANCHOR31 - str wzr, [x4, 2052] - str wzr, [x4, 2052] - str w5, [x4, 2052] - mov x5, x1 - str w3, [x4, 2052] - str w2, [x4, 2052] - ldrb w2, [x1, #:lo12:.LANCHOR31] - cbz w2, .L423 - lsr w22, w22, 24 - str w22, [x4, 2052] -.L423: - add x0, x0, :lo12:.LANCHOR20 + str w1, [x19, 2056] + adrp x1, .LANCHOR30 + str wzr, [x19, 2052] + mov x21, x1 + str wzr, [x19, 2052] + str w4, [x19, 2052] + str w3, [x19, 2052] + str w2, [x19, 2052] + ldrb w2, [x1, #:lo12:.LANCHOR30] + cbz w2, .L394 + lsr w23, w23, 24 + str w23, [x19, 2052] +.L394: + add x0, x0, :lo12:.LANCHOR25 ldrb w0, [x0, 9] - str w0, [x4, 2056] + str w0, [x19, 2056] bl nandc_wait_flash_ready - ldr x0, [x11, #:lo12:.LANCHOR16] + ldr x0, [x25, #:lo12:.LANCHOR21] ldrb w0, [x0, 12] cmp w0, 3 - bne .L424 - cbz w21, .L424 - str w21, [x4, 2056] -.L424: - str wzr, [x4, 2056] - str wzr, [x4, 2052] - str wzr, [x4, 2052] - str w12, [x4, 2052] - ldrb w0, [x5, #:lo12:.LANCHOR31] - str w7, [x4, 2052] - str w6, [x4, 2052] - cbz w0, .L445 - lsr w19, w19, 24 - str w19, [x4, 2052] -.L445: - ldp x19, x20, [sp, 16] - mov w0, 48 + bne .L395 + cbz w22, .L395 + str w22, [x19, 2056] +.L395: + str wzr, [x19, 2056] + str wzr, [x19, 2052] + str wzr, [x19, 2052] + str w28, [x19, 2052] + ldrb w0, [x21, #:lo12:.LANCHOR30] + str w27, [x19, 2052] + str w26, [x19, 2052] + cbz w0, .L416 + lsr w20, w20, 24 + str w20, [x19, 2052] +.L416: ldp x21, x22, [sp, 32] - str w0, [x4, 2056] - ldp x29, x30, [sp], 48 - b nandc_de_cs.constprop.33 -.L419: - ldr x0, [x11, #:lo12:.LANCHOR16] + mov w0, 48 + ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] + ldp x27, x28, [sp, 80] + str w0, [x19, 2056] + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 96 + ret +.L390: + ldr x0, [x25, #:lo12:.LANCHOR21] ldrb w0, [x0, 12] cmp w0, 3 - bne .L421 + bne .L392 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L392 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L421 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbnz w0, .L421 - sxtw x0, w8 + cbnz w0, .L392 + sxtw x0, w21 add x0, x0, 8 - add x0, x10, x0, lsl 8 - str w21, [x0, 8] - b .L420 -.L421: - mov w0, w8 + add x0, x24, x0, lsl 8 + str w22, [x0, 8] + b .L391 +.L392: + mov w0, w21 bl zftl_flash_exit_slc_mode - b .L420 -.L422: - ldr x1, [x11, #:lo12:.LANCHOR16] - ldrb w11, [x1, 7] - cmp w11, 1 - bne .L427 - ldrb w11, [x1, 12] - cmp w11, 2 - bne .L427 - add x8, x8, 8 - mov w11, 38 - add x8, x10, x8, lsl 8 - str w11, [x8, 8] -.L427: - add x8, x0, :lo12:.LANCHOR20 - add x4, x10, x4, lsl 8 - ldrb w8, [x8, 8] - str w8, [x4, 2056] - str w5, [x4, 2052] - str w3, [x4, 2052] - str w2, [x4, 2052] + b .L391 +.L393: + ldr x1, [x25, #:lo12:.LANCHOR21] + ldrb w5, [x1, 7] + cmp w5, 1 + bne .L398 + ldrb w5, [x1, 12] + cmp w5, 2 + bne .L398 + add x21, x21, 8 + mov w5, 38 + add x21, x24, x21, lsl 8 + str w5, [x21, 8] +.L398: + add x5, x0, :lo12:.LANCHOR25 + add x19, x24, x19, lsl 8 + ldrb w5, [x5, 8] + str w5, [x19, 2056] + str w4, [x19, 2052] + str w3, [x19, 2052] + str w2, [x19, 2052] ldrb w1, [x1, 12] cmp w1, 3 - bne .L428 - cbz w21, .L428 - str w21, [x4, 2056] -.L428: - add x0, x0, :lo12:.LANCHOR20 + bne .L399 + cbz w22, .L399 + str w22, [x19, 2056] +.L399: + add x0, x0, :lo12:.LANCHOR25 ldrb w0, [x0, 9] - str w0, [x4, 2056] - str w12, [x4, 2052] - str w7, [x4, 2052] - str w6, [x4, 2052] - b .L445 + str w0, [x19, 2056] + str w28, [x19, 2052] + str w27, [x19, 2052] + str w26, [x19, 2052] + b .L416 .size flash_start_plane_read, .-flash_start_plane_read .section .text.flash_set_interface_mode,"ax",@progbits .align 2 @@ -2290,50 +2252,50 @@ flash_set_interface_mode: stp x29, x30, [sp, -80]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x22, .LANCHOR48 + adrp x22, .LANCHOR47 stp x19, x20, [sp, 16] - adrp x21, .LANCHOR14 + adrp x21, .LANCHOR19 stp x23, x24, [sp, 48] - adrp x20, .LANCHOR49 + adrp x20, .LANCHOR48 mov w23, w0 - add x22, x22, :lo12:.LANCHOR48 - add x20, x20, :lo12:.LANCHOR49 - add x21, x21, :lo12:.LANCHOR14 + add x22, x22, :lo12:.LANCHOR47 + add x20, x20, :lo12:.LANCHOR48 + add x21, x21, :lo12:.LANCHOR19 str x25, [sp, 64] mov x25, 0 -.L459: - adrp x0, .LANCHOR13 - ldr x19, [x0, #:lo12:.LANCHOR13] +.L430: + adrp x0, .LANCHOR7 + ldr x19, [x0, #:lo12:.LANCHOR7] lsl x0, x25, 3 ldrb w24, [x0, x22] cmp w24, 69 - beq .L447 + beq .L418 add w0, w24, 119 cmp w24, 44 and w1, w0, 255 cset w2, eq cmp w1, 18 - bhi .L460 + bhi .L431 mov x0, 32769 movk x0, 0x4, lsl 16 lsr x0, x0, x1 mvn x0, x0 -.L448: +.L419: and w0, w0, 1 eor w0, w0, 1 orr w0, w2, w0 - cbz w0, .L449 -.L447: + cbz w0, .L420 +.L418: ldrb w1, [x20] cmp w23, 1 - bne .L450 - tbz x1, 0, .L449 + bne .L421 + tbz x1, 0, .L420 ldr w0, [x21] - tbz x0, 12, .L451 + tbz x0, 12, .L422 adrp x0, .LC36 add x0, x0, :lo12:.LC36 bl printf -.L451: +.L422: add x0, x19, x25, lsl 8 mov w1, 239 cmp w24, 44 @@ -2341,20 +2303,20 @@ flash_set_interface_mode: mov w1, 137 ccmp w24, w1, 4, ne mov w1, 1 - bne .L452 -.L483: + bne .L423 +.L454: str w1, [x0, 2052] mov w1, 5 -.L482: +.L453: str w1, [x0, 2048] -.L457: +.L428: str wzr, [x0, 2048] str wzr, [x0, 2048] str wzr, [x0, 2048] -.L449: +.L420: add x25, x25, 1 cmp x25, 4 - bne .L459 + bne .L430 bl nandc_wait_flash_ready ldr x25, [sp, 64] mov w0, 0 @@ -2363,71 +2325,73 @@ flash_set_interface_mode: ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 80 ret -.L460: +.L431: mov x0, 1 - b .L448 -.L452: + b .L419 +.L423: cmp w24, 155 - beq .L483 + beq .L454 mov w2, 128 str w2, [x0, 2052] - b .L482 -.L450: - tbz x1, 2, .L449 + b .L453 +.L421: + tbz x1, 2, .L420 ldr w0, [x21] - tbz x0, 12, .L455 + tbz x0, 12, .L426 adrp x0, .LC37 add x0, x0, :lo12:.LC37 bl printf -.L455: +.L426: add x0, x19, x25, lsl 8 mov w1, 239 cmp w24, 44 str w1, [x0, 2056] mov w1, 137 ccmp w24, w1, 4, ne - bne .L456 + bne .L427 mov w1, 1 str w1, [x0, 2052] mov w1, 35 - b .L482 -.L456: + b .L453 +.L427: cmp w24, 155 - bne .L458 + bne .L429 mov w1, 1 str w1, [x0, 2052] mov w1, 37 - b .L482 -.L458: + b .L453 +.L429: mov w1, 128 str w1, [x0, 2052] str wzr, [x0, 2048] - b .L457 + b .L428 .size flash_set_interface_mode, .-flash_set_interface_mode .section .text.mt_auto_read_calibration_config,"ax",@progbits .align 2 .type mt_auto_read_calibration_config, %function mt_auto_read_calibration_config: - mov w5, w1 - and w4, w0, 255 - stp x29, x30, [sp, -16]! + stp x29, x30, [sp, -32]! add x29, sp, 0 + stp x19, x20, [sp, 16] + mov w20, w1 + and w19, w0, 255 bl nandc_wait_flash_ready - ubfiz x4, x4, 8, 8 - adrp x0, .LANCHOR13 - ldr x2, [x0, #:lo12:.LANCHOR13] + adrp x1, .LANCHOR7 + ubfiz x0, x19, 8, 8 + ldr x19, [x1, #:lo12:.LANCHOR7] + add x19, x19, x0 mov w0, 239 - add x2, x2, x4 - str w0, [x2, 2056] + str w0, [x19, 2056] mov w0, 150 - str w0, [x2, 2052] - mov w0, 200 - bl timer_delay_ns - str w5, [x2, 2048] - str wzr, [x2, 2048] - str wzr, [x2, 2048] - str wzr, [x2, 2048] - ldp x29, x30, [sp], 16 + str w0, [x19, 2052] + mov x0, 1 + bl udelay + str w20, [x19, 2048] + str wzr, [x19, 2048] + str wzr, [x19, 2048] + str wzr, [x19, 2048] + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 32 ret .size mt_auto_read_calibration_config, .-mt_auto_read_calibration_config .section .text.flash_reset,"ax",@progbits @@ -2435,10 +2399,10 @@ mt_auto_read_calibration_config: .global flash_reset .type flash_reset, %function flash_reset: - adrp x1, .LANCHOR13 + adrp x1, .LANCHOR7 ubfiz x0, x0, 8, 8 add x0, x0, 2048 - ldr x1, [x1, #:lo12:.LANCHOR13] + ldr x1, [x1, #:lo12:.LANCHOR7] add x1, x1, x0 mov w0, 255 str w0, [x1, 8] @@ -2449,57 +2413,63 @@ flash_reset: .global flash_read_id .type flash_read_id, %function flash_read_id: - and w10, w0, 255 - stp x29, x30, [sp, -16]! - adrp x0, .LANCHOR13 - mov x8, x1 + stp x29, x30, [sp, -48]! add x29, sp, 0 - ldr x4, [x0, #:lo12:.LANCHOR13] - mov w0, w10 + str x21, [sp, 32] + and w21, w0, 255 + adrp x0, .LANCHOR7 + stp x19, x20, [sp, 16] + mov x19, x1 + ldr x20, [x0, #:lo12:.LANCHOR7] + mov w0, w21 bl flash_reset - mov w0, w10 + mov w0, w21 bl nandc_cs - ubfiz x2, x10, 8, 8 - add x2, x4, x2 + ubfiz x0, x21, 8, 8 + add x20, x20, x0 mov w0, 144 - str w0, [x2, 2056] - mov w0, 200 - str wzr, [x2, 2052] - bl timer_delay_ns - ldr w0, [x2, 2048] - strb w0, [x8] - ldr w0, [x2, 2048] - strb w0, [x8, 1] - ldr w0, [x2, 2048] - strb w0, [x8, 2] - ldr w0, [x2, 2048] - strb w0, [x8, 3] - ldr w0, [x2, 2048] - strb w0, [x8, 4] - ldr w0, [x2, 2048] - strb w0, [x8, 5] - ldr w0, [x2, 2048] - strb w0, [x8, 6] - ldr w0, [x2, 2048] - strb w0, [x8, 7] - bl nandc_de_cs.constprop.33 - ldrb w2, [x8] + str w0, [x20, 2056] + mov x0, 1 + str wzr, [x20, 2052] + bl udelay + ldr w0, [x20, 2048] + strb w0, [x19] + ldr w0, [x20, 2048] + strb w0, [x19, 1] + ldr w0, [x20, 2048] + strb w0, [x19, 2] + ldr w0, [x20, 2048] + strb w0, [x19, 3] + ldr w0, [x20, 2048] + strb w0, [x19, 4] + ldr w0, [x20, 2048] + strb w0, [x19, 5] + ldr w0, [x20, 2048] + strb w0, [x19, 6] + ldr w0, [x20, 2048] + strb w0, [x19, 7] + bl nandc_de_cs.constprop.32 + ldrb w2, [x19] sub w0, w2, #1 and w0, w0, 255 cmp w0, 253 - bhi .L487 - ldrb w7, [x8, 5] - add w1, w10, 1 - ldrb w6, [x8, 4] + bhi .L458 + ldrb w7, [x19, 5] + add w1, w21, 1 + ldrb w6, [x19, 4] adrp x0, .LC38 - ldrb w5, [x8, 3] + ldrb w5, [x19, 3] add x0, x0, :lo12:.LC38 - ldrb w4, [x8, 2] - ldrb w3, [x8, 1] - ldp x29, x30, [sp], 16 + ldrb w4, [x19, 2] + ldrb w3, [x19, 1] + ldr x21, [sp, 32] + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 48 b printf -.L487: - ldp x29, x30, [sp], 16 +.L458: + ldp x19, x20, [sp, 16] + ldr x21, [sp, 32] + ldp x29, x30, [sp], 48 ret .size flash_read_id, .-flash_read_id .section .text.flash_read_spare,"ax",@progbits @@ -2507,32 +2477,34 @@ flash_read_id: .global flash_read_spare .type flash_read_spare, %function flash_read_spare: - stp x29, x30, [sp, -16]! - mov x5, x2 - adrp x2, .LANCHOR33+9 + stp x29, x30, [sp, -32]! ubfiz x0, x0, 8, 8 add x29, sp, 0 - ldrb w3, [x2, #:lo12:.LANCHOR33+9] - adrp x2, .LANCHOR13 - ldr x4, [x2, #:lo12:.LANCHOR13] + stp x19, x20, [sp, 16] + mov x20, x2 + adrp x2, .LANCHOR32+9 + ldrb w3, [x2, #:lo12:.LANCHOR32+9] + adrp x2, .LANCHOR7 + ldr x19, [x2, #:lo12:.LANCHOR7] lsl w3, w3, 9 - add x4, x4, x0 + add x19, x19, x0 and w0, w1, 255 - str wzr, [x4, 2056] - str w3, [x4, 2052] + str wzr, [x19, 2056] + str w3, [x19, 2052] lsr w3, w3, 8 - str w3, [x4, 2052] - str w0, [x4, 2052] + str w3, [x19, 2052] + str w0, [x19, 2052] lsr w0, w1, 8 - str w0, [x4, 2052] + str w0, [x19, 2052] lsr w1, w1, 16 - str w1, [x4, 2052] + str w1, [x19, 2052] mov w0, 48 - str w0, [x4, 2056] + str w0, [x19, 2056] bl nandc_wait_flash_ready - ldr w0, [x4, 2048] - ldp x29, x30, [sp], 16 - strb w0, [x5] + ldr w0, [x19, 2048] + strb w0, [x20] + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 32 ret .size flash_read_spare, .-flash_read_spare .section .text.flash_read_otp_data,"ax",@progbits @@ -2542,23 +2514,23 @@ flash_read_spare: flash_read_otp_data: stp x29, x30, [sp, -48]! and w4, w0, 255 - adrp x0, .LANCHOR13 + adrp x0, .LANCHOR7 add x29, sp, 0 stp x19, x20, [sp, 16] mov w20, w1 - ldr x19, [x0, #:lo12:.LANCHOR13] + ldr x19, [x0, #:lo12:.LANCHOR7] mov w0, w4 - str x21, [sp, 32] - mov x21, x2 + stp x21, x22, [sp, 32] + mov x22, x2 bl nandc_cs ubfiz x4, x4, 8, 8 add x19, x19, x4 mov w0, 239 - mov w4, 144 + mov w21, 144 str w0, [x19, 2056] - mov w0, 50 - str w4, [x19, 2052] - bl timer_delay_ns + mov x0, 1 + str w21, [x19, 2052] + bl udelay mov w0, 1 str w0, [x19, 2048] str wzr, [x19, 2048] @@ -2567,7 +2539,7 @@ flash_read_otp_data: bl nandc_wait_flash_ready mov w0, 238 str w0, [x19, 2056] - str w4, [x19, 2052] + str w21, [x19, 2052] mov w1, w20 adrp x0, .LC39 add x0, x0, :lo12:.LC39 @@ -2589,26 +2561,26 @@ flash_read_otp_data: str w0, [x19, 2056] bl nandc_wait_flash_ready mov x0, 0 -.L493: +.L464: ldr w1, [x19, 2048] - strb w1, [x21, x0] + strb w1, [x22, x0] add x0, x0, 1 cmp x0, 16384 - bne .L493 + bne .L464 mov w0, 239 str w0, [x19, 2056] mov w0, 144 str w0, [x19, 2052] - mov w0, 50 - bl timer_delay_ns - ldr x21, [sp, 32] + mov x0, 1 + bl udelay + ldp x21, x22, [sp, 32] str wzr, [x19, 2048] str wzr, [x19, 2048] str wzr, [x19, 2048] str wzr, [x19, 2048] ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 48 - b nandc_de_cs.constprop.33 + b nandc_de_cs.constprop.32 .size flash_read_otp_data, .-flash_read_otp_data .section .text.sandisk_prog_test_bad_block,"ax",@progbits .align 2 @@ -2616,125 +2588,135 @@ flash_read_otp_data: .type sandisk_prog_test_bad_block, %function sandisk_prog_test_bad_block: stp x29, x30, [sp, -48]! - mov w4, w1 - adrp x1, .LANCHOR13 and x2, x0, 255 - add x29, sp, 0 - stp x19, x20, [sp, 16] - adrp x20, .LANCHOR33 - ldr x19, [x1, #:lo12:.LANCHOR13] - add x1, x20, :lo12:.LANCHOR33 - str x21, [sp, 32] mov x0, x2 add x2, x2, 8 + add x29, sp, 0 + stp x21, x22, [sp, 32] + mov w22, w1 + adrp x1, .LANCHOR7 + stp x19, x20, [sp, 16] + adrp x20, .LANCHOR32 + ldr x19, [x1, #:lo12:.LANCHOR7] + add x1, x20, :lo12:.LANCHOR32 ldrb w1, [x1, 29] add x2, x19, x2, lsl 8 - cbz w1, .L497 -.L511: + cbz w1, .L468 +.L483: ubfiz x0, x0, 8, 8 str w1, [x2, 8] add x19, x19, x0 mov w0, 128 str w0, [x19, 2056] - and w0, w4, 255 + and w0, w22, 255 str wzr, [x19, 2052] str wzr, [x19, 2052] str w0, [x19, 2052] - lsr w0, w4, 8 + lsr w0, w22, 8 str w0, [x19, 2052] - lsr w0, w4, 16 + lsr w0, w22, 16 str w0, [x19, 2052] mov w0, 16 str w0, [x19, 2056] bl nandc_wait_flash_ready mov w0, 112 str w0, [x19, 2056] - mov w0, 80 - bl timer_delay_ns + mov x0, 1 + bl udelay ldr w2, [x19, 2048] + cmp w2, 255 + bne .L470 + ldr w2, [x19, 2048] +.L470: mov w0, 5 ands w21, w2, w0 - beq .L499 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L499 + beq .L471 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L471 adrp x0, .LC40 - mov w1, w4 + mov w1, w22 add x0, x0, :lo12:.LC40 bl printf -.L499: - add x20, x20, :lo12:.LANCHOR33 +.L471: + add x20, x20, :lo12:.LANCHOR32 ldrb w0, [x20, 30] - cbz w0, .L496 + cbz w0, .L467 str w0, [x19, 2056] -.L496: +.L467: mov w0, w21 - ldr x21, [sp, 32] ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 48 ret -.L497: +.L468: mov w1, 162 - b .L511 + b .L483 .size sandisk_prog_test_bad_block, .-sandisk_prog_test_bad_block .section .text.nand_flash_exit_boot_rom_slc_mode,"ax",@progbits .align 2 .type nand_flash_exit_boot_rom_slc_mode, %function nand_flash_exit_boot_rom_slc_mode: - stp x29, x30, [sp, -16]! - adrp x0, .LANCHOR13 + stp x29, x30, [sp, -48]! + adrp x0, .LANCHOR7 mov w1, 137 - adrp x5, .LANCHOR34 add x29, sp, 0 - ldr x4, [x0, #:lo12:.LANCHOR13] - adrp x0, .LANCHOR48 - ldrb w0, [x0, #:lo12:.LANCHOR48] + stp x19, x20, [sp, 16] + adrp x20, .LANCHOR33 + ldr x19, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR47 + str x21, [sp, 32] + ldrb w0, [x0, #:lo12:.LANCHOR47] cmp w0, 44 ccmp w0, w1, 4, ne - bne .L513 + bne .L485 mov w0, 223 - str w0, [x4, 2056] - adrp x0, .LANCHOR33+12 + str w0, [x19, 2056] + adrp x0, .LANCHOR32+12 mov w1, 4 - ldrb w0, [x0, #:lo12:.LANCHOR33+12] + ldrb w0, [x0, #:lo12:.LANCHOR32+12] cmp w0, 2 csel w0, w0, w1, eq - strb w0, [x5, #:lo12:.LANCHOR34] + strb w0, [x20, #:lo12:.LANCHOR33] bl nandc_wait_flash_ready mov w0, 239 - str w0, [x4, 2056] + str w0, [x19, 2056] mov w0, 145 - str w0, [x4, 2052] - mov w0, 100 - bl timer_delay_ns - ldrb w0, [x5, #:lo12:.LANCHOR34] - str w0, [x4, 2048] - str wzr, [x4, 2048] - str wzr, [x4, 2048] - str wzr, [x4, 2048] -.L522: - ldp x29, x30, [sp], 16 + str w0, [x19, 2052] + mov x0, 1 + bl udelay + ldrb w0, [x20, #:lo12:.LANCHOR33] + str w0, [x19, 2048] + str wzr, [x19, 2048] + str wzr, [x19, 2048] + str wzr, [x19, 2048] +.L494: + ldp x19, x20, [sp, 16] + ldr x21, [sp, 32] + ldp x29, x30, [sp], 48 b nandc_wait_flash_ready -.L513: +.L485: cmp w0, 173 - bne .L515 - add x4, x4, 2048 + bne .L487 + add x19, x19, 2048 mov w0, 190 - str w0, [x4, 8] + str w0, [x19, 8] bl nandc_wait_flash_ready mov w0, 223 - str w0, [x4, 8] - adrp x0, .LANCHOR33+12 + str w0, [x19, 8] + adrp x0, .LANCHOR32+12 mov w1, 4 - ldrb w0, [x0, #:lo12:.LANCHOR33+12] + ldrb w0, [x0, #:lo12:.LANCHOR32+12] cmp w0, 2 csel w0, w0, w1, eq - strb w0, [x5, #:lo12:.LANCHOR34] - b .L522 -.L515: - ldp x29, x30, [sp], 16 - strb wzr, [x5, #:lo12:.LANCHOR34] + strb w0, [x20, #:lo12:.LANCHOR33] + b .L494 +.L487: + strb wzr, [x20, #:lo12:.LANCHOR33] mov w0, 0 + ldp x19, x20, [sp, 16] + ldr x21, [sp, 32] + ldp x29, x30, [sp], 48 b zftl_flash_exit_slc_mode .size nand_flash_exit_boot_rom_slc_mode, .-nand_flash_exit_boot_rom_slc_mode .section .text.nandc_rdy_status,"ax",@progbits @@ -2742,9 +2724,9 @@ nand_flash_exit_boot_rom_slc_mode: .global nandc_rdy_status .type nandc_rdy_status, %function nandc_rdy_status: - adrp x0, .LANCHOR13 + adrp x0, .LANCHOR7 sub sp, sp, #16 - ldr x0, [x0, #:lo12:.LANCHOR13] + ldr x0, [x0, #:lo12:.LANCHOR7] ldr w0, [x0] str w0, [sp, 8] ldr w0, [sp, 8] @@ -2762,24 +2744,24 @@ nandc_bch_sel: ldr w1, [sp, 8] orr w1, w1, 1 str w1, [sp, 8] - adrp x1, .LANCHOR50 - strb w0, [x1, #:lo12:.LANCHOR50] - adrp x1, .LANCHOR28 - ldrb w1, [x1, #:lo12:.LANCHOR28] + adrp x1, .LANCHOR49 + strb w0, [x1, #:lo12:.LANCHOR49] + adrp x1, .LANCHOR27 + ldrb w1, [x1, #:lo12:.LANCHOR27] cmp w1, 9 - adrp x1, .LANCHOR13 - bne .L526 - ldr x1, [x1, #:lo12:.LANCHOR13] + adrp x1, .LANCHOR7 + bne .L498 + ldr x1, [x1, #:lo12:.LANCHOR7] cmp w0, 70 ldr w2, [sp, 8] str w2, [x1, 16] - beq .L532 + beq .L504 cmp w0, 60 - beq .L533 + beq .L505 cmp w0, 40 cset w0, eq add w0, w0, 1 -.L527: +.L499: str wzr, [sp] ldr w2, [sp] bfi w2, w0, 25, 3 @@ -2789,17 +2771,17 @@ nandc_bch_sel: str w0, [sp] ldr w0, [sp] str w0, [x1, 32] -.L525: +.L497: add sp, sp, 16 ret -.L532: +.L504: mov w0, 0 - b .L527 -.L533: + b .L499 +.L505: mov w0, 3 - b .L527 -.L526: - ldr x2, [x1, #:lo12:.LANCHOR13] + b .L499 +.L498: + ldr x2, [x1, #:lo12:.LANCHOR7] mov w3, 16 ldr w1, [sp, 8] cmp w0, w3 @@ -2811,20 +2793,20 @@ nandc_bch_sel: ldr w1, [sp] and w1, w1, -262145 str w1, [sp] - bne .L529 -.L536: + bne .L501 +.L508: ldr w0, [sp] and w0, w0, -17 - b .L537 -.L529: + b .L509 +.L501: cmp w0, 24 - bne .L531 + bne .L503 ldr w0, [sp] orr w0, w0, 16 -.L537: +.L509: str w0, [sp] - b .L530 -.L531: + b .L502 +.L503: ldr w1, [sp] cmp w0, 40 orr w1, w1, 262144 @@ -2832,27 +2814,27 @@ nandc_bch_sel: ldr w1, [sp] orr w1, w1, 16 str w1, [sp] - beq .L536 -.L530: + beq .L508 +.L502: ldr w0, [sp] orr w0, w0, 1 str w0, [sp] ldr w0, [sp] str w0, [x2, 12] - b .L525 + b .L497 .size nandc_bch_sel, .-nandc_bch_sel .section .text.zftl_nandc_get_irq_status,"ax",@progbits .align 2 .global zftl_nandc_get_irq_status .type zftl_nandc_get_irq_status, %function zftl_nandc_get_irq_status: - adrp x1, .LANCHOR28 - ldrb w1, [x1, #:lo12:.LANCHOR28] + adrp x1, .LANCHOR27 + ldrb w1, [x1, #:lo12:.LANCHOR27] cmp w1, 9 - bne .L539 + bne .L511 ldr w0, [x0, 296] ret -.L539: +.L511: ldr w0, [x0, 372] ret .size zftl_nandc_get_irq_status, .-zftl_nandc_get_irq_status @@ -2884,18 +2866,18 @@ rk_nandc_flash_xfer_completed: nandc_xfer_start: stp x29, x30, [sp, -80]! and w1, w1, 255 - adrp x4, .LANCHOR53 + adrp x4, .LANCHOR52 add x29, sp, 0 stp x19, x20, [sp, 16] and w20, w0, 255 - adrp x0, .LANCHOR28 + adrp x0, .LANCHOR27 str x21, [sp, 32] and w6, w20, 1 - adrp x21, .LANCHOR13 - ldrb w0, [x0, #:lo12:.LANCHOR28] + adrp x21, .LANCHOR7 + ldrb w0, [x0, #:lo12:.LANCHOR27] cmp w0, 9 add w0, w1, 1 - bne .L545 + bne .L517 str wzr, [x29, 56] mov w5, 1 ubfx x0, x0, 1, 6 @@ -2923,18 +2905,18 @@ nandc_xfer_start: ldr w0, [x29, 56] orr w0, w0, 128 str w0, [x29, 56] + adrp x0, .LANCHOR50 + ldrb w0, [x0, #:lo12:.LANCHOR50] + cbz w0, .L518 adrp x0, .LANCHOR51 ldrb w0, [x0, #:lo12:.LANCHOR51] - cbz w0, .L546 - adrp x0, .LANCHOR52 - ldrb w0, [x0, #:lo12:.LANCHOR52] - cbz w0, .L546 + cbz w0, .L518 ldr w0, [x29, 56] orr w0, w0, 512 str w0, [x29, 56] -.L546: +.L518: ldr w0, [x29, 56] - add x19, x4, :lo12:.LANCHOR53 + add x19, x4, :lo12:.LANCHOR52 add x1, x2, 63 and x1, x1, -64 ubfx x0, x0, 22, 6 @@ -2952,7 +2934,7 @@ nandc_xfer_start: bl flush_dcache_range mov w0, 1 str w0, [x19, 32] - ldr x0, [x21, #:lo12:.LANCHOR13] + ldr x0, [x21, #:lo12:.LANCHOR7] mov w2, 16 ldr w1, [x19, 24] cmp w20, 0 @@ -2981,8 +2963,8 @@ nandc_xfer_start: ldr w1, [x29, 64] orr w1, w1, 1 str w1, [x29, 64] - adrp x1, .LANCHOR54 - ldrh w2, [x1, #:lo12:.LANCHOR54] + adrp x1, .LANCHOR53 + ldrh w2, [x1, #:lo12:.LANCHOR53] ldr w1, [x29, 64] bfi w1, w2, 16, 11 str w1, [x29, 64] @@ -2995,13 +2977,13 @@ nandc_xfer_start: str w1, [x29, 56] ldr w1, [x29, 56] str w1, [x0, 16] -.L544: +.L516: ldp x19, x20, [sp, 16] ldr x21, [sp, 32] ldp x29, x30, [sp], 80 ret -.L545: - ldr x5, [x21, #:lo12:.LANCHOR13] +.L517: + ldr x5, [x21, #:lo12:.LANCHOR7] mov w7, 16 ubfx x0, x0, 1, 6 ldr w5, [x5, 12] @@ -3038,24 +3020,24 @@ nandc_xfer_start: ldr w5, [x29, 56] bfi w5, w0, 22, 6 str w5, [x29, 56] - cbz w20, .L548 - adrp x0, .LANCHOR50 + cbz w20, .L520 + adrp x0, .LANCHOR49 ubfx x1, x1, 1, 7 - ldr x8, [x4, #:lo12:.LANCHOR53] + ldr x8, [x4, #:lo12:.LANCHOR52] add x1, x3, x1, lsl 2 - ldrb w0, [x0, #:lo12:.LANCHOR50] + ldrb w0, [x0, #:lo12:.LANCHOR49] mov w5, 64 cmp w0, 25 mov w0, 128 csel w5, w5, w0, cc mov w0, 0 -.L550: +.L522: add w7, w5, w0 cmp x3, x1 - bne .L551 -.L552: - add x19, x4, :lo12:.LANCHOR53 - ldr x0, [x4, #:lo12:.LANCHOR53] + bne .L523 +.L524: + add x19, x4, :lo12:.LANCHOR52 + ldr x0, [x4, #:lo12:.LANCHOR52] add x1, x2, 63 and x1, x1, -64 stp x2, x0, [x19, 8] @@ -3077,7 +3059,7 @@ nandc_xfer_start: bl flush_dcache_range mov w0, 1 str w0, [x19, 32] - ldr x0, [x21, #:lo12:.LANCHOR13] + ldr x0, [x21, #:lo12:.LANCHOR7] mov w2, 16 ldr w1, [x19, 24] cmp w20, 0 @@ -3116,8 +3098,8 @@ nandc_xfer_start: str w1, [x29, 56] ldr w1, [x29, 56] str w1, [x0, 8] - b .L544 -.L551: + b .L516 +.L523: ldrh w10, [x3] and x0, x0, 4294967292 ldrh w6, [x3, 2] @@ -3125,11 +3107,11 @@ nandc_xfer_start: orr x6, x10, x6, lsl 16 str w6, [x8, x0] mov w0, w7 - b .L550 -.L548: - ldr x0, [x4, #:lo12:.LANCHOR53] + b .L522 +.L520: + ldr x0, [x4, #:lo12:.LANCHOR52] str w6, [x0] - b .L552 + b .L524 .size nandc_xfer_start, .-nandc_xfer_start .section .text.nandc_set_seed,"ax",@progbits .align 2 @@ -3137,23 +3119,23 @@ nandc_xfer_start: .type nandc_set_seed, %function nandc_set_seed: and x0, x0, 127 - adrp x1, .LANCHOR55 - add x1, x1, :lo12:.LANCHOR55 + adrp x1, .LANCHOR54 + add x1, x1, :lo12:.LANCHOR54 ldrh w0, [x1, x0, lsl 1] - adrp x1, .LANCHOR52 - ldrb w2, [x1, #:lo12:.LANCHOR52] + adrp x1, .LANCHOR51 + ldrb w2, [x1, #:lo12:.LANCHOR51] orr w1, w0, -1073741824 cmp w2, 0 csel w0, w1, w0, ne - adrp x1, .LANCHOR28 - ldrb w1, [x1, #:lo12:.LANCHOR28] + adrp x1, .LANCHOR27 + ldrb w1, [x1, #:lo12:.LANCHOR27] cmp w1, 9 - adrp x1, .LANCHOR13 - ldr x1, [x1, #:lo12:.LANCHOR13] - bne .L563 + adrp x1, .LANCHOR7 + ldr x1, [x1, #:lo12:.LANCHOR7] + bne .L535 str w0, [x1, 520] ret -.L563: +.L535: str w0, [x1, 336] ret .size nandc_set_seed, .-nandc_set_seed @@ -3168,40 +3150,40 @@ zftl_flash_de_init: bl nandc_wait_flash_ready adrp x0, .LANCHOR0 ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L568 - adrp x0, .LANCHOR19 - ldrb w0, [x0, #:lo12:.LANCHOR19] - cbnz w0, .L568 - adrp x0, .LANCHOR28 - ldrb w0, [x0, #:lo12:.LANCHOR28] + cbz w0, .L540 + adrp x0, .LANCHOR24 + ldrb w0, [x0, #:lo12:.LANCHOR24] + cbnz w0, .L540 + adrp x0, .LANCHOR27 + ldrb w0, [x0, #:lo12:.LANCHOR27] cmp w0, 9 - beq .L568 + beq .L540 mov w0, 0 bl zftl_flash_exit_slc_mode -.L568: - adrp x19, .LANCHOR21 +.L540: + adrp x19, .LANCHOR26 mov w0, 0 bl hynix_reconfig_rr_para - ldrb w0, [x19, #:lo12:.LANCHOR21] - cbz w0, .L569 - adrp x0, .LANCHOR49 - ldrb w0, [x0, #:lo12:.LANCHOR49] - tbz x0, 0, .L569 + ldrb w0, [x19, #:lo12:.LANCHOR26] + cbz w0, .L541 + adrp x0, .LANCHOR48 + ldrb w0, [x0, #:lo12:.LANCHOR48] + tbz x0, 0, .L541 mov w0, 1 bl flash_set_interface_mode mov w0, 1 bl nandc_set_if_mode - strb wzr, [x19, #:lo12:.LANCHOR21] -.L569: - adrp x3, .LANCHOR52 - ldrb w0, [x3, #:lo12:.LANCHOR52] - cbz w0, .L570 + strb wzr, [x19, #:lo12:.LANCHOR26] +.L541: + adrp x3, .LANCHOR51 + ldrb w0, [x3, #:lo12:.LANCHOR51] + cbz w0, .L542 mov w0, 0 - strb wzr, [x3, #:lo12:.LANCHOR52] + strb wzr, [x3, #:lo12:.LANCHOR51] bl nandc_set_seed mov w0, 1 - strb w0, [x3, #:lo12:.LANCHOR52] -.L570: + strb w0, [x3, #:lo12:.LANCHOR51] +.L542: mov w0, 0 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 @@ -3212,8 +3194,8 @@ zftl_flash_de_init: .global nandc_randomizer_enable .type nandc_randomizer_enable, %function nandc_randomizer_enable: - adrp x1, .LANCHOR52 - strb w0, [x1, #:lo12:.LANCHOR52] + adrp x1, .LANCHOR51 + strb w0, [x1, #:lo12:.LANCHOR51] ret .size nandc_randomizer_enable, .-nandc_randomizer_enable .section .text.nandc_get_chip_if,"ax",@progbits @@ -3221,10 +3203,10 @@ nandc_randomizer_enable: .global nandc_get_chip_if .type nandc_get_chip_if, %function nandc_get_chip_if: - adrp x1, .LANCHOR13 + adrp x1, .LANCHOR7 ubfiz x0, x0, 8, 8 add x0, x0, 2048 - ldr x1, [x1, #:lo12:.LANCHOR13] + ldr x1, [x1, #:lo12:.LANCHOR7] add x0, x1, x0 ret .size nandc_get_chip_if, .-nandc_get_chip_if @@ -3233,10 +3215,10 @@ nandc_get_chip_if: .global buf_reinit .type buf_reinit, %function buf_reinit: - adrp x0, .LANCHOR56 - add x1, x0, :lo12:.LANCHOR56 + adrp x0, .LANCHOR55 + add x1, x0, :lo12:.LANCHOR55 mov w2, 0 -.L590: +.L562: and w3, w2, 255 strb wzr, [x1, 2] add w4, w3, 1 @@ -3246,14 +3228,14 @@ buf_reinit: str xzr, [x1, 16] cmp w2, 16 add x1, x1, 64 - bne .L590 - add x0, x0, :lo12:.LANCHOR56 + bne .L562 + add x0, x0, :lo12:.LANCHOR55 mov w1, -1 strb w1, [x0, 960] + adrp x0, .LANCHOR56 + strb wzr, [x0, #:lo12:.LANCHOR56] adrp x0, .LANCHOR57 - strb wzr, [x0, #:lo12:.LANCHOR57] - adrp x0, .LANCHOR58 - strb w2, [x0, #:lo12:.LANCHOR58] + strb w2, [x0, #:lo12:.LANCHOR57] ret .size buf_reinit, .-buf_reinit .section .text.buf_add_tail,"ax",@progbits @@ -3271,49 +3253,49 @@ buf_add_tail: mov x20, x1 ldrb w1, [x19] cmp w1, 255 - bne .L598 + bne .L570 ldrb w0, [x20, 1] cmp w0, 255 - bne .L594 - adrp x1, .LANCHOR59 + bne .L566 + adrp x1, .LANCHOR58 adrp x0, .LC0 mov w2, 74 - add x1, x1, :lo12:.LANCHOR59 + add x1, x1, :lo12:.LANCHOR58 add x0, x0, :lo12:.LC0 bl printf -.L594: +.L566: ldrb w0, [x20, 1] strb w0, [x19] -.L592: +.L564: ldp x19, x20, [sp, 16] ldr x21, [sp, 32] ldp x29, x30, [sp], 48 ret -.L598: - adrp x0, .LANCHOR56 - add x2, x0, :lo12:.LANCHOR56 +.L570: + adrp x0, .LANCHOR55 + add x2, x0, :lo12:.LANCHOR55 mov x19, x0 -.L599: +.L571: sbfiz x0, x1, 6, 32 mov w21, w1 ldrb w1, [x2, x0] cmp w1, 255 - bne .L599 + bne .L571 ldrb w0, [x20, 1] cmp w0, 255 - bne .L596 - adrp x1, .LANCHOR59 + bne .L568 + adrp x1, .LANCHOR58 adrp x0, .LC0 mov w2, 81 - add x1, x1, :lo12:.LANCHOR59 + add x1, x1, :lo12:.LANCHOR58 add x0, x0, :lo12:.LC0 bl printf -.L596: - add x0, x19, :lo12:.LANCHOR56 +.L568: + add x0, x19, :lo12:.LANCHOR55 sbfiz x21, x21, 6, 32 ldrb w1, [x20, 1] strb w1, [x0, x21] - b .L592 + b .L564 .size buf_add_tail, .-buf_add_tail .section .text.queue_read_cmd,"ax",@progbits .align 2 @@ -3332,9 +3314,9 @@ queue_read_cmd: mov w0, -1 strb w0, [x19] mov x1, x19 - adrp x0, .LANCHOR60 + adrp x0, .LANCHOR59 ldr x19, [sp, 16] - add x0, x0, :lo12:.LANCHOR60 + add x0, x0, :lo12:.LANCHOR59 ldp x29, x30, [sp], 32 b buf_add_tail .size queue_read_cmd, .-queue_read_cmd @@ -3344,33 +3326,33 @@ queue_read_cmd: .type zbuf_free, %function zbuf_free: ldrb w1, [x0, 2] - adrp x2, .LANCHOR57 + adrp x2, .LANCHOR56 and w1, w1, 8 strb w1, [x0, 2] - cbz w1, .L604 + cbz w1, .L576 ldr w1, [x0, 36] cmn w1, #1 - beq .L604 + beq .L576 stp x29, x30, [sp, -16]! mov x1, x0 - add x0, x2, :lo12:.LANCHOR57 + add x0, x2, :lo12:.LANCHOR56 add x29, sp, 0 bl buf_add_tail - adrp x1, .LANCHOR58 + adrp x1, .LANCHOR57 ldp x29, x30, [sp], 16 - ldrb w0, [x1, #:lo12:.LANCHOR58] + ldrb w0, [x1, #:lo12:.LANCHOR57] add w0, w0, 1 - strb w0, [x1, #:lo12:.LANCHOR58] + strb w0, [x1, #:lo12:.LANCHOR57] ret -.L604: - ldrb w1, [x2, #:lo12:.LANCHOR57] +.L576: + ldrb w1, [x2, #:lo12:.LANCHOR56] strb w1, [x0] - adrp x1, .LANCHOR58 + adrp x1, .LANCHOR57 ldrb w0, [x0, 1] - strb w0, [x2, #:lo12:.LANCHOR57] - ldrb w0, [x1, #:lo12:.LANCHOR58] + strb w0, [x2, #:lo12:.LANCHOR56] + ldrb w0, [x1, #:lo12:.LANCHOR57] add w0, w0, 1 - strb w0, [x1, #:lo12:.LANCHOR58] + strb w0, [x1, #:lo12:.LANCHOR57] ret .size zbuf_free, .-zbuf_free .section .text.buf_alloc,"ax",@progbits @@ -3381,29 +3363,29 @@ buf_alloc: stp x29, x30, [sp, -32]! add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x19, .LANCHOR58 + adrp x19, .LANCHOR57 and w20, w0, 255 - ldrb w0, [x19, #:lo12:.LANCHOR58] - cbz w0, .L617 -.L620: - adrp x2, .LANCHOR57 - adrp x1, .LANCHOR56 - add x0, x1, :lo12:.LANCHOR56 - ldrb w3, [x2, #:lo12:.LANCHOR57] + ldrb w0, [x19, #:lo12:.LANCHOR57] + cbz w0, .L589 +.L592: + adrp x2, .LANCHOR56 + adrp x1, .LANCHOR55 + add x0, x1, :lo12:.LANCHOR55 + ldrb w3, [x2, #:lo12:.LANCHOR56] ubfiz x4, x3, 6, 8 add x0, x0, x4 mov x4, x2 - cbz w20, .L618 -.L619: - add x1, x1, :lo12:.LANCHOR56 + cbz w20, .L590 +.L591: + add x1, x1, :lo12:.LANCHOR55 sbfiz x3, x3, 6, 32 add x2, x1, x3 ldrb w5, [x1, x3] - strb w5, [x4, #:lo12:.LANCHOR57] - ldrb w4, [x19, #:lo12:.LANCHOR58] + strb w5, [x4, #:lo12:.LANCHOR56] + ldrb w4, [x19, #:lo12:.LANCHOR57] strh wzr, [x2, 50] sub w4, w4, #1 - strb w4, [x19, #:lo12:.LANCHOR58] + strb w4, [x19, #:lo12:.LANCHOR57] mov w4, 1 strb wzr, [x2, 56] strb w4, [x2, 2] @@ -3413,27 +3395,27 @@ buf_alloc: mov w1, -1 str xzr, [x2, 16] str w1, [x2, 36] - b .L616 -.L617: + b .L588 +.L589: mov w2, 121 - adrp x1, .LANCHOR61 + adrp x1, .LANCHOR60 adrp x0, .LC0 - add x1, x1, :lo12:.LANCHOR61 + add x1, x1, :lo12:.LANCHOR60 add x0, x0, :lo12:.LC0 bl printf - ldrb w0, [x19, #:lo12:.LANCHOR58] - cbnz w0, .L620 -.L622: + ldrb w0, [x19, #:lo12:.LANCHOR57] + cbnz w0, .L592 +.L594: mov x0, 0 -.L616: +.L588: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret -.L618: - ldrb w2, [x19, #:lo12:.LANCHOR58] +.L590: + ldrb w2, [x19, #:lo12:.LANCHOR57] cmp w2, 1 - bne .L619 - b .L622 + bne .L591 + b .L594 .size buf_alloc, .-buf_alloc .section .text.buf_remove_buf,"ax",@progbits .align 2 @@ -3443,30 +3425,30 @@ buf_remove_buf: ldrb w4, [x1, 1] ldrb w2, [x0] cmp w4, w2 - bne .L630 + bne .L602 ldrb w1, [x1] strb w1, [x0] -.L634: +.L606: mov w0, 1 ret -.L631: +.L603: mov w3, w2 sbfiz x2, x2, 6, 32 ldrb w2, [x0, x2] cmp w4, w2 - bne .L632 + bne .L604 sbfiz x3, x3, 6, 32 ldrb w2, [x1] strb w2, [x0, x3] mov w0, -1 strb w0, [x1] - b .L634 -.L630: - adrp x0, .LANCHOR56 - add x0, x0, :lo12:.LANCHOR56 -.L632: + b .L606 +.L602: + adrp x0, .LANCHOR55 + add x0, x0, :lo12:.LANCHOR55 +.L604: cmp w2, 255 - bne .L631 + bne .L603 mov w0, 0 ret .size buf_remove_buf, .-buf_remove_buf @@ -3478,32 +3460,32 @@ buf_remove_free: stp x29, x30, [sp, -32]! add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x19, .LANCHOR58 + adrp x19, .LANCHOR57 mov x20, x0 - ldrb w0, [x19, #:lo12:.LANCHOR58] - cbnz w0, .L636 - adrp x1, .LANCHOR62 + ldrb w0, [x19, #:lo12:.LANCHOR57] + cbnz w0, .L608 + adrp x1, .LANCHOR61 adrp x0, .LC0 mov w2, 172 - add x1, x1, :lo12:.LANCHOR62 + add x1, x1, :lo12:.LANCHOR61 add x0, x0, :lo12:.LC0 bl printf -.L636: - ldrb w0, [x19, #:lo12:.LANCHOR58] - cbz w0, .L635 +.L608: + ldrb w0, [x19, #:lo12:.LANCHOR57] + cbz w0, .L607 mov x1, x20 - adrp x0, .LANCHOR57 - add x0, x0, :lo12:.LANCHOR57 + adrp x0, .LANCHOR56 + add x0, x0, :lo12:.LANCHOR56 bl buf_remove_buf cmp w0, 1 - bne .L635 - ldrb w0, [x19, #:lo12:.LANCHOR58] + bne .L607 + ldrb w0, [x19, #:lo12:.LANCHOR57] sub w0, w0, #1 - strb w0, [x19, #:lo12:.LANCHOR58] + strb w0, [x19, #:lo12:.LANCHOR57] ldrb w0, [x20, 2] orr w0, w0, 1 strb w0, [x20, 2] -.L635: +.L607: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret @@ -3514,46 +3496,46 @@ buf_remove_free: .type dump_buf_info, %function dump_buf_info: sub sp, sp, #64 - adrp x0, .LANCHOR60 + adrp x0, .LANCHOR59 stp x29, x30, [sp, 16] add x29, sp, 16 - ldrb w1, [x0, #:lo12:.LANCHOR60] + ldrb w1, [x0, #:lo12:.LANCHOR59] stp x19, x20, [sp, 32] adrp x0, .LC41 str x21, [sp, 48] add x0, x0, :lo12:.LC41 - adrp x19, .LANCHOR56 - add x19, x19, :lo12:.LANCHOR56 + adrp x19, .LANCHOR55 + add x19, x19, :lo12:.LANCHOR55 bl printf adrp x20, .LC47 - adrp x0, .LANCHOR63 + adrp x0, .LANCHOR62 add x20, x20, :lo12:.LC47 add x21, x19, 1024 - ldrb w1, [x0, #:lo12:.LANCHOR63] + ldrb w1, [x0, #:lo12:.LANCHOR62] adrp x0, .LC42 add x0, x0, :lo12:.LC42 bl printf - adrp x0, .LANCHOR64 - ldrb w1, [x0, #:lo12:.LANCHOR64] + adrp x0, .LANCHOR63 + ldrb w1, [x0, #:lo12:.LANCHOR63] adrp x0, .LC43 add x0, x0, :lo12:.LC43 bl printf - adrp x0, .LANCHOR65 - ldrb w1, [x0, #:lo12:.LANCHOR65] + adrp x0, .LANCHOR64 + ldrb w1, [x0, #:lo12:.LANCHOR64] adrp x0, .LC44 add x0, x0, :lo12:.LC44 bl printf - adrp x0, .LANCHOR57 - ldrb w1, [x0, #:lo12:.LANCHOR57] + adrp x0, .LANCHOR56 + ldrb w1, [x0, #:lo12:.LANCHOR56] adrp x0, .LC45 add x0, x0, :lo12:.LC45 bl printf - adrp x0, .LANCHOR58 - ldrb w1, [x0, #:lo12:.LANCHOR58] + adrp x0, .LANCHOR57 + ldrb w1, [x0, #:lo12:.LANCHOR57] adrp x0, .LC46 add x0, x0, :lo12:.LC46 bl printf -.L642: +.L614: ldp w7, w0, [x19, 36] str w0, [sp] ldrb w5, [x19, 58] @@ -3566,7 +3548,7 @@ dump_buf_info: ldr w6, [x19, -12] bl printf cmp x19, x21 - bne .L642 + bne .L614 ldp x19, x20, [sp, 32] ldp x29, x30, [sp, 16] ldr x21, [sp, 48] @@ -3578,8 +3560,8 @@ dump_buf_info: .global flash_check_bad_block .type flash_check_bad_block, %function flash_check_bad_block: - adrp x3, .LANCHOR33 - add x3, x3, :lo12:.LANCHOR33 + adrp x3, .LANCHOR32 + add x3, x3, :lo12:.LANCHOR32 and w5, w0, 255 lsr w4, w1, 5 ldrb w0, [x3, 13] @@ -3591,8 +3573,8 @@ flash_check_bad_block: asr w2, w2, 5 lsl w2, w2, 2 umaddl x0, w2, w5, x0 - adrp x2, .LANCHOR27 - ldr x2, [x2, #:lo12:.LANCHOR27] + adrp x2, .LANCHOR6 + ldr x2, [x2, #:lo12:.LANCHOR6] add x0, x0, x4, uxtw 2 ldr w0, [x2, x0] lsr w0, w0, w1 @@ -3609,8 +3591,8 @@ flash_mask_bad_block: add x29, sp, 0 str x21, [sp, 32] and w21, w0, 255 - adrp x0, .LANCHOR33 - add x0, x0, :lo12:.LANCHOR33 + adrp x0, .LANCHOR32 + add x0, x0, :lo12:.LANCHOR32 stp x19, x20, [sp, 16] mov w20, w1 ldrh w19, [x0, 14] @@ -3630,8 +3612,8 @@ flash_mask_bad_block: umaddl x1, w1, w21, x19 ldr x21, [sp, 32] add x1, x1, x0, uxtw 2 - adrp x0, .LANCHOR27 - ldr x3, [x0, #:lo12:.LANCHOR27] + adrp x0, .LANCHOR6 + ldr x3, [x0, #:lo12:.LANCHOR6] lsl w0, w2, w20 ldp x19, x20, [sp, 16] ldr w2, [x3, x1] @@ -3651,15 +3633,15 @@ ftl_gc_write_buf: orr w1, w1, 2 strb w1, [x0, 2] mov x1, x0 - adrp x0, .LANCHOR66 - add x0, x0, :lo12:.LANCHOR66 + adrp x0, .LANCHOR65 + add x0, x0, :lo12:.LANCHOR65 bl buf_add_tail - adrp x1, .LANCHOR67 + adrp x1, .LANCHOR66 ldp x29, x30, [sp], 16 - ldrb w0, [x1, #:lo12:.LANCHOR67] + ldrb w0, [x1, #:lo12:.LANCHOR66] add w0, w0, 1 and w0, w0, 255 - strb w0, [x1, #:lo12:.LANCHOR67] + strb w0, [x1, #:lo12:.LANCHOR66] ret .size ftl_gc_write_buf, .-ftl_gc_write_buf .section .text.zftl_cache_flush,"ax",@progbits @@ -3674,11 +3656,11 @@ zftl_cache_flush: .global zftl_get_density .type zftl_get_density, %function zftl_get_density: - cbnz w0, .L652 - adrp x0, .LANCHOR68 - ldr w0, [x0, #:lo12:.LANCHOR68] + cbnz w0, .L624 + adrp x0, .LANCHOR67 + ldr w0, [x0, #:lo12:.LANCHOR67] ret -.L652: +.L624: cmp w0, 4 cset w0, cc lsl w0, w0, 13 @@ -3710,8 +3692,8 @@ ftl_scan_all_data: .global FtlGetCurEraseBlock .type FtlGetCurEraseBlock, %function FtlGetCurEraseBlock: - adrp x0, .LANCHOR69 - ldrh w0, [x0, #:lo12:.LANCHOR69] + adrp x0, .LANCHOR68 + ldrh w0, [x0, #:lo12:.LANCHOR68] ret .size FtlGetCurEraseBlock, .-FtlGetCurEraseBlock .section .text.FtlGetAllBlockNum,"ax",@progbits @@ -3719,8 +3701,8 @@ FtlGetCurEraseBlock: .global FtlGetAllBlockNum .type FtlGetAllBlockNum, %function FtlGetAllBlockNum: - adrp x0, .LANCHOR6 - ldrh w0, [x0, #:lo12:.LANCHOR6] + adrp x0, .LANCHOR8 + ldrh w0, [x0, #:lo12:.LANCHOR8] ret .size FtlGetAllBlockNum, .-FtlGetAllBlockNum .section .text.FtlLowFormat,"ax",@progbits @@ -3739,116 +3721,116 @@ gc_add_sblk: stp x29, x30, [sp, -64]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR14 + adrp x21, .LANCHOR19 stp x19, x20, [sp, 16] and w19, w0, 65535 - ldr w0, [x21, #:lo12:.LANCHOR14] + ldr w0, [x21, #:lo12:.LANCHOR19] and w22, w1, 65535 stp x23, x24, [sp, 48] and w23, w2, 65535 - tbz x0, 8, .L662 - adrp x1, .LANCHOR9 + tbz x0, 8, .L634 + adrp x1, .LANCHOR11 uxtw x0, w19 mov w3, w23 - ldr x2, [x1, #:lo12:.LANCHOR9] - adrp x1, .LANCHOR7 - ldr x1, [x1, #:lo12:.LANCHOR7] + ldr x2, [x1, #:lo12:.LANCHOR11] + adrp x1, .LANCHOR9 + ldr x1, [x1, #:lo12:.LANCHOR9] ldrh w5, [x2, x0, lsl 1] mov w2, w22 add x1, x1, x0, lsl 2 adrp x0, .LC49 add x0, x0, :lo12:.LC49 ldrb w4, [x1, 2] - adrp x1, .LANCHOR70 - ldrh w7, [x1, #:lo12:.LANCHOR70] - adrp x1, .LANCHOR71+56 + adrp x1, .LANCHOR69 + ldrh w7, [x1, #:lo12:.LANCHOR69] + adrp x1, .LANCHOR70+56 ubfx x4, x4, 5, 3 - ldrh w6, [x1, #:lo12:.LANCHOR71+56] + ldrh w6, [x1, #:lo12:.LANCHOR70+56] mov w1, w19 bl printf -.L662: - adrp x0, .LANCHOR6 +.L634: + adrp x0, .LANCHOR8 mov x20, x0 - ldrh w1, [x0, #:lo12:.LANCHOR6] + ldrh w1, [x0, #:lo12:.LANCHOR8] cmp w1, w19 - bhi .L663 - adrp x1, .LANCHOR72 + bhi .L635 + adrp x1, .LANCHOR71 adrp x0, .LC0 mov w2, 543 - add x1, x1, :lo12:.LANCHOR72 + add x1, x1, :lo12:.LANCHOR71 add x0, x0, :lo12:.LC0 bl printf -.L663: - ldrh w0, [x20, #:lo12:.LANCHOR6] +.L635: + ldrh w0, [x20, #:lo12:.LANCHOR8] cmp w0, w19 - bhi .L664 - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 10, .L686 + bhi .L636 + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 10, .L658 adrp x0, .LC50 mov w3, w23 mov w2, w22 mov w1, w19 add x0, x0, :lo12:.LC50 bl printf -.L686: +.L658: mov w0, 0 - b .L661 -.L664: - adrp x1, .LANCHOR9 + b .L633 +.L636: + adrp x1, .LANCHOR11 uxtw x0, w19 - ldr x1, [x1, #:lo12:.LANCHOR9] + ldr x1, [x1, #:lo12:.LANCHOR11] ldrh w3, [x1, x0, lsl 1] - adrp x1, .LANCHOR7 - ldr x1, [x1, #:lo12:.LANCHOR7] + adrp x1, .LANCHOR9 + ldr x1, [x1, #:lo12:.LANCHOR9] add x0, x1, x0, lsl 2 ldrb w2, [x0, 2] tst w2, 224 - bne .L666 - cbz w3, .L686 + bne .L638 + cbz w3, .L658 mov w2, 553 - adrp x1, .LANCHOR72 + adrp x1, .LANCHOR71 adrp x0, .LC0 - add x1, x1, :lo12:.LANCHOR72 + add x1, x1, :lo12:.LANCHOR71 add x0, x0, :lo12:.LC0 bl printf - b .L686 -.L666: - adrp x0, .LANCHOR71 - add x1, x0, :lo12:.LANCHOR71 - ldrh w0, [x0, #:lo12:.LANCHOR71] + b .L658 +.L638: + adrp x0, .LANCHOR70 + add x1, x0, :lo12:.LANCHOR70 + ldrh w0, [x0, #:lo12:.LANCHOR70] cmp w0, w19 - beq .L686 - adrp x24, .LANCHOR10 - ldr x0, [x24, #:lo12:.LANCHOR10] + beq .L658 + adrp x24, .LANCHOR12 + ldr x0, [x24, #:lo12:.LANCHOR12] ldrh w4, [x0, 48] cmp w4, w19 - beq .L686 + beq .L658 ldrh w4, [x0, 16] cmp w4, w19 - beq .L686 + beq .L658 ldrh w4, [x0, 80] cmp w4, w19 - beq .L686 + beq .L658 ldrh w5, [x1, 56] add x1, x1, 58 mov w4, 0 -.L667: +.L639: cmp w4, w5 - bcc .L668 - cbnz w22, .L672 - adrp x1, .LANCHOR73 - ldrh w6, [x1, #:lo12:.LANCHOR73] + bcc .L640 + cbnz w22, .L644 + adrp x1, .LANCHOR72 + ldrh w6, [x1, #:lo12:.LANCHOR72] cmp w19, w6 - beq .L686 - adrp x4, .LANCHOR74 - add x4, x4, :lo12:.LANCHOR74 + beq .L658 + adrp x4, .LANCHOR73 + add x4, x4, :lo12:.LANCHOR73 mov x1, 0 -.L671: +.L643: ldrh w7, [x1, x4] cmp w19, w7 - bne .L670 - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 8, .L686 + bne .L642 + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 8, .L658 mov w5, w6 mov w4, w19 ubfx x2, x2, 5, 3 @@ -3856,69 +3838,69 @@ gc_add_sblk: adrp x0, .LC51 add x0, x0, :lo12:.LC51 bl printf - b .L686 -.L668: + b .L658 +.L640: ldrh w6, [x1], 2 cmp w6, w19 - beq .L686 + beq .L658 add w4, w4, 1 - b .L667 -.L670: + b .L639 +.L642: add x1, x1, 2 cmp x1, 16 - bne .L671 + bne .L643 ubfiz x20, x23, 7, 16 add x20, x20, 136 add x20, x0, x20 -.L673: - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 8, .L674 - adrp x0, .LANCHOR70 +.L645: + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 8, .L646 + adrp x0, .LANCHOR69 mov w4, w3 mov w1, w19 ubfx x3, x2, 5, 3 - ldrh w6, [x0, #:lo12:.LANCHOR70] + ldrh w6, [x0, #:lo12:.LANCHOR69] mov w2, w22 adrp x0, .LC52 add x0, x0, :lo12:.LC52 bl printf -.L674: +.L646: mov x0, x20 add x1, x20, 128 mov w2, 65535 -.L677: +.L649: ldrh w3, [x0] cmp w3, w2 - bne .L675 + bne .L647 strh w19, [x0] - cbz w22, .L676 - ldr x1, [x24, #:lo12:.LANCHOR10] + cbz w22, .L648 + ldr x1, [x24, #:lo12:.LANCHOR12] ldrh w0, [x1, 124] add w0, w0, 1 strh w0, [x1, 124] -.L696: +.L668: mov w0, 1 -.L661: +.L633: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 64 ret -.L672: +.L644: add x20, x0, 392 - b .L673 -.L676: - ldr x0, [x24, #:lo12:.LANCHOR10] + b .L645 +.L648: + ldr x0, [x24, #:lo12:.LANCHOR12] add x23, x0, x23, uxth 1 ldrh w0, [x23, 120] add w0, w0, 1 strh w0, [x23, 120] - b .L696 -.L675: + b .L668 +.L647: add x0, x0, 2 cmp x1, x0 - bne .L677 - b .L696 + bne .L649 + b .L668 .size gc_add_sblk, .-gc_add_sblk .section .text.gc_mark_bad_ppa,"ax",@progbits .align 2 @@ -3926,32 +3908,32 @@ gc_add_sblk: .type gc_mark_bad_ppa, %function gc_mark_bad_ppa: stp x29, x30, [sp, -64]! - adrp x1, .LANCHOR75 - adrp x3, .LANCHOR32 + adrp x1, .LANCHOR74 + adrp x3, .LANCHOR31 add x29, sp, 0 - ldrh w1, [x1, #:lo12:.LANCHOR75] - ldrb w3, [x3, #:lo12:.LANCHOR32] + ldrh w1, [x1, #:lo12:.LANCHOR74] + ldrb w3, [x3, #:lo12:.LANCHOR31] stp x19, x20, [sp, 16] mov w19, 24 sub w19, w19, w3 lsr w2, w0, w1 sub w19, w19, w1 - adrp x1, .LANCHOR76 + adrp x1, .LANCHOR75 str x23, [sp, 48] mov w23, 1 - ldrb w1, [x1, #:lo12:.LANCHOR76] + ldrb w1, [x1, #:lo12:.LANCHOR75] lsl w19, w23, w19 sub w19, w19, #1 stp x21, x22, [sp, 32] and w19, w19, w2 - adrp x20, .LANCHOR71 - add x21, x20, :lo12:.LANCHOR71 + adrp x20, .LANCHOR70 + add x21, x20, :lo12:.LANCHOR70 mov w3, w0 and w22, w2, 65535 adrp x0, .LC53 udiv w19, w19, w1 mov w2, w22 - ldr w1, [x21, 2120] + ldr w1, [x21, 2200] add x0, x0, :lo12:.LC53 and w19, w19, 65535 bl printf @@ -3959,42 +3941,42 @@ gc_mark_bad_ppa: mov w2, 0 mov w0, w19 bl gc_add_sblk - ldr w0, [x21, 2120] + ldr w0, [x21, 2200] mov w1, 0 -.L698: +.L670: cmp w1, w0 - bcc .L700 + bcc .L672 cmp w0, 5 - bhi .L699 - add x20, x20, :lo12:.LANCHOR71 + bhi .L671 + add x20, x20, :lo12:.LANCHOR70 add w1, w0, 1 - str w1, [x20, 2120] + str w1, [x20, 2200] add x20, x20, x0, uxtw 1 - strh w22, [x20, 2124] -.L699: + strh w22, [x20, 2204] +.L671: mov w0, 0 ldr x23, [sp, 48] ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 64 ret -.L700: +.L672: add x2, x21, x1, sxtw 1 - ldrh w2, [x2, 2124] + ldrh w2, [x2, 2204] cmp w2, w22 - beq .L699 + beq .L671 add w1, w1, 1 and w1, w1, 65535 - b .L698 + b .L670 .size gc_mark_bad_ppa, .-gc_mark_bad_ppa .section .text.gc_get_src_ppa_from_index,"ax",@progbits .align 2 .global gc_get_src_ppa_from_index .type gc_get_src_ppa_from_index, %function gc_get_src_ppa_from_index: - adrp x1, .LANCHOR77 + adrp x1, .LANCHOR76 ubfiz x0, x0, 2, 16 - ldr x1, [x1, #:lo12:.LANCHOR77] + ldr x1, [x1, #:lo12:.LANCHOR76] ldr w0, [x1, x0] ret .size gc_get_src_ppa_from_index, .-gc_get_src_ppa_from_index @@ -4006,18 +3988,18 @@ gc_write_completed: stp x29, x30, [sp, -96]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x22, .LANCHOR64 + adrp x22, .LANCHOR63 stp x23, x24, [sp, 48] - add x22, x22, :lo12:.LANCHOR64 + add x22, x22, :lo12:.LANCHOR63 stp x25, x26, [sp, 64] - adrp x23, .LANCHOR56 - add x25, x23, :lo12:.LANCHOR56 + adrp x23, .LANCHOR55 + add x25, x23, :lo12:.LANCHOR55 stp x19, x20, [sp, 16] str x27, [sp, 80] -.L704: +.L676: ldrb w0, [x22] cmp w0, 255 - bne .L717 + bne .L689 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -4025,130 +4007,130 @@ gc_write_completed: ldr x27, [sp, 80] ldp x29, x30, [sp], 96 ret -.L717: +.L689: sxtw x20, w0 - add x1, x23, :lo12:.LANCHOR56 + add x1, x23, :lo12:.LANCHOR55 lsl x3, x20, 6 add x2, x1, x3 ldrb w0, [x1, x3] ldr w1, [x2, 52] strb w0, [x22] ldrh w24, [x2, 48] - cbz w1, .L705 + cbz w1, .L677 ldr w2, [x2, 40] - adrp x0, .LANCHOR71 - add x0, x0, :lo12:.LANCHOR71 + adrp x0, .LANCHOR70 + add x0, x0, :lo12:.LANCHOR70 mov w3, 1 - str w2, [x0, 2116] - strh w3, [x0, 2112] + str w2, [x0, 2196] + strh w3, [x0, 2194] adrp x0, .LC54 add x0, x0, :lo12:.LC54 bl printf - adrp x1, .LANCHOR78 + adrp x1, .LANCHOR77 adrp x0, .LC0 mov w2, 956 - add x1, x1, :lo12:.LANCHOR78 + add x1, x1, :lo12:.LANCHOR77 add x0, x0, :lo12:.LC0 bl printf -.L705: - adrp x0, .LANCHOR79 +.L677: + adrp x0, .LANCHOR78 mov x26, x0 - ldrb w1, [x0, #:lo12:.LANCHOR79] + ldrb w1, [x0, #:lo12:.LANCHOR78] cmp w1, 3 - bne .L706 - adrp x0, .LANCHOR36 - ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L706 - adrp x0, .LANCHOR10 - adrp x1, .LANCHOR80 - ldr x0, [x0, #:lo12:.LANCHOR10] - ldrb w1, [x1, #:lo12:.LANCHOR80] + bne .L678 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L678 + adrp x0, .LANCHOR12 + adrp x1, .LANCHOR79 + ldr x0, [x0, #:lo12:.LANCHOR12] + ldrb w1, [x1, #:lo12:.LANCHOR79] ldrb w0, [x0, 89] mov w19, w0 cmp w1, w0 - bhi .L718 + bhi .L690 cmp w0, 2 mov w0, 2 csel w19, w19, w0, ls -.L707: +.L679: add w19, w19, w19, lsl 1 -.L708: - adrp x1, .LANCHOR83 +.L680: + adrp x1, .LANCHOR82 and x21, x24, 65535 add x0, x25, x20, lsl 6 mov x27, x1 - ldr x2, [x1, #:lo12:.LANCHOR83] + ldr x2, [x1, #:lo12:.LANCHOR82] ldrb w0, [x0, 1] ldrb w2, [x2, x21] cmp w2, w0 - beq .L709 - adrp x1, .LANCHOR78 + beq .L681 + adrp x1, .LANCHOR77 adrp x0, .LC0 mov w2, 976 - add x1, x1, :lo12:.LANCHOR78 + add x1, x1, :lo12:.LANCHOR77 add x0, x0, :lo12:.LC0 bl printf -.L709: +.L681: add x0, x25, x20, lsl 6 ldrb w0, [x0, 61] cmp w0, 3 - beq .L710 - ldrb w0, [x26, #:lo12:.LANCHOR79] + beq .L682 + ldrb w0, [x26, #:lo12:.LANCHOR78] cmp w0, 3 - bne .L710 - adrp x0, .LANCHOR84 - ldrb w0, [x0, #:lo12:.LANCHOR84] - cbnz w0, .L710 + bne .L682 + adrp x0, .LANCHOR83 + ldrb w0, [x0, #:lo12:.LANCHOR83] + cbnz w0, .L682 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L682 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L710 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbnz w0, .L710 + cbnz w0, .L682 + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbz w0, .L683 adrp x0, .LANCHOR81 ldrb w0, [x0, #:lo12:.LANCHOR81] - cbz w0, .L711 - adrp x0, .LANCHOR82 - ldrb w0, [x0, #:lo12:.LANCHOR82] - cbnz w0, .L710 -.L711: - ldr x1, [x27, #:lo12:.LANCHOR83] + cbnz w0, .L682 +.L683: + ldr x1, [x27, #:lo12:.LANCHOR82] mov x0, 0 add x21, x1, x21 -.L712: +.L684: cmp w19, w0, uxth - bls .L704 + bls .L676 ldrb w1, [x21, x0] add x0, x0, 1 add x1, x25, x1, lsl 6 strb wzr, [x1, 61] - b .L712 -.L718: + b .L684 +.L690: mov w19, 1 - b .L707 -.L706: + b .L679 +.L678: + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbz w0, .L691 adrp x0, .LANCHOR81 ldrb w0, [x0, #:lo12:.LANCHOR81] - cbz w0, .L719 - adrp x0, .LANCHOR82 - ldrb w0, [x0, #:lo12:.LANCHOR82] cmp w0, 0 cset w19, ne add w19, w19, 1 - b .L708 -.L719: + b .L680 +.L691: mov w19, 1 - b .L708 -.L710: - adrp x20, .LANCHOR71 - add x20, x20, :lo12:.LANCHOR71 + b .L680 +.L682: + adrp x20, .LANCHOR70 + add x20, x20, :lo12:.LANCHOR70 add x19, x21, x19, uxth strh w24, [x20, 2108] mov w24, -1 -.L713: +.L685: cmp x21, x19 - beq .L704 - ldr x1, [x27, #:lo12:.LANCHOR83] + beq .L676 + ldr x1, [x27, #:lo12:.LANCHOR82] ldrb w0, [x1, x21] strb w24, [x1, x21] add x21, x21, 1 @@ -4161,56 +4143,56 @@ gc_write_completed: ldrb w0, [x20, 7] sub w0, w0, #1 strb w0, [x20, 7] - b .L713 + b .L685 .size gc_write_completed, .-gc_write_completed .section .text.gc_get_src_blk,"ax",@progbits .align 2 .global gc_get_src_blk .type gc_get_src_blk, %function gc_get_src_blk: - adrp x0, .LANCHOR10 - ldr x2, [x0, #:lo12:.LANCHOR10] - adrp x0, .LANCHOR85 - ldrb w3, [x0, #:lo12:.LANCHOR85] + adrp x0, .LANCHOR12 + ldr x2, [x0, #:lo12:.LANCHOR12] + adrp x0, .LANCHOR84 + ldrb w3, [x0, #:lo12:.LANCHOR84] ldrh w0, [x2, 124] - cbz w0, .L732 + cbz w0, .L704 add x1, x2, 392 mov w4, 1 -.L733: +.L705: add x5, x1, 128 mov w6, 65535 -.L737: +.L709: ldrh w0, [x1] cmp w0, w6 - beq .L735 + beq .L707 mov w5, -1 strh w5, [x1] - cbz w4, .L736 + cbz w4, .L708 ldrh w1, [x2, 124] sub w1, w1, #1 strh w1, [x2, 124] ret -.L732: +.L704: add x0, x2, x3, sxtw 1 ldrh w0, [x0, 120] - cbz w0, .L738 + cbz w0, .L710 ubfiz x1, x3, 7, 8 mov w4, 0 add x1, x1, 136 add x1, x2, x1 - b .L733 -.L736: + b .L705 +.L708: add x2, x2, x3, uxtb 1 ldrh w1, [x2, 120] sub w1, w1, #1 strh w1, [x2, 120] ret -.L735: +.L707: add x1, x1, 2 cmp x1, x5 - bne .L737 + bne .L709 ret -.L738: +.L710: mov w0, 65535 ret .size gc_get_src_blk, .-gc_get_src_blk @@ -4222,92 +4204,839 @@ gc_free_temp_buf: stp x29, x30, [sp, -48]! add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x20, .LANCHOR71 - add x0, x20, :lo12:.LANCHOR71 + adrp x20, .LANCHOR70 + add x0, x20, :lo12:.LANCHOR70 stp x21, x22, [sp, 32] ldrb w1, [x0, 7] - cbz w1, .L747 - adrp x1, .LANCHOR58 - ldrb w1, [x1, #:lo12:.LANCHOR58] + cbz w1, .L719 + adrp x1, .LANCHOR57 + ldrb w1, [x1, #:lo12:.LANCHOR57] cmp w1, 1 - bhi .L747 + bhi .L719 ldrh w19, [x0, 2108] - adrp x2, .LANCHOR80 - adrp x0, .LANCHOR86 - adrp x21, .LANCHOR83 - ldrb w2, [x2, #:lo12:.LANCHOR80] + adrp x2, .LANCHOR79 + adrp x0, .LANCHOR85 + adrp x21, .LANCHOR82 + ldrb w2, [x2, #:lo12:.LANCHOR79] add w1, w19, 24 - ldrh w0, [x0, #:lo12:.LANCHOR86] - ldr x4, [x21, #:lo12:.LANCHOR83] + ldrh w0, [x0, #:lo12:.LANCHOR85] + ldr x4, [x21, #:lo12:.LANCHOR82] mul w0, w0, w2 cmp w0, w1 csel w1, w0, w1, ls - adrp x0, .LANCHOR56 - add x0, x0, :lo12:.LANCHOR56 -.L742: + adrp x0, .LANCHOR55 + add x0, x0, :lo12:.LANCHOR55 +.L714: cmp w19, w1 - bcc .L745 -.L747: + bcc .L717 +.L719: mov w0, 0 - b .L740 -.L745: + b .L712 +.L717: uxtw x22, w19 ldrb w2, [x4, x22] cmp w2, 255 - beq .L743 + beq .L715 sbfiz x3, x2, 6, 32 add x3, x0, x3 ldrb w3, [x3, 61] - cbnz w3, .L743 + cbnz w3, .L715 ubfiz x2, x2, 6, 8 add x0, x0, x2 bl zbuf_free - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L744 - ldr x0, [x21, #:lo12:.LANCHOR83] + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L716 + ldr x0, [x21, #:lo12:.LANCHOR82] mov w1, w19 ldrb w2, [x0, x22] adrp x0, .LC55 add x0, x0, :lo12:.LC55 bl printf -.L744: - ldr x0, [x21, #:lo12:.LANCHOR83] - add x20, x20, :lo12:.LANCHOR71 +.L716: + ldr x0, [x21, #:lo12:.LANCHOR82] + add x20, x20, :lo12:.LANCHOR70 mov w1, -1 strb w1, [x0, x22] ldrb w0, [x20, 7] sub w0, w0, #1 strb w0, [x20, 7] mov w0, 1 -.L740: +.L712: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 48 ret -.L743: +.L715: add w19, w19, 1 - b .L742 + b .L714 .size gc_free_temp_buf, .-gc_free_temp_buf + .section .text.get_ink_scaned_blk,"ax",@progbits + .align 2 + .global get_ink_scaned_blk + .type get_ink_scaned_blk, %function +get_ink_scaned_blk: + adrp x1, .LANCHOR70 + add x1, x1, :lo12:.LANCHOR70 + ldrh w2, [x1, 2112] + cbz w2, .L729 + sub w2, w2, #1 + strh w2, [x1, 2112] + add x0, x1, x2, sxtw 1 + ldrh w0, [x0, 2114] + ret +.L729: + mov w0, 65535 + ret + .size get_ink_scaned_blk, .-get_ink_scaned_blk .section .text.print_gc_debug_info,"ax",@progbits .align 2 .global print_gc_debug_info .type print_gc_debug_info, %function print_gc_debug_info: - adrp x2, .LANCHOR87 - adrp x1, .LANCHOR71 - add x0, x1, :lo12:.LANCHOR71 - ldrh w6, [x2, #:lo12:.LANCHOR87] - adrp x2, .LANCHOR58 - ldrh w1, [x1, #:lo12:.LANCHOR71] + adrp x2, .LANCHOR86 + adrp x1, .LANCHOR70 + add x0, x1, :lo12:.LANCHOR70 + ldrh w6, [x2, #:lo12:.LANCHOR86] + adrp x2, .LANCHOR57 + ldrh w1, [x1, #:lo12:.LANCHOR70] ldrb w5, [x0, 7] - ldrb w4, [x2, #:lo12:.LANCHOR58] + ldrb w4, [x2, #:lo12:.LANCHOR57] ldrh w3, [x0, 2106] ldrh w2, [x0, 2] adrp x0, .LC56 add x0, x0, :lo12:.LC56 b printf .size print_gc_debug_info, .-print_gc_debug_info + .section .text._list_pop_index_node,"ax",@progbits + .align 2 + .global _list_pop_index_node + .type _list_pop_index_node, %function +_list_pop_index_node: + stp x29, x30, [sp, -32]! + add x29, sp, 0 + stp x19, x20, [sp, 16] + ldr x20, [x0] + cbz x20, .L737 + adrp x3, .LANCHOR4 + and w1, w1, 65535 + mov w4, 65535 + mov w5, 6 + ldr x19, [x3, #:lo12:.LANCHOR4] +.L733: + cbnz w1, .L734 +.L736: + sub x19, x20, x19 + mov x1, -6148914691236517206 + asr x19, x19, 1 + movk x1, 0xaaab, lsl 0 + mul x19, x19, x1 + and w19, w19, 65535 + mov w1, w19 + bl _list_remove_node + mov w0, -1 + strh w0, [x20] + strh w0, [x20, 2] + mov w0, w19 +.L731: + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 32 + ret +.L734: + ldrh w3, [x20] + cmp w3, w4 + beq .L736 + sub w1, w1, #1 + umaddl x20, w3, w5, x19 + and w1, w1, 65535 + b .L733 +.L737: + mov w0, 65535 + b .L731 + .size _list_pop_index_node, .-_list_pop_index_node + .section .text._list_get_gc_head_node,"ax",@progbits + .align 2 + .global _list_get_gc_head_node + .type _list_get_gc_head_node, %function +_list_get_gc_head_node: + ldr x0, [x0] + and w1, w1, 65535 + cbz x0, .L744 + adrp x2, .LANCHOR4 + mov w3, 65535 + mov w4, 6 + ldr x2, [x2, #:lo12:.LANCHOR4] +.L741: + cbz w1, .L742 + ldrh w0, [x0] + cmp w0, w3 + bne .L743 + ret +.L743: + sub w1, w1, #1 + umaddl x0, w0, w4, x2 + and w1, w1, 65535 + b .L741 +.L744: + mov w0, 65535 + ret +.L742: + sub x0, x0, x2 + mov x1, -6148914691236517206 + asr x0, x0, 1 + movk x1, 0xaaab, lsl 0 + mul x0, x0, x1 + and w0, w0, 65535 + ret + .size _list_get_gc_head_node, .-_list_get_gc_head_node + .section .text.gc_search_src_blk,"ax",@progbits + .align 2 + .global gc_search_src_blk + .type gc_search_src_blk, %function +gc_search_src_blk: + stp x29, x30, [sp, -176]! + add x29, sp, 0 + stp x21, x22, [sp, 32] + and w22, w0, 255 + and w0, w1, 255 + stp x19, x20, [sp, 16] + str w0, [x29, 160] + adrp x0, .LANCHOR12 + and w19, w2, 255 + stp x23, x24, [sp, 48] + ldr x2, [x0, #:lo12:.LANCHOR12] + stp x25, x26, [sp, 64] + stp x27, x28, [sp, 80] + add x0, x2, x22, sxtw 1 + ldrh w21, [x0, 120] + cbz w21, .L747 + mov w0, w21 +.L746: + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] + ldp x27, x28, [sp, 80] + ldp x29, x30, [sp], 176 + ret +.L747: + adrp x0, .LANCHOR70 + add x1, x0, :lo12:.LANCHOR70 + ldrh w1, [x1, 56] + cmp w1, 1 + bhi .L749 + adrp x3, .LANCHOR87 + strh wzr, [x3, #:lo12:.LANCHOR87] + adrp x3, .LANCHOR88 + strh wzr, [x3, #:lo12:.LANCHOR88] + adrp x3, .LANCHOR89 + strh wzr, [x3, #:lo12:.LANCHOR89] +.L749: + cbnz w22, .L750 + adrp x26, .LANCHOR88 + adrp x25, .LANCHOR90 + add x23, x26, :lo12:.LANCHOR88 + add x25, x25, :lo12:.LANCHOR90 + mov w24, 0 + mov w20, 0 + mov w27, 65535 +.L751: + cmp w19, w20 + blt .L756 + ldrh w6, [x23] + mov x0, x25 + mov w1, w6 + bl _list_get_gc_head_node + add w2, w6, 1 + and w2, w2, 65535 + strh w2, [x23] + and w1, w0, 65535 + mov w28, w1 + cmp w1, w27 + beq .L752 + adrp x0, .LANCHOR19 + adrp x6, .LANCHOR11 + uxtw x4, w1 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L753 + ldr x0, [x6, #:lo12:.LANCHOR11] + stp x6, x4, [x29, 144] + ldrh w3, [x0, x4, lsl 1] + adrp x0, .LC57 + add x0, x0, :lo12:.LC57 + bl printf + ldp x6, x4, [x29, 144] +.L753: + ldr x0, [x6, #:lo12:.LANCHOR11] + ldrh w1, [x0, x4, lsl 1] + adrp x0, .LANCHOR69 + ldrh w0, [x0, #:lo12:.LANCHOR69] + cmp w1, w0 + bcs .L754 + mov w2, 0 + mov w1, 0 + mov w0, w28 + bl gc_add_sblk + cbz w0, .L755 + add w5, w24, 1 + and w24, w5, 65535 + cmp w24, w19 + bcc .L755 +.L756: + ldr x0, [x29, 160] + tbz x0, 1, .L758 + adrp x0, .LANCHOR91 + ldrh w0, [x0, #:lo12:.LANCHOR91] + cmp w0, 32 + bls .L758 + adrp x23, .LANCHOR93 + adrp x20, .LANCHOR89 + adrp x26, .LANCHOR92 + add x20, x20, :lo12:.LANCHOR89 + add x26, x26, :lo12:.LANCHOR92 + add x27, x23, :lo12:.LANCHOR93 + mov w25, 0 +.L759: + cmp w19, w25 + blt .L763 + ldrh w6, [x20] + mov x0, x26 + mov w1, w6 + bl _list_get_gc_head_node + add w6, w6, 1 + strh w6, [x20] + and w1, w0, 65535 + mov w2, 65535 + cmp w1, w2 + beq .L760 + adrp x2, .LANCHOR11 + ubfiz x1, x1, 1, 16 + ldr x2, [x2, #:lo12:.LANCHOR11] + ldrh w2, [x2, x1] + ldrh w1, [x27] + cmp w2, w1 + bcs .L760 + mov w2, 0 + mov w1, 0 + bl gc_add_sblk + cbz w0, .L762 + add w5, w24, 1 + and w24, w5, 65535 + cmp w24, w19 + bcc .L762 +.L763: + cmp w24, w19 + adrp x0, .LANCHOR94 + bcs .L765 + ldrh w1, [x0, #:lo12:.LANCHOR94] + adrp x3, .LANCHOR79 + adrp x0, .LANCHOR85 + ldrh w2, [x23, #:lo12:.LANCHOR93] + ldrb w3, [x3, #:lo12:.LANCHOR79] + ldrh w0, [x0, #:lo12:.LANCHOR85] + mul w0, w0, w3 + sub w0, w0, w1, lsr 2 + cmp w2, w0 + bge .L758 + add w1, w2, w1, lsr 3 + strh w1, [x23, #:lo12:.LANCHOR93] +.L758: + ldr x0, [x29, 160] + tbz x0, 0, .L766 + and w23, w19, 65535 + cmp w24, w23 + bcs .L766 + adrp x20, .LANCHOR87 + adrp x25, .LANCHOR95 + add x20, x20, :lo12:.LANCHOR87 + add x25, x25, :lo12:.LANCHOR95 + mov w26, 65535 +.L771: + ldrh w6, [x20] + mov x0, x25 + mov w1, w6 + bl _list_get_gc_head_node + add w6, w6, 1 + strh w6, [x20] + cmp w26, w0, uxth + beq .L767 + mov w2, 0 + mov w1, 0 + bl gc_add_sblk + cbz w0, .L768 + add w5, w24, 1 + and w24, w5, 65535 + cmp w23, w24 + bhi .L768 +.L769: + adrp x0, .LANCHOR94 + adrp x1, .LANCHOR69 + ldrh w0, [x0, #:lo12:.LANCHOR94] + ldrh w2, [x1, #:lo12:.LANCHOR69] + cmp w2, w0, lsr 1 + bls .L766 + sub w0, w2, w0, lsr 3 + b .L857 +.L754: + strh wzr, [x26, #:lo12:.LANCHOR88] + b .L756 +.L752: + strh wzr, [x23] + b .L756 +.L755: + add w20, w20, 1 + and w20, w20, 65535 + b .L751 +.L760: + strh wzr, [x20] + b .L763 +.L762: + add w25, w25, 1 + and w25, w25, 65535 + b .L759 +.L765: + ldrh w1, [x23, #:lo12:.LANCHOR93] + ldrh w0, [x0, #:lo12:.LANCHOR94] + cmp w1, w0 + bls .L758 + sub w0, w1, w0, lsr 3 + strh w0, [x23, #:lo12:.LANCHOR93] + b .L758 +.L767: + strh wzr, [x20] +.L770: + cmp w24, w23 + bcs .L769 + adrp x1, .LANCHOR69 + adrp x0, .LANCHOR94 + ldrh w2, [x1, #:lo12:.LANCHOR69] + ldrh w0, [x0, #:lo12:.LANCHOR94] + cmp w2, w0 + bcs .L766 + add w0, w2, w0, lsr 3 +.L857: + strh w0, [x1, #:lo12:.LANCHOR69] +.L766: + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L802 + ldr w2, [x29, 160] + adrp x0, .LC58 + mov w4, w19 + mov w3, w24 + mov w1, w22 + add x0, x0, :lo12:.LC58 + bl printf +.L802: + mov w0, w24 + b .L746 +.L768: + add w21, w21, 1 + and w21, w21, 65535 + cmp w23, w21 + bhi .L771 + b .L770 +.L750: + adrp x23, .LANCHOR79 + adrp x25, .LANCHOR85 + stp x25, x23, [x29, 144] + cmp w19, 1 + ldrb w20, [x23, #:lo12:.LANCHOR79] + ldrh w3, [x25, #:lo12:.LANCHOR85] + mul w20, w20, w3 + and w20, w20, 65535 + bne .L772 + cbz w1, .L772 + ldrh w3, [x2, 80] + mov w2, 65535 + cmp w3, w2 + beq .L805 + add x2, x0, :lo12:.LANCHOR70 + ldrh w2, [x2, 2106] + sub w20, w20, w2 + and w20, w20, 65535 +.L805: + mov w19, 8 +.L772: + add x0, x0, :lo12:.LANCHOR70 + strh wzr, [x0, 2192] + adrp x0, .LANCHOR96 + strh wzr, [x0, #:lo12:.LANCHOR96] + ldr w0, [x29, 160] + and w0, w0, 1 + str w0, [x29, 128] + ldr x0, [x29, 160] + tbz x0, 0, .L806 + adrp x2, .LANCHOR98 + adrp x26, .LANCHOR97 + str x2, [x29, 120] + ldrh w0, [x26, #:lo12:.LANCHOR97] + ldrh w3, [x2, #:lo12:.LANCHOR98] + cmp w0, w3, lsr 2 + bhi .L774 + adrp x2, .LANCHOR99 + ldrh w2, [x2, #:lo12:.LANCHOR99] + cmp w2, w0 + bcs .L807 +.L774: + cmp w1, 1 + adrp x25, .LANCHOR87 + adrp x28, .LANCHOR95 + bls .L776 +.L778: + mov w24, 0 +.L777: + add x0, x28, :lo12:.LANCHOR95 + add x25, x25, :lo12:.LANCHOR87 + adrp x28, .LANCHOR99 + add x28, x28, :lo12:.LANCHOR99 + mov w23, 0 + mov w27, 64 + str x0, [x29, 136] +.L781: + ldrh w7, [x25] + ldr x0, [x29, 136] + mov w1, w7 + bl _list_get_gc_head_node + and w6, w0, 65535 + str w6, [x29, 112] + mov w1, 65535 + cmp w6, w1 + beq .L779 + add w7, w7, 1 + mov w2, w22 + strh w7, [x25] + mov w1, 0 + bl gc_add_sblk + cbz w0, .L780 + adrp x0, .LANCHOR11 + ldr w6, [x29, 112] + add w5, w24, 1 + ldr x0, [x0, #:lo12:.LANCHOR11] + and w24, w5, 65535 + ubfiz x6, x6, 1, 16 + cmp w24, w19 + ldrh w0, [x0, x6] + add w3, w23, w0 + and w23, w3, 65535 + bcs .L775 + cmp w20, w23 + bcc .L775 + ldrh w0, [x28] + ldrh w1, [x26, #:lo12:.LANCHOR97] + cmp w0, w1, lsl 1 + ble .L780 +.L775: + adrp x0, .LANCHOR99 + ldrh w1, [x0, #:lo12:.LANCHOR99] + ldr x0, [x29, 120] + ldrh w0, [x0, #:lo12:.LANCHOR98] + cmp w1, w0, lsr 2 + bhi .L803 + ldrh w0, [x26, #:lo12:.LANCHOR97] + add w0, w0, 8 + cmp w1, w0 + ble .L773 +.L803: + cmp w20, w23 + bls .L773 + adrp x7, .LANCHOR88 + and w25, w19, 65535 + add x28, x7, :lo12:.LANCHOR88 + adrp x0, .LANCHOR90 + mov w26, 64 + add x0, x0, :lo12:.LANCHOR90 + adrp x27, .LANCHOR11 + str x0, [x29, 136] +.L784: + ldrh w6, [x28] + ldr x0, [x29, 136] + mov w1, w6 + bl _list_get_gc_head_node + and w4, w0, 65535 + str w4, [x29, 120] + mov w1, 65535 + cmp w4, w1 + beq .L782 + add w6, w6, 1 + mov w2, w22 + strh w6, [x28] + mov w1, 0 + bl gc_add_sblk + cbz w0, .L783 + ldr w4, [x29, 120] + add w5, w24, 1 + ldr x0, [x27, #:lo12:.LANCHOR11] + and w24, w5, 65535 + cmp w24, w25 + ubfiz x4, x4, 1, 16 + ldrh w0, [x0, x4] + add w3, w23, w0 + and w23, w3, 65535 + bcs .L773 + cmp w20, w23 + bcs .L783 +.L773: + ldr x0, [x29, 160] + tbz x0, 1, .L785 + adrp x0, .LANCHOR91 + str x0, [x29, 112] + ldrh w1, [x0, #:lo12:.LANCHOR91] + cmp w1, 32 + bls .L785 + cmp w23, w20 + bcs .L785 + adrp x25, .LANCHOR89 + adrp x0, .LANCHOR92 + add x28, x25, :lo12:.LANCHOR89 + add x0, x0, :lo12:.LANCHOR92 + adrp x27, .LANCHOR100 + str x0, [x29, 120] + mov w26, 64 + add x0, x27, :lo12:.LANCHOR100 + str x0, [x29, 136] +.L791: + ldrh w6, [x28] + ldr x0, [x29, 120] + mov w1, w6 + bl _list_get_gc_head_node + and w8, w0, 65535 + mov w1, 65535 + cmp w8, w1 + beq .L786 + add w6, w6, 1 + strh w6, [x28] + cmp w19, 1 + bne .L787 + ldp x2, x1, [x29, 144] + ldrb w1, [x1, #:lo12:.LANCHOR79] + ldrh w2, [x2, #:lo12:.LANCHOR85] + mul w2, w1, w2 + adrp x1, .LANCHOR94 + ldrh w1, [x1, #:lo12:.LANCHOR94] + sub w1, w2, w1, lsr 3 + ldr x2, [x29, 136] + strh w1, [x2] +.L787: + ubfiz x6, x8, 1, 16 + adrp x8, .LANCHOR11 + stp x8, x6, [x29, 96] + ldr x1, [x8, #:lo12:.LANCHOR11] + ldrh w2, [x1, x6] + ldr x1, [x29, 136] + ldrh w1, [x1] + cmp w2, w1 + bcs .L788 + mov w2, w22 + mov w1, 0 + bl gc_add_sblk + cbz w0, .L789 + ldp x8, x6, [x29, 96] + add w5, w24, 1 + add w21, w21, 1 + and w24, w5, 65535 + and w21, w21, 65535 + cmp w24, w19 + ldr x0, [x8, #:lo12:.LANCHOR11] + ldrh w0, [x0, x6] + add w3, w23, w0 + and w23, w3, 65535 + bcs .L790 + cmp w20, w23 + bcs .L789 +.L790: + cmp w24, w19 + adrp x0, .LANCHOR94 + bcc .L792 + cbnz w21, .L793 + ldr x1, [x29, 112] + ldrh w2, [x1, #:lo12:.LANCHOR91] + adrp x1, .LANCHOR101 + ldrh w1, [x1, #:lo12:.LANCHOR101] + cmp w2, w1 + bls .L793 +.L792: + ldrh w2, [x0, #:lo12:.LANCHOR94] + ldp x0, x3, [x29, 144] + ldrh w1, [x27, #:lo12:.LANCHOR100] + lsr w2, w2, 3 + ldrh w0, [x0, #:lo12:.LANCHOR85] + ldrb w6, [x3, #:lo12:.LANCHOR79] + mul w0, w0, w6 + sub w0, w0, w2 + cmp w1, w0 + bge .L785 + add w1, w1, w2 + strh w1, [x27, #:lo12:.LANCHOR100] +.L785: + ldr w0, [x29, 128] + cbz w0, .L766 + and w27, w19, 65535 + cmp w24, w27 + bcs .L766 + cmp w23, w20 + bcs .L766 + adrp x26, .LANCHOR90 + adrp x4, .LANCHOR88 + add x0, x26, :lo12:.LANCHOR90 + add x28, x4, :lo12:.LANCHOR88 + adrp x21, .LANCHOR102 + str x0, [x29, 144] + mov w25, 64 + add x0, x21, :lo12:.LANCHOR102 + adrp x26, .LANCHOR11 + str x0, [x29, 136] +.L801: + ldrh w6, [x28] + ldr x0, [x29, 144] + mov w1, w6 + bl _list_get_gc_head_node + and w1, w0, 65535 + mov w2, 65535 + cmp w1, w2 + beq .L795 + add w6, w6, 1 + strh w6, [x28] + ubfiz x6, x1, 1, 16 + ldr x1, [x26, #:lo12:.LANCHOR11] + ldrh w2, [x1, x6] + ldr x1, [x29, 136] + ldrh w1, [x1] + cmp w2, w1 + bcs .L796 + adrp x1, .LANCHOR98 + ldrh w2, [x1, #:lo12:.LANCHOR98] + adrp x1, .LANCHOR99 + ldrh w1, [x1, #:lo12:.LANCHOR99] + cmp w1, w2, lsr 1 + bls .L797 +.L796: + mov w2, w22 + mov w1, 0 + str x6, [x29, 128] + bl gc_add_sblk + cbz w0, .L798 + adrp x0, .LANCHOR11 + ldr x6, [x29, 128] + add w5, w24, 1 + ldr x0, [x0, #:lo12:.LANCHOR11] + and w24, w5, 65535 + cmp w27, w24 + ldrh w0, [x0, x6] + add w3, w23, w0 + and w23, w3, 65535 + bls .L799 + cmp w20, w23 + bcs .L798 +.L800: + adrp x0, .LANCHOR94 + ldrh w1, [x21, #:lo12:.LANCHOR102] + ldrh w0, [x0, #:lo12:.LANCHOR94] + cmp w1, w0, lsr 1 + bls .L766 + sub w0, w1, w0, lsr 3 + strh w0, [x21, #:lo12:.LANCHOR102] + b .L766 +.L776: + lsr w0, w0, 2 + mov w1, 0 + strh w0, [x25, #:lo12:.LANCHOR87] + add x0, x28, :lo12:.LANCHOR95 + bl _list_get_gc_head_node + and w1, w0, 65535 + mov w2, 65535 + cmp w1, w2 + beq .L778 + adrp x2, .LANCHOR11 + ubfiz x1, x1, 1, 16 + ldr x3, [x2, #:lo12:.LANCHOR11] + adrp x2, .LANCHOR94 + ldrh w2, [x2, #:lo12:.LANCHOR94] + ldrh w1, [x3, x1] + cmp w1, w2, lsr 2 + bcs .L778 + mov w1, 1 + mov w2, w22 + strh w1, [x25, #:lo12:.LANCHOR87] + mov w1, 0 + bl gc_add_sblk + cmp w0, 0 + cset w24, ne + b .L777 +.L779: + strh wzr, [x25] + b .L775 +.L780: + sub w27, w27, #1 + ands w27, w27, 65535 + bne .L781 + b .L775 +.L782: + cmp w6, 64 + bls .L773 + strh wzr, [x28] + b .L773 +.L783: + sub w26, w26, #1 + ands w26, w26, 65535 + bne .L784 + b .L773 +.L806: + mov w23, 0 + mov w24, 0 + b .L773 +.L788: + strh wzr, [x25, #:lo12:.LANCHOR89] + b .L790 +.L786: + strh wzr, [x28] + b .L790 +.L789: + sub w26, w26, #1 + ands w26, w26, 65535 + bne .L791 + b .L790 +.L793: + ldr x1, [x29, 152] + ldrh w0, [x0, #:lo12:.LANCHOR94] + ldrh w2, [x27, #:lo12:.LANCHOR100] + ldrb w1, [x1, #:lo12:.LANCHOR79] + mul w1, w1, w0 + cmp w2, w1 + ble .L766 + sub w0, w2, w0, lsr 3 + strh w0, [x27, #:lo12:.LANCHOR100] + b .L766 +.L795: + cmp w6, 64 + bls .L797 + strh wzr, [x28] +.L797: + cmp w24, w27 + bcc .L800 +.L799: + adrp x0, .LANCHOR94 + ldrh w2, [x21, #:lo12:.LANCHOR102] + ldrh w1, [x0, #:lo12:.LANCHOR94] + ldr x0, [x29, 152] + ldrb w0, [x0, #:lo12:.LANCHOR79] + mul w0, w0, w1 + sub w0, w0, #32 + cmp w2, w0 + bge .L766 + add w1, w2, w1, lsr 3 + strh w1, [x21, #:lo12:.LANCHOR102] + b .L766 +.L798: + sub w25, w25, #1 + ands w25, w25, 65535 + bne .L801 + b .L797 +.L807: + mov w23, 0 + mov w24, 0 + b .L775 + .size gc_search_src_blk, .-gc_search_src_blk .section .text.zftl_get_gc_node,"ax",@progbits .align 2 .global zftl_get_gc_node @@ -4316,687 +5045,56 @@ zftl_get_gc_node: and w1, w1, 65535 and w0, w0, 65535 cmp w1, 5 - bne .L757 + bne .L859 mov w1, w0 - adrp x0, .LANCHOR88 - ldr x0, [x0, #:lo12:.LANCHOR88] -.L759: - b _list_get_gc_head_node.isra.2 -.L757: + adrp x0, .LANCHOR92 + add x0, x0, :lo12:.LANCHOR92 +.L861: + b _list_get_gc_head_node +.L859: cmp w1, 2 - bne .L758 - b zftl_get_gc_node.part.10 -.L758: mov w1, w0 - adrp x0, .LANCHOR89 - ldr x0, [x0, #:lo12:.LANCHOR89] - b .L759 + bne .L860 + adrp x0, .LANCHOR95 + add x0, x0, :lo12:.LANCHOR95 + b .L861 +.L860: + adrp x0, .LANCHOR90 + add x0, x0, :lo12:.LANCHOR90 + b .L861 .size zftl_get_gc_node, .-zftl_get_gc_node - .section .text.gc_search_src_blk,"ax",@progbits - .align 2 - .global gc_search_src_blk - .type gc_search_src_blk, %function -gc_search_src_blk: - stp x29, x30, [sp, -160]! - add x29, sp, 0 - stp x21, x22, [sp, 32] - and w22, w0, 255 - and w0, w1, 255 - stp x19, x20, [sp, 16] - str w0, [x29, 144] - adrp x0, .LANCHOR10 - and w19, w2, 255 - stp x23, x24, [sp, 48] - ldr x2, [x0, #:lo12:.LANCHOR10] - stp x25, x26, [sp, 64] - stp x27, x28, [sp, 80] - add x0, x2, x22, sxtw 1 - ldrh w21, [x0, 120] - cbz w21, .L761 - mov w0, w21 -.L760: - 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], 160 - ret -.L761: - adrp x0, .LANCHOR71 - add x1, x0, :lo12:.LANCHOR71 - ldrh w1, [x1, 56] - cmp w1, 1 - bhi .L763 - adrp x3, .LANCHOR90 - strh wzr, [x3, #:lo12:.LANCHOR90] - adrp x3, .LANCHOR91 - strh wzr, [x3, #:lo12:.LANCHOR91] - adrp x3, .LANCHOR92 - strh wzr, [x3, #:lo12:.LANCHOR92] -.L763: - cbnz w22, .L764 - adrp x26, .LANCHOR91 - adrp x25, .LANCHOR14 - add x23, x26, :lo12:.LANCHOR91 - add x25, x25, :lo12:.LANCHOR14 - mov w24, 0 - mov w20, 0 -.L765: - cmp w19, w20 - blt .L770 - ldrh w6, [x23] - mov w1, 3 - mov w0, w6 - bl zftl_get_gc_node - add w2, w6, 1 - and w2, w2, 65535 - strh w2, [x23] - and w1, w0, 65535 - mov w0, 65535 - mov w27, w1 - cmp w1, w0 - beq .L766 - ldr w0, [x25] - adrp x4, .LANCHOR9 - uxtw x28, w1 - tbz x0, 8, .L767 - ldr x0, [x4, #:lo12:.LANCHOR9] - str x4, [x29, 136] - ldrh w3, [x0, x28, lsl 1] - adrp x0, .LC57 - add x0, x0, :lo12:.LC57 - bl printf - ldr x4, [x29, 136] -.L767: - ldr x0, [x4, #:lo12:.LANCHOR9] - ldrh w1, [x0, x28, lsl 1] - adrp x0, .LANCHOR70 - ldrh w0, [x0, #:lo12:.LANCHOR70] - cmp w1, w0 - bcs .L768 - mov w2, 0 - mov w1, 0 - mov w0, w27 - bl gc_add_sblk - cbz w0, .L769 - add w5, w24, 1 - and w24, w5, 65535 - cmp w24, w19 - bcc .L769 -.L770: - ldr x0, [x29, 144] - tbz x0, 1, .L772 - adrp x0, .LANCHOR93 - ldrh w0, [x0, #:lo12:.LANCHOR93] - cmp w0, 32 - bls .L772 - adrp x23, .LANCHOR94 - adrp x20, .LANCHOR92 - add x27, x23, :lo12:.LANCHOR94 - add x20, x20, :lo12:.LANCHOR92 - mov w25, 0 - mov w26, 65535 -.L773: - cmp w19, w25 - blt .L777 - ldrh w6, [x20] - mov w1, 5 - mov w0, w6 - bl zftl_get_gc_node - add w6, w6, 1 - strh w6, [x20] - and w1, w0, 65535 - cmp w1, w26 - beq .L774 - adrp x2, .LANCHOR9 - ubfiz x1, x1, 1, 16 - ldr x2, [x2, #:lo12:.LANCHOR9] - ldrh w2, [x2, x1] - ldrh w1, [x27] - cmp w2, w1 - bcs .L774 - mov w2, 0 - mov w1, 0 - bl gc_add_sblk - cbz w0, .L776 - add w5, w24, 1 - and w24, w5, 65535 - cmp w24, w19 - bcc .L776 -.L777: - cmp w24, w19 - adrp x0, .LANCHOR95 - bcs .L779 - ldrh w1, [x0, #:lo12:.LANCHOR95] - adrp x3, .LANCHOR80 - adrp x0, .LANCHOR86 - ldrh w2, [x23, #:lo12:.LANCHOR94] - ldrb w3, [x3, #:lo12:.LANCHOR80] - ldrh w0, [x0, #:lo12:.LANCHOR86] - mul w0, w0, w3 - sub w0, w0, w1, lsr 2 - cmp w2, w0 - bge .L772 - add w1, w2, w1, lsr 3 - strh w1, [x23, #:lo12:.LANCHOR94] -.L772: - ldr x0, [x29, 144] - tbz x0, 0, .L780 - and w23, w19, 65535 - cmp w24, w23 - bcs .L780 - adrp x20, .LANCHOR90 - add x20, x20, :lo12:.LANCHOR90 - mov w25, 65535 -.L785: - ldrh w6, [x20] - mov w0, w6 - bl zftl_get_gc_node.part.10 - add w6, w6, 1 - strh w6, [x20] - cmp w25, w0, uxth - beq .L781 - mov w2, 0 - mov w1, 0 - bl gc_add_sblk - cbz w0, .L782 - add w5, w24, 1 - and w24, w5, 65535 - cmp w23, w24 - bhi .L782 -.L783: - adrp x0, .LANCHOR95 - adrp x1, .LANCHOR70 - ldrh w0, [x0, #:lo12:.LANCHOR95] - ldrh w2, [x1, #:lo12:.LANCHOR70] - cmp w2, w0, lsr 1 - bls .L780 - sub w0, w2, w0, lsr 3 - b .L871 -.L768: - strh wzr, [x26, #:lo12:.LANCHOR91] - b .L770 -.L766: - strh wzr, [x23] - b .L770 -.L769: - add w20, w20, 1 - and w20, w20, 65535 - b .L765 -.L774: - strh wzr, [x20] - b .L777 -.L776: - add w25, w25, 1 - and w25, w25, 65535 - b .L773 -.L779: - ldrh w1, [x23, #:lo12:.LANCHOR94] - ldrh w0, [x0, #:lo12:.LANCHOR95] - cmp w1, w0 - bls .L772 - sub w0, w1, w0, lsr 3 - strh w0, [x23, #:lo12:.LANCHOR94] - b .L772 -.L781: - strh wzr, [x20] -.L784: - cmp w24, w23 - bcs .L783 - adrp x1, .LANCHOR70 - adrp x0, .LANCHOR95 - ldrh w2, [x1, #:lo12:.LANCHOR70] - ldrh w0, [x0, #:lo12:.LANCHOR95] - cmp w2, w0 - bcs .L780 - add w0, w2, w0, lsr 3 -.L871: - strh w0, [x1, #:lo12:.LANCHOR70] -.L780: - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L816 - ldr w2, [x29, 144] - adrp x0, .LC58 - mov w4, w19 - mov w3, w24 - mov w1, w22 - add x0, x0, :lo12:.LC58 - bl printf -.L816: - mov w0, w24 - b .L760 -.L782: - add w21, w21, 1 - and w21, w21, 65535 - cmp w23, w21 - bhi .L785 - b .L784 -.L764: - adrp x23, .LANCHOR80 - adrp x25, .LANCHOR86 - str x23, [x29, 136] - cmp w19, 1 - ldrb w20, [x23, #:lo12:.LANCHOR80] - ldrh w3, [x25, #:lo12:.LANCHOR86] - mul w20, w20, w3 - and w20, w20, 65535 - bne .L786 - cbz w1, .L786 - ldrh w3, [x2, 80] - mov w2, 65535 - cmp w3, w2 - beq .L819 - add x2, x0, :lo12:.LANCHOR71 - ldrh w2, [x2, 2106] - sub w20, w20, w2 - and w20, w20, 65535 -.L819: - mov w19, 8 -.L786: - add x0, x0, :lo12:.LANCHOR71 - strh wzr, [x0, 2110] - adrp x0, .LANCHOR96 - strh wzr, [x0, #:lo12:.LANCHOR96] - ldr w0, [x29, 144] - and w0, w0, 1 - str w0, [x29, 120] - ldr x0, [x29, 144] - tbz x0, 0, .L820 - adrp x2, .LANCHOR98 - adrp x26, .LANCHOR97 - str x2, [x29, 128] - ldrh w0, [x26, #:lo12:.LANCHOR97] - ldrh w3, [x2, #:lo12:.LANCHOR98] - cmp w0, w3, lsr 2 - bhi .L788 - adrp x2, .LANCHOR99 - ldrh w2, [x2, #:lo12:.LANCHOR99] - cmp w2, w0 - bcs .L821 -.L788: - cmp w1, 1 - adrp x28, .LANCHOR90 - bls .L790 -.L792: - mov w24, 0 -.L791: - add x28, x28, :lo12:.LANCHOR90 - adrp x0, .LANCHOR99 - mov w23, 0 - add x0, x0, :lo12:.LANCHOR99 - mov w27, 64 - str x0, [x29, 112] -.L795: - ldrh w7, [x28] - mov w0, w7 - bl zftl_get_gc_node.part.10 - and w6, w0, 65535 - str w6, [x29, 104] - mov w1, 65535 - cmp w6, w1 - beq .L793 - add w7, w7, 1 - mov w2, w22 - strh w7, [x28] - mov w1, 0 - bl gc_add_sblk - cbz w0, .L794 - adrp x0, .LANCHOR9 - ldr w6, [x29, 104] - add w5, w24, 1 - ldr x0, [x0, #:lo12:.LANCHOR9] - and w24, w5, 65535 - ubfiz x6, x6, 1, 16 - cmp w24, w19 - ldrh w0, [x0, x6] - add w3, w23, w0 - and w23, w3, 65535 - bcs .L789 - cmp w20, w23 - bcc .L789 - ldr x0, [x29, 112] - ldrh w1, [x26, #:lo12:.LANCHOR97] - ldrh w0, [x0] - cmp w0, w1, lsl 1 - ble .L794 -.L789: - adrp x0, .LANCHOR99 - ldrh w1, [x0, #:lo12:.LANCHOR99] - ldr x0, [x29, 128] - ldrh w0, [x0, #:lo12:.LANCHOR98] - cmp w1, w0, lsr 2 - bhi .L817 - ldrh w0, [x26, #:lo12:.LANCHOR97] - add w0, w0, 8 - cmp w1, w0 - ble .L787 -.L817: - cmp w20, w23 - bls .L787 - adrp x4, .LANCHOR91 - add x28, x4, :lo12:.LANCHOR91 - and w0, w19, 65535 - mov w26, 64 - adrp x27, .LANCHOR9 - str w0, [x29, 128] -.L798: - ldrh w6, [x28] - mov w1, 3 - mov w0, w6 - bl zftl_get_gc_node - and w7, w0, 65535 - str w7, [x29, 112] - mov w1, 65535 - cmp w7, w1 - beq .L796 - add w6, w6, 1 - mov w2, w22 - strh w6, [x28] - mov w1, 0 - bl gc_add_sblk - cbz w0, .L797 - ldr w7, [x29, 112] - add w5, w24, 1 - ldr x0, [x27, #:lo12:.LANCHOR9] - and w24, w5, 65535 - ubfiz x7, x7, 1, 16 - ldrh w0, [x0, x7] - add w3, w23, w0 - ldr w0, [x29, 128] - and w23, w3, 65535 - cmp w24, w0 - bcs .L787 - cmp w20, w23 - bcs .L797 -.L787: - ldr x0, [x29, 144] - tbz x0, 1, .L799 - adrp x0, .LANCHOR93 - str x0, [x29, 112] - ldrh w1, [x0, #:lo12:.LANCHOR93] - cmp w1, 32 - bls .L799 - cmp w23, w20 - bcs .L799 - adrp x0, .LANCHOR92 - adrp x27, .LANCHOR100 - add x28, x0, :lo12:.LANCHOR92 - mov w26, 64 - add x0, x27, :lo12:.LANCHOR100 - str x0, [x29, 128] -.L805: - ldrh w6, [x28] - mov w1, 5 - mov w0, w6 - bl zftl_get_gc_node - and w8, w0, 65535 - mov w1, 65535 - cmp w8, w1 - beq .L800 - add w6, w6, 1 - strh w6, [x28] - cmp w19, 1 - bne .L801 - ldr x1, [x29, 136] - ldrh w2, [x25, #:lo12:.LANCHOR86] - ldrb w1, [x1, #:lo12:.LANCHOR80] - mul w2, w1, w2 - adrp x1, .LANCHOR95 - ldrh w1, [x1, #:lo12:.LANCHOR95] - sub w1, w2, w1, lsr 3 - ldr x2, [x29, 128] - strh w1, [x2] -.L801: - ubfiz x6, x8, 1, 16 - adrp x8, .LANCHOR9 - stp x8, x6, [x29, 96] - ldr x1, [x8, #:lo12:.LANCHOR9] - ldrh w2, [x1, x6] - ldr x1, [x29, 128] - ldrh w1, [x1] - cmp w2, w1 - bcs .L802 - mov w2, w22 - mov w1, 0 - bl gc_add_sblk - cbz w0, .L803 - ldp x8, x6, [x29, 96] - add w5, w24, 1 - add w21, w21, 1 - and w24, w5, 65535 - and w21, w21, 65535 - cmp w24, w19 - ldr x0, [x8, #:lo12:.LANCHOR9] - ldrh w0, [x0, x6] - add w3, w23, w0 - and w23, w3, 65535 - bcs .L804 - cmp w20, w23 - bcs .L803 -.L804: - cmp w24, w19 - adrp x0, .LANCHOR95 - bcc .L806 - cbnz w21, .L807 - ldr x1, [x29, 112] - ldrh w2, [x1, #:lo12:.LANCHOR93] - adrp x1, .LANCHOR101 - ldrh w1, [x1, #:lo12:.LANCHOR101] - cmp w2, w1 - bls .L807 -.L806: - ldr x3, [x29, 136] - ldrh w2, [x0, #:lo12:.LANCHOR95] - ldrh w0, [x25, #:lo12:.LANCHOR86] - ldrh w1, [x27, #:lo12:.LANCHOR100] - ldrb w6, [x3, #:lo12:.LANCHOR80] - lsr w2, w2, 3 - mul w0, w0, w6 - sub w0, w0, w2 - cmp w1, w0 - bge .L799 - add w1, w1, w2 - strh w1, [x27, #:lo12:.LANCHOR100] -.L799: - ldr w0, [x29, 120] - cbz w0, .L780 - and w26, w19, 65535 - cmp w24, w26 - bcs .L780 - cmp w23, w20 - bcs .L780 - adrp x21, .LANCHOR91 - add x21, x21, :lo12:.LANCHOR91 - adrp x28, .LANCHOR102 - mov w25, 64 - add x0, x28, :lo12:.LANCHOR102 - adrp x27, .LANCHOR9 - str x0, [x29, 128] -.L815: - ldrh w6, [x21] - mov w1, 3 - mov w0, w6 - bl zftl_get_gc_node - and w4, w0, 65535 - mov w1, 65535 - cmp w4, w1 - beq .L809 - ldr x1, [x27, #:lo12:.LANCHOR9] - ubfiz x4, x4, 1, 16 - add w6, w6, 1 - strh w6, [x21] - ldrh w2, [x1, x4] - ldr x1, [x29, 128] - ldrh w1, [x1] - cmp w2, w1 - bcs .L810 - adrp x1, .LANCHOR98 - ldrh w2, [x1, #:lo12:.LANCHOR98] - adrp x1, .LANCHOR99 - ldrh w1, [x1, #:lo12:.LANCHOR99] - cmp w1, w2, lsr 1 - bls .L811 -.L810: - mov w2, w22 - mov w1, 0 - str x4, [x29, 120] - bl gc_add_sblk - cbz w0, .L812 - adrp x0, .LANCHOR9 - ldr x4, [x29, 120] - add w5, w24, 1 - ldr x0, [x0, #:lo12:.LANCHOR9] - and w24, w5, 65535 - cmp w26, w24 - ldrh w0, [x0, x4] - add w3, w23, w0 - and w23, w3, 65535 - bls .L813 - cmp w20, w23 - bcs .L812 -.L814: - adrp x0, .LANCHOR95 - ldrh w1, [x28, #:lo12:.LANCHOR102] - ldrh w0, [x0, #:lo12:.LANCHOR95] - cmp w1, w0, lsr 1 - bls .L780 - sub w0, w1, w0, lsr 3 - strh w0, [x28, #:lo12:.LANCHOR102] - b .L780 -.L790: - lsr w0, w0, 2 - strh w0, [x28, #:lo12:.LANCHOR90] - mov w0, 0 - bl zftl_get_gc_node.part.10 - and w1, w0, 65535 - mov w2, 65535 - cmp w1, w2 - beq .L792 - adrp x2, .LANCHOR9 - ubfiz x1, x1, 1, 16 - ldr x3, [x2, #:lo12:.LANCHOR9] - adrp x2, .LANCHOR95 - ldrh w2, [x2, #:lo12:.LANCHOR95] - ldrh w1, [x3, x1] - cmp w1, w2, lsr 2 - bcs .L792 - mov w1, 1 - mov w2, w22 - strh w1, [x28, #:lo12:.LANCHOR90] - mov w1, 0 - bl gc_add_sblk - cmp w0, 0 - cset w24, ne - b .L791 -.L793: - strh wzr, [x28] - b .L789 -.L794: - sub w27, w27, #1 - ands w27, w27, 65535 - bne .L795 - b .L789 -.L796: - cmp w6, 64 - bls .L787 - strh wzr, [x28] - b .L787 -.L797: - sub w26, w26, #1 - ands w26, w26, 65535 - bne .L798 - b .L787 -.L820: - mov w23, 0 - mov w24, 0 - b .L787 -.L802: - adrp x0, .LANCHOR92 - strh wzr, [x0, #:lo12:.LANCHOR92] - b .L804 -.L800: - strh wzr, [x28] - b .L804 -.L803: - sub w26, w26, #1 - ands w26, w26, 65535 - bne .L805 - b .L804 -.L807: - ldr x1, [x29, 136] - ldrh w0, [x0, #:lo12:.LANCHOR95] - ldrh w2, [x27, #:lo12:.LANCHOR100] - ldrb w1, [x1, #:lo12:.LANCHOR80] - mul w1, w1, w0 - cmp w2, w1 - ble .L780 - sub w0, w2, w0, lsr 3 - strh w0, [x27, #:lo12:.LANCHOR100] - b .L780 -.L809: - cmp w6, 64 - bls .L811 - strh wzr, [x21] -.L811: - cmp w24, w26 - bcc .L814 -.L813: - adrp x0, .LANCHOR95 - ldrh w2, [x28, #:lo12:.LANCHOR102] - ldrh w1, [x0, #:lo12:.LANCHOR95] - ldr x0, [x29, 136] - ldrb w0, [x0, #:lo12:.LANCHOR80] - mul w0, w0, w1 - sub w0, w0, #32 - cmp w2, w0 - bge .L780 - add w1, w2, w1, lsr 3 - strh w1, [x28, #:lo12:.LANCHOR102] - b .L780 -.L812: - sub w25, w25, #1 - ands w25, w25, 65535 - bne .L815 - b .L811 -.L821: - mov w23, 0 - mov w24, 0 - b .L789 - .size gc_search_src_blk, .-gc_search_src_blk .section .text.zftl_insert_free_list,"ax",@progbits .align 2 .global zftl_insert_free_list .type zftl_insert_free_list, %function zftl_insert_free_list: and w1, w0, 65535 - adrp x0, .LANCHOR7 - ldr x0, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR9 + ldr x0, [x0, #:lo12:.LANCHOR9] add x0, x0, x1, uxth 2 ldrb w0, [x0, 2] ands w0, w0, 24 - bne .L873 + bne .L863 adrp x2, .LANCHOR103 adrp x0, .LANCHOR104 add x2, x2, :lo12:.LANCHOR103 add x0, x0, :lo12:.LANCHOR104 -.L875: +.L865: b _insert_free_list -.L873: +.L863: cmp w0, 16 - bne .L874 + bne .L864 adrp x2, .LANCHOR105 adrp x0, .LANCHOR106 add x2, x2, :lo12:.LANCHOR105 add x0, x0, :lo12:.LANCHOR106 - b .L875 -.L874: + b .L865 +.L864: adrp x2, .LANCHOR107 adrp x0, .LANCHOR108 add x2, x2, :lo12:.LANCHOR107 add x0, x0, :lo12:.LANCHOR108 - b .L875 + b .L865 .size zftl_insert_free_list, .-zftl_insert_free_list .section .text.zftl_insert_data_list,"ax",@progbits .align 2 @@ -5004,36 +5102,36 @@ zftl_insert_free_list: .type zftl_insert_data_list, %function zftl_insert_data_list: and w1, w0, 65535 - adrp x0, .LANCHOR7 - ldr x0, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR9 + ldr x0, [x0, #:lo12:.LANCHOR9] add x0, x0, x1, uxth 2 ldrb w2, [x0, 2] and w2, w2, 224 cmp w2, 64 - bne .L877 + bne .L867 adrp x2, .LANCHOR97 - adrp x0, .LANCHOR12 + adrp x0, .LANCHOR95 add x2, x2, :lo12:.LANCHOR97 - add x0, x0, :lo12:.LANCHOR12 -.L880: + add x0, x0, :lo12:.LANCHOR95 +.L870: b _insert_data_list -.L877: +.L867: cmp w2, 96 - bne .L878 + bne .L868 adrp x2, .LANCHOR99 - adrp x0, .LANCHOR89 + adrp x0, .LANCHOR90 add x2, x2, :lo12:.LANCHOR99 - add x0, x0, :lo12:.LANCHOR89 - b .L880 -.L878: + add x0, x0, :lo12:.LANCHOR90 + b .L870 +.L868: cmp w2, 160 - bne .L876 - adrp x2, .LANCHOR93 - adrp x0, .LANCHOR88 - add x2, x2, :lo12:.LANCHOR93 - add x0, x0, :lo12:.LANCHOR88 - b .L880 -.L876: + bne .L866 + adrp x2, .LANCHOR91 + adrp x0, .LANCHOR92 + add x2, x2, :lo12:.LANCHOR91 + add x0, x0, :lo12:.LANCHOR92 + b .L870 +.L866: ret .size zftl_insert_data_list, .-zftl_insert_data_list .section .text.zftl_gc_get_free_sblk,"ax",@progbits @@ -5044,54 +5142,54 @@ zftl_gc_get_free_sblk: stp x29, x30, [sp, -48]! add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x20, .LANCHOR10 + adrp x20, .LANCHOR12 stp x21, x22, [sp, 32] and w21, w0, 65535 - ldr x0, [x20, #:lo12:.LANCHOR10] + ldr x0, [x20, #:lo12:.LANCHOR12] and w22, w1, 65535 ldrh w19, [x0, 588] mov w0, 65535 cmp w19, w0 - beq .L882 - cbnz w21, .L882 + beq .L872 + cbnz w21, .L872 mov w1, w19 adrp x0, .LC59 add x0, x0, :lo12:.LC59 bl printf - ldr x0, [x20, #:lo12:.LANCHOR10] + ldr x0, [x20, #:lo12:.LANCHOR12] mov w1, -1 strh w1, [x0, 588] -.L883: +.L873: mov w0, w19 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 48 ret -.L882: +.L872: adrp x2, .LANCHOR105 adrp x20, .LANCHOR107 ldrh w0, [x2, #:lo12:.LANCHOR105] ldrh w1, [x20, #:lo12:.LANCHOR107] cmp w0, w1 - bcc .L884 + bcc .L874 adrp x3, .LANCHOR103 ldrh w3, [x3, #:lo12:.LANCHOR103] cmp w3, w0 - bls .L885 - cbz w1, .L885 -.L884: - cbnz w21, .L886 + bls .L875 + cbz w1, .L875 +.L874: + cbnz w21, .L876 lsr w1, w1, 2 -.L887: +.L877: adrp x0, .LANCHOR108 add x2, x20, :lo12:.LANCHOR107 add x0, x0, :lo12:.LANCHOR108 -.L902: +.L892: bl _list_pop_index_node and w19, w0, 65535 mov w0, 65535 cmp w19, w0 - bne .L890 + bne .L880 adrp x0, .LANCHOR103 ldrh w5, [x20, #:lo12:.LANCHOR107] mov w2, w22 @@ -5102,17 +5200,17 @@ zftl_gc_get_free_sblk: adrp x0, .LC60 add x0, x0, :lo12:.LC60 bl printf -.L890: - cbz w21, .L883 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L883 - adrp x4, .LANCHOR9 - adrp x1, .LANCHOR7 +.L880: + cbz w21, .L873 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L873 + adrp x4, .LANCHOR11 + adrp x1, .LANCHOR9 uxtw x3, w19 - ldr x1, [x1, #:lo12:.LANCHOR7] + ldr x1, [x1, #:lo12:.LANCHOR9] lsl x0, x3, 2 - ldr x6, [x4, #:lo12:.LANCHOR9] + ldr x6, [x4, #:lo12:.LANCHOR11] add x2, x1, x0 ldr w4, [x1, x0] ldrh w6, [x6, x3, lsl 1] @@ -5126,20 +5224,20 @@ zftl_gc_get_free_sblk: ubfx x2, x2, 5, 3 add x0, x0, :lo12:.LC61 bl printf - b .L883 -.L886: + b .L873 +.L876: mov w1, 7 mul w1, w0, w1 lsr w1, w1, 3 - b .L887 -.L885: + b .L877 +.L875: lsr w1, w0, 3 cmp w21, 0 adrp x0, .LANCHOR106 csel w1, w1, wzr, ne add x2, x2, :lo12:.LANCHOR105 add x0, x0, :lo12:.LANCHOR106 - b .L902 + b .L892 .size zftl_gc_get_free_sblk, .-zftl_gc_get_free_sblk .section .text.zftl_get_free_sblk,"ax",@progbits .align 2 @@ -5152,36 +5250,36 @@ zftl_get_free_sblk: and w20, w1, 65535 str x21, [sp, 32] cmp w20, 5 - bne .L904 + bne .L894 adrp x2, .LANCHOR105 adrp x0, .LANCHOR107 ldrh w3, [x2, #:lo12:.LANCHOR105] ldrh w1, [x0, #:lo12:.LANCHOR107] cmp w3, w1 - bcc .L905 + bcc .L895 adrp x4, .LANCHOR103 ldrh w4, [x4, #:lo12:.LANCHOR103] cmp w4, w3 - bls .L906 - cbz w1, .L906 -.L905: + bls .L896 + cbz w1, .L896 +.L895: add x2, x0, :lo12:.LANCHOR107 lsr w1, w1, 1 -.L925: +.L915: adrp x0, .LANCHOR108 add x0, x0, :lo12:.LANCHOR108 - b .L924 -.L906: + b .L914 +.L896: adrp x0, .LANCHOR106 add x2, x2, :lo12:.LANCHOR105 add x0, x0, :lo12:.LANCHOR106 mov w1, 0 -.L924: +.L914: bl _list_pop_index_node and w19, w0, 65535 mov w0, 65535 cmp w19, w0 - bne .L909 + bne .L899 adrp x0, .LANCHOR107 mov w2, w20 mov w1, w19 @@ -5193,58 +5291,65 @@ zftl_get_free_sblk: adrp x0, .LC60 add x0, x0, :lo12:.LC60 bl printf - b .L909 -.L904: - adrp x21, .LANCHOR10 - and w0, w0, 65535 - ldr x1, [x21, #:lo12:.LANCHOR10] - ldrh w19, [x1, 590] - mov w1, 65535 - cmp w19, w1 - beq .L908 + b .L899 +.L894: + adrp x21, .LANCHOR12 + and w3, w0, 65535 + ldr x0, [x21, #:lo12:.LANCHOR12] + ldrh w19, [x0, 590] + mov w0, 65535 + cmp w19, w0 + beq .L898 cmp w20, 1 - beq .L908 + beq .L898 mov w1, w19 adrp x0, .LC62 add x0, x0, :lo12:.LC62 bl printf - ldr x0, [x21, #:lo12:.LANCHOR10] + ldr x0, [x21, #:lo12:.LANCHOR12] mov w1, -1 strh w1, [x0, 590] -.L909: +.L899: mov w0, w19 ldr x21, [sp, 32] ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 48 ret -.L908: +.L898: adrp x2, .LANCHOR103 adrp x4, .LANCHOR107 - ldrh w1, [x2, #:lo12:.LANCHOR103] - ldrh w3, [x4, #:lo12:.LANCHOR107] - cmp w1, w3 - bcc .L910 + ldrh w0, [x2, #:lo12:.LANCHOR103] + ldrh w1, [x4, #:lo12:.LANCHOR107] + cmp w0, w1 + bcc .L900 adrp x5, .LANCHOR105 ldrh w5, [x5, #:lo12:.LANCHOR105] - cmp w5, w1 - bls .L911 - cbz w3, .L911 -.L910: + cmp w5, w0 + bls .L901 + cbz w1, .L901 +.L900: + bl get_ink_scaned_blk + and w19, w0, 65535 + mov w0, 65535 + cmp w19, w0 + bne .L899 cmp w20, 1 + bne .L902 + ldrh w3, [x4, #:lo12:.LANCHOR107] lsr w3, w3, 1 - csel w0, w3, w0, eq +.L902: add x2, x4, :lo12:.LANCHOR107 - mov w1, w0 - b .L925 -.L911: - lsr w1, w1, 1 + mov w1, w3 + b .L915 +.L901: + lsr w0, w0, 1 cmp w20, 1 - csel w0, w1, w0, eq + csel w3, w0, w3, eq add x2, x2, :lo12:.LANCHOR103 - mov w1, w0 adrp x0, .LANCHOR104 + mov w1, w3 add x0, x0, :lo12:.LANCHOR104 - b .L924 + b .L914 .size zftl_get_free_sblk, .-zftl_get_free_sblk .section .text.zftl_remove_data_node,"ax",@progbits .align 2 @@ -5252,36 +5357,36 @@ zftl_get_free_sblk: .type zftl_remove_data_node, %function zftl_remove_data_node: and w1, w0, 65535 - adrp x0, .LANCHOR7 - ldr x0, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR9 + ldr x0, [x0, #:lo12:.LANCHOR9] add x0, x0, x1, uxth 2 ldrb w2, [x0, 2] and w2, w2, 224 cmp w2, 64 - bne .L927 + bne .L917 adrp x2, .LANCHOR97 - adrp x0, .LANCHOR12 + adrp x0, .LANCHOR95 add x2, x2, :lo12:.LANCHOR97 - add x0, x0, :lo12:.LANCHOR12 -.L930: + add x0, x0, :lo12:.LANCHOR95 +.L920: b _list_remove_node -.L927: +.L917: cmp w2, 96 - bne .L928 + bne .L918 adrp x2, .LANCHOR99 - adrp x0, .LANCHOR89 + adrp x0, .LANCHOR90 add x2, x2, :lo12:.LANCHOR99 - add x0, x0, :lo12:.LANCHOR89 - b .L930 -.L928: + add x0, x0, :lo12:.LANCHOR90 + b .L920 +.L918: cmp w2, 160 - bne .L926 - adrp x2, .LANCHOR93 - adrp x0, .LANCHOR88 - add x2, x2, :lo12:.LANCHOR93 - add x0, x0, :lo12:.LANCHOR88 - b .L930 -.L926: + bne .L916 + adrp x2, .LANCHOR91 + adrp x0, .LANCHOR92 + add x2, x2, :lo12:.LANCHOR91 + add x0, x0, :lo12:.LANCHOR92 + b .L920 +.L916: ret .size zftl_remove_data_node, .-zftl_remove_data_node .section .text.zftl_remove_free_node,"ax",@progbits @@ -5290,32 +5395,32 @@ zftl_remove_data_node: .type zftl_remove_free_node, %function zftl_remove_free_node: and w1, w0, 65535 - adrp x0, .LANCHOR7 - ldr x0, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR9 + ldr x0, [x0, #:lo12:.LANCHOR9] add x0, x0, x1, uxth 2 ldrb w0, [x0, 2] ands w0, w0, 24 - bne .L932 + bne .L922 adrp x2, .LANCHOR103 adrp x0, .LANCHOR104 add x2, x2, :lo12:.LANCHOR103 add x0, x0, :lo12:.LANCHOR104 -.L934: +.L924: b _list_remove_node -.L932: +.L922: cmp w0, 16 - bne .L933 + bne .L923 adrp x2, .LANCHOR105 adrp x0, .LANCHOR106 add x2, x2, :lo12:.LANCHOR105 add x0, x0, :lo12:.LANCHOR106 - b .L934 -.L933: + b .L924 +.L923: adrp x2, .LANCHOR107 adrp x0, .LANCHOR108 add x2, x2, :lo12:.LANCHOR107 add x0, x0, :lo12:.LANCHOR108 - b .L934 + b .L924 .size zftl_remove_free_node, .-zftl_remove_free_node .section .text.zftl_list_update_data_list,"ax",@progbits .align 2 @@ -5323,36 +5428,36 @@ zftl_remove_free_node: .type zftl_list_update_data_list, %function zftl_list_update_data_list: and w1, w0, 65535 - adrp x0, .LANCHOR7 - ldr x0, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR9 + ldr x0, [x0, #:lo12:.LANCHOR9] add x0, x0, x1, uxth 2 ldrb w2, [x0, 2] and w2, w2, 224 cmp w2, 64 - bne .L936 + bne .L926 adrp x2, .LANCHOR97 - adrp x0, .LANCHOR12 + adrp x0, .LANCHOR95 add x2, x2, :lo12:.LANCHOR97 - add x0, x0, :lo12:.LANCHOR12 -.L939: + add x0, x0, :lo12:.LANCHOR95 +.L929: b _list_update_data_list -.L936: +.L926: cmp w2, 96 - bne .L937 + bne .L927 adrp x2, .LANCHOR99 - adrp x0, .LANCHOR89 + adrp x0, .LANCHOR90 add x2, x2, :lo12:.LANCHOR99 - add x0, x0, :lo12:.LANCHOR89 - b .L939 -.L937: + add x0, x0, :lo12:.LANCHOR90 + b .L929 +.L927: cmp w2, 160 - bne .L935 - adrp x2, .LANCHOR93 - adrp x0, .LANCHOR88 - add x2, x2, :lo12:.LANCHOR93 - add x0, x0, :lo12:.LANCHOR88 - b .L939 -.L935: + bne .L925 + adrp x2, .LANCHOR91 + adrp x0, .LANCHOR92 + add x2, x2, :lo12:.LANCHOR91 + add x0, x0, :lo12:.LANCHOR92 + b .L929 +.L925: ret .size zftl_list_update_data_list, .-zftl_list_update_data_list .section .text.print_list_info,"ax",@progbits @@ -5373,7 +5478,7 @@ print_list_info: add x0, x0, :lo12:.LC63 bl printf ldr x19, [x19] - cbz x19, .L940 + cbz x19, .L930 mov x24, -6148914691236517206 adrp x22, .LC64 adrp x21, .LANCHOR109 @@ -5382,15 +5487,15 @@ print_list_info: mov w20, 0 adrp x23, .LANCHOR4 movk x24, 0xaaab, lsl 0 -.L944: +.L934: ldr x2, [x23, #:lo12:.LANCHOR4] - adrp x1, .LANCHOR7 - adrp x8, .LANCHOR9 + adrp x1, .LANCHOR9 + adrp x8, .LANCHOR11 ldrh w5, [x19, 4] sub x2, x19, x2 - ldr x1, [x1, #:lo12:.LANCHOR7] + ldr x1, [x1, #:lo12:.LANCHOR9] asr x2, x2, 1 - ldr x8, [x8, #:lo12:.LANCHOR9] + ldr x8, [x8, #:lo12:.LANCHOR11] ldrh w4, [x19, 2] mul x2, x2, x24 and x7, x2, 65535 @@ -5415,7 +5520,7 @@ print_list_info: ldrh w19, [x19] mov w0, 65535 cmp w19, w0 - beq .L940 + beq .L930 ldr x0, [x23, #:lo12:.LANCHOR4] mov w1, 6 add w20, w20, 1 @@ -5423,8 +5528,8 @@ print_list_info: umaddl x19, w19, w1, x0 ldrh w0, [x21] cmp w0, w20 - bcs .L944 -.L940: + bcs .L934 +.L930: ldp x19, x20, [sp, 48] ldp x21, x22, [sp, 64] ldp x23, x24, [sp, 80] @@ -5455,20 +5560,20 @@ dump_all_list_info: add x0, x0, :lo12:.LANCHOR108 bl print_list_info adrp x1, .LANCHOR97 - adrp x0, .LANCHOR12 + adrp x0, .LANCHOR95 add x1, x1, :lo12:.LANCHOR97 - add x0, x0, :lo12:.LANCHOR12 + add x0, x0, :lo12:.LANCHOR95 bl print_list_info adrp x1, .LANCHOR99 - adrp x0, .LANCHOR89 + adrp x0, .LANCHOR90 add x1, x1, :lo12:.LANCHOR99 - add x0, x0, :lo12:.LANCHOR89 + add x0, x0, :lo12:.LANCHOR90 bl print_list_info ldp x29, x30, [sp], 16 - adrp x1, .LANCHOR93 - adrp x0, .LANCHOR88 - add x1, x1, :lo12:.LANCHOR93 - add x0, x0, :lo12:.LANCHOR88 + adrp x1, .LANCHOR91 + adrp x0, .LANCHOR92 + add x1, x1, :lo12:.LANCHOR91 + add x0, x0, :lo12:.LANCHOR92 b print_list_info .size dump_all_list_info, .-dump_all_list_info .section .text.ftl_tmp_into_update,"ax",@progbits @@ -5480,36 +5585,36 @@ ftl_tmp_into_update: ldr x0, [x0, #:lo12:.LANCHOR110] ldr w1, [x0, 16] cmp w1, 2048 - bls .L949 + bls .L939 ldr w2, [x0, 20] add w2, w2, w1, lsr 11 and w1, w1, 2047 stp w1, w2, [x0, 16] -.L949: +.L939: ldr w1, [x0, 24] cmp w1, 2048 - bls .L950 + bls .L940 ldr w2, [x0, 28] add w2, w2, w1, lsr 11 and w1, w1, 2047 stp w1, w2, [x0, 24] -.L950: +.L940: ldr w1, [x0, 32] cmp w1, 1024 - bls .L951 + bls .L941 ldr w2, [x0, 36] add w2, w2, w1, lsr 10 and w1, w1, 1023 stp w1, w2, [x0, 32] -.L951: +.L941: ldr w1, [x0, 40] cmp w1, 1024 - bls .L948 + bls .L938 ldr w2, [x0, 44] add w2, w2, w1, lsr 10 and w1, w1, 1023 stp w1, w2, [x0, 40] -.L948: +.L938: ret .size ftl_tmp_into_update, .-ftl_tmp_into_update .section .text.ftl_get_blk_list_in_sblk,"ax",@progbits @@ -5517,21 +5622,21 @@ ftl_tmp_into_update: .global ftl_get_blk_list_in_sblk .type ftl_get_blk_list_in_sblk, %function ftl_get_blk_list_in_sblk: - adrp x2, .LANCHOR7 + adrp x2, .LANCHOR9 and w0, w0, 65535 mov w7, 24 - adrp x8, .LANCHOR75 - ldr x2, [x2, #:lo12:.LANCHOR7] - add x8, x8, :lo12:.LANCHOR75 + adrp x8, .LANCHOR74 + ldr x2, [x2, #:lo12:.LANCHOR9] + add x8, x8, :lo12:.LANCHOR74 mov w3, 0 add x2, x2, x0, uxth 2 ldrb w13, [x2, 3] - adrp x2, .LANCHOR80 - ldrb w11, [x2, #:lo12:.LANCHOR80] - adrp x2, .LANCHOR76 - ldrb w6, [x2, #:lo12:.LANCHOR76] - adrp x2, .LANCHOR32 - ldrb w2, [x2, #:lo12:.LANCHOR32] + adrp x2, .LANCHOR79 + ldrb w11, [x2, #:lo12:.LANCHOR79] + adrp x2, .LANCHOR75 + ldrb w6, [x2, #:lo12:.LANCHOR75] + adrp x2, .LANCHOR31 + ldrb w2, [x2, #:lo12:.LANCHOR31] sub w7, w7, w2 and w2, w6, 65535 mul w0, w0, w2 @@ -5539,18 +5644,18 @@ ftl_get_blk_list_in_sblk: sxth w5, w2 and w4, w0, 65535 mov w0, 0 -.L954: +.L944: cmp w3, w11 - blt .L958 + blt .L948 sxtw x2, w0 mov w3, -1 -.L959: +.L949: cmp w11, w2 - bgt .L960 + bgt .L950 ret -.L958: +.L948: asr w2, w13, w3 - tbnz x2, 0, .L955 + tbnz x2, 0, .L945 sdiv w2, w3, w6 ldrh w10, [x8] sbfiz x12, x0, 1, 32 @@ -5559,21 +5664,21 @@ ftl_get_blk_list_in_sblk: lsl w2, w2, w10 add w2, w4, w2 and w2, w2, 65535 - bhi .L956 -.L961: + bhi .L946 +.L951: add w0, w0, 1 strh w2, [x1, x12] -.L955: +.L945: add w3, w3, 1 - b .L954 -.L956: + b .L944 +.L946: and w10, w5, w3 add w2, w2, w10 - b .L961 -.L960: + b .L951 +.L950: strh w3, [x1, x2, lsl 1] add x2, x2, 1 - b .L959 + b .L949 .size ftl_get_blk_list_in_sblk, .-ftl_get_blk_list_in_sblk .section .text.ftl_erase_phy_blk,"ax",@progbits .align 2 @@ -5585,34 +5690,34 @@ ftl_erase_phy_blk: add x29, sp, 0 stp x21, x22, [sp, 32] mov w21, w1 - adrp x1, .LANCHOR32 + adrp x1, .LANCHOR31 stp x19, x20, [sp, 16] adrp x22, .LANCHOR111 - ldrb w19, [x1, #:lo12:.LANCHOR32] + ldrb w19, [x1, #:lo12:.LANCHOR31] mov w1, 24 sub w19, w1, w19 - adrp x1, .LANCHOR75 - ldrh w1, [x1, #:lo12:.LANCHOR75] + adrp x1, .LANCHOR74 + ldrh w1, [x1, #:lo12:.LANCHOR74] sub w1, w19, w1 mov w19, 1 lsl w19, w19, w1 sub w19, w19, #1 and w19, w19, w0 asr w20, w0, w1 - adrp x0, .LANCHOR81 + adrp x0, .LANCHOR80 sxth w19, w19 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbz w0, .L953 + adrp x0, .LANCHOR81 ldrb w0, [x0, #:lo12:.LANCHOR81] - cbz w0, .L963 - adrp x0, .LANCHOR82 - ldrb w0, [x0, #:lo12:.LANCHOR82] - cbnz w0, .L963 + cbnz w0, .L953 ldrh w2, [x22, #:lo12:.LANCHOR111] cmp w21, 0 cset w1, eq mov w0, w20 mul w2, w2, w19 bl flash_erase_block_en -.L963: +.L953: ldrh w2, [x22, #:lo12:.LANCHOR111] mov w1, w21 mov w0, w20 @@ -5630,27 +5735,27 @@ ftl_erase_sblk: stp x29, x30, [sp, -176]! add x29, sp, 0 stp x23, x24, [sp, 48] - adrp x23, .LANCHOR7 + adrp x23, .LANCHOR9 stp x25, x26, [sp, 64] and w26, w0, 65535 - ldr x0, [x23, #:lo12:.LANCHOR7] + ldr x0, [x23, #:lo12:.LANCHOR9] adrp x25, .LANCHOR112 stp x21, x22, [sp, 32] ubfiz x22, x26, 2, 16 add x0, x0, x22 stp x27, x28, [sp, 80] stp x19, x20, [sp, 16] - adrp x24, .LANCHOR76 + adrp x24, .LANCHOR75 mov w20, w1 add x25, x25, :lo12:.LANCHOR112 ldrb w28, [x0, 3] - add x24, x24, :lo12:.LANCHOR76 + add x24, x24, :lo12:.LANCHOR75 add x27, x29, 112 mov w19, 0 -.L969: +.L959: ldrb w0, [x25] cmp w19, w0 - bge .L980 + bge .L970 ldrb w1, [x24] adrp x0, .LANCHOR111 mov w21, 0 @@ -5659,31 +5764,31 @@ ftl_erase_sblk: mov w0, 0 mul w6, w19, w1 mul w5, w26, w1 - b .L981 -.L971: + b .L971 +.L961: add w2, w0, w6 asr w2, w28, w2 - tbnz x2, 0, .L970 + tbnz x2, 0, .L960 and w2, w0, w4 add w2, w2, w5 mul w2, w2, w3 str w2, [x27, w21, sxtw 2] add w21, w21, 1 -.L970: +.L960: add w0, w0, 1 -.L981: +.L971: cmp w0, w1 - blt .L971 + blt .L961 cmp w1, 4 - bne .L972 + bne .L962 mov x3, 0 -.L973: +.L963: cmp w21, w3 - bgt .L974 -.L975: + bgt .L964 +.L965: add w19, w19, 1 - b .L969 -.L974: + b .L959 +.L964: ldr w2, [x27, x3, lsl 2] mov w1, w20 str x3, [x29, 104] @@ -5691,51 +5796,51 @@ ftl_erase_sblk: bl flash_erase_block_en ldr x3, [x29, 104] add x3, x3, 1 - b .L973 -.L972: + b .L963 +.L962: cmp w21, 2 - bne .L976 + bne .L966 + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbz w0, .L967 adrp x0, .LANCHOR81 ldrb w0, [x0, #:lo12:.LANCHOR81] - cbz w0, .L977 - adrp x0, .LANCHOR82 - ldrb w0, [x0, #:lo12:.LANCHOR82] - cbnz w0, .L977 + cbnz w0, .L967 ldp w2, w3, [x29, 112] cmp w20, 0 cset w1, eq mov w0, w19 bl flash_erase_duplane_block -.L977: +.L967: ldp w2, w3, [x29, 112] mov w1, w20 mov w0, w19 bl flash_erase_duplane_block - b .L975 -.L976: + b .L965 +.L966: cmp w21, 1 - bne .L975 + bne .L965 + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbz w0, .L969 adrp x0, .LANCHOR81 ldrb w0, [x0, #:lo12:.LANCHOR81] - cbz w0, .L979 - adrp x0, .LANCHOR82 - ldrb w0, [x0, #:lo12:.LANCHOR82] - cbnz w0, .L979 + cbnz w0, .L969 ldr w2, [x29, 112] cmp w20, 0 cset w1, eq mov w0, w19 bl flash_erase_block_en -.L979: +.L969: ldr w2, [x29, 112] mov w1, w20 mov w0, w19 bl flash_erase_block_en - b .L975 -.L980: + b .L965 +.L970: adrp x2, .LANCHOR110 - ldr x3, [x23, #:lo12:.LANCHOR7] - cbnz w20, .L982 + ldr x3, [x23, #:lo12:.LANCHOR9] + cbnz w20, .L972 ldrh w1, [x3, x22] add w0, w1, 1 and w0, w0, 2047 @@ -5747,9 +5852,9 @@ ftl_erase_sblk: str w2, [x1, 84] ldrh w2, [x1, 96] cmp w2, w0 - bge .L984 + bge .L974 strh w0, [x1, 96] -.L984: +.L974: ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -5758,7 +5863,7 @@ ftl_erase_sblk: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 176 ret -.L982: +.L972: ldr w1, [x3, x22] ubfx x0, x1, 11, 8 add w0, w0, 1 @@ -5772,9 +5877,9 @@ ftl_erase_sblk: str w2, [x1, 80] ldrh w2, [x1, 98] cmp w2, w0 - bcs .L984 + bcs .L974 strh w0, [x1, 98] - b .L984 + b .L974 .size ftl_erase_sblk, .-ftl_erase_sblk .section .text.ftl_alloc_sys_blk,"ax",@progbits .align 2 @@ -5789,37 +5894,37 @@ ftl_alloc_sys_blk: str x19, [sp, 16] mov x19, x0 cmp w2, 63 - bls .L994 + bls .L984 strh wzr, [x1, 136] -.L994: +.L984: ldrh w0, [x1, 112] - cbnz w0, .L995 + cbnz w0, .L985 adrp x1, .LANCHOR113 adrp x0, .LC0 - mov w2, 1283 + mov w2, 1359 add x1, x1, :lo12:.LANCHOR113 add x0, x0, :lo12:.LC0 bl printf -.L995: +.L985: ldr x1, [x19, #:lo12:.LANCHOR110] mov w5, 65535 -.L998: +.L988: ldrh w2, [x1, 136] -.L996: +.L986: mov w3, w2 cmp w2, 63 - ble .L997 + ble .L987 strh wzr, [x1, 136] - b .L998 -.L997: + b .L988 +.L987: add x4, x2, 1 add x0, x1, x4, lsl 1 ldrh w0, [x0, 158] cmp w0, w5 - bne .L1001 + bne .L991 mov x2, x4 - b .L996 -.L1001: + b .L986 +.L991: add x3, x1, x3, sxtw 1 mov w4, -1 ldr x19, [sp, 16] @@ -5845,35 +5950,35 @@ ftl_free_sys_blk: ldr x1, [x0, #:lo12:.LANCHOR110] ldrh w2, [x1, 138] cmp w2, 63 - bls .L1004 + bls .L994 strh wzr, [x1, 138] -.L1004: +.L994: ldrh w0, [x1, 112] cmp w0, 63 - bls .L1005 + bls .L995 adrp x1, .LANCHOR114 adrp x0, .LC0 - mov w2, 1310 + mov w2, 1386 add x1, x1, :lo12:.LANCHOR114 add x0, x0, :lo12:.LC0 bl printf -.L1005: +.L995: ldr x0, [x19, #:lo12:.LANCHOR110] mov w4, 65535 -.L1008: +.L998: ldrh w1, [x0, 138] -.L1006: +.L996: mov w2, w1 cmp w1, 63 - ble .L1007 + ble .L997 strh wzr, [x0, 138] - b .L1008 -.L1007: + b .L998 +.L997: add x3, x1, 1 add x5, x0, x3, lsl 1 ldrh w5, [x5, 158] cmp w5, w4 - bne .L1009 + bne .L999 add x2, x0, x2, sxtw 1 strh w20, [x2, 160] strh w1, [x0, 138] @@ -5883,9 +5988,9 @@ ftl_free_sys_blk: strh w1, [x0, 112] ldp x29, x30, [sp], 32 ret -.L1009: +.L999: mov x1, x3 - b .L1006 + b .L996 .size ftl_free_sys_blk, .-ftl_free_sys_blk .section .text.ftl_info_data_recovery,"ax",@progbits .align 2 @@ -5895,18 +6000,18 @@ ftl_info_data_recovery: ldrh w2, [x0] mov w1, 65535 cmp w2, w1 - beq .L1022 + beq .L1012 stp x29, x30, [sp, -48]! - adrp x1, .LANCHOR7 + adrp x1, .LANCHOR9 add x29, sp, 0 stp x19, x20, [sp, 16] ubfiz x19, x2, 2, 16 - ldr x20, [x1, #:lo12:.LANCHOR7] + ldr x20, [x1, #:lo12:.LANCHOR9] str x21, [sp, 32] add x21, x20, x19 ldrb w1, [x21, 2] tst w1, 224 - bne .L1012 + bne .L1002 ldrb w0, [x0, 4] bfi w1, w0, 5, 3 strb w1, [x21, 2] @@ -5915,14 +6020,14 @@ ftl_info_data_recovery: ldrb w0, [x21, 2] adrp x1, .LANCHOR110 ldr x3, [x1, #:lo12:.LANCHOR110] - tbz x0, 3, .L1016 + tbz x0, 3, .L1006 ldrh w2, [x3, 116] sub w2, w2, #1 strh w2, [x3, 116] -.L1017: +.L1007: and w0, w0, 224 cmp w0, 160 - bne .L1019 + bne .L1009 ldr w0, [x20, x19] ldr x1, [x1, #:lo12:.LANCHOR110] ubfx x2, x0, 11, 8 @@ -5932,44 +6037,44 @@ ftl_info_data_recovery: ldrh w0, [x1, 120] sub w0, w0, #1 strh w0, [x1, 120] -.L1012: +.L1002: ldp x19, x20, [sp, 16] ldr x21, [sp, 32] ldp x29, x30, [sp], 48 ret -.L1016: +.L1006: tst w0, 24 - bne .L1018 + bne .L1008 ldrh w2, [x3, 114] sub w2, w2, #1 strh w2, [x3, 114] - b .L1017 -.L1018: + b .L1007 +.L1008: ldrh w2, [x3, 118] sub w2, w2, #1 strh w2, [x3, 118] - b .L1017 -.L1019: + b .L1007 +.L1009: ldrh w2, [x20, x19] cmp w0, 64 add w3, w2, 1 bfi w2, w3, 0, 11 strh w2, [x20, x19] - bne .L1020 + bne .L1010 ldr x1, [x1, #:lo12:.LANCHOR110] ldrh w0, [x1, 122] sub w0, w0, #1 strh w0, [x1, 122] - b .L1012 -.L1020: + b .L1002 +.L1010: cmp w0, 96 - bne .L1012 + bne .L1002 ldr x1, [x1, #:lo12:.LANCHOR110] ldrh w0, [x1, 124] sub w0, w0, #1 strh w0, [x1, 124] - b .L1012 -.L1022: + b .L1002 +.L1012: ret .size ftl_info_data_recovery, .-ftl_info_data_recovery .section .text.ftl_get_ppa_from_index,"ax",@progbits @@ -5978,20 +6083,20 @@ ftl_info_data_recovery: .type ftl_get_ppa_from_index, %function ftl_get_ppa_from_index: stp x29, x30, [sp, -32]! - adrp x1, .LANCHOR10 - adrp x3, .LANCHOR80 + adrp x1, .LANCHOR12 + adrp x3, .LANCHOR79 and w0, w0, 65535 add x29, sp, 0 - ldr x2, [x1, #:lo12:.LANCHOR10] - adrp x1, .LANCHOR95 - ldrb w3, [x3, #:lo12:.LANCHOR80] - ldrh w1, [x1, #:lo12:.LANCHOR95] + ldr x2, [x1, #:lo12:.LANCHOR12] + adrp x1, .LANCHOR94 + ldrb w3, [x3, #:lo12:.LANCHOR79] + ldrh w1, [x1, #:lo12:.LANCHOR94] stp x19, x20, [sp, 16] mul w1, w1, w3 cmp w0, w1 - bge .L1026 + bge .L1016 add x2, x2, 16 -.L1027: +.L1017: ldrb w1, [x2, 9] sdiv w19, w0, w1 msub w0, w19, w1, w0 @@ -5999,25 +6104,25 @@ ftl_get_ppa_from_index: ldrh w20, [x0, 16] mov w0, 65535 cmp w20, w0 - bne .L1028 + bne .L1018 adrp x1, .LANCHOR115 adrp x0, .LC0 - mov w2, 1937 + mov w2, 1945 add x1, x1, :lo12:.LANCHOR115 add x0, x0, :lo12:.LC0 bl printf -.L1028: +.L1018: adrp x0, .LANCHOR111 ldrh w0, [x0, #:lo12:.LANCHOR111] madd w0, w0, w20, w19 ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret -.L1026: +.L1016: sub w0, w0, w1 add x2, x2, 48 and w0, w0, 65535 - b .L1027 + b .L1017 .size ftl_get_ppa_from_index, .-ftl_get_ppa_from_index .section .text.lpa_hash_get_ppa,"ax",@progbits .align 2 @@ -6033,21 +6138,21 @@ lpa_hash_get_ppa: ldr x4, [x2, #:lo12:.LANCHOR117] adrp x2, .LANCHOR118 ldr x5, [x2, #:lo12:.LANCHOR118] -.L1031: +.L1021: cmp w1, w3 - bne .L1033 + bne .L1023 mov w0, -1 ret -.L1033: +.L1023: uxtw x2, w1 ldr w6, [x4, x2, lsl 2] cmp w0, w6 - bne .L1032 + bne .L1022 mov w0, w1 b ftl_get_ppa_from_index -.L1032: +.L1022: ldrh w1, [x5, x2, lsl 1] - b .L1031 + b .L1021 .size lpa_hash_get_ppa, .-lpa_hash_get_ppa .section .text.ftl_get_new_free_page,"ax",@progbits .align 2 @@ -6061,45 +6166,45 @@ ftl_get_new_free_page: mov x19, x0 mov w0, 65535 cmp w1, w0 - bne .L1035 + bne .L1025 adrp x1, .LANCHOR119 adrp x0, .LC0 - mov w2, 2080 + mov w2, 2088 add x1, x1, :lo12:.LANCHOR119 add x0, x0, :lo12:.LC0 bl printf -.L1035: - adrp x0, .LANCHOR95 +.L1025: + adrp x0, .LANCHOR94 ldrh w1, [x19, 2] - ldrh w0, [x0, #:lo12:.LANCHOR95] + ldrh w0, [x0, #:lo12:.LANCHOR94] cmp w1, w0 - bne .L1036 + bne .L1026 adrp x1, .LANCHOR119 adrp x0, .LC0 - mov w2, 2081 + mov w2, 2089 add x1, x1, :lo12:.LANCHOR119 add x0, x0, :lo12:.LC0 bl printf -.L1036: +.L1026: ldrh w0, [x19, 6] - cbnz w0, .L1037 + cbnz w0, .L1027 adrp x1, .LANCHOR119 adrp x0, .LC0 - mov w2, 2082 + mov w2, 2090 add x1, x1, :lo12:.LANCHOR119 add x0, x0, :lo12:.LC0 bl printf -.L1037: +.L1027: ldrb w0, [x19, 5] mov w2, 65535 add x0, x0, 8 ldrh w3, [x19, x0, lsl 1] - adrp x0, .LANCHOR80 - ldrb w4, [x0, #:lo12:.LANCHOR80] -.L1038: + adrp x0, .LANCHOR79 + ldrb w4, [x0, #:lo12:.LANCHOR79] +.L1028: cmp w3, w2 ldrb w1, [x19, 5] - beq .L1040 + beq .L1030 adrp x0, .LANCHOR111 add w1, w1, 1 and w1, w1, 255 @@ -6115,29 +6220,29 @@ ftl_get_new_free_page: orr w0, w0, w2 add w3, w3, 1 strh w3, [x19, 10] - bne .L1034 + bne .L1024 add w2, w2, 1 strb wzr, [x19, 5] strh w2, [x19, 2] -.L1034: +.L1024: ldr x19, [sp, 16] ldp x29, x30, [sp], 32 ret -.L1040: +.L1030: add w1, w1, 1 and w1, w1, 255 strb w1, [x19, 5] cmp w1, w4 - bne .L1039 + bne .L1029 ldrh w0, [x19, 2] strb wzr, [x19, 5] add w0, w0, 1 strh w0, [x19, 2] -.L1039: +.L1029: ldrb w0, [x19, 5] add x0, x0, 8 ldrh w3, [x19, x0, lsl 1] - b .L1038 + b .L1028 .size ftl_get_new_free_page, .-ftl_get_new_free_page .section .text.ftl_ext_alloc_new_blk,"ax",@progbits .align 2 @@ -6153,14 +6258,14 @@ ftl_ext_alloc_new_blk: mov w19, w0 sub w0, w0, #1 cmp w1, w0, uxth - bcs .L1044 + bcs .L1034 adrp x1, .LANCHOR120 adrp x0, .LC0 - mov w2, 2117 + mov w2, 2125 add x1, x1, :lo12:.LANCHOR120 add x0, x0, :lo12:.LC0 bl printf -.L1044: +.L1034: adrp x20, .LANCHOR110 mov w1, 0 mov w0, w19 @@ -6185,54 +6290,54 @@ ftl_total_vpn_update: mov x3, x2 ldrh w1, [x2, #:lo12:.LANCHOR121] cmp w1, 4 - bhi .L1047 - cbnz w0, .L1047 + bhi .L1037 + cbnz w0, .L1037 add w1, w1, 1 strh w1, [x2, #:lo12:.LANCHOR121] ret -.L1047: - adrp x0, .LANCHOR6 +.L1037: + adrp x0, .LANCHOR8 strh wzr, [x3, #:lo12:.LANCHOR121] mov x1, 0 mov w2, 0 - ldrh w5, [x0, #:lo12:.LANCHOR6] - adrp x0, .LANCHOR9 + ldrh w5, [x0, #:lo12:.LANCHOR8] + adrp x0, .LANCHOR11 mov w8, 65535 - ldr x6, [x0, #:lo12:.LANCHOR9] - adrp x0, .LANCHOR7 - ldr x7, [x0, #:lo12:.LANCHOR7] + ldr x6, [x0, #:lo12:.LANCHOR11] + adrp x0, .LANCHOR9 + ldr x7, [x0, #:lo12:.LANCHOR9] mov w0, 0 -.L1049: +.L1039: cmp w5, w1, uxth - bhi .L1052 - adrp x1, .LANCHOR10 - ldr x1, [x1, #:lo12:.LANCHOR10] + bhi .L1042 + adrp x1, .LANCHOR12 + ldr x1, [x1, #:lo12:.LANCHOR12] str w2, [x1, 524] adrp x2, .LANCHOR110 str w0, [x1, 528] ldr x2, [x2, #:lo12:.LANCHOR110] ldrh w2, [x2, 120] - cbz w2, .L1046 + cbz w2, .L1036 udiv w0, w0, w2 str w0, [x1, 532] -.L1046: +.L1036: ret -.L1052: +.L1042: ldrh w3, [x6, x1, lsl 1] cmp w3, w8 - beq .L1050 + beq .L1040 add x4, x7, x1, lsl 2 ldrb w4, [x4, 2] and w4, w4, 224 cmp w4, 160 - bne .L1051 + bne .L1041 add w0, w0, w3 -.L1050: +.L1040: add x1, x1, 1 - b .L1049 -.L1051: + b .L1039 +.L1041: add w2, w2, w3 - b .L1050 + b .L1040 .size ftl_total_vpn_update, .-ftl_total_vpn_update .section .text.ftl_vpn_update,"ax",@progbits .align 2 @@ -6245,21 +6350,21 @@ ftl_vpn_update: and w19, w0, 65535 mov w0, w19 bl zftl_list_update_data_list - adrp x0, .LANCHOR9 + adrp x0, .LANCHOR11 ubfiz x19, x19, 1, 16 - ldr x0, [x0, #:lo12:.LANCHOR9] + ldr x0, [x0, #:lo12:.LANCHOR11] ldrh w0, [x0, x19] - cbnz w0, .L1059 + cbnz w0, .L1049 adrp x1, .LANCHOR122 mov w0, 1 str w0, [x1, #:lo12:.LANCHOR122] -.L1057: +.L1047: ldr x19, [sp, 16] ldp x29, x30, [sp], 32 ret -.L1059: +.L1049: mov w0, 0 - b .L1057 + b .L1047 .size ftl_vpn_update, .-ftl_vpn_update .section .text.ftl_vpn_decrement,"ax",@progbits .align 2 @@ -6272,16 +6377,16 @@ ftl_vpn_decrement: and w19, w0, 65535 mov w0, 65535 cmp w19, w0 - beq .L1062 - adrp x0, .LANCHOR9 + beq .L1052 + adrp x0, .LANCHOR11 uxtw x1, w19 lsl x2, x1, 1 - ldr x3, [x0, #:lo12:.LANCHOR9] + ldr x3, [x0, #:lo12:.LANCHOR11] ldrh w0, [x3, x2] - cbnz w0, .L1063 - adrp x0, .LANCHOR7 + cbnz w0, .L1053 + adrp x0, .LANCHOR9 mov w2, 0 - ldr x0, [x0, #:lo12:.LANCHOR7] + ldr x0, [x0, #:lo12:.LANCHOR9] add x1, x0, x1, lsl 2 adrp x0, .LC65 add x0, x0, :lo12:.LC65 @@ -6289,40 +6394,40 @@ ftl_vpn_decrement: mov w1, w19 ubfx x3, x3, 5, 3 bl printf -.L1068: +.L1058: mov w0, 0 - b .L1061 -.L1063: + b .L1051 +.L1053: sub w0, w0, #1 strh w0, [x3, x2] -.L1062: - adrp x20, .LANCHOR73 - ldrh w0, [x20, #:lo12:.LANCHOR73] +.L1052: + adrp x20, .LANCHOR72 + ldrh w0, [x20, #:lo12:.LANCHOR72] cmp w19, w0 - beq .L1068 + beq .L1058 mov w1, 65535 cmp w0, w1 - bne .L1065 - strh w19, [x20, #:lo12:.LANCHOR73] - b .L1068 -.L1065: + bne .L1055 + strh w19, [x20, #:lo12:.LANCHOR72] + b .L1058 +.L1055: bl ftl_vpn_update cmp w0, 0 adrp x1, .LANCHOR123 cset w0, ne - ldrh w3, [x20, #:lo12:.LANCHOR73] + ldrh w3, [x20, #:lo12:.LANCHOR72] ldrh w2, [x1, #:lo12:.LANCHOR123] - strh w19, [x20, #:lo12:.LANCHOR73] + strh w19, [x20, #:lo12:.LANCHOR72] add w2, w2, 1 and w2, w2, 65535 cmp w2, 7 csel w2, w2, wzr, ls strh w2, [x1, #:lo12:.LANCHOR123] and x2, x2, 65535 - adrp x1, .LANCHOR74 - add x1, x1, :lo12:.LANCHOR74 + adrp x1, .LANCHOR73 + add x1, x1, :lo12:.LANCHOR73 strh w3, [x1, x2, lsl 1] -.L1061: +.L1051: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret @@ -6343,27 +6448,27 @@ lpa_hash_update_ppa: ldr x8, [x4, #:lo12:.LANCHOR117] adrp x4, .LANCHOR118 ldr x4, [x4, #:lo12:.LANCHOR118] -.L1071: +.L1061: cmp w6, w12 - beq .L1075 + beq .L1065 uxtw x11, w6 lsl x10, x11, 2 add x13, x8, x10 ldr w10, [x8, x10] cmp w0, w10 lsl x10, x11, 1 - bne .L1072 + bne .L1062 mov w6, -1 str w6, [x13] cmp w7, w12 - bne .L1073 + bne .L1063 add x6, x3, :lo12:.LANCHOR116 ldrh w7, [x4, x10] strh w7, [x6, x5, lsl 1] -.L1074: +.L1064: mov w6, -1 strh w6, [x4, x11, lsl 1] -.L1075: +.L1065: uxtw x6, w2 add x3, x3, :lo12:.LANCHOR116 cmn w1, #1 @@ -6371,13 +6476,13 @@ lpa_hash_update_ppa: ldrh w0, [x3, x5, lsl 1] strh w2, [x3, x5, lsl 1] strh w0, [x4, x6, lsl 1] - beq .L1082 + beq .L1072 stp x29, x30, [sp, -16]! - adrp x0, .LANCHOR75 + adrp x0, .LANCHOR74 add x29, sp, 0 - ldrh w3, [x0, #:lo12:.LANCHOR75] - adrp x0, .LANCHOR32 - ldrb w2, [x0, #:lo12:.LANCHOR32] + ldrh w3, [x0, #:lo12:.LANCHOR74] + adrp x0, .LANCHOR31 + ldrb w2, [x0, #:lo12:.LANCHOR31] mov w0, 24 lsr w1, w1, w3 sub w0, w0, w2 @@ -6386,22 +6491,22 @@ lpa_hash_update_ppa: lsl w0, w0, w2 sub w0, w0, #1 and w1, w0, w1 - adrp x0, .LANCHOR76 - ldrb w0, [x0, #:lo12:.LANCHOR76] + adrp x0, .LANCHOR75 + ldrb w0, [x0, #:lo12:.LANCHOR75] udiv w0, w1, w0 bl ftl_vpn_decrement mov w0, -1 ldp x29, x30, [sp], 16 ret -.L1073: +.L1063: ldrh w6, [x4, x10] strh w6, [x4, w7, uxtw 1] - b .L1074 -.L1072: + b .L1064 +.L1062: mov w7, w6 ldrh w6, [x4, x10] - b .L1071 -.L1082: + b .L1061 +.L1072: mov w0, -1 ret .size lpa_hash_update_ppa, .-lpa_hash_update_ppa @@ -6411,25 +6516,25 @@ lpa_hash_update_ppa: .type ftl_mask_bad_block, %function ftl_mask_bad_block: stp x29, x30, [sp, -32]! - adrp x1, .LANCHOR32 + adrp x1, .LANCHOR31 mov w6, 24 mov w4, 1 add x29, sp, 0 - ldrb w1, [x1, #:lo12:.LANCHOR32] + ldrb w1, [x1, #:lo12:.LANCHOR31] stp x19, x20, [sp, 16] sub w6, w6, w1 lsl w1, w4, w1 sub w1, w1, #1 lsr w2, w0, w6 and w1, w1, w2 - adrp x2, .LANCHOR76 + adrp x2, .LANCHOR75 and w1, w1, 255 - ldrb w5, [x2, #:lo12:.LANCHOR76] + ldrb w5, [x2, #:lo12:.LANCHOR75] cmp w5, 1 mul w2, w1, w5 and w19, w2, 255 - adrp x2, .LANCHOR75 - ldrh w3, [x2, #:lo12:.LANCHOR75] + adrp x2, .LANCHOR74 + ldrh w3, [x2, #:lo12:.LANCHOR74] lsr w0, w0, w3 sub w3, w6, w3 lsl w3, w4, w3 @@ -6438,34 +6543,34 @@ ftl_mask_bad_block: and w4, w3, 65535 udiv w3, w3, w5 and w20, w3, 65535 - bls .L1086 + bls .L1076 sub w2, w5, #1 and w2, w2, w4 add w2, w19, w2 and w19, w2, 255 -.L1086: - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 14, .L1087 +.L1076: + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 14, .L1077 adrp x0, .LC66 and w3, w3, 65535 mov w2, w19 add x0, x0, :lo12:.LC66 bl printf -.L1087: - adrp x0, .LANCHOR6 - ldrh w0, [x0, #:lo12:.LANCHOR6] +.L1077: + adrp x0, .LANCHOR8 + ldrh w0, [x0, #:lo12:.LANCHOR8] cmp w0, w20 - bls .L1085 - adrp x0, .LANCHOR7 + bls .L1075 + adrp x0, .LANCHOR9 mov w2, 1 lsl w2, w2, w19 - ldr x0, [x0, #:lo12:.LANCHOR7] + ldr x0, [x0, #:lo12:.LANCHOR9] add x20, x0, x20, uxth 2 ldrb w19, [x20, 3] orr w2, w2, w19 strb w2, [x20, 3] -.L1085: +.L1075: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret @@ -6480,24 +6585,24 @@ gc_free_bad_sblk: stp x23, x24, [sp, 48] and w23, w0, 65535 str x27, [sp, 80] - adrp x27, .LANCHOR71 - add x0, x27, :lo12:.LANCHOR71 + adrp x27, .LANCHOR70 + add x0, x27, :lo12:.LANCHOR70 stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] stp x25, x26, [sp, 64] - ldr w0, [x0, 2120] - cbz w0, .L1108 + ldr w0, [x0, 2200] + cbz w0, .L1098 adrp x22, .LC67 mov w24, 20041 add x22, x22, :lo12:.LC67 mov w26, 0 movk w24, 0x444b, lsl 16 -.L1095: - adrp x0, .LANCHOR80 - ldrb w0, [x0, #:lo12:.LANCHOR80] +.L1085: + adrp x0, .LANCHOR79 + ldrb w0, [x0, #:lo12:.LANCHOR79] cmp w0, w26 - bhi .L1105 -.L1108: + bhi .L1095 +.L1098: mov w0, 0 ldr x27, [sp, 80] ldp x19, x20, [sp, 16] @@ -6506,84 +6611,84 @@ gc_free_bad_sblk: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 96 ret -.L1105: - adrp x0, .LANCHOR76 - adrp x1, .LANCHOR32 - adrp x21, .LANCHOR75 - ldrb w2, [x0, #:lo12:.LANCHOR76] - ldrb w3, [x1, #:lo12:.LANCHOR32] +.L1095: + adrp x0, .LANCHOR75 + adrp x1, .LANCHOR31 + adrp x21, .LANCHOR74 + ldrb w2, [x0, #:lo12:.LANCHOR75] + ldrb w3, [x1, #:lo12:.LANCHOR31] mov w1, 24 and w0, w2, 65535 cmp w2, 1 sub w1, w1, w3 - ldrh w3, [x21, #:lo12:.LANCHOR75] + ldrh w3, [x21, #:lo12:.LANCHOR74] sdiv w19, w26, w2 sub w1, w1, w3 lsl w19, w19, w1 madd w19, w23, w0, w19 and w19, w19, 65535 - bls .L1096 + bls .L1086 sub w0, w0, #1 and w0, w0, w26 add w19, w19, w0 and w19, w19, 65535 -.L1096: +.L1086: adrp x25, .LANCHOR124 add x25, x25, :lo12:.LANCHOR124 mov w20, 0 -.L1097: - add x0, x27, :lo12:.LANCHOR71 - ldr w1, [x0, 2120] +.L1087: + add x0, x27, :lo12:.LANCHOR70 + ldr w1, [x0, 2200] cmp w20, w1 - bcc .L1104 + bcc .L1094 add w26, w26, 1 and w26, w26, 65535 - b .L1095 -.L1104: + b .L1085 +.L1094: add x0, x0, x20, sxtw 1 - ldrh w0, [x0, 2124] + ldrh w0, [x0, 2204] cmp w0, w19 - bne .L1098 + bne .L1088 mov w1, w19 mov x0, x22 bl printf ldrb w0, [x25] - cbnz w0, .L1099 - adrp x0, .LANCHOR81 - ldrb w0, [x0, #:lo12:.LANCHOR81] - cbz w0, .L1100 -.L1099: + cbnz w0, .L1089 + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbz w0, .L1090 +.L1089: adrp x0, .LANCHOR110 ldr x0, [x0, #:lo12:.LANCHOR110] ldr w0, [x0, 156] cmp w0, w24 - beq .L1101 -.L1100: - ldrh w0, [x21, #:lo12:.LANCHOR75] + beq .L1091 +.L1090: + ldrh w0, [x21, #:lo12:.LANCHOR74] lsl w0, w19, w0 bl ftl_mask_bad_block -.L1101: - add x1, x27, :lo12:.LANCHOR71 +.L1091: + add x1, x27, :lo12:.LANCHOR70 mov w0, w20 - ldr w2, [x1, 2120] -.L1102: + ldr w2, [x1, 2200] +.L1092: cmp w0, w2 - bcc .L1103 - add x0, x27, :lo12:.LANCHOR71 + bcc .L1093 + add x0, x27, :lo12:.LANCHOR70 sub w2, w2, #1 - str w2, [x0, 2120] -.L1098: + str w2, [x0, 2200] +.L1088: add w20, w20, 1 and w20, w20, 65535 - b .L1097 -.L1103: + b .L1087 +.L1093: add w3, w0, 1 add x0, x1, x0, sxtw 1 add x4, x1, x3, sxtw 1 - ldrh w4, [x4, 2124] - strh w4, [x0, 2124] + ldrh w4, [x4, 2204] + strh w4, [x0, 2204] and w0, w3, 65535 - b .L1102 + b .L1092 .size gc_free_bad_sblk, .-gc_free_bad_sblk .section .text.ftl_free_sblk,"ax",@progbits .align 2 @@ -6593,17 +6698,17 @@ ftl_free_sblk: stp x29, x30, [sp, -64]! add x29, sp, 0 stp x23, x24, [sp, 48] - adrp x23, .LANCHOR7 + adrp x23, .LANCHOR9 and x24, x0, 65535 stp x19, x20, [sp, 16] - ldr x3, [x23, #:lo12:.LANCHOR7] + ldr x3, [x23, #:lo12:.LANCHOR9] lsl x19, x24, 2 stp x21, x22, [sp, 32] mov x21, x24 add x20, x3, x19 ldrb w0, [x20, 2] ubfx x22, x0, 5, 3 - tbz x0, 3, .L1115 + tbz x0, 3, .L1105 adrp x2, .LANCHOR110 ldrh w1, [x3, x19] adrp x8, .LANCHOR125 @@ -6613,9 +6718,9 @@ ftl_free_sblk: ldrh w8, [x8, #:lo12:.LANCHOR125] ldrh w4, [x7, 74] ubfx x5, x2, 11, 8 - adrp x2, .LANCHOR8 + adrp x2, .LANCHOR10 add w4, w1, w4 - ldrh w2, [x2, #:lo12:.LANCHOR8] + ldrh w2, [x2, #:lo12:.LANCHOR10] and w6, w4, 65535 ldrh w4, [x7, 72] add w4, w5, w4 @@ -6623,22 +6728,22 @@ ftl_free_sblk: and w4, w4, 65535 add w7, w7, w4 cmp w7, w8 - ble .L1116 + ble .L1106 adrp x4, .LANCHOR101 adrp x7, .LANCHOR105 ldrh w6, [x4, #:lo12:.LANCHOR101] - adrp x4, .LANCHOR93 + adrp x4, .LANCHOR91 ldrh w7, [x7, #:lo12:.LANCHOR105] - ldrh w4, [x4, #:lo12:.LANCHOR93] + ldrh w4, [x4, #:lo12:.LANCHOR91] add w6, w6, 7 add w4, w4, w7 cmp w6, w4 - blt .L1117 -.L1122: + blt .L1107 +.L1112: mov w4, 2 bfi w0, w4, 3, 2 - b .L1133 -.L1117: + b .L1123 +.L1107: adrp x4, .LANCHOR98 adrp x7, .LANCHOR103 ldrh w6, [x4, #:lo12:.LANCHOR98] @@ -6651,15 +6756,15 @@ ftl_free_sblk: ldrh w7, [x7, #:lo12:.LANCHOR99] add w4, w4, w7 cmp w6, w4 - blt .L1122 -.L1135: + blt .L1112 +.L1125: and w0, w0, -25 -.L1133: +.L1123: strb w0, [x20, 2] -.L1118: +.L1108: ldrb w0, [x20, 2] ands w0, w0, 24 - bne .L1123 + bne .L1113 mul w2, w5, w2 ldrh w0, [x3, x19] add w2, w2, w2, lsl 1 @@ -6670,10 +6775,10 @@ ftl_free_sblk: ldr w0, [x3, x19] bfi w0, w2, 11, 8 str w0, [x3, x19] -.L1124: +.L1114: mov w0, w21 bl zftl_remove_data_node - ldr x0, [x23, #:lo12:.LANCHOR7] + ldr x0, [x23, #:lo12:.LANCHOR9] add w22, w22, 6 and w22, w22, 7 add x19, x0, x19 @@ -6681,26 +6786,26 @@ ftl_free_sblk: ldrb w0, [x19, 2] and w0, w0, 31 strb w0, [x19, 2] - adrp x0, .LANCHOR9 - ldr x0, [x0, #:lo12:.LANCHOR9] + adrp x0, .LANCHOR11 + ldr x0, [x0, #:lo12:.LANCHOR11] strh wzr, [x0, x24, lsl 1] - bhi .L1127 + bhi .L1117 mov w0, w21 bl gc_free_bad_sblk -.L1127: +.L1117: ldrb w0, [x20, 2] - tbz x0, 3, .L1128 - adrp x0, .LANCHOR10 - ldr x0, [x0, #:lo12:.LANCHOR10] + tbz x0, 3, .L1118 + adrp x0, .LANCHOR12 + ldr x0, [x0, #:lo12:.LANCHOR12] ldrh w1, [x0, 586] cmp w1, w21 - bne .L1128 + bne .L1118 mov w1, -1 ldrh w2, [x0, 590] strh w1, [x0, 586] mov w1, 65535 cmp w2, w1 - bne .L1128 + bne .L1118 strh w21, [x0, 590] mov w1, w21 ldp x19, x20, [sp, 16] @@ -6710,12 +6815,12 @@ ftl_free_sblk: ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 64 b printf -.L1116: +.L1106: madd w4, w2, w4, w6 adrp x6, .LANCHOR126 ldrh w6, [x6, #:lo12:.LANCHOR126] cmp w4, w6 - ble .L1118 + ble .L1108 adrp x4, .LANCHOR98 adrp x7, .LANCHOR103 ldrh w6, [x4, #:lo12:.LANCHOR98] @@ -6728,45 +6833,45 @@ ftl_free_sblk: add w4, w4, w7 add w7, w6, 7 cmp w7, w4 - bge .L1135 + bge .L1125 adrp x7, .LANCHOR101 adrp x10, .LANCHOR105 ldrh w8, [x7, #:lo12:.LANCHOR101] - adrp x7, .LANCHOR93 + adrp x7, .LANCHOR91 ldrh w10, [x10, #:lo12:.LANCHOR105] - ldrh w7, [x7, #:lo12:.LANCHOR93] + ldrh w7, [x7, #:lo12:.LANCHOR91] add w8, w8, 7 add w7, w7, w10 cmp w8, w7 - bge .L1122 + bge .L1112 add w6, w6, 23 cmp w4, w6 - bgt .L1122 - b .L1135 -.L1123: + bgt .L1112 + b .L1125 +.L1113: cmp w0, 16 - bne .L1124 + bne .L1114 sdiv w2, w1, w2 ldr w0, [x3, x19] add w2, w2, w2, lsl 1 add w2, w5, w2, lsr 2 -.L1134: +.L1124: bfi w0, w2, 11, 8 asr w1, w1, 5 str w0, [x3, x19] bfi w0, w1, 0, 11 strh w0, [x3, x19] - b .L1124 -.L1115: + b .L1114 +.L1105: tst w0, 24 - bne .L1124 + bne .L1114 adrp x1, .LANCHOR107 ldrh w1, [x1, #:lo12:.LANCHOR107] - cbnz w1, .L1124 + cbnz w1, .L1114 adrp x1, .LANCHOR105 ldrh w4, [x1, #:lo12:.LANCHOR105] cmp w4, 15 - bhi .L1124 + bhi .L1114 adrp x1, .LANCHOR97 adrp x2, .LANCHOR103 ldrh w1, [x1, #:lo12:.LANCHOR97] @@ -6779,29 +6884,29 @@ ftl_free_sblk: ldrh w2, [x2, #:lo12:.LANCHOR98] add w2, w2, 16 cmp w1, w2 - ble .L1124 + ble .L1114 adrp x1, .LANCHOR101 ldrh w2, [x1, #:lo12:.LANCHOR101] - adrp x1, .LANCHOR93 - ldrh w1, [x1, #:lo12:.LANCHOR93] + adrp x1, .LANCHOR91 + ldrh w1, [x1, #:lo12:.LANCHOR91] add w2, w2, 7 add w1, w1, w4 cmp w2, w1 - blt .L1124 + blt .L1114 mov w1, 2 bfi w0, w1, 3, 2 strb w0, [x20, 2] - adrp x0, .LANCHOR8 + adrp x0, .LANCHOR10 ldrh w1, [x3, x19] - ldrh w0, [x0, #:lo12:.LANCHOR8] + ldrh w0, [x0, #:lo12:.LANCHOR10] and w1, w1, 2047 sdiv w0, w1, w0 add w2, w0, w0, lsl 1 ldr w0, [x3, x19] ubfx x4, x0, 11, 8 add w2, w4, w2, lsr 2 - b .L1134 -.L1128: + b .L1124 +.L1118: mov w0, w21 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -6817,20 +6922,20 @@ gc_free_src_blk: stp x29, x30, [sp, -80]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR71 + adrp x21, .LANCHOR70 stp x23, x24, [sp, 48] adrp x22, .LC69 - adrp x23, .LANCHOR9 - add x21, x21, :lo12:.LANCHOR71 + adrp x23, .LANCHOR11 + add x21, x21, :lo12:.LANCHOR70 mov x24, x23 add x22, x22, :lo12:.LC69 stp x19, x20, [sp, 16] mov w20, 0 stp x25, x26, [sp, 64] -.L1137: +.L1127: ldrh w0, [x21, 56] cmp w0, w20 - bhi .L1151 + bhi .L1141 strh wzr, [x21, 56] ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -6838,114 +6943,114 @@ gc_free_src_blk: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 80 ret -.L1151: +.L1141: add x0, x21, x20, sxtw 1 ldrh w25, [x0, 58] - ldr x0, [x23, #:lo12:.LANCHOR9] + ldr x0, [x23, #:lo12:.LANCHOR11] mov x19, x25 lsl x26, x25, 1 ldrh w2, [x0, x26] - cbz w2, .L1138 + cbz w2, .L1128 mov w1, w25 mov x0, x22 bl printf -.L1138: - ldr x0, [x24, #:lo12:.LANCHOR9] +.L1128: + ldr x0, [x24, #:lo12:.LANCHOR11] strh wzr, [x0, x26] - adrp x0, .LANCHOR7 - ldr x0, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR9 + ldr x0, [x0, #:lo12:.LANCHOR9] add x25, x0, x25, lsl 2 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L1139 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L1129 ldrb w2, [x25, 2] adrp x0, .LC70 mov w1, w19 add x0, x0, :lo12:.LC70 ubfx x2, x2, 5, 3 bl printf -.L1139: +.L1129: ldrb w0, [x25, 2] and w1, w0, 224 cmp w1, 224 - beq .L1140 + beq .L1130 tst w0, 192 - bne .L1141 -.L1140: + bne .L1131 +.L1130: adrp x1, .LANCHOR127 adrp x0, .LC0 - mov w2, 1362 + mov w2, 1363 add x1, x1, :lo12:.LANCHOR127 add x0, x0, :lo12:.LC0 bl printf -.L1141: +.L1131: mov w0, w19 bl ftl_free_sblk - adrp x0, .LANCHOR10 - ldr x0, [x0, #:lo12:.LANCHOR10] + adrp x0, .LANCHOR12 + ldr x0, [x0, #:lo12:.LANCHOR12] ldrh w2, [x0, 124] - cbz w2, .L1142 + cbz w2, .L1132 add x3, x0, 392 mov w1, 0 -.L1144: +.L1134: ldrh w4, [x3] cmp w4, w19 - bne .L1143 + bne .L1133 add x1, x0, x1, sxtw 1 mov w3, -1 sub w2, w2, #1 strh w3, [x1, 392] strh w2, [x0, 124] -.L1142: +.L1132: ldrh w2, [x0, 120] - cbz w2, .L1145 + cbz w2, .L1135 add x3, x0, 136 mov w1, 0 -.L1147: +.L1137: ldrh w4, [x3] cmp w4, w19 - bne .L1146 + bne .L1136 add x1, x0, x1, sxtw 1 mov w3, -1 sub w2, w2, #1 strh w3, [x1, 136] strh w2, [x0, 120] -.L1145: +.L1135: ldrh w2, [x0, 122] - cbz w2, .L1148 + cbz w2, .L1138 add x3, x0, 264 mov w1, 0 -.L1150: +.L1140: ldrh w4, [x3] cmp w4, w19 - bne .L1149 + bne .L1139 add x1, x0, x1, sxtw 1 mov w3, -1 sub w2, w2, #1 strh w3, [x1, 264] strh w2, [x0, 122] -.L1148: +.L1138: add w20, w20, 1 and w20, w20, 65535 - b .L1137 -.L1143: + b .L1127 +.L1133: add w1, w1, 1 add x3, x3, 2 cmp w1, 64 - bne .L1144 - b .L1142 -.L1146: + bne .L1134 + b .L1132 +.L1136: add w1, w1, 1 add x3, x3, 2 cmp w1, 64 - bne .L1147 - b .L1145 -.L1149: + bne .L1137 + b .L1135 +.L1139: add w1, w1, 1 add x3, x3, 2 cmp w1, 64 - bne .L1150 - b .L1148 + bne .L1140 + b .L1138 .size gc_free_src_blk, .-gc_free_src_blk .section .text.print_ftl_debug_info,"ax",@progbits .align 2 @@ -6961,13 +7066,13 @@ print_ftl_debug_info: adrp x2, .LANCHOR97 stp x19, x20, [sp, 48] adrp x19, .LANCHOR110 - adrp x20, .LANCHOR10 + adrp x20, .LANCHOR12 ldrh w6, [x2, #:lo12:.LANCHOR97] adrp x2, .LANCHOR107 ldr x1, [x19, #:lo12:.LANCHOR110] ldrh w5, [x2, #:lo12:.LANCHOR107] adrp x2, .LANCHOR105 - ldr x0, [x20, #:lo12:.LANCHOR10] + ldr x0, [x20, #:lo12:.LANCHOR12] ldrh w4, [x2, #:lo12:.LANCHOR105] adrp x2, .LANCHOR103 ldr w8, [x8, #:lo12:.LANCHOR128] @@ -6979,8 +7084,8 @@ print_ftl_debug_info: str w8, [sp, 16] ldr w0, [x0, 524] str w0, [sp, 8] - adrp x0, .LANCHOR93 - ldrh w0, [x0, #:lo12:.LANCHOR93] + adrp x0, .LANCHOR91 + ldrh w0, [x0, #:lo12:.LANCHOR91] str w0, [sp] adrp x0, .LC71 add x0, x0, :lo12:.LC71 @@ -7019,12 +7124,12 @@ print_ftl_debug_info: adrp x0, .LC74 add x0, x0, :lo12:.LC74 bl printf - adrp x0, .LANCHOR87 - ldrh w5, [x0, #:lo12:.LANCHOR87] - adrp x0, .LANCHOR94 - ldrh w4, [x0, #:lo12:.LANCHOR94] - adrp x0, .LANCHOR70 - ldrh w3, [x0, #:lo12:.LANCHOR70] + adrp x0, .LANCHOR86 + ldrh w5, [x0, #:lo12:.LANCHOR86] + adrp x0, .LANCHOR93 + ldrh w4, [x0, #:lo12:.LANCHOR93] + adrp x0, .LANCHOR69 + ldrh w3, [x0, #:lo12:.LANCHOR69] adrp x0, .LANCHOR102 ldrh w2, [x0, #:lo12:.LANCHOR102] adrp x0, .LANCHOR100 @@ -7032,7 +7137,7 @@ print_ftl_debug_info: adrp x0, .LC75 add x0, x0, :lo12:.LC75 bl printf - ldr x0, [x20, #:lo12:.LANCHOR10] + ldr x0, [x20, #:lo12:.LANCHOR12] ldr x1, [x19, #:lo12:.LANCHOR110] ldp x29, x30, [sp, 32] ldrh w4, [x0, 590] @@ -7056,65 +7161,65 @@ ftl_write_buf: add x29, sp, 0 stp x19, x20, [sp, 16] str x21, [sp, 32] - cbnz x0, .L1177 + cbnz x0, .L1167 adrp x1, .LANCHOR130 add x1, x1, :lo12:.LANCHOR130 - mov w2, 803 + mov w2, 808 adrp x0, .LC0 add x0, x0, :lo12:.LC0 bl printf bl print_ftl_debug_info mov w0, -1 -.L1176: +.L1166: ldp x19, x20, [sp, 16] ldr x21, [sp, 32] ldp x29, x30, [sp], 48 ret -.L1180: +.L1170: mov x1, x19 - adrp x0, .LANCHOR66 - add x0, x0, :lo12:.LANCHOR66 + adrp x0, .LANCHOR65 + add x0, x0, :lo12:.LANCHOR65 bl buf_add_tail adrp x1, .LANCHOR110 ldrb w3, [x19, 56] - ldrb w0, [x21, #:lo12:.LANCHOR67] + ldrb w0, [x21, #:lo12:.LANCHOR66] ldr x1, [x1, #:lo12:.LANCHOR110] add w0, w0, 1 and w0, w0, 255 - strb w0, [x21, #:lo12:.LANCHOR67] + strb w0, [x21, #:lo12:.LANCHOR66] ldr w2, [x1, 16] add w2, w2, w3 str w2, [x1, 16] ldr w2, [x1, 32] add w2, w2, 1 str w2, [x1, 32] - b .L1176 -.L1177: + b .L1166 +.L1167: mov x19, x0 adrp x0, .LANCHOR131 mov x20, x0 ldrb w1, [x0, #:lo12:.LANCHOR131] ldrb w2, [x19, 56] cmp w2, w1 - bls .L1182 + bls .L1172 adrp x1, .LANCHOR130 adrp x0, .LC0 - mov w2, 810 + mov w2, 815 add x1, x1, :lo12:.LANCHOR130 add x0, x0, :lo12:.LC0 bl printf -.L1182: +.L1172: ldrb w0, [x19, 56] - adrp x21, .LANCHOR67 - cbz w0, .L1179 + adrp x21, .LANCHOR66 + cbz w0, .L1169 ldrb w1, [x20, #:lo12:.LANCHOR131] cmp w1, w0 - bcs .L1180 -.L1179: + bcs .L1170 +.L1169: mov x0, x19 bl zbuf_free - ldrb w0, [x21, #:lo12:.LANCHOR67] - b .L1176 + ldrb w0, [x21, #:lo12:.LANCHOR66] + b .L1166 .size ftl_write_buf, .-ftl_write_buf .section .text.ftl_write_completed,"ax",@progbits .align 2 @@ -7124,28 +7229,28 @@ ftl_write_completed: stp x29, x30, [sp, -80]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR56 + adrp x21, .LANCHOR55 stp x19, x20, [sp, 16] - add x22, x21, :lo12:.LANCHOR56 + add x22, x21, :lo12:.LANCHOR55 stp x23, x24, [sp, 48] - adrp x20, .LANCHOR65 + adrp x20, .LANCHOR64 mov w23, 20041 - add x20, x20, :lo12:.LANCHOR65 + add x20, x20, :lo12:.LANCHOR64 str x25, [sp, 64] movk w23, 0x444b, lsl 16 mov w25, 0 -.L1188: +.L1178: ldrb w0, [x20] cmp w0, 255 - bne .L1199 + bne .L1189 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldr x25, [sp, 64] ldp x29, x30, [sp], 80 ret -.L1199: - add x1, x21, :lo12:.LANCHOR56 +.L1189: + add x1, x21, :lo12:.LANCHOR55 lsl x2, x0, 6 add x24, x1, x2 ubfiz x19, x0, 6, 8 @@ -7154,96 +7259,96 @@ ftl_write_completed: strb w1, [x20] ldr w1, [x24, 52] cmn w1, #1 - bne .L1189 + bne .L1179 adrp x1, .LANCHOR124 ldrb w1, [x1, #:lo12:.LANCHOR124] - cbnz w1, .L1190 - adrp x1, .LANCHOR81 - ldrb w1, [x1, #:lo12:.LANCHOR81] - cbz w1, .L1191 -.L1190: + cbnz w1, .L1180 + adrp x1, .LANCHOR80 + ldrb w1, [x1, #:lo12:.LANCHOR80] + cbz w1, .L1181 +.L1180: adrp x1, .LANCHOR110 ldr x1, [x1, #:lo12:.LANCHOR110] ldr w1, [x1, 156] cmp w1, w23 - beq .L1192 -.L1191: + beq .L1182 +.L1181: add x1, x22, x0, lsl 6 mov w2, 24 mov w5, 65535 ldr w3, [x1, 40] - adrp x1, .LANCHOR75 - ldrh w4, [x1, #:lo12:.LANCHOR75] - adrp x1, .LANCHOR32 - ldrb w1, [x1, #:lo12:.LANCHOR32] + adrp x1, .LANCHOR74 + ldrh w4, [x1, #:lo12:.LANCHOR74] + adrp x1, .LANCHOR31 + ldrb w1, [x1, #:lo12:.LANCHOR31] sub w1, w2, w1 sub w2, w1, w4 mov w1, 1 lsr w4, w3, w4 lsl w1, w1, w2 - adrp x2, .LANCHOR76 + adrp x2, .LANCHOR75 sub w1, w1, #1 - ldrb w2, [x2, #:lo12:.LANCHOR76] + ldrb w2, [x2, #:lo12:.LANCHOR75] and w1, w1, w4 udiv w1, w1, w2 - adrp x2, .LANCHOR10 + adrp x2, .LANCHOR12 mov x24, x2 - ldr x4, [x2, #:lo12:.LANCHOR10] + ldr x4, [x2, #:lo12:.LANCHOR12] and w25, w1, 65535 and w1, w1, w5 ldr w6, [x4, 560] cmp w6, w5 - bne .L1193 + bne .L1183 str w1, [x4, 560] str w3, [x4, 564] -.L1193: +.L1183: add x0, x22, x0, lsl 6 ldr w2, [x0, 36] adrp x0, .LC77 add x0, x0, :lo12:.LC77 bl printf - ldr x0, [x24, #:lo12:.LANCHOR10] + ldr x0, [x24, #:lo12:.LANCHOR12] ldr w1, [x0, 556] add w1, w1, 1 str w1, [x0, 556] ldrh w1, [x0, 16] cmp w1, w25 - bne .L1194 + bne .L1184 strh wzr, [x0, 22] -.L1192: +.L1182: mov x0, x19 mov w25, 1 bl ftl_write_buf - b .L1188 -.L1194: + b .L1178 +.L1184: ldrh w1, [x0, 48] cmp w1, w25 - bne .L1192 + bne .L1182 strh wzr, [x0, 54] - b .L1192 -.L1189: - cbz w25, .L1197 + b .L1182 +.L1179: + cbz w25, .L1187 ldp w1, w2, [x24, 36] adrp x0, .LC78 add x0, x0, :lo12:.LC78 bl printf mov x0, x19 bl ftl_write_buf - b .L1188 -.L1197: + b .L1178 +.L1187: ldrh w2, [x24, 48] ldr w0, [x24, 36] ldr w1, [x24, 44] bl lpa_hash_update_ppa ldrb w0, [x24, 2] - tbz x0, 2, .L1198 + tbz x0, 2, .L1188 and w0, w0, -3 strb w0, [x24, 2] - b .L1188 -.L1198: + b .L1178 +.L1188: mov x0, x19 bl zbuf_free - b .L1188 + b .L1178 .size ftl_write_completed, .-ftl_write_completed .section .text.zftl_add_read_buf,"ax",@progbits .align 2 @@ -7253,8 +7358,8 @@ zftl_add_read_buf: stp x29, x30, [sp, -32]! add x29, sp, 0 str x19, [sp, 16] - cbnz x0, .L1205 - mov w2, 1143 + cbnz x0, .L1195 + mov w2, 1148 adrp x1, .LANCHOR132 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR132 @@ -7263,20 +7368,20 @@ zftl_add_read_buf: ldr x19, [sp, 16] ldp x29, x30, [sp], 32 b print_ftl_debug_info -.L1205: +.L1195: ldrb w1, [x0, 56] mov x19, x0 adrp x0, .LANCHOR131 ldrb w0, [x0, #:lo12:.LANCHOR131] cmp w1, w0 - bls .L1207 + bls .L1197 adrp x1, .LANCHOR132 adrp x0, .LC0 - mov w2, 1150 + mov w2, 1155 add x1, x1, :lo12:.LANCHOR132 add x0, x0, :lo12:.LC0 bl printf -.L1207: +.L1197: mov x1, x19 adrp x0, .LANCHOR133 add x0, x0, :lo12:.LANCHOR133 @@ -7289,100 +7394,20 @@ zftl_add_read_buf: strb w0, [x1, #:lo12:.LANCHOR134] ret .size zftl_add_read_buf, .-zftl_add_read_buf - .section .text.ftl_alloc_sblk,"ax",@progbits - .align 2 - .global ftl_alloc_sblk - .type ftl_alloc_sblk, %function -ftl_alloc_sblk: - stp x29, x30, [sp, -64]! - cmp w0, 5 - add x29, sp, 0 - str x23, [sp, 48] - and w23, w0, 65535 - stp x21, x22, [sp, 32] - mov w1, w23 - stp x19, x20, [sp, 16] - cset w22, eq - mov w21, w0 - mov w0, 0 - bl zftl_get_free_sblk - and w19, w0, 65535 - mov w0, 65535 - cmp w19, w0 - beq .L1212 - adrp x0, .LANCHOR7 - lsl w22, w22, 1 - ldr x20, [x0, #:lo12:.LANCHOR7] - add x20, x20, x19, uxth 2 - ldrb w0, [x20, 2] - tst w0, 224 - beq .L1213 - adrp x1, .LANCHOR135 - adrp x0, .LC0 - mov w2, 939 - add x1, x1, :lo12:.LANCHOR135 - add x0, x0, :lo12:.LC0 - bl printf -.L1213: - ldrb w0, [x20, 2] - bfi w0, w21, 5, 3 - ubfx x1, x0, 3, 2 - orr w1, w22, w1 - bfi w0, w1, 3, 2 - strb w0, [x20, 2] - and w1, w0, 24 - cmp w1, 24 - bne .L1214 - cbnz w22, .L1214 - mov w1, 1 - bfi w0, w1, 3, 2 - strb w0, [x20, 2] -.L1214: - mov w0, w19 - ldr x23, [sp, 48] - ldp x19, x20, [sp, 16] - ldp x21, x22, [sp, 32] - ldp x29, x30, [sp], 64 - ret -.L1212: - bl print_ftl_debug_info - adrp x20, .LC79 - mov w2, w21 - add x20, x20, :lo12:.LC79 - mov w1, w19 - mov x0, x20 - bl printf - mov w1, w23 - mov w0, 0 - bl zftl_get_free_sblk - and w19, w0, 65535 - mov w2, w21 - mov w1, w19 - mov x0, x20 - bl printf - bl dump_all_list_info - mov w2, 955 - adrp x1, .LANCHOR135 - adrp x0, .LC0 - add x1, x1, :lo12:.LANCHOR135 - add x0, x0, :lo12:.LC0 - bl printf - b .L1214 - .size ftl_alloc_sblk, .-ftl_alloc_sblk .section .text.sblk_init,"ax",@progbits .align 2 .global sblk_init .type sblk_init, %function sblk_init: - adrp x1, .LANCHOR60 + adrp x1, .LANCHOR59 mov w0, -1 - strb w0, [x1, #:lo12:.LANCHOR60] - adrp x1, .LANCHOR65 - strb w0, [x1, #:lo12:.LANCHOR65] - adrp x1, .LANCHOR63 - strb w0, [x1, #:lo12:.LANCHOR63] + strb w0, [x1, #:lo12:.LANCHOR59] adrp x1, .LANCHOR64 strb w0, [x1, #:lo12:.LANCHOR64] + adrp x1, .LANCHOR62 + strb w0, [x1, #:lo12:.LANCHOR62] + adrp x1, .LANCHOR63 + strb w0, [x1, #:lo12:.LANCHOR63] mov w0, 0 ret .size sblk_init, .-sblk_init @@ -7392,25 +7417,25 @@ sblk_init: .type dump_sblk_queue, %function dump_sblk_queue: stp x29, x30, [sp, -48]! - adrp x0, .LC80 - add x0, x0, :lo12:.LC80 + adrp x0, .LC79 + add x0, x0, :lo12:.LC79 add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x19, .LANCHOR60 + adrp x19, .LANCHOR59 str x21, [sp, 32] - ldrb w1, [x19, #:lo12:.LANCHOR60] + ldrb w1, [x19, #:lo12:.LANCHOR59] bl printf - ldrb w19, [x19, #:lo12:.LANCHOR60] + ldrb w19, [x19, #:lo12:.LANCHOR59] cmp w19, 255 - beq .L1221 - adrp x1, .LANCHOR56 + beq .L1201 + adrp x1, .LANCHOR55 ubfiz x19, x19, 6, 8 - add x1, x1, :lo12:.LANCHOR56 - adrp x21, .LC81 + add x1, x1, :lo12:.LANCHOR55 + adrp x21, .LC80 add x19, x1, x19 - add x21, x21, :lo12:.LC81 + add x21, x21, :lo12:.LC80 mov x20, x1 -.L1223: +.L1203: ldrb w2, [x19, 58] mov x0, x21 ldrb w1, [x19, 1] @@ -7418,11 +7443,11 @@ dump_sblk_queue: bl printf ldrb w19, [x19] cmp w19, 255 - beq .L1221 + beq .L1201 ubfiz x19, x19, 6, 8 add x19, x20, x19 - b .L1223 -.L1221: + b .L1203 +.L1201: ldp x19, x20, [sp, 16] ldr x21, [sp, 32] ldp x29, x30, [sp], 48 @@ -7433,90 +7458,90 @@ dump_sblk_queue: .global queue_lun_state .type queue_lun_state, %function queue_lun_state: - adrp x2, .LANCHOR60 - ldrb w2, [x2, #:lo12:.LANCHOR60] + adrp x2, .LANCHOR59 + ldrb w2, [x2, #:lo12:.LANCHOR59] cmp w2, 255 - beq .L1239 - adrp x3, .LANCHOR32 + beq .L1219 + adrp x3, .LANCHOR31 mov w8, 24 - adrp x10, .LANCHOR56 - add x10, x10, :lo12:.LANCHOR56 - ldrb w4, [x3, #:lo12:.LANCHOR32] + adrp x10, .LANCHOR55 + add x10, x10, :lo12:.LANCHOR55 + ldrb w4, [x3, #:lo12:.LANCHOR31] mov w3, 1 - adrp x13, .L1235 + adrp x13, .L1215 mov x15, x10 sub w8, w8, w4 - add x13, x13, :lo12:.L1235 + add x13, x13, :lo12:.L1215 lsl w4, w3, w4 sub w4, w4, #1 and w6, w4, 65535 - adrp x4, .LANCHOR75 + adrp x4, .LANCHOR74 asr w11, w0, w8 and w11, w11, w6 - ldrh w12, [x4, #:lo12:.LANCHOR75] + ldrh w12, [x4, #:lo12:.LANCHOR74] sub w4, w8, w12 lsl w3, w3, w4 sub w3, w3, #1 and w7, w3, 65535 - adrp x3, .LANCHOR76 - ldrb w5, [x3, #:lo12:.LANCHOR76] + adrp x3, .LANCHOR75 + ldrb w5, [x3, #:lo12:.LANCHOR75] asr w3, w0, w12 sub w5, w5, #1 and w5, w5, 65535 and w3, w3, w5 and w3, w3, w7 -.L1238: +.L1218: add x14, x10, x2, lsl 6 ldr w4, [x14, 40] lsr w0, w4, w8 and w0, w6, w0 cmp w11, w0 - bne .L1233 + bne .L1213 lsr w4, w4, w12 and w4, w5, w4 and w4, w7, w4 ldrb w0, [x14, 58] cmp w3, w4 - bne .L1234 + bne .L1214 cmp w1, 1 - bne .L1231 + bne .L1211 cmp w0, 7 ccmp w0, 9, 4, ne - beq .L1233 + beq .L1213 ret -.L1234: +.L1214: cmp w1, 3 - bhi .L1233 + bhi .L1213 ldrb w4, [x13,w1,uxtw] - adr x14, .Lrtx1235 + adr x14, .Lrtx1215 add x4, x14, w4, sxtb #2 br x4 -.Lrtx1235: +.Lrtx1215: .section .rodata.queue_lun_state,"a",@progbits .align 0 .align 2 -.L1235: - .byte (.L1231 - .Lrtx1235) / 4 - .byte (.L1236 - .Lrtx1235) / 4 - .byte (.L1237 - .Lrtx1235) / 4 - .byte (.L1231 - .Lrtx1235) / 4 +.L1215: + .byte (.L1211 - .Lrtx1215) / 4 + .byte (.L1216 - .Lrtx1215) / 4 + .byte (.L1217 - .Lrtx1215) / 4 + .byte (.L1211 - .Lrtx1215) / 4 .section .text.queue_lun_state -.L1236: +.L1216: cmp w0, 7 ccmp w0, 9, 4, ne - beq .L1233 + beq .L1213 ret -.L1237: +.L1217: cmp w0, 11 - bne .L1231 -.L1233: + bne .L1211 +.L1213: lsl x2, x2, 6 ldrb w2, [x15, x2] cmp w2, 255 - bne .L1238 -.L1239: + bne .L1218 +.L1219: mov w0, 0 -.L1231: +.L1211: ret .size queue_lun_state, .-queue_lun_state .section .text.queue_remove_completed_req,"ax",@progbits @@ -7524,25 +7549,25 @@ queue_lun_state: .global queue_remove_completed_req .type queue_remove_completed_req, %function queue_remove_completed_req: - adrp x4, .LANCHOR65 - adrp x8, .LANCHOR64 - adrp x1, .LANCHOR60 - adrp x7, .LANCHOR63 - adrp x3, .LANCHOR56 - ldrb w14, [x4, #:lo12:.LANCHOR65] - add x5, x3, :lo12:.LANCHOR56 - ldrb w2, [x1, #:lo12:.LANCHOR60] - ldrb w12, [x8, #:lo12:.LANCHOR64] + adrp x4, .LANCHOR64 + adrp x8, .LANCHOR63 + adrp x1, .LANCHOR59 + adrp x7, .LANCHOR62 + adrp x3, .LANCHOR55 + ldrb w14, [x4, #:lo12:.LANCHOR64] + add x5, x3, :lo12:.LANCHOR55 + ldrb w2, [x1, #:lo12:.LANCHOR59] + ldrb w12, [x8, #:lo12:.LANCHOR63] mov x11, x5 - ldrb w13, [x7, #:lo12:.LANCHOR63] - add x16, x8, :lo12:.LANCHOR64 - add x7, x7, :lo12:.LANCHOR63 - add x10, x4, :lo12:.LANCHOR65 + ldrb w13, [x7, #:lo12:.LANCHOR62] + add x16, x8, :lo12:.LANCHOR63 + add x7, x7, :lo12:.LANCHOR62 + add x10, x4, :lo12:.LANCHOR64 mov w6, 0 mov w15, -1 -.L1242: +.L1222: cmp w2, 255 - beq .L1243 + beq .L1223 sbfiz x8, x2, 6, 32 sxtw x0, w2 add x4, x5, x8 @@ -7550,265 +7575,131 @@ queue_remove_completed_req: sub w4, w4, #12 and w4, w4, 255 cmp w4, 1 - bls .L1244 - cbz w6, .L1241 - strb w2, [x1, #:lo12:.LANCHOR60] + bls .L1224 + cbz w6, .L1221 + strb w2, [x1, #:lo12:.LANCHOR59] ret -.L1244: +.L1224: lsl x6, x0, 6 ldrb w2, [x5, x8] add x4, x5, x6 strb w15, [x5, x6] ldrb w6, [x4, 59] cmp w6, 1 - bne .L1247 + bne .L1227 ldrh w4, [x4, 50] - cbnz w4, .L1255 + cbnz w4, .L1235 mov w4, w14 mov x6, x10 -.L1248: +.L1228: cmp w4, 255 - bne .L1253 - add x3, x3, :lo12:.LANCHOR56 - strb w2, [x1, #:lo12:.LANCHOR60] + bne .L1233 + add x3, x3, :lo12:.LANCHOR55 + strb w2, [x1, #:lo12:.LANCHOR59] add x0, x3, x0, lsl 6 ldrb w0, [x0, 1] strb w0, [x6] ret -.L1247: - cbnz w6, .L1249 +.L1227: + cbnz w6, .L1229 ldr w4, [x4, 36] cmn w4, #1 - beq .L1249 + beq .L1229 mov w4, w13 mov x6, x7 - b .L1248 -.L1255: + b .L1228 +.L1235: mov w4, w12 mov x6, x16 - b .L1248 -.L1253: + b .L1228 +.L1233: mov w6, w4 sbfiz x4, x4, 6, 32 ldrb w4, [x11, x4] cmp w4, 255 - bne .L1253 + bne .L1233 add x0, x11, x0, lsl 6 sbfiz x6, x6, 6, 32 ldrb w0, [x0, 1] strb w0, [x11, x6] -.L1249: +.L1229: mov w6, 1 - b .L1242 -.L1243: - cbz w6, .L1241 + b .L1222 +.L1223: + cbz w6, .L1221 mov w0, -1 - strb w0, [x1, #:lo12:.LANCHOR60] -.L1241: + strb w0, [x1, #:lo12:.LANCHOR59] +.L1221: ret .size queue_remove_completed_req, .-queue_remove_completed_req - .section .text.pm_alloc_new_blk,"ax",@progbits - .align 2 - .global pm_alloc_new_blk - .type pm_alloc_new_blk, %function -pm_alloc_new_blk: - stp x29, x30, [sp, -64]! - adrp x2, .LANCHOR80 - add x29, sp, 0 - stp x19, x20, [sp, 16] - adrp x20, .LANCHOR110 - stp x21, x22, [sp, 32] - ldr x1, [x20, #:lo12:.LANCHOR110] - ldrb w2, [x2, #:lo12:.LANCHOR80] - ldrh w0, [x1, 690] - str x23, [sp, 48] - add w0, w0, 1 - and w0, w0, 65535 - strh w0, [x1, 690] - cmp w2, w0 - bls .L1266 - add x0, x1, x0, sxtw 1 - ldrh w1, [x0, 672] - mov w0, 65535 - cmp w1, w0 - bne .L1267 -.L1266: - adrp x19, .LC82 - add x19, x19, :lo12:.LC82 - mov w23, 65535 - adrp x22, .LANCHOR7 -.L1268: - mov w0, 1 - bl ftl_alloc_sblk - and w21, w0, 65535 - cmp w21, w23 - beq .L1268 - mov w1, 0 - mov w0, w21 - bl ftl_erase_sblk - add x14, x20, :lo12:.LANCHOR110 - ldr x1, [x20, #:lo12:.LANCHOR110] - mov w0, w21 - add x1, x1, 672 - bl ftl_get_blk_list_in_sblk - tst w0, 65535 - bne .L1269 - mov w1, w21 - mov x0, x19 - bl printf - ldr x0, [x22, #:lo12:.LANCHOR7] - add x21, x0, x21, uxth 2 - ldrb w0, [x21, 2] - orr w0, w0, -32 - strb w0, [x21, 2] - b .L1268 -.L1269: - ldr x0, [x14] - adrp x1, .LANCHOR136 - mov w2, 1 - mov w19, 0 - add x0, x0, 416 - str w2, [x1, #:lo12:.LANCHOR136] - mov w1, 65535 - strh wzr, [x0, 274] -.L1271: - ldrh w2, [x0] - cmp w2, w1 - beq .L1270 - add w19, w19, 1 - add x0, x0, 2 - and w19, w19, 65535 - cmp w19, 128 - bne .L1271 - adrp x1, .LANCHOR137 - adrp x0, .LC0 - mov w2, 264 - add x1, x1, :lo12:.LANCHOR137 - add x0, x0, :lo12:.LC0 - bl printf -.L1270: - ldr x0, [x20, #:lo12:.LANCHOR110] - add x19, x0, x19, sxtw 1 - ldrh w1, [x0, 688] - strh w21, [x19, 416] - add w1, w1, 1 - strh w1, [x0, 688] -.L1267: - ldr x1, [x20, #:lo12:.LANCHOR110] - ldrh w0, [x1, 690] - add x0, x0, 336 - ldrh w19, [x1, x0, lsl 1] - mov w0, 65533 - sub w1, w19, #1 - cmp w0, w1, uxth - bcs .L1273 - adrp x1, .LANCHOR137 - adrp x0, .LC0 - mov w2, 270 - add x1, x1, :lo12:.LANCHOR137 - add x0, x0, :lo12:.LC0 - bl printf -.L1273: - adrp x1, .LANCHOR32 - mov w2, 24 - ldr x0, [x20, #:lo12:.LANCHOR110] - ldrb w1, [x1, #:lo12:.LANCHOR32] - sub w2, w2, w1 - adrp x1, .LANCHOR75 - strh wzr, [x0, 696] - ldrh w1, [x1, #:lo12:.LANCHOR75] - strh w19, [x0, 692] - sub w2, w2, w1 - asr w4, w19, w2 - strh w4, [x0, 694] - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L1276 - mov w0, 1 - and w4, w4, 65535 - lsl w2, w0, w2 - mov w3, w19 - adrp x0, .LC83 - sub w2, w2, #1 - mov w1, w19 - add x0, x0, :lo12:.LC83 - bl printf -.L1276: - mov w0, 0 - ldr x23, [sp, 48] - ldp x19, x20, [sp, 16] - ldp x21, x22, [sp, 32] - ldp x29, x30, [sp], 64 - ret - .size pm_alloc_new_blk, .-pm_alloc_new_blk .section .text.pm_select_ram_region,"ax",@progbits .align 2 .global pm_select_ram_region .type pm_select_ram_region, %function pm_select_ram_region: stp x29, x30, [sp, -32]! - adrp x0, .LANCHOR138 - add x0, x0, :lo12:.LANCHOR138 + adrp x0, .LANCHOR135 + add x0, x0, :lo12:.LANCHOR135 mov x1, 0 add x29, sp, 0 mov w2, 65535 str x19, [sp, 16] -.L1285: +.L1247: lsl x3, x1, 4 and w19, w1, 65535 ldrh w3, [x3, x0] cmp w3, w2 - beq .L1284 + beq .L1246 add x1, x1, 1 cmp x1, 8 - bne .L1285 + bne .L1247 add x0, x0, 2 mov w19, w1 mov x2, x0 mov w4, 32768 mov w1, 0 -.L1287: +.L1249: ldrh w3, [x2] - tbnz x3, 15, .L1286 + tbnz x3, 15, .L1248 cmp w3, w4 - bcs .L1286 + bcs .L1248 mov w4, w3 mov w19, w1 -.L1286: +.L1248: add w1, w1, 1 add x2, x2, 16 and w1, w1, 65535 cmp w1, 8 - bne .L1287 + bne .L1249 cmp w19, 8 - bne .L1284 - adrp x1, .LANCHOR139 + bne .L1246 + adrp x1, .LANCHOR136 mov w2, -1 - ldrb w3, [x1, #:lo12:.LANCHOR139] + ldrb w3, [x1, #:lo12:.LANCHOR136] mov w1, 0 -.L1289: +.L1251: ldrh w5, [x0] cmp w5, w2 - bcs .L1288 + bcs .L1250 ldrh w4, [x0, -2] cmp w4, w3 csel w2, w2, w5, eq csel w19, w19, w1, eq -.L1288: +.L1250: add w1, w1, 1 add x0, x0, 16 and w1, w1, 65535 cmp w1, 8 - bne .L1289 + bne .L1251 cmp w19, 8 - bne .L1284 - adrp x1, .LANCHOR140 + bne .L1246 + adrp x1, .LANCHOR137 adrp x0, .LC0 mov w2, 377 - add x1, x1, :lo12:.LANCHOR140 + add x1, x1, :lo12:.LANCHOR137 add x0, x0, :lo12:.LC0 bl printf -.L1284: +.L1246: mov w0, w19 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 @@ -7819,14 +7710,14 @@ pm_select_ram_region: .global idb_init .type idb_init, %function idb_init: + adrp x0, .LANCHOR138 + str xzr, [x0, #:lo12:.LANCHOR138] + adrp x0, .LANCHOR139 + str wzr, [x0, #:lo12:.LANCHOR139] + adrp x0, .LANCHOR140 + strb wzr, [x0, #:lo12:.LANCHOR140] adrp x0, .LANCHOR141 str xzr, [x0, #:lo12:.LANCHOR141] - adrp x0, .LANCHOR142 - str wzr, [x0, #:lo12:.LANCHOR142] - adrp x0, .LANCHOR143 - strb wzr, [x0, #:lo12:.LANCHOR143] - adrp x0, .LANCHOR144 - str xzr, [x0, #:lo12:.LANCHOR144] mov w0, 0 ret .size idb_init, .-idb_init @@ -7844,69 +7735,69 @@ ftl_memset: .type flash_lsb_page_tbl_build, %function flash_lsb_page_tbl_build: stp x29, x30, [sp, -48]! - adrp x1, .LANCHOR16 + adrp x1, .LANCHOR21 add x29, sp, 0 - ldr x1, [x1, #:lo12:.LANCHOR16] + ldr x1, [x1, #:lo12:.LANCHOR21] stp x19, x20, [sp, 16] mov w20, 1024 str x21, [sp, 32] adrp x19, .LANCHOR3 ldrb w1, [x1, 12] sdiv w20, w20, w1 - cbnz w0, .L1297 + cbnz w0, .L1259 add x1, x19, :lo12:.LANCHOR3 mov x0, 0 -.L1298: +.L1260: strh w0, [x1, x0, lsl 1] add x0, x0, 1 cmp x0, 512 - bne .L1298 -.L1304: - adrp x21, .LANCHOR145 - add x21, x21, :lo12:.LANCHOR145 + bne .L1260 +.L1266: + adrp x21, .LANCHOR142 + add x21, x21, :lo12:.LANCHOR142 mov w2, 2048 mov w1, 255 mov x0, x21 add x19, x19, :lo12:.LANCHOR3 bl ftl_memset mov x0, 0 -.L1299: +.L1261: ldrh w1, [x19, x0, lsl 1] add x0, x0, 1 cmp w20, w0, uxth strh w1, [x21, w1, sxtw 1] - bhi .L1299 + bhi .L1261 ldp x19, x20, [sp, 16] ldr x21, [sp, 32] ldp x29, x30, [sp], 48 ret -.L1297: +.L1259: cmp w0, 1 - bne .L1300 + bne .L1262 add x3, x19, :lo12:.LANCHOR3 mov x1, 0 -.L1303: +.L1265: and w0, w1, 65535 cmp x1, 3 - bls .L1301 + bls .L1263 ubfiz w2, w0, 1, 15 and w0, w0, 1 add w0, w0, 2 sub w0, w2, w0 and w0, w0, 65535 -.L1301: +.L1263: strh w0, [x3, x1, lsl 1] add x1, x1, 1 cmp x1, 512 - bne .L1303 - b .L1304 -.L1300: + bne .L1265 + b .L1266 +.L1262: cmp w0, 2 - bne .L1305 + bne .L1267 add x3, x19, :lo12:.LANCHOR3 mov w1, 65535 mov x0, 0 -.L1307: +.L1269: cmp x0, 2 and w2, w0, 65535 csel w2, w2, w1, cc @@ -7915,31 +7806,31 @@ flash_lsb_page_tbl_build: add x0, x0, 1 and w1, w1, 65535 cmp x0, 512 - bne .L1307 - b .L1304 -.L1305: + bne .L1269 + b .L1266 +.L1267: cmp w0, 3 - bne .L1308 + bne .L1270 add x3, x19, :lo12:.LANCHOR3 mov x1, 0 -.L1311: +.L1273: and w0, w1, 65535 cmp x1, 5 - bls .L1309 + bls .L1271 ubfiz w2, w0, 1, 15 and w0, w0, 1 add w0, w0, 4 sub w0, w2, w0 and w0, w0, 65535 -.L1309: +.L1271: strh w0, [x3, x1, lsl 1] add x1, x1, 1 cmp x1, 512 - bne .L1311 - b .L1304 -.L1308: + bne .L1273 + b .L1266 +.L1270: cmp w0, 4 - bne .L1312 + bne .L1274 add x1, x19, :lo12:.LANCHOR3 mov w2, 1 add x1, x1, 16 @@ -7957,7 +7848,7 @@ flash_lsb_page_tbl_build: strh w2, [x1, -10] strh w0, [x1, -2] mov w0, 8 -.L1314: +.L1276: and w3, w0, 1 ubfiz w2, w0, 1, 15 add w3, w3, 6 @@ -7966,40 +7857,40 @@ flash_lsb_page_tbl_build: strh w2, [x1], 2 and w0, w0, 65535 cmp w0, 512 - bne .L1314 - b .L1304 -.L1312: + bne .L1276 + b .L1266 +.L1274: cmp w0, 5 - bne .L1315 + bne .L1277 add x1, x19, :lo12:.LANCHOR3 mov x0, 0 -.L1316: +.L1278: strh w0, [x1, x0, lsl 1] add x0, x0, 1 cmp x0, 16 - bne .L1316 + bne .L1278 add x1, x1, 32 -.L1317: +.L1279: strh w0, [x1], 2 add w0, w0, 2 and w0, w0, 65535 cmp w0, 1008 - bne .L1317 - b .L1304 -.L1315: + bne .L1279 + b .L1266 +.L1277: cmp w0, 8 - bne .L1318 + bne .L1280 add x1, x19, :lo12:.LANCHOR3 mov x0, 0 -.L1319: +.L1281: strh w0, [x0, x1] add x0, x0, 2 cmp x0, 1024 - bne .L1319 - b .L1304 -.L1318: + bne .L1281 + b .L1266 +.L1280: cmp w0, 9 - bne .L1320 + bne .L1282 add x0, x19, :lo12:.LANCHOR3 mov w1, 1 add x0, x0, 6 @@ -8008,43 +7899,43 @@ flash_lsb_page_tbl_build: mov w1, 2 strh w1, [x0, -2] mov w1, 3 -.L1321: +.L1283: strh w1, [x0], 2 add w1, w1, 2 and w1, w1, 65535 cmp w1, 1021 - bne .L1321 - b .L1304 -.L1320: + bne .L1283 + b .L1266 +.L1282: cmp w0, 10 - bne .L1322 + bne .L1284 add x1, x19, :lo12:.LANCHOR3 mov x0, 0 -.L1323: +.L1285: strh w0, [x1, x0, lsl 1] add x0, x0, 1 cmp x0, 63 - bne .L1323 + bne .L1285 add x1, x1, 126 -.L1324: +.L1286: strh w0, [x1], 2 add w0, w0, 2 and w0, w0, 65535 cmp w0, 961 - bne .L1324 - b .L1304 -.L1322: + bne .L1286 + b .L1266 +.L1284: cmp w0, 11 - bne .L1325 + bne .L1287 add x1, x19, :lo12:.LANCHOR3 mov x0, 0 -.L1326: +.L1288: strh w0, [x1, x0, lsl 1] add x0, x0, 1 cmp x0, 8 - bne .L1326 + bne .L1288 add x1, x1, 16 -.L1328: +.L1290: and w3, w0, 1 ubfiz w2, w0, 1, 15 add w3, w3, 6 @@ -8053,161 +7944,167 @@ flash_lsb_page_tbl_build: strh w2, [x1], 2 and w0, w0, 65535 cmp w0, 512 - bne .L1328 - b .L1304 -.L1325: + bne .L1290 + b .L1266 +.L1287: cmp w0, 13 - bne .L1304 + bne .L1266 add x2, x19, :lo12:.LANCHOR3 mov x1, 0 mov w0, 0 -.L1329: +.L1291: strh w0, [x1, x2] add w0, w0, 3 and w0, w0, 65535 add x1, x1, 2 cmp w0, 1536 - bne .L1329 - b .L1304 + bne .L1291 + b .L1266 .size flash_lsb_page_tbl_build, .-flash_lsb_page_tbl_build .section .text.flash_die_info_init,"ax",@progbits .align 2 .global flash_die_info_init .type flash_die_info_init, %function flash_die_info_init: - stp x29, x30, [sp, -64]! - adrp x0, .LANCHOR14 + stp x29, x30, [sp, -128]! + adrp x0, .LANCHOR19 add x29, sp, 0 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] - tbz x0, 12, .L1352 - adrp x1, .LANCHOR146 + stp x25, x26, [sp, 64] + stp x27, x28, [sp, 80] + tbz x0, 12, .L1314 + adrp x1, .LANCHOR143 adrp x0, .LC1 - add x1, x1, :lo12:.LANCHOR146 + add x1, x1, :lo12:.LANCHOR143 add x0, x0, :lo12:.LC1 bl printf -.L1352: - adrp x22, .LANCHOR33 - add x19, x22, :lo12:.LANCHOR33 - adrp x23, .LANCHOR2 - adrp x24, .LANCHOR18 - adrp x21, .LANCHOR30 +.L1314: + adrp x19, .LANCHOR32 + add x23, x19, :lo12:.LANCHOR32 + adrp x25, .LANCHOR2 + adrp x20, .LANCHOR23 mov w2, 8 - ldrh w0, [x19, 26] - adrp x20, .LANCHOR148 - ldrb w1, [x19, 12] - strh w0, [x23, #:lo12:.LANCHOR2] - ldrh w0, [x19, 10] - strb wzr, [x24, #:lo12:.LANCHOR18] + adrp x22, .LANCHOR29 + ldrh w0, [x23, 26] + adrp x21, .LANCHOR145 + ldrb w1, [x23, 12] + adrp x26, .LANCHOR33 + strh w0, [x25, #:lo12:.LANCHOR2] + adrp x24, .LANCHOR47 + ldrh w0, [x23, 10] + add x26, x26, :lo12:.LANCHOR33 + strb wzr, [x20, #:lo12:.LANCHOR23] + add x27, x24, :lo12:.LANCHOR47 + mov x28, 0 sdiv w0, w0, w1 - adrp x1, .LANCHOR147 - strh w0, [x1, #:lo12:.LANCHOR147] + adrp x1, .LANCHOR144 + strh w0, [x1, #:lo12:.LANCHOR144] mov w1, 0 - add x0, x21, :lo12:.LANCHOR30 + add x0, x22, :lo12:.LANCHOR29 bl ftl_memset - add x0, x20, :lo12:.LANCHOR148 mov w2, 32 mov w1, 0 + add x0, x21, :lo12:.LANCHOR145 bl ftl_memset - mov x8, x22 - mov x15, x21 - mov x11, x20 - adrp x14, .LANCHOR48 - adrp x20, .LANCHOR34 - add x21, x14, :lo12:.LANCHOR48 - add x20, x20, :lo12:.LANCHOR34 - add x22, x19, 1 - mov x12, 0 -.L1355: - ldrb w2, [x19] - lsl x7, x12, 3 + add x0, x23, 1 + str x0, [x29, 120] +.L1317: mov w0, 2 - strb w0, [x12, x20] - add x1, x21, x7 - mov x0, x22 + ldrb w2, [x23] + strb w0, [x28, x26] + lsl x7, x28, 3 + ldr x0, [x29, 120] + add x1, x27, x7 bl flash_mem_cmp8 - cbnz w0, .L1353 - ldrb w2, [x24, #:lo12:.LANCHOR18] - add x1, x11, :lo12:.LANCHOR148 - and w5, w12, 255 - add w0, w2, 1 - strb w0, [x24, #:lo12:.LANCHOR18] - add x0, x15, :lo12:.LANCHOR30 - str wzr, [x1, x2, lsl 2] - strb w5, [x0, x2] - ldrb w0, [x7, x21] + cbnz w0, .L1315 + ldrb w4, [x20, #:lo12:.LANCHOR23] + add x1, x21, :lo12:.LANCHOR145 + and w2, w28, 255 + add w0, w4, 1 + strb w0, [x20, #:lo12:.LANCHOR23] + add x0, x22, :lo12:.LANCHOR29 + str wzr, [x1, x4, lsl 2] + strb w2, [x0, x4] + ldrb w0, [x7, x27] cmp w0, 173 - bne .L1354 - adrp x0, .LANCHOR13 - ldr x4, [x0, #:lo12:.LANCHOR13] + bne .L1316 + adrp x0, .LANCHOR7 + str w2, [x29, 108] + ldr x1, [x0, #:lo12:.LANCHOR7] mov w0, 191 - add x4, x4, x12, lsl 8 - str w0, [x4, 2056] + add x1, x1, x28, lsl 8 + str x1, [x29, 112] + str w0, [x1, 2056] bl nandc_wait_flash_ready + ldr x1, [x29, 112] mov w0, 223 - str w0, [x4, 2056] + str w0, [x1, 2056] bl nandc_wait_flash_ready -.L1354: - mov w0, w5 + ldr w2, [x29, 108] +.L1316: + mov w0, w2 bl zftl_flash_enter_slc_mode -.L1353: - add x12, x12, 1 - cmp x12, 4 - bne .L1355 - add x0, x8, :lo12:.LANCHOR33 +.L1315: + add x28, x28, 1 + cmp x28, 4 + bne .L1317 + add x0, x19, :lo12:.LANCHOR32 ldrb w1, [x0, 8] cmp w1, 2 - beq .L1356 -.L1360: - add x8, x8, :lo12:.LANCHOR33 - ldrb w0, [x24, #:lo12:.LANCHOR18] - ldp x19, x20, [sp, 16] - ldrb w1, [x8, 13] + beq .L1318 +.L1322: + add x19, x19, :lo12:.LANCHOR32 + ldrb w0, [x20, #:lo12:.LANCHOR23] ldp x21, x22, [sp, 32] + ldrb w1, [x19, 13] ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] mul w0, w0, w1 - ldrh w1, [x8, 14] - ldp x29, x30, [sp], 64 + ldrh w1, [x19, 14] + ldp x27, x28, [sp, 80] + ldp x19, x20, [sp, 16] mul w0, w0, w1 - adrp x1, .LANCHOR149 - strh w0, [x1, #:lo12:.LANCHOR149] + adrp x1, .LANCHOR146 + strh w0, [x1, #:lo12:.LANCHOR146] + ldp x29, x30, [sp], 128 ret -.L1356: - ldrh w1, [x23, #:lo12:.LANCHOR2] - add x14, x14, :lo12:.LANCHOR48 - ldrb w12, [x0, 13] +.L1318: + ldrh w1, [x25, #:lo12:.LANCHOR2] + add x24, x24, :lo12:.LANCHOR47 + ldrb w8, [x0, 13] add x7, x0, 1 - ldrb w20, [x8, #:lo12:.LANCHOR33] - add x19, x24, :lo12:.LANCHOR18 - ldrb w21, [x0, 23] - add x11, x11, :lo12:.LANCHOR148 - add x15, x15, :lo12:.LANCHOR30 - mov x13, 0 - mul w12, w12, w1 + ldrb w12, [x19, #:lo12:.LANCHOR32] + add x11, x20, :lo12:.LANCHOR23 + ldrb w13, [x0, 23] + add x21, x21, :lo12:.LANCHOR145 + add x22, x22, :lo12:.LANCHOR29 + mov x10, 0 + mul w8, w8, w1 ldrh w1, [x0, 14] and w1, w1, 65280 - mul w12, w12, w1 - lsl w22, w12, 1 -.L1359: - mov w2, w20 - add x1, x14, x13, lsl 3 + mul w8, w8, w1 + lsl w14, w8, 1 +.L1321: + mov w2, w12 + add x1, x24, x10, lsl 3 mov x0, x7 bl flash_mem_cmp8 - cbnz w0, .L1357 - ldrb w1, [x19] - cmp w21, 0 - csel w2, w12, w22, eq + cbnz w0, .L1319 + ldrb w1, [x11] + cmp w13, 0 + csel w2, w8, w14, eq add w0, w1, 1 - strb w0, [x19] - str w2, [x11, x1, lsl 2] - strb w13, [x15, x1] -.L1357: - add x13, x13, 1 - cmp x13, 4 - bne .L1359 - b .L1360 + strb w0, [x11] + str w2, [x21, x1, lsl 2] + strb w10, [x22, x1] +.L1319: + add x10, x10, 1 + cmp x10, 4 + bne .L1321 + b .L1322 .size flash_die_info_init, .-flash_die_info_init .section .text.lpa_hash_init,"ax",@progbits .align 2 @@ -8221,12 +8118,12 @@ lpa_hash_init: add x29, sp, 0 add x0, x0, :lo12:.LANCHOR116 bl ftl_memset - adrp x0, .LANCHOR95 + adrp x0, .LANCHOR94 mov w1, 255 ldp x29, x30, [sp], 16 - ldrh w2, [x0, #:lo12:.LANCHOR95] - adrp x0, .LANCHOR80 - ldrb w0, [x0, #:lo12:.LANCHOR80] + ldrh w2, [x0, #:lo12:.LANCHOR94] + adrp x0, .LANCHOR79 + ldrb w0, [x0, #:lo12:.LANCHOR79] mul w2, w2, w0 adrp x0, .LANCHOR118 ldr x0, [x0, #:lo12:.LANCHOR118] @@ -8239,64 +8136,64 @@ lpa_hash_init: .type lpa_rebuild_hash, %function lpa_rebuild_hash: stp x29, x30, [sp, -48]! - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR19 add x29, sp, 0 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] - tbz x0, 12, .L1373 - adrp x1, .LANCHOR150 - adrp x0, .LC84 + tbz x0, 12, .L1335 + adrp x1, .LANCHOR147 + adrp x0, .LC81 mov w3, 0 mov w2, 239 - add x1, x1, :lo12:.LANCHOR150 - add x0, x0, :lo12:.LC84 + add x1, x1, :lo12:.LANCHOR147 + add x0, x0, :lo12:.LC81 bl printf -.L1373: - adrp x20, .LANCHOR95 - adrp x22, .LANCHOR80 +.L1335: + adrp x20, .LANCHOR94 + adrp x22, .LANCHOR79 adrp x19, .LANCHOR116 add x19, x19, :lo12:.LANCHOR116 mov w2, 512 mov w1, 255 mov x0, x19 bl ftl_memset - ldrh w2, [x20, #:lo12:.LANCHOR95] + ldrh w2, [x20, #:lo12:.LANCHOR94] adrp x21, .LANCHOR118 - ldrb w0, [x22, #:lo12:.LANCHOR80] + ldrb w0, [x22, #:lo12:.LANCHOR79] mov w1, 255 - add x20, x20, :lo12:.LANCHOR95 + add x20, x20, :lo12:.LANCHOR94 mul w2, w2, w0 ldr x0, [x21, #:lo12:.LANCHOR118] lsl w2, w2, 2 bl ftl_memset adrp x0, .LANCHOR117 - ldrb w3, [x22, #:lo12:.LANCHOR80] + ldrb w3, [x22, #:lo12:.LANCHOR79] ldr x5, [x21, #:lo12:.LANCHOR118] mov w1, 0 ldr x4, [x0, #:lo12:.LANCHOR117] -.L1374: +.L1336: ldrh w0, [x20] mul w0, w0, w3 cmp w1, w0, lsl 1 - blt .L1376 + blt .L1338 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 48 ret -.L1376: +.L1338: uxtw x2, w1 ldr w0, [x4, x2, lsl 2] cmn w0, #1 - beq .L1375 + beq .L1337 and x0, x0, 255 ldrh w6, [x19, x0, lsl 1] strh w1, [x19, x0, lsl 1] strh w6, [x5, x2, lsl 1] -.L1375: +.L1337: add w1, w1, 1 and w1, w1, 65535 - b .L1374 + b .L1336 .size lpa_rebuild_hash, .-lpa_rebuild_hash .section .text.zftl_read_flash_info,"ax",@progbits .align 2 @@ -8310,10 +8207,10 @@ zftl_read_flash_info: str x19, [sp, 16] mov x19, x0 bl ftl_memset - adrp x1, .LANCHOR33 - add x1, x1, :lo12:.LANCHOR33 + adrp x1, .LANCHOR32 + add x1, x1, :lo12:.LANCHOR32 adrp x0, .LANCHOR2 - adrp x3, .LANCHOR68 + adrp x3, .LANCHOR67 strb wzr, [x19, 10] mov w4, 1 ldrb w2, [x1, 9] @@ -8322,11 +8219,11 @@ zftl_read_flash_info: strb w0, [x19, 4] ubfx x0, x0, 8, 8 strb w0, [x19, 5] - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] strb w0, [x19, 7] - add x0, x3, :lo12:.LANCHOR68 - ldrb w3, [x3, #:lo12:.LANCHOR68] + add x0, x3, :lo12:.LANCHOR67 + ldrb w3, [x3, #:lo12:.LANCHOR67] strb w3, [x19] ldrb w3, [x0, 1] strb w3, [x19, 1] @@ -8336,28 +8233,28 @@ zftl_read_flash_info: strb w0, [x19, 3] mov w0, 32 strb w2, [x19, 6] - adrp x2, .LANCHOR30 + adrp x2, .LANCHOR29 strb w0, [x19, 8] - add x2, x2, :lo12:.LANCHOR30 + add x2, x2, :lo12:.LANCHOR29 ldrb w0, [x1, 7] mov x1, 0 strb w0, [x19, 9] - adrp x0, .LANCHOR18 - ldrb w3, [x0, #:lo12:.LANCHOR18] -.L1385: + adrp x0, .LANCHOR23 + ldrb w3, [x0, #:lo12:.LANCHOR23] +.L1347: cmp w3, w1, uxtb - bhi .L1386 + bhi .L1348 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 ret -.L1386: +.L1348: ldrb w0, [x1, x2] add x1, x1, 1 ldrb w5, [x19, 10] lsl w0, w4, w0 orr w0, w0, w5 strb w0, [x19, 10] - b .L1385 + b .L1347 .size zftl_read_flash_info, .-zftl_read_flash_info .section .text.gc_static_wearleveling,"ax",@progbits .align 2 @@ -8376,78 +8273,78 @@ gc_static_wearleveling: ldr w1, [x0, 32] mov w0, 10240 cmp w1, w0 - bls .L1389 + bls .L1351 bl ftl_tmp_into_update -.L1389: - adrp x19, .LANCHOR10 +.L1351: + adrp x19, .LANCHOR12 mov w3, 36000 - ldr x0, [x19, #:lo12:.LANCHOR10] + ldr x0, [x19, #:lo12:.LANCHOR12] ldr w1, [x0, 568] ldr w2, [x0, 12] add w3, w1, w3 cmp w2, w3 - bcs .L1390 + bcs .L1352 ldr x4, [x22, #:lo12:.LANCHOR110] ldr w3, [x0, 572] add w3, w3, 256 ldr w4, [x4, 36] cmp w4, w3 - bcc .L1442 -.L1390: + bcc .L1404 +.L1352: add w1, w1, 860160 add w1, w1, 3840 cmp w2, w1 - bhi .L1392 + bhi .L1354 ldr x3, [x22, #:lo12:.LANCHOR110] ldr w1, [x0, 572] add w1, w1, 32 ldr w3, [x3, 36] cmp w3, w1 - bls .L1443 -.L1392: + bls .L1405 +.L1354: ldr x1, [x22, #:lo12:.LANCHOR110] mov w20, 65535 - adrp x8, .LANCHOR14 + adrp x8, .LANCHOR19 mov w21, w20 - add x8, x8, :lo12:.LANCHOR14 + add x8, x8, :lo12:.LANCHOR19 mov w27, 0 mov w25, 0 mov w26, 0 ldr w3, [x1, 36] mov w23, 0 ldrh w28, [x1, 134] - adrp x24, .LANCHOR7 + adrp x24, .LANCHOR9 str w2, [x0, 568] str w3, [x0, 572] - adrp x0, .LANCHOR6 - add x10, x0, :lo12:.LANCHOR6 + adrp x0, .LANCHOR8 + add x10, x0, :lo12:.LANCHOR8 str wzr, [x29, 128] str wzr, [x29, 136] stp wzr, wzr, [x29, 144] -.L1394: +.L1356: ldrh w0, [x10] cmp w0, w28 - bhi .L1403 - ldr x0, [x19, #:lo12:.LANCHOR10] + bhi .L1365 + ldr x0, [x19, #:lo12:.LANCHOR12] mov w2, 128 mov w1, 255 add x0, x0, 264 strh wzr, [x0, -142] bl ftl_memset - ldr x0, [x19, #:lo12:.LANCHOR10] - adrp x2, .LANCHOR14 - ldr x8, [x24, #:lo12:.LANCHOR7] - ldr w3, [x2, #:lo12:.LANCHOR14] + ldr x0, [x19, #:lo12:.LANCHOR12] + adrp x2, .LANCHOR19 + ldr x8, [x24, #:lo12:.LANCHOR9] + ldr w3, [x2, #:lo12:.LANCHOR19] str x2, [x29, 152] ldrh w0, [x0, 586] mov x1, x0 lsl x28, x0, 2 add x10, x8, x28 - tbz x3, 10, .L1404 - adrp x2, .LANCHOR9 + tbz x3, 10, .L1366 + adrp x2, .LANCHOR11 ldrb w6, [x10, 3] ldrb w4, [x10, 2] - ldr x5, [x2, #:lo12:.LANCHOR9] + ldr x5, [x2, #:lo12:.LANCHOR11] ldr w3, [x8, x28] ldrh w2, [x8, x28] stp x8, x10, [x29, 112] @@ -8456,59 +8353,59 @@ gc_static_wearleveling: ubfx x5, x4, 5, 3 and w2, w2, 2047 ubfx x4, x4, 3, 2 - adrp x0, .LC86 - add x0, x0, :lo12:.LC86 + adrp x0, .LC83 + add x0, x0, :lo12:.LC83 bl printf ldp x8, x10, [x29, 112] -.L1404: +.L1366: ldrb w0, [x10, 2] and w3, w0, 224 cmp w3, 32 - bne .L1405 + bne .L1367 ldr x1, [x22, #:lo12:.LANCHOR110] ldrh w1, [x1, 688] cmp w1, 2 - bls .L1405 - adrp x1, .LANCHOR151 + bls .L1367 + adrp x1, .LANCHOR148 mov w2, 1 - str w2, [x1, #:lo12:.LANCHOR151] -.L1405: + str w2, [x1, #:lo12:.LANCHOR148] +.L1367: ldrb w1, [x10, 2] - tbz x1, 3, .L1406 + tbz x1, 3, .L1368 ldr x1, [x22, #:lo12:.LANCHOR110] ldrh w2, [x8, x28] and w2, w2, 2047 ldrh w4, [x1, 96] - adrp x1, .LANCHOR152 - ldrh w1, [x1, #:lo12:.LANCHOR152] + adrp x1, .LANCHOR149 + ldrh w1, [x1, #:lo12:.LANCHOR149] add w1, w2, w1, lsr 2 cmp w4, w1 - ble .L1406 + ble .L1368 and w0, w0, 192 cmp w0, 64 - bne .L1407 - ldr x0, [x19, #:lo12:.LANCHOR10] + bne .L1369 + ldr x0, [x19, #:lo12:.LANCHOR12] mov w1, 0 mov w2, 1 ldrh w0, [x0, 586] bl gc_add_sblk - adrp x0, .LANCHOR71+2110 + adrp x0, .LANCHOR70+2192 mov w1, 1 - strh w1, [x0, #:lo12:.LANCHOR71+2110] -.L1406: - ldr x0, [x19, #:lo12:.LANCHOR10] + strh w1, [x0, #:lo12:.LANCHOR70+2192] +.L1368: + ldr x0, [x19, #:lo12:.LANCHOR12] ldr x2, [x29, 152] - ldr x11, [x24, #:lo12:.LANCHOR7] + ldr x11, [x24, #:lo12:.LANCHOR9] ldrh w0, [x0, 584] - ldr w2, [x2, #:lo12:.LANCHOR14] + ldr w2, [x2, #:lo12:.LANCHOR19] mov x1, x0 lsl x10, x0, 2 add x28, x11, x10 - tbz x2, 10, .L1408 - adrp x2, .LANCHOR9 + tbz x2, 10, .L1370 + adrp x2, .LANCHOR11 ldrb w6, [x28, 3] ldrb w4, [x28, 2] - ldr x5, [x2, #:lo12:.LANCHOR9] + ldr x5, [x2, #:lo12:.LANCHOR11] ldr w3, [x11, x10] ldrh w2, [x11, x10] stp x10, x11, [x29, 112] @@ -8517,43 +8414,43 @@ gc_static_wearleveling: ubfx x5, x4, 5, 3 and w2, w2, 2047 ubfx x4, x4, 3, 2 - adrp x0, .LC87 - add x0, x0, :lo12:.LC87 + adrp x0, .LC84 + add x0, x0, :lo12:.LC84 bl printf ldp x10, x11, [x29, 112] -.L1408: +.L1370: ldrb w0, [x28, 2] - tbz x0, 3, .L1409 + tbz x0, 3, .L1371 ldr x0, [x22, #:lo12:.LANCHOR110] ldr w1, [x11, x10] ldrh w2, [x0, 98] - adrp x0, .LANCHOR153 + adrp x0, .LANCHOR150 ubfx x1, x1, 11, 8 - ldrh w0, [x0, #:lo12:.LANCHOR153] + ldrh w0, [x0, #:lo12:.LANCHOR150] add w0, w1, w0, lsr 2 cmp w2, w0 - ble .L1409 + ble .L1371 ldrb w0, [x28, 2] and w1, w0, 192 cmp w1, 64 - bne .L1410 - ldr x0, [x19, #:lo12:.LANCHOR10] + bne .L1372 + ldr x0, [x19, #:lo12:.LANCHOR12] mov w1, 0 mov w2, 1 ldrh w0, [x0, 584] bl gc_add_sblk - adrp x0, .LANCHOR71+2110 + adrp x0, .LANCHOR70+2192 mov w1, 1 - strh w1, [x0, #:lo12:.LANCHOR71+2110] -.L1409: + strh w1, [x0, #:lo12:.LANCHOR70+2192] +.L1371: ldr x0, [x29, 152] - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 10, .L1411 - adrp x2, .LANCHOR9 - ldr x1, [x24, #:lo12:.LANCHOR7] + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 10, .L1373 + adrp x2, .LANCHOR11 + ldr x1, [x24, #:lo12:.LANCHOR9] uxtw x6, w27 lsl x0, x6, 2 - ldr x7, [x2, #:lo12:.LANCHOR9] + ldr x7, [x2, #:lo12:.LANCHOR11] add x5, x1, x0 ldr w3, [x1, x0] ldrh w7, [x7, x6, lsl 1] @@ -8561,28 +8458,28 @@ gc_static_wearleveling: ldrb w4, [x5, 2] ubfx x3, x3, 11, 8 ldrh w2, [x1, x0] - adrp x0, .LC88 + adrp x0, .LC85 mov w1, w27 - add x0, x0, :lo12:.LC88 + add x0, x0, :lo12:.LC85 ubfx x5, x4, 5, 3 and w2, w2, 2047 ubfx x4, x4, 3, 2 bl printf -.L1411: +.L1373: ldr x0, [x29, 152] - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 10, .L1412 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 10, .L1374 ldr w6, [x29, 128] - adrp x2, .LANCHOR9 - ldr x1, [x24, #:lo12:.LANCHOR7] - ldr x7, [x2, #:lo12:.LANCHOR9] + adrp x2, .LANCHOR11 + ldr x1, [x24, #:lo12:.LANCHOR9] + ldr x7, [x2, #:lo12:.LANCHOR11] lsl x0, x6, 2 add x5, x1, x0 ldr w3, [x1, x0] ldrh w2, [x1, x0] - adrp x0, .LC89 + adrp x0, .LC86 ldrh w7, [x7, x6, lsl 1] - add x0, x0, :lo12:.LC89 + add x0, x0, :lo12:.LC86 ldrb w6, [x5, 3] ubfx x3, x3, 11, 8 ldr w1, [x29, 128] @@ -8591,7 +8488,7 @@ gc_static_wearleveling: ubfx x5, x4, 5, 3 ubfx x4, x4, 3, 2 bl printf -.L1412: +.L1374: ldr x0, [x22, #:lo12:.LANCHOR110] ldrh w1, [x29, 148] strh w1, [x0, 96] @@ -8605,128 +8502,129 @@ gc_static_wearleveling: strh w3, [x0, 88] strh w4, [x0, 90] ldr x0, [x29, 152] - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 10, .L1413 - adrp x0, .LC90 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 10, .L1375 + adrp x0, .LC87 and w4, w4, 65535 and w3, w3, 65535 mov w2, w25 mov w1, w26 - add x0, x0, :lo12:.LC90 + add x0, x0, :lo12:.LC87 bl printf -.L1413: +.L1375: ldr x0, [x29, 152] - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 10, .L1414 - adrp x0, .LANCHOR153 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 10, .L1376 + adrp x0, .LANCHOR150 ldr w3, [x29, 148] mov w4, w23 mov w2, w21 - ldrh w6, [x0, #:lo12:.LANCHOR153] - adrp x0, .LANCHOR152 + ldrh w6, [x0, #:lo12:.LANCHOR150] + adrp x0, .LANCHOR149 mov w1, w20 - ldrh w5, [x0, #:lo12:.LANCHOR152] - adrp x0, .LC91 - add x0, x0, :lo12:.LC91 + ldrh w5, [x0, #:lo12:.LANCHOR149] + adrp x0, .LC88 + add x0, x0, :lo12:.LC88 bl printf -.L1414: +.L1376: sub w0, w23, w21 str w0, [x29, 144] - adrp x0, .LANCHOR153 + adrp x0, .LANCHOR150 ldr w1, [x29, 144] - ldrh w0, [x0, #:lo12:.LANCHOR153] + ldrh w0, [x0, #:lo12:.LANCHOR150] cmp w1, w0 - bgt .L1415 - adrp x1, .LANCHOR152 + bgt .L1377 + adrp x1, .LANCHOR149 ldr w0, [x29, 148] - ldrh w1, [x1, #:lo12:.LANCHOR152] + ldrh w1, [x1, #:lo12:.LANCHOR149] sub w0, w0, w20 cmp w0, w1 - ble .L1444 -.L1415: - ldr x0, [x19, #:lo12:.LANCHOR10] - adrp x26, .LANCHOR71 - add x26, x26, :lo12:.LANCHOR71 + ble .L1406 +.L1377: + ldr x0, [x19, #:lo12:.LANCHOR12] + adrp x26, .LANCHOR70 + add x26, x26, :lo12:.LANCHOR70 mov w25, 0 mov w23, 0 ldrh w28, [x0, 580] ldr x0, [x22, #:lo12:.LANCHOR110] ldrh w27, [x0, 134] - adrp x0, .LANCHOR6 - add x0, x0, :lo12:.LANCHOR6 + adrp x0, .LANCHOR8 + add x0, x0, :lo12:.LANCHOR8 str x0, [x29, 136] - adrp x0, .LANCHOR152 - add x0, x0, :lo12:.LANCHOR152 + adrp x0, .LANCHOR149 + add x0, x0, :lo12:.LANCHOR149 str x0, [x29, 128] -.L1417: +.L1379: ldr x0, [x29, 136] ldrh w0, [x0] cmp w27, w0 - bcc .L1427 -.L1426: - ldr x0, [x19, #:lo12:.LANCHOR10] + bcc .L1389 +.L1388: + ldr x0, [x19, #:lo12:.LANCHOR12] str w28, [x0, 580] -.L1416: - cbz w21, .L1429 +.L1378: + cbz w21, .L1391 ldr x2, [x22, #:lo12:.LANCHOR110] - adrp x0, .LANCHOR6 - ldrh w5, [x0, #:lo12:.LANCHOR6] - ldr x0, [x24, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR8 + ldrh w5, [x0, #:lo12:.LANCHOR8] + ldr x0, [x24, #:lo12:.LANCHOR9] ldrh w1, [x2, 134] add x0, x0, x1, uxth 2 -.L1430: +.L1392: cmp w1, w5 - bcc .L1432 + bcc .L1394 ldrh w0, [x2, 72] add w0, w21, w0 strh w0, [x2, 72] ldrh w0, [x2, 98] cmp w21, w0 - bcs .L1429 + bcs .L1391 sub w21, w0, w21 strh w21, [x2, 98] -.L1429: - cbz w20, .L1435 +.L1391: + cbz w20, .L1397 ldr x2, [x22, #:lo12:.LANCHOR110] - adrp x0, .LANCHOR6 - ldrh w6, [x0, #:lo12:.LANCHOR6] - ldr x0, [x24, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR8 + ldrh w6, [x0, #:lo12:.LANCHOR8] + ldr x0, [x24, #:lo12:.LANCHOR9] ldrh w1, [x2, 134] add x0, x0, x1, uxth 2 -.L1436: +.L1398: cmp w1, w6 - bcc .L1438 + bcc .L1400 ldrh w0, [x2, 74] add w0, w20, w0 strh w0, [x2, 74] ldrh w0, [x2, 96] cmp w20, w0 - bcs .L1435 + bcs .L1397 sub w20, w0, w20 strh w20, [x2, 96] -.L1435: - mov w1, 5 - mov w0, 0 - bl zftl_get_gc_node +.L1397: + mov w1, 0 + adrp x0, .LANCHOR92 + add x0, x0, :lo12:.LANCHOR92 + bl _list_get_gc_head_node and w1, w0, 65535 mov w2, 65535 cmp w1, w2 - beq .L1393 - adrp x2, .LANCHOR9 + beq .L1355 + adrp x2, .LANCHOR11 ubfiz x1, x1, 1, 16 - ldr x3, [x2, #:lo12:.LANCHOR9] - adrp x2, .LANCHOR95 - ldrh w2, [x2, #:lo12:.LANCHOR95] + ldr x3, [x2, #:lo12:.LANCHOR11] + adrp x2, .LANCHOR94 + ldrh w2, [x2, #:lo12:.LANCHOR94] ldrh w1, [x3, x1] cmp w1, w2, lsr 1 - bhi .L1393 + bhi .L1355 add w23, w23, 1 mov w2, 1 mov w1, 0 bl gc_add_sblk -.L1393: +.L1355: add w0, w23, w25 -.L1388: +.L1350: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -8734,139 +8632,139 @@ gc_static_wearleveling: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 160 ret -.L1403: +.L1365: uxtw x7, w28 - ldr x6, [x24, #:lo12:.LANCHOR7] + ldr x6, [x24, #:lo12:.LANCHOR9] lsl x2, x7, 2 add x11, x6, x2 ldrb w0, [x11, 2] and w1, w0, 224 cmp w1, 224 - beq .L1395 + beq .L1357 ubfx x4, x0, 3, 2 - tbz x4, 0, .L1396 + tbz x4, 0, .L1358 ldr w0, [x6, x2] ldrh w1, [x6, x2] ubfx x0, x0, 11, 8 and w1, w1, 2047 -.L1397: +.L1359: ldr w3, [x29, 136] add w26, w26, 1 and w26, w26, 65535 cmp w20, w1 add w3, w3, w1 str w3, [x29, 136] - bls .L1441 - ldr x3, [x19, #:lo12:.LANCHOR10] + bls .L1403 + ldr x3, [x19, #:lo12:.LANCHOR12] mov w20, w1 strh w28, [x3, 586] -.L1441: +.L1403: ldr w3, [x29, 148] cmp w3, w1 - bcs .L1400 + bcs .L1362 mov w27, w28 str w1, [x29, 148] -.L1400: +.L1362: mov w3, 65535 cmp w0, w3 - bne .L1399 -.L1401: + bne .L1361 +.L1363: cmp w0, 9 ccmp w1, 9, 0, hi - bhi .L1395 + bhi .L1357 ldr w0, [x8] - tbz x0, 8, .L1395 - adrp x0, .LANCHOR9 + tbz x0, 8, .L1357 + adrp x0, .LANCHOR11 ldr w3, [x6, x2] ldrh w2, [x6, x2] mov w1, w28 - ldr x0, [x0, #:lo12:.LANCHOR9] + ldr x0, [x0, #:lo12:.LANCHOR11] ldrb w6, [x11, 3] ubfx x3, x3, 11, 8 ldrb w5, [x11, 2] and w2, w2, 2047 str x8, [x29, 120] ldrh w7, [x0, x7, lsl 1] - adrp x0, .LC85 + adrp x0, .LC82 str x10, [x29, 152] ubfx x5, x5, 5, 3 - add x0, x0, :lo12:.LC85 + add x0, x0, :lo12:.LC82 bl printf ldr x8, [x29, 120] ldr x10, [x29, 152] -.L1395: +.L1357: add w28, w28, 1 and w28, w28, 65535 - b .L1394 -.L1396: + b .L1356 +.L1358: tst w0, 24 - bne .L1398 + bne .L1360 ldrh w1, [x6, x2] mov w0, 65535 and w1, w1, 2047 - b .L1397 -.L1398: + b .L1359 +.L1360: ldr w0, [x6, x2] mov w1, 65535 ubfx x0, x0, 11, 8 -.L1399: +.L1361: ldr w3, [x29, 144] add w25, w25, 1 and w25, w25, 65535 cmp w21, w0 add w3, w3, w0 str w3, [x29, 144] - bls .L1402 - ldr x3, [x19, #:lo12:.LANCHOR10] + bls .L1364 + ldr x3, [x19, #:lo12:.LANCHOR12] mov w21, w0 strh w28, [x3, 584] -.L1402: +.L1364: cmp w23, w0 - bcs .L1401 + bcs .L1363 mov w23, w0 str w28, [x29, 128] - b .L1401 -.L1407: - cbnz w3, .L1406 - ldr x1, [x19, #:lo12:.LANCHOR10] + b .L1363 +.L1369: + cbnz w3, .L1368 + ldr x1, [x19, #:lo12:.LANCHOR12] mov w0, 65535 ldrh w2, [x1, 590] cmp w2, w0 - bne .L1406 + bne .L1368 ldrh w0, [x1, 586] ldrh w1, [x1, 588] cmp w1, w0 - beq .L1406 + beq .L1368 bl zftl_remove_free_node - ldr x0, [x19, #:lo12:.LANCHOR10] + ldr x0, [x19, #:lo12:.LANCHOR12] ldrh w1, [x0, 586] strh w1, [x0, 590] mov w1, -1 strh w1, [x0, 586] - b .L1406 -.L1410: + b .L1368 +.L1372: and w0, w0, 248 cmp w0, 16 - bne .L1409 - ldr x1, [x19, #:lo12:.LANCHOR10] + bne .L1371 + ldr x1, [x19, #:lo12:.LANCHOR12] mov w0, 65535 ldrh w2, [x1, 588] cmp w2, w0 - bne .L1409 + bne .L1371 ldrh w0, [x1, 584] ldrh w1, [x1, 590] cmp w1, w0 - beq .L1409 + beq .L1371 bl zftl_remove_free_node - ldr x0, [x19, #:lo12:.LANCHOR10] + ldr x0, [x19, #:lo12:.LANCHOR12] ldrh w1, [x0, 584] strh w1, [x0, 588] mov w1, -1 strh w1, [x0, 584] - b .L1409 -.L1427: + b .L1371 +.L1389: add w7, w28, 1 - ldr x4, [x24, #:lo12:.LANCHOR7] + ldr x4, [x24, #:lo12:.LANCHOR9] and w28, w7, 65535 cmp w0, w28 csel w28, w28, wzr, hi @@ -8875,31 +8773,31 @@ gc_static_wearleveling: add x0, x4, x3 ldrb w0, [x0, 2] tst w0, 192 - beq .L1419 + beq .L1381 and w2, w0, 224 cmp w2, 224 - beq .L1419 + beq .L1381 ubfx x0, x0, 3, 2 and w1, w0, 1 - tbz x0, 0, .L1420 + tbz x0, 0, .L1382 cmp w2, 160 -.L1507: - bne .L1422 - adrp x0, .LANCHOR153 +.L1469: + bne .L1384 + adrp x0, .LANCHOR150 ldr w2, [x29, 144] - ldrh w0, [x0, #:lo12:.LANCHOR153] + ldrh w0, [x0, #:lo12:.LANCHOR150] cmp w2, w0 - ble .L1423 + ble .L1385 ldr w0, [x4, x3] ubfx x0, x0, 11, 8 cmp w0, w21 - bls .L1424 - cbz w1, .L1423 + bls .L1386 + cbz w1, .L1385 ldrh w0, [x4, x3] and w0, w0, 2047 cmp w0, w20 - bgt .L1423 -.L1424: + bgt .L1385 +.L1386: stp x4, x8, [x29, 104] mov w2, 1 str x3, [x29, 120] @@ -8907,60 +8805,60 @@ gc_static_wearleveling: mov w0, w28 bl gc_add_sblk mov w0, 1 - strh w0, [x26, 2110] + strh w0, [x26, 2192] ldr x0, [x29, 152] add w23, w23, 1 ldp x4, x8, [x29, 104] ldr x3, [x29, 120] - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 10, .L1423 - adrp x0, .LANCHOR9 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 10, .L1385 + adrp x0, .LANCHOR11 ldr w6, [x4, x3] ldrh w5, [x4, x3] - ldr x1, [x0, #:lo12:.LANCHOR9] - ldr x0, [x24, #:lo12:.LANCHOR7] + ldr x1, [x0, #:lo12:.LANCHOR11] + ldr x0, [x24, #:lo12:.LANCHOR9] ubfx x6, x6, 11, 8 ldrh w4, [x26, 56] and w5, w5, 2047 add x3, x0, x3 - adrp x0, .LC92 - add x0, x0, :lo12:.LC92 + adrp x0, .LC89 + add x0, x0, :lo12:.LC89 ldrb w2, [x3, 2] ldrh w3, [x1, x8, lsl 1] mov w1, w28 ubfx x2, x2, 5, 3 -.L1508: +.L1470: bl printf -.L1423: +.L1385: cmp w23, 4 ccmp w25, 4, 2, ls - bhi .L1426 -.L1419: + bhi .L1388 +.L1381: add w27, w27, 1 and w27, w27, 65535 - b .L1417 -.L1420: + b .L1379 +.L1382: cmp w0, 2 - b .L1507 -.L1422: + b .L1469 +.L1384: ldr x2, [x29, 128] ldr w0, [x29, 148] sub w0, w0, w20 ldrh w2, [x2] cmp w0, w2 - ble .L1423 + ble .L1385 ldrh w0, [x4, x3] add w2, w20, 8 and w0, w0, 2047 cmp w0, w2 - ble .L1425 - cbz w1, .L1423 + ble .L1387 + cbz w1, .L1385 ldr w0, [x4, x3] add w1, w21, 4 ubfx x0, x0, 11, 8 cmp w0, w1 - bgt .L1423 -.L1425: + bgt .L1385 +.L1387: stp x4, x8, [x29, 104] mov w2, 1 str x3, [x29, 120] @@ -8968,73 +8866,73 @@ gc_static_wearleveling: mov w0, w28 bl gc_add_sblk mov w0, 1 - strh w0, [x26, 2110] + strh w0, [x26, 2192] ldr x0, [x29, 152] add w25, w25, 1 ldp x4, x8, [x29, 104] ldr x3, [x29, 120] - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 10, .L1423 - adrp x0, .LANCHOR9 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 10, .L1385 + adrp x0, .LANCHOR11 ldr w6, [x4, x3] ldrh w5, [x4, x3] - ldr x1, [x0, #:lo12:.LANCHOR9] - ldr x0, [x24, #:lo12:.LANCHOR7] + ldr x1, [x0, #:lo12:.LANCHOR11] + ldr x0, [x24, #:lo12:.LANCHOR9] ubfx x6, x6, 11, 8 and w5, w5, 2047 ldrh w4, [x26, 56] add x3, x0, x3 - adrp x0, .LC93 - add x0, x0, :lo12:.LC93 + adrp x0, .LC90 + add x0, x0, :lo12:.LC90 ldrb w2, [x3, 2] ldrh w3, [x1, x8, lsl 1] mov w1, w28 ubfx x2, x2, 5, 3 - b .L1508 -.L1444: + b .L1470 +.L1406: mov w25, 0 mov w23, 0 - b .L1416 -.L1432: + b .L1378 +.L1394: ldr w3, [x0] ubfx x4, x3, 11, 8 cmp w21, w4 - bhi .L1431 + bhi .L1393 ldrb w6, [x0, 2] tst w6, 24 - beq .L1431 + beq .L1393 sub w4, w4, w21 bfi w3, w4, 11, 8 str w3, [x0] -.L1431: +.L1393: add w1, w1, 1 add x0, x0, 4 and w1, w1, 65535 - b .L1430 -.L1438: + b .L1392 +.L1400: ldrh w3, [x0] and w4, w3, 2047 cmp w4, w20 - blt .L1437 + blt .L1399 ldrb w5, [x0, 2] and w5, w5, 24 cmp w5, 16 - beq .L1437 + beq .L1399 sub w4, w4, w20 bfi w3, w4, 0, 11 strh w3, [x0] -.L1437: +.L1399: add w1, w1, 1 add x0, x0, 4 and w1, w1, 65535 - b .L1436 -.L1443: + b .L1398 +.L1405: mov w25, 0 mov w23, 0 - b .L1393 -.L1442: + b .L1355 +.L1404: mov w0, 0 - b .L1388 + b .L1350 .size gc_static_wearleveling, .-gc_static_wearleveling .section .text.zftl_sblk_list_init,"ax",@progbits .align 2 @@ -9047,15 +8945,15 @@ zftl_sblk_list_init: mov w1, 0 add x29, sp, 0 stp x27, x28, [sp, 80] - adrp x28, .LANCHOR6 + adrp x28, .LANCHOR8 stp x19, x20, [sp, 16] adrp x20, .LANCHOR99 - ldrh w2, [x28, #:lo12:.LANCHOR6] + ldrh w2, [x28, #:lo12:.LANCHOR8] mov w27, 0 stp x21, x22, [sp, 32] adrp x22, .LANCHOR97 stp x23, x24, [sp, 48] - adrp x21, .LANCHOR93 + adrp x21, .LANCHOR91 stp x25, x26, [sp, 64] adrp x26, .LANCHOR110 mul w2, w2, w0 @@ -9067,42 +8965,42 @@ zftl_sblk_list_init: bl ftl_memset strh wzr, [x25, #:lo12:.LANCHOR103] adrp x0, .LANCHOR109 - adrp x3, .LANCHOR80 - adrp x2, .LANCHOR86 + adrp x3, .LANCHOR79 + adrp x2, .LANCHOR85 mov w1, 32 strh w1, [x0, #:lo12:.LANCHOR109] adrp x11, .LANCHOR104 - ldrb w0, [x3, #:lo12:.LANCHOR80] + ldrb w0, [x3, #:lo12:.LANCHOR79] adrp x10, .LANCHOR106 - ldrh w1, [x2, #:lo12:.LANCHOR86] + ldrh w1, [x2, #:lo12:.LANCHOR85] adrp x7, .LANCHOR108 - adrp x6, .LANCHOR89 - adrp x5, .LANCHOR12 - adrp x4, .LANCHOR88 + adrp x6, .LANCHOR90 + adrp x5, .LANCHOR95 + adrp x4, .LANCHOR92 ldr x8, [x29, 192] str xzr, [x11, #:lo12:.LANCHOR104] mul w1, w0, w1 mov w0, 32768 str xzr, [x10, #:lo12:.LANCHOR106] str xzr, [x7, #:lo12:.LANCHOR108] - str xzr, [x6, #:lo12:.LANCHOR89] + str xzr, [x6, #:lo12:.LANCHOR90] sdiv w0, w0, w1 - str xzr, [x5, #:lo12:.LANCHOR12] - str xzr, [x4, #:lo12:.LANCHOR88] + str xzr, [x5, #:lo12:.LANCHOR95] + str xzr, [x4, #:lo12:.LANCHOR92] strh wzr, [x24, #:lo12:.LANCHOR105] strh wzr, [x23, #:lo12:.LANCHOR107] sxth w0, w0 str w0, [x29, 204] ldr x0, [x26, #:lo12:.LANCHOR110] strh wzr, [x22, #:lo12:.LANCHOR97] - strh wzr, [x21, #:lo12:.LANCHOR93] + strh wzr, [x21, #:lo12:.LANCHOR91] strh wzr, [x20, #:lo12:.LANCHOR99] strh wzr, [x0, 146] ldrsh w19, [x0, 134] - add x0, x28, :lo12:.LANCHOR6 + add x0, x28, :lo12:.LANCHOR8 str x0, [x29, 192] - adrp x0, .LANCHOR154 - add x0, x0, :lo12:.LANCHOR154 + adrp x0, .LANCHOR151 + add x0, x0, :lo12:.LANCHOR151 adrp x28, .LC0 str x0, [x29, 112] add x0, x28, :lo12:.LC0 @@ -9112,11 +9010,11 @@ zftl_sblk_list_init: stp x10, x11, [x29, 168] str x8, [x29, 184] str x0, [x29, 104] -.L1510: +.L1472: ldr x0, [x29, 192] ldrh w0, [x0] cmp w19, w0 - blt .L1527 + blt .L1489 ldr x0, [x26, #:lo12:.LANCHOR110] ldrh w1, [x25, #:lo12:.LANCHOR103] ldp x27, x28, [sp, 80] @@ -9127,7 +9025,7 @@ zftl_sblk_list_init: strh w1, [x0, 116] ldrh w1, [x22, #:lo12:.LANCHOR97] strh w1, [x0, 122] - ldrh w1, [x21, #:lo12:.LANCHOR93] + ldrh w1, [x21, #:lo12:.LANCHOR91] strh w1, [x0, 120] ldrh w1, [x20, #:lo12:.LANCHOR99] strh w1, [x0, 124] @@ -9137,29 +9035,29 @@ zftl_sblk_list_init: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 208 ret -.L1527: - adrp x0, .LANCHOR7 +.L1489: + adrp x0, .LANCHOR9 sxtw x2, w19 - ldr x3, [x0, #:lo12:.LANCHOR7] + ldr x3, [x0, #:lo12:.LANCHOR9] add x28, x3, x2, lsl 2 ldrb w5, [x28, 3] - cbz w5, .L1528 + cbz w5, .L1490 ldr x0, [x29, 128] mov w1, 0 ldr x6, [x26, #:lo12:.LANCHOR110] - ldrb w7, [x0, #:lo12:.LANCHOR80] + ldrb w7, [x0, #:lo12:.LANCHOR79] ldr x0, [x29, 120] - ldrh w8, [x0, #:lo12:.LANCHOR86] + ldrh w8, [x0, #:lo12:.LANCHOR85] mov w0, 0 -.L1512: +.L1474: cmp w1, w7 - blt .L1515 - cbz w0, .L1516 + blt .L1477 + cbz w0, .L1478 mov w1, 32768 sdiv w0, w1, w0 add w0, w0, 1 sxth w0, w0 -.L1511: +.L1473: ldr x3, [x29, 184] mov w1, 6 smull x1, w19, w1 @@ -9174,264 +9072,179 @@ zftl_sblk_list_init: and w0, w0, 224 cmp w0, 32 ccmp w0, w1, 4, ne - beq .L1517 - adrp x1, .LANCHOR10 - ldr x1, [x1, #:lo12:.LANCHOR10] + beq .L1479 + adrp x1, .LANCHOR12 + ldr x1, [x1, #:lo12:.LANCHOR12] ldrh w4, [x1, 16] cmp w19, w4 - beq .L1517 + beq .L1479 ldrh w4, [x1, 48] cmp w19, w4 - beq .L1517 + beq .L1479 ldrh w1, [x1, 80] cmp w19, w1 - beq .L1517 + beq .L1479 cmp w0, 64 - bne .L1518 + bne .L1480 ldr x0, [x29, 144] add x2, x22, :lo12:.LANCHOR97 mov w1, w19 - add x0, x0, :lo12:.LANCHOR12 -.L1534: + add x0, x0, :lo12:.LANCHOR95 +.L1496: bl _insert_data_list -.L1517: +.L1479: add w19, w19, 1 sxth w19, w19 - b .L1510 -.L1515: + b .L1472 +.L1477: asr w4, w5, w1 - tbnz x4, 0, .L1513 + tbnz x4, 0, .L1475 add w0, w8, w0 sxth w0, w0 -.L1514: +.L1476: add w1, w1, 1 - b .L1512 -.L1513: + b .L1474 +.L1475: ldrh w4, [x6, 146] add w4, w4, 1 strh w4, [x6, 146] - b .L1514 -.L1516: + b .L1476 +.L1478: ldrb w1, [x28, 2] mov w4, -1 orr w1, w1, -32 strb w1, [x28, 2] - adrp x1, .LANCHOR9 - ldr x1, [x1, #:lo12:.LANCHOR9] + adrp x1, .LANCHOR11 + ldr x1, [x1, #:lo12:.LANCHOR11] strh w4, [x1, x2, lsl 1] - b .L1511 -.L1528: + b .L1473 +.L1490: ldr w0, [x29, 204] - b .L1511 -.L1518: + b .L1473 +.L1480: cmp w0, 96 - bne .L1519 + bne .L1481 ldr x0, [x29, 152] add x2, x20, :lo12:.LANCHOR99 mov w1, w19 - add x0, x0, :lo12:.LANCHOR89 - b .L1534 -.L1519: + add x0, x0, :lo12:.LANCHOR90 + b .L1496 +.L1481: cmp w0, 160 - bne .L1520 + bne .L1482 ldr x0, [x29, 136] - add x2, x21, :lo12:.LANCHOR93 + add x2, x21, :lo12:.LANCHOR91 mov w1, w19 - add x0, x0, :lo12:.LANCHOR88 - b .L1534 -.L1520: - cbnz w0, .L1517 - adrp x0, .LANCHOR9 - ldr x0, [x0, #:lo12:.LANCHOR9] + add x0, x0, :lo12:.LANCHOR92 + b .L1496 +.L1482: + cbnz w0, .L1479 + adrp x0, .LANCHOR11 + ldr x0, [x0, #:lo12:.LANCHOR11] ldrh w2, [x0, x2, lsl 1] - cbz w2, .L1521 + cbz w2, .L1483 cmp w27, 2 - bgt .L1522 + bgt .L1484 mov w1, w19 - adrp x0, .LC94 - add x0, x0, :lo12:.LC94 + adrp x0, .LC91 + add x0, x0, :lo12:.LC91 bl printf ldrb w0, [x28, 2] add w27, w27, 1 sxth w27, w27 - tbz x0, 4, .L1523 + tbz x0, 4, .L1485 mov w1, 5 -.L1533: +.L1495: bfi w0, w1, 5, 3 strb w0, [x28, 2] mov w2, 0 mov w1, 1 mov w0, w19 bl gc_add_sblk - b .L1517 -.L1523: + b .L1479 +.L1485: mov w1, 2 - b .L1533 -.L1522: + b .L1495 +.L1484: ldp x0, x1, [x29, 104] - mov w2, 651 + mov w2, 656 bl printf -.L1521: +.L1483: ldrb w0, [x28, 2] ands w0, w0, 24 - bne .L1525 + bne .L1487 ldr x0, [x29, 176] add x2, x25, :lo12:.LANCHOR103 mov w1, w19 add x0, x0, :lo12:.LANCHOR104 -.L1535: +.L1497: bl _insert_free_list - b .L1517 -.L1525: + b .L1479 +.L1487: cmp w0, 16 - bne .L1526 + bne .L1488 ldr x0, [x29, 168] add x2, x24, :lo12:.LANCHOR105 mov w1, w19 add x0, x0, :lo12:.LANCHOR106 - b .L1535 -.L1526: + b .L1497 +.L1488: ldr x0, [x29, 160] add x2, x23, :lo12:.LANCHOR107 mov w1, w19 add x0, x0, :lo12:.LANCHOR108 - b .L1535 + b .L1497 .size zftl_sblk_list_init, .-zftl_sblk_list_init - .section .text.ftl_open_sblk_init,"ax",@progbits - .align 2 - .global ftl_open_sblk_init - .type ftl_open_sblk_init, %function -ftl_open_sblk_init: - stp x29, x30, [sp, -80]! - add x29, sp, 0 - stp x21, x22, [sp, 32] - adrp x21, .LANCHOR80 - stp x23, x24, [sp, 48] - adrp x22, .LC82 - stp x19, x20, [sp, 16] - adrp x24, .LANCHOR95 - mov x19, x0 - mov w23, w1 - add x24, x24, :lo12:.LANCHOR95 - add x21, x21, :lo12:.LANCHOR80 - add x22, x22, :lo12:.LC82 - stp x25, x26, [sp, 64] -.L1537: - mov w25, 65535 -.L1538: - mov w0, w23 - bl ftl_alloc_sblk - and w20, w0, 65535 - cmp w20, w25 - beq .L1538 - mov w1, 0 - mov w0, w20 - bl ftl_erase_sblk - add x1, x19, 16 - mov w0, w20 - bl ftl_get_blk_list_in_sblk - and w0, w0, 255 - ldrh w1, [x24] - cmp w23, 2 - strb w0, [x19, 9] - strh w20, [x19] - strh wzr, [x19, 2] - mul w0, w1, w0 - strb wzr, [x19, 5] - strh w0, [x19, 6] - strh wzr, [x19, 10] - strb w23, [x19, 4] - beq .L1541 - ldrb w0, [x21] - mul w0, w1, w0 - and w0, w0, 65535 -.L1539: - ldrb w2, [x21] - adrp x26, .LANCHOR9 - strh w0, [x19, 12] - ubfiz x25, x20, 1, 16 - mul w2, w2, w1 - adrp x1, .LANCHOR117 - ldr x3, [x1, #:lo12:.LANCHOR117] - mov w1, 255 - lsl w2, w2, 2 - add x0, x3, x0, uxth 2 - bl ftl_memset - ldr x0, [x26, #:lo12:.LANCHOR9] - ldrh w1, [x19, 6] - strh w1, [x0, x25] - ldrb w0, [x19, 9] - cbnz w0, .L1536 - mov w1, w20 - mov x0, x22 - bl printf - ldr x0, [x26, #:lo12:.LANCHOR9] - mov w1, -1 - strh w1, [x0, x25] - mov w0, 7 - strb w0, [x19, 4] - b .L1537 -.L1541: - mov w0, 0 - b .L1539 -.L1536: - ldp x19, x20, [sp, 16] - ldp x21, x22, [sp, 32] - ldp x23, x24, [sp, 48] - ldp x25, x26, [sp, 64] - ldp x29, x30, [sp], 80 - ret - .size ftl_open_sblk_init, .-ftl_open_sblk_init .section .text.pm_free_sblk,"ax",@progbits .align 2 .global pm_free_sblk .type pm_free_sblk, %function pm_free_sblk: stp x29, x30, [sp, -384]! - adrp x0, .LANCHOR155 + adrp x0, .LANCHOR152 add x29, sp, 0 stp x19, x20, [sp, 16] mov x19, x0 - ldrh w1, [x0, #:lo12:.LANCHOR155] + ldrh w1, [x0, #:lo12:.LANCHOR152] stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] cmp w1, 128 stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] - bls .L1545 - adrp x1, .LANCHOR156 + bls .L1499 + adrp x1, .LANCHOR153 adrp x0, .LC0 mov w2, 94 - add x1, x1, :lo12:.LANCHOR156 + add x1, x1, :lo12:.LANCHOR153 add x0, x0, :lo12:.LC0 bl printf -.L1545: +.L1499: adrp x5, .LANCHOR110 mov x26, x5 - ldrh w3, [x19, #:lo12:.LANCHOR155] + ldrh w3, [x19, #:lo12:.LANCHOR152] mov w1, 0 ldr x0, [x5, #:lo12:.LANCHOR110] mov w19, 0 mov w4, 65535 add x0, x0, 416 ldrh w2, [x0, 272] -.L1548: +.L1502: ldrh w6, [x0] cmp w6, w4 - beq .L1546 + beq .L1500 add w1, w1, 1 and w1, w1, 65535 -.L1546: +.L1500: cmp w1, w2 - bcs .L1547 + bcs .L1501 cmp w1, w3 - bcs .L1547 + bcs .L1501 add w19, w19, 1 add x0, x0, 2 and w19, w19, 65535 cmp w19, 128 - bne .L1548 -.L1547: + bne .L1502 +.L1501: add w19, w19, 1 mov w0, 128 and w19, w19, 65535 @@ -9441,16 +9254,16 @@ pm_free_sblk: csel w19, w19, w0, ne mov w1, 0 mov x0, x22 - adrp x23, .LANCHOR76 + adrp x23, .LANCHOR75 bl ftl_memset - adrp x0, .LANCHOR75 + adrp x0, .LANCHOR74 ldr x6, [x26, #:lo12:.LANCHOR110] mov w2, 24 - ldrb w11, [x23, #:lo12:.LANCHOR76] - ldrh w10, [x0, #:lo12:.LANCHOR75] - adrp x0, .LANCHOR32 + ldrb w11, [x23, #:lo12:.LANCHOR75] + ldrh w10, [x0, #:lo12:.LANCHOR74] + adrp x0, .LANCHOR31 add x4, x6, 704 - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] ldrh w1, [x6, 698] sub w2, w2, w0 sub w0, w2, w10 @@ -9459,24 +9272,24 @@ pm_free_sblk: add x1, x6, x1, lsl 2 lsl w2, w2, w0 sub w2, w2, #1 -.L1550: +.L1504: cmp x1, x4 - bne .L1553 - adrp x24, .LANCHOR80 - adrp x25, .LANCHOR95 - adrp x27, .LC95 - adrp x28, .LANCHOR14 - ldrb w21, [x24, #:lo12:.LANCHOR80] - add x23, x23, :lo12:.LANCHOR76 - ldrh w0, [x25, #:lo12:.LANCHOR95] - add x27, x27, :lo12:.LC95 - add x28, x28, :lo12:.LANCHOR14 + bne .L1507 + adrp x24, .LANCHOR79 + adrp x25, .LANCHOR94 + adrp x27, .LC92 + adrp x28, .LANCHOR19 + ldrb w21, [x24, #:lo12:.LANCHOR79] + add x23, x23, :lo12:.LANCHOR75 + ldrh w0, [x25, #:lo12:.LANCHOR94] + add x27, x27, :lo12:.LC92 + add x28, x28, :lo12:.LANCHOR19 mov x20, 0 mov w7, 65535 str wzr, [x29, 124] mul w21, w21, w0 and w21, w21, 65535 -.L1559: +.L1513: ldr x0, [x26, #:lo12:.LANCHOR110] and w6, w20, 65535 ldrb w2, [x23] @@ -9486,36 +9299,36 @@ pm_free_sblk: ldrh w1, [x0, 692] sdiv w1, w1, w2 cmp w1, w3 - bne .L1554 - ldrb w1, [x24, #:lo12:.LANCHOR80] - ldrh w2, [x25, #:lo12:.LANCHOR95] + bne .L1508 + ldrb w1, [x24, #:lo12:.LANCHOR79] + ldrh w2, [x25, #:lo12:.LANCHOR94] mul w1, w1, w2 strh w1, [x22, x20, lsl 1] -.L1554: +.L1508: ldrh w2, [x22, x20, lsl 1] cmp w2, w21 - bcs .L1555 + bcs .L1509 cmp w2, 0 ldr w1, [x29, 124] csel w21, w21, w2, eq csel w1, w1, w6, eq str w1, [x29, 124] -.L1555: +.L1509: ldrh w1, [x0, 74] cmp w1, 2 - bls .L1556 + bls .L1510 mov w1, 65535 cmp w3, w1 - beq .L1556 - adrp x4, .LANCHOR7 + beq .L1510 + adrp x4, .LANCHOR9 ubfiz x1, x3, 2, 16 ldrh w0, [x0, 92] - ldr x4, [x4, #:lo12:.LANCHOR7] + ldr x4, [x4, #:lo12:.LANCHOR9] add w0, w0, 4 ldrh w4, [x4, x1] and w4, w4, 2047 cmp w4, w0 - bgt .L1556 + bgt .L1510 mov w1, w8 str w6, [x29, 104] str w8, [x29, 112] @@ -9524,29 +9337,29 @@ pm_free_sblk: ldr w6, [x29, 104] ldr w8, [x29, 112] mov w7, w6 -.L1556: +.L1510: ldrh w0, [x22, x20, lsl 1] - cbnz w0, .L1557 + cbnz w0, .L1511 ldr x0, [x26, #:lo12:.LANCHOR110] sxtw x6, w8 add x1, x6, 208 ldrh w3, [x0, x1, lsl 1] mov w1, 65535 cmp w3, w1 - beq .L1557 + beq .L1511 ldr w1, [x28] - tbz x1, 12, .L1558 + tbz x1, 12, .L1512 ldrh w4, [x0, 688] mov w2, 0 str x6, [x29, 104] mov w1, w8 str w7, [x29, 112] - adrp x0, .LC96 - add x0, x0, :lo12:.LC96 + adrp x0, .LC93 + add x0, x0, :lo12:.LC93 bl printf ldr w7, [x29, 112] ldr x6, [x29, 104] -.L1558: +.L1512: ldr x0, [x26, #:lo12:.LANCHOR110] add x6, x6, 208 str w7, [x29, 104] @@ -9561,10 +9374,10 @@ pm_free_sblk: ldrh w1, [x0, 688] sub w1, w1, #1 strh w1, [x0, 688] -.L1557: +.L1511: add x20, x20, 1 cmp w19, w20, uxth - bhi .L1559 + bhi .L1513 mov w0, 65535 cmp w7, w0 ldr w0, [x29, 124] @@ -9576,7 +9389,7 @@ pm_free_sblk: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 384 ret -.L1553: +.L1507: ldr w0, [x4] add x7, x6, 416 mov x3, 0 @@ -9584,20 +9397,20 @@ pm_free_sblk: and w0, w0, w2 udiv w0, w0, w11 and w0, w0, 65535 -.L1552: +.L1506: ldrh w8, [x7] cmp w8, w0 - bne .L1551 + bne .L1505 ldrh w8, [x22, x3, lsl 1] add w8, w8, 1 strh w8, [x22, x3, lsl 1] -.L1551: +.L1505: add x3, x3, 1 add x7, x7, 2 cmp w19, w3, uxth - bhi .L1552 + bhi .L1506 add x4, x4, 4 - b .L1550 + b .L1504 .size pm_free_sblk, .-pm_free_sblk .section .text.ftl_memcpy,"ax",@progbits .align 2 @@ -9613,24 +9426,24 @@ ftl_memcpy: .type flash_info_data_init, %function flash_info_data_init: stp x29, x30, [sp, -32]! - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR19 add x29, sp, 0 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] str x19, [sp, 16] - tbz x0, 12, .L1572 - adrp x2, .LANCHOR157 - adrp x0, .LC97 - add x2, x2, :lo12:.LANCHOR157 - mov w1, 119 - add x0, x0, :lo12:.LC97 + tbz x0, 12, .L1526 + adrp x2, .LANCHOR154 + adrp x0, .LC94 + add x2, x2, :lo12:.LANCHOR154 + mov w1, 120 + add x0, x0, :lo12:.LC94 bl printf -.L1572: - adrp x19, .LANCHOR27 +.L1526: + adrp x19, .LANCHOR6 mov w2, 2048 mov w1, 0 - ldr x0, [x19, #:lo12:.LANCHOR27] + ldr x0, [x19, #:lo12:.LANCHOR6] bl ftl_memset - ldr x0, [x19, #:lo12:.LANCHOR27] + ldr x0, [x19, #:lo12:.LANCHOR6] mov w1, 21321 movk w1, 0x5359, lsl 16 mov w2, 32 @@ -9640,15 +9453,15 @@ flash_info_data_init: str w1, [x0, -72] mov w1, 1 strh w1, [x0, -64] - adrp x1, .LANCHOR20 - add x1, x1, :lo12:.LANCHOR20 + adrp x1, .LANCHOR25 + add x1, x1, :lo12:.LANCHOR25 bl ftl_memcpy - ldr x0, [x19, #:lo12:.LANCHOR27] + ldr x0, [x19, #:lo12:.LANCHOR6] mov w2, 32 ldr x19, [sp, 16] - adrp x1, .LANCHOR33 + adrp x1, .LANCHOR32 ldp x29, x30, [sp], 32 - add x1, x1, :lo12:.LANCHOR33 + add x1, x1, :lo12:.LANCHOR32 add x0, x0, 48 b ftl_memcpy .size flash_info_data_init, .-flash_info_data_init @@ -9658,15 +9471,15 @@ flash_info_data_init: .type ftl_memcpy32, %function ftl_memcpy32: mov x3, 0 -.L1578: +.L1532: cmp w2, w3 - bhi .L1579 + bhi .L1533 ret -.L1579: +.L1533: ldr w4, [x1, x3, lsl 2] str w4, [x0, x3, lsl 2] add x3, x3, 1 - b .L1578 + b .L1532 .size ftl_memcpy32, .-ftl_memcpy32 .section .text.ftl_memcmp,"ax",@progbits .align 2 @@ -9702,47 +9515,47 @@ nandc_init: stp x29, x30, [sp, -64]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR14 + adrp x21, .LANCHOR19 stp x19, x20, [sp, 16] mov x19, x0 - ldr w0, [x21, #:lo12:.LANCHOR14] + ldr w0, [x21, #:lo12:.LANCHOR19] str wzr, [x29, 56] - tbz x0, 12, .L1584 - adrp x1, .LANCHOR158 - adrp x0, .LC98 + tbz x0, 12, .L1538 + adrp x1, .LANCHOR155 + adrp x0, .LC95 mov x2, x19 - add x1, x1, :lo12:.LANCHOR158 - add x0, x0, :lo12:.LC98 + add x1, x1, :lo12:.LANCHOR155 + add x0, x0, :lo12:.LC95 bl printf -.L1584: - adrp x20, .LANCHOR28 +.L1538: + adrp x20, .LANCHOR27 mov w0, 6 ldr w2, [x19, 352] mov w1, 12336 - strb w0, [x20, #:lo12:.LANCHOR28] - adrp x0, .LANCHOR13 + strb w0, [x20, #:lo12:.LANCHOR27] + adrp x0, .LANCHOR7 movk w1, 0x5638, lsl 16 mov x22, x0 - str x19, [x0, #:lo12:.LANCHOR13] + str x19, [x0, #:lo12:.LANCHOR7] cmp w2, w1 - bne .L1585 + bne .L1539 mov w0, 8 - strb w0, [x20, #:lo12:.LANCHOR28] -.L1585: + strb w0, [x20, #:lo12:.LANCHOR27] +.L1539: ldr w1, [x19, 128] mov w0, 12336 movk w0, 0x5639, lsl 16 cmp w1, w0 - bne .L1586 + bne .L1540 mov w0, 9 - strb w0, [x20, #:lo12:.LANCHOR28] -.L1586: - ldrb w0, [x20, #:lo12:.LANCHOR28] + strb w0, [x20, #:lo12:.LANCHOR27] +.L1540: + ldrb w0, [x20, #:lo12:.LANCHOR27] cmp w0, 9 - adrp x0, .LANCHOR51 - bne .L1587 + adrp x0, .LANCHOR50 + bne .L1541 mov w1, 1 - strb w1, [x0, #:lo12:.LANCHOR51] + strb w1, [x0, #:lo12:.LANCHOR50] ldr w0, [x29, 56] mov w1, 2 orr w0, w0, 256 @@ -9764,38 +9577,38 @@ nandc_init: str w0, [x19, 84] mov w0, 39 str w0, [x19, 84] - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L1589 + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L1543 ldr w1, [x19] ldr w2, [x19, 8] ldr w3, [x19, 80] ldr w4, [x19, 84] ldr w5, [x19, 88] -.L1602: - adrp x0, .LC99 - add x0, x0, :lo12:.LC99 +.L1556: + adrp x0, .LC96 + add x0, x0, :lo12:.LC96 bl printf -.L1589: - adrp x0, .LANCHOR52 +.L1543: + adrp x0, .LANCHOR51 mov w1, 1 - strb w1, [x0, #:lo12:.LANCHOR52] - adrp x0, .LANCHOR54 - strh wzr, [x0, #:lo12:.LANCHOR54] - adrp x0, .LANCHOR50 - strb wzr, [x0, #:lo12:.LANCHOR50] - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L1583 - ldrb w1, [x20, #:lo12:.LANCHOR28] - adrp x0, .LC100 - add x0, x0, :lo12:.LC100 + strb w1, [x0, #:lo12:.LANCHOR51] + adrp x0, .LANCHOR53 + strh wzr, [x0, #:lo12:.LANCHOR53] + adrp x0, .LANCHOR49 + strb wzr, [x0, #:lo12:.LANCHOR49] + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L1537 + ldrb w1, [x20, #:lo12:.LANCHOR27] + adrp x0, .LC97 + add x0, x0, :lo12:.LC97 bl printf -.L1583: +.L1537: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 64 ret -.L1587: - strb wzr, [x0, #:lo12:.LANCHOR51] +.L1541: + strb wzr, [x0, #:lo12:.LANCHOR50] mov w1, 1 ldr w0, [x29, 56] orr w0, w0, 256 @@ -9819,17 +9632,17 @@ nandc_init: str w0, [x19, 308] mov w0, 2048 bl ftl_malloc - adrp x1, .LANCHOR53 - str x0, [x1, #:lo12:.LANCHOR53] - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L1589 - ldr x0, [x22, #:lo12:.LANCHOR13] + adrp x1, .LANCHOR52 + str x0, [x1, #:lo12:.LANCHOR52] + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L1543 + ldr x0, [x22, #:lo12:.LANCHOR7] ldr w1, [x0] ldr w2, [x0, 344] ldr w3, [x0, 304] ldr w4, [x0, 308] ldr w5, [x0, 312] - b .L1602 + b .L1556 .size nandc_init, .-nandc_init .section .text.zbuf_init,"ax",@progbits .align 2 @@ -9837,16 +9650,16 @@ nandc_init: .type zbuf_init, %function zbuf_init: stp x29, x30, [sp, -48]! - adrp x0, .LANCHOR56 + adrp x0, .LANCHOR55 add x29, sp, 0 stp x19, x20, [sp, 16] - add x19, x0, :lo12:.LANCHOR56 + add x19, x0, :lo12:.LANCHOR55 stp x21, x22, [sp, 32] mov x20, x0 adrp x22, .LANCHOR131 add x22, x22, :lo12:.LANCHOR131 mov w21, 0 -.L1604: +.L1558: and w0, w21, 255 strb w0, [x19, 1] add w1, w0, 1 @@ -9863,15 +9676,15 @@ zbuf_init: bl ftl_malloc str x0, [x19, -40] cmp w21, 16 - bne .L1604 - add x0, x20, :lo12:.LANCHOR56 + bne .L1558 + add x0, x20, :lo12:.LANCHOR55 mov w1, -1 strb w1, [x0, 960] + adrp x0, .LANCHOR56 + strb wzr, [x0, #:lo12:.LANCHOR56] adrp x0, .LANCHOR57 - strb wzr, [x0, #:lo12:.LANCHOR57] - adrp x0, .LANCHOR58 ldp x19, x20, [sp, 16] - strb w21, [x0, #:lo12:.LANCHOR58] + strb w21, [x0, #:lo12:.LANCHOR57] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 48 ret @@ -9882,94 +9695,94 @@ zbuf_init: .type gc_init, %function gc_init: stp x29, x30, [sp, -32]! - adrp x0, .LANCHOR85 - mov w2, 2136 + adrp x0, .LANCHOR84 + mov w2, 2216 mov w1, 0 add x29, sp, 0 - strb wzr, [x0, #:lo12:.LANCHOR85] - adrp x0, .LANCHOR159 + strb wzr, [x0, #:lo12:.LANCHOR84] + adrp x0, .LANCHOR156 stp x19, x20, [sp, 16] - adrp x20, .LANCHOR71 - strb wzr, [x0, #:lo12:.LANCHOR159] - adrp x0, .LANCHOR160 - add x19, x20, :lo12:.LANCHOR71 - str wzr, [x0, #:lo12:.LANCHOR160] + adrp x20, .LANCHOR70 + strb wzr, [x0, #:lo12:.LANCHOR156] + adrp x0, .LANCHOR157 + add x19, x20, :lo12:.LANCHOR70 + str wzr, [x0, #:lo12:.LANCHOR157] adrp x0, .LANCHOR96 strh wzr, [x0, #:lo12:.LANCHOR96] mov x0, x19 bl ftl_memset str xzr, [x19, 8] mov w0, -1 - strh w0, [x20, #:lo12:.LANCHOR71] - adrp x0, .LANCHOR95 + strh w0, [x20, #:lo12:.LANCHOR70] + adrp x0, .LANCHOR94 adrp x4, .LANCHOR102 - adrp x20, .LANCHOR86 - ldrh w1, [x0, #:lo12:.LANCHOR95] + adrp x20, .LANCHOR85 + ldrh w1, [x0, #:lo12:.LANCHOR94] lsr w2, w1, 1 lsr w0, w1, 2 strh w2, [x19, 38] - adrp x2, .LANCHOR90 + adrp x2, .LANCHOR87 strh w0, [x19, 36] - adrp x19, .LANCHOR80 - strh wzr, [x2, #:lo12:.LANCHOR90] - adrp x2, .LANCHOR91 - ldrb w3, [x19, #:lo12:.LANCHOR80] - strh wzr, [x2, #:lo12:.LANCHOR91] - adrp x2, .LANCHOR92 - strh wzr, [x2, #:lo12:.LANCHOR92] + adrp x19, .LANCHOR79 + strh wzr, [x2, #:lo12:.LANCHOR87] + adrp x2, .LANCHOR88 + ldrb w3, [x19, #:lo12:.LANCHOR79] + strh wzr, [x2, #:lo12:.LANCHOR88] + adrp x2, .LANCHOR89 + strh wzr, [x2, #:lo12:.LANCHOR89] mul w2, w1, w3 and w2, w2, 65535 sub w5, w2, #32 strh w5, [x4, #:lo12:.LANCHOR102] adrp x4, .LANCHOR100 strh w2, [x4, #:lo12:.LANCHOR100] - adrp x2, .LANCHOR94 - strh w1, [x2, #:lo12:.LANCHOR94] - adrp x1, .LANCHOR161 + adrp x2, .LANCHOR93 + strh w1, [x2, #:lo12:.LANCHOR93] + adrp x1, .LANCHOR158 mov w2, 4 - strh w2, [x1, #:lo12:.LANCHOR161] - adrp x1, .LANCHOR70 - strh w0, [x1, #:lo12:.LANCHOR70] - ldrh w0, [x20, #:lo12:.LANCHOR86] + strh w2, [x1, #:lo12:.LANCHOR158] + adrp x1, .LANCHOR69 + strh w0, [x1, #:lo12:.LANCHOR69] + ldrh w0, [x20, #:lo12:.LANCHOR85] mul w0, w0, w3 lsl w0, w0, 2 bl ftl_malloc - adrp x1, .LANCHOR162 - str x0, [x1, #:lo12:.LANCHOR162] - ldrb w1, [x19, #:lo12:.LANCHOR80] - ldrh w0, [x20, #:lo12:.LANCHOR86] + adrp x1, .LANCHOR159 + str x0, [x1, #:lo12:.LANCHOR159] + ldrb w1, [x19, #:lo12:.LANCHOR79] + ldrh w0, [x20, #:lo12:.LANCHOR85] mul w0, w0, w1 lsl w0, w0, 2 bl ftl_malloc - adrp x1, .LANCHOR163 - str x0, [x1, #:lo12:.LANCHOR163] - ldrh w1, [x20, #:lo12:.LANCHOR86] - ldrb w0, [x19, #:lo12:.LANCHOR80] + adrp x1, .LANCHOR160 + str x0, [x1, #:lo12:.LANCHOR160] + ldrh w1, [x20, #:lo12:.LANCHOR85] + ldrb w0, [x19, #:lo12:.LANCHOR79] mul w0, w1, w0 bl ftl_malloc - adrp x1, .LANCHOR83 - str x0, [x1, #:lo12:.LANCHOR83] - ldrb w1, [x19, #:lo12:.LANCHOR80] - ldrh w0, [x20, #:lo12:.LANCHOR86] + adrp x1, .LANCHOR82 + str x0, [x1, #:lo12:.LANCHOR82] + ldrb w1, [x19, #:lo12:.LANCHOR79] + ldrh w0, [x20, #:lo12:.LANCHOR85] mul w0, w0, w1 lsl w0, w0, 2 bl ftl_malloc - adrp x1, .LANCHOR77 - str x0, [x1, #:lo12:.LANCHOR77] - ldrb w1, [x19, #:lo12:.LANCHOR80] - ldrh w0, [x20, #:lo12:.LANCHOR86] + adrp x1, .LANCHOR76 + str x0, [x1, #:lo12:.LANCHOR76] + ldrb w1, [x19, #:lo12:.LANCHOR79] + ldrh w0, [x20, #:lo12:.LANCHOR85] mul w0, w0, w1 lsl w0, w0, 2 bl ftl_malloc - adrp x1, .LANCHOR164 + adrp x1, .LANCHOR161 ldp x19, x20, [sp, 16] - str x0, [x1, #:lo12:.LANCHOR164] + str x0, [x1, #:lo12:.LANCHOR161] adrp x0, .LANCHOR98 - adrp x1, .LANCHOR87 + adrp x1, .LANCHOR86 ldp x29, x30, [sp], 32 ldrh w0, [x0, #:lo12:.LANCHOR98] lsr w0, w0, 2 - strh w0, [x1, #:lo12:.LANCHOR87] + strh w0, [x1, #:lo12:.LANCHOR86] ret .size gc_init, .-gc_init .section .text.ftl_free,"ax",@progbits @@ -9988,18 +9801,18 @@ js_hash: mov w0, 42982 mov x3, 0 movk w0, 0x47c6, lsl 16 -.L1611: +.L1565: cmp w1, w3 - bhi .L1612 + bhi .L1566 ret -.L1612: +.L1566: lsr w2, w0, 2 ldrb w5, [x4, x3] add w2, w2, w0, lsl 5 add x3, x3, 1 add w2, w2, w5 eor w0, w0, w2 - b .L1611 + b .L1565 .size js_hash, .-js_hash .section .text.ftl_debug_info_fill,"ax",@progbits .align 2 @@ -10009,11 +9822,11 @@ ftl_debug_info_fill: adrp x3, .LANCHOR131 ldrb w3, [x3, #:lo12:.LANCHOR131] cmp w3, 8 - bls .L1617 + bls .L1571 and w0, w0, 255 cmp x2, 0 ccmp w0, 2, 0, ne - bne .L1615 + bne .L1569 stp x29, x30, [sp, -16]! mov x6, x1 mov w1, 21320 @@ -10027,9 +9840,9 @@ ftl_debug_info_fill: mov w0, 0 ldp x29, x30, [sp], 16 ret -.L1615: +.L1569: stp wzr, wzr, [x1] -.L1617: +.L1571: mov w0, 0 ret .size ftl_debug_info_fill, .-ftl_debug_info_fill @@ -10068,8 +9881,8 @@ ftl_get_density: .global ftl_get_capacity .type ftl_get_capacity, %function ftl_get_capacity: - adrp x0, .LANCHOR68 - ldr w0, [x0, #:lo12:.LANCHOR68] + adrp x0, .LANCHOR67 + ldr w0, [x0, #:lo12:.LANCHOR67] ret .size ftl_get_capacity, .-ftl_get_capacity .section .text.rknand_print_hex,"ax",@progbits @@ -10080,637 +9893,652 @@ rknand_print_hex: stp x29, x30, [sp, -96]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x21, .LC102 + adrp x21, .LC99 stp x23, x24, [sp, 48] mov x22, x1 stp x25, x26, [sp, 64] mov w24, w2 stp x27, x28, [sp, 80] - adrp x25, .LC101 + adrp x25, .LC98 mov x27, x0 uxtw x26, w3 - add x25, x25, :lo12:.LC101 - add x21, x21, :lo12:.LC102 + add x25, x25, :lo12:.LC98 + add x21, x21, :lo12:.LC99 stp x19, x20, [sp, 16] mov w23, 0 mov x19, 0 mov w20, 0 - adrp x28, .LC103 -.L1626: + adrp x28, .LC100 +.L1580: cmp x26, x19 - bne .L1632 + bne .L1586 ldp x19, x20, [sp, 16] - adrp x1, .LC103 + adrp x1, .LC100 ldp x21, x22, [sp, 32] - add x1, x1, :lo12:.LC103 + add x1, x1, :lo12:.LC100 ldp x23, x24, [sp, 48] - adrp x0, .LC104 + adrp x0, .LC101 ldp x25, x26, [sp, 64] - add x0, x0, :lo12:.LC104 + add x0, x0, :lo12:.LC101 ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 96 b printf -.L1632: - cbnz w20, .L1627 +.L1586: + cbnz w20, .L1581 mov w3, w23 mov x2, x22 mov x1, x27 mov x0, x25 bl printf -.L1627: +.L1581: cmp w24, 4 - bne .L1628 + bne .L1582 ldr w1, [x22, x19, lsl 2] -.L1634: +.L1588: mov x0, x21 add w20, w20, 1 bl printf cmp w20, 15 - bls .L1631 + bls .L1585 mov w20, 0 - add x1, x28, :lo12:.LC103 - adrp x0, .LC104 - add x0, x0, :lo12:.LC104 + add x1, x28, :lo12:.LC100 + adrp x0, .LC101 + add x0, x0, :lo12:.LC101 bl printf -.L1631: +.L1585: add x19, x19, 1 add w23, w23, w24 - b .L1626 -.L1628: + b .L1580 +.L1582: cmp w24, 2 - bne .L1630 + bne .L1584 ldrsh w1, [x22, x19, lsl 1] - b .L1634 -.L1630: + b .L1588 +.L1584: ldrb w1, [x22, x19] - b .L1634 + b .L1588 .size rknand_print_hex, .-rknand_print_hex .section .text.hynix_get_read_retry_default,"ax",@progbits .align 2 .global hynix_get_read_retry_default .type hynix_get_read_retry_default, %function hynix_get_read_retry_default: - stp x29, x30, [sp, -96]! - mov w10, w0 - adrp x0, .LANCHOR27 + stp x29, x30, [sp, -144]! mov w2, -83 + mov w1, -82 add x29, sp, 0 - ldr x8, [x0, #:lo12:.LANCHOR27] + stp x25, x26, [sp, 64] + mov w25, w0 + adrp x0, .LANCHOR6 + stp x21, x22, [sp, 32] + stp x23, x24, [sp, 48] + cmp w25, 2 + ldr x26, [x0, #:lo12:.LANCHOR6] mov w0, -84 stp x19, x20, [sp, 16] - mov w1, -82 - stp x21, x22, [sp, 32] - add x6, x8, 128 - stp x23, x24, [sp, 48] - add x13, x8, 112 - stp x25, x26, [sp, 64] - cmp w10, 2 - str x27, [sp, 80] - strb w0, [x8, 128] + stp x27, x28, [sp, 80] + add x24, x26, 128 + add x21, x26, 112 + strb w0, [x26, 128] mov w0, -81 - strb w10, [x8, 112] - strb w2, [x8, 129] - strb w1, [x8, 130] - strb w0, [x8, 131] - bne .L1636 + strb w25, [x26, 112] + strb w2, [x26, 129] + strb w1, [x26, 130] + strb w0, [x26, 131] + bne .L1590 mov w0, -89 - strb w0, [x13, 16] - adrp x0, .LANCHOR165+17 + strb w0, [x21, 16] + adrp x0, .LANCHOR162+17 mov w1, -9 - strb w1, [x0, #:lo12:.LANCHOR165+17] -.L1700: - mov w24, 7 - b .L1743 -.L1636: - cmp w10, 3 - bne .L1638 - mov x11, 0 -.L1639: - sub w0, w11, #80 - strb w0, [x6, x11] - add x11, x11, 1 - cmp x11, 8 - bne .L1639 - mov w24, w11 -.L1637: - sub w0, w10, #1 + strb w1, [x0, #:lo12:.LANCHOR162+17] +.L1654: + mov w27, 7 + b .L1697 +.L1590: + cmp w25, 3 + bne .L1592 + mov x5, 0 +.L1593: + sub w0, w5, #80 + strb w0, [x24, x5] + add x5, x5, 1 + cmp x5, 8 + bne .L1593 + mov w27, w5 + mov w28, w5 +.L1591: + sub w0, w25, #1 cmp w0, 1 - bhi .L1645 - adrp x7, .LANCHOR18 - adrp x8, .LANCHOR30 - add x7, x7, :lo12:.LANCHOR18 - add x8, x8, :lo12:.LANCHOR30 - mov w5, 0 - mov w10, 55 -.L1646: - ldrb w0, [x7] - cmp w0, w5 - bhi .L1652 -.L1653: - strb w11, [x13, 1] - strb w24, [x13, 2] + bhi .L1599 + adrp x25, .LANCHOR23 + adrp x26, .LANCHOR29 + add x25, x25, :lo12:.LANCHOR23 + add x26, x26, :lo12:.LANCHOR29 + mov w23, 0 + mov w5, 55 +.L1600: + ldrb w0, [x25] + cmp w0, w23 + bhi .L1606 +.L1607: + strb w28, [x21, 1] + strb w27, [x21, 2] 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], 96 + ldp x27, x28, [sp, 80] + ldp x29, x30, [sp], 144 ret -.L1638: - cmp w10, 4 - bne .L1640 - mov w3, -52 - strb w3, [x8, 128] - mov w3, -65 - strb w3, [x8, 129] - mov w3, -86 - strb w3, [x8, 130] - mov w3, -85 - mov w24, 8 - strb w3, [x8, 131] - mov w11, w24 - mov w3, -51 - strb w2, [x8, 133] - strb w3, [x8, 132] - strb w1, [x8, 134] - strb w0, [x8, 135] - b .L1637 -.L1640: - cmp w10, 5 - bne .L1641 +.L1592: + cmp w25, 4 + bne .L1594 + mov w5, -52 + strb w5, [x26, 128] + mov w5, -65 + strb w5, [x26, 129] + mov w5, -86 + strb w5, [x26, 130] + mov w5, -85 + mov w27, 8 + strb w5, [x26, 131] + mov w28, w27 + mov w5, -51 + strb w2, [x26, 133] + strb w5, [x26, 132] + strb w1, [x26, 134] + strb w0, [x26, 135] + b .L1591 +.L1594: + cmp w25, 5 + bne .L1595 mov w0, 56 - strb w0, [x8, 128] + strb w0, [x26, 128] mov w0, 57 - strb w0, [x8, 129] + strb w0, [x26, 129] mov w0, 58 - mov w24, 8 - strb w0, [x8, 130] + mov w27, 8 + strb w0, [x26, 130] mov w0, 59 - strb w0, [x8, 131] -.L1743: - mov w11, 4 - b .L1637 -.L1641: - cmp w10, 6 - bne .L1642 + strb w0, [x26, 131] +.L1697: + mov w28, 4 + b .L1591 +.L1595: + cmp w25, 6 + bne .L1596 mov w0, 14 - strb w0, [x8, 128] + strb w0, [x26, 128] mov w0, 15 - strb w0, [x8, 129] + strb w0, [x26, 129] mov w0, 16 - mov w24, 12 - strb w0, [x8, 130] + mov w27, 12 + strb w0, [x26, 130] mov w0, 17 - strb w0, [x8, 131] - b .L1743 -.L1642: - cmp w10, 7 - bne .L1643 + strb w0, [x26, 131] + b .L1697 +.L1596: + cmp w25, 7 + bne .L1597 mov x0, 0 -.L1644: +.L1598: sub w1, w0, #80 - strb w1, [x6, x0] + strb w1, [x24, x0] add x0, x0, 1 cmp x0, 8 - bne .L1644 + bne .L1598 mov w0, -44 - mov w24, 12 - strb w0, [x8, 136] - mov w11, 10 + mov w27, 12 + strb w0, [x26, 136] + mov w28, 10 mov w0, -43 - strb w0, [x8, 137] - b .L1637 -.L1643: - cmp w10, 8 - bne .L1700 + strb w0, [x26, 137] + b .L1591 +.L1597: + cmp w25, 8 + bne .L1654 mov w0, 6 - strb w0, [x8, 128] + strb w0, [x26, 128] mov w0, 7 - strb w0, [x8, 129] + strb w0, [x26, 129] mov w0, 9 - strb w10, [x8, 130] - strb w0, [x8, 131] - mov w24, 50 + strb w25, [x26, 130] + strb w0, [x26, 131] + mov w27, 50 mov w0, 10 - mov w11, 5 - strb w0, [x8, 132] - b .L1637 -.L1652: - ldrb w0, [x8, w5, sxtw] + mov w28, 5 + strb w0, [x26, 132] + b .L1591 +.L1606: + ldrb w0, [x26, w23, sxtw] mov x1, 32 - mov w2, 160 - mov x3, 0 - umaddl x2, w2, w0, x1 - adrp x1, .LANCHOR13 + mov w19, 160 + mov x20, 0 + umaddl x19, w19, w0, x1 + adrp x1, .LANCHOR7 ubfiz x0, x0, 8, 8 - ldr x4, [x1, #:lo12:.LANCHOR13] - add x2, x13, x2 - add x4, x4, x0 -.L1647: - str w10, [x4, 2056] - ldrb w0, [x6, x3] - str w0, [x4, 2052] - mov w0, 80 - bl timer_delay_ns - ldr w0, [x4, 2048] - strb w0, [x2, x3] - add x3, x3, 1 - cmp w11, w3, uxtb - bhi .L1647 - adrp x3, .LANCHOR165 - add x3, x3, :lo12:.LANCHOR165 + ldr x22, [x1, #:lo12:.LANCHOR7] + add x19, x21, x19 + add x22, x22, x0 +.L1601: + str w5, [x22, 2056] + str w5, [x29, 136] + ldrb w0, [x24, x20] + str w0, [x22, 2052] + mov x0, 1 + bl udelay + ldr w0, [x22, 2048] + strb w0, [x19, x20] + add x20, x20, 1 + cmp w28, w20, uxtb + ldr w5, [x29, 136] + bhi .L1601 + adrp x2, .LANCHOR162 + add x2, x2, :lo12:.LANCHOR162 mov x0, 0 -.L1650: - add x14, x2, x0 - add x12, x3, x0 +.L1604: + add x7, x19, x0 + add x4, x2, x0 mov x1, 1 -.L1649: - lsl x4, x1, 2 - lsl x15, x1, 3 - ldrb w16, [x2, x0] +.L1603: + lsl x3, x1, 2 + lsl x8, x1, 3 + ldrb w10, [x19, x0] add x1, x1, 1 cmp x1, 7 - ldrb w4, [x12, x4] - add w4, w4, w16 - strb w4, [x14, x15] - bne .L1649 + ldrb w3, [x4, x3] + add w3, w3, w10 + strb w3, [x7, x8] + bne .L1603 add x0, x0, 1 cmp x0, 4 - bne .L1650 - add w5, w5, 1 - strb wzr, [x2, 16] - strb wzr, [x2, 24] - and w5, w5, 255 - strb wzr, [x2, 32] - strb wzr, [x2, 40] - strb wzr, [x2, 48] - strb wzr, [x2, 41] - strb wzr, [x2, 49] - b .L1646 -.L1645: - sub w0, w10, #3 + bne .L1604 + add w23, w23, 1 + strb wzr, [x19, 16] + strb wzr, [x19, 24] + and w23, w23, 255 + strb wzr, [x19, 32] + strb wzr, [x19, 40] + strb wzr, [x19, 48] + strb wzr, [x19, 41] + strb wzr, [x19, 49] + b .L1600 +.L1599: + sub w0, w25, #3 cmp w0, 5 - bhi .L1653 - mul w19, w24, w11 - sub w14, w11, #1 - and x14, x14, 255 - adrp x20, .LANCHOR18 - sub w21, w10, #5 - add x20, x20, :lo12:.LANCHOR18 - asr w15, w19, 1 - add x14, x14, 1 - lsl w19, w19, 4 - lsl w23, w15, 1 - sbfiz x22, x15, 1, 32 - mov w12, 0 -.L1654: - ldrb w0, [x20] - cmp w0, w12 - bls .L1653 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 - ldrb w25, [x0, w12, sxtw] - mov w0, w25 + bhi .L1607 + mul w24, w27, w28 + sub w22, w28, #1 + and x22, x22, 255 + mov w20, 0 + asr w23, w24, 1 + lsl w0, w24, 4 + str w0, [x29, 128] + lsl w0, w23, 1 + str w0, [x29, 132] + sbfiz x0, x23, 1, 32 + sub w24, w25, #5 + str x0, [x29, 136] + adrp x0, .LANCHOR23 + add x0, x0, :lo12:.LANCHOR23 + str x0, [x29, 120] + add x0, x22, 1 + str x0, [x29, 112] +.L1608: + ldr x0, [x29, 120] + ldrb w0, [x0] + cmp w0, w20 + bls .L1607 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 + mov w19, 160 + ldrb w22, [x0, w20, sxtw] + mov w0, w22 bl zftl_flash_exit_slc_mode - adrp x0, .LANCHOR13 - mov x5, 32 - mov w1, 160 - mov w6, 255 - ldr x4, [x0, #:lo12:.LANCHOR13] + mov x0, 32 + ubfiz x2, x22, 8, 8 + mov w1, 255 + str w1, [x29, 108] nop // between mem op and mult-accumulate - umaddl x1, w1, w25, x5 - ubfiz x25, x25, 8, 8 - add x4, x4, x25 - add x5, x13, x1 - str w6, [x4, 2056] + umaddl x19, w19, w22, x0 + adrp x0, .LANCHOR7 + ldr x0, [x0, #:lo12:.LANCHOR7] + add x19, x21, x19 + add x22, x0, x2 + str w1, [x22, 2056] bl nandc_wait_flash_ready - cmp w10, 8 - bne .L1655 + cmp w25, 8 + ldr w1, [x29, 108] + bne .L1609 mov w0, 120 - str w0, [x4, 2056] - str wzr, [x4, 2052] + str w0, [x22, 2056] + str wzr, [x22, 2052] mov w0, 23 - str wzr, [x4, 2052] + str wzr, [x22, 2052] mov w1, 25 - str wzr, [x4, 2052] - add x5, x8, 144 - str w0, [x4, 2056] + str wzr, [x22, 2052] + add x19, x26, 144 + str w0, [x22, 2056] mov w0, 4 - str w0, [x4, 2056] - str w1, [x4, 2056] + str w0, [x22, 2056] + str w1, [x22, 2056] mov w1, 218 - str w1, [x4, 2056] + str w1, [x22, 2056] mov w1, 21 - str wzr, [x4, 2056] - str wzr, [x4, 2052] - str wzr, [x4, 2052] - str w1, [x4, 2052] -.L1746: - str w0, [x4, 2052] + str wzr, [x22, 2056] + str wzr, [x22, 2052] + str wzr, [x22, 2052] + str w1, [x22, 2052] +.L1700: + str w0, [x22, 2052] mov w0, 48 - str wzr, [x4, 2052] - str w0, [x4, 2056] + str wzr, [x22, 2052] + str w0, [x22, 2056] bl nandc_wait_flash_ready - cmp w21, 1 - ccmp w10, 8, 4, hi - beq .L1701 - cmp w10, 7 + cmp w24, 1 + ccmp w25, 8, 4, hi + beq .L1655 + cmp w25, 7 mov w0, 32 mov w1, 2 csel w1, w1, w0, ne -.L1662: - adrp x6, .LANCHOR166 - mov x2, 0 - ldr x0, [x6, #:lo12:.LANCHOR166] -.L1663: - ldr w3, [x4, 2048] - strb w3, [x0, x2] - add x2, x2, 1 - cmp w1, w2, uxtb - bhi .L1663 - cmp w10, 8 - bne .L1664 +.L1616: + adrp x8, .LANCHOR163 + mov x7, 0 + ldr x0, [x8, #:lo12:.LANCHOR163] +.L1617: + ldr w10, [x22, 2048] + strb w10, [x0, x7] + add x7, x7, 1 + cmp w1, w7, uxtb + bhi .L1617 + cmp w25, 8 + bne .L1618 mov w1, 0 -.L1666: - ldrb w2, [x0] - cmp w2, 50 - beq .L1665 - ldrb w2, [x0, 1] - cmp w2, 5 - beq .L1665 +.L1620: + ldrb w7, [x0] + cmp w7, 50 + beq .L1619 + ldrb w7, [x0, 1] + cmp w7, 5 + beq .L1619 add w1, w1, 1 add x0, x0, 4 and w1, w1, 255 cmp w1, 8 - bne .L1666 -.L1667: - adrp x0, .LC105 + bne .L1620 +.L1621: + adrp x0, .LC102 mov w1, 0 - add x0, x0, :lo12:.LC105 + add x0, x0, :lo12:.LC102 bl printf -.L1669: - b .L1669 -.L1655: +.L1623: + b .L1623 +.L1609: mov w0, 54 - str w0, [x4, 2056] - cmp w10, 4 - bne .L1657 + str w0, [x22, 2056] + cmp w25, 4 + bne .L1611 mov w0, 64 - str w6, [x4, 2052] - str w0, [x4, 2048] + str w1, [x22, 2052] + str w0, [x22, 2048] mov w0, 204 -.L1744: - str w0, [x4, 2052] +.L1698: + str w0, [x22, 2052] mov w0, 77 - b .L1745 -.L1657: - cmp w21, 1 - bhi .L1659 - ldrb w0, [x8, 128] - str w0, [x4, 2052] + b .L1699 +.L1611: + cmp w24, 1 + bhi .L1613 + ldrb w0, [x26, 128] + str w0, [x22, 2052] mov w0, 82 -.L1745: - str w0, [x4, 2048] -.L1658: +.L1699: + str w0, [x22, 2048] +.L1612: mov w0, 22 - str w0, [x4, 2056] + str w0, [x22, 2056] mov w0, 23 - str w0, [x4, 2056] + str w0, [x22, 2056] mov w0, 4 - str w0, [x4, 2056] + str w0, [x22, 2056] mov w0, 25 - str w0, [x4, 2056] - str wzr, [x4, 2056] - cmp w10, 6 - str wzr, [x4, 2052] - str wzr, [x4, 2052] - bne .L1660 + str w0, [x22, 2056] + str wzr, [x22, 2056] + cmp w25, 6 + str wzr, [x22, 2052] + str wzr, [x22, 2052] + bne .L1614 mov w0, 31 - str w0, [x4, 2052] -.L1661: + str w0, [x22, 2052] +.L1615: mov w0, 2 - b .L1746 -.L1659: - cmp w10, 7 - bne .L1658 + b .L1700 +.L1613: + cmp w25, 7 + bne .L1612 mov w0, 174 - str w0, [x4, 2052] - str wzr, [x4, 2048] + str w0, [x22, 2052] + str wzr, [x22, 2048] mov w0, 176 - b .L1744 -.L1660: - str wzr, [x4, 2052] - b .L1661 -.L1701: + b .L1698 +.L1614: + str wzr, [x22, 2052] + b .L1615 +.L1655: mov w1, 16 - b .L1662 -.L1665: + b .L1616 +.L1619: cmp w1, 6 - bhi .L1667 -.L1668: - ldr x3, [x6, #:lo12:.LANCHOR166] + bhi .L1621 +.L1622: + ldr x7, [x8, #:lo12:.LANCHOR163] mov x0, 0 -.L1678: - cmp w19, w0 - bgt .L1679 - ldr x1, [x6, #:lo12:.LANCHOR166] - mov w6, 8 - add x2, x1, x22 -.L1681: +.L1632: + ldr w1, [x29, 128] + cmp w1, w0 + bgt .L1633 + ldr x1, [x8, #:lo12:.LANCHOR163] + mov w10, 8 + ldr x0, [x29, 136] + add x8, x1, x0 +.L1635: mov x0, 0 -.L1680: - ldrh w7, [x2, x0, lsl 1] - mvn w7, w7 - strh w7, [x2, x0, lsl 1] +.L1634: + ldrh w11, [x8, x0, lsl 1] + mvn w11, w11 + strh w11, [x8, x0, lsl 1] add x0, x0, 1 - cmp w15, w0 - bgt .L1680 - add x2, x2, x23, uxtw 1 - subs w6, w6, #1 - bne .L1681 - mov x6, x1 - mov w7, 0 - mov w26, 1 -.L1682: + cmp w23, w0 + bgt .L1634 + ldr w0, [x29, 132] + subs w10, w10, #1 + add x8, x8, x0, uxtw 1 + bne .L1635 + mov x10, x1 + mov w11, 0 + mov w16, 1 +.L1636: mov w0, 0 - mov w2, 0 -.L1686: - mov x25, x6 - lsl w30, w26, w2 - mov w17, 16 - mov w16, 0 -.L1684: - ldrh w27, [x25] - add x25, x25, x22 - bics wzr, w30, w27 - cinc w16, w16, eq - subs w17, w17, #1 - bne .L1684 - cmp w16, 8 - bls .L1685 - orr w0, w0, w30 + mov w8, 0 +.L1640: + mov x14, x10 + lsl w15, w16, w8 + mov w13, 16 + mov w12, 0 +.L1638: + ldrh w17, [x14] + ldr x2, [x29, 136] + bics wzr, w15, w17 + cinc w12, w12, eq + add x14, x14, x2 + subs w13, w13, #1 + bne .L1638 + cmp w12, 8 + bls .L1639 + orr w0, w0, w15 and w0, w0, 65535 -.L1685: - add w2, w2, 1 - cmp w2, 16 - bne .L1686 - strh w0, [x6], 2 - add w7, w7, 1 - cmp w15, w7 - bgt .L1682 +.L1639: + add w8, w8, 1 + cmp w8, 16 + bne .L1640 + strh w0, [x10], 2 + add w11, w11, 1 + cmp w23, w11 + bgt .L1636 mov x0, 0 - mov w2, 0 -.L1689: - ldr w6, [x1, x0] + mov w8, 0 +.L1643: + ldr w10, [x1, x0] add x0, x0, 4 - cmp w6, 0 - cinc w2, w2, eq + cmp w10, 0 + cinc w8, w8, eq cmp x0, 32 - bne .L1689 - cmp w2, 7 - ble .L1690 + bne .L1643 + cmp w8, 7 + ble .L1644 mov w3, 1024 mov w2, 1 - adrp x0, .LC106 - add x0, x0, :lo12:.LC106 + adrp x0, .LC103 + add x0, x0, :lo12:.LC103 bl rknand_print_hex - adrp x0, .LC105 + adrp x0, .LC102 mov w1, 0 - add x0, x0, :lo12:.LC105 + add x0, x0, :lo12:.LC102 bl printf -.L1691: - b .L1691 -.L1664: - cmp w10, 7 - bne .L1670 +.L1645: + b .L1645 +.L1618: + cmp w25, 7 + bne .L1624 mov w1, 0 -.L1672: - ldrb w2, [x0] - cmp w2, 12 - beq .L1671 - ldrb w2, [x0, 1] - cmp w2, 10 - beq .L1671 +.L1626: + ldrb w7, [x0] + cmp w7, 12 + beq .L1625 + ldrb w7, [x0, 1] + cmp w7, 10 + beq .L1625 add w1, w1, 1 add x0, x0, 4 and w1, w1, 255 cmp w1, 8 - bne .L1672 -.L1673: - adrp x0, .LC105 + bne .L1626 +.L1627: + adrp x0, .LC102 mov w1, 0 - add x0, x0, :lo12:.LC105 + add x0, x0, :lo12:.LC102 bl printf -.L1674: - b .L1674 -.L1671: +.L1628: + b .L1628 +.L1625: cmp w1, 6 - bls .L1668 - b .L1673 -.L1670: - cmp w10, 6 - bne .L1668 + bls .L1622 + b .L1627 +.L1624: + cmp w25, 6 + bne .L1622 mov x1, 0 -.L1675: - ldrb w2, [x0, x1] - cmp w2, 12 - beq .L1668 - add x2, x0, x1 - ldrb w2, [x2, 8] - cmp w2, 4 - beq .L1668 +.L1629: + ldrb w7, [x0, x1] + cmp w7, 12 + beq .L1622 + add x7, x0, x1 + ldrb w7, [x7, 8] + cmp w7, 4 + beq .L1622 add x1, x1, 1 cmp x1, 8 - bne .L1675 - adrp x0, .LC105 + bne .L1629 + adrp x0, .LC102 mov w1, 0 - add x0, x0, :lo12:.LC105 + add x0, x0, :lo12:.LC102 bl printf -.L1677: - b .L1677 -.L1679: - ldr w1, [x4, 2048] - strb w1, [x3, x0] +.L1631: + b .L1631 +.L1633: + ldr w1, [x22, 2048] + strb w1, [x7, x0] add x0, x0, 1 - b .L1678 -.L1690: - cmp w10, 6 - beq .L1703 - cmp w10, 7 - beq .L1704 - cmp w10, 8 + b .L1632 +.L1644: + cmp w25, 6 + beq .L1657 + cmp w25, 7 + beq .L1658 + cmp w25, 8 mov x1, 5 mov x0, 8 csel x0, x0, x1, ne -.L1692: - mov x1, x5 - mov w5, 0 -.L1693: - mov x2, 0 -.L1694: - ldrb w6, [x3, x2] - strb w6, [x1, x2] - add x2, x2, 1 - cmp w11, w2, uxtb - bhi .L1694 - add w5, w5, 1 - add x3, x3, x14 - add x1, x1, x0 - cmp w24, w5 - bgt .L1693 - mov w5, 255 - str w5, [x4, 2056] +.L1646: + mov w8, 0 +.L1647: + mov x1, 0 +.L1648: + ldrb w10, [x7, x1] + strb w10, [x19, x1] + add x1, x1, 1 + cmp w28, w1, uxtb + bhi .L1648 + ldr x1, [x29, 112] + add w8, w8, 1 + add x19, x19, x0 + cmp w27, w8 + add x7, x7, x1 + bgt .L1647 + mov w19, 255 + str w19, [x22, 2056] bl nandc_wait_flash_ready - cmp w21, 1 - bhi .L1696 + cmp w24, 1 + bhi .L1650 mov w0, 54 - str w0, [x4, 2056] - ldrb w0, [x8, 128] - str w0, [x4, 2052] - str wzr, [x4, 2048] + str w0, [x22, 2056] + ldrb w0, [x26, 128] + str w0, [x22, 2052] + str wzr, [x22, 2048] mov w0, 22 - str w0, [x4, 2056] + str w0, [x22, 2056] mov w0, 48 - str wzr, [x4, 2056] - str wzr, [x4, 2052] - str wzr, [x4, 2052] - str w5, [x4, 2052] - str w5, [x4, 2052] - str w5, [x4, 2052] -.L1747: - str w0, [x4, 2056] + str wzr, [x22, 2056] + str wzr, [x22, 2052] + str wzr, [x22, 2052] + str w19, [x22, 2052] + str w19, [x22, 2052] + str w19, [x22, 2052] +.L1701: + str w0, [x22, 2056] + add w20, w20, 1 + and w20, w20, 255 bl nandc_wait_flash_ready - add w12, w12, 1 - and w12, w12, 255 - b .L1654 -.L1703: + b .L1608 +.L1657: mov x0, 4 - b .L1692 -.L1704: + b .L1646 +.L1658: mov x0, 10 - b .L1692 -.L1696: - cmp w10, 8 - bne .L1698 + b .L1646 +.L1650: + cmp w25, 8 + bne .L1652 mov w0, 190 - b .L1747 -.L1698: + b .L1701 +.L1652: mov w0, 56 - b .L1747 + b .L1701 .size hynix_get_read_retry_default, .-hynix_get_read_retry_default .section .text.flash_get_read_retry_tbl,"ax",@progbits .align 2 .global flash_get_read_retry_tbl .type flash_get_read_retry_tbl, %function flash_get_read_retry_tbl: - adrp x0, .LANCHOR33+19 - ldrb w0, [x0, #:lo12:.LANCHOR33+19] + adrp x0, .LANCHOR32+19 + ldrb w0, [x0, #:lo12:.LANCHOR32+19] sub w1, w0, #1 and w1, w1, 255 cmp w1, 7 - bhi .L1748 + bhi .L1702 b hynix_get_read_retry_default -.L1748: +.L1702: ret .size flash_get_read_retry_tbl, .-flash_get_read_retry_tbl .section .text.nandc_xfer_done,"ax",@progbits @@ -10719,154 +10547,154 @@ flash_get_read_retry_tbl: .type nandc_xfer_done, %function nandc_xfer_done: stp x29, x30, [sp, -80]! - adrp x0, .LANCHOR167 - adrp x1, .LANCHOR28 + adrp x0, .LANCHOR164 + adrp x1, .LANCHOR27 add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x19, .LANCHOR13 - ldrb w1, [x1, #:lo12:.LANCHOR28] + adrp x19, .LANCHOR7 + ldrb w1, [x1, #:lo12:.LANCHOR27] stp x21, x22, [sp, 32] - strb wzr, [x0, #:lo12:.LANCHOR167] + strb wzr, [x0, #:lo12:.LANCHOR164] cmp w1, 9 str x23, [sp, 48] - bne .L1751 - ldr x20, [x19, #:lo12:.LANCHOR13] + bne .L1705 + ldr x20, [x19, #:lo12:.LANCHOR7] mov x21, x0 ldr w0, [x20, 16] str w0, [x29, 64] ldr w0, [x20, 48] - tbnz x0, 1, .L1752 - adrp x22, .LC109 - adrp x23, .LC110 - add x22, x22, :lo12:.LC109 - add x23, x23, :lo12:.LC110 + tbnz x0, 1, .L1706 + adrp x22, .LC106 + adrp x23, .LC107 + add x22, x22, :lo12:.LC106 + add x23, x23, :lo12:.LC107 mov w21, 0 -.L1753: +.L1707: ldr w0, [x29, 64] - tbnz x0, 20, .L1755 - ldr x0, [x19, #:lo12:.LANCHOR13] + tbnz x0, 20, .L1709 + ldr x0, [x19, #:lo12:.LANCHOR7] add w21, w21, 1 tst x21, 16777215 ldr w0, [x0, 16] str w0, [x29, 64] - bne .L1753 + bne .L1707 ldr w2, [x29, 64] mov w1, w21 ldr w3, [x20, 64] mov x0, x22 ubfx x3, x3, 16, 6 bl printf - ldr x1, [x19, #:lo12:.LANCHOR13] + ldr x1, [x19, #:lo12:.LANCHOR7] mov w3, 64 mov w2, 4 mov x0, x23 bl rknand_print_hex - b .L1753 -.L1754: + b .L1707 +.L1708: ldr w0, [x29, 64] add w1, w1, 1 ubfx x0, x0, 22, 6 cmp w1, w0, lsl 12 - bne .L1756 + bne .L1710 ldr w2, [x20, 64] - adrp x0, .LC108 + adrp x0, .LC105 ldr w3, [x29, 64] - add x0, x0, :lo12:.LC108 + add x0, x0, :lo12:.LC105 ubfx x2, x2, 16, 5 ubfx x3, x3, 22, 6 bl printf ldr w0, [x29, 72] mov w0, 1 - strb w0, [x21, #:lo12:.LANCHOR167] -.L1755: - adrp x0, .LANCHOR53+32 + strb w0, [x21, #:lo12:.LANCHOR164] +.L1709: + adrp x0, .LANCHOR52+32 ldr x23, [sp, 48] ldp x19, x20, [sp, 16] - str wzr, [x0, #:lo12:.LANCHOR53+32] + str wzr, [x0, #:lo12:.LANCHOR52+32] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 80 ret -.L1752: +.L1706: mov w1, 0 -.L1756: +.L1710: ldr w2, [x20, 64] ldr w0, [x29, 64] ubfx x2, x2, 16, 6 ubfx x0, x0, 22, 6 cmp w2, w0 - bge .L1755 + bge .L1709 ldr w0, [x20] str w0, [x29, 72] ldr w0, [x29, 72] - tbz x0, 13, .L1754 + tbz x0, 13, .L1708 ldr w0, [x29, 72] - tbz x0, 17, .L1754 + tbz x0, 17, .L1708 ldr w1, [x29, 72] - adrp x0, .LC107 - add x0, x0, :lo12:.LC107 + adrp x0, .LC104 + add x0, x0, :lo12:.LC104 ubfx x1, x1, 17, 1 -.L1785: +.L1739: bl printf - b .L1755 -.L1751: - ldr x20, [x19, #:lo12:.LANCHOR13] + b .L1709 +.L1705: + ldr x20, [x19, #:lo12:.LANCHOR7] mov w21, 0 ldr w0, [x20, 8] str w0, [x29, 64] ldr w0, [x20, 16] - tbnz x0, 1, .L1761 - adrp x22, .LC109 - adrp x23, .LC110 - add x22, x22, :lo12:.LC109 - add x23, x23, :lo12:.LC110 -.L1762: + tbnz x0, 1, .L1715 + adrp x22, .LC106 + adrp x23, .LC107 + add x22, x22, :lo12:.LC106 + add x23, x23, :lo12:.LC107 +.L1716: ldr w0, [x29, 64] - tbnz x0, 20, .L1755 - ldr x0, [x19, #:lo12:.LANCHOR13] + tbnz x0, 20, .L1709 + ldr x0, [x19, #:lo12:.LANCHOR7] add w21, w21, 1 tst x21, 16777215 ldr w0, [x0, 8] str w0, [x29, 64] - bne .L1762 + bne .L1716 ldr w2, [x29, 64] mov w1, w21 ldr w3, [x20, 28] mov x0, x22 ubfx x3, x3, 16, 5 bl printf - ldr x1, [x19, #:lo12:.LANCHOR13] + ldr x1, [x19, #:lo12:.LANCHOR7] mov w3, 64 mov w2, 4 mov x0, x23 bl rknand_print_hex - b .L1762 -.L1761: - adrp x22, .LC108 - adrp x23, .LC110 - add x22, x22, :lo12:.LC108 - add x23, x23, :lo12:.LC110 -.L1763: + b .L1716 +.L1715: + adrp x22, .LC105 + adrp x23, .LC107 + add x22, x22, :lo12:.LC105 + add x23, x23, :lo12:.LC107 +.L1717: ldr w1, [x20, 28] ldr w0, [x29, 64] ubfx x1, x1, 16, 5 ubfx x0, x0, 22, 6 cmp w1, w0 - bge .L1755 - ldr x0, [x19, #:lo12:.LANCHOR13] + bge .L1709 + ldr x0, [x19, #:lo12:.LANCHOR7] ldr w0, [x0] str w0, [x29, 72] ldr w0, [x29, 72] - tbz x0, 13, .L1764 + tbz x0, 13, .L1718 ldr w0, [x29, 72] - tbz x0, 17, .L1764 - adrp x0, .LC111 + tbz x0, 17, .L1718 + adrp x0, .LC108 ldr w1, [x29, 72] - add x0, x0, :lo12:.LC111 - b .L1785 -.L1764: + add x0, x0, :lo12:.LC108 + b .L1739 +.L1718: add w21, w21, 1 tst x21, 16777215 - bne .L1763 + bne .L1717 ldr w2, [x20, 28] mov w1, w21 ldr w3, [x29, 64] @@ -10874,12 +10702,12 @@ nandc_xfer_done: ubfx x2, x2, 16, 5 ubfx x3, x3, 22, 6 bl printf - ldr x1, [x19, #:lo12:.LANCHOR13] + ldr x1, [x19, #:lo12:.LANCHOR7] mov w3, 64 mov w2, 4 mov x0, x23 bl rknand_print_hex - b .L1763 + b .L1717 .size nandc_xfer_done, .-nandc_xfer_done .section .text.nandc_xfer,"ax",@progbits .align 2 @@ -10901,20 +10729,20 @@ nandc_xfer: bl nandc_xfer_start mov w0, w22 bl nandc_xfer_done - cbnz w22, .L1805 - adrp x0, .LANCHOR28 - ldrb w0, [x0, #:lo12:.LANCHOR28] + cbnz w22, .L1759 + adrp x0, .LANCHOR27 + ldrb w0, [x0, #:lo12:.LANCHOR27] cmp w0, 9 - bne .L1788 - adrp x22, .LANCHOR13 + bne .L1742 + adrp x22, .LANCHOR7 lsr w19, w19, 2 mov w3, 1 mov w2, 0 - ldr x5, [x22, #:lo12:.LANCHOR13] + ldr x5, [x22, #:lo12:.LANCHOR7] mov w0, 0 -.L1789: +.L1743: cmp w2, w19 - bcc .L1793 + bcc .L1747 ldr w19, [x5] cmp w3, 0 mov w1, 512 @@ -10923,35 +10751,35 @@ nandc_xfer: movk w1, 0x2, lsl 16 and w1, w19, w1 cmp w1, 139264 - bne .L1795 + bne .L1749 mov w1, w19 - adrp x0, .LC112 - add x0, x0, :lo12:.LC112 + adrp x0, .LC109 + add x0, x0, :lo12:.LC109 bl printf - ldr x0, [x22, #:lo12:.LANCHOR13] + ldr x0, [x22, #:lo12:.LANCHOR7] orr w19, w19, 131072 str w19, [x0] mov w0, -1 -.L1795: - tbz x19, 13, .L1796 - adrp x1, .LANCHOR167 - ldrb w1, [x1, #:lo12:.LANCHOR167] - cbz w1, .L1796 +.L1749: + tbz x19, 13, .L1750 + adrp x1, .LANCHOR164 + ldrb w1, [x1, #:lo12:.LANCHOR164] + cbz w1, .L1750 mov w1, w19 - adrp x0, .LC113 - add x0, x0, :lo12:.LC113 + adrp x0, .LC110 + add x0, x0, :lo12:.LC110 bl printf - ldr x0, [x22, #:lo12:.LANCHOR13] + ldr x0, [x22, #:lo12:.LANCHOR7] mov w1, 1 str w1, [x0, 16] -.L1824: +.L1778: mov w0, -1 -.L1787: +.L1741: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 64 ret -.L1793: +.L1747: uxtw x1, w2 add x1, x1, 84 ldr w1, [x5, x1, lsl 2] @@ -10962,70 +10790,70 @@ nandc_xfer: and w1, w4, w1, lsr 10 and w3, w3, w1 ldr w1, [x29, 56] - tbnz x1, 2, .L1807 + tbnz x1, 2, .L1761 ldr w1, [x29, 56] - tbnz x1, 18, .L1807 + tbnz x1, 18, .L1761 ldr w4, [x29, 56] ldr w1, [x29, 56] ubfx x4, x4, 3, 7 ubfx x1, x1, 19, 7 cmp w4, w1 ldr w1, [x29, 56] - ble .L1791 + ble .L1745 ubfx x1, x1, 3, 7 -.L1792: +.L1746: cmp w0, w1 csel w0, w0, w1, cs -.L1790: +.L1744: add w2, w2, 1 - b .L1789 -.L1791: + b .L1743 +.L1745: ubfx x1, x1, 19, 7 - b .L1792 -.L1807: + b .L1746 +.L1761: mov w0, -1 - b .L1790 -.L1788: - adrp x0, .LANCHOR50 + b .L1744 +.L1742: + adrp x0, .LANCHOR49 lsr w4, w19, 1 mov w3, 64 mov w1, 1 - ldrb w0, [x0, #:lo12:.LANCHOR50] + ldrb w0, [x0, #:lo12:.LANCHOR49] mov w2, 0 - adrp x6, .LANCHOR53 + adrp x6, .LANCHOR52 cmp w0, 25 mov w0, 128 csel w3, w3, w0, cc mov w0, 0 -.L1798: +.L1752: add w5, w3, w0 cmp w2, w4 - bcc .L1799 - adrp x22, .LANCHOR13 + bcc .L1753 + adrp x22, .LANCHOR7 lsr w19, w19, 2 mov w3, 0 mov w0, 0 - ldr x4, [x22, #:lo12:.LANCHOR13] -.L1800: + ldr x4, [x22, #:lo12:.LANCHOR7] +.L1754: cmp w3, w19 - bcc .L1804 + bcc .L1758 str wzr, [x4, 16] mov w1, 8192 movk w1, 0x2, lsl 16 ldr w19, [x4] and w1, w19, w1 cmp w1, 139264 - bne .L1796 + bne .L1750 mov w1, w19 - adrp x0, .LC114 - add x0, x0, :lo12:.LC114 + adrp x0, .LC111 + add x0, x0, :lo12:.LC111 bl printf - ldr x0, [x22, #:lo12:.LANCHOR13] + ldr x0, [x22, #:lo12:.LANCHOR7] orr w19, w19, 131072 str w19, [x0] - b .L1824 -.L1799: - ldr x7, [x6, #:lo12:.LANCHOR53] + b .L1778 +.L1753: + ldr x7, [x6, #:lo12:.LANCHOR52] and x0, x0, 4294967292 ldr w0, [x7, x0] lsl w7, w2, 2 @@ -11041,16 +10869,16 @@ nandc_xfer: add w1, w1, 4 strb w0, [x21, x7] mov w0, w5 - b .L1798 -.L1804: + b .L1752 +.L1758: uxtw x1, w3 add x1, x1, 8 ldr w1, [x4, x1, lsl 2] str w1, [x29, 56] ldr w1, [x29, 56] - tbnz x1, 2, .L1810 + tbnz x1, 2, .L1764 ldr w1, [x29, 56] - tbnz x1, 15, .L1810 + tbnz x1, 15, .L1764 ldr w2, [x29, 56] ubfx x6, x2, 3, 5 ldr w2, [x29, 56] @@ -11063,163 +10891,169 @@ nandc_xfer: orr w1, w5, w1, lsl 5 cmp w2, w1 ldr w1, [x29, 56] - bls .L1802 + bls .L1756 ubfx x2, x1, 3, 5 ldr w1, [x29, 56] ubfx x1, x1, 27, 1 -.L1823: +.L1777: orr w1, w2, w1, lsl 5 cmp w0, w1 csel w0, w0, w1, cs -.L1801: +.L1755: add w3, w3, 1 - b .L1800 -.L1802: + b .L1754 +.L1756: ubfx x2, x1, 16, 5 ldr w1, [x29, 56] ubfx x1, x1, 29, 1 - b .L1823 -.L1810: + b .L1777 +.L1764: mov w0, -1 - b .L1801 -.L1796: + b .L1755 +.L1750: cmn w0, #1 - beq .L1787 + beq .L1741 ldr w1, [x21] cmn w1, #1 - bne .L1787 + bne .L1741 ldr w1, [x21, 4] cmn w1, #1 - bne .L1787 + bne .L1741 ldr w1, [x20] cmn w1, #1 mov w1, 512 csel w0, w0, w1, ne - b .L1787 -.L1805: + b .L1741 +.L1759: mov w0, 0 - b .L1787 + b .L1741 .size nandc_xfer, .-nandc_xfer .section .text.flash_read_page,"ax",@progbits .align 2 .global flash_read_page .type flash_read_page, %function flash_read_page: - stp x29, x30, [sp, -32]! - and w10, w0, 255 - adrp x0, .LANCHOR13 - mov w8, 24 + stp x29, x30, [sp, -80]! add x29, sp, 0 - ldr x14, [x0, #:lo12:.LANCHOR13] - adrp x0, .LANCHOR32 - mov x12, x2 - mov x13, x3 - ldrb w0, [x0, #:lo12:.LANCHOR32] - mov w11, w4 - ubfx x15, x1, 24, 2 - str x19, [sp, 16] - sub w0, w8, w0 - mov w8, 1 - adrp x19, .LANCHOR16 - lsl w8, w8, w0 - sub w8, w8, #1 - and w8, w8, w1 + stp x21, x22, [sp, 32] + and w21, w0, 255 + adrp x0, .LANCHOR7 + stp x19, x20, [sp, 16] + mov w19, 24 + stp x23, x24, [sp, 48] + ldr x20, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR31 + stp x25, x26, [sp, 64] + mov x24, x2 + ldrb w0, [x0, #:lo12:.LANCHOR31] + mov x25, x3 + mov w23, w4 + ubfx x22, x1, 24, 2 + sub w0, w19, w0 + mov w19, 1 + adrp x26, .LANCHOR21 + lsl w19, w19, w0 + sub w19, w19, #1 + and w19, w19, w1 bl nandc_wait_flash_ready - mov w0, w10 + mov w0, w21 bl nandc_cs - cbnz w15, .L1826 - mov w0, w10 + cbnz w22, .L1780 + mov w0, w21 bl zftl_flash_enter_slc_mode -.L1827: - ldr x1, [x19, #:lo12:.LANCHOR16] +.L1781: + ldr x1, [x26, #:lo12:.LANCHOR21] ldrb w0, [x1, 7] cmp w0, 1 - bne .L1829 + bne .L1783 ldrb w0, [x1, 12] cmp w0, 2 - bne .L1829 - sxtw x0, w10 + bne .L1783 + sxtw x0, w21 mov w2, 38 add x0, x0, 8 - add x0, x14, x0, lsl 8 + add x0, x20, x0, lsl 8 str w2, [x0, 8] -.L1829: - ubfiz x4, x10, 8, 8 - and w0, w8, 255 - add x4, x14, x4 - str wzr, [x4, 2056] - str wzr, [x4, 2052] - str wzr, [x4, 2052] - str w0, [x4, 2052] - lsr w0, w8, 8 - str w0, [x4, 2052] - lsr w0, w8, 16 - str w0, [x4, 2052] - adrp x0, .LANCHOR31 - ldrb w0, [x0, #:lo12:.LANCHOR31] - cbz w0, .L1830 - lsr w0, w8, 24 - str w0, [x4, 2052] -.L1830: +.L1783: + ubfiz x0, x21, 8, 8 + add x20, x20, x0 + and w0, w19, 255 + str wzr, [x20, 2056] + str wzr, [x20, 2052] + str wzr, [x20, 2052] + str w0, [x20, 2052] + lsr w0, w19, 8 + str w0, [x20, 2052] + lsr w0, w19, 16 + str w0, [x20, 2052] + adrp x0, .LANCHOR30 + ldrb w0, [x0, #:lo12:.LANCHOR30] + cbz w0, .L1784 + lsr w0, w19, 24 + str w0, [x20, 2052] +.L1784: mov w0, 48 - str w0, [x4, 2056] + str w0, [x20, 2056] ldrb w0, [x1, 12] cmp w0, 3 - bne .L1831 - cbz w15, .L1831 + bne .L1785 + cbz w22, .L1785 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L1785 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L1831 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbnz w0, .L1831 - add w8, w8, w8, lsl 1 - sub w0, w8, #1 - add w0, w0, w15 -.L1840: + cbnz w0, .L1785 + add w19, w19, w19, lsl 1 + sub w0, w19, #1 + add w0, w0, w22 +.L1794: bl nandc_set_seed bl nandc_wait_flash_ready - mov w2, w11 mov w0, 5 - str w0, [x4, 2056] - str wzr, [x4, 2052] + str w0, [x20, 2056] + str wzr, [x20, 2052] mov w0, 224 - str wzr, [x4, 2052] - mov x3, x12 - str w0, [x4, 2056] + str wzr, [x20, 2052] + mov w2, w23 + str w0, [x20, 2056] + mov x4, x25 + mov x3, x24 mov w1, 0 - mov x4, x13 - mov w0, w10 + mov w0, w21 bl nandc_xfer mov w2, w0 - bl nandc_de_cs.constprop.33 - ldr x19, [sp, 16] + bl nandc_de_cs.constprop.32 mov w0, w2 - ldp x29, x30, [sp], 32 + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] + ldp x29, x30, [sp], 80 ret -.L1826: - ldr x0, [x19, #:lo12:.LANCHOR16] +.L1780: + ldr x0, [x26, #:lo12:.LANCHOR21] ldrb w0, [x0, 12] cmp w0, 3 - bne .L1828 + bne .L1782 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L1782 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L1828 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbnz w0, .L1828 - sxtw x0, w10 + cbnz w0, .L1782 + sxtw x0, w21 add x0, x0, 8 - add x0, x14, x0, lsl 8 - str w15, [x0, 8] - b .L1827 -.L1828: - mov w0, w10 + add x0, x20, x0, lsl 8 + str w22, [x0, 8] + b .L1781 +.L1782: + mov w0, w21 bl zftl_flash_exit_slc_mode - b .L1827 -.L1831: - mov w0, w8 - b .L1840 + b .L1781 +.L1785: + mov w0, w19 + b .L1794 .size flash_read_page, .-flash_read_page .section .text.micron_read_retrial,"ax",@progbits .align 2 @@ -11229,137 +11063,138 @@ micron_read_retrial: stp x29, x30, [sp, -128]! add x29, sp, 0 stp x19, x20, [sp, 16] - and w19, w0, 255 - adrp x0, .LANCHOR50 - stp x25, x26, [sp, 64] - str w4, [x29, 116] - mov x26, x3 - str x2, [x29, 120] - stp x21, x22, [sp, 32] - mov w22, 0 + and w20, w0, 255 + adrp x0, .LANCHOR49 stp x23, x24, [sp, 48] - mov w23, w1 - ldrb w20, [x0, #:lo12:.LANCHOR50] + stp x25, x26, [sp, 64] + mov w24, w1 + stp x21, x22, [sp, 32] + mov x25, x2 + ldrb w21, [x0, #:lo12:.LANCHOR49] + mov x26, x3 stp x27, x28, [sp, 80] + mov w23, 0 + str w4, [x29, 124] bl nandc_wait_flash_ready - mov w0, w19 + adrp x0, .LANCHOR7 + add w21, w21, w21, lsl 1 + asr w21, w21, 2 + ldr x19, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR166 + add x0, x0, :lo12:.LANCHOR166 + str x0, [x29, 112] + ubfiz x0, x20, 8, 8 + add x19, x19, x0 +.L1796: + mov w0, w20 bl zftl_flash_enter_slc_mode - mov w0, w19 + mov w0, w20 bl zftl_flash_exit_slc_mode - adrp x0, .LANCHOR13 - add w20, w20, w20, lsl 1 - asr w20, w20, 2 - ldr x6, [x0, #:lo12:.LANCHOR13] - adrp x0, .LANCHOR169 - add x0, x0, :lo12:.LANCHOR169 - str x0, [x29, 104] - ubfiz x0, x19, 8, 8 - add x25, x6, x0 -.L1842: - adrp x24, .LANCHOR14 - add x24, x24, :lo12:.LANCHOR14 - mov w21, 0 + adrp x0, .LANCHOR19 + mov w22, 0 + add x0, x0, :lo12:.LANCHOR19 mov w28, -1 -.L1843: - ldr x0, [x29, 104] + str x0, [x29, 104] +.L1797: + ldr x0, [x29, 112] ldrb w0, [x0] - cmp w21, w0 - bcc .L1848 -.L1847: + cmp w22, w0 + bcc .L1802 +.L1801: mov w0, 239 - str w0, [x25, 2056] + str w0, [x19, 2056] mov w0, 137 - str w0, [x25, 2052] - mov w0, 200 - bl timer_delay_ns - str wzr, [x25, 2048] - str wzr, [x25, 2048] - cmp w28, w20 - str wzr, [x25, 2048] - str wzr, [x25, 2048] - bcc .L1849 + str w0, [x19, 2052] + mov x0, 1 + bl udelay + str wzr, [x19, 2048] + str wzr, [x19, 2048] + cmp w28, w21 + str wzr, [x19, 2048] + str wzr, [x19, 2048] + bcc .L1803 cmn w28, #1 mov w0, 256 csel w28, w28, w0, eq -.L1849: +.L1803: cmn w28, #1 - cset w24, eq + cset w27, eq cmp w28, 256 cset w0, eq - orr w0, w24, w0 - cbz w0, .L1850 + orr w0, w27, w0 + cbz w0, .L1804 mov w4, w28 - mov w3, w21 - mov w2, w23 - mov w1, w21 - adrp x0, .LC116 - add x0, x0, :lo12:.LC116 + mov w3, w22 + mov w2, w24 + mov w1, w20 + adrp x0, .LC113 + add x0, x0, :lo12:.LC113 bl printf - eor w0, w22, 1 - tst w24, w0 - beq .L1851 + eor w0, w23, 1 + tst w27, w0 + beq .L1805 mov w1, 3 - mov w0, w19 - mov w22, 1 + mov w0, w20 + mov w23, 1 bl mt_auto_read_calibration_config - b .L1842 -.L1848: + b .L1796 +.L1802: mov w0, 239 - str w0, [x25, 2056] + str w0, [x19, 2056] mov w0, 137 - str w0, [x25, 2052] - add w27, w21, 1 - mov w0, 200 - bl timer_delay_ns - str w27, [x25, 2048] - str wzr, [x25, 2048] + str w0, [x19, 2052] + add w27, w22, 1 + mov x0, 1 + bl udelay + str w27, [x19, 2048] + str wzr, [x19, 2048] mov x3, x26 - ldr w4, [x29, 116] - mov w1, w23 - ldr x2, [x29, 120] - mov w0, w19 - str wzr, [x25, 2048] - str wzr, [x25, 2048] + ldr w4, [x29, 124] + mov x2, x25 + str wzr, [x19, 2048] + mov w1, w24 + str wzr, [x19, 2048] + mov w0, w20 bl flash_read_page - mov w7, w0 - ldr w0, [x24] - tbz x0, 12, .L1844 - mov w4, w7 - str w7, [x29, 112] + mov w6, w0 + ldr x0, [x29, 104] + ldr w0, [x0] + tbz x0, 12, .L1798 + mov w4, w6 + str w6, [x29, 120] mov w3, w28 - mov w2, w23 - mov w1, w21 - adrp x0, .LC115 - add x0, x0, :lo12:.LC115 + mov w2, w24 + mov w1, w22 + adrp x0, .LC112 + add x0, x0, :lo12:.LC112 bl printf - ldr w7, [x29, 112] -.L1844: - cmn w7, #1 - beq .L1845 - adrp x0, .LANCHOR166 + ldr w6, [x29, 120] +.L1798: + cmn w6, #1 + beq .L1799 + adrp x0, .LANCHOR163 cmn w28, #1 - csel w28, w28, w7, ne - cmp w7, w20 - ldr x0, [x0, #:lo12:.LANCHOR166] - str x0, [x29, 120] - adrp x0, .LANCHOR168 - ldr x26, [x0, #:lo12:.LANCHOR168] - bcc .L1854 -.L1845: - mov w21, w27 - b .L1843 -.L1854: - mov w28, w7 - b .L1847 -.L1851: - cbz w22, .L1852 - mov w0, w19 + csel w28, w28, w6, ne + cmp w6, w21 + ldr x25, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR165 + ldr x26, [x0, #:lo12:.LANCHOR165] + bcc .L1808 +.L1799: + mov w22, w27 + b .L1797 +.L1808: + mov w28, w6 + b .L1801 +.L1805: + cbz w23, .L1806 + mov w0, w20 mov w1, 0 bl mt_auto_read_calibration_config cmn w28, #1 mov w0, 256 csel w28, w28, w0, eq -.L1852: +.L1806: bl nandc_wait_flash_ready mov w0, w28 ldp x19, x20, [sp, 16] @@ -11369,13 +11204,13 @@ micron_read_retrial: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L1850: - cbz w22, .L1852 +.L1804: + cbz w23, .L1806 mov w1, 0 - mov w0, w19 + mov w0, w20 mov w28, 256 bl mt_auto_read_calibration_config - b .L1852 + b .L1806 .size micron_read_retrial, .-micron_read_retrial .section .text.toshiba_3d_read_retrial,"ax",@progbits .align 2 @@ -11384,30 +11219,28 @@ micron_read_retrial: toshiba_3d_read_retrial: stp x29, x30, [sp, -144]! add x29, sp, 0 - stp x23, x24, [sp, 48] - mov w23, w1 - stp x27, x28, [sp, 80] - mov w28, w4 - ubfx x4, x23, 24, 2 - stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] - and w24, w0, 255 + adrp x22, .LANCHOR16 + stp x23, x24, [sp, 48] + mov w24, w1 stp x25, x26, [sp, 64] - mov x27, x3 + and w23, w0, 255 + stp x27, x28, [sp, 80] mov x26, x2 + stp x19, x20, [sp, 16] + mov x27, x3 + mov w28, w4 bl nandc_wait_flash_ready - adrp x0, .LANCHOR13 - adrp x22, .LANCHOR24 + adrp x0, .LANCHOR7 mov w1, 46 mov w2, 56 - ldr x25, [x0, #:lo12:.LANCHOR13] - and x0, x24, 255 + ubfx x19, x24, 24, 2 + ldr x25, [x0, #:lo12:.LANCHOR7] + and x0, x23, 255 add x21, x0, 8 str x0, [x29, 128] - ldrb w0, [x22, #:lo12:.LANCHOR24] - mov w19, -1 + ldrb w0, [x22, #:lo12:.LANCHOR16] add x21, x25, x21, lsl 8 - mov w20, 1 cmp w0, 36 mov w0, 26 csel w1, w2, w1, ne @@ -11415,18 +11248,20 @@ toshiba_3d_read_retrial: mov w1, 10 csel w0, w1, w0, ne str w0, [x29, 136] - add x0, x22, :lo12:.LANCHOR24 - cbnz w4, .L1872 + cbnz w19, .L1826 + add x0, x22, :lo12:.LANCHOR16 str x0, [x29, 120] - sxtw x0, w24 + sxtw x0, w23 + mov w19, -1 add x0, x0, 8 + mov w20, 1 add x0, x25, x0, lsl 8 str x0, [x29, 112] -.L1879: +.L1833: ldr x0, [x29, 120] ldrb w0, [x0] cmp w0, 36 - bne .L1873 + bne .L1827 mov w1, w20 mov x0, x21 mov w2, 0 @@ -11434,70 +11269,70 @@ toshiba_3d_read_retrial: ldr x1, [x29, 112] mov w0, 93 str w0, [x1, 8] -.L1874: +.L1828: mov w4, w28 mov x3, x27 mov x2, x26 - mov w1, w23 - mov w0, w24 + mov w1, w24 + mov w0, w23 bl flash_read_page mov w4, w0 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 4, .L1875 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 4, .L1829 mov w3, w4 str w4, [x29, 108] - mov w2, w23 + mov w2, w24 mov w1, w20 - adrp x0, .LC117 - add x0, x0, :lo12:.LC117 + adrp x0, .LC114 + add x0, x0, :lo12:.LC114 bl printf ldr w4, [x29, 108] -.L1875: +.L1829: cmn w4, #1 - beq .L1876 - adrp x0, .LANCHOR166 + beq .L1830 + adrp x0, .LANCHOR163 cmn w19, #1 csel w19, w19, w4, ne - ldr x26, [x0, #:lo12:.LANCHOR166] - adrp x0, .LANCHOR168 - ldr x27, [x0, #:lo12:.LANCHOR168] - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + ldr x26, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR165 + ldr x27, [x0, #:lo12:.LANCHOR165] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w4, w0, lsr 2 - bcc .L1894 -.L1876: + bcc .L1848 +.L1830: ldr w0, [x29, 136] add w20, w20, 1 cmp w0, w20 - bne .L1879 -.L1878: - ldrb w0, [x22, #:lo12:.LANCHOR24] + bne .L1833 +.L1832: + ldrb w0, [x22, #:lo12:.LANCHOR16] cmp w0, 36 - bne .L1880 + bne .L1834 mov w2, 0 -.L1917: +.L1871: mov w1, 0 mov x0, x21 bl toshiba_tlc_set_rr_para - b .L1881 -.L1873: + b .L1835 +.L1827: mov w1, w20 mov x0, x21 bl toshiba_3d_set_slc_rr_para - b .L1874 -.L1894: + b .L1828 +.L1848: mov w19, w4 - b .L1878 -.L1880: + b .L1832 +.L1834: mov w1, 0 mov x0, x21 bl toshiba_3d_set_slc_rr_para -.L1881: - ldrb w0, [x22, #:lo12:.LANCHOR24] +.L1835: + ldrb w0, [x22, #:lo12:.LANCHOR16] cmp w0, 36 - bne .L1890 + bne .L1844 ldr x0, [x29, 128] add x25, x25, x0, lsl 8 mov w0, 85 @@ -11506,27 +11341,27 @@ toshiba_3d_read_retrial: str wzr, [x25, 2052] str wzr, [x25, 2048] str w0, [x25, 2056] -.L1890: - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] +.L1844: + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w19, w0, lsr 2 - bcc .L1891 + bcc .L1845 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L1891: +.L1845: cmp w19, 256 ccmn w19, #1, 4, ne - bne .L1892 - adrp x0, .LC119 + bne .L1846 + adrp x0, .LC116 mov w4, w19 mov w3, w20 - mov w2, w23 - mov w1, w20 - add x0, x0, :lo12:.LC119 + mov w2, w24 + mov w1, w23 + add x0, x0, :lo12:.LC116 bl printf -.L1892: +.L1846: bl nandc_wait_flash_ready mov w0, w19 ldp x19, x20, [sp, 16] @@ -11536,82 +11371,85 @@ toshiba_3d_read_retrial: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 144 ret -.L1872: +.L1826: + add x0, x22, :lo12:.LANCHOR16 str x0, [x29, 112] - sxtw x0, w24 + sxtw x0, w23 + mov w19, -1 add x0, x0, 8 + mov w20, 1 add x0, x25, x0, lsl 8 str x0, [x29, 136] -.L1888: +.L1842: ldr x0, [x29, 112] ldrb w0, [x0] cmp w0, 36 - bne .L1882 + bne .L1836 mov x0, x21 mov w2, 1 mov w1, w20 bl toshiba_tlc_set_rr_para mov w0, 93 -.L1916: +.L1870: ldr x1, [x29, 136] mov w4, w28 mov x3, x27 mov x2, x26 str w0, [x1, 8] - mov w1, w23 - mov w0, w24 + mov w1, w24 + mov w0, w23 bl flash_read_page mov w4, w0 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 4, .L1884 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 4, .L1838 mov w3, w4 str w4, [x29, 108] - mov w2, w23 + mov w2, w24 mov w1, w20 - adrp x0, .LC118 - add x0, x0, :lo12:.LC118 + adrp x0, .LC115 + add x0, x0, :lo12:.LC115 bl printf ldr w4, [x29, 108] -.L1884: +.L1838: cmn w4, #1 - beq .L1885 - adrp x0, .LANCHOR166 + beq .L1839 + adrp x0, .LANCHOR163 cmn w19, #1 csel w19, w19, w4, ne - ldr x26, [x0, #:lo12:.LANCHOR166] - adrp x0, .LANCHOR168 - ldr x27, [x0, #:lo12:.LANCHOR168] - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + ldr x26, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR165 + ldr x27, [x0, #:lo12:.LANCHOR165] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w4, w0, lsr 2 - bcc .L1895 -.L1885: + bcc .L1849 +.L1839: ldr w0, [x29, 120] add w20, w20, 1 cmp w0, w20 - bne .L1888 -.L1887: - ldrb w0, [x22, #:lo12:.LANCHOR24] + bne .L1842 +.L1841: + ldrb w0, [x22, #:lo12:.LANCHOR16] cmp w0, 36 - bne .L1889 + bne .L1843 mov w2, 1 - b .L1917 -.L1882: + b .L1871 +.L1836: mov x0, x21 mov w1, w20 bl toshiba_3d_set_tlc_rr_para mov w0, 38 - b .L1916 -.L1895: + b .L1870 +.L1849: mov w19, w4 - b .L1887 -.L1889: + b .L1841 +.L1843: mov w1, 0 mov x0, x21 bl toshiba_3d_set_tlc_rr_para - b .L1881 + b .L1835 .size toshiba_3d_read_retrial, .-toshiba_3d_read_retrial .section .text.toshiba_read_retrial,"ax",@progbits .align 2 @@ -11635,87 +11473,87 @@ toshiba_read_retrial: bl zftl_flash_enter_slc_mode mov w0, w19 bl zftl_flash_exit_slc_mode - adrp x0, .LANCHOR13 - adrp x1, .LANCHOR24 + adrp x0, .LANCHOR7 + adrp x1, .LANCHOR16 str x1, [x29, 120] - ldr x22, [x0, #:lo12:.LANCHOR13] + ldr x22, [x0, #:lo12:.LANCHOR7] and x0, x19, 255 add x21, x0, 8 str x0, [x29, 104] - ldrb w0, [x1, #:lo12:.LANCHOR24] + ldrb w0, [x1, #:lo12:.LANCHOR16] add x21, x22, x21, lsl 8 sub w0, w0, #67 and w0, w0, 255 cmp w0, 1 - bls .L1936 - adrp x0, .LANCHOR21 - ldrb w0, [x0, #:lo12:.LANCHOR21] - cbz w0, .L1937 + bls .L1890 + adrp x0, .LANCHOR26 + ldrb w0, [x0, #:lo12:.LANCHOR26] + cbz w0, .L1891 mov w23, 1 mov w0, 1 bl nandc_set_if_mode -.L1920: +.L1874: and x0, x19, 255 mov w1, 92 add x0, x22, x0, lsl 8 str w1, [x0, 2056] mov w1, 197 str w1, [x0, 2056] -.L1919: +.L1873: sxtw x0, w19 mov w20, 1 add x0, x0, 8 mov w24, -1 add x0, x22, x0, lsl 8 str x0, [x29, 96] -.L1921: - adrp x0, .LANCHOR169 - ldrb w0, [x0, #:lo12:.LANCHOR169] +.L1875: + adrp x0, .LANCHOR166 + ldrb w0, [x0, #:lo12:.LANCHOR166] add w0, w0, 1 cmp w20, w0 - bcc .L1930 + bcc .L1884 mov w28, w24 -.L1929: +.L1883: ldr x0, [x29, 120] mov w1, 0 - ldrb w0, [x0, #:lo12:.LANCHOR24] + ldrb w0, [x0, #:lo12:.LANCHOR16] sub w0, w0, #67 and w0, w0, 255 cmp w0, 1 mov x0, x21 - bhi .L1931 + bhi .L1885 bl sandisk_set_rr_para -.L1932: +.L1886: sxtw x19, w19 mov w0, 255 add x19, x19, 8 add x22, x22, x19, lsl 8 str w0, [x22, 8] - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w28, w0, lsr 2 - bcc .L1933 + bcc .L1887 cmn w28, #1 mov w0, 256 csel w28, w28, w0, eq -.L1933: +.L1887: cmp w28, 256 ccmn w28, #1, 4, ne - bne .L1934 - adrp x0, .LC119 + bne .L1888 + adrp x0, .LC116 mov w4, w28 mov w3, w20 mov w2, w25 mov w1, w20 - add x0, x0, :lo12:.LC119 + add x0, x0, :lo12:.LC116 bl printf -.L1934: +.L1888: bl nandc_wait_flash_ready - cbz w23, .L1918 + cbz w23, .L1872 mov w0, 4 bl nandc_set_if_mode -.L1918: +.L1872: mov w0, w28 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -11724,36 +11562,36 @@ toshiba_read_retrial: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L1937: +.L1891: mov w23, 0 - b .L1920 -.L1936: + b .L1874 +.L1890: mov w23, 0 - b .L1919 -.L1930: + b .L1873 +.L1884: ldr x0, [x29, 120] mov w1, w20 - ldrb w0, [x0, #:lo12:.LANCHOR24] + ldrb w0, [x0, #:lo12:.LANCHOR16] sub w0, w0, #67 and w0, w0, 255 cmp w0, 1 mov x0, x21 - bhi .L1922 + bhi .L1876 bl sandisk_set_rr_para -.L1923: +.L1877: ldr x0, [x29, 120] - ldrb w0, [x0, #:lo12:.LANCHOR24] + ldrb w0, [x0, #:lo12:.LANCHOR16] cmp w0, 34 - bne .L1924 - adrp x0, .LANCHOR169 - ldrb w0, [x0, #:lo12:.LANCHOR169] + bne .L1878 + adrp x0, .LANCHOR166 + ldrb w0, [x0, #:lo12:.LANCHOR166] sub w0, w0, #3 cmp w20, w0 - bne .L1924 + bne .L1878 ldr x1, [x29, 96] mov w0, 179 str w0, [x1, 8] -.L1924: +.L1878: ldr x0, [x29, 104] mov w1, 38 ldr w4, [x29, 116] @@ -11768,27 +11606,27 @@ toshiba_read_retrial: bl flash_read_page mov w28, w0 cmn w0, #1 - beq .L1927 + beq .L1881 cmn w24, #1 csel w24, w24, w0, ne - adrp x0, .LANCHOR166 - ldr x26, [x0, #:lo12:.LANCHOR166] - adrp x0, .LANCHOR168 - ldr x27, [x0, #:lo12:.LANCHOR168] - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + adrp x0, .LANCHOR163 + ldr x26, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR165 + ldr x27, [x0, #:lo12:.LANCHOR165] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w28, w0, lsr 2 - bcc .L1929 -.L1927: + bcc .L1883 +.L1881: add w20, w20, 1 - b .L1921 -.L1922: + b .L1875 +.L1876: bl toshiba_set_rr_para - b .L1923 -.L1931: + b .L1877 +.L1885: bl toshiba_set_rr_para - b .L1932 + b .L1886 .size toshiba_read_retrial, .-toshiba_read_retrial .section .text.ymtc_3d_read_retrial,"ax",@progbits .align 2 @@ -11813,19 +11651,19 @@ ymtc_3d_read_retrial: bl zftl_flash_enter_slc_mode mov w0, w22 bl zftl_flash_exit_slc_mode - adrp x1, .LANCHOR13 + adrp x1, .LANCHOR7 ubfiz x21, x22, 8, 8 add x0, x21, 2048 - adrp x27, .LANCHOR50 - ldr x21, [x1, #:lo12:.LANCHOR13] + adrp x27, .LANCHOR49 + ldr x21, [x1, #:lo12:.LANCHOR7] mov w20, 1 - adrp x28, .LANCHOR166 - adrp x5, .LANCHOR168 + adrp x28, .LANCHOR163 + adrp x5, .LANCHOR165 add x21, x21, x0 - add x27, x27, :lo12:.LANCHOR50 + add x27, x27, :lo12:.LANCHOR49 tst x23, 50331648 - bne .L1960 -.L1955: + bne .L1914 +.L1909: str x5, [x29, 104] mov w1, w20 mov x0, x21 @@ -11838,44 +11676,44 @@ ymtc_3d_read_retrial: bl flash_read_page ldr x5, [x29, 104] cmn w0, #1 - beq .L1952 + beq .L1906 ldrb w1, [x27] cmn w19, #1 csel w19, w19, w0, ne - ldr x24, [x28, #:lo12:.LANCHOR166] - ldr x25, [x5, #:lo12:.LANCHOR168] + ldr x24, [x28, #:lo12:.LANCHOR163] + ldr x25, [x5, #:lo12:.LANCHOR165] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - bcc .L1963 -.L1952: + bcc .L1917 +.L1906: add w20, w20, 1 cmp w20, 10 - bne .L1955 -.L1954: + bne .L1909 +.L1908: mov w1, 0 mov x0, x21 bl ymtc_3d_set_slc_rr_para -.L1956: - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] +.L1910: + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w19, w0, lsr 2 - bcc .L1961 + bcc .L1915 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L1961: +.L1915: cmp w19, 256 ccmn w19, #1, 4, ne - bne .L1962 - adrp x0, .LC120 + bne .L1916 + adrp x0, .LC117 mov w4, w19 mov w3, w20 mov w2, w23 mov w1, w20 - add x0, x0, :lo12:.LC120 + add x0, x0, :lo12:.LC117 bl printf -.L1962: +.L1916: bl nandc_wait_flash_ready mov w0, w19 ldp x19, x20, [sp, 16] @@ -11885,10 +11723,10 @@ ymtc_3d_read_retrial: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 112 ret -.L1963: +.L1917: mov w19, w0 - b .L1954 -.L1960: + b .L1908 +.L1914: str x5, [x29, 104] mov w1, w20 mov x0, x21 @@ -11901,27 +11739,27 @@ ymtc_3d_read_retrial: bl flash_read_page ldr x5, [x29, 104] cmn w0, #1 - beq .L1957 + beq .L1911 ldrb w1, [x27] cmn w19, #1 csel w19, w19, w0, ne - ldr x24, [x28, #:lo12:.LANCHOR166] - ldr x25, [x5, #:lo12:.LANCHOR168] + ldr x24, [x28, #:lo12:.LANCHOR163] + ldr x25, [x5, #:lo12:.LANCHOR165] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - bcc .L1964 -.L1957: + bcc .L1918 +.L1911: add w20, w20, 1 cmp w20, 51 - bne .L1960 -.L1959: + bne .L1914 +.L1913: mov w1, 0 mov x0, x21 bl ymtc_3d_set_tlc_rr_para - b .L1956 -.L1964: + b .L1910 +.L1918: mov w19, w0 - b .L1959 + b .L1913 .size ymtc_3d_read_retrial, .-ymtc_3d_read_retrial .section .text.samsung_read_retrial,"ax",@progbits .align 2 @@ -11945,19 +11783,19 @@ samsung_read_retrial: bl zftl_flash_enter_slc_mode mov w0, w21 bl zftl_flash_exit_slc_mode - adrp x0, .LANCHOR13 + adrp x0, .LANCHOR7 tst x20, 50331648 and x5, x21, 255 - ldr x0, [x0, #:lo12:.LANCHOR13] - bne .L1980 - adrp x24, .LANCHOR170 - adrp x27, .LC121 + ldr x0, [x0, #:lo12:.LANCHOR7] + bne .L1934 + adrp x24, .LANCHOR167 + adrp x27, .LC118 add x28, x0, x5, lsl 8 - add x24, x24, :lo12:.LANCHOR170 - add x27, x27, :lo12:.LC121 + add x24, x24, :lo12:.LANCHOR167 + add x27, x27, :lo12:.LC118 mov x26, 0 mov w25, -1 -.L1985: +.L1939: mov w0, 239 str w0, [x28, 2056] mov w0, 141 @@ -11977,9 +11815,9 @@ samsung_read_retrial: mov w0, w21 bl flash_read_page mov w4, w0 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 4, .L1981 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 4, .L1935 mov w3, w4 str w4, [x29, 104] mov w2, w20 @@ -11987,26 +11825,26 @@ samsung_read_retrial: mov x0, x27 bl printf ldr w4, [x29, 104] -.L1981: +.L1935: cmn w4, #1 - beq .L1982 - adrp x0, .LANCHOR166 + beq .L1936 + adrp x0, .LANCHOR163 cmn w25, #1 csel w25, w25, w4, ne - ldr x22, [x0, #:lo12:.LANCHOR166] - adrp x0, .LANCHOR168 - ldr x23, [x0, #:lo12:.LANCHOR168] - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + ldr x22, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR165 + ldr x23, [x0, #:lo12:.LANCHOR165] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w4, w0, lsr 2 - bcc .L1994 -.L1982: + bcc .L1948 +.L1936: add x26, x26, 1 cmp x26, 25 - bne .L1985 + bne .L1939 mov w19, 26 -.L1984: +.L1938: mov w0, 239 str w0, [x28, 2056] mov w0, 141 @@ -12015,28 +11853,28 @@ samsung_read_retrial: str wzr, [x28, 2048] str wzr, [x28, 2048] str wzr, [x28, 2048] -.L2016: +.L1970: bl nandc_wait_flash_ready - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w25, w0, lsr 2 - bcc .L1992 + bcc .L1946 cmn w25, #1 mov w0, 256 csel w25, w25, w0, eq -.L1992: +.L1946: cmp w25, 256 ccmn w25, #1, 4, ne - bne .L1993 - adrp x0, .LC123 + bne .L1947 + adrp x0, .LC120 mov w4, w25 mov w3, w19 mov w2, w20 mov w1, w19 - add x0, x0, :lo12:.LC123 + add x0, x0, :lo12:.LC120 bl printf -.L1993: +.L1947: bl nandc_wait_flash_ready mov w0, w25 ldp x19, x20, [sp, 16] @@ -12046,20 +11884,20 @@ samsung_read_retrial: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 112 ret -.L1994: +.L1948: mov w25, w4 - b .L1984 -.L1980: - adrp x7, .LANCHOR171 - add x7, x7, :lo12:.LANCHOR171 - adrp x24, .LC122 + b .L1938 +.L1934: + adrp x7, .LANCHOR168 + add x7, x7, :lo12:.LANCHOR168 + adrp x24, .LC119 add x28, x7, 4 add x27, x0, x5, lsl 8 - add x24, x24, :lo12:.LC122 + add x24, x24, :lo12:.LC119 mov w25, -1 mov w19, 1 mov w26, 137 -.L1991: +.L1945: mov w0, 239 str w0, [x27, 2056] str w26, [x27, 2052] @@ -12079,9 +11917,9 @@ samsung_read_retrial: mov w0, w21 bl flash_read_page mov w4, w0 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 4, .L1987 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 4, .L1941 mov w3, w4 str w4, [x29, 104] mov w2, w20 @@ -12089,26 +11927,26 @@ samsung_read_retrial: mov x0, x24 bl printf ldr w4, [x29, 104] -.L1987: +.L1941: cmn w4, #1 - beq .L1988 - adrp x0, .LANCHOR166 + beq .L1942 + adrp x0, .LANCHOR163 cmn w25, #1 csel w25, w25, w4, ne - ldr x22, [x0, #:lo12:.LANCHOR166] - adrp x0, .LANCHOR168 - ldr x23, [x0, #:lo12:.LANCHOR168] - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + ldr x22, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR165 + ldr x23, [x0, #:lo12:.LANCHOR165] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] add w0, w0, w0, lsl 1 cmp w4, w0, lsr 2 - bcc .L1995 -.L1988: + bcc .L1949 +.L1942: add w19, w19, 1 add x28, x28, 4 cmp w19, 26 - bne .L1991 -.L1990: + bne .L1945 +.L1944: mov w0, 239 str w0, [x27, 2056] mov w0, 137 @@ -12117,10 +11955,10 @@ samsung_read_retrial: str wzr, [x27, 2048] str wzr, [x27, 2048] str wzr, [x27, 2048] - b .L2016 -.L1995: + b .L1970 +.L1949: mov w25, w4 - b .L1990 + b .L1944 .size samsung_read_retrial, .-samsung_read_retrial .section .text.hynix_read_retrial,"ax",@progbits .align 2 @@ -12131,11 +11969,11 @@ hynix_read_retrial: add x29, sp, 0 stp x23, x24, [sp, 48] and x23, x0, 255 - adrp x0, .LANCHOR27 + adrp x0, .LANCHOR6 stp x27, x28, [sp, 80] stp x21, x22, [sp, 32] mov w27, w4 - ldr x28, [x0, #:lo12:.LANCHOR27] + ldr x28, [x0, #:lo12:.LANCHOR6] mov w22, w1 stp x25, x26, [sp, 64] mov x25, x2 @@ -12152,37 +11990,37 @@ hynix_read_retrial: bl zftl_flash_enter_slc_mode mov w0, w23 bl zftl_flash_exit_slc_mode - adrp x6, .LANCHOR50 - add x6, x6, :lo12:.LANCHOR50 + adrp x6, .LANCHOR49 + add x6, x6, :lo12:.LANCHOR49 mov w5, 0 - adrp x7, .LANCHOR166 - adrp x8, .LANCHOR168 -.L2018: + adrp x7, .LANCHOR163 + adrp x8, .LANCHOR165 +.L1972: cmp w5, w24 - bcc .L2023 -.L2022: - adrp x0, .LANCHOR50 + bcc .L1977 +.L1976: + adrp x0, .LANCHOR49 add x23, x28, x23 - ldrb w0, [x0, #:lo12:.LANCHOR50] + ldrb w0, [x0, #:lo12:.LANCHOR49] strb w20, [x23, 8] add w0, w0, w0, lsl 1 cmp w19, w0, lsr 2 - bcc .L2024 + bcc .L1978 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L2024: +.L1978: cmp w19, 256 ccmn w19, #1, 4, ne - bne .L2025 - adrp x0, .LC124 + bne .L1979 + adrp x0, .LC121 mov w4, w19 mov w3, w5 mov w2, w22 mov w1, w5 - add x0, x0, :lo12:.LC124 + add x0, x0, :lo12:.LC121 bl printf -.L2025: +.L1979: bl nandc_wait_flash_ready mov w0, w19 ldp x19, x20, [sp, 16] @@ -12192,7 +12030,7 @@ hynix_read_retrial: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L2023: +.L1977: add w20, w20, 1 stp x6, x8, [x29, 96] and w20, w20, 255 @@ -12213,21 +12051,21 @@ hynix_read_retrial: cmn w0, #1 ldp x6, x8, [x29, 96] ldr x7, [x29, 112] - beq .L2020 + beq .L1974 ldrb w1, [x6] cmn w19, #1 csel w19, w19, w0, ne - ldr x25, [x7, #:lo12:.LANCHOR166] - ldr x26, [x8, #:lo12:.LANCHOR168] + ldr x25, [x7, #:lo12:.LANCHOR163] + ldr x26, [x8, #:lo12:.LANCHOR165] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - bcc .L2026 -.L2020: + bcc .L1980 +.L1974: add w5, w5, 1 - b .L2018 -.L2026: + b .L1972 +.L1980: mov w19, w0 - b .L2022 + b .L1976 .size hynix_read_retrial, .-hynix_read_retrial .section .text.flash_ddr_tuning_read,"ax",@progbits .align 2 @@ -12245,25 +12083,25 @@ flash_ddr_tuning_read: stp x25, x26, [sp, 64] mov x24, x3 stp x27, x28, [sp, 80] - adrp x25, .LANCHOR50 + adrp x25, .LANCHOR49 str w4, [x29, 136] bl nandc_get_ddr_para - add x25, x25, :lo12:.LANCHOR50 + add x25, x25, :lo12:.LANCHOR49 str w0, [x29, 132] - adrp x0, .LANCHOR14 - add x0, x0, :lo12:.LANCHOR14 + adrp x0, .LANCHOR19 + add x0, x0, :lo12:.LANCHOR19 mov w28, 0 str x0, [x29, 120] mov w26, 0 - adrp x0, .LC125 + adrp x0, .LC122 mov w27, 0 - add x0, x0, :lo12:.LC125 + add x0, x0, :lo12:.LC122 mov w19, 1024 mov w21, -1 mov w7, 6 str wzr, [x29, 140] str x0, [x29, 112] -.L2042: +.L1996: mov w0, w7 str w7, [x29, 128] bl nandc_set_ddr_para @@ -12277,7 +12115,7 @@ flash_ddr_tuning_read: ldr x0, [x29, 120] ldr w7, [x29, 128] ldr w0, [x0] - tbz x0, 4, .L2037 + tbz x0, 4, .L1991 ldr x0, [x29, 112] mov w3, w4 mov w1, w7 @@ -12287,50 +12125,50 @@ flash_ddr_tuning_read: bl printf ldr w4, [x29, 108] ldr w7, [x29, 128] -.L2037: +.L1991: add w0, w19, 1 cmp w4, w0 - bhi .L2038 - adrp x0, .LANCHOR166 - ldr x23, [x0, #:lo12:.LANCHOR166] - adrp x0, .LANCHOR168 - ldr x24, [x0, #:lo12:.LANCHOR168] + bhi .L1992 + adrp x0, .LANCHOR163 + ldr x23, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR165 + ldr x24, [x0, #:lo12:.LANCHOR165] ldrb w0, [x25] cmp w4, w0, lsr 2 - bcs .L2048 + bcs .L2002 add w27, w27, 1 cmp w27, 7 - bls .L2048 + bls .L2002 sub w28, w7, w27 mov w19, w4 mov w21, 0 -.L2040: +.L1994: ldr w0, [x29, 140] cmp w27, w26 csel w28, w28, w0, cs -.L2041: - cbz w28, .L2043 - adrp x0, .LANCHOR50 +.L1995: + cbz w28, .L1997 + adrp x0, .LANCHOR49 mov w1, 3 - ldrb w0, [x0, #:lo12:.LANCHOR50] + ldrb w0, [x0, #:lo12:.LANCHOR49] udiv w0, w0, w1 cmp w0, w19 - bls .L2043 + bls .L1997 mov w1, w28 - adrp x0, .LC126 - add x0, x0, :lo12:.LC126 + adrp x0, .LC123 + add x0, x0, :lo12:.LC123 bl printf mov w0, w28 -.L2062: +.L2016: bl nandc_set_ddr_para - cbz w21, .L2036 - adrp x25, .LANCHOR49 - ldrb w0, [x25, #:lo12:.LANCHOR49] - tbz x0, 0, .L2036 + cbz w21, .L1990 + adrp x25, .LANCHOR48 + ldrb w0, [x25, #:lo12:.LANCHOR48] + tbz x0, 0, .L1990 mov w2, w22 mov w1, w20 - adrp x0, .LC127 - add x0, x0, :lo12:.LC127 + adrp x0, .LC124 + add x0, x0, :lo12:.LC124 bl printf mov w0, w20 bl flash_reset @@ -12338,8 +12176,8 @@ flash_ddr_tuning_read: bl flash_set_interface_mode mov w0, 1 bl nandc_set_if_mode - adrp x0, .LANCHOR34 - add x0, x0, :lo12:.LANCHOR34 + adrp x0, .LANCHOR33 + add x0, x0, :lo12:.LANCHOR33 mov w1, 2 strb w1, [x0, w20, sxtw] mov w0, w20 @@ -12354,22 +12192,22 @@ flash_ddr_tuning_read: mov w3, w0 mov w2, w22 mov w1, w20 - adrp x0, .LC128 - add x0, x0, :lo12:.LC128 + adrp x0, .LC125 + add x0, x0, :lo12:.LC125 bl printf - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] cmp w19, w0 - bhi .L2050 - adrp x1, .LANCHOR172 - ldr w0, [x1, #:lo12:.LANCHOR172] + bhi .L2004 + adrp x1, .LANCHOR169 + ldr w0, [x1, #:lo12:.LANCHOR169] add w0, w0, 1 - str w0, [x1, #:lo12:.LANCHOR172] + str w0, [x1, #:lo12:.LANCHOR169] cmp w0, 100 - bls .L2046 - adrp x0, .LANCHOR21 - strb wzr, [x0, #:lo12:.LANCHOR21] -.L2036: + bls .L2000 + adrp x0, .LANCHOR26 + strb wzr, [x0, #:lo12:.LANCHOR26] +.L1990: mov w0, w19 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -12378,37 +12216,37 @@ flash_ddr_tuning_read: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 144 ret -.L2038: +.L1992: cmp w27, w26 - bls .L2049 + bls .L2003 sub w0, w28, w27 str w0, [x29, 140] cmp w27, 7 - bhi .L2041 + bhi .L1995 mov w26, w27 -.L2049: +.L2003: mov w27, 0 - b .L2039 -.L2048: + b .L1993 +.L2002: mov w28, w7 mov w19, w4 mov w21, 0 -.L2039: +.L1993: add w7, w7, 2 cmp w7, 50 - bne .L2042 - b .L2040 -.L2043: + bne .L1996 + b .L1994 +.L1997: ldrb w0, [x29, 132] - b .L2062 -.L2050: + b .L2016 +.L2004: mov w19, w21 -.L2046: - ldrb w0, [x25, #:lo12:.LANCHOR49] +.L2000: + ldrb w0, [x25, #:lo12:.LANCHOR48] bl flash_set_interface_mode - ldrb w0, [x25, #:lo12:.LANCHOR49] + ldrb w0, [x25, #:lo12:.LANCHOR48] bl nandc_set_if_mode - b .L2036 + b .L1990 .size flash_ddr_tuning_read, .-flash_ddr_tuning_read .section .text.flash_read_page_en,"ax",@progbits .align 2 @@ -12419,70 +12257,70 @@ flash_read_page_en: add x29, sp, 0 stp x19, x20, [sp, 16] and w20, w0, 255 - adrp x0, .LANCHOR18 + adrp x0, .LANCHOR23 stp x23, x24, [sp, 48] stp x21, x22, [sp, 32] mov w19, w1 str x25, [sp, 64] mov x22, x2 - ldrb w1, [x0, #:lo12:.LANCHOR18] + ldrb w1, [x0, #:lo12:.LANCHOR23] mov x23, x3 mov w24, w4 mov x25, x0 cmp w1, w20 - bhi .L2064 - adrp x1, .LANCHOR173 + bhi .L2018 + adrp x1, .LANCHOR170 adrp x0, .LC0 - mov w2, 428 - add x1, x1, :lo12:.LANCHOR173 + mov w2, 431 + add x1, x1, :lo12:.LANCHOR170 add x0, x0, :lo12:.LC0 bl printf -.L2064: - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 - ldrb w4, [x25, #:lo12:.LANCHOR18] +.L2018: + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 + ldrb w4, [x25, #:lo12:.LANCHOR23] ldrb w21, [x0, w20, sxtw] cmp w20, w4 - bcc .L2065 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbnz x0, 6, .L2066 -.L2090: + bcc .L2019 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbnz x0, 6, .L2020 +.L2044: mov w0, -1 -.L2063: +.L2017: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldr x25, [sp, 64] ldp x29, x30, [sp], 80 ret -.L2066: +.L2020: mov w3, w19 mov w2, w20 mov w1, w21 - adrp x0, .LC129 - add x0, x0, :lo12:.LC129 + adrp x0, .LC126 + add x0, x0, :lo12:.LC126 bl printf - b .L2090 -.L2065: + b .L2044 +.L2019: tst x19, 50331648 - bne .L2068 + bne .L2022 adrp x0, .LANCHOR0 adrp x1, .LANCHOR1 ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L2069 + cbz w0, .L2023 ldrb w0, [x1, #:lo12:.LANCHOR1] - cbz w0, .L2068 -.L2069: + cbz w0, .L2022 +.L2023: adrp x0, .LANCHOR2 ldrb w1, [x1, #:lo12:.LANCHOR1] ldrh w2, [x0, #:lo12:.LANCHOR2] udiv w0, w19, w2 mul w0, w0, w2 sub w19, w19, w0 - cbz w1, .L2070 + cbz w1, .L2024 add w19, w0, w19, lsl 1 -.L2068: +.L2022: mov w4, w24 mov x3, x23 mov x2, x22 @@ -12490,25 +12328,25 @@ flash_read_page_en: mov w0, w21 bl flash_read_page cmn w0, #1 - bne .L2063 - adrp x20, .LANCHOR52 - ldrb w25, [x20, #:lo12:.LANCHOR52] - cbnz w25, .L2071 -.L2074: - adrp x0, .LANCHOR174 - ldr x5, [x0, #:lo12:.LANCHOR174] - cbnz x5, .L2072 -.L2073: - ldrb w4, [x20, #:lo12:.LANCHOR52] + bne .L2017 + adrp x20, .LANCHOR51 + ldrb w25, [x20, #:lo12:.LANCHOR51] + cbnz w25, .L2025 +.L2028: + adrp x0, .LANCHOR171 + ldr x5, [x0, #:lo12:.LANCHOR171] + cbnz x5, .L2026 +.L2027: + ldrb w4, [x20, #:lo12:.LANCHOR51] mov w3, -1 mov w2, w19 mov w1, 0 - adrp x0, .LC130 - add x0, x0, :lo12:.LC130 + adrp x0, .LC127 + add x0, x0, :lo12:.LC127 bl printf - adrp x0, .LANCHOR21 - ldrb w0, [x0, #:lo12:.LANCHOR21] - cbz w0, .L2090 + adrp x0, .LANCHOR26 + ldrb w0, [x0, #:lo12:.LANCHOR26] + cbz w0, .L2044 mov w4, w24 mov x3, x23 mov x2, x22 @@ -12520,25 +12358,25 @@ flash_read_page_en: ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 80 b flash_ddr_tuning_read -.L2070: +.L2024: adrp x1, .LANCHOR3 add x1, x1, :lo12:.LANCHOR3 ldrh w19, [x1, w19, uxtw 1] add w19, w19, w0 - b .L2068 -.L2071: - strb wzr, [x20, #:lo12:.LANCHOR52] + b .L2022 +.L2025: + strb wzr, [x20, #:lo12:.LANCHOR51] mov w4, w24 mov x3, x23 mov x2, x22 mov w1, w19 mov w0, w21 bl flash_read_page - strb w25, [x20, #:lo12:.LANCHOR52] + strb w25, [x20, #:lo12:.LANCHOR51] cmn w0, #1 - beq .L2074 - b .L2063 -.L2072: + beq .L2028 + b .L2017 +.L2026: mov w4, w24 mov x3, x23 mov x2, x22 @@ -12546,8 +12384,8 @@ flash_read_page_en: mov w0, w21 blr x5 cmn w0, #1 - beq .L2073 - b .L2063 + beq .L2027 + b .L2017 .size flash_read_page_en, .-flash_read_page_en .section .text.flash_get_last_written_page,"ax",@progbits .align 2 @@ -12558,15 +12396,15 @@ flash_get_last_written_page: add x29, sp, 0 stp x23, x24, [sp, 48] and w23, w0, 255 - adrp x0, .LANCHOR147 + adrp x0, .LANCHOR144 stp x19, x20, [sp, 16] stp x25, x26, [sp, 64] mov x24, x2 - ldrh w19, [x0, #:lo12:.LANCHOR147] - adrp x0, .LANCHOR33+26 + ldrh w19, [x0, #:lo12:.LANCHOR144] + adrp x0, .LANCHOR32+26 stp x21, x22, [sp, 32] and w21, w1, 65535 - ldrh w26, [x0, #:lo12:.LANCHOR33+26] + ldrh w26, [x0, #:lo12:.LANCHOR32+26] sub w19, w19, #1 sxth w19, w19 stp x27, x28, [sp, 80] @@ -12577,23 +12415,23 @@ flash_get_last_written_page: add w1, w19, w26 bl flash_read_page_en cmp w0, 512 - bne .L2092 + bne .L2046 mov w27, 0 mov w28, 2 -.L2093: +.L2047: cmp w27, w19 - ble .L2096 -.L2092: - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L2097 + ble .L2050 +.L2046: + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L2051 ldr w3, [x22] - adrp x0, .LC131 + adrp x0, .LC128 mov w2, w19 mov w1, w21 - add x0, x0, :lo12:.LC131 + add x0, x0, :lo12:.LC128 bl printf -.L2097: +.L2051: mov w0, w19 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -12602,7 +12440,7 @@ flash_get_last_written_page: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 96 ret -.L2096: +.L2050: add w20, w27, w19 mov w4, w25 mov x3, x22 @@ -12612,28 +12450,28 @@ flash_get_last_written_page: add w1, w26, w20, sxth bl flash_read_page_en cmp w0, 512 - bne .L2094 + bne .L2048 sub w19, w20, #1 sxth w19, w19 - b .L2093 -.L2094: + b .L2047 +.L2048: add w20, w20, 1 sxth w27, w20 - b .L2093 + b .L2047 .size flash_get_last_written_page, .-flash_get_last_written_page .section .text.flash_get_last_written_page_ext,"ax",@progbits .align 2 .global flash_get_last_written_page_ext .type flash_get_last_written_page_ext, %function flash_get_last_written_page_ext: - adrp x4, .LANCHOR32 + adrp x4, .LANCHOR31 mov w5, 24 and w0, w0, 65535 mov w6, 1 - ldrb w4, [x4, #:lo12:.LANCHOR32] + ldrb w4, [x4, #:lo12:.LANCHOR31] sub w5, w5, w4 - adrp x4, .LANCHOR75 - ldrh w4, [x4, #:lo12:.LANCHOR75] + adrp x4, .LANCHOR74 + ldrh w4, [x4, #:lo12:.LANCHOR74] sub w5, w5, w4 mov w4, w3 mov x3, x2 @@ -12652,44 +12490,44 @@ flash_ddr_para_scan: stp x29, x30, [sp, -80]! add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x20, .LANCHOR49 + adrp x20, .LANCHOR48 stp x21, x22, [sp, 32] and w22, w0, 255 - ldrb w0, [x20, #:lo12:.LANCHOR49] - adrp x19, .LANCHOR21 + ldrb w0, [x20, #:lo12:.LANCHOR48] + adrp x19, .LANCHOR26 stp x23, x24, [sp, 48] mov w21, 1 mov w23, w1 str x25, [sp, 64] - strb w21, [x19, #:lo12:.LANCHOR21] - adrp x24, .LANCHOR176 + strb w21, [x19, #:lo12:.LANCHOR26] + adrp x24, .LANCHOR173 bl flash_set_interface_mode - adrp x25, .LANCHOR175 - ldrb w0, [x20, #:lo12:.LANCHOR49] + adrp x25, .LANCHOR172 + ldrb w0, [x20, #:lo12:.LANCHOR48] bl nandc_set_if_mode - ldr x3, [x25, #:lo12:.LANCHOR175] + ldr x3, [x25, #:lo12:.LANCHOR172] mov w4, 4 - ldr x2, [x24, #:lo12:.LANCHOR176] + ldr x2, [x24, #:lo12:.LANCHOR173] mov w1, w23 mov w0, w22 bl flash_ddr_tuning_read - ldr x3, [x25, #:lo12:.LANCHOR175] + ldr x3, [x25, #:lo12:.LANCHOR172] mov w4, 4 - ldr x2, [x24, #:lo12:.LANCHOR176] + ldr x2, [x24, #:lo12:.LANCHOR173] mov w1, w23 mov w0, w22 bl flash_read_page cmn w0, #1 mov x0, x19 - bne .L2104 - ldrb w1, [x20, #:lo12:.LANCHOR49] - tbz x1, 0, .L2104 + bne .L2058 + ldrb w1, [x20, #:lo12:.LANCHOR48] + tbz x1, 0, .L2058 mov w0, 1 bl flash_set_interface_mode mov w0, w21 bl nandc_set_if_mode - strb wzr, [x19, #:lo12:.LANCHOR21] -.L2105: + strb wzr, [x19, #:lo12:.LANCHOR26] +.L2059: mov w0, 0 ldr x25, [sp, 64] ldp x19, x20, [sp, 16] @@ -12697,59 +12535,49 @@ flash_ddr_para_scan: ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 80 ret -.L2104: +.L2058: mov w1, 1 - strb w1, [x0, #:lo12:.LANCHOR21] - b .L2105 + strb w1, [x0, #:lo12:.LANCHOR26] + b .L2059 .size flash_ddr_para_scan, .-flash_ddr_para_scan .section .text.flash_prog_page,"ax",@progbits .align 2 .global flash_prog_page .type flash_prog_page, %function flash_prog_page: - stp x29, x30, [sp, -96]! + stp x29, x30, [sp, -80]! add x29, sp, 0 stp x21, x22, [sp, 32] and w21, w0, 255 - adrp x0, .LANCHOR13 + adrp x0, .LANCHOR7 stp x25, x26, [sp, 64] stp x19, x20, [sp, 16] mov w20, 24 - ldr x26, [x0, #:lo12:.LANCHOR13] - adrp x0, .LANCHOR32 - stp x23, x24, [sp, 48] + ldr x26, [x0, #:lo12:.LANCHOR7] + adrp x0, .LANCHOR31 mov w22, w1 - ldrb w0, [x0, #:lo12:.LANCHOR32] - and x19, x21, 255 - str x27, [sp, 80] - add x23, x19, 8 - sub w0, w20, w0 - mov w20, 1 + stp x23, x24, [sp, 48] + ldrb w0, [x0, #:lo12:.LANCHOR31] mov x24, x2 mov x25, x3 + and x19, x21, 255 + sub w0, w20, w0 + mov w20, 1 + add x23, x19, 8 lsl w20, w20, w0 - adrp x0, .LANCHOR14 sub w20, w20, #1 - add x23, x26, x23, lsl 8 - ldr w0, [x0, #:lo12:.LANCHOR14] and w20, w20, w1 - ubfx x27, x22, 24, 2 - tbz x0, 4, .L2111 - adrp x0, .LC132 - mov w3, w4 - mov w2, w27 - add x0, x0, :lo12:.LC132 - bl printf -.L2111: bl nandc_wait_flash_ready mov w0, w21 bl hynix_reconfig_rr_para mov w0, w21 bl nandc_cs + add x23, x26, x23, lsl 8 mov w0, w21 - cbnz w27, .L2112 + tst x22, 50331648 + bne .L2065 bl zftl_flash_enter_slc_mode -.L2113: +.L2066: add x19, x26, x19, lsl 8 mov w0, 128 str w0, [x19, 2056] @@ -12761,19 +12589,19 @@ flash_prog_page: str w0, [x19, 2052] lsr w0, w20, 16 str w0, [x19, 2052] - adrp x0, .LANCHOR31 - ldrb w0, [x0, #:lo12:.LANCHOR31] - cbz w0, .L2114 + adrp x0, .LANCHOR30 + ldrb w0, [x0, #:lo12:.LANCHOR30] + cbz w0, .L2067 lsr w0, w20, 24 str w0, [x19, 2052] -.L2114: +.L2067: mov w0, w20 bl nandc_set_seed - adrp x0, .LANCHOR33+9 + adrp x0, .LANCHOR32+9 mov x4, x25 mov x3, x24 mov w1, 1 - ldrb w2, [x0, #:lo12:.LANCHOR33+9] + ldrb w2, [x0, #:lo12:.LANCHOR32+9] mov w0, w21 bl nandc_xfer mov w0, 16 @@ -12782,26 +12610,25 @@ flash_prog_page: mov x0, x23 bl flash_read_status mov w3, w0 - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 and w2, w3, 4 - tbz x3, 2, .L2110 + tbz x3, 2, .L2064 mov w1, w22 - adrp x0, .LC133 - add x0, x0, :lo12:.LC133 + adrp x0, .LC129 + add x0, x0, :lo12:.LC129 bl printf mov w2, -1 -.L2110: +.L2064: mov w0, w2 - ldr x27, [sp, 80] ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x25, x26, [sp, 64] - ldp x29, x30, [sp], 96 + ldp x29, x30, [sp], 80 ret -.L2112: +.L2065: bl zftl_flash_exit_slc_mode - b .L2113 + b .L2066 .size flash_prog_page, .-flash_prog_page .section .text.flash_test_blk,"ax",@progbits .align 2 @@ -12812,16 +12639,16 @@ flash_test_blk: mov w2, 32 add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x22, .LANCHOR166 + adrp x22, .LANCHOR163 stp x19, x20, [sp, 16] and w20, w0, 255 - ldr x0, [x22, #:lo12:.LANCHOR166] - adrp x21, .LANCHOR168 + ldr x0, [x22, #:lo12:.LANCHOR163] + adrp x21, .LANCHOR165 and w19, w1, 65535 str x23, [sp, 48] mov w1, 165 bl ftl_memset - ldr x0, [x21, #:lo12:.LANCHOR168] + ldr x0, [x21, #:lo12:.LANCHOR165] mov w2, 8 mov w1, 90 bl ftl_memset @@ -12832,10 +12659,10 @@ flash_test_blk: mov w1, w19 bl flash_erase_block cmn w0, #1 - bne .L2127 -.L2129: + bne .L2077 +.L2079: mov w21, -1 -.L2128: +.L2078: mov w1, w19 mov w0, w20 bl flash_erase_block @@ -12845,38 +12672,38 @@ flash_test_blk: ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 64 ret -.L2127: - adrp x23, .LANCHOR33 - add x23, x23, :lo12:.LANCHOR33 - ldr x3, [x21, #:lo12:.LANCHOR168] +.L2077: + adrp x23, .LANCHOR32 + add x23, x23, :lo12:.LANCHOR32 + ldr x3, [x21, #:lo12:.LANCHOR165] mov w1, w19 - ldr x2, [x22, #:lo12:.LANCHOR166] + ldr x2, [x22, #:lo12:.LANCHOR163] mov w0, w20 ldrb w4, [x23, 9] bl flash_prog_page cmn w0, #1 - beq .L2129 + beq .L2079 ldrb w4, [x23, 9] mov w1, w19 - ldr x3, [x21, #:lo12:.LANCHOR168] + ldr x3, [x21, #:lo12:.LANCHOR165] mov w0, w20 - ldr x2, [x22, #:lo12:.LANCHOR166] + ldr x2, [x22, #:lo12:.LANCHOR163] bl flash_read_page_en cmn w0, #1 - beq .L2129 - ldr x0, [x22, #:lo12:.LANCHOR166] + beq .L2079 + ldr x0, [x22, #:lo12:.LANCHOR163] ldr w1, [x0] mov w0, 42405 movk w0, 0xa5a5, lsl 16 cmp w1, w0 - bne .L2129 - ldr x0, [x21, #:lo12:.LANCHOR168] + bne .L2079 + ldr x0, [x21, #:lo12:.LANCHOR165] ldr w1, [x0] mov w0, 23130 movk w0, 0x5a5a, lsl 16 cmp w1, w0 csetm w21, ne - b .L2128 + b .L2078 .size flash_test_blk, .-flash_test_blk .section .text.id_block_prog_msb_ff_data,"ax",@progbits .align 2 @@ -12887,50 +12714,50 @@ id_block_prog_msb_ff_data: add x29, sp, 0 stp x21, x22, [sp, 32] and w22, w0, 255 - adrp x0, .LANCHOR19 + adrp x0, .LANCHOR24 stp x19, x20, [sp, 16] stp x23, x24, [sp, 48] - ldrb w0, [x0, #:lo12:.LANCHOR19] + ldrb w0, [x0, #:lo12:.LANCHOR24] str x25, [sp, 64] - cbnz w0, .L2137 - adrp x20, .LANCHOR33 - add x20, x20, :lo12:.LANCHOR33 + cbnz w0, .L2087 + adrp x20, .LANCHOR32 + add x20, x20, :lo12:.LANCHOR32 ldrb w0, [x20, 19] sub w0, w0, #5 and w3, w0, 255 cmp w3, 63 - bhi .L2137 + bhi .L2087 and w19, w2, 65535 mov x2, 16391 movk x2, 0x4000, lsl 16 movk x2, 0x8000, lsl 48 lsr x0, x2, x3 - tbz x0, 0, .L2137 - adrp x21, .LANCHOR145 + tbz x0, 0, .L2087 + adrp x21, .LANCHOR142 mov w23, w1 - add x21, x21, :lo12:.LANCHOR145 + add x21, x21, :lo12:.LANCHOR142 mov w25, 65535 - adrp x24, .LANCHOR166 -.L2139: + adrp x24, .LANCHOR163 +.L2089: ldrh w0, [x20, 10] cmp w0, w19 - bhi .L2140 -.L2137: + bhi .L2090 +.L2087: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldr x25, [sp, 64] ldp x29, x30, [sp], 80 ret -.L2140: +.L2090: ldrh w0, [x21, w19, sxtw 1] cmp w0, w25 - bne .L2137 - ldr x0, [x24, #:lo12:.LANCHOR166] + bne .L2087 + ldr x0, [x24, #:lo12:.LANCHOR163] mov w2, 16384 mov w1, 255 bl ftl_memset - ldr x3, [x24, #:lo12:.LANCHOR166] + ldr x3, [x24, #:lo12:.LANCHOR163] add w1, w19, w23 ldrb w4, [x20, 9] add w19, w19, 1 @@ -12938,7 +12765,7 @@ id_block_prog_msb_ff_data: mov w0, w22 and w19, w19, 65535 bl flash_prog_page - b .L2139 + b .L2089 .size id_block_prog_msb_ff_data, .-id_block_prog_msb_ff_data .section .text.flash_start_one_pass_page_prog,"ax",@progbits .align 2 @@ -12948,19 +12775,19 @@ flash_start_one_pass_page_prog: stp x29, x30, [sp, -32]! and w8, w0, 255 and w7, w3, 255 - adrp x0, .LANCHOR13 + adrp x0, .LANCHOR7 add x29, sp, 0 stp x19, x20, [sp, 16] and w20, w2, 255 - ldr x19, [x0, #:lo12:.LANCHOR13] + ldr x19, [x0, #:lo12:.LANCHOR7] mov w0, w7 bl nandc_cs - cbz w8, .L2143 + cbz w8, .L2093 sxtw x0, w7 add x0, x0, 8 add x0, x19, x0, lsl 8 str w8, [x0, 8] -.L2143: +.L2093: ubfiz x0, x7, 8, 8 add x19, x19, x0 mov w0, 128 @@ -12973,19 +12800,19 @@ flash_start_one_pass_page_prog: str w0, [x19, 2052] lsr w0, w4, 16 str w0, [x19, 2052] - adrp x0, .LANCHOR31 - ldrb w0, [x0, #:lo12:.LANCHOR31] - cbz w0, .L2144 + adrp x0, .LANCHOR30 + ldrb w0, [x0, #:lo12:.LANCHOR30] + cbz w0, .L2094 lsr w0, w4, 24 str w0, [x19, 2052] -.L2144: +.L2094: mov w0, w4 bl nandc_set_seed - adrp x0, .LANCHOR33+9 + adrp x0, .LANCHOR32+9 mov x4, x6 mov x3, x5 mov w1, 1 - ldrb w2, [x0, #:lo12:.LANCHOR33+9] + ldrb w2, [x0, #:lo12:.LANCHOR32+9] mov w0, w7 bl nandc_xfer str w20, [x19, 2056] @@ -13004,19 +12831,19 @@ flash_dual_page_prog: and w20, w0, 255 stp x25, x26, [sp, 64] mov x25, x2 - adrp x2, .LANCHOR13 + adrp x2, .LANCHOR7 stp x21, x22, [sp, 32] ubfiz x22, x20, 8, 8 stp x27, x28, [sp, 80] add x0, x22, 2048 - ldr x22, [x2, #:lo12:.LANCHOR13] + ldr x22, [x2, #:lo12:.LANCHOR7] mov w19, 24 - adrp x27, .LANCHOR14 + adrp x27, .LANCHOR19 add x22, x22, x0 - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 stp x23, x24, [sp, 48] mov w21, w1 - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] mov x26, x3 mov x23, x4 mov x24, x5 @@ -13024,23 +12851,23 @@ flash_dual_page_prog: mov w19, 1 ubfx x28, x21, 24, 2 lsl w19, w19, w0 - ldr w0, [x27, #:lo12:.LANCHOR14] + ldr w0, [x27, #:lo12:.LANCHOR19] sub w19, w19, #1 and w19, w19, w1 - tbz x0, 4, .L2153 - adrp x0, .LC132 + tbz x0, 4, .L2103 + adrp x0, .LC130 mov w3, w6 mov w2, w28 - add x0, x0, :lo12:.LC132 + add x0, x0, :lo12:.LC130 bl printf -.L2153: +.L2103: bl nandc_wait_flash_ready mov w0, w20 bl nandc_cs mov w0, w20 - cbnz w28, .L2154 + cbnz w28, .L2104 bl zftl_flash_enter_slc_mode -.L2155: +.L2105: mov x6, x26 mov x5, x25 mov w4, w19 @@ -13062,18 +12889,18 @@ flash_dual_page_prog: mov x0, x22 bl flash_read_status mov w3, w0 - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 and w2, w3, 4 - tbz x3, 2, .L2152 - ldr w0, [x27, #:lo12:.LANCHOR14] - tbz x0, 12, .L2157 - adrp x0, .LC133 + tbz x3, 2, .L2102 + ldr w0, [x27, #:lo12:.LANCHOR19] + tbz x0, 12, .L2107 + adrp x0, .LC129 mov w1, w21 - add x0, x0, :lo12:.LC133 + add x0, x0, :lo12:.LC129 bl printf -.L2157: +.L2107: mov w2, -1 -.L2152: +.L2102: mov w0, w2 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -13082,9 +12909,9 @@ flash_dual_page_prog: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 96 ret -.L2154: +.L2104: bl zftl_flash_exit_slc_mode - b .L2155 + b .L2105 .size flash_dual_page_prog, .-flash_dual_page_prog .section .text.ymtc_flash_tlc_page_prog,"ax",@progbits .align 2 @@ -13097,19 +12924,19 @@ ymtc_flash_tlc_page_prog: and w20, w0, 255 str x25, [sp, 64] mov w25, w1 - adrp x1, .LANCHOR13 + adrp x1, .LANCHOR7 stp x21, x22, [sp, 32] ubfiz x22, x20, 8, 8 mov w19, 24 add x0, x22, 2048 - ldr x22, [x1, #:lo12:.LANCHOR13] + ldr x22, [x1, #:lo12:.LANCHOR7] mov w21, 1 stp x23, x24, [sp, 48] add x22, x22, x0 - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 mov x23, x2 mov x24, x3 - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] sub w19, w19, w0 bl nandc_wait_flash_ready lsl w19, w21, w19 @@ -13149,19 +12976,19 @@ ymtc_flash_tlc_page_prog: mov x0, x22 bl flash_read_status mov w3, w0 - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 and w2, w3, 4 - tbz x3, 2, .L2165 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L2167 - adrp x0, .LC134 + tbz x3, 2, .L2115 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L2117 + adrp x0, .LC131 mov w1, w25 - add x0, x0, :lo12:.LC134 + add x0, x0, :lo12:.LC131 bl printf -.L2167: +.L2117: mov w2, -1 -.L2165: +.L2115: mov w0, w2 ldr x25, [sp, 64] ldp x19, x20, [sp, 16] @@ -13170,13 +12997,13 @@ ymtc_flash_tlc_page_prog: ldp x29, x30, [sp], 80 ret .size ymtc_flash_tlc_page_prog, .-ymtc_flash_tlc_page_prog - .section .text.fw_flash_page_prog.constprop.30,"ax",@progbits + .section .text.fw_flash_page_prog.constprop.29,"ax",@progbits .align 2 - .type fw_flash_page_prog.constprop.30, %function -fw_flash_page_prog.constprop.30: + .type fw_flash_page_prog.constprop.29, %function +fw_flash_page_prog.constprop.29: stp x29, x30, [sp, -64]! - adrp x4, .LANCHOR33 - add x4, x4, :lo12:.LANCHOR33 + adrp x4, .LANCHOR32 + add x4, x4, :lo12:.LANCHOR32 add x29, sp, 0 stp x19, x20, [sp, 16] mov x20, x1 @@ -13185,26 +13012,26 @@ fw_flash_page_prog.constprop.30: str x23, [sp, 48] ldrb w19, [x4, 9] udiv w19, w0, w19 - adrp x0, .LANCHOR50 - ldrb w23, [x0, #:lo12:.LANCHOR50] - adrp x0, .LANCHOR17 - ldrb w0, [x0, #:lo12:.LANCHOR17] + adrp x0, .LANCHOR49 + ldrb w23, [x0, #:lo12:.LANCHOR49] + adrp x0, .LANCHOR22 + ldrb w0, [x0, #:lo12:.LANCHOR22] bl nandc_bch_sel ldrb w0, [x4, 7] cmp w0, 9 - bne .L2173 - adrp x0, .LANCHOR19 - ldrb w0, [x0, #:lo12:.LANCHOR19] - cbnz w0, .L2173 + bne .L2123 + adrp x0, .LANCHOR24 + ldrb w0, [x0, #:lo12:.LANCHOR24] + cbnz w0, .L2123 ldrb w0, [x4, 12] cmp w0, 3 - bne .L2174 + bne .L2124 mov x3, x21 mov x2, x20 mov w1, w19 mov w0, 0 bl ymtc_flash_tlc_page_prog -.L2177: +.L2127: mov w4, w0 mov w0, w23 bl nandc_bch_sel @@ -13214,13 +13041,13 @@ fw_flash_page_prog.constprop.30: ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 64 ret -.L2174: - adrp x22, .LANCHOR166 +.L2124: + adrp x22, .LANCHOR163 mov w2, 16384 mov w1, 255 - ldr x0, [x22, #:lo12:.LANCHOR166] + ldr x0, [x22, #:lo12:.LANCHOR163] bl ftl_memset - ldr x5, [x22, #:lo12:.LANCHOR166] + ldr x5, [x22, #:lo12:.LANCHOR163] mov w6, 4 mov x3, x21 mov x2, x20 @@ -13228,16 +13055,16 @@ fw_flash_page_prog.constprop.30: mov w1, w19 mov w0, 0 bl flash_dual_page_prog - b .L2177 -.L2173: + b .L2127 +.L2123: mov w4, 4 mov x3, x21 mov x2, x20 mov w1, w19 mov w0, 0 bl flash_prog_page - b .L2177 - .size fw_flash_page_prog.constprop.30, .-fw_flash_page_prog.constprop.30 + b .L2127 + .size fw_flash_page_prog.constprop.29, .-fw_flash_page_prog.constprop.29 .section .text.idb_write_data,"ax",@progbits .align 2 .global idb_write_data @@ -13251,11 +13078,11 @@ idb_write_data: stp x21, x22, [sp, 32] mov w20, w3 stp x23, x24, [sp, 48] - adrp x22, .LANCHOR143 + adrp x22, .LANCHOR140 stp x25, x26, [sp, 64] mov x24, x2 stp x27, x28, [sp, 80] - bne .L2179 + bne .L2129 ldr w0, [x2] mov w1, 35899 movk w1, 0xfcdc, lsl 16 @@ -13263,69 +13090,69 @@ idb_write_data: mov w1, 19282 movk w1, 0x534e, lsl 16 ccmp w0, w1, 4, ne - beq .L2180 + beq .L2130 add w1, w1, 327680 cmp w0, w1 - bne .L2179 -.L2180: - adrp x21, .LANCHOR141 + bne .L2129 +.L2130: + adrp x21, .LANCHOR138 mov w1, 1 - strb w1, [x22, #:lo12:.LANCHOR143] - ldr x0, [x21, #:lo12:.LANCHOR141] - cbnz x0, .L2181 + strb w1, [x22, #:lo12:.LANCHOR140] + ldr x0, [x21, #:lo12:.LANCHOR138] + cbnz x0, .L2131 mov w0, 262144 bl ftl_malloc - str x0, [x21, #:lo12:.LANCHOR141] -.L2181: - adrp x0, .LANCHOR177 + str x0, [x21, #:lo12:.LANCHOR138] +.L2131: + adrp x0, .LANCHOR174 mov w1, 64 - str w1, [x0, #:lo12:.LANCHOR177] -.L2179: - ldrb w0, [x22, #:lo12:.LANCHOR143] - cbz w0, .L2247 - adrp x0, .LANCHOR141 + str w1, [x0, #:lo12:.LANCHOR174] +.L2129: + ldrb w0, [x22, #:lo12:.LANCHOR140] + cbz w0, .L2197 + adrp x0, .LANCHOR138 mov x23, x0 - ldr x21, [x0, #:lo12:.LANCHOR141] - cbz x21, .L2247 + ldr x21, [x0, #:lo12:.LANCHOR138] + cbz x21, .L2197 add w0, w19, w20 str w0, [x29, 140] cmp w0, 63 - bls .L2183 + bls .L2133 cmp w19, 575 - bhi .L2184 - adrp x21, .LANCHOR144 - ldr x0, [x21, #:lo12:.LANCHOR144] - cbz x0, .L2185 -.L2188: - adrp x1, .LANCHOR142 + bhi .L2134 + adrp x21, .LANCHOR141 + ldr x0, [x21, #:lo12:.LANCHOR141] + cbz x0, .L2135 +.L2138: + adrp x1, .LANCHOR139 mov w2, 1 - ldr x0, [x23, #:lo12:.LANCHOR141] + ldr x0, [x23, #:lo12:.LANCHOR138] cmp w19, 64 - str w2, [x1, #:lo12:.LANCHOR142] - bhi .L2300 + str w2, [x1, #:lo12:.LANCHOR139] + bhi .L2250 mov w4, 64 sub w4, w4, w19 sub w2, w20, w4 ubfiz x4, x4, 9, 25 lsl w2, w2, 9 add x1, x24, x4 -.L2306: +.L2256: bl ftl_memcpy -.L2189: - adrp x0, .LANCHOR177 - ldr w0, [x0, #:lo12:.LANCHOR177] +.L2139: + adrp x0, .LANCHOR174 + ldr w0, [x0, #:lo12:.LANCHOR174] cmp w19, w0 - beq .L2243 - strb wzr, [x22, #:lo12:.LANCHOR143] - b .L2243 -.L2185: + beq .L2193 + strb wzr, [x22, #:lo12:.LANCHOR140] + b .L2193 +.L2135: mov w0, 262144 bl ftl_malloc - str x0, [x21, #:lo12:.LANCHOR144] - cbnz x0, .L2188 + str x0, [x21, #:lo12:.LANCHOR141] + cbnz x0, .L2138 mov w0, -1 - b .L2178 -.L2300: + b .L2128 +.L2250: mov w2, 576 sub w2, w2, w19 cmp w20, w2 @@ -13335,14 +13162,14 @@ idb_write_data: lsl w2, w2, 9 mov x1, x24 add x0, x0, x3 - b .L2306 -.L2183: + b .L2256 +.L2133: cmp w19, 575 - bls .L2189 -.L2184: - adrp x0, .LANCHOR142 - ldr w0, [x0, #:lo12:.LANCHOR142] - cbz w0, .L2189 + bls .L2139 +.L2134: + adrp x0, .LANCHOR139 + ldr w0, [x0, #:lo12:.LANCHOR139] + cbz w0, .L2139 ldr w0, [x21] mov w1, 35899 movk w1, 0xfcdc, lsl 16 @@ -13350,109 +13177,109 @@ idb_write_data: mov w1, 19282 movk w1, 0x534e, lsl 16 ccmp w0, w1, 4, ne - beq .L2190 + beq .L2140 add w1, w1, 327680 cmp w0, w1 - bne .L2191 -.L2190: + bne .L2141 +.L2140: adrp x0, .LANCHOR0 - mov x10, x0 + mov x20, x0 ldrb w1, [x0, #:lo12:.LANCHOR0] str w1, [x29, 176] - adrp x1, .LANCHOR19 - mov x11, x1 + adrp x1, .LANCHOR24 + mov x24, x1 ldr w0, [x29, 176] - ldrb w2, [x1, #:lo12:.LANCHOR19] + ldrb w2, [x1, #:lo12:.LANCHOR24] str w2, [x29, 204] - cbz w0, .L2192 + cbz w0, .L2142 ldrh w0, [x29, 176] str w0, [x29, 172] uxtw x0, w2 cmp w0, 0 cset w0, eq -.L2303: - adrp x8, .LANCHOR33 - add x8, x8, :lo12:.LANCHOR33 +.L2253: + adrp x23, .LANCHOR32 + add x23, x23, :lo12:.LANCHOR32 str w0, [x29, 200] mov w0, 0 - ldrb w19, [x8, 9] - ldrh w22, [x8, 26] + ldrb w19, [x23, 9] + ldrh w22, [x23, 26] bl zftl_flash_exit_slc_mode - ldrh w20, [x8, 10] + ldrb w0, [x24, #:lo12:.LANCHOR24] add x1, x21, 258048 - ldrb w0, [x11, #:lo12:.LANCHOR19] + strb w0, [x20, #:lo12:.LANCHOR0] mov w4, 16981 - strb w0, [x10, #:lo12:.LANCHOR0] + ldrh w20, [x23, 10] add x1, x1, 2044 - ldrb w0, [x8, 12] - lsl w20, w20, 2 + ldrb w0, [x23, 12] mov w2, 65023 movk w4, 0x4f4f, lsl 16 mov w3, 4098 + lsl w20, w20, 2 sdiv w20, w20, w0 mov w0, 512 cmp w20, 512 csel w20, w20, w0, lt mov w0, 0 -.L2199: +.L2149: ldr w5, [x1] - cbnz w5, .L2195 - cbnz w0, .L2196 + cbnz w5, .L2145 + cbnz w0, .L2146 str w4, [x1, 2048] -.L2197: +.L2147: add w0, w0, 1 sub w2, w2, #1 cmp w0, w3 sub x1, x1, #4 csel w0, w0, wzr, ls cmp w2, 4096 - bne .L2199 -.L2195: + bne .L2149 +.L2145: ldr w1, [x21, w2, uxtw 2] mov w3, w20 - adrp x0, .LC135 - add x0, x0, :lo12:.LC135 + adrp x0, .LC132 + add x0, x0, :lo12:.LC132 bl printf str wzr, [x29, 180] mul w0, w22, w19 str wzr, [x29, 192] str w0, [x29, 128] - adrp x0, .LANCHOR52 - add x0, x0, :lo12:.LANCHOR52 + adrp x0, .LANCHOR51 + add x0, x0, :lo12:.LANCHOR51 str x0, [x29, 184] -.L2238: - adrp x23, .LANCHOR144 +.L2188: + adrp x23, .LANCHOR141 mov w1, 0 mov w2, 512 - ldr x0, [x23, #:lo12:.LANCHOR144] + ldr x0, [x23, #:lo12:.LANCHOR141] bl ftl_memset str x23, [x29, 160] - adrp x0, .LANCHOR27 + adrp x0, .LANCHOR6 ldr w1, [x29, 192] - ldr x0, [x0, #:lo12:.LANCHOR27] + ldr x0, [x0, #:lo12:.LANCHOR6] add x0, x0, x1, uxtw ldrb w19, [x0, 32] cmp w19, 255 - beq .L2200 + beq .L2150 ldr w0, [x29, 128] mul w19, w19, w0 ldr w0, [x29, 200] - cbz w0, .L2201 + cbz w0, .L2151 and w0, w1, -3 - adrp x10, .LANCHOR0 + adrp x24, .LANCHOR0 cmp w0, 1 - adrp x8, .LANCHOR19 - beq .L2202 + adrp x22, .LANCHOR24 + beq .L2152 ldr w0, [x29, 200] cmp w0, 3 - bne .L2203 -.L2202: + bne .L2153 +.L2152: ldrb w0, [x29, 172] - strb w0, [x10, #:lo12:.LANCHOR0] - strb w0, [x8, #:lo12:.LANCHOR19] -.L2201: - adrp x22, .LANCHOR33 - add x27, x22, :lo12:.LANCHOR33 + strb w0, [x24, #:lo12:.LANCHOR0] + strb w0, [x22, #:lo12:.LANCHOR24] +.L2151: + adrp x22, .LANCHOR32 + add x27, x22, :lo12:.LANCHOR32 ldr x0, [x29, 184] ldrb w24, [x27, 9] ldrh w25, [x27, 26] @@ -13474,15 +13301,15 @@ idb_write_data: lsl w0, w0, 2 sdiv w0, w0, w1 str w0, [x29, 156] - bne .L2253 - adrp x0, .LANCHOR28 - ldrb w0, [x0, #:lo12:.LANCHOR28] + bne .L2203 + adrp x0, .LANCHOR27 + ldrb w0, [x0, #:lo12:.LANCHOR27] cmp w0, 9 - bne .L2253 + bne .L2203 ldr x0, [x29, 160] mov w2, 1024 mov w1, 0 - ldr x25, [x0, #:lo12:.LANCHOR144] + ldr x25, [x0, #:lo12:.LANCHOR141] mov x0, x25 bl ftl_memset mov w0, 18766 @@ -13490,15 +13317,15 @@ idb_write_data: str w0, [x25] mov w0, 12 str w0, [x25, 4] - adrp x0, .LANCHOR19 + adrp x0, .LANCHOR24 strb wzr, [x25, 16] str wzr, [x25, 12] - ldrb w0, [x0, #:lo12:.LANCHOR19] - cbz w0, .L2205 + ldrb w0, [x0, #:lo12:.LANCHOR24] + cbz w0, .L2155 ldrb w0, [x27, 29] strb w0, [x25, 16] -.L2205: - add x1, x22, :lo12:.LANCHOR33 +.L2155: + add x1, x22, :lo12:.LANCHOR32 mov w0, 4 strb w0, [x25, 17] cmp w24, 8 @@ -13518,31 +13345,31 @@ idb_write_data: str w0, [x25, 8] sub w0, w20, #4 str w0, [x29, 196] -.L2204: +.L2154: adrp x27, .LANCHOR3 mov x23, x21 add x27, x27, :lo12:.LANCHOR3 - adrp x0, .LANCHOR19 + adrp x0, .LANCHOR24 mov w28, 0 - add x0, x0, :lo12:.LANCHOR19 + add x0, x0, :lo12:.LANCHOR24 str x0, [x29, 144] -.L2207: +.L2157: ldr w0, [x29, 156] cmp w0, w28 - bhi .L2218 + bhi .L2168 ldr x0, [x29, 160] - add x22, x22, :lo12:.LANCHOR33 + add x22, x22, :lo12:.LANCHOR32 mov w24, 4 mov w25, 0 mov w28, 0 - ldr x23, [x0, #:lo12:.LANCHOR144] + ldr x23, [x0, #:lo12:.LANCHOR141] ldrb w0, [x22, 9] str w0, [x29, 144] ldrh w0, [x22, 26] ldr w1, [x29, 144] mul w0, w0, w1 - adrp x1, .LANCHOR52 - strb wzr, [x1, #:lo12:.LANCHOR52] + adrp x1, .LANCHOR51 + strb wzr, [x1, #:lo12:.LANCHOR51] udiv w1, w19, w0 msub w0, w1, w0, w19 str w0, [x29, 168] @@ -13556,41 +13383,41 @@ idb_write_data: adrp x0, .LANCHOR3 add x0, x0, :lo12:.LANCHOR3 str x0, [x29, 112] -.L2219: +.L2169: ldr w0, [x29, 156] cmp w25, w0 - bcc .L2233 + bcc .L2183 ldr x0, [x29, 184] ldrb w1, [x29, 136] strb w1, [x0] ldr w0, [x29, 200] - cbz w0, .L2234 + cbz w0, .L2184 mov w0, 0 bl zftl_flash_exit_slc_mode adrp x0, .LANCHOR0 strb wzr, [x0, #:lo12:.LANCHOR0] - adrp x0, .LANCHOR19 - strb wzr, [x0, #:lo12:.LANCHOR19] -.L2234: + adrp x0, .LANCHOR24 + strb wzr, [x0, #:lo12:.LANCHOR24] +.L2184: ldr w0, [x29, 196] mov x2, 0 lsl w1, w0, 7 - adrp x0, .LANCHOR144 - ldr x0, [x0, #:lo12:.LANCHOR144] -.L2235: + adrp x0, .LANCHOR141 + ldr x0, [x0, #:lo12:.LANCHOR141] +.L2185: mov w22, w2 cmp w2, w1 - bcc .L2236 + bcc .L2186 ldr w0, [x29, 180] add w0, w0, 1 str w0, [x29, 180] cmp w0, 5 - bls .L2200 - b .L2245 -.L2192: + bls .L2150 + b .L2195 +.L2142: ldr w0, [x29, 204] cmp w0, 3 - beq .L2249 + beq .L2199 cmp w0, 2 mov w0, 2 csel w0, wzr, w0, ne @@ -13599,134 +13426,134 @@ idb_write_data: cmp w0, 2 mov w0, 3 csel w0, wzr, w0, ne - b .L2303 -.L2249: + b .L2253 +.L2199: ldr w0, [x29, 204] str w0, [x29, 172] mov w0, 2 - b .L2303 -.L2196: + b .L2253 +.L2146: ldr w5, [x21, w0, uxtw 2] str w5, [x1, 2048] - b .L2197 -.L2203: + b .L2147 +.L2153: mov w0, 0 bl zftl_flash_exit_slc_mode - strb wzr, [x10, #:lo12:.LANCHOR0] - strb wzr, [x8, #:lo12:.LANCHOR19] - b .L2201 -.L2253: + strb wzr, [x24, #:lo12:.LANCHOR0] + strb wzr, [x22, #:lo12:.LANCHOR24] + b .L2151 +.L2203: mov x25, 0 str w20, [x29, 196] - b .L2204 -.L2218: + b .L2154 +.L2168: ldr w0, [x29, 168] - adrp x2, .LANCHOR19 + adrp x2, .LANCHOR24 add w4, w0, w28 - ldrb w2, [x2, #:lo12:.LANCHOR19] + ldrb w2, [x2, #:lo12:.LANCHOR24] ubfx x4, x4, 2, 16 add w1, w4, 1 ldrh w0, [x27, w1, sxtw 1] - cbz w2, .L2209 + cbz w2, .L2159 adrp x0, .LANCHOR1 ldrb w7, [x0, #:lo12:.LANCHOR1] lsl w0, w1, 1 cmp w7, 0 csel w0, w0, w1, ne -.L2209: - adrp x1, .LANCHOR28 - ldrb w1, [x1, #:lo12:.LANCHOR28] +.L2159: + adrp x1, .LANCHOR27 + ldrb w1, [x1, #:lo12:.LANCHOR27] cmp w1, 9 - bne .L2211 -.L2304: + bne .L2161 +.L2254: str w0, [x29, 208] mov w0, 61424 str w0, [x29, 212] ldrh w0, [x27, w4, sxtw 1] - cbnz w2, .L2213 + cbnz w2, .L2163 mov w4, w0 -.L2214: +.L2164: mul w0, w24, w4 - cbnz x25, .L2215 + cbnz x25, .L2165 str w4, [x29, 152] add x2, x29, 208 mov x1, x23 add w0, w0, w26 - bl fw_flash_page_prog.constprop.30 + bl fw_flash_page_prog.constprop.29 ldr x0, [x29, 144] ldr w4, [x29, 152] ldrb w0, [x0] - cbnz w0, .L2216 + cbnz w0, .L2166 udiv w1, w26, w24 add w2, w4, 1 bl id_block_prog_msb_ff_data -.L2216: +.L2166: ldr w0, [x29, 196] add x23, x23, 2048 add w0, w0, 16 cmp w28, w0 - bcc .L2217 + bcc .L2167 ldr w0, [x29, 196] add w1, w0, 20 add x0, x21, 2048 cmp w28, w1 csel x23, x0, x23, cc -.L2217: +.L2167: add w5, w28, 4 mov x25, 0 and w28, w5, 65535 - b .L2207 -.L2211: + b .L2157 +.L2161: sub w0, w0, #1 lsl w0, w0, 2 - b .L2304 -.L2213: + b .L2254 +.L2163: adrp x0, .LANCHOR1 ldrb w1, [x0, #:lo12:.LANCHOR1] lsl w0, w4, 1 cmp w1, 0 csel w4, w0, w4, ne - b .L2214 -.L2215: + b .L2164 +.L2165: add x2, x29, 208 mov x1, x25 add w0, w0, w26 - bl fw_flash_page_prog.constprop.30 - b .L2217 -.L2233: + bl fw_flash_page_prog.constprop.29 + b .L2167 +.L2183: ldr w0, [x29, 160] - adrp x1, .LANCHOR19 + adrp x1, .LANCHOR24 sub w27, w24, w0 ldr w0, [x29, 168] - ldrb w1, [x1, #:lo12:.LANCHOR19] + ldrb w1, [x1, #:lo12:.LANCHOR24] and w27, w27, 65535 add w22, w0, w25 ldr x0, [x29, 112] udiv w22, w22, w24 and w22, w22, 65535 ldrh w0, [x0, w22, sxtw 1] - cbnz w1, .L2220 + cbnz w1, .L2170 mov w22, w0 -.L2221: - adrp x0, .LANCHOR17 +.L2171: + adrp x0, .LANCHOR22 ldr w1, [x29, 152] - ldrb w26, [x0, #:lo12:.LANCHOR17] + ldrb w26, [x0, #:lo12:.LANCHOR22] ldr w0, [x29, 160] add w0, w0, w1 ldr w1, [x29, 144] madd w22, w1, w22, w0 - adrp x0, .LANCHOR33+9 - ldrb w0, [x0, #:lo12:.LANCHOR33+9] + adrp x0, .LANCHOR32+9 + ldrb w0, [x0, #:lo12:.LANCHOR32+9] udiv w22, w22, w0 - adrp x0, .LANCHOR50 - ldrb w0, [x0, #:lo12:.LANCHOR50] + adrp x0, .LANCHOR49 + ldrb w0, [x0, #:lo12:.LANCHOR49] str w0, [x29, 132] mov w0, w26 bl nandc_bch_sel - adrp x0, .LANCHOR21 - add x0, x0, :lo12:.LANCHOR21 + adrp x0, .LANCHOR26 + add x0, x0, :lo12:.LANCHOR26 str x0, [x29, 120] -.L2222: +.L2172: mov w4, w24 add x3, x29, 208 mov x2, x23 @@ -13735,33 +13562,33 @@ idb_write_data: bl flash_read_page mov w5, w0 cmn w0, #1 - bne .L2223 + bne .L2173 ldr x0, [x29, 184] ldrb w6, [x0] - cbnz w6, .L2224 -.L2227: - adrp x0, .LANCHOR174 - ldr x6, [x0, #:lo12:.LANCHOR174] - cbnz x6, .L2225 -.L2226: + cbnz w6, .L2174 +.L2177: + adrp x0, .LANCHOR171 + ldr x6, [x0, #:lo12:.LANCHOR171] + cbnz x6, .L2175 +.L2176: ldr x0, [x29, 120] ldrb w0, [x0] - cbz w0, .L2223 + cbz w0, .L2173 mov w4, w24 add x3, x29, 208 mov x2, x23 mov w1, w22 mov w0, 0 bl flash_ddr_tuning_read - b .L2305 -.L2220: + b .L2255 +.L2170: adrp x0, .LANCHOR1 ldrb w1, [x0, #:lo12:.LANCHOR1] lsl w0, w22, 1 cmp w1, 0 csel w22, w0, w22, ne - b .L2221 -.L2224: + b .L2171 +.L2174: ldr x0, [x29, 184] mov w1, w22 stp w6, w5, [x29, 104] @@ -13775,21 +13602,21 @@ idb_write_data: ldr x1, [x29, 184] ldp w6, w5, [x29, 104] strb w6, [x1] - beq .L2227 -.L2305: + beq .L2177 +.L2255: mov w5, w0 -.L2223: +.L2173: cmn w5, #1 cset w4, eq cmp w26, 16 cset w0, ne tst w4, w0 - beq .L2229 + beq .L2179 mov w0, 16 mov w26, 16 bl nandc_bch_sel - b .L2222 -.L2225: + b .L2172 +.L2175: str w5, [x29, 108] mov w4, w24 add x3, x29, 208 @@ -13799,9 +13626,9 @@ idb_write_data: blr x6 cmn w0, #1 ldr w5, [x29, 108] - beq .L2226 - b .L2305 -.L2229: + beq .L2176 + b .L2255 +.L2179: ldr w0, [x29, 132] bl nandc_bch_sel cmp w4, 0 @@ -13809,93 +13636,93 @@ idb_write_data: csinv w28, w28, wzr, eq cmp w25, 0 ccmp w19, w0, 0, eq - bne .L2231 - cbnz w28, .L2231 + bne .L2181 + cbnz w28, .L2181 ldr w1, [x23] mov w0, 18766 movk w0, 0x464e, lsl 16 cmp w1, w0 - bne .L2231 + bne .L2181 ldr w0, [x29, 156] ldrb w24, [x23, 17] add w0, w0, w27 str w0, [x29, 156] -.L2232: +.L2182: add w25, w27, w25 and w25, w25, 65535 - b .L2219 -.L2231: + b .L2169 +.L2181: ubfiz x0, x27, 9, 16 str wzr, [x29, 160] add x23, x23, x0 - b .L2232 -.L2236: + b .L2182 +.L2186: ldr w4, [x0, x2, lsl 2] add x2, x2, 1 add x3, x21, x2, lsl 2 ldr w3, [x3, -4] cmp w4, w3 - beq .L2235 + beq .L2185 mov w2, 512 mov w1, 0 bl ftl_memset mov w1, w22 - adrp x0, .LC136 - add x0, x0, :lo12:.LC136 + adrp x0, .LC133 + add x0, x0, :lo12:.LC133 bl printf mov w1, w19 mov w0, 0 bl flash_erase_block -.L2200: +.L2150: ldr w0, [x29, 192] add w0, w0, 1 str w0, [x29, 192] cmp w0, 4 - bne .L2238 -.L2245: + bne .L2188 +.L2195: mov w0, 0 bl zftl_flash_exit_slc_mode adrp x0, .LANCHOR0 ldrb w1, [x29, 176] strb w1, [x0, #:lo12:.LANCHOR0] ldr w0, [x29, 200] - cbz w0, .L2239 - adrp x0, .LANCHOR19 + cbz w0, .L2189 + adrp x0, .LANCHOR24 ldrb w1, [x29, 204] - strb w1, [x0, #:lo12:.LANCHOR19] -.L2239: + strb w1, [x0, #:lo12:.LANCHOR24] +.L2189: mov w1, 2 - adrp x0, .LANCHOR34 - strb w1, [x0, #:lo12:.LANCHOR34] + adrp x0, .LANCHOR33 + strb w1, [x0, #:lo12:.LANCHOR33] mov w0, 0 bl zftl_flash_enter_slc_mode ldr w0, [x29, 180] - cbnz w0, .L2191 - adrp x0, .LC137 + cbnz w0, .L2141 + adrp x0, .LC134 mov w1, 0 - add x0, x0, :lo12:.LC137 + add x0, x0, :lo12:.LC134 bl printf +.L2141: + adrp x0, .LANCHOR139 + str wzr, [x0, #:lo12:.LANCHOR139] + adrp x0, .LANCHOR140 + strb wzr, [x0, #:lo12:.LANCHOR140] + adrp x0, .LANCHOR138 + ldr x1, [x0, #:lo12:.LANCHOR138] + cbz x1, .L2191 + str xzr, [x0, #:lo12:.LANCHOR138] .L2191: - adrp x0, .LANCHOR142 - str wzr, [x0, #:lo12:.LANCHOR142] - adrp x0, .LANCHOR143 - strb wzr, [x0, #:lo12:.LANCHOR143] adrp x0, .LANCHOR141 ldr x1, [x0, #:lo12:.LANCHOR141] - cbz x1, .L2241 + cbz x1, .L2193 str xzr, [x0, #:lo12:.LANCHOR141] -.L2241: - adrp x0, .LANCHOR144 - ldr x1, [x0, #:lo12:.LANCHOR144] - cbz x1, .L2243 - str xzr, [x0, #:lo12:.LANCHOR144] -.L2243: - adrp x0, .LANCHOR177 +.L2193: + adrp x0, .LANCHOR174 ldr w1, [x29, 140] - str w1, [x0, #:lo12:.LANCHOR177] -.L2247: + str w1, [x0, #:lo12:.LANCHOR174] +.L2197: mov w0, 0 -.L2178: +.L2128: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -13913,43 +13740,43 @@ flash_start_tlc_page_prog: add x29, sp, 0 stp x25, x26, [sp, 64] and w25, w0, 255 - adrp x0, .LANCHOR18 + adrp x0, .LANCHOR23 stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] and w21, w1, 255 stp x23, x24, [sp, 48] and w26, w3, 255 - ldrb w1, [x0, #:lo12:.LANCHOR18] + ldrb w1, [x0, #:lo12:.LANCHOR23] and w22, w2, 255 mov w20, w4 mov x23, x5 mov x24, x6 cmp w1, w26 mov x19, x0 - bhi .L2308 - adrp x1, .LANCHOR178 + bhi .L2258 + adrp x1, .LANCHOR175 adrp x0, .LC0 - mov w2, 859 - add x1, x1, :lo12:.LANCHOR178 + mov w2, 868 + add x1, x1, :lo12:.LANCHOR175 add x0, x0, :lo12:.LC0 bl printf -.L2308: - ldrb w0, [x19, #:lo12:.LANCHOR18] +.L2258: + ldrb w0, [x19, #:lo12:.LANCHOR23] cmp w0, w26 - bls .L2307 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 + bls .L2257 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 ldrb w5, [x0, w26, sxtw] - adrp x0, .LANCHOR13 - ldr x19, [x0, #:lo12:.LANCHOR13] + adrp x0, .LANCHOR7 + ldr x19, [x0, #:lo12:.LANCHOR7] mov w0, w5 bl nandc_cs - cbz w25, .L2310 + cbz w25, .L2260 sxtw x0, w5 add x0, x0, 8 add x0, x19, x0, lsl 8 str w25, [x0, 8] -.L2310: +.L2260: ubfiz x0, x5, 8, 8 add x19, x19, x0 mov w0, 128 @@ -13967,11 +13794,11 @@ flash_start_tlc_page_prog: sub w0, w20, #1 add w0, w0, w21 bl nandc_set_seed - adrp x0, .LANCHOR33+9 + adrp x0, .LANCHOR32+9 mov x4, x24 mov x3, x23 mov w1, 1 - ldrb w2, [x0, #:lo12:.LANCHOR33+9] + ldrb w2, [x0, #:lo12:.LANCHOR32+9] mov w0, w5 bl nandc_xfer ldp x23, x24, [sp, 48] @@ -13980,8 +13807,8 @@ flash_start_tlc_page_prog: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 80 - b nandc_de_cs.constprop.33 -.L2307: + b nandc_de_cs.constprop.32 +.L2257: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -13999,25 +13826,25 @@ queue_tlc_prog_cmd: stp x21, x22, [sp, 32] mov x21, x0 ldr x7, [x0] - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 mov w22, 1 stp x19, x20, [sp, 16] - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] str x23, [sp, 48] mov w23, w1 sub w2, w2, w0 ldr w1, [x7, 40] lsl w19, w22, w0 - adrp x0, .LANCHOR37 + adrp x0, .LANCHOR36 lsl w20, w22, w2 sub w19, w19, #1 - ldrb w0, [x0, #:lo12:.LANCHOR37] + ldrb w0, [x0, #:lo12:.LANCHOR36] sub w20, w20, #1 and w20, w20, w1 lsr w1, w1, w2 and w19, w19, w1 and w19, w19, 255 - cbz w0, .L2316 + cbz w0, .L2266 mov w0, w19 bl zftl_flash_exit_slc_mode ldr x0, [x21] @@ -14049,8 +13876,8 @@ queue_tlc_prog_cmd: ldr x6, [x0, 24] mov w0, 0 bl flash_start_one_pass_page_prog -.L2317: - cbz w23, .L2315 +.L2267: + cbz w23, .L2265 ldr x1, [x21] mov w0, 4 strb w0, [x1, 58] @@ -14058,14 +13885,14 @@ queue_tlc_prog_cmd: strb w0, [x1, 59] mov w0, -1 strb w0, [x1] - adrp x0, .LANCHOR60 - add x0, x0, :lo12:.LANCHOR60 + adrp x0, .LANCHOR59 + add x0, x0, :lo12:.LANCHOR59 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldr x23, [sp, 48] ldp x29, x30, [sp], 64 b buf_add_tail -.L2316: +.L2266: ldr x5, [x7, 8] mov w4, w20 ldr x6, [x7, 24] @@ -14095,8 +13922,8 @@ queue_tlc_prog_cmd: ldr x6, [x0, 24] ldrb w0, [x7, 60] bl flash_start_tlc_page_prog - b .L2317 -.L2315: + b .L2267 +.L2265: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldr x23, [sp, 48] @@ -14114,22 +13941,22 @@ sblk_3d_tlc_dump_prog: stp x19, x20, [sp, 16] mov x20, x0 ldr w1, [x0, 40] - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 stp x21, x22, [sp, 32] mov w22, 1 - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] sub w2, w2, w0 lsl w19, w22, w0 - adrp x0, .LANCHOR37 + adrp x0, .LANCHOR36 lsl w21, w22, w2 sub w19, w19, #1 - ldrb w0, [x0, #:lo12:.LANCHOR37] + ldrb w0, [x0, #:lo12:.LANCHOR36] sub w21, w21, #1 and w21, w21, w1 lsr w1, w1, w2 and w19, w19, w1 and w19, w19, 255 - cbz w0, .L2321 + cbz w0, .L2271 mov w0, w19 bl zftl_flash_exit_slc_mode ldr x5, [x20, 8] @@ -14158,7 +13985,7 @@ sblk_3d_tlc_dump_prog: mov w1, w22 mov w0, 0 bl flash_start_one_pass_page_prog -.L2322: +.L2272: bl nandc_wait_flash_ready ldr w0, [x20, 40] mov w1, 64 @@ -14166,7 +13993,7 @@ sblk_3d_tlc_dump_prog: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 48 b flash_wait_device_ready -.L2321: +.L2271: ldr x5, [x20, 8] mov w4, w21 ldr x6, [x20, 24] @@ -14193,7 +14020,7 @@ sblk_3d_tlc_dump_prog: mov w1, 3 mov w0, 0 bl flash_start_tlc_page_prog - b .L2322 + b .L2272 .size sblk_3d_tlc_dump_prog, .-sblk_3d_tlc_dump_prog .section .text.flash_start_3d_mlc_page_prog,"ax",@progbits .align 2 @@ -14204,32 +14031,32 @@ flash_start_3d_mlc_page_prog: add x29, sp, 0 stp x21, x22, [sp, 32] and w21, w0, 255 - adrp x0, .LANCHOR18 + adrp x0, .LANCHOR23 stp x19, x20, [sp, 16] stp x23, x24, [sp, 48] and w24, w1, 255 - ldrb w1, [x0, #:lo12:.LANCHOR18] + ldrb w1, [x0, #:lo12:.LANCHOR23] mov w20, w2 mov x22, x3 mov x23, x4 cmp w1, w24 mov x19, x0 - bhi .L2325 - adrp x1, .LANCHOR179 + bhi .L2275 + adrp x1, .LANCHOR176 adrp x0, .LC0 - mov w2, 892 - add x1, x1, :lo12:.LANCHOR179 + mov w2, 903 + add x1, x1, :lo12:.LANCHOR176 add x0, x0, :lo12:.LC0 bl printf -.L2325: - ldrb w0, [x19, #:lo12:.LANCHOR18] +.L2275: + ldrb w0, [x19, #:lo12:.LANCHOR23] cmp w0, w24 - bls .L2324 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 + bls .L2274 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 ldrb w5, [x0, w24, sxtw] - adrp x0, .LANCHOR13 - ldr x19, [x0, #:lo12:.LANCHOR13] + adrp x0, .LANCHOR7 + ldr x19, [x0, #:lo12:.LANCHOR7] mov w0, w5 bl nandc_cs ubfiz x0, x5, 8, 8 @@ -14246,15 +14073,15 @@ flash_start_3d_mlc_page_prog: str w0, [x19, 2052] mov w0, w20 bl nandc_set_seed - adrp x0, .LANCHOR33+9 + adrp x0, .LANCHOR32+9 mov x4, x23 mov x3, x22 mov w1, 1 - ldrb w2, [x0, #:lo12:.LANCHOR33+9] + ldrb w2, [x0, #:lo12:.LANCHOR32+9] mov w0, w5 bl nandc_xfer str w21, [x19, 2056] -.L2324: +.L2274: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -14272,9 +14099,9 @@ sblk_mlc_dump_prog: stp x19, x20, [sp, 16] mov x20, x0 ldr w1, [x0, 40] - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 str x21, [sp, 32] - ldrb w19, [x0, #:lo12:.LANCHOR32] + ldrb w19, [x0, #:lo12:.LANCHOR31] mov w0, 1 sub w2, w2, w19 lsl w19, w0, w19 @@ -14287,16 +14114,16 @@ sblk_mlc_dump_prog: and w19, w19, 255 mov w0, w19 bl zftl_flash_exit_slc_mode - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L2329 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L2279 ldr w2, [x20, 40] - adrp x0, .LC138 + adrp x0, .LC135 mov w1, w21 - add x0, x0, :lo12:.LC138 + add x0, x0, :lo12:.LC135 add w3, w2, 1 bl printf -.L2329: +.L2279: ldr x3, [x20, 8] mov w2, w21 ldr x4, [x20, 24] @@ -14315,7 +14142,7 @@ sblk_mlc_dump_prog: mov w1, 64 bl flash_wait_device_ready mov w2, w0 - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 ldr x21, [sp, 32] mov w0, w2 ldp x19, x20, [sp, 16] @@ -14331,68 +14158,68 @@ flash_start_page_prog: add x29, sp, 0 stp x21, x22, [sp, 32] and w21, w0, 255 - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 stp x19, x20, [sp, 16] stp x25, x26, [sp, 64] mov w19, 24 - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] mov w20, 1 str x27, [sp, 80] - adrp x27, .LANCHOR18 + adrp x27, .LANCHOR23 sub w25, w19, w0 stp x23, x24, [sp, 48] lsl w20, w20, w0 sub w20, w20, #1 lsr w0, w1, w25 and w20, w20, w0 - ldrb w0, [x27, #:lo12:.LANCHOR18] + ldrb w0, [x27, #:lo12:.LANCHOR23] and w20, w20, 255 mov w24, w1 mov x22, x2 mov x23, x3 cmp w0, w20 - bhi .L2335 - adrp x1, .LANCHOR180 + bhi .L2285 + adrp x1, .LANCHOR177 adrp x0, .LC0 - mov w2, 945 - add x1, x1, :lo12:.LANCHOR180 + mov w2, 956 + add x1, x1, :lo12:.LANCHOR177 add x0, x0, :lo12:.LC0 bl printf -.L2335: - ldrb w0, [x27, #:lo12:.LANCHOR18] +.L2285: + ldrb w0, [x27, #:lo12:.LANCHOR23] cmp w0, w20 - bls .L2334 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 + bls .L2284 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 mov w19, 1 lsl w19, w19, w25 sub w19, w19, #1 ldrb w26, [x0, w20, sxtw] - adrp x0, .LANCHOR13 + adrp x0, .LANCHOR7 and w19, w19, w24 - ldr x25, [x0, #:lo12:.LANCHOR13] + ldr x25, [x0, #:lo12:.LANCHOR7] bl nandc_rdy_status - cbnz w0, .L2337 - ldrb w0, [x27, #:lo12:.LANCHOR18] + cbnz w0, .L2287 + ldrb w0, [x27, #:lo12:.LANCHOR23] cmp w0, 1 - bne .L2338 + bne .L2288 bl nandc_wait_flash_ready -.L2337: +.L2287: mov w0, w26 bl hynix_reconfig_rr_para mov w0, w26 bl nandc_cs tst x24, 50331648 - bne .L2339 + bne .L2289 mov w0, w19 bl slc_phy_page_address_calc mov w19, w0 adrp x0, .LANCHOR0 ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L2340 + cbz w0, .L2290 mov w0, w26 bl zftl_flash_enter_slc_mode -.L2340: +.L2290: ubfiz x20, x26, 8, 8 mov w0, 128 add x20, x25, x20 @@ -14405,19 +14232,19 @@ flash_start_page_prog: str w0, [x20, 2052] lsr w0, w19, 16 str w0, [x20, 2052] - adrp x0, .LANCHOR31 - ldrb w0, [x0, #:lo12:.LANCHOR31] - cbz w0, .L2341 + adrp x0, .LANCHOR30 + ldrb w0, [x0, #:lo12:.LANCHOR30] + cbz w0, .L2291 lsr w0, w19, 24 str w0, [x20, 2052] -.L2341: +.L2291: mov w0, w19 bl nandc_set_seed - adrp x0, .LANCHOR33+9 + adrp x0, .LANCHOR32+9 mov x4, x23 mov x3, x22 mov w1, 1 - ldrb w2, [x0, #:lo12:.LANCHOR33+9] + ldrb w2, [x0, #:lo12:.LANCHOR32+9] mov w0, w26 bl nandc_xfer ldr x27, [sp, 80] @@ -14427,18 +14254,18 @@ flash_start_page_prog: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 96 - b nandc_de_cs.constprop.33 -.L2338: + b nandc_de_cs.constprop.32 +.L2288: mov w2, 64 mov w1, w19 mov w0, w20 bl flash_wait_device_ready_raw - b .L2337 -.L2339: + b .L2287 +.L2289: mov w0, w26 bl zftl_flash_exit_slc_mode - b .L2340 -.L2334: + b .L2290 +.L2284: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -14460,16 +14287,16 @@ queue_prog_cmd: mov x19, x0 mov w0, 16 bl flash_start_page_prog - adrp x0, .LANCHOR60 + adrp x0, .LANCHOR59 ldr w3, [x19, 40] - ldrb w1, [x0, #:lo12:.LANCHOR60] + ldrb w1, [x0, #:lo12:.LANCHOR59] cmp w1, 255 - beq .L2350 - adrp x2, .LANCHOR32 + beq .L2300 + adrp x2, .LANCHOR31 mov w5, 24 - adrp x6, .LANCHOR56 - add x6, x6, :lo12:.LANCHOR56 - ldrb w4, [x2, #:lo12:.LANCHOR32] + adrp x6, .LANCHOR55 + add x6, x6, :lo12:.LANCHOR55 + ldrb w4, [x2, #:lo12:.LANCHOR31] mov w2, 1 mov x8, x6 sub w5, w5, w4 @@ -14478,19 +14305,19 @@ queue_prog_cmd: and w2, w2, 65535 asr w3, w3, w5 and w3, w3, w2 -.L2352: +.L2302: add x7, x6, x1, lsl 6 ldr w4, [x7, 40] lsr w4, w4, w5 and w4, w2, w4 cmp w3, w4 - bne .L2351 + bne .L2301 ldrb w4, [x7, 58] cmp w4, 7 - bne .L2351 + bne .L2301 mov w1, 3 strb w1, [x7, 58] -.L2350: +.L2300: mov w1, 3 strb w1, [x19, 58] mov w1, 1 @@ -14498,16 +14325,16 @@ queue_prog_cmd: mov w1, -1 strb w1, [x19] mov x1, x19 - add x0, x0, :lo12:.LANCHOR60 + add x0, x0, :lo12:.LANCHOR59 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 b buf_add_tail -.L2351: +.L2301: lsl x1, x1, 6 ldrb w1, [x8, x1] cmp w1, 255 - bne .L2352 - b .L2350 + bne .L2302 + b .L2300 .size queue_prog_cmd, .-queue_prog_cmd .section .text.flash_complete_plane_page_read,"ax",@progbits .align 2 @@ -14519,11 +14346,11 @@ flash_complete_plane_page_read: add x29, sp, 0 stp x23, x24, [sp, 48] mov w24, w0 - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 stp x21, x22, [sp, 32] stp x19, x20, [sp, 16] mov w19, 1 - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] mov x20, x1 mov x21, x2 sub w22, w4, w0 @@ -14531,128 +14358,128 @@ flash_complete_plane_page_read: sub w19, w19, #1 lsr w0, w24, w22 and w19, w19, w0 - adrp x0, .LANCHOR18 + adrp x0, .LANCHOR23 and w19, w19, 255 mov x23, x0 - ldrb w1, [x0, #:lo12:.LANCHOR18] + ldrb w1, [x0, #:lo12:.LANCHOR23] cmp w1, w19 - bhi .L2359 - adrp x1, .LANCHOR181 + bhi .L2309 + adrp x1, .LANCHOR178 adrp x0, .LC0 - mov w2, 1055 - add x1, x1, :lo12:.LANCHOR181 + mov w2, 1070 + add x1, x1, :lo12:.LANCHOR178 add x0, x0, :lo12:.LC0 bl printf -.L2359: - ldrb w0, [x23, #:lo12:.LANCHOR18] +.L2309: + ldrb w0, [x23, #:lo12:.LANCHOR23] cmp w0, w19 - bls .L2370 - adrp x2, .LANCHOR30 - add x2, x2, :lo12:.LANCHOR30 - adrp x0, .LANCHOR13 + bls .L2320 + adrp x2, .LANCHOR29 + add x2, x2, :lo12:.LANCHOR29 + adrp x0, .LANCHOR7 mov w4, 1 lsl w4, w4, w22 sub w4, w4, #1 ldrb w8, [x2, w19, sxtw] and w4, w4, w24 - ldr x7, [x0, #:lo12:.LANCHOR13] + ldr x7, [x0, #:lo12:.LANCHOR7] ubfx x24, x24, 24, 2 mov w0, w8 bl nandc_cs - cbnz w24, .L2361 + cbnz w24, .L2311 mov w0, w4 bl slc_phy_page_address_calc mov w4, w0 -.L2361: - adrp x0, .LANCHOR20+16 +.L2311: + adrp x0, .LANCHOR25+16 and x1, x8, 255 and w6, w4, 255 lsr w5, w4, 8 - ldrb w0, [x0, #:lo12:.LANCHOR20+16] + ldrb w0, [x0, #:lo12:.LANCHOR25+16] lsr w3, w4, 16 - adrp x2, .LANCHOR31 + adrp x2, .LANCHOR30 cmp w0, 1 - adrp x0, .LANCHOR16 - bne .L2362 + adrp x0, .LANCHOR21 + bne .L2312 add x1, x7, x1, lsl 8 mov w7, 6 -.L2388: +.L2338: str w7, [x1, 2056] str wzr, [x1, 2052] str wzr, [x1, 2052] str w6, [x1, 2052] str w5, [x1, 2052] str w3, [x1, 2052] - ldrb w2, [x2, #:lo12:.LANCHOR31] - cbz w2, .L2384 + ldrb w2, [x2, #:lo12:.LANCHOR30] + cbz w2, .L2334 lsr w2, w4, 24 str w2, [x1, 2052] -.L2384: - ldr x0, [x0, #:lo12:.LANCHOR16] +.L2334: + ldr x0, [x0, #:lo12:.LANCHOR21] mov w2, 224 str w2, [x1, 2056] ldrb w0, [x0, 12] cmp w0, 3 - bne .L2368 - cbz w24, .L2368 + bne .L2318 + cbz w24, .L2318 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L2318 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L2368 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbnz w0, .L2368 + cbnz w0, .L2318 add w4, w4, w4, lsl 1 sub w0, w24, #1 add w0, w4, w0 -.L2385: +.L2335: bl nandc_set_seed - adrp x0, .LANCHOR33+9 + adrp x0, .LANCHOR32+9 mov x4, x21 mov x3, x20 mov w1, 0 - ldrb w2, [x0, #:lo12:.LANCHOR33+9] + ldrb w2, [x0, #:lo12:.LANCHOR32+9] mov w0, w8 bl nandc_xfer mov w2, w0 - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 mov w0, w2 -.L2358: +.L2308: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 64 ret -.L2362: - ldr x10, [x0, #:lo12:.LANCHOR16] +.L2312: + ldr x10, [x0, #:lo12:.LANCHOR21] add x1, x7, x1, lsl 8 ldrb w10, [x10, 12] cmp w10, 3 - bne .L2365 + bne .L2315 mov w7, 5 - b .L2388 -.L2365: + b .L2338 +.L2315: str wzr, [x1, 2056] str wzr, [x1, 2052] str wzr, [x1, 2052] str w6, [x1, 2052] - ldrb w2, [x2, #:lo12:.LANCHOR31] + ldrb w2, [x2, #:lo12:.LANCHOR30] str w5, [x1, 2052] str w3, [x1, 2052] - cbz w2, .L2367 + cbz w2, .L2317 lsr w2, w4, 24 str w2, [x1, 2052] -.L2367: +.L2317: mov w2, 5 str w2, [x1, 2056] str wzr, [x1, 2052] str wzr, [x1, 2052] - b .L2384 -.L2368: + b .L2334 +.L2318: mov w0, w4 - b .L2385 -.L2370: + b .L2335 +.L2320: mov w0, -1 - b .L2358 + b .L2308 .size flash_complete_plane_page_read, .-flash_complete_plane_page_read .section .text.flash_complete_page_read,"ax",@progbits .align 2 @@ -14663,11 +14490,11 @@ flash_complete_page_read: add x29, sp, 0 stp x21, x22, [sp, 32] mov w21, w0 - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 stp x19, x20, [sp, 16] mov x22, x1 mov w1, 24 - ldrb w20, [x0, #:lo12:.LANCHOR32] + ldrb w20, [x0, #:lo12:.LANCHOR31] mov w0, 1 stp x23, x24, [sp, 48] mov x23, x2 @@ -14676,73 +14503,73 @@ flash_complete_page_read: lsl w20, w0, w20 sub w20, w20, #1 lsl w19, w0, w1 - adrp x0, .LANCHOR18 + adrp x0, .LANCHOR23 lsr w1, w21, w1 stp x27, x28, [sp, 80] and w20, w20, w1 - ldrb w0, [x0, #:lo12:.LANCHOR18] + ldrb w0, [x0, #:lo12:.LANCHOR23] sub w19, w19, #1 and w20, w20, 255 and w19, w19, w21 ubfx x24, x21, 24, 2 cmp w0, w20 - bhi .L2390 - adrp x1, .LANCHOR182 + bhi .L2340 + adrp x1, .LANCHOR179 adrp x0, .LC0 - mov w2, 1212 - add x1, x1, :lo12:.LANCHOR182 + mov w2, 1232 + add x1, x1, :lo12:.LANCHOR179 add x0, x0, :lo12:.LC0 bl printf -.L2390: - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 +.L2340: + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 ldrb w25, [x0, w20, sxtw] - adrp x0, .LANCHOR13 - ldr x4, [x0, #:lo12:.LANCHOR13] + adrp x0, .LANCHOR7 + ldr x4, [x0, #:lo12:.LANCHOR7] mov w0, w25 bl nandc_cs - cbnz w24, .L2391 + cbnz w24, .L2341 mov w0, w19 bl slc_phy_page_address_calc mov w19, w0 -.L2391: +.L2341: + adrp x20, .LANCHOR32 + add x0, x20, :lo12:.LANCHOR32 + ldrb w0, [x0, 12] + cmp w0, 3 + bne .L2342 ubfiz x0, x25, 8, 8 mov w1, 5 add x0, x4, x0 - adrp x20, .LANCHOR33 str w1, [x0, 2056] - add x1, x20, :lo12:.LANCHOR33 - str wzr, [x0, 2052] - str wzr, [x0, 2052] - ldrb w1, [x1, 12] - cmp w1, 3 - bne .L2392 and w1, w19, 255 + str wzr, [x0, 2052] + str wzr, [x0, 2052] str w1, [x0, 2052] lsr w1, w19, 8 str w1, [x0, 2052] lsr w1, w19, 16 str w1, [x0, 2052] -.L2392: mov w1, 224 str w1, [x0, 2056] - adrp x0, .LANCHOR16 - ldr x0, [x0, #:lo12:.LANCHOR16] +.L2342: + adrp x0, .LANCHOR21 + ldr x0, [x0, #:lo12:.LANCHOR21] ldrb w0, [x0, 12] cmp w0, 3 - bne .L2393 - cbz w24, .L2393 + bne .L2343 + cbz w24, .L2343 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L2343 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L2393 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbnz w0, .L2393 + cbnz w0, .L2343 sub w0, w24, #1 add w1, w19, w19, lsl 1 add w0, w0, w1 -.L2420: - add x28, x20, :lo12:.LANCHOR33 +.L2370: + add x28, x20, :lo12:.LANCHOR32 bl nandc_set_seed mov x4, x23 mov x3, x22 @@ -14751,36 +14578,36 @@ flash_complete_page_read: ldrb w2, [x28, 9] bl nandc_xfer cmn w0, #1 - bne .L2395 - adrp x26, .LANCHOR52 - ldrb w27, [x26, #:lo12:.LANCHOR52] - cbz w27, .L2396 + bne .L2345 + adrp x26, .LANCHOR51 + ldrb w27, [x26, #:lo12:.LANCHOR51] + cbz w27, .L2346 ldrb w4, [x28, 9] mov x3, x23 - strb wzr, [x26, #:lo12:.LANCHOR52] + strb wzr, [x26, #:lo12:.LANCHOR51] mov x2, x22 orr w1, w19, w24, lsl 24 mov w0, w25 bl flash_read_page - strb w27, [x26, #:lo12:.LANCHOR52] - cbnz w24, .L2397 -.L2402: + strb w27, [x26, #:lo12:.LANCHOR51] + cbnz w24, .L2347 +.L2352: adrp x1, .LANCHOR0 ldrb w1, [x1, #:lo12:.LANCHOR0] - cbz w1, .L2397 - adrp x1, .LANCHOR50 - ldrb w1, [x1, #:lo12:.LANCHOR50] + cbz w1, .L2347 + adrp x1, .LANCHOR49 + ldrb w1, [x1, #:lo12:.LANCHOR49] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - blt .L2397 - add x20, x20, :lo12:.LANCHOR33 + blt .L2347 + add x20, x20, :lo12:.LANCHOR32 ldrb w1, [x20, 19] sub w1, w1, #4 and w1, w1, 255 cmp w1, 4 mov w1, 256 csel w0, w0, w1, hi -.L2389: +.L2339: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -14788,32 +14615,32 @@ flash_complete_page_read: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 96 ret -.L2393: +.L2343: mov w0, w19 - b .L2420 -.L2397: + b .L2370 +.L2347: cmn w0, #1 - bne .L2389 -.L2403: - adrp x0, .LANCHOR174 - ldr x5, [x0, #:lo12:.LANCHOR174] - cbnz x5, .L2399 -.L2401: - adrp x0, .LANCHOR52 + bne .L2339 +.L2353: + adrp x0, .LANCHOR171 + ldr x5, [x0, #:lo12:.LANCHOR171] + cbnz x5, .L2349 +.L2351: + adrp x0, .LANCHOR51 mov w3, -1 mov w2, w21 mov w1, 0 - ldrb w4, [x0, #:lo12:.LANCHOR52] - adrp x0, .LC139 - add x0, x0, :lo12:.LC139 + ldrb w4, [x0, #:lo12:.LANCHOR51] + adrp x0, .LC136 + add x0, x0, :lo12:.LC136 bl printf - adrp x0, .LANCHOR21 - ldrb w0, [x0, #:lo12:.LANCHOR21] - cbnz w0, .L2400 + adrp x0, .LANCHOR26 + ldrb w0, [x0, #:lo12:.LANCHOR26] + cbnz w0, .L2350 mov w0, -1 - b .L2389 -.L2399: - add x0, x20, :lo12:.LANCHOR33 + b .L2339 +.L2349: + add x0, x20, :lo12:.LANCHOR32 mov x3, x23 mov x2, x22 orr w1, w19, w24, lsl 24 @@ -14821,10 +14648,10 @@ flash_complete_page_read: mov w0, w25 blr x5 cmn w0, #1 - beq .L2401 - b .L2389 -.L2400: - add x20, x20, :lo12:.LANCHOR33 + beq .L2351 + b .L2339 +.L2350: + add x20, x20, :lo12:.LANCHOR32 orr w1, w19, w24, lsl 24 mov x3, x23 mov x2, x22 @@ -14837,80 +14664,77 @@ flash_complete_page_read: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 96 b flash_ddr_tuning_read -.L2396: - cbz w24, .L2402 - b .L2403 -.L2395: - cbnz w24, .L2389 - b .L2402 +.L2346: + cbz w24, .L2352 + b .L2353 +.L2345: + cbnz w24, .L2339 + b .L2352 .size flash_complete_page_read, .-flash_complete_page_read .section .text.queue_wait_first_req_completed,"ax",@progbits .align 2 .type queue_wait_first_req_completed, %function queue_wait_first_req_completed: stp x29, x30, [sp, -96]! - adrp x0, .LANCHOR60 + adrp x0, .LANCHOR59 add x29, sp, 0 stp x19, x20, [sp, 16] - ldrb w0, [x0, #:lo12:.LANCHOR60] + ldrb w0, [x0, #:lo12:.LANCHOR59] stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] cmp w0, 255 stp x25, x26, [sp, 64] str x27, [sp, 80] - bne .L2422 -.L2455: + bne .L2372 +.L2405: mov w21, 0 - b .L2421 -.L2422: - adrp x19, .LANCHOR56 + b .L2371 +.L2372: + adrp x19, .LANCHOR55 sxtw x20, w0 - add x1, x19, :lo12:.LANCHOR56 + add x1, x19, :lo12:.LANCHOR55 add x1, x1, x20, lsl 6 ldrb w2, [x1, 58] ldr w21, [x1, 40] sub w3, w2, #1 cmp w3, 10 - bhi .L2455 - adrp x1, .L2425 - add x1, x1, :lo12:.L2425 + bhi .L2405 + adrp x1, .L2375 + add x1, x1, :lo12:.L2375 ldrh w1, [x1,w3,uxtw #1] - adr x3, .Lrtx2425 + adr x3, .Lrtx2375 add x1, x3, w1, sxth #2 br x1 -.Lrtx2425: +.Lrtx2375: .section .rodata.queue_wait_first_req_completed,"a",@progbits .align 0 .align 2 -.L2425: - .2byte (.L2424 - .Lrtx2425) / 4 - .2byte (.L2426 - .Lrtx2425) / 4 - .2byte (.L2427 - .Lrtx2425) / 4 - .2byte (.L2427 - .Lrtx2425) / 4 - .2byte (.L2427 - .Lrtx2425) / 4 - .2byte (.L2427 - .Lrtx2425) / 4 - .2byte (.L2428 - .Lrtx2425) / 4 - .2byte (.L2429 - .Lrtx2425) / 4 - .2byte (.L2430 - .Lrtx2425) / 4 - .2byte (.L2427 - .Lrtx2425) / 4 - .2byte (.L2430 - .Lrtx2425) / 4 +.L2375: + .2byte (.L2374 - .Lrtx2375) / 4 + .2byte (.L2376 - .Lrtx2375) / 4 + .2byte (.L2377 - .Lrtx2375) / 4 + .2byte (.L2377 - .Lrtx2375) / 4 + .2byte (.L2377 - .Lrtx2375) / 4 + .2byte (.L2377 - .Lrtx2375) / 4 + .2byte (.L2378 - .Lrtx2375) / 4 + .2byte (.L2379 - .Lrtx2375) / 4 + .2byte (.L2380 - .Lrtx2375) / 4 + .2byte (.L2377 - .Lrtx2375) / 4 + .2byte (.L2380 - .Lrtx2375) / 4 .section .text.queue_wait_first_req_completed -.L2424: - mov w1, 64 - mov w0, w21 - bl flash_wait_device_ready - tbz x0, 6, .L2455 - add x0, x19, :lo12:.LANCHOR56 +.L2374: + bl nandc_wait_flash_ready + add x0, x19, :lo12:.LANCHOR55 add x0, x0, x20, lsl 6 ldp x1, x2, [x0, 8] - cbz x2, .L2432 + cbz x2, .L2381 ldrb w3, [x0, 56] adrp x0, .LANCHOR131 ldrb w0, [x0, #:lo12:.LANCHOR131] cmp w3, w0 csel x1, x1, x2, ne -.L2432: - add x19, x19, :lo12:.LANCHOR56 +.L2381: + add x19, x19, :lo12:.LANCHOR55 mov w0, w21 add x20, x19, x20, lsl 6 ldr x2, [x20, 24] @@ -14921,37 +14745,34 @@ queue_wait_first_req_completed: ldrb w0, [x20, 2] orr w0, w0, 8 strb w0, [x20, 2] - b .L2455 -.L2426: - mov w1, 64 - mov w0, w21 - bl flash_wait_device_ready - tbz x0, 6, .L2455 - add x0, x19, :lo12:.LANCHOR56 + b .L2405 +.L2376: + bl nandc_wait_flash_ready + add x0, x19, :lo12:.LANCHOR55 lsl x2, x20, 6 add x1, x0, x2 ldrb w21, [x0, x2] add x0, x0, x21, lsl 6 ldr x24, [x0, 8] ldp x26, x0, [x1, 8] - cbz x0, .L2433 + cbz x0, .L2382 ldrb w2, [x1, 56] adrp x1, .LANCHOR131 ldrb w1, [x1, #:lo12:.LANCHOR131] cmp w2, w1 csel x26, x26, x0, ne -.L2433: - add x0, x19, :lo12:.LANCHOR56 +.L2382: + add x0, x19, :lo12:.LANCHOR55 add x0, x0, x21, lsl 6 ldr x1, [x0, 16] - cbz x1, .L2434 + cbz x1, .L2383 ldrb w2, [x0, 56] adrp x0, .LANCHOR131 ldrb w0, [x0, #:lo12:.LANCHOR131] cmp w2, w0 csel x24, x24, x1, ne -.L2434: - add x22, x19, :lo12:.LANCHOR56 +.L2383: + add x22, x19, :lo12:.LANCHOR55 mov x1, x26 add x27, x22, x20, lsl 6 add x22, x22, x21, lsl 6 @@ -14965,20 +14786,20 @@ queue_wait_first_req_completed: bl flash_complete_plane_page_read mov w25, w0 cmn w23, #1 - beq .L2435 + beq .L2384 ldr w0, [x27, 36] cmn w0, #1 - beq .L2436 + beq .L2385 ldr x1, [x27, 24] ldr w1, [x1, 4] cmp w0, w1 - beq .L2436 -.L2435: - adrp x0, .LANCHOR32 - add x22, x19, :lo12:.LANCHOR56 + beq .L2385 +.L2384: + adrp x0, .LANCHOR31 + add x22, x19, :lo12:.LANCHOR55 add x22, x22, x20, lsl 6 mov w5, 1 - ldrb w2, [x0, #:lo12:.LANCHOR32] + ldrb w2, [x0, #:lo12:.LANCHOR31] mov w0, 24 sub w0, w0, w2 ldr x3, [x22, 24] @@ -14996,37 +14817,37 @@ queue_wait_first_req_completed: mov w23, w0 ldr w2, [x22, 36] cmn w2, #1 - beq .L2437 + beq .L2386 ldr x0, [x22, 24] ldr w4, [x0, 4] cmp w2, w4 - beq .L2437 - adrp x1, .LANCHOR14 - ldr w1, [x1, #:lo12:.LANCHOR14] - tbz x1, 6, .L2437 + beq .L2386 + adrp x1, .LANCHOR19 + ldr w1, [x1, #:lo12:.LANCHOR19] + tbz x1, 6, .L2386 ldr w3, [x0] - adrp x0, .LC140 + adrp x0, .LC137 ldr w1, [x22, 40] - add x0, x0, :lo12:.LC140 + add x0, x0, :lo12:.LC137 bl printf -.L2437: - add x0, x19, :lo12:.LANCHOR56 +.L2386: + add x0, x19, :lo12:.LANCHOR55 add x0, x0, x20, lsl 6 ldr w1, [x0, 36] cmn w1, #1 - beq .L2436 + beq .L2385 ldr x0, [x0, 24] ldr w0, [x0, 4] cmp w1, w0 - beq .L2436 - adrp x1, .LANCHOR183 + beq .L2385 + adrp x1, .LANCHOR180 adrp x0, .LC0 - mov w2, 430 - add x1, x1, :lo12:.LANCHOR183 + mov w2, 431 + add x1, x1, :lo12:.LANCHOR180 add x0, x0, :lo12:.LC0 bl printf -.L2436: - add x0, x19, :lo12:.LANCHOR56 +.L2385: + add x0, x19, :lo12:.LANCHOR55 mov w1, 13 add x20, x0, x20, lsl 6 cmn w25, #1 @@ -15035,21 +14856,21 @@ queue_wait_first_req_completed: str w23, [x20, 52] orr w1, w1, 8 strb w1, [x20, 2] - beq .L2438 + beq .L2387 add x0, x0, x21, lsl 6 ldr w1, [x0, 36] cmn w1, #1 - beq .L2440 + beq .L2389 ldr x0, [x0, 24] ldr w0, [x0, 4] cmp w1, w0 - beq .L2440 -.L2438: - adrp x0, .LANCHOR32 - add x20, x19, :lo12:.LANCHOR56 + beq .L2389 +.L2387: + adrp x0, .LANCHOR31 + add x20, x19, :lo12:.LANCHOR55 add x20, x20, x21, lsl 6 mov w5, 1 - ldrb w2, [x0, #:lo12:.LANCHOR32] + ldrb w2, [x0, #:lo12:.LANCHOR31] mov w0, 24 sub w0, w0, w2 ldr x3, [x20, 24] @@ -15066,37 +14887,37 @@ queue_wait_first_req_completed: bl flash_read_page_en ldr w2, [x20, 36] cmn w2, #1 - beq .L2442 + beq .L2391 ldr x0, [x20, 24] ldr w4, [x0, 4] cmp w2, w4 - beq .L2442 - adrp x1, .LANCHOR14 - ldr w1, [x1, #:lo12:.LANCHOR14] - tbz x1, 6, .L2442 + beq .L2391 + adrp x1, .LANCHOR19 + ldr w1, [x1, #:lo12:.LANCHOR19] + tbz x1, 6, .L2391 ldr w3, [x0] - adrp x0, .LC140 + adrp x0, .LC137 ldr w1, [x20, 40] - add x0, x0, :lo12:.LC140 + add x0, x0, :lo12:.LC137 bl printf -.L2442: - add x0, x19, :lo12:.LANCHOR56 +.L2391: + add x0, x19, :lo12:.LANCHOR55 add x0, x0, x21, lsl 6 ldr w1, [x0, 36] cmn w1, #1 - beq .L2440 + beq .L2389 ldr x0, [x0, 24] ldr w0, [x0, 4] cmp w1, w0 - beq .L2440 - adrp x1, .LANCHOR183 + beq .L2389 + adrp x1, .LANCHOR180 adrp x0, .LC0 - mov w2, 449 - add x1, x1, :lo12:.LANCHOR183 + mov w2, 450 + add x1, x1, :lo12:.LANCHOR180 add x0, x0, :lo12:.LC0 bl printf -.L2440: - add x19, x19, :lo12:.LANCHOR56 +.L2389: + add x19, x19, :lo12:.LANCHOR55 mov w0, 13 add x21, x19, x21, lsl 6 strb w0, [x21, 58] @@ -15104,17 +14925,17 @@ queue_wait_first_req_completed: str w23, [x21, 52] orr w0, w0, 8 strb w0, [x21, 2] - b .L2455 -.L2427: + b .L2405 +.L2377: mov w0, w21 mov w1, 64 bl flash_wait_device_ready mov w21, w0 - tbz x21, 6, .L2455 + tbz x21, 6, .L2405 mov w0, 5 tst w21, w0 - beq .L2443 - add x19, x19, :lo12:.LANCHOR56 + beq .L2393 + add x19, x19, :lo12:.LANCHOR55 mov w0, 12 add x20, x19, x20, lsl 6 mov w4, 12 @@ -15122,15 +14943,15 @@ queue_wait_first_req_completed: ldrb w1, [x20, 1] ldr w3, [x20, 40] strb w0, [x20, 58] - adrp x0, .LC141 - add x0, x0, :lo12:.LC141 + adrp x0, .LC138 + add x0, x0, :lo12:.LC138 bl printf -.L2519: +.L2463: mov w0, -1 str w0, [x20, 52] - b .L2421 -.L2443: - add x21, x19, :lo12:.LANCHOR56 + b .L2371 +.L2393: + add x21, x19, :lo12:.LANCHOR55 mov w0, 13 add x21, x21, x20, lsl 6 strb w0, [x21, 58] @@ -15141,60 +14962,60 @@ queue_wait_first_req_completed: str wzr, [x21, 52] movk w0, 0x444b, lsl 16 cmp w1, w0 - bne .L2455 + bne .L2405 ldrh w0, [x21, 50] - cbnz w0, .L2455 - adrp x0, .LANCHOR32 + cbnz w0, .L2405 + adrp x0, .LANCHOR31 mov w5, 1 - adrp x22, .LANCHOR175 + adrp x22, .LANCHOR172 ldr w1, [x21, 40] - ldrb w2, [x0, #:lo12:.LANCHOR32] + ldrb w2, [x0, #:lo12:.LANCHOR31] mov w0, 24 - ldr x3, [x22, #:lo12:.LANCHOR175] + ldr x3, [x22, #:lo12:.LANCHOR172] sub w0, w0, w2 lsl w5, w5, w2 adrp x2, .LANCHOR131 sub w5, w5, #1 ldrb w4, [x2, #:lo12:.LANCHOR131] - adrp x2, .LANCHOR176 + adrp x2, .LANCHOR173 lsl w6, w5, w0 - ldr x2, [x2, #:lo12:.LANCHOR176] + ldr x2, [x2, #:lo12:.LANCHOR173] lsr w0, w1, w0 bic w1, w1, w6 and w0, w0, w5 bl flash_read_page_en cmn w0, #1 - beq .L2444 - ldr x1, [x22, #:lo12:.LANCHOR175] + beq .L2394 + ldr x1, [x22, #:lo12:.LANCHOR172] ldr x2, [x21, 24] ldr w1, [x1] ldr w2, [x2] cmp w2, w1 - beq .L2455 -.L2444: - add x19, x19, :lo12:.LANCHOR56 - adrp x1, .LANCHOR52 + beq .L2405 +.L2394: + add x19, x19, :lo12:.LANCHOR55 + adrp x1, .LANCHOR51 add x20, x19, x20, lsl 6 mov w3, w0 - ldrb w4, [x1, #:lo12:.LANCHOR52] - adrp x0, .LC142 - add x0, x0, :lo12:.LC142 + ldrb w4, [x1, #:lo12:.LANCHOR51] + adrp x0, .LC139 + add x0, x0, :lo12:.LC139 ldrb w1, [x20, 1] ldr w2, [x20, 40] bl printf mov w0, -1 str w0, [x20, 52] - b .L2455 -.L2430: + b .L2405 +.L2380: cmp w2, 11 mov w1, 3 mov w5, 10 csel w5, w5, w1, eq - adrp x1, .LANCHOR32 + adrp x1, .LANCHOR31 mov w4, 24 mov w2, 1 - add x22, x19, :lo12:.LANCHOR56 - ldrb w3, [x1, #:lo12:.LANCHOR32] + add x22, x19, :lo12:.LANCHOR55 + ldrb w3, [x1, #:lo12:.LANCHOR31] ubfiz x0, x0, 6, 8 add x0, x22, x0 mov x24, x1 @@ -15204,41 +15025,41 @@ queue_wait_first_req_completed: lsr w3, w21, w4 and w3, w3, w2 and w3, w3, 65535 -.L2446: +.L2396: ldrb w1, [x0] cmp w1, 255 - bne .L2453 + bne .L2403 mov w21, -1 - b .L2421 -.L2453: + b .L2371 +.L2403: sxtw x23, w1 ubfiz x0, x1, 6, 8 add x1, x22, x23, lsl 6 add x0, x22, x0 ldrb w6, [x1, 58] cmp w6, w5 - bne .L2446 + bne .L2396 ldr w1, [x1, 40] lsr w1, w1, w4 and w1, w1, w2 cmp w3, w1 - bne .L2446 + bne .L2396 mov w0, w21 mov w1, 64 bl flash_wait_device_ready mov w21, w0 - tbnz x21, 6, .L2448 -.L2518: + tbnz x21, 6, .L2398 +.L2462: mov w21, 0 - b .L2449 -.L2448: + b .L2399 +.L2398: tst x21, 15 - beq .L2450 + beq .L2400 add x22, x22, x20, lsl 6 mov w2, w0 mov w4, 12 - adrp x0, .LC143 - add x0, x0, :lo12:.LC143 + adrp x0, .LC140 + add x0, x0, :lo12:.LC140 ldrb w1, [x22, 1] ldr w3, [x22, 40] bl printf @@ -15246,15 +15067,15 @@ queue_wait_first_req_completed: strb w0, [x22, 58] mov w0, -1 str w0, [x22, 52] -.L2449: - add x1, x19, :lo12:.LANCHOR56 +.L2399: + add x1, x19, :lo12:.LANCHOR55 add x20, x1, x20, lsl 6 add x1, x1, x23, lsl 6 ldrb w0, [x20, 58] strb w0, [x1, 58] ldr w0, [x20, 52] str w0, [x1, 52] -.L2421: +.L2371: mov w0, w21 ldr x27, [sp, 80] ldp x19, x20, [sp, 16] @@ -15263,7 +15084,7 @@ queue_wait_first_req_completed: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 96 ret -.L2450: +.L2400: add x21, x22, x20, lsl 6 mov w0, 13 strb w0, [x21, 58] @@ -15274,78 +15095,78 @@ queue_wait_first_req_completed: str wzr, [x21, 52] movk w0, 0x444b, lsl 16 cmp w1, w0 - bne .L2518 + bne .L2462 ldrh w0, [x21, 50] - cbnz w0, .L2518 - ldrb w2, [x24, #:lo12:.LANCHOR32] + cbnz w0, .L2462 + ldrb w2, [x24, #:lo12:.LANCHOR31] mov w5, 1 mov w0, 24 - adrp x22, .LANCHOR175 + adrp x22, .LANCHOR172 sub w0, w0, w2 ldr w1, [x21, 40] lsl w5, w5, w2 adrp x2, .LANCHOR131 sub w5, w5, #1 - ldr x3, [x22, #:lo12:.LANCHOR175] + ldr x3, [x22, #:lo12:.LANCHOR172] ldrb w4, [x2, #:lo12:.LANCHOR131] - adrp x2, .LANCHOR176 + adrp x2, .LANCHOR173 lsl w6, w5, w0 - ldr x2, [x2, #:lo12:.LANCHOR176] + ldr x2, [x2, #:lo12:.LANCHOR173] lsr w0, w1, w0 bic w1, w1, w6 and w0, w0, w5 bl flash_read_page_en cmn w0, #1 - beq .L2452 - ldr x1, [x22, #:lo12:.LANCHOR175] + beq .L2402 + ldr x1, [x22, #:lo12:.LANCHOR172] ldr x2, [x21, 24] ldr w1, [x1] ldr w2, [x2] cmp w2, w1 - beq .L2518 -.L2452: - add x21, x19, :lo12:.LANCHOR56 - adrp x1, .LANCHOR52 + beq .L2462 +.L2402: + add x21, x19, :lo12:.LANCHOR55 + adrp x1, .LANCHOR51 add x21, x21, x20, lsl 6 mov w3, w0 - ldrb w4, [x1, #:lo12:.LANCHOR52] - adrp x0, .LC144 - add x0, x0, :lo12:.LC144 + ldrb w4, [x1, #:lo12:.LANCHOR51] + adrp x0, .LC141 + add x0, x0, :lo12:.LC141 ldrb w1, [x21, 1] ldr w2, [x21, 40] bl printf mov w0, -1 str w0, [x21, 52] - b .L2518 -.L2428: + b .L2462 +.L2378: mov w0, w21 mov w1, 32 bl flash_wait_device_ready mov w21, w0 - tbz x21, 5, .L2455 - add x19, x19, :lo12:.LANCHOR56 + tbz x21, 5, .L2405 + add x19, x19, :lo12:.LANCHOR55 tst x21, 15 add x20, x19, x20, lsl 6 - beq .L2454 + beq .L2404 mov w0, 12 strb w0, [x20, 58] - b .L2519 -.L2454: + b .L2463 +.L2404: mov w0, 13 str wzr, [x20, 52] strb w0, [x20, 58] - b .L2455 -.L2429: + b .L2405 +.L2379: mov w1, 64 mov w0, w21 bl flash_wait_device_ready - tbz x0, 6, .L2455 - add x19, x19, :lo12:.LANCHOR56 + tbz x0, 6, .L2405 + add x19, x19, :lo12:.LANCHOR55 add x19, x19, x20, lsl 6 str w0, [x19, 52] mov w0, 7 strb w0, [x19, 58] - b .L2455 + b .L2405 .size queue_wait_first_req_completed, .-queue_wait_first_req_completed .section .text.sblk_prog_page,"ax",@progbits .align 2 @@ -15362,24 +15183,24 @@ sblk_prog_page: stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] - cbz w0, .L2521 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L2521 + cbz w0, .L2465 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L2465 ldr w1, [x19, 40] - adrp x0, .LC145 + adrp x0, .LC142 mov w2, w20 - add x0, x0, :lo12:.LC145 + add x0, x0, :lo12:.LC142 bl printf -.L2521: - adrp x23, .LANCHOR45 - adrp x25, .LANCHOR32 - add x23, x23, :lo12:.LANCHOR45 - add x26, x25, :lo12:.LANCHOR32 +.L2465: + adrp x23, .LANCHOR44 + adrp x25, .LANCHOR31 + add x23, x23, :lo12:.LANCHOR44 + add x26, x25, :lo12:.LANCHOR31 mov w21, 0 -.L2522: - cbnz w20, .L2533 -.L2549: +.L2466: + cbnz w20, .L2477 +.L2493: mov w0, 0 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -15388,38 +15209,38 @@ sblk_prog_page: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 96 ret -.L2533: +.L2477: ldrb w24, [x19] ldr w22, [x19, 40] -.L2523: +.L2467: mov w1, 1 mov w0, w22 bl queue_lun_state - cbnz w0, .L2524 + cbnz w0, .L2468 cmp w20, 1 - beq .L2525 + beq .L2469 ldrb w0, [x23] - cbz w0, .L2525 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbz w0, .L2526 -.L2525: + cbz w0, .L2469 + adrp x0, .LANCHOR36 + ldrb w0, [x0, #:lo12:.LANCHOR36] + cbz w0, .L2470 +.L2469: mov x0, x19 bl queue_prog_cmd -.L2527: +.L2471: subs w20, w20, #1 - beq .L2549 + beq .L2493 ubfiz x24, x24, 6, 8 - adrp x19, .LANCHOR56 - add x19, x19, :lo12:.LANCHOR56 + adrp x19, .LANCHOR55 + add x19, x19, :lo12:.LANCHOR55 add x19, x19, x24 - b .L2522 -.L2524: + b .L2466 +.L2468: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2523 -.L2526: - ldrb w1, [x25, #:lo12:.LANCHOR32] + b .L2467 +.L2470: + ldrb w1, [x25, #:lo12:.LANCHOR31] mov w27, 24 mov w0, 1 sub w27, w27, w1 @@ -15430,17 +15251,17 @@ sblk_prog_page: ldrb w0, [x19] and w27, w27, 65535 cmp w0, 255 - bne .L2528 - adrp x1, .LANCHOR184 + bne .L2472 + adrp x1, .LANCHOR181 adrp x0, .LC0 - mov w2, 696 - add x1, x1, :lo12:.LANCHOR184 + mov w2, 697 + add x1, x1, :lo12:.LANCHOR181 add x0, x0, :lo12:.LC0 bl printf -.L2528: +.L2472: ldrb w0, [x19] - adrp x1, .LANCHOR56 - add x1, x1, :lo12:.LANCHOR56 + adrp x1, .LANCHOR55 + add x1, x1, :lo12:.LANCHOR55 mov w3, 24 mov w28, 1 add x0, x1, x0, lsl 6 @@ -15452,11 +15273,11 @@ sblk_prog_page: lsr w1, w4, w3 and w0, w0, w1 cmp w27, w0, uxth - bne .L2529 + bne .L2473 + adrp x0, .LANCHOR74 + ldrh w2, [x0, #:lo12:.LANCHOR74] adrp x0, .LANCHOR75 - ldrh w2, [x0, #:lo12:.LANCHOR75] - adrp x0, .LANCHOR76 - ldrb w1, [x0, #:lo12:.LANCHOR76] + ldrb w1, [x0, #:lo12:.LANCHOR75] sub w0, w3, w2 lsr w5, w22, w2 sub w3, w1, #1 @@ -15474,9 +15295,9 @@ sblk_prog_page: cmp w5, w0 and w1, w1, w4 ccmp w22, w1, 0, ne - bne .L2529 + bne .L2473 cmp w21, w3 - beq .L2529 + beq .L2473 ldr w1, [x19, 40] mov w0, 17 ldr x2, [x19, 8] @@ -15489,15 +15310,15 @@ sblk_prog_page: mov w0, -1 strb w0, [x19] mov x1, x19 - adrp x0, .LANCHOR60 - add x0, x0, :lo12:.LANCHOR60 + adrp x0, .LANCHOR59 + add x0, x0, :lo12:.LANCHOR59 bl buf_add_tail - b .L2527 -.L2529: + b .L2471 +.L2473: mov x0, x19 mov w21, 0 bl queue_prog_cmd - b .L2527 + b .L2471 .size sblk_prog_page, .-sblk_prog_page .section .text.sblk_wait_write_queue_completed,"ax",@progbits .align 2 @@ -15507,19 +15328,19 @@ sblk_wait_write_queue_completed: stp x29, x30, [sp, -32]! add x29, sp, 0 str x19, [sp, 16] - adrp x19, .LANCHOR60 - add x19, x19, :lo12:.LANCHOR60 -.L2552: + adrp x19, .LANCHOR59 + add x19, x19, :lo12:.LANCHOR59 +.L2496: ldrb w0, [x19] cmp w0, 255 - bne .L2553 + bne .L2497 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 ret -.L2553: +.L2497: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2552 + b .L2496 .size sblk_wait_write_queue_completed, .-sblk_wait_write_queue_completed .section .text.ftl_flush,"ax",@progbits .align 2 @@ -15532,17 +15353,17 @@ ftl_flush: ldrb w1, [x0, #:lo12:.LANCHOR129] stp x19, x20, [sp, 16] mov x19, x0 - adrp x20, .LANCHOR185 - cbz w1, .L2556 - ldrb w2, [x20, #:lo12:.LANCHOR185] - adrp x0, .LANCHOR56 - add x0, x0, :lo12:.LANCHOR56 + adrp x20, .LANCHOR182 + cbz w1, .L2500 + ldrb w2, [x20, #:lo12:.LANCHOR182] + adrp x0, .LANCHOR55 + add x0, x0, :lo12:.LANCHOR55 add x0, x0, x2, lsl 6 bl sblk_prog_page -.L2556: +.L2500: mov w0, -1 strb wzr, [x19, #:lo12:.LANCHOR129] - strb w0, [x20, #:lo12:.LANCHOR185] + strb w0, [x20, #:lo12:.LANCHOR182] bl sblk_wait_write_queue_completed bl ftl_write_completed ldp x19, x20, [sp, 16] @@ -15587,11 +15408,11 @@ ftl_read_ppa_page: add x29, sp, 0 stp x19, x20, [sp, 16] mov w20, w0 - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 mov w19, 24 stp x21, x22, [sp, 32] mov x21, x1 - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] mov x22, x2 str x23, [sp, 48] mov w23, w3 @@ -15625,21 +15446,21 @@ sblk_read_page: stp x27, x28, [sp, 80] mov w21, w22 stp x19, x20, [sp, 16] - adrp x27, .LANCHOR32 + adrp x27, .LANCHOR31 stp x23, x24, [sp, 48] mov x19, x0 stp x25, x26, [sp, 64] mov x23, x0 - adrp x25, .LANCHOR186 - add x28, x27, :lo12:.LANCHOR32 - add x25, x25, :lo12:.LANCHOR186 -.L2566: - cbnz w21, .L2576 -.L2589: - adrp x19, .LANCHOR56 - add x19, x19, :lo12:.LANCHOR56 -.L2577: - cbnz w22, .L2579 + adrp x25, .LANCHOR183 + add x28, x27, :lo12:.LANCHOR31 + add x25, x25, :lo12:.LANCHOR183 +.L2510: + cbnz w21, .L2520 +.L2533: + adrp x19, .LANCHOR55 + add x19, x19, :lo12:.LANCHOR55 +.L2521: + cbnz w22, .L2523 ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -15648,28 +15469,28 @@ sblk_read_page: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L2576: +.L2520: ldrb w24, [x19] ldr w26, [x19, 40] -.L2567: +.L2511: mov w1, 0 mov w0, w26 bl queue_lun_state - cbnz w0, .L2568 + cbnz w0, .L2512 cmp w21, 1 - beq .L2573 + beq .L2517 ldrb w0, [x25] - cbnz w0, .L2570 -.L2573: + cbnz w0, .L2514 +.L2517: mov x0, x19 bl queue_read_cmd - b .L2571 -.L2568: + b .L2515 +.L2512: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2567 -.L2570: - ldrb w1, [x27, #:lo12:.LANCHOR32] + b .L2511 +.L2514: + ldrb w1, [x27, #:lo12:.LANCHOR31] mov w20, 24 mov w0, 1 sub w20, w20, w1 @@ -15680,17 +15501,17 @@ sblk_read_page: ldrb w0, [x19] and w20, w20, 65535 cmp w0, 255 - bne .L2572 - adrp x1, .LANCHOR187 + bne .L2516 + adrp x1, .LANCHOR184 adrp x0, .LC0 - mov w2, 781 - add x1, x1, :lo12:.LANCHOR187 + mov w2, 782 + add x1, x1, :lo12:.LANCHOR184 add x0, x0, :lo12:.LC0 bl printf -.L2572: +.L2516: ldrb w4, [x19] - adrp x2, .LANCHOR56 - add x2, x2, :lo12:.LANCHOR56 + adrp x2, .LANCHOR55 + add x2, x2, :lo12:.LANCHOR55 ldrb w7, [x28] mov w0, 24 mov w3, 1 @@ -15703,18 +15524,18 @@ sblk_read_page: lsr w0, w1, w0 and w0, w0, w3 cmp w20, w0, uxth - bne .L2573 + bne .L2517 adrp x0, .LANCHOR111 ldrh w0, [x0, #:lo12:.LANCHOR111] add w26, w0, w26 cmp w1, w26 - bne .L2573 + bne .L2517 ldr w0, [x19, 40] mov w26, -1 ldrb w24, [x2, x5] - adrp x20, .LANCHOR60 + adrp x20, .LANCHOR59 stp x6, x5, [x29, 96] - add x20, x20, :lo12:.LANCHOR60 + add x20, x20, :lo12:.LANCHOR59 str x2, [x29, 112] sub w21, w21, #1 str w4, [x29, 120] @@ -15737,28 +15558,28 @@ sblk_read_page: ubfiz x1, x4, 6, 8 add x1, x2, x1 bl buf_add_tail -.L2571: +.L2515: subs w21, w21, #1 - beq .L2589 + beq .L2533 ubfiz x24, x24, 6, 8 - adrp x19, .LANCHOR56 - add x19, x19, :lo12:.LANCHOR56 + adrp x19, .LANCHOR55 + add x19, x19, :lo12:.LANCHOR55 add x19, x19, x24 - b .L2566 -.L2579: + b .L2510 +.L2523: ldrb w0, [x23, 58] cmp w0, 13 - bne .L2578 + bne .L2522 ldrb w0, [x23] sub w22, w22, #1 cmp w0, 255 - beq .L2578 + beq .L2522 ubfiz x23, x0, 6, 8 add x23, x19, x23 -.L2578: +.L2522: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2577 + b .L2521 .size sblk_read_page, .-sblk_read_page .section .text.gc_check_data_one_wl,"ax",@progbits .align 2 @@ -15769,112 +15590,112 @@ gc_check_data_one_wl: stp x29, x30, [sp, 16] add x29, sp, 16 stp x19, x20, [sp, 32] - adrp x19, .LANCHOR71 + adrp x19, .LANCHOR70 stp x21, x22, [sp, 48] - add x22, x19, :lo12:.LANCHOR71 - adrp x20, .LANCHOR10 + add x22, x19, :lo12:.LANCHOR70 + adrp x20, .LANCHOR12 stp x23, x24, [sp, 64] stp x25, x26, [sp, 80] ldr x0, [x22, 8] stp x27, x28, [sp, 96] - ldr x21, [x20, #:lo12:.LANCHOR10] - cbnz x0, .L2592 + ldr x21, [x20, #:lo12:.LANCHOR12] + cbnz x0, .L2536 mov w0, 1 bl buf_alloc str x0, [x22, 8] -.L2592: - add x0, x19, :lo12:.LANCHOR71 +.L2536: + add x0, x19, :lo12:.LANCHOR70 ldr x22, [x0, 8] - cbnz x22, .L2593 - adrp x1, .LANCHOR188 + cbnz x22, .L2537 + adrp x1, .LANCHOR185 adrp x0, .LC0 mov w2, 729 - add x1, x1, :lo12:.LANCHOR188 + add x1, x1, :lo12:.LANCHOR185 add x0, x0, :lo12:.LC0 bl printf -.L2593: +.L2537: adrp x27, .LANCHOR111 - adrp x28, .LANCHOR79 + adrp x28, .LANCHOR78 add x26, x21, 96 add x27, x27, :lo12:.LANCHOR111 - add x28, x28, :lo12:.LANCHOR79 + add x28, x28, :lo12:.LANCHOR78 mov w25, 0 -.L2594: +.L2538: ldrb w0, [x21, 89] cmp w25, w0 - bge .L2605 + bge .L2549 mov w24, 1 - add x23, x19, :lo12:.LANCHOR71 - b .L2606 -.L2604: + add x23, x19, :lo12:.LANCHOR70 + b .L2550 +.L2548: ldrh w0, [x26] ldrh w2, [x27] ldrb w1, [x28] cmp w1, 2 mul w2, w0, w2 - beq .L2595 - adrp x0, .LANCHOR36 - ldrb w0, [x0, #:lo12:.LANCHOR36] - cbz w0, .L2596 -.L2595: + beq .L2539 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbz w0, .L2540 +.L2539: ldrh w0, [x23, 16] sub w3, w0, #1 add w0, w24, w2 add w0, w3, w0 orr w1, w0, w1, lsl 24 str w1, [x22, 40] -.L2597: +.L2541: mov w1, 1 mov x0, x22 bl sblk_read_page ldr w2, [x22, 52] - adrp x1, .LANCHOR162 + adrp x1, .LANCHOR159 cmn w2, #1 - beq .L2600 + beq .L2544 ldrh w0, [x23, 22] - ldr x4, [x1, #:lo12:.LANCHOR162] + ldr x4, [x1, #:lo12:.LANCHOR159] ldr x3, [x22, 24] lsl x0, x0, 2 ldr w5, [x4, x0] ldr w4, [x3, 4] cmp w5, w4 - bne .L2600 - adrp x4, .LANCHOR163 - ldr x4, [x4, #:lo12:.LANCHOR163] + bne .L2544 + adrp x4, .LANCHOR160 + ldr x4, [x4, #:lo12:.LANCHOR160] ldr w4, [x4, x0] ldr w0, [x3, 8] cmp w4, w0 - beq .L2601 -.L2600: + beq .L2545 +.L2544: ldrh w0, [x23, 22] - ldr x1, [x1, #:lo12:.LANCHOR162] + ldr x1, [x1, #:lo12:.LANCHOR159] lsl x0, x0, 2 ldr w3, [x1, x0] cmn w3, #1 - beq .L2601 - adrp x1, .LANCHOR14 - ldr w1, [x1, #:lo12:.LANCHOR14] - tbz x1, 10, .L2602 + beq .L2545 + adrp x1, .LANCHOR19 + ldr w1, [x1, #:lo12:.LANCHOR19] + tbz x1, 10, .L2546 ldr x1, [x22, 24] - adrp x4, .LANCHOR163 - ldr x4, [x4, #:lo12:.LANCHOR163] + adrp x4, .LANCHOR160 + ldr x4, [x4, #:lo12:.LANCHOR160] ldr w5, [x1, 12] str w5, [sp] ldr w4, [x4, x0] - adrp x0, .LC146 + adrp x0, .LC143 ldp w5, w6, [x1] - add x0, x0, :lo12:.LC146 + add x0, x0, :lo12:.LC143 ldr w7, [x1, 8] ldr w1, [x22, 40] bl printf -.L2602: +.L2546: adrp x0, .LANCHOR124 ldrh w1, [x21, 80] ldrb w2, [x0, #:lo12:.LANCHOR124] - adrp x0, .LANCHOR9 - ldr x0, [x0, #:lo12:.LANCHOR9] + adrp x0, .LANCHOR11 + ldr x0, [x0, #:lo12:.LANCHOR11] strh wzr, [x0, x1, lsl 1] - ldr x1, [x20, #:lo12:.LANCHOR10] + ldr x1, [x20, #:lo12:.LANCHOR12] ldr w0, [x1, 556] add w0, w0, 1 str w0, [x1, 556] @@ -15884,16 +15705,16 @@ gc_check_data_one_wl: mov w0, 20041 movk w0, 0x444b, lsl 16 cmp w1, w0 - bne .L2609 - cbnz w2, .L2609 - adrp x0, .LANCHOR81 - ldrb w0, [x0, #:lo12:.LANCHOR81] - cbnz w0, .L2609 + bne .L2553 + cbnz w2, .L2553 + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbnz w0, .L2553 ldr w0, [x22, 40] bl ftl_mask_bad_block -.L2609: +.L2553: mov w0, -1 -.L2591: +.L2535: ldp x19, x20, [sp, 32] ldp x21, x22, [sp, 48] ldp x23, x24, [sp, 64] @@ -15902,54 +15723,54 @@ gc_check_data_one_wl: ldp x29, x30, [sp, 16] add sp, sp, 112 ret -.L2596: +.L2540: cmp w1, 3 ldrh w0, [x23, 16] - bne .L2598 - adrp x1, .LANCHOR37 - ldrb w1, [x1, #:lo12:.LANCHOR37] - cbz w1, .L2599 + bne .L2542 + adrp x1, .LANCHOR36 + ldrb w1, [x1, #:lo12:.LANCHOR36] + cbz w1, .L2543 add w0, w0, w0, lsl 1 sub w1, w0, #1 add w0, w24, w2 add w0, w1, w0 orr w0, w0, 50331648 -.L2624: +.L2568: str w0, [x22, 40] - b .L2597 -.L2599: + b .L2541 +.L2543: add w0, w0, w2 orr w0, w0, w24, lsl 24 - b .L2624 -.L2598: + b .L2568 +.L2542: add w0, w0, w2 - b .L2624 -.L2601: + b .L2568 +.L2545: ldrh w0, [x23, 22] add w24, w24, 1 add w0, w0, 1 strh w0, [x23, 22] -.L2606: +.L2550: ldrh w0, [x23, 20] cmp w24, w0 - ble .L2604 + ble .L2548 add w25, w25, 1 add x26, x26, 2 - b .L2594 -.L2605: - add x19, x19, :lo12:.LANCHOR71 + b .L2538 +.L2549: + add x19, x19, :lo12:.LANCHOR70 ldrh w0, [x19, 16] add w1, w0, 1 strh w1, [x19, 16] - adrp x1, .LANCHOR81 - ldrb w1, [x1, #:lo12:.LANCHOR81] - cbz w1, .L2610 + adrp x1, .LANCHOR80 + ldrb w1, [x1, #:lo12:.LANCHOR80] + cbz w1, .L2554 add w0, w0, 2 strh w0, [x19, 16] -.L2610: -.L2603: +.L2554: +.L2547: mov w0, 0 - b .L2591 + b .L2535 .size gc_check_data_one_wl, .-gc_check_data_one_wl .section .text.sblk_tlc_prog_one_page,"ax",@progbits .align 2 @@ -15962,11 +15783,11 @@ sblk_tlc_prog_one_page: mov x19, x0 ldr x0, [x0] ldr w20, [x0, 40] -.L2626: +.L2570: mov w1, 1 mov w0, w20 bl queue_lun_state - cbnz w0, .L2627 + cbnz w0, .L2571 mov x0, x19 mov w1, 1 bl queue_tlc_prog_cmd @@ -15974,10 +15795,10 @@ sblk_tlc_prog_one_page: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret -.L2627: +.L2571: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2626 + b .L2570 .size sblk_tlc_prog_one_page, .-sblk_tlc_prog_one_page .section .text.sblk_xlc_prog_pages,"ax",@progbits .align 2 @@ -15995,37 +15816,37 @@ sblk_xlc_prog_pages: mov w24, w2 ldr w19, [x0, 40] str x25, [sp, 64] -.L2630: +.L2574: mov w1, 1 mov w0, w19 bl queue_lun_state - cbnz w0, .L2631 + cbnz w0, .L2575 cmp w24, 2 - bne .L2632 - adrp x0, .LANCHOR45 + bne .L2576 + adrp x0, .LANCHOR44 ldr x3, [x22] - ldrb w0, [x0, #:lo12:.LANCHOR45] - cbz w0, .L2633 - adrp x0, .LANCHOR32 + ldrb w0, [x0, #:lo12:.LANCHOR44] + cbz w0, .L2577 + adrp x0, .LANCHOR31 ldr x7, [x20] mov w25, 1 mov w2, 24 - ldrb w0, [x0, #:lo12:.LANCHOR32] + ldrb w0, [x0, #:lo12:.LANCHOR31] ldr w3, [x3, 40] sub w2, w2, w0 ldr w1, [x7, 40] lsl w19, w25, w0 - adrp x0, .LANCHOR37 + adrp x0, .LANCHOR36 lsl w21, w25, w2 sub w19, w19, #1 - ldrb w0, [x0, #:lo12:.LANCHOR37] + ldrb w0, [x0, #:lo12:.LANCHOR36] sub w21, w21, #1 and w23, w1, w21 lsr w1, w1, w2 and w19, w19, w1 and w21, w21, w3 and w19, w19, 255 - cbz w0, .L2634 + cbz w0, .L2578 mov w0, w19 bl zftl_flash_exit_slc_mode ldr x0, [x20] @@ -16087,7 +15908,7 @@ sblk_xlc_prog_pages: ldr x6, [x0, 24] mov w0, 0 bl flash_start_one_pass_page_prog -.L2635: +.L2579: ldr x1, [x20] mov w0, 5 strb w0, [x1, 58] @@ -16095,10 +15916,10 @@ sblk_xlc_prog_pages: strb w0, [x1, 59] mov w0, -1 strb w0, [x1] - adrp x0, .LANCHOR60 - add x0, x0, :lo12:.LANCHOR60 + adrp x0, .LANCHOR59 + add x0, x0, :lo12:.LANCHOR59 bl buf_add_tail -.L2636: +.L2580: mov w0, 0 ldr x25, [sp, 64] ldp x19, x20, [sp, 16] @@ -16106,11 +15927,11 @@ sblk_xlc_prog_pages: ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 80 ret -.L2631: +.L2575: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2630 -.L2634: + b .L2574 +.L2578: ldr x5, [x7, 8] mov w4, w23 ldr x6, [x7, 24] @@ -16173,37 +15994,37 @@ sblk_xlc_prog_pages: ldr x6, [x0, 24] ldrb w0, [x7, 60] bl flash_start_tlc_page_prog - b .L2635 -.L2633: + b .L2579 +.L2577: ldr w19, [x3, 40] -.L2637: +.L2581: mov w1, 1 mov w0, w19 bl queue_lun_state - cbnz w0, .L2638 + cbnz w0, .L2582 mov w1, 1 mov x0, x20 bl queue_tlc_prog_cmd mov w1, 0 mov x0, x22 bl queue_tlc_prog_cmd -.L2639: +.L2583: mov w1, 1 mov w0, w19 bl queue_lun_state - cbz w0, .L2636 + cbz w0, .L2580 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2639 -.L2638: + b .L2583 +.L2582: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2637 -.L2632: + b .L2581 +.L2576: mov w1, 1 mov x0, x20 bl queue_tlc_prog_cmd - b .L2636 + b .L2580 .size sblk_xlc_prog_pages, .-sblk_xlc_prog_pages .section .text.sblk_3d_mlc_prog_pages,"ax",@progbits .align 2 @@ -16217,17 +16038,17 @@ sblk_3d_mlc_prog_pages: stp x21, x22, [sp, 32] add x21, x0, x1 stp x23, x24, [sp, 48] - adrp x23, .LANCHOR32 - adrp x24, .LANCHOR60 + adrp x23, .LANCHOR31 + adrp x24, .LANCHOR59 str x25, [sp, 64] - add x23, x23, :lo12:.LANCHOR32 - add x24, x24, :lo12:.LANCHOR60 + add x23, x23, :lo12:.LANCHOR31 + add x24, x24, :lo12:.LANCHOR59 add x25, x0, 8 stp x19, x20, [sp, 16] mov w22, 1 -.L2643: +.L2587: cmp x21, x25 - bne .L2646 + bne .L2590 mov w0, 0 ldr x25, [sp, 64] ldp x19, x20, [sp, 16] @@ -16235,14 +16056,14 @@ sblk_3d_mlc_prog_pages: ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 80 ret -.L2646: +.L2590: ldr x0, [x25, -8] ldr w19, [x0, 40] -.L2644: +.L2588: mov w1, 1 mov w0, w19 bl queue_lun_state - cbnz w0, .L2645 + cbnz w0, .L2589 ldr x0, [x25, -8] mov w2, 24 ldrb w1, [x23] @@ -16274,7 +16095,7 @@ sblk_3d_mlc_prog_pages: ldr x4, [x0, 24] mov w0, 16 bl flash_start_3d_mlc_page_prog - bl nandc_de_cs.constprop.33 + bl nandc_de_cs.constprop.32 ldr x1, [x25, -24] mov w0, 4 strb w22, [x1, 59] @@ -16283,11 +16104,11 @@ sblk_3d_mlc_prog_pages: strb w0, [x1] mov x0, x24 bl buf_add_tail - b .L2643 -.L2645: + b .L2587 +.L2589: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2644 + b .L2588 .size sblk_3d_mlc_prog_pages, .-sblk_3d_mlc_prog_pages .section .text.flash_prog_page_en,"ax",@progbits .align 2 @@ -16301,63 +16122,63 @@ flash_prog_page_en: and w0, w5, 255 stp x19, x20, [sp, 16] str w0, [x29, 124] - adrp x0, .LANCHOR18 + adrp x0, .LANCHOR23 stp x23, x24, [sp, 48] mov w20, w1 stp x27, x28, [sp, 80] mov x23, x2 - ldrb w1, [x0, #:lo12:.LANCHOR18] + ldrb w1, [x0, #:lo12:.LANCHOR23] mov x22, x3 stp x25, x26, [sp, 64] mov w28, w4 ubfx x24, x20, 24, 2 cmp w1, w21 mov x19, x0 - bhi .L2649 - adrp x1, .LANCHOR189 + bhi .L2593 + adrp x1, .LANCHOR186 adrp x0, .LC0 - mov w2, 635 - add x1, x1, :lo12:.LANCHOR189 + mov w2, 642 + add x1, x1, :lo12:.LANCHOR186 add x0, x0, :lo12:.LC0 bl printf -.L2649: - ldrb w0, [x19, #:lo12:.LANCHOR18] +.L2593: + ldrb w0, [x19, #:lo12:.LANCHOR23] cmp w0, w21 - bls .L2660 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 + bls .L2604 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 ldrb w27, [x0, w21, sxtw] - cbnz w24, .L2662 + cbnz w24, .L2606 adrp x0, .LANCHOR0 ldrb w1, [x0, #:lo12:.LANCHOR0] adrp x0, .LANCHOR1 - cbz w1, .L2652 + cbz w1, .L2596 ldrb w1, [x0, #:lo12:.LANCHOR1] - cbz w1, .L2662 -.L2652: + cbz w1, .L2606 +.L2596: adrp x1, .LANCHOR2 ldrb w0, [x0, #:lo12:.LANCHOR1] ldrh w1, [x1, #:lo12:.LANCHOR2] udiv w19, w20, w1 mul w19, w19, w1 sub w1, w20, w19 - cbz w0, .L2653 + cbz w0, .L2597 add w19, w19, w1, lsl 1 -.L2651: - adrp x24, .LANCHOR14 - adrp x25, .LC147 - add x24, x24, :lo12:.LANCHOR14 - add x25, x25, :lo12:.LC147 - adrp x26, .LANCHOR175 -.L2657: +.L2595: + adrp x24, .LANCHOR19 + adrp x25, .LC144 + add x24, x24, :lo12:.LANCHOR19 + add x25, x25, :lo12:.LC144 + adrp x26, .LANCHOR172 +.L2601: ldr w0, [x24] - tbz x0, 4, .L2654 + tbz x0, 4, .L2598 mov w3, w19 mov w2, w20 mov w1, w27 mov x0, x25 bl printf -.L2654: +.L2598: mov w4, w28 mov x3, x22 mov x2, x23 @@ -16366,12 +16187,12 @@ flash_prog_page_en: bl flash_prog_page mov w5, w0 ldr w0, [x29, 124] - cbz w0, .L2655 - adrp x6, .LANCHOR176 - ldr x3, [x26, #:lo12:.LANCHOR175] + cbz w0, .L2599 + adrp x6, .LANCHOR173 + ldr x3, [x26, #:lo12:.LANCHOR172] mov w4, w28 str x6, [x29, 112] - ldr x2, [x6, #:lo12:.LANCHOR176] + ldr x2, [x6, #:lo12:.LANCHOR173] mov w1, w20 mov w0, w21 str w5, [x29, 104] @@ -16381,78 +16202,78 @@ flash_prog_page_en: mov w4, w0 ccmn w0, #1, 4, ne mov x7, x6 - beq .L2656 - ldr x0, [x6, #:lo12:.LANCHOR176] + beq .L2600 + ldr x0, [x6, #:lo12:.LANCHOR173] ldr w1, [x23] ldr w5, [x29, 104] ldr w0, [x0] cmp w1, w0 - bne .L2656 - ldr x0, [x26, #:lo12:.LANCHOR175] + bne .L2600 + ldr x0, [x26, #:lo12:.LANCHOR172] ldr w1, [x22] ldr w0, [x0] cmp w1, w0 - beq .L2655 -.L2656: + beq .L2599 +.L2600: str w4, [x29, 112] mov w3, 4 str x7, [x29, 104] mov w2, w3 mov x1, x23 - adrp x0, .LC148 - add x0, x0, :lo12:.LC148 + adrp x0, .LC145 + add x0, x0, :lo12:.LC145 bl rknand_print_hex mov w3, 4 mov x1, x22 mov w2, w3 - adrp x0, .LC149 - add x0, x0, :lo12:.LC149 + adrp x0, .LC146 + add x0, x0, :lo12:.LC146 bl rknand_print_hex - adrp x0, .LANCHOR175 + adrp x0, .LANCHOR172 mov w3, 4 mov w2, w3 - ldr x1, [x0, #:lo12:.LANCHOR175] - adrp x0, .LC150 - add x0, x0, :lo12:.LC150 + ldr x1, [x0, #:lo12:.LANCHOR172] + adrp x0, .LC147 + add x0, x0, :lo12:.LC147 bl rknand_print_hex ldr x7, [x29, 104] mov w3, 4 - adrp x0, .LC151 + adrp x0, .LC148 mov w2, w3 - add x0, x0, :lo12:.LC151 - ldr x1, [x7, #:lo12:.LANCHOR176] + add x0, x0, :lo12:.LC148 + ldr x1, [x7, #:lo12:.LANCHOR173] bl rknand_print_hex ldr w4, [x29, 112] cmp w4, 512 - beq .L2657 -.L2659: + beq .L2601 +.L2603: mov w1, w20 - adrp x0, .LC152 - add x0, x0, :lo12:.LC152 + adrp x0, .LC149 + add x0, x0, :lo12:.LC149 bl printf - adrp x1, .LANCHOR189 + adrp x1, .LANCHOR186 adrp x0, .LC0 - mov w2, 678 - add x1, x1, :lo12:.LANCHOR189 + mov w2, 685 + add x1, x1, :lo12:.LANCHOR186 add x0, x0, :lo12:.LC0 bl printf -.L2660: +.L2604: mov w0, -1 - b .L2648 -.L2653: + b .L2592 +.L2597: adrp x0, .LANCHOR3 add x0, x0, :lo12:.LANCHOR3 ldrh w0, [x0, w1, uxtw 1] add w19, w0, w19 - b .L2651 -.L2662: + b .L2595 +.L2606: mov w19, w20 - b .L2651 -.L2655: + b .L2595 +.L2599: mov w0, w5 cmn w5, #1 - beq .L2659 -.L2648: + beq .L2603 +.L2592: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -16469,61 +16290,61 @@ ftl_test_block: stp x29, x30, [sp, -128]! add x29, sp, 0 stp x23, x24, [sp, 48] - adrp x24, .LANCHOR190 + adrp x24, .LANCHOR187 stp x21, x22, [sp, 32] and w21, w0, 65535 - ldr x0, [x24, #:lo12:.LANCHOR190] + ldr x0, [x24, #:lo12:.LANCHOR187] mov w23, 0 stp x25, x26, [sp, 64] - adrp x25, .LANCHOR191 + adrp x25, .LANCHOR188 stp x19, x20, [sp, 16] adrp x26, .LANCHOR112 stp x27, x28, [sp, 80] mov w20, 0 str wzr, [x0] add x0, x26, :lo12:.LANCHOR112 - adrp x27, .LANCHOR76 + adrp x27, .LANCHOR75 str x0, [x29, 112] - str wzr, [x25, #:lo12:.LANCHOR191] - add x0, x27, :lo12:.LANCHOR76 + str wzr, [x25, #:lo12:.LANCHOR188] + add x0, x27, :lo12:.LANCHOR75 str x0, [x29, 96] -.L2679: +.L2623: ldr x0, [x29, 112] ldrb w0, [x0] cmp w0, w20 - bls .L2689 - add x0, x27, :lo12:.LANCHOR76 + bls .L2633 + add x0, x27, :lo12:.LANCHOR75 mov w22, 0 str x0, [x29, 120] - adrp x0, .LANCHOR14 - add x0, x0, :lo12:.LANCHOR14 + adrp x0, .LANCHOR19 + add x0, x0, :lo12:.LANCHOR19 str x0, [x29, 104] - b .L2690 -.L2688: + b .L2634 +.L2632: ldr x0, [x29, 104] ldr w0, [x0] - tbz x0, 12, .L2680 - adrp x0, .LC153 + tbz x0, 12, .L2624 + adrp x0, .LC150 mov w1, w21 - add x0, x0, :lo12:.LC153 + add x0, x0, :lo12:.LC150 bl printf -.L2680: +.L2624: ldr x0, [x29, 96] ldrb w19, [x0] madd w19, w21, w19, w22 and w19, w19, 65535 - cbnz w20, .L2681 - adrp x0, .LANCHOR27 - ldr x0, [x0, #:lo12:.LANCHOR27] + cbnz w20, .L2625 + adrp x0, .LANCHOR6 + ldr x0, [x0, #:lo12:.LANCHOR6] ldrb w0, [x0, 47] cmp w0, w19 - bcs .L2682 -.L2681: + bcs .L2626 +.L2625: and w28, w20, 255 mov w1, w19 mov w0, w28 bl flash_check_bad_block - cbnz w0, .L2682 + cbnz w0, .L2626 adrp x0, .LANCHOR111 mov w1, w23 ldrh w7, [x0, #:lo12:.LANCHOR111] @@ -16531,62 +16352,62 @@ ftl_test_block: mul w26, w7, w19 mov w2, w26 bl flash_erase_block_en - cbz w0, .L2683 - adrp x0, .LANCHOR79 - ldrb w0, [x0, #:lo12:.LANCHOR79] + cbz w0, .L2627 + adrp x0, .LANCHOR78 + ldrb w0, [x0, #:lo12:.LANCHOR78] cmp w0, 2 - bne .L2705 + bne .L2649 adrp x0, .LANCHOR0 ldrb w0, [x0, #:lo12:.LANCHOR0] - cbz w0, .L2705 + cbz w0, .L2649 mov w2, w26 mov w1, 1 mov w0, w28 bl flash_erase_block_en - cbnz w0, .L2705 -.L2687: - adrp x0, .LANCHOR79 + cbnz w0, .L2649 +.L2631: + adrp x0, .LANCHOR78 mov w23, 1 - ldrb w0, [x0, #:lo12:.LANCHOR79] + ldrb w0, [x0, #:lo12:.LANCHOR78] add w26, w26, w0, lsl 24 -.L2686: +.L2630: adrp x0, .LANCHOR131 - ldr x2, [x24, #:lo12:.LANCHOR190] + ldr x2, [x24, #:lo12:.LANCHOR187] mov w5, 1 - add x3, x25, :lo12:.LANCHOR191 + add x3, x25, :lo12:.LANCHOR188 ldrb w4, [x0, #:lo12:.LANCHOR131] mov w1, w26 mov w0, w28 bl flash_prog_page_en - cbz w0, .L2682 -.L2705: + cbz w0, .L2626 +.L2649: mov w1, w19 mov w0, w28 bl flash_mask_bad_block -.L2682: +.L2626: add w22, w22, 1 and w22, w22, 65535 -.L2690: +.L2634: ldr x0, [x29, 120] ldrb w0, [x0] cmp w0, w22 - bhi .L2688 + bhi .L2632 add w20, w20, 1 and w20, w20, 65535 - b .L2679 -.L2683: - cbz w23, .L2686 - b .L2687 -.L2689: - cbz w23, .L2691 - adrp x0, .LANCHOR7 + b .L2623 +.L2627: + cbz w23, .L2630 + b .L2631 +.L2633: + cbz w23, .L2635 + adrp x0, .LANCHOR9 mov w1, 2 - ldr x0, [x0, #:lo12:.LANCHOR7] + ldr x0, [x0, #:lo12:.LANCHOR9] add x21, x0, x21, uxth 2 ldrb w0, [x21, 2] bfi w0, w1, 3, 2 strb w0, [x21, 2] -.L2691: +.L2635: ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -16621,18 +16442,18 @@ ftl_prog_page: bl flash_prog_page_en mov w19, w0 cmn w0, #1 - bne .L2706 - mov w2, 2670 - adrp x1, .LANCHOR192 + bne .L2650 + mov w2, 2678 + adrp x1, .LANCHOR189 adrp x0, .LC0 - add x1, x1, :lo12:.LANCHOR192 + add x1, x1, :lo12:.LANCHOR189 add x0, x0, :lo12:.LC0 bl printf - adrp x0, .LC152 + adrp x0, .LC149 mov w1, w20 - add x0, x0, :lo12:.LC152 + add x0, x0, :lo12:.LC149 bl printf -.L2706: +.L2650: mov w0, w19 ldr x23, [sp, 48] ldp x19, x20, [sp, 16] @@ -16654,74 +16475,75 @@ ftl_info_flush: adrp x24, .LANCHOR110 ldrb w2, [x21, #:lo12:.LANCHOR131] stp x19, x20, [sp, 16] - adrp x20, .LANCHOR193 + adrp x20, .LANCHOR190 str w0, [x29, 116] - add x0, x20, :lo12:.LANCHOR193 + add x0, x20, :lo12:.LANCHOR190 stp x25, x26, [sp, 64] lsl w2, w2, 1 stp x27, x28, [sp, 80] bl ftl_memset ldr x0, [x24, #:lo12:.LANCHOR110] ldrh w1, [x0, 74] - cbz w1, .L2710 + cmp w1, 1 + bls .L2654 strh wzr, [x0, 150] -.L2710: - adrp x23, .LANCHOR194 - add x19, x23, :lo12:.LANCHOR194 +.L2654: + adrp x23, .LANCHOR191 + add x19, x23, :lo12:.LANCHOR191 adrp x25, .LANCHOR111 mov w26, 0 add x0, x25, :lo12:.LANCHOR111 str x0, [x29, 104] -.L2723: - add x0, x23, :lo12:.LANCHOR194 - adrp x22, .LANCHOR195 +.L2667: + add x0, x23, :lo12:.LANCHOR191 + adrp x22, .LANCHOR192 ldrh w1, [x25, #:lo12:.LANCHOR111] - add x7, x20, :lo12:.LANCHOR193 + add x7, x20, :lo12:.LANCHOR190 str w1, [x29, 120] ldrh w27, [x0, 2] ldr x0, [x24, #:lo12:.LANCHOR110] ldrb w1, [x21, #:lo12:.LANCHOR131] - ldrb w28, [x23, #:lo12:.LANCHOR194] + ldrb w28, [x23, #:lo12:.LANCHOR191] ldr w6, [x0, 4] lsl w1, w1, 9 add w6, w6, 1 str w6, [x0, 4] ldr w0, [x29, 116] - str w0, [x20, #:lo12:.LANCHOR193] - ldr x0, [x22, #:lo12:.LANCHOR195] + str w0, [x20, #:lo12:.LANCHOR190] + ldr x0, [x22, #:lo12:.LANCHOR192] str w6, [x7, 4] bl js_hash str w0, [x7, 8] - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L2711 - adrp x0, .LC154 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L2655 + adrp x0, .LC151 mov w3, w6 mov w2, w27 mov w1, w28 - add x0, x0, :lo12:.LC154 + add x0, x0, :lo12:.LC151 bl printf -.L2711: - adrp x1, .LANCHOR95 +.L2655: + adrp x1, .LANCHOR94 ldrh w0, [x19, 2] - ldrh w1, [x1, #:lo12:.LANCHOR95] + ldrh w1, [x1, #:lo12:.LANCHOR94] cmp w1, w0 - bhi .L2712 - adrp x27, .LANCHOR196 + bhi .L2656 + adrp x27, .LANCHOR193 adrp x3, .LC0 - add x27, x27, :lo12:.LANCHOR196 + add x27, x27, :lo12:.LANCHOR193 add x3, x3, :lo12:.LC0 -.L2719: +.L2663: ldrb w0, [x19, 1] - adrp x28, .LANCHOR27 + adrp x28, .LANCHOR6 add w0, w0, 1 and w0, w0, 255 strb w0, [x19, 1] cmp w0, 7 - bls .L2713 + bls .L2657 mov x0, 0 -.L2718: - ldr x2, [x28, #:lo12:.LANCHOR27] +.L2662: + ldr x2, [x28, #:lo12:.LANCHOR6] add w1, w0, 8 and w26, w0, 65535 add x1, x2, x1, sxtw @@ -16729,24 +16551,24 @@ ftl_info_flush: add w1, w2, 127 and w1, w1, 255 cmp w1, 125 - bhi .L2714 + bhi .L2658 mov x0, x3 str x3, [x29, 120] - mov w2, 841 + mov w2, 846 mov x1, x27 bl printf ldr x3, [x29, 120] -.L2717: +.L2661: strb w26, [x19, 1] mov w26, 1 -.L2713: - ldr x0, [x28, #:lo12:.LANCHOR27] +.L2657: + ldr x0, [x28, #:lo12:.LANCHOR6] ldrb w1, [x19, 1] add x0, x0, x1 ldrb w28, [x0, 40] strb w28, [x19] cmp w28, 255 - beq .L2719 + beq .L2663 ldr x0, [x29, 104] ldrh w27, [x0] mov w0, 0 @@ -16755,60 +16577,60 @@ ftl_info_flush: bl flash_erase_block ldrb w4, [x21, #:lo12:.LANCHOR131] mov w1, w27 - ldr x2, [x22, #:lo12:.LANCHOR195] - add x3, x20, :lo12:.LANCHOR193 + ldr x2, [x22, #:lo12:.LANCHOR192] + add x3, x20, :lo12:.LANCHOR190 mov w0, 0 add w27, w27, 1 bl ftl_prog_page mov w0, 1 strh w0, [x19, 2] -.L2720: +.L2664: ldrb w4, [x21, #:lo12:.LANCHOR131] mov w1, w27 - ldr x2, [x22, #:lo12:.LANCHOR195] - add x3, x20, :lo12:.LANCHOR193 + ldr x2, [x22, #:lo12:.LANCHOR192] + add x3, x20, :lo12:.LANCHOR190 mov w0, 0 bl ftl_prog_page cmn w0, #1 ldrh w1, [x19, 2] - adrp x0, .LANCHOR197 + adrp x0, .LANCHOR194 add w1, w1, 1 strh w1, [x19, 2] - beq .L2721 - ldrb w1, [x0, #:lo12:.LANCHOR197] - cbz w1, .L2722 -.L2721: - strb wzr, [x0, #:lo12:.LANCHOR197] - b .L2723 -.L2714: + beq .L2665 + ldrb w1, [x0, #:lo12:.LANCHOR194] + cbz w1, .L2666 +.L2665: + strb wzr, [x0, #:lo12:.LANCHOR194] + b .L2667 +.L2658: cmp w2, 255 - bne .L2717 + bne .L2661 add x0, x0, 1 cmp x0, 8 - bne .L2718 + bne .L2662 mov w26, w0 - b .L2717 -.L2712: + b .L2661 +.L2656: ldr w1, [x29, 120] madd w27, w1, w28, w27 - cbnz w0, .L2720 + cbnz w0, .L2664 mov w1, w27 bl flash_erase_block - b .L2720 -.L2722: - cbnz w26, .L2724 -.L2732: - adrp x0, .LANCHOR194 - ldrb w0, [x0, #:lo12:.LANCHOR194] + b .L2664 +.L2666: + cbnz w26, .L2668 +.L2676: + adrp x0, .LANCHOR191 + ldrb w0, [x0, #:lo12:.LANCHOR191] cmp w0, 255 - bne .L2726 - adrp x1, .LANCHOR196 + bne .L2670 + adrp x1, .LANCHOR193 adrp x0, .LC0 - mov w2, 885 - add x1, x1, :lo12:.LANCHOR196 + mov w2, 890 + add x1, x1, :lo12:.LANCHOR193 add x0, x0, :lo12:.LC0 bl printf -.L2726: +.L2670: ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -16817,43 +16639,43 @@ ftl_info_flush: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L2724: +.L2668: ldrb w19, [x19, 1] - adrp x20, .LANCHOR196 + adrp x20, .LANCHOR193 adrp x21, .LC0 - add x20, x20, :lo12:.LANCHOR196 + add x20, x20, :lo12:.LANCHOR193 add w19, w19, 1 add x21, x21, :lo12:.LC0 - adrp x22, .LANCHOR27 -.L2727: + adrp x22, .LANCHOR6 +.L2671: cmp w19, 7 - bhi .L2732 - ldr x1, [x22, #:lo12:.LANCHOR27] + bhi .L2676 + ldr x1, [x22, #:lo12:.LANCHOR6] add w0, w19, 8 add x0, x1, x0, sxtw ldrb w23, [x0, 32] add w0, w23, 127 and w0, w0, 255 cmp w0, 125 - bhi .L2728 - mov w2, 876 + bhi .L2672 + mov w2, 881 mov x1, x20 mov x0, x21 bl printf -.L2729: +.L2673: adrp x0, .LANCHOR111 ldrh w1, [x0, #:lo12:.LANCHOR111] mov w0, 0 mul w1, w1, w23 bl flash_erase_block - b .L2730 -.L2728: + b .L2674 +.L2672: cmp w23, 255 - bne .L2729 -.L2730: + bne .L2673 +.L2674: add w19, w19, 1 and w19, w19, 65535 - b .L2727 + b .L2671 .size ftl_info_flush, .-ftl_info_flush .section .text.ftl_info_blk_init,"ax",@progbits .align 2 @@ -16861,28 +16683,28 @@ ftl_info_flush: .type ftl_info_blk_init, %function ftl_info_blk_init: stp x29, x30, [sp, -112]! - adrp x0, .LANCHOR198 - adrp x1, .LANCHOR197 + adrp x0, .LANCHOR195 + adrp x1, .LANCHOR194 mov w2, 16384 add x29, sp, 0 - strb wzr, [x0, #:lo12:.LANCHOR198] + strb wzr, [x0, #:lo12:.LANCHOR195] mov w0, 1 - strb w0, [x1, #:lo12:.LANCHOR197] - adrp x1, .LANCHOR199 + strb w0, [x1, #:lo12:.LANCHOR194] + adrp x1, .LANCHOR196 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR195 - strb w0, [x1, #:lo12:.LANCHOR199] - adrp x1, .LANCHOR7 - ldr x0, [x21, #:lo12:.LANCHOR195] + adrp x21, .LANCHOR192 + strb w0, [x1, #:lo12:.LANCHOR196] + adrp x1, .LANCHOR9 + ldr x0, [x21, #:lo12:.LANCHOR192] mov x22, 7 - str x0, [x1, #:lo12:.LANCHOR7] - adrp x1, .LANCHOR6 + str x0, [x1, #:lo12:.LANCHOR9] + adrp x1, .LANCHOR8 stp x19, x20, [sp, 16] adrp x19, .LANCHOR110 - ldrh w1, [x1, #:lo12:.LANCHOR6] - adrp x20, .LANCHOR194 + ldrh w1, [x1, #:lo12:.LANCHOR8] + adrp x20, .LANCHOR191 stp x23, x24, [sp, 48] - adrp x23, .LANCHOR27 + adrp x23, .LANCHOR6 stp x25, x26, [sp, 64] adrp x24, .LANCHOR131 add x1, x0, x1, lsl 2 @@ -16891,50 +16713,50 @@ ftl_info_blk_init: mov w1, 0 bl ftl_memset adrp x26, .LANCHOR111 - adrp x0, .LANCHOR200 + adrp x0, .LANCHOR197 mov w1, 0 mov w2, 16384 mov w27, 21574 - ldr x0, [x0, #:lo12:.LANCHOR200] + ldr x0, [x0, #:lo12:.LANCHOR197] add x26, x26, :lo12:.LANCHOR111 add x24, x24, :lo12:.LANCHOR131 movk w27, 0x494c, lsl 16 bl ftl_memset - ldr x1, [x23, #:lo12:.LANCHOR27] - add x0, x20, :lo12:.LANCHOR194 + ldr x1, [x23, #:lo12:.LANCHOR6] + add x0, x20, :lo12:.LANCHOR191 strb wzr, [x0, 1] ldrb w1, [x1, 40] - strb w1, [x20, #:lo12:.LANCHOR194] + strb w1, [x20, #:lo12:.LANCHOR191] strh wzr, [x0, 2] -.L2751: - ldr x1, [x23, #:lo12:.LANCHOR27] +.L2692: + ldr x1, [x23, #:lo12:.LANCHOR6] add w0, w22, 8 sxth w25, w22 mov w28, w22 add x0, x1, x0, sxtw ldrb w0, [x0, 32] cmp w0, 255 - bne .L2750 -.L2755: + bne .L2691 +.L2696: sub x22, x22, #1 cmn x22, #1 - bne .L2751 + bne .L2692 mov w25, 0 -.L2752: - adrp x24, .LANCHOR14 - ldr w0, [x24, #:lo12:.LANCHOR14] - tbz x0, 12, .L2756 +.L2693: + adrp x24, .LANCHOR19 + ldr w0, [x24, #:lo12:.LANCHOR19] + tbz x0, 12, .L2697 ldr x0, [x19, #:lo12:.LANCHOR110] mov w2, 4800 mov w1, w22 ldr w3, [x0] - adrp x0, .LC156 - add x0, x0, :lo12:.LC156 + adrp x0, .LC153 + add x0, x0, :lo12:.LC153 bl printf -.L2756: +.L2697: cmn w22, #1 - bne .L2757 - ldr x0, [x21, #:lo12:.LANCHOR195] + bne .L2698 + ldr x0, [x21, #:lo12:.LANCHOR192] mov w1, 0 mov w2, 16384 bl ftl_memset @@ -16942,11 +16764,11 @@ ftl_info_blk_init: mov w1, 21574 movk w1, 0x494c, lsl 16 str w1, [x0] - mov w1, 35 + mov w1, 36 movk w1, 0x6, lsl 16 str w1, [x0, 12] mov w0, w22 -.L2749: +.L2690: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -16954,12 +16776,12 @@ ftl_info_blk_init: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 112 ret -.L2750: +.L2691: ldrh w6, [x26] - adrp x7, .LANCHOR193 + adrp x7, .LANCHOR190 ldrb w4, [x24] - add x7, x7, :lo12:.LANCHOR193 - ldr x2, [x21, #:lo12:.LANCHOR195] + add x7, x7, :lo12:.LANCHOR190 + ldr x2, [x21, #:lo12:.LANCHOR192] mov x3, x7 str x7, [x29, 96] mul w6, w6, w0 @@ -16971,87 +16793,87 @@ ftl_info_blk_init: cmn w0, #1 ldr w6, [x29, 108] ldr x7, [x29, 96] - bne .L2753 + bne .L2694 ldrb w4, [x24] mov x3, x7 - ldr x2, [x21, #:lo12:.LANCHOR195] + ldr x2, [x21, #:lo12:.LANCHOR192] add w1, w6, 1 mov w0, 0 bl ftl_read_page mov w5, w0 -.L2753: - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L2754 +.L2694: + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L2695 ldr x0, [x19, #:lo12:.LANCHOR110] mov w2, w5 str w5, [x29, 108] - mov w3, 744 + mov w3, 749 mov w1, w28 ldr w4, [x0] - adrp x0, .LC155 - add x0, x0, :lo12:.LC155 + adrp x0, .LC152 + add x0, x0, :lo12:.LC152 bl printf ldr w5, [x29, 108] -.L2754: +.L2695: cmn w5, #1 - beq .L2755 + beq .L2696 ldr x0, [x19, #:lo12:.LANCHOR110] ldr w0, [x0] cmp w0, w27 - bne .L2755 + bne .L2696 mov w22, w25 - b .L2752 -.L2757: - ldr x1, [x23, #:lo12:.LANCHOR27] + b .L2693 +.L2698: + ldr x1, [x23, #:lo12:.LANCHOR6] add w0, w25, 8 - ldr x2, [x21, #:lo12:.LANCHOR195] + ldr x2, [x21, #:lo12:.LANCHOR192] mov w4, 4 adrp x26, .LANCHOR131 mov w28, 21574 add x0, x1, x0, sxtw - adrp x27, .LC157 + adrp x27, .LC154 add x26, x26, :lo12:.LANCHOR131 - add x27, x27, :lo12:.LC157 + add x27, x27, :lo12:.LC154 movk w28, 0x494c, lsl 16 ldrb w1, [x0, 32] - add x0, x20, :lo12:.LANCHOR194 - strb w1, [x20, #:lo12:.LANCHOR194] + add x0, x20, :lo12:.LANCHOR191 + strb w1, [x20, #:lo12:.LANCHOR191] strb w25, [x0, 1] - adrp x25, .LANCHOR193 + adrp x25, .LANCHOR190 mov w0, 0 - add x3, x25, :lo12:.LANCHOR193 + add x3, x25, :lo12:.LANCHOR190 bl flash_get_last_written_page sxth w22, w0 add w0, w0, 1 - ldrb w23, [x20, #:lo12:.LANCHOR194] + ldrb w23, [x20, #:lo12:.LANCHOR191] and w0, w0, 65535 str w0, [x29, 108] adrp x0, .LANCHOR111 ldrh w0, [x0, #:lo12:.LANCHOR111] madd w23, w23, w0, w22 -.L2759: - tbnz w22, #31, .L2763 +.L2700: + tbnz w22, #31, .L2704 ldrb w4, [x26] - add x5, x25, :lo12:.LANCHOR193 - ldr x2, [x21, #:lo12:.LANCHOR195] + add x5, x25, :lo12:.LANCHOR190 + ldr x2, [x21, #:lo12:.LANCHOR192] mov x3, x5 mov w1, w23 mov w0, 0 str x5, [x29, 96] bl ftl_read_page cmn w0, #1 - beq .L2760 + beq .L2701 ldr x0, [x19, #:lo12:.LANCHOR110] ldr x5, [x29, 96] ldr w0, [x0] cmp w0, w28 - bne .L2760 + bne .L2701 ldr w6, [x5, 8] - cbnz w6, .L2761 -.L2763: + cbnz w6, .L2702 +.L2704: ldrh w0, [x29, 108] - add x20, x20, :lo12:.LANCHOR194 + add x20, x20, :lo12:.LANCHOR191 strh w0, [x20, 2] bl ftl_tmp_into_update ldr x1, [x19, #:lo12:.LANCHOR110] @@ -17062,33 +16884,33 @@ ftl_info_blk_init: bl ftl_info_flush mov w0, 0 bl ftl_info_flush - ldr w0, [x24, #:lo12:.LANCHOR14] - tbnz x0, 14, .L2762 -.L2779: + ldr w0, [x24, #:lo12:.LANCHOR19] + tbnz x0, 14, .L2703 +.L2720: mov w0, 0 - b .L2749 -.L2761: - ldr x0, [x21, #:lo12:.LANCHOR195] + b .L2690 +.L2702: + ldr x0, [x21, #:lo12:.LANCHOR192] ldrb w1, [x26] lsl w1, w1, 9 bl js_hash cmp w6, w0 - beq .L2763 + beq .L2704 mov w1, w6 mov x0, x27 bl printf -.L2760: +.L2701: sub w22, w22, #1 sub w23, w23, #1 sxth w22, w22 - b .L2759 -.L2762: + b .L2700 +.L2703: ldr x0, [x19, #:lo12:.LANCHOR110] ldr w1, [x0, 156] - adrp x0, .LC158 - add x0, x0, :lo12:.LC158 + adrp x0, .LC155 + add x0, x0, :lo12:.LC155 bl printf - b .L2779 + b .L2720 .size ftl_info_blk_init, .-ftl_info_blk_init .section .text.ftl_ext_info_flush,"ax",@progbits .align 2 @@ -17096,30 +16918,30 @@ ftl_info_blk_init: .type ftl_ext_info_flush, %function ftl_ext_info_flush: stp x29, x30, [sp, -96]! - adrp x0, .LANCHOR10 + adrp x0, .LANCHOR12 add x29, sp, 0 - ldr x0, [x0, #:lo12:.LANCHOR10] + ldr x0, [x0, #:lo12:.LANCHOR12] stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] ldr w1, [x0, 520] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] - cbz w1, .L2781 + cbz w1, .L2722 str wzr, [x0, 520] -.L2781: - adrp x20, .LANCHOR95 - adrp x22, .LANCHOR201 - adrp x21, .LANCHOR32 - add x20, x20, :lo12:.LANCHOR95 - add x22, x22, :lo12:.LANCHOR201 - add x21, x21, :lo12:.LANCHOR32 +.L2722: + adrp x20, .LANCHOR94 + adrp x22, .LANCHOR198 + adrp x21, .LANCHOR31 + add x20, x20, :lo12:.LANCHOR94 + add x22, x22, :lo12:.LANCHOR198 + add x21, x21, :lo12:.LANCHOR31 mov w0, 0 bl ftl_total_vpn_update -.L2782: +.L2723: adrp x23, .LANCHOR110 mov x24, x23 -.L2785: +.L2726: ldr x0, [x23, #:lo12:.LANCHOR110] ldr w1, [x0, 56] add w1, w1, 1 @@ -17127,29 +16949,29 @@ ftl_ext_info_flush: ldrh w1, [x0, 140] ldrh w0, [x20] cmp w1, w0 - bcc .L2783 + bcc .L2724 bl ftl_ext_alloc_new_blk -.L2783: +.L2724: ldr x0, [x24, #:lo12:.LANCHOR110] ldrh w1, [x0, 130] mov w0, 65535 cmp w1, w0 - bne .L2784 + bne .L2725 adrp x0, .LC0 - mov w2, 2203 + mov w2, 2211 mov x1, x22 add x0, x0, :lo12:.LC0 bl printf -.L2784: +.L2725: ldrb w19, [x21] mov w0, 24 ldr x1, [x24, #:lo12:.LANCHOR110] adrp x26, .LANCHOR131 sub w19, w0, w19 - adrp x0, .LANCHOR75 - adrp x27, .LANCHOR193 - add x25, x27, :lo12:.LANCHOR193 - ldrh w0, [x0, #:lo12:.LANCHOR75] + adrp x0, .LANCHOR74 + adrp x27, .LANCHOR190 + add x25, x27, :lo12:.LANCHOR190 + ldrh w0, [x0, #:lo12:.LANCHOR74] ldrh w2, [x1, 130] sub w0, w19, w0 mov w19, 1 @@ -17169,12 +16991,12 @@ ftl_ext_info_flush: bl ftl_memset ldr x0, [x24, #:lo12:.LANCHOR110] ldrb w7, [x26, #:lo12:.LANCHOR131] - str wzr, [x27, #:lo12:.LANCHOR193] + str wzr, [x27, #:lo12:.LANCHOR190] ldr w0, [x0, 56] lsl w1, w7, 9 str w0, [x25, 4] - adrp x0, .LANCHOR200 - ldr x6, [x0, #:lo12:.LANCHOR200] + adrp x0, .LANCHOR197 + ldr x6, [x0, #:lo12:.LANCHOR197] mov x0, x6 bl js_hash mov x2, x6 @@ -17190,16 +17012,16 @@ ftl_ext_info_flush: and w1, w1, 65535 strh w1, [x2, 140] cmp w1, 1 - beq .L2785 + beq .L2726 cmn w0, #1 - adrp x0, .LANCHOR199 - beq .L2786 - ldrb w1, [x0, #:lo12:.LANCHOR199] - cbz w1, .L2787 -.L2786: - strb wzr, [x0, #:lo12:.LANCHOR199] - b .L2782 -.L2787: + adrp x0, .LANCHOR196 + beq .L2727 + ldrb w1, [x0, #:lo12:.LANCHOR196] + cbz w1, .L2728 +.L2727: + strb wzr, [x0, #:lo12:.LANCHOR196] + b .L2723 +.L2728: mov w0, 0 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -17216,7 +17038,7 @@ ftl_ext_info_flush: ftl_ext_info_init: stp x29, x30, [sp, -128]! adrp x0, .LANCHOR121 - adrp x2, .LANCHOR75 + adrp x2, .LANCHOR74 mov w4, 4 add x29, sp, 0 stp x19, x20, [sp, 16] @@ -17224,19 +17046,19 @@ ftl_ext_info_init: strh wzr, [x0, #:lo12:.LANCHOR121] ldr x0, [x20, #:lo12:.LANCHOR110] stp x21, x22, [sp, 32] - adrp x21, .LANCHOR200 + adrp x21, .LANCHOR197 stp x27, x28, [sp, 80] stp x23, x24, [sp, 48] - adrp x24, .LANCHOR193 + adrp x24, .LANCHOR190 ldrh w1, [x0, 130] - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 stp x25, x26, [sp, 64] - add x3, x24, :lo12:.LANCHOR193 - ldrb w19, [x0, #:lo12:.LANCHOR32] + add x3, x24, :lo12:.LANCHOR190 + ldrb w19, [x0, #:lo12:.LANCHOR31] mov w0, 24 sub w0, w0, w19 - ldrh w19, [x2, #:lo12:.LANCHOR75] - ldr x2, [x21, #:lo12:.LANCHOR200] + ldrh w19, [x2, #:lo12:.LANCHOR74] + ldr x2, [x21, #:lo12:.LANCHOR197] sub w0, w0, w19 mov w19, 1 lsl w19, w19, w0 @@ -17248,21 +17070,21 @@ ftl_ext_info_init: mov w0, w27 bl flash_get_last_written_page sxth w23, w0 - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR19 stp x0, x24, [x29, 112] - ldr w1, [x0, #:lo12:.LANCHOR14] - tbz x1, 12, .L2798 + ldr w1, [x0, #:lo12:.LANCHOR19] + tbz x1, 12, .L2739 ldr x0, [x20, #:lo12:.LANCHOR110] - adrp x1, .LANCHOR202 + adrp x1, .LANCHOR199 and w4, w22, 65535 mov w3, w23 - mov w2, 2248 - add x1, x1, :lo12:.LANCHOR202 + mov w2, 2256 + add x1, x1, :lo12:.LANCHOR199 ldrh w5, [x0, 130] - adrp x0, .LC159 - add x0, x0, :lo12:.LC159 + adrp x0, .LC156 + add x0, x0, :lo12:.LC156 bl printf -.L2798: +.L2739: adrp x25, .LANCHOR131 adrp x26, .LANCHOR111 mov w28, 20038 @@ -17270,16 +17092,16 @@ ftl_ext_info_init: add x26, x26, :lo12:.LANCHOR111 mov w24, 0 movk w28, 0x4549, lsl 16 -.L2799: +.L2740: and w22, w23, 65535 sub w0, w22, w24 - tbnz x0, 15, .L2804 + tbnz x0, 15, .L2745 ldr x0, [x29, 120] sub w1, w23, w24 ldrb w4, [x25] - add x5, x0, :lo12:.LANCHOR193 + add x5, x0, :lo12:.LANCHOR190 ldrh w0, [x26] - ldr x2, [x21, #:lo12:.LANCHOR200] + ldr x2, [x21, #:lo12:.LANCHOR197] mov x3, x5 str x5, [x29, 104] madd w1, w0, w19, w1 @@ -17287,28 +17109,28 @@ ftl_ext_info_init: bl flash_read_page_en cmp w0, 512 ccmn w0, #1, 4, ne - beq .L2800 - adrp x0, .LANCHOR10 + beq .L2741 + adrp x0, .LANCHOR12 ldr x5, [x29, 104] - ldr x0, [x0, #:lo12:.LANCHOR10] + ldr x0, [x0, #:lo12:.LANCHOR12] ldr w0, [x0] cmp w0, w28 - bne .L2800 + bne .L2741 ldr w6, [x5, 8] - cbnz w6, .L2801 -.L2804: + cbnz w6, .L2742 +.L2745: bl zftl_sblk_list_init ldr x0, [x20, #:lo12:.LANCHOR110] ldrh w1, [x0, 140] cmp w1, w23 - bgt .L2803 + bgt .L2744 add w22, w22, 1 strh w22, [x0, 140] bl ftl_ext_info_flush -.L2803: - adrp x0, .LANCHOR10 +.L2744: + adrp x0, .LANCHOR12 mov w1, -1 - ldr x0, [x0, #:lo12:.LANCHOR10] + ldr x0, [x0, #:lo12:.LANCHOR12] strh w1, [x0, 584] strh w1, [x0, 586] strh w1, [x0, 588] @@ -17321,21 +17143,21 @@ ftl_ext_info_init: str wzr, [x0, 520] str wzr, [x0, 604] str wzr, [x0, 608] - ldr w1, [x1, #:lo12:.LANCHOR14] - tbz x1, 12, .L2806 + ldr w1, [x1, #:lo12:.LANCHOR19] + tbz x1, 12, .L2747 ldr w3, [x0, 12] - adrp x1, .LANCHOR202 - adrp x0, .LC161 + adrp x1, .LANCHOR199 + adrp x0, .LC158 mov w4, 0 mov w2, 0 - add x1, x1, :lo12:.LANCHOR202 - add x0, x0, :lo12:.LC161 + add x1, x1, :lo12:.LANCHOR199 + add x0, x0, :lo12:.LC158 bl printf -.L2806: - adrp x0, .LANCHOR73 +.L2747: + adrp x0, .LANCHOR72 mov w1, -1 ldp x19, x20, [sp, 16] - strh w1, [x0, #:lo12:.LANCHOR73] + strh w1, [x0, #:lo12:.LANCHOR72] ldp x21, x22, [sp, 32] mov w0, 0 ldp x23, x24, [sp, 48] @@ -17343,498 +17165,29 @@ ftl_ext_info_init: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L2801: - ldr x0, [x21, #:lo12:.LANCHOR200] +.L2742: + ldr x0, [x21, #:lo12:.LANCHOR197] ldrb w1, [x25] lsl w1, w1, 9 bl js_hash cmp w6, w0 - beq .L2804 - adrp x0, .LC160 + beq .L2745 + adrp x0, .LC157 mov w1, w6 - add x0, x0, :lo12:.LC160 + add x0, x0, :lo12:.LC157 bl printf -.L2800: +.L2741: add w24, w24, 1 - b .L2799 + b .L2740 .size ftl_ext_info_init, .-ftl_ext_info_init - .section .text.ftl_low_format_data_init,"ax",@progbits - .align 2 - .global ftl_low_format_data_init - .type ftl_low_format_data_init, %function -ftl_low_format_data_init: - stp x29, x30, [sp, -48]! - adrp x0, .LANCHOR200 - mov w2, 16384 - mov w1, 0 - add x29, sp, 0 - ldr x0, [x0, #:lo12:.LANCHOR200] - stp x19, x20, [sp, 16] - adrp x19, .LANCHOR110 - str x21, [sp, 32] - bl ftl_memset - bl zftl_sblk_list_init - mov w0, 1 - bl ftl_alloc_sblk - mov w1, 0 - mov w21, w0 - bl ftl_erase_sblk - ldr x1, [x19, #:lo12:.LANCHOR110] - mov w0, w21 - add x1, x1, 672 - bl ftl_get_blk_list_in_sblk - ldr x0, [x19, #:lo12:.LANCHOR110] - ldrh w20, [x0, 672] - strh wzr, [x0, 690] - mov w0, 65533 - sub w1, w20, #1 - cmp w0, w1, uxth - bcs .L2818 - adrp x1, .LANCHOR203 - adrp x0, .LC0 - mov w2, 2476 - add x1, x1, :lo12:.LANCHOR203 - add x0, x0, :lo12:.LC0 - bl printf -.L2818: - ldr x0, [x19, #:lo12:.LANCHOR110] - mov w2, 256 - mov w1, 255 - add x0, x0, 416 - strh wzr, [x0, 280] - bl ftl_memset - ldr x0, [x19, #:lo12:.LANCHOR110] - mov w2, 4096 - mov w1, 0 - add x0, x0, 704 - bl ftl_memset - adrp x0, .LANCHOR32 - ldr x1, [x19, #:lo12:.LANCHOR110] - ldrb w2, [x0, #:lo12:.LANCHOR32] - mov w0, 24 - sub w0, w0, w2 - adrp x2, .LANCHOR75 - strh w21, [x1, 416] - adrp x21, .LANCHOR10 - ldrh w2, [x2, #:lo12:.LANCHOR75] - strh w20, [x1, 692] - sub w0, w0, w2 - asr w0, w20, w0 - strh w0, [x1, 694] - mov w0, 1 - strh w0, [x1, 688] - adrp x0, .LANCHOR204 - ldrh w0, [x0, #:lo12:.LANCHOR204] - strh w0, [x1, 698] - mov w1, 20038 - ldr x0, [x21, #:lo12:.LANCHOR10] - movk w1, 0x4549, lsl 16 - str w1, [x0] - bl ftl_alloc_sys_blk - mov w20, w0 - mov w1, 0 - bl ftl_erase_phy_blk - ldr x0, [x19, #:lo12:.LANCHOR110] - mov w1, 2 - strh w20, [x0, 130] - mov w20, -1 - strh wzr, [x0, 140] - ldr x0, [x21, #:lo12:.LANCHOR10] - add x0, x0, 16 - strh w20, [x0, 568] - strh w20, [x0, 570] - strh w20, [x0, 572] - strh w20, [x0, 574] - bl ftl_open_sblk_init - ldr x0, [x21, #:lo12:.LANCHOR10] - mov w1, 3 - add x0, x0, 48 - bl ftl_open_sblk_init - ldr x1, [x19, #:lo12:.LANCHOR110] - ldr x0, [x21, #:lo12:.LANCHOR10] - add x0, x0, 136 - ldrh w2, [x1, 134] - strh w2, [x0, -10] - strh w20, [x0, -56] - mov w2, -1 - strh w20, [x0, -6] - str w2, [x0, 408] - strh wzr, [x0, -12] - strh wzr, [x0, -16] - strh wzr, [x0, -14] - strh w2, [x1, 126] - mov w2, 256 - str wzr, [x0, 384] - mov w1, 255 - str wzr, [x0, 388] - str wzr, [x0, 392] - bl ftl_memset - mov w2, 128 - mov w1, 255 - ldr x0, [x21, #:lo12:.LANCHOR10] - add x0, x0, 392 - bl ftl_memset - bl ftl_ext_info_flush - mov w0, 0 - bl ftl_info_flush - bl ftl_info_blk_init - ldr x21, [sp, 32] - mov w0, 0 - ldp x19, x20, [sp, 16] - ldp x29, x30, [sp], 48 - ret - .size ftl_low_format_data_init, .-ftl_low_format_data_init - .section .text.ftl_low_format,"ax",@progbits - .align 2 - .global ftl_low_format - .type ftl_low_format, %function -ftl_low_format: - stp x29, x30, [sp, -80]! - mov w1, 0 - adrp x0, .LC162 - add x0, x0, :lo12:.LC162 - add x29, sp, 0 - stp x19, x20, [sp, 16] - adrp x20, .LANCHOR205 - stp x21, x22, [sp, 32] - add x20, x20, :lo12:.LANCHOR205 - stp x25, x26, [sp, 64] - adrp x22, .LANCHOR27 - mov x25, x22 - stp x23, x24, [sp, 48] - mov w19, 8 - adrp x23, .LC0 - bl printf -.L2823: - ldr x0, [x22, #:lo12:.LANCHOR27] - add x0, x0, x19, sxtw - ldrb w21, [x0, 32] - add w0, w21, 127 - and w0, w0, 255 - cmp w0, 125 - bhi .L2821 - mov w2, 2531 - mov x1, x20 - add x0, x23, :lo12:.LC0 - bl printf -.L2821: - cmp w21, 255 - beq .L2822 - adrp x0, .LANCHOR111 - ldrh w1, [x0, #:lo12:.LANCHOR111] - mov w0, 0 - mul w1, w1, w21 - bl flash_erase_block -.L2822: - add w19, w19, 1 - cmp w19, 16 - bne .L2823 - bl sblk_init - adrp x22, .LANCHOR7 - bl ftl_info_blk_init - adrp x19, .LANCHOR6 - adrp x0, .LANCHOR195 - mov w2, 16384 - mov w1, 0 - ldr x0, [x0, #:lo12:.LANCHOR195] - bl ftl_memset - ldr x0, [x22, #:lo12:.LANCHOR7] - mov w3, 1 - ldrh w2, [x19, #:lo12:.LANCHOR6] - add x2, x0, x2, lsl 2 -.L2824: - cmp x0, x2 - bne .L2825 - adrp x21, .LANCHOR110 - mov w1, 21574 - adrp x24, .LANCHOR69 - add x24, x24, :lo12:.LANCHOR69 - ldr x0, [x21, #:lo12:.LANCHOR110] - movk w1, 0x494c, lsl 16 - mov w20, 0 - mov w26, 1 - strh wzr, [x0, 148] - str w1, [x0] -.L2826: - ldrh w0, [x19, #:lo12:.LANCHOR6] - adrp x23, .LANCHOR76 - cmp w0, w20 - bhi .L2835 - ldr x0, [x25, #:lo12:.LANCHOR27] - mov w4, 3 - ldrb w2, [x23, #:lo12:.LANCHOR76] - mov w10, 15 - ldr x6, [x21, #:lo12:.LANCHOR110] - cmp w2, 1 - ldr x1, [x22, #:lo12:.LANCHOR7] - ldrb w0, [x0, 47] - csinc w4, w4, wzr, ne - and w4, w4, 255 - and w8, w2, 65535 - ldrh w3, [x6, 148] - udiv w0, w0, w2 - and w5, w0, 65535 - ubfiz x0, x0, 2, 8 - add x0, x0, 4 - add w20, w5, 1 - add x0, x1, x0 -.L2838: - cmp w2, 4 - add x1, x1, 4 - csel w7, w10, w4, eq - strb w7, [x1, -1] - ldrb w7, [x1, -2] - orr w7, w7, -32 - strb w7, [x1, -2] - cmp x1, x0 - bne .L2838 - mul w5, w5, w8 - mov w4, 16 - add w0, w8, w3 - sdiv w4, w4, w2 - add w0, w5, w0, uxth - strh w0, [x6, 148] - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - add w4, w20, w4 - and w4, w4, 65535 - strh w4, [x6, 134] - tbz x0, 12, .L2839 - adrp x0, .LC163 - mov w3, w20 - mov w2, 128 - mov w1, 2590 - add x0, x0, :lo12:.LC163 - bl printf -.L2839: - ldr x0, [x21, #:lo12:.LANCHOR110] - mov w2, 128 - mov w1, 255 - add x0, x0, 160 - bl ftl_memset - adrp x0, .LANCHOR112 - ldrb w10, [x23, #:lo12:.LANCHOR76] - adrp x3, .LANCHOR75 - ldr x2, [x21, #:lo12:.LANCHOR110] - ldrb w16, [x0, #:lo12:.LANCHOR112] - adrp x0, .LANCHOR32 - and w11, w10, 65535 - ldr x15, [x22, #:lo12:.LANCHOR7] - ldrb w4, [x0, #:lo12:.LANCHOR32] - mov w0, 24 - ldrh w8, [x2, 134] - sub w0, w0, w4 - ldrh w4, [x3, #:lo12:.LANCHOR75] - mul w1, w20, w11 - mov w3, 0 - sub w0, w0, w4 - mov w4, 1 - and w1, w1, 65535 - lsl w4, w4, w0 - and w4, w4, 65535 -.L2840: - cmp w20, w8 - bcc .L2846 - ldrh w0, [x19, #:lo12:.LANCHOR6] - strh w3, [x2, 112] - sub w0, w0, w8 - strh wzr, [x2, 114] - strh w0, [x2, 116] - strh wzr, [x2, 118] - strh w8, [x2, 132] - bl ftl_low_format_data_init - mov w0, 0 - ldp x19, x20, [sp, 16] - ldp x21, x22, [sp, 32] - ldp x23, x24, [sp, 48] - ldp x25, x26, [sp, 64] - ldp x29, x30, [sp], 80 - ret -.L2825: - ldrb w1, [x0, 2] - add x0, x0, 4 - and w1, w1, 31 - bfi w1, w3, 3, 2 - strb w1, [x0, -2] - b .L2824 -.L2835: - adrp x0, .LANCHOR82 - strh w20, [x24] - ldrb w0, [x0, #:lo12:.LANCHOR82] - cbnz w0, .L2827 - mov w0, w20 - bl ftl_test_block -.L2827: - ldrb w11, [x23, #:lo12:.LANCHOR76] - adrp x0, .LANCHOR112 - ldr x6, [x22, #:lo12:.LANCHOR7] - mov w7, 0 - ldrb w14, [x0, #:lo12:.LANCHOR112] - mov w10, 0 - ldr x13, [x21, #:lo12:.LANCHOR110] - mov w8, 0 - mul w12, w20, w11 - add x6, x6, x20, uxth 2 -.L2828: - cmp w8, w14 - bcs .L2832 - add w15, w11, w7 - b .L2833 -.L2831: - add w1, w7, w12 - mov w0, w8 - bl flash_check_bad_block - cbz w0, .L2829 - ldrb w1, [x6, 3] - lsl w0, w26, w7 - orr w0, w0, w1 - strb w0, [x6, 3] - ldrh w0, [x13, 148] - add w0, w0, 1 - strh w0, [x13, 148] -.L2830: - add w7, w7, 1 -.L2833: - cmp w7, w15 - bne .L2831 - add w8, w8, 1 - sub w12, w12, w11 - and w8, w8, 65535 - b .L2828 -.L2829: - add w10, w10, 1 - and w10, w10, 65535 - b .L2830 -.L2832: - cbnz w10, .L2834 - ldrb w0, [x6, 2] - orr w0, w0, -32 - strb w0, [x6, 2] -.L2834: - add w20, w20, 1 - and w20, w20, 65535 - b .L2826 -.L2846: - add x13, x15, x20, uxth 2 - mov w6, 0 - mov w12, 0 - mov w5, 0 - ldrb w0, [x13, 2] - orr w0, w0, -32 - strb w0, [x13, 2] -.L2841: - cmp w5, w16 - bcc .L2848 - add w20, w20, 1 - add w1, w1, w11 - and w20, w20, 65535 - and w1, w1, 65535 - b .L2840 -.L2844: - ldrb w14, [x13, 3] - add w17, w12, w7 - asr w14, w14, w17 - tbnz x14, 0, .L2842 - cmp w10, 1 - bls .L2847 - and w0, w0, 1 - add w0, w1, w0 - and w0, w0, 65535 -.L2843: - add x14, x2, x3, sxtw 1 - add w3, w3, 1 - and w3, w3, 65535 - add w0, w0, w6 - strh w0, [x14, 160] -.L2842: - add x7, x7, 1 -.L2845: - and w0, w7, 65535 - cmp w0, w11 - bcc .L2844 - add w5, w5, 1 - add w6, w4, w6 - and w5, w5, 65535 - add w12, w12, w10 - and w6, w6, 65535 - b .L2841 -.L2847: - mov w0, w1 - b .L2843 -.L2848: - mov x7, 0 - b .L2845 - .size ftl_low_format, .-ftl_low_format - .section .text.ftl_re_low_format,"ax",@progbits - .align 2 - .global ftl_re_low_format - .type ftl_re_low_format, %function -ftl_re_low_format: - stp x29, x30, [sp, -16]! - mov w1, 1 - adrp x0, .LC164 - add x0, x0, :lo12:.LC164 - add x29, sp, 0 - bl printf - bl sblk_init - bl ftl_info_blk_init - bl ftl_ext_info_init - adrp x0, .LANCHOR110 - adrp x2, .LANCHOR6 - mov w3, 0 - mov w4, 0 - ldr x0, [x0, #:lo12:.LANCHOR110] - mov w5, 0 - ldrh w7, [x2, #:lo12:.LANCHOR6] - adrp x2, .LANCHOR7 - ldr x2, [x2, #:lo12:.LANCHOR7] - ldrh w1, [x0, 134] - add x2, x2, x1, uxth 2 -.L2859: - cmp w1, w7 - bcc .L2863 - strh w5, [x0, 114] - strh w4, [x0, 118] - strh w3, [x0, 116] - strh wzr, [x0, 122] - strh wzr, [x0, 120] - strh wzr, [x0, 124] - bl ftl_low_format_data_init - mov w0, 0 - ldp x29, x30, [sp], 16 - ret -.L2863: - ldrb w6, [x2, 2] - and w8, w6, 31 - strb w8, [x2, 2] - ands w6, w6, 24 - bne .L2860 - add w5, w5, 1 - and w5, w5, 65535 -.L2861: - add w1, w1, 1 - add x2, x2, 4 - and w1, w1, 65535 - b .L2859 -.L2860: - cmp w6, 16 - bne .L2862 - add w4, w4, 1 - and w4, w4, 65535 - b .L2861 -.L2862: - add w3, w3, 1 - and w3, w3, 65535 - b .L2861 - .size ftl_re_low_format, .-ftl_re_low_format .section .text.ftl_prog_ppa_page,"ax",@progbits .align 2 .global ftl_prog_ppa_page .type ftl_prog_ppa_page, %function ftl_prog_ppa_page: - adrp x4, .LANCHOR32 + adrp x4, .LANCHOR31 mov w5, 1 - ldrb w6, [x4, #:lo12:.LANCHOR32] + ldrb w6, [x4, #:lo12:.LANCHOR31] mov w4, 24 sub w4, w4, w6 lsl w7, w5, w4 @@ -17856,7 +17209,7 @@ ftl_prog_ppa_page: ftl_write_last_log_page: ldrh w1, [x0, 6] cmp w1, 1 - bne .L2868 + bne .L2761 stp x29, x30, [sp, -48]! adrp x1, .LANCHOR117 add x29, sp, 0 @@ -17868,19 +17221,19 @@ ftl_write_last_log_page: bl ftl_get_new_free_page mov w21, w0 cmn w0, #1 - beq .L2869 + beq .L2762 ldrh w0, [x19] add x20, x20, x22, uxth 2 bl ftl_vpn_decrement - adrp x0, .LANCHOR191 + adrp x0, .LANCHOR188 mov w1, 15555 - add x7, x0, :lo12:.LANCHOR191 + add x7, x0, :lo12:.LANCHOR188 movk w1, 0xf55f, lsl 16 - str w1, [x0, #:lo12:.LANCHOR191] - adrp x0, .LANCHOR95 - ldrh w1, [x0, #:lo12:.LANCHOR95] - adrp x0, .LANCHOR80 - ldrb w0, [x0, #:lo12:.LANCHOR80] + str w1, [x0, #:lo12:.LANCHOR188] + adrp x0, .LANCHOR94 + ldrh w1, [x0, #:lo12:.LANCHOR94] + adrp x0, .LANCHOR79 + ldrb w0, [x0, #:lo12:.LANCHOR79] mul w1, w1, w0 mov x0, x20 lsl w1, w1, 2 @@ -17898,16 +17251,1536 @@ ftl_write_last_log_page: ldrb w3, [x0, #:lo12:.LANCHOR131] mov w0, w21 bl ftl_prog_ppa_page -.L2869: +.L2762: mov w0, 0 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 48 ret -.L2868: +.L2761: mov w0, -1 ret .size ftl_write_last_log_page, .-ftl_write_last_log_page + .section .text.ftl_dump_write_open_sblk,"ax",@progbits + .align 2 + .global ftl_dump_write_open_sblk + .type ftl_dump_write_open_sblk, %function +ftl_dump_write_open_sblk: + sub sp, sp, #224 + stp x29, x30, [sp, 48] + add x29, sp, 48 + stp x19, x20, [sp, 64] + and w20, w0, 65535 + adrp x0, .LANCHOR8 + stp x21, x22, [sp, 80] + stp x23, x24, [sp, 96] + ldrh w0, [x0, #:lo12:.LANCHOR8] + stp x25, x26, [sp, 112] + stp x27, x28, [sp, 128] + cmp w0, w20 + bls .L2767 + adrp x0, .LANCHOR83 + str x0, [x29, 120] + ldrb w1, [x0, #:lo12:.LANCHOR83] + cbnz w1, .L2769 + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbz w0, .L2767 +.L2769: + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L2767 + adrp x0, .LANCHOR9 + ubfiz x14, x20, 2, 16 + mov x15, x0 + ldr x1, [x0, #:lo12:.LANCHOR9] + add x1, x1, x14 + ldrb w1, [x1, 2] + and w1, w1, 224 + cmp w1, 160 + bne .L2791 + adrp x0, .LANCHOR78 + ldrb w25, [x0, #:lo12:.LANCHOR78] +.L2770: + add x21, x29, 176 + adrp x23, .LANCHOR94 + mov w0, w20 + adrp x26, .LANCHOR111 + add x26, x26, :lo12:.LANCHOR111 + mov w27, 0 + strh w20, [x21, -32]! + mov w28, 0 + add x1, x21, 16 + bl ftl_get_blk_list_in_sblk + ldrh w1, [x23, #:lo12:.LANCHOR94] + and w0, w0, 255 + strb w0, [x29, 153] + strb wzr, [x29, 149] + strh wzr, [x29, 146] + mul w0, w0, w1 + strh wzr, [x29, 154] + strh w0, [x29, 150] + ldr x0, [x15, #:lo12:.LANCHOR9] + add x1, x0, x14 + ldr w5, [x0, x14] + ldrb w2, [x1, 2] + mov w1, w20 + ldrh w4, [x0, x14] + adrp x0, .LC159 + ubfx x5, x5, 11, 8 + add x0, x0, :lo12:.LC159 + ubfx x3, x2, 3, 2 + and w4, w4, 2047 + ubfx x2, x2, 5, 3 + bl printf + mov w0, 1 + bl buf_alloc + mov x19, x0 + mov w10, 0 + add x0, x23, :lo12:.LANCHOR94 + str x0, [x29, 128] +.L2771: + ldr x0, [x29, 128] + ldrh w0, [x0] + cmp w0, w27 + bls .L2779 + lsl w22, w27, 1 + mov w28, 0 + sub w0, w22, #1 + add w22, w22, w27 + str w0, [x29, 140] + sub w22, w22, #1 + adrp x0, .LC160 + add x0, x0, :lo12:.LC160 + str x0, [x29, 112] + b .L2782 +.L2791: + mov w25, 1 + b .L2770 +.L2780: + ldrh w12, [x21, x24] + mov w0, 65535 + cmp w12, w0 + bne .L2772 +.L2778: + add w10, w10, 1 + and w10, w10, 65535 +.L2773: + cmp w25, w10 + bcs .L2780 + add w11, w28, 1 + and w28, w11, 65535 +.L2782: + ldrb w0, [x29, 153] + cmp w0, w28 + bls .L2781 + sxtw x24, w28 + mov w10, 1 + add x24, x24, 8 + lsl x24, x24, 1 + b .L2773 +.L2772: + ldrh w3, [x26] + cmp w25, 3 + mul w3, w3, w12 + add w0, w3, w10 + bne .L2774 + adrp x1, .LANCHOR36 + ldrb w1, [x1, #:lo12:.LANCHOR36] + cbz w1, .L2775 + adrp x1, .LANCHOR78 + add w0, w0, w22 + ldrb w3, [x1, #:lo12:.LANCHOR78] +.L2805: + orr w3, w0, w3, lsl 24 + b .L2776 +.L2775: + add w3, w27, w3 + orr w3, w3, w10, lsl 24 +.L2776: + str w3, [x19, 40] + mov w1, 1 + stp w10, w12, [x29, 104] + mov x0, x19 + str w3, [x29, 136] + bl sblk_read_page + ldr w13, [x19, 52] + ldp w10, w12, [x29, 104] + cmp w13, 512 + ccmn w13, #1, 4, ne + ldr w3, [x29, 136] + bne .L2778 + ldr x1, [x19, 24] + mov w4, w13 + ldr x0, [x19, 8] + str w10, [x29, 108] + str w13, [x29, 136] + ldr w2, [x1, 12] + str w2, [sp, 32] + ldr w2, [x1, 8] + str w2, [sp, 24] + ldr w2, [x1, 4] + str w2, [sp, 16] + mov w2, w27 + ldr w1, [x1] + str w1, [sp, 8] + ldr w1, [x0, 12] + str w1, [sp] + mov w1, w12 + ldp w5, w6, [x0] + ldr w7, [x0, 8] + ldr x0, [x29, 112] + bl printf + ldr w13, [x29, 136] + ldr w10, [x29, 108] + cmp w13, 512 + bne .L2778 +.L2779: + mov w4, w10 + mov w3, w28 + mov w2, w27 + mov w1, w20 + adrp x24, .LANCHOR131 + adrp x0, .LC161 + add x0, x0, :lo12:.LC161 + bl printf + ldr x0, [x19, 8] + mov w1, 0 + ldrb w2, [x24, #:lo12:.LANCHOR131] + adrp x25, .LANCHOR19 + adrp x26, .LC162 + add x25, x25, :lo12:.LANCHOR19 + add x26, x26, :lo12:.LC162 + lsl w2, w2, 9 + bl ftl_memset + ldr x0, [x19, 24] + mov w1, 0 + ldrb w2, [x24, #:lo12:.LANCHOR131] + lsl w2, w2, 1 + bl ftl_memset +.L2783: + ldrh w0, [x23, #:lo12:.LANCHOR94] + cmp w0, w27 + bls .L2789 + lsl w0, w27, 1 + str w0, [x29, 140] + ldr x0, [x29, 120] + mov w22, 0 + add x28, x0, :lo12:.LANCHOR83 + b .L2790 +.L2774: + cmp w25, 2 + bne .L2777 + adrp x1, .LANCHOR78 + ldrb w3, [x1, #:lo12:.LANCHOR78] + ldr w1, [x29, 140] + add w0, w1, w0 + b .L2805 +.L2777: + add w3, w27, w3 + b .L2776 +.L2781: + add w8, w27, 1 + and w27, w8, 65535 + b .L2771 +.L2788: + ldr w0, [x25] + tbz x0, 12, .L2784 + mov w2, w22 + mov w1, w27 + mov x0, x26 + bl printf +.L2784: + ldrb w1, [x28] + adrp x2, .LANCHOR111 + sxtw x0, w22 + cbz w1, .L2785 + add x0, x0, 8 + ldrh w1, [x2, #:lo12:.LANCHOR111] + ldrh w0, [x21, x0, lsl 1] + mul w0, w0, w1 + orr w0, w0, w27 + str w0, [x19, 40] + mov x0, x19 + bl sblk_3d_tlc_dump_prog +.L2786: + add w22, w22, 1 + and w22, w22, 65535 +.L2790: + ldrb w0, [x29, 153] + cmp w0, w22 + bhi .L2788 + add w8, w27, 1 + and w27, w8, 65535 + b .L2783 +.L2785: + adrp x1, .LANCHOR78 + add x0, x0, 8 + ldrb w1, [x1, #:lo12:.LANCHOR78] + cmp w1, 2 + bne .L2787 + ldrh w1, [x2, #:lo12:.LANCHOR111] + ldrh w0, [x21, x0, lsl 1] + mul w0, w0, w1 + ldr w1, [x29, 140] + orr w0, w0, w1 + orr w0, w0, 33554432 + str w0, [x19, 40] + mov x0, x19 + bl sblk_mlc_dump_prog + b .L2786 +.L2787: + ldrh w1, [x21, x0, lsl 1] + mov w6, 1 + ldrh w0, [x2, #:lo12:.LANCHOR111] + mov w5, 0 + ldrb w4, [x24, #:lo12:.LANCHOR131] + ldr x3, [x19, 24] + mul w1, w1, w0 + adrp x0, .LANCHOR31 + ldrb w2, [x0, #:lo12:.LANCHOR31] + mov w0, 24 + orr w1, w1, w27 + str w1, [x19, 40] + sub w0, w0, w2 + lsl w6, w6, w2 + ldr x2, [x19, 8] + sub w6, w6, #1 + lsl w7, w6, w0 + lsr w0, w1, w0 + bic w1, w1, w7 + and w0, w0, w6 + bl flash_prog_page_en + b .L2786 +.L2789: + mov x0, x19 + bl zbuf_free + adrp x0, .LC163 + mov w1, w20 + add x0, x0, :lo12:.LC163 + bl printf +.L2767: + ldp x19, x20, [sp, 64] + ldp x21, x22, [sp, 80] + ldp x23, x24, [sp, 96] + ldp x25, x26, [sp, 112] + ldp x27, x28, [sp, 128] + ldp x29, x30, [sp, 48] + add sp, sp, 224 + ret + .size ftl_dump_write_open_sblk, .-ftl_dump_write_open_sblk + .section .text.gc_ink_check_sblk,"ax",@progbits + .align 2 + .global gc_ink_check_sblk + .type gc_ink_check_sblk, %function +gc_ink_check_sblk: + stp x29, x30, [sp, -80]! + add x29, sp, 0 + stp x19, x20, [sp, 16] + adrp x19, .LANCHOR70 + add x0, x19, :lo12:.LANCHOR70 + stp x21, x22, [sp, 32] + stp x23, x24, [sp, 48] + stp x25, x26, [sp, 64] + ldrh w1, [x0, 2110] + ldr x22, [x0, 2184] + cmp w1, 3 + bhi .L2807 + adrp x0, .L2809 + mov x20, x19 + add x0, x0, :lo12:.L2809 + ldrh w0, [x0,w1,uxtw #1] + adr x1, .Lrtx2809 + add x0, x1, w0, sxth #2 + br x0 +.Lrtx2809: + .section .rodata.gc_ink_check_sblk,"a",@progbits + .align 0 + .align 2 +.L2809: + .2byte (.L2808 - .Lrtx2809) / 4 + .2byte (.L2810 - .Lrtx2809) / 4 + .2byte (.L2811 - .Lrtx2809) / 4 + .2byte (.L2812 - .Lrtx2809) / 4 + .section .text.gc_ink_check_sblk +.L2808: + adrp x0, .LANCHOR107 + add x24, x0, :lo12:.LANCHOR107 + ldrh w0, [x0, #:lo12:.LANCHOR107] + cmp w0, 7 + bls .L2806 + adrp x0, .LANCHOR57 + ldrb w0, [x0, #:lo12:.LANCHOR57] + cmp w0, 2 + bls .L2806 + adrp x21, .LANCHOR108 + add x21, x21, :lo12:.LANCHOR108 + mov w1, 0 + mov x0, x21 + bl _list_get_gc_head_node + and w0, w0, 65535 + mov w23, 65535 + cmp w0, w23 + beq .L2806 + adrp x22, .LANCHOR9 + ubfiz x0, x0, 2, 16 + ldr x1, [x22, #:lo12:.LANCHOR9] + ldrh w0, [x1, x0] + and w0, w0, 2047 + cmp w0, 2 + bgt .L2806 + add x20, x19, :lo12:.LANCHOR70 + mov w0, 1 + bl buf_alloc + str x0, [x20, 2184] + cbz x0, .L2806 + mov x2, x24 + mov w1, 0 + mov x0, x21 + bl _list_pop_index_node + and w14, w0, 65535 + cmp w14, w23 + bne .L2816 + ldr x0, [x20, 2184] + bl zbuf_free + str xzr, [x20, 2184] +.L2806: + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] + ldp x29, x30, [sp], 80 + ret +.L2816: + add x1, x20, 2162 + mov w0, w14 + bl ftl_get_blk_list_in_sblk + strb w0, [x20, 2155] + mov w0, 1 + strh w0, [x20, 2110] + ldr x0, [x22, #:lo12:.LANCHOR9] + strh w14, [x20, 2146] + ubfiz x14, x14, 2, 16 + strh wzr, [x20, 2148] + ldrh w1, [x0, x14] + adrp x0, .LANCHOR131 + ldrb w2, [x0, #:lo12:.LANCHOR131] + ldr x0, [x20, 2184] + lsl w2, w2, 9 + tbz x1, 0, .L2817 + mov w1, 85 +.L2832: + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] + ldr x0, [x0, 8] + ldp x29, x30, [sp], 80 + b ftl_memset +.L2817: + mov w1, 170 + b .L2832 +.L2810: + add x20, x19, :lo12:.LANCHOR70 + mov w1, 0 + ldrh w0, [x20, 2146] + bl ftl_erase_sblk + mov w0, 2 + strh w0, [x20, 2110] + b .L2806 +.L2811: + adrp x21, .LANCHOR111 + mov w24, 65280 + adrp x23, .LANCHOR31 + add x21, x21, :lo12:.LANCHOR111 + add x23, x23, :lo12:.LANCHOR31 + mov w19, 0 + movk w24, 0x55aa, lsl 16 + bl sblk_wait_write_queue_completed +.L2818: + add x0, x20, :lo12:.LANCHOR70 + ldrb w1, [x0, 2155] + cmp w1, w19 + bhi .L2820 + ldrh w1, [x0, 2148] + adrp x2, .LANCHOR94 + add w1, w1, 1 + ldrh w2, [x2, #:lo12:.LANCHOR94] + and w1, w1, 65535 + strh w1, [x0, 2148] + cmp w2, w1 + bhi .L2806 + mov w1, 3 + strh wzr, [x0, 2148] + strh w1, [x0, 2110] + b .L2806 +.L2820: + add x1, x0, x19, sxtw 1 + ldrh w2, [x1, 2162] + mov w1, 65535 + cmp w2, w1 + beq .L2819 + ldrh w0, [x0, 2148] + mov w6, 1 + ldrh w1, [x21] + mov w5, 0 + ldr x3, [x22, 24] + madd w1, w1, w2, w0 + ldr x2, [x22, 8] + mov w0, 24 + stp w1, w24, [x2] + str wzr, [x3] + ldrb w4, [x23] + sub w0, w0, w4 + lsl w6, w6, w4 + adrp x4, .LANCHOR131 + sub w6, w6, #1 + ldrb w4, [x4, #:lo12:.LANCHOR131] + lsl w7, w6, w0 + lsr w0, w1, w0 + bic w1, w1, w7 + and w0, w0, w6 + bl flash_prog_page_en +.L2819: + add w19, w19, 1 + and w19, w19, 65535 + b .L2818 +.L2812: + adrp x25, .LANCHOR111 + add x19, x19, :lo12:.LANCHOR70 + add x25, x25, :lo12:.LANCHOR111 + mov w21, 0 + mov w26, 65535 + bl sblk_wait_write_queue_completed +.L2821: + ldrb w0, [x19, 2155] + cmp w0, w21 + bhi .L2825 + ldrh w0, [x19, 2148] + adrp x1, .LANCHOR94 + add w0, w0, 1 + ldrh w1, [x1, #:lo12:.LANCHOR94] + and w0, w0, 65535 + strh w0, [x19, 2148] + cmp w1, w0 + bhi .L2806 + ldr x0, [x19, 2184] + strh wzr, [x19, 2110] + bl zbuf_free + str xzr, [x19, 2184] + ldrh w0, [x19, 2112] + cmp w0, 15 + bhi .L2826 + add w1, w0, 1 + add x0, x19, x0, sxtw 1 + strh w1, [x19, 2112] + ldrh w1, [x19, 2146] + strh w1, [x0, 2114] +.L2827: + add x19, x20, :lo12:.LANCHOR70 + adrp x0, .LC164 + ldp x21, x22, [sp, 32] + add x0, x0, :lo12:.LC164 + ldrh w2, [x19, 2112] + ldrh w1, [x19, 2146] + ldp x23, x24, [sp, 48] + ldp x19, x20, [sp, 16] + ldp x25, x26, [sp, 64] + ldp x29, x30, [sp], 80 + b printf +.L2825: + add x24, x19, x21, sxtw 1 + add x24, x24, 16 + ldrh w0, [x24, 2146] + cmp w0, w26 + beq .L2823 + ldrh w1, [x19, 2148] + ldrh w23, [x25] + madd w23, w23, w0, w1 + mov w1, 1 + str w23, [x22, 40] + mov x0, x22 + bl sblk_read_page + ldr x0, [x22, 8] + ldr w0, [x0] + cmp w23, w0 + beq .L2823 + mov w0, w23 + bl ftl_mask_bad_block + mov w0, -1 + strh w0, [x24, 2146] +.L2823: + add w21, w21, 1 + and w21, w21, 65535 + b .L2821 +.L2826: + ldrh w0, [x19, 2146] + bl zftl_insert_free_list + b .L2827 +.L2807: + strh wzr, [x0, 2110] + b .L2806 + .size gc_ink_check_sblk, .-gc_ink_check_sblk + .section .text.ftl_ink_check_sblk,"ax",@progbits + .align 2 + .global ftl_ink_check_sblk + .type ftl_ink_check_sblk, %function +ftl_ink_check_sblk: + stp x29, x30, [sp, -144]! + add x29, sp, 0 + stp x23, x24, [sp, 48] + adrp x24, .LANCHOR9 + stp x19, x20, [sp, 16] + and w19, w0, 65535 + ldr x0, [x24, #:lo12:.LANCHOR9] + ubfiz x23, x19, 2, 16 + stp x21, x22, [sp, 32] + mov w1, w19 + stp x25, x26, [sp, 64] + stp x27, x28, [sp, 80] + ldr w3, [x0, x23] + ldrh w2, [x0, x23] + adrp x0, .LC165 + add x0, x0, :lo12:.LC165 + ubfx x3, x3, 11, 8 + and w2, w2, 2047 + bl printf + mov w0, 65535 + cmp w19, w0 + beq .L2833 + adrp x0, .LANCHOR8 + ldrh w0, [x0, #:lo12:.LANCHOR8] + cmp w0, w19 + bls .L2833 + add x21, x29, 144 + mov w1, 0 + mov w0, w19 + bl ftl_erase_sblk + mov w0, w19 + adrp x27, .LANCHOR131 + strh w19, [x21, -32]! + add x1, x21, 16 + bl ftl_get_blk_list_in_sblk + strb w0, [x29, 121] + mov w0, 1 + bl buf_alloc + mov x20, x0 + ldr x0, [x24, #:lo12:.LANCHOR9] + ldrb w2, [x27, #:lo12:.LANCHOR131] + ldrh w0, [x0, x23] + lsl w2, w2, 9 + and w0, w0, 2047 + cmp w0, 1 + bgt .L2835 + mov w1, 85 +.L2851: + ldr x0, [x20, 8] + adrp x28, .LANCHOR111 + add x28, x28, :lo12:.LANCHOR111 + mov w26, 0 + bl ftl_memset + bl sblk_wait_write_queue_completed + mov w7, 65280 + movk w7, 0x55aa, lsl 16 +.L2837: + adrp x25, .LANCHOR94 + ldrh w0, [x25, #:lo12:.LANCHOR94] + cmp w0, w26 + bls .L2840 + adrp x25, .LANCHOR31 + mov w22, 0 + add x25, x25, :lo12:.LANCHOR31 + b .L2841 +.L2835: + mov w1, 170 + b .L2851 +.L2839: + add x0, x21, x22, sxtw 1 + mov w1, 65535 + ldrh w0, [x0, 16] + cmp w0, w1 + beq .L2838 + ldrh w1, [x28] + mov w6, 1 + ldr x2, [x20, 8] + mov w5, 0 + ldr x3, [x20, 24] + str w7, [x29, 108] + madd w1, w1, w0, w26 + mov w0, 24 + stp w1, w7, [x2] + str wzr, [x3] + ldrb w4, [x25] + sub w0, w0, w4 + lsl w6, w6, w4 + ldrb w4, [x27, #:lo12:.LANCHOR131] + sub w6, w6, #1 + lsl w8, w6, w0 + lsr w0, w1, w0 + bic w1, w1, w8 + and w0, w0, w6 + bl flash_prog_page_en + ldr w7, [x29, 108] +.L2838: + add w22, w22, 1 + and w22, w22, 65535 +.L2841: + ldrb w0, [x29, 121] + cmp w0, w22 + bhi .L2839 + add w26, w26, 1 + and w26, w26, 65535 + b .L2837 +.L2840: + adrp x26, .LANCHOR111 + add x26, x26, :lo12:.LANCHOR111 + mov w28, 0 +.L2842: + ldrh w0, [x25, #:lo12:.LANCHOR94] + cmp w0, w28 + bls .L2847 + mov w27, 0 + b .L2848 +.L2846: + sxtw x22, w27 + mov w1, 65535 + add x22, x22, 8 + lsl x22, x22, 1 + ldrh w0, [x21, x22] + cmp w0, w1 + beq .L2844 + ldrh w4, [x26] + mov w1, 1 + madd w4, w4, w0, w28 + mov x0, x20 + str w4, [x20, 40] + str w4, [x29, 108] + bl sblk_read_page + ldr x0, [x20, 8] + ldr w4, [x29, 108] + ldr w0, [x0] + cmp w4, w0 + beq .L2844 + mov w0, w4 + bl ftl_mask_bad_block + mov w0, -1 + strh w0, [x21, x22] +.L2844: + add w2, w27, 1 + and w27, w2, 65535 +.L2848: + ldrb w0, [x29, 121] + cmp w0, w27 + bhi .L2846 + add w3, w28, 1 + and w28, w3, 65535 + b .L2842 +.L2847: + mov x0, x20 + bl zbuf_free + ldr x0, [x24, #:lo12:.LANCHOR9] + mov w1, w19 + ldr w3, [x0, x23] + ldrh w2, [x0, x23] + adrp x0, .LC166 + add x0, x0, :lo12:.LC166 + ubfx x3, x3, 11, 8 + and w2, w2, 2047 + bl printf +.L2833: + 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 + ret + .size ftl_ink_check_sblk, .-ftl_ink_check_sblk + .section .text.ftl_alloc_sblk,"ax",@progbits + .align 2 + .global ftl_alloc_sblk + .type ftl_alloc_sblk, %function +ftl_alloc_sblk: + stp x29, x30, [sp, -80]! + cmp w0, 5 + add x29, sp, 0 + stp x23, x24, [sp, 48] + and w23, w0, 65535 + stp x21, x22, [sp, 32] + mov w1, w23 + stp x19, x20, [sp, 16] + cset w22, eq + mov w21, w0 + str x25, [sp, 64] + mov w0, 0 + bl zftl_get_free_sblk + and w19, w0, 65535 + mov w0, 65535 + cmp w19, w0 + beq .L2854 + adrp x0, .LANCHOR9 + ubfiz x25, x19, 2, 16 + lsl w22, w22, 1 + mov w24, w19 + ldr x20, [x0, #:lo12:.LANCHOR9] + mov x23, x0 + add x20, x20, x25 + ldrb w1, [x20, 2] + tst w1, 224 + beq .L2855 + adrp x1, .LANCHOR200 + adrp x0, .LC0 + mov w2, 1012 + add x1, x1, :lo12:.LANCHOR200 + add x0, x0, :lo12:.LC0 + bl printf +.L2855: + ldrb w0, [x20, 2] + bfi w0, w21, 5, 3 + ubfx x1, x0, 3, 2 + orr w1, w22, w1 + bfi w0, w1, 3, 2 + strb w0, [x20, 2] + and w1, w0, 24 + cmp w1, 24 + bne .L2856 + cbnz w22, .L2856 + mov w1, 1 + bfi w0, w1, 3, 2 + strb w0, [x20, 2] +.L2856: + adrp x0, .LANCHOR110 + ldr x0, [x0, #:lo12:.LANCHOR110] + ldrh w0, [x0, 150] + cbz w0, .L2857 + ldr x0, [x23, #:lo12:.LANCHOR9] + ldrh w0, [x0, x25] + tst x0, 2047 + bne .L2857 + cbnz w22, .L2857 + mov w0, w24 + bl ftl_ink_check_sblk +.L2857: + mov w0, w19 + ldr x25, [sp, 64] + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x23, x24, [sp, 48] + ldp x29, x30, [sp], 80 + ret +.L2854: + bl print_ftl_debug_info + adrp x20, .LC167 + mov w2, w21 + add x20, x20, :lo12:.LC167 + mov w1, w19 + mov x0, x20 + bl printf + mov w1, w23 + mov w0, 0 + bl zftl_get_free_sblk + and w19, w0, 65535 + mov w2, w21 + mov w1, w19 + mov x0, x20 + bl printf + bl dump_all_list_info + mov w2, 1031 + adrp x1, .LANCHOR200 + adrp x0, .LC0 + add x1, x1, :lo12:.LANCHOR200 + add x0, x0, :lo12:.LC0 + bl printf + b .L2857 + .size ftl_alloc_sblk, .-ftl_alloc_sblk + .section .text.ftl_open_sblk_init,"ax",@progbits + .align 2 + .global ftl_open_sblk_init + .type ftl_open_sblk_init, %function +ftl_open_sblk_init: + stp x29, x30, [sp, -80]! + add x29, sp, 0 + stp x21, x22, [sp, 32] + adrp x21, .LANCHOR79 + stp x23, x24, [sp, 48] + adrp x22, .LC168 + stp x19, x20, [sp, 16] + adrp x24, .LANCHOR94 + mov x19, x0 + mov w23, w1 + add x24, x24, :lo12:.LANCHOR94 + add x21, x21, :lo12:.LANCHOR79 + add x22, x22, :lo12:.LC168 + stp x25, x26, [sp, 64] +.L2867: + mov w25, 65535 +.L2868: + mov w0, w23 + bl ftl_alloc_sblk + and w20, w0, 65535 + cmp w20, w25 + beq .L2868 + mov w1, 0 + mov w0, w20 + bl ftl_erase_sblk + add x1, x19, 16 + mov w0, w20 + bl ftl_get_blk_list_in_sblk + and w0, w0, 255 + ldrh w1, [x24] + cmp w23, 2 + strb w0, [x19, 9] + strh w20, [x19] + strh wzr, [x19, 2] + mul w0, w1, w0 + strb wzr, [x19, 5] + strh w0, [x19, 6] + strh wzr, [x19, 10] + strb w23, [x19, 4] + beq .L2871 + ldrb w0, [x21] + mul w0, w1, w0 + and w0, w0, 65535 +.L2869: + ldrb w2, [x21] + adrp x26, .LANCHOR11 + strh w0, [x19, 12] + ubfiz x25, x20, 1, 16 + mul w2, w2, w1 + adrp x1, .LANCHOR117 + ldr x3, [x1, #:lo12:.LANCHOR117] + mov w1, 255 + lsl w2, w2, 2 + add x0, x3, x0, uxth 2 + bl ftl_memset + ldr x0, [x26, #:lo12:.LANCHOR11] + ldrh w1, [x19, 6] + strh w1, [x0, x25] + ldrb w0, [x19, 9] + cbnz w0, .L2866 + mov w1, w20 + mov x0, x22 + bl printf + ldr x0, [x26, #:lo12:.LANCHOR11] + mov w1, -1 + strh w1, [x0, x25] + mov w0, 7 + strb w0, [x19, 4] + b .L2867 +.L2871: + mov w0, 0 + b .L2869 +.L2866: + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] + ldp x29, x30, [sp], 80 + ret + .size ftl_open_sblk_init, .-ftl_open_sblk_init + .section .text.ftl_low_format_data_init,"ax",@progbits + .align 2 + .global ftl_low_format_data_init + .type ftl_low_format_data_init, %function +ftl_low_format_data_init: + stp x29, x30, [sp, -48]! + adrp x0, .LANCHOR197 + mov w2, 16384 + mov w1, 0 + add x29, sp, 0 + ldr x0, [x0, #:lo12:.LANCHOR197] + stp x19, x20, [sp, 16] + adrp x19, .LANCHOR110 + str x21, [sp, 32] + bl ftl_memset + bl zftl_sblk_list_init + mov w0, 1 + bl ftl_alloc_sblk + mov w1, 0 + mov w21, w0 + bl ftl_erase_sblk + ldr x1, [x19, #:lo12:.LANCHOR110] + mov w0, w21 + add x1, x1, 672 + bl ftl_get_blk_list_in_sblk + ldr x0, [x19, #:lo12:.LANCHOR110] + ldrh w20, [x0, 672] + strh wzr, [x0, 690] + mov w0, 65533 + sub w1, w20, #1 + cmp w0, w1, uxth + bcs .L2875 + adrp x1, .LANCHOR201 + adrp x0, .LC0 + mov w2, 2484 + add x1, x1, :lo12:.LANCHOR201 + add x0, x0, :lo12:.LC0 + bl printf +.L2875: + ldr x0, [x19, #:lo12:.LANCHOR110] + mov w2, 256 + mov w1, 255 + add x0, x0, 416 + strh wzr, [x0, 280] + bl ftl_memset + ldr x0, [x19, #:lo12:.LANCHOR110] + mov w2, 4096 + mov w1, 0 + add x0, x0, 704 + bl ftl_memset + adrp x0, .LANCHOR31 + ldr x1, [x19, #:lo12:.LANCHOR110] + ldrb w2, [x0, #:lo12:.LANCHOR31] + mov w0, 24 + sub w0, w0, w2 + adrp x2, .LANCHOR74 + strh w21, [x1, 416] + adrp x21, .LANCHOR12 + ldrh w2, [x2, #:lo12:.LANCHOR74] + strh w20, [x1, 692] + sub w0, w0, w2 + asr w0, w20, w0 + strh w0, [x1, 694] + mov w0, 1 + strh w0, [x1, 688] + adrp x0, .LANCHOR202 + ldrh w0, [x0, #:lo12:.LANCHOR202] + strh w0, [x1, 698] + mov w1, 20038 + ldr x0, [x21, #:lo12:.LANCHOR12] + movk w1, 0x4549, lsl 16 + str w1, [x0] + bl ftl_alloc_sys_blk + mov w20, w0 + mov w1, 0 + bl ftl_erase_phy_blk + ldr x0, [x19, #:lo12:.LANCHOR110] + mov w1, 2 + strh w20, [x0, 130] + mov w20, -1 + strh wzr, [x0, 140] + ldr x0, [x21, #:lo12:.LANCHOR12] + add x0, x0, 16 + strh w20, [x0, 568] + strh w20, [x0, 570] + strh w20, [x0, 572] + strh w20, [x0, 574] + bl ftl_open_sblk_init + ldr x0, [x21, #:lo12:.LANCHOR12] + mov w1, 3 + add x0, x0, 48 + bl ftl_open_sblk_init + ldr x1, [x19, #:lo12:.LANCHOR110] + ldr x0, [x21, #:lo12:.LANCHOR12] + add x0, x0, 136 + ldrh w2, [x1, 134] + strh w2, [x0, -10] + strh w20, [x0, -56] + mov w2, -1 + strh w20, [x0, -6] + str w2, [x0, 408] + strh wzr, [x0, -12] + strh wzr, [x0, -16] + strh wzr, [x0, -14] + strh w2, [x1, 126] + mov w2, 256 + str wzr, [x0, 384] + mov w1, 255 + str wzr, [x0, 388] + str wzr, [x0, 392] + bl ftl_memset + mov w2, 128 + mov w1, 255 + ldr x0, [x21, #:lo12:.LANCHOR12] + add x0, x0, 392 + bl ftl_memset + bl ftl_ext_info_flush + mov w0, 0 + bl ftl_info_flush + bl ftl_info_blk_init + ldr x21, [sp, 32] + mov w0, 0 + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 48 + ret + .size ftl_low_format_data_init, .-ftl_low_format_data_init + .section .text.ftl_low_format,"ax",@progbits + .align 2 + .global ftl_low_format + .type ftl_low_format, %function +ftl_low_format: + stp x29, x30, [sp, -80]! + mov w1, 0 + adrp x0, .LC169 + add x0, x0, :lo12:.LC169 + add x29, sp, 0 + stp x19, x20, [sp, 16] + adrp x20, .LANCHOR203 + stp x21, x22, [sp, 32] + add x20, x20, :lo12:.LANCHOR203 + stp x25, x26, [sp, 64] + adrp x22, .LANCHOR6 + mov x25, x22 + stp x23, x24, [sp, 48] + mov w19, 8 + adrp x23, .LC0 + bl printf +.L2880: + ldr x0, [x22, #:lo12:.LANCHOR6] + add x0, x0, x19, sxtw + ldrb w21, [x0, 32] + add w0, w21, 127 + and w0, w0, 255 + cmp w0, 125 + bhi .L2878 + mov w2, 2539 + mov x1, x20 + add x0, x23, :lo12:.LC0 + bl printf +.L2878: + cmp w21, 255 + beq .L2879 + adrp x0, .LANCHOR111 + ldrh w1, [x0, #:lo12:.LANCHOR111] + mov w0, 0 + mul w1, w1, w21 + bl flash_erase_block +.L2879: + add w19, w19, 1 + cmp w19, 16 + bne .L2880 + bl sblk_init + adrp x22, .LANCHOR9 + bl ftl_info_blk_init + adrp x19, .LANCHOR8 + adrp x0, .LANCHOR192 + mov w2, 16384 + mov w1, 0 + ldr x0, [x0, #:lo12:.LANCHOR192] + bl ftl_memset + ldr x0, [x22, #:lo12:.LANCHOR9] + mov w3, 1 + ldrh w2, [x19, #:lo12:.LANCHOR8] + add x2, x0, x2, lsl 2 +.L2881: + cmp x0, x2 + bne .L2882 + adrp x21, .LANCHOR110 + mov w1, 21574 + adrp x24, .LANCHOR68 + add x24, x24, :lo12:.LANCHOR68 + ldr x0, [x21, #:lo12:.LANCHOR110] + movk w1, 0x494c, lsl 16 + mov w20, 0 + mov w26, 1 + strh wzr, [x0, 148] + str w1, [x0] +.L2883: + ldrh w0, [x19, #:lo12:.LANCHOR8] + adrp x23, .LANCHOR75 + cmp w0, w20 + bhi .L2892 + ldr x0, [x25, #:lo12:.LANCHOR6] + mov w4, 3 + ldrb w2, [x23, #:lo12:.LANCHOR75] + mov w10, 15 + ldr x6, [x21, #:lo12:.LANCHOR110] + cmp w2, 1 + ldr x1, [x22, #:lo12:.LANCHOR9] + ldrb w0, [x0, 47] + csinc w4, w4, wzr, ne + and w4, w4, 255 + and w8, w2, 65535 + ldrh w3, [x6, 148] + udiv w0, w0, w2 + and w5, w0, 65535 + ubfiz x0, x0, 2, 8 + add x0, x0, 4 + add w20, w5, 1 + add x0, x1, x0 +.L2895: + cmp w2, 4 + add x1, x1, 4 + csel w7, w10, w4, eq + strb w7, [x1, -1] + ldrb w7, [x1, -2] + orr w7, w7, -32 + strb w7, [x1, -2] + cmp x1, x0 + bne .L2895 + mul w5, w5, w8 + mov w4, 16 + add w0, w8, w3 + sdiv w4, w4, w2 + add w0, w5, w0, uxth + strh w0, [x6, 148] + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + add w4, w20, w4 + and w4, w4, 65535 + strh w4, [x6, 134] + tbz x0, 12, .L2896 + adrp x0, .LC170 + mov w3, w20 + mov w2, 128 + mov w1, 2598 + add x0, x0, :lo12:.LC170 + bl printf +.L2896: + ldr x0, [x21, #:lo12:.LANCHOR110] + mov w2, 128 + mov w1, 255 + add x0, x0, 160 + bl ftl_memset + adrp x0, .LANCHOR112 + ldrb w10, [x23, #:lo12:.LANCHOR75] + adrp x3, .LANCHOR74 + ldr x2, [x21, #:lo12:.LANCHOR110] + ldrb w16, [x0, #:lo12:.LANCHOR112] + adrp x0, .LANCHOR31 + and w11, w10, 65535 + ldr x15, [x22, #:lo12:.LANCHOR9] + ldrb w4, [x0, #:lo12:.LANCHOR31] + mov w0, 24 + ldrh w8, [x2, 134] + sub w0, w0, w4 + ldrh w4, [x3, #:lo12:.LANCHOR74] + mul w1, w20, w11 + mov w3, 0 + sub w0, w0, w4 + mov w4, 1 + and w1, w1, 65535 + lsl w4, w4, w0 + and w4, w4, 65535 +.L2897: + cmp w20, w8 + bcc .L2903 + ldrh w0, [x19, #:lo12:.LANCHOR8] + strh w3, [x2, 112] + sub w0, w0, w8 + strh wzr, [x2, 114] + strh w0, [x2, 116] + strh wzr, [x2, 118] + strh w8, [x2, 132] + bl ftl_low_format_data_init + mov w0, 0 + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] + ldp x29, x30, [sp], 80 + ret +.L2882: + ldrb w1, [x0, 2] + add x0, x0, 4 + and w1, w1, 31 + bfi w1, w3, 3, 2 + strb w1, [x0, -2] + b .L2881 +.L2892: + adrp x0, .LANCHOR81 + strh w20, [x24] + ldrb w0, [x0, #:lo12:.LANCHOR81] + cbnz w0, .L2884 + mov w0, w20 + bl ftl_test_block +.L2884: + ldrb w11, [x23, #:lo12:.LANCHOR75] + adrp x0, .LANCHOR112 + ldr x6, [x22, #:lo12:.LANCHOR9] + mov w7, 0 + ldrb w14, [x0, #:lo12:.LANCHOR112] + mov w10, 0 + ldr x13, [x21, #:lo12:.LANCHOR110] + mov w8, 0 + mul w12, w20, w11 + add x6, x6, x20, uxth 2 +.L2885: + cmp w8, w14 + bcs .L2889 + add w15, w11, w7 + b .L2890 +.L2888: + add w1, w7, w12 + mov w0, w8 + bl flash_check_bad_block + cbz w0, .L2886 + ldrb w1, [x6, 3] + lsl w0, w26, w7 + orr w0, w0, w1 + strb w0, [x6, 3] + ldrh w0, [x13, 148] + add w0, w0, 1 + strh w0, [x13, 148] +.L2887: + add w7, w7, 1 +.L2890: + cmp w7, w15 + bne .L2888 + add w8, w8, 1 + sub w12, w12, w11 + and w8, w8, 65535 + b .L2885 +.L2886: + add w10, w10, 1 + and w10, w10, 65535 + b .L2887 +.L2889: + cbnz w10, .L2891 + ldrb w0, [x6, 2] + orr w0, w0, -32 + strb w0, [x6, 2] +.L2891: + add w20, w20, 1 + and w20, w20, 65535 + b .L2883 +.L2903: + add x13, x15, x20, uxth 2 + mov w6, 0 + mov w12, 0 + mov w5, 0 + ldrb w0, [x13, 2] + orr w0, w0, -32 + strb w0, [x13, 2] +.L2898: + cmp w5, w16 + bcc .L2905 + add w20, w20, 1 + add w1, w1, w11 + and w20, w20, 65535 + and w1, w1, 65535 + b .L2897 +.L2901: + ldrb w14, [x13, 3] + add w17, w12, w7 + asr w14, w14, w17 + tbnz x14, 0, .L2899 + cmp w10, 1 + bls .L2904 + and w0, w0, 1 + add w0, w1, w0 + and w0, w0, 65535 +.L2900: + add x14, x2, x3, sxtw 1 + add w3, w3, 1 + and w3, w3, 65535 + add w0, w0, w6 + strh w0, [x14, 160] +.L2899: + add x7, x7, 1 +.L2902: + and w0, w7, 65535 + cmp w0, w11 + bcc .L2901 + add w5, w5, 1 + add w6, w4, w6 + and w5, w5, 65535 + add w12, w12, w10 + and w6, w6, 65535 + b .L2898 +.L2904: + mov w0, w1 + b .L2900 +.L2905: + mov x7, 0 + b .L2902 + .size ftl_low_format, .-ftl_low_format + .section .text.ftl_re_low_format,"ax",@progbits + .align 2 + .global ftl_re_low_format + .type ftl_re_low_format, %function +ftl_re_low_format: + stp x29, x30, [sp, -16]! + mov w1, 1 + adrp x0, .LC171 + add x0, x0, :lo12:.LC171 + add x29, sp, 0 + bl printf + bl sblk_init + bl ftl_info_blk_init + bl ftl_ext_info_init + adrp x0, .LANCHOR110 + adrp x2, .LANCHOR8 + mov w3, 0 + mov w4, 0 + ldr x0, [x0, #:lo12:.LANCHOR110] + mov w5, 0 + ldrh w7, [x2, #:lo12:.LANCHOR8] + adrp x2, .LANCHOR9 + ldr x2, [x2, #:lo12:.LANCHOR9] + ldrh w1, [x0, 134] + add x2, x2, x1, uxth 2 +.L2916: + cmp w1, w7 + bcc .L2920 + strh w5, [x0, 114] + strh w4, [x0, 118] + strh w3, [x0, 116] + strh wzr, [x0, 122] + strh wzr, [x0, 120] + strh wzr, [x0, 124] + bl ftl_low_format_data_init + mov w0, 0 + ldp x29, x30, [sp], 16 + ret +.L2920: + ldrb w6, [x2, 2] + and w8, w6, 31 + strb w8, [x2, 2] + ands w6, w6, 24 + bne .L2917 + add w5, w5, 1 + and w5, w5, 65535 +.L2918: + add w1, w1, 1 + add x2, x2, 4 + and w1, w1, 65535 + b .L2916 +.L2917: + cmp w6, 16 + bne .L2919 + add w4, w4, 1 + and w4, w4, 65535 + b .L2918 +.L2919: + add w3, w3, 1 + and w3, w3, 65535 + b .L2918 + .size ftl_re_low_format, .-ftl_re_low_format + .section .text.pm_alloc_new_blk,"ax",@progbits + .align 2 + .global pm_alloc_new_blk + .type pm_alloc_new_blk, %function +pm_alloc_new_blk: + stp x29, x30, [sp, -64]! + adrp x2, .LANCHOR79 + add x29, sp, 0 + stp x19, x20, [sp, 16] + adrp x20, .LANCHOR110 + stp x21, x22, [sp, 32] + ldr x1, [x20, #:lo12:.LANCHOR110] + ldrb w2, [x2, #:lo12:.LANCHOR79] + ldrh w0, [x1, 690] + str x23, [sp, 48] + add w0, w0, 1 + and w0, w0, 65535 + strh w0, [x1, 690] + cmp w2, w0 + bls .L2923 + add x0, x1, x0, sxtw 1 + ldrh w1, [x0, 672] + mov w0, 65535 + cmp w1, w0 + bne .L2924 +.L2923: + adrp x19, .LC168 + add x19, x19, :lo12:.LC168 + mov w23, 65535 + adrp x22, .LANCHOR9 +.L2925: + mov w0, 1 + bl ftl_alloc_sblk + and w21, w0, 65535 + cmp w21, w23 + beq .L2925 + mov w1, 0 + mov w0, w21 + bl ftl_erase_sblk + add x14, x20, :lo12:.LANCHOR110 + ldr x1, [x20, #:lo12:.LANCHOR110] + mov w0, w21 + add x1, x1, 672 + bl ftl_get_blk_list_in_sblk + tst w0, 65535 + bne .L2926 + mov w1, w21 + mov x0, x19 + bl printf + ldr x0, [x22, #:lo12:.LANCHOR9] + add x21, x0, x21, uxth 2 + ldrb w0, [x21, 2] + orr w0, w0, -32 + strb w0, [x21, 2] + b .L2925 +.L2926: + ldr x0, [x14] + adrp x1, .LANCHOR204 + mov w2, 1 + mov w19, 0 + add x0, x0, 416 + str w2, [x1, #:lo12:.LANCHOR204] + mov w1, 65535 + strh wzr, [x0, 274] +.L2928: + ldrh w2, [x0] + cmp w2, w1 + beq .L2927 + add w19, w19, 1 + add x0, x0, 2 + and w19, w19, 65535 + cmp w19, 128 + bne .L2928 + adrp x1, .LANCHOR205 + adrp x0, .LC0 + mov w2, 264 + add x1, x1, :lo12:.LANCHOR205 + add x0, x0, :lo12:.LC0 + bl printf +.L2927: + ldr x0, [x20, #:lo12:.LANCHOR110] + add x19, x0, x19, sxtw 1 + ldrh w1, [x0, 688] + strh w21, [x19, 416] + add w1, w1, 1 + strh w1, [x0, 688] +.L2924: + ldr x1, [x20, #:lo12:.LANCHOR110] + ldrh w0, [x1, 690] + add x0, x0, 336 + ldrh w19, [x1, x0, lsl 1] + mov w0, 65533 + sub w1, w19, #1 + cmp w0, w1, uxth + bcs .L2930 + adrp x1, .LANCHOR205 + adrp x0, .LC0 + mov w2, 270 + add x1, x1, :lo12:.LANCHOR205 + add x0, x0, :lo12:.LC0 + bl printf +.L2930: + adrp x1, .LANCHOR31 + mov w2, 24 + ldr x0, [x20, #:lo12:.LANCHOR110] + ldrb w1, [x1, #:lo12:.LANCHOR31] + sub w2, w2, w1 + adrp x1, .LANCHOR74 + strh wzr, [x0, 696] + ldrh w1, [x1, #:lo12:.LANCHOR74] + strh w19, [x0, 692] + sub w2, w2, w1 + asr w4, w19, w2 + strh w4, [x0, 694] + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L2933 + mov w0, 1 + and w4, w4, 65535 + lsl w2, w0, w2 + mov w3, w19 + adrp x0, .LC172 + sub w2, w2, #1 + mov w1, w19 + add x0, x0, :lo12:.LC172 + bl printf +.L2933: + mov w0, 0 + ldr x23, [sp, 48] + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x29, x30, [sp], 64 + ret + .size pm_alloc_new_blk, .-pm_alloc_new_blk .section .text.pm_write_page,"ax",@progbits .align 2 .global pm_write_page @@ -17918,18 +18791,18 @@ pm_write_page: stp x19, x20, [sp, 16] mov w19, w0 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR95 + adrp x21, .LANCHOR94 stp x23, x24, [sp, 48] adrp x22, .LANCHOR111 adrp x24, .LANCHOR110 mov x23, x1 - add x21, x21, :lo12:.LANCHOR95 + add x21, x21, :lo12:.LANCHOR94 mov x20, x24 add x22, x22, :lo12:.LANCHOR111 stp x25, x26, [sp, 64] str x27, [sp, 80] mov w25, 65535 -.L2875: +.L2941: ldr x0, [x24, #:lo12:.LANCHOR110] ldr w1, [x0, 48] ldrh w2, [x0, 696] @@ -17937,26 +18810,26 @@ pm_write_page: str w1, [x0, 48] ldrh w1, [x21] cmp w2, w1 - bcs .L2876 + bcs .L2942 ldrh w0, [x0, 692] cmp w0, w25 - bne .L2877 -.L2876: + bne .L2943 +.L2942: bl pm_alloc_new_blk mov w0, 0 bl ftl_info_flush -.L2877: +.L2943: ldr x0, [x20, #:lo12:.LANCHOR110] ldrh w0, [x0, 692] cmp w0, w25 - bne .L2878 + bne .L2944 adrp x1, .LANCHOR206 adrp x0, .LC0 mov w2, 303 add x1, x1, :lo12:.LANCHOR206 add x0, x0, :lo12:.LC0 bl printf -.L2878: +.L2944: ldr x0, [x20, #:lo12:.LANCHOR110] adrp x27, .LANCHOR207 ldrh w1, [x22] @@ -17991,27 +18864,27 @@ pm_write_page: strh w1, [x2, 696] cmp w1, 1 adrp x1, .LANCHOR208 - beq .L2879 + beq .L2945 ldrb w3, [x1, #:lo12:.LANCHOR208] - cbz w3, .L2880 -.L2879: + cbz w3, .L2946 +.L2945: strb wzr, [x1, #:lo12:.LANCHOR208] - b .L2875 -.L2880: + b .L2941 +.L2946: cmn w0, #1 - bne .L2882 + bne .L2948 mov w1, w26 - adrp x0, .LC165 - add x0, x0, :lo12:.LC165 + adrp x0, .LC173 + add x0, x0, :lo12:.LC173 bl printf - b .L2875 -.L2882: + b .L2941 +.L2948: ldrh w0, [x2, 698] cmp w19, w0 - bcs .L2883 + bcs .L2949 add x19, x2, x19, uxtw 2 str w26, [x19, 704] -.L2883: +.L2949: mov w0, 0 ldr x27, [sp, 80] ldp x19, x20, [sp, 16] @@ -18021,363 +18894,55 @@ pm_write_page: ldp x29, x30, [sp], 96 ret .size pm_write_page, .-pm_write_page - .section .text.ftl_dump_write_open_sblk,"ax",@progbits - .align 2 - .global ftl_dump_write_open_sblk - .type ftl_dump_write_open_sblk, %function -ftl_dump_write_open_sblk: - sub sp, sp, #224 - stp x29, x30, [sp, 48] - add x29, sp, 48 - stp x19, x20, [sp, 64] - and w20, w0, 65535 - adrp x0, .LANCHOR6 - stp x21, x22, [sp, 80] - stp x23, x24, [sp, 96] - ldrh w0, [x0, #:lo12:.LANCHOR6] - stp x25, x26, [sp, 112] - stp x27, x28, [sp, 128] - cmp w0, w20 - bls .L2888 - adrp x0, .LANCHOR84 - str x0, [x29, 120] - ldrb w1, [x0, #:lo12:.LANCHOR84] - cbnz w1, .L2890 - adrp x0, .LANCHOR81 - ldrb w0, [x0, #:lo12:.LANCHOR81] - cbz w0, .L2888 -.L2890: - adrp x0, .LANCHOR36 - ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L2888 - adrp x0, .LANCHOR7 - ubfiz x14, x20, 2, 16 - mov x15, x0 - ldr x1, [x0, #:lo12:.LANCHOR7] - add x1, x1, x14 - ldrb w1, [x1, 2] - and w1, w1, 224 - cmp w1, 160 - bne .L2912 - adrp x0, .LANCHOR79 - ldrb w25, [x0, #:lo12:.LANCHOR79] -.L2891: - add x21, x29, 176 - adrp x23, .LANCHOR95 - mov w0, w20 - adrp x26, .LANCHOR111 - add x26, x26, :lo12:.LANCHOR111 - mov w27, 0 - strh w20, [x21, -32]! - mov w28, 0 - add x1, x21, 16 - bl ftl_get_blk_list_in_sblk - ldrh w1, [x23, #:lo12:.LANCHOR95] - and w0, w0, 255 - strb w0, [x29, 153] - strb wzr, [x29, 149] - strh wzr, [x29, 146] - mul w0, w0, w1 - strh wzr, [x29, 154] - strh w0, [x29, 150] - ldr x0, [x15, #:lo12:.LANCHOR7] - add x1, x0, x14 - ldr w5, [x0, x14] - ldrb w2, [x1, 2] - mov w1, w20 - ldrh w4, [x0, x14] - adrp x0, .LC166 - ubfx x5, x5, 11, 8 - add x0, x0, :lo12:.LC166 - ubfx x3, x2, 3, 2 - and w4, w4, 2047 - ubfx x2, x2, 5, 3 - bl printf - mov w0, 1 - bl buf_alloc - mov x19, x0 - mov w10, 0 - add x0, x23, :lo12:.LANCHOR95 - str x0, [x29, 128] -.L2892: - ldr x0, [x29, 128] - ldrh w0, [x0] - cmp w0, w27 - bls .L2900 - lsl w22, w27, 1 - mov w28, 0 - sub w0, w22, #1 - add w22, w22, w27 - str w0, [x29, 140] - sub w22, w22, #1 - adrp x0, .LC167 - add x0, x0, :lo12:.LC167 - str x0, [x29, 112] - b .L2903 -.L2912: - mov w25, 1 - b .L2891 -.L2901: - ldrh w12, [x21, x24] - mov w0, 65535 - cmp w12, w0 - bne .L2893 -.L2899: - add w10, w10, 1 - and w10, w10, 65535 -.L2894: - cmp w25, w10 - bcs .L2901 - add w11, w28, 1 - and w28, w11, 65535 -.L2903: - ldrb w0, [x29, 153] - cmp w0, w28 - bls .L2902 - sxtw x24, w28 - mov w10, 1 - add x24, x24, 8 - lsl x24, x24, 1 - b .L2894 -.L2893: - ldrh w3, [x26] - cmp w25, 3 - mul w3, w3, w12 - add w0, w3, w10 - bne .L2895 - adrp x1, .LANCHOR37 - ldrb w1, [x1, #:lo12:.LANCHOR37] - cbz w1, .L2896 - adrp x1, .LANCHOR79 - add w0, w0, w22 - ldrb w3, [x1, #:lo12:.LANCHOR79] -.L2926: - orr w3, w0, w3, lsl 24 - b .L2897 -.L2896: - add w3, w27, w3 - orr w3, w3, w10, lsl 24 -.L2897: - str w3, [x19, 40] - mov w1, 1 - stp w10, w12, [x29, 104] - mov x0, x19 - str w3, [x29, 136] - bl sblk_read_page - ldr w13, [x19, 52] - ldp w10, w12, [x29, 104] - cmp w13, 512 - ccmn w13, #1, 4, ne - ldr w3, [x29, 136] - bne .L2899 - ldr x1, [x19, 24] - mov w4, w13 - ldr x0, [x19, 8] - str w10, [x29, 108] - str w13, [x29, 136] - ldr w2, [x1, 12] - str w2, [sp, 32] - ldr w2, [x1, 8] - str w2, [sp, 24] - ldr w2, [x1, 4] - str w2, [sp, 16] - mov w2, w27 - ldr w1, [x1] - str w1, [sp, 8] - ldr w1, [x0, 12] - str w1, [sp] - mov w1, w12 - ldp w5, w6, [x0] - ldr w7, [x0, 8] - ldr x0, [x29, 112] - bl printf - ldr w13, [x29, 136] - ldr w10, [x29, 108] - cmp w13, 512 - bne .L2899 -.L2900: - mov w4, w10 - mov w3, w28 - mov w2, w27 - mov w1, w20 - adrp x24, .LANCHOR131 - adrp x0, .LC168 - add x0, x0, :lo12:.LC168 - bl printf - ldr x0, [x19, 8] - mov w1, 0 - ldrb w2, [x24, #:lo12:.LANCHOR131] - adrp x25, .LANCHOR14 - adrp x26, .LC169 - add x25, x25, :lo12:.LANCHOR14 - add x26, x26, :lo12:.LC169 - lsl w2, w2, 9 - bl ftl_memset - ldr x0, [x19, 24] - mov w1, 0 - ldrb w2, [x24, #:lo12:.LANCHOR131] - lsl w2, w2, 1 - bl ftl_memset -.L2904: - ldrh w0, [x23, #:lo12:.LANCHOR95] - cmp w0, w27 - bls .L2910 - lsl w0, w27, 1 - str w0, [x29, 140] - ldr x0, [x29, 120] - mov w22, 0 - add x28, x0, :lo12:.LANCHOR84 - b .L2911 -.L2895: - cmp w25, 2 - bne .L2898 - adrp x1, .LANCHOR79 - ldrb w3, [x1, #:lo12:.LANCHOR79] - ldr w1, [x29, 140] - add w0, w1, w0 - b .L2926 -.L2898: - add w3, w27, w3 - b .L2897 -.L2902: - add w8, w27, 1 - and w27, w8, 65535 - b .L2892 -.L2909: - ldr w0, [x25] - tbz x0, 12, .L2905 - mov w2, w22 - mov w1, w27 - mov x0, x26 - bl printf -.L2905: - ldrb w1, [x28] - adrp x2, .LANCHOR111 - sxtw x0, w22 - cbz w1, .L2906 - add x0, x0, 8 - ldrh w1, [x2, #:lo12:.LANCHOR111] - ldrh w0, [x21, x0, lsl 1] - mul w0, w0, w1 - orr w0, w0, w27 - str w0, [x19, 40] - mov x0, x19 - bl sblk_3d_tlc_dump_prog -.L2907: - add w22, w22, 1 - and w22, w22, 65535 -.L2911: - ldrb w0, [x29, 153] - cmp w0, w22 - bhi .L2909 - add w8, w27, 1 - and w27, w8, 65535 - b .L2904 -.L2906: - adrp x1, .LANCHOR79 - add x0, x0, 8 - ldrb w1, [x1, #:lo12:.LANCHOR79] - cmp w1, 2 - bne .L2908 - ldrh w1, [x2, #:lo12:.LANCHOR111] - ldrh w0, [x21, x0, lsl 1] - mul w0, w0, w1 - ldr w1, [x29, 140] - orr w0, w0, w1 - orr w0, w0, 33554432 - str w0, [x19, 40] - mov x0, x19 - bl sblk_mlc_dump_prog - b .L2907 -.L2908: - ldrh w1, [x21, x0, lsl 1] - mov w6, 1 - ldrh w0, [x2, #:lo12:.LANCHOR111] - mov w5, 0 - ldrb w4, [x24, #:lo12:.LANCHOR131] - ldr x3, [x19, 24] - mul w1, w1, w0 - adrp x0, .LANCHOR32 - ldrb w2, [x0, #:lo12:.LANCHOR32] - mov w0, 24 - orr w1, w1, w27 - str w1, [x19, 40] - sub w0, w0, w2 - lsl w6, w6, w2 - ldr x2, [x19, 8] - sub w6, w6, #1 - lsl w7, w6, w0 - lsr w0, w1, w0 - bic w1, w1, w7 - and w0, w0, w6 - bl flash_prog_page_en - b .L2907 -.L2910: - mov x0, x19 - bl zbuf_free - adrp x0, .LC170 - mov w1, w20 - add x0, x0, :lo12:.LC170 - bl printf -.L2888: - ldp x19, x20, [sp, 64] - ldp x21, x22, [sp, 80] - ldp x23, x24, [sp, 96] - ldp x25, x26, [sp, 112] - ldp x27, x28, [sp, 128] - ldp x29, x30, [sp, 48] - add sp, sp, 224 - ret - .size ftl_dump_write_open_sblk, .-ftl_dump_write_open_sblk .section .text.flash_info_flush,"ax",@progbits .align 2 .global flash_info_flush .type flash_info_flush, %function flash_info_flush: stp x29, x30, [sp, -112]! - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR19 add x29, sp, 0 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] - tbz x0, 12, .L2928 + tbz x0, 12, .L2955 adrp x2, .LANCHOR209 - adrp x0, .LC97 + adrp x0, .LC94 add x2, x2, :lo12:.LANCHOR209 - mov w1, 364 - add x0, x0, :lo12:.LC97 + mov w1, 365 + add x0, x0, :lo12:.LC94 bl printf -.L2928: +.L2955: adrp x23, .LANCHOR210 - adrp x20, .LANCHOR27 + adrp x20, .LANCHOR6 mov w2, 64 mov w1, 0 ldr x0, [x23, #:lo12:.LANCHOR210] adrp x21, .LANCHOR211 adrp x22, .LANCHOR2 - adrp x24, .LC172 - adrp x25, .LANCHOR147 + adrp x24, .LC175 + adrp x25, .LANCHOR144 add x22, x22, :lo12:.LANCHOR2 - add x24, x24, :lo12:.LC172 - add x25, x25, :lo12:.LANCHOR147 + add x24, x24, :lo12:.LC175 + add x25, x25, :lo12:.LANCHOR144 bl ftl_memset add x27, x21, :lo12:.LANCHOR211 - ldr x1, [x20, #:lo12:.LANCHOR27] + ldr x1, [x20, #:lo12:.LANCHOR6] mov w3, 16 mov w2, 4 - adrp x0, .LC171 - add x0, x0, :lo12:.LC171 + adrp x0, .LC174 + add x0, x0, :lo12:.LC174 mov w26, 0 bl rknand_print_hex - ldr x6, [x20, #:lo12:.LANCHOR27] + ldr x6, [x20, #:lo12:.LANCHOR6] add x0, x6, 16 ldr w1, [x6, 8] bl js_hash str w0, [x6, 12] -.L2929: +.L2956: add x28, x21, :lo12:.LANCHOR211 ldrb w4, [x21, #:lo12:.LANCHOR211] ldrh w19, [x22] @@ -18392,8 +18957,8 @@ flash_info_flush: sub w0, w0, #1 cmp w1, w0 ldp w3, w4, [x29, 104] - blt .L2930 - ldr x6, [x20, #:lo12:.LANCHOR27] + blt .L2957 + ldr x6, [x20, #:lo12:.LANCHOR6] ldrb w7, [x28, 1] strh wzr, [x28, 2] ldr w0, [x6, 4] @@ -18411,19 +18976,19 @@ flash_info_flush: ldrh w19, [x22] str w0, [x6, 12] mul w19, w19, w7 -.L2939: +.L2966: mov w1, w19 mov w0, 0 bl flash_erase_block - b .L2931 -.L2934: + b .L2958 +.L2961: mov w26, 1 - b .L2929 -.L2930: + b .L2956 +.L2957: madd w19, w19, w4, w3 - cbz w1, .L2939 -.L2931: - ldr x2, [x20, #:lo12:.LANCHOR27] + cbz w1, .L2966 +.L2958: + ldr x2, [x20, #:lo12:.LANCHOR6] mov w1, w19 ldr x3, [x23, #:lo12:.LANCHOR210] mov w5, 1 @@ -18439,14 +19004,14 @@ flash_info_flush: ldrh w1, [x27, 2] add w1, w1, 1 strh w1, [x27, 2] - bne .L2932 + bne .L2959 mov w1, w19 - adrp x0, .LC173 - add x0, x0, :lo12:.LC173 + adrp x0, .LC176 + add x0, x0, :lo12:.LC176 bl printf - b .L2929 -.L2932: - cbz w26, .L2934 + b .L2956 +.L2959: + cbz w26, .L2961 ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -18462,59 +19027,59 @@ flash_info_flush: .type flash_info_blk_init, %function flash_info_blk_init: stp x29, x30, [sp, -96]! - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR19 add x29, sp, 0 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] stp x19, x20, [sp, 16] - adrp x20, .LANCHOR27 + adrp x20, .LANCHOR6 stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] str x27, [sp, 80] - tbz x0, 12, .L2941 - ldr x4, [x20, #:lo12:.LANCHOR27] + tbz x0, 12, .L2968 + ldr x4, [x20, #:lo12:.LANCHOR6] adrp x2, .LANCHOR212 - adrp x0, .LC174 + adrp x0, .LC177 mov w3, 2048 add x2, x2, :lo12:.LANCHOR212 - mov w1, 49 - add x0, x0, :lo12:.LC174 + mov w1, 50 + add x0, x0, :lo12:.LC177 bl printf -.L2941: +.L2968: adrp x24, .LANCHOR2 mov w23, 21321 add x26, x24, :lo12:.LANCHOR2 mov w22, 4 adrp x21, .LANCHOR210 movk w23, 0x5359, lsl 16 -.L2945: +.L2972: mov w19, 0 -.L2944: +.L2971: ldrh w1, [x26] mov w4, 4 ldr x3, [x21, #:lo12:.LANCHOR210] mov w0, 0 - ldr x2, [x20, #:lo12:.LANCHOR27] + ldr x2, [x20, #:lo12:.LANCHOR6] add x27, x21, :lo12:.LANCHOR210 - add x25, x20, :lo12:.LANCHOR27 + add x25, x20, :lo12:.LANCHOR6 madd w1, w1, w22, w19 bl flash_read_page_en cmn w0, #1 - beq .L2942 - ldr x2, [x20, #:lo12:.LANCHOR27] + beq .L2969 + ldr x2, [x20, #:lo12:.LANCHOR6] ldr w0, [x2] cmp w0, w23 - beq .L2943 -.L2942: + beq .L2970 +.L2969: add w19, w19, 1 cmp w19, 4 - bne .L2944 + bne .L2971 add w22, w22, 1 cmp w22, 16 - bne .L2945 -.L2971: + bne .L2972 +.L2998: mov w0, -1 -.L2940: +.L2967: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -18522,43 +19087,43 @@ flash_info_blk_init: ldr x27, [sp, 80] ldp x29, x30, [sp], 96 ret -.L2953: +.L2980: ldr x0, [x25] ldr w1, [x0] cmp w1, w23 - bne .L2954 + bne .L2981 ldr w22, [x0, 4] -.L2947: +.L2974: add x23, x19, :lo12:.LANCHOR211 ldrh w0, [x24, #:lo12:.LANCHOR2] ldr x3, [x21, #:lo12:.LANCHOR210] mov w4, 4 - ldr x2, [x20, #:lo12:.LANCHOR27] + ldr x2, [x20, #:lo12:.LANCHOR6] ldrb w1, [x23, 1] mul w1, w1, w0 mov w0, 0 bl flash_read_page_en cmn w0, #1 - beq .L2948 - ldr x0, [x20, #:lo12:.LANCHOR27] + beq .L2975 + ldr x0, [x20, #:lo12:.LANCHOR6] mov w1, 21321 movk w1, 0x5359, lsl 16 ldr w2, [x0] cmp w2, w1 - bne .L2948 + bne .L2975 ldr w1, [x0, 4] cmp w22, w1 - bcs .L2948 + bcs .L2975 ldrb w1, [x0, 37] ldrb w0, [x0, 36] strb w1, [x19, #:lo12:.LANCHOR211] strb w0, [x23, 1] -.L2948: +.L2975: ldrb w1, [x19, #:lo12:.LANCHOR211] add x22, x19, :lo12:.LANCHOR211 ldr x3, [x21, #:lo12:.LANCHOR210] mov w4, 4 - ldr x2, [x20, #:lo12:.LANCHOR27] + ldr x2, [x20, #:lo12:.LANCHOR6] mov w0, 0 bl flash_get_last_written_page and w25, w0, 65535 @@ -18571,42 +19136,42 @@ flash_info_blk_init: movk w24, 0x5359, lsl 16 mul w23, w23, w1 add w23, w23, w0, sxth -.L2949: +.L2976: sub w0, w25, w22 sxth w19, w0 - tbz w19, #31, .L2952 + tbz w19, #31, .L2979 cmn w19, #1 - bne .L2951 - ldr x0, [x20, #:lo12:.LANCHOR27] + bne .L2978 + ldr x0, [x20, #:lo12:.LANCHOR6] ldr w1, [x0] - adrp x0, .LC175 - add x0, x0, :lo12:.LC175 + adrp x0, .LC178 + add x0, x0, :lo12:.LC178 bl printf - b .L2971 -.L2952: + b .L2998 +.L2979: ldr x3, [x21, #:lo12:.LANCHOR210] mov w4, 4 - ldr x2, [x20, #:lo12:.LANCHOR27] + ldr x2, [x20, #:lo12:.LANCHOR6] sub w1, w23, w22 mov w0, 0 bl flash_read_page_en cmn w0, #1 - beq .L2950 - ldr x0, [x20, #:lo12:.LANCHOR27] + beq .L2977 + ldr x0, [x20, #:lo12:.LANCHOR6] ldr w0, [x0] cmp w0, w24 - beq .L2951 -.L2950: + beq .L2978 +.L2977: add w22, w22, 1 - b .L2949 -.L2951: + b .L2976 +.L2978: cmp w22, 1 - bls .L2955 + bls .L2982 bl flash_info_flush -.L2955: +.L2982: mov w0, 0 - b .L2940 -.L2943: + b .L2967 +.L2970: adrp x19, .LANCHOR211 add x1, x19, :lo12:.LANCHOR211 ldrb w3, [x2, 37] @@ -18620,10 +19185,10 @@ flash_info_blk_init: mov w0, 0 bl flash_read_page_en cmn w0, #1 - bne .L2953 -.L2954: + bne .L2980 +.L2981: mov w22, 0 - b .L2947 + b .L2974 .size flash_info_blk_init, .-flash_info_blk_init .section .text.nand_flash_init,"ax",@progbits .align 2 @@ -18633,64 +19198,64 @@ nand_flash_init: stp x29, x30, [sp, -96]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR14 + adrp x21, .LANCHOR19 stp x19, x20, [sp, 16] mov x19, x0 - ldr w0, [x21, #:lo12:.LANCHOR14] + ldr w0, [x21, #:lo12:.LANCHOR19] stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] str x27, [sp, 80] - tbz x0, 12, .L2973 + tbz x0, 12, .L3000 adrp x2, .LANCHOR213 - adrp x0, .LC97 + adrp x0, .LC94 add x2, x2, :lo12:.LANCHOR213 - mov w1, 3429 - add x0, x0, :lo12:.LC97 + mov w1, 3451 + add x0, x0, :lo12:.LC94 bl printf -.L2973: - adrp x0, .LANCHOR172 - adrp x24, .LANCHOR16 - adrp x22, .LANCHOR48 - add x25, x22, :lo12:.LANCHOR48 - str wzr, [x0, #:lo12:.LANCHOR172] +.L3000: + adrp x0, .LANCHOR169 + adrp x24, .LANCHOR21 + adrp x22, .LANCHOR47 + add x25, x22, :lo12:.LANCHOR47 + str wzr, [x0, #:lo12:.LANCHOR169] mov x0, x19 bl nandc_init - adrp x19, .LANCHOR33 - add x0, x19, :lo12:.LANCHOR33 - str x0, [x24, #:lo12:.LANCHOR16] - adrp x0, .LANCHOR18 - adrp x23, .LANCHOR32 + adrp x19, .LANCHOR32 + add x0, x19, :lo12:.LANCHOR32 + str x0, [x24, #:lo12:.LANCHOR21] + adrp x0, .LANCHOR23 + adrp x23, .LANCHOR31 mov x26, x25 mov w1, 1 mov w20, 0 - strb w1, [x0, #:lo12:.LANCHOR18] + strb w1, [x0, #:lo12:.LANCHOR23] mov w27, 44 mov w0, 3 mov w2, 8 - strb w0, [x23, #:lo12:.LANCHOR32] + strb w0, [x23, #:lo12:.LANCHOR31] mov w1, 0 - adrp x0, .LANCHOR30 - add x0, x0, :lo12:.LANCHOR30 + adrp x0, .LANCHOR29 + add x0, x0, :lo12:.LANCHOR29 bl ftl_memset mov w2, 32 mov w1, 0 - adrp x0, .LANCHOR148 - add x0, x0, :lo12:.LANCHOR148 + adrp x0, .LANCHOR145 + add x0, x0, :lo12:.LANCHOR145 bl ftl_memset -.L2979: +.L3006: mov x1, x25 mov w0, w20 bl flash_read_id - cbnz w20, .L2974 + cbnz w20, .L3001 ldrb w0, [x26] sub w0, w0, #1 and w0, w0, 255 cmp w0, 253 - bls .L2975 -.L2977: - mov w8, -2 -.L2972: - mov w0, w8 + bls .L3002 +.L3004: + mov w22, -2 +.L2999: + mov w0, w22 ldr x27, [sp, 80] ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -18698,35 +19263,35 @@ nand_flash_init: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 96 ret -.L2975: +.L3002: ldrb w0, [x26, 1] cmp w0, 255 - beq .L2977 -.L2974: + beq .L3004 +.L3001: ldrb w0, [x25] cmp w0, 181 - bne .L2978 + bne .L3005 strb w27, [x25] -.L2978: +.L3005: add w20, w20, 1 add x25, x25, 8 and w20, w20, 255 cmp w20, 4 - bne .L2979 + bne .L3006 adrp x0, .LANCHOR214 add x8, x0, :lo12:.LANCHOR214 add x8, x8, 1 mov x7, x0 - add x12, x22, :lo12:.LANCHOR48 + add x12, x22, :lo12:.LANCHOR47 mov x10, 0 -.L2982: +.L3009: ldrb w2, [x8, -1] mov w11, w10 lsl x25, x10, 5 mov x1, x12 mov x0, x8 bl flash_mem_cmp8 - cbnz w0, .L2980 + cbnz w0, .L3007 add x0, x7, :lo12:.LANCHOR214 ubfiz x11, x11, 5, 32 add x25, x0, x25 @@ -18735,77 +19300,77 @@ nand_flash_init: add x4, x1, :lo12:.LANCHOR215 ldrb w3, [x0, 22] mov x0, 0 -.L2981: +.L3008: lsl x5, x0, 5 mov w2, w0 ldrb w5, [x5, x4] cmp w5, w3 - beq .L2983 + beq .L3010 add x0, x0, 1 cmp x0, 4 - bne .L2981 + bne .L3008 mov w2, w0 -.L2983: +.L3010: ubfiz x0, x2, 5, 32 add x1, x1, :lo12:.LANCHOR215 add x1, x1, x0 mov w2, 32 - adrp x0, .LANCHOR20 - add x20, x19, :lo12:.LANCHOR33 - add x0, x0, :lo12:.LANCHOR20 - adrp x26, .LANCHOR28 + adrp x0, .LANCHOR25 + add x20, x19, :lo12:.LANCHOR32 + add x0, x0, :lo12:.LANCHOR25 + adrp x26, .LANCHOR27 bl ftl_memcpy mov w2, 32 mov x1, x25 mov x0, x20 bl ftl_memcpy - ldrb w0, [x26, #:lo12:.LANCHOR28] + ldrb w0, [x26, #:lo12:.LANCHOR27] cmp w0, 8 - bhi .L2984 + bhi .L3011 ldrb w0, [x20, 20] cmp w0, 60 - bls .L2984 + bls .L3011 mov w0, 60 strb w0, [x20, 20] -.L2984: - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L3014 +.L3011: + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L3041 adrp x2, .LANCHOR213 - adrp x0, .LC97 + adrp x0, .LC94 add x2, x2, :lo12:.LANCHOR213 - mov w1, 3456 - add x0, x0, :lo12:.LC97 + mov w1, 3478 + add x0, x0, :lo12:.LC94 bl printf -.L3014: - ldr x0, [x24, #:lo12:.LANCHOR16] +.L3041: + ldr x0, [x24, #:lo12:.LANCHOR21] ldrh w0, [x0, 10] cmp w0, 1023 - bls .L2985 + bls .L3012 mov w0, 2 - strb w0, [x23, #:lo12:.LANCHOR32] -.L2985: + strb w0, [x23, #:lo12:.LANCHOR31] +.L3012: mov w0, 16384 bl ftl_malloc - adrp x1, .LANCHOR176 - adrp x23, .LANCHOR27 - add x20, x19, :lo12:.LANCHOR33 - adrp x25, .LANCHOR49 - str x0, [x1, #:lo12:.LANCHOR176] + adrp x1, .LANCHOR173 + adrp x23, .LANCHOR6 + add x20, x19, :lo12:.LANCHOR32 + adrp x25, .LANCHOR48 + str x0, [x1, #:lo12:.LANCHOR173] mov w0, 16384 bl ftl_malloc - adrp x1, .LANCHOR166 - str x0, [x1, #:lo12:.LANCHOR166] + adrp x1, .LANCHOR163 + str x0, [x1, #:lo12:.LANCHOR163] mov w0, 2048 bl ftl_malloc - str x0, [x23, #:lo12:.LANCHOR27] + str x0, [x23, #:lo12:.LANCHOR6] mov w0, 64 bl ftl_malloc - adrp x1, .LANCHOR175 - str x0, [x1, #:lo12:.LANCHOR175] + adrp x1, .LANCHOR172 + str x0, [x1, #:lo12:.LANCHOR172] mov w0, 64 bl ftl_malloc - adrp x1, .LANCHOR168 - str x0, [x1, #:lo12:.LANCHOR168] + adrp x1, .LANCHOR165 + str x0, [x1, #:lo12:.LANCHOR165] mov w0, 64 bl ftl_malloc adrp x1, .LANCHOR210 @@ -18816,28 +19381,28 @@ nand_flash_init: ldrb w0, [x20, 18] bl flash_lsb_page_tbl_build ldrb w0, [x20, 20] - adrp x20, .LANCHOR174 + adrp x20, .LANCHOR171 bl nandc_bch_sel - str xzr, [x20, #:lo12:.LANCHOR174] - ldr x2, [x24, #:lo12:.LANCHOR16] + str xzr, [x20, #:lo12:.LANCHOR171] + ldr x2, [x24, #:lo12:.LANCHOR21] ldrh w0, [x2, 16] ubfx x1, x0, 8, 3 - strb w1, [x25, #:lo12:.LANCHOR49] - adrp x1, .LANCHOR186 + strb w1, [x25, #:lo12:.LANCHOR48] + adrp x1, .LANCHOR183 ubfx x3, x0, 3, 1 - strb w3, [x1, #:lo12:.LANCHOR186] - adrp x1, .LANCHOR45 + strb w3, [x1, #:lo12:.LANCHOR183] + adrp x1, .LANCHOR44 ubfx x3, x0, 4, 1 - strb w3, [x1, #:lo12:.LANCHOR45] - adrp x1, .LANCHOR84 + strb w3, [x1, #:lo12:.LANCHOR44] + adrp x1, .LANCHOR83 ubfx x3, x0, 12, 1 - strb w3, [x1, #:lo12:.LANCHOR84] - adrp x1, .LANCHOR81 + strb w3, [x1, #:lo12:.LANCHOR83] + adrp x1, .LANCHOR80 ubfx x3, x0, 13, 1 - strb w3, [x1, #:lo12:.LANCHOR81] - adrp x1, .LANCHOR36 + strb w3, [x1, #:lo12:.LANCHOR80] + adrp x1, .LANCHOR35 ubfx x3, x0, 11, 1 - strb w3, [x1, #:lo12:.LANCHOR36] + strb w3, [x1, #:lo12:.LANCHOR35] adrp x3, .LANCHOR124 ldrb w1, [x2, 31] ldrb w2, [x2, 28] @@ -18850,227 +19415,227 @@ nand_flash_init: ubfx x4, x0, 14, 1 lsr w0, w0, 15 strb w4, [x3, #:lo12:.LANCHOR1] - adrp x3, .LANCHOR82 - strb w0, [x3, #:lo12:.LANCHOR82] + adrp x3, .LANCHOR81 + strb w0, [x3, #:lo12:.LANCHOR81] adrp x0, .LANCHOR0 ubfx x3, x1, 3, 1 ubfx x1, x1, 4, 1 strb w2, [x0, #:lo12:.LANCHOR0] - adrp x0, .LANCHOR31 - strb w3, [x0, #:lo12:.LANCHOR31] - adrp x0, .LANCHOR37 - strb w1, [x0, #:lo12:.LANCHOR37] - adrp x1, .LANCHOR17 + adrp x0, .LANCHOR30 + strb w3, [x0, #:lo12:.LANCHOR30] + adrp x0, .LANCHOR36 + strb w1, [x0, #:lo12:.LANCHOR36] + adrp x1, .LANCHOR22 mov w0, 60 - strb w0, [x1, #:lo12:.LANCHOR17] - ldrb w0, [x26, #:lo12:.LANCHOR28] + strb w0, [x1, #:lo12:.LANCHOR22] + ldrb w0, [x26, #:lo12:.LANCHOR27] cmp w0, 9 - bne .L2986 + bne .L3013 mov w3, 70 - strb w3, [x1, #:lo12:.LANCHOR17] -.L2986: - add x1, x19, :lo12:.LANCHOR33 - adrp x24, .LANCHOR19 - strb w2, [x24, #:lo12:.LANCHOR19] + strb w3, [x1, #:lo12:.LANCHOR22] +.L3013: + add x1, x19, :lo12:.LANCHOR32 + adrp x24, .LANCHOR24 + strb w2, [x24, #:lo12:.LANCHOR24] ldrb w2, [x1, 31] - tbz x2, 0, .L2987 + tbz x2, 0, .L3014 ldrb w1, [x1, 29] - cbz w1, .L2988 + cbz w1, .L3015 mov w1, 2 -.L3046: - strb w1, [x24, #:lo12:.LANCHOR19] -.L2987: +.L3073: + strb w1, [x24, #:lo12:.LANCHOR24] +.L3014: cmp w0, 8 - bne .L2989 - ldrb w0, [x22, #:lo12:.LANCHOR48] + bne .L3016 + ldrb w0, [x22, #:lo12:.LANCHOR47] mov w1, 137 cmp w0, 44 ccmp w0, w1, 4, ne - bne .L2989 - add x0, x19, :lo12:.LANCHOR33 + bne .L3016 + add x0, x19, :lo12:.LANCHOR32 ldrb w0, [x0, 28] cmp w0, 3 - bne .L2989 - strb wzr, [x24, #:lo12:.LANCHOR19] -.L2989: + bne .L3016 + strb wzr, [x24, #:lo12:.LANCHOR24] +.L3016: bl nand_flash_exit_boot_rom_slc_mode - adrp x27, .LANCHOR24 - add x1, x19, :lo12:.LANCHOR33 + adrp x27, .LANCHOR16 + add x1, x19, :lo12:.LANCHOR32 ldrb w0, [x1, 19] ldrh w1, [x1, 16] - strb w0, [x27, #:lo12:.LANCHOR24] - tbz x1, 6, .L2991 + strb w0, [x27, #:lo12:.LANCHOR16] + tbz x1, 6, .L3018 sub w1, w0, #17 and w1, w1, 255 cmp w1, 2 ccmp w0, 21, 4, hi - bne .L2992 + bne .L3019 adrp x1, micron_read_retrial add x1, x1, :lo12:micron_read_retrial - str x1, [x20, #:lo12:.LANCHOR174] + str x1, [x20, #:lo12:.LANCHOR171] cmp w0, 21 - adrp x0, .LANCHOR169 - beq .L2993 + adrp x0, .LANCHOR166 + beq .L3020 mov w1, 15 -.L3048: - strb w1, [x0, #:lo12:.LANCHOR169] -.L2991: - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L3002 +.L3075: + strb w1, [x0, #:lo12:.LANCHOR166] +.L3018: + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L3029 adrp x2, .LANCHOR213 - adrp x0, .LC97 + adrp x0, .LC94 add x2, x2, :lo12:.LANCHOR213 - mov w1, 3549 - add x0, x0, :lo12:.LC97 + mov w1, 3571 + add x0, x0, :lo12:.LC94 bl printf -.L3002: - adrp x26, .LANCHOR21 - ldrb w0, [x25, #:lo12:.LANCHOR49] - strb wzr, [x26, #:lo12:.LANCHOR21] - tbz x0, 0, .L3003 - ldrb w0, [x22, #:lo12:.LANCHOR48] +.L3029: + adrp x26, .LANCHOR26 + ldrb w0, [x25, #:lo12:.LANCHOR48] + strb wzr, [x26, #:lo12:.LANCHOR26] + tbz x0, 0, .L3030 + ldrb w0, [x22, #:lo12:.LANCHOR47] cmp w0, 155 - beq .L3004 + beq .L3031 mov w0, 4 bl flash_set_interface_mode mov w0, 4 bl nandc_set_if_mode -.L3004: +.L3031: mov w0, 1 bl flash_set_interface_mode mov w0, 1 -.L3050: +.L3077: bl nandc_set_if_mode bl flash_info_blk_init - mov w8, w0 + mov w22, w0 cmn w0, #1 - bne .L3006 - ldr x0, [x23, #:lo12:.LANCHOR27] + bne .L3033 + ldr x0, [x23, #:lo12:.LANCHOR6] mov w1, 17 strb w1, [x0, 32] - adrp x0, .LANCHOR34 - strb wzr, [x0, #:lo12:.LANCHOR34] + adrp x0, .LANCHOR33 + strb wzr, [x0, #:lo12:.LANCHOR33] mov w0, 0 bl zftl_flash_exit_slc_mode - b .L2972 -.L2980: + b .L2999 +.L3007: add x10, x10, 1 add x8, x8, 32 cmp x10, 49 - bne .L2982 - b .L2977 -.L2988: + bne .L3009 + b .L3004 +.L3015: mov w1, 3 - b .L3046 -.L2993: + b .L3073 +.L3020: mov w1, 4 - b .L3048 -.L2992: + b .L3075 +.L3019: sub w1, w0, #65 cmp w0, 33 and w1, w1, 255 ccmp w1, 1, 0, ne - bhi .L2995 + bhi .L3022 adrp x0, toshiba_read_retrial add x0, x0, :lo12:toshiba_read_retrial - str x0, [x20, #:lo12:.LANCHOR174] - adrp x0, .LANCHOR26 + str x0, [x20, #:lo12:.LANCHOR171] + adrp x0, .LANCHOR18 mov w1, 4 - strb w1, [x0, #:lo12:.LANCHOR26] -.L3052: + strb w1, [x0, #:lo12:.LANCHOR18] +.L3079: mov w1, 7 -.L3051: - adrp x0, .LANCHOR169 - b .L3048 -.L2995: +.L3078: + adrp x0, .LANCHOR166 + b .L3075 +.L3022: sub w2, w0, #34 sub w1, w0, #67 and w2, w2, 255 and w1, w1, 255 cmp w2, 1 ccmp w1, 1, 0, hi - bhi .L2996 + bhi .L3023 adrp x2, toshiba_read_retrial add x2, x2, :lo12:toshiba_read_retrial - str x2, [x20, #:lo12:.LANCHOR174] + str x2, [x20, #:lo12:.LANCHOR171] cmp w0, 35 mov w2, 68 ccmp w0, w2, 4, ne - adrp x0, .LANCHOR169 - beq .L2997 + adrp x0, .LANCHOR166 + beq .L3024 mov w2, 7 -.L3047: - strb w2, [x0, #:lo12:.LANCHOR169] +.L3074: + strb w2, [x0, #:lo12:.LANCHOR166] cmp w1, 1 - adrp x0, .LANCHOR26 - bhi .L2999 + adrp x0, .LANCHOR18 + bhi .L3026 mov w1, 4 -.L3049: - strb w1, [x0, #:lo12:.LANCHOR26] - b .L2991 -.L2997: +.L3076: + strb w1, [x0, #:lo12:.LANCHOR18] + b .L3018 +.L3024: mov w2, 17 - b .L3047 -.L2999: + b .L3074 +.L3026: mov w1, 5 - b .L3049 -.L2996: + b .L3076 +.L3023: sub w1, w0, #36 and w1, w1, 255 cmp w1, 1 - bhi .L3000 + bhi .L3027 adrp x0, toshiba_3d_read_retrial add x0, x0, :lo12:toshiba_3d_read_retrial - str x0, [x20, #:lo12:.LANCHOR174] - b .L3052 -.L3000: + str x0, [x20, #:lo12:.LANCHOR171] + b .L3079 +.L3027: cmp w0, 50 - bne .L3001 + bne .L3028 adrp x0, samsung_read_retrial mov w1, 25 add x0, x0, :lo12:samsung_read_retrial - str x0, [x20, #:lo12:.LANCHOR174] - b .L3051 -.L3001: + str x0, [x20, #:lo12:.LANCHOR171] + b .L3078 +.L3028: cmp w0, 81 - bne .L2991 + bne .L3018 adrp x0, ymtc_3d_read_retrial add x0, x0, :lo12:ymtc_3d_read_retrial - str x0, [x20, #:lo12:.LANCHOR174] - adrp x0, .LANCHOR169 + str x0, [x20, #:lo12:.LANCHOR171] + adrp x0, .LANCHOR166 mov w1, 7 - strb w1, [x0, #:lo12:.LANCHOR169] - adrp x0, .LANCHOR51 - strb wzr, [x0, #:lo12:.LANCHOR51] - b .L2991 -.L3003: + strb w1, [x0, #:lo12:.LANCHOR166] + adrp x0, .LANCHOR50 + strb wzr, [x0, #:lo12:.LANCHOR50] + b .L3018 +.L3030: mov w0, 4 - b .L3050 -.L3006: - add x19, x19, :lo12:.LANCHOR33 + b .L3077 +.L3033: + add x19, x19, :lo12:.LANCHOR32 ldrb w0, [x19, 7] cmp w0, 9 - bne .L3007 - ldr x0, [x23, #:lo12:.LANCHOR27] + bne .L3034 + ldr x0, [x23, #:lo12:.LANCHOR6] ldrb w0, [x0, 20] cmp w0, 1 - beq .L3007 - strb wzr, [x24, #:lo12:.LANCHOR19] -.L3007: - ldrb w0, [x27, #:lo12:.LANCHOR24] + beq .L3034 + strb wzr, [x24, #:lo12:.LANCHOR24] +.L3034: + ldrb w0, [x27, #:lo12:.LANCHOR16] sub w0, w0, #1 and w0, w0, 255 cmp w0, 7 - bhi .L3008 + bhi .L3035 adrp x0, hynix_read_retrial add x0, x0, :lo12:hynix_read_retrial - str x0, [x20, #:lo12:.LANCHOR174] -.L3008: - ldrb w0, [x25, #:lo12:.LANCHOR49] - tbz x0, 2, .L3010 - ldr x0, [x23, #:lo12:.LANCHOR27] + str x0, [x20, #:lo12:.LANCHOR171] +.L3035: + ldrb w0, [x25, #:lo12:.LANCHOR48] + tbz x0, 2, .L3037 + ldr x0, [x23, #:lo12:.LANCHOR6] ldrb w0, [x0, 19] - cbz w0, .L3010 + cbz w0, .L3037 adrp x0, .LANCHOR211 ldrb w1, [x0, #:lo12:.LANCHOR211] adrp x0, .LANCHOR2 @@ -19078,25 +19643,25 @@ nand_flash_init: mul w1, w1, w0 mov w0, 0 bl flash_ddr_para_scan - ldrb w0, [x26, #:lo12:.LANCHOR21] - cbnz w0, .L3010 - ldr x0, [x23, #:lo12:.LANCHOR27] + ldrb w0, [x26, #:lo12:.LANCHOR26] + cbnz w0, .L3037 + ldr x0, [x23, #:lo12:.LANCHOR6] strb wzr, [x0, 19] bl flash_info_flush -.L3010: +.L3037: bl nand_flash_exit_boot_rom_slc_mode - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L3012 + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L3039 adrp x2, .LANCHOR213 - adrp x0, .LC97 + adrp x0, .LC94 add x2, x2, :lo12:.LANCHOR213 - mov w1, 3647 - add x0, x0, :lo12:.LC97 + mov w1, 3674 + add x0, x0, :lo12:.LC94 bl printf -.L3012: +.L3039: bl nand_flash_print_info - mov w8, 0 - b .L2972 + mov w22, 0 + b .L2999 .size nand_flash_init, .-nand_flash_init .section .text.ftl_sysblk_dump,"ax",@progbits .align 2 @@ -19113,37 +19678,37 @@ ftl_sysblk_dump: stp x25, x26, [sp, 112] mov w0, 1 stp x27, x28, [sp, 128] - adrp x25, .LANCHOR95 + adrp x25, .LANCHOR94 stp x21, x22, [sp, 80] bl buf_alloc ldr x28, [x0, 8] adrp x26, .LANCHOR111 adrp x27, .LANCHOR131 mov x24, x0 - add x25, x25, :lo12:.LANCHOR95 + add x25, x25, :lo12:.LANCHOR94 add x26, x26, :lo12:.LANCHOR111 add x27, x27, :lo12:.LANCHOR131 mov w19, 0 -.L3054: +.L3081: ldrh w0, [x25] cmp w0, w19 - bhi .L3056 + bhi .L3083 add x1, x28, 704 mov w3, 32 mov w2, 4 - adrp x0, .LC176 - add x0, x0, :lo12:.LC176 + adrp x0, .LC179 + add x0, x0, :lo12:.LC179 bl rknand_print_hex mov x0, x24 bl zbuf_free - cbz w20, .L3057 + cbz w20, .L3084 adrp x1, .LANCHOR218 adrp x0, .LC0 - mov w2, 1611 + mov w2, 1619 add x1, x1, :lo12:.LANCHOR218 add x0, x0, :lo12:.LC0 bl printf -.L3057: +.L3084: mov w0, w20 ldp x19, x20, [sp, 64] ldp x21, x22, [sp, 80] @@ -19153,7 +19718,7 @@ ftl_sysblk_dump: ldp x29, x30, [sp, 48] add sp, sp, 144 ret -.L3056: +.L3083: ldrh w21, [x26] ldrb w3, [x27] ldr x1, [x24, 8] @@ -19182,13 +19747,13 @@ ftl_sysblk_dump: mov w1, w23 ldp w5, w6, [x0] ldr w7, [x0, 8] - adrp x0, .LC167 - add x0, x0, :lo12:.LC167 + adrp x0, .LC160 + add x0, x0, :lo12:.LC160 bl printf cmp w22, 512 ccmn w22, #1, 4, ne csinc w20, w20, wzr, ne - b .L3054 + b .L3081 .size ftl_sysblk_dump, .-ftl_sysblk_dump .section .text.ftl_open_sblk_recovery,"ax",@progbits .align 2 @@ -19198,56 +19763,56 @@ ftl_open_sblk_recovery: stp x29, x30, [sp, -368]! add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR14 + adrp x21, .LANCHOR19 stp x19, x20, [sp, 16] mov x19, x0 - ldr w0, [x21, #:lo12:.LANCHOR14] + ldr w0, [x21, #:lo12:.LANCHOR19] stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] str x1, [x29, 144] - tbz x0, 12, .L3065 + tbz x0, 12, .L3092 ldrh w1, [x19, 2] - adrp x0, .LC177 - add x0, x0, :lo12:.LC177 - bl printf -.L3065: - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L3066 - ldrb w1, [x19, 5] - adrp x0, .LC178 - add x0, x0, :lo12:.LC178 - bl printf -.L3066: - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L3067 - ldrh w1, [x19] - adrp x0, .LC179 - add x0, x0, :lo12:.LC179 - bl printf -.L3067: - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L3068 - ldrh w2, [x19, 18] adrp x0, .LC180 - ldrh w1, [x19, 16] add x0, x0, :lo12:.LC180 bl printf -.L3068: - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 12, .L3069 - ldrb w1, [x19, 9] +.L3092: + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L3093 + ldrb w1, [x19, 5] adrp x0, .LC181 add x0, x0, :lo12:.LC181 bl printf -.L3069: +.L3093: + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L3094 + ldrh w1, [x19] + adrp x0, .LC182 + add x0, x0, :lo12:.LC182 + bl printf +.L3094: + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L3095 + ldrh w2, [x19, 18] + adrp x0, .LC183 + ldrh w1, [x19, 16] + add x0, x0, :lo12:.LC183 + bl printf +.L3095: + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 12, .L3096 + ldrb w1, [x19, 9] + adrp x0, .LC184 + add x0, x0, :lo12:.LC184 + bl printf +.L3096: ldrh w0, [x19, 10] strh w0, [x19, 14] - adrp x0, .LANCHOR6 + adrp x0, .LANCHOR8 ldrh w1, [x19] - ldrh w0, [x0, #:lo12:.LANCHOR6] + ldrh w0, [x0, #:lo12:.LANCHOR8] cmp w1, w0 - bcs .L3064 + bcs .L3091 mov w0, 1 adrp x22, .LANCHOR131 bl buf_alloc @@ -19277,101 +19842,101 @@ ftl_open_sblk_recovery: ldrh w24, [x19, 2] add x0, x0, :lo12:.LANCHOR111 str x0, [x29, 128] -.L3071: - adrp x25, .LANCHOR95 - ldrh w0, [x25, #:lo12:.LANCHOR95] +.L3098: + adrp x25, .LANCHOR94 + ldrh w0, [x25, #:lo12:.LANCHOR94] cmp w0, w24 - bhi .L3086 -.L3074: + bhi .L3113 +.L3101: ldrh w0, [x19, 10] ldrh w1, [x19, 6] - ldrh w2, [x25, #:lo12:.LANCHOR95] + ldrh w2, [x25, #:lo12:.LANCHOR94] add w1, w1, w0 ldrb w0, [x19, 9] strh w24, [x19, 2] strb w23, [x19, 5] mul w0, w0, w2 cmp w1, w0 - beq .L3087 + beq .L3114 adrp x1, .LANCHOR219 adrp x0, .LC0 - mov w2, 1794 + mov w2, 1802 add x1, x1, :lo12:.LANCHOR219 add x0, x0, :lo12:.LC0 bl printf -.L3087: +.L3114: adrp x2, .LANCHOR117 ldrh w3, [x19, 10] mov w0, 0 mov w1, 0 ldr x4, [x2, #:lo12:.LANCHOR117] str x2, [x29, 152] -.L3088: +.L3115: cmp w1, w3 - bcc .L3090 + bcc .L3117 ldrb w23, [x19, 9] - adrp x24, .LANCHOR9 - ldrh w1, [x25, #:lo12:.LANCHOR95] + adrp x24, .LANCHOR11 + ldrh w1, [x25, #:lo12:.LANCHOR94] madd w23, w23, w1, w0 - ldr w0, [x21, #:lo12:.LANCHOR14] + ldr w0, [x21, #:lo12:.LANCHOR19] sub w23, w23, w3 and w23, w23, 65535 - tbz x0, 12, .L3091 + tbz x0, 12, .L3118 ldrh w1, [x19] - ldr x2, [x24, #:lo12:.LANCHOR9] + ldr x2, [x24, #:lo12:.LANCHOR11] ubfiz x0, x1, 1, 16 ldrh w3, [x2, x0] - adrp x0, .LC184 + adrp x0, .LC187 mov w2, w23 - add x0, x0, :lo12:.LC184 + add x0, x0, :lo12:.LC187 bl printf -.L3091: - ldr x0, [x24, #:lo12:.LANCHOR9] +.L3118: + ldr x0, [x24, #:lo12:.LANCHOR11] ldrh w1, [x19] strh w23, [x0, x1, lsl 1] - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 14, .L3092 + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 14, .L3119 ldp w1, w2, [x29, 176] - adrp x0, .LC185 + adrp x0, .LC188 ldp w3, w4, [x29, 184] - add x0, x0, :lo12:.LC185 + add x0, x0, :lo12:.LC188 bl printf -.L3092: +.L3119: ldr x0, [x20, 8] mov w1, 0 ldrb w2, [x22, #:lo12:.LANCHOR131] - adrp x28, .LANCHOR80 + adrp x28, .LANCHOR79 mov x24, 0 lsl w2, w2, 9 bl ftl_memset - adrp x0, .LC187 - add x0, x0, :lo12:.LC187 + adrp x0, .LC190 + add x0, x0, :lo12:.LC190 str x0, [x29, 136] - add x0, x28, :lo12:.LANCHOR80 + add x0, x28, :lo12:.LANCHOR79 str x0, [x29, 128] -.L3093: - ldrb w0, [x28, #:lo12:.LANCHOR80] - add x1, x28, :lo12:.LANCHOR80 +.L3120: + ldrb w0, [x28, #:lo12:.LANCHOR79] + add x1, x28, :lo12:.LANCHOR79 str w24, [x29, 168] mul w0, w0, w27 cmp w24, w0 - bcc .L3104 - adrp x24, .LC188 - adrp x23, .LC187 - add x24, x24, :lo12:.LC188 - add x23, x23, :lo12:.LC187 + bcc .L3131 + adrp x24, .LC191 + adrp x23, .LC190 + add x24, x24, :lo12:.LC191 + add x23, x23, :lo12:.LC190 mov x28, 0 str x1, [x29, 160] -.L3105: +.L3132: ldr x0, [x29, 160] ldrb w0, [x0] mul w0, w0, w27 cmp w0, w28 - bhi .L3111 + bhi .L3138 mov x0, x20 bl zbuf_free ldrh w1, [x19, 12] - ldrh w0, [x25, #:lo12:.LANCHOR95] + ldrh w0, [x25, #:lo12:.LANCHOR94] ldrb w2, [x19, 9] madd w0, w0, w2, w1 mov x1, -4 @@ -19380,20 +19945,20 @@ ftl_open_sblk_recovery: ldr x1, [x1, #:lo12:.LANCHOR117] ldr w0, [x1, x0] cmn w0, #1 - beq .L3112 + beq .L3139 adrp x1, .LANCHOR219 adrp x0, .LC0 - mov w2, 1909 + mov w2, 1917 add x1, x1, :lo12:.LANCHOR219 add x0, x0, :lo12:.LC0 bl printf -.L3112: +.L3139: ldrh w0, [x19, 6] cmp w0, 1 - bne .L3064 + bne .L3091 mov x0, x19 bl ftl_write_last_log_page -.L3064: +.L3091: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -19401,27 +19966,27 @@ ftl_open_sblk_recovery: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 368 ret -.L3086: +.L3113: ldrb w23, [x19, 5] - adrp x0, .LANCHOR198 - add x0, x0, :lo12:.LANCHOR198 + adrp x0, .LANCHOR195 + add x0, x0, :lo12:.LANCHOR195 str x0, [x29, 136] -.L3072: +.L3099: ldrb w0, [x19, 9] cmp w0, w23 - bhi .L3085 + bhi .L3112 add w24, w24, 1 strb wzr, [x19, 5] and w24, w24, 65535 - b .L3071 -.L3085: + b .L3098 +.L3112: add x0, x19, x23, sxtw 1 ldrh w0, [x0, 16] str w0, [x29, 168] mov w0, 65535 ldr w1, [x29, 168] cmp w1, w0 - beq .L3073 + beq .L3100 ldr x0, [x29, 128] ldrb w3, [x22, #:lo12:.LANCHOR131] ldr x2, [x20, 24] @@ -19432,21 +19997,21 @@ ftl_open_sblk_recovery: bl ftl_read_ppa_page mov w28, w0 cmp w0, 512 - beq .L3074 + beq .L3101 cmn w0, #1 - beq .L3075 + beq .L3102 ldr x0, [x20, 24] ldr w1, [x0] cmn w1, #1 - bne .L3075 + bne .L3102 ldr w0, [x0, 4] cmn w0, #1 - bne .L3075 + bne .L3102 ldr x0, [x20, 8] ldr w0, [x0] cmn w0, #1 - beq .L3074 -.L3075: + beq .L3101 +.L3102: ldr x1, [x29, 136] mov w0, 1 strb w0, [x1] @@ -19454,76 +20019,76 @@ ftl_open_sblk_recovery: ldrh w1, [x19, 10] madd w0, w0, w24, w23 cmp w1, w0 - beq .L3076 + beq .L3103 adrp x1, .LANCHOR219 adrp x0, .LC0 - mov w2, 1686 + mov w2, 1694 add x1, x1, :lo12:.LANCHOR219 add x0, x0, :lo12:.LC0 bl printf -.L3076: +.L3103: ldrh w0, [x19, 10] ldrh w1, [x19, 6] ldrb w2, [x19, 9] add w1, w1, w0 - ldrh w0, [x25, #:lo12:.LANCHOR95] + ldrh w0, [x25, #:lo12:.LANCHOR94] mul w0, w0, w2 cmp w1, w0 - beq .L3077 + beq .L3104 adrp x1, .LANCHOR219 adrp x0, .LC0 - mov w2, 1687 + mov w2, 1695 add x1, x1, :lo12:.LANCHOR219 add x0, x0, :lo12:.LC0 bl printf -.L3077: +.L3104: ldrb w0, [x22, #:lo12:.LANCHOR131] cmp w0, 8 - bls .L3078 + bls .L3105 ldr x6, [x20, 24] mov w1, 15555 movk w1, 0xf55f, lsl 16 ldr w0, [x6] cmp w0, w1 - beq .L3078 + beq .L3105 cmn w28, #1 - beq .L3080 + beq .L3107 ldr w0, [x6, 4] cmn w0, #1 - beq .L3081 + beq .L3108 ldr w1, [x6, 16] mov w0, 21320 movk w0, 0x4841, lsl 16 cmp w1, w0 - bne .L3081 + bne .L3108 ldr x0, [x29, 152] mov w1, 1024 bl js_hash ldr w1, [x6, 20] cmp w1, w0 - beq .L3081 + beq .L3108 ldr w3, [x29, 160] mov w5, w0 ldr w1, [x29, 168] mov w4, w28 mov w2, w24 - adrp x0, .LC182 - add x0, x0, :lo12:.LC182 + adrp x0, .LC185 + add x0, x0, :lo12:.LC185 bl printf ldr x1, [x29, 152] mov w3, 16 mov w2, 4 - adrp x0, .LC183 - add x0, x0, :lo12:.LC183 + adrp x0, .LC186 + add x0, x0, :lo12:.LC186 bl rknand_print_hex ldr x1, [x20, 24] - adrp x0, .LC150 + adrp x0, .LC147 ldrb w3, [x22, #:lo12:.LANCHOR131] mov w2, 4 - add x0, x0, :lo12:.LC150 + add x0, x0, :lo12:.LC147 lsr w3, w3, 1 bl rknand_print_hex -.L3080: +.L3107: ldrh w0, [x19, 6] mov w27, 4 sub w0, w0, #1 @@ -19531,55 +20096,55 @@ ftl_open_sblk_recovery: ldrh w0, [x19, 10] add w0, w0, 1 strh w0, [x19, 10] -.L3073: +.L3100: add w23, w23, 1 and w23, w23, 65535 - b .L3072 -.L3078: + b .L3099 +.L3105: cmn w28, #1 - beq .L3080 -.L3081: + beq .L3107 +.L3108: ldr x1, [x20, 24] ldr w0, [x1, 4] cmn w0, #1 - beq .L3080 + beq .L3107 ldr w1, [x1] mov w2, 15555 movk w2, 0xf55f, lsl 16 cmp w1, w2 - beq .L3080 + beq .L3107 bl lpa_hash_get_ppa ldr x1, [x29, 144] - cbz x1, .L3083 + cbz x1, .L3110 ldr x3, [x20, 24] ldr w1, [x3, 8] cmp w0, w1 - beq .L3083 + beq .L3110 cmn w0, #1 - beq .L3083 - adrp x4, .LANCHOR32 - adrp x5, .LANCHOR75 + beq .L3110 + adrp x4, .LANCHOR31 + adrp x5, .LANCHOR74 mov w28, 24 mov w27, 1 - ldrb w1, [x4, #:lo12:.LANCHOR32] - ldrh w6, [x5, #:lo12:.LANCHOR75] + ldrb w1, [x4, #:lo12:.LANCHOR31] + ldrh w6, [x5, #:lo12:.LANCHOR74] sub w1, w28, w1 sub w1, w1, w6 lsr w2, w0, w6 - adrp x6, .LANCHOR76 + adrp x6, .LANCHOR75 lsl w1, w27, w1 sub w1, w1, #1 and w1, w1, w2 - ldrb w2, [x6, #:lo12:.LANCHOR76] + ldrb w2, [x6, #:lo12:.LANCHOR75] udiv w1, w1, w2 ldr x2, [x29, 144] ldrh w2, [x2] cmp w2, w1, uxth - bne .L3083 + bne .L3110 ldr w8, [x3] - adrp x7, .LANCHOR193 + adrp x7, .LANCHOR190 ldrb w3, [x22, #:lo12:.LANCHOR131] - add x2, x7, :lo12:.LANCHOR193 + add x2, x7, :lo12:.LANCHOR190 ldr x1, [x20, 8] str w8, [x29, 124] str x7, [x29, 168] @@ -19588,43 +20153,43 @@ ftl_open_sblk_recovery: bl ftl_read_ppa_page ldr x7, [x29, 168] ldr w8, [x29, 124] - ldr w0, [x7, #:lo12:.LANCHOR193] + ldr w0, [x7, #:lo12:.LANCHOR190] cmp w8, w0 - bhi .L3083 + bhi .L3110 ldr x0, [x20, 24] ldr w0, [x0, 8] cmn w0, #1 - beq .L3080 + beq .L3107 ldp x6, x4, [x29, 96] ldr x5, [x29, 112] - ldrb w2, [x4, #:lo12:.LANCHOR32] - ldrh w1, [x5, #:lo12:.LANCHOR75] + ldrb w2, [x4, #:lo12:.LANCHOR31] + ldrh w1, [x5, #:lo12:.LANCHOR74] sub w28, w28, w2 sub w28, w28, w1 lsr w0, w0, w1 lsl w27, w27, w28 sub w27, w27, #1 and w27, w27, w0 - ldrb w0, [x6, #:lo12:.LANCHOR76] + ldrb w0, [x6, #:lo12:.LANCHOR75] udiv w0, w27, w0 bl ftl_vpn_decrement - b .L3080 -.L3090: + b .L3107 +.L3117: ldrh w2, [x19, 12] add w2, w2, w1 ldr w2, [x4, x2, lsl 2] cmn w2, #1 - beq .L3089 + beq .L3116 add w23, w0, 1 and w0, w23, 65535 -.L3089: +.L3116: add w1, w1, 1 - b .L3088 -.L3104: + b .L3115 +.L3131: ldr w0, [x26, x24, lsl 2] cmn w0, #1 - bne .L3094 -.L3098: + bne .L3121 +.L3125: adrp x0, .LANCHOR110 ldr x1, [x20, 24] mov w23, -1 @@ -19638,21 +20203,21 @@ ftl_open_sblk_recovery: str wzr, [x0] mov w0, 2 bl ftl_debug_info_fill -.L3095: +.L3122: ldrh w0, [x19, 6] cmp w0, 1 - bls .L3100 - add x0, x21, :lo12:.LANCHOR14 + bls .L3127 + add x0, x21, :lo12:.LANCHOR19 str x0, [x29, 160] add x0, x22, :lo12:.LANCHOR131 str x0, [x29, 144] -.L3164: +.L3191: mov x0, x19 bl ftl_get_new_free_page mov w4, w0 ldr x0, [x29, 160] ldr w0, [x0] - tbz x0, 14, .L3101 + tbz x0, 14, .L3128 ldrh w0, [x19, 12] mov w1, w4 ldrh w3, [x19, 10] @@ -19664,7 +20229,7 @@ ftl_open_sblk_recovery: ldr x0, [x29, 136] bl printf ldr w4, [x29, 124] -.L3101: +.L3128: ldr x0, [x29, 128] ldr w2, [x29, 168] ldrh w1, [x19, 6] @@ -19673,7 +20238,7 @@ ftl_open_sblk_recovery: add w0, w0, 1 sub w0, w0, w2 cmp w1, w0 - bls .L3100 + bls .L3127 ldr x0, [x29, 144] ldr x1, [x20, 8] ldr x2, [x20, 24] @@ -19689,7 +20254,7 @@ ftl_open_sblk_recovery: cmn w23, #1 ldr w4, [x29, 112] ccmn w1, #1, 4, ne - beq .L3103 + beq .L3130 add x0, x29, 240 ldrh w1, [x19, 12] str w4, [x0, x24, lsl 2] @@ -19698,10 +20263,10 @@ ftl_open_sblk_recovery: add x1, x29, 304 sub w0, w0, #1 str w0, [x1, x24, lsl 2] -.L3100: +.L3127: add x24, x24, 1 - b .L3093 -.L3094: + b .L3120 +.L3121: ldrb w3, [x22, #:lo12:.LANCHOR131] ldr x1, [x20, 8] ldr x2, [x20, 24] @@ -19711,18 +20276,18 @@ ftl_open_sblk_recovery: ldr w0, [x0, 4] bl lpa_hash_get_ppa mov w4, w0 - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 14, .L3096 + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 14, .L3123 ldr x0, [x20, 24] mov w1, w4 ldr w2, [x26, x24, lsl 2] str w4, [x29, 160] ldr w3, [x0, 4] - adrp x0, .LC186 - add x0, x0, :lo12:.LC186 + adrp x0, .LC189 + add x0, x0, :lo12:.LC189 bl printf ldr w4, [x29, 160] -.L3096: +.L3123: ldr x1, [x20, 24] mov x2, 0 ldr w0, [x26, x24, lsl 2] @@ -19734,20 +20299,20 @@ ftl_open_sblk_recovery: mov w0, 2 bl ftl_debug_info_fill cmn w23, #1 - bne .L3095 - b .L3098 -.L3103: + bne .L3122 + b .L3125 +.L3130: ldrh w0, [x19, 6] cmp w0, 1 - bls .L3100 + bls .L3127 cmn w23, #1 - bne .L3164 - b .L3100 -.L3111: + bne .L3191 + b .L3127 +.L3138: add x0, x29, 240 ldr w0, [x0, x28, lsl 2] cmn w0, #1 - beq .L3107 + beq .L3134 ldrb w3, [x22, #:lo12:.LANCHOR131] ldr w0, [x26, x28, lsl 2] ldr x1, [x20, 8] @@ -19755,7 +20320,7 @@ ftl_open_sblk_recovery: bl ftl_read_ppa_page cmp w0, 256 ccmn w0, #1, 4, ne - bne .L3107 + bne .L3134 add x0, x29, 240 ldrb w3, [x22, #:lo12:.LANCHOR131] ldr x1, [x20, 8] @@ -19763,8 +20328,8 @@ ftl_open_sblk_recovery: ldr w0, [x0, x28, lsl 2] bl ftl_read_ppa_page mov w5, w0 - ldr w0, [x21, #:lo12:.LANCHOR14] - tbz x0, 14, .L3109 + ldr w0, [x21, #:lo12:.LANCHOR19] + tbz x0, 14, .L3136 ldr x0, [x20, 24] mov w1, w5 ldr w3, [x26, x28, lsl 2] @@ -19773,22 +20338,22 @@ ftl_open_sblk_recovery: mov x0, x23 bl printf ldr w5, [x29, 168] -.L3109: +.L3136: cmn w5, #1 - beq .L3107 + beq .L3134 ldr x0, [x20, 24] ldr w2, [x26, x28, lsl 2] ldr w1, [x0, 8] cmp w2, w1 - bne .L3107 - ldr w1, [x21, #:lo12:.LANCHOR14] - tbz x1, 14, .L3110 + bne .L3134 + ldr w1, [x21, #:lo12:.LANCHOR19] + tbz x1, 14, .L3137 add x1, x29, 304 ldr w3, [x1, x28, lsl 2] ldr w1, [x0, 4] mov x0, x24 bl printf -.L3110: +.L3137: add x1, x29, 304 ldr x0, [x20, 24] ldr w1, [x1, x28, lsl 2] @@ -19797,31 +20362,31 @@ ftl_open_sblk_recovery: ldrh w2, [x29, 168] ldr w0, [x0, 4] bl lpa_hash_update_ppa -.L3107: +.L3134: add x28, x28, 1 - b .L3105 -.L3083: + b .L3132 +.L3110: ldr x3, [x20, 24] adrp x0, .LANCHOR128 ldr w0, [x0, #:lo12:.LANCHOR128] ldr w1, [x3, 4] cmp w1, w0 - bcs .L3080 + bcs .L3107 ldrb w0, [x19, 9] - ldrh w1, [x25, #:lo12:.LANCHOR95] + ldrh w1, [x25, #:lo12:.LANCHOR94] ldrh w2, [x19, 10] mul w0, w0, w1 sub w0, w0, #1 cmp w2, w0 - bge .L3080 + bge .L3107 adrp x0, .LANCHOR110 ldr w1, [x3] ldr x0, [x0, #:lo12:.LANCHOR110] ldr w4, [x0, 8] cmp w1, w4 - bls .L3084 + bls .L3111 str w1, [x0, 8] -.L3084: +.L3111: ldrh w0, [x19, 12] add w2, w2, w0 ldp w0, w1, [x3, 4] @@ -19834,7 +20399,7 @@ ftl_open_sblk_recovery: str w0, [x29, 184] ldr w0, [x29, 160] str w0, [x29, 188] - b .L3080 + b .L3107 .size ftl_open_sblk_recovery, .-ftl_open_sblk_recovery .section .text.dump_ftl_info,"ax",@progbits .align 2 @@ -19842,101 +20407,101 @@ ftl_open_sblk_recovery: .type dump_ftl_info, %function dump_ftl_info: stp x29, x30, [sp, -48]! - adrp x0, .LANCHOR58 + adrp x0, .LANCHOR57 add x29, sp, 0 - ldrb w1, [x0, #:lo12:.LANCHOR58] - adrp x0, .LC189 + ldrb w1, [x0, #:lo12:.LANCHOR57] + adrp x0, .LC192 stp x19, x20, [sp, 16] - add x0, x0, :lo12:.LC189 + add x0, x0, :lo12:.LC192 stp x21, x22, [sp, 32] adrp x22, .LANCHOR110 - adrp x19, .LANCHOR10 - adrp x20, .LANCHOR95 + adrp x19, .LANCHOR12 + adrp x20, .LANCHOR94 bl printf - adrp x21, .LANCHOR6 - adrp x0, .LANCHOR194 - add x1, x0, :lo12:.LANCHOR194 + adrp x21, .LANCHOR8 + adrp x0, .LANCHOR191 + add x1, x0, :lo12:.LANCHOR191 ldrh w3, [x1, 2] ldrb w2, [x1, 1] - ldrb w1, [x0, #:lo12:.LANCHOR194] - adrp x0, .LC190 - add x0, x0, :lo12:.LC190 + ldrb w1, [x0, #:lo12:.LANCHOR191] + adrp x0, .LC193 + add x0, x0, :lo12:.LC193 bl printf ldr x0, [x22, #:lo12:.LANCHOR110] ldrh w2, [x0, 140] ldrh w1, [x0, 130] - adrp x0, .LC191 - add x0, x0, :lo12:.LC191 + adrp x0, .LC194 + add x0, x0, :lo12:.LC194 bl printf - ldr x1, [x19, #:lo12:.LANCHOR10] - adrp x0, .LC192 - add x0, x0, :lo12:.LC192 + ldr x1, [x19, #:lo12:.LANCHOR12] + adrp x0, .LC195 + add x0, x0, :lo12:.LC195 ldrh w5, [x1, 26] ldrh w4, [x1, 22] ldrb w3, [x1, 21] ldrh w2, [x1, 18] ldrh w1, [x1, 16] bl printf - ldr x1, [x19, #:lo12:.LANCHOR10] - adrp x0, .LC193 - add x0, x0, :lo12:.LC193 + ldr x1, [x19, #:lo12:.LANCHOR12] + adrp x0, .LC196 + add x0, x0, :lo12:.LC196 ldrh w5, [x1, 58] ldrh w4, [x1, 54] ldrb w3, [x1, 53] ldrh w2, [x1, 50] ldrh w1, [x1, 48] bl printf - ldr x1, [x19, #:lo12:.LANCHOR10] - adrp x19, .LANCHOR80 - adrp x0, .LC194 - add x0, x0, :lo12:.LC194 + ldr x1, [x19, #:lo12:.LANCHOR12] + adrp x19, .LANCHOR79 + adrp x0, .LC197 + add x0, x0, :lo12:.LC197 ldrh w5, [x1, 90] ldrh w4, [x1, 86] ldrb w3, [x1, 85] ldrh w2, [x1, 82] ldrh w1, [x1, 80] bl printf - ldrb w0, [x19, #:lo12:.LANCHOR80] + ldrb w0, [x19, #:lo12:.LANCHOR79] mov w2, 4 - ldrh w3, [x20, #:lo12:.LANCHOR95] + ldrh w3, [x20, #:lo12:.LANCHOR94] mul w3, w3, w0 adrp x0, .LANCHOR117 ldr x1, [x0, #:lo12:.LANCHOR117] - adrp x0, .LC195 + adrp x0, .LC198 lsl w3, w3, 1 - add x0, x0, :lo12:.LC195 + add x0, x0, :lo12:.LC198 bl rknand_print_hex - adrp x0, .LANCHOR9 - ldrh w3, [x21, #:lo12:.LANCHOR6] + adrp x0, .LANCHOR11 + ldrh w3, [x21, #:lo12:.LANCHOR8] mov w2, 2 - ldr x1, [x0, #:lo12:.LANCHOR9] - adrp x0, .LC196 - add x0, x0, :lo12:.LC196 + ldr x1, [x0, #:lo12:.LANCHOR11] + adrp x0, .LC199 + add x0, x0, :lo12:.LC199 bl rknand_print_hex ldr x1, [x22, #:lo12:.LANCHOR110] mov w2, 4 - adrp x0, .LC176 - add x0, x0, :lo12:.LC176 + adrp x0, .LC179 + add x0, x0, :lo12:.LC179 add x1, x1, 704 ldrh w3, [x1, -6] bl rknand_print_hex - adrp x0, .LANCHOR7 - ldrh w3, [x21, #:lo12:.LANCHOR6] + adrp x0, .LANCHOR9 + ldrh w3, [x21, #:lo12:.LANCHOR8] mov w2, 4 - ldr x1, [x0, #:lo12:.LANCHOR7] - adrp x0, .LC197 - add x0, x0, :lo12:.LC197 + ldr x1, [x0, #:lo12:.LANCHOR9] + adrp x0, .LC200 + add x0, x0, :lo12:.LC200 bl rknand_print_hex mov w3, 256 mov w2, 2 adrp x1, .LANCHOR116 - adrp x0, .LC198 + adrp x0, .LC201 add x1, x1, :lo12:.LANCHOR116 - add x0, x0, :lo12:.LC198 + add x0, x0, :lo12:.LC201 bl rknand_print_hex - ldrb w0, [x19, #:lo12:.LANCHOR80] + ldrb w0, [x19, #:lo12:.LANCHOR79] mov w2, 2 - ldrh w3, [x20, #:lo12:.LANCHOR95] + ldrh w3, [x20, #:lo12:.LANCHOR94] ldp x21, x22, [sp, 32] ldp x19, x20, [sp, 16] mul w3, w3, w0 @@ -19944,8 +20509,8 @@ dump_ftl_info: ldp x29, x30, [sp], 48 lsl w3, w3, 1 ldr x1, [x0, #:lo12:.LANCHOR118] - adrp x0, .LC199 - add x0, x0, :lo12:.LC199 + adrp x0, .LC202 + add x0, x0, :lo12:.LC202 b rknand_print_hex .size dump_ftl_info, .-dump_ftl_info .section .text.pm_ppa_update_check,"ax",@progbits @@ -19953,11 +20518,11 @@ dump_ftl_info: .global pm_ppa_update_check .type pm_ppa_update_check, %function pm_ppa_update_check: - adrp x4, .LANCHOR32 - adrp x3, .LANCHOR75 + adrp x4, .LANCHOR31 + adrp x3, .LANCHOR74 mov w5, 24 - ldrb w4, [x4, #:lo12:.LANCHOR32] - ldrh w3, [x3, #:lo12:.LANCHOR75] + ldrb w4, [x4, #:lo12:.LANCHOR31] + ldrh w3, [x3, #:lo12:.LANCHOR74] sub w4, w5, w4 sub w5, w4, w3 mov w4, 1 @@ -19965,30 +20530,30 @@ pm_ppa_update_check: lsl w4, w4, w5 sub w4, w4, #1 and w4, w4, w3 - adrp x3, .LANCHOR76 - ldrb w3, [x3, #:lo12:.LANCHOR76] + adrp x3, .LANCHOR75 + ldrb w3, [x3, #:lo12:.LANCHOR75] udiv w4, w4, w3 - adrp x3, .LANCHOR7 - ldr x3, [x3, #:lo12:.LANCHOR7] + adrp x3, .LANCHOR9 + ldr x3, [x3, #:lo12:.LANCHOR9] add x4, x3, x4, uxth 2 ldrb w3, [x4, 2] ubfx x3, x3, 5, 3 cmp w3, 1 ccmp w3, 7, 4, ne - bne .L3196 + bne .L3223 mov w3, w2 mov w2, w1 mov x1, x0 stp x29, x30, [sp, -16]! - adrp x0, .LC200 - add x0, x0, :lo12:.LC200 + adrp x0, .LC203 + add x0, x0, :lo12:.LC203 add x29, sp, 0 bl printf bl dump_ftl_info mov w0, -1 ldp x29, x30, [sp], 16 ret -.L3196: +.L3223: mov w0, 0 ret .size pm_ppa_update_check, .-pm_ppa_update_check @@ -20005,23 +20570,23 @@ load_l2p_region: stp x23, x24, [sp, 48] cmp w21, 7 stp x25, x26, [sp, 64] - bls .L3202 + bls .L3229 adrp x1, .LANCHOR220 adrp x0, .LC0 mov w2, 32 add x1, x1, :lo12:.LANCHOR220 add x0, x0, :lo12:.LC0 bl printf -.L3202: +.L3229: adrp x20, .LANCHOR110 mov x25, x20 ldr x0, [x20, #:lo12:.LANCHOR110] ldrh w2, [x0, 698] cmp w2, w19 - bcs .L3203 + bcs .L3230 mov w1, w19 - adrp x0, .LC201 - add x0, x0, :lo12:.LC201 + adrp x0, .LC204 + add x0, x0, :lo12:.LC204 bl printf adrp x0, .LANCHOR221 mov w1, 255 @@ -20032,47 +20597,47 @@ load_l2p_region: ldr x0, [x20, #:lo12:.LANCHOR110] ldrh w0, [x0, 698] cmp w0, w19 - bcc .L3204 -.L3214: + bcc .L3231 +.L3241: mov w0, 0 -.L3201: +.L3228: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 80 ret -.L3204: +.L3231: mov w2, 37 -.L3215: +.L3242: adrp x1, .LANCHOR220 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR220 add x0, x0, :lo12:.LC0 bl printf - b .L3214 -.L3203: + b .L3241 +.L3230: add x0, x0, x19, sxtw 2 - adrp x22, .LANCHOR138 - add x1, x22, :lo12:.LANCHOR138 + adrp x22, .LANCHOR135 + add x1, x22, :lo12:.LANCHOR135 ldr w23, [x0, 704] lsl x0, x21, 4 add x26, x1, x0 strh w19, [x1, x0] strh wzr, [x26, 2] - cbnz w23, .L3206 + cbnz w23, .L3233 mov w1, w19 mov w2, 0 - adrp x0, .LC202 - add x0, x0, :lo12:.LC202 + adrp x0, .LC205 + add x0, x0, :lo12:.LC205 bl printf adrp x0, .LANCHOR221 mov w1, 255 ldrh w2, [x0, #:lo12:.LANCHOR221] ldr x0, [x26, 8] bl ftl_memset - b .L3214 -.L3206: + b .L3241 +.L3233: adrp x20, .LANCHOR207 adrp x24, .LANCHOR131 ldr x1, [x26, 8] @@ -20083,45 +20648,45 @@ load_l2p_region: ldr x1, [x20, #:lo12:.LANCHOR207] ldr w2, [x1] cmp w2, w19 - bne .L3207 + bne .L3234 cmp w0, 512 ccmn w0, #1, 4, ne - beq .L3207 -.L3211: + beq .L3234 +.L3238: ldr x0, [x20, #:lo12:.LANCHOR207] ldr w0, [x0] cmp w19, w0 - beq .L3214 + beq .L3241 mov w2, 73 - b .L3215 -.L3207: + b .L3242 +.L3234: mov w4, w23 mov w3, w0 mov w1, w19 - adrp x0, .LC203 - add x0, x0, :lo12:.LC203 + adrp x0, .LC206 + add x0, x0, :lo12:.LC206 bl printf ldr x1, [x25, #:lo12:.LANCHOR110] - add x22, x22, :lo12:.LANCHOR138 + add x22, x22, :lo12:.LANCHOR135 add x21, x22, x21, lsl 4 mov w2, 4 add x1, x1, 704 - adrp x0, .LC204 - add x0, x0, :lo12:.LC204 + adrp x0, .LC207 + add x0, x0, :lo12:.LC207 ldrh w3, [x1, -6] bl rknand_print_hex ldr x1, [x21, 8] mov w2, 4 ldrb w3, [x24, #:lo12:.LANCHOR131] - adrp x0, .LC183 - add x0, x0, :lo12:.LC183 + adrp x0, .LC186 + add x0, x0, :lo12:.LC186 lsl w3, w3, 7 bl rknand_print_hex ldr x1, [x20, #:lo12:.LANCHOR207] mov w3, 16 mov w2, 4 - adrp x0, .LC205 - add x0, x0, :lo12:.LC205 + adrp x0, .LC208 + add x0, x0, :lo12:.LC208 bl rknand_print_hex ldrb w3, [x24, #:lo12:.LANCHOR131] mov w0, w23 @@ -20130,21 +20695,21 @@ load_l2p_region: bl ftl_read_ppa_page cmp w0, 512 ccmn w0, #1, 4, ne - bne .L3210 + bne .L3237 adrp x0, .LANCHOR221 mov w1, 255 ldrh w2, [x0, #:lo12:.LANCHOR221] ldr x0, [x21, 8] bl ftl_memset -.L3212: +.L3239: mov w0, -1 - b .L3201 -.L3210: + b .L3228 +.L3237: ldr x0, [x20, #:lo12:.LANCHOR207] ldr w0, [x0] cmp w19, w0 - beq .L3211 - b .L3212 + beq .L3238 + b .L3239 .size load_l2p_region, .-load_l2p_region .section .text.pm_gc,"ax",@progbits .align 2 @@ -20156,37 +20721,37 @@ pm_gc: stp x19, x20, [sp, 16] adrp x19, .LANCHOR110 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR151 + adrp x21, .LANCHOR148 ldr x0, [x19, #:lo12:.LANCHOR110] stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] ldrh w2, [x0, 688] - adrp x0, .LANCHOR155 + adrp x0, .LANCHOR152 str x27, [sp, 80] mov x20, x0 - ldrh w1, [x0, #:lo12:.LANCHOR155] + ldrh w1, [x0, #:lo12:.LANCHOR152] sub w1, w1, #1 cmp w2, w1 - bge .L3217 - ldr w0, [x21, #:lo12:.LANCHOR151] - cbz w0, .L3218 -.L3217: + bge .L3244 + ldr w0, [x21, #:lo12:.LANCHOR148] + cbz w0, .L3245 +.L3244: bl pm_free_sblk ldr x2, [x19, #:lo12:.LANCHOR110] - ldrh w1, [x20, #:lo12:.LANCHOR155] + ldrh w1, [x20, #:lo12:.LANCHOR152] sub w1, w1, #1 ldrh w3, [x2, 688] cmp w3, w1 - bge .L3219 - ldr w1, [x21, #:lo12:.LANCHOR151] - cbz w1, .L3218 -.L3219: + bge .L3246 + ldr w1, [x21, #:lo12:.LANCHOR148] + cbz w1, .L3245 +.L3246: add x0, x2, x0, uxth 1 - str wzr, [x21, #:lo12:.LANCHOR151] + str wzr, [x21, #:lo12:.LANCHOR148] mov w20, 65535 ldrh w21, [x0, 416] cmp w21, w20 - bne .L3221 + bne .L3248 adrp x1, .LANCHOR222 add x1, x1, :lo12:.LANCHOR222 mov w2, 182 @@ -20198,41 +20763,41 @@ pm_gc: add x0, x1, x0, uxth 1 ldrh w21, [x0, 416] cmp w21, w20 - beq .L3218 -.L3221: + beq .L3245 +.L3248: bl pm_select_ram_region and x22, x0, 65535 lsl x0, x22, 4 - adrp x20, .LANCHOR138 - add x1, x20, :lo12:.LANCHOR138 + adrp x20, .LANCHOR135 + add x1, x20, :lo12:.LANCHOR135 mov x25, x22 add x23, x1, x0 ldrh w0, [x1, x0] mov w1, 65535 cmp w0, w1 - beq .L3222 + beq .L3249 ldr x1, [x23, 8] - cbz x1, .L3222 + cbz x1, .L3249 ldrsh w2, [x23, 2] - tbz w2, #31, .L3222 + tbz w2, #31, .L3249 bl pm_write_page ldrh w0, [x23, 2] and w0, w0, 32767 strh w0, [x23, 2] -.L3222: - adrp x23, .LANCHOR75 - adrp x24, .LANCHOR32 - add x23, x23, :lo12:.LANCHOR75 - add x24, x24, :lo12:.LANCHOR32 +.L3249: + adrp x23, .LANCHOR74 + adrp x24, .LANCHOR31 + add x23, x23, :lo12:.LANCHOR74 + add x24, x24, :lo12:.LANCHOR31 mov w27, 0 mov w26, 24 -.L3223: +.L3250: ldr x2, [x19, #:lo12:.LANCHOR110] ldrh w0, [x2, 698] cmp w0, w27 - bhi .L3226 + bhi .L3253 bl pm_free_sblk -.L3218: +.L3245: mov w0, 0 ldr x27, [sp, 80] ldp x19, x20, [sp, 16] @@ -20241,7 +20806,7 @@ pm_gc: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 96 ret -.L3226: +.L3253: ldrb w0, [x24] add x2, x2, x27, sxtw 2 ldrh w3, [x23] @@ -20253,29 +20818,29 @@ pm_gc: sub w0, w0, #1 lsr w1, w1, w3 and w0, w0, w1 - adrp x1, .LANCHOR76 - ldrb w1, [x1, #:lo12:.LANCHOR76] + adrp x1, .LANCHOR75 + ldrb w1, [x1, #:lo12:.LANCHOR75] udiv w0, w0, w1 cmp w21, w0, uxth - bne .L3224 + bne .L3251 mov w1, w25 mov w0, w27 bl load_l2p_region - cbnz w0, .L3225 - add x0, x20, :lo12:.LANCHOR138 + cbnz w0, .L3252 + add x0, x20, :lo12:.LANCHOR135 add x0, x0, x22, lsl 4 ldr x1, [x0, 8] mov w0, w27 bl pm_write_page -.L3225: - add x1, x20, :lo12:.LANCHOR138 +.L3252: + add x1, x20, :lo12:.LANCHOR135 lsl x0, x22, 4 mov w2, -1 strh w2, [x1, x0] -.L3224: +.L3251: add w27, w27, 1 and w27, w27, 65535 - b .L3223 + b .L3250 .size pm_gc, .-pm_gc .section .text.pm_flush_id,"ax",@progbits .align 2 @@ -20284,8 +20849,8 @@ pm_gc: pm_flush_id: stp x29, x30, [sp, -32]! ubfiz x0, x0, 4, 16 - adrp x2, .LANCHOR138 - add x2, x2, :lo12:.LANCHOR138 + adrp x2, .LANCHOR135 + add x2, x2, :lo12:.LANCHOR135 add x29, sp, 0 str x19, [sp, 16] add x19, x2, x0 @@ -20295,12 +20860,12 @@ pm_flush_id: ldrh w0, [x19, 2] and w0, w0, 32767 strh w0, [x19, 2] - adrp x19, .LANCHOR136 - ldr w0, [x19, #:lo12:.LANCHOR136] - cbz w0, .L3235 + adrp x19, .LANCHOR204 + ldr w0, [x19, #:lo12:.LANCHOR204] + cbz w0, .L3262 bl pm_gc - str wzr, [x19, #:lo12:.LANCHOR136] -.L3235: + str wzr, [x19, #:lo12:.LANCHOR204] +.L3262: mov w0, 0 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 @@ -20314,21 +20879,21 @@ pm_flush: stp x29, x30, [sp, -32]! add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x19, .LANCHOR138 - add x19, x19, :lo12:.LANCHOR138 + adrp x19, .LANCHOR135 + add x19, x19, :lo12:.LANCHOR135 mov w20, 0 add x19, x19, 2 -.L3242: +.L3269: ldrsh w0, [x19] - tbz w0, #31, .L3241 + tbz w0, #31, .L3268 mov w0, w20 bl pm_flush_id -.L3241: +.L3268: add w20, w20, 1 add x19, x19, 16 and w20, w20, 65535 cmp w20, 8 - bne .L3242 + bne .L3269 mov w0, 0 ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 @@ -20377,15 +20942,15 @@ pm_init: add x29, sp, 0 stp x23, x24, [sp, 48] mov w24, w0 - adrp x0, .LANCHOR151 + adrp x0, .LANCHOR148 stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] - adrp x19, .LANCHOR138 - str wzr, [x0, #:lo12:.LANCHOR151] - adrp x0, .LANCHOR136 + adrp x19, .LANCHOR135 + str wzr, [x0, #:lo12:.LANCHOR148] + adrp x0, .LANCHOR204 stp x25, x26, [sp, 64] - add x20, x19, :lo12:.LANCHOR138 - str wzr, [x0, #:lo12:.LANCHOR136] + add x20, x19, :lo12:.LANCHOR135 + str wzr, [x0, #:lo12:.LANCHOR204] adrp x0, .LANCHOR208 stp x27, x28, [sp, 80] adrp x22, .LANCHOR131 @@ -20398,19 +20963,19 @@ pm_init: mov x21, x1 mov w25, -1 str x0, [x1, #:lo12:.LANCHOR207] -.L3252: +.L3279: strh w25, [x20] strh wzr, [x20, 2] - cbz w24, .L3251 + cbz w24, .L3278 ldrb w0, [x22] lsl w0, w0, 9 bl ftl_malloc str x0, [x20, 8] -.L3251: +.L3278: add x20, x20, 16 cmp x20, x23 - bne .L3252 - add x0, x19, :lo12:.LANCHOR138 + bne .L3279 + add x0, x19, :lo12:.LANCHOR135 adrp x20, .LANCHOR110 ldr x22, [x21, #:lo12:.LANCHOR207] mov w4, 4 @@ -20426,32 +20991,32 @@ pm_init: mov w24, w26 ldrh w2, [x0, 696] cmp w2, w26 - bgt .L3253 + bgt .L3280 ldrh w1, [x0, 692] mov w3, w26 - adrp x0, .LC206 - add x0, x0, :lo12:.LC206 + adrp x0, .LC209 + add x0, x0, :lo12:.LC209 adrp x25, .LANCHOR131 add x25, x25, :lo12:.LANCHOR131 - adrp x28, .LC207 + adrp x28, .LC210 bl printf ldr x0, [x20, #:lo12:.LANCHOR110] ldrsh w21, [x0, 696] adrp x0, .LANCHOR111 add x0, x0, :lo12:.LANCHOR111 str x0, [x29, 104] -.L3254: +.L3281: cmp w21, w26 - ble .L3257 - adrp x0, .LANCHOR198 + ble .L3284 + adrp x0, .LANCHOR195 mov w1, 1 add w24, w24, 1 - strb w1, [x0, #:lo12:.LANCHOR198] + strb w1, [x0, #:lo12:.LANCHOR195] ldr x0, [x20, #:lo12:.LANCHOR110] strh w24, [x0, 696] bl pm_free_sblk -.L3253: - add x19, x19, :lo12:.LANCHOR138 +.L3280: + add x19, x19, :lo12:.LANCHOR135 adrp x0, .LANCHOR221 mov w1, 255 ldrh w2, [x0, #:lo12:.LANCHOR221] @@ -20460,9 +21025,9 @@ pm_init: ldr x1, [x19, 8] mov w0, -1 bl pm_write_page - adrp x0, .LANCHOR198 - ldrb w0, [x0, #:lo12:.LANCHOR198] - cbz w0, .L3258 + adrp x0, .LANCHOR195 + ldrb w0, [x0, #:lo12:.LANCHOR195] + cbz w0, .L3285 ldr x1, [x19, 8] mov w0, -1 bl pm_write_page @@ -20472,7 +21037,7 @@ pm_init: ldr x1, [x19, 8] mov w0, -1 bl pm_write_page -.L3258: +.L3285: bl pm_free_sblk bl pm_gc mov w0, 0 @@ -20483,7 +21048,7 @@ pm_init: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 112 ret -.L3257: +.L3284: ldr x0, [x20, #:lo12:.LANCHOR110] mov x3, x22 ldr x1, [x29, 104] @@ -20503,38 +21068,38 @@ pm_init: ldrh w3, [x0, 694] add w1, w1, 1 str w1, [x0, 48] - add x0, x28, :lo12:.LC207 + add x0, x28, :lo12:.LC210 ldr w1, [x22] bl printf ldr w4, [x29, 100] cmp w4, 512 ccmn w4, #1, 4, ne - beq .L3255 + beq .L3282 ldr x8, [x20, #:lo12:.LANCHOR110] ldr w6, [x22] ldrh w0, [x8, 698] cmp w6, w0 - bcs .L3255 + bcs .L3282 ldr w7, [x22, 8] - cbz w7, .L3256 + cbz w7, .L3283 ldrb w1, [x25] mov x0, x27 lsl w1, w1, 9 bl js_hash cmp w7, w0 - beq .L3256 - adrp x0, .LC208 + beq .L3283 + adrp x0, .LC211 mov w1, w7 - add x0, x0, :lo12:.LC208 + add x0, x0, :lo12:.LC211 bl printf -.L3255: +.L3282: add w21, w21, 1 sxth w21, w21 - b .L3254 -.L3256: + b .L3281 +.L3283: add x6, x8, x6, uxtw 2 str w23, [x6, 704] - b .L3255 + b .L3282 .size pm_init, .-pm_init .section .text.pm_log2phys,"ax",@progbits .align 2 @@ -20554,15 +21119,15 @@ pm_log2phys: ldr w2, [x0, #:lo12:.LANCHOR128] str x27, [sp, 80] cmp w25, w2 - bcc .L3274 + bcc .L3301 mov w1, w25 - adrp x0, .LC209 - add x0, x0, :lo12:.LC209 + adrp x0, .LC212 + add x0, x0, :lo12:.LC212 bl printf mov w0, -1 - cbnz w24, .L3273 + cbnz w24, .L3300 str w0, [x23] -.L3273: +.L3300: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -20570,35 +21135,35 @@ pm_log2phys: ldr x27, [sp, 80] ldp x29, x30, [sp], 96 ret -.L3274: +.L3301: adrp x0, .LANCHOR131 - adrp x21, .LANCHOR138 + adrp x21, .LANCHOR135 mov x19, 0 ldrb w20, [x0, #:lo12:.LANCHOR131] - add x0, x21, :lo12:.LANCHOR138 + add x0, x21, :lo12:.LANCHOR135 add x0, x0, 8 lsl w22, w20, 7 udiv w22, w25, w22 and w26, w22, 65535 -.L3280: +.L3307: ldr x1, [x0] - cbz x1, .L3276 + cbz x1, .L3303 ldrh w1, [x0, -8] cmp w1, w26 - bne .L3276 -.L3277: + bne .L3303 +.L3304: ubfiz w20, w20, 7, 9 msub w25, w26, w20, w25 and x25, x25, 65535 - cbnz w24, .L3278 - add x0, x21, :lo12:.LANCHOR138 - adrp x1, .LANCHOR32 + cbnz w24, .L3305 + add x0, x21, :lo12:.LANCHOR135 + adrp x1, .LANCHOR31 add x0, x0, x19, lsl 4 mov w2, 24 ldr x0, [x0, 8] ldr w0, [x0, x25, lsl 2] str w0, [x23] - ldrb w3, [x1, #:lo12:.LANCHOR32] + ldrb w3, [x1, #:lo12:.LANCHOR31] mov w1, 1 sub w2, w2, w3 lsl w1, w1, w3 @@ -20608,23 +21173,23 @@ pm_log2phys: adrp x1, .LANCHOR112 ldrb w1, [x1, #:lo12:.LANCHOR112] cmp w0, w1 - bcc .L3279 + bcc .L3306 mov w0, -1 str w0, [x23] -.L3279: - add x21, x21, :lo12:.LANCHOR138 +.L3306: + add x21, x21, :lo12:.LANCHOR135 add x19, x21, x19, lsl 4 ldrh w0, [x19, 2] mvn x1, x0 tst x1, 32767 - beq .L3283 + beq .L3310 add w0, w0, 1 strh w0, [x19, 2] -.L3283: +.L3310: mov w0, 0 - b .L3273 -.L3278: - add x0, x21, :lo12:.LANCHOR138 + b .L3300 +.L3305: + add x0, x21, :lo12:.LANCHOR135 ldr w2, [x23] add x0, x0, x19, lsl 4 ldr x1, [x0, 8] @@ -20632,35 +21197,35 @@ pm_log2phys: ldrh w1, [x0, 2] orr w1, w1, -32768 strh w1, [x0, 2] - adrp x0, .LANCHOR139 - strb w22, [x0, #:lo12:.LANCHOR139] - b .L3279 -.L3276: + adrp x0, .LANCHOR136 + strb w22, [x0, #:lo12:.LANCHOR136] + b .L3306 +.L3303: add w19, w19, 1 add x0, x0, 16 and x19, x19, 65535 cmp w19, 8 - bne .L3280 + bne .L3307 bl pm_select_ram_region and x19, x0, 65535 sbfiz x1, x19, 4, 32 - add x2, x21, :lo12:.LANCHOR138 + add x2, x21, :lo12:.LANCHOR135 add x3, x2, x1 mov w27, w0 ldrh w2, [x2, x1] mov w1, 65535 cmp w2, w1 - beq .L3281 + beq .L3308 ldrsh w1, [x3, 2] - tbz w1, #31, .L3281 + tbz w1, #31, .L3308 bl pm_flush_id -.L3281: +.L3308: adrp x0, .LANCHOR223 mov w1, w27 strb w19, [x0, #:lo12:.LANCHOR223] mov w0, w26 bl load_l2p_region - b .L3277 + b .L3304 .size pm_log2phys, .-pm_log2phys .section .text.gc_recovery,"ax",@progbits .align 2 @@ -20668,18 +21233,18 @@ pm_log2phys: .type gc_recovery, %function gc_recovery: sub sp, sp, #240 - adrp x0, .LANCHOR10 - adrp x1, .LANCHOR85 + adrp x0, .LANCHOR12 + adrp x1, .LANCHOR84 mov w2, 65535 stp x29, x30, [sp, 32] add x29, sp, 32 stp x23, x24, [sp, 80] - ldr x23, [x0, #:lo12:.LANCHOR10] - strb wzr, [x1, #:lo12:.LANCHOR85] - adrp x1, .LANCHOR159 + ldr x23, [x0, #:lo12:.LANCHOR12] + strb wzr, [x1, #:lo12:.LANCHOR84] + adrp x1, .LANCHOR156 stp x25, x26, [sp, 96] mov x26, x0 - strb wzr, [x1, #:lo12:.LANCHOR159] + strb wzr, [x1, #:lo12:.LANCHOR156] add x1, x23, 80 stp x19, x20, [sp, 48] str x1, [x29, 168] @@ -20687,7 +21252,7 @@ gc_recovery: ldrh w1, [x23, 80] stp x27, x28, [sp, 112] cmp w1, w2 - beq .L3290 + beq .L3317 mov w0, -1 strh w0, [x23, 130] mov w0, 1 @@ -20702,40 +21267,40 @@ gc_recovery: ldrh w1, [x3, #:lo12:.LANCHOR111] ldrh w0, [x0, 16] mul w1, w0, w1 - adrp x0, .LANCHOR79 + adrp x0, .LANCHOR78 str w1, [x29, 200] - ldrb w2, [x0, #:lo12:.LANCHOR79] + ldrb w2, [x0, #:lo12:.LANCHOR78] str x0, [x29, 176] cmp w2, 2 - beq .L3291 + beq .L3318 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L3318 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L3291 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbz w0, .L3292 -.L3291: - adrp x0, .LANCHOR86 - ldrh w0, [x0, #:lo12:.LANCHOR86] + cbz w0, .L3319 +.L3318: + adrp x0, .LANCHOR85 + ldrh w0, [x0, #:lo12:.LANCHOR85] sub w0, w0, #1 add w0, w0, w1 orr w2, w0, w2, lsl 24 str w2, [x27, 40] -.L3293: +.L3320: mov w1, 1 mov x0, x27 bl sblk_read_page ldr w0, [x27, 52] cmp w0, 512 ccmn w0, #1, 4, ne - beq .L3294 + beq .L3321 ldr x0, [x27, 24] ldr w1, [x0] mov w0, 15555 movk w0, 0xf55f, lsl 16 cmp w1, w0 - beq .L3295 -.L3294: + beq .L3322 +.L3321: mov x0, x27 bl zbuf_free ldr x1, [x27, 24] @@ -20748,68 +21313,68 @@ gc_recovery: str w2, [sp] ldp w3, w4, [x0] ldp w5, w6, [x0, 8] - adrp x0, .LC210 + adrp x0, .LC213 ldr w7, [x1] - add x0, x0, :lo12:.LC210 + add x0, x0, :lo12:.LC213 ldr w1, [x27, 40] ldr w2, [x27, 52] bl printf -.L3384: - adrp x0, .LANCHOR9 +.L3411: + adrp x0, .LANCHOR11 ldrh w1, [x23, 80] mov w25, 0 - ldr x0, [x0, #:lo12:.LANCHOR9] + ldr x0, [x0, #:lo12:.LANCHOR11] strh wzr, [x0, x1, lsl 1] - ldr x0, [x26, #:lo12:.LANCHOR10] + ldr x0, [x26, #:lo12:.LANCHOR12] ldrh w1, [x23, 80] strh w1, [x0, 130] -.L3296: +.L3323: ldrh w0, [x23, 80] - adrp x2, .LANCHOR9 - ldr x2, [x2, #:lo12:.LANCHOR9] + adrp x2, .LANCHOR11 + ldr x2, [x2, #:lo12:.LANCHOR11] ubfiz x1, x0, 1, 16 ldrh w1, [x2, x1] - cbnz w1, .L3340 + cbnz w1, .L3367 bl ftl_dump_write_open_sblk -.L3340: +.L3367: ldrh w1, [x23, 80] mov w2, w25 - adrp x0, .LC212 - add x0, x0, :lo12:.LC212 + adrp x0, .LC215 + add x0, x0, :lo12:.LC215 bl printf mov w0, -1 strh w0, [x23, 80] bl pm_flush bl ftl_ext_info_flush - ldr x0, [x26, #:lo12:.LANCHOR10] + ldr x0, [x26, #:lo12:.LANCHOR12] mov w1, 65535 ldrh w0, [x0, 130] cmp w0, w1 - beq .L3341 - adrp x1, .LANCHOR6 - ldrh w1, [x1, #:lo12:.LANCHOR6] + beq .L3368 + adrp x1, .LANCHOR8 + ldrh w1, [x1, #:lo12:.LANCHOR8] cmp w1, w0 - bhi .L3342 + bhi .L3369 adrp x1, .LANCHOR225 adrp x0, .LC0 mov w2, 517 add x1, x1, :lo12:.LANCHOR225 add x0, x0, :lo12:.LC0 bl printf -.L3342: - ldr x0, [x26, #:lo12:.LANCHOR10] +.L3369: + ldr x0, [x26, #:lo12:.LANCHOR12] ldrh w0, [x0, 130] bl ftl_free_sblk -.L3341: +.L3368: adrp x0, .LANCHOR110 ldr x1, [x0, #:lo12:.LANCHOR110] mov w0, -1 strh w0, [x1, 126] - ldr x1, [x26, #:lo12:.LANCHOR10] + ldr x1, [x26, #:lo12:.LANCHOR12] strh w0, [x1, 130] mov w0, 0 bl ftl_info_flush -.L3289: +.L3316: ldp x19, x20, [sp, 48] ldp x21, x22, [sp, 64] ldp x23, x24, [sp, 80] @@ -20818,32 +21383,32 @@ gc_recovery: ldp x29, x30, [sp, 32] add sp, sp, 240 ret -.L3292: +.L3319: cmp w2, 3 - bne .L3293 - adrp x0, .LANCHOR95 - ldrh w0, [x0, #:lo12:.LANCHOR95] + bne .L3320 + adrp x0, .LANCHOR94 + ldrh w0, [x0, #:lo12:.LANCHOR94] sub w0, w0, #1 add w0, w0, w1 orr w0, w0, 50331648 str w0, [x27, 40] - b .L3293 -.L3295: + b .L3320 +.L3322: adrp x21, .LANCHOR224 - adrp x19, .LANCHOR86 - adrp x20, .LANCHOR80 - adrp x24, .LANCHOR162 + adrp x19, .LANCHOR85 + adrp x20, .LANCHOR79 + adrp x24, .LANCHOR159 ldrb w0, [x21, #:lo12:.LANCHOR224] cmp w0, 2 - bne .L3297 + bne .L3324 ldr x0, [x29, 176] - ldrb w0, [x0, #:lo12:.LANCHOR79] + ldrb w0, [x0, #:lo12:.LANCHOR78] cmp w0, 3 - bne .L3297 - ldrh w2, [x19, #:lo12:.LANCHOR86] + bne .L3324 + ldrh w2, [x19, #:lo12:.LANCHOR85] adrp x22, .LANCHOR221 - ldrb w1, [x20, #:lo12:.LANCHOR80] - ldr x3, [x24, #:lo12:.LANCHOR162] + ldrb w1, [x20, #:lo12:.LANCHOR79] + ldr x3, [x24, #:lo12:.LANCHOR159] ubfiz w2, w2, 2, 14 ldrh w0, [x22, #:lo12:.LANCHOR221] mul w2, w2, w1 @@ -20853,16 +21418,16 @@ gc_recovery: and w2, w2, 65535 add x0, x3, x0 bl ftl_memcpy + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L3325 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L3298 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbz w0, .L3299 -.L3298: + cbz w0, .L3326 +.L3325: ldr w0, [x27, 40] sub w0, w0, #1 -.L3378: +.L3405: str w0, [x27, 40] mov w1, 1 mov x0, x27 @@ -20870,48 +21435,48 @@ gc_recovery: ldr w0, [x27, 52] cmp w0, 512 ccmn w0, #1, 4, ne - beq .L3301 + beq .L3328 ldr x0, [x27, 24] ldr w1, [x0] mov w0, 15555 movk w0, 0xf55f, lsl 16 cmp w1, w0 - beq .L3302 -.L3301: + beq .L3329 +.L3328: mov x0, x27 bl zbuf_free - b .L3384 -.L3299: - adrp x1, .LANCHOR95 + b .L3411 +.L3326: + adrp x1, .LANCHOR94 ldr w0, [x29, 200] - ldrh w1, [x1, #:lo12:.LANCHOR95] + ldrh w1, [x1, #:lo12:.LANCHOR94] sub w0, w0, #1 add w0, w0, w1 orr w0, w0, 33554432 - b .L3378 -.L3302: + b .L3405 +.L3329: ldrh w2, [x22, #:lo12:.LANCHOR221] -.L3379: +.L3406: ldr x1, [x27, 8] - adrp x22, .LANCHOR163 - ldr x0, [x24, #:lo12:.LANCHOR162] + adrp x22, .LANCHOR160 + ldr x0, [x24, #:lo12:.LANCHOR159] bl ftl_memcpy - ldrb w1, [x20, #:lo12:.LANCHOR80] - ldrh w0, [x19, #:lo12:.LANCHOR86] + ldrb w1, [x20, #:lo12:.LANCHOR79] + ldrh w0, [x19, #:lo12:.LANCHOR85] mul w0, w0, w1 adrp x1, .LANCHOR131 ldrb w1, [x1, #:lo12:.LANCHOR131] lsl w2, w0, 2 cmp w1, w0, lsr 6 - bge .L3304 - ldr x0, [x22, #:lo12:.LANCHOR163] + bge .L3331 + ldr x0, [x22, #:lo12:.LANCHOR160] mov w1, 0 bl ftl_memset ldrb w21, [x21, #:lo12:.LANCHOR224] cmp w21, 1 - bne .L3345 - ldrb w1, [x20, #:lo12:.LANCHOR80] - ldrh w0, [x19, #:lo12:.LANCHOR86] + bne .L3372 + ldrb w1, [x20, #:lo12:.LANCHOR79] + ldrh w0, [x19, #:lo12:.LANCHOR85] mul w0, w0, w1 adrp x1, .LANCHOR221 ldrh w1, [x1, #:lo12:.LANCHOR221] @@ -20919,178 +21484,178 @@ gc_recovery: ldr x1, [x27, 8] mov w2, w25 add x1, x1, x0, sxtw 2 - ldr x0, [x22, #:lo12:.LANCHOR163] + ldr x0, [x22, #:lo12:.LANCHOR160] bl ftl_memcpy -.L3305: - adrp x0, .LANCHOR95 - ldrh w0, [x0, #:lo12:.LANCHOR95] +.L3332: + adrp x0, .LANCHOR94 + ldrh w0, [x0, #:lo12:.LANCHOR94] str w0, [x29, 184] ldr x0, [x29, 176] - ldrb w0, [x0, #:lo12:.LANCHOR79] + ldrb w0, [x0, #:lo12:.LANCHOR78] str w0, [x29, 188] cmp w0, 2 - bne .L3306 - adrp x0, .LANCHOR81 - ldrb w0, [x0, #:lo12:.LANCHOR81] - cbz w0, .L3307 -.L3306: - adrp x0, .LANCHOR36 - ldrb w0, [x0, #:lo12:.LANCHOR36] - cbz w0, .L3308 -.L3307: + bne .L3333 + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbz w0, .L3334 +.L3333: + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbz w0, .L3335 +.L3334: ldp w0, w1, [x29, 184] mul w0, w0, w1 str w0, [x29, 184] mov w0, 1 str w0, [x29, 188] -.L3308: - adrp x22, .LANCHOR36 +.L3335: + adrp x22, .LANCHOR35 mov w28, 0 - add x0, x22, :lo12:.LANCHOR36 + add x0, x22, :lo12:.LANCHOR35 mov w10, 0 str x0, [x29, 112] -.L3309: +.L3336: sub w0, w28, #1 str w0, [x29, 144] ldr w0, [x29, 184] cmp w0, w28 - bls .L3322 + bls .L3349 add w0, w28, w28, lsl 1 mov x20, 0 sub w0, w0, #1 str w0, [x29, 164] - adrp x0, .LANCHOR37 - add x0, x0, :lo12:.LANCHOR37 + adrp x0, .LANCHOR36 + add x0, x0, :lo12:.LANCHOR36 str x0, [x29, 120] - b .L3323 -.L3297: - ldrh w2, [x19, #:lo12:.LANCHOR86] - ldrb w0, [x20, #:lo12:.LANCHOR80] + b .L3350 +.L3324: + ldrh w2, [x19, #:lo12:.LANCHOR85] + ldrb w0, [x20, #:lo12:.LANCHOR79] mul w2, w2, w0 lsl w2, w2, 2 - b .L3379 -.L3304: + b .L3406 +.L3331: ldr x1, [x27, 8] mov w21, 0 add x1, x1, x0, sxtw 2 - ldr x0, [x22, #:lo12:.LANCHOR163] + ldr x0, [x22, #:lo12:.LANCHOR160] bl ftl_memcpy -.L3380: +.L3407: mov w25, 0 - b .L3305 -.L3345: + b .L3332 +.L3372: mov w21, 1 - b .L3380 -.L3318: + b .L3407 +.L3345: ldp x1, x0, [x29, 128] ldr x2, [x29, 176] ldrh w0, [x0, 96] ldrh w1, [x1] - ldrb w2, [x2, #:lo12:.LANCHOR79] + ldrb w2, [x2, #:lo12:.LANCHOR78] cmp w2, 2 mul w0, w0, w1 str w0, [x29, 200] add w1, w22, w0 - beq .L3310 + beq .L3337 ldr x3, [x29, 112] ldrb w3, [x3] - cbz w3, .L3311 -.L3310: + cbz w3, .L3338 +.L3337: ldr w0, [x29, 144] add w1, w1, w0 orr w1, w1, w2, lsl 24 -.L3381: +.L3408: str w1, [x27, 40] -.L3312: +.L3339: mov w1, 1 str x8, [x29, 96] str w10, [x29, 104] mov x0, x27 bl sblk_read_page - adrp x1, .LANCHOR163 + adrp x1, .LANCHOR160 ldr w10, [x29, 104] ldr x0, [x27, 24] ldr x8, [x29, 96] - cbz w21, .L3315 - ldr x2, [x1, #:lo12:.LANCHOR163] + cbz w21, .L3342 + ldr x2, [x1, #:lo12:.LANCHOR160] ldr w3, [x2, x8] - cbnz w3, .L3315 + cbnz w3, .L3342 ldr w3, [x0, 8] str w3, [x2, x8] -.L3315: - ldr x2, [x24, #:lo12:.LANCHOR162] +.L3342: + ldr x2, [x24, #:lo12:.LANCHOR159] ldr w6, [x0, 4] ldr w3, [x2, x8] cmp w3, w6 - bne .L3316 - ldr x2, [x1, #:lo12:.LANCHOR163] + bne .L3343 + ldr x2, [x1, #:lo12:.LANCHOR160] ldr w4, [x2, x8] ldr w2, [x0, 8] cmp w4, w2 - beq .L3317 -.L3316: - ldr x1, [x1, #:lo12:.LANCHOR163] + beq .L3344 +.L3343: + ldr x1, [x1, #:lo12:.LANCHOR160] ldr w2, [x0, 12] str w2, [sp] str w10, [x29, 96] ldr w4, [x1, x8] ldr w5, [x0] ldr w7, [x0, 8] - adrp x0, .LC211 + adrp x0, .LC214 ldr w1, [x27, 40] - add x0, x0, :lo12:.LC211 + add x0, x0, :lo12:.LC214 ldr w2, [x27, 52] str x8, [x29, 104] bl printf - ldr x0, [x24, #:lo12:.LANCHOR162] + ldr x0, [x24, #:lo12:.LANCHOR159] ldr x8, [x29, 104] ldr w10, [x29, 96] ldr w0, [x0, x8] cmn w0, #1 - beq .L3317 + beq .L3344 mov x0, x27 bl zbuf_free - adrp x0, .LANCHOR9 + adrp x0, .LANCHOR11 ldrh w1, [x23, 80] - ldr x0, [x0, #:lo12:.LANCHOR9] + ldr x0, [x0, #:lo12:.LANCHOR11] strh wzr, [x0, x1, lsl 1] - ldr x0, [x26, #:lo12:.LANCHOR10] + ldr x0, [x26, #:lo12:.LANCHOR12] ldrh w1, [x23, 80] strh w1, [x0, 130] - b .L3296 -.L3311: + b .L3323 +.L3338: cmp w2, 3 - bne .L3313 + bne .L3340 ldr x2, [x29, 120] ldrb w2, [x2] - cbz w2, .L3314 + cbz w2, .L3341 ldr w0, [x29, 164] add w1, w1, w0 orr w1, w1, 50331648 - b .L3381 -.L3314: + b .L3408 +.L3341: add w0, w28, w0 orr w0, w0, w22, lsl 24 -.L3382: +.L3409: str w0, [x27, 40] - b .L3312 -.L3313: + b .L3339 +.L3340: add w0, w28, w0 - b .L3382 -.L3317: + b .L3409 +.L3344: add w10, w10, 1 add w22, w22, 1 add x8, x8, 4 -.L3320: +.L3347: ldr w0, [x29, 188] cmp w0, w22 - bcs .L3318 + bcs .L3345 add x20, x20, 1 -.L3323: +.L3350: ldr x0, [x29, 168] ldrb w0, [x0, 9] cmp w0, w20 - ble .L3319 + ble .L3346 add x0, x23, x20, lsl 1 str x0, [x29, 136] ldr x0, [x29, 152] @@ -21098,82 +21663,82 @@ gc_recovery: mov w22, 1 add x0, x0, :lo12:.LANCHOR111 str x0, [x29, 128] - b .L3320 -.L3319: - adrp x0, .LANCHOR81 - ldrb w0, [x0, #:lo12:.LANCHOR81] + b .L3347 +.L3346: + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] cmp w0, 0 cinc w28, w28, ne add w28, w28, 1 - b .L3309 -.L3322: + b .L3336 +.L3349: mov x0, x27 bl zbuf_free ldr x0, [x29, 168] - adrp x20, .LANCHOR9 - ldrh w3, [x19, #:lo12:.LANCHOR86] + adrp x20, .LANCHOR11 + ldrh w3, [x19, #:lo12:.LANCHOR85] mov w25, 0 ldrh w2, [x23, 80] mov w27, 0 - ldr x1, [x20, #:lo12:.LANCHOR9] + ldr x1, [x20, #:lo12:.LANCHOR11] mov w28, 0 ldrb w0, [x0, 9] str x20, [x29, 144] mul w0, w0, w3 strh w0, [x1, x2, lsl 1] - adrp x0, .LANCHOR75 - add x0, x0, :lo12:.LANCHOR75 + adrp x0, .LANCHOR74 + add x0, x0, :lo12:.LANCHOR74 str x0, [x29, 104] -.L3324: +.L3351: sub w0, w27, #1 str w0, [x29, 128] ldr w0, [x29, 184] cmp w0, w27 - bls .L3338 + bls .L3365 add w22, w27, w27, lsl 1 mov x21, 0 sub w0, w22, #1 str w0, [x29, 120] - b .L3339 -.L3334: - ldr x1, [x24, #:lo12:.LANCHOR162] + b .L3366 +.L3361: + ldr x1, [x24, #:lo12:.LANCHOR159] sbfiz x0, x28, 2, 32 ldr w20, [x1, x0] cmn w20, #1 - beq .L3325 - adrp x1, .LANCHOR163 - ldr x1, [x1, #:lo12:.LANCHOR163] + beq .L3352 + adrp x1, .LANCHOR160 + ldr x1, [x1, #:lo12:.LANCHOR160] ldr w0, [x1, x0] str w0, [x29, 164] mov w0, w20 bl lpa_hash_get_ppa str w0, [x29, 204] cmn w0, #1 - bne .L3326 + bne .L3353 mov w2, 0 add x1, x29, 204 mov w0, w20 bl pm_log2phys -.L3326: +.L3353: ldr x0, [x29, 136] ldr x1, [x29, 152] ldr x2, [x29, 176] ldrh w0, [x0, 96] ldrh w1, [x1, #:lo12:.LANCHOR111] - ldrb w2, [x2, #:lo12:.LANCHOR79] + ldrb w2, [x2, #:lo12:.LANCHOR78] cmp w2, 2 mul w0, w0, w1 add w1, w22, w0 - beq .L3327 - adrp x6, .LANCHOR36 - ldrb w6, [x6, #:lo12:.LANCHOR36] - cbz w6, .L3328 -.L3327: + beq .L3354 + adrp x6, .LANCHOR35 + ldrb w6, [x6, #:lo12:.LANCHOR35] + cbz w6, .L3355 +.L3354: ldr w0, [x29, 128] add w1, w0, w1 orr w1, w1, w2, lsl 24 str w1, [x29, 200] -.L3329: +.L3356: ldp x0, x1, [x29, 104] mov w19, 24 mov w2, 1 @@ -21186,103 +21751,103 @@ gc_recovery: lsl w19, w2, w19 sub w19, w19, #1 and w19, w19, w0 - adrp x0, .LANCHOR76 - ldrb w0, [x0, #:lo12:.LANCHOR76] + adrp x0, .LANCHOR75 + ldrb w0, [x0, #:lo12:.LANCHOR75] udiv w19, w19, w0 ldr w0, [x29, 204] cmp w1, w0 and x19, x19, 65535 - bne .L3332 + bne .L3359 add x1, x29, 200 mov w0, w20 bl pm_log2phys add w25, w25, 1 mov w0, w19 bl ftl_vpn_decrement -.L3333: - adrp x0, .LANCHOR7 +.L3360: + adrp x0, .LANCHOR9 add w28, w28, 1 - ldr x0, [x0, #:lo12:.LANCHOR7] + ldr x0, [x0, #:lo12:.LANCHOR9] add x0, x0, x19, lsl 2 ldrb w0, [x0, 2] tst w0, 224 - bne .L3325 + bne .L3352 ldr x0, [x29, 144] lsl x19, x19, 1 - ldr x0, [x0, #:lo12:.LANCHOR9] + ldr x0, [x0, #:lo12:.LANCHOR11] ldrh w1, [x0, x19] - cbz w1, .L3325 + cbz w1, .L3352 strh wzr, [x0, x19] -.L3325: +.L3352: add w22, w22, 1 -.L3336: +.L3363: ldr w0, [x29, 188] cmp w0, w22 - bcs .L3334 + bcs .L3361 add x21, x21, 1 -.L3339: +.L3366: ldr x0, [x29, 168] ldrb w0, [x0, 9] cmp w0, w21 - ble .L3335 + ble .L3362 add x0, x23, x21, lsl 1 mov w22, 1 str x0, [x29, 136] - adrp x0, .LANCHOR32 - add x0, x0, :lo12:.LANCHOR32 + adrp x0, .LANCHOR31 + add x0, x0, :lo12:.LANCHOR31 str x0, [x29, 112] - b .L3336 -.L3328: + b .L3363 +.L3355: cmp w2, 3 - bne .L3330 - adrp x2, .LANCHOR37 - ldrb w6, [x2, #:lo12:.LANCHOR37] + bne .L3357 + adrp x2, .LANCHOR36 + ldrb w6, [x2, #:lo12:.LANCHOR36] lsl w2, w22, 24 - cbz w6, .L3331 + cbz w6, .L3358 ldr w0, [x29, 120] add w1, w0, w1 orr w0, w1, w2 -.L3383: +.L3410: str w0, [x29, 200] - b .L3329 -.L3331: + b .L3356 +.L3358: add w0, w27, w0 orr w0, w0, w2 - b .L3383 -.L3330: + b .L3410 +.L3357: add w0, w27, w0 - b .L3383 -.L3332: + b .L3410 +.L3359: ldr w1, [x29, 200] cmp w0, w1 cinc w25, w25, eq - b .L3333 -.L3335: - adrp x0, .LANCHOR81 - ldrb w0, [x0, #:lo12:.LANCHOR81] + b .L3360 +.L3362: + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] cmp w0, 0 cinc w27, w27, ne add w27, w27, 1 - b .L3324 -.L3338: + b .L3351 +.L3365: ldr x0, [x29, 144] ldrh w1, [x23, 80] - ldr x0, [x0, #:lo12:.LANCHOR9] + ldr x0, [x0, #:lo12:.LANCHOR11] strh w25, [x0, x1, lsl 1] ldrh w0, [x23, 80] bl zftl_insert_data_list - b .L3296 -.L3290: + b .L3323 +.L3317: ldrh w0, [x23, 130] cmp w0, w1 - beq .L3289 + beq .L3316 adrp x19, .LANCHOR110 ldr x1, [x19, #:lo12:.LANCHOR110] ldrh w1, [x1, 126] cmp w1, w0 - bne .L3344 + bne .L3371 bl pm_flush - ldr x0, [x26, #:lo12:.LANCHOR10] + ldr x0, [x26, #:lo12:.LANCHOR12] ldrh w0, [x0, 130] bl ftl_free_sblk ldr x0, [x19, #:lo12:.LANCHOR110] @@ -21290,11 +21855,11 @@ gc_recovery: strh w1, [x0, 126] mov w0, 0 bl ftl_info_flush -.L3344: - ldr x0, [x26, #:lo12:.LANCHOR10] +.L3371: + ldr x0, [x26, #:lo12:.LANCHOR12] mov w1, -1 strh w1, [x0, 130] - b .L3289 + b .L3316 .size gc_recovery, .-gc_recovery .section .text.gc_update_l2p_map_new,"ax",@progbits .align 2 @@ -21302,33 +21867,33 @@ gc_recovery: .type gc_update_l2p_map_new, %function gc_update_l2p_map_new: stp x29, x30, [sp, -176]! - adrp x0, .LANCHOR10 - adrp x1, .LANCHOR86 + adrp x0, .LANCHOR12 + adrp x1, .LANCHOR85 add x29, sp, 0 stp x21, x22, [sp, 32] - ldr x21, [x0, #:lo12:.LANCHOR10] + ldr x21, [x0, #:lo12:.LANCHOR12] stp x25, x26, [sp, 64] - ldrh w26, [x1, #:lo12:.LANCHOR86] + ldrh w26, [x1, #:lo12:.LANCHOR85] add x1, x21, 80 stp x23, x24, [sp, 48] - adrp x24, .LANCHOR14 + adrp x24, .LANCHOR19 stp x19, x20, [sp, 16] stp x27, x28, [sp, 80] stp x0, x1, [x29, 128] ldrb w1, [x1, 9] mul w26, w26, w1 - ldr w1, [x24, #:lo12:.LANCHOR14] - tbz x1, 8, .L3386 + ldr w1, [x24, #:lo12:.LANCHOR19] + tbz x1, 8, .L3413 ldrh w1, [x21, 80] - adrp x0, .LC213 - add x0, x0, :lo12:.LC213 + adrp x0, .LC216 + add x0, x0, :lo12:.LC216 bl printf -.L3386: - adrp x23, .LANCHOR9 +.L3413: + adrp x23, .LANCHOR11 adrp x0, .LANCHOR224 ldrh w2, [x21, 80] mov x22, 0 - ldr x1, [x23, #:lo12:.LANCHOR9] + ldr x1, [x23, #:lo12:.LANCHOR11] mov w25, 0 ldrb w0, [x0, #:lo12:.LANCHOR224] sub w0, w26, w0 @@ -21336,37 +21901,37 @@ gc_update_l2p_map_new: adrp x0, .LANCHOR131 add x0, x0, :lo12:.LANCHOR131 str x0, [x29, 104] -.L3387: +.L3414: mov w28, w22 cmp w26, w22 - bhi .L3397 - ldr w0, [x24, #:lo12:.LANCHOR14] - tbz x0, 8, .L3398 + bhi .L3424 + ldr w0, [x24, #:lo12:.LANCHOR19] + tbz x0, 8, .L3425 ldr x0, [x29, 128] mov w3, w25 - ldr x1, [x23, #:lo12:.LANCHOR9] + ldr x1, [x23, #:lo12:.LANCHOR11] ldrh w2, [x21, 80] - ldr x0, [x0, #:lo12:.LANCHOR10] + ldr x0, [x0, #:lo12:.LANCHOR12] ldrh w2, [x1, x2, lsl 1] ldrh w1, [x0, 80] - adrp x0, .LC216 - add x0, x0, :lo12:.LC216 + adrp x0, .LC219 + add x0, x0, :lo12:.LC219 bl printf -.L3398: +.L3425: ldrh w1, [x21, 80] - ldr x0, [x23, #:lo12:.LANCHOR9] + ldr x0, [x23, #:lo12:.LANCHOR11] ldrh w0, [x0, x1, lsl 1] cmp w25, w0 - beq .L3399 + beq .L3426 adrp x1, .LANCHOR226 adrp x0, .LC0 mov w2, 898 add x1, x1, :lo12:.LANCHOR226 add x0, x0, :lo12:.LC0 bl printf -.L3399: +.L3426: ldrh w1, [x21, 80] - ldr x0, [x23, #:lo12:.LANCHOR9] + ldr x0, [x23, #:lo12:.LANCHOR11] strh w25, [x0, x1, lsl 1] ldrh w0, [x21, 80] bl zftl_insert_data_list @@ -21377,85 +21942,85 @@ gc_update_l2p_map_new: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 176 ret -.L3397: - adrp x27, .LANCHOR162 +.L3424: + adrp x27, .LANCHOR159 lsl x19, x22, 2 - ldr x0, [x27, #:lo12:.LANCHOR162] + ldr x0, [x27, #:lo12:.LANCHOR159] ldr w2, [x0, x19] cmn w2, #1 - beq .L3388 + beq .L3415 adrp x0, .LANCHOR131 ldrb w20, [x0, #:lo12:.LANCHOR131] lsl w20, w20, 7 udiv w20, w2, w20 and w0, w20, 65535 str w0, [x29, 156] - ldr w0, [x24, #:lo12:.LANCHOR14] - tbz x0, 8, .L3389 + ldr w0, [x24, #:lo12:.LANCHOR19] + tbz x0, 8, .L3416 ldr w1, [x29, 156] - adrp x0, .LC214 + adrp x0, .LC217 mov w3, w22 - add x0, x0, :lo12:.LC214 + add x0, x0, :lo12:.LC217 bl printf -.L3389: +.L3416: sub w28, w26, w28 add x28, x28, x22 lsl x0, x28, 2 str x0, [x29, 144] - adrp x0, .LC215 - add x0, x0, :lo12:.LC215 + adrp x0, .LC218 + add x0, x0, :lo12:.LC218 str x0, [x29, 120] - adrp x0, .LANCHOR75 - add x0, x0, :lo12:.LANCHOR75 + adrp x0, .LANCHOR74 + add x0, x0, :lo12:.LANCHOR74 str x0, [x29, 112] -.L3390: +.L3417: ldr x0, [x29, 144] cmp x0, x19 - bne .L3396 -.L3388: + bne .L3423 +.L3415: add x22, x22, 1 - b .L3387 -.L3396: - ldr x0, [x27, #:lo12:.LANCHOR162] + b .L3414 +.L3423: + ldr x0, [x27, #:lo12:.LANCHOR159] ldr w20, [x0, x19] cmn w20, #1 - beq .L3391 + beq .L3418 ldr x0, [x29, 104] ldr w1, [x29, 156] ldrb w0, [x0] lsl w0, w0, 7 udiv w0, w20, w0 cmp w1, w0, uxth - bne .L3391 - adrp x0, .LANCHOR163 - ldr x0, [x0, #:lo12:.LANCHOR163] + bne .L3418 + adrp x0, .LANCHOR160 + ldr x0, [x0, #:lo12:.LANCHOR160] ldr w28, [x0, x19] mov w0, w20 bl lpa_hash_get_ppa str w0, [x29, 172] cmn w0, #1 - bne .L3392 + bne .L3419 mov w2, 0 add x1, x29, 172 mov w0, w20 bl pm_log2phys -.L3392: +.L3419: ldr w3, [x29, 172] cmp w28, w3 - bne .L3393 - adrp x0, .LANCHOR164 + bne .L3420 + adrp x0, .LANCHOR161 mov w2, 1 add x1, x29, 168 add w25, w25, 1 - ldr x0, [x0, #:lo12:.LANCHOR164] + ldr x0, [x0, #:lo12:.LANCHOR161] ldr w0, [x0, x19] str w0, [x29, 168] mov w0, w20 bl pm_log2phys ldr x0, [x29, 112] ldrh w2, [x0] - adrp x0, .LANCHOR32 - ldrb w1, [x0, #:lo12:.LANCHOR32] + adrp x0, .LANCHOR31 + ldrb w1, [x0, #:lo12:.LANCHOR31] mov w0, 24 lsr w28, w28, w2 sub w0, w0, w1 @@ -21464,28 +22029,28 @@ gc_update_l2p_map_new: lsl w0, w0, w1 sub w0, w0, #1 and w28, w0, w28 - adrp x0, .LANCHOR76 - ldrb w0, [x0, #:lo12:.LANCHOR76] + adrp x0, .LANCHOR75 + ldrb w0, [x0, #:lo12:.LANCHOR75] udiv w0, w28, w0 -.L3419: +.L3446: bl ftl_vpn_decrement - ldr x0, [x27, #:lo12:.LANCHOR162] + ldr x0, [x27, #:lo12:.LANCHOR159] mov w1, -1 str w1, [x0, x19] -.L3391: +.L3418: add x19, x19, 4 - b .L3390 -.L3393: - ldr w0, [x24, #:lo12:.LANCHOR14] - tbz x0, 8, .L3395 + b .L3417 +.L3420: + ldr w0, [x24, #:lo12:.LANCHOR19] + tbz x0, 8, .L3422 ldr x0, [x29, 120] mov w2, w28 mov w1, w20 bl printf -.L3395: +.L3422: ldr x0, [x29, 136] ldrh w0, [x0] - b .L3419 + b .L3446 .size gc_update_l2p_map_new, .-gc_update_l2p_map_new .section .text.gc_scan_src_blk_one_page,"ax",@progbits .align 2 @@ -21498,90 +22063,90 @@ gc_scan_src_blk_one_page: mov w5, 65535 add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x20, .LANCHOR71 - add x1, x20, :lo12:.LANCHOR71 + adrp x20, .LANCHOR70 + add x1, x20, :lo12:.LANCHOR70 stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] - adrp x21, .LANCHOR80 + adrp x21, .LANCHOR79 stp x25, x26, [sp, 64] - ldrb w6, [x21, #:lo12:.LANCHOR80] + ldrb w6, [x21, #:lo12:.LANCHOR79] ldrb w0, [x1, 4] add x2, x1, x0, sxtw 1 ldrh w22, [x2, 40] ldrh w2, [x1, 2] -.L3421: +.L3448: cmp w22, w5 - beq .L3423 - cbz w4, .L3424 - add x1, x20, :lo12:.LANCHOR71 + beq .L3450 + cbz w4, .L3451 + add x1, x20, :lo12:.LANCHOR70 strh w2, [x1, 2] -.L3424: - cbz w3, .L3425 - add x1, x20, :lo12:.LANCHOR71 +.L3451: + cbz w3, .L3452 + add x1, x20, :lo12:.LANCHOR70 strb w0, [x1, 4] -.L3425: +.L3452: mov w0, 1 adrp x23, .LANCHOR111 bl buf_alloc - adrp x24, .LANCHOR36 + adrp x24, .LANCHOR35 mov x25, x0 add x23, x23, :lo12:.LANCHOR111 - add x24, x24, :lo12:.LANCHOR36 + add x24, x24, :lo12:.LANCHOR35 mov w26, 1 -.L3426: - add x19, x20, :lo12:.LANCHOR71 +.L3453: + add x19, x20, :lo12:.LANCHOR70 ldrb w1, [x19, 6] cmp w26, w1 - ble .L3436 + ble .L3463 mov x0, x25 bl zbuf_free ldrb w0, [x19, 4] - ldrb w1, [x21, #:lo12:.LANCHOR80] + ldrb w1, [x21, #:lo12:.LANCHOR79] add w0, w0, 1 and w0, w0, 255 strb w0, [x19, 4] cmp w1, w0 - bne .L3420 + bne .L3447 ldrh w0, [x19, 2] strb wzr, [x19, 4] add w0, w0, 1 strh w0, [x19, 2] -.L3420: +.L3447: 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 -.L3423: +.L3450: add w0, w0, 1 and w0, w0, 255 cmp w0, w6 - bne .L3422 + bne .L3449 add w2, w2, 1 mov w0, 0 and w2, w2, 65535 mov w4, 1 -.L3422: +.L3449: add x3, x1, x0, sxtw 1 ldrh w22, [x3, 40] mov w3, 1 - b .L3421 -.L3436: + b .L3448 +.L3463: ldrh w0, [x23] cmp w1, 2 mul w0, w0, w22 - bne .L3427 + bne .L3454 ldrh w1, [x19, 2] lsl w1, w1, 1 -.L3446: +.L3473: sub w1, w1, #1 add w0, w26, w0 add w0, w1, w0 - adrp x1, .LANCHOR79 - ldrb w1, [x1, #:lo12:.LANCHOR79] + adrp x1, .LANCHOR78 + ldrb w1, [x1, #:lo12:.LANCHOR78] orr w0, w0, w1, lsl 24 -.L3445: +.L3472: str w0, [x25, 40] mov w1, 1 mov x0, x25 @@ -21589,64 +22154,64 @@ gc_scan_src_blk_one_page: ldr w0, [x25, 52] cmp w0, 512 ccmn w0, #1, 4, ne - beq .L3433 + beq .L3460 ldr x0, [x25, 24] ldr w19, [x0, 4] mov w0, w19 bl lpa_hash_get_ppa str w0, [x29, 92] cmn w0, #1 - bne .L3434 + bne .L3461 adrp x0, .LANCHOR128 ldr w0, [x0, #:lo12:.LANCHOR128] cmp w19, w0 - bcs .L3434 + bcs .L3461 mov w2, 0 add x1, x29, 92 mov w0, w19 bl pm_log2phys -.L3434: +.L3461: ldr w2, [x25, 40] ldr w0, [x29, 92] cmp w2, w0 - bne .L3433 - add x1, x20, :lo12:.LANCHOR71 - adrp x4, .LANCHOR77 - ldr x4, [x4, #:lo12:.LANCHOR77] + bne .L3460 + add x1, x20, :lo12:.LANCHOR70 + adrp x4, .LANCHOR76 + ldr x4, [x4, #:lo12:.LANCHOR76] ldrh w0, [x1, 24] ubfiz x3, x0, 2, 16 add w0, w0, 1 str w2, [x4, x3] strh w0, [x1, 24] -.L3433: - add x1, x20, :lo12:.LANCHOR71 +.L3460: + add x1, x20, :lo12:.LANCHOR70 add w26, w26, 1 ldrh w0, [x1, 26] add w0, w0, 1 strh w0, [x1, 26] - b .L3426 -.L3427: + b .L3453 +.L3454: cmp w1, 3 - bne .L3429 + bne .L3456 ldrb w1, [x24] - cbnz w1, .L3430 - adrp x1, .LANCHOR37 - ldrb w1, [x1, #:lo12:.LANCHOR37] - cbz w1, .L3431 -.L3430: - add x1, x20, :lo12:.LANCHOR71 + cbnz w1, .L3457 + adrp x1, .LANCHOR36 + ldrb w1, [x1, #:lo12:.LANCHOR36] + cbz w1, .L3458 +.L3457: + add x1, x20, :lo12:.LANCHOR70 ldrh w1, [x1, 2] add w1, w1, w1, lsl 1 - b .L3446 -.L3431: + b .L3473 +.L3458: ldrh w1, [x19, 2] add w0, w1, w0 orr w0, w0, w26, lsl 24 - b .L3445 -.L3429: + b .L3472 +.L3456: ldrh w1, [x19, 2] add w0, w1, w0 - b .L3445 + b .L3472 .size gc_scan_src_blk_one_page, .-gc_scan_src_blk_one_page .section .text.gc_scan_src_blk,"ax",@progbits .align 2 @@ -21657,117 +22222,117 @@ gc_scan_src_blk: mov w0, 65535 add x29, sp, 0 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR71 + adrp x21, .LANCHOR70 stp x19, x20, [sp, 16] - ldrh w1, [x21, #:lo12:.LANCHOR71] + ldrh w1, [x21, #:lo12:.LANCHOR70] stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] cmp w1, w0 stp x27, x28, [sp, 80] - bne .L3448 + bne .L3475 adrp x1, .LANCHOR227 adrp x0, .LC0 - mov w2, 1504 + mov w2, 1505 add x1, x1, :lo12:.LANCHOR227 add x0, x0, :lo12:.LC0 bl printf -.L3448: - ldrh w1, [x21, #:lo12:.LANCHOR71] +.L3475: + ldrh w1, [x21, #:lo12:.LANCHOR70] mov w0, 65535 cmp w1, w0 - beq .L3478 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L3450 - adrp x2, .LANCHOR9 + beq .L3505 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L3477 + adrp x2, .LANCHOR11 ubfiz x0, x1, 1, 16 - ldr x2, [x2, #:lo12:.LANCHOR9] + ldr x2, [x2, #:lo12:.LANCHOR11] ldrh w2, [x2, x0] - adrp x0, .LC217 - add x0, x0, :lo12:.LC217 + adrp x0, .LC220 + add x0, x0, :lo12:.LC220 bl printf -.L3450: - ldrh w0, [x21, #:lo12:.LANCHOR71] - add x14, x21, :lo12:.LANCHOR71 +.L3477: + ldrh w0, [x21, #:lo12:.LANCHOR70] + add x14, x21, :lo12:.LANCHOR70 add x1, x14, 40 bl ftl_get_blk_list_in_sblk and w1, w0, 255 strb w1, [x14, 5] - cbnz w1, .L3451 + cbnz w1, .L3478 mov w0, -1 - strh w0, [x21, #:lo12:.LANCHOR71] -.L3478: + strh w0, [x21, #:lo12:.LANCHOR70] +.L3505: mov w0, 0 - b .L3447 -.L3451: - adrp x4, .LANCHOR7 - ldrh w3, [x21, #:lo12:.LANCHOR71] + b .L3474 +.L3478: + adrp x4, .LANCHOR9 + ldrh w3, [x21, #:lo12:.LANCHOR70] mov x19, x4 - ldr x1, [x4, #:lo12:.LANCHOR7] + ldr x1, [x4, #:lo12:.LANCHOR9] mov x2, x3 add x1, x1, x3, lsl 2 ldrb w1, [x1, 2] and w1, w1, 224 cmp w1, 32 - beq .L3452 + beq .L3479 cmp w1, 224 - beq .L3452 - cbz w1, .L3453 - adrp x1, .LANCHOR10 - ldr x1, [x1, #:lo12:.LANCHOR10] + beq .L3479 + cbz w1, .L3480 + adrp x1, .LANCHOR12 + ldr x1, [x1, #:lo12:.LANCHOR12] ldrh w3, [x1, 16] cmp w3, w2 - beq .L3452 + beq .L3479 ldrh w3, [x1, 48] cmp w3, w2 - beq .L3452 + beq .L3479 ldrh w1, [x1, 80] cmp w1, w2 - bne .L3498 -.L3452: - add x0, x21, :lo12:.LANCHOR71 + bne .L3525 +.L3479: + add x0, x21, :lo12:.LANCHOR70 mov w1, -1 - strh w1, [x21, #:lo12:.LANCHOR71] + strh w1, [x21, #:lo12:.LANCHOR70] strh wzr, [x0, 24] - b .L3478 -.L3453: - adrp x0, .LANCHOR9 + b .L3505 +.L3480: + adrp x0, .LANCHOR11 mov x19, x0 - ldr x1, [x0, #:lo12:.LANCHOR9] + ldr x1, [x0, #:lo12:.LANCHOR11] ldrh w1, [x1, x3, lsl 1] - cbz w1, .L3455 + cbz w1, .L3482 adrp x1, .LANCHOR227 adrp x0, .LC0 - mov w2, 1529 + mov w2, 1530 add x1, x1, :lo12:.LANCHOR227 add x0, x0, :lo12:.LC0 bl printf -.L3455: - ldrh w1, [x21, #:lo12:.LANCHOR71] - ldr x0, [x19, #:lo12:.LANCHOR9] +.L3482: + ldrh w1, [x21, #:lo12:.LANCHOR70] + ldr x0, [x19, #:lo12:.LANCHOR11] strh wzr, [x0, x1, lsl 1] - b .L3452 -.L3498: + b .L3479 +.L3525: and w0, w0, 255 sub w0, w0, #1 add x0, x14, x0, sxtw 1 ldrh w24, [x0, 40] mov w0, 65535 cmp w24, w0 - bne .L3456 + bne .L3483 adrp x1, .LANCHOR227 adrp x0, .LC0 - mov w2, 1539 + mov w2, 1540 add x1, x1, :lo12:.LANCHOR227 add x0, x0, :lo12:.LC0 bl printf -.L3456: - ldrh w1, [x21, #:lo12:.LANCHOR71] +.L3483: + ldrh w1, [x21, #:lo12:.LANCHOR70] adrp x23, .LANCHOR111 - ldr x2, [x19, #:lo12:.LANCHOR7] - adrp x22, .LANCHOR95 + ldr x2, [x19, #:lo12:.LANCHOR9] + adrp x22, .LANCHOR94 ldrh w20, [x23, #:lo12:.LANCHOR111] - ldrh w0, [x22, #:lo12:.LANCHOR95] + ldrh w0, [x22, #:lo12:.LANCHOR94] add x1, x2, x1, lsl 2 sub w0, w0, #1 and w0, w0, 65535 @@ -21775,31 +22340,31 @@ gc_scan_src_blk: ldrb w1, [x1, 2] and w1, w1, 224 cmp w1, 160 - bne .L3479 - adrp x1, .LANCHOR79 - ldrb w1, [x1, #:lo12:.LANCHOR79] + bne .L3506 + adrp x1, .LANCHOR78 + ldrb w1, [x1, #:lo12:.LANCHOR78] and w27, w1, 65535 cmp w1, 2 orr w20, w20, w1, lsl 24 - bne .L3458 - adrp x0, .LANCHOR86 - ldrh w0, [x0, #:lo12:.LANCHOR86] + bne .L3485 + adrp x0, .LANCHOR85 + ldrh w0, [x0, #:lo12:.LANCHOR85] sub w0, w0, #1 and w0, w0, 65535 -.L3458: +.L3485: + adrp x1, .LANCHOR35 + ldrb w1, [x1, #:lo12:.LANCHOR35] + cbnz w1, .L3486 adrp x1, .LANCHOR36 ldrb w1, [x1, #:lo12:.LANCHOR36] - cbnz w1, .L3459 - adrp x1, .LANCHOR37 - ldrb w1, [x1, #:lo12:.LANCHOR37] - cbz w1, .L3457 -.L3459: - adrp x0, .LANCHOR86 - ldrh w0, [x0, #:lo12:.LANCHOR86] + cbz w1, .L3484 +.L3486: + adrp x0, .LANCHOR85 + ldrh w0, [x0, #:lo12:.LANCHOR85] sub w0, w0, #1 and w0, w0, 65535 -.L3457: - add x25, x21, :lo12:.LANCHOR71 +.L3484: + add x25, x21, :lo12:.LANCHOR70 orr w20, w0, w20 mov w0, 1 strb w27, [x25, 6] @@ -21816,13 +22381,13 @@ gc_scan_src_blk: ldr w0, [x19, 52] cmp w0, 512 ccmn w0, #1, 4, ne - bne .L3460 -.L3503: + bne .L3487 +.L3530: mov x0, x19 bl zbuf_free -.L3501: +.L3528: mov w0, -1 -.L3447: +.L3474: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -21830,43 +22395,43 @@ gc_scan_src_blk: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 112 ret -.L3479: +.L3506: mov w27, 1 - b .L3457 -.L3460: + b .L3484 +.L3487: ldr x7, [x19, 24] mov w0, 15555 movk w0, 0xf55f, lsl 16 ldr w1, [x7] cmp w1, w0 - beq .L3461 - mov w2, 1577 -.L3504: + beq .L3488 + mov w2, 1578 +.L3531: adrp x1, .LANCHOR227 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR227 add x0, x0, :lo12:.LC0 bl printf - b .L3503 -.L3461: - adrp x0, .LANCHOR80 - ldrh w26, [x22, #:lo12:.LANCHOR95] - ldrb w25, [x0, #:lo12:.LANCHOR80] + b .L3530 +.L3488: + adrp x0, .LANCHOR79 + ldrh w26, [x22, #:lo12:.LANCHOR94] + ldrb w25, [x0, #:lo12:.LANCHOR79] adrp x0, .LANCHOR224 ldrb w0, [x0, #:lo12:.LANCHOR224] mul w26, w25, w26 cmp w0, 2 mul w26, w27, w26 and w26, w26, 65535 - bne .L3462 + bne .L3489 cmp w27, 3 - bne .L3462 - adrp x1, .LANCHOR86 + bne .L3489 + adrp x1, .LANCHOR85 adrp x28, .LANCHOR221 - adrp x27, .LANCHOR77 - ldrh w1, [x1, #:lo12:.LANCHOR86] + adrp x27, .LANCHOR76 + ldrh w1, [x1, #:lo12:.LANCHOR85] ldrh w0, [x28, #:lo12:.LANCHOR221] - ldr x3, [x27, #:lo12:.LANCHOR77] + ldr x3, [x27, #:lo12:.LANCHOR76] ubfiz w1, w1, 2, 14 mul w25, w25, w1 ldr x1, [x19, 8] @@ -21878,100 +22443,100 @@ gc_scan_src_blk: bl ftl_memcpy ldr x0, [x19, 24] ldr w6, [x0, 4] - cbz w6, .L3463 + cbz w6, .L3490 ldr x0, [x19, 8] mov w1, w25 bl js_hash cmp w6, w0 - beq .L3463 + beq .L3490 mov x0, x19 bl zbuf_free ldr x0, [x19, 24] mov w3, w25 -.L3502: +.L3529: ldr w1, [x0, 4] - adrp x0, .LC218 + adrp x0, .LC221 ldr w2, [x19, 40] - add x0, x0, :lo12:.LC218 + add x0, x0, :lo12:.LC221 bl printf - b .L3501 -.L3463: + b .L3528 +.L3490: + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbnz w0, .L3491 adrp x0, .LANCHOR36 ldrb w0, [x0, #:lo12:.LANCHOR36] - cbnz w0, .L3464 - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbz w0, .L3465 -.L3464: + cbz w0, .L3492 +.L3491: sub w0, w20, #1 str w0, [x19, 40] -.L3466: +.L3493: mov w1, 1 mov x0, x19 bl sblk_read_page ldr w0, [x19, 52] cmp w0, 512 ccmn w0, #1, 4, ne - beq .L3503 + beq .L3530 ldr x0, [x19, 24] ldr w1, [x0] mov w0, 15555 movk w0, 0xf55f, lsl 16 cmp w1, w0 - beq .L3468 - mov w2, 1618 - b .L3504 -.L3465: + beq .L3495 + mov w2, 1619 + b .L3531 +.L3492: ldrh w1, [x23, #:lo12:.LANCHOR111] - ldrh w0, [x22, #:lo12:.LANCHOR95] + ldrh w0, [x22, #:lo12:.LANCHOR94] sub w0, w0, #1 and w0, w0, 65535 mul w24, w1, w24 orr w0, w0, 33554432 orr w24, w0, w24 str w24, [x19, 40] - b .L3466 -.L3468: + b .L3493 +.L3495: ldrh w2, [x28, #:lo12:.LANCHOR221] - ldr x0, [x27, #:lo12:.LANCHOR77] + ldr x0, [x27, #:lo12:.LANCHOR76] ldr x1, [x19, 8] -.L3500: - adrp x20, .LANCHOR77 +.L3527: + adrp x20, .LANCHOR76 bl ftl_memcpy - adrp x22, .LANCHOR75 - adrp x23, .LANCHOR32 - ldr x24, [x20, #:lo12:.LANCHOR77] - add x22, x22, :lo12:.LANCHOR75 - add x23, x23, :lo12:.LANCHOR32 + adrp x22, .LANCHOR74 + adrp x23, .LANCHOR31 + ldr x24, [x20, #:lo12:.LANCHOR76] + add x22, x22, :lo12:.LANCHOR74 + add x23, x23, :lo12:.LANCHOR31 mov x25, 0 -.L3471: +.L3498: cmp w26, w25 - bgt .L3476 + bgt .L3503 mov x0, x19 bl zbuf_free - adrp x0, .LANCHOR9 - ldrh w1, [x21, #:lo12:.LANCHOR71] - add x3, x21, :lo12:.LANCHOR71 + adrp x0, .LANCHOR11 + ldrh w1, [x21, #:lo12:.LANCHOR70] + add x3, x21, :lo12:.LANCHOR70 mov x19, x0 - ldr x4, [x0, #:lo12:.LANCHOR9] + ldr x4, [x0, #:lo12:.LANCHOR11] ubfiz x2, x1, 1, 16 ldrh w3, [x3, 24] ldrh w2, [x4, x2] cmp w2, w3 - beq .L3477 - adrp x0, .LC219 - add x0, x0, :lo12:.LC219 + beq .L3504 + adrp x0, .LC222 + add x0, x0, :lo12:.LC222 bl printf -.L3477: - add x0, x21, :lo12:.LANCHOR71 - ldrh w2, [x21, #:lo12:.LANCHOR71] - ldr x1, [x19, #:lo12:.LANCHOR9] +.L3504: + add x0, x21, :lo12:.LANCHOR70 + ldrh w2, [x21, #:lo12:.LANCHOR70] + ldr x1, [x19, #:lo12:.LANCHOR11] ldrh w3, [x0, 24] strh w3, [x1, x2, lsl 1] strh wzr, [x0, 28] ldrh w0, [x0, 24] - b .L3447 -.L3462: + b .L3474 +.L3489: ldr x6, [x19, 8] lsl w20, w26, 2 mov w1, w20 @@ -21979,31 +22544,31 @@ gc_scan_src_blk: bl js_hash ldr w1, [x7, 4] cmp w1, w0 - beq .L3470 + beq .L3497 mov x0, x19 bl zbuf_free mov w3, w20 ldr x0, [x19, 24] - b .L3502 -.L3470: - adrp x0, .LANCHOR77 + b .L3529 +.L3497: + adrp x0, .LANCHOR76 mov w2, w20 mov x1, x6 - ldr x0, [x0, #:lo12:.LANCHOR77] - b .L3500 -.L3476: + ldr x0, [x0, #:lo12:.LANCHOR76] + b .L3527 +.L3503: ldr w0, [x24, x25, lsl 2] cmn w0, #1 - beq .L3473 + beq .L3500 bl lpa_hash_get_ppa str w0, [x29, 108] cmn w0, #1 - bne .L3474 + bne .L3501 ldr w0, [x24, x25, lsl 2] mov w2, 0 add x1, x29, 108 bl pm_log2phys -.L3474: +.L3501: ldrb w0, [x23] mov w1, 24 ldrh w2, [x22] @@ -22012,25 +22577,25 @@ gc_scan_src_blk: sub w1, w0, w2 mov w0, 1 lsl w0, w0, w1 - adrp x1, .LANCHOR76 + adrp x1, .LANCHOR75 sub w0, w0, #1 lsr w2, w3, w2 - ldrb w1, [x1, #:lo12:.LANCHOR76] + ldrb w1, [x1, #:lo12:.LANCHOR75] and w0, w0, w2 - ldrh w2, [x21, #:lo12:.LANCHOR71] + ldrh w2, [x21, #:lo12:.LANCHOR70] udiv w0, w0, w1 - add x1, x21, :lo12:.LANCHOR71 + add x1, x21, :lo12:.LANCHOR70 cmp w0, w2 - bne .L3473 + bne .L3500 ldrh w0, [x1, 24] - ldr x4, [x20, #:lo12:.LANCHOR77] + ldr x4, [x20, #:lo12:.LANCHOR76] ubfiz x2, x0, 2, 16 add w0, w0, 1 str w3, [x4, x2] strh w0, [x1, 24] -.L3473: +.L3500: add x25, x25, 1 - b .L3471 + b .L3498 .size gc_scan_src_blk, .-gc_scan_src_blk .section .text.gc_scan_static_data,"ax",@progbits .align 2 @@ -22040,27 +22605,27 @@ gc_scan_static_data: stp x29, x30, [sp, -80]! add x29, sp, 0 stp x19, x20, [sp, 16] - adrp x19, .LANCHOR10 + adrp x19, .LANCHOR12 stp x21, x22, [sp, 32] - ldr x0, [x19, #:lo12:.LANCHOR10] + ldr x0, [x19, #:lo12:.LANCHOR12] ldr w1, [x0, 544] str x23, [sp, 48] cmn w1, #1 - beq .L3506 + beq .L3533 adrp x21, .LANCHOR228 adrp x22, .LC0 add x21, x21, :lo12:.LANCHOR228 add x22, x22, :lo12:.LC0 mov w20, 0 -.L3514: - ldr x0, [x19, #:lo12:.LANCHOR10] +.L3541: + ldr x0, [x19, #:lo12:.LANCHOR12] mov w2, 0 add x1, x29, 76 ldr w0, [x0, 544] bl pm_log2phys ldr w0, [x29, 76] cmn w0, #1 - beq .L3507 + beq .L3534 mov w0, 1 bl buf_alloc ldr w1, [x29, 76] @@ -22070,12 +22635,12 @@ gc_scan_static_data: bl sblk_read_page ldr w0, [x23, 52] cmp w0, 256 - bne .L3508 - adrp x0, .LANCHOR75 + bne .L3535 + adrp x0, .LANCHOR74 ldr w2, [x29, 76] - ldrh w3, [x0, #:lo12:.LANCHOR75] - adrp x0, .LANCHOR32 - ldrb w1, [x0, #:lo12:.LANCHOR32] + ldrh w3, [x0, #:lo12:.LANCHOR74] + adrp x0, .LANCHOR31 + ldrb w1, [x0, #:lo12:.LANCHOR31] mov w0, 24 lsr w2, w2, w3 sub w0, w0, w1 @@ -22084,34 +22649,34 @@ gc_scan_static_data: lsl w0, w1, w0 sub w0, w0, #1 and w0, w0, w2 - adrp x2, .LANCHOR76 - ldrb w3, [x2, #:lo12:.LANCHOR76] + adrp x2, .LANCHOR75 + ldrb w3, [x2, #:lo12:.LANCHOR75] mov w2, 0 udiv w0, w0, w3 bl gc_add_sblk -.L3508: - ldr x0, [x19, #:lo12:.LANCHOR10] +.L3535: + ldr x0, [x19, #:lo12:.LANCHOR12] ldr x1, [x23, 24] ldr w0, [x0, 544] ldr w1, [x1, 4] cmp w1, w0 - beq .L3509 - mov w2, 2162 + beq .L3536 + mov w2, 2163 mov x1, x21 mov x0, x22 bl printf -.L3509: +.L3536: mov x0, x23 bl zbuf_free -.L3507: - ldr x0, [x19, #:lo12:.LANCHOR10] +.L3534: + ldr x0, [x19, #:lo12:.LANCHOR12] adrp x2, .LANCHOR128 ldr w2, [x2, #:lo12:.LANCHOR128] ldr w1, [x0, 544] add w1, w1, 1 str w1, [x0, 544] cmp w1, w2 - bcc .L3510 + bcc .L3537 mov w1, -1 str w1, [x0, 544] ldr w1, [x0, 548] @@ -22122,46 +22687,46 @@ gc_scan_static_data: bl ftl_ext_info_flush mov w0, 0 bl ftl_info_flush -.L3505: +.L3532: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldr x23, [sp, 48] ldp x29, x30, [sp], 80 ret -.L3510: +.L3537: ldr w0, [x29, 76] cmn w0, #1 - bne .L3505 + bne .L3532 adrp x1, .LANCHOR221 add w0, w20, 1 and w0, w0, 65535 ldrh w1, [x1, #:lo12:.LANCHOR221] cmp w20, w1, lsr 2 - bcs .L3505 + bcs .L3532 mov w20, w0 - b .L3514 -.L3506: + b .L3541 +.L3533: ldr w1, [x0, 536] adrp x3, .LANCHOR110 ldr w2, [x0, 12] add w1, w1, 12959744 add w1, w1, 256 cmp w2, w1 - bhi .L3516 + bhi .L3543 ldr x4, [x3, #:lo12:.LANCHOR110] mov w5, 5000 ldr w1, [x0, 540] add w1, w1, w5 ldr w4, [x4, 44] cmp w4, w1 - bls .L3505 -.L3516: + bls .L3532 +.L3543: ldr x1, [x3, #:lo12:.LANCHOR110] ldr w1, [x1, 44] str w1, [x0, 540] str w2, [x0, 536] str wzr, [x0, 544] - b .L3505 + b .L3532 .size gc_scan_static_data, .-gc_scan_static_data .section .text.ftl_sblk_dump,"ax",@progbits .align 2 @@ -22173,12 +22738,12 @@ ftl_sblk_dump: stp x29, x30, [sp, 48] add x29, sp, 48 stp x23, x24, [sp, 96] - adrp x24, .LANCHOR7 + adrp x24, .LANCHOR9 lsl x23, x0, 2 stp x19, x20, [sp, 64] str x0, [x29, 144] mov x20, x0 - ldr x0, [x24, #:lo12:.LANCHOR7] + ldr x0, [x24, #:lo12:.LANCHOR9] str x1, [x29, 160] add x1, x0, x23 stp x21, x22, [sp, 80] @@ -22187,50 +22752,50 @@ ftl_sblk_dump: ldrb w2, [x1, 2] mov w1, w20 ldrh w4, [x0, x23] - adrp x0, .LC220 + adrp x0, .LC223 stp x27, x28, [sp, 128] ubfx x5, x5, 11, 8 ubfx x3, x2, 3, 2 and w4, w4, 2047 ubfx x2, x2, 5, 3 - add x0, x0, :lo12:.LC220 + add x0, x0, :lo12:.LC223 bl printf mov w0, 65535 cmp w20, w0 - beq .L3545 - adrp x0, .LANCHOR6 - ldrh w0, [x0, #:lo12:.LANCHOR6] + beq .L3572 + adrp x0, .LANCHOR8 + ldrh w0, [x0, #:lo12:.LANCHOR8] cmp w0, w20 - bls .L3545 - ldr x0, [x24, #:lo12:.LANCHOR7] + bls .L3572 + ldr x0, [x24, #:lo12:.LANCHOR9] add x0, x0, x23 ldrb w0, [x0, 2] and w0, w0, 224 cmp w0, 160 - bne .L3546 - adrp x0, .LANCHOR79 - ldrb w25, [x0, #:lo12:.LANCHOR79] -.L3524: + bne .L3573 + adrp x0, .LANCHOR78 + ldrb w25, [x0, #:lo12:.LANCHOR78] +.L3551: add x28, x29, 240 - adrp x21, .LANCHOR95 + adrp x21, .LANCHOR94 mov w0, w20 mov w19, 0 strh w20, [x28, -32]! add x1, x28, 16 bl ftl_get_blk_list_in_sblk - ldrh w2, [x21, #:lo12:.LANCHOR95] + ldrh w2, [x21, #:lo12:.LANCHOR94] and w1, w0, 255 strb w1, [x29, 217] and w4, w0, 255 strb wzr, [x29, 213] mov w3, w25 strh wzr, [x29, 210] - adrp x0, .LC221 + adrp x0, .LC224 mul w1, w1, w2 strh wzr, [x29, 218] strh w1, [x29, 214] - add x0, x0, :lo12:.LC221 - ldr x1, [x24, #:lo12:.LANCHOR7] + add x0, x0, :lo12:.LC224 + ldr x1, [x24, #:lo12:.LANCHOR9] add x1, x1, x23 ldrb w2, [x1, 2] mov w1, w20 @@ -22245,55 +22810,55 @@ ftl_sblk_dump: str wzr, [x29, 176] add x0, x0, :lo12:.LANCHOR111 str x0, [x29, 112] -.L3525: +.L3552: ldr x0, [x29, 136] - ldrh w0, [x0, #:lo12:.LANCHOR95] + ldrh w0, [x0, #:lo12:.LANCHOR94] cmp w0, w19 - bls .L3542 + bls .L3569 lsl w0, w19, 1 mov w22, 0 sub w1, w0, #1 add w0, w0, w19 sub w0, w0, #1 stp w1, w0, [x29, 152] - adrp x0, .LC167 - add x0, x0, :lo12:.LC167 + adrp x0, .LC160 + add x0, x0, :lo12:.LC160 str x0, [x29, 120] - b .L3543 -.L3546: + b .L3570 +.L3573: mov w25, 1 - b .L3524 -.L3539: + b .L3551 +.L3566: ldr x0, [x29, 128] ldrh w11, [x28, x0] mov w0, 65535 cmp w11, w0 - beq .L3526 + beq .L3553 ldr x0, [x29, 112] cmp w25, 3 ldrh w8, [x0] mul w1, w8, w11 add w0, w21, w1 - bne .L3527 - adrp x2, .LANCHOR36 - ldrb w2, [x2, #:lo12:.LANCHOR36] - cbz w2, .L3528 - adrp x1, .LANCHOR79 - ldrb w8, [x1, #:lo12:.LANCHOR79] + bne .L3554 + adrp x2, .LANCHOR35 + ldrb w2, [x2, #:lo12:.LANCHOR35] + cbz w2, .L3555 + adrp x1, .LANCHOR78 + ldrb w8, [x1, #:lo12:.LANCHOR78] ldr w1, [x29, 156] -.L3555: +.L3582: add w0, w0, w1 orr w27, w0, w8, lsl 24 - b .L3529 -.L3528: - adrp x2, .LANCHOR37 + b .L3556 +.L3555: + adrp x2, .LANCHOR36 lsl w8, w21, 24 - ldrb w2, [x2, #:lo12:.LANCHOR37] - cbz w2, .L3530 + ldrb w2, [x2, #:lo12:.LANCHOR36] + cbz w2, .L3557 ldr w1, [x29, 156] add w0, w0, w1 orr w27, w0, w8 -.L3529: +.L3556: str w27, [x26, 40] mov w1, 1 str w11, [x29, 100] @@ -22329,28 +22894,28 @@ ftl_sblk_dump: ccmn w12, #1, 4, ne csinc w0, w0, wzr, ne str w0, [x29, 168] - ldr x0, [x24, #:lo12:.LANCHOR7] + ldr x0, [x24, #:lo12:.LANCHOR9] add x0, x0, x23 ldrb w0, [x0, 2] and w0, w0, 224 cmp w0, 224 ccmp w0, w1, 4, ne - beq .L3526 + beq .L3553 ldr x0, [x26, 24] ldr w0, [x0, 4] bl lpa_hash_get_ppa str w0, [x29, 204] cmn w0, #1 - bne .L3533 + bne .L3560 ldr x0, [x26, 24] mov w2, 0 add x1, x29, 204 ldr w0, [x0, 4] bl pm_log2phys -.L3533: +.L3560: ldr w0, [x29, 204] cmp w27, w0 - bne .L3534 + bne .L3561 ldr w0, [x29, 172] mov w1, w27 add w0, w0, 1 @@ -22358,12 +22923,12 @@ ftl_sblk_dump: ldr x0, [x26, 24] ldr w3, [x29, 172] ldr w2, [x0, 4] - adrp x0, .LC222 - add x0, x0, :lo12:.LC222 + adrp x0, .LC225 + add x0, x0, :lo12:.LC225 bl printf -.L3534: +.L3561: ldr x0, [x29, 160] - cbz x0, .L3536 + cbz x0, .L3563 ldr x0, [x29, 176] ubfiz x3, x0, 2, 32 ldr x0, [x29, 160] @@ -22371,85 +22936,85 @@ ftl_sblk_dump: ldr x0, [x26, 24] ldr w0, [x0, 4] cmp w0, w2 - beq .L3537 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L3537 + beq .L3564 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L3564 ldr w1, [x29, 176] - adrp x0, .LC223 + adrp x0, .LC226 str x3, [x29, 104] - add x0, x0, :lo12:.LC223 + add x0, x0, :lo12:.LC226 bl printf ldr x3, [x29, 104] -.L3537: +.L3564: ldr x1, [x26, 24] ldr x0, [x29, 160] ldr w1, [x1, 4] ldr w0, [x0, x3] cmp w1, w0 - beq .L3536 + beq .L3563 cmn w0, #1 - beq .L3536 + beq .L3563 adrp x1, .LANCHOR229 adrp x0, .LC0 - mov w2, 1567 + mov w2, 1575 add x1, x1, :lo12:.LANCHOR229 add x0, x0, :lo12:.LC0 bl printf -.L3536: +.L3563: ldr w0, [x29, 176] add w0, w0, 1 str w0, [x29, 176] -.L3526: +.L3553: add w21, w21, 1 and w21, w21, 65535 -.L3541: +.L3568: cmp w25, w21 - bcs .L3539 + bcs .L3566 add w22, w22, 1 and w22, w22, 65535 -.L3543: +.L3570: ldrb w0, [x29, 217] cmp w0, w22 - bls .L3540 + bls .L3567 sxtw x0, w22 mov w21, 1 add x0, x0, 8 lsl x0, x0, 1 str x0, [x29, 128] - b .L3541 -.L3530: + b .L3568 +.L3557: add w1, w19, w1 orr w27, w8, w1 - b .L3529 -.L3527: + b .L3556 +.L3554: cmp w25, 2 - bne .L3531 - adrp x1, .LANCHOR79 - ldrb w8, [x1, #:lo12:.LANCHOR79] + bne .L3558 + adrp x1, .LANCHOR78 + ldrb w8, [x1, #:lo12:.LANCHOR78] ldr w1, [x29, 152] - b .L3555 -.L3531: + b .L3582 +.L3558: add w27, w19, w1 - b .L3529 -.L3540: + b .L3556 +.L3567: add w19, w19, 1 and w19, w19, 65535 - b .L3525 -.L3542: + b .L3552 +.L3569: mov x0, x26 bl zbuf_free - adrp x0, .LANCHOR9 + adrp x0, .LANCHOR11 ldr x1, [x29, 144] ldr w3, [x29, 172] - ldr x0, [x0, #:lo12:.LANCHOR9] + ldr x0, [x0, #:lo12:.LANCHOR11] ldrh w2, [x0, x1, lsl 1] mov w1, w20 - adrp x0, .LC224 - add x0, x0, :lo12:.LC224 + adrp x0, .LC227 + add x0, x0, :lo12:.LC227 bl printf ldr w0, [x29, 168] -.L3522: +.L3549: ldp x19, x20, [sp, 64] ldp x21, x22, [sp, 80] ldp x23, x24, [sp, 96] @@ -22458,266 +23023,299 @@ ftl_sblk_dump: ldp x29, x30, [sp, 48] add sp, sp, 288 ret -.L3545: +.L3572: mov w0, 0 - b .L3522 + b .L3549 .size ftl_sblk_dump, .-ftl_sblk_dump .section .text.zftl_read,"ax",@progbits .align 2 .global zftl_read .type zftl_read, %function zftl_read: - sub sp, sp, #208 + sub sp, sp, #192 stp x29, x30, [sp, 16] add x29, sp, 16 stp x19, x20, [sp, 32] mov w19, w0 - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR19 stp x21, x22, [sp, 48] stp x23, x24, [sp, 64] mov w20, w1 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] mov w23, w2 stp x25, x26, [sp, 80] mov x22, x3 stp x27, x28, [sp, 96] - tbz x0, 12, .L3557 + tbz x0, 12, .L3584 mov w3, w2 - adrp x0, .LC225 + adrp x0, .LC228 mov w2, w1 - add x0, x0, :lo12:.LC225 + add x0, x0, :lo12:.LC228 mov w1, w19 bl printf -.L3557: - cbnz w19, .L3558 - adrp x0, .LANCHOR68 +.L3584: + cbnz w19, .L3585 + adrp x0, .LANCHOR67 mov w19, 24576 - ldr w0, [x0, #:lo12:.LANCHOR68] -.L3559: + ldr w0, [x0, #:lo12:.LANCHOR67] +.L3586: cmp w0, w20 ccmp w0, w23, 0, hi - bcc .L3589 + bcc .L3619 add w1, w20, w23 cmp w0, w1 - bcc .L3589 + bcc .L3619 adrp x1, .LANCHOR110 - adrp x26, .LANCHOR131 + adrp x24, .LANCHOR131 add w19, w19, w20 - str x1, [x29, 120] + str x1, [x29, 112] ldr x2, [x1, #:lo12:.LANCHOR110] - str x26, [x29, 168] ldr w0, [x2, 24] add w0, w0, w23 str w0, [x2, 24] - ldrb w0, [x26, #:lo12:.LANCHOR131] + ldrb w0, [x24, #:lo12:.LANCHOR131] + udiv w2, w19, w0 + stp wzr, w2, [x29, 152] add w2, w23, w19 - stp w2, wzr, [x29, 160] + str w2, [x29, 148] sub w2, w2, #1 - udiv w27, w19, w0 udiv w0, w2, w0 - mov w20, w27 - sub w25, w0, w27 - str w0, [x29, 156] - add w25, w25, 1 + ldr w2, [x29, 156] + mov x21, x2 + sub w26, w0, w2 + str w0, [x29, 144] + add w26, w26, 1 adrp x0, .LANCHOR134 add x28, x0, :lo12:.LANCHOR134 -.L3561: - cbnz w25, .L3586 - ldr w0, [x29, 164] -.L3556: +.L3588: + cbnz w26, .L3616 + ldr w0, [x29, 152] +.L3583: ldp x19, x20, [sp, 32] ldp x21, x22, [sp, 48] ldp x23, x24, [sp, 64] ldp x25, x26, [sp, 80] ldp x27, x28, [sp, 96] ldp x29, x30, [sp, 16] - add sp, sp, 208 + add sp, sp, 192 ret -.L3558: +.L3585: cmp w19, 3 - bhi .L3589 + bhi .L3619 lsl w19, w19, 13 mov w0, 8192 - b .L3559 -.L3586: - ldr x0, [x29, 168] - cmp w20, w27 - ldrb w1, [x0, #:lo12:.LANCHOR131] + b .L3586 +.L3616: ldr w0, [x29, 156] - and w24, w1, 65535 - ccmp w20, w0, 4, ne + ldrb w1, [x24, #:lo12:.LANCHOR131] + cmp w21, w0 + ldr w0, [x29, 144] + and w25, w1, 65535 + ccmp w21, w0, 4, ne + bne .L3620 + ldr w0, [x29, 156] + cmp w21, w0 bne .L3590 - cmp w20, w27 - bne .L3563 udiv w3, w19, w1 and w0, w23, 65535 msub w1, w3, w1, w19 - and w26, w1, 65535 - sub w24, w24, w26 - and w24, w24, 65535 - cmp w23, w24 - csel w24, w0, w24, cc -.L3562: - adrp x21, .LANCHOR56 - add x1, x21, :lo12:.LANCHOR56 + and w27, w1, 65535 + sub w25, w25, w27 + and w25, w25, 65535 + cmp w23, w25 + csel w25, w0, w25, cc +.L3589: + adrp x20, .LANCHOR55 + add x1, x20, :lo12:.LANCHOR55 add x1, x1, 2 mov w0, 0 -.L3566: +.L3593: ldr w2, [x1, 34] - cmp w20, w2 - bne .L3564 + cmp w21, w2 + bne .L3591 ldrb w2, [x1] - tbz x2, 3, .L3564 - add x1, x21, :lo12:.LANCHOR56 + tbz x2, 3, .L3591 + add x1, x20, :lo12:.LANCHOR55 ubfiz x0, x0, 6, 32 add x0, x1, x0 - lsl w2, w24, 9 - ubfiz x24, x24, 9, 16 - ubfiz x26, x26, 9, 16 + lsl w2, w25, 9 + ubfiz x25, x25, 9, 16 + ubfiz x27, x27, 9, 16 ldr x1, [x0, 8] mov x0, x22 - add x22, x22, x24 - add x1, x1, x26 + add x22, x22, x25 + add x1, x1, x27 bl ftl_memcpy -.L3565: - add w20, w20, 1 - sub w25, w25, #1 -.L3572: - adrp x0, .LANCHOR58 - ldrb w0, [x0, #:lo12:.LANCHOR58] +.L3592: + add w21, w21, 1 + sub w26, w26, #1 +.L3599: + adrp x0, .LANCHOR57 + ldrb w0, [x0, #:lo12:.LANCHOR57] cmp w0, 2 - bls .L3573 - cbnz w25, .L3561 -.L3573: + bls .L3600 + cbnz w26, .L3588 +.L3600: adrp x0, .LANCHOR134 ldrb w1, [x0, #:lo12:.LANCHOR134] - cbz w1, .L3561 - adrp x24, .LANCHOR133 - add x0, x21, :lo12:.LANCHOR56 - ldrb w2, [x24, #:lo12:.LANCHOR133] + cbz w1, .L3588 + adrp x25, .LANCHOR133 + add x0, x20, :lo12:.LANCHOR55 + ldrb w2, [x25, #:lo12:.LANCHOR133] add x0, x0, x2, lsl 6 bl sblk_read_page adrp x0, .LANCHOR230 add x0, x0, :lo12:.LANCHOR230 - str x0, [x29, 136] + str x0, [x29, 128] adrp x0, .LC0 add x0, x0, :lo12:.LC0 - str x0, [x29, 128] -.L3575: + str x0, [x29, 120] +.L3602: ldrb w0, [x28] - cbnz w0, .L3585 + cbnz w0, .L3615 mov w0, -1 strb wzr, [x28] - strb w0, [x24, #:lo12:.LANCHOR133] - b .L3561 -.L3563: - ldr w0, [x29, 160] - msub w24, w1, w20, w0 - and w24, w24, 255 + strb w0, [x25, #:lo12:.LANCHOR133] + b .L3588 .L3590: - mov w26, 0 - b .L3562 -.L3564: + ldr w0, [x29, 148] + msub w25, w1, w21, w0 + and w25, w25, 255 +.L3620: + mov w27, 0 + b .L3589 +.L3591: add w0, w0, 1 add x1, x1, 64 cmp w0, 16 - bne .L3566 - mov w0, w20 + bne .L3593 + mov w0, w21 bl lpa_hash_get_ppa - str w0, [x29, 188] + str w0, [x29, 172] cmn w0, #1 - bne .L3567 + bne .L3594 mov w2, 0 - add x1, x29, 188 - mov w0, w20 + add x1, x29, 172 + mov w0, w21 bl pm_log2phys -.L3567: - ldr w0, [x29, 188] +.L3594: + ldr w0, [x29, 172] cmn w0, #1 - bne .L3568 - ldr x0, [x29, 168] - mov w24, 0 - add x26, x0, :lo12:.LANCHOR131 -.L3569: - ldrb w0, [x26] - cmp w24, w0 - bcs .L3565 - madd w0, w20, w0, w24 + bne .L3595 + add x27, x24, :lo12:.LANCHOR131 + mov w25, 0 +.L3596: + ldrb w0, [x27] + cmp w25, w0 + bcs .L3592 + madd w0, w21, w0, w25 cmp w19, w0 - bhi .L3570 - ldr w1, [x29, 160] + bhi .L3597 + ldr w1, [x29, 148] cmp w1, w0 - bls .L3570 + bls .L3597 mov x0, x22 add x22, x22, 512 mov w2, 512 mov w1, 0 bl ftl_memset -.L3570: - add w24, w24, 1 - b .L3569 -.L3568: +.L3597: + add w25, w25, 1 + b .L3596 +.L3595: mov w0, 0 bl buf_alloc - cbz x0, .L3572 - ldr x2, [x29, 120] + cbz x0, .L3599 + ldr x2, [x29, 112] ldr x4, [x2, #:lo12:.LANCHOR110] ldr w2, [x4, 40] add w2, w2, 1 str w2, [x4, 40] - ldr w2, [x29, 188] - strb w24, [x0, 56] - ubfiz x24, x24, 9, 16 + ldr w2, [x29, 172] + strb w25, [x0, 56] + ubfiz x25, x25, 9, 16 str x22, [x0, 16] - add x22, x22, x24 - strb w26, [x0, 57] - stp w20, w2, [x0, 36] + add x22, x22, x25 + strb w27, [x0, 57] + stp w21, w2, [x0, 36] str w2, [x0, 44] bl zftl_add_read_buf - b .L3565 -.L3585: - ldrb w0, [x24, #:lo12:.LANCHOR133] + b .L3592 +.L3615: + ldrb w0, [x25, #:lo12:.LANCHOR133] cmp w0, 255 - bne .L3576 - ldp x0, x1, [x29, 128] - mov w2, 1276 + bne .L3603 + ldp x0, x1, [x29, 120] + mov w2, 1281 bl printf -.L3576: - ldrb w26, [x24, #:lo12:.LANCHOR133] - add x0, x21, :lo12:.LANCHOR56 - ubfiz x1, x26, 6, 8 - lsl x2, x26, 6 +.L3603: + ldrb w27, [x25, #:lo12:.LANCHOR133] + add x0, x20, :lo12:.LANCHOR55 + ubfiz x1, x27, 6, 8 + lsl x2, x27, 6 add x1, x0, x1 - str x1, [x29, 144] + str x1, [x29, 136] add x1, x0, x2 ldrb w0, [x0, x2] - strb w0, [x24, #:lo12:.LANCHOR133] + strb w0, [x25, #:lo12:.LANCHOR133] ldr w10, [x1, 52] cmn w10, #1 - bne .L3577 - adrp x0, .LANCHOR10 - str w10, [x29, 164] - ldr x1, [x0, #:lo12:.LANCHOR10] + bne .L3604 + adrp x0, .LANCHOR12 + str w10, [x29, 152] + ldr x1, [x0, #:lo12:.LANCHOR12] ldr w0, [x1, 552] add w0, w0, 1 str w0, [x1, 552] -.L3578: - add x1, x21, :lo12:.LANCHOR56 - add x1, x1, x26, lsl 6 +.L3605: + add x0, x20, :lo12:.LANCHOR55 + add x0, x0, x27, lsl 6 + ldr x3, [x0, 24] + ldr w0, [x0, 36] + ldr w1, [x3, 4] + cmp w1, w0 + bne .L3606 + cmn w10, #1 + bne .L3607 +.L3606: + add x0, x20, :lo12:.LANCHOR55 + ldrb w4, [x24, #:lo12:.LANCHOR131] + add x0, x0, x27, lsl 6 + mov w5, 1 + ldrb w1, [x0, 56] + ldp x2, x7, [x0, 8] + cmp w1, w4 + ldr w1, [x0, 40] + adrp x0, .LANCHOR31 + csel x2, x7, x2, cs + ldrb w6, [x0, #:lo12:.LANCHOR31] + mov w0, 24 + sub w0, w0, w6 + lsl w5, w5, w6 + sub w5, w5, #1 + lsl w6, w5, w0 + lsr w0, w1, w0 + bic w1, w1, w6 + and w0, w0, w5 + bl flash_read_page_en + mov w10, w0 +.L3607: + add x1, x20, :lo12:.LANCHOR55 + add x1, x1, x27, lsl 6 ldr x0, [x1, 24] ldr w3, [x1, 36] ldr w1, [x0, 4] cmp w1, w3 - bne .L3579 + bne .L3609 cmn w10, #1 - bne .L3580 -.L3579: - adrp x1, .LANCHOR10 - add x11, x21, :lo12:.LANCHOR56 - add x11, x11, x26, lsl 6 - str w10, [x29, 152] - ldr x2, [x1, #:lo12:.LANCHOR10] - str x11, [x29, 112] + bne .L3610 +.L3609: + adrp x1, .LANCHOR12 + add x11, x20, :lo12:.LANCHOR55 + add x11, x11, x27, lsl 6 + str w10, [x29, 108] + ldr x2, [x1, #:lo12:.LANCHOR12] + str x11, [x29, 96] ldr w1, [x2, 552] add w1, w1, 1 str w1, [x2, 552] @@ -22727,15 +23325,15 @@ zftl_read: mov w2, w10 ldp w5, w6, [x0] ldr w7, [x0, 8] - adrp x0, .LC227 + adrp x0, .LC230 ldr w4, [x11, 40] - add x0, x0, :lo12:.LC227 + add x0, x0, :lo12:.LC230 bl printf - adrp x0, .LANCHOR75 - ldr x11, [x29, 112] - ldrh w2, [x0, #:lo12:.LANCHOR75] - adrp x0, .LANCHOR32 - ldrb w1, [x0, #:lo12:.LANCHOR32] + adrp x0, .LANCHOR74 + ldr x11, [x29, 96] + ldrh w2, [x0, #:lo12:.LANCHOR74] + adrp x0, .LANCHOR31 + ldrb w1, [x0, #:lo12:.LANCHOR31] mov w0, 24 sub w0, w0, w1 sub w1, w0, w2 @@ -22745,34 +23343,33 @@ zftl_read: sub w0, w0, #1 lsr w1, w1, w2 and w0, w0, w1 - adrp x1, .LANCHOR76 - ldrb w2, [x1, #:lo12:.LANCHOR76] + adrp x1, .LANCHOR75 + ldrb w2, [x1, #:lo12:.LANCHOR75] mov x1, 0 udiv w0, w0, w2 bl ftl_sblk_dump - ldr w10, [x29, 152] -.L3580: - add x0, x21, :lo12:.LANCHOR56 - add x0, x0, x26, lsl 6 + ldr w10, [x29, 108] +.L3610: + add x0, x20, :lo12:.LANCHOR55 + add x0, x0, x27, lsl 6 ldr x1, [x0, 24] ldr w0, [x0, 36] ldr w1, [x1, 4] cmp w1, w0 - bne .L3581 + bne .L3611 cmn w10, #1 - bne .L3582 -.L3581: - ldp x0, x1, [x29, 128] - mov w2, 1301 + bne .L3612 +.L3611: + ldp x0, x1, [x29, 120] + mov w2, 1317 bl printf -.L3582: - add x0, x21, :lo12:.LANCHOR56 - add x8, x0, x26, lsl 6 - ldr x0, [x29, 168] +.L3612: + add x0, x20, :lo12:.LANCHOR55 + add x8, x0, x27, lsl 6 + ldrb w0, [x24, #:lo12:.LANCHOR131] ldrb w2, [x8, 56] - ldrb w0, [x0, #:lo12:.LANCHOR131] cmp w0, w2 - bls .L3583 + bls .L3613 ldrb w0, [x8, 57] lsl w2, w2, 9 ldr x1, [x8, 8] @@ -22780,58 +23377,58 @@ zftl_read: add x1, x1, x0 ldr x0, [x8, 16] bl ftl_memcpy -.L3584: - ldr x1, [x29, 144] - adrp x0, .LANCHOR63 - add x0, x0, :lo12:.LANCHOR63 +.L3614: + ldr x1, [x29, 136] + adrp x0, .LANCHOR62 + add x0, x0, :lo12:.LANCHOR62 bl buf_remove_buf - ldr x0, [x29, 144] + ldr x0, [x29, 136] bl zbuf_free ldrb w0, [x28] sub w0, w0, #1 strb w0, [x28] - b .L3575 -.L3577: + b .L3602 +.L3604: cmp w10, 256 - bne .L3578 - adrp x2, .LANCHOR32 - adrp x0, .LANCHOR75 + bne .L3605 + adrp x2, .LANCHOR31 + adrp x0, .LANCHOR74 mov w4, 24 mov w5, 1 - ldrb w2, [x2, #:lo12:.LANCHOR32] - ldrh w0, [x0, #:lo12:.LANCHOR75] + ldrb w2, [x2, #:lo12:.LANCHOR31] + ldrh w0, [x0, #:lo12:.LANCHOR74] sub w4, w4, w2 - stp w10, w5, [x29, 108] + str w5, [x29, 96] ldp w2, w3, [x1, 36] sub w4, w4, w0 lsl w4, w5, w4 sub w4, w4, #1 lsr w0, w3, w0 and w4, w4, w0 - adrp x0, .LANCHOR76 - ldrb w0, [x0, #:lo12:.LANCHOR76] + adrp x0, .LANCHOR75 + ldrb w0, [x0, #:lo12:.LANCHOR75] udiv w4, w4, w0 - adrp x0, .LC226 - add x0, x0, :lo12:.LC226 + adrp x0, .LC229 + add x0, x0, :lo12:.LC229 + stp w10, w4, [x29, 104] and w1, w4, 65535 - str w4, [x29, 152] bl printf - ldr w5, [x29, 112] + ldr w5, [x29, 96] mov w2, 0 - ldr w4, [x29, 152] + ldr w4, [x29, 108] mov w1, w5 mov w0, w4 bl gc_add_sblk - ldr w10, [x29, 108] - b .L3578 -.L3583: + ldr w10, [x29, 104] + b .L3605 +.L3613: ldrb w0, [x8, 2] and w0, w0, -9 strb w0, [x8, 2] - b .L3584 -.L3589: + b .L3614 +.L3619: mov w0, -1 - b .L3556 + b .L3583 .size zftl_read, .-zftl_read .section .text.zftl_sys_read,"ax",@progbits .align 2 @@ -22913,11 +23510,11 @@ ftl_update_l2p_map: stp x21, x22, [sp, 32] mov x22, x0 stp x19, x20, [sp, 16] - adrp x0, .LANCHOR95 + adrp x0, .LANCHOR94 stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] - ldrh w23, [x0, #:lo12:.LANCHOR95] + ldrh w23, [x0, #:lo12:.LANCHOR94] ldrb w0, [x22, 9] ldrh w19, [x22, 12] mul w23, w23, w0 @@ -22928,37 +23525,37 @@ ftl_update_l2p_map: add x1, x19, x23, sxtw 2 ldr w1, [x1, -4] cmn w1, #1 - beq .L3613 + beq .L3643 adrp x1, .LANCHOR231 adrp x0, .LC0 - mov w2, 1990 + mov w2, 1998 add x1, x1, :lo12:.LANCHOR231 add x0, x0, :lo12:.LC0 bl printf -.L3613: +.L3643: adrp x27, .LANCHOR131 mov x24, 0 add x0, x27, :lo12:.LANCHOR131 mov w21, 0 str x0, [x29, 96] -.L3614: +.L3644: cmp w24, w23 - blt .L3620 - adrp x0, .LANCHOR14 - adrp x19, .LANCHOR9 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L3621 + blt .L3650 + adrp x0, .LANCHOR19 + adrp x19, .LANCHOR11 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L3651 ldrh w1, [x22] - ldr x2, [x19, #:lo12:.LANCHOR9] + ldr x2, [x19, #:lo12:.LANCHOR11] ubfiz x0, x1, 1, 16 ldrh w3, [x2, x0] - adrp x0, .LC231 + adrp x0, .LC234 mov w2, w21 - add x0, x0, :lo12:.LC231 + add x0, x0, :lo12:.LC234 bl printf -.L3621: +.L3651: ldrh w1, [x22] - ldr x0, [x19, #:lo12:.LANCHOR9] + ldr x0, [x19, #:lo12:.LANCHOR11] ldp x23, x24, [sp, 48] ldp x19, x20, [sp, 16] strh w21, [x0, x1, lsl 1] @@ -22967,38 +23564,38 @@ ftl_update_l2p_map: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L3620: +.L3650: ldr w2, [x19, x24, lsl 2] cmn w2, #1 - beq .L3615 + beq .L3645 ldrb w20, [x27, #:lo12:.LANCHOR131] - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] lsl w20, w20, 7 udiv w20, w2, w20 and w20, w20, 65535 - tbz x0, 12, .L3616 - adrp x0, .LC228 + tbz x0, 12, .L3646 + adrp x0, .LC231 mov w3, w24 mov w1, w20 - add x0, x0, :lo12:.LC228 + add x0, x0, :lo12:.LC231 bl printf -.L3616: +.L3646: adrp x25, .LANCHOR111 - adrp x26, .LC229 + adrp x26, .LC232 mov x28, x24 add x25, x25, :lo12:.LANCHOR111 - add x26, x26, :lo12:.LC229 -.L3619: + add x26, x26, :lo12:.LC232 +.L3649: ldr w1, [x19, x28, lsl 2] cmn w1, #1 - beq .L3617 + beq .L3647 ldr x0, [x29, 96] ldrb w2, [x0] lsl w2, w2, 7 udiv w1, w1, w2 cmp w20, w1, uxth - bne .L3617 + bne .L3647 ldrb w0, [x22, 9] sdiv w1, w28, w0 msub w0, w1, w0, w28 @@ -23010,15 +23607,15 @@ ftl_update_l2p_map: str w2, [x29, 124] ldr w1, [x19, x28, lsl 2] bl pm_ppa_update_check - cbz w0, .L3618 + cbz w0, .L3648 ldr x0, [x29, 104] mov w3, w23 mov w2, 4 ldr x1, [x0, #:lo12:.LANCHOR117] - adrp x0, .LC230 - add x0, x0, :lo12:.LC230 + adrp x0, .LC233 + add x0, x0, :lo12:.LC233 bl rknand_print_hex -.L3618: +.L3648: ldr w0, [x19, x28, lsl 2] add w21, w21, 1 mov w2, 1 @@ -23027,13 +23624,13 @@ ftl_update_l2p_map: bl pm_log2phys mov w0, -1 str w0, [x19, x28, lsl 2] -.L3617: +.L3647: add x28, x28, 1 cmp w23, w28 - bgt .L3619 -.L3615: + bgt .L3649 +.L3645: add x24, x24, 1 - b .L3614 + b .L3644 .size ftl_update_l2p_map, .-ftl_update_l2p_map .section .text.ftl_alloc_new_data_sblk,"ax",@progbits .align 2 @@ -23051,36 +23648,36 @@ ftl_alloc_new_data_sblk: ldrh w0, [x20] mov w1, 65535 cmp w0, w1 - beq .L3643 + beq .L3673 bl zftl_insert_data_list -.L3643: - adrp x19, .LANCHOR10 - ldr x0, [x19, #:lo12:.LANCHOR10] +.L3673: + adrp x19, .LANCHOR12 + ldr x0, [x19, #:lo12:.LANCHOR12] add x0, x0, 16 cmp x20, x0 mov x0, x20 cset w1, ne add w1, w1, 2 bl ftl_open_sblk_init - ldr x0, [x19, #:lo12:.LANCHOR10] + ldr x0, [x19, #:lo12:.LANCHOR12] ldr w0, [x0, 560] cmp w0, w21 - bne .L3645 + bne .L3675 mov w20, 65535 cmp w21, w20 - beq .L3645 + beq .L3675 mov w1, w21 - adrp x0, .LC232 - add x0, x0, :lo12:.LC232 + adrp x0, .LC235 + add x0, x0, :lo12:.LC235 bl printf - ldr x0, [x19, #:lo12:.LANCHOR10] + ldr x0, [x19, #:lo12:.LANCHOR12] ldr w0, [x0, 564] bl gc_mark_bad_ppa - ldr x0, [x19, #:lo12:.LANCHOR10] + ldr x0, [x19, #:lo12:.LANCHOR12] mov w1, -1 str w20, [x0, 560] str w1, [x0, 564] -.L3645: +.L3675: bl ftl_ext_info_flush mov w0, 0 bl ftl_info_flush @@ -23097,56 +23694,56 @@ ftl_alloc_new_data_sblk: .type ftl_write_commit, %function ftl_write_commit: stp x29, x30, [sp, -160]! - adrp x0, .LANCHOR56 + adrp x0, .LANCHOR55 add x29, sp, 0 stp x23, x24, [sp, 48] - add x24, x0, :lo12:.LANCHOR56 + add x24, x0, :lo12:.LANCHOR55 add x0, x24, 1026 stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] str x0, [x29, 104] -.L3649: - adrp x2, .LANCHOR67 - ldrb w1, [x2, #:lo12:.LANCHOR67] - cbz w1, .L3651 - adrp x3, .LANCHOR66 - adrp x0, .LANCHOR56 - add x0, x0, :lo12:.LANCHOR56 +.L3679: + adrp x2, .LANCHOR66 + ldrb w1, [x2, #:lo12:.LANCHOR66] + cbz w1, .L3681 + adrp x3, .LANCHOR65 + adrp x0, .LANCHOR55 + add x0, x0, :lo12:.LANCHOR55 sub w1, w1, #1 - ldrb w4, [x3, #:lo12:.LANCHOR66] - strb w1, [x2, #:lo12:.LANCHOR67] - ubfiz x28, x4, 6, 8 - add x5, x0, x28 - stp x4, x5, [x29, 128] + ldrb w4, [x3, #:lo12:.LANCHOR65] + strb w1, [x2, #:lo12:.LANCHOR66] + ubfiz x5, x4, 6, 8 + add x5, x0, x5 + stp x4, x5, [x29, 120] lsl x4, x4, 6 add x5, x0, x4 ldrb w0, [x0, x4] - strb w0, [x3, #:lo12:.LANCHOR66] + strb w0, [x3, #:lo12:.LANCHOR65] adrp x0, .LANCHOR128 ldr w2, [x5, 36] mov x19, x0 ldr w1, [x0, #:lo12:.LANCHOR128] cmp w2, w1 - bcc .L3653 + bcc .L3683 adrp x1, .LANCHOR232 adrp x0, .LC0 mov w2, 604 add x1, x1, :lo12:.LANCHOR232 add x0, x0, :lo12:.LC0 bl printf -.L3653: - ldr x0, [x29, 128] +.L3683: + ldr x0, [x29, 120] ldr w1, [x19, #:lo12:.LANCHOR128] add x0, x24, x0, lsl 6 ldr w22, [x0, 36] cmp w22, w1 - bcc .L3654 - ldr x0, [x29, 136] + bcc .L3684 + ldr x0, [x29, 128] bl zbuf_free mov w0, -1 -.L3648: +.L3678: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -23154,25 +23751,25 @@ ftl_write_commit: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 160 ret -.L3654: +.L3684: ldrb w21, [x0, 57] ldrb w20, [x0, 56] ldr x26, [x0, 8] ldr x23, [x0, 24] adrp x0, .LANCHOR129 - str x0, [x29, 120] + str x0, [x29, 112] ldrb w1, [x0, #:lo12:.LANCHOR129] - cbz w1, .L3656 - adrp x0, .LANCHOR185 - ldrb w19, [x0, #:lo12:.LANCHOR185] + cbz w1, .L3686 + adrp x0, .LANCHOR182 + ldrb w19, [x0, #:lo12:.LANCHOR182] add x19, x24, x19, lsl 6 -.L3657: +.L3687: ldrb w0, [x19] cmp w0, 255 - bne .L3658 + bne .L3688 ldr w0, [x19, 36] cmp w22, w0 - bne .L3656 + bne .L3686 ldr x0, [x19, 8] ubfiz x21, x21, 9, 8 lsl w2, w20, 9 @@ -23189,86 +23786,86 @@ ftl_write_commit: add x2, x2, x0, sxtw 2 mov w0, 2 bl ftl_debug_info_fill - ldr x0, [x29, 136] + ldr x0, [x29, 128] bl zbuf_free - b .L3649 -.L3658: + b .L3679 +.L3688: ubfiz x19, x0, 6, 8 add x19, x24, x19 - b .L3657 -.L3656: + b .L3687 +.L3686: mov w0, w22 bl lpa_hash_get_ppa str w0, [x29, 156] cmn w0, #1 - bne .L3660 + bne .L3690 mov w2, 0 add x1, x29, 156 mov w0, w22 bl pm_log2phys -.L3660: - adrp x27, .LANCHOR10 +.L3690: + adrp x27, .LANCHOR12 ldr w2, [x29, 156] add x0, x24, 2 mov w3, 0 - ldr x19, [x27, #:lo12:.LANCHOR10] + ldr x19, [x27, #:lo12:.LANCHOR12] mov x25, 0 add x19, x19, 16 -.L3662: +.L3692: ldr w1, [x0, 34] cmp w22, w1 - bne .L3661 + bne .L3691 ldrb w1, [x0] - tbz x1, 3, .L3661 + tbz x1, 3, .L3691 ldr w2, [x0, 38] and w1, w1, -9 ldr x25, [x0, 6] mov w3, 1 strb w1, [x0] -.L3661: +.L3691: ldr x1, [x29, 104] add x0, x0, 64 cmp x0, x1 - bne .L3662 - cbz w3, .L3663 + bne .L3692 + cbz w3, .L3693 str w2, [x29, 156] -.L3663: - adrp x0, .LANCHOR131 - str x0, [x29, 112] - ldrb w1, [x0, #:lo12:.LANCHOR131] - cmp w20, w1 - bcs .L3687 +.L3693: + adrp x28, .LANCHOR131 + str x28, [x29, 136] + ldrb w0, [x28, #:lo12:.LANCHOR131] + cmp w20, w0 + bcs .L3719 add w20, w21, w20 - cbz x25, .L3665 - cbz w21, .L3666 + cbz x25, .L3695 + cbz w21, .L3696 lsl w2, w21, 9 mov x1, x25 mov x0, x26 bl ftl_memcpy - ldr x19, [x27, #:lo12:.LANCHOR10] + ldr x19, [x27, #:lo12:.LANCHOR12] add x19, x19, 48 -.L3666: - ldr x0, [x29, 112] +.L3696: + ldr x0, [x29, 136] ldrb w2, [x0, #:lo12:.LANCHOR131] cmp w20, w2 - bcc .L3667 - ldr x19, [x27, #:lo12:.LANCHOR10] + bcc .L3697 + ldr x19, [x27, #:lo12:.LANCHOR12] add x19, x19, 16 -.L3687: +.L3719: mov w25, 0 - b .L3664 -.L3667: + b .L3694 +.L3697: ubfiz x0, x20, 9, 9 sub w2, w2, w20 add x1, x25, x0 lsl w2, w2, 9 add x0, x26, x0 bl ftl_memcpy - b .L3687 -.L3665: + b .L3719 +.L3695: ldr w0, [x29, 156] cmn w0, #1 - beq .L3668 + beq .L3698 mov w0, 1 bl buf_alloc ldr w1, [x29, 156] @@ -23276,92 +23873,118 @@ ftl_write_commit: stp w22, w1, [x0, 36] mov w1, 1 bl sblk_read_page - ldr x0, [x28, 24] - ldr w25, [x0, 12] - ldr w0, [x0, 4] - add w25, w25, 1 + ldr x3, [x28, 24] + ldr w0, [x3, 4] + ldr w25, [x3, 12] cmp w22, w0 - bne .L3669 + add w25, w25, 1 + bne .L3699 ldr w0, [x28, 52] cmn w0, #1 - bne .L3670 -.L3669: - ldr x1, [x27, #:lo12:.LANCHOR10] + bne .L3700 +.L3699: + adrp x0, .LANCHOR31 + mov w6, 1 + ldr w1, [x28, 40] + ldrb w2, [x0, #:lo12:.LANCHOR31] + mov w0, 24 + sub w0, w0, w2 + lsl w6, w6, w2 + ldr x2, [x29, 136] + sub w6, w6, #1 + lsl w7, w6, w0 + ldrb w4, [x2, #:lo12:.LANCHOR131] + lsr w0, w1, w0 + ldr x2, [x28, 8] + bic w1, w1, w7 + and w0, w0, w6 + bl flash_read_page_en + str w0, [x28, 52] +.L3700: + ldr x0, [x28, 24] + ldr w0, [x0, 4] + cmp w22, w0 + bne .L3701 + ldr w0, [x28, 52] + cmn w0, #1 + bne .L3702 +.L3701: + ldr x1, [x27, #:lo12:.LANCHOR12] mov w3, w22 ldr w4, [x28, 52] ldr w2, [x29, 156] ldr w0, [x1, 552] add w0, w0, 1 str w0, [x1, 552] - adrp x0, .LC233 - add x0, x0, :lo12:.LC233 + adrp x0, .LC236 + add x0, x0, :lo12:.LC236 ldrb w1, [x28, 1] bl printf ldr x1, [x28, 24] mov w3, 4 - adrp x0, .LC205 + adrp x0, .LC208 mov w2, w3 - add x0, x0, :lo12:.LC205 + add x0, x0, :lo12:.LC208 bl rknand_print_hex -.L3670: +.L3702: ldr x0, [x28, 24] ldr w0, [x0, 4] cmp w22, w0 - bne .L3671 + bne .L3703 ldr w0, [x28, 52] cmn w0, #1 - bne .L3672 -.L3671: + bne .L3704 +.L3703: adrp x1, .LANCHOR232 adrp x0, .LC0 - mov w2, 691 + mov w2, 696 add x1, x1, :lo12:.LANCHOR232 add x0, x0, :lo12:.LC0 bl printf -.L3672: - cbz w21, .L3673 +.L3704: + cbz w21, .L3705 ldr w0, [x29, 156] lsl w2, w21, 9 cmn w0, #1 - beq .L3674 + beq .L3706 ldr x1, [x28, 8] mov x0, x26 bl ftl_memcpy -.L3675: - ldr x19, [x27, #:lo12:.LANCHOR10] +.L3707: + ldr x19, [x27, #:lo12:.LANCHOR12] add x19, x19, 48 -.L3673: - ldr x0, [x29, 112] +.L3705: + ldr x0, [x29, 136] ldrb w2, [x0, #:lo12:.LANCHOR131] cmp w20, w2 - bcc .L3676 - bls .L3677 - ldr x19, [x27, #:lo12:.LANCHOR10] + bcc .L3708 + bls .L3709 + ldr x19, [x27, #:lo12:.LANCHOR12] add x19, x19, 16 -.L3677: - cbz x28, .L3664 +.L3709: + cbz x28, .L3694 ldrb w0, [x28, 2] mov x1, x28 and w0, w0, -9 strb w0, [x28, 2] - adrp x0, .LANCHOR63 - add x0, x0, :lo12:.LANCHOR63 + adrp x0, .LANCHOR62 + add x0, x0, :lo12:.LANCHOR62 bl buf_remove_buf mov x0, x28 bl zbuf_free -.L3664: +.L3694: ldrh w0, [x19, 6] - cbnz w0, .L3679 + cbnz w0, .L3711 bl ftl_flush mov x0, x19 bl ftl_alloc_new_data_sblk -.L3679: +.L3711: mov x0, x19 bl ftl_get_new_free_page mov w10, w0 - ldr x0, [x29, 128] + ldr x0, [x29, 120] mov x1, x23 - adrp x20, .LANCHOR185 + adrp x20, .LANCHOR182 lsl x8, x0, 6 add x7, x24, x8 ldr w0, [x7, 32] @@ -23369,7 +23992,7 @@ ftl_write_commit: str w25, [x23, 12] ldr w0, [x29, 156] str w0, [x23, 8] - ldr x0, [x29, 112] + ldr x0, [x29, 136] str wzr, [x1, 16]! ldrb w2, [x0, #:lo12:.LANCHOR131] mov w0, 2 @@ -23388,12 +24011,12 @@ ftl_write_commit: strb w0, [x7, 2] ldrh w0, [x19, 10] add w0, w0, w1 - ldr x1, [x29, 136] + ldr x1, [x29, 128] sub w0, w0, #1 strh w0, [x7, 48] - add x0, x20, :lo12:.LANCHOR185 + add x0, x20, :lo12:.LANCHOR182 bl buf_add_tail - ldr x0, [x29, 120] + ldr x0, [x29, 112] ldrb w2, [x0, #:lo12:.LANCHOR129] add w2, w2, 1 and w2, w2, 255 @@ -23402,24 +24025,24 @@ ftl_write_commit: cmp w2, 2 str wzr, [x0, #:lo12:.LANCHOR233] ldrh w0, [x19, 6] - bhi .L3680 + bhi .L3712 cmp w0, 1 - bne .L3652 -.L3680: + bne .L3682 +.L3712: ldrb w1, [x19, 5] cmp w1, 0 mov w1, 0 cset w4, ne cmp w0, 1 - ldrb w0, [x20, #:lo12:.LANCHOR185] + ldrb w0, [x20, #:lo12:.LANCHOR182] csinc w4, w2, w4, eq mov w3, w0 -.L3684: +.L3716: cmp w1, w4 - bne .L3685 - strb w3, [x20, #:lo12:.LANCHOR185] + bne .L3717 + strb w3, [x20, #:lo12:.LANCHOR182] and w1, w1, 255 - ldr x3, [x29, 120] + ldr x3, [x29, 112] sub w2, w2, w1 ubfiz x0, x0, 6, 8 add x0, x24, x0 @@ -23427,58 +24050,58 @@ ftl_write_commit: bl sblk_prog_page ldrh w0, [x19, 6] cmp w0, 1 - bne .L3652 + bne .L3682 bl sblk_wait_write_queue_completed bl ftl_write_completed mov x0, x19 bl ftl_write_last_log_page mov x0, x19 bl ftl_alloc_new_data_sblk -.L3652: - adrp x0, .LANCHOR67 - ldrb w0, [x0, #:lo12:.LANCHOR67] - cbnz w0, .L3649 -.L3651: +.L3682: + adrp x0, .LANCHOR66 + ldrb w0, [x0, #:lo12:.LANCHOR66] + cbnz w0, .L3679 +.L3681: bl ftl_write_completed mov w0, 0 - b .L3648 -.L3676: + b .L3678 +.L3708: ldr w0, [x29, 156] sub w2, w2, w20 lsl w2, w2, 9 cmn w0, #1 ubfiz x0, x20, 7, 9 - beq .L3678 + beq .L3710 ldr x1, [x28, 8] lsl x0, x0, 2 add x1, x1, x0 add x0, x26, x0 bl ftl_memcpy - b .L3677 -.L3678: + b .L3709 +.L3710: mov w1, 0 add x0, x26, x0, lsl 2 bl ftl_memset - b .L3677 -.L3685: + b .L3709 +.L3717: ubfiz x3, x3, 6, 8 add w1, w1, 1 ldrb w3, [x24, x3] - b .L3684 -.L3686: + b .L3716 +.L3718: lsl w2, w21, 9 mov x28, 0 mov w25, 0 -.L3674: +.L3706: mov w1, 0 mov x0, x26 bl ftl_memset - b .L3675 -.L3668: - cbnz w21, .L3686 + b .L3707 +.L3698: + cbnz w21, .L3718 mov w25, 0 mov x28, 0 - b .L3673 + b .L3705 .size ftl_write_commit, .-ftl_write_commit .section .text.gc_do_copy_back,"ax",@progbits .align 2 @@ -23486,20 +24109,20 @@ ftl_write_commit: .type gc_do_copy_back, %function gc_do_copy_back: stp x29, x30, [sp, -224]! - adrp x0, .LANCHOR85 + adrp x0, .LANCHOR84 add x29, sp, 0 - ldrb w0, [x0, #:lo12:.LANCHOR85] + ldrb w0, [x0, #:lo12:.LANCHOR84] stp x19, x20, [sp, 16] stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] - cbnz w0, .L3713 + cbnz w0, .L3745 bl buf_alloc mov x19, x0 - cbz x0, .L3712 - adrp x21, .LANCHOR71 - add x3, x21, :lo12:.LANCHOR71 + cbz x0, .L3744 + adrp x21, .LANCHOR70 + add x3, x21, :lo12:.LANCHOR70 ldrh w2, [x3, 26] mov w0, w2 bl gc_get_src_ppa_from_index @@ -23513,52 +24136,52 @@ gc_do_copy_back: ldr w0, [x19, 52] cmp w0, 512 ccmn w0, #1, 4, ne - bne .L3715 + bne .L3747 adrp x1, .LANCHOR234 adrp x0, .LC0 mov w2, 1032 add x1, x1, :lo12:.LANCHOR234 add x0, x0, :lo12:.LC0 bl printf -.L3715: +.L3747: ldr x0, [x19, 24] ldr w20, [x0, 4] mov w0, w20 bl lpa_hash_get_ppa str w0, [x29, 176] cmn w0, #1 - bne .L3716 + bne .L3748 mov w2, 0 add x1, x29, 176 mov w0, w20 bl pm_log2phys -.L3716: +.L3748: ldr w23, [x29, 176] cmp w22, w23 - bne .L3717 - adrp x0, .LANCHOR56 - add x0, x0, :lo12:.LANCHOR56 + bne .L3749 + adrp x0, .LANCHOR55 + add x0, x0, :lo12:.LANCHOR55 add x1, x0, 2 add x0, x0, 1026 -.L3720: +.L3752: ldr w2, [x1, 34] cmp w20, w2 - bne .L3718 + bne .L3750 ldrb w2, [x1] - tbz x2, 1, .L3718 + tbz x2, 1, .L3750 mov x0, x19 bl zbuf_free - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L3712 - add x21, x21, :lo12:.LANCHOR71 - adrp x0, .LC234 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L3744 + add x21, x21, :lo12:.LANCHOR70 + adrp x0, .LC237 mov w2, w22 mov w1, w20 - add x0, x0, :lo12:.LC234 + add x0, x0, :lo12:.LC237 ldrh w3, [x21, 26] bl printf -.L3712: +.L3744: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -23566,10 +24189,10 @@ gc_do_copy_back: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 224 ret -.L3718: +.L3750: add x1, x1, 64 cmp x1, x0 - bne .L3720 + bne .L3752 adrp x0, .LANCHOR131 strb wzr, [x19, 57] str w20, [x19, 36] @@ -23579,25 +24202,25 @@ gc_do_copy_back: ldr w1, [x0] str w1, [x19, 32] str wzr, [x0, 16] - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L3721 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L3753 mov w0, w20 bl lpa_hash_get_ppa - add x1, x21, :lo12:.LANCHOR71 + add x1, x21, :lo12:.LANCHOR70 mov w3, w0 mov w4, w22 - adrp x0, .LC235 + adrp x0, .LC238 mov w2, w23 - add x0, x0, :lo12:.LC235 + add x0, x0, :lo12:.LC238 ldrh w5, [x1, 26] mov w1, w20 bl printf -.L3721: +.L3753: mov x0, x19 bl ftl_gc_write_buf bl ftl_write_commit - add x21, x21, :lo12:.LANCHOR71 + add x21, x21, :lo12:.LANCHOR70 adrp x0, .LANCHOR110 ldr x1, [x0, #:lo12:.LANCHOR110] ldr w0, [x1, 60] @@ -23606,74 +24229,74 @@ gc_do_copy_back: ldrh w0, [x21, 28] add w0, w0, 1 strh w0, [x21, 28] - b .L3712 -.L3717: - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L3722 - add x21, x21, :lo12:.LANCHOR71 + b .L3744 +.L3749: + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L3754 + add x21, x21, :lo12:.LANCHOR70 mov w0, w20 bl lpa_hash_get_ppa mov w3, w0 mov w4, w22 - adrp x0, .LC235 + adrp x0, .LC238 ldrh w5, [x21, 26] mov w2, w23 mov w1, w20 - add x0, x0, :lo12:.LC235 + add x0, x0, :lo12:.LC238 bl printf -.L3722: +.L3754: mov x0, x19 bl zbuf_free - b .L3712 -.L3713: - adrp x2, .LANCHOR10 - adrp x1, .LANCHOR80 + b .L3744 +.L3745: + adrp x2, .LANCHOR12 + adrp x1, .LANCHOR79 stp x1, x2, [x29, 136] - ldr x26, [x2, #:lo12:.LANCHOR10] - ldrb w3, [x1, #:lo12:.LANCHOR80] + ldr x26, [x2, #:lo12:.LANCHOR12] + ldrb w3, [x1, #:lo12:.LANCHOR79] add x26, x26, 80 ldrb w0, [x26, 9] and w20, w0, 65535 cmp w3, w20 - bhi .L3777 + bhi .L3809 cmp w20, 2 mov w21, 2 csel w21, w20, w21, ls and w21, w21, 65535 -.L3723: - adrp x1, .LANCHOR79 +.L3755: + adrp x1, .LANCHOR78 str x1, [x29, 120] - ldrb w19, [x1, #:lo12:.LANCHOR79] + ldrb w19, [x1, #:lo12:.LANCHOR78] cmp w19, 3 - bne .L3724 - adrp x1, .LANCHOR36 - ldrb w1, [x1, #:lo12:.LANCHOR36] - cbz w1, .L3725 - adrp x1, .LANCHOR71 - add x1, x1, :lo12:.LANCHOR71 + bne .L3756 + adrp x1, .LANCHOR35 + ldrb w1, [x1, #:lo12:.LANCHOR35] + cbz w1, .L3757 + adrp x1, .LANCHOR70 + add x1, x1, :lo12:.LANCHOR70 ldrh w22, [x1, 2106] adrp x1, .LANCHOR124 ldrb w1, [x1, #:lo12:.LANCHOR124] sdiv w2, w22, w0 and w25, w2, 65535 - cbz w1, .L3726 + cbz w1, .L3758 adrp x1, .LANCHOR235 add x1, x1, :lo12:.LANCHOR235 ldrh w1, [x1, w2, sxtw 1] cmp w1, 0 cset w19, ne -.L3844: +.L3876: add w19, w19, 1 -.L3727: +.L3759: msub w20, w20, w25, w22 and w20, w20, 65535 -.L3728: - adrp x1, .LANCHOR86 +.L3760: + adrp x1, .LANCHOR85 mul w11, w19, w21 adrp x10, .LANCHOR235 sxtw x13, w25 - ldrh w5, [x1, #:lo12:.LANCHOR86] + ldrh w5, [x1, #:lo12:.LANCHOR85] adrp x1, .LANCHOR224 add x10, x10, :lo12:.LANCHOR235 mov w2, 0 @@ -23682,58 +24305,58 @@ gc_do_copy_back: sub w5, w0, w5 adrp x0, .LANCHOR124 ldrb w12, [x0, #:lo12:.LANCHOR124] - adrp x0, .LANCHOR163 - ldr x8, [x0, #:lo12:.LANCHOR163] - adrp x0, .LANCHOR71 - add x6, x0, :lo12:.LANCHOR71 + adrp x0, .LANCHOR160 + ldr x8, [x0, #:lo12:.LANCHOR160] + adrp x0, .LANCHOR70 + add x6, x0, :lo12:.LANCHOR70 ldrh w14, [x6, 24] -.L3732: +.L3764: cmp w2, w11 - bge .L3785 + bge .L3817 add w4, w22, w2 cmp w4, w5 - blt .L3733 - cbz w12, .L3785 + blt .L3765 + cbz w12, .L3817 ldrh w0, [x10, x13, lsl 1] cmp w0, w25 - bcc .L3734 -.L3785: + bcc .L3766 +.L3817: mov w23, 1 - b .L3730 -.L3777: + b .L3762 +.L3809: mov w21, 1 - b .L3723 -.L3726: + b .L3755 +.L3758: adrp x1, .LANCHOR217 ldrb w1, [x1, #:lo12:.LANCHOR217] - cbz w1, .L3779 + cbz w1, .L3811 sub w1, w25, #62 and w1, w1, 65535 cmp w1, 2159 - bhi .L3780 + bhi .L3812 udiv w19, w25, w19 add w19, w19, w19, lsl 1 sub w19, w25, w19 and w19, w19, 65535 cmp w19, 0 cset w19, eq - b .L3844 -.L3779: + b .L3876 +.L3811: mov w19, 1 - b .L3727 -.L3780: + b .L3759 +.L3812: mov w19, 2 - b .L3727 -.L3725: - adrp x1, .LANCHOR84 - ldrb w1, [x1, #:lo12:.LANCHOR84] - cbz w1, .L3729 - adrp x1, .LANCHOR71 - add x1, x1, :lo12:.LANCHOR71 + b .L3759 +.L3757: + adrp x1, .LANCHOR83 + ldrb w1, [x1, #:lo12:.LANCHOR83] + cbz w1, .L3761 + adrp x1, .LANCHOR70 + add x1, x1, :lo12:.LANCHOR70 add w20, w0, w0, lsl 1 ldrh w22, [x1, 2106] - adrp x1, .LANCHOR37 - ldrb w1, [x1, #:lo12:.LANCHOR37] + adrp x1, .LANCHOR36 + ldrb w1, [x1, #:lo12:.LANCHOR36] sdiv w20, w22, w20 and w25, w20, 65535 mul w20, w0, w20 @@ -23741,13 +24364,13 @@ gc_do_copy_back: add w20, w20, w22 sdiv w20, w20, w19 and w20, w20, 65535 - cbz w1, .L3728 + cbz w1, .L3760 add w3, w25, w25, lsl 1 and w25, w3, 65535 - b .L3728 -.L3729: - adrp x1, .LANCHOR71 - add x1, x1, :lo12:.LANCHOR71 + b .L3760 +.L3761: + adrp x1, .LANCHOR70 + add x1, x1, :lo12:.LANCHOR70 adrp x2, .LANCHOR236 add x2, x2, :lo12:.LANCHOR236 ldrh w4, [x1, 2106] @@ -23761,8 +24384,8 @@ gc_do_copy_back: madd w22, w25, w0, w20 add w22, w22, w22, lsl 1 and w22, w22, 65535 - beq .L3728 -.L3730: + beq .L3760 +.L3762: mul w0, w19, w21 stp wzr, w0, [x29, 152] ubfiz w0, w21, 1, 15 @@ -23772,104 +24395,104 @@ gc_do_copy_back: str w0, [x29, 128] ldrh w0, [x29, 128] str x0, [x29, 112] - adrp x0, .LANCHOR56 - add x0, x0, :lo12:.LANCHOR56 + adrp x0, .LANCHOR55 + add x0, x0, :lo12:.LANCHOR55 str x0, [x29, 104] -.L3735: +.L3767: ldp w0, w1, [x29, 152] ldrh w24, [x29, 152] and w0, w0, 65535 str w0, [x29, 168] cmp w0, w1 - blt .L3759 + blt .L3791 ldr x0, [x29, 120] - ldrb w0, [x0, #:lo12:.LANCHOR79] + ldrb w0, [x0, #:lo12:.LANCHOR78] cmp w0, 3 add x0, x29, 176 - bne .L3760 - adrp x1, .LANCHOR36 - ldrb w1, [x1, #:lo12:.LANCHOR36] - cbz w1, .L3761 + bne .L3792 + adrp x1, .LANCHOR35 + ldrb w1, [x1, #:lo12:.LANCHOR35] + cbz w1, .L3793 ldr w2, [x29, 156] mov w1, 0 sub w2, w2, #1 -.L3762: +.L3794: cmp w1, w2 - blt .L3763 -.L3848: + blt .L3795 +.L3880: ldr x0, [x0, w2, sxtw 3] mov w1, -1 strb w1, [x0] mul w1, w21, w19 ldr x0, [x29, 176] bl sblk_prog_page - b .L3764 -.L3724: - adrp x1, .LANCHOR81 - ldrb w1, [x1, #:lo12:.LANCHOR81] - cbnz w1, .L3731 - adrp x1, .LANCHOR71 - add x1, x1, :lo12:.LANCHOR71 + b .L3796 +.L3756: + adrp x1, .LANCHOR80 + ldrb w1, [x1, #:lo12:.LANCHOR80] + cbnz w1, .L3763 + adrp x1, .LANCHOR70 + add x1, x1, :lo12:.LANCHOR70 mov w19, 1 ldrh w22, [x1, 2106] sdiv w25, w22, w0 msub w20, w20, w25, w22 and w20, w20, 65535 - b .L3728 -.L3731: - adrp x1, .LANCHOR71 - add x1, x1, :lo12:.LANCHOR71 + b .L3760 +.L3763: + adrp x1, .LANCHOR70 + add x1, x1, :lo12:.LANCHOR70 mov w19, 2 ldrh w22, [x1, 2106] sdiv w25, w22, w0 msub w20, w20, w25, w22 and w20, w20, 65535 - b .L3728 -.L3734: - tbz x2, 0, .L3785 -.L3733: + b .L3760 +.L3766: + tbz x2, 0, .L3817 +.L3765: sbfiz x4, x4, 2, 32 ldr w0, [x8, x4] cmn w0, #1 - bne .L3736 + bne .L3768 ldrh w7, [x6, 26] cmp w7, w14 - bcs .L3712 - cbz w12, .L3737 + bcs .L3744 + cbz w12, .L3769 ldrh w0, [x10, x13, lsl 1] cmp w0, w25 - bcs .L3737 - tbz x2, 0, .L3737 + bcs .L3769 + tbz x2, 0, .L3769 ubfiz x0, x0, 2, 16 ldr w0, [x8, x0] -.L3845: +.L3877: str w0, [x8, x4] -.L3736: +.L3768: add w2, w2, 1 and w2, w2, 65535 - b .L3732 -.L3737: + b .L3764 +.L3769: mov w0, w7 bl gc_get_src_ppa_from_index add w7, w7, 1 strh w7, [x6, 26] - b .L3845 -.L3759: + b .L3877 +.L3791: ldr w0, [x29, 168] add w0, w22, w0 str w0, [x29, 172] sxtw x0, w0 str x0, [x29, 160] - adrp x0, .LANCHOR83 + adrp x0, .LANCHOR82 ldr x1, [x29, 160] - ldr x0, [x0, #:lo12:.LANCHOR83] + ldr x0, [x0, #:lo12:.LANCHOR82] ldrb w0, [x0, x1] cmp w0, 255 - bne .L3739 + bne .L3771 mov w0, 0 bl buf_alloc mov x27, x0 - cbnz x0, .L3740 + cbnz x0, .L3772 bl sblk_wait_write_queue_completed bl ftl_write_completed bl gc_write_completed @@ -23877,51 +24500,51 @@ gc_do_copy_back: mov w0, 0 bl buf_alloc mov x27, x0 - cbz x0, .L3712 -.L3740: - adrp x0, .LANCHOR83 + cbz x0, .L3744 +.L3772: + adrp x0, .LANCHOR82 ldr x2, [x29, 160] ldrb w1, [x27, 1] - ldr x0, [x0, #:lo12:.LANCHOR83] + ldr x0, [x0, #:lo12:.LANCHOR82] strb w1, [x0, x2] - adrp x0, .LANCHOR71 - add x1, x0, :lo12:.LANCHOR71 + adrp x0, .LANCHOR70 + add x1, x0, :lo12:.LANCHOR70 strb w23, [x27, 61] ldrb w0, [x1, 7] add w0, w0, 1 strb w0, [x1, 7] add w0, w24, w22 strh w0, [x27, 48] - adrp x0, .LANCHOR86 + adrp x0, .LANCHOR85 ldr w1, [x29, 172] - ldrh w6, [x0, #:lo12:.LANCHOR86] + ldrh w6, [x0, #:lo12:.LANCHOR85] adrp x0, .LANCHOR224 ldrb w5, [x0, #:lo12:.LANCHOR224] ldrb w0, [x26, 9] mul w0, w0, w6 sub w0, w0, w5 cmp w1, w0 - blt .L3741 + blt .L3773 adrp x1, .LANCHOR124 ldrb w1, [x1, #:lo12:.LANCHOR124] - cbz w1, .L3742 + cbz w1, .L3774 adrp x1, .LANCHOR235 add x1, x1, :lo12:.LANCHOR235 ldrh w1, [x1, w25, sxtw 1] cmp w1, w25 - bcs .L3742 - tbnz x24, 0, .L3741 -.L3742: - adrp x1, .LANCHOR162 + bcs .L3774 + tbnz x24, 0, .L3773 +.L3774: + adrp x1, .LANCHOR159 ldr w3, [x29, 172] mov w2, -1 cmp w5, 2 - ldr x1, [x1, #:lo12:.LANCHOR162] + ldr x1, [x1, #:lo12:.LANCHOR159] str w2, [x1, w3, sxtw 2] - bne .L3743 + bne .L3775 cmp w3, w0 adrp x28, .LANCHOR221 - bne .L3744 + bne .L3776 ldrh w2, [x28, #:lo12:.LANCHOR221] ldr x0, [x27, 8] bl ftl_memcpy @@ -23940,21 +24563,21 @@ gc_do_copy_back: bl js_hash str w0, [x6, 4] ldr x0, [x29, 144] - ldr x0, [x0, #:lo12:.LANCHOR10] + ldr x0, [x0, #:lo12:.LANCHOR12] ldr w0, [x0, 132] stp w0, wzr, [x6, 8] -.L3745: +.L3777: ldr x0, [x27, 24] str wzr, [x0, 16] -.L3739: - adrp x0, .LANCHOR83 +.L3771: + adrp x0, .LANCHOR82 ldrsw x2, [x29, 168] add x4, x29, 176 - ldr x1, [x0, #:lo12:.LANCHOR83] + ldr x1, [x0, #:lo12:.LANCHOR82] ldr x0, [x29, 160] ldrb w5, [x1, x0] - adrp x0, .LANCHOR56 - add x6, x0, :lo12:.LANCHOR56 + adrp x0, .LANCHOR55 + add x6, x0, :lo12:.LANCHOR55 mov x7, x5 ubfiz x0, x5, 6, 8 add x0, x6, x0 @@ -23964,27 +24587,27 @@ gc_do_copy_back: strh w0, [x6, 50] ldr x0, [x29, 120] strb w23, [x6, 61] - ldrb w0, [x0, #:lo12:.LANCHOR79] + ldrb w0, [x0, #:lo12:.LANCHOR78] cmp w0, 3 - bne .L3750 - adrp x8, .LANCHOR36 - ldrb w8, [x8, #:lo12:.LANCHOR36] - cbz w8, .L3751 + bne .L3782 + adrp x8, .LANCHOR35 + ldrb w8, [x8, #:lo12:.LANCHOR35] + cbz w8, .L3783 adrp x0, .LANCHOR124 and w8, w24, 1 add w10, w8, w25 ldrb w0, [x0, #:lo12:.LANCHOR124] - cbz w0, .L3752 + cbz w0, .L3784 adrp x6, .LANCHOR235 add x6, x6, :lo12:.LANCHOR235 ldrh w6, [x6, w25, sxtw 1] cmp w6, w25 - bcs .L3752 + bcs .L3784 cmp w8, 0 csel w10, w10, w6, eq -.L3752: - adrp x0, .LANCHOR56 - add x6, x0, :lo12:.LANCHOR56 +.L3784: + adrp x0, .LANCHOR55 + add x6, x0, :lo12:.LANCHOR55 add x5, x6, x5, lsl 6 udiv w6, w24, w19 add w6, w6, w20 @@ -23995,21 +24618,21 @@ gc_do_copy_back: madd w0, w0, w6, w10 orr w0, w0, 50331648 str w0, [x5, 40] -.L3757: - adrp x0, .LANCHOR56 +.L3789: + adrp x0, .LANCHOR55 sbfiz x7, x7, 6, 32 - add x0, x0, :lo12:.LANCHOR56 + add x0, x0, :lo12:.LANCHOR55 add x0, x0, x7 ldrh w5, [x0, 48] ldr w6, [x0, 40] - adrp x0, .LANCHOR164 - ldr x0, [x0, #:lo12:.LANCHOR164] + adrp x0, .LANCHOR161 + ldr x0, [x0, #:lo12:.LANCHOR161] str w6, [x0, x5, lsl 2] - b .L3776 -.L3744: + b .L3808 +.L3776: ldr x2, [x29, 136] ldrh w0, [x28, #:lo12:.LANCHOR221] - ldrb w28, [x2, #:lo12:.LANCHOR80] + ldrb w28, [x2, #:lo12:.LANCHOR79] mul w28, w28, w6 lsl w28, w28, 2 sub w28, w28, w0 @@ -24033,36 +24656,36 @@ gc_do_copy_back: bl js_hash str w0, [x6, 4] ldr x0, [x29, 144] - ldr x0, [x0, #:lo12:.LANCHOR10] + ldr x0, [x0, #:lo12:.LANCHOR12] ldr w0, [x0, 132] str w0, [x6, 8] mov w0, 1 str w0, [x6, 12] - b .L3745 -.L3743: + b .L3777 +.L3775: ldr x0, [x29, 136] - ldrb w2, [x0, #:lo12:.LANCHOR80] + ldrb w2, [x0, #:lo12:.LANCHOR79] ldr x0, [x27, 8] mul w2, w2, w6 lsl w2, w2, 2 bl ftl_memcpy ldr x1, [x29, 136] - adrp x0, .LANCHOR86 - ldrh w0, [x0, #:lo12:.LANCHOR86] - ldrb w1, [x1, #:lo12:.LANCHOR80] + adrp x0, .LANCHOR85 + ldrh w0, [x0, #:lo12:.LANCHOR85] + ldrb w1, [x1, #:lo12:.LANCHOR79] mul w0, w0, w1 adrp x1, .LANCHOR131 ldrb w1, [x1, #:lo12:.LANCHOR131] lsl w2, w0, 2 cmp w1, w0, lsr 6 - bge .L3746 + bge .L3778 adrp x1, .LANCHOR221 ldrh w1, [x1, #:lo12:.LANCHOR221] sub w2, w1, w2 -.L3746: - adrp x1, .LANCHOR163 +.L3778: + adrp x1, .LANCHOR160 ldr x5, [x27, 8] - ldr x1, [x1, #:lo12:.LANCHOR163] + ldr x1, [x1, #:lo12:.LANCHOR160] add x0, x5, x0, sxtw 2 bl ftl_memcpy adrp x0, .LANCHOR131 @@ -24075,26 +24698,26 @@ gc_do_copy_back: mov w0, 15555 movk w0, 0xf55f, lsl 16 str w0, [x6] - adrp x0, .LANCHOR86 - ldrh w1, [x0, #:lo12:.LANCHOR86] + adrp x0, .LANCHOR85 + ldrh w1, [x0, #:lo12:.LANCHOR85] ldr x0, [x29, 136] - ldrb w0, [x0, #:lo12:.LANCHOR80] + ldrb w0, [x0, #:lo12:.LANCHOR79] mul w1, w1, w0 ldr x0, [x27, 8] lsl w1, w1, 2 bl js_hash str w0, [x6, 4] ldr x0, [x29, 144] - ldr x0, [x0, #:lo12:.LANCHOR10] + ldr x0, [x0, #:lo12:.LANCHOR12] ldr w0, [x0, 132] str w0, [x6, 8] - b .L3745 -.L3741: + b .L3777 +.L3773: ldr x0, [x29, 160] mov w1, 1 lsl x28, x0, 2 - adrp x0, .LANCHOR163 - ldr x0, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR160 + ldr x0, [x0, #:lo12:.LANCHOR160] ldr w0, [x0, x28] str w0, [x27, 40] mov x0, x27 @@ -24102,11 +24725,11 @@ gc_do_copy_back: ldr w0, [x27, 52] cmp w0, 512 ccmn w0, #1, 4, ne - bne .L3748 - adrp x0, .LANCHOR75 - ldrh w2, [x0, #:lo12:.LANCHOR75] - adrp x0, .LANCHOR32 - ldrb w1, [x0, #:lo12:.LANCHOR32] + bne .L3780 + adrp x0, .LANCHOR74 + ldrh w2, [x0, #:lo12:.LANCHOR74] + adrp x0, .LANCHOR31 + ldrb w1, [x0, #:lo12:.LANCHOR31] mov w0, 24 sub w0, w0, w1 sub w1, w0, w2 @@ -24116,50 +24739,50 @@ gc_do_copy_back: sub w0, w0, #1 lsr w1, w1, w2 and w0, w0, w1 - adrp x1, .LANCHOR76 - ldrb w2, [x1, #:lo12:.LANCHOR76] + adrp x1, .LANCHOR75 + ldrb w2, [x1, #:lo12:.LANCHOR75] mov x1, 0 udiv w0, w0, w2 bl ftl_sblk_dump ldr w0, [x27, 52] cmp w0, 512 ccmn w0, #1, 4, ne - bne .L3748 + bne .L3780 ldr x0, [x27, 24] mov w1, -1 str w1, [x0, 4] ldr w0, [x27, 52] cmp w0, 512 ccmp w0, w1, 4, ne - bne .L3748 + bne .L3780 adrp x1, .LANCHOR234 adrp x0, .LC0 mov w2, 1223 add x1, x1, :lo12:.LANCHOR234 add x0, x0, :lo12:.LC0 bl printf -.L3748: +.L3780: ldr x0, [x27, 24] adrp x1, .LANCHOR128 ldr w1, [x1, #:lo12:.LANCHOR128] ldr w2, [x0, 4] cmp w2, w1 - bcc .L3749 + bcc .L3781 mov w1, -1 str w1, [x0, 4] -.L3749: - adrp x1, .LANCHOR162 +.L3781: + adrp x1, .LANCHOR159 ldr w2, [x0, 4] - ldr x1, [x1, #:lo12:.LANCHOR162] + ldr x1, [x1, #:lo12:.LANCHOR159] str w2, [x1, x28] ldr w1, [x27, 40] str w1, [x0, 8] - b .L3745 -.L3751: + b .L3777 +.L3783: udiv w0, w24, w0 - adrp x7, .LANCHOR37 - ldrb w7, [x7, #:lo12:.LANCHOR37] - cbz w7, .L3754 + adrp x7, .LANCHOR36 + ldrb w7, [x7, #:lo12:.LANCHOR36] + cbz w7, .L3786 add w7, w0, w20 adrp x8, .LANCHOR111 add x7, x26, x7, sxtw 1 @@ -24169,12 +24792,12 @@ gc_do_copy_back: ldrh w7, [x7, 16] madd w7, w7, w8, w25 add w0, w7, w0, uxth -.L3849: +.L3881: str w0, [x6, 40] ldr x0, [x29, 104] add x5, x0, x5, lsl 6 - adrp x0, .LANCHOR164 - ldr x6, [x0, #:lo12:.LANCHOR164] + adrp x0, .LANCHOR161 + ldr x6, [x0, #:lo12:.LANCHOR161] mov w0, 3 ldrh w7, [x5, 48] udiv w0, w24, w0 @@ -24185,16 +24808,16 @@ gc_do_copy_back: add w0, w0, 1 orr w0, w5, w0, lsl 24 str w0, [x6, x7, lsl 2] -.L3776: +.L3808: adrp x0, .LANCHOR124 ldrb w0, [x0, #:lo12:.LANCHOR124] - cbz w0, .L3758 + cbz w0, .L3790 adrp x0, .LANCHOR235 add x0, x0, :lo12:.LANCHOR235 ldrh w0, [x0, w25, sxtw 1] cmp w0, w25 - bcs .L3758 - tbz x24, 0, .L3758 + bcs .L3790 + tbz x24, 0, .L3790 ldr x3, [x29, 160] mov w0, -1 strb w0, [x1, x3] @@ -24203,45 +24826,45 @@ gc_do_copy_back: ldr x2, [x29, 112] strh w1, [x0, 48] ldrb w1, [x0, 1] - adrp x0, .LANCHOR83 - ldr x0, [x0, #:lo12:.LANCHOR83] + adrp x0, .LANCHOR82 + ldr x0, [x0, #:lo12:.LANCHOR82] strb w1, [x0, x2] - adrp x0, .LANCHOR163 + adrp x0, .LANCHOR160 ldr w2, [x29, 172] mov w1, -1 - ldr x0, [x0, #:lo12:.LANCHOR163] + ldr x0, [x0, #:lo12:.LANCHOR160] str w1, [x0, w2, sxtw 2] -.L3758: +.L3790: ldr w0, [x29, 152] add w0, w0, 1 str w0, [x29, 152] - b .L3735 -.L3754: + b .L3767 +.L3786: add w0, w0, w20 adrp x7, .LANCHOR111 add x0, x26, x0, sxtw 1 ldrh w7, [x7, #:lo12:.LANCHOR111] ldrh w0, [x0, 16] madd w0, w0, w7, w25 - b .L3849 -.L3750: + b .L3881 +.L3782: cmp w0, 2 - bne .L3757 - adrp x0, .LANCHOR81 + bne .L3789 + adrp x0, .LANCHOR80 adrp x5, .LANCHOR111 - ldrb w0, [x0, #:lo12:.LANCHOR81] - cbnz w0, .L3756 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbnz w0, .L3788 ldr w0, [x29, 168] ldrh w5, [x5, #:lo12:.LANCHOR111] add w27, w20, w0 add x27, x26, x27, sxtw 1 ldrh w0, [x27, 16] madd w0, w0, w5, w25 -.L3846: +.L3878: orr w0, w0, 33554432 str w0, [x6, 40] - b .L3757 -.L3756: + b .L3789 +.L3788: add w0, w20, w24, lsr 1 ldrh w5, [x5, #:lo12:.LANCHOR111] add x0, x26, x0, sxtw 1 @@ -24249,118 +24872,118 @@ gc_do_copy_back: madd w0, w0, w5, w25 and w5, w24, 1 add w0, w0, w5 - b .L3846 -.L3763: + b .L3878 +.L3795: ldr x4, [x0, w1, sxtw 3] add w1, w1, 1 ldr x5, [x0, w1, sxtw 3] and w1, w1, 65535 ldrb w5, [x5, 1] strb w5, [x4] - b .L3762 -.L3761: - adrp x1, .LANCHOR84 - ldrb w2, [x1, #:lo12:.LANCHOR84] + b .L3794 +.L3793: + adrp x1, .LANCHOR83 + ldrb w2, [x1, #:lo12:.LANCHOR83] ldr x1, [x29, 176] - cbz w2, .L3765 -.L3768: + cbz w2, .L3797 +.L3800: strb wzr, [x1, 60] - b .L3767 -.L3765: + b .L3799 +.L3797: cmp w23, 1 - bne .L3766 + bne .L3798 mov w2, 9 -.L3847: +.L3879: strb w2, [x1, 60] -.L3767: +.L3799: mov w2, w21 add x1, x0, 24 bl sblk_xlc_prog_pages -.L3764: - adrp x0, .LANCHOR84 - ldrb w0, [x0, #:lo12:.LANCHOR84] - cbz w0, .L3773 +.L3796: + adrp x0, .LANCHOR83 + ldrb w0, [x0, #:lo12:.LANCHOR83] + cbz w0, .L3805 add w21, w21, w21, lsl 1 and w21, w21, 65535 -.L3774: +.L3806: adrp x0, .LANCHOR110 ldr x1, [x0, #:lo12:.LANCHOR110] ldr w0, [x1, 52] add w0, w0, w21 str w0, [x1, 52] - adrp x0, .LANCHOR71 - add x25, x0, :lo12:.LANCHOR71 + adrp x0, .LANCHOR70 + add x25, x0, :lo12:.LANCHOR70 ldrh w0, [x25, 2106] add w21, w21, w0 - adrp x0, .LANCHOR86 + adrp x0, .LANCHOR85 and w21, w21, 65535 strh w21, [x25, 2106] - ldrh w0, [x0, #:lo12:.LANCHOR86] + ldrh w0, [x0, #:lo12:.LANCHOR85] ldrb w1, [x26, 9] mul w0, w0, w1 cmp w21, w0 - blt .L3775 + blt .L3807 ldr x0, [x29, 144] - ldr x0, [x0, #:lo12:.LANCHOR10] + ldr x0, [x0, #:lo12:.LANCHOR12] strh wzr, [x0, 86] -.L3775: +.L3807: bl gc_write_completed - b .L3712 -.L3766: + b .L3744 +.L3798: cmp w23, 2 - bne .L3768 + bne .L3800 mov w2, 13 - b .L3847 -.L3760: + b .L3879 +.L3792: + adrp x1, .LANCHOR80 + ldrb w1, [x1, #:lo12:.LANCHOR80] + cbz w1, .L3818 adrp x1, .LANCHOR81 ldrb w1, [x1, #:lo12:.LANCHOR81] - cbz w1, .L3786 - adrp x1, .LANCHOR82 - ldrb w1, [x1, #:lo12:.LANCHOR82] - cbnz w1, .L3770 -.L3769: + cbnz w1, .L3802 +.L3801: ldr w2, [x29, 156] sub w2, w2, #1 -.L3771: +.L3803: cmp w1, w2 - bge .L3848 + bge .L3880 ldr x4, [x0, w1, sxtw 3] add w1, w1, 1 ldr x5, [x0, w1, sxtw 3] and w1, w1, 65535 ldrb w5, [x5, 1] strb w5, [x4] - b .L3771 -.L3786: + b .L3803 +.L3818: mov w1, 0 - b .L3769 -.L3770: + b .L3801 +.L3802: mov w1, w21 bl sblk_3d_mlc_prog_pages - b .L3764 -.L3773: - adrp x0, .LANCHOR81 - ldrb w0, [x0, #:lo12:.LANCHOR81] - cbnz w0, .L3787 - adrp x0, .LANCHOR36 - ldrb w0, [x0, #:lo12:.LANCHOR36] - cbz w0, .L3774 + b .L3796 +.L3805: + adrp x0, .LANCHOR80 + ldrb w0, [x0, #:lo12:.LANCHOR80] + cbnz w0, .L3819 + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbz w0, .L3806 adrp x0, .LANCHOR124 ldrh w1, [x29, 156] ldrb w0, [x0, #:lo12:.LANCHOR124] - cbz w0, .L3788 + cbz w0, .L3820 adrp x0, .LANCHOR235 add x0, x0, :lo12:.LANCHOR235 ldrh w0, [x0, w25, sxtw 1] cmp w0, w25 csel w21, w21, w1, cc - b .L3774 -.L3787: + b .L3806 +.L3819: ldr w21, [x29, 132] - b .L3774 -.L3788: + b .L3806 +.L3820: mov w21, w1 - b .L3774 + b .L3806 .size gc_do_copy_back, .-gc_do_copy_back .section .text.zftl_do_gc,"ax",@progbits .align 2 @@ -24371,320 +24994,378 @@ zftl_do_gc: adrp x1, .LANCHOR107 stp x29, x30, [sp, 16] add x29, sp, 16 - stp x23, x24, [sp, 64] - adrp x24, .LANCHOR103 - stp x19, x20, [sp, 32] - adrp x19, .LANCHOR159 + ldrh w1, [x1, #:lo12:.LANCHOR107] stp x21, x22, [sp, 48] - adrp x23, .LANCHOR10 - ldrh w22, [x1, #:lo12:.LANCHOR107] + adrp x22, .LANCHOR103 + stp x19, x20, [sp, 32] + adrp x20, .LANCHOR156 + stp x23, x24, [sp, 64] + adrp x23, .LANCHOR12 stp x25, x26, [sp, 80] - ldrh w21, [x24, #:lo12:.LANCHOR103] - ldrb w1, [x19, #:lo12:.LANCHOR159] + ldrh w21, [x22, #:lo12:.LANCHOR103] + ldrb w2, [x20, #:lo12:.LANCHOR156] stp x27, x28, [sp, 96] - add w21, w22, w21 - ldr x26, [x23, #:lo12:.LANCHOR10] - cmp w1, 6 - bhi .L3965 + add w21, w1, w21 + ldr x26, [x23, #:lo12:.LANCHOR12] + cmp w2, 6 + bhi .L3999 mov w25, w0 and w21, w21, 65535 - adrp x0, .L3853 - add x0, x0, :lo12:.L3853 - ldrh w0, [x0,w1,uxtw #1] - adr x1, .Lrtx3853 - add x0, x1, w0, sxth #2 + adrp x0, .L3885 + add x0, x0, :lo12:.L3885 + ldrh w0, [x0,w2,uxtw #1] + adr x2, .Lrtx3885 + add x0, x2, w0, sxth #2 br x0 -.Lrtx3853: +.Lrtx3885: .section .rodata.zftl_do_gc,"a",@progbits .align 0 .align 2 -.L3853: - .2byte (.L3852 - .Lrtx3853) / 4 - .2byte (.L3854 - .Lrtx3853) / 4 - .2byte (.L3855 - .Lrtx3853) / 4 - .2byte (.L3856 - .Lrtx3853) / 4 - .2byte (.L3857 - .Lrtx3853) / 4 - .2byte (.L3858 - .Lrtx3853) / 4 - .2byte (.L3859 - .Lrtx3853) / 4 +.L3885: + .2byte (.L3884 - .Lrtx3885) / 4 + .2byte (.L3886 - .Lrtx3885) / 4 + .2byte (.L3887 - .Lrtx3885) / 4 + .2byte (.L3888 - .Lrtx3885) / 4 + .2byte (.L3889 - .Lrtx3885) / 4 + .2byte (.L3890 - .Lrtx3885) / 4 + .2byte (.L3891 - .Lrtx3885) / 4 .section .text.zftl_do_gc -.L3858: - adrp x20, .LANCHOR71 - add x24, x20, :lo12:.LANCHOR71 +.L3890: + adrp x19, .LANCHOR70 + add x24, x19, :lo12:.LANCHOR70 mov w22, 0 -.L3860: +.L3892: bl gc_check_data_one_wl - cbz w0, .L3961 - ldr x0, [x23, #:lo12:.LANCHOR10] - add x20, x20, :lo12:.LANCHOR71 - strh wzr, [x20, 56] + cbz w0, .L3995 + ldr x0, [x23, #:lo12:.LANCHOR12] + add x19, x19, :lo12:.LANCHOR70 + strh wzr, [x19, 56] ldrh w0, [x0, 80] bl ftl_free_sblk adrp x2, .LANCHOR110 - ldr x1, [x23, #:lo12:.LANCHOR10] + ldr x1, [x23, #:lo12:.LANCHOR12] mov w0, -1 ldr x2, [x2, #:lo12:.LANCHOR110] strh w0, [x1, 80] strh w0, [x2, 126] strh w0, [x1, 130] - ldr x0, [x20, 8] + ldr x0, [x19, 8] bl zbuf_free - strb wzr, [x19, #:lo12:.LANCHOR159] - str xzr, [x20, 8] - b .L4045 -.L3852: + strb wzr, [x20, #:lo12:.LANCHOR156] + str xzr, [x19, 8] + b .L4085 +.L3884: adrp x0, .LANCHOR105 adrp x27, .LANCHOR97 - ldrh w2, [x26, 80] - ldrh w0, [x0, #:lo12:.LANCHOR105] - ldrh w24, [x27, #:lo12:.LANCHOR97] - add w22, w22, w0 + ldrh w3, [x26, 80] + ldrh w22, [x0, #:lo12:.LANCHOR105] adrp x0, .LANCHOR99 + ldrh w24, [x27, #:lo12:.LANCHOR97] + ldrh w2, [x0, #:lo12:.LANCHOR99] + add w22, w1, w22 stp x0, x27, [x29, 112] and w22, w22, 65535 - ldrh w1, [x0, #:lo12:.LANCHOR99] - add w24, w24, w1 - mov w1, 65535 + add w24, w24, w2 + mov w2, 65535 and w24, w24, 65535 - cmp w2, w1 - beq .L3861 - cbnz w25, .L3862 - adrp x0, .LANCHOR87 - ldrh w0, [x0, #:lo12:.LANCHOR87] + cmp w3, w2 + beq .L3893 + cbnz w25, .L3894 + adrp x0, .LANCHOR86 + ldrh w0, [x0, #:lo12:.LANCHOR86] cmp w21, w0, lsl 1 - blt .L3862 -.L3965: - mov w20, 16 - b .L3850 -.L3862: + blt .L3894 +.L3999: + mov w19, 16 + b .L3882 +.L3894: adrp x5, .LANCHOR96 - mov w1, 5 - adrp x25, .LANCHOR85 - ldrh w0, [x5, #:lo12:.LANCHOR96] - add w0, w0, 1 - and w0, w0, 65535 - strh w0, [x5, #:lo12:.LANCHOR96] - bl zftl_get_gc_node + adrp x0, .LANCHOR92 + add x0, x0, :lo12:.LANCHOR92 + adrp x25, .LANCHOR84 + ldrh w1, [x5, #:lo12:.LANCHOR96] + add w1, w1, 1 + and w1, w1, 65535 + strh w1, [x5, #:lo12:.LANCHOR96] + bl _list_get_gc_head_node and w3, w0, 65535 mov w1, 65535 cmp w3, w1 - beq .L3863 - adrp x4, .LANCHOR9 + beq .L3895 + adrp x4, .LANCHOR11 ubfiz x3, x3, 1, 16 - adrp x1, .LANCHOR160 - mov x20, x1 - ldr x4, [x4, #:lo12:.LANCHOR9] - ldr w2, [x1, #:lo12:.LANCHOR160] + adrp x1, .LANCHOR157 + mov x19, x1 + ldr x4, [x4, #:lo12:.LANCHOR11] + ldr w2, [x1, #:lo12:.LANCHOR157] add w2, w2, 1 - str w2, [x1, #:lo12:.LANCHOR160] + str w2, [x1, #:lo12:.LANCHOR157] ldrh w3, [x4, x3] - adrp x4, .LANCHOR95 - ldrh w4, [x4, #:lo12:.LANCHOR95] + adrp x4, .LANCHOR94 + ldrh w4, [x4, #:lo12:.LANCHOR94] cmp w4, w3 - bcs .L3864 - adrp x1, .LANCHOR6 - ldrh w1, [x1, #:lo12:.LANCHOR6] + bcs .L3896 + adrp x1, .LANCHOR8 + ldrh w1, [x1, #:lo12:.LANCHOR8] cmp w2, w1, lsr 4 - bls .L3863 + bls .L3895 adrp x1, .LANCHOR100 ldrh w1, [x1, #:lo12:.LANCHOR100] cmp w1, w3 - bls .L3863 -.L3864: - ldrb w2, [x25, #:lo12:.LANCHOR85] + bls .L3895 +.L3896: + ldrb w2, [x25, #:lo12:.LANCHOR84] mov w1, 0 bl gc_add_sblk - cbz w0, .L3865 + cbz w0, .L3897 mov w0, 1 - str wzr, [x20, #:lo12:.LANCHOR160] - strb w0, [x19, #:lo12:.LANCHOR159] - b .L3965 -.L3863: + str wzr, [x19, #:lo12:.LANCHOR157] + strb w0, [x20, #:lo12:.LANCHOR156] + b .L3999 +.L3895: strh wzr, [x5, #:lo12:.LANCHOR96] -.L3865: +.L3897: cmp w22, 15 - bls .L3967 - adrp x0, .LANCHOR93 - ldrh w1, [x0, #:lo12:.LANCHOR93] + bls .L4001 + adrp x0, .LANCHOR91 + ldrh w1, [x0, #:lo12:.LANCHOR91] adrp x0, .LANCHOR101 ldrh w0, [x0, #:lo12:.LANCHOR101] cmp w1, w0 - bhi .L3967 + bhi .L4001 cmp w24, 0 - cset w20, eq - add w20, w20, 1 -.L3866: - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 8, .L3867 - ldr x0, [x23, #:lo12:.LANCHOR10] + cset w19, eq + add w19, w19, 1 +.L3898: + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 8, .L3899 + ldr x0, [x23, #:lo12:.LANCHOR12] mov w4, w22 - ldrb w2, [x25, #:lo12:.LANCHOR85] + ldrb w2, [x25, #:lo12:.LANCHOR84] mov w3, w21 - mov w1, 2662 + mov w1, 2807 ldrh w7, [x0, 122] ldrh w6, [x0, 120] ldrh w5, [x0, 124] ldrh w0, [x26, 80] str w0, [sp] - adrp x0, .LC236 - add x0, x0, :lo12:.LC236 + adrp x0, .LC239 + add x0, x0, :lo12:.LC239 bl printf -.L3867: - ldrb w0, [x25, #:lo12:.LANCHOR85] +.L3899: + ldrb w0, [x25, #:lo12:.LANCHOR84] mov w2, 1 - mov w1, w20 + mov w1, w19 bl gc_search_src_blk cmp w0, 0 - ble .L3868 -.L3869: + ble .L3900 +.L3901: mov w0, 1 -.L4047: - strb w0, [x19, #:lo12:.LANCHOR159] - b .L3965 -.L3967: - mov w20, 2 - b .L3866 -.L3868: - ldrb w0, [x25, #:lo12:.LANCHOR85] +.L4087: + strb w0, [x20, #:lo12:.LANCHOR156] + b .L3999 +.L4001: + mov w19, 2 + b .L3898 +.L3900: + ldrb w0, [x25, #:lo12:.LANCHOR84] mov w2, 1 mov w1, 3 bl gc_search_src_blk cmp w0, 0 - bgt .L3869 - b .L3965 -.L3861: + bgt .L3901 + b .L3999 +.L3893: cmp w25, 1 - bne .L3871 + bne .L3903 + adrp x0, .LANCHOR110 + ldr x0, [x0, #:lo12:.LANCHOR110] + ldrh w0, [x0, 150] + cbz w0, .L3904 + cmp w1, 8 + bls .L3904 + bl gc_ink_check_sblk +.L3904: bl gc_scan_static_data - adrp x26, .LANCHOR85 - ldr x0, [x23, #:lo12:.LANCHOR10] + adrp x26, .LANCHOR84 + ldr x0, [x23, #:lo12:.LANCHOR12] ldrh w0, [x0, 122] - cbz w0, .L3872 -.L3873: + cbz w0, .L3905 +.L3906: mov w0, 1 - strb w0, [x26, #:lo12:.LANCHOR85] - b .L4047 -.L3872: + strb w0, [x26, #:lo12:.LANCHOR84] + b .L4087 +.L3905: bl gc_static_wearleveling - mov w20, w0 - cbnz w0, .L3873 - adrp x27, .LANCHOR161 - cbz w22, .L3874 + mov w19, w0 + cbnz w0, .L3906 + adrp x27, .LANCHOR158 + cbz w22, .L3907 cmp w21, w24 adrp x1, .LANCHOR98 - bcs .L3875 + bcs .L3908 ldrh w0, [x1, #:lo12:.LANCHOR98] cmp w0, w21 - bhi .L3876 -.L3875: + bhi .L3909 +.L3908: ldrh w1, [x1, #:lo12:.LANCHOR98] add w0, w21, w24 cmp w0, w1 - blt .L3876 - adrp x0, .LANCHOR93 - ldrh w1, [x0, #:lo12:.LANCHOR93] + blt .L3909 + adrp x0, .LANCHOR91 + ldrh w1, [x0, #:lo12:.LANCHOR91] adrp x0, .LANCHOR101 ldrh w0, [x0, #:lo12:.LANCHOR101] cmp w1, w0 - bcc .L3874 -.L3876: + bcc .L3907 +.L3909: mov w0, 1 - strb w0, [x26, #:lo12:.LANCHOR85] - mov w0, 16 - bl zftl_get_gc_node.part.10 + mov w1, 16 + strb w0, [x26, #:lo12:.LANCHOR84] + adrp x0, .LANCHOR95 + add x0, x0, :lo12:.LANCHOR95 + bl _list_get_gc_head_node and w1, w0, 65535 mov w2, 65535 - adrp x28, .LANCHOR160 + adrp x28, .LANCHOR157 cmp w1, w2 - beq .L3877 - adrp x2, .LANCHOR9 + beq .L3910 + adrp x2, .LANCHOR11 ubfiz x1, x1, 1, 16 - ldr x2, [x2, #:lo12:.LANCHOR9] + ldr x2, [x2, #:lo12:.LANCHOR11] ldrh w2, [x2, x1] - ldrh w1, [x27, #:lo12:.LANCHOR161] + ldrh w1, [x27, #:lo12:.LANCHOR158] cmp w2, w1 - bcs .L3877 + bcs .L3910 cmp w21, 2 - bls .L3877 - strb wzr, [x26, #:lo12:.LANCHOR85] + bls .L3910 + strb wzr, [x26, #:lo12:.LANCHOR84] mov w2, 0 - str wzr, [x28, #:lo12:.LANCHOR160] + str wzr, [x28, #:lo12:.LANCHOR157] mov w1, 1 bl gc_add_sblk - cbnz w0, .L3869 -.L3877: - mov w1, 3 - mov w0, 0 - bl zftl_get_gc_node + cbnz w0, .L3901 +.L3910: + mov w1, 0 + adrp x0, .LANCHOR90 + add x0, x0, :lo12:.LANCHOR90 + bl _list_get_gc_head_node and w1, w0, 65535 mov w2, 65535 cmp w1, w2 - beq .L3878 - adrp x2, .LANCHOR9 + beq .L3911 + adrp x2, .LANCHOR11 ubfiz x1, x1, 1, 16 - ldr x2, [x2, #:lo12:.LANCHOR9] + ldr x2, [x2, #:lo12:.LANCHOR11] ldrh w2, [x2, x1] - ldrh w1, [x27, #:lo12:.LANCHOR161] + ldrh w1, [x27, #:lo12:.LANCHOR158] cmp w2, w1 - bcs .L3878 + bcs .L3911 cmp w21, 2 - bls .L3878 - strb wzr, [x26, #:lo12:.LANCHOR85] + bls .L3911 + strb wzr, [x26, #:lo12:.LANCHOR84] mov w2, 0 - str wzr, [x28, #:lo12:.LANCHOR160] + str wzr, [x28, #:lo12:.LANCHOR157] mov w1, 1 bl gc_add_sblk - cbnz w0, .L3869 -.L3878: - ldrh w0, [x27, #:lo12:.LANCHOR161] - adrp x1, .LANCHOR95 + cbnz w0, .L3901 +.L3911: + ldrh w0, [x27, #:lo12:.LANCHOR158] + adrp x1, .LANCHOR94 add w0, w0, 1 - ldrh w5, [x1, #:lo12:.LANCHOR95] + ldrh w5, [x1, #:lo12:.LANCHOR94] and w0, w0, 65535 - strh w0, [x27, #:lo12:.LANCHOR161] + strh w0, [x27, #:lo12:.LANCHOR158] cmp w0, w5, lsr 5 - bls .L3879 + bls .L3912 mov w0, 4 - strh w0, [x27, #:lo12:.LANCHOR161] -.L3879: - adrp x1, .LANCHOR90 - ldr w0, [x28, #:lo12:.LANCHOR160] - strh wzr, [x1, #:lo12:.LANCHOR90] - adrp x1, .LANCHOR91 + strh w0, [x27, #:lo12:.LANCHOR158] +.L3912: + adrp x1, .LANCHOR87 + ldr w0, [x28, #:lo12:.LANCHOR157] + strh wzr, [x1, #:lo12:.LANCHOR87] + adrp x1, .LANCHOR88 add w0, w0, 1 - str w0, [x28, #:lo12:.LANCHOR160] - strh wzr, [x1, #:lo12:.LANCHOR91] - adrp x1, .LANCHOR92 - strh wzr, [x1, #:lo12:.LANCHOR92] - adrp x1, .LANCHOR6 - ldrh w1, [x1, #:lo12:.LANCHOR6] + str w0, [x28, #:lo12:.LANCHOR157] + strh wzr, [x1, #:lo12:.LANCHOR88] + adrp x1, .LANCHOR89 + strh wzr, [x1, #:lo12:.LANCHOR89] + adrp x1, .LANCHOR8 + ldrh w1, [x1, #:lo12:.LANCHOR8] cmp w0, w1, lsr 5 - adrp x0, .LANCHOR93 - bls .L3880 - ldrh w1, [x0, #:lo12:.LANCHOR93] + adrp x0, .LANCHOR91 + bls .L3913 + ldrh w1, [x0, #:lo12:.LANCHOR91] cmp w1, w22 - bls .L3880 - mov w1, 5 - mov w0, 0 - bl zftl_get_gc_node + bls .L3913 + mov w1, 0 + adrp x0, .LANCHOR92 + add x0, x0, :lo12:.LANCHOR92 + bl _list_get_gc_head_node and w0, w0, 65535 mov w1, 65535 cmp w0, w1 - bne .L3881 -.L4035: - mov w20, 16 -.L3882: - ldr x0, [x23, #:lo12:.LANCHOR10] - adrp x28, .LANCHOR85 + bne .L3914 +.L4075: + mov w19, 16 + b .L3915 +.L3914: + adrp x1, .LANCHOR11 + ubfiz x0, x0, 1, 16 + ldr x1, [x1, #:lo12:.LANCHOR11] + ldrh w1, [x1, x0] + adrp x0, .LANCHOR79 + ldrb w0, [x0, #:lo12:.LANCHOR79] + mul w0, w0, w5 + cmp w1, w0 + bgt .L4075 + str wzr, [x28, #:lo12:.LANCHOR157] + mov w2, 4 +.L4081: + mov w1, 2 +.L4074: + ldrb w0, [x26, #:lo12:.LANCHOR84] + bl gc_search_src_blk + and w0, w0, 65535 + cbz w0, .L4075 + b .L3901 +.L3913: + ldrh w1, [x0, #:lo12:.LANCHOR91] + adrp x0, .LANCHOR101 + ldrh w0, [x0, #:lo12:.LANCHOR101] + cmp w1, w0 + bcc .L3918 + mov w2, 1 + b .L4081 +.L3918: + ldr x0, [x29, 120] + ldrh w0, [x0, #:lo12:.LANCHOR97] + cbnz w0, .L3919 + ldr x0, [x29, 112] + ldrh w0, [x0, #:lo12:.LANCHOR99] + cmp w0, 8 + bls .L3920 +.L3919: + mov w2, 4 + mov w1, 1 + b .L4074 +.L3920: + adrp x0, .LANCHOR70+2110 + ldrh w0, [x0, #:lo12:.LANCHOR70+2110] + cbnz w0, .L4075 +.L3915: + ldr x0, [x23, #:lo12:.LANCHOR12] + adrp x28, .LANCHOR84 mov w1, 1 mov x23, x28 - strb w1, [x28, #:lo12:.LANCHOR85] + strb w1, [x28, #:lo12:.LANCHOR84] ldrh w0, [x0, 124] - cbz w0, .L3887 - strb wzr, [x28, #:lo12:.LANCHOR85] - strb w1, [x19, #:lo12:.LANCHOR159] -.L3850: - mov w0, w20 + cbz w0, .L3921 + strb wzr, [x28, #:lo12:.LANCHOR84] + strb w1, [x20, #:lo12:.LANCHOR156] +.L3882: + mov w0, w19 ldp x19, x20, [sp, 32] ldp x21, x22, [sp, 48] ldp x23, x24, [sp, 64] @@ -24693,279 +25374,244 @@ zftl_do_gc: ldp x29, x30, [sp, 16] add sp, sp, 144 ret -.L3881: - adrp x1, .LANCHOR9 - ubfiz x0, x0, 1, 16 - ldr x1, [x1, #:lo12:.LANCHOR9] - ldrh w1, [x1, x0] - adrp x0, .LANCHOR80 - ldrb w0, [x0, #:lo12:.LANCHOR80] - mul w0, w0, w5 - cmp w1, w0 - bgt .L4035 - str wzr, [x28, #:lo12:.LANCHOR160] - mov w2, 4 -.L4042: - mov w1, 2 -.L4034: - ldrb w0, [x26, #:lo12:.LANCHOR85] - bl gc_search_src_blk - and w0, w0, 65535 - cbz w0, .L4035 - b .L3869 -.L3880: - ldrh w1, [x0, #:lo12:.LANCHOR93] - adrp x0, .LANCHOR101 - ldrh w0, [x0, #:lo12:.LANCHOR101] - cmp w1, w0 - bcc .L3885 - mov w2, 1 - b .L4042 -.L3885: - ldr x0, [x29, 120] - ldrh w0, [x0, #:lo12:.LANCHOR97] - cbnz w0, .L3886 - ldr x0, [x29, 112] - ldrh w0, [x0, #:lo12:.LANCHOR99] - cmp w0, 8 - bls .L3882 -.L3886: - mov w2, 4 - mov w1, 1 - b .L4034 -.L3874: - adrp x0, .LANCHOR95 - ldrh w1, [x0, #:lo12:.LANCHOR95] - ldrh w0, [x27, #:lo12:.LANCHOR161] +.L3907: + adrp x0, .LANCHOR94 + ldrh w1, [x0, #:lo12:.LANCHOR94] + ldrh w0, [x27, #:lo12:.LANCHOR158] cmp w0, w1, lsr 5 - bcc .L4035 + bcc .L4075 mov w0, 4 - strh w0, [x27, #:lo12:.LANCHOR161] - b .L4035 -.L3871: - adrp x0, .LANCHOR87 - ldrh w0, [x0, #:lo12:.LANCHOR87] + strh w0, [x27, #:lo12:.LANCHOR158] + b .L4075 +.L3903: + adrp x0, .LANCHOR86 + ldrh w0, [x0, #:lo12:.LANCHOR86] cmp w0, w21 - bcs .L4035 + bcs .L4075 ldrh w0, [x26, 124] - cbz w0, .L3965 - b .L4035 -.L3887: - adrp x0, .LANCHOR87 + cbz w0, .L3999 + b .L4075 +.L3921: + adrp x0, .LANCHOR86 mov x26, x0 - ldrh w2, [x0, #:lo12:.LANCHOR87] + ldrh w2, [x0, #:lo12:.LANCHOR86] cmp w21, w2 - bcs .L3888 - cbz w22, .L3889 + bcs .L3922 + cbz w22, .L3923 cmp w22, 16 - bls .L3890 - adrp x0, .LANCHOR93 - ldrh w2, [x0, #:lo12:.LANCHOR93] + bls .L3924 + adrp x0, .LANCHOR91 + ldrh w2, [x0, #:lo12:.LANCHOR91] adrp x0, .LANCHOR101 ldrh w0, [x0, #:lo12:.LANCHOR101] cmp w2, w0 - bhi .L3890 + bhi .L3924 mov w2, 4 mov w0, w1 bl gc_search_src_blk tst w0, 65535 - bne .L3891 -.L4038: + bne .L3925 +.L4082: mov w2, 4 mov w1, 3 - ldrb w0, [x28, #:lo12:.LANCHOR85] - b .L4037 -.L3891: - mov w1, 5 - mov w0, 0 - bl zftl_get_gc_node + ldrb w0, [x28, #:lo12:.LANCHOR84] + b .L4077 +.L3925: + mov w1, 0 + adrp x0, .LANCHOR92 + add x0, x0, :lo12:.LANCHOR92 + bl _list_get_gc_head_node and w3, w0, 65535 mov w1, 65535 cmp w3, w1 - beq .L3894 - adrp x4, .LANCHOR9 + beq .L3928 + adrp x4, .LANCHOR11 ubfiz x3, x3, 1, 16 - adrp x1, .LANCHOR160 + adrp x1, .LANCHOR157 mov x21, x1 - ldr x4, [x4, #:lo12:.LANCHOR9] - ldr w2, [x1, #:lo12:.LANCHOR160] + ldr x4, [x4, #:lo12:.LANCHOR11] + ldr w2, [x1, #:lo12:.LANCHOR157] add w2, w2, 1 - str w2, [x1, #:lo12:.LANCHOR160] + str w2, [x1, #:lo12:.LANCHOR157] ldrh w3, [x4, x3] - adrp x4, .LANCHOR95 - ldrh w4, [x4, #:lo12:.LANCHOR95] + adrp x4, .LANCHOR94 + ldrh w4, [x4, #:lo12:.LANCHOR94] cmp w4, w3 - bcs .L3895 - adrp x1, .LANCHOR6 - ldrh w1, [x1, #:lo12:.LANCHOR6] + bcs .L3929 + adrp x1, .LANCHOR8 + ldrh w1, [x1, #:lo12:.LANCHOR8] cmp w2, w1, lsr 4 - bls .L3894 + bls .L3928 adrp x1, .LANCHOR100 ldrh w1, [x1, #:lo12:.LANCHOR100] cmp w1, w3 - bls .L3894 -.L3895: - ldrb w2, [x23, #:lo12:.LANCHOR85] + bls .L3928 +.L3929: + ldrb w2, [x23, #:lo12:.LANCHOR84] mov w1, 0 bl gc_add_sblk - str wzr, [x21, #:lo12:.LANCHOR160] + str wzr, [x21, #:lo12:.LANCHOR157] adrp x0, .LANCHOR122 mov w1, 1 str w1, [x0, #:lo12:.LANCHOR122] -.L3894: +.L3928: mov w0, 1 - strb w0, [x19, #:lo12:.LANCHOR159] - b .L3850 -.L3890: + strb w0, [x20, #:lo12:.LANCHOR156] + b .L3882 +.L3924: mov w2, 1 mov w1, 2 mov w0, w2 bl gc_search_src_blk tst w0, 65535 - bne .L3894 - ldrb w0, [x23, #:lo12:.LANCHOR85] + bne .L3928 + ldrb w0, [x23, #:lo12:.LANCHOR84] mov w2, 4 mov w1, 3 -.L4037: +.L4077: bl gc_search_src_blk and w0, w0, 65535 -.L3892: - cbnz w0, .L3894 - b .L3850 -.L3889: - strb wzr, [x28, #:lo12:.LANCHOR85] +.L3926: + cbnz w0, .L3928 + b .L3882 +.L3923: + strb wzr, [x28, #:lo12:.LANCHOR84] cmp w21, 16 - bls .L3897 + bls .L3931 mov w2, 4 mov w1, 3 mov w0, 0 - b .L4037 -.L3897: + b .L4077 +.L3931: mov w2, w1 mov w0, 0 bl gc_search_src_blk tst w0, 65535 - bne .L3894 - b .L4038 -.L3888: + bne .L3928 + b .L4082 +.L3922: cmp w25, 1 - bne .L3850 + bne .L3882 cmp w21, w2, lsl 1 - bge .L3898 + bge .L3932 cmp w24, w22, lsr 1 - bcs .L3899 - adrp x1, .LANCHOR93 - ldrh w2, [x1, #:lo12:.LANCHOR93] + bcs .L3933 + adrp x1, .LANCHOR91 + ldrh w2, [x1, #:lo12:.LANCHOR91] adrp x1, .LANCHOR101 ldrh w1, [x1, #:lo12:.LANCHOR101] cmp w2, w1 - bcs .L3899 + bcs .L3933 adrp x1, .LANCHOR98 ldrh w1, [x1, #:lo12:.LANCHOR98] lsr w1, w1, 2 - strh w1, [x0, #:lo12:.LANCHOR87] - b .L3850 -.L3899: - mov w0, 8 - bl zftl_get_gc_node.part.10 + strh w1, [x0, #:lo12:.LANCHOR86] + b .L3882 +.L3933: + mov w1, 8 + adrp x25, .LANCHOR95 + add x0, x25, :lo12:.LANCHOR95 + bl _list_get_gc_head_node and w1, w0, 65535 mov w2, 65535 cmp w1, w2 - beq .L3900 - adrp x2, .LANCHOR9 + beq .L3934 + adrp x2, .LANCHOR11 ubfiz x1, x1, 1, 16 - ldr x2, [x2, #:lo12:.LANCHOR9] + ldr x2, [x2, #:lo12:.LANCHOR11] ldrh w1, [x2, x1] cmp w1, 3 - bhi .L3900 - cbz w21, .L3900 - strb wzr, [x23, #:lo12:.LANCHOR85] + bhi .L3934 + cbz w21, .L3934 + strb wzr, [x23, #:lo12:.LANCHOR84] mov w2, 0 mov w1, 1 bl gc_add_sblk - cbnz w0, .L3894 -.L3900: - mov w1, 5 - mov w0, 0 - bl zftl_get_gc_node - and w25, w0, 65535 + cbnz w0, .L3928 +.L3934: + mov w1, 0 + adrp x0, .LANCHOR92 + add x0, x0, :lo12:.LANCHOR92 + bl _list_get_gc_head_node + and w28, w0, 65535 mov w1, 65535 - mov w28, w25 - cmp w25, w1 - bne .L3901 -.L3906: + mov w3, w28 + cmp w28, w1 + bne .L3935 +.L3940: cmp w22, 1 - bhi .L3902 -.L3903: + bhi .L3936 +.L3937: cmp w21, w24 adrp x21, .LANCHOR98 - bcs .L3910 - strb wzr, [x23, #:lo12:.LANCHOR85] - mov w0, 4 - bl zftl_get_gc_node.part.10 + bcs .L3944 + mov w1, 4 + strb wzr, [x23, #:lo12:.LANCHOR84] + add x0, x25, :lo12:.LANCHOR95 + bl _list_get_gc_head_node and w0, w0, 65535 mov w1, 65535 cmp w0, w1 - beq .L3910 - adrp x1, .LANCHOR9 + beq .L3944 + adrp x1, .LANCHOR11 ubfiz x0, x0, 1, 16 - adrp x2, .LANCHOR80 - ldr x1, [x1, #:lo12:.LANCHOR9] - ldrb w2, [x2, #:lo12:.LANCHOR80] + adrp x2, .LANCHOR79 + ldr x1, [x1, #:lo12:.LANCHOR11] + ldrb w2, [x2, #:lo12:.LANCHOR79] ldrh w1, [x1, x0] - adrp x0, .LANCHOR95 - ldrh w0, [x0, #:lo12:.LANCHOR95] + adrp x0, .LANCHOR94 + ldrh w0, [x0, #:lo12:.LANCHOR94] mul w0, w0, w2 cmp w1, w0, lsr 1 - ble .L3912 -.L3910: + ble .L3946 +.L3944: ldrh w0, [x21, #:lo12:.LANCHOR98] lsr w0, w0, 2 - strh w0, [x26, #:lo12:.LANCHOR87] - b .L3850 -.L3901: - adrp x2, .LANCHOR160 - adrp x3, .LANCHOR6 - uxtw x25, w25 - ldr w1, [x2, #:lo12:.LANCHOR160] - ldrh w3, [x3, #:lo12:.LANCHOR6] + strh w0, [x26, #:lo12:.LANCHOR86] + b .L3882 +.L3935: + adrp x2, .LANCHOR157 + adrp x4, .LANCHOR8 + uxtw x28, w28 + ldr w1, [x2, #:lo12:.LANCHOR157] + ldrh w4, [x4, #:lo12:.LANCHOR8] add w1, w1, 1 - str w1, [x2, #:lo12:.LANCHOR160] - cmp w1, w3, lsr 4 - adrp x3, .LANCHOR9 - bls .L3904 - ldr x1, [x3, #:lo12:.LANCHOR9] - str wzr, [x2, #:lo12:.LANCHOR160] - ldrh w2, [x1, x25, lsl 1] + str w1, [x2, #:lo12:.LANCHOR157] + cmp w1, w4, lsr 4 + adrp x4, .LANCHOR11 + bls .L3938 + ldr x1, [x4, #:lo12:.LANCHOR11] + str wzr, [x2, #:lo12:.LANCHOR157] + ldrh w2, [x1, x28, lsl 1] adrp x1, .LANCHOR100 ldrh w1, [x1, #:lo12:.LANCHOR100] cmp w2, w1 - bcs .L3904 - mov w4, 1 - str x3, [x29, 96] - strb w4, [x23, #:lo12:.LANCHOR85] + bcs .L3938 + mov w5, 1 + str x4, [x29, 96] + strb w5, [x23, #:lo12:.LANCHOR84] mov w2, 1 - str w4, [x29, 108] + stp w3, w5, [x29, 104] mov w1, 0 bl gc_add_sblk - ldr w4, [x29, 108] - ldr x3, [x29, 96] - cbz w0, .L3904 - strb w4, [x19, #:lo12:.LANCHOR159] - b .L3850 -.L3904: - ldr x0, [x3, #:lo12:.LANCHOR9] - ldrh w1, [x0, x25, lsl 1] - adrp x0, .LANCHOR95 - ldrh w0, [x0, #:lo12:.LANCHOR95] + ldp w3, w5, [x29, 104] + ldr x4, [x29, 96] + cbz w0, .L3938 + strb w5, [x20, #:lo12:.LANCHOR156] + b .L3882 +.L3938: + ldr x0, [x4, #:lo12:.LANCHOR11] + ldrh w1, [x0, x28, lsl 1] + adrp x0, .LANCHOR94 + ldrh w0, [x0, #:lo12:.LANCHOR94] cmp w1, w0, lsr 1 - bhi .L3905 + bhi .L3939 mov w2, 0 mov w1, 1 - mov w0, w28 + mov w0, w3 bl gc_add_sblk - b .L3894 -.L3905: + b .L3928 +.L3939: ldp x2, x0, [x29, 112] ldrh w2, [x2, #:lo12:.LANCHOR99] ldrh w0, [x0, #:lo12:.LANCHOR97] @@ -24973,376 +25619,379 @@ zftl_do_gc: adrp x2, .LANCHOR98 ldrh w2, [x2, #:lo12:.LANCHOR98] cmp w0, w2, lsl 1 - ble .L3906 + ble .L3940 adrp x0, .LANCHOR100 ldrh w0, [x0, #:lo12:.LANCHOR100] cmp w0, w1 - bcc .L3903 - b .L3906 -.L3902: + bcc .L3937 + b .L3940 +.L3936: mov w1, 1 - strb w1, [x23, #:lo12:.LANCHOR85] + strb w1, [x23, #:lo12:.LANCHOR84] cmp w22, 16 - bls .L3907 - adrp x0, .LANCHOR93 - ldrh w2, [x0, #:lo12:.LANCHOR93] + bls .L3941 + adrp x0, .LANCHOR91 + ldrh w2, [x0, #:lo12:.LANCHOR91] adrp x0, .LANCHOR101 ldrh w0, [x0, #:lo12:.LANCHOR101] cmp w2, w0 - bhi .L3907 + bhi .L3941 mov w0, w1 mov w2, 4 -.L4044: +.L4084: bl gc_search_src_blk ands w0, w0, 65535 - bne .L3908 - ldrb w0, [x23, #:lo12:.LANCHOR85] + bne .L3942 + ldrb w0, [x23, #:lo12:.LANCHOR84] mov w2, 4 mov w1, 3 bl gc_search_src_blk and w0, w0, 65535 -.L3908: +.L3942: adrp x1, .LANCHOR98 cmp w21, w24, lsr 1 ldrh w1, [x1, #:lo12:.LANCHOR98] - bls .L4039 + bls .L4078 lsr w1, w1, 2 -.L4040: - strh w1, [x26, #:lo12:.LANCHOR87] - b .L3892 -.L3907: +.L4079: + strh w1, [x26, #:lo12:.LANCHOR86] + b .L3926 +.L3941: mov w2, 1 mov w1, 2 mov w0, w2 - b .L4044 -.L3912: + b .L4084 +.L3946: mov w1, 3 mov w2, 4 mov w0, 0 bl gc_search_src_blk ldrh w1, [x21, #:lo12:.LANCHOR98] and w0, w0, 65535 -.L4039: +.L4078: lsr w1, w1, 1 - b .L4040 -.L3898: + b .L4079 +.L3932: adrp x1, .LANCHOR98 - mov w20, 0 ldrh w1, [x1, #:lo12:.LANCHOR98] lsr w1, w1, 2 - strh w1, [x0, #:lo12:.LANCHOR87] - b .L3850 -.L3854: - adrp x7, .LANCHOR71 + strh w1, [x0, #:lo12:.LANCHOR86] + adrp x0, .LANCHOR70+2110 + ldrh w0, [x0, #:lo12:.LANCHOR70+2110] + cmp w0, 0 + csel w19, w19, wzr, ne + b .L3882 +.L3886: + adrp x7, .LANCHOR70 mov w0, 65535 - ldrh w1, [x7, #:lo12:.LANCHOR71] + ldrh w1, [x7, #:lo12:.LANCHOR70] cmp w1, w0 - bne .L3913 + bne .L3947 bl gc_get_src_blk - strh w0, [x7, #:lo12:.LANCHOR71] -.L3913: - ldrh w0, [x7, #:lo12:.LANCHOR71] + strh w0, [x7, #:lo12:.LANCHOR70] +.L3947: + ldrh w0, [x7, #:lo12:.LANCHOR70] mov w1, 65535 cmp w0, w1 - beq .L3914 - adrp x1, .LANCHOR6 - ldrh w1, [x1, #:lo12:.LANCHOR6] + beq .L3948 + adrp x1, .LANCHOR8 + ldrh w1, [x1, #:lo12:.LANCHOR8] cmp w1, w0 - bhi .L3914 + bhi .L3948 mov w0, -1 - strh w0, [x7, #:lo12:.LANCHOR71] -.L3914: - ldrh w3, [x7, #:lo12:.LANCHOR71] + strh w0, [x7, #:lo12:.LANCHOR70] +.L3948: + ldrh w3, [x7, #:lo12:.LANCHOR70] mov w0, 65535 - add x1, x7, :lo12:.LANCHOR71 + add x1, x7, :lo12:.LANCHOR70 cmp w3, w0 - beq .L4046 - adrp x0, .LANCHOR7 + beq .L4086 + adrp x0, .LANCHOR9 ldrh w5, [x1, 56] uxtw x4, w3 - ldr x2, [x0, #:lo12:.LANCHOR7] + ldr x2, [x0, #:lo12:.LANCHOR9] add x2, x2, x4, lsl 2 - cbz w5, .L3916 + cbz w5, .L3950 add x1, x1, 58 mov w0, 0 -.L3918: +.L3952: ldrh w6, [x1], 2 cmp w6, w3 - bne .L3917 -.L3922: - adrp x0, .LANCHOR71 + bne .L3951 +.L3956: + adrp x0, .LANCHOR70 mov w1, -1 - strh w1, [x0, #:lo12:.LANCHOR71] - b .L3965 -.L3917: + strh w1, [x0, #:lo12:.LANCHOR70] + b .L3999 +.L3951: add w0, w0, 1 and w0, w0, 65535 cmp w5, w0 - bne .L3918 -.L3916: + bne .L3952 +.L3950: ldrb w0, [x2, 2] and w1, w0, 224 cmp w1, 224 - beq .L3919 + beq .L3953 tst w0, 192 - bne .L3920 -.L3919: - adrp x0, .LANCHOR9 - ldr x0, [x0, #:lo12:.LANCHOR9] + bne .L3954 +.L3953: + adrp x0, .LANCHOR11 + ldr x0, [x0, #:lo12:.LANCHOR11] ldrh w0, [x0, x4, lsl 1] - cbz w0, .L3922 - mov w2, 3153 + cbz w0, .L3956 + mov w2, 3306 adrp x1, .LANCHOR237 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR237 add x0, x0, :lo12:.LC0 bl printf - b .L3922 -.L3920: + b .L3956 +.L3954: mov w0, 2 - b .L4047 -.L3855: + b .L4087 +.L3887: bl gc_scan_src_blk cmn w0, #1 - bne .L3923 + bne .L3957 mov w0, 3 - b .L4047 -.L3923: - adrp x20, .LANCHOR71 + b .L4087 +.L3957: + adrp x19, .LANCHOR70 mov w2, 65535 - add x0, x20, :lo12:.LANCHOR71 - ldrh w1, [x20, #:lo12:.LANCHOR71] + add x0, x19, :lo12:.LANCHOR70 + ldrh w1, [x19, #:lo12:.LANCHOR70] cmp w1, w2 - beq .L3869 + beq .L3901 ldrh w2, [x0, 24] - cbz w2, .L3924 + cbz w2, .L3958 mov w1, 4 strh wzr, [x0, 26] - strb w1, [x19, #:lo12:.LANCHOR159] - b .L3965 -.L3924: + strb w1, [x20, #:lo12:.LANCHOR156] + b .L3999 +.L3958: mov w0, 1 - strb w0, [x19, #:lo12:.LANCHOR159] - adrp x0, .LANCHOR9 + strb w0, [x20, #:lo12:.LANCHOR156] + adrp x0, .LANCHOR11 ubfiz x1, x1, 1, 16 - mov x19, x0 - ldr x2, [x0, #:lo12:.LANCHOR9] + mov x20, x0 + ldr x2, [x0, #:lo12:.LANCHOR11] ldrh w1, [x2, x1] - cbz w1, .L3925 + cbz w1, .L3959 adrp x1, .LANCHOR237 adrp x0, .LC0 - mov w2, 3183 + mov w2, 3336 add x1, x1, :lo12:.LANCHOR237 add x0, x0, :lo12:.LC0 bl printf -.L3925: - ldrh w0, [x20, #:lo12:.LANCHOR71] - add x21, x20, :lo12:.LANCHOR71 +.L3959: + ldrh w0, [x19, #:lo12:.LANCHOR70] + add x21, x19, :lo12:.LANCHOR70 bl ftl_free_sblk - ldr x0, [x19, #:lo12:.LANCHOR9] - ldrh w1, [x20, #:lo12:.LANCHOR71] + ldr x0, [x20, #:lo12:.LANCHOR11] + ldrh w1, [x19, #:lo12:.LANCHOR70] strh wzr, [x0, x1, lsl 1] ldrh w0, [x21, 30] add w0, w0, 1 and w0, w0, 65535 cmp w0, 8 - bhi .L3926 + bhi .L3960 strh w0, [x21, 30] - b .L3922 -.L3926: + b .L3956 +.L3960: strh wzr, [x21, 30] bl ftl_flush bl pm_flush bl ftl_ext_info_flush mov w0, 0 bl ftl_info_flush - b .L3922 -.L3856: - adrp x20, .LANCHOR71 - adrp x23, .LANCHOR95 - add x22, x20, :lo12:.LANCHOR71 - add x23, x23, :lo12:.LANCHOR95 -.L4010: + b .L3956 +.L3888: + adrp x19, .LANCHOR70 + adrp x23, .LANCHOR94 + add x22, x19, :lo12:.LANCHOR70 + add x23, x23, :lo12:.LANCHOR94 +.L4048: bl gc_scan_src_blk_one_page ldrh w1, [x22, 2] ldrh w0, [x23] cmp w1, w0 - bcs .L3928 + bcs .L3962 cmp w21, 7 - bls .L4010 - b .L3965 -.L3928: + bls .L4048 + b .L3999 +.L3962: ldrh w3, [x22, 24] ldrh w1, [x22] - cbz w3, .L3929 + cbz w3, .L3963 mov w0, 4 - strb w0, [x19, #:lo12:.LANCHOR159] - adrp x19, .LANCHOR9 + strb w0, [x20, #:lo12:.LANCHOR156] + adrp x20, .LANCHOR11 ubfiz x0, x1, 1, 16 strh wzr, [x22, 26] - ldr x2, [x19, #:lo12:.LANCHOR9] + ldr x2, [x20, #:lo12:.LANCHOR11] ldrh w2, [x2, x0] cmp w3, w2 - beq .L3930 - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 10, .L3930 - adrp x0, .LC237 - add x0, x0, :lo12:.LC237 + beq .L3964 + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 10, .L3964 + adrp x0, .LC240 + add x0, x0, :lo12:.LC240 bl printf -.L3930: - ldrh w2, [x20, #:lo12:.LANCHOR71] - add x0, x20, :lo12:.LANCHOR71 - ldr x1, [x19, #:lo12:.LANCHOR9] +.L3964: + ldrh w2, [x19, #:lo12:.LANCHOR70] + add x0, x19, :lo12:.LANCHOR70 + ldr x1, [x20, #:lo12:.LANCHOR11] ldrh w0, [x0, 24] ldrh w1, [x1, x2, lsl 1] cmp w1, w0 - beq .L3931 + beq .L3965 adrp x1, .LANCHOR237 adrp x0, .LC0 - mov w2, 3226 + mov w2, 3379 add x1, x1, :lo12:.LANCHOR237 add x0, x0, :lo12:.LC0 bl printf -.L3931: - add x0, x20, :lo12:.LANCHOR71 - ldrh w1, [x20, #:lo12:.LANCHOR71] +.L3965: + add x0, x19, :lo12:.LANCHOR70 + ldrh w1, [x19, #:lo12:.LANCHOR70] ldrh w2, [x0, 24] - ldr x0, [x19, #:lo12:.LANCHOR9] + ldr x0, [x20, #:lo12:.LANCHOR11] strh w2, [x0, x1, lsl 1] - b .L3965 -.L3929: - adrp x0, .LANCHOR7 - ldr x21, [x0, #:lo12:.LANCHOR7] + b .L3999 +.L3963: + adrp x0, .LANCHOR9 + ldr x21, [x0, #:lo12:.LANCHOR9] mov w0, 1 - strb w0, [x19, #:lo12:.LANCHOR159] - adrp x0, .LANCHOR14 - ldr w0, [x0, #:lo12:.LANCHOR14] + strb w0, [x20, #:lo12:.LANCHOR156] + adrp x0, .LANCHOR19 + ldr w0, [x0, #:lo12:.LANCHOR19] add x21, x21, x1, uxth 2 - tbz x0, 8, .L3932 + tbz x0, 8, .L3966 ldrb w2, [x21, 2] - adrp x0, .LC238 - add x0, x0, :lo12:.LC238 + adrp x0, .LC241 + add x0, x0, :lo12:.LC241 ubfx x2, x2, 5, 3 bl printf -.L3932: +.L3966: ldrb w0, [x21, 2] and w1, w0, 224 cmp w1, 224 - beq .L3933 + beq .L3967 tst w0, 192 - bne .L3934 -.L3933: + bne .L3968 +.L3967: adrp x1, .LANCHOR237 adrp x0, .LC0 - mov w2, 3236 + mov w2, 3389 add x1, x1, :lo12:.LANCHOR237 add x0, x0, :lo12:.LC0 bl printf -.L3934: - ldrh w0, [x20, #:lo12:.LANCHOR71] - add x19, x20, :lo12:.LANCHOR71 +.L3968: + ldrh w0, [x19, #:lo12:.LANCHOR70] + add x20, x19, :lo12:.LANCHOR70 bl ftl_free_sblk mov w0, -1 - strh w0, [x20, #:lo12:.LANCHOR71] - ldrh w0, [x19, 30] + strh w0, [x19, #:lo12:.LANCHOR70] + ldrh w0, [x20, 30] add w0, w0, 1 and w0, w0, 65535 cmp w0, 8 - bhi .L3935 - strh w0, [x19, 30] - b .L3965 -.L3935: - strh wzr, [x19, 30] -.L4045: + bhi .L3969 + strh w0, [x20, 30] + b .L3999 +.L3969: + strh wzr, [x20, 30] +.L4085: bl flt_sys_flush - b .L3965 -.L3857: + b .L3999 +.L3889: ldrh w1, [x26, 80] mov w0, 65535 cmp w1, w0 - bne .L3936 - adrp x0, .LANCHOR85 - ldrb w22, [x0, #:lo12:.LANCHOR85] - cmp w22, 1 - bne .L3936 + bne .L3970 + adrp x0, .LANCHOR84 + ldrb w19, [x0, #:lo12:.LANCHOR84] + cmp w19, 1 + bne .L3970 bl ftl_flush - adrp x0, .LANCHOR71 - add x1, x0, :lo12:.LANCHOR71 + adrp x0, .LANCHOR70 + add x1, x0, :lo12:.LANCHOR70 mov x20, x0 - ldrh w1, [x1, 2110] - cbz w1, .L3937 - mov w0, w22 + ldrh w1, [x1, 2192] + cbz w1, .L3971 + mov w0, w19 mov w1, 5 -.L4041: +.L4080: bl zftl_gc_get_free_sblk and w19, w0, 65535 mov w0, 65535 cmp w19, w0 - beq .L3939 - adrp x0, .LANCHOR7 - ldr x21, [x0, #:lo12:.LANCHOR7] + beq .L3973 + adrp x0, .LANCHOR9 + ldr x21, [x0, #:lo12:.LANCHOR9] add x21, x21, x19, uxth 2 ldrb w0, [x21, 2] tst w0, 224 - beq .L3940 + beq .L3974 adrp x1, .LANCHOR237 adrp x0, .LC0 - mov w2, 3270 + mov w2, 3423 add x1, x1, :lo12:.LANCHOR237 add x0, x0, :lo12:.LC0 bl printf -.L3940: +.L3974: ldrb w0, [x21, 2] mov w1, 5 bfi w0, w1, 5, 3 orr w0, w0, 16 strb w0, [x21, 2] -.L3964: +.L3998: mov w1, 1 mov w0, w19 bl ftl_erase_sblk - adrp x22, .LANCHOR86 + adrp x22, .LANCHOR85 mov w0, 5 strb w0, [x26, 84] add x1, x26, 96 mov w0, w19 bl ftl_get_blk_list_in_sblk and w0, w0, 255 - adrp x1, .LANCHOR95 - adrp x21, .LANCHOR80 + adrp x1, .LANCHOR94 + adrp x21, .LANCHOR79 strb w0, [x26, 89] - ldrh w1, [x1, #:lo12:.LANCHOR95] - ldrh w2, [x22, #:lo12:.LANCHOR86] + ldrh w1, [x1, #:lo12:.LANCHOR94] + ldrh w2, [x22, #:lo12:.LANCHOR85] strh w19, [x26, 80] strh wzr, [x26, 82] mul w0, w0, w1 strb wzr, [x26, 85] strh w0, [x26, 86] mov w1, 255 - ldrb w0, [x21, #:lo12:.LANCHOR80] + ldrb w0, [x21, #:lo12:.LANCHOR79] strh wzr, [x26, 90] mul w2, w2, w0 - adrp x0, .LANCHOR162 - ldr x0, [x0, #:lo12:.LANCHOR162] + adrp x0, .LANCHOR159 + ldr x0, [x0, #:lo12:.LANCHOR159] lsl w2, w2, 2 bl ftl_memset - ldrb w0, [x21, #:lo12:.LANCHOR80] + ldrb w0, [x21, #:lo12:.LANCHOR79] mov w1, 255 - ldrh w2, [x22, #:lo12:.LANCHOR86] + ldrh w2, [x22, #:lo12:.LANCHOR85] mul w2, w2, w0 - adrp x0, .LANCHOR163 - ldr x0, [x0, #:lo12:.LANCHOR163] + adrp x0, .LANCHOR160 + ldr x0, [x0, #:lo12:.LANCHOR160] lsl w2, w2, 2 bl ftl_memset - ldrb w0, [x21, #:lo12:.LANCHOR80] + ldrb w0, [x21, #:lo12:.LANCHOR79] mov w1, 255 - ldrh w2, [x22, #:lo12:.LANCHOR86] + ldrh w2, [x22, #:lo12:.LANCHOR85] mul w2, w2, w0 - adrp x0, .LANCHOR83 - ldr x0, [x0, #:lo12:.LANCHOR83] + adrp x0, .LANCHOR82 + ldr x0, [x0, #:lo12:.LANCHOR82] bl ftl_memset - ldr x0, [x23, #:lo12:.LANCHOR10] + ldr x0, [x23, #:lo12:.LANCHOR12] mov w1, -1 str w19, [x0, 132] strh w1, [x0, 128] @@ -25353,106 +26002,106 @@ zftl_do_gc: mov w1, -1 ldr x0, [x0, #:lo12:.LANCHOR110] strh w19, [x0, 126] - add x0, x20, :lo12:.LANCHOR71 - str w1, [x0, 2116] + add x0, x20, :lo12:.LANCHOR70 + str w1, [x0, 2196] strh wzr, [x0, 2106] strh wzr, [x0, 56] strh wzr, [x0, 2108] - strh wzr, [x0, 2112] + strh wzr, [x0, 2194] mov w0, 0 bl ftl_info_flush - b .L3965 -.L3937: + b .L3999 +.L3971: mov w1, 5 mov w0, 0 - b .L4041 -.L3936: + b .L4080 +.L3970: cmp w25, 1 - mov w22, 4 - csinc w22, w22, wzr, eq + mov w24, 4 + csinc w24, w24, wzr, eq cmp w21, 15 - mov w0, w22 - add w22, w22, 4 - adrp x25, .LANCHOR85 - adrp x21, .LANCHOR71 - csel w22, w22, w0, ls - add x25, x25, :lo12:.LANCHOR85 - add x20, x21, :lo12:.LANCHOR71 + mov w0, w24 + add w24, w24, 4 + adrp x25, .LANCHOR84 + adrp x21, .LANCHOR70 + csel w24, w24, w0, ls + add x25, x25, :lo12:.LANCHOR84 + add x19, x21, :lo12:.LANCHOR70 add x27, x26, 80 -.L3943: - sub w22, w22, #1 - and w22, w22, 255 - cmp w22, 255 - beq .L3965 +.L3977: + sub w24, w24, #1 + and w24, w24, 255 + cmp w24, 255 + beq .L3999 bl gc_do_copy_back ldrb w0, [x25] - cbnz w0, .L3944 - adrp x0, .LANCHOR58 - ldrb w0, [x0, #:lo12:.LANCHOR58] + cbnz w0, .L3978 + adrp x0, .LANCHOR57 + ldrb w0, [x0, #:lo12:.LANCHOR57] cmp w0, 3 - bhi .L3945 + bhi .L3979 bl ftl_write_commit -.L3945: - ldrh w1, [x20, 26] - ldrh w0, [x20, 24] +.L3979: + ldrh w1, [x19, 26] + ldrh w0, [x19, 24] cmp w1, w0 - bcc .L3943 + bcc .L3977 mov w0, 1 - strb w0, [x19, #:lo12:.LANCHOR159] + strb w0, [x20, #:lo12:.LANCHOR156] bl ftl_write_commit bl ftl_flush - adrp x0, .LANCHOR9 - ldrh w2, [x20] + adrp x0, .LANCHOR11 + ldrh w2, [x19] mov x19, x0 - ldr x1, [x0, #:lo12:.LANCHOR9] + ldr x1, [x0, #:lo12:.LANCHOR11] ldrh w1, [x1, x2, lsl 1] - cbz w1, .L3947 + cbz w1, .L3981 adrp x1, .LANCHOR237 adrp x0, .LC0 - mov w2, 3354 + mov w2, 3507 add x1, x1, :lo12:.LANCHOR237 add x0, x0, :lo12:.LC0 bl printf -.L3947: - ldrh w0, [x21, #:lo12:.LANCHOR71] - ldr x2, [x19, #:lo12:.LANCHOR9] +.L3981: + ldrh w0, [x21, #:lo12:.LANCHOR70] + ldr x2, [x19, #:lo12:.LANCHOR11] ubfiz x1, x0, 1, 16 ldrh w1, [x2, x1] - cbnz w1, .L3948 + cbnz w1, .L3982 bl ftl_free_sblk - b .L3922 -.L3948: + b .L3956 +.L3982: mov w2, 1 mov w1, 0 bl gc_add_sblk - b .L3922 -.L3944: - ldrh w0, [x20, 2112] - cbz w0, .L3949 - strh wzr, [x20, 2112] + b .L3956 +.L3978: + ldrh w0, [x19, 2194] + cbz w0, .L3983 + strh wzr, [x19, 2194] bl sblk_wait_write_queue_completed bl gc_write_completed - ldr w0, [x20, 2116] - adrp x20, .LANCHOR110 + ldr w0, [x19, 2196] + adrp x19, .LANCHOR110 cmn w0, #1 - beq .L3950 + beq .L3984 adrp x1, .LANCHOR124 ldrb w1, [x1, #:lo12:.LANCHOR124] - cbnz w1, .L3951 - adrp x1, .LANCHOR81 - ldrb w1, [x1, #:lo12:.LANCHOR81] - cbz w1, .L3952 -.L3951: - ldr x1, [x20, #:lo12:.LANCHOR110] + cbnz w1, .L3985 + adrp x1, .LANCHOR80 + ldrb w1, [x1, #:lo12:.LANCHOR80] + cbz w1, .L3986 +.L3985: + ldr x1, [x19, #:lo12:.LANCHOR110] ldr w2, [x1, 156] mov w1, 20041 movk w1, 0x444b, lsl 16 cmp w2, w1 - bne .L3952 - adrp x1, .LANCHOR75 - ldrh w3, [x1, #:lo12:.LANCHOR75] - adrp x1, .LANCHOR32 - ldrb w2, [x1, #:lo12:.LANCHOR32] + bne .L3986 + adrp x1, .LANCHOR74 + ldrh w3, [x1, #:lo12:.LANCHOR74] + adrp x1, .LANCHOR31 + ldrb w2, [x1, #:lo12:.LANCHOR31] mov w1, 24 lsr w0, w0, w3 sub w1, w1, w2 @@ -25461,26 +26110,26 @@ zftl_do_gc: lsl w1, w1, w2 sub w1, w1, #1 and w0, w1, w0 - adrp x1, .LANCHOR76 - ldrb w1, [x1, #:lo12:.LANCHOR76] + adrp x1, .LANCHOR75 + ldrb w1, [x1, #:lo12:.LANCHOR75] udiv w0, w0, w1 - adrp x1, .LANCHOR7 - ldr x2, [x1, #:lo12:.LANCHOR7] + adrp x1, .LANCHOR9 + ldr x2, [x1, #:lo12:.LANCHOR9] lsl x0, x0, 2 add x4, x2, x0 ldrb w1, [x4, 2] - tbz x1, 3, .L3950 + tbz x1, 3, .L3984 adrp x5, .LANCHOR98 - ldrh w3, [x24, #:lo12:.LANCHOR103] + ldrh w3, [x22, #:lo12:.LANCHOR103] ldrh w5, [x5, #:lo12:.LANCHOR98] add w3, w3, 8 cmp w3, w5 - bge .L3950 + bge .L3984 and w1, w1, -25 strb w1, [x4, 2] - adrp x1, .LANCHOR8 + adrp x1, .LANCHOR10 ldr w3, [x2, x0] - ldrh w1, [x1, #:lo12:.LANCHOR8] + ldrh w1, [x1, #:lo12:.LANCHOR10] ldrh w4, [x2, x0] ubfx x3, x3, 11, 8 and w5, w4, 2047 @@ -25493,155 +26142,155 @@ zftl_do_gc: ldr w1, [x2, x0] bfi w1, w3, 11, 8 str w1, [x2, x0] -.L3950: - ldr x0, [x23, #:lo12:.LANCHOR10] - add x22, x21, :lo12:.LANCHOR71 +.L3984: + ldr x0, [x23, #:lo12:.LANCHOR12] + add x22, x21, :lo12:.LANCHOR70 strh wzr, [x22, 56] ldrh w0, [x0, 80] - str wzr, [x22, 2116] + str wzr, [x22, 2196] bl ftl_free_sblk - ldr x1, [x23, #:lo12:.LANCHOR10] + ldr x1, [x23, #:lo12:.LANCHOR12] mov w0, -1 - ldr x2, [x20, #:lo12:.LANCHOR110] + ldr x2, [x19, #:lo12:.LANCHOR110] strh w0, [x1, 80] strh w0, [x2, 126] strh w0, [x1, 130] ldr x0, [x22, 8] - cbz x0, .L3953 + cbz x0, .L3987 bl zbuf_free -.L3953: - add x21, x21, :lo12:.LANCHOR71 +.L3987: + add x21, x21, :lo12:.LANCHOR70 str xzr, [x21, 8] bl flt_sys_flush - mov w2, 3413 - strb wzr, [x19, #:lo12:.LANCHOR159] + mov w2, 3567 + strb wzr, [x20, #:lo12:.LANCHOR156] adrp x1, .LANCHOR237 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR237 add x0, x0, :lo12:.LC0 bl printf - b .L3965 -.L3952: + b .L3999 +.L3986: bl ftl_mask_bad_block - b .L3950 -.L3949: + b .L3984 +.L3983: ldrh w0, [x27, 6] - ldrh w1, [x20, 26] + ldrh w1, [x19, 26] cmp w0, 1 - ldrh w0, [x20, 24] - bls .L3954 + ldrh w0, [x19, 24] + bls .L3988 cmp w1, w0 - bcc .L3943 + bcc .L3977 mov w0, 1 - strb w0, [x19, #:lo12:.LANCHOR159] - ldrh w0, [x20, 56] + strb w0, [x20, #:lo12:.LANCHOR156] + ldrh w0, [x19, 56] add w1, w0, 1 - strh w1, [x20, 56] - add x0, x20, x0, sxtw 1 - ldrh w1, [x20] + strh w1, [x19, 56] + add x0, x19, x0, sxtw 1 + ldrh w1, [x19] strh w1, [x0, 58] mov w0, -1 - strh w0, [x20] - b .L3965 -.L3954: + strh w0, [x19] + b .L3999 +.L3988: mov w2, 5 - strb w2, [x19, #:lo12:.LANCHOR159] + strb w2, [x20, #:lo12:.LANCHOR156] cmp w1, w0 - bcc .L3955 - ldrh w0, [x20, 56] + bcc .L3989 + ldrh w0, [x19, 56] add w1, w0, 1 - strh w1, [x20, 56] - add x0, x20, x0, sxtw 1 - ldrh w1, [x20] + strh w1, [x19, 56] + add x0, x19, x0, sxtw 1 + ldrh w1, [x19] strh w1, [x0, 58] mov w0, -1 - strh w0, [x20] -.L3955: + strh w0, [x19] +.L3989: bl ftl_flush bl sblk_wait_write_queue_completed bl gc_write_completed - ldr x0, [x23, #:lo12:.LANCHOR10] + ldr x0, [x23, #:lo12:.LANCHOR12] ldrh w1, [x26, 80] strh w1, [x0, 128] bl pm_flush bl ftl_ext_info_flush - adrp x1, .LANCHOR95 - add x0, x21, :lo12:.LANCHOR71 - adrp x2, .LANCHOR36 - ldrh w1, [x1, #:lo12:.LANCHOR95] + adrp x1, .LANCHOR94 + add x0, x21, :lo12:.LANCHOR70 + adrp x2, .LANCHOR35 + ldrh w1, [x1, #:lo12:.LANCHOR94] strh w1, [x0, 18] - adrp x1, .LANCHOR79 - ldrb w2, [x2, #:lo12:.LANCHOR36] + adrp x1, .LANCHOR78 + ldrb w2, [x2, #:lo12:.LANCHOR35] strh wzr, [x0, 16] - ldrb w1, [x1, #:lo12:.LANCHOR79] + ldrb w1, [x1, #:lo12:.LANCHOR78] strh w1, [x0, 20] - cbz w2, .L3956 - adrp x2, .LANCHOR86 - ldrh w2, [x2, #:lo12:.LANCHOR86] + cbz w2, .L3990 + adrp x2, .LANCHOR85 + ldrh w2, [x2, #:lo12:.LANCHOR85] strh w2, [x0, 18] mov w2, 1 strh w2, [x0, 20] -.L3956: +.L3990: cmp w1, 2 - bne .L3958 - add x0, x21, :lo12:.LANCHOR71 + bne .L3992 + add x0, x21, :lo12:.LANCHOR70 ldrh w1, [x0, 18] ubfiz w1, w1, 1, 15 strh w1, [x0, 18] - adrp x1, .LANCHOR81 - ldrb w1, [x1, #:lo12:.LANCHOR81] - cbnz w1, .L3958 + adrp x1, .LANCHOR80 + ldrb w1, [x1, #:lo12:.LANCHOR80] + cbnz w1, .L3992 mov w1, 1 strh w1, [x0, 20] -.L3958: - add x21, x21, :lo12:.LANCHOR71 +.L3992: + add x21, x21, :lo12:.LANCHOR70 strh wzr, [x21, 22] - b .L3965 -.L3961: + b .L3999 +.L3995: ldrh w1, [x24, 16] ldrh w0, [x24, 18] cmp w1, w0 - bcc .L3962 + bcc .L3996 mov w0, 6 - strb w0, [x19, #:lo12:.LANCHOR159] + strb w0, [x20, #:lo12:.LANCHOR156] ldr x0, [x24, 8] bl zbuf_free str xzr, [x24, 8] - b .L3965 -.L3962: + b .L3999 +.L3996: cmp w21, 15 - bls .L3860 + bls .L3892 cmp w25, 1 - bne .L3965 + bne .L3999 add w22, w22, 1 and w22, w22, 255 cmp w22, 4 - bls .L3860 - b .L3965 -.L3859: + bls .L3892 + b .L3999 +.L3891: bl gc_update_l2p_map_new - mov w20, -1 + mov w19, -1 bl gc_free_src_blk bl ftl_flush bl pm_flush - strh w20, [x26, 80] + strh w19, [x26, 80] bl ftl_ext_info_flush adrp x0, .LANCHOR110 ldr x0, [x0, #:lo12:.LANCHOR110] - strh w20, [x0, 126] + strh w19, [x0, 126] mov w0, 0 bl ftl_info_flush -.L4046: - strb wzr, [x19, #:lo12:.LANCHOR159] - b .L3965 -.L3939: - mov w2, 3277 +.L4086: + strb wzr, [x20, #:lo12:.LANCHOR156] + b .L3999 +.L3973: + mov w2, 3430 adrp x1, .LANCHOR237 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR237 add x0, x0, :lo12:.LC0 bl printf - b .L3964 + b .L3998 .size zftl_do_gc, .-zftl_do_gc .section .text.zftl_init,"ax",@progbits .align 2 @@ -25649,84 +26298,84 @@ zftl_do_gc: .type zftl_init, %function zftl_init: stp x29, x30, [sp, -112]! - adrp x1, .LANCHOR66 + adrp x1, .LANCHOR65 mov w0, -1 add x29, sp, 0 - strb w0, [x1, #:lo12:.LANCHOR66] - adrp x1, .LANCHOR67 + strb w0, [x1, #:lo12:.LANCHOR65] + adrp x1, .LANCHOR66 stp x21, x22, [sp, 32] - adrp x22, .LANCHOR95 - strb wzr, [x1, #:lo12:.LANCHOR67] + adrp x22, .LANCHOR94 + strb wzr, [x1, #:lo12:.LANCHOR66] adrp x1, .LANCHOR133 stp x19, x20, [sp, 16] - adrp x21, .LANCHOR80 + adrp x21, .LANCHOR79 strb w0, [x1, #:lo12:.LANCHOR133] adrp x1, .LANCHOR134 stp x23, x24, [sp, 48] adrp x20, .LANCHOR221 strb wzr, [x1, #:lo12:.LANCHOR134] - adrp x1, .LANCHOR185 + adrp x1, .LANCHOR182 stp x25, x26, [sp, 64] - adrp x23, .LANCHOR6 - strb w0, [x1, #:lo12:.LANCHOR185] + adrp x23, .LANCHOR8 + strb w0, [x1, #:lo12:.LANCHOR182] adrp x0, .LANCHOR129 mov w1, -1 stp x27, x28, [sp, 80] strb wzr, [x0, #:lo12:.LANCHOR129] adrp x0, .LANCHOR238 str w1, [x0, #:lo12:.LANCHOR238] - adrp x1, .LC239 - adrp x0, .LC104 - add x1, x1, :lo12:.LC239 - add x0, x0, :lo12:.LC104 + adrp x1, .LC242 + adrp x0, .LC101 + add x1, x1, :lo12:.LC242 + add x0, x0, :lo12:.LC101 bl printf - adrp x1, .LANCHOR33 - add x1, x1, :lo12:.LANCHOR33 - adrp x0, .LANCHOR79 + adrp x1, .LANCHOR32 + add x1, x1, :lo12:.LANCHOR32 + adrp x0, .LANCHOR78 adrp x2, .LANCHOR131 adrp x3, .LANCHOR112 - adrp x4, .LANCHOR76 + adrp x4, .LANCHOR75 ldrb w7, [x1, 12] - strb w7, [x0, #:lo12:.LANCHOR79] + strb w7, [x0, #:lo12:.LANCHOR78] ldrb w0, [x1, 9] strb w0, [x2, #:lo12:.LANCHOR131] - adrp x2, .LANCHOR86 + adrp x2, .LANCHOR85 ldrh w5, [x1, 10] - strh w5, [x2, #:lo12:.LANCHOR86] - adrp x2, .LANCHOR18 + strh w5, [x2, #:lo12:.LANCHOR85] + adrp x2, .LANCHOR23 ldrh w8, [x1, 14] ubfiz w6, w0, 9, 7 - ldrb w2, [x2, #:lo12:.LANCHOR18] + ldrb w2, [x2, #:lo12:.LANCHOR23] sdiv w11, w5, w7 strb w2, [x3, #:lo12:.LANCHOR112] ldrb w3, [x1, 13] adrp x1, .LANCHOR2 - strb w3, [x4, #:lo12:.LANCHOR76] + strb w3, [x4, #:lo12:.LANCHOR75] ldrh w4, [x1, #:lo12:.LANCHOR2] adrp x1, .LANCHOR111 - strh w11, [x22, #:lo12:.LANCHOR95] + strh w11, [x22, #:lo12:.LANCHOR94] mul w2, w2, w3 strh w4, [x1, #:lo12:.LANCHOR111] - strh w8, [x23, #:lo12:.LANCHOR6] + strh w8, [x23, #:lo12:.LANCHOR8] mov w3, 1 and w2, w2, 255 strh w6, [x20, #:lo12:.LANCHOR221] - strb w2, [x21, #:lo12:.LANCHOR80] + strb w2, [x21, #:lo12:.LANCHOR79] mov w1, 0 -.L4049: +.L4089: cmp w4, w3 - bcs .L4050 + bcs .L4090 mul w10, w0, w5 - adrp x3, .LANCHOR75 + adrp x3, .LANCHOR74 sub w1, w1, #1 mov w4, 0 - strh w1, [x3, #:lo12:.LANCHOR75] + strh w1, [x3, #:lo12:.LANCHOR74] mov w1, 1 mul w3, w8, w10 lsr w12, w3, 21 -.L4051: +.L4091: cmp w12, w1 - bcs .L4052 + bcs .L4092 mov w1, 57344 sub w4, w4, #1 movk w1, 0x1c, lsl 16 @@ -25734,16 +26383,16 @@ zftl_init: adrp x28, .LANCHOR128 sub w12, w6, #1 mul w1, w2, w1 - adrp x24, .LANCHOR204 + adrp x24, .LANCHOR202 mul w11, w11, w2 adrp x27, .LANCHOR240 mul w10, w10, w2 - adrp x26, .LANCHOR155 + adrp x26, .LANCHOR152 lsl w1, w1, w4 - adrp x4, .LANCHOR68 + adrp x4, .LANCHOR67 sub w10, w10, #1 adrp x25, .LANCHOR98 - str w1, [x4, #:lo12:.LANCHOR68] + str w1, [x4, #:lo12:.LANCHOR67] adrp x4, .LANCHOR239 lsr w8, w8, 4 strh w8, [x25, #:lo12:.LANCHOR98] @@ -25757,65 +26406,65 @@ zftl_init: add w0, w12, w0, lsl 2 add w3, w3, 8 udiv w0, w0, w6 - strh w0, [x24, #:lo12:.LANCHOR204] + strh w0, [x24, #:lo12:.LANCHOR202] ubfiz w0, w0, 4, 16 sdiv w0, w0, w11 - strh w0, [x26, #:lo12:.LANCHOR155] + strh w0, [x26, #:lo12:.LANCHOR152] adrp x0, .LANCHOR101 str x0, [x29, 104] strh w3, [x0, #:lo12:.LANCHOR101] - bhi .L4053 + bhi .L4093 mov w0, 80 strh w0, [x25, #:lo12:.LANCHOR98] -.L4053: +.L4093: adrp x12, .LANCHOR126 mov w0, 2000 adrp x11, .LANCHOR125 - adrp x3, .LANCHOR152 + adrp x3, .LANCHOR149 strh w0, [x12, #:lo12:.LANCHOR126] mov w0, 50 - adrp x8, .LANCHOR153 + adrp x8, .LANCHOR150 strh w0, [x11, #:lo12:.LANCHOR125] mov w0, 256 - strh w0, [x3, #:lo12:.LANCHOR152] + strh w0, [x3, #:lo12:.LANCHOR149] mov w0, 48 - strh w0, [x8, #:lo12:.LANCHOR153] - adrp x0, .LANCHOR8 + strh w0, [x8, #:lo12:.LANCHOR150] + adrp x0, .LANCHOR10 mov w10, 32 cmp w7, 2 mov x13, x11 - strh w10, [x0, #:lo12:.LANCHOR8] + strh w10, [x0, #:lo12:.LANCHOR10] mov x7, x12 mov x14, x8 - beq .L4054 - adrp x15, .LANCHOR84 - ldrb w15, [x15, #:lo12:.LANCHOR84] - cbz w15, .L4055 -.L4054: + beq .L4094 + adrp x15, .LANCHOR83 + ldrb w15, [x15, #:lo12:.LANCHOR83] + cbz w15, .L4095 +.L4094: mov w8, 150 strh w8, [x13, #:lo12:.LANCHOR125] mov w8, 64 - strh w8, [x14, #:lo12:.LANCHOR153] + strh w8, [x14, #:lo12:.LANCHOR150] mov w8, 12 - strh w8, [x0, #:lo12:.LANCHOR8] + strh w8, [x0, #:lo12:.LANCHOR10] adrp x8, .LANCHOR0 ldrb w8, [x8, #:lo12:.LANCHOR0] - cbnz w8, .L4056 + cbnz w8, .L4096 mov w8, 4 - strh w8, [x0, #:lo12:.LANCHOR8] + strh w8, [x0, #:lo12:.LANCHOR10] mov w0, 600 strh w0, [x7, #:lo12:.LANCHOR126] mov w0, 128 - strh w0, [x3, #:lo12:.LANCHOR152] -.L4056: - adrp x0, .LANCHOR37 - ldrb w0, [x0, #:lo12:.LANCHOR37] - cbz w0, .L4058 + strh w0, [x3, #:lo12:.LANCHOR149] +.L4096: + adrp x0, .LANCHOR36 + ldrb w0, [x0, #:lo12:.LANCHOR36] + cbz w0, .L4098 mov w0, 200 strh w0, [x13, #:lo12:.LANCHOR125] mov w0, 2000 strh w0, [x7, #:lo12:.LANCHOR126] -.L4058: +.L4098: adrp x0, .LANCHOR122 mul w2, w5, w2 mov w3, 1 @@ -25823,186 +26472,186 @@ zftl_init: adrp x0, .LANCHOR224 cmp w6, w2, lsl 2 strb w3, [x0, #:lo12:.LANCHOR224] - bge .L4060 + bge .L4100 mov w2, 2 strb w2, [x0, #:lo12:.LANCHOR224] -.L4060: - adrp x19, .LANCHOR14 - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4061 +.L4100: + adrp x19, .LANCHOR19 + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4101 str x4, [x29, 96] - adrp x0, .LC240 - add x0, x0, :lo12:.LC240 - bl printf - ldr x4, [x29, 96] -.L4061: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4062 - ldr w1, [x4, #:lo12:.LANCHOR239] - adrp x0, .LC241 - add x0, x0, :lo12:.LC241 - bl printf -.L4062: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4063 - ldr w1, [x28, #:lo12:.LANCHOR128] - adrp x0, .LC242 - add x0, x0, :lo12:.LC242 - bl printf -.L4063: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4064 - ldr w1, [x27, #:lo12:.LANCHOR240] adrp x0, .LC243 add x0, x0, :lo12:.LC243 bl printf -.L4064: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4065 - ldrh w1, [x24, #:lo12:.LANCHOR204] + ldr x4, [x29, 96] +.L4101: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4102 + ldr w1, [x4, #:lo12:.LANCHOR239] adrp x0, .LC244 add x0, x0, :lo12:.LC244 bl printf -.L4065: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4066 - ldrh w1, [x20, #:lo12:.LANCHOR221] +.L4102: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4103 + ldr w1, [x28, #:lo12:.LANCHOR128] adrp x0, .LC245 add x0, x0, :lo12:.LC245 bl printf -.L4066: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4067 - ldrh w1, [x26, #:lo12:.LANCHOR155] +.L4103: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4104 + ldr w1, [x27, #:lo12:.LANCHOR240] adrp x0, .LC246 add x0, x0, :lo12:.LC246 bl printf -.L4067: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4068 - ldrh w1, [x25, #:lo12:.LANCHOR98] +.L4104: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4105 + ldrh w1, [x24, #:lo12:.LANCHOR202] adrp x0, .LC247 add x0, x0, :lo12:.LC247 bl printf -.L4068: - ldr w0, [x19, #:lo12:.LANCHOR14] - tbz x0, 12, .L4069 - ldr x0, [x29, 104] - ldrh w1, [x0, #:lo12:.LANCHOR101] +.L4105: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4106 + ldrh w1, [x20, #:lo12:.LANCHOR221] adrp x0, .LC248 add x0, x0, :lo12:.LC248 bl printf -.L4069: +.L4106: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4107 + ldrh w1, [x26, #:lo12:.LANCHOR152] + adrp x0, .LC249 + add x0, x0, :lo12:.LC249 + bl printf +.L4107: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4108 + ldrh w1, [x25, #:lo12:.LANCHOR98] + adrp x0, .LC250 + add x0, x0, :lo12:.LC250 + bl printf +.L4108: + ldr w0, [x19, #:lo12:.LANCHOR19] + tbz x0, 12, .L4109 + ldr x0, [x29, 104] + ldrh w1, [x0, #:lo12:.LANCHOR101] + adrp x0, .LC251 + add x0, x0, :lo12:.LC251 + bl printf +.L4109: bl zbuf_init - adrp x25, .LANCHOR200 + adrp x25, .LANCHOR197 mov w0, 16384 bl ftl_malloc - adrp x1, .LANCHOR195 - str x0, [x1, #:lo12:.LANCHOR195] + adrp x1, .LANCHOR192 + str x0, [x1, #:lo12:.LANCHOR192] mov w0, 16384 bl ftl_malloc - str x0, [x25, #:lo12:.LANCHOR200] + str x0, [x25, #:lo12:.LANCHOR197] mov w0, 16384 bl ftl_malloc - adrp x1, .LANCHOR190 - str x0, [x1, #:lo12:.LANCHOR190] + adrp x1, .LANCHOR187 + str x0, [x1, #:lo12:.LANCHOR187] mov w0, 6 - ldrh w1, [x23, #:lo12:.LANCHOR6] + ldrh w1, [x23, #:lo12:.LANCHOR8] mul w0, w1, w0 bl ftl_malloc adrp x1, .LANCHOR4 str x0, [x1, #:lo12:.LANCHOR4] - ldrb w1, [x21, #:lo12:.LANCHOR80] - ldrh w0, [x22, #:lo12:.LANCHOR95] + ldrb w1, [x21, #:lo12:.LANCHOR79] + ldrh w0, [x22, #:lo12:.LANCHOR94] mul w0, w0, w1 lsl w0, w0, 2 bl ftl_malloc adrp x1, .LANCHOR118 - ldr x2, [x25, #:lo12:.LANCHOR200] - adrp x25, .LANCHOR10 + ldr x2, [x25, #:lo12:.LANCHOR197] + adrp x25, .LANCHOR12 str x0, [x1, #:lo12:.LANCHOR118] adrp x0, .LANCHOR117 - ldrh w1, [x22, #:lo12:.LANCHOR95] + ldrh w1, [x22, #:lo12:.LANCHOR94] str x2, [x0, #:lo12:.LANCHOR117] - ldrb w0, [x21, #:lo12:.LANCHOR80] + ldrb w0, [x21, #:lo12:.LANCHOR79] mul w1, w1, w0 lsl w0, w1, 1 - adrp x1, .LANCHOR9 + adrp x1, .LANCHOR11 add x3, x2, x0, sxtw 2 - str x3, [x1, #:lo12:.LANCHOR9] - ldrh w1, [x23, #:lo12:.LANCHOR6] + str x3, [x1, #:lo12:.LANCHOR11] + ldrh w1, [x23, #:lo12:.LANCHOR8] add w1, w0, w1, lsr 1 - ldr w0, [x19, #:lo12:.LANCHOR14] + ldr w0, [x19, #:lo12:.LANCHOR19] add x1, x2, x1, sxtw 2 - str x1, [x25, #:lo12:.LANCHOR10] - tbz x0, 12, .L4070 - adrp x0, .LC249 - add x0, x0, :lo12:.LC249 + str x1, [x25, #:lo12:.LANCHOR12] + tbz x0, 12, .L4110 + adrp x0, .LC252 + add x0, x0, :lo12:.LC252 bl printf -.L4070: - ldrh w0, [x22, #:lo12:.LANCHOR95] - ldrb w21, [x21, #:lo12:.LANCHOR80] - ldrh w1, [x23, #:lo12:.LANCHOR6] - ldrh w22, [x24, #:lo12:.LANCHOR204] +.L4110: + ldrh w0, [x22, #:lo12:.LANCHOR94] + ldrb w21, [x21, #:lo12:.LANCHOR79] + ldrh w1, [x23, #:lo12:.LANCHOR8] + ldrh w22, [x24, #:lo12:.LANCHOR202] mul w21, w0, w21 - ldr w0, [x19, #:lo12:.LANCHOR14] + ldr w0, [x19, #:lo12:.LANCHOR19] add w21, w1, w21, lsl 2 lsl w1, w1, 2 lsl w21, w21, 1 add w22, w1, w22, lsl 2 add w21, w21, 632 add w22, w22, 704 - tbz x0, 12, .L4071 + tbz x0, 12, .L4111 ldrh w3, [x20, #:lo12:.LANCHOR221] - adrp x0, .LC250 + adrp x0, .LC253 mov w2, w22 mov w1, w21 - add x0, x0, :lo12:.LC250 + add x0, x0, :lo12:.LC253 bl printf -.L4071: +.L4111: ldrh w0, [x20, #:lo12:.LANCHOR221] cmp w21, w0 - bhi .L4072 + bhi .L4112 cmp w22, w0 - bls .L4073 -.L4072: -.L4126: - b .L4126 -.L4050: + bls .L4113 +.L4112: +.L4166: + b .L4166 +.L4090: add w1, w1, 1 lsl w3, w3, 1 and w1, w1, 65535 - b .L4049 -.L4052: + b .L4089 +.L4092: add w4, w4, 1 lsl w1, w1, 1 and w4, w4, 65535 - b .L4051 -.L4055: - adrp x0, .LANCHOR36 - ldrb w0, [x0, #:lo12:.LANCHOR36] - cbz w0, .L4058 + b .L4091 +.L4095: + adrp x0, .LANCHOR35 + ldrb w0, [x0, #:lo12:.LANCHOR35] + cbz w0, .L4098 mov w0, 1200 strh w10, [x11, #:lo12:.LANCHOR125] strh w0, [x12, #:lo12:.LANCHOR126] - strh w10, [x8, #:lo12:.LANCHOR153] - b .L4058 -.L4073: + strh w10, [x8, #:lo12:.LANCHOR150] + b .L4098 +.L4113: bl sblk_init bl ftl_info_blk_init cmn w0, #1 - beq .L4048 + beq .L4088 bl ftl_ext_info_init adrp x19, .LANCHOR110 bl gc_init mov w0, 1 bl pm_init bl lpa_rebuild_hash - ldr x0, [x25, #:lo12:.LANCHOR10] + ldr x0, [x25, #:lo12:.LANCHOR12] mov x1, 0 add x0, x0, 16 bl ftl_open_sblk_recovery - ldr x0, [x25, #:lo12:.LANCHOR10] + ldr x0, [x25, #:lo12:.LANCHOR12] add x1, x0, 16 add x0, x0, 48 bl ftl_open_sblk_recovery @@ -26010,44 +26659,44 @@ zftl_init: ldr w0, [x1, 8] add w0, w0, 16 str w0, [x1, 8] - ldr x0, [x25, #:lo12:.LANCHOR10] + ldr x0, [x25, #:lo12:.LANCHOR12] add x0, x0, 16 bl ftl_info_data_recovery - ldr x0, [x25, #:lo12:.LANCHOR10] + ldr x0, [x25, #:lo12:.LANCHOR12] add x0, x0, 48 bl ftl_info_data_recovery - ldr x0, [x25, #:lo12:.LANCHOR10] + ldr x0, [x25, #:lo12:.LANCHOR12] add x0, x0, 80 bl ftl_info_data_recovery bl gc_recovery bl pm_flush mov w0, 1 bl ftl_total_vpn_update - adrp x0, .LANCHOR198 - ldrb w0, [x0, #:lo12:.LANCHOR198] - cbz w0, .L4075 + adrp x0, .LANCHOR195 + ldrb w0, [x0, #:lo12:.LANCHOR195] + cbz w0, .L4115 ldr x1, [x19, #:lo12:.LANCHOR110] ldr w0, [x1, 68] add w0, w0, 1 str w0, [x1, 68] -.L4075: +.L4115: bl ftl_ext_info_flush mov w0, 0 bl ftl_info_flush bl print_ftl_debug_info - ldr x0, [x25, #:lo12:.LANCHOR10] + ldr x0, [x25, #:lo12:.LANCHOR12] ldrh w0, [x0, 124] - cbnz w0, .L4082 + cbnz w0, .L4122 adrp x0, .LANCHOR103 adrp x1, .LANCHOR107 ldrh w0, [x0, #:lo12:.LANCHOR103] ldrh w1, [x1, #:lo12:.LANCHOR107] add w0, w0, w1 cmp w0, 7 - ble .L4082 -.L4078: + ble .L4122 +.L4118: mov w0, 0 -.L4048: +.L4088: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -26055,35 +26704,35 @@ zftl_init: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 112 ret -.L4082: +.L4122: adrp x20, .LANCHOR103 adrp x21, .LANCHOR107 add x20, x20, :lo12:.LANCHOR103 add x21, x21, :lo12:.LANCHOR107 mov w19, 16384 -.L4079: +.L4119: mov w1, 1 mov w0, 0 bl zftl_do_gc mov w1, 1 mov w0, w1 bl zftl_do_gc - ldr x0, [x25, #:lo12:.LANCHOR10] + ldr x0, [x25, #:lo12:.LANCHOR12] ldrh w1, [x0, 124] - cbnz w1, .L4077 + cbnz w1, .L4117 ldrh w1, [x0, 80] mov w0, 65535 cmp w1, w0 - bne .L4077 + bne .L4117 ldrh w0, [x20] ldrh w1, [x21] add w0, w0, w1 cmp w0, 7 - bgt .L4078 -.L4077: + bgt .L4118 +.L4117: subs w19, w19, #1 - bne .L4079 - b .L4078 + bne .L4119 + b .L4118 .size zftl_init, .-zftl_init .section .text.rk_ftl_init,"ax",@progbits .align 2 @@ -26094,14 +26743,14 @@ rk_ftl_init: add x29, sp, 0 str x19, [sp, 16] bl nand_flash_init - cbnz w0, .L4130 + cbnz w0, .L4170 bl zftl_init -.L4130: +.L4170: mov w19, w0 bl idb_init mov w1, w19 - adrp x0, .LC251 - add x0, x0, :lo12:.LC251 + adrp x0, .LC254 + add x0, x0, :lo12:.LC254 bl printf mov w0, w19 ldr x19, [sp, 16] @@ -26117,44 +26766,44 @@ zftl_write: add x29, sp, 0 stp x19, x20, [sp, 16] mov w19, w0 - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR19 stp x21, x22, [sp, 32] stp x25, x26, [sp, 64] mov w20, w1 - ldr w0, [x0, #:lo12:.LANCHOR14] + ldr w0, [x0, #:lo12:.LANCHOR19] mov w21, w2 stp x23, x24, [sp, 48] mov x25, x3 stp x27, x28, [sp, 80] - tbz x0, 12, .L4133 + tbz x0, 12, .L4173 ldr w4, [x25] mov w3, w2 - adrp x0, .LC252 + adrp x0, .LC255 mov w2, w1 - add x0, x0, :lo12:.LC252 + add x0, x0, :lo12:.LC255 mov w1, w19 bl printf -.L4133: - cbnz w19, .L4134 - adrp x0, .LANCHOR68 +.L4173: + cbnz w19, .L4174 + adrp x0, .LANCHOR67 mov w19, 24576 - ldr w0, [x0, #:lo12:.LANCHOR68] -.L4135: + ldr w0, [x0, #:lo12:.LANCHOR67] +.L4175: cmp w0, w20 ccmp w0, w21, 0, hi - bcc .L4153 + bcc .L4193 add w1, w20, w21 cmp w0, w1 - bcc .L4153 + bcc .L4193 adrp x26, .LANCHOR131 add w19, w19, w20 sub w22, w21, #1 - adrp x27, .LANCHOR67 + adrp x27, .LANCHOR66 ldrb w0, [x26, #:lo12:.LANCHOR131] add w22, w22, w19 - adrp x28, .LANCHOR58 - add x27, x27, :lo12:.LANCHOR67 - add x28, x28, :lo12:.LANCHOR58 + adrp x28, .LANCHOR57 + add x27, x27, :lo12:.LANCHOR66 + add x28, x28, :lo12:.LANCHOR57 udiv w24, w19, w0 udiv w22, w22, w0 add x0, x26, :lo12:.LANCHOR131 @@ -26162,8 +26811,8 @@ zftl_write: mov w20, w24 sub w23, w22, w24 add w23, w23, 1 -.L4137: - cbnz w23, .L4146 +.L4177: + cbnz w23, .L4186 bl ftl_write_commit adrp x20, .LANCHOR103 bl ftl_flush @@ -26171,30 +26820,30 @@ zftl_write: mov w1, 1 mov w0, 0 bl zftl_do_gc - adrp x0, .LANCHOR10 - ldr x0, [x0, #:lo12:.LANCHOR10] + adrp x0, .LANCHOR12 + ldr x0, [x0, #:lo12:.LANCHOR12] ldrh w0, [x0, 124] - cbnz w0, .L4147 + cbnz w0, .L4187 ldrh w0, [x20, #:lo12:.LANCHOR103] ldrh w1, [x19, #:lo12:.LANCHOR107] add w0, w0, w1 cmp w0, 11 - bgt .L4148 -.L4147: + bgt .L4188 +.L4187: mov w1, 1 mov w0, 0 bl zftl_do_gc -.L4148: +.L4188: add x20, x20, :lo12:.LANCHOR103 add x19, x19, :lo12:.LANCHOR107 -.L4149: +.L4189: ldrh w0, [x20] ldrh w1, [x19] add w0, w0, w1 cmp w0, 7 - ble .L4150 + ble .L4190 mov w0, 0 -.L4132: +.L4172: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -26202,36 +26851,36 @@ zftl_write: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 112 ret -.L4134: +.L4174: cmp w19, 3 - bhi .L4153 + bhi .L4193 lsl w19, w19, 13 mov w0, 8192 - b .L4135 -.L4146: + b .L4175 +.L4186: ldrb w0, [x27] - cbz w0, .L4138 + cbz w0, .L4178 ldrb w0, [x28] cmp w0, 2 - bhi .L4138 + bhi .L4178 bl ftl_write_commit -.L4138: +.L4178: mov w0, 0 bl buf_alloc mov x26, x0 - cbnz x0, .L4139 + cbnz x0, .L4179 bl ftl_write_commit - b .L4137 -.L4139: + b .L4177 +.L4179: strb wzr, [x0, 57] cmp w20, w24 ldr x0, [x29, 104] ccmp w20, w22, 4, ne ldrb w0, [x0] strb w0, [x26, 56] - bne .L4142 + bne .L4182 cmp w20, w24 - bne .L4143 + bne .L4183 udiv w1, w19, w0 msub w1, w1, w0, w19 and w1, w1, 255 @@ -26240,9 +26889,9 @@ zftl_write: and w0, w0, 255 cmp w21, w0 csel w0, w21, w0, cc -.L4161: +.L4201: strb w0, [x26, 56] -.L4142: +.L4182: ldr x4, [x26, 8] mov x1, x25 ldrb w0, [x26, 57] @@ -26265,22 +26914,22 @@ zftl_write: ldrb w0, [x26, 56] ubfiz x0, x0, 9, 8 add x25, x25, x0 - b .L4137 -.L4143: + b .L4177 +.L4183: add w1, w19, w21 msub w0, w0, w20, w1 - b .L4161 -.L4150: + b .L4201 +.L4190: mov w1, 1 mov w0, 0 bl zftl_do_gc mov w1, 1 mov w0, w1 bl zftl_do_gc - b .L4149 -.L4153: + b .L4189 +.L4193: mov w0, -1 - b .L4132 + b .L4172 .size zftl_write, .-zftl_write .section .text.zftl_sys_write,"ax",@progbits .align 2 @@ -26328,12 +26977,12 @@ ftl_write: mov x20, x3 mov w22, w1 ands w21, w0, 255 - bne .L4166 + bne .L4206 mov w3, w2 mov w0, 0 mov x2, x20 bl idb_write_data -.L4166: +.L4206: mov x3, x20 mov w2, w19 mov w1, w22 @@ -26370,34 +27019,34 @@ zftl_discard: add x29, sp, 0 stp x19, x20, [sp, 16] mov w19, w1 - adrp x1, .LANCHOR68 + adrp x1, .LANCHOR67 stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] - ldr w1, [x1, #:lo12:.LANCHOR68] + ldr w1, [x1, #:lo12:.LANCHOR67] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] cmp w0, w1 ccmp w19, w1, 2, cc - bhi .L4192 + bhi .L4232 add w2, w0, w19 cmp w1, w2 - bcc .L4192 + bcc .L4232 adrp x24, .LANCHOR241 add w22, w0, 24576 - adrp x0, .LANCHOR14 + adrp x0, .LANCHOR19 str x0, [x29, 104] ldr w1, [x24, #:lo12:.LANCHOR241] - ldr w2, [x0, #:lo12:.LANCHOR14] + ldr w2, [x0, #:lo12:.LANCHOR19] add w1, w19, w1 str w1, [x24, #:lo12:.LANCHOR241] - tbz x2, 12, .L4172 - adrp x0, .LC253 + tbz x2, 12, .L4212 + adrp x0, .LC256 mov w4, 0 mov w3, w19 mov w2, w22 - add x0, x0, :lo12:.LC253 + add x0, x0, :lo12:.LC256 bl printf -.L4172: +.L4212: adrp x23, .LANCHOR110 adrp x26, .LANCHOR131 ldr x0, [x23, #:lo12:.LANCHOR110] @@ -26409,7 +27058,7 @@ zftl_discard: ldrb w21, [x26, #:lo12:.LANCHOR131] udiv w20, w22, w21 msub w25, w20, w21, w22 - cbz w25, .L4173 + cbz w25, .L4213 sub w21, w21, w25 mov w0, w20 cmp w21, w19 @@ -26417,20 +27066,20 @@ zftl_discard: bl lpa_hash_get_ppa str w0, [x29, 120] cmn w0, #1 - bne .L4174 + bne .L4214 mov w2, 0 add x1, x29, 120 mov w0, w20 bl pm_log2phys -.L4174: +.L4214: ldr w0, [x29, 120] and w28, w21, 65535 cmn w0, #1 - beq .L4176 + beq .L4216 mov w0, 0 bl buf_alloc mov x3, x0 - cbz x0, .L4176 + cbz x0, .L4216 strb w25, [x0, 57] ubfiz x25, x25, 9, 25 strb w21, [x0, 56] @@ -26449,53 +27098,53 @@ zftl_discard: ldr w0, [x1, 76] add w0, w0, 1 str w0, [x1, 76] -.L4176: +.L4216: add w20, w20, 1 sub w19, w19, w28 -.L4173: - cbz w19, .L4178 +.L4213: + cbz w19, .L4218 bl ftl_flush -.L4178: - adrp x25, .LANCHOR75 +.L4218: + adrp x25, .LANCHOR74 add x21, x26, :lo12:.LANCHOR131 - add x25, x25, :lo12:.LANCHOR75 + add x25, x25, :lo12:.LANCHOR74 mov w0, -1 str w0, [x29, 124] -.L4179: +.L4219: ldrb w0, [x21] cmp w19, w0 - bcs .L4184 - cbz w19, .L4186 + bcs .L4224 + cbz w19, .L4226 mov w0, w20 bl lpa_hash_get_ppa str w0, [x29, 120] cmn w0, #1 - bne .L4187 + bne .L4227 mov w2, 0 add x1, x29, 120 mov w0, w20 bl pm_log2phys -.L4187: +.L4227: ldr w0, [x29, 120] cmn w0, #1 - beq .L4186 + beq .L4226 mov w0, 0 bl buf_alloc mov x21, x0 - cbz x0, .L4186 + cbz x0, .L4226 strb wzr, [x0, 57] strb w19, [x0, 56] stp w27, w20, [x21, 32] ldrb w0, [x26, #:lo12:.LANCHOR131] cmp w19, w0 - bcc .L4189 + bcc .L4229 adrp x1, .LANCHOR242 adrp x0, .LC0 - mov w2, 1477 + mov w2, 1493 add x1, x1, :lo12:.LANCHOR242 add x0, x0, :lo12:.LC0 bl printf -.L4189: +.L4229: ldr x0, [x21, 8] lsl w2, w19, 9 mov w1, 0 @@ -26507,38 +27156,38 @@ zftl_discard: ldr w0, [x1, 76] add w0, w0, 1 str w0, [x1, 76] -.L4186: +.L4226: ldr w1, [x24, #:lo12:.LANCHOR241] cmp w1, 8192 - bls .L4193 + bls .L4233 ldr x0, [x29, 104] - ldr w0, [x0, #:lo12:.LANCHOR14] - tbz x0, 12, .L4190 - adrp x0, .LC253 + ldr w0, [x0, #:lo12:.LANCHOR19] + tbz x0, 12, .L4230 + adrp x0, .LC256 mov w4, 0 mov w3, w19 mov w2, w22 - add x0, x0, :lo12:.LC253 + add x0, x0, :lo12:.LC256 bl printf -.L4190: +.L4230: str wzr, [x24, #:lo12:.LANCHOR241] bl flt_sys_flush adrp x0, .LANCHOR122 mov w1, 1 str w1, [x0, #:lo12:.LANCHOR122] -.L4193: +.L4233: mov w0, 0 - b .L4170 -.L4184: + b .L4210 +.L4224: mov w0, w20 bl lpa_hash_get_ppa str w0, [x29, 120] cmn w0, #1 - beq .L4180 + beq .L4220 mov w0, 0 bl buf_alloc mov x28, x0 - cbz x0, .L4182 + cbz x0, .L4222 ldrb w2, [x21] mov w1, 0 strb w2, [x0, 56] @@ -26550,31 +27199,31 @@ zftl_discard: mov x0, x28 bl ftl_write_buf bl ftl_write_commit -.L4219: +.L4259: ldr x1, [x23, #:lo12:.LANCHOR110] ldr w0, [x1, 76] add w0, w0, 1 str w0, [x1, 76] -.L4182: +.L4222: ldrb w0, [x21] add w20, w20, 1 sub w19, w19, w0 - b .L4179 -.L4180: + b .L4219 +.L4220: mov w2, 0 add x1, x29, 120 mov w0, w20 bl pm_log2phys ldr w0, [x29, 120] cmn w0, #1 - beq .L4182 + beq .L4222 add x1, x29, 124 mov w2, 1 mov w0, w20 bl pm_log2phys - adrp x0, .LANCHOR32 + adrp x0, .LANCHOR31 ldrh w2, [x25] - ldrb w1, [x0, #:lo12:.LANCHOR32] + ldrb w1, [x0, #:lo12:.LANCHOR31] mov w0, 24 sub w0, w0, w1 sub w1, w0, w2 @@ -26584,14 +27233,14 @@ zftl_discard: sub w0, w0, #1 lsr w1, w1, w2 and w0, w0, w1 - adrp x1, .LANCHOR76 - ldrb w1, [x1, #:lo12:.LANCHOR76] + adrp x1, .LANCHOR75 + ldrb w1, [x1, #:lo12:.LANCHOR75] udiv w0, w0, w1 bl ftl_vpn_decrement - b .L4219 -.L4192: + b .L4259 +.L4232: mov w0, -1 -.L4170: +.L4210: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -26616,47 +27265,47 @@ ftl_discard: dump_pm_blk: stp x29, x30, [sp, -48]! mov w2, 4 - adrp x0, .LC254 - add x0, x0, :lo12:.LC254 + adrp x0, .LC257 + add x0, x0, :lo12:.LC257 add x29, sp, 0 stp x19, x20, [sp, 16] adrp x20, .LANCHOR110 stp x21, x22, [sp, 32] - adrp x21, .LANCHOR155 + adrp x21, .LANCHOR152 ldr x1, [x20, #:lo12:.LANCHOR110] mov w19, 0 mov w22, 65535 add x1, x1, 704 ldrh w3, [x1, -6] bl rknand_print_hex - ldrh w3, [x21, #:lo12:.LANCHOR155] - add x21, x21, :lo12:.LANCHOR155 + ldrh w3, [x21, #:lo12:.LANCHOR152] + add x21, x21, :lo12:.LANCHOR152 ldr x1, [x20, #:lo12:.LANCHOR110] mov w2, 2 - adrp x0, .LC255 - add x0, x0, :lo12:.LC255 + adrp x0, .LC258 + add x0, x0, :lo12:.LC258 add x1, x1, 416 bl rknand_print_hex -.L4222: +.L4262: ldrh w0, [x21] cmp w0, w19 - bhi .L4224 + bhi .L4264 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 48 ret -.L4224: +.L4264: ldr x0, [x20, #:lo12:.LANCHOR110] add x0, x0, x19, sxtw 1 ldrh w0, [x0, 416] cmp w0, w22 - beq .L4223 + beq .L4263 mov x1, 0 bl ftl_sblk_dump -.L4223: +.L4263: add w19, w19, 1 and w19, w19, 65535 - b .L4222 + b .L4262 .size dump_pm_blk, .-dump_pm_blk .global g_pm_spare .global pm_first_write @@ -26824,21 +27473,21 @@ dump_pm_blk: .global g_flash_page_buffer .section .bss.IDByte,"aw",@nobits .align 2 - .set .LANCHOR48,. + 0 + .set .LANCHOR47,. + 0 .type IDByte, %object .size IDByte, 32 IDByte: .zero 32 .section .bss._c_ftl_blk_pre_plane,"aw",@nobits .align 1 - .set .LANCHOR6,. + 0 + .set .LANCHOR8,. + 0 .type _c_ftl_blk_pre_plane, %object .size _c_ftl_blk_pre_plane, 2 _c_ftl_blk_pre_plane: .zero 2 .section .bss._c_ftl_block_addr_log2,"aw",@nobits .align 1 - .set .LANCHOR75,. + 0 + .set .LANCHOR74,. + 0 .type _c_ftl_block_addr_log2, %object .size _c_ftl_block_addr_log2, 2 _c_ftl_block_addr_log2: @@ -26858,7 +27507,7 @@ _c_ftl_block_align_addr: _c_ftl_byte_pre_page: .zero 2 .section .bss._c_ftl_cs_bits,"aw",@nobits - .set .LANCHOR32,. + 0 + .set .LANCHOR31,. + 0 .type _c_ftl_cs_bits, %object .size _c_ftl_cs_bits, 1 _c_ftl_cs_bits: @@ -26876,40 +27525,40 @@ _c_ftl_nand_blks_per_die: _c_ftl_nand_die_num: .zero 1 .section .bss._c_ftl_nand_planes_num,"aw",@nobits - .set .LANCHOR80,. + 0 + .set .LANCHOR79,. + 0 .type _c_ftl_nand_planes_num, %object .size _c_ftl_nand_planes_num, 1 _c_ftl_nand_planes_num: .zero 1 .section .bss._c_ftl_nand_type,"aw",@nobits - .set .LANCHOR79,. + 0 + .set .LANCHOR78,. + 0 .type _c_ftl_nand_type, %object .size _c_ftl_nand_type, 1 _c_ftl_nand_type: .zero 1 .section .bss._c_ftl_page_pre_blk,"aw",@nobits .align 1 - .set .LANCHOR86,. + 0 + .set .LANCHOR85,. + 0 .type _c_ftl_page_pre_blk, %object .size _c_ftl_page_pre_blk, 2 _c_ftl_page_pre_blk: .zero 2 .section .bss._c_ftl_page_pre_slc_blk,"aw",@nobits .align 1 - .set .LANCHOR95,. + 0 + .set .LANCHOR94,. + 0 .type _c_ftl_page_pre_slc_blk, %object .size _c_ftl_page_pre_slc_blk, 2 _c_ftl_page_pre_slc_blk: .zero 2 .section .bss._c_ftl_planes_per_die,"aw",@nobits - .set .LANCHOR76,. + 0 + .set .LANCHOR75,. + 0 .type _c_ftl_planes_per_die, %object .size _c_ftl_planes_per_die, 1 _c_ftl_planes_per_die: .zero 1 .section .bss._c_ftl_pm_page_num,"aw",@nobits .align 1 - .set .LANCHOR204,. + 0 + .set .LANCHOR202,. + 0 .type _c_ftl_pm_page_num, %object .size _c_ftl_pm_page_num, 2 _c_ftl_pm_page_num: @@ -26922,7 +27571,7 @@ _c_ftl_sec_per_page: .zero 1 .section .bss._c_max_pm_sblk,"aw",@nobits .align 1 - .set .LANCHOR155,. + 0 + .set .LANCHOR152,. + 0 .type _c_max_pm_sblk, %object .size _c_max_pm_sblk, 2 _c_max_pm_sblk: @@ -26943,21 +27592,21 @@ _c_mix_max_xlc_ec_count: .zero 2 .section .bss._c_slc_to_xlc_ec_ratio,"aw",@nobits .align 1 - .set .LANCHOR8,. + 0 + .set .LANCHOR10,. + 0 .type _c_slc_to_xlc_ec_ratio, %object .size _c_slc_to_xlc_ec_ratio, 2 _c_slc_to_xlc_ec_ratio: .zero 2 .section .bss._c_swl_slc_gc_th,"aw",@nobits .align 1 - .set .LANCHOR152,. + 0 + .set .LANCHOR149,. + 0 .type _c_swl_slc_gc_th, %object .size _c_swl_slc_gc_th, 2 _c_swl_slc_gc_th: .zero 2 .section .bss._c_swl_xlc_gc_th,"aw",@nobits .align 1 - .set .LANCHOR153,. + 0 + .set .LANCHOR150,. + 0 .type _c_swl_xlc_gc_th, %object .size _c_swl_xlc_gc_th, 2 _c_swl_xlc_gc_th: @@ -26985,7 +27634,7 @@ _c_totle_phy_density: .zero 4 .section .bss._c_user_data_density,"aw",@nobits .align 2 - .set .LANCHOR68,. + 0 + .set .LANCHOR67,. + 0 .type _c_user_data_density, %object .size _c_user_data_density, 4 _c_user_data_density: @@ -27038,27 +27687,27 @@ discard_sector_count: .zero 4 .section .bss.fill_spare_size,"aw",@nobits .align 1 - .set .LANCHOR54,. + 0 + .set .LANCHOR53,. + 0 .type fill_spare_size, %object .size fill_spare_size, 2 fill_spare_size: .zero 2 .section .bss.flash_ddr_tuning_sdr_read_count,"aw",@nobits .align 2 - .set .LANCHOR172,. + 0 + .set .LANCHOR169,. + 0 .type flash_ddr_tuning_sdr_read_count, %object .size flash_ddr_tuning_sdr_read_count, 4 flash_ddr_tuning_sdr_read_count: .zero 4 .section .bss.flash_read_retry,"aw",@nobits .align 3 - .set .LANCHOR174,. + 0 + .set .LANCHOR171,. + 0 .type flash_read_retry, %object .size flash_read_retry, 8 flash_read_retry: .zero 8 .section .bss.free_buf_count,"aw",@nobits - .set .LANCHOR58,. + 0 + .set .LANCHOR57,. + 0 .type free_buf_count, %object .size free_buf_count, 1 free_buf_count: @@ -27086,13 +27735,13 @@ free_xlc_sblk: .zero 2 .section .bss.ftl_ext_info_data_buffer,"aw",@nobits .align 3 - .set .LANCHOR200,. + 0 + .set .LANCHOR197,. + 0 .type ftl_ext_info_data_buffer, %object .size ftl_ext_info_data_buffer, 8 ftl_ext_info_data_buffer: .zero 8 .section .bss.ftl_ext_info_first_write,"aw",@nobits - .set .LANCHOR199,. + 0 + .set .LANCHOR196,. + 0 .type ftl_ext_info_first_write, %object .size ftl_ext_info_first_write, 1 ftl_ext_info_first_write: @@ -27106,27 +27755,27 @@ ftl_flush_jiffies: .zero 4 .section .bss.ftl_info_data_buffer,"aw",@nobits .align 3 - .set .LANCHOR195,. + 0 + .set .LANCHOR192,. + 0 .type ftl_info_data_buffer, %object .size ftl_info_data_buffer, 8 ftl_info_data_buffer: .zero 8 .section .bss.ftl_info_spare,"aw",@nobits .align 6 - .set .LANCHOR193,. + 0 + .set .LANCHOR190,. + 0 .type ftl_info_spare, %object .size ftl_info_spare, 256 ftl_info_spare: .zero 256 .section .bss.ftl_low_format_cur_blk,"aw",@nobits .align 1 - .set .LANCHOR69,. + 0 + .set .LANCHOR68,. + 0 .type ftl_low_format_cur_blk, %object .size ftl_low_format_cur_blk, 2 ftl_low_format_cur_blk: .zero 2 .section .bss.ftl_power_lost_flag,"aw",@nobits - .set .LANCHOR198,. + 0 + .set .LANCHOR195,. + 0 .type ftl_power_lost_flag, %object .size ftl_power_lost_flag, 1 ftl_power_lost_flag: @@ -27140,7 +27789,7 @@ ftl_sblk_lpa_tbl: .zero 8 .section .bss.ftl_sblk_update_list,"aw",@nobits .align 3 - .set .LANCHOR74,. + 0 + .set .LANCHOR73,. + 0 .type ftl_sblk_update_list, %object .size ftl_sblk_update_list, 16 ftl_sblk_update_list: @@ -27154,34 +27803,34 @@ ftl_sblk_update_list_offset: .zero 2 .section .bss.ftl_sblk_vpn,"aw",@nobits .align 3 - .set .LANCHOR9,. + 0 + .set .LANCHOR11,. + 0 .type ftl_sblk_vpn, %object .size ftl_sblk_vpn, 8 ftl_sblk_vpn: .zero 8 .section .bss.ftl_sblk_vpn_update_id,"aw",@nobits .align 1 - .set .LANCHOR73,. + 0 + .set .LANCHOR72,. + 0 .type ftl_sblk_vpn_update_id, %object .size ftl_sblk_vpn_update_id, 2 ftl_sblk_vpn_update_id: .zero 2 .section .bss.ftl_sys_info_first_write,"aw",@nobits - .set .LANCHOR197,. + 0 + .set .LANCHOR194,. + 0 .type ftl_sys_info_first_write, %object .size ftl_sys_info_first_write, 1 ftl_sys_info_first_write: .zero 1 .section .bss.ftl_tmp_buffer,"aw",@nobits .align 3 - .set .LANCHOR190,. + 0 + .set .LANCHOR187,. + 0 .type ftl_tmp_buffer, %object .size ftl_tmp_buffer, 8 ftl_tmp_buffer: .zero 8 .section .bss.ftl_tmp_spare,"aw",@nobits .align 6 - .set .LANCHOR191,. + 0 + .set .LANCHOR188,. + 0 .type ftl_tmp_spare, %object .size ftl_tmp_spare, 256 ftl_tmp_spare: @@ -27202,33 +27851,33 @@ g_block_align_addr: .zero 2 .section .bss.g_buf,"aw",@nobits .align 3 - .set .LANCHOR56,. + 0 + .set .LANCHOR55,. + 0 .type g_buf, %object .size g_buf, 1024 g_buf: .zero 1024 .section .bss.g_die_addr,"aw",@nobits .align 2 - .set .LANCHOR148,. + 0 + .set .LANCHOR145,. + 0 .type g_die_addr, %object .size g_die_addr, 32 g_die_addr: .zero 32 .section .bss.g_die_cs_idx,"aw",@nobits .align 2 - .set .LANCHOR30,. + 0 + .set .LANCHOR29,. + 0 .type g_die_cs_idx, %object .size g_die_cs_idx, 8 g_die_cs_idx: .zero 8 .section .bss.g_flash_3d_mlc_flag,"aw",@nobits - .set .LANCHOR81,. + 0 + .set .LANCHOR80,. + 0 .type g_flash_3d_mlc_flag, %object .size g_flash_3d_mlc_flag, 1 g_flash_3d_mlc_flag: .zero 1 .section .bss.g_flash_3d_tlc_flag,"aw",@nobits - .set .LANCHOR84,. + 0 + .set .LANCHOR83,. + 0 .type g_flash_3d_tlc_flag, %object .size g_flash_3d_tlc_flag, 1 g_flash_3d_tlc_flag: @@ -27242,13 +27891,13 @@ g_flash_blk_info: .zero 4 .section .bss.g_flash_cur_mode,"aw",@nobits .align 3 - .set .LANCHOR34,. + 0 + .set .LANCHOR33,. + 0 .type g_flash_cur_mode, %object .size g_flash_cur_mode, 4 g_flash_cur_mode: .zero 4 .section .bss.g_flash_interface_mode,"aw",@nobits - .set .LANCHOR49,. + 0 + .set .LANCHOR48,. + 0 .type g_flash_interface_mode, %object .size g_flash_interface_mode, 1 g_flash_interface_mode: @@ -27266,26 +27915,26 @@ g_flash_micron_3d_tlc_b05a: g_flash_micron_3d_tlc_b16a: .zero 1 .section .bss.g_flash_micron_3d_tlc_flag,"aw",@nobits - .set .LANCHOR36,. + 0 + .set .LANCHOR35,. + 0 .type g_flash_micron_3d_tlc_flag, %object .size g_flash_micron_3d_tlc_flag, 1 g_flash_micron_3d_tlc_flag: .zero 1 .section .bss.g_flash_multi_page_prog_en,"aw",@nobits - .set .LANCHOR45,. + 0 + .set .LANCHOR44,. + 0 .type g_flash_multi_page_prog_en, %object .size g_flash_multi_page_prog_en, 1 g_flash_multi_page_prog_en: .zero 1 .section .bss.g_flash_multi_page_read_en,"aw",@nobits - .set .LANCHOR186,. + 0 + .set .LANCHOR183,. + 0 .type g_flash_multi_page_read_en, %object .size g_flash_multi_page_read_en, 1 g_flash_multi_page_read_en: .zero 1 .section .bss.g_flash_page_buffer,"aw",@nobits .align 3 - .set .LANCHOR176,. + 0 + .set .LANCHOR173,. + 0 .type g_flash_page_buffer, %object .size g_flash_page_buffer, 8 g_flash_page_buffer: @@ -27297,7 +27946,7 @@ g_flash_page_buffer: g_flash_reversd_blks: .zero 1 .section .bss.g_flash_six_addr,"aw",@nobits - .set .LANCHOR31,. + 0 + .set .LANCHOR30,. + 0 .type g_flash_six_addr, %object .size g_flash_six_addr, 1 g_flash_six_addr: @@ -27310,7 +27959,7 @@ g_flash_slc_mode: .zero 1 .section .bss.g_flash_spare_buffer,"aw",@nobits .align 3 - .set .LANCHOR175,. + 0 + .set .LANCHOR172,. + 0 .type g_flash_spare_buffer, %object .size g_flash_spare_buffer, 8 g_flash_spare_buffer: @@ -27324,52 +27973,52 @@ g_flash_sys_spare_buffer: .zero 8 .section .bss.g_flash_tmp_page_buffer,"aw",@nobits .align 3 - .set .LANCHOR166,. + 0 + .set .LANCHOR163,. + 0 .type g_flash_tmp_page_buffer, %object .size g_flash_tmp_page_buffer, 8 g_flash_tmp_page_buffer: .zero 8 .section .bss.g_flash_tmp_spare_buffer,"aw",@nobits .align 3 - .set .LANCHOR168,. + 0 + .set .LANCHOR165,. + 0 .type g_flash_tmp_spare_buffer, %object .size g_flash_tmp_spare_buffer, 8 g_flash_tmp_spare_buffer: .zero 8 .section .bss.g_flash_toggle_mode_en,"aw",@nobits - .set .LANCHOR21,. + 0 + .set .LANCHOR26,. + 0 .type g_flash_toggle_mode_en, %object .size g_flash_toggle_mode_en, 1 g_flash_toggle_mode_en: .zero 1 .section .bss.g_flash_ymtc_3d_tlc_flag,"aw",@nobits - .set .LANCHOR37,. + 0 + .set .LANCHOR36,. + 0 .type g_flash_ymtc_3d_tlc_flag, %object .size g_flash_ymtc_3d_tlc_flag, 1 g_flash_ymtc_3d_tlc_flag: .zero 1 .section .bss.g_ftl_info_blk,"aw",@nobits .align 6 - .set .LANCHOR194,. + 0 + .set .LANCHOR191,. + 0 .type g_ftl_info_blk, %object .size g_ftl_info_blk, 4 g_ftl_info_blk: .zero 4 .section .bss.g_gc_info,"aw",@nobits .align 3 - .set .LANCHOR71,. + 0 + .set .LANCHOR70,. + 0 .type g_gc_info, %object - .size g_gc_info, 2136 + .size g_gc_info, 2216 g_gc_info: - .zero 2136 + .zero 2216 .section .bss.g_idb_ecc_bits,"aw",@nobits - .set .LANCHOR17,. + 0 + .set .LANCHOR22,. + 0 .type g_idb_ecc_bits, %object .size g_idb_ecc_bits, 1 g_idb_ecc_bits: .zero 1 .section .bss.g_idb_slc_mode_enable,"aw",@nobits - .set .LANCHOR19,. + 0 + .set .LANCHOR24,. + 0 .type g_idb_slc_mode_enable, %object .size g_idb_slc_mode_enable, 1 g_idb_slc_mode_enable: @@ -27382,64 +28031,64 @@ g_idb_slc_mode_enable: g_lsb_page_tbl: .zero 1024 .section .bss.g_maxRegNum,"aw",@nobits - .set .LANCHOR26,. + 0 + .set .LANCHOR18,. + 0 .type g_maxRegNum, %object .size g_maxRegNum, 1 g_maxRegNum: .zero 1 .section .bss.g_maxRetryCount,"aw",@nobits - .set .LANCHOR169,. + 0 + .set .LANCHOR166,. + 0 .type g_maxRetryCount, %object .size g_maxRetryCount, 1 g_maxRetryCount: .zero 1 .section .bss.g_msb_page_tbl,"aw",@nobits .align 2 - .set .LANCHOR145,. + 0 + .set .LANCHOR142,. + 0 .type g_msb_page_tbl, %object .size g_msb_page_tbl, 2048 g_msb_page_tbl: .zero 2048 .section .bss.g_nand_max_die,"aw",@nobits - .set .LANCHOR18,. + 0 + .set .LANCHOR23,. + 0 .type g_nand_max_die, %object .size g_nand_max_die, 1 g_nand_max_die: .zero 1 .section .bss.g_nand_opt_para,"aw",@nobits .align 3 - .set .LANCHOR20,. + 0 + .set .LANCHOR25,. + 0 .type g_nand_opt_para, %object .size g_nand_opt_para, 32 g_nand_opt_para: .zero 32 .section .bss.g_nandc_ecc_bits,"aw",@nobits - .set .LANCHOR50,. + 0 + .set .LANCHOR49,. + 0 .type g_nandc_ecc_bits, %object .size g_nandc_ecc_bits, 1 g_nandc_ecc_bits: .zero 1 .section .bss.g_nandc_tran_timeout,"aw",@nobits - .set .LANCHOR167,. + 0 + .set .LANCHOR164,. + 0 .type g_nandc_tran_timeout, %object .size g_nandc_tran_timeout, 1 g_nandc_tran_timeout: .zero 1 .section .bss.g_nandc_v6_master_info,"aw",@nobits .align 3 - .set .LANCHOR53,. + 0 + .set .LANCHOR52,. + 0 .type g_nandc_v6_master_info, %object .size g_nandc_v6_master_info, 40 g_nandc_v6_master_info: .zero 40 .section .bss.g_nandc_ver,"aw",@nobits - .set .LANCHOR28,. + 0 + .set .LANCHOR27,. + 0 .type g_nandc_ver, %object .size g_nandc_ver, 1 g_nandc_ver: .zero 1 .section .bss.g_one_pass_program,"aw",@nobits - .set .LANCHOR82,. + 0 + .set .LANCHOR81,. + 0 .type g_one_pass_program, %object .size g_one_pass_program, 1 g_one_pass_program: @@ -27452,7 +28101,7 @@ g_one_pass_program: g_pm_spare: .zero 8 .section .bss.g_retryMode,"aw",@nobits - .set .LANCHOR24,. + 0 + .set .LANCHOR16,. + 0 .type g_retryMode, %object .size g_retryMode, 1 g_retryMode: @@ -27470,103 +28119,103 @@ g_slc_mode_enable: .zero 1 .section .bss.g_slc_page_num,"aw",@nobits .align 1 - .set .LANCHOR147,. + 0 + .set .LANCHOR144,. + 0 .type g_slc_page_num, %object .size g_slc_page_num, 2 g_slc_page_num: .zero 2 .section .bss.g_totle_phy_block,"aw",@nobits .align 1 - .set .LANCHOR149,. + 0 + .set .LANCHOR146,. + 0 .type g_totle_phy_block, %object .size g_totle_phy_block, 2 g_totle_phy_block: .zero 2 .section .bss.gc_des_ppa_tbl,"aw",@nobits .align 3 - .set .LANCHOR164,. + 0 + .set .LANCHOR161,. + 0 .type gc_des_ppa_tbl, %object .size gc_des_ppa_tbl, 8 gc_des_ppa_tbl: .zero 8 .section .bss.gc_free_slc_sblk_th,"aw",@nobits .align 1 - .set .LANCHOR87,. + 0 + .set .LANCHOR86,. + 0 .type gc_free_slc_sblk_th, %object .size gc_free_slc_sblk_th, 2 gc_free_slc_sblk_th: .zero 2 .section .bss.gc_lpa_tbl,"aw",@nobits .align 3 - .set .LANCHOR162,. + 0 + .set .LANCHOR159,. + 0 .type gc_lpa_tbl, %object .size gc_lpa_tbl, 8 gc_lpa_tbl: .zero 8 .section .bss.gc_mode,"aw",@nobits - .set .LANCHOR85,. + 0 + .set .LANCHOR84,. + 0 .type gc_mode, %object .size gc_mode, 1 gc_mode: .zero 1 .section .bss.gc_page_buf_id,"aw",@nobits .align 3 - .set .LANCHOR83,. + 0 + .set .LANCHOR82,. + 0 .type gc_page_buf_id, %object .size gc_page_buf_id, 8 gc_page_buf_id: .zero 8 .section .bss.gc_pre_ppa_tbl,"aw",@nobits .align 3 - .set .LANCHOR163,. + 0 + .set .LANCHOR160,. + 0 .type gc_pre_ppa_tbl, %object .size gc_pre_ppa_tbl, 8 gc_pre_ppa_tbl: .zero 8 .section .bss.gc_search_count,"aw",@nobits .align 2 - .set .LANCHOR160,. + 0 + .set .LANCHOR157,. + 0 .type gc_search_count, %object .size gc_search_count, 4 gc_search_count: .zero 4 .section .bss.gc_slc_cache_index,"aw",@nobits .align 1 - .set .LANCHOR91,. + 0 + .set .LANCHOR88,. + 0 .type gc_slc_cache_index, %object .size gc_slc_cache_index, 2 gc_slc_cache_index: .zero 2 .section .bss.gc_slc_data_index,"aw",@nobits .align 1 - .set .LANCHOR90,. + 0 + .set .LANCHOR87,. + 0 .type gc_slc_data_index, %object .size gc_slc_data_index, 2 gc_slc_data_index: .zero 2 .section .bss.gc_slc_mode_slc_vpn_th,"aw",@nobits .align 1 - .set .LANCHOR161,. + 0 + .set .LANCHOR158,. + 0 .type gc_slc_mode_slc_vpn_th, %object .size gc_slc_mode_slc_vpn_th, 2 gc_slc_mode_slc_vpn_th: .zero 2 .section .bss.gc_slc_mode_tlc_vpn_th,"aw",@nobits .align 1 - .set .LANCHOR94,. + 0 + .set .LANCHOR93,. + 0 .type gc_slc_mode_tlc_vpn_th, %object .size gc_slc_mode_tlc_vpn_th, 2 gc_slc_mode_tlc_vpn_th: .zero 2 .section .bss.gc_slc_mode_vpn_th,"aw",@nobits .align 1 - .set .LANCHOR70,. + 0 + .set .LANCHOR69,. + 0 .type gc_slc_mode_vpn_th, %object .size gc_slc_mode_vpn_th, 2 gc_slc_mode_vpn_th: .zero 2 .section .bss.gc_state,"aw",@nobits - .set .LANCHOR159,. + 0 + .set .LANCHOR156,. + 0 .type gc_state, %object .size gc_state, 1 gc_state: @@ -27587,14 +28236,14 @@ gc_tlc_mode_tlc_vpn_th: .zero 2 .section .bss.gc_valid_page_ppa,"aw",@nobits .align 3 - .set .LANCHOR77,. + 0 + .set .LANCHOR76,. + 0 .type gc_valid_page_ppa, %object .size gc_valid_page_ppa, 8 gc_valid_page_ppa: .zero 8 .section .bss.gc_xlc_data_index,"aw",@nobits .align 1 - .set .LANCHOR92,. + 0 + .set .LANCHOR89,. + 0 .type gc_xlc_data_index, %object .size gc_xlc_data_index, 2 gc_xlc_data_index: @@ -27608,42 +28257,42 @@ gc_xlc_search_index: .zero 2 .section .bss.gp_blk_info,"aw",@nobits .align 3 - .set .LANCHOR7,. + 0 + .set .LANCHOR9,. + 0 .type gp_blk_info, %object .size gp_blk_info, 8 gp_blk_info: .zero 8 .section .bss.gp_data_slc_cache_head,"aw",@nobits .align 3 - .set .LANCHOR89,. + 0 + .set .LANCHOR90,. + 0 .type gp_data_slc_cache_head, %object .size gp_data_slc_cache_head, 8 gp_data_slc_cache_head: .zero 8 .section .bss.gp_data_slc_data_head,"aw",@nobits .align 3 - .set .LANCHOR12,. + 0 + .set .LANCHOR95,. + 0 .type gp_data_slc_data_head, %object .size gp_data_slc_data_head, 8 gp_data_slc_data_head: .zero 8 .section .bss.gp_data_xlc_data_head,"aw",@nobits .align 3 - .set .LANCHOR88,. + 0 + .set .LANCHOR92,. + 0 .type gp_data_xlc_data_head, %object .size gp_data_xlc_data_head, 8 gp_data_xlc_data_head: .zero 8 .section .bss.gp_flash_check_buf,"aw",@nobits .align 3 - .set .LANCHOR144,. + 0 + .set .LANCHOR141,. + 0 .type gp_flash_check_buf, %object .size gp_flash_check_buf, 8 gp_flash_check_buf: .zero 8 .section .bss.gp_flash_info,"aw",@nobits .align 3 - .set .LANCHOR27,. + 0 + .set .LANCHOR6,. + 0 .type gp_flash_info, %object .size gp_flash_info, 8 gp_flash_info: @@ -27671,7 +28320,7 @@ gp_free_xlc_head: .zero 8 .section .bss.gp_ftl_ext_info,"aw",@nobits .align 3 - .set .LANCHOR10,. + 0 + .set .LANCHOR12,. + 0 .type gp_ftl_ext_info, %object .size gp_ftl_ext_info, 8 gp_ftl_ext_info: @@ -27685,14 +28334,14 @@ gp_ftl_info: .zero 8 .section .bss.gp_nand_para_info,"aw",@nobits .align 3 - .set .LANCHOR16,. + 0 + .set .LANCHOR21,. + 0 .type gp_nand_para_info, %object .size gp_nand_para_info, 8 gp_nand_para_info: .zero 8 .section .bss.gp_nandc,"aw",@nobits .align 3 - .set .LANCHOR13,. + 0 + .set .LANCHOR7,. + 0 .type gp_nandc, %object .size gp_nandc, 8 gp_nandc: @@ -27706,27 +28355,27 @@ gp_sblk_list_tbl: .zero 8 .section .bss.idb_buf,"aw",@nobits .align 3 - .set .LANCHOR141,. + 0 + .set .LANCHOR138,. + 0 .type idb_buf, %object .size idb_buf, 8 idb_buf: .zero 8 .section .bss.idb_last_lba,"aw",@nobits .align 2 - .set .LANCHOR177,. + 0 + .set .LANCHOR174,. + 0 .type idb_last_lba, %object .size idb_last_lba, 4 idb_last_lba: .zero 4 .section .bss.idb_need_write_back,"aw",@nobits .align 2 - .set .LANCHOR142,. + 0 + .set .LANCHOR139,. + 0 .type idb_need_write_back, %object .size idb_need_write_back, 4 idb_need_write_back: .zero 4 .section .bss.idb_write_enable,"aw",@nobits - .set .LANCHOR143,. + 0 + .set .LANCHOR140,. + 0 .type idb_write_enable, %object .size idb_write_enable, 1 idb_write_enable: @@ -27752,19 +28401,19 @@ lpa_hash_index: nandc_ecc_sts: .zero 16 .section .bss.nandc_hw_seed,"aw",@nobits - .set .LANCHOR51,. + 0 + .set .LANCHOR50,. + 0 .type nandc_hw_seed, %object .size nandc_hw_seed, 1 nandc_hw_seed: .zero 1 .section .bss.nandc_randomizer_en,"aw",@nobits - .set .LANCHOR52,. + 0 + .set .LANCHOR51,. + 0 .type nandc_randomizer_en, %object .size nandc_randomizer_en, 1 nandc_randomizer_en: .zero 1 .section .bss.p_free_buf_head,"aw",@nobits - .set .LANCHOR57,. + 0 + .set .LANCHOR56,. + 0 .type p_free_buf_head, %object .size p_free_buf_head, 1 p_free_buf_head: @@ -27783,14 +28432,14 @@ pm_first_write: .zero 1 .section .bss.pm_force_gc,"aw",@nobits .align 2 - .set .LANCHOR151,. + 0 + .set .LANCHOR148,. + 0 .type pm_force_gc, %object .size pm_force_gc, 4 pm_force_gc: .zero 4 .section .bss.pm_gc_enable,"aw",@nobits .align 2 - .set .LANCHOR136,. + 0 + .set .LANCHOR204,. + 0 .type pm_gc_enable, %object .size pm_gc_enable, 4 pm_gc_enable: @@ -27802,14 +28451,14 @@ pm_gc_enable: pm_last_load_ram_id: .zero 1 .section .bss.pm_last_update_ram_id,"aw",@nobits - .set .LANCHOR139,. + 0 + .set .LANCHOR136,. + 0 .type pm_last_update_ram_id, %object .size pm_last_update_ram_id, 1 pm_last_update_ram_id: .zero 1 .section .bss.pm_ram_info,"aw",@nobits .align 3 - .set .LANCHOR138,. + 0 + .set .LANCHOR135,. + 0 .type pm_ram_info, %object .size pm_ram_info, 128 pm_ram_info: @@ -27834,25 +28483,25 @@ read_buf_count: read_buf_head: .zero 1 .section .bss.sblk_gc_write_completed_queue_head,"aw",@nobits - .set .LANCHOR64,. + 0 + .set .LANCHOR63,. + 0 .type sblk_gc_write_completed_queue_head, %object .size sblk_gc_write_completed_queue_head, 1 sblk_gc_write_completed_queue_head: .zero 1 .section .bss.sblk_queue_head,"aw",@nobits - .set .LANCHOR60,. + 0 + .set .LANCHOR59,. + 0 .type sblk_queue_head, %object .size sblk_queue_head, 1 sblk_queue_head: .zero 1 .section .bss.sblk_read_completed_queue_head,"aw",@nobits - .set .LANCHOR63,. + 0 + .set .LANCHOR62,. + 0 .type sblk_read_completed_queue_head, %object .size sblk_read_completed_queue_head, 1 sblk_read_completed_queue_head: .zero 1 .section .bss.sblk_write_completed_queue_head,"aw",@nobits - .set .LANCHOR65,. + 0 + .set .LANCHOR64,. + 0 .type sblk_write_completed_queue_head, %object .size sblk_write_completed_queue_head, 1 sblk_write_completed_queue_head: @@ -27872,13 +28521,13 @@ slc_cache_sblk: slc_data_sblk: .zero 2 .section .bss.write_buf_count,"aw",@nobits - .set .LANCHOR67,. + 0 + .set .LANCHOR66,. + 0 .type write_buf_count, %object .size write_buf_count, 1 write_buf_count: .zero 1 .section .bss.write_buf_head,"aw",@nobits - .set .LANCHOR66,. + 0 + .set .LANCHOR65,. + 0 .type write_buf_head, %object .size write_buf_head, 1 write_buf_head: @@ -27890,14 +28539,14 @@ write_buf_head: write_commit_count: .zero 1 .section .bss.write_commit_head,"aw",@nobits - .set .LANCHOR185,. + 0 + .set .LANCHOR182,. + 0 .type write_commit_head, %object .size write_commit_head, 1 write_commit_head: .zero 1 .section .bss.xlc_data_sblk,"aw",@nobits .align 1 - .set .LANCHOR93,. + 0 + .set .LANCHOR91,. + 0 .type xlc_data_sblk, %object .size xlc_data_sblk, 2 xlc_data_sblk: @@ -27911,7 +28560,7 @@ zftl_print_list_count: .zero 2 .section .data.g_nand_para_info,"aw",@progbits .align 3 - .set .LANCHOR33,. + 0 + .set .LANCHOR32,. + 0 .type g_nand_para_info, %object .size g_nand_para_info, 32 g_nand_para_info: @@ -27945,7 +28594,7 @@ g_nand_para_info: .byte 0 .section .data.hy_f26_ref_value,"aw",@progbits .align 3 - .set .LANCHOR165,. + 0 + .set .LANCHOR162,. + 0 .type hy_f26_ref_value, %object .size hy_f26_ref_value, 28 hy_f26_ref_value: @@ -28061,7 +28710,7 @@ nand_opt_para: .zero 14 .section .data.sd15_slc_rr,"aw",@progbits .align 3 - .set .LANCHOR41,. + 0 + .set .LANCHOR40,. + 0 .type sd15_slc_rr, %object .size sd15_slc_rr, 25 sd15_slc_rr: @@ -28092,7 +28741,7 @@ sd15_slc_rr: .byte 112 .section .data.sd15_tlc_rr,"aw",@progbits .align 3 - .set .LANCHOR40,. + 0 + .set .LANCHOR39,. + 0 .type sd15_tlc_rr, %object .size sd15_tlc_rr, 329 sd15_tlc_rr: @@ -29591,7 +30240,7 @@ tlc_prog_order: .hword 1019 .section .data.zftl_debug,"aw",@progbits .align 2 - .set .LANCHOR14,. + 0 + .set .LANCHOR19,. + 0 .type zftl_debug, %object .size zftl_debug, 4 zftl_debug: @@ -30974,467 +31623,467 @@ zftl_nand_flash_para_tbl: .byte -38 .byte -33 .byte 0 - .section .rodata.__func__.7104,"a",@progbits + .section .rodata.__func__.7124,"a",@progbits .align 3 - .set .LANCHOR173,. + 0 - .type __func__.7104, %object - .size __func__.7104, 19 -__func__.7104: + .set .LANCHOR170,. + 0 + .type __func__.7124, %object + .size __func__.7124, 19 +__func__.7124: .string "flash_read_page_en" - .section .rodata.__func__.7165,"a",@progbits + .section .rodata.__func__.7185,"a",@progbits .align 3 - .set .LANCHOR189,. + 0 - .type __func__.7165, %object - .size __func__.7165, 19 -__func__.7165: + .set .LANCHOR186,. + 0 + .type __func__.7185, %object + .size __func__.7185, 19 +__func__.7185: .string "flash_prog_page_en" - .section .rodata.__func__.7181,"a",@progbits + .section .rodata.__func__.7201,"a",@progbits .align 3 - .set .LANCHOR44,. + 0 - .type __func__.7181, %object - .size __func__.7181, 26 -__func__.7181: + .set .LANCHOR43,. + 0 + .type __func__.7201, %object + .size __func__.7201, 26 +__func__.7201: .string "flash_erase_duplane_block" - .section .rodata.__func__.7192,"a",@progbits + .section .rodata.__func__.7212,"a",@progbits .align 3 - .set .LANCHOR46,. + 0 - .type __func__.7192, %object - .size __func__.7192, 21 -__func__.7192: + .set .LANCHOR45,. + 0 + .type __func__.7212, %object + .size __func__.7212, 21 +__func__.7212: .string "flash_erase_block_en" - .section .rodata.__func__.7206,"a",@progbits + .section .rodata.__func__.7226,"a",@progbits .align 3 - .set .LANCHOR29,. + 0 - .type __func__.7206, %object - .size __func__.7206, 28 -__func__.7206: + .set .LANCHOR28,. + 0 + .type __func__.7226, %object + .size __func__.7226, 28 +__func__.7226: .string "flash_wait_device_ready_raw" - .section .rodata.__func__.7230,"a",@progbits + .section .rodata.__func__.7250,"a",@progbits + .align 3 + .set .LANCHOR175,. + 0 + .type __func__.7250, %object + .size __func__.7250, 26 +__func__.7250: + .string "flash_start_tlc_page_prog" + .section .rodata.__func__.7261,"a",@progbits + .align 3 + .set .LANCHOR176,. + 0 + .type __func__.7261, %object + .size __func__.7261, 29 +__func__.7261: + .string "flash_start_3d_mlc_page_prog" + .section .rodata.__func__.7279,"a",@progbits + .align 3 + .set .LANCHOR177,. + 0 + .type __func__.7279, %object + .size __func__.7279, 22 +__func__.7279: + .string "flash_start_page_prog" + .section .rodata.__func__.7290,"a",@progbits + .align 3 + .set .LANCHOR34,. + 0 + .type __func__.7290, %object + .size __func__.7290, 22 +__func__.7290: + .string "flash_start_page_read" + .section .rodata.__func__.7303,"a",@progbits .align 3 .set .LANCHOR178,. + 0 - .type __func__.7230, %object - .size __func__.7230, 26 -__func__.7230: - .string "flash_start_tlc_page_prog" - .section .rodata.__func__.7241,"a",@progbits + .type __func__.7303, %object + .size __func__.7303, 31 +__func__.7303: + .string "flash_complete_plane_page_read" + .section .rodata.__func__.7315,"a",@progbits + .align 3 + .set .LANCHOR46,. + 0 + .type __func__.7315, %object + .size __func__.7315, 23 +__func__.7315: + .string "flash_start_plane_read" + .section .rodata.__func__.7328,"a",@progbits .align 3 .set .LANCHOR179,. + 0 - .type __func__.7241, %object - .size __func__.7241, 29 -__func__.7241: - .string "flash_start_3d_mlc_page_prog" - .section .rodata.__func__.7259,"a",@progbits - .align 3 - .set .LANCHOR180,. + 0 - .type __func__.7259, %object - .size __func__.7259, 22 -__func__.7259: - .string "flash_start_page_prog" - .section .rodata.__func__.7270,"a",@progbits - .align 3 - .set .LANCHOR35,. + 0 - .type __func__.7270, %object - .size __func__.7270, 22 -__func__.7270: - .string "flash_start_page_read" - .section .rodata.__func__.7283,"a",@progbits - .align 3 - .set .LANCHOR181,. + 0 - .type __func__.7283, %object - .size __func__.7283, 31 -__func__.7283: - .string "flash_complete_plane_page_read" - .section .rodata.__func__.7295,"a",@progbits - .align 3 - .set .LANCHOR47,. + 0 - .type __func__.7295, %object - .size __func__.7295, 23 -__func__.7295: - .string "flash_start_plane_read" - .section .rodata.__func__.7308,"a",@progbits - .align 3 - .set .LANCHOR182,. + 0 - .type __func__.7308, %object - .size __func__.7308, 25 -__func__.7308: + .type __func__.7328, %object + .size __func__.7328, 25 +__func__.7328: .string "flash_complete_page_read" - .section .rodata.__func__.7723,"a",@progbits + .section .rodata.__func__.7743,"a",@progbits .align 3 - .set .LANCHOR146,. + 0 - .type __func__.7723, %object - .size __func__.7723, 20 -__func__.7723: + .set .LANCHOR143,. + 0 + .type __func__.7743, %object + .size __func__.7743, 20 +__func__.7743: .string "flash_die_info_init" - .section .rodata.__func__.7734,"a",@progbits + .section .rodata.__func__.7754,"a",@progbits .align 3 - .set .LANCHOR15,. + 0 - .type __func__.7734, %object - .size __func__.7734, 22 -__func__.7734: + .set .LANCHOR20,. + 0 + .type __func__.7754, %object + .size __func__.7754, 22 +__func__.7754: .string "nand_flash_print_info" - .section .rodata.__func__.7783,"a",@progbits + .section .rodata.__func__.7803,"a",@progbits .align 3 .set .LANCHOR213,. + 0 - .type __func__.7783, %object - .size __func__.7783, 16 -__func__.7783: + .type __func__.7803, %object + .size __func__.7803, 16 +__func__.7803: .string "nand_flash_init" - .section .rodata.__func__.7806,"a",@progbits + .section .rodata.__func__.7826,"a",@progbits .align 3 - .set .LANCHOR158,. + 0 - .type __func__.7806, %object - .size __func__.7806, 11 -__func__.7806: + .set .LANCHOR155,. + 0 + .type __func__.7826, %object + .size __func__.7826, 11 +__func__.7826: .string "nandc_init" - .section .rodata.__func__.7975,"a",@progbits + .section .rodata.__func__.7991,"a",@progbits .align 3 - .set .LANCHOR59,. + 0 - .type __func__.7975, %object - .size __func__.7975, 13 -__func__.7975: + .set .LANCHOR58,. + 0 + .type __func__.7991, %object + .size __func__.7991, 13 +__func__.7991: .string "buf_add_tail" - .section .rodata.__func__.7988,"a",@progbits + .section .rodata.__func__.8004,"a",@progbits + .align 3 + .set .LANCHOR60,. + 0 + .type __func__.8004, %object + .size __func__.8004, 10 +__func__.8004: + .string "buf_alloc" + .section .rodata.__func__.8018,"a",@progbits .align 3 .set .LANCHOR61,. + 0 - .type __func__.7988, %object - .size __func__.7988, 10 -__func__.7988: - .string "buf_alloc" - .section .rodata.__func__.8002,"a",@progbits - .align 3 - .set .LANCHOR62,. + 0 - .type __func__.8002, %object - .size __func__.8002, 16 -__func__.8002: + .type __func__.8018, %object + .size __func__.8018, 16 +__func__.8018: .string "buf_remove_free" - .section .rodata.__func__.8023,"a",@progbits + .section .rodata.__func__.8039,"a",@progbits .align 3 .set .LANCHOR212,. + 0 - .type __func__.8023, %object - .size __func__.8023, 20 -__func__.8023: + .type __func__.8039, %object + .size __func__.8039, 20 +__func__.8039: .string "flash_info_blk_init" - .section .rodata.__func__.8038,"a",@progbits - .align 3 - .set .LANCHOR157,. + 0 - .type __func__.8038, %object - .size __func__.8038, 21 -__func__.8038: - .string "flash_info_data_init" - .section .rodata.__func__.8060,"a",@progbits - .align 3 - .set .LANCHOR209,. + 0 - .type __func__.8060, %object - .size __func__.8060, 17 -__func__.8060: - .string "flash_info_flush" - .section .rodata.__func__.8136,"a",@progbits - .align 3 - .set .LANCHOR150,. + 0 - .type __func__.8136, %object - .size __func__.8136, 17 -__func__.8136: - .string "lpa_rebuild_hash" - .section .rodata.__func__.8186,"a",@progbits - .align 3 - .set .LANCHOR232,. + 0 - .type __func__.8186, %object - .size __func__.8186, 17 -__func__.8186: - .string "ftl_write_commit" - .section .rodata.__func__.8204,"a",@progbits - .align 3 - .set .LANCHOR130,. + 0 - .type __func__.8204, %object - .size __func__.8204, 14 -__func__.8204: - .string "ftl_write_buf" - .section .rodata.__func__.8249,"a",@progbits - .align 3 - .set .LANCHOR132,. + 0 - .type __func__.8249, %object - .size __func__.8249, 18 -__func__.8249: - .string "zftl_add_read_buf" - .section .rodata.__func__.8282,"a",@progbits - .align 3 - .set .LANCHOR230,. + 0 - .type __func__.8282, %object - .size __func__.8282, 10 -__func__.8282: - .string "zftl_read" - .section .rodata.__func__.8313,"a",@progbits - .align 3 - .set .LANCHOR242,. + 0 - .type __func__.8313, %object - .size __func__.8313, 13 -__func__.8313: - .string "_ftl_discard" - .section .rodata.__func__.8459,"a",@progbits - .align 3 - .set .LANCHOR225,. + 0 - .type __func__.8459, %object - .size __func__.8459, 12 -__func__.8459: - .string "gc_recovery" - .section .rodata.__func__.8469,"a",@progbits - .align 3 - .set .LANCHOR72,. + 0 - .type __func__.8469, %object - .size __func__.8469, 12 -__func__.8469: - .string "gc_add_sblk" - .section .rodata.__func__.8516,"a",@progbits - .align 3 - .set .LANCHOR188,. + 0 - .type __func__.8516, %object - .size __func__.8516, 21 -__func__.8516: - .string "gc_check_data_one_wl" - .section .rodata.__func__.8548,"a",@progbits - .align 3 - .set .LANCHOR226,. + 0 - .type __func__.8548, %object - .size __func__.8548, 22 -__func__.8548: - .string "gc_update_l2p_map_new" - .section .rodata.__func__.8561,"a",@progbits - .align 3 - .set .LANCHOR78,. + 0 - .type __func__.8561, %object - .size __func__.8561, 19 -__func__.8561: - .string "gc_write_completed" - .section .rodata.__func__.8591,"a",@progbits - .align 3 - .set .LANCHOR234,. + 0 - .type __func__.8591, %object - .size __func__.8591, 16 -__func__.8591: - .string "gc_do_copy_back" - .section .rodata.__func__.8618,"a",@progbits - .align 3 - .set .LANCHOR127,. + 0 - .type __func__.8618, %object - .size __func__.8618, 16 -__func__.8618: - .string "gc_free_src_blk" - .section .rodata.__func__.8662,"a",@progbits - .align 3 - .set .LANCHOR227,. + 0 - .type __func__.8662, %object - .size __func__.8662, 16 -__func__.8662: - .string "gc_scan_src_blk" - .section .rodata.__func__.8723,"a",@progbits - .align 3 - .set .LANCHOR228,. + 0 - .type __func__.8723, %object - .size __func__.8723, 20 -__func__.8723: - .string "gc_scan_static_data" - .section .rodata.__func__.8790,"a",@progbits - .align 3 - .set .LANCHOR237,. + 0 - .type __func__.8790, %object - .size __func__.8790, 11 -__func__.8790: - .string "zftl_do_gc" - .section .rodata.__func__.8885,"a",@progbits - .align 3 - .set .LANCHOR5,. + 0 - .type __func__.8885, %object - .size __func__.8885, 18 -__func__.8885: - .string "_list_remove_node" - .section .rodata.__func__.8910,"a",@progbits - .align 3 - .set .LANCHOR11,. + 0 - .type __func__.8910, %object - .size __func__.8910, 23 -__func__.8910: - .string "_list_update_data_list" - .section .rodata.__func__.8985,"a",@progbits + .section .rodata.__func__.8054,"a",@progbits .align 3 .set .LANCHOR154,. + 0 - .type __func__.8985, %object - .size __func__.8985, 20 -__func__.8985: + .type __func__.8054, %object + .size __func__.8054, 21 +__func__.8054: + .string "flash_info_data_init" + .section .rodata.__func__.8076,"a",@progbits + .align 3 + .set .LANCHOR209,. + 0 + .type __func__.8076, %object + .size __func__.8076, 17 +__func__.8076: + .string "flash_info_flush" + .section .rodata.__func__.8152,"a",@progbits + .align 3 + .set .LANCHOR147,. + 0 + .type __func__.8152, %object + .size __func__.8152, 17 +__func__.8152: + .string "lpa_rebuild_hash" + .section .rodata.__func__.8202,"a",@progbits + .align 3 + .set .LANCHOR232,. + 0 + .type __func__.8202, %object + .size __func__.8202, 17 +__func__.8202: + .string "ftl_write_commit" + .section .rodata.__func__.8220,"a",@progbits + .align 3 + .set .LANCHOR130,. + 0 + .type __func__.8220, %object + .size __func__.8220, 14 +__func__.8220: + .string "ftl_write_buf" + .section .rodata.__func__.8265,"a",@progbits + .align 3 + .set .LANCHOR132,. + 0 + .type __func__.8265, %object + .size __func__.8265, 18 +__func__.8265: + .string "zftl_add_read_buf" + .section .rodata.__func__.8298,"a",@progbits + .align 3 + .set .LANCHOR230,. + 0 + .type __func__.8298, %object + .size __func__.8298, 10 +__func__.8298: + .string "zftl_read" + .section .rodata.__func__.8330,"a",@progbits + .align 3 + .set .LANCHOR242,. + 0 + .type __func__.8330, %object + .size __func__.8330, 13 +__func__.8330: + .string "_ftl_discard" + .section .rodata.__func__.8476,"a",@progbits + .align 3 + .set .LANCHOR225,. + 0 + .type __func__.8476, %object + .size __func__.8476, 12 +__func__.8476: + .string "gc_recovery" + .section .rodata.__func__.8486,"a",@progbits + .align 3 + .set .LANCHOR71,. + 0 + .type __func__.8486, %object + .size __func__.8486, 12 +__func__.8486: + .string "gc_add_sblk" + .section .rodata.__func__.8533,"a",@progbits + .align 3 + .set .LANCHOR185,. + 0 + .type __func__.8533, %object + .size __func__.8533, 21 +__func__.8533: + .string "gc_check_data_one_wl" + .section .rodata.__func__.8565,"a",@progbits + .align 3 + .set .LANCHOR226,. + 0 + .type __func__.8565, %object + .size __func__.8565, 22 +__func__.8565: + .string "gc_update_l2p_map_new" + .section .rodata.__func__.8578,"a",@progbits + .align 3 + .set .LANCHOR77,. + 0 + .type __func__.8578, %object + .size __func__.8578, 19 +__func__.8578: + .string "gc_write_completed" + .section .rodata.__func__.8608,"a",@progbits + .align 3 + .set .LANCHOR234,. + 0 + .type __func__.8608, %object + .size __func__.8608, 16 +__func__.8608: + .string "gc_do_copy_back" + .section .rodata.__func__.8635,"a",@progbits + .align 3 + .set .LANCHOR127,. + 0 + .type __func__.8635, %object + .size __func__.8635, 16 +__func__.8635: + .string "gc_free_src_blk" + .section .rodata.__func__.8679,"a",@progbits + .align 3 + .set .LANCHOR227,. + 0 + .type __func__.8679, %object + .size __func__.8679, 16 +__func__.8679: + .string "gc_scan_src_blk" + .section .rodata.__func__.8740,"a",@progbits + .align 3 + .set .LANCHOR228,. + 0 + .type __func__.8740, %object + .size __func__.8740, 20 +__func__.8740: + .string "gc_scan_static_data" + .section .rodata.__func__.8834,"a",@progbits + .align 3 + .set .LANCHOR237,. + 0 + .type __func__.8834, %object + .size __func__.8834, 11 +__func__.8834: + .string "zftl_do_gc" + .section .rodata.__func__.8929,"a",@progbits + .align 3 + .set .LANCHOR5,. + 0 + .type __func__.8929, %object + .size __func__.8929, 18 +__func__.8929: + .string "_list_remove_node" + .section .rodata.__func__.8954,"a",@progbits + .align 3 + .set .LANCHOR13,. + 0 + .type __func__.8954, %object + .size __func__.8954, 23 +__func__.8954: + .string "_list_update_data_list" + .section .rodata.__func__.9029,"a",@progbits + .align 3 + .set .LANCHOR151,. + 0 + .type __func__.9029, %object + .size __func__.9029, 20 +__func__.9029: .string "zftl_sblk_list_init" - .section .rodata.__func__.9019,"a",@progbits + .section .rodata.__func__.9063,"a",@progbits .align 3 - .set .LANCHOR196,. + 0 - .type __func__.9019, %object - .size __func__.9019, 15 -__func__.9019: + .set .LANCHOR193,. + 0 + .type __func__.9063, %object + .size __func__.9063, 15 +__func__.9063: .string "ftl_info_flush" - .section .rodata.__func__.9051,"a",@progbits + .section .rodata.__func__.9118,"a",@progbits .align 3 - .set .LANCHOR135,. + 0 - .type __func__.9051, %object - .size __func__.9051, 15 -__func__.9051: + .set .LANCHOR200,. + 0 + .type __func__.9118, %object + .size __func__.9118, 15 +__func__.9118: .string "ftl_alloc_sblk" - .section .rodata.__func__.9093,"a",@progbits + .section .rodata.__func__.9160,"a",@progbits .align 3 .set .LANCHOR113,. + 0 - .type __func__.9093, %object - .size __func__.9093, 18 -__func__.9093: + .type __func__.9160, %object + .size __func__.9160, 18 +__func__.9160: .string "ftl_alloc_sys_blk" - .section .rodata.__func__.9103,"a",@progbits + .section .rodata.__func__.9170,"a",@progbits .align 3 .set .LANCHOR114,. + 0 - .type __func__.9103, %object - .size __func__.9103, 17 -__func__.9103: + .type __func__.9170, %object + .size __func__.9170, 17 +__func__.9170: .string "ftl_free_sys_blk" - .section .rodata.__func__.9138,"a",@progbits + .section .rodata.__func__.9205,"a",@progbits .align 3 .set .LANCHOR229,. + 0 - .type __func__.9138, %object - .size __func__.9138, 14 -__func__.9138: + .type __func__.9205, %object + .size __func__.9205, 14 +__func__.9205: .string "ftl_sblk_dump" - .section .rodata.__func__.9162,"a",@progbits + .section .rodata.__func__.9229,"a",@progbits .align 3 .set .LANCHOR218,. + 0 - .type __func__.9162, %object - .size __func__.9162, 16 -__func__.9162: + .type __func__.9229, %object + .size __func__.9229, 16 +__func__.9229: .string "ftl_sysblk_dump" - .section .rodata.__func__.9187,"a",@progbits + .section .rodata.__func__.9254,"a",@progbits .align 3 .set .LANCHOR219,. + 0 - .type __func__.9187, %object - .size __func__.9187, 23 -__func__.9187: + .type __func__.9254, %object + .size __func__.9254, 23 +__func__.9254: .string "ftl_open_sblk_recovery" - .section .rodata.__func__.9220,"a",@progbits + .section .rodata.__func__.9287,"a",@progbits .align 3 .set .LANCHOR115,. + 0 - .type __func__.9220, %object - .size __func__.9220, 23 -__func__.9220: + .type __func__.9287, %object + .size __func__.9287, 23 +__func__.9287: .string "ftl_get_ppa_from_index" - .section .rodata.__func__.9241,"a",@progbits + .section .rodata.__func__.9308,"a",@progbits .align 3 .set .LANCHOR231,. + 0 - .type __func__.9241, %object - .size __func__.9241, 19 -__func__.9241: + .type __func__.9308, %object + .size __func__.9308, 19 +__func__.9308: .string "ftl_update_l2p_map" - .section .rodata.__func__.9260,"a",@progbits + .section .rodata.__func__.9327,"a",@progbits .align 3 .set .LANCHOR119,. + 0 - .type __func__.9260, %object - .size __func__.9260, 22 -__func__.9260: + .type __func__.9327, %object + .size __func__.9327, 22 +__func__.9327: .string "ftl_get_new_free_page" - .section .rodata.__func__.9271,"a",@progbits + .section .rodata.__func__.9338,"a",@progbits .align 3 .set .LANCHOR120,. + 0 - .type __func__.9271, %object - .size __func__.9271, 22 -__func__.9271: + .type __func__.9338, %object + .size __func__.9338, 22 +__func__.9338: .string "ftl_ext_alloc_new_blk" - .section .rodata.__func__.9297,"a",@progbits + .section .rodata.__func__.9364,"a",@progbits + .align 3 + .set .LANCHOR198,. + 0 + .type __func__.9364, %object + .size __func__.9364, 19 +__func__.9364: + .string "ftl_ext_info_flush" + .section .rodata.__func__.9376,"a",@progbits + .align 3 + .set .LANCHOR199,. + 0 + .type __func__.9376, %object + .size __func__.9376, 18 +__func__.9376: + .string "ftl_ext_info_init" + .section .rodata.__func__.9415,"a",@progbits .align 3 .set .LANCHOR201,. + 0 - .type __func__.9297, %object - .size __func__.9297, 19 -__func__.9297: - .string "ftl_ext_info_flush" - .section .rodata.__func__.9309,"a",@progbits - .align 3 - .set .LANCHOR202,. + 0 - .type __func__.9309, %object - .size __func__.9309, 18 -__func__.9309: - .string "ftl_ext_info_init" - .section .rodata.__func__.9348,"a",@progbits + .type __func__.9415, %object + .size __func__.9415, 25 +__func__.9415: + .string "ftl_low_format_data_init" + .section .rodata.__func__.9430,"a",@progbits .align 3 .set .LANCHOR203,. + 0 - .type __func__.9348, %object - .size __func__.9348, 25 -__func__.9348: - .string "ftl_low_format_data_init" - .section .rodata.__func__.9363,"a",@progbits - .align 3 - .set .LANCHOR205,. + 0 - .type __func__.9363, %object - .size __func__.9363, 15 -__func__.9363: + .type __func__.9430, %object + .size __func__.9430, 15 +__func__.9430: .string "ftl_low_format" - .section .rodata.__func__.9411,"a",@progbits + .section .rodata.__func__.9478,"a",@progbits .align 3 - .set .LANCHOR192,. + 0 - .type __func__.9411, %object - .size __func__.9411, 14 -__func__.9411: + .set .LANCHOR189,. + 0 + .type __func__.9478, %object + .size __func__.9478, 14 +__func__.9478: .string "ftl_prog_page" - .section .rodata.__func__.9534,"a",@progbits + .section .rodata.__func__.9601,"a",@progbits .align 3 - .set .LANCHOR183,. + 0 - .type __func__.9534, %object - .size __func__.9534, 31 -__func__.9534: + .set .LANCHOR180,. + 0 + .type __func__.9601, %object + .size __func__.9601, 31 +__func__.9601: .string "queue_wait_first_req_completed" - .section .rodata.__func__.9588,"a",@progbits + .section .rodata.__func__.9655,"a",@progbits + .align 3 + .set .LANCHOR181,. + 0 + .type __func__.9655, %object + .size __func__.9655, 15 +__func__.9655: + .string "sblk_prog_page" + .section .rodata.__func__.9682,"a",@progbits .align 3 .set .LANCHOR184,. + 0 - .type __func__.9588, %object - .size __func__.9588, 15 -__func__.9588: - .string "sblk_prog_page" - .section .rodata.__func__.9615,"a",@progbits - .align 3 - .set .LANCHOR187,. + 0 - .type __func__.9615, %object - .size __func__.9615, 15 -__func__.9615: + .type __func__.9682, %object + .size __func__.9682, 15 +__func__.9682: .string "sblk_read_page" - .section .rodata.__func__.9685,"a",@progbits + .section .rodata.__func__.9752,"a",@progbits .align 3 .set .LANCHOR220,. + 0 - .type __func__.9685, %object - .size __func__.9685, 16 -__func__.9685: + .type __func__.9752, %object + .size __func__.9752, 16 +__func__.9752: .string "load_l2p_region" - .section .rodata.__func__.9701,"a",@progbits + .section .rodata.__func__.9768,"a",@progbits .align 3 - .set .LANCHOR156,. + 0 - .type __func__.9701, %object - .size __func__.9701, 13 -__func__.9701: + .set .LANCHOR153,. + 0 + .type __func__.9768, %object + .size __func__.9768, 13 +__func__.9768: .string "pm_free_sblk" - .section .rodata.__func__.9725,"a",@progbits + .section .rodata.__func__.9792,"a",@progbits .align 3 .set .LANCHOR222,. + 0 - .type __func__.9725, %object - .size __func__.9725, 6 -__func__.9725: + .type __func__.9792, %object + .size __func__.9792, 6 +__func__.9792: .string "pm_gc" - .section .rodata.__func__.9741,"a",@progbits + .section .rodata.__func__.9808,"a",@progbits .align 3 - .set .LANCHOR137,. + 0 - .type __func__.9741, %object - .size __func__.9741, 17 -__func__.9741: + .set .LANCHOR205,. + 0 + .type __func__.9808, %object + .size __func__.9808, 17 +__func__.9808: .string "pm_alloc_new_blk" - .section .rodata.__func__.9751,"a",@progbits + .section .rodata.__func__.9818,"a",@progbits .align 3 .set .LANCHOR206,. + 0 - .type __func__.9751, %object - .size __func__.9751, 14 -__func__.9751: + .type __func__.9818, %object + .size __func__.9818, 14 +__func__.9818: .string "pm_write_page" - .section .rodata.__func__.9769,"a",@progbits + .section .rodata.__func__.9836,"a",@progbits .align 3 - .set .LANCHOR140,. + 0 - .type __func__.9769, %object - .size __func__.9769, 21 -__func__.9769: + .set .LANCHOR137,. + 0 + .type __func__.9836, %object + .size __func__.9836, 21 +__func__.9836: .string "pm_select_ram_region" .section .rodata._list_remove_node.str1.1,"aMS",@progbits,1 .LC0: @@ -31455,50 +32104,53 @@ __func__.9769: .LC47: .string "buf = %d, next=%d, flag=%d gc_write_flag=%d, lun_state=%d, op_status = %d lpa=%x, ppa=%x\n" .section .rodata.dump_ftl_info.str1.1,"aMS",@progbits,1 -.LC189: - .string "free_buf_count: %d\n" -.LC190: - .string "g_ftl_info_blk blk:0x%x, index:0x%x, page:0x%x\n" -.LC191: - .string "ftl_ext_info_blk blk:0x%x, page:0x%x\n" .LC192: - .string "ac_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" + .string "free_buf_count: %d\n" .LC193: - .string "tmp_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" + .string "g_ftl_info_blk blk:0x%x, index:0x%x, page:0x%x\n" .LC194: - .string "gc_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" + .string "ftl_ext_info_blk blk:0x%x, page:0x%x\n" .LC195: - .string "lpa:" + .string "ac_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" .LC196: - .string "vpn:" + .string "tmp_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" .LC197: - .string "sblk:" + .string "gc_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" .LC198: - .string "lpa_hash:" + .string "lpa:" .LC199: + .string "vpn:" +.LC200: + .string "sblk:" +.LC201: + .string "lpa_hash:" +.LC202: .string "lpa_hash_index:" .section .rodata.dump_pm_blk.str1.1,"aMS",@progbits,1 -.LC254: +.LC257: .string "pm l2p:" -.LC255: +.LC258: .string "pm blk:" .section .rodata.dump_sblk_queue.str1.1,"aMS",@progbits,1 -.LC80: +.LC79: .string "dump_sblk_queue: %d\n" -.LC81: +.LC80: .string "buf id= %d state = %d ppa = %x\n" .section .rodata.flash_complete_page_read.str1.1,"aMS",@progbits,1 -.LC139: +.LC136: .string "flash_complete_page_read %x %x error_ecc %d %d\n" .section .rodata.flash_ddr_tuning_read.str1.1,"aMS",@progbits,1 -.LC125: +.LC122: .string "%d flash_ddr_tuning_read %x ecc=%d\n" -.LC126: +.LC123: .string "sync para %d\n" -.LC127: +.LC124: .string "DDR mode Read error %x %x\n" -.LC128: +.LC125: .string "SDR mode Read %x %x ecc:%x\n" + .section .rodata.flash_dual_page_prog.str1.1,"aMS",@progbits,1 +.LC130: + .string "flash_prog_page %x %x %x\n" .section .rodata.flash_erase_all.str1.1,"aMS",@progbits,1 .LC35: .string "erase done: %x\n" @@ -31513,43 +32165,41 @@ __func__.9769: .LC32: .string "flash_erase_duplane_block pageadd = %x status = %x\n" .section .rodata.flash_get_last_written_page.str1.1,"aMS",@progbits,1 -.LC131: +.LC128: .string "flash_get_last_written_page: %x %x %x\n" .section .rodata.flash_info_blk_init.str1.1,"aMS",@progbits,1 -.LC174: +.LC177: .string "...%d @ %s %d %p\n" -.LC175: +.LC178: .string "no sys info %x\n" .section .rodata.flash_info_data_init.str1.1,"aMS",@progbits,1 -.LC97: +.LC94: .string "...%d @ %s\n" .section .rodata.flash_info_flush.str1.1,"aMS",@progbits,1 -.LC171: +.LC174: .string "finfo:" -.LC172: +.LC175: .string "flash_info_flush id = %x, page = %x\n" -.LC173: +.LC176: .string "sys_info_flush error:%x\n" .section .rodata.flash_mask_bad_block.str1.1,"aMS",@progbits,1 .LC48: .string "flash_mask_bad_block %d %d\n" .section .rodata.flash_prog_page.str1.1,"aMS",@progbits,1 -.LC132: - .string "flash_prog_page %x %x %x\n" -.LC133: +.LC129: .string "flash_prog_page page_addr = %x status = %x\n" .section .rodata.flash_prog_page_en.str1.1,"aMS",@progbits,1 -.LC147: +.LC144: .string "flash_prog_page_en:%x %x %x\n" -.LC148: +.LC145: .string "w d:" -.LC149: +.LC146: .string "w s:" -.LC150: +.LC147: .string "spare" -.LC151: +.LC148: .string "data" -.LC152: +.LC149: .string "write error: %x\n" .section .rodata.flash_read_id.str1.1,"aMS",@progbits,1 .LC38: @@ -31558,9 +32208,9 @@ __func__.9769: .LC39: .string "otp:%x %x %x %x\n" .section .rodata.flash_read_page_en.str1.1,"aMS",@progbits,1 -.LC129: +.LC126: .string "flash_read_page_en %x %x %x %x\n" -.LC130: +.LC127: .string "flash_read_page_en %x %x error_ecc %d %d\n" .section .rodata.flash_set_interface_mode.str1.1,"aMS",@progbits,1 .LC36: @@ -31568,111 +32218,119 @@ __func__.9769: .LC37: .string "nand ddr mode %x\n" .section .rodata.ftl_alloc_new_data_sblk.str1.1,"aMS",@progbits,1 -.LC232: +.LC235: .string "error gc_add_sblk: %x\n" .section .rodata.ftl_alloc_sblk.str1.1,"aMS",@progbits,1 -.LC79: +.LC167: .string "alloc sblk %x %d\n" .section .rodata.ftl_dump_write_open_sblk.str1.1,"aMS",@progbits,1 -.LC166: +.LC159: .string "ftl_sblk_dump_write = %x %d %d %d %d\n" -.LC167: +.LC160: .string "blk= %x, page=%x, ppa = %x, status = %x, data:%x %x %x %x, spare: %x %x %x %x\n" -.LC168: +.LC161: .string "ftl_sblk_dump_write2 = %x %d %d %d\n" -.LC169: +.LC162: .string "ftl_sblk_dump_write = %x %x\n" -.LC170: +.LC163: .string "ftl_sblk_dump_write done = %x\n" .section .rodata.ftl_ext_info_init.str1.1,"aMS",@progbits,1 -.LC159: +.LC156: .string "%s %d %d %x %x\n" -.LC160: +.LC157: .string "ext info hash %x error\n" -.LC161: +.LC158: .string "%s %x %x %x\n" .section .rodata.ftl_free_sblk.str1.1,"aMS",@progbits,1 .LC68: .string "swl_slc_free_mini_ec_blk sblk %x\n" .section .rodata.ftl_info_blk_init.str1.1,"aMS",@progbits,1 -.LC155: +.LC152: .string "%d %x @%d %x\n" -.LC156: +.LC153: .string "ftl_info_blk_init %d %d %x\n" -.LC157: +.LC154: .string "ftl info hash %x error\n" -.LC158: +.LC155: .string "ink flag: %x\n" .section .rodata.ftl_info_flush.str1.1,"aMS",@progbits,1 -.LC154: +.LC151: .string "g_ftl_info_blk blk = %x, page = %x version = %d\n" + .section .rodata.ftl_ink_check_sblk.str1.1,"aMS",@progbits,1 +.LC165: + .string "ftl_ink_check_sblk = %x %d %d\n" +.LC166: + .string "ftl_ink_check_sblk = %x %d %d end\n" .section .rodata.ftl_low_format.str1.1,"aMS",@progbits,1 -.LC162: +.LC169: .string "ftl_low_format %d\n" -.LC163: +.LC170: .string "low format %d %d %d %d\n" .section .rodata.ftl_mask_bad_block.str1.1,"aMS",@progbits,1 .LC66: .string "mask bad block:cs %x %x block: %x %x\n" + .section .rodata.ftl_open_sblk_init.str1.1,"aMS",@progbits,1 +.LC168: + .string "blk %x is bad block\n" .section .rodata.ftl_open_sblk_recovery.str1.1,"aMS",@progbits,1 -.LC177: - .string "saved_active_page = %x\n" -.LC178: - .string "saved_active_plane = %x\n" -.LC179: - .string "sblk = %x\n" .LC180: - .string "phy_blk = %x %x\n" + .string "saved_active_page = %x\n" .LC181: - .string "num_planes = %x\n" + .string "saved_active_plane = %x\n" .LC182: - .string "recovery blk=%x, page=%x, ppa = %x, status = %x, hash:%x\n" + .string "sblk = %x\n" .LC183: - .string "data:" + .string "phy_blk = %x %x\n" .LC184: - .string "sblk = %x, vpn0 = %d, vpn1 = %d\n" + .string "num_planes = %x\n" .LC185: - .string "dump_write_lpa = %x %x %x %x\n" + .string "recovery blk=%x, page=%x, ppa = %x, status = %x, hash:%x\n" .LC186: - .string "dump write new ppa = %x, last ppa = %x lpa = %x\n" + .string "data:" .LC187: - .string "dump write = %x %x %x\n" + .string "sblk = %x, vpn0 = %d, vpn1 = %d\n" .LC188: + .string "dump_write_lpa = %x %x %x %x\n" +.LC189: + .string "dump write new ppa = %x, last ppa = %x lpa = %x\n" +.LC190: + .string "dump write = %x %x %x\n" +.LC191: .string "dump write hash update = %x %x %x\n" .section .rodata.ftl_re_low_format.str1.1,"aMS",@progbits,1 -.LC164: +.LC171: .string "re low format %d\n" .section .rodata.ftl_sblk_dump.str1.1,"aMS",@progbits,1 -.LC220: - .string "ftl_sblk_dump = %x %d %d %d %d\n" -.LC221: - .string "ftl_sblk_dump = %x %x %x %x\n" -.LC222: - .string "page_addr = %x, lpa=%x vpn = %d\n" .LC223: - .string "index= %x, lpa=%x\n" + .string "ftl_sblk_dump = %x %d %d %d %d\n" .LC224: + .string "ftl_sblk_dump = %x %x %x %x\n" +.LC225: + .string "page_addr = %x, lpa=%x vpn = %d\n" +.LC226: + .string "index= %x, lpa=%x\n" +.LC227: .string "block = %x, vpn=%x check vpn = %x\n" .section .rodata.ftl_sysblk_dump.str1.1,"aMS",@progbits,1 -.LC176: +.LC179: .string "l2p:" .section .rodata.ftl_test_block.str1.1,"aMS",@progbits,1 -.LC153: +.LC150: .string "low format %d\n" .section .rodata.ftl_update_l2p_map.str1.1,"aMS",@progbits,1 -.LC228: - .string "ftl_update_l2p_map: %x %x %x\n" -.LC229: - .string "ftl_update_l2p_map" -.LC230: - .string "lpa_tbl:" .LC231: + .string "ftl_update_l2p_map: %x %x %x\n" +.LC232: + .string "ftl_update_l2p_map" +.LC233: + .string "lpa_tbl:" +.LC234: .string "sblk %x vpn: %d %d\n" .section .rodata.ftl_vpn_decrement.str1.1,"aMS",@progbits,1 .LC65: .string "ftl_vpn_decrement %x = %d, %d\n" .section .rodata.ftl_write_commit.str1.1,"aMS",@progbits,1 -.LC233: +.LC236: .string "%d read error: ppa:%x, lpa:%x, status:%x\n" .section .rodata.ftl_write_completed.str1.1,"aMS",@progbits,1 .LC77: @@ -31689,12 +32347,12 @@ __func__.9769: .LC52: .string "gc_add_sblk = %d, %d, %d, %d, %d, %d\n" .section .rodata.gc_check_data_one_wl.str1.1,"aMS",@progbits,1 -.LC146: +.LC143: .string "err: ppa = %x, status = %x, %x %x spare: %x %x %x %x\n" .section .rodata.gc_do_copy_back.str1.1,"aMS",@progbits,1 -.LC234: +.LC237: .string "gc page in buf: lpa %x ppa = %x pageindex= %x\n" -.LC235: +.LC238: .string "gc_do_copy_back: lpa %x des_ppa = %x %x gc_ppa= %x page_index= %d\n" .section .rodata.gc_free_bad_sblk.str1.1,"aMS",@progbits,1 .LC67: @@ -31707,22 +32365,25 @@ __func__.9769: .section .rodata.gc_free_temp_buf.str1.1,"aMS",@progbits,1 .LC55: .string "%d gc_free_temp_buf buf id= %x\n" + .section .rodata.gc_ink_check_sblk.str1.1,"aMS",@progbits,1 +.LC164: + .string "%x: ink_scaned_blk_num %x\n" .section .rodata.gc_mark_bad_ppa.str1.1,"aMS",@progbits,1 .LC53: .string "gc_mark_bad_ppa %d %x %x\n" .section .rodata.gc_recovery.str1.1,"aMS",@progbits,1 -.LC210: +.LC213: .string "ppa = %x, status = %x, data:%x %x %x %x, spare: %x %x %x %x\n" -.LC211: +.LC214: .string "ppa = %x, status = %x, %x %x spare: %x %x %x %x\n" -.LC212: +.LC215: .string "gc_recovery: %x vpn = %x\n" .section .rodata.gc_scan_src_blk.str1.1,"aMS",@progbits,1 -.LC217: +.LC220: .string "gc_scan_src_blk = %x, vpn = %d\n" -.LC218: +.LC221: .string "js hash error:%x %x %x\n" -.LC219: +.LC222: .string "gc_scan_src_blk = %x, s vpn0 = %d, c vpn1 = %d\n" .section .rodata.gc_search_src_blk.str1.1,"aMS",@progbits,1 .LC57: @@ -31730,69 +32391,69 @@ __func__.9769: .LC58: .string "gc_search_src_blk mode = %x, src mode = %x, count= %d %d\n" .section .rodata.gc_static_wearleveling.str1.1,"aMS",@progbits,1 -.LC85: +.LC82: .string "gc_static_wearleveling: min blk: %x,sec=%d,xec = %d ,mode=%d, func=%x, bbt=%x vpn = %d\n" -.LC86: +.LC83: .string "gc_static_wearleveling: min slc blk: %x,sec=%d,xec = %d ,mode=%d, func=%x, bbt=%x vpn = %d\n" -.LC87: +.LC84: .string "gc_static_wearleveling: min tlc blk: %x,sec=%d,xec = %d ,mode=%d, func=%x, bbt=%x vpn = %d\n" -.LC88: +.LC85: .string "gc_static_wearleveling: max slc blk: %x,sec=%d,xec = %d ,mode=%d, func=%x, bbt=%x vpn = %d\n" -.LC89: +.LC86: .string "gc_static_wearleveling: max xlc blk: %x,sec=%d,xec = %d ,mode=%d, func=%x, bbt=%x vpn = %d\n" -.LC90: +.LC87: .string "gc_static_wearleveling: slc blk: %x, tlc blk: %d avg slc ec: %d, avg tlc ec: %d \n" -.LC91: +.LC88: .string "gc_static_wearleveling: min slc ec: %x, min tlc ec: %d max slc ec: %d, max tlc ec: %d; %d %d\n" -.LC92: +.LC89: .string "swl add tlc gc = %x, %d, %d, %d, %d, %d\n" -.LC93: +.LC90: .string "swl add slc gc = %x, %d, %d, %d, %d, %d\n" .section .rodata.gc_update_l2p_map_new.str1.1,"aMS",@progbits,1 -.LC213: - .string "gc_update_l2p_map_new sblk %x\n" -.LC214: - .string "gc_update_l2p_map_new: %x %x %x\n" -.LC215: - .string "lpa: %x %x %x\n" .LC216: + .string "gc_update_l2p_map_new sblk %x\n" +.LC217: + .string "gc_update_l2p_map_new: %x %x %x\n" +.LC218: + .string "lpa: %x %x %x\n" +.LC219: .string "gc_update_l2p_map_new: %x vpn = %x vpn1 = %x done\n" .section .rodata.gc_write_completed.str1.1,"aMS",@progbits,1 .LC54: .string "status: %x, ppa: %x\n" .section .rodata.hynix_get_read_retry_default.str1.1,"aMS",@progbits,1 -.LC105: +.LC102: .string "otp error! %d" -.LC106: +.LC103: .string "rr" .section .rodata.hynix_read_retrial.str1.1,"aMS",@progbits,1 -.LC124: +.LC121: .string "hynix RR %d row=%x, count %d, status=%d\n" .section .rodata.idb_write_data.str1.1,"aMS",@progbits,1 -.LC135: +.LC132: .string "1 write_idblock fix data %x %x %x\n" -.LC136: +.LC133: .string "write_idblock check fail! %x\n" -.LC137: +.LC134: .string "write_idblock fail! %x\n" .section .rodata.load_l2p_region.str1.1,"aMS",@progbits,1 -.LC201: - .string "region_id = %d, pm_max_region = %d\n" -.LC202: - .string "load_l2p_region no ppa = %x , %x, all setting 0xff....\n" -.LC203: - .string "load_l2p_region = %x,%x,%x, %x\n" .LC204: - .string "pm_ppa:" + .string "region_id = %d, pm_max_region = %d\n" .LC205: + .string "load_l2p_region no ppa = %x , %x, all setting 0xff....\n" +.LC206: + .string "load_l2p_region = %x,%x,%x, %x\n" +.LC207: + .string "pm_ppa:" +.LC208: .string "spare:" .section .rodata.lpa_rebuild_hash.str1.1,"aMS",@progbits,1 -.LC84: +.LC81: .string "%s %d %d\n" .section .rodata.micron_read_retrial.str1.1,"aMS",@progbits,1 -.LC115: +.LC112: .string "MT %d row=%x,last status %d,status = %d\n" -.LC116: +.LC113: .string "MT RR %d row=%x,count %d,status=%d\n" .section .rodata.nand_flash_print_info.str1.1,"aMS",@progbits,1 .LC1: @@ -31856,55 +32517,53 @@ __func__.9769: .LC30: .string "g_flash_toggle_mode_en: %x\n" .section .rodata.nandc_init.str1.1,"aMS",@progbits,1 -.LC98: +.LC95: .string "...%s enter... %p\n" -.LC99: +.LC96: .string "0:%x %x %x %x %x\n" -.LC100: +.LC97: .string "g_nandc_ver...%d\n" .section .rodata.nandc_xfer.str1.1,"aMS",@progbits,1 -.LC112: +.LC109: .string "dqs data abort %x\n" -.LC113: +.LC110: .string "dqs data timeout %x\n" -.LC114: +.LC111: .string "xfer error %x\n" .section .rodata.nandc_xfer_done.str1.1,"aMS",@progbits,1 -.LC107: +.LC104: .string "flash_abort_clear = %d\n" -.LC108: +.LC105: .string "%d mtrans_cnt = %d page_num = %d\n" -.LC109: +.LC106: .string "%d flReg.d32=%x %x\n" -.LC110: +.LC107: .string "nandc:" -.LC111: +.LC108: .string "nandc_xfer_done read error %x\n" .section .rodata.pm_alloc_new_blk.str1.1,"aMS",@progbits,1 -.LC82: - .string "blk %x is bad block\n" -.LC83: +.LC172: .string "pm_alloc_new_blk: %x %x %x %x\n" .section .rodata.pm_free_sblk.str1.1,"aMS",@progbits,1 -.LC95: +.LC92: .string "GC PM block %x %x %x %d\n" -.LC96: +.LC93: .string "ftl_free_no_use_map_blk %x %x %x %d\n" .section .rodata.pm_init.str1.1,"aMS",@progbits,1 -.LC206: +.LC209: .string "pm_init posr %x %x %x\n" -.LC207: +.LC210: .string "pm_init recovery %x %x %x\n" -.LC208: +.LC211: .string "pm_init hash %x error\n" .section .rodata.pm_log2phys.str1.1,"aMS",@progbits,1 -.LC209: +.LC212: .string "pm_log2phys lpn = %d, max lpn = %d\n" .section .rodata.pm_ppa_update_check.str1.1,"aMS",@progbits,1 -.LC200: +.LC203: .string "%s w error lpn = %x, max ppa = %d\n" .section .rodata.pm_write_page.str1.1,"aMS",@progbits,1 -.LC165: +.LC173: .string "pm_write_page write error: %x\n" .section .rodata.print_ftl_debug_info.str1.1,"aMS",@progbits,1 .LC71: @@ -31928,19 +32587,19 @@ __func__.9769: .LC64: .string "%d: node:%x %x %x %x, %d %d %d %d %d\n" .section .rodata.queue_wait_first_req_completed.str1.1,"aMS",@progbits,1 -.LC140: +.LC137: .string "read: %x %x %x %x\n" -.LC141: +.LC138: .string "0set buf %d,status = %x, ppa = %x lun state = %d\n" -.LC142: +.LC139: .string "prog end %x %x error_ecc %d %d\n" -.LC143: +.LC140: .string "1set buf %d,status = %x, ppa = %x lun state = %d\n" -.LC144: +.LC141: .string "dp prog end %x %x error_ecc %d %d\n" .section .rodata.random_seed,"a",@progbits .align 3 - .set .LANCHOR55,. + 0 + .set .LANCHOR54,. + 0 .type random_seed, %object .size random_seed, 256 random_seed: @@ -32073,20 +32732,20 @@ random_seed: .hword 17598 .hword 28087 .section .rodata.rk_ftl_init.str1.1,"aMS",@progbits,1 -.LC251: +.LC254: .string "zftl_init %x\n" .section .rodata.rknand_print_hex.str1.1,"aMS",@progbits,1 -.LC101: +.LC98: .string "%s %p + 0x%x:" -.LC102: +.LC99: .string "%x " -.LC103: +.LC100: .string "" -.LC104: +.LC101: .string "%s\n" .section .rodata.samsung_14nm_mlc_rr,"a",@progbits .align 3 - .set .LANCHOR171,. + 0 + .set .LANCHOR168,. + 0 .type samsung_14nm_mlc_rr, %object .size samsung_14nm_mlc_rr, 104 samsung_14nm_mlc_rr: @@ -32196,7 +32855,7 @@ samsung_14nm_mlc_rr: .byte 8 .section .rodata.samsung_14nm_slc_rr,"a",@progbits .align 3 - .set .LANCHOR170,. + 0 + .set .LANCHOR167,. + 0 .type samsung_14nm_slc_rr, %object .size samsung_14nm_slc_rr, 26 samsung_14nm_slc_rr: @@ -32227,24 +32886,24 @@ samsung_14nm_slc_rr: .byte -115 .byte 100 .section .rodata.samsung_read_retrial.str1.1,"aMS",@progbits,1 -.LC121: +.LC118: .string "samsung SRR %d row=%x, status=%d\n" -.LC122: +.LC119: .string "samsung TRR %d row=%x, status=%d\n" -.LC123: +.LC120: .string "samsung RR %d row=%x,count %d,status=%d\n" .section .rodata.sandisk_prog_test_bad_block.str1.1,"aMS",@progbits,1 .LC40: .string "bad block test:%x %x\n" .section .rodata.sblk_mlc_dump_prog.str1.1,"aMS",@progbits,1 -.LC138: +.LC135: .string "sblk_mlc_dump_prog wl_addr= %x ppa = %x ppa = %x\n" .section .rodata.sblk_prog_page.str1.1,"aMS",@progbits,1 -.LC145: +.LC142: .string "sblk_prog_page ppa = %x, count = %d\n" .section .rodata.toshiba_15ref_value,"a",@progbits .align 3 - .set .LANCHOR22,. + 0 + .set .LANCHOR14,. + 0 .type toshiba_15ref_value, %object .size toshiba_15ref_value, 95 toshiba_15ref_value: @@ -32345,7 +33004,7 @@ toshiba_15ref_value: .byte 0 .section .rodata.toshiba_3D_slc_value,"a",@progbits .align 3 - .set .LANCHOR39,. + 0 + .set .LANCHOR38,. + 0 .type toshiba_3D_slc_value, %object .size toshiba_3D_slc_value, 11 toshiba_3D_slc_value: @@ -32362,7 +33021,7 @@ toshiba_3D_slc_value: .byte 56 .section .rodata.toshiba_3D_tlc_value,"a",@progbits .align 3 - .set .LANCHOR38,. + 0 + .set .LANCHOR37,. + 0 .type toshiba_3D_tlc_value, %object .size toshiba_3D_tlc_value, 399 toshiba_3D_tlc_value: @@ -32766,15 +33425,15 @@ toshiba_3D_tlc_value: .byte 12 .byte 14 .section .rodata.toshiba_3d_read_retrial.str1.1,"aMS",@progbits,1 -.LC117: +.LC114: .string "toshiba SRR %d row=%x, status=%d\n" -.LC118: +.LC115: .string "toshiba TRR %d row=%x, status=%d\n" -.LC119: +.LC116: .string "toshiba RR %d row=%x,count %d,status=%d\n" .section .rodata.toshiba_A19ref_value,"a",@progbits .align 3 - .set .LANCHOR23,. + 0 + .set .LANCHOR15,. + 0 .type toshiba_A19ref_value, %object .size toshiba_A19ref_value, 45 toshiba_A19ref_value: @@ -32825,7 +33484,7 @@ toshiba_A19ref_value: .byte 0 .section .rodata.toshiba_ref_value,"a",@progbits .align 3 - .set .LANCHOR25,. + 0 + .set .LANCHOR17,. + 0 .type toshiba_ref_value, %object .size toshiba_ref_value, 8 toshiba_ref_value: @@ -32839,7 +33498,7 @@ toshiba_ref_value: .byte 112 .section .rodata.ymtc_3D_slc_value,"a",@progbits .align 3 - .set .LANCHOR43,. + 0 + .set .LANCHOR42,. + 0 .type ymtc_3D_slc_value, %object .size ymtc_3D_slc_value, 10 ymtc_3D_slc_value: @@ -32855,7 +33514,7 @@ ymtc_3D_slc_value: .byte 56 .section .rodata.ymtc_3D_tlc_value,"a",@progbits .align 3 - .set .LANCHOR42,. + 0 + .set .LANCHOR41,. + 0 .type ymtc_3D_tlc_value, %object .size ymtc_3D_tlc_value, 357 ymtc_3D_tlc_value: @@ -33217,20 +33876,20 @@ ymtc_3D_tlc_value: .byte 12 .byte 14 .section .rodata.ymtc_3d_read_retrial.str1.1,"aMS",@progbits,1 -.LC120: +.LC117: .string "YMTC RR %d row=%x,count %d,status=%d\n" .section .rodata.ymtc_flash_tlc_page_prog.str1.1,"aMS",@progbits,1 -.LC134: +.LC131: .string "ymtc_flash_tlc_page_prog page_addr = %x status = %x\n" .section .rodata.zftl_discard.str1.1,"aMS",@progbits,1 -.LC253: +.LC256: .string "ftl_discard:(%x, %x, %x, %x)\n" .section .rodata.zftl_do_gc.str1.1,"aMS",@progbits,1 -.LC236: +.LC239: .string "gc %d: %d %d %d %d %d %d %d\n" -.LC237: +.LC240: .string "GC_STATE_SCAN_ALL_PAGE = %x, vpn0 = %d, vpn1 = %d\n" -.LC238: +.LC241: .string "gc free %x, %d\n" .section .rodata.zftl_gc_get_free_sblk.str1.1,"aMS",@progbits,1 .LC59: @@ -33243,40 +33902,40 @@ ymtc_3D_tlc_value: .LC62: .string "swl_slc_free_mini_ec_blk alloc sblk %x\n" .section .rodata.zftl_init.str1.1,"aMS",@progbits,1 -.LC239: - .string "FTL version: 6.0.23 20201130" -.LC240: - .string "_c_user_data_density := %d\n" -.LC241: - .string "_c_totle_phy_density := %d\n" .LC242: - .string "_c_totle_log_page := %d\n" + .string "FTL version: 6.0.24 20210107" .LC243: - .string "_c_totle_data_density := %d\n" + .string "_c_user_data_density := %d\n" .LC244: - .string "_c_ftl_pm_page_num := %d\n" + .string "_c_totle_phy_density := %d\n" .LC245: - .string "_c_ftl_byte_pre_page := %d\n" + .string "_c_totle_log_page := %d\n" .LC246: - .string "_c_max_pm_sblk := %d\n" + .string "_c_totle_data_density := %d\n" .LC247: - .string "_min_slc_super_block := %d\n" + .string "_c_ftl_pm_page_num := %d\n" .LC248: - .string "_max_xlc_super_block := %d\n" + .string "_c_ftl_byte_pre_page := %d\n" .LC249: - .string "gp_ftl_ext_info %p %p %p\n" + .string "_c_max_pm_sblk := %d\n" .LC250: + .string "_min_slc_super_block := %d\n" +.LC251: + .string "_max_xlc_super_block := %d\n" +.LC252: + .string "gp_ftl_ext_info %p %p %p\n" +.LC253: .string "flash info size: %d %d %d\n" .section .rodata.zftl_read.str1.1,"aMS",@progbits,1 -.LC225: +.LC228: .string "ftl_read %x %x %x\n" -.LC226: +.LC229: .string "ftl_read refresh =%x, lpa = %x, ppa= %x\n" -.LC227: +.LC230: .string "id=%d, status = %x, lpa = %x, ppa = %x spare = %x %x %x %x\n" .section .rodata.zftl_sblk_list_init.str1.1,"aMS",@progbits,1 -.LC94: +.LC91: .string "free blk vpn error: %x %x\n" .section .rodata.zftl_write.str1.1,"aMS",@progbits,1 -.LC252: +.LC255: .string "ftlwrite %x %x %x %x\n"