diff --git a/drivers/rk_nand/rk_nand_base.c b/drivers/rk_nand/rk_nand_base.c index d181f04d7769..c6192c13759b 100644 --- a/drivers/rk_nand/rk_nand_base.c +++ b/drivers/rk_nand/rk_nand_base.c @@ -30,7 +30,7 @@ #include "rk_ftl_api.h" #include "rk_nand_base.h" -#define RKNAND_VERSION_AND_DATE "rknandbase v1.2 2018-05-08" +#define RKNAND_VERSION_AND_DATE "rknandbase v1.2 2021-01-07" static struct rk_nandc_info g_nandc_info[2]; struct device *g_nand_device; @@ -453,6 +453,7 @@ static const struct dev_pm_ops rknand_dev_pm_ops = { #ifdef CONFIG_OF static const struct of_device_id of_rk_nandc_match[] = { {.compatible = "rockchip,rk-nandc"}, + {.compatible = "rockchip,rk-nandc-v9"}, {} }; #endif diff --git a/drivers/rk_nand/rk_zftl_arm32.S b/drivers/rk_nand/rk_zftl_arm32.S index fe4ac3174b56..6446eef1bb83 100644 --- a/drivers/rk_nand/rk_zftl_arm32.S +++ b/drivers/rk_nand/rk_zftl_arm32.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 * function: rk ftl v6 for rockchip soc base on arm v7 to support 3D/2D * TLC and MLC. */ @@ -109,48 +109,6 @@ zftl_get_density: .fnend .size zftl_get_density, .-zftl_get_density .align 2 - .type _list_get_gc_head_node, %function -_list_get_gc_head_node: - .fnstart - @ args = 0, pretend = 0, frame = 0 - @ frame_needed = 0, uses_anonymous_args = 0 - @ link register save eliminated. - ldr r0, [r0] - cmp r0, #0 - beq .L32 - ldr r3, .L35 - mov ip, #6 - ldr r2, [r3, #1036] - movw r3, #65535 -.L29: - cmp r1, #0 - beq .L30 - ldrh r0, [r0] - cmp r0, r3 - subne r1, r1, #1 - mlane r0, ip, r0, r2 - uxthne r1, r1 - bne .L29 -.L34: - bx lr -.L32: - movw r0, #65535 - bx lr -.L30: - rsb r0, r2, r0 - ldr r3, .L35+4 - mov r0, r0, asr #1 - mul r0, r3, r0 - uxth r0, r0 - bx lr -.L36: - .align 2 -.L35: - .word .LANCHOR0 - .word -1431655765 - .fnend - .size _list_get_gc_head_node, .-_list_get_gc_head_node - .align 2 .type _list_remove_node, %function _list_remove_node: .fnstart @@ -160,7 +118,7 @@ _list_remove_node: .save {r3, r4, r5, r6, r7, r8, r9, lr} mov r5, #6 mul r5, r5, r1 - ldr r6, .L46 + ldr r6, .L36 mov r7, r0 movw r3, #65535 ldr r8, [r6, #1036] @@ -169,29 +127,29 @@ _list_remove_node: ldrh r1, [r4, #2] cmp r0, r3 ldr r3, [r7] - bne .L38 + bne .L28 cmp r1, r0 - bne .L38 + bne .L28 cmp r4, r3 ldmnefd sp!, {r3, r4, r5, r6, r7, r8, r9, pc} -.L38: +.L28: mov r9, r2 movw r2, #65535 cmp r1, r2 - bne .L40 + bne .L30 cmp r4, r3 - beq .L40 - ldr r1, .L46+4 + beq .L30 + ldr r1, .L36+4 mov r2, #202 - ldr r0, .L46+8 + ldr r0, .L36+8 bl printk bl dump_stack -.L40: +.L30: ldr r3, [r7] movw r2, #65535 cmp r4, r3 ldrh r3, [r8, r5] - bne .L41 + bne .L31 cmp r3, r2 ldrne r2, [r6, #1036] movne r1, #6 @@ -201,19 +159,19 @@ _list_remove_node: mvnne r2, #0 strne r3, [r7] strneh r2, [r3, #2] @ movhi - b .L43 -.L41: + b .L33 +.L31: cmp r3, r2 ldrh r1, [r4, #2] - bne .L44 + bne .L34 cmp r1, r3 movne r3, #6 ldrne r2, [r6, #1036] mulne r1, r3, r1 mvnne r3, #0 strneh r3, [r2, r1] @ movhi - b .L43 -.L44: + b .L33 +.L34: ldr r0, [r6, #1036] mov r2, #6 mla r3, r2, r3, r0 @@ -223,7 +181,7 @@ _list_remove_node: ldr r3, [r6, #1036] mul r2, r2, r0 strh r1, [r3, r2] @ movhi -.L43: +.L33: mvn r3, #0 strh r3, [r8, r5] @ movhi strh r3, [r4, #2] @ movhi @@ -231,64 +189,15 @@ _list_remove_node: sub r3, r3, #1 strh r3, [r9] @ movhi ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, pc} -.L47: +.L37: .align 2 -.L46: +.L36: .word .LANCHOR0 .word .LANCHOR1 .word .LC0 .fnend .size _list_remove_node, .-_list_remove_node .align 2 - .type _list_pop_index_node, %function -_list_pop_index_node: - .fnstart - @ args = 0, pretend = 0, frame = 0 - @ frame_needed = 0, uses_anonymous_args = 0 - stmfd sp!, {r3, r4, r5, lr} - .save {r3, r4, r5, lr} - ldr r5, [r0] - cmp r5, #0 - beq .L54 - ldr r3, .L56 - movw ip, #65535 - mov lr, #6 - ldr r4, [r3, #1036] -.L50: - cmp r1, #0 - bne .L51 -.L53: - rsb r4, r4, r5 - ldr r3, .L56+4 - mov r4, r4, asr #1 - mul r4, r3, r4 - uxth r4, r4 - mov r1, r4 - bl _list_remove_node - mvn r3, #0 - mov r0, r4 - strh r3, [r5] @ movhi - strh r3, [r5, #2] @ movhi - ldmfd sp!, {r3, r4, r5, pc} -.L51: - ldrh r3, [r5] - cmp r3, ip - beq .L53 - sub r1, r1, #1 - mla r5, lr, r3, r4 - uxth r1, r1 - b .L50 -.L54: - movw r0, #65535 - ldmfd sp!, {r3, r4, r5, pc} -.L57: - .align 2 -.L56: - .word .LANCHOR0 - .word -1431655765 - .fnend - .size _list_pop_index_node, .-_list_pop_index_node - .align 2 .type zftl_debug_proc_open, %function zftl_debug_proc_open: .fnstart @@ -298,14 +207,14 @@ zftl_debug_proc_open: .save {r4, lr} mov r4, r1 bl PDE_DATA - ldr r1, .L60 + ldr r1, .L40 mov r2, r0 mov r0, r4 ldmfd sp!, {r4, lr} b single_open -.L61: +.L41: .align 2 -.L60: +.L40: .word zftl_debug_proc_show .fnend .size zftl_debug_proc_open, .-zftl_debug_proc_open @@ -318,19 +227,19 @@ zftl_debug_proc_show: stmfd sp!, {r4, lr} .save {r4, lr} mov r4, r0 - ldr r1, .L64 - ldr r2, .L64+4 + ldr r1, .L44 + ldr r2, .L44+4 bl seq_printf - ldr r3, .L64+8 + ldr r3, .L44+8 mov r0, r4 - ldr r1, .L64+12 + ldr r1, .L44+12 ldr r2, [r3] bl seq_printf mov r0, #0 ldmfd sp!, {r4, pc} -.L65: +.L45: .align 2 -.L64: +.L44: .word .LC1 .word .LC2 .word .LANCHOR2 @@ -345,7 +254,7 @@ zftl_flash_suspend: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L70 + ldr r3, .L50 ldrb r2, [r3, #1028] @ zero_extendqisi2 cmp r2, #9 ldr r2, [r3, #1040] @@ -353,7 +262,7 @@ zftl_flash_suspend: str r1, [r3, #1044] ldr r1, [r2, #4] str r1, [r3, #1048] - bne .L67 + bne .L47 ldr r1, [r2, #16] str r1, [r3, #1052] ldr r1, [r2, #32] @@ -365,8 +274,8 @@ zftl_flash_suspend: ldr r1, [r2, #520] ldr r2, [r2, #8] str r1, [r3, #1068] - b .L69 -.L67: + b .L49 +.L47: ldr r1, [r2, #8] str r1, [r3, #1052] ldr r1, [r2, #12] @@ -378,12 +287,12 @@ zftl_flash_suspend: ldr r1, [r2, #336] ldr r2, [r2, #344] str r1, [r3, #1068] -.L69: +.L49: str r2, [r3, #1072] bx lr -.L71: +.L51: .align 2 -.L70: +.L50: .word .LANCHOR0 .fnend .size zftl_flash_suspend, .-zftl_flash_suspend @@ -393,7 +302,7 @@ _insert_free_list: .fnstart @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L82 + ldr r3, .L62 movw ip, #1076 ldrh ip, [r3, ip] cmp ip, r1 @@ -414,7 +323,7 @@ _insert_free_list: strh r3, [r7, r6] @ movhi ldr r3, [r0] cmp r3, #0 - beq .L81 + beq .L61 ldr r5, [r4, #1080] movw r8, #1084 ldrh r10, [r4, r8] @@ -431,11 +340,11 @@ _insert_free_list: rsb r8, r9, r3 uxth r2, r2 str r2, [sp] - ldr r2, .L82+4 + ldr r2, .L62+4 mov r8, r8, asr #1 mul r2, r2, r8 uxth r2, r2 -.L77: +.L57: ldr ip, [r5, r2, asl #2] mov r8, r2, asl #2 ubfx ip, ip, #11, #8 @@ -446,42 +355,42 @@ _insert_free_list: ldr ip, [sp] uxth r8, r8 cmp r8, ip - bcs .L75 + bcs .L55 ldrh ip, [r3] cmp ip, fp streqh r2, [lr, #2] @ movhi streqh r1, [r3] @ movhi - beq .L72 -.L76: + beq .L52 +.L56: ldr r3, [sp, #4] mov r2, ip mla r3, r3, ip, r9 - b .L77 -.L75: + b .L57 +.L55: ldrh ip, [r3, #2] strh ip, [lr, #2] @ movhi strh r2, [r7, r6] @ movhi ldr r2, [r0] cmp r3, r2 - bne .L78 + bne .L58 strh r1, [r3, #2] @ movhi -.L81: +.L61: str lr, [r0] - b .L72 -.L78: + b .L52 +.L58: ldrh ip, [r3, #2] mov r2, #6 ldr r0, [r4, #1036] mul r2, r2, ip strh r1, [r0, r2] @ movhi strh r1, [r3, #2] @ movhi -.L72: +.L52: add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L83: +.L63: .align 2 -.L82: +.L62: .word .LANCHOR0 .word -1431655765 .fnend @@ -492,7 +401,7 @@ _insert_data_list: .fnstart @ args = 0, pretend = 0, frame = 24 @ frame_needed = 0, uses_anonymous_args = 0 - ldr ip, .L105 + ldr ip, .L85 movw r3, #1076 ldrh r3, [ip, r3] cmp r3, r1 @@ -513,7 +422,7 @@ _insert_data_list: strh r3, [r10, r5] @ movhi ldr r3, [r0] cmp r3, #0 - beq .L104 + beq .L84 ldr r2, [ip, #1088] movw r8, #1084 ldr r9, [ip, #1080] @@ -535,12 +444,12 @@ _insert_data_list: addne r2, r2, r6 uxtahne ip, ip, r2 cmp r4, #0 - ldr r4, .L105 + ldr r4, .L85 mvneq ip, #0 ldr r2, [r4, #1036] rsb r6, r2, r3 str r2, [sp, #12] - ldr r2, .L105+4 + ldr r2, .L85+4 mov r6, r6, asr #1 mul r2, r2, r6 movw r6, #1076 @@ -548,7 +457,7 @@ _insert_data_list: mov r6, #0 str r4, [sp, #16] uxth r2, r2 -.L94: +.L74: add r6, r6, #1 ldr r4, [sp, #16] uxth r6, r6 @@ -558,7 +467,7 @@ _insert_data_list: cmp r1, r2 orreq r4, r4, #1 cmp r4, #0 - bne .L84 + bne .L64 ldr r7, [sp, #4] mov r4, r2, asl #1 ldr r8, [r9, r2, asl #2] @@ -577,45 +486,45 @@ _insert_data_list: uxtahne r4, r4, r8 cmp fp, #0 cmpne r4, ip - bcs .L92 + bcs .L72 ldrh r4, [r3] movw r7, #65535 cmp r4, r7 streqh r2, [lr, #2] @ movhi streqh r1, [r3] @ movhi - beq .L84 -.L93: + beq .L64 +.L73: ldr r2, [sp, #12] mov r3, #6 mla r3, r3, r4, r2 mov r2, r4 - b .L94 -.L92: + b .L74 +.L72: ldrh ip, [r3, #2] strh ip, [lr, #2] @ movhi strh r2, [r10, r5] @ movhi ldr r2, [r0] cmp r3, r2 - bne .L95 + bne .L75 strh r1, [r3, #2] @ movhi -.L104: +.L84: str lr, [r0] - b .L84 -.L95: - ldr r2, .L105 + b .L64 +.L75: + ldr r2, .L85 ldrh ip, [r3, #2] ldr r0, [r2, #1036] mov r2, #6 mul r2, r2, ip strh r1, [r0, r2] @ movhi strh r1, [r3, #2] @ movhi -.L84: +.L64: add sp, sp, #28 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L106: +.L86: .align 2 -.L105: +.L85: .word .LANCHOR0 .word -1431655765 .fnend @@ -629,7 +538,7 @@ _list_update_data_list: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, lr} .save {r4, r5, r6, r7, r8, r9, r10, lr} mov r4, r1 - ldr r1, .L118 + ldr r1, .L98 mov r6, r0 ldr r3, [r1, #1092] ldrh r0, [r3, #16] @@ -653,24 +562,24 @@ _list_update_data_list: mov r7, r2 movw r2, #65535 cmp r3, r2 - bne .L111 + bne .L91 ldrh r2, [r10, r8] cmp r2, r3 - bne .L111 - ldr r1, .L118+4 + bne .L91 + ldr r1, .L98+4 movw r2, #273 - ldr r0, .L118+8 + ldr r0, .L98+8 bl printk bl dump_stack -.L111: +.L91: ldrh r2, [r9, #2] movw r3, #65535 cmp r2, r3 - bne .L112 + bne .L92 ldrh r3, [r10, r8] cmp r3, r2 ldmeqfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc} -.L112: +.L92: ldr r0, [r5, #1088] mov r3, r4, asl #1 ldrh r1, [r0, r3] @@ -679,7 +588,7 @@ _list_update_data_list: mulne r1, r3, r1 mov r3, #6 mul r2, r3, r2 - ldr r3, .L118+12 + ldr r3, .L98+12 mvneq r1, #0 mov ip, r2, asr #1 mul r3, r3, ip @@ -702,9 +611,9 @@ _list_update_data_list: mov r2, r7 ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, lr} b _insert_data_list -.L119: +.L99: .align 2 -.L118: +.L98: .word .LANCHOR0 .word .LANCHOR1+20 .word .LC0 @@ -724,53 +633,53 @@ rk_simple_strtoull.constprop.34: cmp r3, #48 movne r2, r0 movne lr, #10 - bne .L121 + bne .L101 ldrb r3, [r0, #1] @ zero_extendqisi2 add r2, r0, #1 orr r3, r3, #32 cmp r3, #120 - bne .L132 + bne .L112 ldrb r3, [r0, #2] @ zero_extendqisi2 bic ip, r3, #32 sub ip, ip, #65 cmp ip, #25 - bls .L122 + bls .L102 sub r3, r3, #48 cmp r3, #9 - bls .L122 -.L132: + bls .L102 +.L112: mov lr, #8 -.L121: +.L101: mov r0, #0 -.L123: +.L103: mov r4, r2 ldrb ip, [r2], #1 @ zero_extendqisi2 bic r3, ip, #32 sub r3, r3, #65 cmp r3, #25 sub r3, ip, #48 - bls .L124 + bls .L104 cmp r3, #9 - bls .L124 -.L128: + bls .L104 +.L108: cmp r1, #0 - bne .L125 + bne .L105 ldmfd sp!, {r4, pc} -.L125: +.L105: str r4, [r1] ldmfd sp!, {r4, pc} -.L122: +.L102: add r2, r0, #2 mov lr, #16 - b .L121 -.L124: + b .L101 +.L104: cmp r3, #9 orrhi ip, ip, #32 subhi r3, ip, #87 cmp r3, lr - bcs .L128 + bcs .L108 mla r0, lr, r0, r3 - b .L123 + b .L103 .fnend .size rk_simple_strtoull.constprop.34, .-rk_simple_strtoull.constprop.34 .text @@ -784,18 +693,18 @@ nand_flash_print_info: stmfd sp!, {r0, r1, r2, r3, r4, lr} .save {r4, lr} .pad #16 - ldr r4, .L254 + ldr r4, .L234 ldr r3, [r4] tst r3, #4096 - beq .L136 - ldr r0, .L254+4 - ldr r1, .L254+8 + beq .L116 + ldr r0, .L234+4 + ldr r1, .L234+8 bl printk -.L136: +.L116: ldr r3, [r4] tst r3, #4096 - beq .L137 - ldr r3, .L254+12 + beq .L117 + ldr r3, .L234+12 ldr r0, [r3, #1096] ldrb ip, [r0, #4] @ zero_extendqisi2 ldrb r1, [r0, #1] @ zero_extendqisi2 @@ -806,278 +715,278 @@ nand_flash_print_info: str ip, [sp, #4] ldrb r0, [r0, #6] @ zero_extendqisi2 str r0, [sp, #8] - ldr r0, .L254+16 + ldr r0, .L234+16 + bl printk +.L117: + ldr r3, [r4] + tst r3, #4096 + beq .L118 + ldr r3, .L234+12 + ldr r0, .L234+20 + ldr r3, [r3, #1096] + ldrb r1, [r3, #8] @ zero_extendqisi2 + bl printk +.L118: + ldr r3, [r4] + tst r3, #4096 + beq .L119 + ldr r3, .L234+12 + ldr r0, .L234+24 + ldr r3, [r3, #1096] + ldrb r1, [r3, #9] @ zero_extendqisi2 + bl printk +.L119: + ldr r3, [r4] + tst r3, #4096 + beq .L120 + ldr r3, .L234+12 + ldr r0, .L234+28 + ldr r3, [r3, #1096] + ldrh r1, [r3, #10] + bl printk +.L120: + ldr r3, [r4] + tst r3, #4096 + beq .L121 + ldr r3, .L234+12 + ldr r0, .L234+32 + ldr r3, [r3, #1096] + ldrb r1, [r3, #12] @ zero_extendqisi2 + bl printk +.L121: + ldr r3, [r4] + tst r3, #4096 + beq .L122 + ldr r3, .L234+12 + ldr r0, .L234+36 + ldr r3, [r3, #1096] + ldrb r1, [r3, #13] @ zero_extendqisi2 + bl printk +.L122: + ldr r3, [r4] + tst r3, #4096 + beq .L123 + ldr r3, .L234+12 + ldr r0, .L234+40 + ldr r3, [r3, #1096] + ldrh r1, [r3, #14] + bl printk +.L123: + ldr r3, [r4] + tst r3, #4096 + beq .L124 + ldr r3, .L234+12 + ldr r0, .L234+44 + ldr r3, [r3, #1096] + ldrb r1, [r3, #23] @ zero_extendqisi2 + bl printk +.L124: + ldr r3, [r4] + tst r3, #4096 + beq .L125 + ldr r3, .L234+12 + ldr r0, .L234+48 + ldr r3, [r3, #1096] + ldrb r1, [r3, #18] @ zero_extendqisi2 + bl printk +.L125: + ldr r3, [r4] + tst r3, #4096 + beq .L126 + ldr r3, .L234+12 + ldr r0, .L234+52 + ldr r3, [r3, #1096] + ldrb r1, [r3, #19] @ zero_extendqisi2 + bl printk +.L126: + ldr r3, [r4] + tst r3, #4096 + beq .L127 + ldr r3, .L234+12 + ldr r0, .L234+56 + ldr r3, [r3, #1096] + ldrb r1, [r3, #20] @ zero_extendqisi2 + bl printk +.L127: + ldr r3, [r4] + tst r3, #4096 + beq .L128 + ldr r3, .L234+12 + ldr r0, .L234+60 + ldrb r1, [r3, #1100] @ zero_extendqisi2 + bl printk +.L128: + ldr r3, [r4] + tst r3, #4096 + beq .L129 + ldr r3, .L234+12 + ldr r0, .L234+64 + ldr r3, [r3, #1096] + ldrb r1, [r3, #22] @ zero_extendqisi2 + bl printk +.L129: + ldr r3, [r4] + tst r3, #4096 + beq .L130 + ldr r3, .L234+12 + ldr r0, .L234+68 + ldrb r1, [r3, #1101] @ zero_extendqisi2 + bl printk +.L130: + ldr r3, [r4] + tst r3, #4096 + beq .L131 + ldr r3, .L234+12 + ldr r0, .L234+72 + ldr r3, [r3, #1096] + ldrh r1, [r3, #16] + and r1, r1, #1 + bl printk +.L131: + ldr r3, [r4] + tst r3, #4096 + beq .L132 + ldr r3, .L234+12 + ldr r0, .L234+76 + ldr r3, [r3, #1096] + ldrh r1, [r3, #16] + ubfx r1, r1, #1, #1 + bl printk +.L132: + ldr r3, [r4] + tst r3, #4096 + beq .L133 + ldr r3, .L234+12 + ldr r0, .L234+80 + ldr r3, [r3, #1096] + ldrh r1, [r3, #16] + ubfx r1, r1, #2, #1 + bl printk +.L133: + ldr r3, [r4] + tst r3, #4096 + beq .L134 + ldr r3, .L234+12 + ldr r0, .L234+84 + ldr r3, [r3, #1096] + ldrh r1, [r3, #16] + ubfx r1, r1, #3, #1 + bl printk +.L134: + ldr r3, [r4] + tst r3, #4096 + beq .L135 + ldr r3, .L234+12 + ldr r0, .L234+88 + ldr r3, [r3, #1096] + ldrh r1, [r3, #16] + ubfx r1, r1, #4, #1 + bl printk +.L135: + ldr r3, [r4] + tst r3, #4096 + beq .L136 + ldr r3, .L234+12 + ldr r0, .L234+92 + ldr r3, [r3, #1096] + ldrh r1, [r3, #16] + ubfx r1, r1, #5, #1 + bl printk +.L136: + ldr r3, [r4] + tst r3, #4096 + beq .L137 + ldr r3, .L234+12 + ldr r0, .L234+96 + ldr r3, [r3, #1096] + ldrh r1, [r3, #16] + ubfx r1, r1, #6, #1 bl printk .L137: ldr r3, [r4] tst r3, #4096 beq .L138 - ldr r3, .L254+12 - ldr r0, .L254+20 + ldr r3, .L234+12 + ldr r0, .L234+100 ldr r3, [r3, #1096] - ldrb r1, [r3, #8] @ zero_extendqisi2 + ldrh r1, [r3, #16] + ubfx r1, r1, #7, #1 bl printk .L138: ldr r3, [r4] tst r3, #4096 beq .L139 - ldr r3, .L254+12 - ldr r0, .L254+24 + ldr r3, .L234+12 + ldr r0, .L234+104 ldr r3, [r3, #1096] - ldrb r1, [r3, #9] @ zero_extendqisi2 + ldrh r1, [r3, #16] + ubfx r1, r1, #8, #1 bl printk .L139: ldr r3, [r4] tst r3, #4096 beq .L140 - ldr r3, .L254+12 - ldr r0, .L254+28 + ldr r3, .L234+12 + ldr r0, .L234+108 ldr r3, [r3, #1096] - ldrh r1, [r3, #10] + ldrh r1, [r3, #16] + ubfx r1, r1, #9, #1 bl printk .L140: ldr r3, [r4] tst r3, #4096 beq .L141 - ldr r3, .L254+12 - ldr r0, .L254+32 + ldr r3, .L234+12 + ldr r0, .L234+112 ldr r3, [r3, #1096] - ldrb r1, [r3, #12] @ zero_extendqisi2 + ldrh r1, [r3, #16] + ubfx r1, r1, #10, #1 bl printk .L141: ldr r3, [r4] tst r3, #4096 beq .L142 - ldr r3, .L254+12 - ldr r0, .L254+36 - ldr r3, [r3, #1096] - ldrb r1, [r3, #13] @ zero_extendqisi2 + ldr r3, .L234+12 + ldr r0, .L234+116 + ldrb r1, [r3] @ zero_extendqisi2 + ldrb r2, [r3, #1102] @ zero_extendqisi2 bl printk .L142: ldr r3, [r4] tst r3, #4096 beq .L143 - ldr r3, .L254+12 - ldr r0, .L254+40 - ldr r3, [r3, #1096] - ldrh r1, [r3, #14] + ldr r3, .L234+12 + ldr r0, .L234+120 + ldrb r1, [r3, #1113] @ zero_extendqisi2 + ldrb r2, [r3, #1114] @ zero_extendqisi2 bl printk .L143: ldr r3, [r4] tst r3, #4096 beq .L144 - ldr r3, .L254+12 - ldr r0, .L254+44 - ldr r3, [r3, #1096] - ldrb r1, [r3, #23] @ zero_extendqisi2 + ldr r3, .L234+12 + ldr r0, .L234+124 + ldrb r1, [r3, #1111] @ zero_extendqisi2 + ldrb r2, [r3, #1112] @ zero_extendqisi2 bl printk .L144: ldr r3, [r4] tst r3, #4096 - beq .L145 - ldr r3, .L254+12 - ldr r0, .L254+48 - ldr r3, [r3, #1096] - ldrb r1, [r3, #18] @ zero_extendqisi2 - bl printk -.L145: - ldr r3, [r4] - tst r3, #4096 - beq .L146 - ldr r3, .L254+12 - ldr r0, .L254+52 - ldr r3, [r3, #1096] - ldrb r1, [r3, #19] @ zero_extendqisi2 - bl printk -.L146: - ldr r3, [r4] - tst r3, #4096 - beq .L147 - ldr r3, .L254+12 - ldr r0, .L254+56 - ldr r3, [r3, #1096] - ldrb r1, [r3, #20] @ zero_extendqisi2 - bl printk -.L147: - ldr r3, [r4] - tst r3, #4096 - beq .L148 - ldr r3, .L254+12 - ldr r0, .L254+60 - ldrb r1, [r3, #1100] @ zero_extendqisi2 - bl printk -.L148: - ldr r3, [r4] - tst r3, #4096 - beq .L149 - ldr r3, .L254+12 - ldr r0, .L254+64 - ldr r3, [r3, #1096] - ldrb r1, [r3, #22] @ zero_extendqisi2 - bl printk -.L149: - ldr r3, [r4] - tst r3, #4096 - beq .L150 - ldr r3, .L254+12 - ldr r0, .L254+68 - ldrb r1, [r3, #1101] @ zero_extendqisi2 - bl printk -.L150: - ldr r3, [r4] - tst r3, #4096 - beq .L151 - ldr r3, .L254+12 - ldr r0, .L254+72 - ldr r3, [r3, #1096] - ldrh r1, [r3, #16] - and r1, r1, #1 - bl printk -.L151: - ldr r3, [r4] - tst r3, #4096 - beq .L152 - ldr r3, .L254+12 - ldr r0, .L254+76 - ldr r3, [r3, #1096] - ldrh r1, [r3, #16] - ubfx r1, r1, #1, #1 - bl printk -.L152: - ldr r3, [r4] - tst r3, #4096 - beq .L153 - ldr r3, .L254+12 - ldr r0, .L254+80 - ldr r3, [r3, #1096] - ldrh r1, [r3, #16] - ubfx r1, r1, #2, #1 - bl printk -.L153: - ldr r3, [r4] - tst r3, #4096 - beq .L154 - ldr r3, .L254+12 - ldr r0, .L254+84 - ldr r3, [r3, #1096] - ldrh r1, [r3, #16] - ubfx r1, r1, #3, #1 - bl printk -.L154: - ldr r3, [r4] - tst r3, #4096 - beq .L155 - ldr r3, .L254+12 - ldr r0, .L254+88 - ldr r3, [r3, #1096] - ldrh r1, [r3, #16] - ubfx r1, r1, #4, #1 - bl printk -.L155: - ldr r3, [r4] - tst r3, #4096 - beq .L156 - ldr r3, .L254+12 - ldr r0, .L254+92 - ldr r3, [r3, #1096] - ldrh r1, [r3, #16] - ubfx r1, r1, #5, #1 - bl printk -.L156: - ldr r3, [r4] - tst r3, #4096 - beq .L157 - ldr r3, .L254+12 - ldr r0, .L254+96 - ldr r3, [r3, #1096] - ldrh r1, [r3, #16] - ubfx r1, r1, #6, #1 - bl printk -.L157: - ldr r3, [r4] - tst r3, #4096 - beq .L158 - ldr r3, .L254+12 - ldr r0, .L254+100 - ldr r3, [r3, #1096] - ldrh r1, [r3, #16] - ubfx r1, r1, #7, #1 - bl printk -.L158: - ldr r3, [r4] - tst r3, #4096 - beq .L159 - ldr r3, .L254+12 - ldr r0, .L254+104 - ldr r3, [r3, #1096] - ldrh r1, [r3, #16] - ubfx r1, r1, #8, #1 - bl printk -.L159: - ldr r3, [r4] - tst r3, #4096 - beq .L160 - ldr r3, .L254+12 - ldr r0, .L254+108 - ldr r3, [r3, #1096] - ldrh r1, [r3, #16] - ubfx r1, r1, #9, #1 - bl printk -.L160: - ldr r3, [r4] - tst r3, #4096 - beq .L161 - ldr r3, .L254+12 - ldr r0, .L254+112 - ldr r3, [r3, #1096] - ldrh r1, [r3, #16] - ubfx r1, r1, #10, #1 - bl printk -.L161: - ldr r3, [r4] - tst r3, #4096 - beq .L162 - ldr r3, .L254+12 - ldr r0, .L254+116 - ldrb r1, [r3] @ zero_extendqisi2 - ldrb r2, [r3, #1102] @ zero_extendqisi2 - bl printk -.L162: - ldr r3, [r4] - tst r3, #4096 - beq .L163 - ldr r3, .L254+12 - ldr r0, .L254+120 - ldrb r1, [r3, #1113] @ zero_extendqisi2 - ldrb r2, [r3, #1114] @ zero_extendqisi2 - bl printk -.L163: - ldr r3, [r4] - tst r3, #4096 - beq .L164 - ldr r3, .L254+12 - ldr r0, .L254+124 - ldrb r1, [r3, #1111] @ zero_extendqisi2 - ldrb r2, [r3, #1112] @ zero_extendqisi2 - bl printk -.L164: - ldr r3, [r4] - tst r3, #4096 - beq .L135 - ldr r3, .L254+12 - ldr r0, .L254+128 + beq .L115 + ldr r3, .L234+12 + ldr r0, .L234+128 ldrb r1, [r3, #1135] @ zero_extendqisi2 add sp, sp, #16 @ sp needed ldmfd sp!, {r4, lr} b printk -.L135: +.L115: add sp, sp, #16 @ sp needed ldmfd sp!, {r4, pc} -.L255: +.L235: .align 2 -.L254: +.L234: .word .LANCHOR2 .word .LC4 .word .LANCHOR1+44 @@ -1124,37 +1033,37 @@ nandc_init: .save {r4, r5, r6, r7, lr} .pad #20 sub sp, sp, #20 - ldr r5, .L276 + ldr r5, .L256 mov r3, #0 str r3, [sp, #12] mov r7, r0 ldr r3, [r5] tst r3, #4096 - beq .L257 - ldr r0, .L276+4 + beq .L237 + ldr r0, .L256+4 mov r2, r7 - ldr r1, .L276+8 + ldr r1, .L256+8 bl printk -.L257: - ldr r4, .L276+12 +.L237: + ldr r4, .L256+12 mov r3, #6 ldr r2, [r7, #352] - ldr r6, .L276+12 + ldr r6, .L256+12 strb r3, [r4, #1028] - ldr r3, .L276+16 + ldr r3, .L256+16 str r7, [r4, #1040] cmp r2, r3 ldr r2, [r7, #128] moveq r3, #8 streqb r3, [r4, #1028] - ldr r3, .L276+20 + ldr r3, .L256+20 cmp r2, r3 - ldr r2, .L276+24 + ldr r2, .L256+24 moveq r3, #9 streqb r3, [r4, #1028] ldrb r3, [r4, #1028] @ zero_extendqisi2 cmp r3, #9 - bne .L260 + bne .L240 mov r3, #1 strb r3, [r6, #1136] ldr r3, [sp, #12] @@ -1180,14 +1089,14 @@ nandc_init: str r3, [r0, #84] ldr r3, [r5] tst r3, #4096 - beq .L262 + beq .L242 ldr r1, [r0] ldr r2, [r0, #8] ldr r3, [r0, #80] ldr ip, [r0, #84] ldr r0, [r0, #88] - b .L275 -.L260: + b .L255 +.L240: ldr r3, [sp, #12] mov r1, #0 strb r1, [r6, #1136] @@ -1215,19 +1124,19 @@ nandc_init: ldr r3, [r5] tst r3, #4096 str r0, [r6, #1140] - beq .L262 + beq .L242 ldr r0, [r6, #1040] ldr r1, [r0] ldr r2, [r0, #344] ldr r3, [r0, #304] ldr ip, [r0, #308] ldr r0, [r0, #312] -.L275: +.L255: str r0, [sp, #4] str ip, [sp] - ldr r0, .L276+28 + ldr r0, .L256+28 bl printk -.L262: +.L242: movw r2, #1170 mov r3, #1 strb r3, [r4, #1168] @@ -1236,18 +1145,18 @@ nandc_init: strb r3, [r4, #1172] ldr r3, [r5] tst r3, #4096 - beq .L256 - ldr r3, .L276+12 - ldr r0, .L276+32 + beq .L236 + ldr r3, .L256+12 + ldr r0, .L256+32 ldrb r1, [r3, #1028] @ zero_extendqisi2 bl printk -.L256: +.L236: add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, pc} -.L277: +.L257: .align 2 -.L276: +.L256: .word .LANCHOR2 .word .LC34 .word .LANCHOR1+68 @@ -1264,22 +1173,22 @@ nandc_init: .type timer_delay_ns, %function timer_delay_ns: .fnstart - @ args = 0, pretend = 0, frame = 8 + @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - .pad #8 - sub sp, sp, #8 - mov r0, r0, lsr #4 - str r0, [sp, #4] -.L279: - ldr r3, [sp, #4] - cmp r3, #0 - sub r2, r3, #1 - str r2, [sp, #4] - bne .L279 - add sp, sp, #8 - @ sp needed - bx lr + ldr r3, .L259 + add r0, r0, #996 + add r0, r0, #3 + umull r0, r1, r0, r3 + ldr r3, .L259+4 + ldr r3, [r3, #8] + mov r0, r1, lsr #6 + bx r3 @ indirect register sibling call +.L260: + .align 2 +.L259: + .word 274877907 + .word arm_delay_ops .fnend .size timer_delay_ns, .-timer_delay_ns .align 2 @@ -1311,16 +1220,16 @@ toshiba_set_rr_para: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, lr} .save {r4, r5, r6, r7, r8, r9, r10, lr} add r8, r1, r1, asl #2 - ldr r9, .L294 + ldr r9, .L273 mov r5, r0 - ldr r7, .L294+4 + ldr r7, .L273+4 mov r6, r1 add r10, r9, #80 mov r4, #0 -.L285: +.L264: ldrb r3, [r7, #1174] @ zero_extendqisi2 cmp r4, r3 - bcs .L293 + bcs .L272 mov r3, #85 str r3, [r5, #8] ldrsb r3, [r4, r10] @@ -1331,25 +1240,25 @@ toshiba_set_rr_para: cmp r3, #34 addeq r3, r4, r8 addeq r3, r10, r3 - beq .L292 + beq .L271 cmp r3, #35 addne r3, r9, r6 ldrnesb r3, [r3, #224] - bne .L291 - ldr r3, .L294+8 + bne .L270 + ldr r3, .L273+8 add r2, r4, r8 add r3, r3, r2 -.L292: +.L271: ldrsb r3, [r3, #5] -.L291: +.L270: str r3, [r5] add r4, r4, #1 - b .L285 -.L293: + b .L264 +.L272: ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc} -.L295: +.L274: .align 2 -.L294: +.L273: .word .LANCHOR1 .word .LANCHOR0 .word .LANCHOR1+128 @@ -1364,7 +1273,7 @@ hynix_set_rr_para: stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, lr} .save {r3, r4, r5, r6, r7, r8, r9, lr} mov r5, r0, asl #8 - ldr r3, .L303 + ldr r3, .L282 ldr r4, [r3, #1176] ldr r7, [r3, #1040] add lr, r4, #128 @@ -1384,24 +1293,24 @@ hynix_set_rr_para: add r1, r1, #32 add r3, r3, r1 sub r4, r3, #1 -.L299: +.L278: cmp r9, r8 - beq .L302 + beq .L281 ldrb r3, [r9, #1]! @ zero_extendqisi2 mov r0, #120 str r3, [r6, #2052] bl timer_delay_ns ldrsb r3, [r4, #1]! str r3, [r6, #2048] - b .L299 -.L302: + b .L278 +.L281: add r5, r7, r5 mov r3, #22 str r3, [r5, #2056] ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, pc} -.L304: +.L283: .align 2 -.L303: +.L282: .word .LANCHOR0 .fnend .size hynix_set_rr_para, .-hynix_set_rr_para @@ -1414,7 +1323,7 @@ hynix_reconfig_rr_para: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} - ldr r5, .L311 + ldr r5, .L290 ldrb r2, [r5, #1173] @ zero_extendqisi2 sub r2, r2, #1 cmp r2, #7 @@ -1432,9 +1341,9 @@ hynix_reconfig_rr_para: add r4, r2, r4 strb r3, [r4, #120] ldmfd sp!, {r3, r4, r5, pc} -.L312: +.L291: .align 2 -.L311: +.L290: .word .LANCHOR0 .fnend .size hynix_reconfig_rr_para, .-hynix_reconfig_rr_para @@ -1446,7 +1355,7 @@ nandc_set_ddr_para: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L316 + ldr r3, .L295 ldrb r2, [r3, #1028] @ zero_extendqisi2 ldr r3, [r3, #1040] cmp r2, #9 @@ -1457,9 +1366,9 @@ nandc_set_ddr_para: streq r0, [r3, #80] strne r0, [r3, #304] bx lr -.L317: +.L296: .align 2 -.L316: +.L295: .word .LANCHOR0 .fnend .size nandc_set_ddr_para, .-nandc_set_ddr_para @@ -1471,7 +1380,7 @@ nandc_get_ddr_para: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L322 + ldr r3, .L301 ldrb r2, [r3, #1028] @ zero_extendqisi2 ldr r3, [r3, #1040] cmp r2, #9 @@ -1479,9 +1388,9 @@ nandc_get_ddr_para: ldrne r0, [r3, #304] ubfx r0, r0, #8, #8 bx lr -.L323: +.L302: .align 2 -.L322: +.L301: .word .LANCHOR0 .fnend .size nandc_get_ddr_para, .-nandc_get_ddr_para @@ -1493,12 +1402,12 @@ nandc_set_if_mode: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r1, .L332 + ldr r1, .L311 ands ip, r0, #6 ldr r3, [r1, #1040] ldr r2, [r3] bfieq r2, ip, #13, #1 - beq .L328 + beq .L307 orr r2, r2, #24576 ldrb r1, [r1, #1028] @ zero_extendqisi2 bfc r2, #15, #1 @@ -1507,7 +1416,7 @@ nandc_set_if_mode: movw r0, #8321 orrne r2, r2, #32768 cmp r1, #9 - ldr r1, .L332+4 + ldr r1, .L311+4 streq r0, [r3, #8] strne r0, [r3, #344] streq r1, [r3, #80] @@ -1520,12 +1429,12 @@ nandc_set_if_mode: movne r1, #39 streq r1, [r3, #84] strne r1, [r3, #308] -.L328: +.L307: str r2, [r3] bx lr -.L333: +.L312: .align 2 -.L332: +.L311: .word .LANCHOR0 .word 1052675 .fnend @@ -1538,7 +1447,7 @@ nandc_cs: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L335 + ldr r3, .L314 mov r2, #1 mov r0, r2, asl r0 ldr r1, [r3, #1040] @@ -1546,9 +1455,9 @@ nandc_cs: bfi r3, r0, #0, #8 str r3, [r1] bx lr -.L336: +.L315: .align 2 -.L335: +.L314: .word .LANCHOR0 .fnend .size nandc_cs, .-nandc_cs @@ -1560,16 +1469,16 @@ nandc_de_cs: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L338 + ldr r3, .L317 ldr r2, [r3, #1040] ldr r3, [r2] bfc r3, #0, #8 bfc r3, #17, #1 str r3, [r2] bx lr -.L339: +.L318: .align 2 -.L338: +.L317: .word .LANCHOR0 .fnend .size nandc_de_cs, .-nandc_de_cs @@ -1584,18 +1493,18 @@ flash_wait_device_ready_raw: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #12 mov r6, r0 - ldr r4, .L349 + ldr r4, .L328 mov r5, r1 mov r7, r2 ldrb r3, [r4, #1101] @ zero_extendqisi2 cmp r3, r0 - bhi .L341 - ldr r1, .L349+4 - movw r2, #805 - ldr r0, .L349+8 + bhi .L320 + ldr r1, .L328+4 + mov r2, #812 + ldr r0, .L328+8 bl printk bl dump_stack -.L341: +.L320: add r6, r4, r6 ldr r3, [r4, #1040] mov r9, r5, lsr #16 @@ -1605,7 +1514,7 @@ flash_wait_device_ready_raw: mov r2, r5, lsr #8 str r2, [sp] add r8, r3, r6, asl #8 -.L343: +.L322: mov r0, r6 bl nandc_cs str fp, [r8, #2056] @@ -1632,14 +1541,14 @@ flash_wait_device_ready_raw: cmp r0, r7 orrne r1, r1, #1 cmp r1, #0 - bne .L343 + bne .L322 mov r0, r2 add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L350: +.L329: .align 2 -.L349: +.L328: .word .LANCHOR0 .word .LANCHOR1+232 .word .LC0 @@ -1655,7 +1564,7 @@ flash_wait_device_ready: stmfd sp!, {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} mov r3, #1 - ldr r6, .L363 + ldr r6, .L342 tst r0, #50331648 mov r8, r1 ldrb r2, [r6, #1189] @ zero_extendqisi2 @@ -1667,36 +1576,36 @@ flash_wait_device_ready: and r5, r3, r0, asr r5 and r4, r4, r0 uxtb r5, r5 - bne .L352 + bne .L331 ldrb r3, [r6] @ zero_extendqisi2 cmp r3, #0 - beq .L353 + beq .L332 ldrb r3, [r6, #1] @ zero_extendqisi2 cmp r3, #0 - beq .L352 -.L353: + beq .L331 +.L332: ldrh r7, [r6, #2] mov r0, r4 mov r1, r7 bl __aeabi_uidiv ldrb r3, [r6, #1] @ zero_extendqisi2 cmp r3, #0 - ldreq r3, .L363 + ldreq r3, .L342 mul r0, r7, r0 rsb r4, r0, r4 mov r4, r4, asl #1 addeq r4, r3, r4 ldreqh r4, [r4, #4] add r4, r4, r0 -.L352: +.L331: mov r0, r5 mov r1, r4 mov r2, r8 ldmfd sp!, {r4, r5, r6, r7, r8, lr} b flash_wait_device_ready_raw -.L364: +.L343: .align 2 -.L363: +.L342: .word .LANCHOR0 .fnend .size flash_wait_device_ready, .-flash_wait_device_ready @@ -1710,30 +1619,30 @@ nandc_wait_flash_ready_no_delay: stmfd sp!, {r0, r1, r2, r4, r5, lr} .save {r4, r5, lr} .pad #12 - ldr r4, .L371 - ldr r5, .L371+4 -.L367: + ldr r4, .L350 + ldr r5, .L350+4 +.L346: ldr r3, [r5, #1040] ldr r3, [r3] str r3, [sp, #4] ldr r3, [sp, #4] tst r3, #512 - bne .L368 + bne .L347 mov r0, #10 bl timer_delay_ns subs r4, r4, #1 - bne .L367 + bne .L346 mvn r0, #0 - b .L366 -.L368: + b .L345 +.L347: mov r0, #0 -.L366: +.L345: add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, pc} -.L372: +.L351: .align 2 -.L371: +.L350: .word 100000 .word .LANCHOR0 .fnend @@ -1747,38 +1656,39 @@ zftl_flash_enter_slc_mode: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} - ldr r3, .L393 + ldr r3, .L371 ldrb r2, [r3] @ zero_extendqisi2 cmp r2, #0 ldmeqfd sp!, {r3, r4, r5, r6, r7, pc} cmp r2, #1 ldr r5, [r3, #1040] - bne .L376 - ldr r3, .L393+4 + bne .L355 + ldr r3, .L371+4 ldrb r3, [r3, #33] @ zero_extendqisi2 cmp r3, #0 addne r0, r5, r0, asl #8 strne r3, [r0, #2056] ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L376: +.L355: cmp r2, #2 mov r4, r0 - bne .L378 + bne .L357 add r3, r3, r0 ldrb r2, [r3, #1192] @ zero_extendqisi2 cmp r2, #0 ldmeqfd sp!, {r3, r4, r5, r6, r7, pc} - ldr r6, .L393+4 + ldr r6, .L371+4 mov r2, #0 strb r2, [r3, #1192] ldrb r3, [r6, #33] @ zero_extendqisi2 cmp r3, r2 ldmeqfd sp!, {r3, r4, r5, r6, r7, pc} bl nandc_wait_flash_ready_no_delay - add r4, r5, r4, asl #8 ldrb r3, [r6, #33] @ zero_extendqisi2 - b .L392 -.L378: + add r4, r5, r4, asl #8 + str r3, [r4, #2056] + ldmfd sp!, {r3, r4, r5, r6, r7, pc} +.L357: cmp r2, #3 ldmnefd sp!, {r3, r4, r5, r6, r7, pc} add r6, r3, r0 @@ -1804,12 +1714,13 @@ zftl_flash_enter_slc_mode: bl timer_delay_ns bl nandc_wait_flash_ready_no_delay mov r3, #218 -.L392: + mov r0, #50 str r3, [r4, #2056] - ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L394: + ldmfd sp!, {r3, r4, r5, r6, r7, lr} + b timer_delay_ns +.L372: .align 2 -.L393: +.L371: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -1821,7 +1732,7 @@ zftl_flash_exit_slc_mode: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L417 + ldr r3, .L394 stmfd sp!, {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} ldrb r4, [r3] @ zero_extendqisi2 @@ -1829,22 +1740,22 @@ zftl_flash_exit_slc_mode: ldmeqfd sp!, {r4, r5, r6, r7, r8, pc} cmp r4, #1 ldr r7, [r3, #1040] - bne .L398 - ldr r3, .L417+4 + bne .L376 + ldr r3, .L394+4 ldrb r3, [r3, #34] @ zero_extendqisi2 cmp r3, #0 addne r0, r7, r0, asl #8 strne r3, [r0, #2056] ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L398: +.L376: cmp r4, #2 mov r5, r0 - bne .L400 + bne .L378 add r3, r3, r0 ldrb r2, [r3, #1192] @ zero_extendqisi2 cmp r2, #0 ldmnefd sp!, {r4, r5, r6, r7, r8, pc} - ldr r4, .L417+4 + ldr r4, .L394+4 ldrb r2, [r4, #16] @ zero_extendqisi2 cmp r2, #2 movne r2, #4 @@ -1853,17 +1764,18 @@ zftl_flash_exit_slc_mode: cmp r3, #0 ldmeqfd sp!, {r4, r5, r6, r7, r8, pc} bl nandc_wait_flash_ready_no_delay - add r5, r7, r5, asl #8 ldrb r3, [r4, #34] @ zero_extendqisi2 - b .L416 -.L400: + add r5, r7, r5, asl #8 + str r3, [r5, #2056] + ldmfd sp!, {r4, r5, r6, r7, r8, pc} +.L378: cmp r4, #3 ldmnefd sp!, {r4, r5, r6, r7, r8, pc} add r4, r3, r0 ldrb r3, [r4, #1192] @ zero_extendqisi2 cmp r3, #0 ldmnefd sp!, {r4, r5, r6, r7, r8, pc} - ldr r8, .L417+4 + ldr r8, .L394+4 bl nandc_wait_flash_ready_no_delay mov r5, r5, asl #8 mov r0, #100 @@ -1892,12 +1804,13 @@ zftl_flash_exit_slc_mode: bl timer_delay_ns bl nandc_wait_flash_ready_no_delay mov r3, #223 -.L416: + mov r0, #50 str r3, [r5, #2056] - ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L418: + ldmfd sp!, {r4, r5, r6, r7, r8, lr} + b timer_delay_ns +.L395: .align 2 -.L417: +.L394: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -1912,7 +1825,7 @@ flash_start_page_read: stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} mvn r2, #0 - ldr r7, .L434 + ldr r7, .L411 mov r5, r0 mov r8, r1 ldrb r3, [r7, #1189] @ zero_extendqisi2 @@ -1922,15 +1835,15 @@ flash_start_page_read: ldrb r3, [r7, #1101] @ zero_extendqisi2 uxtb r4, r2 cmp r3, r4 - bhi .L420 - ldr r1, .L434+4 - movw r2, #1001 - ldr r0, .L434+8 + bhi .L397 + ldr r1, .L411+4 + movw r2, #1013 + ldr r0, .L411+8 bl printk bl dump_stack -.L420: +.L397: ldrb r3, [r7, #1101] @ zero_extendqisi2 - ldr r9, .L434 + ldr r9, .L411 cmp r3, r4 ldmlsfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} add r4, r9, r4 @@ -1943,43 +1856,43 @@ flash_start_page_read: mov r10, fp, asl #8 bl nandc_cs cmp r8, #0 - bne .L422 + bne .L399 mov r0, r6 bl slc_phy_page_address_calc ldrb r3, [r9] @ zero_extendqisi2 cmp r3, #0 mov r6, r0 - beq .L423 + beq .L400 mov r0, fp bl zftl_flash_enter_slc_mode - b .L423 -.L422: + b .L400 +.L399: ldr r3, [r9, #1096] ldrb r3, [r3, #12] @ zero_extendqisi2 cmp r3, #3 - bne .L424 + bne .L401 ldrb r3, [r9, #1196] @ zero_extendqisi2 cmp r3, #0 - bne .L424 + bne .L401 ldrb r3, [r9, #1197] @ zero_extendqisi2 cmp r3, #0 addeq r3, r4, r10 streq r8, [r3, #2056] - beq .L423 -.L424: + beq .L400 +.L401: mov r0, fp bl zftl_flash_exit_slc_mode -.L423: +.L400: ldr r3, [r7, #1096] ldrb r2, [r3, #7] @ zero_extendqisi2 cmp r2, #1 - bne .L425 + bne .L402 ldrb r3, [r3, #12] @ zero_extendqisi2 cmp r3, #2 addeq r3, r4, r10 moveq r2, #38 streq r2, [r3, #2056] -.L425: +.L402: add r2, r4, r10 mov r3, #0 str r3, [r2, #2056] @@ -1998,9 +1911,9 @@ flash_start_page_read: add r3, r4, r10 str r5, [r3, #2056] ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L435: +.L412: .align 2 -.L434: +.L411: .word .LANCHOR0 .word .LANCHOR1+260 .word .LC0 @@ -2018,30 +1931,30 @@ nandc_wait_flash_ready: .pad #12 mov r0, #150 bl timer_delay_ns - ldr r4, .L442 - ldr r5, .L442+4 -.L438: + ldr r4, .L419 + ldr r5, .L419+4 +.L415: ldr r3, [r5, #1040] ldr r3, [r3] str r3, [sp, #4] ldr r3, [sp, #4] tst r3, #512 - bne .L439 + bne .L416 mov r0, #10 bl timer_delay_ns subs r4, r4, #1 - bne .L438 + bne .L415 mvn r0, #0 - b .L437 -.L439: + b .L414 +.L416: mov r0, #0 -.L437: +.L414: add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, pc} -.L443: +.L420: .align 2 -.L442: +.L419: .word 100000 .word .LANCHOR0 .fnend @@ -2063,15 +1976,15 @@ sandisk_set_rr_para: mov r0, #200 mov r4, r1 bl timer_delay_ns - ldr r0, .L452 - ldr r1, .L452+4 + ldr r0, .L429 + ldr r1, .L429+4 add r4, r4, r4, asl #2 sub ip, r0, #48 mov r2, #0 -.L445: +.L422: ldrb r3, [r1, #1174] @ zero_extendqisi2 cmp r2, r3 - bcs .L451 + bcs .L428 ldrb r3, [r1, #1173] @ zero_extendqisi2 cmp r3, #67 add r3, r2, r4 @@ -2080,13 +1993,13 @@ sandisk_set_rr_para: add r2, r2, #1 ldrsb r3, [r3, #5] str r3, [r5] - b .L445 -.L451: + b .L422 +.L428: ldmfd sp!, {r3, r4, r5, lr} b nandc_wait_flash_ready -.L453: +.L430: .align 2 -.L452: +.L429: .word .LANCHOR1+128 .word .LANCHOR0 .fnend @@ -2102,7 +2015,7 @@ toshiba_3d_set_tlc_rr_para: stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} rsb r1, r1, r1, asl #3 - ldr r5, .L456 + ldr r5, .L433 mov r6, #0 mov r7, #213 mvn r3, #118 @@ -2140,9 +2053,9 @@ toshiba_3d_set_tlc_rr_para: str r6, [r4] ldmfd sp!, {r3, r4, r5, r6, r7, lr} b nandc_wait_flash_ready -.L457: +.L434: .align 2 -.L456: +.L433: .word .LANCHOR1 .fnend .size toshiba_3d_set_tlc_rr_para, .-toshiba_3d_set_tlc_rr_para @@ -2160,7 +2073,7 @@ toshiba_3d_set_slc_rr_para: mov r3, #0 str r3, [r0, #4] str r2, [r0, #4] - ldr r2, .L459 + ldr r2, .L436 add r2, r2, r1 movw r1, #685 ldrsb r2, [r2, r1] @@ -2169,9 +2082,9 @@ toshiba_3d_set_slc_rr_para: str r3, [r0] str r3, [r0] b nandc_wait_flash_ready -.L460: +.L437: .align 2 -.L459: +.L436: .word .LANCHOR1 .fnend .size toshiba_3d_set_slc_rr_para, .-toshiba_3d_set_slc_rr_para @@ -2183,13 +2096,13 @@ toshiba_tlc_set_rr_para: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 cmp r2, #0 - ldr r3, .L465 + ldr r3, .L442 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r6, #239 mov r4, r0 str r6, [r0, #8] - beq .L462 + beq .L439 rsb r1, r1, r1, asl #3 mov r2, #18 add r5, r3, r1 @@ -2214,8 +2127,8 @@ toshiba_tlc_set_rr_para: str r3, [r4] mov r3, #0 str r3, [r4] - b .L463 -.L462: + b .L440 +.L439: add r3, r3, r1 mov r0, #20 str r0, [r4, #4] @@ -2224,12 +2137,12 @@ toshiba_tlc_set_rr_para: str r2, [r4] str r2, [r4] str r2, [r4] -.L463: +.L440: ldmfd sp!, {r4, r5, r6, lr} b nandc_wait_flash_ready -.L466: +.L443: .align 2 -.L465: +.L442: .word .LANCHOR2 .fnend .size toshiba_tlc_set_rr_para, .-toshiba_tlc_set_rr_para @@ -2243,7 +2156,7 @@ ymtc_3d_set_tlc_rr_para: stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} rsb r1, r1, r1, asl #3 - ldr r5, .L469 + ldr r5, .L446 mov r7, #239 mov r3, #160 str r7, [r0, #8] @@ -2287,9 +2200,9 @@ ymtc_3d_set_tlc_rr_para: str r6, [r4] ldmfd sp!, {r3, r4, r5, r6, r7, lr} b nandc_wait_flash_ready -.L470: +.L447: .align 2 -.L469: +.L446: .word .LANCHOR1 .fnend .size ymtc_3d_set_tlc_rr_para, .-ymtc_3d_set_tlc_rr_para @@ -2305,7 +2218,7 @@ ymtc_3d_set_slc_rr_para: str r3, [r0, #8] mov r3, #163 str r3, [r0, #4] - ldr r3, .L472 + ldr r3, .L449 ldrsb r3, [r3, r1] str r3, [r0] mov r3, #0 @@ -2313,9 +2226,9 @@ ymtc_3d_set_slc_rr_para: str r3, [r0] str r3, [r0] b nandc_wait_flash_ready -.L473: +.L450: .align 2 -.L472: +.L449: .word .LANCHOR1+1056 .fnend .size ymtc_3d_set_slc_rr_para, .-ymtc_3d_set_slc_rr_para @@ -2324,13 +2237,12 @@ ymtc_3d_set_slc_rr_para: .type flash_start_plane_read, %function flash_start_plane_read: .fnstart - @ args = 0, pretend = 0, frame = 8 + @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} - .pad #12 + stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} + .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r3, #1 - ldr r7, .L502 + ldr r7, .L479 ubfx r9, r0, #24, #2 ldrb r2, [r7, #1189] @ zero_extendqisi2 rsb r5, r2, #24 @@ -2344,63 +2256,60 @@ flash_start_plane_read: and r4, r4, r1 uxtb r5, r5 cmp r3, r5 - bhi .L475 - ldr r1, .L502+4 - movw r2, #1128 - ldr r0, .L502+8 + bhi .L452 + ldr r1, .L479+4 + movw r2, #1148 + ldr r0, .L479+8 bl printk bl dump_stack -.L475: +.L452: add r5, r7, r5 - ldr r3, .L502 ldr r8, [r7, #1040] - ldrb r10, [r5, #1180] @ zero_extendqisi2 - str r3, [sp, #4] - mov r0, r10 - mov fp, r10, asl #8 + ldr fp, .L479 + ldrb r5, [r5, #1180] @ zero_extendqisi2 + mov r0, r5 + mov r10, r5, asl #8 bl nandc_cs cmp r9, #0 - ldr r3, [sp, #4] - bne .L476 + bne .L453 mov r0, r6 bl slc_phy_page_address_calc mov r6, r0 mov r0, r4 bl slc_phy_page_address_calc - ldr r3, [sp, #4] + ldrb r3, [fp] @ zero_extendqisi2 + cmp r3, #0 mov r4, r0 - ldrb r3, [r3] @ zero_extendqisi2 - cmp r3, #0 - beq .L477 - mov r0, r10 + beq .L454 + mov r0, r5 bl zftl_flash_enter_slc_mode - b .L477 -.L476: - ldr r2, [r3, #1096] - ldrb r2, [r2, #12] @ zero_extendqisi2 - cmp r2, #3 - bne .L478 - ldrb r2, [r3, #1196] @ zero_extendqisi2 - cmp r2, #0 - bne .L478 - ldrb r3, [r3, #1197] @ zero_extendqisi2 + b .L454 +.L453: + ldr r3, [fp, #1096] + ldrb r3, [r3, #12] @ zero_extendqisi2 + cmp r3, #3 + bne .L455 + ldrb r3, [fp, #1196] @ zero_extendqisi2 cmp r3, #0 - addeq r3, r8, fp + bne .L455 + ldrb r3, [fp, #1197] @ zero_extendqisi2 + cmp r3, #0 + addeq r3, r8, r10 streq r9, [r3, #2056] - beq .L477 -.L478: - mov r0, r10 + beq .L454 +.L455: + mov r0, r5 bl zftl_flash_exit_slc_mode -.L477: +.L454: ldrb r2, [r7, #1119] @ zero_extendqisi2 uxtb ip, r6 - ldr r3, .L502 + ldr r3, .L479 mov r0, r6, lsr #8 cmp r2, #1 mov r1, r6, lsr #16 - bne .L479 + bne .L456 ldrb r2, [r3, #1111] @ zero_extendqisi2 - add r5, r8, fp + add r5, r8, r10 ldrb r3, [r3, #1188] @ zero_extendqisi2 str r2, [r5, #2056] mov r2, #0 @@ -2413,7 +2322,7 @@ flash_start_plane_read: str r0, [r5, #2052] str r1, [r5, #2052] strne r6, [r5, #2052] - add r6, r8, fp + add r6, r8, r10 str r3, [r6, #2056] bl nandc_wait_flash_ready ldr r3, [r7, #1096] @@ -2421,8 +2330,8 @@ flash_start_plane_read: adds r3, r9, #0 movne r3, #1 cmp r2, #3 - add r2, r8, fp - add fp, r8, fp + add r2, r8, r10 + add r10, r8, r10 movne r3, #0 cmp r3, #0 mov r3, #0 @@ -2441,22 +2350,22 @@ flash_start_plane_read: mov r3, #48 movne r4, r4, lsr #24 strne r4, [r5, #2052] - str r3, [fp, #2056] - b .L483 -.L479: + str r3, [r10, #2056] + ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} +.L456: ldr r2, [r3, #1096] ldrb r3, [r2, #7] @ zero_extendqisi2 cmp r3, #1 - bne .L484 + bne .L461 ldrb r3, [r2, #12] @ zero_extendqisi2 cmp r3, #2 - addeq r3, r8, fp + addeq r3, r8, r10 moveq lr, #38 streq lr, [r3, #2056] -.L484: +.L461: ldrb lr, [r7, #1111] @ zero_extendqisi2 - add r3, r8, fp - add r8, r8, fp + add r3, r8, r10 + add r8, r8, r10 str lr, [r3, #2056] str ip, [r3, #2052] str r0, [r3, #2052] @@ -2478,15 +2387,10 @@ flash_start_plane_read: str r4, [r3, #2052] mov r3, #48 str r3, [r8, #2056] -.L483: - mov r0, r10 - add sp, sp, #12 - @ sp needed - ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} - b nandc_de_cs -.L503: + ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} +.L480: .align 2 -.L502: +.L479: .word .LANCHOR0 .word .LANCHOR1+1068 .word .LC0 @@ -2502,17 +2406,17 @@ flash_set_interface_mode: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, lr} .save {r4, r5, r6, r7, r8, r9, r10, lr} mov r8, r0 - ldr r6, .L538 + ldr r6, .L515 mov r9, #0 - ldr r10, .L538+4 + ldr r10, .L515+4 mov r7, r6 -.L516: - ldr r3, .L538+8 +.L493: + ldr r3, .L515+8 ldr r5, [r6, #1040] ldrb r4, [r3, r9, asl #3] @ zero_extendqisi2 cmp r4, #69 cmpne r4, #152 - beq .L505 + beq .L482 cmp r4, #137 cmpne r4, #44 moveq r3, #1 @@ -2520,45 +2424,45 @@ flash_set_interface_mode: cmp r4, #155 orreq r3, r3, #1 cmp r3, #0 - beq .L506 -.L505: + beq .L483 +.L482: cmp r8, #1 ldrb r1, [r7, #1232] @ zero_extendqisi2 - bne .L507 + bne .L484 tst r1, #1 - beq .L506 + beq .L483 ldr r3, [r10] tst r3, #4096 - beq .L508 - ldr r0, .L538+12 + beq .L485 + ldr r0, .L515+12 bl printk -.L508: +.L485: mov r2, r9, asl #8 cmp r4, #44 cmpne r4, #137 add r3, r5, r2 mov r1, #239 str r1, [r3, #2056] - beq .L537 + beq .L514 cmp r4, #155 movne r1, #128 strne r1, [r3, #2052] movne r1, #1 - bne .L535 -.L537: + bne .L512 +.L514: mov r1, #1 str r1, [r3, #2052] mov r1, #5 - b .L535 -.L507: + b .L512 +.L484: tst r1, #4 - beq .L506 + beq .L483 ldr r3, [r10] tst r3, #4096 - beq .L512 - ldr r0, .L538+16 + beq .L489 + ldr r0, .L515+16 bl printk -.L512: +.L489: mov r2, r9, asl #8 cmp r4, #44 cmpne r4, #137 @@ -2570,30 +2474,30 @@ flash_set_interface_mode: moveq r1, #1 streq r1, [r3, #2052] moveq r1, #35 - beq .L535 + beq .L512 cmp r4, #155 moveq r1, #1 streq r1, [r3, #2052] moveq r1, #37 movne r0, #128 strne r0, [r3, #2052] -.L535: +.L512: add r5, r5, r2 str r1, [r3, #2048] mov r3, #0 str r3, [r5, #2048] str r3, [r5, #2048] str r3, [r5, #2048] -.L506: +.L483: add r9, r9, #1 cmp r9, #4 - bne .L516 + bne .L493 bl nandc_wait_flash_ready mov r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc} -.L539: +.L516: .align 2 -.L538: +.L515: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR0+1200 @@ -2609,15 +2513,15 @@ flash_reset: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L541 + ldr r3, .L518 mov r2, #255 ldr r3, [r3, #1040] add r0, r3, r0, asl #8 str r2, [r0, #2056] b nandc_wait_flash_ready -.L542: +.L519: .align 2 -.L541: +.L518: .word .LANCHOR0 .fnend .size flash_reset, .-flash_reset @@ -2632,7 +2536,7 @@ flash_read_id: .save {r4, r5, r6, lr} .pad #16 mov r6, r0 - ldr r3, .L546 + ldr r3, .L523 mov r4, r1 ldr r5, [r3, #1040] bl flash_reset @@ -2667,10 +2571,10 @@ flash_read_id: sub r3, r2, #1 uxtb r3, r3 cmp r3, #253 - bhi .L543 + bhi .L520 ldrb r1, [r4, #2] @ zero_extendqisi2 ldrb r3, [r4, #1] @ zero_extendqisi2 - ldr r0, .L546+4 + ldr r0, .L523+4 str r1, [sp] ldrb r1, [r4, #3] @ zero_extendqisi2 str r1, [sp, #4] @@ -2680,13 +2584,13 @@ flash_read_id: str r1, [sp, #12] add r1, r6, #1 bl printk -.L543: +.L520: add sp, sp, #16 @ sp needed ldmfd sp!, {r4, r5, r6, pc} -.L547: +.L524: .align 2 -.L546: +.L523: .word .LANCHOR0 .word .LC39 .fnend @@ -2701,8 +2605,8 @@ flash_read_spare: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r5, r2 - ldr r3, .L550 - ldr r2, .L550+4 + ldr r3, .L527 + ldr r2, .L527+4 ldrb r3, [r3, #13] @ zero_extendqisi2 ldr r4, [r2, #1040] mov r2, #0 @@ -2724,9 +2628,9 @@ flash_read_spare: ldr r3, [r4, #2048] strb r3, [r5] ldmfd sp!, {r3, r4, r5, pc} -.L551: +.L528: .align 2 -.L550: +.L527: .word .LANCHOR2 .word .LANCHOR0 .fnend @@ -2738,7 +2642,7 @@ flash_read_otp_data: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L556 + ldr r3, .L533 stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #12 @@ -2768,7 +2672,7 @@ flash_read_otp_data: ldr r2, [r4, #2048] ldr r3, [r4, #2048] ldr r1, [r4, #2048] - ldr r0, .L556+4 + ldr r0, .L533+4 str r1, [sp] mov r1, r5 bl printk @@ -2786,11 +2690,11 @@ flash_read_otp_data: str r3, [r4, #2056] bl nandc_wait_flash_ready add r3, r9, #16384 -.L553: +.L530: ldr r2, [r4, #2048] strb r2, [r9], #1 cmp r9, r3 - bne .L553 + bne .L530 add r7, r7, r10 mov r3, #239 mov r0, #50 @@ -2808,9 +2712,9 @@ flash_read_otp_data: @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} b nandc_de_cs -.L557: +.L534: .align 2 -.L556: +.L533: .word .LANCHOR0 .word .LC40 .fnend @@ -2822,11 +2726,11 @@ sandisk_prog_test_bad_block: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L573 + ldr r3, .L551 stmfd sp!, {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} mov r7, r0, asl #8 - ldr r6, .L573+4 + ldr r6, .L551+4 mov r8, r1 ldr r5, [r3, #1040] ldrb r4, [r6, #33] @ zero_extendqisi2 @@ -2851,28 +2755,30 @@ sandisk_prog_test_bad_block: str r3, [r4, #2056] bl nandc_wait_flash_ready mov r3, #112 - mov r0, #80 + mov r0, #200 str r3, [r4, #2056] bl timer_delay_ns ldr r2, [r4, #2048] + cmp r2, #255 + ldreq r2, [r4, #2048] ands r4, r2, #5 - beq .L561 + beq .L539 ldr r3, [r6] tst r3, #4096 - beq .L561 - ldr r0, .L573+8 + beq .L539 + ldr r0, .L551+8 mov r1, r8 bl printk -.L561: +.L539: ldrb r3, [r6, #34] @ zero_extendqisi2 mov r0, r4 cmp r3, #0 addne r5, r5, r7 strne r3, [r5, #2056] ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L574: +.L552: .align 2 -.L573: +.L551: .word .LANCHOR0 .word .LANCHOR2 .word .LC41 @@ -2886,7 +2792,7 @@ nandc_rdy_status: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L577 + ldr r3, .L555 .pad #8 sub sp, sp, #8 ldr r3, [r3, #1040] @@ -2897,9 +2803,9 @@ nandc_rdy_status: add sp, sp, #8 @ sp needed bx lr -.L578: +.L556: .align 2 -.L577: +.L555: .word .LANCHOR0 .fnend .size nandc_rdy_status, .-nandc_rdy_status @@ -2918,23 +2824,23 @@ nandc_bch_sel: ldr r2, [sp, #4] orr r2, r2, #1 str r2, [sp, #4] - ldr r2, .L592 + ldr r2, .L570 ldrb r1, [r2, #1028] @ zero_extendqisi2 strb r0, [r2, #1172] cmp r1, #9 - bne .L580 + bne .L558 ldr r1, [r2, #1040] cmp r0, #70 ldr r2, [sp, #4] str r2, [r1, #16] - beq .L581 + beq .L559 cmp r0, #60 moveq r3, #3 - beq .L581 + beq .L559 cmp r0, #40 moveq r3, #2 movne r3, #1 -.L581: +.L559: mov r2, #0 str r2, [sp] ldr r2, [sp] @@ -2946,8 +2852,8 @@ nandc_bch_sel: str r3, [sp] ldr r3, [sp] str r3, [r1, #32] - b .L579 -.L580: + b .L557 +.L558: ldr r1, [sp, #4] cmp r0, #16 ldr r2, [r2, #1040] @@ -2960,36 +2866,36 @@ nandc_bch_sel: ldr r3, [sp] bic r3, r3, #262144 str r3, [sp] - beq .L590 + beq .L568 ldr r3, [sp] cmp r0, #24 orreq r3, r3, #16 - beq .L591 + beq .L569 orr r3, r3, #262144 str r3, [sp] ldr r3, [sp] cmp r0, #40 orr r3, r3, #16 str r3, [sp] - bne .L584 -.L590: + bne .L562 +.L568: ldr r3, [sp] bic r3, r3, #16 -.L591: +.L569: str r3, [sp] -.L584: +.L562: ldr r3, [sp] orr r3, r3, #1 str r3, [sp] ldr r3, [sp] str r3, [r2, #12] -.L579: +.L557: add sp, sp, #8 @ sp needed bx lr -.L593: +.L571: .align 2 -.L592: +.L570: .word .LANCHOR0 .fnend .size nandc_bch_sel, .-nandc_bch_sel @@ -3002,7 +2908,7 @@ zftl_flash_resume: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, lr} .save {r3, r4, r5, r6, r7, r8, r9, lr} - ldr r4, .L605 + ldr r4, .L583 ldrb r3, [r4, #1028] @ zero_extendqisi2 ldr r2, [r4, #1044] cmp r3, #9 @@ -3012,7 +2918,7 @@ zftl_flash_resume: ldr r3, [r4, #1040] str r2, [r3, #4] ldr r2, [r4, #1052] - bne .L595 + bne .L573 str r2, [r3, #16] ldr r2, [r4, #1056] str r2, [r3, #32] @@ -3024,8 +2930,8 @@ zftl_flash_resume: str r2, [r3, #520] ldr r2, [r4, #1072] str r2, [r3, #8] - b .L596 -.L595: + b .L574 +.L573: str r2, [r3, #8] ldr r2, [r4, #1056] str r2, [r3, #12] @@ -3037,47 +2943,47 @@ zftl_flash_resume: str r2, [r3, #336] ldr r2, [r4, #1072] str r2, [r3, #344] -.L596: - ldr r6, .L605+4 +.L574: + ldr r6, .L583+4 mov r5, #0 mov r8, #2 sub r7, r6, #8 -.L598: +.L576: ldrb r3, [r6, r5, asl #3] @ zero_extendqisi2 sub r3, r3, #1 uxtb r3, r3 cmp r3, #253 - bhi .L597 + bhi .L575 uxtb r9, r5 mov r0, r9 bl flash_reset strb r8, [r5, r7] mov r0, r9 bl zftl_flash_enter_slc_mode -.L597: +.L575: add r5, r5, #1 cmp r5, #4 - bne .L598 + bne .L576 ldrb r3, [r4, #1135] @ zero_extendqisi2 cmp r3, #0 - beq .L599 + beq .L577 mov r0, #1 bl nandc_set_if_mode mov r0, r5 bl flash_set_interface_mode mov r0, r5 bl nandc_set_if_mode - ldr r3, .L605 + ldr r3, .L583 ldrb r0, [r3, #1061] @ zero_extendqisi2 bl nandc_set_ddr_para -.L599: - ldr r3, .L605+8 +.L577: + ldr r3, .L583+8 ldrb r0, [r3, #24] @ zero_extendqisi2 ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, lr} b nandc_bch_sel -.L606: +.L584: .align 2 -.L605: +.L583: .word .LANCHOR0 .word .LANCHOR0+1200 .word .LANCHOR2 @@ -3091,7 +2997,7 @@ rk_nandc_flash_ready: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L610 + ldr r3, .L588 ldrb r3, [r3, #1028] @ zero_extendqisi2 cmp r3, #9 ldreq r3, [r0, #292] @@ -3107,9 +3013,9 @@ rk_nandc_flash_ready: streq r3, [r0, #288] strne r3, [r0, #364] bx lr -.L611: +.L589: .align 2 -.L610: +.L588: .word .LANCHOR0 .fnend .size rk_nandc_flash_ready, .-rk_nandc_flash_ready @@ -3122,7 +3028,7 @@ nandc_iqr_wait_flash_ready: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, lr} .save {r4, lr} - ldr r4, .L619 + ldr r4, .L597 ldr r0, [r4, #1040] bl rk_nandc_rb_irq_flag_init ldrb r3, [r4, #1028] @ zero_extendqisi2 @@ -3142,10 +3048,10 @@ nandc_iqr_wait_flash_ready: strne r3, [r0, #364] ldr r3, [r0] tst r3, #512 - bne .L615 + bne .L593 ldmfd sp!, {r4, lr} b wait_for_nand_flash_ready -.L615: +.L593: ldrb r3, [r4, #1028] @ zero_extendqisi2 cmp r3, #9 ldreq r3, [r0, #292] @@ -3161,9 +3067,9 @@ nandc_iqr_wait_flash_ready: streq r3, [r0, #288] strne r3, [r0, #364] ldmfd sp!, {r4, pc} -.L620: +.L598: .align 2 -.L619: +.L597: .word .LANCHOR0 .fnend .size nandc_iqr_wait_flash_ready, .-nandc_iqr_wait_flash_ready @@ -3178,50 +3084,50 @@ flash_erase_duplane_block: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #12 mov r8, r3 - ldr fp, .L646 + ldr fp, .L624 mov r4, r0 mov r5, r1 mov r9, r2 ldrb r3, [fp, #1101] @ zero_extendqisi2 cmp r3, r0 - bhi .L622 - ldr r1, .L646+4 - mov r2, #688 - ldr r0, .L646+8 + bhi .L600 + ldr r1, .L624+4 + movw r2, #695 + ldr r0, .L624+8 bl printk bl dump_stack -.L622: +.L600: ldrb r2, [fp, #1101] @ zero_extendqisi2 - ldr r3, .L646 + ldr r3, .L624 cmp r2, r4 mvnls r0, #0 - bls .L623 + bls .L601 add r4, r3, r4 ldr r7, [r3, #1040] - ldr r3, .L646+12 + ldr r3, .L624+12 ldrb r6, [r4, #1180] @ zero_extendqisi2 ldr r3, [r3] add r10, r6, #8 tst r3, #16 add r10, r7, r10, asl #8 - beq .L624 - ldr r0, .L646+16 + beq .L602 + ldr r0, .L624+16 mov r1, r6 mov r2, r9 mov r3, r8 bl printk -.L624: +.L602: bl nandc_wait_flash_ready mov r0, r6 bl nandc_cs cmp r5, #0 mov r0, r6 - bne .L625 + bne .L603 bl zftl_flash_enter_slc_mode - b .L626 -.L625: + b .L604 +.L603: bl zftl_flash_exit_slc_mode -.L626: +.L604: mov r3, r6, asl #8 mov r2, #96 add r4, r7, r3 @@ -3239,7 +3145,7 @@ flash_erase_duplane_block: ldrb r2, [fp, #1233] @ zero_extendqisi2 cmp r2, #0 movne r5, #0 - bne .L628 + bne .L606 add r2, r7, r3 mov r1, #208 str r3, [sp, #4] @@ -3249,7 +3155,7 @@ flash_erase_duplane_block: bl flash_read_status ldr r3, [sp, #4] and r5, r0, #5 -.L628: +.L606: add r2, r7, r3 mov r1, #96 add r7, r7, r3 @@ -3275,20 +3181,20 @@ flash_erase_duplane_block: bl nandc_de_cs and r3, r4, #5 orrs r5, r3, r5 - beq .L630 - ldr r0, .L646+20 + beq .L608 + ldr r0, .L624+20 mov r1, r9 mov r2, r4 bl printk -.L630: +.L608: mov r0, r5 -.L623: +.L601: add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L647: +.L625: .align 2 -.L646: +.L624: .word .LANCHOR0 .word .LANCHOR1+1092 .word .LC0 @@ -3307,7 +3213,7 @@ flash_erase_block_en: stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} mvn r4, #0 - ldr r5, .L667 + ldr r5, .L645 mov r7, r0 mov fp, r1 mov r8, r2 @@ -3316,43 +3222,43 @@ flash_erase_block_en: bic r4, r2, r4, asl r3 ldrb r3, [r5, #1101] @ zero_extendqisi2 cmp r3, r0 - bhi .L649 - ldr r1, .L667+4 - movw r2, #750 - ldr r0, .L667+8 + bhi .L627 + ldr r1, .L645+4 + movw r2, #757 + ldr r0, .L645+8 bl printk bl dump_stack -.L649: +.L627: ldrb r2, [r5, #1101] @ zero_extendqisi2 - ldr r3, .L667 + ldr r3, .L645 cmp r2, r7 - bls .L656 + bls .L634 add r2, r3, r7 ldr r9, [r3, #1040] - ldr r3, .L667+12 + ldr r3, .L645+12 ldrb r6, [r2, #1180] @ zero_extendqisi2 ldr r3, [r3] add r10, r6, #8 tst r3, #16 add r10, r9, r10, asl #8 - beq .L651 - ldr r0, .L667+16 + beq .L629 + ldr r0, .L645+16 mov r1, r6 mov r2, r8 mov r3, fp bl printk -.L651: +.L629: bl nandc_wait_flash_ready mov r0, r6 bl nandc_cs cmp fp, #0 mov r0, r6 - bne .L652 + bne .L630 bl zftl_flash_enter_slc_mode - b .L653 -.L652: + b .L631 +.L630: bl zftl_flash_exit_slc_mode -.L653: +.L631: mov r2, r6, asl #8 mov r1, #96 add r3, r9, r2 @@ -3378,7 +3284,7 @@ flash_erase_block_en: mov r0, r6 bl nandc_de_cs ands r4, r4, #5 - beq .L655 + beq .L633 ldrh r1, [r5, #2] mov r0, r8 bl __aeabi_uidiv @@ -3386,17 +3292,17 @@ flash_erase_block_en: mov r1, r7 mvn r4, #0 mov r2, r0 - ldr r0, .L667+20 + ldr r0, .L645+20 bl printk -.L655: +.L633: mov r0, r4 ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L656: +.L634: mvn r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L668: +.L646: .align 2 -.L667: +.L645: .word .LANCHOR0 .word .LANCHOR1+1120 .word .LC0 @@ -3428,42 +3334,42 @@ flash_erase_all: stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, lr} .save {r3, r4, r5, r6, r7, r8, r9, lr} mov r6, #0 - ldr r3, .L678 - ldr r7, .L678+4 + ldr r3, .L656 + ldr r7, .L656+4 ldrb r4, [r3, #17] @ zero_extendqisi2 ldrh r3, [r3, #18] mov r8, r7 smulbb r4, r4, r3 uxth r4, r4 -.L671: +.L649: ldrb r2, [r7, #1101] @ zero_extendqisi2 uxth r3, r6 cmp r2, r3 - bls .L676 + bls .L654 add r3, r7, r3 mov r5, #0 ldrb r9, [r3, #1180] @ zero_extendqisi2 -.L672: +.L650: uxth r3, r5 cmp r3, r4 - bcs .L677 + bcs .L655 ldrh r1, [r8, #2] mov r0, r9 mul r1, r1, r5 bl flash_erase_block add r5, r5, #1 - b .L672 -.L677: + b .L650 +.L655: add r6, r6, #1 - b .L671 -.L676: - ldr r0, .L678+8 + b .L649 +.L654: + ldr r0, .L656+8 mov r1, #0 ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, lr} b printk -.L679: +.L657: .align 2 -.L678: +.L656: .word .LANCHOR2 .word .LANCHOR0 .word .LC46 @@ -3477,7 +3383,7 @@ rk_nandc_flash_xfer_completed: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L683 + ldr r3, .L661 ldrb r3, [r3, #1028] @ zero_extendqisi2 cmp r3, #9 ldreq r3, [r0, #292] @@ -3493,9 +3399,9 @@ rk_nandc_flash_xfer_completed: streq r3, [r0, #288] strne r3, [r0, #364] bx lr -.L684: +.L662: .align 2 -.L683: +.L661: .word .LANCHOR0 .fnend .size rk_nandc_flash_xfer_completed, .-rk_nandc_flash_xfer_completed @@ -3509,7 +3415,7 @@ nandc_xfer_start: stmfd sp!, {r4, r5, r6, r7, r8, r9, lr} .save {r4, r5, r6, r7, r8, r9, lr} mov r5, r0 - ldr r4, .L702 + ldr r4, .L680 mov r0, r2 .pad #20 sub sp, sp, #20 @@ -3517,7 +3423,7 @@ nandc_xfer_start: add lr, r1, #1 ldrb r2, [r4, #1028] @ zero_extendqisi2 cmp r2, #9 - bne .L686 + bne .L664 mov r2, #0 str r2, [sp, #4] ldr r2, [sp, #4] @@ -3550,13 +3456,13 @@ nandc_xfer_start: str r2, [sp, #4] ldrb r2, [r4, #1136] @ zero_extendqisi2 cmp r2, #0 - beq .L687 + beq .L665 ldrb r2, [r4, #1168] @ zero_extendqisi2 cmp r2, #0 ldrne r2, [sp, #4] orrne r2, r2, #512 strne r2, [sp, #4] -.L687: +.L665: ldr r1, [sp, #4] mov r2, r5 str r3, [r4, #1148] @@ -3620,8 +3526,8 @@ nandc_xfer_start: str r3, [sp, #4] ldr r3, [sp, #4] str r3, [r2, #16] - b .L685 -.L686: + b .L663 +.L664: ldr r2, [r4, #1040] mov ip, #0 cmp r5, ip @@ -3666,18 +3572,18 @@ nandc_xfer_start: orr lr, r6, lr, asl #22 str lr, [sp, #4] streq r2, [r3] - beq .L693 + beq .L671 ldrb r2, [r4, #1172] @ zero_extendqisi2 mov r1, r1, lsr #1 mov r6, ip cmp r2, #25 movcc r7, #64 movcs r7, #128 -.L691: +.L669: cmp r6, r1 add r3, r3, #4 add r8, ip, r7 - bge .L693 + bge .L671 ldrh lr, [r3, #-2] mov ip, ip, lsr #2 ldr r9, [r4, #1140] @@ -3686,8 +3592,8 @@ nandc_xfer_start: orr lr, r2, lr, asl #16 str lr, [r9, ip, asl #2] mov ip, r8 - b .L691 -.L693: + b .L669 +.L671: ldr r1, [sp, #4] mov r2, r5 ldr r3, [r4, #1140] @@ -3746,13 +3652,13 @@ nandc_xfer_start: str r2, [sp, #4] ldr r2, [sp, #4] str r2, [r3, #8] -.L685: +.L663: add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc} -.L703: +.L681: .align 2 -.L702: +.L680: .word .LANCHOR0 .fnend .size nandc_xfer_start, .-nandc_xfer_start @@ -3764,14 +3670,14 @@ nandc_set_seed: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r2, .L711 + ldr r2, .L689 and r0, r0, #127 - ldr r3, .L711+4 + ldr r3, .L689+4 mov r0, r0, asl #1 ldrb r1, [r2, #1168] @ zero_extendqisi2 ldrh r3, [r3, r0] cmp r1, #0 - ldr r1, .L711 + ldr r1, .L689 ldrb r2, [r2, #1028] @ zero_extendqisi2 orrne r3, r3, #-1073741824 cmp r2, #9 @@ -3779,9 +3685,9 @@ nandc_set_seed: streq r3, [r2, #520] strne r3, [r2, #336] bx lr -.L712: +.L690: .align 2 -.L711: +.L689: .word .LANCHOR0 .word .LANCHOR1+1144 .fnend @@ -3796,49 +3702,49 @@ zftl_flash_de_init: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} bl nandc_wait_flash_ready - ldr r4, .L733 + ldr r4, .L711 ldrb r3, [r4] @ zero_extendqisi2 cmp r3, #0 - beq .L714 + beq .L692 ldrb r0, [r4, #1102] @ zero_extendqisi2 cmp r0, #0 - bne .L714 + bne .L692 ldrb r3, [r4, #1028] @ zero_extendqisi2 cmp r3, #9 - beq .L714 + beq .L692 bl zftl_flash_exit_slc_mode -.L714: +.L692: mov r0, #0 - ldr r5, .L733 + ldr r5, .L711 bl hynix_reconfig_rr_para ldrb r3, [r4, #1135] @ zero_extendqisi2 cmp r3, #0 - beq .L715 + beq .L693 ldrb r3, [r5, #1232] @ zero_extendqisi2 tst r3, #1 - beq .L715 + beq .L693 mov r0, #1 bl flash_set_interface_mode mov r0, #1 bl nandc_set_if_mode mov r3, #0 strb r3, [r5, #1135] -.L715: +.L693: ldrb r3, [r4, #1168] @ zero_extendqisi2 - ldr r5, .L733 + ldr r5, .L711 cmp r3, #0 - beq .L716 + beq .L694 mov r0, #0 strb r0, [r5, #1168] bl nandc_set_seed mov r3, #1 strb r3, [r5, #1168] -.L716: +.L694: mov r0, #0 ldmfd sp!, {r3, r4, r5, pc} -.L734: +.L712: .align 2 -.L733: +.L711: .word .LANCHOR0 .fnend .size zftl_flash_de_init, .-zftl_flash_de_init @@ -3850,12 +3756,12 @@ nandc_randomizer_enable: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L736 + ldr r3, .L714 strb r0, [r3, #1168] bx lr -.L737: +.L715: .align 2 -.L736: +.L714: .word .LANCHOR0 .fnend .size nandc_randomizer_enable, .-nandc_randomizer_enable @@ -3867,14 +3773,14 @@ nandc_get_chip_if: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L739 + ldr r3, .L717 add r0, r0, #8 ldr r3, [r3, #1040] add r0, r3, r0, asl #8 bx lr -.L740: +.L718: .align 2 -.L739: +.L717: .word .LANCHOR0 .fnend .size nandc_get_chip_if, .-nandc_get_chip_if @@ -3888,10 +3794,10 @@ zbuf_init: stmfd sp!, {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} mov r5, #0 - ldr r4, .L745 + ldr r4, .L723 mov r7, r5 - ldr r8, .L745+4 -.L742: + ldr r8, .L723+4 +.L720: ldrb r0, [r8, #2772] @ zero_extendqisi2 uxtb r3, r5 add r2, r3, #1 @@ -3902,23 +3808,23 @@ zbuf_init: strb r7, [r4, #2] str r7, [r4, #8] bl ftl_malloc - ldr r6, .L745+4 + ldr r6, .L723+4 add r4, r4, #48 str r0, [r4, #-44] mov r0, #64 bl ftl_malloc cmp r5, #32 str r0, [r4, #-36] - bne .L742 + bne .L720 mvn r3, #0 strb r5, [r6, #2774] strb r3, [r6, #2724] mov r3, #0 strb r3, [r6, #2773] ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L746: +.L724: .align 2 -.L745: +.L723: .word .LANCHOR0+1236 .word .LANCHOR0 .fnend @@ -3931,10 +3837,10 @@ buf_reinit: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r2, .L750 + ldr r2, .L728 mov r3, #0 mov r1, r3 -.L748: +.L726: uxtb r0, r3 add r3, r3, #1 cmp r3, #32 @@ -3944,17 +3850,17 @@ buf_reinit: strb ip, [r2, #-48] strb r1, [r2, #-46] str r1, [r2, #-40] - bne .L748 - ldr r2, .L750+4 + bne .L726 + ldr r2, .L728+4 mvn r1, #0 strb r3, [r2, #2774] strb r1, [r2, #2724] mov r1, #0 strb r1, [r2, #2773] bx lr -.L751: +.L729: .align 2 -.L750: +.L728: .word .LANCHOR0+1236 .word .LANCHOR0 .fnend @@ -3974,45 +3880,45 @@ buf_add_tail: ldrb r3, [r0] @ zero_extendqisi2 mov r5, r0 cmp r3, #255 - ldrne r2, .L760 + ldrne r2, .L738 movne r1, #48 - bne .L758 + bne .L736 ldrb r3, [r4, #1] @ zero_extendqisi2 cmp r3, #255 - bne .L754 - ldr r1, .L760+4 + bne .L732 + ldr r1, .L738+4 mov r2, #74 - ldr r0, .L760+8 + ldr r0, .L738+8 bl printk bl dump_stack -.L754: +.L732: ldrb r3, [r4, #1] @ zero_extendqisi2 strb r3, [r5] ldmfd sp!, {r3, r4, r5, pc} -.L758: +.L736: mov r5, r3 mla r3, r1, r3, r2 ldrb r3, [r3, #1236] @ zero_extendqisi2 cmp r3, #255 - bne .L758 + bne .L736 ldrb r3, [r4, #1] @ zero_extendqisi2 cmp r3, #255 - bne .L756 - ldr r1, .L760+4 + bne .L734 + ldr r1, .L738+4 mov r2, #81 - ldr r0, .L760+8 + ldr r0, .L738+8 bl printk bl dump_stack -.L756: - ldr r2, .L760 +.L734: + ldr r2, .L738 mov r1, #48 ldrb r3, [r4, #1] @ zero_extendqisi2 mla r5, r1, r5, r2 strb r3, [r5, #1236] ldmfd sp!, {r3, r4, r5, pc} -.L761: +.L739: .align 2 -.L760: +.L738: .word .LANCHOR0 .word .LANCHOR1+1400 .word .LC0 @@ -4033,16 +3939,16 @@ queue_read_cmd: mov r3, #1 mov r1, r4 strb r3, [r4, #42] - ldr r0, .L764 + ldr r0, .L742 mov r3, #0 strb r3, [r4, #43] mvn r3, #0 strb r3, [r4] ldmfd sp!, {r4, lr} b buf_add_tail -.L765: +.L743: .align 2 -.L764: +.L742: .word .LANCHOR0+2775 .fnend .size queue_read_cmd, .-queue_read_cmd @@ -4056,32 +3962,32 @@ zbuf_free: stmfd sp!, {r4, lr} .save {r4, lr} ldrb r3, [r0, #2] @ zero_extendqisi2 - ldr r4, .L776 + ldr r4, .L754 and r3, r3, #8 uxtb r3, r3 strb r3, [r0, #2] cmp r3, #0 - beq .L767 + beq .L745 ldr r3, [r0, #20] cmn r3, #1 - beq .L767 + beq .L745 mov r1, r0 - ldr r0, .L776+4 + ldr r0, .L754+4 bl buf_add_tail - b .L768 -.L767: + b .L746 +.L745: ldrb r3, [r4, #2773] @ zero_extendqisi2 strb r3, [r0] ldrb r3, [r0, #1] @ zero_extendqisi2 strb r3, [r4, #2773] -.L768: +.L746: ldrb r3, [r4, #2774] @ zero_extendqisi2 add r3, r3, #1 strb r3, [r4, #2774] ldmfd sp!, {r4, pc} -.L777: +.L755: .align 2 -.L776: +.L754: .word .LANCHOR0 .word .LANCHOR0+2773 .fnend @@ -4096,36 +4002,36 @@ buf_alloc: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r5, r0 - ldr r4, .L789 + ldr r4, .L767 ldrb r3, [r4, #2774] @ zero_extendqisi2 cmp r3, #0 - beq .L779 -.L782: + beq .L757 +.L760: ldrb r1, [r4, #2773] @ zero_extendqisi2 cmp r5, #0 - ldr r3, .L789+4 + ldr r3, .L767+4 mov r0, #48 mla r0, r0, r1, r3 - beq .L780 - b .L781 -.L779: - ldr r1, .L789+8 + beq .L758 + b .L759 +.L757: + ldr r1, .L767+8 mov r2, #121 - ldr r0, .L789+12 + ldr r0, .L767+12 bl printk bl dump_stack ldrb r3, [r4, #2774] @ zero_extendqisi2 cmp r3, #0 - bne .L782 -.L784: + bne .L760 +.L762: mov r0, #0 ldmfd sp!, {r3, r4, r5, pc} -.L780: - ldr r2, .L789 +.L758: + ldr r2, .L767 ldrb r2, [r2, #2774] @ zero_extendqisi2 cmp r2, #1 - beq .L784 -.L781: + beq .L762 +.L759: mov r2, #48 mul r1, r2, r1 add r2, r4, r1 @@ -4146,9 +4052,9 @@ buf_alloc: strb ip, [r2, #1236] str ip, [r2, #1256] ldmfd sp!, {r3, r4, r5, pc} -.L790: +.L768: .align 2 -.L789: +.L767: .word .LANCHOR0 .word .LANCHOR0+1236 .word .LANCHOR1+1416 @@ -4165,25 +4071,25 @@ buf_remove_buf: ldrb ip, [r1, #1] @ zero_extendqisi2 ldrb r3, [r0] @ zero_extendqisi2 cmp ip, r3 - bne .L792 + bne .L770 ldrb r3, [r1] @ zero_extendqisi2 strb r3, [r0] mov r0, #1 bx lr -.L792: - ldr r0, .L799 +.L770: + ldr r0, .L777 str lr, [sp, #-4]! .save {lr} mov lr, #48 -.L794: +.L772: cmp r3, #255 - beq .L798 + beq .L776 mov r2, r3 mla r3, lr, r3, r0 ldrb r3, [r3, #1236] @ zero_extendqisi2 cmp r3, ip - bne .L794 - ldr r0, .L799 + bne .L772 + ldr r0, .L777 mov ip, #48 ldrb r3, [r1] @ zero_extendqisi2 mla r2, ip, r2, r0 @@ -4192,12 +4098,12 @@ buf_remove_buf: mvn r3, #0 strb r3, [r1] ldr pc, [sp], #4 -.L798: +.L776: mov r0, #0 ldr pc, [sp], #4 -.L800: +.L778: .align 2 -.L799: +.L777: .word .LANCHOR0 .fnend .size buf_remove_buf, .-buf_remove_buf @@ -4208,25 +4114,25 @@ buf_remove_free: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L807 + ldr r3, .L785 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r5, r0 ldrb r2, [r3, #2774] @ zero_extendqisi2 mov r4, r3 cmp r2, #0 - bne .L802 - ldr r1, .L807+4 + bne .L780 + ldr r1, .L785+4 mov r2, #172 - ldr r0, .L807+8 + ldr r0, .L785+8 bl printk bl dump_stack -.L802: +.L780: ldrb r3, [r4, #2774] @ zero_extendqisi2 - ldr r6, .L807 + ldr r6, .L785 cmp r3, #0 ldmeqfd sp!, {r4, r5, r6, pc} - ldr r0, .L807+12 + ldr r0, .L785+12 mov r1, r5 bl buf_remove_buf cmp r0, #1 @@ -4237,9 +4143,9 @@ buf_remove_free: orreq r3, r3, #1 streqb r3, [r5, #2] ldmfd sp!, {r4, r5, r6, pc} -.L808: +.L786: .align 2 -.L807: +.L785: .word .LANCHOR0 .word .LANCHOR1+1428 .word .LC0 @@ -4257,28 +4163,28 @@ dump_buf_info: .save {r4, r5, lr} .pad #28 sub sp, sp, #28 - ldr r4, .L813 - ldr r0, .L813+4 + ldr r4, .L791 + ldr r0, .L791+4 ldrb r1, [r4, #2775] @ zero_extendqisi2 bl printk ldrb r1, [r4, #2776] @ zero_extendqisi2 - ldr r0, .L813+8 + ldr r0, .L791+8 bl printk ldrb r1, [r4, #2777] @ zero_extendqisi2 - ldr r0, .L813+12 + ldr r0, .L791+12 bl printk ldrb r1, [r4, #2778] @ zero_extendqisi2 - ldr r0, .L813+16 + ldr r0, .L791+16 bl printk ldrb r1, [r4, #2773] @ zero_extendqisi2 - ldr r0, .L813+20 + ldr r0, .L791+20 bl printk ldrb r1, [r4, #2774] @ zero_extendqisi2 - ldr r0, .L813+24 + ldr r0, .L791+24 bl printk - ldr r4, .L813+28 + ldr r4, .L791+28 add r5, r4, #1536 -.L810: +.L788: ldrh r0, [r4, #34] add r4, r4, #48 ldrb r1, [r4, #-47] @ zero_extendqisi2 @@ -4293,16 +4199,16 @@ dump_buf_info: str r0, [sp, #12] ldr r0, [r4, #-24] str r0, [sp, #16] - ldr r0, .L813+32 + ldr r0, .L791+32 bl printk cmp r4, r5 - bne .L810 + bne .L788 add sp, sp, #28 @ sp needed ldmfd sp!, {r4, r5, pc} -.L814: +.L792: .align 2 -.L813: +.L791: .word .LANCHOR0 .word .LC47 .word .LC48 @@ -4322,11 +4228,11 @@ flash_check_bad_block: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L816 + ldr r3, .L794 ldrb r2, [r3, #17] @ zero_extendqisi2 ldrh r3, [r3, #18] smulbb r3, r2, r3 - ldr r2, .L816+4 + ldr r2, .L794+4 ldr r2, [r2, #1176] uxth r3, r3 add r3, r3, #31 @@ -4342,9 +4248,9 @@ flash_check_bad_block: mov r0, r0, lsr r1 and r0, r0, #1 bx lr -.L817: +.L795: .align 2 -.L816: +.L794: .word .LANCHOR2 .word .LANCHOR0 .fnend @@ -4356,7 +4262,7 @@ flash_mask_bad_block: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L820 + ldr r3, .L798 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r5, r1 @@ -4364,11 +4270,11 @@ flash_mask_bad_block: mov r6, r0 ldrh r4, [r3, #18] mov r1, r6 - ldr r0, .L820+4 + ldr r0, .L798+4 smulbb r4, r2, r4 mov r2, r5 bl printk - ldr r3, .L820+8 + ldr r3, .L798+8 mov r2, r5, lsr #5 mov r1, #1 and r5, r5, #31 @@ -4385,9 +4291,9 @@ flash_mask_bad_block: orr r5, r3, r1, asl r5 str r5, [r4, r2, asl #2] ldmfd sp!, {r4, r5, r6, pc} -.L821: +.L799: .align 2 -.L820: +.L798: .word .LANCHOR2 .word .LC54 .word .LANCHOR0 @@ -4403,39 +4309,39 @@ str2hex: @ link register save eliminated. ldrb r3, [r0] @ zero_extendqisi2 cmp r3, #48 - bne .L823 + bne .L801 ldrb r3, [r0, #1] @ zero_extendqisi2 and r3, r3, #223 cmp r3, #88 addeq r0, r0, #2 -.L823: +.L801: ldrb r3, [r0] @ zero_extendqisi2 and r3, r3, #223 cmp r3, #88 addeq r0, r0, #1 sub r3, r0, #1 mov r0, #0 -.L825: +.L803: ldrb r2, [r3, #1]! @ zero_extendqisi2 cmp r2, #0 - beq .L834 + beq .L812 sub r1, r2, #48 uxtb ip, r1 cmp ip, #9 addls r0, r1, r0, asl #4 - bls .L825 + bls .L803 sub r1, r2, #97 cmp r1, #5 subls r2, r2, #87 - bls .L833 + bls .L811 sub r1, r2, #65 cmp r1, #5 bxhi lr sub r2, r2, #55 -.L833: +.L811: add r0, r2, r0, asl #4 - b .L825 -.L834: + b .L803 +.L812: bx lr .fnend .size str2hex, .-str2hex @@ -4452,15 +4358,15 @@ zftl_proc_debug_init: mov r2, #0 mov r1, #292 str r2, [sp] - ldr r3, .L837 - ldr r0, .L837+4 + ldr r3, .L815 + ldr r0, .L815+4 bl proc_create_data add sp, sp, #12 @ sp needed ldr pc, [sp], #4 -.L838: +.L816: .align 2 -.L837: +.L815: .word .LANCHOR1+1448 .word .LC55 .fnend @@ -4475,15 +4381,15 @@ ftl_print_info_to_buf: stmfd sp!, {r0, r1, r2, r3, r4, r5, r6, lr} .save {r4, r5, r6, lr} .pad #16 - mov r6, r0 - ldr r1, .L841 - ldr r2, .L841+4 + mov r5, r0 + ldr r1, .L819 + ldr r2, .L819+4 bl sprintf - ldr r1, .L841+8 - ldr r5, .L841+12 + ldr r1, .L819+8 + ldr r6, .L819+12 ldrb r3, [r1, #6] @ zero_extendqisi2 ldrb r2, [r1, #5] @ zero_extendqisi2 - add r4, r6, r0 + add r4, r5, r0 ldrb r0, [r1, #7] @ zero_extendqisi2 str r0, [sp] ldrb r0, [r1, #8] @ zero_extendqisi2 @@ -4493,203 +4399,207 @@ ftl_print_info_to_buf: mov r0, r4 ldrb r1, [r1, #10] @ zero_extendqisi2 str r1, [sp, #12] - ldr r1, .L841+16 + ldr r1, .L819+16 bl sprintf - ldr r2, [r5, #1032] - ldr r1, .L841+20 + ldr r2, [r6, #1032] + ldr r1, .L819+20 mov r2, r2, lsr #11 add r4, r4, r0 mov r0, r4 bl sprintf - ldr r2, [r5, #2780] - ldr r1, .L841+24 + ldr r2, [r6, #2780] + ldr r1, .L819+24 mov r2, r2, lsr #11 add r4, r4, r0 mov r0, r4 bl sprintf - ldr r1, .L841+28 + ldr r1, .L819+28 add r4, r4, r0 mov r0, r4 add r4, r4, #10 bl strcpy - ldr r2, [r5, #2784] + ldr r2, [r6, #2784] mov r0, r4 - ldr r1, .L841+32 + ldr r1, .L819+32 bl sprintf - ldr r2, [r5, #1032] - ldr r1, .L841+36 + ldr r2, [r6, #1032] + ldr r1, .L819+36 add r4, r4, r0 mov r0, r4 bl sprintf - ldr r3, [r5, #1092] - ldr r1, .L841+40 + ldr r3, [r6, #1092] + ldr r1, .L819+40 ldr r2, [r3, #524] add r4, r4, r0 mov r0, r4 bl sprintf - ldr r3, [r5, #1092] - ldr r1, .L841+44 + ldr r3, [r6, #1092] + ldr r1, .L819+44 ldr r2, [r3, #528] add r4, r4, r0 mov r0, r4 bl sprintf movw r3, #2788 - ldrh r2, [r5, r3] - ldr r1, .L841+48 + ldrh r2, [r6, r3] + ldr r1, .L819+48 add r4, r4, r0 mov r0, r4 bl sprintf movw r3, #2790 - ldrh r2, [r5, r3] - ldr r1, .L841+52 + ldrh r2, [r6, r3] + ldr r1, .L819+52 add r4, r4, r0 mov r0, r4 bl sprintf movw r3, #2792 - ldrh r2, [r5, r3] - ldr r1, .L841+56 + ldrh r2, [r6, r3] + ldr r1, .L819+56 add r4, r4, r0 mov r0, r4 bl sprintf movw r3, #2794 - ldrh r2, [r5, r3] - ldr r1, .L841+60 + ldrh r2, [r6, r3] + ldr r1, .L819+60 add r4, r4, r0 mov r0, r4 bl sprintf movw r3, #2796 - ldrh r2, [r5, r3] - ldr r1, .L841+64 + ldrh r2, [r6, r3] + ldr r1, .L819+64 add r4, r4, r0 mov r0, r4 bl sprintf movw r3, #2798 - ldrh r2, [r5, r3] - ldr r1, .L841+68 + ldrh r2, [r6, r3] + ldr r1, .L819+68 add r4, r4, r0 mov r0, r4 bl sprintf - ldrb r1, [r5, #2801] @ zero_extendqisi2 - ldrb r2, [r5, #2774] @ zero_extendqisi2 - ldrb r3, [r5, #2800] @ zero_extendqisi2 + ldrb r1, [r6, #2801] @ zero_extendqisi2 + ldrb r2, [r6, #2774] @ zero_extendqisi2 + ldrb r3, [r6, #2800] @ zero_extendqisi2 add r4, r4, r0 str r1, [sp] - ldr r1, .L841+72 + ldr r1, .L819+72 mov r0, r4 bl sprintf - ldr r3, [r5, #2804] - ldr r1, .L841+76 + ldr r3, [r6, #2804] + ldr r1, .L819+76 ldrh r2, [r3, #148] ldrh r3, [r3, #146] add r4, r4, r0 mov r0, r4 bl sprintf - ldr r3, [r5, #2804] - ldr r1, .L841+80 + ldr r3, [r6, #2804] + ldr r1, .L819+80 ldr r2, [r3, #16] ldr r3, [r3, #20] add r2, r3, r2, lsr #11 add r4, r4, r0 mov r0, r4 bl sprintf - ldr r3, [r5, #2804] - ldr r1, .L841+84 + ldr r3, [r6, #2804] + ldr r1, .L819+84 ldr r2, [r3, #24] ldr r3, [r3, #28] add r2, r3, r2, lsr #11 add r4, r4, r0 mov r0, r4 bl sprintf - ldr r3, [r5, #2804] - ldr r1, .L841+88 + ldr r3, [r6, #2804] + ldr r1, .L819+88 ldr r2, [r3, #64] add r4, r4, r0 mov r0, r4 bl sprintf - ldr r3, [r5, #2804] - ldr r1, .L841+92 + ldr r3, [r6, #2804] + ldr r1, .L819+92 ldr r2, [r3, #68] add r4, r4, r0 mov r0, r4 bl sprintf - ldr r3, [r5, #1092] - ldr r2, .L841+96 - ldr r1, .L841+100 + ldr r3, [r6, #1092] + ldr r2, .L819+96 + ldr r1, .L819+100 ldr r3, [r3, #12] umull r2, r3, r3, r2 mov r2, r3, lsr #3 add r4, r4, r0 mov r0, r4 bl sprintf - ldrb r2, [r5] @ zero_extendqisi2 - ldr r1, .L841+104 + ldr r3, [r6, #2804] + ldrb r2, [r6] @ zero_extendqisi2 + ldrh r1, [r3, #150] add r4, r4, r0 + str r1, [sp] + ldr r1, .L819+104 mov r0, r4 + ldr r3, [r3, #156] bl sprintf - ldr r3, [r5, #1092] - ldr r1, .L841+108 + ldr r3, [r6, #1092] + ldr r1, .L819+108 ldr r2, [r3, #556] add r4, r4, r0 mov r0, r4 bl sprintf - ldr r3, [r5, #1092] - ldr r1, .L841+112 + ldr r3, [r6, #1092] + ldr r1, .L819+112 ldr r2, [r3, #552] add r4, r4, r0 mov r0, r4 bl sprintf - ldr r3, [r5, #2804] - ldr r1, .L841+116 + ldr r3, [r6, #2804] + ldr r1, .L819+116 ldr r2, [r3, #52] add r4, r4, r0 mov r0, r4 bl sprintf - ldr r3, [r5, #2804] - ldr r1, .L841+120 + ldr r3, [r6, #2804] + ldr r1, .L819+120 ldr r2, [r3, #60] add r4, r4, r0 mov r0, r4 bl sprintf - ldr r3, [r5, #2804] - ldr r1, .L841+124 + ldr r3, [r6, #2804] + ldr r1, .L819+124 ldr r2, [r3, #76] add r4, r4, r0 mov r0, r4 bl sprintf - ldr r3, [r5, #2804] - ldr r1, .L841+128 + ldr r3, [r6, #2804] + ldr r1, .L819+128 ldr r2, [r3, #8] add r4, r4, r0 mov r0, r4 bl sprintf - ldr r1, [r5, #1092] + ldr r1, [r6, #1092] ldrh r2, [r1, #16] ldrh r3, [r1, #22] ldrb r1, [r1, #25] @ zero_extendqisi2 add r4, r4, r0 str r1, [sp] - ldr r1, .L841+132 + ldr r1, .L819+132 mov r0, r4 bl sprintf - ldr r1, [r5, #1092] + ldr r1, [r6, #1092] ldrh r2, [r1, #48] ldrh r3, [r1, #54] ldrb r1, [r1, #57] @ zero_extendqisi2 add r4, r4, r0 str r1, [sp] - ldr r1, .L841+136 + ldr r1, .L819+136 mov r0, r4 bl sprintf - ldr r1, [r5, #1092] + ldr r1, [r6, #1092] ldrh r2, [r1, #80] ldrh r3, [r1, #86] ldrb r1, [r1, #89] @ zero_extendqisi2 add r4, r4, r0 str r1, [sp] - ldr r1, .L841+140 + ldr r1, .L819+140 mov r0, r4 bl sprintf - ldr r3, [r5, #2804] + ldr r3, [r6, #2804] ldrh r1, [r3, #88] ldrh r2, [r3, #74] str r1, [sp] @@ -4699,10 +4609,10 @@ ftl_print_info_to_buf: str r1, [sp, #4] ldrh r1, [r3, #96] str r1, [sp, #8] - ldr r1, .L841+144 + ldr r1, .L819+144 ldr r3, [r3, #84] bl sprintf - ldr r3, [r5, #2804] + ldr r3, [r6, #2804] ldrh r1, [r3, #90] ldrh r2, [r3, #72] str r1, [sp] @@ -4712,32 +4622,32 @@ ftl_print_info_to_buf: str r1, [sp, #4] ldrh r1, [r3, #98] str r1, [sp, #8] - ldr r1, .L841+148 + ldr r1, .L819+148 ldr r3, [r3, #80] bl sprintf movw r3, #2808 - ldrh r2, [r5, r3] - ldr r1, .L841+152 + ldrh r2, [r6, r3] + ldr r1, .L819+152 add r4, r4, r0 mov r0, r4 bl sprintf movw r1, #2814 - ldrh r1, [r5, r1] + ldrh r1, [r6, r1] movw r3, #2810 - ldrh r2, [r5, r3] + ldrh r2, [r6, r3] movw r3, #2812 - ldrh r3, [r5, r3] + ldrh r3, [r6, r3] str r1, [sp] - add r1, r5, #2816 + add r1, r6, #2816 add r4, r4, r0 ldrh r1, [r1] mov r0, r4 str r1, [sp, #4] - ldr r1, [r5, #2820] + ldr r1, [r6, #2820] str r1, [sp, #8] - ldr r1, .L841+156 + ldr r1, .L819+156 bl sprintf - ldr r1, [r5, #1092] + ldr r1, [r6, #1092] add r3, r1, #584 ldrh r2, [r3] movw r3, #586 @@ -4750,14 +4660,14 @@ ftl_print_info_to_buf: ldrh r1, [r1, r0] mov r0, r4 str r1, [sp, #4] - ldr r1, .L841+160 + ldr r1, .L819+160 bl sprintf - ldr r3, [r5, #1092] - ldr r1, .L841+164 + ldr r3, [r6, #1092] + ldr r1, .L819+164 ldr r2, [r3, #544] str r2, [sp] add r4, r4, r0 - ldr r2, [r5, #2804] + ldr r2, [r6, #2804] mov r0, r4 ldr r2, [r2, #44] str r2, [sp, #4] @@ -4767,13 +4677,13 @@ ftl_print_info_to_buf: ldr r3, [r3, #540] bl sprintf add r0, r4, r0 - rsb r0, r6, r0 + rsb r0, r5, r0 add sp, sp, #16 @ sp needed ldmfd sp!, {r4, r5, r6, pc} -.L842: +.L820: .align 2 -.L841: +.L819: .word .LC1 .word .LC2 .word .LANCHOR2 @@ -4840,7 +4750,7 @@ ftl_gc_write_buf: .save {r4, lr} mov r1, r0 ldrb r3, [r0, #2] @ zero_extendqisi2 - ldr r4, .L846 + ldr r4, .L824 orr r3, r3, #2 strb r3, [r0, #2] add r0, r4, #2816 @@ -4851,9 +4761,9 @@ ftl_gc_write_buf: uxtb r0, r0 strb r0, [r4, #2800] ldmfd sp!, {r4, pc} -.L847: +.L825: .align 2 -.L846: +.L824: .word .LANCHOR0 .fnend .size ftl_gc_write_buf, .-ftl_gc_write_buf @@ -4901,13 +4811,13 @@ gc_add_sblk: .save {r4, r5, r6, r7, r8, r9, r10, lr} .pad #16 mov r5, r0 - ldr r8, .L888 + ldr r8, .L866 mov r4, r1 mov r9, r2 - ldr r7, .L888+4 + ldr r7, .L866+4 ldr r3, [r8] tst r3, #256 - beq .L852 + beq .L830 ldr r3, [r7, #1080] mov r1, r5 ldr r2, [r7, #1088] @@ -4916,11 +4826,11 @@ gc_add_sblk: mov r3, r3, lsr #5 str r3, [sp] mov r3, r0, asl #1 - ldr r0, .L888+8 + ldr r0, .L866+8 ldrh r3, [r2, r3] mov r2, r4 str r3, [sp, #4] - ldr r3, .L888+12 + ldr r3, .L866+12 ldrh r3, [r3, #52] str r3, [sp, #8] movw r3, #2814 @@ -4928,32 +4838,32 @@ gc_add_sblk: str r3, [sp, #12] mov r3, r9 bl printk -.L852: +.L830: movw r3, #1076 ldrh r3, [r7, r3] cmp r3, r5 - bhi .L853 - ldr r1, .L888+16 + bhi .L831 + ldr r1, .L866+16 movw r2, #543 - ldr r0, .L888+20 + ldr r0, .L866+20 bl printk bl dump_stack -.L853: +.L831: movw r3, #1076 - ldr r1, .L888+4 + ldr r1, .L866+4 ldrh r3, [r7, r3] cmp r3, r5 - bhi .L854 + bhi .L832 ldr r0, [r8] ands r0, r0, #1024 - beq .L855 + beq .L833 mov r1, r5 mov r2, r4 mov r3, r9 - ldr r0, .L888+24 + ldr r0, .L866+24 bl printk - b .L874 -.L854: + b .L852 +.L832: ldr r2, [r1, #1088] mov r3, r5, asl #1 ldrh r3, [r2, r3] @@ -4961,97 +4871,97 @@ gc_add_sblk: add r2, r2, r5, asl #2 ldrb ip, [r2, #2] @ zero_extendqisi2 ands r6, ip, #224 - bne .L856 + bne .L834 cmp r3, #0 - beq .L874 - ldr r1, .L888+16 + beq .L852 + ldr r1, .L866+16 movw r2, #553 - ldr r0, .L888+20 + ldr r0, .L866+20 bl printk bl dump_stack - b .L874 -.L856: + b .L852 +.L834: movw r2, #2828 ldrh r2, [r1, r2] cmp r2, r5 - beq .L874 + beq .L852 ldr r2, [r1, #1092] ldrh r0, [r2, #48] cmp r0, r5 - beq .L874 + beq .L852 ldrh r0, [r2, #16] cmp r0, r5 - beq .L874 + beq .L852 ldrh r0, [r2, #80] cmp r0, r5 - beq .L874 - ldr r0, .L888+12 + beq .L852 + ldr r0, .L866+12 add r1, r1, #2880 ldrh lr, [r0, #52] mov r0, #0 -.L857: +.L835: cmp r0, lr - bcs .L887 + bcs .L865 ldrh r6, [r1, #2]! cmp r6, r5 - beq .L874 + beq .L852 add r0, r0, #1 - b .L857 -.L887: + b .L835 +.L865: cmp r4, #0 - bne .L862 - ldr r0, .L888+28 - ldrh r6, [r0, #-8] + bne .L840 + ldr r0, .L866+28 + ldrh r6, [r0] cmp r6, r5 moveq r0, r4 - beq .L855 - sub r0, r0, #4 + beq .L833 + add r0, r0, #4 mov r1, r4 -.L861: +.L839: ldrh r10, [r1, r0] cmp r5, r10 - bne .L860 + bne .L838 ldr r0, [r8] ands r0, r0, #256 - beq .L855 + beq .L833 stmia sp, {r5, r6} mov r1, r5 mov r2, ip, lsr #5 - ldr r0, .L888+32 + ldr r0, .L866+32 bl printk - b .L874 -.L860: + b .L852 +.L838: add r1, r1, #2 cmp r1, #16 - bne .L861 + bne .L839 add r6, r2, r9, asl #7 add r6, r6, #136 - b .L863 -.L862: + b .L841 +.L840: add r6, r2, #392 -.L863: +.L841: ldr r2, [r8] tst r2, #256 - beq .L864 + beq .L842 stmia sp, {r3, lr} movw r3, #2814 ldrh r3, [r7, r3] mov r1, r5 - ldr r0, .L888+36 + ldr r0, .L866+36 mov r2, r4 str r3, [sp, #8] mov r3, ip, lsr #5 bl printk -.L864: +.L842: add r1, r6, #128 mov r3, r6 movw r0, #65535 -.L867: +.L845: mov r2, r3 add r3, r3, #2 ldrh ip, [r2] cmp ip, r0 - bne .L865 + bne .L843 cmp r4, #0 strh r5, [r2] @ movhi ldreq r3, [r7, #1092] @@ -5063,22 +4973,22 @@ gc_add_sblk: addeq r3, r3, #1 strneh r3, [r2, #124] @ movhi streqh r3, [r9, #120] @ movhi - b .L886 -.L865: + b .L864 +.L843: cmp r3, r1 - bne .L867 -.L886: + bne .L845 +.L864: mov r0, #1 - b .L855 -.L874: + b .L833 +.L852: mov r0, #0 -.L855: +.L833: add sp, sp, #16 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc} -.L889: +.L867: .align 2 -.L888: +.L866: .word .LANCHOR2 .word .LANCHOR0 .word .LC93 @@ -5086,7 +4996,7 @@ gc_add_sblk: .word .LANCHOR1+1608 .word .LC0 .word .LC94 - .word .LANCHOR3-3216 + .word .LANCHOR3-3152 .word .LC95 .word .LC96 .fnend @@ -5098,13 +5008,13 @@ gc_mark_bad_ppa: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L896 + ldr r3, .L874 stmfd sp!, {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} - sub r2, r3, #3200 - ldr r5, .L896+4 + sub r2, r3, #3120 + ldr r5, .L874+4 mov r6, #1 - ldrh r1, [r2, #-4] + ldrh r1, [r2, #-12] mov r7, r0 add r5, r5, #4096 ldrb r2, [r5, #-2907] @ zero_extendqisi2 @@ -5112,52 +5022,52 @@ gc_mark_bad_ppa: rsb r2, r2, #24 uxth r4, r0 rsb r2, r1, r2 - ldrb r1, [r3, #-3202] @ zero_extendqisi2 + ldrb r1, [r3, #-3130] @ zero_extendqisi2 mov r2, r6, asl r2 sub r2, r2, #1 and r0, r0, r2 bl __aeabi_uidiv mov r3, r7 - ldr r1, [r5, #848] + ldr r1, [r5, #920] mov r2, r4 uxth r8, r0 - ldr r0, .L896+8 + ldr r0, .L874+8 bl printk mov r1, r6 mov r0, r8 mov r2, #0 bl gc_add_sblk - ldr r3, [r5, #848] - ldr r0, .L896+12 + ldr r3, [r5, #920] + ldr r0, .L874+12 mov r1, #0 -.L891: +.L869: uxth r2, r1 cmp r2, r3 - bcs .L895 - add r2, r2, #1056 + bcs .L873 + add r2, r2, #1088 add r1, r1, #1 - add r2, r2, #4 + add r2, r2, #8 mov r2, r2, asl #1 ldrh r2, [r0, r2] cmp r2, r4 - bne .L891 - b .L892 -.L895: + bne .L869 + b .L870 +.L873: cmp r3, #5 - bhi .L892 + bhi .L870 add r2, r3, #1 - add r3, r3, #1056 - add r3, r3, #4 - str r2, [r5, #848] - ldr r2, .L896+12 + add r3, r3, #1088 + add r3, r3, #8 + str r2, [r5, #920] + ldr r2, .L874+12 mov r3, r3, asl #1 strh r4, [r2, r3] @ movhi -.L892: +.L870: mov r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L897: +.L875: .align 2 -.L896: +.L874: .word .LANCHOR3 .word .LANCHOR0 .word .LC97 @@ -5172,13 +5082,13 @@ 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, .L899 - ldr r3, [r3, #-3200] + ldr r3, .L877 + ldr r3, [r3, #-3128] ldr r0, [r3, r0, asl #2] bx lr -.L900: +.L878: .align 2 -.L899: +.L877: .word .LANCHOR3 .fnend .size gc_get_src_ppa_from_index, .-gc_get_src_ppa_from_index @@ -5192,124 +5102,125 @@ gc_write_completed: stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #12 - ldr r5, .L932 + ldr r5, .L910 mov r6, r5 -.L902: +.L880: ldrb fp, [r5, #2777] @ zero_extendqisi2 cmp fp, #255 - beq .L931 + beq .L909 mov r3, #48 mul r3, r3, fp add r2, r5, r3 ldrb r1, [r2, #1236] @ zero_extendqisi2 strb r1, [r5, #2777] - ldr r1, .L932+4 + ldr r1, .L910+4 add r3, r1, r3 ldr r1, [r2, #1272] cmp r1, #0 ldrh r8, [r3, #32] - beq .L903 - ldr r3, .L932+8 + beq .L881 + ldr r3, .L910+8 mov r0, #1 ldr r2, [r2, #1260] strh r0, [r3] @ movhi - ldr r0, .L932+12 - str r2, [r3, #4] + ldr r3, .L910+12 + ldr r0, .L910+16 + str r2, [r3, #916] bl printk - ldr r1, .L932+16 + ldr r1, .L910+20 mov r2, #956 - ldr r0, .L932+20 + ldr r0, .L910+24 bl printk bl dump_stack -.L903: - ldr r7, .L932+24 - ldrb r3, [r7, #-3196] @ zero_extendqisi2 +.L881: + ldr r7, .L910+28 + ldrb r3, [r7, #-3124] @ zero_extendqisi2 mov r10, r7 cmp r3, #3 - bne .L904 + bne .L882 ldrb r3, [r6, #1196] @ zero_extendqisi2 cmp r3, #0 - bne .L904 + bne .L882 ldr r3, [r5, #1092] - ldrb r2, [r7, #-3195] @ zero_extendqisi2 + ldrb r2, [r7, #-3123] @ zero_extendqisi2 ldrb r3, [r3, #89] @ zero_extendqisi2 cmp r2, r3 movhi r3, #1 - bhi .L906 + bhi .L884 cmp r3, #3 movcs r3, #2 -.L906: +.L884: add r4, r3, r3, asl #1 - b .L907 -.L904: - ldrb r3, [r7, #-3194] @ zero_extendqisi2 + b .L885 +.L882: + ldrb r3, [r7, #-3122] @ zero_extendqisi2 cmp r3, #0 moveq r4, #1 - beq .L907 - ldr r3, .L932+24 - ldrb r3, [r3, #-3193] @ zero_extendqisi2 + beq .L885 + ldr r3, .L910+28 + ldrb r3, [r3, #-3121] @ zero_extendqisi2 cmp r3, #0 moveq r4, #1 movne r4, #2 -.L907: +.L885: mov r2, #48 - ldr r1, [r7, #-3192] + ldr r1, [r7, #-3120] mla r2, r2, fp, r6 mov r9, r8 ldrb r1, [r1, r8] @ zero_extendqisi2 ldrb r2, [r2, #1237] @ zero_extendqisi2 cmp r1, r2 - beq .L908 - ldr r1, .L932+16 + beq .L886 + ldr r1, .L910+20 mov r2, #976 - ldr r0, .L932+20 + ldr r0, .L910+24 bl printk bl dump_stack -.L908: +.L886: mov r2, #48 mla fp, r2, fp, r6 ldrb r2, [fp, #1281] @ zero_extendqisi2 cmp r2, #3 - beq .L909 - ldrb r1, [r7, #-3196] @ zero_extendqisi2 - ldr r2, .L932+24 + beq .L887 + ldrb r1, [r7, #-3124] @ zero_extendqisi2 + ldr r2, .L910+28 cmp r1, #3 - bne .L909 - ldrb r1, [r2, #-3188] @ zero_extendqisi2 + bne .L887 + ldrb r1, [r2, #-3116] @ zero_extendqisi2 cmp r1, #0 - bne .L909 + bne .L887 ldrb r1, [r5, #1196] @ zero_extendqisi2 cmp r1, #0 - bne .L909 + bne .L887 ldrb r1, [r5, #1197] @ zero_extendqisi2 cmp r1, #0 - bne .L909 - ldrb r1, [r2, #-3194] @ zero_extendqisi2 + bne .L887 + ldrb r1, [r2, #-3122] @ zero_extendqisi2 cmp r1, #0 - beq .L910 - ldrb r2, [r2, #-3193] @ zero_extendqisi2 + beq .L888 + ldrb r2, [r2, #-3121] @ zero_extendqisi2 cmp r2, #0 - bne .L909 -.L910: - ldr r2, [r7, #-3192] + bne .L887 +.L888: + ldr r2, [r7, #-3120] mov r3, #0 mov r1, #48 mov r0, r3 add ip, r2, r8 - b .L911 -.L909: - ldr r2, .L932+28 + b .L889 +.L887: + ldr r2, .L910+32 mvn r7, #0 mov fp, #48 strh r8, [r2] @ movhi mov r2, #0 -.L912: +.L890: rsb r1, r8, r9 uxth r1, r1 cmp r1, r4 - bcs .L902 - ldr r1, [r10, #-3192] - ldr r3, .L932+4 + bcs .L880 + ldr r1, [r10, #-3120] + ldr r3, .L910+4 str r2, [sp, #4] ldrb r0, [r1, r9] @ zero_extendqisi2 strb r7, [r1, r9] @@ -5323,26 +5234,27 @@ gc_write_completed: sub r1, r1, #1 strb r1, [r6, #2835] ldr r2, [sp, #4] - b .L912 -.L911: + b .L890 +.L889: uxth r2, r3 cmp r2, r4 - bcs .L902 + bcs .L880 ldrb r2, [ip, r3] @ zero_extendqisi2 add r3, r3, #1 mla r2, r1, r2, r6 strb r0, [r2, #1281] - b .L911 -.L931: + b .L889 +.L909: add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L933: +.L911: .align 2 -.L932: +.L910: .word .LANCHOR0 .word .LANCHOR0+1236 - .word .LANCHOR0+4936 + .word .LANCHOR0+5010 + .word .LANCHOR0+4096 .word .LC98 .word .LANCHOR1+1620 .word .LC0 @@ -5357,35 +5269,35 @@ gc_get_src_blk: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r1, .L944 + ldr r1, .L922 stmfd sp!, {r4, r5, lr} .save {r4, r5, lr} ldr r3, [r1, #1092] - ldr ip, .L944+4 + ldr ip, .L922+4 ldrh r2, [r3, #124] - ldrb r0, [ip, #-3187] @ zero_extendqisi2 + ldrb r0, [ip, #-3115] @ zero_extendqisi2 cmp r2, #0 addne r3, r3, #392 movne r2, #1 - bne .L936 + bne .L914 add lr, r3, r0, asl #1 ldrh lr, [lr, #120] cmp lr, #0 - beq .L941 + beq .L919 add r3, r3, r0, asl #7 add r3, r3, #136 -.L936: +.L914: add lr, r3, #128 movw r4, #65535 -.L940: +.L918: mov r5, r3 ldrh r0, [r3], #2 cmp r0, r4 - beq .L938 + beq .L916 cmp r2, #0 mvn r3, #0 strh r3, [r5] @ movhi - ldreqb r2, [ip, #-3187] @ zero_extendqisi2 + ldreqb r2, [ip, #-3115] @ zero_extendqisi2 ldreq r3, [r1, #1092] ldrne r2, [r1, #1092] addeq r3, r3, r2, asl #1 @@ -5396,696 +5308,21 @@ gc_get_src_blk: strneh r3, [r2, #124] @ movhi streqh r2, [r3, #120] @ movhi ldmfd sp!, {r4, r5, pc} -.L938: +.L916: cmp r3, lr - bne .L940 + bne .L918 ldmfd sp!, {r4, r5, pc} -.L941: +.L919: movw r0, #65535 ldmfd sp!, {r4, r5, pc} -.L945: +.L923: .align 2 -.L944: +.L922: .word .LANCHOR0 .word .LANCHOR3 .fnend .size gc_get_src_blk, .-gc_get_src_blk .align 2 - .global gc_search_src_blk - .type gc_search_src_blk, %function -gc_search_src_blk: - .fnstart - @ args = 0, pretend = 0, frame = 24 - @ frame_needed = 0, uses_anonymous_args = 0 - stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} - .pad #36 - sub sp, sp, #36 - ldr r5, .L1069 - str r0, [sp, #12] - str r1, [sp, #20] - ldr r9, [r5, #1092] - str r2, [sp, #8] - add r3, r9, r0, asl #1 - ldrh r4, [r3, #120] - cmp r4, #0 - bne .L1001 - ldr r7, .L1069+4 - ldrh r8, [r7, #52] - cmp r8, #1 - ldrls r3, .L1069+8 - strlsh r4, [r3, #-2] @ movhi - strlsh r4, [r3], #16 @ movhi - strlsh r4, [r3, #-14] @ movhi - ldr r3, [sp, #12] - cmp r3, #0 - bne .L1068 - ldr r7, [sp, #12] - ldr r9, .L1069+8 - ldr fp, .L1069+12 - mov r4, r7 -.L950: - ldr r3, [sp, #8] - add r8, r3, #1 - uxth r3, r7 - cmp r3, r8 - bge .L956 - ldrh r10, [r9] - ldr r3, .L1069+8 - mov r1, r10 - add r0, r3, #4 - str r3, [sp, #16] - bl _list_get_gc_head_node - add r2, r10, #1 - movw r1, #65535 - uxth r2, r2 - strh r2, [r9] @ movhi - ldr r3, [sp, #16] - cmp r0, r1 - mov r6, r0 - mov ip, r3 - beq .L952 - ldr r3, [fp] - mov r10, r0, asl #1 - tst r3, #256 - beq .L953 - ldr r3, [r5, #1088] - mov r1, r6 - ldr r0, .L1069+16 - ldrh r3, [r3, r10] - bl printk - ldr ip, [sp, #16] -.L953: - ldr r3, [r5, #1088] - ldrh r2, [r3, r10] - ldr r3, .L1069+20 - ldrh r3, [r3] - cmp r2, r3 - bcs .L954 - mov r1, #0 - mov r0, r6 - mov r2, r1 - bl gc_add_sblk - cmp r0, #0 - beq .L955 - add r4, r4, #1 - ldr r3, [sp, #8] - uxth r4, r4 - cmp r4, r3 - bcc .L955 - b .L956 -.L954: - mov r3, #0 - strh r3, [ip] @ movhi - b .L956 -.L952: - mov r2, #0 - strh r2, [r3] @ movhi - b .L956 -.L955: - add r7, r7, #1 - b .L950 -.L956: - ldr r3, [sp, #20] - tst r3, #2 - beq .L958 - movw r3, #2798 - ldrh r3, [r5, r3] - cmp r3, #32 - bls .L958 - ldr r9, .L1069+24 - mov fp, #0 - ldr r7, .L1069+28 -.L959: - uxth r3, fp - ldr r6, .L1069+24 - cmp r3, r8 - bge .L963 - ldrh r10, [r7] - ldr r3, .L1069+28 - mov r1, r10 - add r0, r3, #6 - str r3, [sp, #16] - bl _list_get_gc_head_node - movw r1, #65535 - add r10, r10, #1 - strh r10, [r7] @ movhi - cmp r0, r1 - ldr r3, [sp, #16] - beq .L960 - ldr r10, [r5, #1088] - mov r2, r0, asl #1 - ldrh r1, [r10, r2] - ldrh r2, [r9] - cmp r1, r2 - bcs .L960 - mov r1, #0 - mov r2, r1 - bl gc_add_sblk - cmp r0, #0 - beq .L962 - add r4, r4, #1 - ldr r3, [sp, #8] - uxth r4, r4 - cmp r4, r3 - bcc .L962 - b .L963 -.L960: - mov r2, #0 - strh r2, [r3] @ movhi - b .L963 -.L962: - add fp, fp, #1 - b .L959 -.L963: - ldr r3, [sp, #8] - ldr r2, .L1069+32 - cmp r4, r3 - bcs .L965 - ldrh ip, [r2, #-2] - ldrb r3, [r2, #-27] @ zero_extendqisi2 - ldrh r0, [r2, #-4] - ldrh r1, [r6] - mul r3, r3, ip - sub r3, r3, r0, lsr #2 - cmp r1, r3 - ldrlt r3, .L1069+24 - addlt r1, r1, r0, lsr #3 - strlth r1, [r3] @ movhi - b .L958 -.L965: - ldrh r2, [r2, #-4] - ldrh r3, [r6] - cmp r3, r2 - subhi r3, r3, r2, lsr #3 - ldrhi r2, .L1069+24 - strhih r3, [r2] @ movhi -.L958: - ldr r3, [sp, #20] - tst r3, #1 - beq .L966 - ldrh r6, [sp, #8] - cmp r4, r6 - bcs .L966 - ldr r7, .L1069+36 - mov r10, #0 - movw r8, #65535 -.L971: - ldrh r9, [r7] - ldr fp, .L1069+36 - mov r1, r9 - add r0, fp, #18 - bl _list_get_gc_head_node - add r9, r9, #1 - strh r9, [r7] @ movhi - cmp r0, r8 - beq .L967 - mov r1, #0 - mov r2, r1 - bl gc_add_sblk - cmp r0, #0 - beq .L968 - add r4, r4, #1 - uxth r4, r4 - cmp r4, r6 - bcc .L968 - b .L969 -.L967: - mov r3, #0 - strh r3, [fp] @ movhi - b .L970 -.L968: - add r10, r10, #1 - uxth r3, r10 - cmp r3, r6 - bcc .L971 -.L970: - cmp r4, r6 - bcs .L969 - ldr r1, .L1069+32 - movw r2, #2814 - ldrh r3, [r5, r2] - ldrh r1, [r1, #-4] - cmp r3, r1 - addcc r3, r3, r1, lsr #3 - bcc .L1067 - b .L966 -.L969: - ldr r1, .L1069+32 - movw r2, #2814 - ldrh r3, [r5, r2] - ldrh r1, [r1, #-4] - cmp r3, r1, lsr #1 - bls .L966 - sub r3, r3, r1, lsr #3 -.L1067: - ldr r1, .L1069 - b .L1066 -.L1068: - ldr r3, .L1069+40 - sub r3, r3, #3168 - ldrb r1, [r3, #-27] @ zero_extendqisi2 - ldrh r2, [r3, #-2] - smulbb r2, r1, r2 - uxth r3, r2 - str r3, [sp, #16] - ldr r3, [sp, #8] - cmp r3, #1 - bne .L972 - cmp r8, #0 - beq .L972 - ldrh r2, [r9, #80] - movw r3, #65535 - cmp r2, r3 - movwne r3, #2102 - ldrneh r2, [r7, r3] - ldrne r3, [sp, #16] - rsbne r2, r2, r3 - uxthne r3, r2 - strne r3, [sp, #16] - mov r3, #8 - str r3, [sp, #8] -.L972: - movw r3, #2106 - mov r6, #0 - strh r6, [r7, r3] @ movhi - ldr r3, [sp, #20] - ldr r7, .L1069+44 - ands r3, r3, #1 - str r3, [sp, #24] - ldr r4, .L1069 - strh r6, [r7, #-12] @ movhi - ldreq r6, [sp, #24] - moveq r4, r6 - beq .L973 - movw r3, #2794 - ldrh r2, [r7, #-10] - ldrh r3, [r4, r3] - cmp r3, r2, lsr #2 - bhi .L974 - movw r2, #2796 - ldrh r2, [r4, r2] - cmp r2, r3 - movcs r4, r6 - bcs .L975 -.L974: - cmp r8, #1 - bls .L976 -.L978: - mov r4, #0 - b .L977 -.L976: - ldr r4, .L1069+8 - mov r1, #0 - mov r3, r3, lsr #2 - add r6, r4, #16 - strh r3, [r4, #-2] @ movhi - mov r0, r6 - bl _list_get_gc_head_node - movw r2, #65535 - cmp r0, r2 - beq .L978 - ldr r1, [r5, #1088] - mov r3, r0, asl #1 - ldrh r2, [r4, #12] - ldrh r3, [r1, r3] - cmp r3, r2, lsr #2 - bcs .L978 - mov r1, #0 - ldr r2, [sp, #12] - mov r3, #1 - strh r3, [r4, #-2] @ movhi - bl gc_add_sblk - adds r4, r0, #0 - movne r4, #1 -.L977: - ldr r9, .L1069+36 - mov r8, #64 - mov r6, #0 -.L981: - ldrh fp, [r9] - ldr r3, .L1069+36 - mov r1, fp - add r0, r3, #18 - str r3, [sp, #28] - bl _list_get_gc_head_node - movw r2, #65535 - cmp r0, r2 - mov r10, r0 - ldr r3, [sp, #28] - beq .L979 - mov r1, #0 - ldr r2, [sp, #12] - add fp, fp, #1 - strh fp, [r9] @ movhi - bl gc_add_sblk - cmp r0, #0 - beq .L980 - ldr r3, [r5, #1088] - mov r10, r10, asl #1 - add r4, r4, #1 - ldr r2, [sp, #8] - ldrh r3, [r3, r10] - uxth r4, r4 - add r6, r6, r3 - ldr r3, [sp, #16] - uxth r6, r6 - cmp r6, r3 - cmpls r4, r2 - bcs .L975 - ldr r2, .L1069+48 - ldr r3, .L1069+52 - ldrh r2, [r2] - ldrh r3, [r3] - cmp r3, r2, asl #1 - ble .L980 - b .L975 -.L979: - mov r2, #0 - strh r2, [r3] @ movhi - b .L975 -.L980: - sub r8, r8, #1 - uxth r8, r8 - cmp r8, #0 - bne .L981 -.L975: - movw r3, #2796 - ldrh r2, [r5, r3] - ldrh r3, [r7, #-10] - cmp r2, r3, lsr #2 - bhi .L1002 - ldr r1, .L1069 - movw r3, #2794 - ldrh r3, [r1, r3] - add r3, r3, #8 - cmp r2, r3 - bgt .L1002 -.L973: - ldr r3, [sp, #20] - tst r3, #2 - beq .L985 - movw r3, #2798 - ldrh r2, [r5, r3] - ldr r3, [sp, #16] - cmp r6, r3 - movcs r3, #0 - movcc r3, #1 - cmp r2, #32 - movls r3, #0 - cmp r3, #0 - beq .L985 - ldr r8, .L1069+28 - mov r7, #64 - mov r5, #0 -.L991: - ldrh fp, [r8] - ldr r9, .L1069+28 - ldr r10, .L1069 - add r0, r9, #6 - mov r1, fp - bl _list_get_gc_head_node - movw r3, #65535 - cmp r0, r3 - beq .L986 - ldr r3, [sp, #8] - add fp, fp, #1 - strh fp, [r8] @ movhi - cmp r3, #1 - bne .L987 - ldr r3, .L1069+40 - ldrb r2, [r3, #-3195] @ zero_extendqisi2 - ldrh r3, [r9, #12] - smulbb r3, r2, r3 - ldrh r2, [r9, #10] - sub r3, r3, r2, lsr #3 - ldr r2, .L1069+56 - strh r3, [r2] @ movhi -.L987: - ldr r3, [r10, #1088] - mov r9, r0, asl #1 - ldrh r2, [r3, r9] - ldr r3, .L1069+56 - ldrh r3, [r3] - cmp r2, r3 - bcs .L988 - mov r1, #0 - ldr r2, [sp, #12] - bl gc_add_sblk - cmp r0, #0 - beq .L989 - ldr r3, .L1069 - add r4, r4, #1 - ldr r2, [sp, #8] - add r5, r5, #1 - uxth r4, r4 - ldr r3, [r3, #1088] - uxth r5, r5 - ldrh r3, [r3, r9] - add r6, r6, r3 - ldr r3, [sp, #16] - uxth r6, r6 - cmp r6, r3 - cmpls r4, r2 - bcc .L989 - b .L990 -.L988: - ldr r3, .L1069+32 - mov r2, #0 - strh r2, [r3, #-14] @ movhi - b .L990 -.L986: - mov r3, #0 - strh r3, [r9] @ movhi - b .L990 -.L989: - sub r7, r7, #1 - uxth r7, r7 - cmp r7, #0 - bne .L991 -.L990: - ldr r3, [sp, #8] - ldr r2, .L1069+32 - cmp r4, r3 - add ip, r2, #3168 - bcc .L992 - cmp r5, #0 - bne .L993 - ldr r0, .L1069 - sub r3, ip, #3152 - movw r1, #2798 - ldrh r3, [r3, #-8] - ldrh r1, [r0, r1] - cmp r1, r3 - bls .L993 -.L992: - ldrh r3, [r2, #-4] - movw r1, #2810 - ldrh lr, [r2, #-2] - ldrb r2, [ip, #-3195] @ zero_extendqisi2 - ldrh r0, [r10, r1] - mov r3, r3, lsr #3 - mul r2, r2, lr - rsb r2, r3, r2 - cmp r0, r2 - ldrlt r2, .L1069 - addlt r3, r3, r0 - strlth r3, [r2, r1] @ movhi - b .L985 -.L993: - ldrh r0, [r2, #-4] - movw r1, #2810 - ldrb r2, [ip, #-3195] @ zero_extendqisi2 - ldrh r3, [r10, r1] - mul r2, r2, r0 - cmp r3, r2 - subgt r3, r3, r0, lsr #3 - bgt .L1065 - b .L966 -.L985: - ldr r3, [sp, #24] - cmp r3, #0 - beq .L966 - ldrh r8, [sp, #8] - ldr r3, [sp, #16] - cmp r4, r8 - cmpcc r6, r3 - bcs .L966 - ldr r9, .L1069+8 - mov r5, #64 - ldr fp, .L1069 -.L999: - ldrh r7, [r9] - ldr r3, .L1069+8 - ldr r10, .L1069 - add r0, r3, #4 - mov r1, r7 - str r3, [sp, #24] - bl _list_get_gc_head_node - movw r2, #65535 - ldr r3, [sp, #24] - cmp r0, r2 - add ip, r3, #3184 - beq .L995 - ldr r3, [fp, #1088] - add r7, r7, #1 - strh r7, [r9] @ movhi - mov r7, r0, asl #1 - ldrh r2, [r3, r7] - ldr r3, .L1069+60 - ldrh r3, [r3] - cmp r2, r3 - bcs .L996 - ldr r3, .L1069+64 - ldrh r2, [r3] - ldr r3, .L1069+52 - ldrh r3, [r3] - cmp r3, r2, lsr #1 - bls .L997 -.L996: - mov r1, #0 - ldr r2, [sp, #12] - str ip, [sp, #24] - bl gc_add_sblk - cmp r0, #0 - ldr ip, [sp, #24] - beq .L998 - ldr r3, [fp, #1088] - add r4, r4, #1 - uxth r4, r4 - ldrh r3, [r3, r7] - add r6, r6, r3 - ldr r3, [sp, #16] - uxth r6, r6 - cmp r6, r3 - cmpls r4, r8 - bcc .L998 - b .L997 -.L995: - cmp r7, #64 - movhi r2, #0 - strhih r2, [r3] @ movhi - b .L997 -.L998: - sub r5, r5, #1 - uxth r5, r5 - cmp r5, #0 - bne .L999 -.L997: - cmp r4, r8 - ldr r0, .L1069+32 - movw r1, #2812 - bcs .L1000 - ldrh r2, [r0, #-4] - ldrh r3, [r10, r1] - cmp r3, r2, lsr #1 - bls .L966 - sub r3, r3, r2, lsr #3 -.L1065: - ldr r2, .L1069 -.L1066: - strh r3, [r2, r1] @ movhi - b .L966 -.L1000: - ldrh r0, [r0, #-4] - ldrb r3, [ip, #-3195] @ zero_extendqisi2 - ldrh r2, [r10, r1] - mul r3, r3, r0 - sub r3, r3, #32 - cmp r2, r3 - addlt r2, r2, r0, lsr #3 - ldrlt r3, .L1069 - strlth r2, [r3, r1] @ movhi -.L966: - ldr r3, .L1069+12 - ldr r3, [r3] - tst r3, #256 - beq .L1001 - ldr r3, [sp, #8] - ldr r0, .L1069+68 - ldr r1, [sp, #12] - str r3, [sp] - mov r3, r4 - ldr r2, [sp, #20] - bl printk -.L1001: - mov r0, r4 - add sp, sp, #36 - @ sp needed - ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1002: - ldr r3, [sp, #16] - cmp r6, r3 - bcs .L973 - ldr r8, .L1069+8 - mov r7, #64 - movw r9, #65535 -.L984: - ldrh r10, [r8] - ldr r3, .L1069+8 - mov r1, r10 - add r0, r3, #4 - str r3, [sp, #28] - bl _list_get_gc_head_node - cmp r0, r9 - mov fp, r0 - ldr r3, [sp, #28] - beq .L982 - mov r1, #0 - ldr r2, [sp, #12] - add r10, r10, #1 - strh r10, [r8] @ movhi - bl gc_add_sblk - cmp r0, #0 - beq .L983 - ldr r3, [r5, #1088] - mov fp, fp, asl #1 - add r4, r4, #1 - ldr r2, [sp, #8] - ldrh r3, [r3, fp] - uxth r4, r4 - add r6, r6, r3 - ldr r3, [sp, #16] - uxth r6, r6 - cmp r6, r3 - cmpls r4, r2 - bcc .L983 - b .L973 -.L982: - cmp r10, #64 - movhi r2, #0 - strhih r2, [r3] @ movhi - b .L973 -.L983: - sub r7, r7, #1 - uxth r7, r7 - cmp r7, #0 - bne .L984 - b .L973 -.L1070: - .align 2 -.L1069: - .word .LANCHOR0 - .word .LANCHOR0+2828 - .word .LANCHOR3-3184 - .word .LANCHOR2 - .word .LC99 - .word .LANCHOR0+2814 - .word .LANCHOR0+2816 - .word .LANCHOR3-3182 - .word .LANCHOR3-3168 - .word .LANCHOR3-3186 - .word .LANCHOR3 - .word .LANCHOR3-3152 - .word .LANCHOR0+2794 - .word .LANCHOR0+2796 - .word .LANCHOR0+2810 - .word .LANCHOR0+2812 - .word .LANCHOR3-3162 - .word .LC100 - .fnend - .size gc_search_src_blk, .-gc_search_src_blk - .align 2 .global gc_free_temp_buf .type gc_free_temp_buf, %function gc_free_temp_buf: @@ -6094,52 +5331,52 @@ gc_free_temp_buf: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} - ldr r5, .L1086 + ldr r5, .L939 ldrb r0, [r5, #2835] @ zero_extendqisi2 cmp r0, #0 ldmeqfd sp!, {r4, r5, r6, pc} ldrb r3, [r5, #2774] @ zero_extendqisi2 cmp r3, #1 - bhi .L1078 - ldr r2, .L1086+4 + bhi .L931 + ldr r2, .L939+4 movw r3, #2104 - ldr r1, .L1086+8 + ldr r1, .L939+8 ldrh r4, [r2, r3] - sub r3, r1, #3168 + sub r3, r1, #3104 mov r6, r1 - ldrh r0, [r3, #-2] + ldrh r0, [r3, #-10] add r2, r4, #24 - ldrb r3, [r1, #-3195] @ zero_extendqisi2 + ldrb r3, [r1, #-3123] @ zero_extendqisi2 mul r3, r3, r0 - ldr r0, [r1, #-3192] + ldr r0, [r1, #-3120] mov r1, #48 cmp r3, r2 movcs r3, r2 -.L1073: +.L926: cmp r4, r3 - bcs .L1078 + bcs .L931 ldrb r2, [r0, r4] @ zero_extendqisi2 cmp r2, #255 - beq .L1074 + beq .L927 mul r2, r1, r2 add ip, r5, r2 ldrb ip, [ip, #1281] @ zero_extendqisi2 cmp ip, #0 - bne .L1074 - ldr r0, .L1086+12 + bne .L927 + ldr r0, .L939+12 add r0, r0, r2 bl zbuf_free - ldr r3, .L1086+16 + ldr r3, .L939+16 ldr r3, [r3] tst r3, #256 - beq .L1075 - ldr r3, [r6, #-3192] + beq .L928 + ldr r3, [r6, #-3120] mov r1, r4 - ldr r0, .L1086+20 + ldr r0, .L939+20 ldrb r2, [r3, r4] @ zero_extendqisi2 bl printk -.L1075: - ldr r3, [r6, #-3192] +.L928: + ldr r3, [r6, #-3120] mvn r2, #0 mov r0, #1 strb r2, [r3, r4] @@ -6147,24 +5384,50 @@ gc_free_temp_buf: add r3, r3, r2 strb r3, [r5, #2835] ldmfd sp!, {r4, r5, r6, pc} -.L1074: +.L927: add r4, r4, #1 - b .L1073 -.L1078: + b .L926 +.L931: mov r0, #0 ldmfd sp!, {r4, r5, r6, pc} -.L1087: +.L940: .align 2 -.L1086: +.L939: .word .LANCHOR0 .word .LANCHOR0+2828 .word .LANCHOR3 .word .LANCHOR0+1236 .word .LANCHOR2 - .word .LC101 + .word .LC99 .fnend .size gc_free_temp_buf, .-gc_free_temp_buf .align 2 + .global get_ink_scaned_blk + .type get_ink_scaned_blk, %function +get_ink_scaned_blk: + .fnstart + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + @ link register save eliminated. + ldr r1, .L944 + movw ip, #2108 + ldrh r3, [r1, ip] + cmp r3, #0 + addne r2, r3, #1040 + subne r3, r3, #1 + addne r2, r2, #11 + strneh r3, [r1, ip] @ movhi + addne r2, r1, r2, asl #1 + ldrneh r0, [r2, #6] + movweq r0, #65535 + bx lr +.L945: + .align 2 +.L944: + .word .LANCHOR0+2828 + .fnend + .size get_ink_scaned_blk, .-get_ink_scaned_blk + .align 2 .global print_gc_debug_info .type print_gc_debug_info, %function print_gc_debug_info: @@ -6175,7 +5438,7 @@ print_gc_debug_info: .save {lr} .pad #20 movw r2, #2828 - ldr r0, .L1090 + ldr r0, .L948 movw ip, #2102 add r3, r0, r2 ldrh r1, [r0, r2] @@ -6188,19 +5451,783 @@ print_gc_debug_info: movw ip, #2808 ldrh r0, [r0, ip] str r0, [sp, #8] - ldr r0, .L1090+4 + ldr r0, .L948+4 bl printk add sp, sp, #20 @ sp needed ldr pc, [sp], #4 -.L1091: +.L949: .align 2 -.L1090: +.L948: .word .LANCHOR0 - .word .LC102 + .word .LC100 .fnend .size print_gc_debug_info, .-print_gc_debug_info .align 2 + .global _list_pop_index_node + .type _list_pop_index_node, %function +_list_pop_index_node: + .fnstart + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + stmfd sp!, {r3, r4, r5, lr} + .save {r3, r4, r5, lr} + ldr r5, [r0] + cmp r5, #0 + beq .L956 + ldr r3, .L958 + movw ip, #65535 + mov lr, #6 + ldr r4, [r3, #1036] +.L952: + cmp r1, #0 + bne .L953 +.L955: + rsb r4, r4, r5 + ldr r3, .L958+4 + mov r4, r4, asr #1 + mul r4, r3, r4 + uxth r4, r4 + mov r1, r4 + bl _list_remove_node + mvn r3, #0 + mov r0, r4 + strh r3, [r5] @ movhi + strh r3, [r5, #2] @ movhi + ldmfd sp!, {r3, r4, r5, pc} +.L953: + ldrh r3, [r5] + cmp r3, ip + beq .L955 + sub r1, r1, #1 + mla r5, lr, r3, r4 + uxth r1, r1 + b .L952 +.L956: + movw r0, #65535 + ldmfd sp!, {r3, r4, r5, pc} +.L959: + .align 2 +.L958: + .word .LANCHOR0 + .word -1431655765 + .fnend + .size _list_pop_index_node, .-_list_pop_index_node + .align 2 + .global _list_get_gc_head_node + .type _list_get_gc_head_node, %function +_list_get_gc_head_node: + .fnstart + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + @ link register save eliminated. + ldr r0, [r0] + cmp r0, #0 + beq .L965 + ldr r3, .L968 + mov ip, #6 + ldr r2, [r3, #1036] + movw r3, #65535 +.L962: + cmp r1, #0 + beq .L963 + ldrh r0, [r0] + cmp r0, r3 + subne r1, r1, #1 + mlane r0, ip, r0, r2 + uxthne r1, r1 + bne .L962 +.L967: + bx lr +.L965: + movw r0, #65535 + bx lr +.L963: + rsb r0, r2, r0 + ldr r3, .L968+4 + mov r0, r0, asr #1 + mul r0, r3, r0 + uxth r0, r0 + bx lr +.L969: + .align 2 +.L968: + .word .LANCHOR0 + .word -1431655765 + .fnend + .size _list_get_gc_head_node, .-_list_get_gc_head_node + .align 2 + .global gc_search_src_blk + .type gc_search_src_blk, %function +gc_search_src_blk: + .fnstart + @ args = 0, pretend = 0, frame = 24 + @ frame_needed = 0, uses_anonymous_args = 0 + stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} + .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} + .pad #36 + sub sp, sp, #36 + ldr r6, .L1093 + str r0, [sp, #8] + str r1, [sp, #16] + ldr r7, [r6, #1092] + add r3, r7, r0, asl #1 + ldrh r4, [r3, #120] + cmp r4, #0 + bne .L1025 + ldr r3, .L1093+4 + mov r5, r2 + ldrh r2, [r3, #52] + cmp r2, #1 + ldrls r1, .L1093+8 + strlsh r4, [r1, #-8] @ movhi + strlsh r4, [r1, #-6] @ movhi + strlsh r4, [r1, #-4] @ movhi + ldr r1, [sp, #8] + cmp r1, #0 + bne .L1092 + ldr r8, [sp, #8] + ldr r10, .L1093+12 + ldr fp, .L1093+16 + mov r4, r8 +.L974: + add r9, r5, #1 + uxth r3, r8 + cmp r3, r9 + bge .L980 + ldrh r2, [r10] + ldr ip, .L1093+12 + mov r1, r2 + add r0, ip, #6 + str ip, [sp, #20] + str r2, [sp, #12] + bl _list_get_gc_head_node + movw r3, #65535 + ldr r2, [sp, #12] + cmp r0, r3 + mov r7, r0 + ldr ip, [sp, #20] + add r2, r2, #1 + uxth r2, r2 + strh r2, [r10] @ movhi + beq .L976 + ldr r3, [fp] + mov ip, r0, asl #1 + tst r3, #256 + beq .L977 + ldr r3, [r6, #1088] + mov r1, r7 + ldr r0, .L1093+20 + str ip, [sp, #12] + ldrh r3, [r3, ip] + bl printk + ldr ip, [sp, #12] +.L977: + ldr r3, [r6, #1088] + ldrh r2, [r3, ip] + ldr r3, .L1093+24 + ldrh r3, [r3] + cmp r2, r3 + bcs .L978 + mov r1, #0 + mov r0, r7 + mov r2, r1 + bl gc_add_sblk + cmp r0, #0 + beq .L979 + add r4, r4, #1 + uxth r4, r4 + cmp r4, r5 + bcc .L979 + b .L980 +.L978: + ldr r3, .L1093+8 + mov r2, #0 + strh r2, [r3, #-6] @ movhi + b .L980 +.L976: + mov r3, #0 + strh r3, [ip] @ movhi + b .L980 +.L979: + add r8, r8, #1 + b .L974 +.L980: + ldr r3, [sp, #16] + tst r3, #2 + beq .L982 + movw r3, #2798 + ldrh r3, [r6, r3] + cmp r3, #32 + movhi r10, #0 + ldrhi r8, .L1093+28 + bls .L982 +.L983: + uxth r2, r10 + ldr r7, .L1093+32 + cmp r2, r9 + bge .L987 + ldrh fp, [r8] + ldr r2, .L1093+28 + mov r1, fp + add r0, r2, #8 + str r2, [sp, #12] + bl _list_get_gc_head_node + movw ip, #65535 + add fp, fp, #1 + strh fp, [r8] @ movhi + cmp r0, ip + ldr r2, [sp, #12] + beq .L984 + ldr fp, [r6, #1088] + mov r1, r0, asl #1 + ldr r3, .L1093+32 + ldrh ip, [fp, r1] + ldrh r1, [r3] + cmp ip, r1 + bcs .L984 + mov r1, #0 + mov r2, r1 + bl gc_add_sblk + cmp r0, #0 + beq .L986 + add r4, r4, #1 + uxth r4, r4 + cmp r4, r5 + bcc .L986 + b .L987 +.L984: + mov r3, #0 + strh r3, [r2] @ movhi + b .L987 +.L986: + add r10, r10, #1 + b .L983 +.L987: + cmp r4, r5 + ldr r2, .L1093+36 + bcs .L989 + ldrh ip, [r2, #-26] + ldrb r3, [r2, #-35] @ zero_extendqisi2 + ldrh r0, [r2, #-8] + ldrh r1, [r7] + mul r3, r3, ip + sub r3, r3, r0, lsr #2 + cmp r1, r3 + ldrlt r3, .L1093+32 + addlt r1, r1, r0, lsr #3 + strlth r1, [r3] @ movhi + b .L982 +.L989: + ldrh r2, [r2, #-8] + ldrh r3, [r7] + cmp r3, r2 + subhi r3, r3, r2, lsr #3 + ldrhi r2, .L1093+32 + strhih r3, [r2] @ movhi +.L982: + ldr r3, [sp, #16] + tst r3, #1 + beq .L990 + uxth r7, r5 + cmp r4, r7 + bcs .L990 + ldr r8, .L1093+40 + mov fp, #0 + movw r9, #65535 +.L995: + ldrh r10, [r8] + ldr r3, .L1093+40 + mov r1, r10 + add r0, r3, #20 + str r3, [sp, #12] + bl _list_get_gc_head_node + add r10, r10, #1 + strh r10, [r8] @ movhi + cmp r0, r9 + ldr r3, [sp, #12] + beq .L991 + mov r1, #0 + mov r2, r1 + bl gc_add_sblk + cmp r0, #0 + beq .L992 + add r4, r4, #1 + uxth r4, r4 + cmp r4, r7 + bcc .L992 + b .L993 +.L991: + mov r2, #0 + strh r2, [r3] @ movhi + b .L994 +.L992: + add fp, fp, #1 + uxth r3, fp + cmp r3, r7 + bcc .L995 +.L994: + cmp r4, r7 + bcs .L993 + ldr r1, .L1093+36 + movw r2, #2814 + ldrh r3, [r6, r2] + ldrh r1, [r1, #-8] + cmp r3, r1 + addcc r3, r3, r1, lsr #3 + bcc .L1091 + b .L990 +.L993: + ldr r1, .L1093+36 + movw r2, #2814 + ldrh r3, [r6, r2] + ldrh r1, [r1, #-8] + cmp r3, r1, lsr #1 + bls .L990 + sub r3, r3, r1, lsr #3 +.L1091: + ldr r1, .L1093 + b .L1090 +.L1092: + ldr r8, .L1093+44 + cmp r5, #1 + sub r8, r8, #3104 + ldrb r0, [r8, #-19] @ zero_extendqisi2 + ldrh r1, [r8, #-10] + smulbb r1, r0, r1 + uxth r1, r1 + str r1, [sp, #12] + bne .L996 + cmp r2, #0 + beq .L996 + ldrh r0, [r7, #80] + movw r1, #65535 + mov r5, #8 + cmp r0, r1 + movwne r1, #2102 + ldrne r0, [sp, #12] + ldrneh r1, [r3, r1] + rsbne r1, r1, r0 + uxthne r1, r1 + strne r1, [sp, #12] +.L996: + movw r0, #2180 + mov r7, #0 + strh r7, [r3, r0] @ movhi + ldr r3, [sp, #16] + ldr r4, .L1093+36 + ands r3, r3, #1 + str r3, [sp, #20] + ldr r1, .L1093 + strh r7, [r4] @ movhi + ldreq r7, [sp, #20] + moveq r4, r7 + beq .L997 + ldrh r0, [r4, #2] + movw r3, #2794 + ldrh r3, [r1, r3] + add r4, r4, #16 + str r4, [sp, #24] + cmp r3, r0, lsr #2 + bhi .L998 + movw r0, #2796 + ldrh r1, [r1, r0] + cmp r1, r3 + movcs r4, r7 + bcs .L999 +.L998: + cmp r2, #1 + bls .L1000 +.L1002: + mov r4, #0 + b .L1001 +.L1000: + ldr r4, .L1093+8 + mov r1, #0 + mov r3, r3, lsr #2 + strh r3, [r8, #-8] @ movhi + add r0, r4, #12 + bl _list_get_gc_head_node + movw r2, #65535 + cmp r0, r2 + beq .L1002 + ldr r1, [r6, #1088] + mov r3, r0, asl #1 + ldrh r2, [r4, #8] + ldrh r3, [r1, r3] + cmp r3, r2, lsr #2 + bcs .L1002 + mov r1, #0 + ldr r2, [sp, #8] + mov r3, #1 + strh r3, [r4, #-8] @ movhi + bl gc_add_sblk + adds r4, r0, #0 + movne r4, #1 +.L1001: + ldr r9, .L1093+40 + mov r8, #64 + mov r7, #0 +.L1005: + ldrh fp, [r9] + ldr r3, .L1093+40 + mov r1, fp + add r0, r3, #20 + str r3, [sp, #28] + bl _list_get_gc_head_node + movw r2, #65535 + cmp r0, r2 + mov r10, r0 + ldr r3, [sp, #28] + beq .L1003 + mov r1, #0 + ldr r2, [sp, #8] + add fp, fp, #1 + strh fp, [r9] @ movhi + bl gc_add_sblk + cmp r0, #0 + beq .L1004 + ldr r3, [r6, #1088] + mov r10, r10, asl #1 + add r4, r4, #1 + ldrh r3, [r3, r10] + uxth r4, r4 + add r7, r7, r3 + ldr r3, [sp, #12] + uxth r7, r7 + cmp r7, r3 + cmpls r4, r5 + bcs .L999 + ldr r2, .L1093+48 + ldr r3, .L1093+52 + ldrh r2, [r2] + ldrh r3, [r3] + cmp r3, r2, asl #1 + ble .L1004 + b .L999 +.L1003: + mov r2, #0 + strh r2, [r3] @ movhi + b .L999 +.L1004: + sub r8, r8, #1 + uxth r8, r8 + cmp r8, #0 + bne .L1005 +.L999: + movw r3, #2796 + ldrh r2, [r6, r3] + ldr r3, [sp, #24] + ldrh r3, [r3, #-14] + cmp r2, r3, lsr #2 + bhi .L1026 + ldr r1, .L1093 + movw r3, #2794 + ldrh r3, [r1, r3] + add r3, r3, #8 + cmp r2, r3 + bgt .L1026 +.L997: + ldr r3, [sp, #16] + tst r3, #2 + beq .L1009 + movw r3, #2798 + ldrh r2, [r6, r3] + ldr r3, [sp, #12] + cmp r7, r3 + movcs r3, #0 + movcc r3, #1 + cmp r2, #32 + movls r3, #0 + cmp r3, #0 + beq .L1009 + ldr r9, .L1093+28 + mov r8, #64 + mov r6, #0 +.L1015: + ldrh r3, [r9] + ldr r10, .L1093+28 + ldr fp, .L1093 + add r0, r10, #8 + mov r1, r3 + str r3, [sp, #24] + bl _list_get_gc_head_node + movw r2, #65535 + cmp r0, r2 + beq .L1010 + ldr r3, [sp, #24] + cmp r5, #1 + add r3, r3, #1 + strh r3, [r9] @ movhi + bne .L1011 + ldr r3, .L1093+44 + ldrb r2, [r3, #-3123] @ zero_extendqisi2 + ldrh r3, [r10, #-6] + smulbb r3, r2, r3 + ldrh r2, [r10, #12] + sub r3, r3, r2, lsr #3 + ldr r2, .L1093+56 + strh r3, [r2] @ movhi +.L1011: + ldr r3, [fp, #1088] + mov r10, r0, asl #1 + ldrh r2, [r3, r10] + ldr r3, .L1093+56 + ldrh r3, [r3] + cmp r2, r3 + bcs .L1012 + mov r1, #0 + ldr r2, [sp, #8] + bl gc_add_sblk + cmp r0, #0 + beq .L1013 + ldr r3, .L1093 + add r4, r4, #1 + add r6, r6, #1 + uxth r4, r4 + ldr r3, [r3, #1088] + uxth r6, r6 + ldrh r3, [r3, r10] + add r7, r7, r3 + ldr r3, [sp, #12] + uxth r7, r7 + cmp r7, r3 + cmpls r4, r5 + bcc .L1013 + b .L1014 +.L1012: + ldr r3, .L1093+8 + mov r2, #0 + strh r2, [r3, #-4] @ movhi + b .L1014 +.L1010: + mov r3, #0 + strh r3, [r10] @ movhi + b .L1014 +.L1013: + sub r8, r8, #1 + uxth r8, r8 + cmp r8, #0 + bne .L1015 +.L1014: + ldr r0, .L1093+44 + cmp r4, r5 + sub r2, r0, #3088 + bcc .L1016 + cmp r6, #0 + bne .L1017 + ldr ip, .L1093 + sub r3, r0, #3072 + movw r1, #2798 + ldrh r3, [r3, #-12] + ldrh r1, [ip, r1] + cmp r1, r3 + bls .L1017 +.L1016: + ldr r3, .L1093+8 + movw r1, #2810 + ldrh r2, [r2, #-8] + ldrh ip, [fp, r1] + ldrh lr, [r3, #-10] + ldrb r3, [r0, #-3123] @ zero_extendqisi2 + mov r2, r2, lsr #3 + mul r3, r3, lr + rsb r3, r2, r3 + cmp ip, r3 + addlt r3, r2, ip + ldrlt r2, .L1093 + strlth r3, [r2, r1] @ movhi + b .L1009 +.L1017: + ldrh ip, [r2, #-8] + movw r1, #2810 + ldrb r2, [r0, #-3123] @ zero_extendqisi2 + ldrh r3, [fp, r1] + mul r2, r2, ip + cmp r3, r2 + subgt r3, r3, ip, lsr #3 + bgt .L1089 + b .L990 +.L1009: + ldr r3, [sp, #20] + cmp r3, #0 + beq .L990 + ldr r3, [sp, #12] + uxth r9, r5 + cmp r4, r9 + cmpcc r7, r3 + bcs .L990 + ldr r10, .L1093 + mov r6, #64 +.L1023: + ldr r2, .L1093+12 + ldr fp, .L1093 + add r0, r2, #6 + ldrh r8, [r2] + str r2, [sp, #20] + mov r1, r8 + bl _list_get_gc_head_node + movw r1, #65535 + cmp r0, r1 + ldr r2, [sp, #20] + beq .L1019 + ldr r3, .L1093+12 + add r8, r8, #1 + ldr r2, [r10, #1088] + strh r8, [r3] @ movhi + mov r8, r0, asl #1 + ldrh r1, [r2, r8] + ldr r2, .L1093+60 + ldrh r2, [r2] + cmp r1, r2 + bcs .L1020 + ldr r2, .L1093+52 + ldrh r1, [r3, #24] + ldrh r2, [r2] + cmp r2, r1, lsr #1 + bls .L1021 +.L1020: + mov r1, #0 + ldr r2, [sp, #8] + bl gc_add_sblk + cmp r0, #0 + beq .L1022 + ldr r2, [r10, #1088] + add r4, r4, #1 + ldr r3, [sp, #12] + uxth r4, r4 + ldrh r2, [r2, r8] + add r7, r7, r2 + uxth r7, r7 + cmp r7, r3 + cmpls r4, r9 + bcc .L1022 + b .L1021 +.L1019: + cmp r8, #64 + movhi r3, #0 + strhih r3, [r2] @ movhi + b .L1021 +.L1022: + sub r6, r6, #1 + uxth r6, r6 + cmp r6, #0 + bne .L1023 +.L1021: + cmp r4, r9 + ldr r0, .L1093+36 + movw r1, #2812 + bcs .L1024 + ldrh r2, [r0, #-8] + ldrh r3, [fp, r1] + cmp r3, r2, lsr #1 + bls .L990 + sub r3, r3, r2, lsr #3 +.L1089: + ldr r2, .L1093 +.L1090: + strh r3, [r2, r1] @ movhi + b .L990 +.L1024: + ldr r3, .L1093+44 + ldrh r0, [r0, #-8] + ldrh r2, [fp, r1] + ldrb r3, [r3, #-3123] @ zero_extendqisi2 + mul r3, r3, r0 + sub r3, r3, #32 + cmp r2, r3 + addlt r2, r2, r0, lsr #3 + ldrlt r3, .L1093 + strlth r2, [r3, r1] @ movhi +.L990: + ldr r3, .L1093+16 + ldr r3, [r3] + tst r3, #256 + beq .L1025 + str r5, [sp] + mov r3, r4 + ldr r0, .L1093+64 + ldr r1, [sp, #8] + ldr r2, [sp, #16] + bl printk +.L1025: + mov r0, r4 + add sp, sp, #36 + @ sp needed + ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} +.L1026: + ldr r3, [sp, #12] + cmp r7, r3 + bcs .L997 + ldr r9, .L1093+12 + mov r8, #64 + movw r10, #65535 +.L1008: + ldrh fp, [r9] + ldr r2, .L1093+12 + mov r1, fp + add r0, r2, #6 + str r2, [sp, #28] + bl _list_get_gc_head_node + cmp r0, r10 + mov r3, r0 + str r0, [sp, #24] + ldr r2, [sp, #28] + beq .L1006 + mov r1, #0 + ldr r2, [sp, #8] + add fp, fp, #1 + strh fp, [r9] @ movhi + bl gc_add_sblk + cmp r0, #0 + ldr r3, [sp, #24] + beq .L1007 + ldr r2, [r6, #1088] + mov r3, r3, asl #1 + add r4, r4, #1 + ldrh r3, [r2, r3] + uxth r4, r4 + add r7, r7, r3 + ldr r3, [sp, #12] + uxth r7, r7 + cmp r7, r3 + cmpls r4, r5 + bcc .L1007 + b .L997 +.L1006: + cmp fp, #64 + movhi r3, #0 + strhih r3, [r2] @ movhi + b .L997 +.L1007: + sub r8, r8, #1 + uxth r8, r8 + cmp r8, #0 + bne .L1008 + b .L997 +.L1094: + .align 2 +.L1093: + .word .LANCHOR0 + .word .LANCHOR0+2828 + .word .LANCHOR3-3104 + .word .LANCHOR3-3110 + .word .LANCHOR2 + .word .LC101 + .word .LANCHOR0+2814 + .word .LANCHOR3-3108 + .word .LANCHOR0+2816 + .word .LANCHOR3-3088 + .word .LANCHOR3-3112 + .word .LANCHOR3 + .word .LANCHOR0+2794 + .word .LANCHOR0+2796 + .word .LANCHOR0+2810 + .word .LANCHOR0+2812 + .word .LC102 + .fnend + .size gc_search_src_blk, .-gc_search_src_blk + .align 2 .global zftl_get_gc_node .type zftl_get_gc_node, %function zftl_get_gc_node: @@ -6210,20 +6237,20 @@ zftl_get_gc_node: @ link register save eliminated. cmp r1, #5 mov r3, r0 - ldreq r0, .L1096 - beq .L1095 + ldreq r0, .L1099 + beq .L1098 cmp r1, #2 - ldreq r0, .L1096+4 - ldrne r0, .L1096+8 -.L1095: + ldreq r0, .L1099+4 + ldrne r0, .L1099+8 +.L1098: mov r1, r3 b _list_get_gc_head_node -.L1097: +.L1100: .align 2 -.L1096: - .word .LANCHOR3-3176 - .word .LANCHOR3-3168 - .word .LANCHOR3-3180 +.L1099: + .word .LANCHOR3-3100 + .word .LANCHOR3-3092 + .word .LANCHOR3-3104 .fnend .size zftl_get_gc_node, .-zftl_get_gc_node .align 2 @@ -6234,32 +6261,32 @@ zftl_insert_free_list: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1102 + ldr r3, .L1105 mov r1, r0 ldr r3, [r3, #1080] add r3, r3, r0, asl #2 ldrb r3, [r3, #2] @ zero_extendqisi2 ands r3, r3, #24 - ldreq r0, .L1102+4 - ldreq r2, .L1102+8 - beq .L1101 -.L1099: - cmp r3, #16 - ldreq r0, .L1102+12 - ldreq r2, .L1102+16 - ldrne r0, .L1102+20 - ldrne r2, .L1102+24 -.L1101: - b _insert_free_list -.L1103: - .align 2 + ldreq r0, .L1105+4 + ldreq r2, .L1105+8 + beq .L1104 .L1102: + cmp r3, #16 + ldreq r0, .L1105+12 + ldreq r2, .L1105+16 + ldrne r0, .L1105+20 + ldrne r2, .L1105+24 +.L1104: + b _insert_free_list +.L1106: + .align 2 +.L1105: .word .LANCHOR0 - .word .LANCHOR3-3156 + .word .LANCHOR3-3080 .word .LANCHOR0+2788 - .word .LANCHOR3-3152 + .word .LANCHOR3-3076 .word .LANCHOR0+2790 - .word .LANCHOR3-3148 + .word .LANCHOR3-3072 .word .LANCHOR0+2792 .fnend .size zftl_insert_free_list, .-zftl_insert_free_list @@ -6271,37 +6298,37 @@ zftl_insert_data_list: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1109 + ldr r3, .L1112 mov r1, r0 ldr r3, [r3, #1080] add r3, r3, r0, asl #2 ldrb r3, [r3, #2] @ zero_extendqisi2 and r3, r3, #224 cmp r3, #64 - ldreq r0, .L1109+4 - ldreq r2, .L1109+8 - beq .L1108 -.L1105: + ldreq r0, .L1112+4 + ldreq r2, .L1112+8 + beq .L1111 +.L1108: cmp r3, #96 - ldreq r0, .L1109+12 - ldreq r2, .L1109+16 - beq .L1108 -.L1106: + ldreq r0, .L1112+12 + ldreq r2, .L1112+16 + beq .L1111 +.L1109: cmp r3, #160 bxne lr - ldr r0, .L1109+20 - ldr r2, .L1109+24 -.L1108: + ldr r0, .L1112+20 + ldr r2, .L1112+24 +.L1111: b _insert_data_list -.L1110: +.L1113: .align 2 -.L1109: +.L1112: .word .LANCHOR0 - .word .LANCHOR3-3168 + .word .LANCHOR3-3092 .word .LANCHOR0+2794 - .word .LANCHOR3-3180 + .word .LANCHOR3-3104 .word .LANCHOR0+2796 - .word .LANCHOR3-3176 + .word .LANCHOR3-3100 .word .LANCHOR0+2798 .fnend .size zftl_insert_data_list, .-zftl_insert_data_list @@ -6316,7 +6343,7 @@ zftl_gc_get_free_sblk: .save {r4, r5, r6, r7, r8, lr} .pad #16 movw r2, #65535 - ldr r8, .L1126 + ldr r8, .L1129 mov r7, r0 ldr r3, [r8, #1092] add r3, r3, #588 @@ -6326,16 +6353,16 @@ zftl_gc_get_free_sblk: mov r3, r3, lsr #5 moveq r3, #0 cmp r3, #0 - beq .L1112 - ldr r0, .L1126+4 + beq .L1115 + ldr r0, .L1129+4 mov r1, r4 bl printk ldr r3, [r8, #1092] mvn r2, #0 add r3, r3, #588 strh r2, [r3] @ movhi - b .L1113 -.L1112: + b .L1116 +.L1115: movw r3, #2790 mov r6, r1 ldrh r1, [r8, r3] @@ -6343,34 +6370,34 @@ zftl_gc_get_free_sblk: ldrh r3, [r8, r3] mov r5, r8 cmp r1, r3 - bcc .L1114 + bcc .L1117 movw r2, #2788 ldrh r2, [r8, r2] cmp r3, #0 cmpne r2, r1 - bls .L1115 -.L1114: + bls .L1118 +.L1117: cmp r7, #0 - ldr r0, .L1126+8 + ldr r0, .L1129+8 rsbne r1, r1, r1, asl #3 moveq r1, r3, lsr #2 ubfxne r1, r1, #3, #16 - ldr r2, .L1126+12 - b .L1125 -.L1115: + ldr r2, .L1129+12 + b .L1128 +.L1118: cmp r0, #0 - ldr r2, .L1126+16 + ldr r2, .L1129+16 movne r1, r1, lsr #3 moveq r1, r0 - ldr r0, .L1126+20 -.L1125: + ldr r0, .L1129+20 +.L1128: bl _list_pop_index_node movw r3, #65535 uxth r4, r0 cmp r4, r3 - bne .L1120 + bne .L1123 movw r3, #2788 - ldr r0, .L1126+24 + ldr r0, .L1129+24 ldrh r3, [r5, r3] mov r1, r4 mov r2, r6 @@ -6378,16 +6405,16 @@ zftl_gc_get_free_sblk: movw r3, #2792 ldrh r3, [r5, r3] str r3, [sp, #4] - ldr r3, .L1126+28 - ldr r3, [r3, #-3156] + ldr r3, .L1129+28 + ldr r3, [r3, #-3080] bl printk -.L1120: +.L1123: cmp r7, #0 - beq .L1113 - ldr r3, .L1126+32 + beq .L1116 + ldr r3, .L1129+32 ldr r3, [r3] tst r3, #256 - beq .L1113 + beq .L1116 ldr r2, [r5, #1080] mov r0, r4, asl #2 add r3, r2, r0 @@ -6396,7 +6423,7 @@ zftl_gc_get_free_sblk: ubfx r1, r1, #11, #8 str r1, [sp] ldrh r2, [r2, r0] - ldr r0, .L1126+36 + ldr r0, .L1129+36 ubfx r2, r2, #0, #11 str r2, [sp, #4] ldr r1, [r5, #1088] @@ -6407,20 +6434,20 @@ zftl_gc_get_free_sblk: mov r2, r3, lsr #5 ubfx r3, r3, #3, #2 bl printk -.L1113: +.L1116: mov r0, r4 add sp, sp, #16 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L1127: +.L1130: .align 2 -.L1126: +.L1129: .word .LANCHOR0 .word .LC103 - .word .LANCHOR3-3148 + .word .LANCHOR3-3072 .word .LANCHOR0+2792 .word .LANCHOR0+2790 - .word .LANCHOR3-3152 + .word .LANCHOR3-3076 .word .LC104 .word .LANCHOR3 .word .LANCHOR2 @@ -6435,108 +6462,115 @@ zftl_get_free_sblk: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 cmp r1, #5 - stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, lr} - .save {r4, r5, r6, r7, lr} - .pad #12 - mov r6, r1 - ldr r5, .L1143 - bne .L1129 + stmfd sp!, {r0, r1, r4, r5, r6, r7, r8, lr} + .save {r4, r5, r6, r7, r8, lr} + .pad #8 + mov r7, r1 + ldr r5, .L1147 + bne .L1132 movw r3, #2790 ldrh r1, [r5, r3] movw r3, #2792 ldrh r2, [r5, r3] cmp r1, r2 - bcc .L1130 + bcc .L1133 movw r3, #2788 ldrh r3, [r5, r3] cmp r2, #0 cmpne r3, r1 movhi r1, #1 movls r1, #0 - bls .L1131 -.L1130: - ldr r0, .L1143+4 + bls .L1134 +.L1133: + ldr r0, .L1147+4 mov r1, r2, lsr #1 - b .L1142 -.L1131: - ldr r0, .L1143+8 - ldr r2, .L1143+12 - b .L1141 -.L1129: - ldr r2, [r5, #1092] - movw r7, #590 - ldrh r4, [r2, r7] - movw r2, #65535 + b .L1146 +.L1134: + ldr r0, .L1147+8 + ldr r2, .L1147+12 + b .L1145 +.L1132: + ldr r3, [r5, #1092] + movw r8, #590 + ldrh r4, [r3, r8] + movw r3, #65535 cmp r1, #1 - cmpne r4, r2 - beq .L1133 - ldr r0, .L1143+16 + cmpne r4, r3 + beq .L1136 + ldr r0, .L1147+16 mov r1, r4 bl printk ldr r3, [r5, #1092] mvn r2, #0 - strh r2, [r3, r7] @ movhi - b .L1134 -.L1133: - movw r2, #2788 - movw r1, #2792 - ldrh r2, [r5, r2] - mov r3, r0 - ldrh r1, [r5, r1] - cmp r2, r1 - bcc .L1135 - movw r0, #2790 - ldrh r0, [r5, r0] - cmp r1, #0 - cmpne r0, r2 - bls .L1136 -.L1135: - cmp r6, #1 - ldr r0, .L1143+4 - moveq r3, r1, lsr #1 - mov r1, r3 -.L1142: - ldr r2, .L1143+20 - b .L1141 + strh r2, [r3, r8] @ movhi + b .L1137 .L1136: - cmp r6, #1 - ldr r0, .L1143+24 - moveq r3, r2, lsr #1 - ldr r2, .L1143+28 - mov r1, r3 -.L1141: + movw r3, #2788 + movw r2, #2792 + ldrh r3, [r5, r3] + mov r6, r0 + ldrh r2, [r5, r2] + cmp r3, r2 + bcc .L1138 + movw r1, #2790 + ldrh r1, [r5, r1] + cmp r2, #0 + cmpne r1, r3 + bls .L1139 +.L1138: + bl get_ink_scaned_blk + movw r3, #65535 + cmp r0, r3 + movne r4, r0 + bne .L1137 + cmp r7, #1 + ldr r0, .L1147+4 + movweq r3, #2792 + ldreqh r6, [r5, r3] + moveq r6, r6, lsr #1 + mov r1, r6 +.L1146: + ldr r2, .L1147+20 + b .L1145 +.L1139: + cmp r7, #1 + ldr r0, .L1147+24 + moveq r6, r3, lsr #1 + ldr r2, .L1147+28 + mov r1, r6 +.L1145: bl _list_pop_index_node movw r3, #65535 uxth r4, r0 cmp r4, r3 - bne .L1134 + bne .L1137 movw r3, #2788 - ldr r0, .L1143+32 + ldr r0, .L1147+32 ldrh r3, [r5, r3] mov r1, r4 - mov r2, r6 + mov r2, r7 str r3, [sp] movw r3, #2792 ldrh r3, [r5, r3] str r3, [sp, #4] - ldr r3, .L1143+36 - ldr r3, [r3, #-3156] + ldr r3, .L1147+36 + ldr r3, [r3, #-3080] bl printk -.L1134: +.L1137: mov r0, r4 - add sp, sp, #12 + add sp, sp, #8 @ sp needed - ldmfd sp!, {r4, r5, r6, r7, pc} -.L1144: + ldmfd sp!, {r4, r5, r6, r7, r8, pc} +.L1148: .align 2 -.L1143: +.L1147: .word .LANCHOR0 - .word .LANCHOR3-3148 - .word .LANCHOR3-3152 + .word .LANCHOR3-3072 + .word .LANCHOR3-3076 .word .LANCHOR0+2790 .word .LC106 .word .LANCHOR0+2792 - .word .LANCHOR3-3156 + .word .LANCHOR3-3080 .word .LANCHOR0+2788 .word .LC104 .word .LANCHOR3 @@ -6550,37 +6584,37 @@ zftl_remove_data_node: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1150 + ldr r3, .L1154 mov r1, r0 ldr r3, [r3, #1080] add r3, r3, r0, asl #2 ldrb r3, [r3, #2] @ zero_extendqisi2 and r3, r3, #224 cmp r3, #64 - ldreq r0, .L1150+4 - ldreq r2, .L1150+8 - beq .L1149 -.L1146: + ldreq r0, .L1154+4 + ldreq r2, .L1154+8 + beq .L1153 +.L1150: cmp r3, #96 - ldreq r0, .L1150+12 - ldreq r2, .L1150+16 - beq .L1149 -.L1147: + ldreq r0, .L1154+12 + ldreq r2, .L1154+16 + beq .L1153 +.L1151: cmp r3, #160 bxne lr - ldr r0, .L1150+20 - ldr r2, .L1150+24 -.L1149: + ldr r0, .L1154+20 + ldr r2, .L1154+24 +.L1153: b _list_remove_node -.L1151: +.L1155: .align 2 -.L1150: +.L1154: .word .LANCHOR0 - .word .LANCHOR3-3168 + .word .LANCHOR3-3092 .word .LANCHOR0+2794 - .word .LANCHOR3-3180 + .word .LANCHOR3-3104 .word .LANCHOR0+2796 - .word .LANCHOR3-3176 + .word .LANCHOR3-3100 .word .LANCHOR0+2798 .fnend .size zftl_remove_data_node, .-zftl_remove_data_node @@ -6592,32 +6626,32 @@ zftl_remove_free_node: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1156 + ldr r3, .L1160 mov r1, r0 ldr r3, [r3, #1080] add r3, r3, r0, asl #2 ldrb r3, [r3, #2] @ zero_extendqisi2 ands r3, r3, #24 - ldreq r0, .L1156+4 - ldreq r2, .L1156+8 - beq .L1155 -.L1153: - cmp r3, #16 - ldreq r0, .L1156+12 - ldreq r2, .L1156+16 - ldrne r0, .L1156+20 - ldrne r2, .L1156+24 -.L1155: - b _list_remove_node + ldreq r0, .L1160+4 + ldreq r2, .L1160+8 + beq .L1159 .L1157: + cmp r3, #16 + ldreq r0, .L1160+12 + ldreq r2, .L1160+16 + ldrne r0, .L1160+20 + ldrne r2, .L1160+24 +.L1159: + b _list_remove_node +.L1161: .align 2 -.L1156: +.L1160: .word .LANCHOR0 - .word .LANCHOR3-3156 + .word .LANCHOR3-3080 .word .LANCHOR0+2788 - .word .LANCHOR3-3152 + .word .LANCHOR3-3076 .word .LANCHOR0+2790 - .word .LANCHOR3-3148 + .word .LANCHOR3-3072 .word .LANCHOR0+2792 .fnend .size zftl_remove_free_node, .-zftl_remove_free_node @@ -6629,37 +6663,37 @@ zftl_list_update_data_list: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1163 + ldr r3, .L1167 mov r1, r0 ldr r3, [r3, #1080] add r3, r3, r0, asl #2 ldrb r3, [r3, #2] @ zero_extendqisi2 and r3, r3, #224 cmp r3, #64 - ldreq r0, .L1163+4 - ldreq r2, .L1163+8 - beq .L1162 -.L1159: + ldreq r0, .L1167+4 + ldreq r2, .L1167+8 + beq .L1166 +.L1163: cmp r3, #96 - ldreq r0, .L1163+12 - ldreq r2, .L1163+16 - beq .L1162 -.L1160: + ldreq r0, .L1167+12 + ldreq r2, .L1167+16 + beq .L1166 +.L1164: cmp r3, #160 bxne lr - ldr r0, .L1163+20 - ldr r2, .L1163+24 -.L1162: + ldr r0, .L1167+20 + ldr r2, .L1167+24 +.L1166: b _list_update_data_list -.L1164: +.L1168: .align 2 -.L1163: +.L1167: .word .LANCHOR0 - .word .LANCHOR3-3168 + .word .LANCHOR3-3092 .word .LANCHOR0+2794 - .word .LANCHOR3-3180 + .word .LANCHOR3-3104 .word .LANCHOR0+2796 - .word .LANCHOR3-3176 + .word .LANCHOR3-3100 .word .LANCHOR0+2798 .fnend .size zftl_list_update_data_list, .-zftl_list_update_data_list @@ -6677,15 +6711,15 @@ print_list_info: .pad #36 sub sp, sp, #36 ldr r1, [r4] - ldr r0, .L1170 + ldr r0, .L1174 bl printk ldr r4, [r4] cmp r4, #0 - beq .L1165 - ldr r6, .L1170+4 + beq .L1169 + ldr r6, .L1174+4 mov r5, #0 - ldr r7, .L1170+8 -.L1168: + ldr r7, .L1174+8 +.L1172: ldr r2, [r6, #1036] ldrh r0, [r4, #2] rsb r2, r2, r4 @@ -6714,35 +6748,35 @@ print_list_info: str r1, [sp, #20] mov r1, r2, asl #1 ldrh r1, [r0, r1] - ldr r0, .L1170+12 + ldr r0, .L1174+12 str r1, [sp, #24] mov r1, r5 bl printk ldrh r2, [r4] movw r3, #65535 cmp r2, r3 - beq .L1165 + beq .L1169 ldr r3, [r6, #1036] mov r4, #6 add r5, r5, #1 mla r4, r4, r2, r3 - ldr r3, .L1170+16 + ldr r3, .L1174+16 uxth r5, r5 ldrh r3, [r3] cmp r3, r5 - bcs .L1168 -.L1165: + bcs .L1172 +.L1169: add sp, sp, #36 @ sp needed ldmfd sp!, {r4, r5, r6, r7, pc} -.L1171: +.L1175: .align 2 -.L1170: +.L1174: .word .LC107 .word .LANCHOR0 .word -1431655765 .word .LC108 - .word .LANCHOR3-3144 + .word .LANCHOR3-3068 .fnend .size print_list_info, .-print_list_info .align 2 @@ -6754,39 +6788,38 @@ dump_all_list_info: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} - ldr r5, .L1174 - ldr r4, .L1174+4 - add r1, r5, #2784 - sub r6, r4, #3152 + ldr r4, .L1178 + ldr r5, .L1178+4 + add r1, r4, #2784 + sub r6, r5, #3072 add r1, r1, #4 - sub r0, r6, #4 + sub r0, r6, #8 bl print_list_info - add r1, r5, #2784 - mov r0, r6 + add r1, r4, #2784 + sub r0, r6, #4 add r1, r1, #6 bl print_list_info - sub r0, r4, #3136 - add r1, r5, #2784 - sub r4, r4, #3168 - sub r0, r0, #12 + add r1, r4, #2784 + mov r0, r6 add r1, r1, #8 bl print_list_info - add r1, r5, #2784 - mov r0, r4 + sub r6, r5, #3088 + add r1, r4, #2784 + sub r0, r6, #4 add r1, r1, #10 bl print_list_info - add r1, r5, #2784 - sub r0, r4, #12 + add r1, r4, #2784 + sub r0, r5, #3104 add r1, r1, #12 bl print_list_info - add r1, r5, #2784 - sub r0, r4, #8 + add r1, r4, #2784 + sub r0, r6, #12 add r1, r1, #14 ldmfd sp!, {r4, r5, r6, lr} b print_list_info -.L1175: +.L1179: .align 2 -.L1174: +.L1178: .word .LANCHOR0 .word .LANCHOR3 .fnend @@ -6799,7 +6832,7 @@ ftl_tmp_into_update: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1181 + ldr r3, .L1185 ldr r3, [r3, #2804] ldr r2, [r3, #16] cmp r2, #2048 @@ -6834,9 +6867,9 @@ ftl_tmp_into_update: addhi r1, r1, r0 strhi r1, [r3, #44] bx lr -.L1182: +.L1186: .align 2 -.L1181: +.L1185: .word .LANCHOR0 .fnend .size ftl_tmp_into_update, .-ftl_tmp_into_update @@ -6852,24 +6885,24 @@ ftl_get_blk_list_in_sblk: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #12 mov r5, #0 - ldr r8, .L1193 + ldr r8, .L1197 mov r10, r0 - ldr r9, .L1193+4 + ldr r9, .L1197+4 mov r6, r1 - ldr r2, .L1193+8 + ldr r2, .L1197+8 mov r7, r5 ldr r4, [r8, #1080] add r4, r4, r0, asl #2 ldrb r3, [r4, #3] @ zero_extendqisi2 -.L1184: - ldrb r1, [r9, #-3195] @ zero_extendqisi2 +.L1188: + ldrb r1, [r9, #-3123] @ zero_extendqisi2 cmp r7, r1 - ldr r1, .L1193+4 - bge .L1191 + ldr r1, .L1197+4 + bge .L1195 mov r1, r3, asr r7 tst r1, #1 - bne .L1185 - ldrb r4, [r9, #-3202] @ zero_extendqisi2 + bne .L1189 + ldrb r4, [r9, #-3130] @ zero_extendqisi2 mov r0, r7 str r2, [sp, #4] mov fp, r5, asl #1 @@ -6887,35 +6920,35 @@ ftl_get_blk_list_in_sblk: add r0, r4, r0, asl r1 uxth r4, r0 strh r4, [r6, fp] @ movhi - ldrb r1, [r9, #-3202] @ zero_extendqisi2 + ldrb r1, [r9, #-3130] @ zero_extendqisi2 cmp r1, #1 subhi r1, r1, #1 andhi r1, r1, r7 addhi r4, r4, r1 strhih r4, [r6, fp] @ movhi -.L1185: +.L1189: add r7, r7, #1 - b .L1184 -.L1191: + b .L1188 +.L1195: add r6, r6, r5, asl #1 mov r0, r5 mvn r2, #0 -.L1188: - ldrb r3, [r1, #-3195] @ zero_extendqisi2 +.L1192: + ldrb r3, [r1, #-3123] @ zero_extendqisi2 cmp r5, r3 strlth r2, [r6], #2 @ movhi addlt r5, r5, #1 - blt .L1188 -.L1192: + blt .L1192 +.L1196: add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1194: +.L1198: .align 2 -.L1193: +.L1197: .word .LANCHOR0 .word .LANCHOR3 - .word .LANCHOR3-3204 + .word .LANCHOR3-3132 .fnend .size ftl_get_blk_list_in_sblk, .-ftl_get_blk_list_in_sblk .align 2 @@ -6928,41 +6961,41 @@ ftl_erase_phy_blk: stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} mov r6, r1 - ldr r3, .L1201 + ldr r3, .L1205 ldrb r4, [r3, #1189] @ zero_extendqisi2 - ldr r3, .L1201+4 + ldr r3, .L1205+4 rsb r4, r4, #24 - sub r2, r3, #3200 - sub r7, r3, #3136 - ldrh r2, [r2, #-4] + sub r2, r3, #3120 + sub r7, r3, #3056 + ldrh r2, [r2, #-12] rsb r4, r2, r4 mvn r2, #0 mov r5, r0, asr r4 bic r4, r0, r2, asl r4 - ldrb r2, [r3, #-3194] @ zero_extendqisi2 + ldrb r2, [r3, #-3122] @ zero_extendqisi2 uxtb r5, r5 sxth r4, r4 cmp r2, #0 - beq .L1196 - ldrb r3, [r3, #-3193] @ zero_extendqisi2 + beq .L1200 + ldrb r3, [r3, #-3121] @ zero_extendqisi2 cmp r3, #0 - bne .L1196 - ldrh r2, [r7, #-6] + bne .L1200 + ldrh r2, [r7, #-10] clz r1, r1 mov r0, r5 mov r1, r1, lsr #5 mul r2, r2, r4 bl flash_erase_block_en -.L1196: - ldrh r2, [r7, #-6] +.L1200: + ldrh r2, [r7, #-10] mov r0, r5 uxtb r1, r6 mul r2, r2, r4 ldmfd sp!, {r3, r4, r5, r6, r7, lr} b flash_erase_block_en -.L1202: +.L1206: .align 2 -.L1201: +.L1205: .word .LANCHOR0 .word .LANCHOR3 .fnend @@ -6977,10 +7010,10 @@ ftl_erase_sblk: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r10, r0, asl #2 - ldr r4, .L1231 + ldr r4, .L1235 .pad #84 sub sp, sp, #84 - ldr r9, .L1231+4 + ldr r9, .L1235+4 mov r8, r0 mov r7, r1 mov r6, #0 @@ -6988,28 +7021,28 @@ ftl_erase_sblk: add r3, r3, r10 ldrb r3, [r3, #3] @ zero_extendqisi2 str r3, [sp, #12] -.L1204: - ldrb r3, [r9, #-3140] @ zero_extendqisi2 +.L1208: + ldrb r3, [r9, #-3064] @ zero_extendqisi2 cmp r6, r3 - bge .L1215 - ldrb r2, [r9, #-3202] @ zero_extendqisi2 + bge .L1219 + ldrb r2, [r9, #-3130] @ zero_extendqisi2 mov r5, #0 sub fp, r2, #1 mul r3, r2, r8 mul ip, r2, r6 str r3, [sp, #4] - ldr r3, .L1231+8 + ldr r3, .L1235+8 ldrh r3, [r3] str r3, [sp, #8] mov r3, r5 -.L1216: +.L1220: cmp r3, r2 - bge .L1230 + bge .L1234 ldr lr, [sp, #12] add r1, r3, ip mov r1, lr, asr r1 tst r1, #1 - bne .L1205 + bne .L1209 add r1, sp, #80 ldr r0, [sp, #4] add lr, r1, r5, asl #2 @@ -7019,18 +7052,18 @@ ftl_erase_sblk: add r5, r5, #1 mul r1, r0, r1 str r1, [lr, #-64] -.L1205: +.L1209: add r3, r3, #1 - b .L1216 -.L1230: + b .L1220 +.L1234: cmp r2, #4 - bne .L1228 + bne .L1232 uxtb r3, r6 uxtb ip, r7 mov fp, #0 -.L1207: +.L1211: cmp fp, r5 - beq .L1210 + beq .L1214 mov r0, r3 str r3, [sp, #8] add r3, sp, #16 @@ -7041,59 +7074,59 @@ ftl_erase_sblk: bl flash_erase_block_en ldr ip, [sp, #4] ldr r3, [sp, #8] - b .L1207 -.L1228: + b .L1211 +.L1232: cmp r5, #2 - bne .L1211 - ldr r3, .L1231+4 + bne .L1215 + ldr r3, .L1235+4 uxtb r5, r6 - ldrb r3, [r3, #-3194] @ zero_extendqisi2 + ldrb r3, [r3, #-3122] @ zero_extendqisi2 cmp r3, #0 - beq .L1212 - ldrb r3, [r9, #-3193] @ zero_extendqisi2 + beq .L1216 + ldrb r3, [r9, #-3121] @ zero_extendqisi2 cmp r3, #0 - bne .L1212 + bne .L1216 clz r1, r7 mov r0, r5 ldr r2, [sp, #16] mov r1, r1, lsr #5 ldr r3, [sp, #20] bl flash_erase_duplane_block -.L1212: +.L1216: mov r0, r5 uxtb r1, r7 ldr r2, [sp, #16] ldr r3, [sp, #20] bl flash_erase_duplane_block - b .L1210 -.L1211: + b .L1214 +.L1215: cmp r5, #1 - bne .L1210 - ldr r3, .L1231+4 - uxtb r5, r6 - ldrb r3, [r3, #-3194] @ zero_extendqisi2 - cmp r3, #0 - beq .L1214 - ldrb r3, [r9, #-3193] @ zero_extendqisi2 - cmp r3, #0 bne .L1214 + ldr r3, .L1235+4 + uxtb r5, r6 + ldrb r3, [r3, #-3122] @ zero_extendqisi2 + cmp r3, #0 + beq .L1218 + ldrb r3, [r9, #-3121] @ zero_extendqisi2 + cmp r3, #0 + bne .L1218 clz r1, r7 mov r0, r5 ldr r2, [sp, #16] mov r1, r1, lsr #5 bl flash_erase_block_en +.L1218: + mov r0, r5 + uxtb r1, r7 + ldr r2, [sp, #16] + bl flash_erase_block_en .L1214: - mov r0, r5 - uxtb r1, r7 - ldr r2, [sp, #16] - bl flash_erase_block_en -.L1210: add r6, r6, #1 - b .L1204 -.L1215: + b .L1208 +.L1219: cmp r7, #0 ldr r1, [r4, #1080] - bne .L1217 + bne .L1221 ldrh r3, [r1, r10] ubfx r2, r3, #0, #11 add r2, r2, #1 @@ -7110,8 +7143,8 @@ ftl_erase_sblk: uxth r1, r2 cmp r0, r1 strlth r2, [r3, #96] @ movhi - b .L1219 -.L1217: + b .L1223 +.L1221: ldr r3, [r1, r8, asl #2] ubfx r2, r3, #11, #8 add r2, r2, #1 @@ -7127,17 +7160,17 @@ ftl_erase_sblk: ubfx r2, r2, #11, #8 cmp r1, r2 strcch r2, [r3, #98] @ movhi -.L1219: +.L1223: mov r0, #0 add sp, sp, #84 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1232: +.L1236: .align 2 -.L1231: +.L1235: .word .LANCHOR0 .word .LANCHOR3 - .word .LANCHOR3-3142 + .word .LANCHOR3-3066 .fnend .size ftl_erase_sblk, .-ftl_erase_sblk .align 2 @@ -7147,7 +7180,7 @@ ftl_alloc_sys_blk: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1244 + ldr r3, .L1248 stmfd sp!, {r4, lr} .save {r4, lr} ldr r2, [r3, #2804] @@ -7158,32 +7191,32 @@ ftl_alloc_sys_blk: strhih r3, [r2, #136] @ movhi ldrh r3, [r2, #112] cmp r3, #0 - bne .L1235 - ldr r1, .L1244+4 - movw r2, #1283 - ldr r0, .L1244+8 + bne .L1239 + ldr r1, .L1248+4 + movw r2, #1359 + ldr r0, .L1248+8 bl printk bl dump_stack -.L1235: +.L1239: ldr r3, [r4, #2804] movw lr, #65535 mov ip, #0 -.L1239: +.L1243: ldrh r2, [r3, #136] add r1, r2, #79 add r1, r3, r1, asl #1 -.L1236: +.L1240: cmp r2, #63 - bgt .L1243 + bgt .L1247 ldrh r0, [r1, #2]! cmp r0, lr - bne .L1241 + bne .L1245 add r2, r2, #1 - b .L1236 -.L1243: + b .L1240 +.L1247: strh ip, [r3, #136] @ movhi - b .L1239 -.L1241: + b .L1243 +.L1245: add r1, r3, r2, asl #1 mvn ip, #0 strh ip, [r1, #160] @ movhi @@ -7192,9 +7225,9 @@ ftl_alloc_sys_blk: add r2, r2, ip strh r2, [r3, #112] @ movhi ldmfd sp!, {r4, pc} -.L1245: +.L1249: .align 2 -.L1244: +.L1248: .word .LANCHOR0 .word .LANCHOR1+1640 .word .LC0 @@ -7210,7 +7243,7 @@ ftl_free_sys_blk: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r5, r0 - ldr r3, .L1256 + ldr r3, .L1260 ldr r2, [r3, #2804] mov r4, r3 ldrh r1, [r2, #138] @@ -7219,26 +7252,26 @@ ftl_free_sys_blk: strhih r3, [r2, #138] @ movhi ldrh r3, [r2, #112] cmp r3, #63 - bls .L1248 - ldr r1, .L1256+4 - movw r2, #1310 - ldr r0, .L1256+8 + bls .L1252 + ldr r1, .L1260+4 + movw r2, #1386 + ldr r0, .L1260+8 bl printk bl dump_stack -.L1248: +.L1252: ldr r3, [r4, #2804] movw ip, #65535 mov r0, #0 -.L1252: +.L1256: ldrh r2, [r3, #138] add r1, r2, #79 add r1, r3, r1, asl #1 -.L1249: +.L1253: cmp r2, #63 - bgt .L1255 + bgt .L1259 ldrh lr, [r1, #2]! cmp lr, ip - bne .L1250 + bne .L1254 add r1, r3, r2, asl #1 strh r5, [r1, #160] @ movhi strh r2, [r3, #138] @ movhi @@ -7246,15 +7279,15 @@ ftl_free_sys_blk: add r2, r2, #1 strh r2, [r3, #112] @ movhi ldmfd sp!, {r3, r4, r5, pc} -.L1250: +.L1254: add r2, r2, #1 - b .L1249 -.L1255: + b .L1253 +.L1259: strh r0, [r3, #138] @ movhi - b .L1252 -.L1257: + b .L1256 +.L1261: .align 2 -.L1256: +.L1260: .word .LANCHOR0 .word .LANCHOR1+1660 .word .LC0 @@ -7273,7 +7306,7 @@ ftl_info_data_recovery: ldrh r6, [r0] cmp r6, r3 ldmeqfd sp!, {r4, r5, r6, r7, r8, pc} - ldr r4, .L1268 + ldr r4, .L1272 mov r8, r6, asl #2 ldr r5, [r4, #1080] add r7, r5, r8 @@ -7291,7 +7324,7 @@ ftl_info_data_recovery: ldrneh r3, [r2, #116] subne r3, r3, #1 strneh r3, [r2, #116] @ movhi - bne .L1263 + bne .L1267 tst r3, #24 ldreqh r3, [r2, #114] ldrneh r3, [r2, #118] @@ -7299,11 +7332,11 @@ ftl_info_data_recovery: subne r3, r3, #1 streqh r3, [r2, #114] @ movhi strneh r3, [r2, #118] @ movhi -.L1263: +.L1267: ldrb r3, [r7, #2] @ zero_extendqisi2 and r3, r3, #224 cmp r3, #160 - bne .L1265 + bne .L1269 ldr r3, [r5, r6, asl #2] ubfx r2, r3, #11, #8 add r2, r2, #1 @@ -7314,29 +7347,29 @@ ftl_info_data_recovery: sub r3, r3, #1 strh r3, [r2, #120] @ movhi ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L1265: +.L1269: ldrh r2, [r5, r8] cmp r3, #64 ubfx r1, r2, #0, #11 add r1, r1, #1 bfi r2, r1, #0, #11 strh r2, [r5, r8] @ movhi - bne .L1266 + bne .L1270 ldr r2, [r4, #2804] ldrh r3, [r2, #122] sub r3, r3, #1 strh r3, [r2, #122] @ movhi ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L1266: +.L1270: cmp r3, #96 ldreq r2, [r4, #2804] ldreqh r3, [r2, #124] subeq r3, r3, #1 streqh r3, [r2, #124] @ movhi ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L1269: +.L1273: .align 2 -.L1268: +.L1272: .word .LANCHOR0 .fnend .size ftl_info_data_recovery, .-ftl_info_data_recovery @@ -7350,12 +7383,12 @@ ftl_get_ppa_from_index: stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} mov r4, r0 - ldr r3, .L1275 - ldr r2, .L1275+4 + ldr r3, .L1279 + ldr r2, .L1279+4 ldr r5, [r3, #1092] - sub r3, r2, #3168 - ldrb r2, [r2, #-3195] @ zero_extendqisi2 - ldrh r3, [r3, #-4] + sub r3, r2, #3088 + ldrb r2, [r2, #-3123] @ zero_extendqisi2 + ldrh r3, [r3, #-8] mul r1, r2, r3 cmp r0, r1 addlt r5, r5, #16 @@ -7375,25 +7408,25 @@ ftl_get_ppa_from_index: add r5, r5, r4, asl #1 ldrh r4, [r5, #16] cmp r4, r3 - bne .L1273 - ldr r1, .L1275+8 - movw r2, #1937 - ldr r0, .L1275+12 + bne .L1277 + ldr r1, .L1279+8 + movw r2, #1945 + ldr r0, .L1279+12 bl printk bl dump_stack -.L1273: - ldr r3, .L1275+16 - ldrh r0, [r3, #-6] +.L1277: + ldr r3, .L1279+16 + ldrh r0, [r3, #-10] mla r0, r0, r4, r7 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1276: +.L1280: .align 2 -.L1275: +.L1279: .word .LANCHOR0 .word .LANCHOR3 .word .LANCHOR1+1680 .word .LC0 - .word .LANCHOR3-3136 + .word .LANCHOR3-3056 .fnend .size ftl_get_ppa_from_index, .-ftl_get_ppa_from_index .align 2 @@ -7403,36 +7436,37 @@ lpa_hash_get_ppa: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L1283 uxtb r3, r0 + ldr r2, .L1287 + ldr r1, .L1287+4 + mov r3, r3, asl #1 str lr, [sp, #-4]! .save {lr} - sub r1, r2, #3136 - mov r3, r3, asl #1 - ldr ip, [r2, #-2620] ldrh r3, [r1, r3] - ldr r1, [r2, #-2624] + ldr ip, [r2, #-2544] + ldr r1, [r2, #-2548] movw r2, #65535 -.L1278: +.L1282: cmp r3, r2 - beq .L1282 + beq .L1286 ldr lr, [r1, r3, asl #2] cmp lr, r0 - bne .L1279 + bne .L1283 mov r0, r3 ldr lr, [sp], #4 b ftl_get_ppa_from_index -.L1279: +.L1283: mov r3, r3, asl #1 ldrh r3, [ip, r3] - b .L1278 -.L1282: + b .L1282 +.L1286: mvn r0, #0 ldr pc, [sp], #4 -.L1284: +.L1288: .align 2 -.L1283: +.L1287: .word .LANCHOR3 + .word .LANCHOR3-3060 .fnend .size lpa_hash_get_ppa, .-lpa_hash_get_ppa .align 2 @@ -7448,44 +7482,44 @@ ftl_get_new_free_page: ldrh r2, [r0] mov r4, r0 cmp r2, r3 - bne .L1286 - ldr r1, .L1295 - mov r2, #2080 - ldr r0, .L1295+4 + bne .L1290 + ldr r1, .L1299 + movw r2, #2088 + ldr r0, .L1299+4 bl printk bl dump_stack -.L1286: - ldr r3, .L1295+8 +.L1290: + ldr r3, .L1299+8 ldrh r2, [r4, #2] - ldrh r3, [r3, #-4] + ldrh r3, [r3, #-8] cmp r2, r3 - bne .L1287 - ldr r1, .L1295 - movw r2, #2081 - ldr r0, .L1295+4 + bne .L1291 + ldr r1, .L1299 + movw r2, #2089 + ldr r0, .L1299+4 bl printk bl dump_stack -.L1287: +.L1291: ldrh r3, [r4, #6] cmp r3, #0 - bne .L1288 - ldr r1, .L1295 - movw r2, #2082 - ldr r0, .L1295+4 + bne .L1292 + ldr r1, .L1299 + movw r2, #2090 + ldr r0, .L1299+4 bl printk bl dump_stack -.L1288: +.L1292: ldrb r3, [r4, #5] @ zero_extendqisi2 movw r2, #65535 - ldr r1, .L1295+12 + ldr r1, .L1299+12 mov lr, #0 add r3, r4, r3, asl #1 - ldrb r0, [r1, #-3195] @ zero_extendqisi2 + ldrb r0, [r1, #-3123] @ zero_extendqisi2 ldrh ip, [r3, #16] -.L1289: +.L1293: cmp ip, r2 ldrb r3, [r4, #5] @ zero_extendqisi2 - bne .L1294 + bne .L1298 add r3, r3, #1 uxtb r3, r3 strb r3, [r4, #5] @@ -7497,14 +7531,14 @@ ftl_get_new_free_page: ldrb r3, [r4, #5] @ zero_extendqisi2 add r3, r4, r3, asl #1 ldrh ip, [r3, #16] - b .L1289 -.L1294: - ldr r0, .L1295+16 + b .L1293 +.L1298: + ldr r0, .L1299+16 add r3, r3, #1 - ldrb r1, [r1, #-3195] @ zero_extendqisi2 + ldrb r1, [r1, #-3123] @ zero_extendqisi2 uxtb r3, r3 ldrh r2, [r4, #2] - ldrh r0, [r0, #-6] + ldrh r0, [r0, #-10] cmp r1, r3 strb r3, [r4, #5] moveq r3, #0 @@ -7520,14 +7554,14 @@ ftl_get_new_free_page: add ip, ip, #1 strh ip, [r4, #10] @ movhi ldmfd sp!, {r4, pc} -.L1296: +.L1300: .align 2 -.L1295: +.L1299: .word .LANCHOR1+1704 .word .LC0 - .word .LANCHOR3-3168 + .word .LANCHOR3-3088 .word .LANCHOR3 - .word .LANCHOR3-3136 + .word .LANCHOR3-3056 .fnend .size ftl_get_new_free_page, .-ftl_get_new_free_page .align 2 @@ -7545,14 +7579,14 @@ ftl_ext_alloc_new_blk: mov r4, r0 uxth r3, r3 cmp r3, r2 - bls .L1298 - ldr r1, .L1300 - movw r2, #2117 - ldr r0, .L1300+4 + bls .L1302 + ldr r1, .L1304 + movw r2, #2125 + ldr r0, .L1304+4 bl printk bl dump_stack -.L1298: - ldr r5, .L1300+8 +.L1302: + ldr r5, .L1304+8 mov r1, #0 mov r0, r4 bl ftl_erase_phy_blk @@ -7564,9 +7598,9 @@ ftl_ext_alloc_new_blk: strh r4, [r3, #130] @ movhi strh r0, [r3, #140] @ movhi ldmfd sp!, {r3, r4, r5, pc} -.L1301: +.L1305: .align 2 -.L1300: +.L1304: .word .LANCHOR1+1728 .word .LC0 .word .LANCHOR0 @@ -7579,41 +7613,41 @@ ftl_total_vpn_update: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L1315 - ldrh r3, [r2, #-8] + ldr r2, .L1319 + ldrh r3, [r2, #-12] cmp r3, #4 cmpls r0, #0 addeq r3, r3, #1 - streqh r3, [r2, #-8] @ movhi + streqh r3, [r2, #-12] @ movhi bxeq lr - ldr r3, .L1315+4 + ldr r3, .L1319+4 movw ip, #1076 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r0, #0 ldrh lr, [r3, ip] movw r6, #65535 - strh r0, [r2, #-8] @ movhi + strh r0, [r2, #-12] @ movhi mov ip, r0 ldr r1, [r3, #1088] ldr r2, [r3, #1080] sub r1, r1, #2 add lr, r2, lr, asl #2 -.L1305: +.L1309: cmp r2, lr - beq .L1314 + beq .L1318 ldrh r4, [r1, #2]! cmp r4, r6 - beq .L1306 + beq .L1310 ldrb r5, [r2, #2] @ zero_extendqisi2 and r5, r5, #224 cmp r5, #160 addeq r0, r0, r4 addne ip, ip, r4 -.L1306: +.L1310: add r2, r2, #4 - b .L1305 -.L1314: + b .L1309 +.L1318: ldr r4, [r3, #1092] ldr r3, [r3, #2804] str ip, [r4, #524] @@ -7624,10 +7658,10 @@ ftl_total_vpn_update: bl __aeabi_uidiv str r0, [r4, #532] ldmfd sp!, {r4, r5, r6, pc} -.L1316: +.L1320: .align 2 -.L1315: - .word .LANCHOR3-2608 +.L1319: + .word .LANCHOR3-2528 .word .LANCHOR0 .fnend .size ftl_total_vpn_update, .-ftl_total_vpn_update @@ -7638,10 +7672,10 @@ ftl_debug_info_fill: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1322 + ldr r3, .L1326 ldrb r3, [r3, #2772] @ zero_extendqisi2 cmp r3, #8 - bls .L1321 + bls .L1325 stmfd sp!, {r4, lr} .save {r4, lr} sub r4, r0, #2 @@ -7652,23 +7686,23 @@ ftl_debug_info_fill: cmp r4, #0 streq r4, [r1] streq r4, [r1, #4] - beq .L1318 - ldr r3, .L1322+4 + beq .L1322 + ldr r3, .L1326+4 mov r4, r1 mov r0, r2 str r3, [r1] mov r1, #1024 bl js_hash str r0, [r4, #4] -.L1318: +.L1322: mov r0, #0 ldmfd sp!, {r4, pc} -.L1321: +.L1325: mov r0, #0 bx lr -.L1323: +.L1327: .align 2 -.L1322: +.L1326: .word .LANCHOR0 .word 1212240712 .fnend @@ -7684,7 +7718,7 @@ ftl_vpn_update: .save {r4, lr} mov r4, r0 bl zftl_list_update_data_list - ldr r3, .L1328 + ldr r3, .L1332 mov r4, r4, asl #1 ldr r2, [r3, #1088] ldrh r2, [r2, r4] @@ -7693,9 +7727,9 @@ ftl_vpn_update: movne r0, #0 streq r0, [r3, #2820] ldmfd sp!, {r4, pc} -.L1329: +.L1333: .align 2 -.L1328: +.L1332: .word .LANCHOR0 .fnend .size ftl_vpn_update, .-ftl_vpn_update @@ -7711,62 +7745,62 @@ ftl_vpn_decrement: movw r3, #65535 cmp r0, r3 mov r5, r0 - beq .L1331 - ldr r1, .L1340 + beq .L1335 + ldr r1, .L1344 mov r3, r0, asl #1 ldr r2, [r1, #1088] ldrh r4, [r2, r3] cmp r4, #0 subne r4, r4, #1 strneh r4, [r2, r3] @ movhi - bne .L1331 + bne .L1335 ldr r3, [r1, #1080] mov r2, r4 mov r1, r5 add r3, r3, r0, asl #2 - ldr r0, .L1340+4 + ldr r0, .L1344+4 ldrb r3, [r3, #2] @ zero_extendqisi2 mov r3, r3, lsr #5 bl printk mov r0, r4 ldmfd sp!, {r3, r4, r5, pc} -.L1331: - ldr r3, .L1340+8 - ldrh r0, [r3, #-8] +.L1335: + ldr r3, .L1344+8 + ldrh r0, [r3] mov r4, r3 cmp r0, r5 - beq .L1337 + beq .L1341 movw r2, #65535 cmp r0, r2 - streqh r5, [r3, #-8] @ movhi - beq .L1337 + streqh r5, [r3] @ movhi + beq .L1341 bl ftl_vpn_update - add r3, r4, #608 - ldrh r1, [r4, #-8] - ldrh r2, [r3, #-6] - strh r5, [r4, #-8] @ movhi + add r3, r4, #624 + ldrh r1, [r4] + ldrh r2, [r3, #-10] + strh r5, [r4] @ movhi add r2, r2, #1 uxth r2, r2 adds r0, r0, #0 movne r0, #1 cmp r2, #7 movhi r2, #0 - strh r2, [r3, #-6] @ movhi - ldrh r3, [r3, #-6] - ldr r2, .L1340+12 + strh r2, [r3, #-10] @ movhi + ldrh r3, [r3, #-10] + ldr r2, .L1344+12 mov r3, r3, asl #1 strh r1, [r2, r3] @ movhi ldmfd sp!, {r3, r4, r5, pc} -.L1337: +.L1341: mov r0, #0 ldmfd sp!, {r3, r4, r5, pc} -.L1341: +.L1345: .align 2 -.L1340: +.L1344: .word .LANCHOR0 .word .LC109 - .word .LANCHOR3-3216 - .word .LANCHOR3-3220 + .word .LANCHOR3-3152 + .word .LANCHOR3-3148 .fnend .size ftl_vpn_decrement, .-ftl_vpn_decrement .align 2 @@ -7779,71 +7813,72 @@ lpa_hash_update_ppa: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, lr} .save {r4, r5, r6, r7, r8, r9, r10, lr} uxtb r6, r0 - ldr r3, .L1354 + ldr r3, .L1358 movw r4, #65535 + ldr ip, .L1358+4 mov r6, r6, asl #1 mov r8, r4 - sub ip, r3, #3136 - ldr r7, [r3, #-2624] + ldr r7, [r3, #-2548] ldrh lr, [ip, r6] - ldr r9, [r3, #-2620] -.L1343: + ldr r9, [r3, #-2544] +.L1347: cmp lr, r8 - beq .L1347 + beq .L1351 ldr r5, [r7, lr, asl #2] add r10, r7, lr, asl #2 cmp r5, r0 mov r5, lr, asl #1 - bne .L1344 + bne .L1348 mvn lr, #0 str lr, [r10] movw lr, #65535 cmp r4, lr - ldr lr, [r3, #-2620] + ldr lr, [r3, #-2544] movne r4, r4, asl #1 ldreqh lr, [lr, r5] ldrneh r7, [lr, r5] streqh lr, [ip, r6] @ movhi strneh r7, [lr, r4] @ movhi mvn r4, #0 - ldr lr, [r3, #-2620] + ldr lr, [r3, #-2544] strh r4, [lr, r5] @ movhi - b .L1347 -.L1344: + b .L1351 +.L1348: mov r4, lr ldrh lr, [r9, r5] - b .L1343 -.L1347: - ldr r4, [r3, #-2624] + b .L1347 +.L1351: + ldr r4, [r3, #-2548] cmn r1, #1 - ldr lr, .L1354 + ldr lr, .L1358 str r0, [r4, r2, asl #2] ldrh r0, [ip, r6] - ldr r3, [r3, #-2620] + ldr r3, [r3, #-2544] strh r2, [ip, r6] @ movhi mov r2, r2, asl #1 strh r0, [r3, r2] @ movhi - beq .L1349 - sub r3, lr, #3200 - ldrh r0, [r3, #-4] - ldr r3, .L1354+4 + beq .L1353 + sub r3, lr, #3120 + ldrh r0, [r3, #-12] + ldr r3, .L1358+8 mov r1, r1, lsr r0 ldrb r3, [r3, #1189] @ zero_extendqisi2 rsb r3, r3, #24 rsb r3, r0, r3 mvn r0, #0 bic r0, r1, r0, asl r3 - ldrb r1, [lr, #-3202] @ zero_extendqisi2 + ldrb r1, [lr, #-3130] @ zero_extendqisi2 bl __aeabi_uidiv uxth r0, r0 bl ftl_vpn_decrement -.L1349: +.L1353: mvn r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc} -.L1355: +.L1359: .align 2 -.L1354: +.L1358: .word .LANCHOR3 + .word .LANCHOR3-3060 .word .LANCHOR0 .fnend .size lpa_hash_update_ppa, .-lpa_hash_update_ppa @@ -7858,12 +7893,12 @@ ftl_mask_bad_block: .save {r4, r5, r6, r7, r8, r9, lr} .pad #12 mov r3, #1 - ldr r1, .L1364 - ldr r7, .L1364+4 - sub r1, r1, #3200 - ldrb r5, [r1, #-2] @ zero_extendqisi2 + ldr r1, .L1368 + ldr r7, .L1368+4 + sub r1, r1, #3120 + ldrb r5, [r1, #-10] @ zero_extendqisi2 ldrb r4, [r7, #1189] @ zero_extendqisi2 - ldrh r1, [r1, #-4] + ldrh r1, [r1, #-12] rsb r2, r4, #24 mov r4, r3, asl r4 sub r4, r4, #1 @@ -7884,35 +7919,35 @@ ftl_mask_bad_block: uxth r8, r0 addhi r3, r6, r3 uxtbhi r6, r3 - ldr r3, .L1364+8 + ldr r3, .L1368+8 ldr r3, [r3] tst r3, #16384 - beq .L1358 + beq .L1362 str r9, [sp] mov r1, r4 - ldr r0, .L1364+12 + ldr r0, .L1368+12 mov r2, r6 mov r3, r8 bl printk -.L1358: +.L1362: movw r3, #1076 ldrh r3, [r7, r3] cmp r3, r8 - bls .L1356 - ldr r3, .L1364+4 + bls .L1360 + ldr r3, .L1368+4 mov r2, #1 ldr r4, [r3, #1080] add r4, r4, r8, asl #2 ldrb r3, [r4, #3] @ zero_extendqisi2 orr r6, r3, r2, asl r6 strb r6, [r4, #3] -.L1356: +.L1360: add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc} -.L1365: +.L1369: .align 2 -.L1364: +.L1368: .word .LANCHOR3 .word .LANCHOR0 .word .LANCHOR2 @@ -7929,25 +7964,25 @@ gc_free_bad_sblk: stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #12 - ldr r4, .L1387 + ldr r4, .L1391 str r0, [sp] - ldr r3, [r4, #848] + ldr r3, [r4, #920] cmp r3, #0 movne r5, #0 - ldrne r7, .L1387+4 - beq .L1383 -.L1367: - ldrb r3, [r7, #-3195] @ zero_extendqisi2 + ldrne r7, .L1391+4 + beq .L1387 +.L1371: + ldrb r3, [r7, #-3123] @ zero_extendqisi2 uxth r0, r5 cmp r3, r0 - bls .L1383 - ldrb r9, [r7, #-3202] @ zero_extendqisi2 + bls .L1387 + ldrb r9, [r7, #-3130] @ zero_extendqisi2 mov fp, #0 - ldr r6, .L1387+8 + ldr r6, .L1391+8 mov r1, r9 uxth r8, r9 bl __aeabi_idiv - ldr r2, .L1387+12 + ldr r2, .L1391+12 ldrb r3, [r6, #1189] @ zero_extendqisi2 cmp r9, #1 subhi r1, r8, #1 @@ -7957,85 +7992,85 @@ gc_free_bad_sblk: ldrh r2, [sp] andhi r1, r1, r5 smulbb r2, r2, r8 - ldr r8, .L1387+16 + ldr r8, .L1391+16 add r0, r2, r0, asl r3 mov r9, r8 uxth r2, r0 addhi r2, r2, r1 uxthhi r2, r2 -.L1369: - ldr r1, [r4, #848] +.L1373: + ldr r1, [r4, #920] uxth r10, fp cmp r10, r1 - bcs .L1385 - add r1, r10, #1056 - add r1, r1, #4 + bcs .L1389 + add r1, r10, #1088 + add r1, r1, #8 mov r1, r1, asl #1 ldrh r1, [r8, r1] cmp r1, r2 - bne .L1370 + bne .L1374 mov r1, r2 - ldr r0, .L1387+20 + ldr r0, .L1391+20 str r2, [sp, #4] bl printk - ldr r3, .L1387+4 - ldrb r1, [r3, #-2612] @ zero_extendqisi2 + ldr r3, .L1391+4 + ldrb r1, [r3, #-2536] @ zero_extendqisi2 cmp r1, #0 ldr r2, [sp, #4] - bne .L1371 - ldrb r1, [r7, #-3194] @ zero_extendqisi2 + bne .L1375 + ldrb r1, [r7, #-3122] @ zero_extendqisi2 cmp r1, #0 - beq .L1372 -.L1371: + beq .L1376 +.L1375: ldr r1, [r6, #2804] - ldr r3, .L1387+24 + ldr r3, .L1391+24 ldr r1, [r1, #156] cmp r1, r3 - beq .L1373 -.L1372: - ldr r1, .L1387+12 + beq .L1377 +.L1376: + ldr r1, .L1391+12 str r2, [sp, #4] ldrh r0, [r1] mov r0, r2, asl r0 bl ftl_mask_bad_block ldr r2, [sp, #4] -.L1373: - ldr r0, [r4, #848] -.L1374: +.L1377: + ldr r0, [r4, #920] +.L1378: cmp r10, r0 - bcs .L1386 - add r1, r10, #1056 + bcs .L1390 + add r1, r10, #1088 add r3, r10, #1 - add r1, r1, #5 + add r1, r1, #9 mov r1, r1, asl #1 ldrh lr, [r9, r1] - add r1, r10, #1056 - add r1, r1, #4 + add r1, r10, #1088 + add r1, r1, #8 uxth r10, r3 mov r1, r1, asl #1 strh lr, [r9, r1] @ movhi - b .L1374 -.L1386: + b .L1378 +.L1390: sub r0, r0, #1 - str r0, [r4, #848] -.L1370: + str r0, [r4, #920] +.L1374: add fp, fp, #1 - b .L1369 -.L1385: + b .L1373 +.L1389: add r5, r5, #1 - b .L1367 -.L1383: + b .L1371 +.L1387: mov r0, #0 add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1388: +.L1392: .align 2 -.L1387: +.L1391: .word .LANCHOR0+4096 .word .LANCHOR3 .word .LANCHOR0 - .word .LANCHOR3-3204 + .word .LANCHOR3-3132 .word .LANCHOR0+2828 .word .LC111 .word 1145785929 @@ -8051,7 +8086,7 @@ ftl_free_sblk: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r10, r0, asl #2 - ldr r5, .L1413 + ldr r5, .L1417 .pad #20 sub sp, sp, #20 mov r7, r0 @@ -8061,7 +8096,7 @@ ftl_free_sblk: tst r4, #8 mov r3, r4, lsr #5 str r3, [sp] - beq .L1390 + beq .L1394 ldr r9, [r5, #2804] movw r1, #1084 ldrh r2, [r6, r10] @@ -8081,24 +8116,24 @@ ftl_free_sblk: mov r0, r3 str ip, [sp, #8] bl __aeabi_uidiv - ldr r1, .L1413+4 - ldrh lr, [r1, #-2] + ldr r1, .L1417+4 + ldrh lr, [r1, #-6] ldr ip, [sp, #8] ldr r3, [sp, #4] uxtah r0, ip, r0 ldr r2, [sp, #12] cmp r0, lr - ble .L1391 + ble .L1395 movw r3, #2798 sub r1, r1, #544 ldrh r0, [r5, r3] movw r3, #2790 ldrh r3, [r5, r3] add r0, r0, r3 - ldrh r3, [r1, #-8] + ldrh r3, [r1, #-12] add r3, r3, #8 cmp r0, r3 - blt .L1397 + blt .L1401 movw r3, #2794 movw r0, #2788 ldrh r0, [r5, r0] @@ -8107,15 +8142,15 @@ ftl_free_sblk: movw r0, #2796 ldrh ip, [r5, r0] add ip, r3, ip - ldrh r3, [r1, #-10] + ldrh r3, [r1, #-14] add r3, r3, #8 cmp ip, r3 - b .L1412 -.L1391: + b .L1416 +.L1395: mla r3, r9, ip, r3 - ldrh r0, [r1] + ldrh r0, [r1, #-4] cmp r3, r0 - ble .L1393 + ble .L1397 movw r3, #2794 movw r0, #2788 ldrh r0, [r5, r0] @@ -8125,35 +8160,35 @@ ftl_free_sblk: ldrh ip, [r5, r0] add ip, r3, ip sub r3, r1, #544 - ldrh r1, [r3, #-10] + ldrh r1, [r3, #-14] add r0, r1, #8 cmp ip, r0 - blt .L1410 + blt .L1414 movw r0, #2798 movw lr, #2790 ldrh r0, [r5, r0] ldrh lr, [r5, lr] - ldrh r3, [r3, #-8] + ldrh r3, [r3, #-12] add r0, r0, lr add r3, r3, #8 cmp r0, r3 - blt .L1397 + blt .L1401 add r1, r1, #24 cmp ip, r1 -.L1412: - bge .L1397 -.L1410: +.L1416: + bge .L1401 +.L1414: bfc r4, #3, #2 - b .L1408 -.L1397: + b .L1412 +.L1401: mov r3, #2 bfi r4, r3, #3, #2 -.L1408: +.L1412: strb r4, [r8, #2] -.L1393: +.L1397: ldrb r3, [r8, #2] @ zero_extendqisi2 ands r3, r3, #24 - bne .L1398 + bne .L1402 mul r9, r9, fp ldrh r3, [r6, r10] mov fp, fp, lsr #3 @@ -8164,10 +8199,10 @@ ftl_free_sblk: ldr r4, [r6, r7, asl #2] bfi r4, fp, #11, #8 str r4, [r6, r7, asl #2] - b .L1399 -.L1398: + b .L1403 +.L1402: cmp r3, #16 - bne .L1399 + bne .L1403 mov r0, r2 mov r1, r9 str r2, [sp, #4] @@ -8181,38 +8216,38 @@ ftl_free_sblk: ldrh r3, [r6, r10] mov r2, r2, asr #5 bfi r3, r2, #0, #11 - b .L1409 -.L1390: + b .L1413 +.L1394: tst r4, #24 - bne .L1399 + bne .L1403 movw r3, #2792 ldrh r3, [r5, r3] cmp r3, #0 - bne .L1399 + bne .L1403 movw r3, #2790 ldrh r1, [r5, r3] cmp r1, #15 - bhi .L1399 + bhi .L1403 movw r3, #2794 movw r2, #2788 ldrh r2, [r5, r2] ldrh r3, [r5, r3] - ldr r0, .L1413+8 + ldr r0, .L1417+8 add r3, r3, r2 movw r2, #2796 ldrh r2, [r5, r2] add r3, r3, r2 - ldrh r2, [r0, #-10] + ldrh r2, [r0, #-14] add r2, r2, #16 cmp r3, r2 - ble .L1399 + ble .L1403 movw r3, #2798 ldrh r2, [r5, r3] - ldrh r3, [r0, #-8] + ldrh r3, [r0, #-12] add r2, r2, r1 add r3, r3, #8 cmp r2, r3 - bge .L1399 + bge .L1403 mov r3, #2 bfi r4, r3, #3, #2 strb r4, [r8, #2] @@ -8231,12 +8266,12 @@ ftl_free_sblk: str r3, [r6, r7, asl #2] ldrh r3, [r6, r10] bfi r3, r4, #0, #11 -.L1409: +.L1413: strh r3, [r6, r10] @ movhi -.L1399: +.L1403: mov r0, r7 bl zftl_remove_data_node - ldr r3, .L1413 + ldr r3, .L1417 mov r0, #0 ldr r2, [r3, #1080] mov r4, r3 @@ -8251,44 +8286,44 @@ ftl_free_sblk: add r2, r2, #6 and r2, r2, #7 cmp r2, #4 - bhi .L1402 + bhi .L1406 mov r0, r7 bl gc_free_bad_sblk -.L1402: +.L1406: ldrb r3, [r8, #2] @ zero_extendqisi2 tst r3, #8 - beq .L1403 + beq .L1407 ldr r3, [r4, #1092] movw r2, #586 ldrh r1, [r3, r2] cmp r1, r7 - bne .L1403 + bne .L1407 mvn r1, #0 strh r1, [r3, r2] @ movhi movw r2, #590 movw r1, #65535 ldrh r0, [r3, r2] cmp r0, r1 - bne .L1403 + bne .L1407 strh r7, [r3, r2] @ movhi mov r1, r7 - ldr r0, .L1413+12 + ldr r0, .L1417+12 add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} b printk -.L1403: +.L1407: mov r0, r7 add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} b zftl_insert_free_list -.L1414: +.L1418: .align 2 -.L1413: +.L1417: .word .LANCHOR0 - .word .LANCHOR3-2608 - .word .LANCHOR3-3152 + .word .LANCHOR3-2528 + .word .LANCHOR3-3072 .word .LC112 .fnend .size ftl_free_sblk, .-ftl_free_sblk @@ -8302,44 +8337,44 @@ gc_free_src_blk: stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, lr} .save {r3, r4, r5, r6, r7, r8, r9, lr} mov r5, #0 - ldr r6, .L1454 - ldr r8, .L1454+4 + ldr r6, .L1458 + ldr r8, .L1458+4 mov r7, r6 -.L1416: +.L1420: ldrh r2, [r8, #52] uxth r3, r5 cmp r2, r3 - bls .L1453 + bls .L1457 add r3, r8, r3, asl #1 ldrh r4, [r3, #54] ldr r3, [r6, #1088] mov r9, r4, asl #1 ldrh r2, [r3, r9] cmp r2, #0 - beq .L1417 - ldr r0, .L1454+8 + beq .L1421 + ldr r0, .L1458+8 mov r1, r4 bl printk -.L1417: +.L1421: ldr r3, [r7, #1088] mov r2, #0 strh r2, [r3, r9] @ movhi ldr r3, [r7, #1088] ldrh r3, [r3, r9] cmp r3, r2 - bne .L1418 - ldr r3, .L1454+12 + bne .L1422 + ldr r3, .L1458+12 ldr r9, [r6, #1080] ldr r3, [r3] add r9, r9, r4, asl #2 tst r3, #256 - beq .L1419 + beq .L1423 ldrb r2, [r9, #2] @ zero_extendqisi2 mov r1, r4 - ldr r0, .L1454+16 + ldr r0, .L1458+16 mov r2, r2, lsr #5 bl printk -.L1419: +.L1423: ldrb r3, [r9, #2] @ zero_extendqisi2 tst r3, #192 and r3, r3, #224 @@ -8349,95 +8384,95 @@ gc_free_src_blk: movne r3, r2 orreq r3, r2, #1 cmp r3, #0 - beq .L1420 - ldr r1, .L1454+20 - movw r2, #1362 - ldr r0, .L1454+24 + beq .L1424 + ldr r1, .L1458+20 + movw r2, #1363 + ldr r0, .L1458+24 bl printk bl dump_stack -.L1420: +.L1424: mov r0, r4 bl ftl_free_sblk ldr r3, [r7, #1092] ldrh r1, [r3, #124] cmp r1, #0 - beq .L1421 + beq .L1425 add r0, r3, #388 mov r2, #0 add r0, r0, #2 -.L1423: +.L1427: ldrh ip, [r0, #2]! cmp ip, r4 - bne .L1422 + bne .L1426 add r2, r2, #196 mvn r0, #0 add r1, r1, r0 mov r2, r2, asl #1 strh r0, [r3, r2] @ movhi strh r1, [r3, #124] @ movhi - b .L1421 -.L1422: + b .L1425 +.L1426: add r2, r2, #1 cmp r2, #64 - bne .L1423 -.L1421: + bne .L1427 +.L1425: ldrh r1, [r3, #120] cmp r1, #0 - beq .L1424 + beq .L1428 add r0, r3, #134 mov r2, #0 -.L1426: +.L1430: ldrh ip, [r0, #2]! cmp ip, r4 - bne .L1425 + bne .L1429 add r2, r3, r2, asl #1 mvn r0, #0 add r1, r1, r0 strh r0, [r2, #136] @ movhi strh r1, [r3, #120] @ movhi - b .L1424 -.L1425: + b .L1428 +.L1429: add r2, r2, #1 cmp r2, #64 - bne .L1426 -.L1424: + bne .L1430 +.L1428: ldrh r0, [r3, #122] cmp r0, #0 - beq .L1427 + beq .L1431 add r1, r3, #260 mov r2, #0 add r1, r1, #2 -.L1429: +.L1433: ldrh ip, [r1, #2]! cmp ip, r4 - bne .L1428 + bne .L1432 add r2, r2, #132 mvn r1, #0 add r0, r0, r1 mov r2, r2, asl #1 strh r1, [r3, r2] @ movhi strh r0, [r3, #122] @ movhi - b .L1427 -.L1428: + b .L1431 +.L1432: add r2, r2, #1 cmp r2, #64 - bne .L1429 - b .L1427 -.L1418: + bne .L1433 + b .L1431 +.L1422: mov r0, r4 mov r1, #1 bl gc_add_sblk -.L1427: +.L1431: add r5, r5, #1 - b .L1416 -.L1453: - ldr r3, .L1454+4 + b .L1420 +.L1457: + ldr r3, .L1458+4 mov r2, #0 strh r2, [r3, #52] @ movhi ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, pc} -.L1455: +.L1459: .align 2 -.L1454: +.L1458: .word .LANCHOR0 .word .LANCHOR0+2828 .word .LC113 @@ -8457,7 +8492,7 @@ print_ftl_debug_info: stmfd sp!, {r4, lr} .save {r4, lr} movw ip, #2790 - ldr r4, .L1458 + ldr r4, .L1462 .pad #32 sub sp, sp, #32 ldr r3, [r4, #2804] @@ -8486,11 +8521,11 @@ print_ftl_debug_info: str r0, [sp, #24] ldr r0, [r4, #2784] str r0, [sp, #28] - ldr r0, .L1458+4 + ldr r0, .L1462+4 bl printk ldr r2, [r4, #2804] ldrb r3, [r4, #2801] @ zero_extendqisi2 - ldr r0, .L1458+8 + ldr r0, .L1462+8 ldr r1, [r2, #8] str r1, [sp] ldr r1, [r2, #64] @@ -8499,7 +8534,7 @@ print_ftl_debug_info: ldr r2, [r2, #28] bl printk ldr r2, [r4, #2804] - ldr r0, .L1458+12 + ldr r0, .L1462+12 ldr r3, [r2, #16] ldr r1, [r2, #52] ldr r2, [r2, #60] @@ -8522,7 +8557,7 @@ print_ftl_debug_info: str r0, [sp, #20] ldrh r0, [r2, #98] str r0, [sp, #24] - ldr r0, .L1458+16 + ldr r0, .L1462+16 ldr r2, [r2, #84] bl printk add r0, r4, #2816 @@ -8537,7 +8572,7 @@ print_ftl_debug_info: movw r0, #2808 ldrh r0, [r4, r0] str r0, [sp, #4] - ldr r0, .L1458+20 + ldr r0, .L1462+20 bl printk ldr r0, [r4, #1092] movw lr, #590 @@ -8554,14 +8589,14 @@ print_ftl_debug_info: str r0, [sp, #4] ldrh r0, [ip, #150] str r0, [sp, #8] - ldr r0, .L1458+24 + ldr r0, .L1462+24 bl printk add sp, sp, #32 @ sp needed ldmfd sp!, {r4, pc} -.L1459: +.L1463: .align 2 -.L1458: +.L1462: .word .LANCHOR0 .word .LC115 .word .LC116 @@ -8581,42 +8616,42 @@ ftl_write_buf: stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} subs r4, r0, #0 - bne .L1461 - ldr r1, .L1472 - movw r2, #803 - ldr r0, .L1472+4 + bne .L1465 + ldr r1, .L1476 + movw r2, #810 + ldr r0, .L1476+4 bl printk bl dump_stack bl print_ftl_debug_info mvn r0, #0 ldmfd sp!, {r4, r5, r6, pc} -.L1461: - ldr r5, .L1472+8 +.L1465: + ldr r5, .L1476+8 ldrb r2, [r4, #40] @ zero_extendqisi2 ldrb r3, [r5, #2772] @ zero_extendqisi2 cmp r2, r3 - bls .L1466 - ldr r1, .L1472 - movw r2, #810 - ldr r0, .L1472+4 + bls .L1470 + ldr r1, .L1476 + movw r2, #817 + ldr r0, .L1476+4 bl printk bl dump_stack -.L1466: +.L1470: ldrb r3, [r4, #40] @ zero_extendqisi2 cmp r3, #0 - beq .L1463 + beq .L1467 ldrb r2, [r5, #2772] @ zero_extendqisi2 - ldr r6, .L1472+8 + ldr r6, .L1476+8 cmp r2, r3 - bcs .L1464 -.L1463: + bcs .L1468 +.L1467: mov r0, r4 bl zbuf_free ldrb r0, [r5, #2800] @ zero_extendqisi2 ldmfd sp!, {r4, r5, r6, pc} -.L1464: +.L1468: mov r1, r4 - ldr r0, .L1472+12 + ldr r0, .L1476+12 bl buf_add_tail ldr r3, [r6, #2804] ldrb r1, [r4, #40] @ zero_extendqisi2 @@ -8631,9 +8666,9 @@ ftl_write_buf: add r2, r2, #1 str r2, [r3, #32] ldmfd sp!, {r4, r5, r6, pc} -.L1473: +.L1477: .align 2 -.L1472: +.L1476: .word .LANCHOR1+1768 .word .LC0 .word .LANCHOR0 @@ -8650,15 +8685,15 @@ ftl_write_completed: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, lr} .save {r4, r5, r6, r7, r8, r9, r10, lr} mov r5, #0 - ldr r8, .L1492 - ldr r9, .L1492+4 + ldr r8, .L1496 + ldr r9, .L1496+4 mov r6, r8 -.L1475: +.L1479: ldrb r10, [r8, #2778] @ zero_extendqisi2 cmp r10, #255 - beq .L1491 + beq .L1495 mov r4, #48 - ldr r7, .L1492+8 + ldr r7, .L1496+8 mul r4, r4, r10 add r7, r7, r4 add r4, r8, r4 @@ -8666,24 +8701,24 @@ ftl_write_completed: strb r3, [r8, #2778] ldr r3, [r4, #1272] cmn r3, #1 - bne .L1476 - ldr r4, .L1492+12 - ldrb r3, [r4, #-2612] @ zero_extendqisi2 + bne .L1480 + ldr r4, .L1496+12 + ldrb r3, [r4, #-2536] @ zero_extendqisi2 cmp r3, #0 - bne .L1477 - ldrb r3, [r4, #-3194] @ zero_extendqisi2 + bne .L1481 + ldrb r3, [r4, #-3122] @ zero_extendqisi2 cmp r3, #0 - beq .L1478 -.L1477: + beq .L1482 +.L1481: ldr r3, [r6, #2804] ldr r3, [r3, #156] cmp r3, r9 - beq .L1479 -.L1478: + beq .L1483 +.L1482: mov r5, #48 - ldr r3, .L1492+16 + ldr r3, .L1496+16 mla r5, r5, r10, r6 - ldrb r1, [r4, #-3202] @ zero_extendqisi2 + ldrb r1, [r4, #-3130] @ zero_extendqisi2 ldrh r0, [r3] ldrb r3, [r6, #1189] @ zero_extendqisi2 rsb r3, r3, #24 @@ -8700,7 +8735,7 @@ ftl_write_completed: uxth r4, r0 streq r4, [r3, #560] ldreq r2, [r5, #1260] - ldr r0, .L1492+20 + ldr r0, .L1496+20 mov r1, r4 streq r2, [r3, #564] mov r3, #48 @@ -8716,29 +8751,29 @@ ftl_write_completed: cmp r2, r4 moveq r2, #0 streqh r2, [r3, #22] @ movhi - beq .L1479 + beq .L1483 ldrh r2, [r3, #48] cmp r2, r4 moveq r2, #0 streqh r2, [r3, #54] @ movhi -.L1479: +.L1483: mov r0, r7 mov r5, #1 bl ftl_write_buf - b .L1475 -.L1476: + b .L1479 +.L1480: cmp r5, #1 add r3, r4, #1248 add r3, r3, #12 - bne .L1484 + bne .L1488 ldr r1, [r4, #1256] ldr r2, [r4, #1260] - ldr r0, .L1492+24 + ldr r0, .L1496+24 bl printk mov r0, r7 bl ftl_write_buf - b .L1475 -.L1484: + b .L1479 +.L1488: ldr r1, [r3, #4] ldr r0, [r4, #1256] ldrh r2, [r7, #32] @@ -8749,20 +8784,20 @@ ftl_write_completed: bicne r3, r3, #2 strneb r3, [r4, #1238] movne r5, #0 - bne .L1475 + bne .L1479 mov r0, r7 bl zbuf_free - b .L1475 -.L1491: + b .L1479 +.L1495: ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc} -.L1493: +.L1497: .align 2 -.L1492: +.L1496: .word .LANCHOR0 .word 1145785929 .word .LANCHOR0+1236 .word .LANCHOR3 - .word .LANCHOR3-3204 + .word .LANCHOR3-3132 .word .LC121 .word .LC122 .fnend @@ -8777,125 +8812,45 @@ zftl_add_read_buf: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} subs r4, r0, #0 - bne .L1495 - ldr r1, .L1500 - movw r2, #1143 - ldr r0, .L1500+4 + bne .L1499 + ldr r1, .L1504 + movw r2, #1150 + ldr r0, .L1504+4 bl printk bl dump_stack ldmfd sp!, {r3, r4, r5, lr} b print_ftl_debug_info -.L1495: - ldr r3, .L1500+8 +.L1499: + ldr r3, .L1504+8 ldrb r2, [r4, #40] @ zero_extendqisi2 ldrb r3, [r3, #2772] @ zero_extendqisi2 cmp r2, r3 - bls .L1497 - ldr r1, .L1500 - movw r2, #1150 - ldr r0, .L1500+4 + bls .L1501 + ldr r1, .L1504 + movw r2, #1157 + ldr r0, .L1504+4 bl printk bl dump_stack -.L1497: - ldr r5, .L1500+12 - mov r1, r4 - ldr r0, .L1500+16 - bl buf_add_tail - ldrb r3, [r5, #-2605] @ zero_extendqisi2 - add r3, r3, #1 - strb r3, [r5, #-2605] - ldmfd sp!, {r3, r4, r5, pc} .L1501: + ldr r5, .L1504+12 + mov r1, r4 + ldr r0, .L1504+16 + bl buf_add_tail + ldrb r3, [r5, #-2529] @ zero_extendqisi2 + add r3, r3, #1 + strb r3, [r5, #-2529] + ldmfd sp!, {r3, r4, r5, pc} +.L1505: .align 2 -.L1500: +.L1504: .word .LANCHOR1+1784 .word .LC0 .word .LANCHOR0 .word .LANCHOR3 - .word .LANCHOR3-2606 + .word .LANCHOR3-2530 .fnend .size zftl_add_read_buf, .-zftl_add_read_buf .align 2 - .global ftl_alloc_sblk - .type ftl_alloc_sblk, %function -ftl_alloc_sblk: - .fnstart - @ args = 0, pretend = 0, frame = 0 - @ frame_needed = 0, uses_anonymous_args = 0 - stmfd sp!, {r3, r4, r5, r6, r7, lr} - .save {r3, r4, r5, r6, r7, lr} - uxth r5, r0 - cmp r0, #5 - mov r6, r0 - mov r1, r5 - mov r0, #0 - movne r7, #0 - moveq r7, #2 - bl zftl_get_free_sblk - movw r3, #65535 - cmp r0, r3 - mov r4, r0 - beq .L1504 - ldr r3, .L1513 - ldr r5, [r3, #1080] - add r5, r5, r0, asl #2 - ldrb r3, [r5, #2] @ zero_extendqisi2 - tst r3, #224 - beq .L1505 - ldr r1, .L1513+4 - movw r2, #939 - ldr r0, .L1513+8 - bl printk - bl dump_stack -.L1505: - ldrb r3, [r5, #2] @ zero_extendqisi2 - bfi r3, r6, #5, #3 - uxtb r3, r3 - ubfx r2, r3, #3, #2 - orr r2, r7, r2 - bfi r3, r2, #3, #2 - strb r3, [r5, #2] - uxtb r3, r3 - and r2, r3, #24 - cmp r7, #0 - cmpeq r2, #24 - moveq r2, #1 - bfieq r3, r2, #3, #2 - streqb r3, [r5, #2] - b .L1508 -.L1504: - bl print_ftl_debug_info - mov r1, r4 - mov r2, r6 - ldr r0, .L1513+12 - bl printk - mov r1, r5 - mov r0, #0 - bl zftl_get_free_sblk - mov r2, r6 - mov r4, r0 - ldr r0, .L1513+12 - mov r1, r4 - bl printk - bl dump_all_list_info - ldr r1, .L1513+4 - movw r2, #955 - ldr r0, .L1513+8 - bl printk - bl dump_stack -.L1508: - mov r0, r4 - ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1514: - .align 2 -.L1513: - .word .LANCHOR0 - .word .LANCHOR1+1804 - .word .LC0 - .word .LC123 - .fnend - .size ftl_alloc_sblk, .-ftl_alloc_sblk - .align 2 .global sblk_init .type sblk_init, %function sblk_init: @@ -8903,7 +8858,7 @@ sblk_init: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1516 + ldr r3, .L1507 mvn r2, #0 mov r0, #0 strb r2, [r3, #2775] @@ -8911,9 +8866,9 @@ sblk_init: strb r2, [r3, #2776] strb r2, [r3, #2777] bx lr -.L1517: +.L1508: .align 2 -.L1516: +.L1507: .word .LANCHOR0 .fnend .size sblk_init, .-sblk_init @@ -8926,36 +8881,36 @@ dump_sblk_queue: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} - ldr r4, .L1528 - ldr r0, .L1528+4 + ldr r4, .L1519 + ldr r0, .L1519+4 ldrb r1, [r4, #2775] @ zero_extendqisi2 bl printk ldrb r4, [r4, #2775] @ zero_extendqisi2 cmp r4, #255 ldmeqfd sp!, {r4, r5, r6, pc} - ldr r3, .L1528+8 + ldr r3, .L1519+8 mov r2, #48 mov r6, r2 mla r4, r2, r4, r3 mov r5, r3 -.L1520: +.L1511: ldrb r1, [r4, #1] @ zero_extendqisi2 ldrb r2, [r4, #42] @ zero_extendqisi2 ldr r3, [r4, #24] - ldr r0, .L1528+12 + ldr r0, .L1519+12 bl printk ldrb r4, [r4] @ zero_extendqisi2 cmp r4, #255 ldmeqfd sp!, {r4, r5, r6, pc} mla r4, r6, r4, r5 - b .L1520 -.L1529: + b .L1511 +.L1520: .align 2 -.L1528: +.L1519: .word .LANCHOR0 - .word .LC124 + .word .LC123 .word .LANCHOR0+1236 - .word .LC125 + .word .LC124 .fnend .size dump_sblk_queue, .-dump_sblk_queue .align 2 @@ -8967,18 +8922,18 @@ queue_lun_state: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} - ldr lr, .L1546 + ldr lr, .L1537 ldrb ip, [lr, #2775] @ zero_extendqisi2 cmp ip, #255 - beq .L1538 - ldr r4, .L1546+4 + beq .L1529 + ldr r4, .L1537+4 mov r2, #1 ldrb r3, [lr, #1189] @ zero_extendqisi2 mov r9, #48 - sub r5, r4, #3200 + sub r5, r4, #3120 rsb r7, r3, #24 - ldrb r4, [r4, #-3202] @ zero_extendqisi2 - ldrh r8, [r5, #-4] + ldrb r4, [r4, #-3130] @ zero_extendqisi2 + ldrh r8, [r5, #-12] mov r3, r2, asl r3 sub r4, r4, #1 sub r3, r3, #1 @@ -8991,52 +8946,52 @@ queue_lun_state: and r10, r3, r0, asr r7 uxth r2, r2 and r5, r5, r2 -.L1537: +.L1528: mla r0, r9, ip, lr ldr r6, [r0, #1260] and fp, r3, r6, lsr r7 cmp fp, r10 - bne .L1532 + bne .L1523 and r6, r4, r6, lsr r8 ldrb r0, [r0, #1278] @ zero_extendqisi2 and r6, r6, r2 cmp r6, r5 - bne .L1533 + bne .L1524 cmp r1, #1 ldmnefd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} sub r6, r0, #7 tst r6, #253 - beq .L1532 + beq .L1523 ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1533: +.L1524: cmp r1, #3 ldrls pc, [pc, r1, asl #2] - b .L1532 -.L1534: - .word .L1531 - .word .L1535 - .word .L1536 - .word .L1531 -.L1535: + b .L1523 +.L1525: + .word .L1522 + .word .L1526 + .word .L1527 + .word .L1522 +.L1526: sub r6, r0, #7 tst r6, #253 - beq .L1532 + beq .L1523 ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1536: +.L1527: cmp r0, #11 ldmnefd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1532: +.L1523: mla ip, r9, ip, lr ldrb ip, [ip, #1236] @ zero_extendqisi2 cmp ip, #255 - bne .L1537 -.L1538: + bne .L1528 +.L1529: mov r0, #0 -.L1531: +.L1522: ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1547: +.L1538: .align 2 -.L1546: +.L1537: .word .LANCHOR0 .word .LANCHOR3 .fnend @@ -9048,7 +9003,7 @@ queue_remove_completed_req: .fnstart @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1575 + ldr r3, .L1566 mov ip, #0 stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} @@ -9062,82 +9017,82 @@ queue_remove_completed_req: mov r4, r3 ldrb r7, [r3, #2778] @ zero_extendqisi2 mov r5, r0 - ldr r10, .L1575+4 + ldr r10, .L1566+4 str r1, [sp, #4] -.L1549: +.L1540: cmp r2, #255 - beq .L1550 + beq .L1541 mla fp, r0, r2, r3 mov r1, r2 ldrb lr, [fp, #1278] @ zero_extendqisi2 sub lr, lr, #12 cmp lr, #1 - bls .L1551 + bls .L1542 cmp ip, #0 - ldrne r3, .L1575 - beq .L1548 - b .L1573 -.L1551: + ldrne r3, .L1566 + beq .L1539 + b .L1564 +.L1542: mul ip, r0, r1 ldrb r2, [fp, #1236] @ zero_extendqisi2 add lr, r8, ip ldrb fp, [lr, #1279] @ zero_extendqisi2 strb r9, [lr, #1236] cmp fp, #1 - bne .L1554 + bne .L1545 add ip, r10, ip ldrh ip, [ip, #34] cmp ip, #0 moveq ip, r7 - ldreq lr, .L1575+8 + ldreq lr, .L1566+8 ldrne ip, [sp, #4] - ldrne lr, .L1575+12 - b .L1555 -.L1554: + ldrne lr, .L1566+12 + b .L1546 +.L1545: cmp fp, #0 - beq .L1574 -.L1556: + beq .L1565 +.L1547: mov ip, #1 - b .L1549 -.L1574: + b .L1540 +.L1565: ldr ip, [lr, #1256] cmn ip, #1 movne ip, r6 - ldrne lr, .L1575+16 - beq .L1556 -.L1555: + ldrne lr, .L1566+16 + beq .L1547 +.L1546: cmp ip, #255 - bne .L1560 + bne .L1551 strb r2, [r3, #2775] mov r2, #48 mla r1, r2, r1, r3 ldrb r3, [r1, #1237] @ zero_extendqisi2 strb r3, [lr] - b .L1548 -.L1560: + b .L1539 +.L1551: mov lr, ip mla ip, r0, ip, r3 ldrb ip, [ip, #1236] @ zero_extendqisi2 cmp ip, #255 - bne .L1560 + bne .L1551 mla r1, r5, r1, r4 mla lr, r5, lr, r4 ldrb r1, [r1, #1237] @ zero_extendqisi2 strb r1, [lr, #1236] - b .L1556 -.L1550: + b .L1547 +.L1541: cmp ip, #0 - beq .L1548 + beq .L1539 mvn r2, #0 -.L1573: +.L1564: strb r2, [r3, #2775] -.L1548: +.L1539: add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1576: +.L1567: .align 2 -.L1575: +.L1566: .word .LANCHOR0 .word .LANCHOR0+1236 .word .LANCHOR0+2778 @@ -9146,232 +9101,82 @@ queue_remove_completed_req: .fnend .size queue_remove_completed_req, .-queue_remove_completed_req .align 2 - .global pm_alloc_new_blk - .type pm_alloc_new_blk, %function -pm_alloc_new_blk: - .fnstart - @ args = 0, pretend = 0, frame = 0 - @ frame_needed = 0, uses_anonymous_args = 0 - stmfd sp!, {r0, r1, r4, r5, r6, r7, r8, lr} - .save {r4, r5, r6, r7, r8, lr} - .pad #8 - movw r2, #690 - ldr r5, .L1595 - ldr r7, .L1595+4 - ldr r4, [r5, #2804] - ldrh r3, [r4, r2] - add r3, r3, #1 - uxth r3, r3 - strh r3, [r4, r2] @ movhi - ldrb r2, [r7, #-3195] @ zero_extendqisi2 - cmp r2, r3 - bls .L1578 - add r3, r3, #336 - mov r3, r3, asl #1 - ldrh r2, [r4, r3] - movw r3, #65535 - cmp r2, r3 - bne .L1579 -.L1578: - ldr r4, .L1595 - movw r8, #65535 -.L1580: - mov r0, #1 - bl ftl_alloc_sblk - cmp r0, r8 - mov r6, r0 - beq .L1580 - mov r1, #0 - bl ftl_erase_sblk - ldr r1, [r5, #2804] - mov r0, r6 - add r1, r1, #672 - bl ftl_get_blk_list_in_sblk - uxth r0, r0 - cmp r0, #0 - bne .L1581 - mov r1, r6 - ldr r0, .L1595+8 - bl printk - ldr r3, [r4, #1080] - add r6, r3, r6, asl #2 - ldrb r3, [r6, #2] @ zero_extendqisi2 - orr r3, r3, #224 - strb r3, [r6, #2] - b .L1580 -.L1581: - ldr r3, .L1595 - movw r2, #690 - mov r4, #0 - movw r1, #65535 - ldr r3, [r3, #2804] - strh r4, [r3, r2] @ movhi - add r3, r3, #412 - add r3, r3, #2 - mov r2, #1 - str r2, [r7, #-2604] -.L1583: - ldrh r0, [r3, #2]! - uxth r2, r4 - cmp r0, r1 - beq .L1582 - add r4, r4, #1 - cmp r4, #128 - bne .L1583 - mov r2, #264 - ldr r1, .L1595+12 - ldr r0, .L1595+16 - bl printk - bl dump_stack - mov r2, r4 -.L1582: - add r2, r2, #208 - ldr r3, [r5, #2804] - mov r2, r2, asl #1 - strh r6, [r3, r2] @ movhi - add r3, r3, #688 - ldrh r2, [r3] - add r2, r2, #1 - strh r2, [r3] @ movhi -.L1579: - ldr r2, [r5, #2804] - movw r3, #690 - ldrh r3, [r2, r3] - add r3, r3, #336 - mov r3, r3, asl #1 - ldrh r4, [r2, r3] - movw r2, #65533 - sub r3, r4, #1 - uxth r3, r3 - cmp r3, r2 - bls .L1585 - ldr r1, .L1595+12 - movw r2, #270 - ldr r0, .L1595+16 - bl printk - bl dump_stack -.L1585: - ldr r1, [r5, #2804] - mov r2, #0 - add r3, r1, #696 - strh r2, [r3] @ movhi - ldr r2, .L1595+20 - ldrb r3, [r5, #1189] @ zero_extendqisi2 - ldrh r5, [r2, #-4] - rsb r3, r3, #24 - movw r2, #694 - rsb r5, r5, r3 - mov r3, r4, asr r5 - strh r3, [r1, r2] @ movhi - ldr r2, .L1595+24 - add r1, r1, #692 - strh r4, [r1] @ movhi - ldr r2, [r2] - tst r2, #4096 - beq .L1589 - mvn r2, #0 - uxth r3, r3 - ldr r0, .L1595+28 - mov r1, r4 - str r3, [sp] - mvn r2, r2, asl r5 - mov r3, r4 - bl printk -.L1589: - mov r0, #0 - add sp, sp, #8 - @ sp needed - ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L1596: - .align 2 -.L1595: - .word .LANCHOR0 - .word .LANCHOR3 - .word .LC126 - .word .LANCHOR1+1820 - .word .LC0 - .word .LANCHOR3-3200 - .word .LANCHOR2 - .word .LC127 - .fnend - .size pm_alloc_new_blk, .-pm_alloc_new_blk - .align 2 .global pm_select_ram_region .type pm_select_ram_region, %function pm_select_ram_region: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L1612 + ldr r2, .L1583 mov r3, #0 - movw ip, #65535 -.L1599: - mov r1, r3, asl #3 + movw r1, #65535 +.L1570: + mov ip, r3, asl #3 uxth r0, r3 - ldrh r1, [r1, r2] - cmp r1, ip - ldr r1, .L1612 + ldrh ip, [ip, r2] + cmp ip, r1 + ldr ip, .L1583 bxeq lr add r3, r3, #1 cmp r3, #32 - bne .L1599 + bne .L1570 mov r2, #0 mov r0, r3 - mov ip, #32768 + mov r1, #32768 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} -.L1601: - add r3, r1, r2, asl #3 +.L1572: + add r3, ip, r2, asl #3 uxth lr, r2 ldrh r3, [r3, #2] tst r3, #32768 - bne .L1600 - cmp r3, ip - movcc ip, r3 + bne .L1571 + cmp r3, r1 + movcc r1, r3 movcc r0, lr -.L1600: +.L1571: add r2, r2, #1 cmp r2, #32 - bne .L1601 + bne .L1572 cmp r0, #32 mov r4, r0 ldmnefd sp!, {r4, r5, r6, pc} - ldr r3, .L1612+4 - mvn r2, #0 - ldr r5, .L1612 - ldrb lr, [r3, #-2344] @ zero_extendqisi2 + ldr r2, .L1583+4 mov r3, #0 -.L1603: - mov ip, r3, asl #3 + mvn r1, #0 + sub r2, r2, #2528 + ldrb r5, [r2, #256] @ zero_extendqisi2 +.L1574: + mov lr, r3, asl #3 uxth r6, r3 - add r0, r1, ip + add r0, ip, lr ldrh r0, [r0, #2] - cmp r0, r2 - bcs .L1602 - ldrh ip, [ip, r5] - cmp ip, lr - movne r2, r0 + cmp r0, r1 + bcs .L1573 + ldrh lr, [lr, r2] + cmp lr, r5 + movne r1, r0 movne r4, r6 -.L1602: +.L1573: add r3, r3, #1 cmp r3, #32 - bne .L1603 + bne .L1574 cmp r4, #32 - bne .L1604 - ldr r1, .L1612+8 + bne .L1575 + ldr r1, .L1583+8 movw r2, #377 - ldr r0, .L1612+12 + ldr r0, .L1583+12 bl printk bl dump_stack -.L1604: +.L1575: mov r0, r4 ldmfd sp!, {r4, r5, r6, pc} -.L1613: +.L1584: .align 2 -.L1612: - .word .LANCHOR3-2600 +.L1583: + .word .LANCHOR3-2528 .word .LANCHOR3 - .word .LANCHOR1+1840 + .word .LANCHOR1+1804 .word .LC0 .fnend .size pm_select_ram_region, .-pm_select_ram_region @@ -9396,36 +9201,36 @@ flash_lsb_page_tbl_build: stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r6, r0 - ldr r4, .L1659 + ldr r4, .L1630 mov r0, #1024 ldr r3, [r4, #1096] ldrb r1, [r3, #12] @ zero_extendqisi2 bl __aeabi_idiv cmp r6, #0 uxth r5, r0 - bne .L1616 + bne .L1587 add r4, r4, #4 -.L1617: +.L1588: mov r3, r6, asl #1 strh r6, [r3, r4] @ movhi add r6, r6, #1 cmp r6, #512 - bne .L1617 -.L1621: + bne .L1588 +.L1592: mov r1, #255 - ldr r0, .L1659+4 + ldr r0, .L1630+4 mov r2, #2048 bl ftl_memset mov r3, #0 - ldr r1, .L1659+8 - ldr r0, .L1659+4 - b .L1618 -.L1616: + ldr r1, .L1630+8 + ldr r0, .L1630+4 + b .L1589 +.L1587: cmp r6, #1 - bne .L1619 + bne .L1590 add r4, r4, #4 mov r3, #0 -.L1620: +.L1591: uxth r2, r3 mov ip, r3, asl #1 cmp r2, #3 @@ -9440,14 +9245,14 @@ flash_lsb_page_tbl_build: movne r2, r1 cmp r3, #512 strh r2, [ip, r4] @ movhi - bne .L1620 - b .L1621 -.L1619: + bne .L1591 + b .L1592 +.L1590: cmp r6, #2 - bne .L1622 + bne .L1593 add r4, r4, #4 mov r3, #0 -.L1623: +.L1594: uxth r2, r3 mov r1, r3, asl #1 cmp r2, #1 @@ -9456,14 +9261,14 @@ flash_lsb_page_tbl_build: subhi r2, r0, #1 cmp r3, #512 strh r2, [r1, r4] @ movhi - bne .L1623 - b .L1621 -.L1622: + bne .L1594 + b .L1592 +.L1593: cmp r6, #3 - bne .L1624 + bne .L1595 add r4, r4, #4 mov r3, #0 -.L1625: +.L1596: uxth r2, r3 mov ip, r3, asl #1 cmp r2, #5 @@ -9478,12 +9283,12 @@ flash_lsb_page_tbl_build: movne r2, r1 cmp r3, #512 strh r2, [ip, r4] @ movhi - bne .L1625 - b .L1621 -.L1624: + bne .L1596 + b .L1592 +.L1595: cmp r6, #4 mov r3, #0 - bne .L1626 + bne .L1597 strh r3, [r4, #4] @ movhi mov r3, #1 strh r6, [r4, #12] @ movhi @@ -9498,7 +9303,7 @@ flash_lsb_page_tbl_build: strh r3, [r4, #16] @ movhi mov r3, #8 strh r3, [r4, #18]! @ movhi -.L1627: +.L1598: tst r3, #1 movne r2, #7 moveq r2, #6 @@ -9507,39 +9312,39 @@ flash_lsb_page_tbl_build: strh r2, [r4, #2]! @ movhi uxth r3, r3 cmp r3, #512 - bne .L1627 - b .L1621 -.L1626: + bne .L1598 + b .L1592 +.L1597: cmp r6, #5 - bne .L1628 + bne .L1599 add r4, r4, #4 -.L1629: +.L1600: mov r2, r3, asl #1 strh r3, [r2, r4] @ movhi add r3, r3, #1 cmp r3, #16 - bne .L1629 - ldr r2, .L1659+12 -.L1630: + bne .L1600 + ldr r2, .L1630+12 +.L1601: strh r3, [r2, #2]! @ movhi add r3, r3, #2 uxth r3, r3 cmp r3, #1008 - bne .L1630 - b .L1621 -.L1628: + bne .L1601 + b .L1592 +.L1599: cmp r6, #8 - bne .L1631 + bne .L1602 add r4, r4, #4 -.L1632: +.L1603: strh r3, [r3, r4] @ movhi add r3, r3, #2 cmp r3, #1024 - bne .L1632 - b .L1621 -.L1631: + bne .L1603 + b .L1592 +.L1602: cmp r6, #9 - bne .L1633 + bne .L1604 strh r3, [r4, #4] @ movhi movw r2, #1021 mov r3, #1 @@ -9547,45 +9352,45 @@ flash_lsb_page_tbl_build: mov r3, #2 strh r3, [r4, #8]! @ movhi mov r3, #3 -.L1634: +.L1605: strh r3, [r4, #2]! @ movhi add r3, r3, #2 uxth r3, r3 cmp r3, r2 - bne .L1634 - b .L1621 -.L1633: + bne .L1605 + b .L1592 +.L1604: cmp r6, #10 - bne .L1635 + bne .L1606 add r4, r4, #4 -.L1636: +.L1607: mov r2, r3, asl #1 strh r3, [r2, r4] @ movhi add r3, r3, #1 cmp r3, #63 - bne .L1636 - ldr r2, .L1659+16 + bne .L1607 + ldr r2, .L1630+16 movw r1, #961 -.L1637: +.L1608: strh r3, [r2, #2]! @ movhi add r3, r3, #2 uxth r3, r3 cmp r3, r1 - bne .L1637 - b .L1621 -.L1635: + bne .L1608 + b .L1592 +.L1606: cmp r6, #11 - bne .L1638 - ldr r2, .L1659+8 + bne .L1609 + ldr r2, .L1630+8 mov r3, #0 -.L1639: +.L1610: mov r1, r3, asl #1 strh r3, [r1, r2] @ movhi add r3, r3, #1 cmp r3, #8 - bne .L1639 - ldr r1, .L1659+20 -.L1640: + bne .L1610 + ldr r1, .L1630+20 +.L1611: tst r3, #1 movne r2, #7 moveq r2, #6 @@ -9594,37 +9399,37 @@ flash_lsb_page_tbl_build: strh r2, [r1, #2]! @ movhi uxth r3, r3 cmp r3, #512 - bne .L1640 - b .L1621 -.L1638: + bne .L1611 + b .L1592 +.L1609: cmp r6, #13 - bne .L1621 - ldr r2, .L1659+24 + bne .L1592 + ldr r2, .L1630+24 mov r3, #0 -.L1641: +.L1612: strh r3, [r2, #2]! @ movhi add r3, r3, #3 uxth r3, r3 cmp r3, #1536 - bne .L1641 - b .L1621 -.L1618: + bne .L1612 + b .L1592 +.L1589: uxth r2, r3 cmp r2, r5 - bcs .L1658 + bcs .L1629 mov r2, r3, asl #1 add r3, r3, #1 ldrh r2, [r2, r1] mov ip, r2, asl #1 strh r2, [r0, ip] @ movhi - b .L1618 -.L1658: + b .L1589 +.L1629: ldmfd sp!, {r4, r5, r6, pc} -.L1660: +.L1631: .align 2 -.L1659: +.L1630: .word .LANCHOR0 - .word .LANCHOR3-2340 + .word .LANCHOR3-2268 .word .LANCHOR0+4 .word .LANCHOR0+34 .word .LANCHOR0+128 @@ -9642,146 +9447,141 @@ flash_die_info_init: stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #12 - ldr r5, .L1692 + ldr r5, .L1663 ldr r3, [r5] tst r3, #4096 - beq .L1662 - ldr r0, .L1692+4 - ldr r1, .L1692+8 + beq .L1633 + ldr r0, .L1663+4 + ldr r1, .L1663+8 bl printk -.L1662: +.L1633: ldrh r3, [r5, #30] - mov r6, #0 - ldr r4, .L1692+12 + mov r7, #0 + ldr r4, .L1663+12 ldrb r1, [r5, #16] @ zero_extendqisi2 ldrh r0, [r5, #14] - add r9, r4, #1200 + add r10, r4, #1200 strh r3, [r4, #2] @ movhi - strb r6, [r4, #1101] + strb r7, [r4, #1101] bl __aeabi_idiv - ldr r7, .L1692+16 - mov r1, r6 + ldr r6, .L1663+16 + mov r1, r7 mov r2, #8 - strh r0, [r7] @ movhi - ldr r0, .L1692+20 + ldr r9, .L1663+20 + strh r0, [r6, #-220] @ movhi + ldr r0, .L1663+24 bl ftl_memset - add r0, r7, #4 - mov r1, r6 + sub r0, r6, #216 + mov r1, r7 mov r2, #32 bl ftl_memset - ldr r7, .L1692+24 -.L1667: +.L1638: ldrb r2, [r5, #4] @ zero_extendqisi2 - add r1, r9, r6, asl #3 - ldr r8, .L1692+28 + add r1, r10, r7, asl #3 + ldr r8, .L1663+28 mov r3, #2 - ldr r0, .L1692+32 - strb r3, [r6, r7] + ldr r0, .L1663+32 + strb r3, [r7, r9] mov r3, #0 -.L1663: +.L1634: cmp r3, r2 - bcs .L1690 + bcs .L1661 add ip, r0, r3 ldrb lr, [ip, #1] @ zero_extendqisi2 ldrb ip, [r1, r3] @ zero_extendqisi2 cmp lr, ip - bne .L1664 + bne .L1635 add r3, r3, #1 - b .L1663 -.L1690: + b .L1634 +.L1661: ldrb r3, [r4, #1101] @ zero_extendqisi2 mov r1, #0 - ldr r2, .L1692+36 - uxtb r0, r6 - add r2, r2, r3, asl #2 - str r1, [r2, #-288] + uxtb r0, r7 + add r2, r6, r3, asl #2 + str r1, [r2, #-216] add r2, r3, #1 add r3, r4, r3 strb r2, [r4, #1101] strb r0, [r3, #1180] bl zftl_flash_enter_slc_mode -.L1664: - add r6, r6, #1 - cmp r6, #4 - bne .L1667 +.L1635: + add r7, r7, #1 + cmp r7, #4 + bne .L1638 ldrb r2, [r5, #12] @ zero_extendqisi2 - ldr r3, .L1692 + ldr r3, .L1663 cmp r2, #2 - beq .L1668 -.L1675: + beq .L1639 +.L1646: ldrb r3, [r5, #17] @ zero_extendqisi2 ldrb r2, [r4, #1101] @ zero_extendqisi2 smulbb r2, r2, r3 ldrh r3, [r5, #18] smulbb r3, r2, r3 - ldr r2, .L1692+40 - strh r3, [r2] @ movhi + strh r3, [r6, #-184] @ movhi add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1668: +.L1639: ldrh ip, [r3, #18] mov lr, #0 ldrh r2, [r4, #2] add r3, r3, #4 and ip, ip, #65280 ldrb r1, [r4, #1101] @ zero_extendqisi2 - ldr r6, .L1692+36 + ldrb r7, [r3] @ zero_extendqisi2 mul r2, r2, ip ldrb ip, [r3, #13] @ zero_extendqisi2 - ldrb r7, [r3] @ zero_extendqisi2 mul ip, ip, r2 ldrb r2, [r3, #23] @ zero_extendqisi2 str r2, [sp] mov r2, ip, asl #1 str r2, [sp, #4] mov r2, lr -.L1673: +.L1644: add r9, r8, r2, asl #3 mov r0, #0 -.L1669: +.L1640: cmp r0, r7 - bcs .L1691 + bcs .L1662 add r10, r3, r0 ldrb fp, [r10, #1] @ zero_extendqisi2 ldrb r10, [r9, r0] @ zero_extendqisi2 cmp fp, r10 - bne .L1670 + bne .L1641 add r0, r0, #1 - b .L1669 -.L1691: + b .L1640 +.L1662: ldmia sp, {r9, lr} mov r0, r1 add r1, r6, r1, asl #2 cmp r9, #0 moveq lr, ip - str lr, [r1, #-288] + str lr, [r1, #-216] add r1, r0, #1 add r0, r4, r0 mov lr, #1 uxtb r1, r1 strb r2, [r0, #1180] -.L1670: +.L1641: add r2, r2, #1 cmp r2, #4 - bne .L1673 + bne .L1644 cmp lr, #0 strneb r1, [r4, #1101] - b .L1675 -.L1693: + b .L1646 +.L1664: .align 2 -.L1692: +.L1663: .word .LANCHOR2 .word .LC4 - .word .LANCHOR1+1864 + .word .LANCHOR1+1828 .word .LANCHOR0 - .word .LANCHOR3-292 - .word .LANCHOR0+1180 + .word .LANCHOR3 .word .LANCHOR0+1192 + .word .LANCHOR0+1180 .word .LANCHOR0+1200 .word .LANCHOR2+4 - .word .LANCHOR3 - .word .LANCHOR3-256 .fnend .size flash_die_info_init, .-flash_die_info_init .align 2 @@ -9794,22 +9594,23 @@ lpa_hash_init: stmfd sp!, {r4, lr} .save {r4, lr} mov r1, #255 - ldr r4, .L1696 + ldr r4, .L1667 mov r2, #512 - sub r0, r4, #3136 + sub r0, r4, #3056 + sub r0, r0, #4 bl ftl_memset - sub r3, r4, #3168 - ldr r0, [r4, #-2620] + sub r3, r4, #3088 + ldr r0, [r4, #-2544] mov r1, #255 - ldrh r2, [r3, #-4] - ldrb r3, [r4, #-3195] @ zero_extendqisi2 + ldrh r2, [r3, #-8] + ldrb r3, [r4, #-3123] @ zero_extendqisi2 mul r2, r3, r2 mov r2, r2, asl #2 ldmfd sp!, {r4, lr} b ftl_memset -.L1697: +.L1668: .align 2 -.L1696: +.L1667: .word .LANCHOR3 .fnend .size lpa_hash_init, .-lpa_hash_init @@ -9822,63 +9623,64 @@ lpa_rebuild_hash: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} - ldr r3, .L1711 + ldr r3, .L1682 ldr r3, [r3] tst r3, #4096 - beq .L1699 - ldr r0, .L1711+4 + beq .L1670 + ldr r0, .L1682+4 mov r2, #239 - ldr r1, .L1711+8 + ldr r1, .L1682+8 mov r3, #0 bl printk -.L1699: - ldr r4, .L1711+12 +.L1670: + ldr r4, .L1682+12 mov r1, #255 mov r2, #512 - sub r5, r4, #3168 - sub r0, r4, #3136 + ldr r0, .L1682+16 + sub r5, r4, #3088 bl ftl_memset - ldrb r3, [r4, #-3195] @ zero_extendqisi2 - ldrh r2, [r5, #-4] + ldrb r3, [r4, #-3123] @ zero_extendqisi2 mov r1, #255 - ldr r0, [r4, #-2620] + ldrh r2, [r5, #-8] + ldr r0, [r4, #-2544] mul r2, r3, r2 mov r2, r2, asl #2 bl ftl_memset - sub lr, r5, #4 - sub r5, r4, #3136 + sub lr, r5, #8 + add r5, r5, #28 mov r0, #0 mov ip, r4 -.L1700: +.L1671: ldrh r1, [lr] uxth r2, r0 - ldrb r3, [r4, #-3195] @ zero_extendqisi2 + ldrb r3, [r4, #-3123] @ zero_extendqisi2 mul r3, r3, r1 cmp r2, r3, asl #1 - bge .L1710 - ldr r3, [ip, #-2624] + bge .L1681 + ldr r3, [ip, #-2548] ldr r3, [r3, r2, asl #2] cmn r3, #1 - beq .L1701 + beq .L1672 uxtb r3, r3 mov r3, r3, asl #1 ldrh r1, [r5, r3] strh r2, [r5, r3] @ movhi mov r2, r2, asl #1 - ldr r3, [ip, #-2620] + ldr r3, [ip, #-2544] strh r1, [r3, r2] @ movhi -.L1701: +.L1672: add r0, r0, #1 - b .L1700 -.L1710: + b .L1671 +.L1681: ldmfd sp!, {r3, r4, r5, pc} -.L1712: +.L1683: .align 2 -.L1711: +.L1682: .word .LANCHOR2 - .word .LC128 - .word .LANCHOR1+1884 + .word .LC125 + .word .LANCHOR1+1848 .word .LANCHOR3 + .word .LANCHOR3-3060 .fnend .size lpa_rebuild_hash, .-lpa_rebuild_hash .align 2 @@ -9894,13 +9696,13 @@ zftl_read_flash_info: mov r2, #11 mov r4, r0 bl ftl_memset - ldr r2, .L1718 - ldr r3, .L1718+4 + ldr r2, .L1689 + ldr r3, .L1689+4 mov ip, #1 ldrh r1, [r2, #2] ldrb r0, [r3, #13] @ zero_extendqisi2 smulbb r1, r0, r1 - ldr r0, .L1718+8 + ldr r0, .L1689+8 strh r1, [r4, #4] @ unaligned ldrb r1, [r2, #1172] @ zero_extendqisi2 strb r1, [r4, #7] @@ -9915,21 +9717,21 @@ zftl_read_flash_info: strb r3, [r4, #9] mov r3, #0 strb r3, [r4, #10] -.L1714: +.L1685: uxtb r2, r3 cmp r2, r1 - bcs .L1717 + bcs .L1688 ldrb lr, [r3, r0] @ zero_extendqisi2 add r3, r3, #1 ldrb r2, [r4, #10] @ zero_extendqisi2 orr r2, r2, ip, asl lr strb r2, [r4, #10] - b .L1714 -.L1717: + b .L1685 +.L1688: ldmfd sp!, {r4, pc} -.L1719: +.L1690: .align 2 -.L1718: +.L1689: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR0+1180 @@ -9944,36 +9746,35 @@ gc_init: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, lr} .save {r3, r4, r5, r6, r7, r8, r9, lr} - movw r7, #2828 - ldr r6, .L1722 + movw r9, #2828 + ldr r6, .L1693 mov r5, #0 - ldr r4, .L1722+4 + ldr r4, .L1693+4 mov r1, r5 - add r9, r6, r7 - movw r2, #2132 - sub r8, r4, #3152 - mov r0, r9 - strb r5, [r4, #-3187] - strb r5, [r4, #-254] - str r5, [r4, #-252] - strh r5, [r8, #-12] @ movhi + add r7, r6, r9 + movw r2, #2204 + sub r8, r4, #3088 + mov r0, r7 + strb r5, [r4, #-3115] + strb r5, [r4, #-182] + str r5, [r4, #-180] + strh r5, [r8] @ movhi bl ftl_memset + ldrh r2, [r8, #-8] mvn r3, #0 - strh r3, [r6, r7] @ movhi - sub r7, r4, #3168 + strh r3, [r6, r9] @ movhi movw ip, #2812 str r5, [r6, #2836] - ldrh r2, [r7, #-4] - strh r5, [r7, #-14] @ movhi mov r3, r2, lsr #1 - strh r3, [r9, #34] @ movhi - sub r3, r4, #3184 + strh r3, [r7, #34] @ movhi + ldrb r3, [r4, #-3123] @ zero_extendqisi2 mov r0, r2, lsr #2 - strh r0, [r9, #32] @ movhi - strh r5, [r3, #-2] @ movhi - strh r5, [r3] @ movhi - ldrb r3, [r4, #-3195] @ zero_extendqisi2 + strh r0, [r7, #32] @ movhi + sub r7, r4, #3104 smulbb r1, r3, r2 + strh r5, [r7, #-8] @ movhi + strh r5, [r7, #-6] @ movhi + strh r5, [r7, #-4] @ movhi uxth r1, r1 sub lr, r1, #32 strh lr, [r6, ip] @ movhi @@ -9982,45 +9783,46 @@ gc_init: add r1, r6, #2816 strh r2, [r1] @ movhi mov r2, #4 - strh r2, [r4, #-248] @ movhi + strh r2, [r4, #-176] @ movhi movw r2, #2814 strh r0, [r6, r2] @ movhi - ldrh r0, [r7, #-2] + sub r4, r4, #3072 + ldrh r0, [r7, #-10] mul r0, r3, r0 mov r0, r0, asl #2 bl ftl_malloc - ldrb r3, [r4, #-3195] @ zero_extendqisi2 - str r0, [r4, #-244] - ldrh r0, [r7, #-2] + ldrb r3, [r4, #-51] @ zero_extendqisi2 + str r0, [r4, #2900] + ldrh r0, [r7, #-10] mul r0, r3, r0 mov r0, r0, asl #2 bl ftl_malloc - ldrh r3, [r7, #-2] - str r0, [r4, #-240] - ldrb r0, [r4, #-3195] @ zero_extendqisi2 + ldrh r3, [r7, #-10] + str r0, [r4, #2904] + ldrb r0, [r4, #-51] @ zero_extendqisi2 mul r0, r0, r3 bl ftl_malloc - ldrb r3, [r4, #-3195] @ zero_extendqisi2 - str r0, [r4, #-3192] - ldrh r0, [r7, #-2] + ldrb r3, [r4, #-51] @ zero_extendqisi2 + str r0, [r4, #-48] + ldrh r0, [r7, #-10] mul r0, r3, r0 mov r0, r0, asl #2 bl ftl_malloc - ldrb r3, [r4, #-3195] @ zero_extendqisi2 - str r0, [r4, #-3200] - ldrh r0, [r7, #-2] + ldrb r3, [r4, #-51] @ zero_extendqisi2 + str r0, [r4, #-56] + ldrh r0, [r7, #-10] mul r0, r3, r0 mov r0, r0, asl #2 bl ftl_malloc - ldrh r3, [r8, #-10] movw r2, #2808 + str r0, [r4, #2908] + ldrh r3, [r4, #-14] mov r3, r3, lsr #2 strh r3, [r6, r2] @ movhi - str r0, [r4, #-236] ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, pc} -.L1723: +.L1694: .align 2 -.L1722: +.L1693: .word .LANCHOR0 .word .LANCHOR3 .fnend @@ -10036,33 +9838,33 @@ gc_static_wearleveling: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #44 sub sp, sp, #44 - ldr r4, .L1843 + ldr r4, .L1814 ldr r3, [r4, #2804] ldr r3, [r3, #32] cmp r3, #10240 - bls .L1725 + bls .L1696 bl ftl_tmp_into_update -.L1725: +.L1696: ldr r3, [r4, #1092] ldr r2, [r3, #568] ldr r0, [r3, #12] add r1, r2, #35840 add r1, r1, #160 cmp r0, r1 - bcs .L1726 - ldr r1, .L1843 + bcs .L1697 + ldr r1, .L1814 ldr ip, [r1, #2804] ldr r1, [r3, #572] ldr ip, [ip, #36] add r1, r1, #256 cmp ip, r1 movcc r0, #0 - bcc .L1835 -.L1726: + bcc .L1806 +.L1697: add r2, r2, #860160 add r2, r2, #3840 cmp r0, r2 - bhi .L1728 + bhi .L1699 ldr r1, [r4, #2804] ldr r2, [r3, #572] ldr r1, [r1, #36] @@ -10070,11 +9872,11 @@ gc_static_wearleveling: cmp r1, r2 movls r7, #0 movls r9, r7 - bls .L1729 -.L1728: + bls .L1700 +.L1699: ldr r2, [r4, #2804] mov r8, #0 - ldr ip, .L1843 + ldr ip, .L1814 movw r5, #65535 mov fp, r8 mov r9, r8 @@ -10088,26 +9890,26 @@ gc_static_wearleveling: str r8, [sp, #28] str r8, [sp, #24] str r8, [sp, #20] -.L1730: - ldr r2, .L1843+4 - ldr r3, .L1843 +.L1701: + ldr r2, .L1814+4 + ldr r3, .L1814 ldrh r2, [r2] cmp r2, r7 - bls .L1840 + bls .L1811 ldr r0, [ip, #1080] mov r1, r7, asl #2 add lr, r0, r1 ldrb r3, [lr, #2] @ zero_extendqisi2 and r2, r3, #224 cmp r2, #224 - beq .L1731 + beq .L1702 tst r3, #8 ldrneh r3, [r0, r1] ldrne r4, [r0, r1] ubfxne r3, r3, #0, #11 ubfxne r4, r4, #11, #8 - bne .L1733 -.L1732: + bne .L1704 +.L1703: tst r3, #24 ldreqh r3, [r0, r1] movweq r4, #65535 @@ -10115,8 +9917,8 @@ gc_static_wearleveling: movwne r3, #65535 ubfxeq r3, r3, #0, #11 ubfxne r4, r4, #11, #8 - bne .L1735 -.L1733: + bne .L1706 +.L1704: ldr r2, [sp, #32] add r9, r9, #1 cmp r5, r3 @@ -10127,15 +9929,15 @@ gc_static_wearleveling: movhi r5, r3 addhi r2, r2, #584 strhih r7, [r2, #2] @ movhi -.L1777: +.L1748: ldr r2, [sp, #20] cmp r2, r3 movw r2, #65535 strcc r3, [sp, #20] movcc r8, r7 cmp r4, r2 - beq .L1737 -.L1735: + beq .L1708 +.L1706: ldr r2, [sp, #24] cmp r6, r4 add r2, r2, #1 @@ -10151,14 +9953,14 @@ gc_static_wearleveling: cmp r10, r4 movcc fp, r7 movcc r10, r4 -.L1737: +.L1708: cmp r4, #9 cmphi r3, #9 - bhi .L1731 - ldr r3, .L1843+8 + bhi .L1702 + ldr r3, .L1814+8 ldr r3, [r3] tst r3, #256 - beq .L1731 + beq .L1702 ldrh r2, [r0, r1] ldr r3, [r0, r1] ldrb r1, [lr, #2] @ zero_extendqisi2 @@ -10175,16 +9977,16 @@ gc_static_wearleveling: mov r1, r7, asl #1 ldr r0, [ip, #1088] ldrh r1, [r0, r1] - ldr r0, .L1843+12 + ldr r0, .L1814+12 str r1, [sp, #12] mov r1, r7 bl printk ldr ip, [sp, #36] -.L1731: +.L1702: add r7, r7, #1 uxth r7, r7 - b .L1730 -.L1840: + b .L1701 +.L1811: ldr r0, [r3, #1092] mov r2, #0 mov r1, #255 @@ -10198,12 +10000,12 @@ gc_static_wearleveling: ldr r1, [r3, #1092] ldr r7, [r3, #1080] ldrh r1, [r1, r2] - ldr r2, .L1843+8 + ldr r2, .L1814+8 mov ip, r1, asl #2 ldr r2, [r2] add r4, r7, ip tst r2, #1024 - beq .L1740 + beq .L1711 ldrb r0, [r4, #2] @ zero_extendqisi2 ldrh r2, [r7, ip] ldr lr, [r7, r1, asl #2] @@ -10219,68 +10021,68 @@ gc_static_wearleveling: ldr r0, [r3, #1088] mov r3, r1, asl #1 ldrh r3, [r0, r3] - ldr r0, .L1843+16 + ldr r0, .L1814+16 str r3, [sp, #12] ubfx r3, lr, #11, #8 bl printk ldr ip, [sp, #36] -.L1740: +.L1711: ldrb r3, [r4, #2] @ zero_extendqisi2 - ldr r1, .L1843 + ldr r1, .L1814 and r3, r3, #224 cmp r3, #32 - bne .L1741 + bne .L1712 ldr r3, [r1, #2804] add r3, r3, #688 ldrh r3, [r3] cmp r3, #2 - ldrhi r3, .L1843+20 + ldrhi r3, .L1814+20 movhi r2, #1 - strhi r2, [r3, #-232] -.L1741: + strhi r2, [r3, #-160] +.L1712: ldrb r2, [r4, #2] @ zero_extendqisi2 tst r2, #8 - beq .L1742 + beq .L1713 ldr r3, [r1, #2804] - ldr r0, .L1843+20 - ldr r4, .L1843 + ldr r0, .L1814+20 + ldr r4, .L1814 ldrh r1, [r3, #96] - ldrh r0, [r0, #-228] + ldrh r0, [r0, #-156] ldrh r3, [r7, ip] ubfx r3, r3, #0, #11 add r3, r3, r0, lsr #2 cmp r1, r3 - ble .L1742 + ble .L1713 and r3, r2, #192 cmp r3, #64 - bne .L1743 + bne .L1714 ldr r2, [r4, #1092] movw r3, #586 mov r1, #0 ldrh r0, [r2, r3] mov r2, #1 bl gc_add_sblk - ldr r2, .L1843+24 - movw r3, #2106 + ldr r2, .L1814+24 + movw r3, #2180 mov r1, #1 strh r1, [r2, r3] @ movhi - b .L1742 -.L1743: + b .L1713 +.L1714: tst r2, #224 - bne .L1742 + bne .L1713 ldr r3, [r4, #1092] movw r2, #590 movw r1, #65535 ldrh r0, [r3, r2] cmp r0, r1 - bne .L1742 + bne .L1713 movw r7, #586 str r2, [sp, #36] ldrh r0, [r3, r7] add r3, r3, #588 ldrh r3, [r3] cmp r3, r0 - beq .L1742 + beq .L1713 bl zftl_remove_free_node ldr r3, [r4, #1092] ldrh r1, [r3, r7] @@ -10288,9 +10090,9 @@ gc_static_wearleveling: strh r1, [r3, r2] @ movhi mvn r2, #0 strh r2, [r3, r7] @ movhi -.L1742: - ldr r1, .L1843 - ldr r2, .L1843+8 +.L1713: + ldr r1, .L1814 + ldr r2, .L1814+8 ldr r3, [r1, #1092] ldr r2, [r2] add r3, r3, #584 @@ -10299,7 +10101,7 @@ gc_static_wearleveling: ldrh r7, [r3] mov r3, r7, asl #2 add r4, ip, r3 - beq .L1744 + beq .L1715 ldrb r0, [r4, #2] @ zero_extendqisi2 ldrh r2, [ip, r3] ubfx r0, r0, #3, #2 @@ -10316,55 +10118,55 @@ gc_static_wearleveling: ldr r0, [r1, #1088] mov r1, r7, asl #1 ldrh r1, [r0, r1] - ldr r0, .L1843+28 + ldr r0, .L1814+28 str r1, [sp, #12] mov r1, r7 bl printk ldr ip, [sp, #36] -.L1744: +.L1715: ldrb r3, [r4, #2] @ zero_extendqisi2 - ldr r4, .L1843 + ldr r4, .L1814 tst r3, #8 - beq .L1745 + beq .L1716 ldr r2, [r4, #2804] - ldr r0, .L1843+20 + ldr r0, .L1814+20 ldrh r1, [r2, #98] - ldrh r0, [r0, #-226] + ldrh r0, [r0, #-154] ldr r2, [ip, r7, asl #2] ubfx r2, r2, #11, #8 add r2, r2, r0, lsr #2 cmp r1, r2 - ble .L1745 + ble .L1716 and r2, r3, #192 cmp r2, #64 - bne .L1746 + bne .L1717 ldr r3, [r4, #1092] mov r1, #0 mov r2, #1 add r3, r3, #584 ldrh r0, [r3] bl gc_add_sblk - ldr r2, .L1843+24 - movw r3, #2106 + ldr r2, .L1814+24 + movw r3, #2180 mov r1, #1 strh r1, [r2, r3] @ movhi - b .L1745 -.L1746: + b .L1716 +.L1717: and r3, r3, #248 cmp r3, #16 - bne .L1745 + bne .L1716 ldr r3, [r4, #1092] add r2, r3, #588 ldrh r1, [r2] movw r2, #65535 cmp r1, r2 - bne .L1745 + bne .L1716 add r2, r3, #584 ldrh r0, [r2] movw r2, #590 ldrh r3, [r3, r2] cmp r3, r0 - beq .L1745 + beq .L1716 bl zftl_remove_free_node ldr r3, [r4, #1092] add r2, r3, #588 @@ -10373,12 +10175,12 @@ gc_static_wearleveling: strh r1, [r2] @ movhi mvn r2, #0 strh r2, [r3] @ movhi -.L1745: - ldr r3, .L1843+8 +.L1716: + ldr r3, .L1814+8 ldr r0, [r4, #1080] ldr r3, [r3] tst r3, #1024 - beq .L1747 + beq .L1718 mov r3, r8, asl #2 add r1, r0, r3 ldrh r2, [r0, r3] @@ -10393,21 +10195,21 @@ gc_static_wearleveling: str r0, [sp, #4] ldrb r1, [r1, #3] @ zero_extendqisi2 str r1, [sp, #8] - ldr r1, .L1843 + ldr r1, .L1814 ldr r0, [r1, #1088] mov r1, r8, asl #1 ldrh r1, [r0, r1] - ldr r0, .L1843+32 + ldr r0, .L1814+32 str r1, [sp, #12] mov r1, r8 bl printk -.L1747: - ldr r3, .L1843+8 - ldr ip, .L1843 +.L1718: + ldr r3, .L1814+8 + ldr ip, .L1814 ldr r3, [r3] ldr r0, [ip, #1080] tst r3, #1024 - beq .L1748 + beq .L1719 mov r3, fp, asl #2 add r1, r0, r3 ldrh r2, [r0, r3] @@ -10425,11 +10227,11 @@ gc_static_wearleveling: mov r1, fp, asl #1 ldr r0, [ip, #1088] ldrh r1, [r0, r1] - ldr r0, .L1843+36 + ldr r0, .L1814+36 str r1, [sp, #12] mov r1, fp bl printk -.L1748: +.L1719: ldr r4, [r4, #2804] mov r1, r9 ldrh r3, [sp, #20] @@ -10445,49 +10247,49 @@ gc_static_wearleveling: ldr r0, [sp, #28] bl __aeabi_uidiv strh r0, [r4, #90] @ movhi - ldr r4, .L1843+8 + ldr r4, .L1814+8 ldr r3, [r4] tst r3, #1024 - beq .L1749 + beq .L1720 uxth r0, r0 mov r1, r9 str r0, [sp] uxth r3, r7 - ldr r0, .L1843+40 + ldr r0, .L1814+40 ldr r2, [sp, #24] bl printk -.L1749: +.L1720: ldr r3, [r4] - ldr r4, .L1843+20 + ldr r4, .L1814+20 tst r3, #1024 - beq .L1750 + beq .L1721 str r10, [sp] mov r1, r5 - ldrh r3, [r4, #-228] + ldrh r3, [r4, #-156] mov r2, r6 - ldr r0, .L1843+44 + ldr r0, .L1814+44 str r3, [sp, #4] - ldrh r3, [r4, #-226] + ldrh r3, [r4, #-154] str r3, [sp, #8] ldr r3, [sp, #20] bl printk -.L1750: +.L1721: rsb r3, r6, r10 str r3, [sp, #24] ldr r2, [sp, #24] - ldrh r3, [r4, #-226] + ldrh r3, [r4, #-154] cmp r2, r3 - bgt .L1751 - ldr r2, .L1843+20 + bgt .L1722 + ldr r2, .L1814+20 ldr r3, [sp, #20] - ldrh r2, [r2, #-228] + ldrh r2, [r2, #-156] rsb r3, r5, r3 cmp r3, r2 movle r7, #0 movle r9, r7 - ble .L1752 -.L1751: - ldr ip, .L1843 + ble .L1723 +.L1722: + ldr ip, .L1814 mov r7, #0 mov r9, r7 ldr r3, [ip, #1092] @@ -10496,11 +10298,11 @@ gc_static_wearleveling: ldr r3, [ip, #2804] uxth r4, r4 ldrh r10, [r3, #134] -.L1753: - ldr r3, .L1843+4 +.L1724: + ldr r3, .L1814+4 ldrh r3, [r3] cmp r10, r3 - bcs .L1762 + bcs .L1733 add r4, r4, #1 uxth r4, r4 cmp r4, r3 @@ -10516,54 +10318,54 @@ gc_static_wearleveling: cmp r0, #224 orreq r1, r1, #1 cmp r1, #0 - bne .L1755 + bne .L1726 ubfx r2, r2, #3, #2 ands r1, r2, #1 - beq .L1756 + beq .L1727 cmp r0, #160 - b .L1838 -.L1756: + b .L1809 +.L1727: cmp r2, #2 -.L1838: - bne .L1758 - ldr r2, .L1843+20 +.L1809: + bne .L1729 + ldr r2, .L1814+20 ldr r0, [sp, #24] - ldrh r2, [r2, #-226] + ldrh r2, [r2, #-154] cmp r0, r2 - ble .L1759 + ble .L1730 ldr r2, [r3, r8] ubfx r2, r2, #11, #8 cmp r2, r6 - bls .L1760 + bls .L1731 cmp r1, #0 - beq .L1759 + beq .L1730 ldrh r2, [r3, r8] ubfx r2, r2, #0, #11 cmp r2, r5 - bgt .L1759 -.L1760: + bgt .L1730 +.L1731: mov r1, #0 mov r2, #1 mov r0, r4 str r3, [sp, #28] bl gc_add_sblk - ldr r2, .L1843+48 + ldr r2, .L1814+48 mov r1, #1 add r9, r9, r1 strh r1, [r2] @ movhi - ldr r2, .L1843+8 + ldr r2, .L1814+8 ldr r2, [r2] tst r2, #1024 ldr r3, [sp, #28] - beq .L1759 + beq .L1730 ldr r0, [fp, #1088] mov r1, r4, asl r1 ldr r2, [fp, #1080] ldrh lr, [r0, r1] add r2, r2, r8 - ldr r1, .L1843+24 + ldr r1, .L1814+24 ldrb r2, [r2, #2] @ zero_extendqisi2 - ldr r0, .L1843+52 + ldr r0, .L1814+52 ldrh r1, [r1, #52] str r1, [sp] ldrh r1, [r3, r8] @@ -10572,49 +10374,49 @@ gc_static_wearleveling: ldr r3, [r3, r8] ubfx r3, r3, #11, #8 str r3, [sp, #8] - b .L1839 -.L1758: - ldr r0, .L1843+20 + b .L1810 +.L1729: + ldr r0, .L1814+20 ldr r2, [sp, #20] - ldrh r0, [r0, #-228] + ldrh r0, [r0, #-156] rsb r2, r5, r2 cmp r2, r0 - ble .L1759 + ble .L1730 ldrh r2, [r3, r8] add r0, r5, #8 ubfx r2, r2, #0, #11 cmp r2, r0 - ble .L1761 + ble .L1732 cmp r1, #0 - beq .L1759 + beq .L1730 ldr r2, [r3, r8] add r1, r6, #4 ubfx r2, r2, #11, #8 cmp r2, r1 - bgt .L1759 -.L1761: + bgt .L1730 +.L1732: mov r1, #0 mov r2, #1 mov r0, r4 str r3, [sp, #28] bl gc_add_sblk - ldr r2, .L1843+48 + ldr r2, .L1814+48 mov r1, #1 add r7, r7, r1 strh r1, [r2] @ movhi - ldr r2, .L1843+8 + ldr r2, .L1814+8 ldr r2, [r2] tst r2, #1024 ldr r3, [sp, #28] - beq .L1759 + beq .L1730 ldr r0, [fp, #1088] mov r1, r4, asl r1 ldr r2, [fp, #1080] ldrh lr, [r0, r1] add r2, r2, r8 - ldr r1, .L1843+24 + ldr r1, .L1814+24 ldrb r2, [r2, #2] @ zero_extendqisi2 - ldr r0, .L1843+56 + ldr r0, .L1814+56 ldrh r1, [r1, #52] str r1, [sp] ldrh r1, [r3, r8] @@ -10623,52 +10425,52 @@ gc_static_wearleveling: ldr r3, [r3, r8] ubfx r3, r3, #11, #8 str r3, [sp, #8] -.L1839: +.L1810: mov r1, r4 mov r2, r2, lsr #5 mov r3, lr bl printk -.L1759: +.L1730: cmp r9, #4 cmpls r7, #4 - bhi .L1762 -.L1755: + bhi .L1733 +.L1726: add r10, r10, #1 uxth r10, r10 - b .L1753 -.L1762: - ldr r3, .L1843 + b .L1724 +.L1733: + ldr r3, .L1814 ldr r3, [r3, #1092] str r4, [r3, #580] -.L1752: +.L1723: cmp r6, #0 - beq .L1765 - ldr r0, .L1843 - ldr r4, .L1843+4 + beq .L1736 + ldr r0, .L1814 + ldr r4, .L1814+4 ldr r3, [r0, #2804] ldrh r3, [r3, #134] -.L1766: +.L1737: ldrh r2, [r4] cmp r2, r3 - bls .L1841 + bls .L1812 ldr ip, [r0, #1080] mov lr, r3, asl #2 add r8, ip, lr ldr r2, [ip, r3, asl #2] ubfx r1, r2, #11, #8 cmp r1, r6 - bcc .L1767 + bcc .L1738 ldrb r8, [r8, #2] @ zero_extendqisi2 tst r8, #24 rsbne r1, r6, r1 bfine r2, r1, #11, #8 strne r2, [ip, lr] -.L1767: +.L1738: add r3, r3, #1 uxth r3, r3 - b .L1766 -.L1841: - ldr r3, .L1843 + b .L1737 +.L1812: + ldr r3, .L1814 ldr r3, [r3, #2804] ldrh r2, [r3, #72] add r2, r6, r2 @@ -10677,36 +10479,36 @@ gc_static_wearleveling: cmp r2, r6 rsbhi r2, r6, r2 strhih r2, [r3, #98] @ movhi -.L1765: +.L1736: cmp r5, #0 - beq .L1771 - ldr ip, .L1843 - ldr r6, .L1843+4 + beq .L1742 + ldr ip, .L1814 + ldr r6, .L1814+4 ldr r3, [ip, #2804] ldrh r3, [r3, #134] -.L1772: +.L1743: ldrh r2, [r6] cmp r2, r3 - bls .L1842 + bls .L1813 ldr r4, [ip, #1080] mov lr, r3, asl #2 add r0, r4, lr ldrh r2, [r4, lr] ubfx r1, r2, #0, #11 cmp r1, r5 - blt .L1773 + blt .L1744 ldrb r0, [r0, #2] @ zero_extendqisi2 and r0, r0, #24 cmp r0, #16 rsbne r1, r5, r1 bfine r2, r1, #0, #11 strneh r2, [r4, lr] @ movhi -.L1773: +.L1744: add r3, r3, #1 uxth r3, r3 - b .L1772 -.L1842: - ldr r3, .L1843 + b .L1743 +.L1813: + ldr r3, .L1814 ldr r3, [r3, #2804] ldrh r2, [r3, #74] add r2, r5, r2 @@ -10715,50 +10517,50 @@ gc_static_wearleveling: cmp r2, r5 rsbhi r2, r5, r2 strhih r2, [r3, #96] @ movhi -.L1771: - ldr r4, .L1843+60 +.L1742: + ldr r4, .L1814+60 mov r1, #0 - sub r0, r4, #8 + sub r0, r4, #12 bl _list_get_gc_head_node movw r2, #65535 cmp r0, r2 - beq .L1729 - ldr r2, .L1843 + beq .L1700 + ldr r2, .L1814 mov r3, r0, asl #1 ldr r1, [r2, #1088] - ldrh r2, [r4, #-4] + ldrh r2, [r4, #-8] ldrh r3, [r1, r3] cmp r3, r2, lsr #1 - bhi .L1729 + bhi .L1700 mov r1, #0 mov r2, #1 bl gc_add_sblk add r9, r9, #1 -.L1729: +.L1700: add r0, r7, r9 -.L1835: +.L1806: add sp, sp, #44 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1844: +.L1815: .align 2 -.L1843: +.L1814: .word .LANCHOR0 .word .LANCHOR0+1076 .word .LANCHOR2 - .word .LC129 - .word .LC130 + .word .LC126 + .word .LC127 .word .LANCHOR3 .word .LANCHOR0+2828 + .word .LC128 + .word .LC129 + .word .LC130 .word .LC131 .word .LC132 + .word .LANCHOR0+5008 .word .LC133 .word .LC134 - .word .LC135 - .word .LANCHOR0+4934 - .word .LC136 - .word .LC137 - .word .LANCHOR3-3168 + .word .LANCHOR3-3088 .fnend .size gc_static_wearleveling, .-gc_static_wearleveling .align 2 @@ -10771,9 +10573,9 @@ zftl_sblk_list_init: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} movw r3, #1076 - ldr r5, .L1878 + ldr r5, .L1849 mov r2, #6 - ldr r6, .L1878+4 + ldr r6, .L1849+4 mov r1, #0 .pad #20 sub sp, sp, #20 @@ -10782,13 +10584,13 @@ zftl_sblk_list_init: mov r4, fp ldr r0, [r5, #1036] mov r8, r5 - ldr r10, .L1878+8 + ldr r10, .L1849+8 mul r2, r2, r3 bl ftl_memset - sub r3, r6, #3136 + sub r3, r6, #3056 mov r2, #32 - str fp, [r6, #-3156] - strh r2, [r3, #-8] @ movhi + str fp, [r6, #-3080] + strh r2, [r3, #-12] @ movhi movw r3, #2788 strh fp, [r5, r3] @ movhi movw r3, #2790 @@ -10797,20 +10599,20 @@ zftl_sblk_list_init: strh fp, [r5, r3] @ movhi movw r3, #2794 strh fp, [r5, r3] @ movhi - sub r2, r6, #3168 + sub r2, r6, #3104 movw r3, #2798 - str fp, [r6, #-3152] + str fp, [r6, #-3076] strh fp, [r5, r3] @ movhi movw r3, #2796 strh fp, [r5, r3] @ movhi mov r0, #32768 - ldrb r3, [r6, #-3195] @ zero_extendqisi2 - ldrh r1, [r2, #-2] - str fp, [r6, #-3148] - str fp, [r6, #-3180] + ldrb r3, [r6, #-3123] @ zero_extendqisi2 + ldrh r1, [r2, #-10] + str fp, [r6, #-3072] + str fp, [r6, #-3104] mul r1, r1, r3 - str fp, [r6, #-3168] - str fp, [r6, #-3176] + str fp, [r6, #-3092] + str fp, [r6, #-3100] bl __aeabi_idiv uxth r3, r0 str r3, [sp, #4] @@ -10818,28 +10620,28 @@ zftl_sblk_list_init: str r6, [sp, #8] ldrh r7, [r3, #134] strh fp, [r3, #146] @ movhi -.L1846: - ldr r2, .L1878+12 +.L1817: + ldr r2, .L1849+12 sxth ip, r7 - ldr r3, .L1878 + ldr r3, .L1849 ldrh r2, [r2] cmp ip, r2 - bge .L1876 + bge .L1847 ldr r6, [r8, #1080] add r6, r6, ip, asl #2 ldrb r3, [r6, #3] @ zero_extendqisi2 cmp r3, #0 ldreq r1, [sp, #4] - beq .L1847 + beq .L1818 ldr r3, [sp, #8] ldrh fp, [r10] ldr r0, [r8, #2804] - ldrb lr, [r3, #-3195] @ zero_extendqisi2 + ldrb lr, [r3, #-3123] @ zero_extendqisi2 mov r3, #0 mov r1, r3 -.L1848: +.L1819: cmp r3, lr - bge .L1877 + bge .L1848 ldrb r2, [r6, #3] @ zero_extendqisi2 mov r2, r2, asr r3 add r3, r3, #1 @@ -10849,10 +10651,10 @@ zftl_sblk_list_init: uxtheq r1, r1 addne r2, r2, #1 strneh r2, [r0, #146] @ movhi - b .L1848 -.L1877: + b .L1819 +.L1848: cmp r1, #0 - beq .L1852 + beq .L1823 sxth r1, r1 mov r0, #32768 str ip, [sp, #12] @@ -10860,8 +10662,8 @@ zftl_sblk_list_init: add r0, r0, #1 ldr ip, [sp, #12] uxth r1, r0 - b .L1847 -.L1852: + b .L1818 +.L1823: ldrb r3, [r6, #2] @ zero_extendqisi2 mvn r0, #0 orr r3, r3, #224 @@ -10869,7 +10671,7 @@ zftl_sblk_list_init: ldr r2, [r5, #1088] mov r3, ip, asl #1 strh r0, [r2, r3] @ movhi -.L1847: +.L1818: mov r9, ip, asl #1 ldr r0, [r5, #1036] add r2, r9, ip @@ -10885,38 +10687,38 @@ zftl_sblk_list_init: cmpne r2, #224 moveq fp, #1 movne fp, #0 - beq .L1853 + beq .L1824 ldr r1, [r8, #1092] ldrh r0, [r1, #16] cmp ip, r0 - beq .L1853 + beq .L1824 ldrh r0, [r1, #48] cmp ip, r0 - beq .L1853 + beq .L1824 ldrh r1, [r1, #80] cmp ip, r1 - beq .L1853 + beq .L1824 cmp r2, #64 uxtheq r6, r7 - ldreq r0, .L1878+16 - ldreq r2, .L1878+20 + ldreq r0, .L1849+16 + ldreq r2, .L1849+20 moveq r1, r6 - beq .L1874 -.L1854: + beq .L1845 +.L1825: cmp r2, #96 uxtheq r6, r7 - ldreq r0, .L1878+24 - ldreq r2, .L1878+28 + ldreq r0, .L1849+24 + ldreq r2, .L1849+28 moveq r1, r6 - beq .L1874 -.L1855: + beq .L1845 +.L1826: cmp r2, #160 - bne .L1856 + bne .L1827 uxth r6, r7 - ldr r0, .L1878+32 - ldr r2, .L1878+36 + ldr r0, .L1849+32 + ldr r2, .L1849+36 mov r1, r6 -.L1874: +.L1845: bl _insert_data_list ldr r2, [r8, #1088] ldrh r3, [r2, r9] @@ -10924,21 +10726,21 @@ zftl_sblk_list_init: movls r0, r6 movls r1, #1 movls r2, fp - bhi .L1853 - b .L1872 -.L1856: + bhi .L1824 + b .L1843 +.L1827: cmp r2, #0 - bne .L1853 + bne .L1824 ldr r2, [r8, #1088] uxth fp, r7 ldrh r2, [r2, r9] cmp r2, #0 - beq .L1857 + beq .L1828 sxth r3, r4 cmp r3, #2 - bgt .L1858 + bgt .L1829 mov r1, ip - ldr r0, .L1878+40 + ldr r0, .L1849+40 bl printk ldrb r3, [r6, #2] @ zero_extendqisi2 add r4, r4, #1 @@ -10951,37 +10753,37 @@ zftl_sblk_list_init: bfi r3, r2, #5, #3 mov r2, #0 strb r3, [r6, #2] -.L1872: +.L1843: bl gc_add_sblk - b .L1853 -.L1858: - ldr r1, .L1878+44 - movw r2, #651 - ldr r0, .L1878+48 + b .L1824 +.L1829: + ldr r1, .L1849+44 + mov r2, #656 + ldr r0, .L1849+48 bl printk bl dump_stack -.L1857: +.L1828: ldrb r3, [r6, #2] @ zero_extendqisi2 ands r3, r3, #24 - ldreq r0, .L1878+52 + ldreq r0, .L1849+52 moveq r1, fp - ldreq r2, .L1878+56 - beq .L1870 -.L1860: + ldreq r2, .L1849+56 + beq .L1841 +.L1831: cmp r3, #16 - ldreq r0, .L1878+60 + ldreq r0, .L1849+60 moveq r1, fp - ldreq r2, .L1878+64 + ldreq r2, .L1849+64 movne r1, fp - ldrne r0, .L1878+68 - ldrne r2, .L1878+72 -.L1870: + ldrne r0, .L1849+68 + ldrne r2, .L1849+72 +.L1841: bl _insert_free_list -.L1853: +.L1824: add r7, r7, #1 uxth r7, r7 - b .L1846 -.L1876: + b .L1817 +.L1847: movw r1, #2788 ldr r2, [r3, #2804] ldrh r1, [r3, r1] @@ -11004,107 +10806,31 @@ zftl_sblk_list_init: add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1879: +.L1850: .align 2 -.L1878: +.L1849: .word .LANCHOR0 .word .LANCHOR3 - .word .LANCHOR3-3170 + .word .LANCHOR3-3114 .word .LANCHOR0+1076 - .word .LANCHOR3-3168 + .word .LANCHOR3-3092 .word .LANCHOR0+2794 - .word .LANCHOR3-3180 + .word .LANCHOR3-3104 .word .LANCHOR0+2796 - .word .LANCHOR3-3176 + .word .LANCHOR3-3100 .word .LANCHOR0+2798 - .word .LC138 - .word .LANCHOR1+1904 + .word .LC135 + .word .LANCHOR1+1868 .word .LC0 - .word .LANCHOR3-3156 + .word .LANCHOR3-3080 .word .LANCHOR0+2788 - .word .LANCHOR3-3152 + .word .LANCHOR3-3076 .word .LANCHOR0+2790 - .word .LANCHOR3-3148 + .word .LANCHOR3-3072 .word .LANCHOR0+2792 .fnend .size zftl_sblk_list_init, .-zftl_sblk_list_init .align 2 - .global ftl_open_sblk_init - .type ftl_open_sblk_init, %function -ftl_open_sblk_init: - .fnstart - @ args = 0, pretend = 0, frame = 0 - @ frame_needed = 0, uses_anonymous_args = 0 - stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} - .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} - mov r4, r0 - ldr r6, .L1888 - mov r5, r1 - ldr r8, .L1888+4 - mov r7, r6 -.L1881: - movw r10, #65535 -.L1882: - mov r0, r5 - bl ftl_alloc_sblk - cmp r0, r10 - mov r9, r0 - beq .L1882 - mov r1, #0 - ldr fp, .L1888+8 - bl ftl_erase_sblk - add r1, r4, #16 - mov r0, r9 - mov r10, r9, asl #1 - bl ftl_get_blk_list_in_sblk - strh r9, [r4] @ movhi - ldrh r2, [r8] - cmp r5, #2 - strb r5, [r4, #4] - uxtb r3, r0 - strb r3, [r4, #9] - mov r0, #0 - strh r0, [r4, #2] @ movhi - smulbb r3, r3, r2 - strb r0, [r4, #5] - strh r0, [r4, #10] @ movhi - ldrneb r0, [r6, #-3195] @ zero_extendqisi2 - ldr r1, [r7, #-2624] - strh r3, [r4, #6] @ movhi - ldrb r3, [r7, #-3195] @ zero_extendqisi2 - smulbbne r0, r0, r2 - mul r2, r3, r2 - uxthne r0, r0 - strh r0, [r4, #12] @ movhi - mov r2, r2, asl #2 - add r0, r1, r0, asl #2 - mov r1, #255 - bl ftl_memset - ldr r3, [fp, #1088] - ldrh r2, [r4, #6] - strh r2, [r3, r10] @ movhi - ldrb r3, [r4, #9] @ zero_extendqisi2 - cmp r3, #0 - ldmnefd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} - ldr r0, .L1888+12 - mov r1, r9 - bl printk - ldr r3, [fp, #1088] - mvn r2, #0 - strh r2, [r3, r10] @ movhi - mov r3, #7 - strb r3, [r4, #4] - b .L1881 -.L1889: - .align 2 -.L1888: - .word .LANCHOR3 - .word .LANCHOR3-3172 - .word .LANCHOR0 - .word .LC126 - .fnend - .size ftl_open_sblk_init, .-ftl_open_sblk_init - .align 2 .global pm_free_sblk .type pm_free_sblk, %function pm_free_sblk: @@ -11115,19 +10841,19 @@ pm_free_sblk: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #284 sub sp, sp, #284 - ldr r5, .L1920 - ldrh r3, [r5, #-224] + ldr r5, .L1881 + ldrh r3, [r5, #-152] cmp r3, #128 - bls .L1891 - ldr r1, .L1920+4 + bls .L1852 + ldr r1, .L1881+4 mov r2, #94 - ldr r0, .L1920+8 + ldr r0, .L1881+8 bl printk bl dump_stack -.L1891: - ldr r4, .L1920+12 +.L1852: + ldr r4, .L1881+12 mov r1, #0 - ldrh lr, [r5, #-224] + ldrh lr, [r5, #-152] mov r0, r1 movw r6, #65535 ldr r2, [r4, #2804] @@ -11135,21 +10861,21 @@ pm_free_sblk: add r2, r2, #412 add r2, r2, #2 ldrh ip, [r3] -.L1894: +.L1855: ldrh r7, [r2, #2]! uxth r3, r1 cmp r7, r6 addne r0, r0, #1 uxthne r0, r0 cmp r0, ip - bcs .L1893 + bcs .L1854 cmp r0, lr - bcs .L1893 + bcs .L1854 add r1, r1, #1 cmp r1, #128 - bne .L1894 + bne .L1855 mov r3, r1 -.L1893: +.L1854: add r3, r3, #1 add r0, sp, #24 mov r1, #0 @@ -11163,19 +10889,19 @@ pm_free_sblk: bl ftl_memset ldr r7, [r4, #2804] movw r3, #698 - ldrb ip, [r5, #-3202] @ zero_extendqisi2 + ldrb ip, [r5, #-3130] @ zero_extendqisi2 add r10, r7, #700 ldrh fp, [r7, r3] - ldr r3, .L1920+16 - ldrh r9, [r3, #-4] + ldr r3, .L1881+16 + ldrh r9, [r3, #-12] ldrb r3, [r4, #1189] @ zero_extendqisi2 rsb r3, r3, #24 rsb r3, r9, r3 mvn r8, r8, asl r3 -.L1895: +.L1856: uxth r3, r6 cmp r3, fp - bcs .L1917 + bcs .L1878 ldr r0, [r10, #4]! mov r1, ip str ip, [sp, #16] @@ -11188,11 +10914,11 @@ pm_free_sblk: add r3, r7, #412 add r3, r3, #2 add r2, sp, #24 -.L1896: +.L1857: ldr r0, [sp, #8] uxth lr, r1 cmp lr, r0 - bcs .L1918 + bcs .L1879 ldrh lr, [r3, #2]! add r1, r1, #1 ldr r0, [sp, #12] @@ -11201,30 +10927,30 @@ pm_free_sblk: ldreqh lr, [r2, #-2] addeq lr, lr, #1 streqh lr, [r2, #-2] @ movhi - b .L1896 -.L1918: + b .L1857 +.L1879: add r6, r6, #1 - b .L1895 -.L1917: - ldr r2, .L1920+20 + b .L1856 +.L1878: + ldr r2, .L1881+20 mov r6, #0 - ldrb fp, [r5, #-3195] @ zero_extendqisi2 + ldrb fp, [r5, #-3123] @ zero_extendqisi2 add r8, sp, #24 movw r10, #65535 mov r9, r6 - ldrh r3, [r2, #-4] + ldrh r3, [r2, #-8] smulbb fp, fp, r3 - add r3, r2, #3168 + add r3, r2, #3088 str r3, [sp, #12] uxth r7, fp -.L1900: +.L1861: ldr r3, [sp, #8] uxth fp, r6 cmp fp, r3 - bcs .L1919 + bcs .L1880 add r3, r6, #208 ldr ip, [r4, #2804] - ldrb r1, [r5, #-3202] @ zero_extendqisi2 + ldrb r1, [r5, #-3130] @ zero_extendqisi2 mov r3, r3, asl #1 add r2, ip, #692 str ip, [sp, #16] @@ -11237,8 +10963,8 @@ pm_free_sblk: cmp r0, r3 movw r0, #65535 ldreq r2, [sp, #12] - ldreqb r1, [r2, #-3195] @ zero_extendqisi2 - ldreq r2, .L1920+24 + ldreqb r1, [r2, #-3123] @ zero_extendqisi2 + ldreq r2, .L1881+24 ldreqh r2, [r2] smulbbeq r2, r1, r2 streqh r2, [r8] @ movhi @@ -11253,7 +10979,7 @@ pm_free_sblk: movne r7, r2 cmp r3, r0 cmpne r1, #2 - bls .L1903 + bls .L1864 ldr r0, [r4, #1080] mov r1, r3, asl #2 ldrh r1, [r0, r1] @@ -11261,34 +10987,34 @@ pm_free_sblk: ubfx r1, r1, #0, #11 add r0, r0, #4 cmp r1, r0 - bgt .L1903 + bgt .L1864 str r1, [sp] mov r1, r6 - ldr r0, .L1920+28 + ldr r0, .L1881+28 mov r10, fp bl printk -.L1903: +.L1864: ldrh r2, [r8] cmp r2, #0 - bne .L1904 + bne .L1865 add fp, r6, #208 ldr r1, [r4, #2804] movw r0, #65535 mov r3, fp, asl #1 ldrh r3, [r1, r3] cmp r3, r0 - beq .L1904 - ldr r0, .L1920+32 + beq .L1865 + ldr r0, .L1881+32 ldr r0, [r0] tst r0, #4096 - beq .L1905 + beq .L1866 add r1, r1, #688 - ldr r0, .L1920+36 + ldr r0, .L1881+36 ldrh r1, [r1] str r1, [sp] mov r1, r6 bl printk -.L1905: +.L1866: ldr r3, [r4, #2804] mov fp, fp, asl #1 ldrh r0, [r3, fp] @@ -11300,11 +11026,11 @@ pm_free_sblk: ldrh r2, [r3] sub r2, r2, #1 strh r2, [r3] @ movhi -.L1904: +.L1865: add r6, r6, #1 add r8, r8, #2 - b .L1900 -.L1919: + b .L1861 +.L1880: movw r0, #65535 cmp r10, r0 movne r0, r10 @@ -11312,19 +11038,19 @@ pm_free_sblk: add sp, sp, #284 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1921: +.L1882: .align 2 -.L1920: +.L1881: .word .LANCHOR3 - .word .LANCHOR1+1924 + .word .LANCHOR1+1888 .word .LC0 .word .LANCHOR0 - .word .LANCHOR3-3200 - .word .LANCHOR3-3168 - .word .LANCHOR3-3172 - .word .LC139 + .word .LANCHOR3-3120 + .word .LANCHOR3-3088 + .word .LANCHOR3-3096 + .word .LC136 .word .LANCHOR2 - .word .LC140 + .word .LC137 .fnend .size pm_free_sblk, .-pm_free_sblk .align 2 @@ -11345,25 +11071,25 @@ flash_info_data_init: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1929 + ldr r3, .L1890 stmfd sp!, {r4, lr} .save {r4, lr} ldr r3, [r3] tst r3, #4096 - beq .L1924 - ldr r0, .L1929+4 - mov r1, #119 - ldr r2, .L1929+8 + beq .L1885 + ldr r0, .L1890+4 + mov r1, #120 + ldr r2, .L1890+8 bl printk -.L1924: - ldr r4, .L1929+12 +.L1885: + ldr r4, .L1890+12 mov r1, #0 mov r2, #2048 ldr r0, [r4, #1176] bl ftl_memset ldr r3, [r4, #1176] - ldr r2, .L1929+16 - ldr r1, .L1929+20 + ldr r2, .L1890+16 + ldr r1, .L1890+20 str r2, [r3] mov r3, #2032 ldr r0, [r4, #1176] @@ -11374,17 +11100,17 @@ flash_info_data_init: strh r3, [r0, #-64] @ movhi bl ftl_memcpy ldr r0, [r4, #1176] - ldr r1, .L1929+24 + ldr r1, .L1890+24 mov r2, #32 add r0, r0, #48 ldmfd sp!, {r4, lr} b ftl_memcpy -.L1930: +.L1891: .align 2 -.L1929: +.L1890: .word .LANCHOR2 - .word .LC141 - .word .LANCHOR1+1940 + .word .LC138 + .word .LANCHOR1+1904 .word .LANCHOR0 .word 1398362953 .word .LANCHOR0+1103 @@ -11400,13 +11126,13 @@ ftl_memcpy32: @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. mov r3, #0 -.L1932: +.L1893: cmp r3, r2 ldrne ip, [r1, r3, asl #2] strne ip, [r0, r3, asl #2] addne r3, r3, #1 - bne .L1932 -.L1934: + bne .L1893 +.L1895: bx lr .fnend .size ftl_memcpy32, .-ftl_memcpy32 @@ -11429,15 +11155,15 @@ timer_get_time: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1937 + ldr r3, .L1898 ldr r0, [r3] - ldr r3, .L1937+4 - ldr r3, [r3, #-216] + ldr r3, .L1898+4 + ldr r3, [r3, #-144] rsb r0, r3, r0 b jiffies_to_msecs -.L1938: +.L1899: .align 2 -.L1937: +.L1898: .word jiffies .word .LANCHOR3 .fnend @@ -11458,20 +11184,20 @@ StorageSysDataLoad: mov r1, #0 bl ftl_memset bl rknand_device_lock - ldr r3, .L1941 + ldr r3, .L1902 mov r2, r4 mov r1, #1 mov r0, r5 - ldr r3, [r3, #-208] + ldr r3, [r3, #-136] ldr r3, [r3, #12] blx r3 mov r4, r0 bl rknand_device_unlock mov r0, r4 ldmfd sp!, {r3, r4, r5, pc} -.L1942: +.L1903: .align 2 -.L1941: +.L1902: .word .LANCHOR3 .fnend .size StorageSysDataLoad, .-StorageSysDataLoad @@ -11487,20 +11213,20 @@ StorageSysDataStore: mov r4, r1 mov r5, r0 bl rknand_device_lock - ldr r3, .L1945 + ldr r3, .L1906 mov r2, r4 mov r1, #1 mov r0, r5 - ldr r3, [r3, #-208] + ldr r3, [r3, #-136] ldr r3, [r3, #16] blx r3 mov r4, r0 bl rknand_device_unlock mov r0, r4 ldmfd sp!, {r3, r4, r5, pc} -.L1946: +.L1907: .align 2 -.L1945: +.L1906: .word .LANCHOR3 .fnend .size StorageSysDataStore, .-StorageSysDataStore @@ -11517,20 +11243,20 @@ FlashBootVendorRead: mov r5, r1 mov r4, r2 bl rknand_device_lock - ldr r3, .L1949 + ldr r3, .L1910 mov r2, r4 mov r1, r5 mov r0, r6 - ldr r3, [r3, #-208] + ldr r3, [r3, #-136] ldr r3, [r3, #4] blx r3 mov r4, r0 bl rknand_device_unlock mov r0, r4 ldmfd sp!, {r4, r5, r6, pc} -.L1950: +.L1911: .align 2 -.L1949: +.L1910: .word .LANCHOR3 .fnend .size FlashBootVendorRead, .-FlashBootVendorRead @@ -11547,20 +11273,20 @@ FlashBootVendorWrite: mov r5, r1 mov r4, r2 bl rknand_device_lock - ldr r3, .L1953 + ldr r3, .L1914 mov r2, r4 mov r1, r5 mov r0, r6 - ldr r3, [r3, #-208] + ldr r3, [r3, #-136] ldr r3, [r3, #8] blx r3 mov r4, r0 bl rknand_device_unlock mov r0, r4 ldmfd sp!, {r4, r5, r6, pc} -.L1954: +.L1915: .align 2 -.L1953: +.L1914: .word .LANCHOR3 .fnend .size FlashBootVendorWrite, .-FlashBootVendorWrite @@ -11571,13 +11297,13 @@ flash_sram_load_store: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr ip, .L1959 + ldr ip, .L1920 cmp r2, #0 moveq r2, r3 - ldr ip, [ip, #-204] + ldr ip, [ip, #-132] add ip, ip, #4096 add r1, ip, r1 - beq .L1958 + beq .L1919 str lr, [sp, #-4]! .save {lr} mov lr, r0 @@ -11585,11 +11311,11 @@ flash_sram_load_store: mov r1, lr ldr lr, [sp], #4 mov r2, r3 -.L1958: +.L1919: b ftl_memcpy -.L1960: +.L1921: .align 2 -.L1959: +.L1920: .word .LANCHOR3 .fnend .size flash_sram_load_store, .-flash_sram_load_store @@ -11614,17 +11340,17 @@ rk_ftl_de_init: stmfd sp!, {r4, lr} .save {r4, lr} mov r1, #0 - ldr r0, .L1964 + ldr r0, .L1925 bl printk - ldr r3, .L1964+4 - ldr r3, [r3, #-208] + ldr r3, .L1925+4 + ldr r3, [r3, #-136] ldr r3, [r3, #40] ldmfd sp!, {r4, lr} bx r3 @ indirect register sibling call -.L1965: +.L1926: .align 2 -.L1964: - .word .LC142 +.L1925: + .word .LC139 .word .LANCHOR3 .fnend .size rk_ftl_de_init, .-rk_ftl_de_init @@ -11636,14 +11362,14 @@ rk_ftl_cache_write_back: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1967 + ldr r3, .L1928 mov r0, #0 - ldr r3, [r3, #-208] + ldr r3, [r3, #-136] ldr r3, [r3, #32] bx r3 @ indirect register sibling call -.L1968: +.L1929: .align 2 -.L1967: +.L1928: .word .LANCHOR3 .fnend .size rk_ftl_cache_write_back, .-rk_ftl_cache_write_back @@ -11655,13 +11381,13 @@ rk_nand_suspend: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1970 - ldr r3, [r3, #-208] + ldr r3, .L1931 + ldr r3, [r3, #-136] ldr r3, [r3, #44] bx r3 @ indirect register sibling call -.L1971: +.L1932: .align 2 -.L1970: +.L1931: .word .LANCHOR3 .fnend .size rk_nand_suspend, .-rk_nand_suspend @@ -11673,13 +11399,13 @@ rk_nand_resume: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1973 - ldr r3, [r3, #-208] + ldr r3, .L1934 + ldr r3, [r3, #-136] ldr r3, [r3, #48] bx r3 @ indirect register sibling call -.L1974: +.L1935: .align 2 -.L1973: +.L1934: .word .LANCHOR3 .fnend .size rk_nand_resume, .-rk_nand_resume @@ -11691,14 +11417,14 @@ rk_ftl_get_capacity: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1976 + ldr r3, .L1937 mov r0, #0 - ldr r3, [r3, #-208] + ldr r3, [r3, #-136] ldr r3, [r3, #36] bx r3 -.L1977: +.L1938: .align 2 -.L1976: +.L1937: .word .LANCHOR3 .fnend .size rk_ftl_get_capacity, .-rk_ftl_get_capacity @@ -11710,13 +11436,13 @@ rk_nandc_get_irq_status: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1979 - ldr r3, [r3, #-208] + ldr r3, .L1940 + ldr r3, [r3, #-136] ldr r3, [r3, #60] bx r3 -.L1980: +.L1941: .align 2 -.L1979: +.L1940: .word .LANCHOR3 .fnend .size rk_nandc_get_irq_status, .-rk_nandc_get_irq_status @@ -11728,13 +11454,13 @@ rknand_proc_ftlread: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1982 - ldr r3, [r3, #-208] + ldr r3, .L1943 + ldr r3, [r3, #-136] ldr r3, [r3, #64] bx r3 -.L1983: +.L1944: .align 2 -.L1982: +.L1943: .word .LANCHOR3 .fnend .size rknand_proc_ftlread, .-rknand_proc_ftlread @@ -11746,13 +11472,13 @@ FtlRead: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr ip, .L1985 - ldr ip, [ip, #-208] + ldr ip, .L1946 + ldr ip, [ip, #-136] ldr ip, [ip, #20] bx ip -.L1986: +.L1947: .align 2 -.L1985: +.L1946: .word .LANCHOR3 .fnend .size FtlRead, .-FtlRead @@ -11764,13 +11490,13 @@ FtlDiscard: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1988 - ldr r3, [r3, #-208] + ldr r3, .L1949 + ldr r3, [r3, #-136] ldr r3, [r3, #28] bx r3 -.L1989: +.L1950: .align 2 -.L1988: +.L1949: .word .LANCHOR3 .fnend .size FtlDiscard, .-FtlDiscard @@ -11782,13 +11508,13 @@ rk_ftl_garbage_collect: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1991 - ldr r3, [r3, #-208] + ldr r3, .L1952 + ldr r3, [r3, #-136] ldr r3, [r3, #52] bx r3 -.L1992: +.L1953: .align 2 -.L1991: +.L1952: .word .LANCHOR3 .fnend .size rk_ftl_garbage_collect, .-rk_ftl_garbage_collect @@ -11800,13 +11526,13 @@ ReadFlashInfo: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1994 - ldr r3, [r3, #-208] + ldr r3, .L1955 + ldr r3, [r3, #-136] ldr r3, [r3, #56] bx r3 @ indirect register sibling call -.L1995: +.L1956: .align 2 -.L1994: +.L1955: .word .LANCHOR3 .fnend .size ReadFlashInfo, .-ReadFlashInfo @@ -11825,7 +11551,7 @@ rknand_print_hex: str r2, [sp] str r1, [sp, #4] mov r2, #0 - ldr r0, .L1998 + ldr r0, .L1959 mov r1, ip str r2, [sp, #12] str r3, [sp, #8] @@ -11834,10 +11560,10 @@ rknand_print_hex: add sp, sp, #20 @ sp needed ldr pc, [sp], #4 -.L1999: +.L1960: .align 2 -.L1998: - .word .LC143 +.L1959: + .word .LC140 .fnend .size rknand_print_hex, .-rknand_print_hex .align 2 @@ -11850,7 +11576,7 @@ hynix_get_read_retry_default: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} cmp r0, #2 - ldr r8, .L2111 + ldr r8, .L2072 .pad #36 sub sp, sp, #36 mvn r7, #81 @@ -11866,29 +11592,29 @@ hynix_get_read_retry_default: mvn r3, #82 strb r6, [r4, #131] strb r3, [r4, #129] - bne .L2001 + bne .L1962 mvn r3, #88 strb r3, [r4, #128] - ldr r3, .L2111+4 + ldr r3, .L2072+4 mvn r1, #8 mov r6, #7 strb r1, [r3, #413] - b .L2062 -.L2001: + b .L2023 +.L1962: cmp r0, #3 - bne .L2003 + bne .L1964 add r1, r4, #127 mov r3, #176 -.L2004: +.L1965: strb r3, [r1, #1]! add r3, r3, #1 uxtb r3, r3 cmp r3, #184 - bne .L2004 - b .L2105 -.L2003: + bne .L1965 + b .L2066 +.L1964: cmp r0, #4 - bne .L2005 + bne .L1966 mvn r1, #51 strb r3, [r4, #133] strb r1, [r4, #128] @@ -11902,13 +11628,13 @@ hynix_get_read_retry_default: strb r1, [r4, #131] mvn r1, #50 strb r1, [r4, #132] -.L2105: +.L2066: mov r6, #8 mov fp, r6 - b .L2002 -.L2005: + b .L1963 +.L1966: cmp r0, #5 - bne .L2006 + bne .L1967 mov r3, #56 mov r6, #8 strb r3, [r4, #128] @@ -11918,10 +11644,10 @@ hynix_get_read_retry_default: strb r3, [r4, #130] mov r3, #59 strb r3, [r4, #131] - b .L2062 -.L2006: + b .L2023 +.L1967: cmp r0, #6 - bne .L2007 + bne .L1968 mov r3, #14 mov r6, #12 strb r3, [r4, #128] @@ -11931,29 +11657,29 @@ hynix_get_read_retry_default: strb r3, [r4, #130] mov r3, #17 strb r3, [r4, #131] - b .L2062 -.L2007: + b .L2023 +.L1968: cmp r0, #7 - bne .L2008 + bne .L1969 add r1, r4, #127 mov r3, #176 -.L2009: +.L1970: strb r3, [r1, #1]! add r3, r3, #1 uxtb r3, r3 cmp r3, #184 - bne .L2009 + bne .L1970 mvn r3, #43 mov r6, #12 strb r3, [r4, #136] mov fp, #10 mvn r3, #42 strb r3, [r4, #137] - b .L2002 -.L2008: + b .L1963 +.L1969: cmp r0, #8 mov r6, #7 - bne .L2062 + bne .L2023 mov r3, #6 strb r6, [r4, #129] strb r3, [r4, #128] @@ -11964,21 +11690,21 @@ hynix_get_read_retry_default: mov fp, #5 mov r3, #10 strb r3, [r4, #132] - b .L2002 -.L2062: + b .L1963 +.L2023: mov fp, #4 -.L2002: +.L1963: sub r3, r5, #1 cmp r3, #1 - bhi .L2101 - ldr r1, .L2111+8 + bhi .L2062 + ldr r1, .L2072+8 mov r9, #0 -.L2010: +.L1971: ldrb ip, [r8, #1101] @ zero_extendqisi2 uxtb r3, r9 - ldr r0, .L2111 + ldr r0, .L2072 cmp ip, r3 - bls .L2017 + bls .L1978 add r3, r0, r3 mov r5, #160 ldr r0, [r0, #1040] @@ -11992,13 +11718,13 @@ hynix_get_read_retry_default: mov ip, #55 add r5, r5, #144 sub r3, r5, #1 -.L2012: +.L1973: str ip, [r7, #2056] ldrb r0, [r2, #1]! @ zero_extendqisi2 str r1, [sp, #16] str r3, [sp, #12] str r0, [r7, #2052] - mov r0, #80 + mov r0, #200 str ip, [sp, #8] str r2, [sp, #4] str r2, [sp, #20] @@ -12010,24 +11736,24 @@ hynix_get_read_retry_default: ldr ip, [sp, #8] ldr r1, [sp, #16] strb r0, [r3, #1]! - bne .L2012 + bne .L1973 mov ip, r5 mov r0, #0 -.L2013: +.L1974: add r7, r1, r0 mov r3, #1 -.L2014: +.L1975: ldrb lr, [r7, r3, asl #2] @ zero_extendqisi2 ldrb r10, [ip] @ zero_extendqisi2 add lr, lr, r10 strb lr, [ip, r3, asl #3] add r3, r3, #1 cmp r3, #7 - bne .L2014 + bne .L1975 add r0, r0, #1 add ip, ip, #1 cmp r0, #4 - bne .L2013 + bne .L1974 mov r3, #0 add r9, r9, #1 strb r3, [r5, #16] @@ -12037,11 +11763,11 @@ hynix_get_read_retry_default: strb r3, [r5, #48] strb r3, [r5, #41] strb r3, [r5, #49] - b .L2010 -.L2101: + b .L1971 +.L2062: sub r3, r5, #3 cmp r3, #5 - bhi .L2017 + bhi .L1978 smulbb r2, fp, r6 mov r3, r2, asl #4 mov r2, r2, asr #1 @@ -12049,21 +11775,21 @@ hynix_get_read_retry_default: mov r3, r2, asl #1 str r3, [sp, #8] mov r3, #0 -.L2109: +.L2070: str r3, [sp, #12] - ldr r3, .L2111 + ldr r3, .L2072 ldrb r2, [r3, #1101] @ zero_extendqisi2 ldrb r3, [sp, #12] @ zero_extendqisi2 cmp r2, r3 - bhi .L2061 -.L2017: + bhi .L2022 +.L1978: strb fp, [r4, #113] strb r6, [r4, #114] add sp, sp, #36 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2061: - ldr r2, .L2111 +.L2022: + ldr r2, .L2072 mov r10, #160 mov r9, #255 add r3, r2, r3 @@ -12075,7 +11801,7 @@ hynix_get_read_retry_default: mla r10, r10, r3, r4 add r3, r10, #144 str r3, [sp, #24] - ldr r3, .L2111 + ldr r3, .L2072 ldr r3, [r3, #1040] str r3, [sp, #4] ldr r3, [sp] @@ -12085,7 +11811,7 @@ hynix_get_read_retry_default: str r9, [r7, #2056] bl nandc_wait_flash_ready cmp r5, #8 - bne .L2019 + bne .L1980 add r3, r4, #144 mov r2, #23 mov r1, #25 @@ -12109,8 +11835,8 @@ hynix_get_read_retry_default: str r1, [r7, #2052] str r2, [r7, #2052] str r3, [r7, #2052] - b .L2020 -.L2019: + b .L1981 +.L1980: cmp r5, #4 mov r3, #54 str r3, [r7, #2056] @@ -12118,27 +11844,27 @@ hynix_get_read_retry_default: streq r9, [r7, #2052] streq r3, [r7, #2048] moveq r3, #204 - beq .L2106 -.L2021: + beq .L2067 +.L1982: sub r3, r5, #5 cmp r3, #1 ldrlsb r3, [r4, #128] @ zero_extendqisi2 strls r3, [r7, #2052] movls r3, #82 - bls .L2107 + bls .L2068 cmp r5, #7 - bne .L2022 + bne .L1983 mov r3, #174 str r3, [r7, #2052] mov r3, #0 str r3, [r7, #2048] mov r3, #176 -.L2106: +.L2067: str r3, [r7, #2052] mov r3, #77 -.L2107: +.L2068: str r3, [r7, #2048] -.L2022: +.L1983: ldr r3, [sp, #4] cmp r5, #6 add r8, r3, r8 @@ -12160,7 +11886,7 @@ hynix_get_read_retry_default: str r3, [r8, #2052] mov r3, #0 str r3, [r8, #2052] -.L2020: +.L1981: ldmia sp, {r2, r3} sub r10, r5, #8 sub r8, r5, #5 @@ -12176,134 +11902,134 @@ hynix_get_read_retry_default: str r3, [sp, #16] orrs r3, r3, r10 movne ip, #16 - bne .L2026 + bne .L1987 cmp r5, #7 movne ip, #2 moveq ip, #32 -.L2026: - ldr r3, .L2111+12 +.L1987: + ldr r3, .L2072+12 ldmia sp, {r1, r2} - ldr r3, [r3, #-200] + ldr r3, [r3, #-128] add r1, r2, r1, asl #8 mov r0, r3 -.L2027: +.L1988: ldr r2, [r1, #2048] strb r2, [r0], #1 rsb r2, r3, r0 uxtb r2, r2 cmp r2, ip - bcc .L2027 + bcc .L1988 cmp r10, #0 - beq .L2028 + beq .L1989 mov r2, #0 -.L2030: +.L1991: ldrb ip, [r3, r2, asl #2] @ zero_extendqisi2 uxtb r0, r2 cmp ip, #50 - beq .L2029 + beq .L1990 add ip, r3, r2, asl #2 ldrb ip, [ip, #1] @ zero_extendqisi2 cmp ip, #5 - beq .L2029 + beq .L1990 add r2, r2, #1 cmp r2, #8 - bne .L2030 - b .L2031 -.L2029: + bne .L1991 + b .L1992 +.L1990: cmp r0, #7 - bne .L2032 -.L2031: - ldr r0, .L2111+16 + bne .L1993 +.L1992: + ldr r0, .L2072+16 mov r1, #0 bl printk -.L2033: - b .L2033 -.L2028: +.L1994: + b .L1994 +.L1989: cmp r5, #7 - bne .L2034 + bne .L1995 mov r2, r10 -.L2036: +.L1997: ldrb ip, [r3, r2, asl #2] @ zero_extendqisi2 uxtb r0, r2 cmp ip, #12 - beq .L2035 + beq .L1996 add ip, r3, r2, asl #2 ldrb ip, [ip, #1] @ zero_extendqisi2 cmp ip, #10 - beq .L2035 + beq .L1996 add r2, r2, #1 cmp r2, #8 - bne .L2036 - b .L2037 -.L2035: + bne .L1997 + b .L1998 +.L1996: cmp r0, #7 - bne .L2032 -.L2037: - ldr r0, .L2111+16 + bne .L1993 +.L1998: + ldr r0, .L2072+16 mov r1, #0 bl printk -.L2038: - b .L2038 -.L2034: +.L1999: + b .L1999 +.L1995: cmp r5, #6 - bne .L2032 + bne .L1993 sub r2, r3, #1 add r3, r3, #7 -.L2039: +.L2000: ldrb r0, [r2, #1]! @ zero_extendqisi2 cmp r0, #12 - beq .L2032 + beq .L1993 ldrb r0, [r2, #8] @ zero_extendqisi2 cmp r0, #4 - beq .L2032 + beq .L1993 cmp r2, r3 - bne .L2039 - ldr r0, .L2111+16 + bne .L2000 + ldr r0, .L2072+16 mov r1, #0 bl printk -.L2041: - b .L2041 -.L2032: - ldr r3, .L2111+12 +.L2002: + b .L2002 +.L1993: + ldr r3, .L2072+12 ldr r0, [sp, #28] - ldr r2, [r3, #-200] + ldr r2, [r3, #-128] add r0, r2, r0 mov r3, r2 -.L2042: +.L2003: cmp r3, r0 ldrne ip, [r1, #2048] strneb ip, [r3], #1 - bne .L2042 -.L2110: - ldr r3, .L2111+12 + bne .L2003 +.L2071: + ldr r3, .L2072+12 mov r0, #8 ldr r1, [sp, #8] - ldr r3, [r3, #-200] + ldr r3, [r3, #-128] add r1, r3, r1 str r1, [sp, #20] -.L2045: +.L2006: ldr ip, [sp, #8] add lr, r1, ip -.L2044: +.L2005: ldrh ip, [r1] mvn ip, ip strh ip, [r1], #2 @ movhi cmp r1, lr - bne .L2044 + bne .L2005 ldr ip, [sp, #8] subs r0, r0, #1 add r1, r1, ip - bne .L2045 -.L2046: + bne .L2006 +.L2007: mov ip, #0 mov r0, ip -.L2049: +.L2010: mov r1, #1 mov lr, #0 mov r1, r1, asl r0 mov r8, #16 mov r7, lr -.L2047: +.L2008: ldrh r9, [r3, lr] and r9, r9, r1 cmp r9, r1 @@ -12311,70 +12037,70 @@ hynix_get_read_retry_default: ldr r9, [sp, #8] subs r8, r8, #1 add lr, lr, r9 - bne .L2047 + bne .L2008 cmp r7, #8 add r0, r0, #1 orrhi ip, ip, r1 uxthhi ip, ip cmp r0, #16 - bne .L2049 + bne .L2010 ldr r1, [sp, #20] strh ip, [r3], #2 @ movhi cmp r3, r1 - bne .L2046 - ldr r3, .L2111+12 - ldr r1, [r3, #-200] + bne .L2007 + ldr r3, .L2072+12 + ldr r1, [r3, #-128] mov r3, #0 sub r0, r1, #4 add ip, r1, #28 -.L2051: +.L2012: ldr lr, [r0, #4]! cmp lr, #0 addeq r3, r3, #1 cmp r0, ip - bne .L2051 + bne .L2012 cmp r3, #7 - ble .L2052 - ldr r0, .L2111+20 + ble .L2013 + ldr r0, .L2072+20 mov r2, #1 mov r3, #1024 bl rknand_print_hex - ldr r0, .L2111+16 + ldr r0, .L2072+16 mov r1, #0 bl printk -.L2053: - b .L2053 -.L2052: +.L2014: + b .L2014 +.L2013: cmp r5, #6 moveq r0, #4 - beq .L2054 + beq .L2015 cmp r5, #7 moveq r0, #10 - beq .L2054 + beq .L2015 cmp r10, #0 moveq r0, #8 movne r0, #5 -.L2054: +.L2015: sub r9, fp, #1 ldr r1, [sp, #24] mov ip, #0 uxtb r9, r9 add r9, r9, #1 -.L2055: +.L2016: mov r7, r1 mov r3, r2 -.L2056: +.L2017: ldrb lr, [r3], #1 @ zero_extendqisi2 strb lr, [r7], #1 rsb lr, r2, r3 uxtb lr, lr cmp lr, fp - bcc .L2056 + bcc .L2017 add ip, ip, #1 add r2, r2, r9 cmp ip, r6 add r1, r1, r0 - blt .L2055 + blt .L2016 ldmia sp, {r2, r3} mov r8, #255 add r7, r3, r2, asl #8 @@ -12382,7 +12108,7 @@ hynix_get_read_retry_default: bl nandc_wait_flash_ready ldr r3, [sp, #16] cmp r3, #0 - beq .L2058 + beq .L2019 mov r3, #54 str r3, [r7, #2056] ldrb r3, [r4, #128] @ zero_extendqisi2 @@ -12398,26 +12124,26 @@ hynix_get_read_retry_default: str r8, [r7, #2052] str r8, [r7, #2052] str r8, [r7, #2052] - b .L2108 -.L2058: + b .L2069 +.L2019: cmp r10, #0 movne r3, #190 moveq r3, #56 -.L2108: +.L2069: str r3, [r7, #2056] bl nandc_wait_flash_ready ldr r3, [sp, #12] add r3, r3, #1 - b .L2109 -.L2112: + b .L2070 +.L2073: .align 2 -.L2111: +.L2072: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR2+396 .word .LANCHOR3 - .word .LC144 - .word .LC145 + .word .LC141 + .word .LC142 .fnend .size hynix_get_read_retry_default, .-hynix_get_read_retry_default .align 2 @@ -12428,15 +12154,15 @@ flash_get_read_retry_tbl: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L2115 + ldr r3, .L2076 ldrb r0, [r3, #23] @ zero_extendqisi2 sub r3, r0, #1 cmp r3, #7 bxhi lr b hynix_get_read_retry_default -.L2116: +.L2077: .align 2 -.L2115: +.L2076: .word .LANCHOR2 .fnend .size flash_get_read_retry_tbl, .-flash_get_read_retry_tbl @@ -12447,17 +12173,17 @@ nandc_xfer_done: .fnstart @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2166 + ldr r3, .L2127 stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, lr} .save {r4, r5, r6, r7, lr} .pad #12 mov r5, #0 ldrb r2, [r3, #1028] @ zero_extendqisi2 mov r4, r3 - ldr r7, .L2166+4 + ldr r7, .L2127+4 cmp r2, #9 - strb r5, [r7, #-196] - bne .L2118 + strb r5, [r7, #-124] + bne .L2079 ldr r6, [r3, #1040] ldr r3, [r6, #16] str r3, [sp] @@ -12466,61 +12192,61 @@ nandc_xfer_done: cmp r3, r5 moveq r5, r3 moveq r7, r4 - beq .L2120 -.L2119: + beq .L2081 +.L2080: ldr r2, [r6, #64] ldr r3, [sp] ubfx r2, r2, #16, #6 ubfx r3, r3, #22, #6 cmp r2, r3 - bge .L2122 + bge .L2083 ldr r3, [r4, #1040] ldr r3, [r3] str r3, [sp, #4] ldr r3, [sp, #4] tst r3, #8192 - beq .L2121 + beq .L2082 ldr r3, [sp, #4] tst r3, #131072 - beq .L2121 + beq .L2082 ldr r1, [sp, #4] - ldr r0, .L2166+8 + ldr r0, .L2127+8 ubfx r1, r1, #17, #1 bl printk - b .L2122 -.L2121: + b .L2083 +.L2082: ldr r3, [sp] add r5, r5, #1 ubfx r3, r3, #22, #6 cmp r5, r3, asl #12 - bne .L2123 + bne .L2084 ldr r2, [r6, #64] mov r1, r5 ldr r3, [sp] - ldr r0, .L2166+12 + ldr r0, .L2127+12 ubfx r2, r2, #16, #5 ubfx r3, r3, #22, #6 bl printk ldr r3, [sp, #4] tst r3, #8192 mov r3, #1 - strb r3, [r7, #-196] - bne .L2122 - ldr r3, .L2166+16 - ldr r0, .L2166+20 + strb r3, [r7, #-124] + bne .L2083 + ldr r3, .L2127+16 + ldr r0, .L2127+20 ldr r3, [r3, #4] blx r3 - b .L2122 -.L2123: + b .L2083 +.L2084: mov r0, #5 mov r1, #10 bl usleep_range - b .L2119 -.L2122: + b .L2080 +.L2083: ldr r3, [r4, #1160] - ldr r5, .L2166 + ldr r5, .L2127 cmp r3, #0 - beq .L2127 + beq .L2088 ldr r1, [sp] mov r2, #0 ldr r0, [r5, #1152] @@ -12531,38 +12257,38 @@ nandc_xfer_done: ldr r1, [sp] ubfx r1, r1, #22, #6 mov r1, r1, asl #2 - b .L2165 -.L2129: + b .L2126 +.L2090: ldr r3, [r4, #1040] add r5, r5, #1 ldr r3, [r3, #16] str r3, [sp] bic r3, r5, #-16777216 cmp r3, #0 - bne .L2128 + bne .L2089 ldr r2, [sp] mov r1, r5 ldr r3, [r6, #64] - ldr r0, .L2166+24 + ldr r0, .L2127+24 ubfx r3, r3, #16, #6 bl printk - ldr r0, .L2166+28 + ldr r0, .L2127+28 ldr r1, [r7, #1040] mov r2, #4 mov r3, #64 bl rknand_print_hex -.L2128: +.L2089: mov r0, #5 mov r1, #10 bl usleep_range -.L2120: +.L2081: ldr r3, [sp] tst r3, #1048576 - beq .L2129 + beq .L2090 ldr r3, [r4, #1160] - ldr r5, .L2166 + ldr r5, .L2127 cmp r3, #0 - beq .L2127 + beq .L2088 ldr r1, [sp] mov r2, #1 ldr r0, [r5, #1152] @@ -12573,8 +12299,8 @@ nandc_xfer_done: ldr r1, [sp] ubfx r1, r1, #22, #6 mov r1, r1, asl #2 - b .L2164 -.L2118: + b .L2125 +.L2079: ldr r7, [r3, #1040] ldr r3, [r7, #8] str r3, [sp] @@ -12582,54 +12308,54 @@ nandc_xfer_done: ubfx r6, r6, #1, #1 cmp r6, #0 moveq r5, r4 - beq .L2132 -.L2131: + beq .L2093 +.L2092: ldr r2, [r7, #28] ldr r3, [sp] ubfx r2, r2, #16, #5 ubfx r3, r3, #22, #6 cmp r2, r3 - bge .L2134 + bge .L2095 ldr r3, [r4, #1040] ldr r3, [r3] str r3, [sp, #4] ldr r3, [sp, #4] tst r3, #8192 - beq .L2133 + beq .L2094 ldr r3, [sp, #4] tst r3, #131072 - beq .L2133 + beq .L2094 ldr r1, [sp, #4] - ldr r0, .L2166+32 + ldr r0, .L2127+32 bl printk - b .L2134 -.L2133: + b .L2095 +.L2094: add r5, r5, #1 bic r3, r5, #-16777216 cmp r3, #0 - bne .L2135 + bne .L2096 ldr r2, [r7, #28] mov r1, r5 ldr r3, [sp] ubfx r2, r2, #16, #5 - ldr r0, .L2166+12 + ldr r0, .L2127+12 ubfx r3, r3, #22, #6 bl printk - ldr r0, .L2166+28 + ldr r0, .L2127+28 ldr r1, [r4, #1040] mov r2, #4 mov r3, #64 bl rknand_print_hex -.L2135: +.L2096: mov r0, #5 mov r1, #10 bl usleep_range - b .L2131 -.L2134: + b .L2092 +.L2095: ldr r3, [r4, #1160] - ldr r5, .L2166 + ldr r5, .L2127 cmp r3, #0 - beq .L2127 + beq .L2088 ldr r1, [sp] mov r2, #0 ldr r0, [r5, #1152] @@ -12640,40 +12366,40 @@ nandc_xfer_done: ldr r1, [sp] ubfx r1, r1, #22, #6 mov r1, r1, asl #7 -.L2165: +.L2126: mov r2, #0 - b .L2163 -.L2138: + b .L2124 +.L2099: ldr r3, [r4, #1040] add r6, r6, #1 ldr r3, [r3, #8] str r3, [sp] bic r3, r6, #-16777216 cmp r3, #0 - bne .L2137 + bne .L2098 ldr r2, [sp] mov r1, r6 ldr r3, [r7, #28] - ldr r0, .L2166+24 + ldr r0, .L2127+24 ubfx r3, r3, #16, #5 bl printk - ldr r0, .L2166+28 + ldr r0, .L2127+28 ldr r1, [r5, #1040] mov r2, #4 mov r3, #64 bl rknand_print_hex -.L2137: +.L2098: mov r0, #5 mov r1, #10 bl usleep_range -.L2132: +.L2093: ldr r3, [sp] tst r3, #1048576 - beq .L2138 + beq .L2099 ldr r3, [r4, #1160] - ldr r5, .L2166 + ldr r5, .L2127 cmp r3, #0 - beq .L2127 + beq .L2088 ldr r1, [sp] mov r2, #1 ldr r0, [r5, #1152] @@ -12684,28 +12410,28 @@ nandc_xfer_done: ldr r1, [sp] ubfx r1, r1, #22, #6 mov r1, r1, asl #7 -.L2164: +.L2125: mov r2, #1 -.L2163: +.L2124: bl rknand_dma_unmap_single -.L2127: +.L2088: mov r3, #0 str r3, [r4, #1160] add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, pc} -.L2167: +.L2128: .align 2 -.L2166: +.L2127: .word .LANCHOR0 .word .LANCHOR3 - .word .LC146 - .word .LC147 + .word .LC143 + .word .LC144 .word arm_delay_ops .word 2147483000 - .word .LC148 - .word .LC149 - .word .LC150 + .word .LC145 + .word .LC146 + .word .LC147 .fnend .size nandc_xfer_done, .-nandc_xfer_done .align 2 @@ -12731,19 +12457,19 @@ nandc_xfer: bl nandc_xfer_done cmp r4, #0 movne r0, #0 - bne .L2198 - ldr r5, .L2211 + bne .L2159 + ldr r5, .L2172 ldrb r3, [r5, #1028] @ zero_extendqisi2 cmp r3, #9 - bne .L2170 + bne .L2131 ldr ip, [r5, #1040] mov r2, r8, lsr #2 mov r1, #1 mov lr, r4 mov r0, r4 -.L2171: +.L2132: cmp lr, r2 - bcs .L2208 + bcs .L2169 add r3, lr, #84 ldr r3, [ip, r3, asl #2] str r3, [sp, #4] @@ -12754,10 +12480,10 @@ nandc_xfer: ldr r3, [sp, #4] and r1, r1, r4 tst r3, #4 - bne .L2190 + bne .L2151 ldr r3, [sp, #4] tst r3, #262144 - bne .L2190 + bne .L2151 ldr r4, [sp, #4] ldr r3, [sp, #4] ubfx r4, r4, #3, #7 @@ -12768,42 +12494,42 @@ nandc_xfer: ubfxle r3, r3, #19, #7 cmp r0, r3 movcc r0, r3 - b .L2172 -.L2190: + b .L2133 +.L2151: mvn r0, #0 -.L2172: +.L2133: add lr, lr, #1 - b .L2171 -.L2208: + b .L2132 +.L2169: ldr r3, [r5, #1040] cmp r1, #0 movne r0, #512 ldr r4, [r3] and r3, r4, #139264 cmp r3, #139264 - bne .L2177 + bne .L2138 mov r1, r4 - ldr r0, .L2211+4 + ldr r0, .L2172+4 bl printk ldr r3, [r5, #1040] mvn r0, #0 orr r4, r4, #131072 str r4, [r3] -.L2177: +.L2138: tst r4, #8192 - beq .L2178 - ldr r3, .L2211+8 - ldrb r3, [r3, #-196] @ zero_extendqisi2 + beq .L2139 + ldr r3, .L2172+8 + ldrb r3, [r3, #-124] @ zero_extendqisi2 cmp r3, #0 - beq .L2178 - ldr r0, .L2211+12 + beq .L2139 + ldr r0, .L2172+12 mov r1, r4 bl printk ldr r3, [r5, #1040] mov r2, #1 str r2, [r3, #16] - b .L2179 -.L2170: + b .L2140 +.L2131: ldrb r3, [r5, #1172] @ zero_extendqisi2 mov r1, r8, lsr #1 mov r2, r4 @@ -12811,11 +12537,11 @@ nandc_xfer: mov r3, r7 movcc ip, #64 movcs ip, #128 -.L2181: +.L2142: cmp r2, r1 add r0, r4, ip add r3, r3, #4 - bcs .L2209 + bcs .L2170 ldr lr, [r5, #1140] mov r4, r4, lsr #2 add r2, r2, #1 @@ -12828,24 +12554,24 @@ nandc_xfer: strb lr, [r3, #-2] strb r4, [r3, #-1] mov r4, r0 - b .L2181 -.L2209: + b .L2142 +.L2170: ldr ip, [r5, #1040] mov r1, #0 mov r2, r8, lsr #2 mov r0, r1 -.L2183: +.L2144: cmp r1, r2 - bcs .L2210 + bcs .L2171 add r3, r1, #8 ldr r3, [ip, r3, asl #2] str r3, [sp, #4] ldr r3, [sp, #4] tst r3, #4 - bne .L2193 + bne .L2154 ldr r3, [sp, #4] tst r3, #32768 - bne .L2193 + bne .L2154 ldr lr, [sp, #4] ldr r8, [sp, #4] ldr r3, [sp, #4] @@ -12867,55 +12593,55 @@ nandc_xfer: orr r4, r3, r4, asl #5 cmp r0, r4 movcc r0, r4 - b .L2184 -.L2193: + b .L2145 +.L2154: mvn r0, #0 -.L2184: +.L2145: add r1, r1, #1 - b .L2183 -.L2210: + b .L2144 +.L2171: ldr r3, [r5, #1040] mov r2, #0 str r2, [r3, #16] ldr r4, [r3] and r3, r4, #139264 cmp r3, #139264 - bne .L2178 + bne .L2139 mov r1, r4 - ldr r0, .L2211+16 + ldr r0, .L2172+16 bl printk - ldr r3, .L2211 + ldr r3, .L2172 orr r4, r4, #131072 ldr r3, [r3, #1040] str r4, [r3] - b .L2179 -.L2178: + b .L2140 +.L2139: cmn r0, #1 - beq .L2198 + beq .L2159 ldr r3, [r7] cmn r3, #1 - bne .L2198 + bne .L2159 ldr r3, [r7, #4] cmn r3, #1 - bne .L2198 + bne .L2159 ldr r3, [r6] cmn r3, #1 moveq r0, #512 - b .L2198 -.L2179: + b .L2159 +.L2140: mvn r0, #0 -.L2198: +.L2159: add sp, sp, #8 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L2212: +.L2173: .align 2 -.L2211: +.L2172: .word .LANCHOR0 - .word .LC151 + .word .LC148 .word .LANCHOR3 - .word .LC152 - .word .LC153 + .word .LC149 + .word .LC150 .fnend .size nandc_xfer, .-nandc_xfer .align 2 @@ -12928,7 +12654,7 @@ flash_read_page: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r6, r0 - ldr r10, .L2229 + ldr r10, .L2190 .pad #20 sub sp, sp, #20 mvn r4, #0 @@ -12945,37 +12671,37 @@ flash_read_page: mov r0, r6 bl nandc_cs cmp r9, #0 - bne .L2214 + bne .L2175 mov r0, r6 bl zftl_flash_enter_slc_mode - b .L2215 -.L2214: + b .L2176 +.L2175: ldr r2, [r7, #1096] ldrb r2, [r2, #12] @ zero_extendqisi2 cmp r2, #3 - bne .L2216 + bne .L2177 ldrb r2, [r7, #1196] @ zero_extendqisi2 cmp r2, #0 - bne .L2216 + bne .L2177 ldrb r2, [r7, #1197] @ zero_extendqisi2 cmp r2, #0 addeq r2, r5, r10 streq r9, [r2, #2056] - beq .L2215 -.L2216: + beq .L2176 +.L2177: mov r0, r6 bl zftl_flash_exit_slc_mode -.L2215: +.L2176: ldr r2, [r7, #1096] ldrb r1, [r2, #7] @ zero_extendqisi2 cmp r1, #1 - bne .L2217 + bne .L2178 ldrb r1, [r2, #12] @ zero_extendqisi2 cmp r1, #2 addeq r1, r5, r10 moveq r0, #38 streq r0, [r1, #2056] -.L2217: +.L2178: add fp, r5, r10 mov r1, #0 mov r0, #48 @@ -13000,20 +12726,20 @@ flash_read_page: cmp r1, #3 movne r2, #0 cmp r2, #0 - beq .L2219 + beq .L2180 ldrb r3, [r7, #1196] @ zero_extendqisi2 cmp r3, #0 - bne .L2219 - ldr r3, .L2229 + bne .L2180 + ldr r3, .L2190 ldrb r3, [r3, #1197] @ zero_extendqisi2 cmp r3, #0 addeq r4, r4, r4, asl #1 subeq r0, r4, #1 addeq r0, r0, r9 - beq .L2228 -.L2219: + beq .L2189 +.L2180: mov r0, r4 -.L2228: +.L2189: bl nandc_set_seed mov r4, #0 bl nandc_wait_flash_ready @@ -13037,9 +12763,9 @@ flash_read_page: add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2230: +.L2191: .align 2 -.L2229: +.L2190: .word .LANCHOR0 .fnend .size flash_read_page, .-flash_read_page @@ -13054,33 +12780,33 @@ micron_read_retrial: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #36 sub sp, sp, #36 - ldr r4, .L2259 + ldr r4, .L2220 mov r5, r0 str r3, [sp, #24] mov r9, r1 str r2, [sp, #20] mov r8, #0 ldrb r3, [r4, #1172] @ zero_extendqisi2 - ldr r10, .L2259+4 + ldr r10, .L2220+4 add r3, r3, r3, asl #1 mov r3, r3, asr #2 str r3, [sp, #12] bl nandc_wait_flash_ready + ldr r3, [r4, #1040] + str r3, [sp, #16] +.L2193: mov r0, r5 + mov r7, #0 bl zftl_flash_enter_slc_mode mov r0, r5 bl zftl_flash_exit_slc_mode - ldr r3, [r4, #1040] - str r3, [sp, #16] -.L2232: - ldr r3, [sp, #16] - mov r7, #0 mvn r4, #0 + ldr r3, [sp, #16] add r6, r3, r5, asl #8 -.L2233: - ldrb r3, [r10, #-188] @ zero_extendqisi2 +.L2194: + ldrb r3, [r10, #-116] @ zero_extendqisi2 cmp r7, r3 - bcs .L2237 + bcs .L2198 mov r3, #239 mov r0, #200 str r3, [r6, #2056] @@ -13100,37 +12826,37 @@ micron_read_retrial: str r3, [sp] ldr r3, [sp, #24] bl flash_read_page - ldr r3, .L2259+8 + ldr r3, .L2220+8 ldr r3, [r3] tst r3, #4096 mov ip, r0 - beq .L2234 + beq .L2195 str r0, [sp] mov r1, r7 str r0, [sp, #28] mov r2, r9 - ldr r0, .L2259+12 + ldr r0, .L2220+12 mov r3, r4 bl printk ldr ip, [sp, #28] -.L2234: +.L2195: cmn ip, #1 - beq .L2235 - ldr r3, [r10, #-200] + beq .L2196 + ldr r3, [r10, #-128] cmn r4, #1 moveq r4, ip str r3, [sp, #20] - ldr r3, [r10, #-192] + ldr r3, [r10, #-120] str r3, [sp, #24] ldr r3, [sp, #12] cmp ip, r3 - bcc .L2244 -.L2235: + bcc .L2205 +.L2196: mov r7, fp - b .L2233 -.L2244: + b .L2194 +.L2205: mov r4, ip -.L2237: +.L2198: ldr r3, [sp, #16] mov r6, r5, asl #8 mov r0, #200 @@ -13147,10 +12873,10 @@ micron_read_retrial: str r3, [fp, #2048] ldr r3, [sp, #12] cmp r4, r3 - bcc .L2239 + bcc .L2200 cmn r4, #1 movne r4, #256 -.L2239: +.L2200: cmn r4, #1 movne fp, #0 moveq fp, #1 @@ -13158,18 +12884,18 @@ micron_read_retrial: movne r3, fp orreq r3, fp, #1 cmp r3, #0 - beq .L2240 - mov r1, r7 + beq .L2201 mov r3, r7 str r4, [sp] + ldr r0, .L2220+16 + mov r1, r5 mov r2, r9 - ldr r0, .L2259+16 eor r7, r8, #1 bl printk ands r7, fp, r7 - beq .L2241 + beq .L2202 bl nandc_wait_flash_ready - ldr r3, .L2259 + ldr r3, .L2220 mov r0, #200 mov r8, #1 ldr r3, [r3, #1040] @@ -13185,12 +12911,12 @@ micron_read_retrial: str r3, [r6, #2048] str r3, [r6, #2048] str r3, [r6, #2048] - b .L2232 -.L2241: + b .L2193 +.L2202: cmp r8, #0 - beq .L2242 + beq .L2203 bl nandc_wait_flash_ready - ldr r3, .L2259 + ldr r3, .L2220 mov r0, #200 ldr r9, [r3, #1040] mov r3, #239 @@ -13206,13 +12932,13 @@ micron_read_retrial: str r7, [r5, #2048] str r7, [r5, #2048] str r7, [r5, #2048] - b .L2242 -.L2240: + b .L2203 +.L2201: cmp r8, #0 - beq .L2242 + beq .L2203 str r3, [sp, #12] bl nandc_wait_flash_ready - ldr r2, .L2259 + ldr r2, .L2220 mov r0, #200 mov r4, #256 ldr r9, [r2, #1040] @@ -13228,20 +12954,20 @@ micron_read_retrial: str r3, [r5, #2048] str r3, [r5, #2048] str r3, [r5, #2048] -.L2242: +.L2203: bl nandc_wait_flash_ready mov r0, r4 add sp, sp, #36 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2260: +.L2221: .align 2 -.L2259: +.L2220: .word .LANCHOR0 .word .LANCHOR3 .word .LANCHOR2 - .word .LC154 - .word .LC155 + .word .LC151 + .word .LC152 .fnend .size micron_read_retrial, .-micron_read_retrial .align 2 @@ -13256,13 +12982,13 @@ toshiba_3d_read_retrial: .pad #28 sub sp, sp, #28 ubfx r4, r1, #24, #2 - mov r10, r0 + mov r8, r0 mov fp, r3 - mov r9, r1 + mov r10, r1 str r2, [sp, #12] bl nandc_wait_flash_ready - ldr r7, .L2309 - add r6, r10, #8 + ldr r7, .L2270 + add r6, r8, #8 ldr r3, [r7, #1040] add r6, r3, r6, asl #8 str r3, [sp, #8] @@ -13275,198 +13001,198 @@ toshiba_3d_read_retrial: cmp r4, #0 str r3, [sp, #16] mvn r4, #0 - bne .L2263 + bne .L2224 ldr r3, [sp, #8] - mov r8, #1 - add r3, r3, r10, asl #8 + mov r9, #1 + add r3, r3, r8, asl #8 str r3, [sp, #16] -.L2270: - ldr r3, .L2309 +.L2231: + ldr r3, .L2270 mov r0, r6 ldrb r3, [r3, #1173] @ zero_extendqisi2 cmp r3, #36 - bne .L2264 + bne .L2225 mov r2, #0 - mov r1, r8 + mov r1, r9 bl toshiba_tlc_set_rr_para mov r3, #93 ldr r2, [sp, #16] str r3, [r2, #2056] - b .L2265 -.L2264: - uxtb r1, r8 + b .L2226 +.L2225: + uxtb r1, r9 bl toshiba_3d_set_slc_rr_para -.L2265: +.L2226: ldr r3, [sp, #64] - mov r0, r10 - mov r1, r9 + mov r0, r8 + mov r1, r10 ldr r2, [sp, #12] str r3, [sp] mov r3, fp bl flash_read_page - ldr r3, .L2309+4 + ldr r3, .L2270+4 ldr r3, [r3] tst r3, #16 mov ip, r0 - beq .L2266 + beq .L2227 mov r3, ip - ldr r0, .L2309+8 - mov r1, r8 - mov r2, r9 + ldr r0, .L2270+8 + mov r1, r9 + mov r2, r10 str ip, [sp, #20] bl printk ldr ip, [sp, #20] -.L2266: +.L2227: cmn ip, #1 - beq .L2267 - ldr r3, .L2309+12 + beq .L2228 + ldr r3, .L2270+12 cmn r4, #1 moveq r4, ip - ldr r2, [r3, #-200] - ldr fp, [r3, #-192] + ldr r2, [r3, #-128] + ldr fp, [r3, #-120] ldrb r3, [r7, #1172] @ zero_extendqisi2 str r2, [sp, #12] add r3, r3, r3, asl #1 cmp ip, r3, asr #2 - bcc .L2285 -.L2267: - add r8, r8, #1 - cmp r8, r5 - bne .L2270 - b .L2269 -.L2285: - mov r5, r8 + bcc .L2246 +.L2228: + add r9, r9, #1 + cmp r9, r5 + bne .L2231 + b .L2230 +.L2246: + mov r5, r9 mov r4, ip -.L2269: - ldr r3, .L2309 +.L2230: + ldr r3, .L2270 mov r1, #0 mov r0, r6 ldrb r3, [r3, #1173] @ zero_extendqisi2 cmp r3, #36 moveq r2, r1 - beq .L2308 + beq .L2269 bl toshiba_3d_set_slc_rr_para - b .L2272 -.L2263: + b .L2233 +.L2224: ldr r3, [sp, #8] mov r5, #1 - add r8, r3, r10, asl #8 -.L2279: - ldr r3, .L2309 + add r9, r3, r8, asl #8 +.L2240: + ldr r3, .L2270 mov r0, r6 ldrb r3, [r3, #1173] @ zero_extendqisi2 cmp r3, #36 - bne .L2273 + bne .L2234 mov r1, r5 mov r2, #1 bl toshiba_tlc_set_rr_para mov r3, #93 - b .L2307 -.L2273: + b .L2268 +.L2234: uxtb r1, r5 bl toshiba_3d_set_tlc_rr_para mov r3, #38 -.L2307: - str r3, [r8, #2056] - mov r0, r10 +.L2268: + str r3, [r9, #2056] + mov r0, r8 ldr r3, [sp, #64] - mov r1, r9 + mov r1, r10 ldr r2, [sp, #12] str r3, [sp] mov r3, fp bl flash_read_page - ldr r3, .L2309+4 + ldr r3, .L2270+4 ldr r3, [r3] tst r3, #16 mov ip, r0 - beq .L2275 + beq .L2236 mov r3, ip - ldr r0, .L2309+16 + ldr r0, .L2270+16 mov r1, r5 - mov r2, r9 + mov r2, r10 str ip, [sp, #20] bl printk ldr ip, [sp, #20] -.L2275: +.L2236: cmn ip, #1 - beq .L2276 - ldr r3, .L2309+12 + beq .L2237 + ldr r3, .L2270+12 cmn r4, #1 moveq r4, ip - ldr r2, [r3, #-200] - ldr fp, [r3, #-192] + ldr r2, [r3, #-128] + ldr fp, [r3, #-120] ldrb r3, [r7, #1172] @ zero_extendqisi2 str r2, [sp, #12] add r3, r3, r3, asl #1 cmp ip, r3, asr #2 - bcc .L2286 -.L2276: + bcc .L2247 +.L2237: ldr r3, [sp, #16] add r5, r5, #1 cmp r5, r3 - bne .L2279 - b .L2278 -.L2286: + bne .L2240 + b .L2239 +.L2247: mov r4, ip -.L2278: - ldr r3, .L2309 +.L2239: + ldr r3, .L2270 mov r0, r6 mov r1, #0 ldrb r3, [r3, #1173] @ zero_extendqisi2 cmp r3, #36 - bne .L2280 + bne .L2241 mov r2, #1 -.L2308: +.L2269: bl toshiba_tlc_set_rr_para - b .L2272 -.L2280: + b .L2233 +.L2241: bl toshiba_3d_set_tlc_rr_para -.L2272: - ldr r3, .L2309 +.L2233: + ldr r3, .L2270 ldrb r3, [r3, #1173] @ zero_extendqisi2 cmp r3, #36 - bne .L2281 + bne .L2242 ldr r3, [sp, #8] - add r10, r3, r10, asl #8 - mov r3, #85 - str r3, [r10, #2056] - mov r3, #0 - str r3, [r10, #2052] - str r3, [r10, #2048] - mov r3, #255 - str r3, [r10, #2056] -.L2281: + mov r2, #85 + add r3, r3, r8, asl #8 + str r2, [r3, #2056] + mov r2, #0 + str r2, [r3, #2052] + str r2, [r3, #2048] + mov r2, #255 + str r2, [r3, #2056] +.L2242: ldrb r3, [r7, #1172] @ zero_extendqisi2 add r3, r3, r3, asl #1 cmp r4, r3, asr #2 - bcc .L2282 + bcc .L2243 cmn r4, #1 movne r4, #256 -.L2282: +.L2243: cmn r4, #1 cmpne r4, #256 - bne .L2283 + bne .L2244 str r4, [sp] - mov r1, r5 - ldr r0, .L2309+20 - mov r2, r9 + mov r1, r8 + ldr r0, .L2270+20 + mov r2, r10 mov r3, r5 bl printk -.L2283: +.L2244: bl nandc_wait_flash_ready mov r0, r4 add sp, sp, #28 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2310: +.L2271: .align 2 -.L2309: +.L2270: .word .LANCHOR0 .word .LANCHOR2 - .word .LC156 + .word .LC153 .word .LANCHOR3 - .word .LC157 - .word .LC158 + .word .LC154 + .word .LC155 .fnend .size toshiba_3d_read_retrial, .-toshiba_3d_read_retrial .align 2 @@ -13481,7 +13207,7 @@ toshiba_read_retrial: .pad #36 sub sp, sp, #36 mov r5, r0 - ldr r4, .L2344 + ldr r4, .L2305 str r3, [sp, #20] add r9, r5, #8 str r1, [sp, #12] @@ -13500,56 +13226,56 @@ toshiba_read_retrial: str r3, [sp, #24] movls r3, #0 strls r3, [sp, #8] - bls .L2312 + bls .L2273 ldrb r6, [r4, #1135] @ zero_extendqisi2 cmp r6, #0 streq r6, [sp, #8] - beq .L2313 + beq .L2274 mov r0, #1 bl nandc_set_if_mode mov r3, #1 str r3, [sp, #8] -.L2313: +.L2274: ldr r3, [sp, #24] mov r2, #92 add r3, r7, r3 str r2, [r3, #2056] mov r2, #197 str r2, [r3, #2056] -.L2312: - ldr fp, .L2344+4 +.L2273: + ldr fp, .L2305+4 mov r8, #1 mvn r10, #0 mov r3, r5, asl #8 str r3, [sp, #28] -.L2314: - ldrb r3, [fp, #-188] @ zero_extendqisi2 +.L2275: + ldrb r3, [fp, #-116] @ zero_extendqisi2 add r3, r3, #1 cmp r8, r3 - bcs .L2343 + bcs .L2304 ldrb r3, [r4, #1173] @ zero_extendqisi2 mov r0, r9 uxtb r1, r8 sub r3, r3, #67 cmp r3, #1 - bhi .L2315 + bhi .L2276 bl sandisk_set_rr_para - b .L2316 -.L2315: + b .L2277 +.L2276: bl toshiba_set_rr_para -.L2316: +.L2277: ldrb r3, [r4, #1173] @ zero_extendqisi2 cmp r3, #34 - bne .L2317 - ldr r3, .L2344+4 - ldrb r3, [r3, #-188] @ zero_extendqisi2 + bne .L2278 + ldr r3, .L2305+4 + ldrb r3, [r3, #-116] @ zero_extendqisi2 sub r3, r3, #3 cmp r8, r3 ldreq r3, [sp, #28] moveq r2, #179 addeq r3, r7, r3 streq r2, [r3, #2056] -.L2317: +.L2278: ldr r3, [sp, #24] mov r2, #38 add r1, sp, #12 @@ -13564,71 +13290,71 @@ toshiba_read_retrial: bl flash_read_page cmn r0, #1 mov r6, r0 - beq .L2320 - ldr r3, [fp, #-200] + beq .L2281 + ldr r3, [fp, #-128] cmn r10, #1 moveq r10, r0 str r3, [sp, #16] - ldr r3, [fp, #-192] + ldr r3, [fp, #-120] str r3, [sp, #20] ldrb r3, [r4, #1172] @ zero_extendqisi2 add r3, r3, r3, asl #1 cmp r0, r3, asr #2 - bcc .L2322 -.L2320: + bcc .L2283 +.L2281: add r8, r8, #1 - b .L2314 -.L2343: + b .L2275 +.L2304: mov r6, r10 -.L2322: +.L2283: ldrb r3, [r4, #1173] @ zero_extendqisi2 mov r0, r9 mov r1, #0 sub r3, r3, #67 cmp r3, #1 - bhi .L2324 + bhi .L2285 bl sandisk_set_rr_para - b .L2325 -.L2324: + b .L2286 +.L2285: bl toshiba_set_rr_para -.L2325: +.L2286: add r5, r7, r5, asl #8 mov r3, #255 str r3, [r5, #2056] ldrb r3, [r4, #1172] @ zero_extendqisi2 add r3, r3, r3, asl #1 cmp r6, r3, asr #2 - bcc .L2326 + bcc .L2287 cmn r6, #1 movne r6, #256 -.L2326: +.L2287: cmn r6, #1 cmpne r6, #256 - bne .L2327 + bne .L2288 str r6, [sp] mov r1, r8 - ldr r0, .L2344+8 + ldr r0, .L2305+8 mov r3, r8 ldr r2, [sp, #12] bl printk -.L2327: +.L2288: bl nandc_wait_flash_ready ldr r3, [sp, #8] cmp r3, #0 - beq .L2328 + beq .L2289 mov r0, #4 bl nandc_set_if_mode -.L2328: +.L2289: mov r0, r6 add sp, sp, #36 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2345: +.L2306: .align 2 -.L2344: +.L2305: .word .LANCHOR0 .word .LANCHOR3 - .word .LC158 + .word .LC155 .fnend .size toshiba_read_retrial, .-toshiba_read_retrial .align 2 @@ -13643,7 +13369,7 @@ ymtc_3d_read_retrial: mov r8, r0 .pad #20 sub sp, sp, #20 - ldr r6, .L2376 + ldr r6, .L2337 mov r9, r1 mov fp, r3 mov r10, r2 @@ -13658,9 +13384,9 @@ ymtc_3d_read_retrial: mvn r4, #0 add r7, r3, r7, asl #8 mov r5, #1 - ldr ip, .L2376+4 - bne .L2356 -.L2351: + ldr ip, .L2337+4 + bne .L2317 +.L2312: mov r0, r7 uxtb r1, r5 str ip, [sp, #12] @@ -13674,41 +13400,41 @@ ymtc_3d_read_retrial: bl flash_read_page cmn r0, #1 ldr ip, [sp, #12] - beq .L2348 + beq .L2309 ldrb r3, [r6, #1172] @ zero_extendqisi2 cmn r4, #1 - ldr r10, [ip, #-200] + ldr r10, [ip, #-128] moveq r4, r0 - ldr fp, [ip, #-192] + ldr fp, [ip, #-120] add r3, r3, r3, asl #1 cmp r0, r3, asr #2 - bcc .L2359 -.L2348: + bcc .L2320 +.L2309: add r5, r5, #1 cmp r5, #10 - bne .L2351 - b .L2350 -.L2359: + bne .L2312 + b .L2311 +.L2320: mov r4, r0 -.L2350: +.L2311: mov r0, r7 mov r1, #0 bl ymtc_3d_set_slc_rr_para - b .L2352 -.L2375: + b .L2313 +.L2336: ldrb r3, [r6, #1172] @ zero_extendqisi2 cmn r4, #1 - ldr r10, [ip, #-200] + ldr r10, [ip, #-128] moveq r4, r0 - ldr fp, [ip, #-192] + ldr fp, [ip, #-120] add r3, r3, r3, asl #1 cmp r0, r3, asr #2 - bcc .L2360 -.L2353: + bcc .L2321 +.L2314: add r5, r5, #1 cmp r5, #51 - beq .L2355 -.L2356: + beq .L2316 +.L2317: mov r0, r7 uxtb r1, r5 str ip, [sp, #12] @@ -13722,43 +13448,43 @@ ymtc_3d_read_retrial: bl flash_read_page cmn r0, #1 ldr ip, [sp, #12] - bne .L2375 - b .L2353 -.L2360: + bne .L2336 + b .L2314 +.L2321: mov r4, r0 -.L2355: +.L2316: mov r0, r7 mov r1, #0 bl ymtc_3d_set_tlc_rr_para -.L2352: +.L2313: ldrb r3, [r6, #1172] @ zero_extendqisi2 add r3, r3, r3, asl #1 cmp r4, r3, asr #2 - bcc .L2357 + bcc .L2318 cmn r4, #1 movne r4, #256 -.L2357: +.L2318: cmn r4, #1 cmpne r4, #256 - bne .L2358 + bne .L2319 str r4, [sp] mov r1, r5 - ldr r0, .L2376+8 + ldr r0, .L2337+8 mov r2, r9 mov r3, r5 bl printk -.L2358: +.L2319: bl nandc_wait_flash_ready mov r0, r4 add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2377: +.L2338: .align 2 -.L2376: +.L2337: .word .LANCHOR0 .word .LANCHOR3 - .word .LC159 + .word .LC156 .fnend .size ymtc_3d_read_retrial, .-ymtc_3d_read_retrial .align 2 @@ -13781,21 +13507,21 @@ samsung_read_retrial: bl zftl_flash_enter_slc_mode mov r0, r7 bl zftl_flash_exit_slc_mode - ldr r3, .L2416 + ldr r3, .L2377 tst r8, #50331648 ldr r4, [r3, #1040] str r3, [sp, #16] - bne .L2379 + bne .L2340 mov r10, r7, asl #8 mvn r5, #0 add r9, r4, r10 mov r6, #1 mov fp, #239 -.L2384: +.L2345: str fp, [r9, #2056] mov r3, #141 str r3, [r9, #2052] - ldr r3, .L2416+4 + ldr r3, .L2377+4 ldrsb r3, [r6, r3] str r3, [r9, #2048] mov r3, #0 @@ -13810,55 +13536,55 @@ samsung_read_retrial: str r3, [sp] ldr r3, [sp, #12] bl flash_read_page - ldr r3, .L2416+8 + ldr r3, .L2377+8 ldr r3, [r3] tst r3, #16 mov ip, r0 - beq .L2380 + beq .L2341 mov r3, ip - ldr r0, .L2416+12 + ldr r0, .L2377+12 mov r1, r6 mov r2, r8 str ip, [sp, #20] bl printk ldr ip, [sp, #20] -.L2380: +.L2341: cmn ip, #1 - beq .L2381 - ldr r3, .L2416+16 + beq .L2342 + ldr r3, .L2377+16 cmn r5, #1 moveq r5, ip - ldr r2, [r3, #-200] - ldr r3, [r3, #-192] + ldr r2, [r3, #-128] + ldr r3, [r3, #-120] str r2, [sp, #8] str r3, [sp, #12] ldr r3, [sp, #16] ldrb r3, [r3, #1172] @ zero_extendqisi2 add r3, r3, r3, asl #1 cmp ip, r3, asr #2 - bcc .L2393 -.L2381: + bcc .L2354 +.L2342: add r6, r6, #1 cmp r6, #26 - bne .L2384 - b .L2383 -.L2393: + bne .L2345 + b .L2344 +.L2354: mov r5, ip -.L2383: +.L2344: add r10, r4, r10 mov r3, #239 add r4, r4, r7, asl #8 str r3, [r10, #2056] mov r3, #141 - b .L2415 -.L2379: + b .L2376 +.L2340: mov r3, r7, asl #8 - ldr r9, .L2416+20 + ldr r9, .L2377+20 add r10, r4, r3 mvn r5, #0 mov r6, #1 str r3, [sp, #20] -.L2390: +.L2351: mov r3, #239 str r3, [r10, #2056] mov r3, #137 @@ -13879,47 +13605,47 @@ samsung_read_retrial: str r3, [sp] ldr r3, [sp, #12] bl flash_read_page - ldr r3, .L2416+8 + ldr r3, .L2377+8 ldr r3, [r3] tst r3, #16 mov fp, r0 - beq .L2386 - ldr r0, .L2416+24 + beq .L2347 + ldr r0, .L2377+24 mov r1, r6 mov r2, r8 mov r3, fp bl printk -.L2386: +.L2347: cmn fp, #1 - beq .L2387 - ldr r3, .L2416+16 + beq .L2348 + ldr r3, .L2377+16 cmn r5, #1 moveq r5, fp - ldr r2, [r3, #-200] - ldr r3, [r3, #-192] + ldr r2, [r3, #-128] + ldr r3, [r3, #-120] str r2, [sp, #8] str r3, [sp, #12] ldr r3, [sp, #16] ldrb r3, [r3, #1172] @ zero_extendqisi2 add r3, r3, r3, asl #1 cmp fp, r3, asr #2 - bcc .L2394 -.L2387: + bcc .L2355 +.L2348: add r6, r6, #1 add r9, r9, #4 cmp r6, #26 - bne .L2390 - b .L2389 -.L2394: + bne .L2351 + b .L2350 +.L2355: mov r5, fp -.L2389: +.L2350: ldr r3, [sp, #20] mov r2, #239 add r3, r4, r3 add r4, r4, r7, asl #8 str r2, [r3, #2056] mov r3, #137 -.L2415: +.L2376: str r3, [r4, #2052] mov r3, #0 str r3, [r4, #2048] @@ -13931,36 +13657,36 @@ samsung_read_retrial: ldrb r3, [r3, #1172] @ zero_extendqisi2 add r3, r3, r3, asl #1 cmp r5, r3, asr #2 - bcc .L2391 + bcc .L2352 cmn r5, #1 movne r5, #256 -.L2391: +.L2352: cmn r5, #1 cmpne r5, #256 - bne .L2392 + bne .L2353 str r5, [sp] mov r1, r6 - ldr r0, .L2416+28 + ldr r0, .L2377+28 mov r2, r8 mov r3, r6 bl printk -.L2392: +.L2353: bl nandc_wait_flash_ready mov r0, r5 add sp, sp, #28 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2417: +.L2378: .align 2 -.L2416: +.L2377: .word .LANCHOR0 - .word .LANCHOR1+1964 + .word .LANCHOR1+1928 .word .LANCHOR2 - .word .LC160 + .word .LC157 .word .LANCHOR3 - .word .LANCHOR1+1992 - .word .LC161 - .word .LC162 + .word .LANCHOR1+1956 + .word .LC158 + .word .LC159 .fnend .size samsung_read_retrial, .-samsung_read_retrial .align 2 @@ -13973,7 +13699,7 @@ hynix_read_retrial: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov fp, r3 - ldr r3, .L2437 + ldr r3, .L2398 .pad #28 sub sp, sp, #28 mov r10, r2 @@ -13992,10 +13718,10 @@ hynix_read_retrial: bl zftl_flash_enter_slc_mode mov r0, r6 bl zftl_flash_exit_slc_mode - ldr ip, .L2437+4 -.L2419: + ldr ip, .L2398+4 +.L2380: cmp r7, r9 - bcs .L2423 + bcs .L2384 add r5, r5, #1 mov r0, r6 str ip, [sp, #20] @@ -14013,53 +13739,53 @@ hynix_read_retrial: bl flash_read_page cmn r0, #1 ldr ip, [sp, #20] - beq .L2421 + beq .L2382 ldr r3, [sp, #16] cmn r4, #1 - ldr r10, [ip, #-200] + ldr r10, [ip, #-128] moveq r4, r0 - ldr fp, [ip, #-192] + ldr fp, [ip, #-120] ldrb r3, [r3, #1172] @ zero_extendqisi2 add r3, r3, r3, asl #1 cmp r0, r3, asr #2 - bcc .L2427 -.L2421: + bcc .L2388 +.L2382: add r7, r7, #1 - b .L2419 -.L2427: + b .L2380 +.L2388: mov r4, r0 -.L2423: +.L2384: ldr r3, [sp, #12] strb r5, [r3, #120] ldr r3, [sp, #16] ldrb r3, [r3, #1172] @ zero_extendqisi2 add r3, r3, r3, asl #1 cmp r4, r3, asr #2 - bcc .L2425 + bcc .L2386 cmn r4, #1 movne r4, #256 -.L2425: +.L2386: cmn r4, #1 cmpne r4, #256 - bne .L2426 + bne .L2387 str r4, [sp] mov r1, r7 - ldr r0, .L2437+8 + ldr r0, .L2398+8 mov r2, r8 mov r3, r7 bl printk -.L2426: +.L2387: bl nandc_wait_flash_ready mov r0, r4 add sp, sp, #28 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2438: +.L2399: .align 2 -.L2437: +.L2398: .word .LANCHOR0 .word .LANCHOR3 - .word .LC163 + .word .LC160 .fnend .size hynix_read_retrial, .-hynix_read_retrial .align 2 @@ -14086,7 +13812,7 @@ flash_ddr_tuning_read: str r0, [sp, #24] str r4, [sp, #20] str r4, [sp, #12] -.L2445: +.L2406: uxtb r0, r7 bl nandc_set_ddr_para mov r0, r8 @@ -14096,92 +13822,92 @@ flash_ddr_tuning_read: str r3, [sp] ldr r3, [sp, #16] bl flash_read_page - ldr r3, .L2466 + ldr r3, .L2427 ldr r3, [r3] tst r3, #16 mov ip, r0 - beq .L2440 + beq .L2401 mov r3, ip - ldr r0, .L2466+4 + ldr r0, .L2427+4 mov r1, r7 mov r2, r10 str ip, [sp, #28] bl printk ldr ip, [sp, #28] -.L2440: +.L2401: add r3, r6, #1 cmp ip, r3 - bhi .L2441 - ldr r3, .L2466+8 - ldr fp, [r3, #-200] - ldr r3, [r3, #-192] + bhi .L2402 + ldr r3, .L2427+8 + ldr fp, [r3, #-128] + ldr r3, [r3, #-120] str r3, [sp, #16] - ldr r3, .L2466+12 + ldr r3, .L2427+12 ldrb r3, [r3, #1172] @ zero_extendqisi2 cmp ip, r3, lsr #2 - bcs .L2451 + bcs .L2412 add r5, r5, #1 cmp r5, #7 - bls .L2451 + bls .L2412 rsb r4, r5, r7 mov r6, ip mov r9, #0 - b .L2443 -.L2441: + b .L2404 +.L2402: ldr r3, [sp, #12] cmp r3, r5 - bcs .L2452 + bcs .L2413 cmp r5, #7 rsb r3, r5, r4 str r3, [sp, #20] - bhi .L2444 + bhi .L2405 str r5, [sp, #12] - b .L2452 -.L2451: + b .L2413 +.L2412: mov r4, r7 mov r6, ip mov r9, #0 - b .L2442 -.L2452: + b .L2403 +.L2413: mov r5, #0 -.L2442: +.L2403: add r7, r7, #2 cmp r7, #50 - bne .L2445 -.L2443: + bne .L2406 +.L2404: ldr r2, [sp, #12] ldr r3, [sp, #20] cmp r2, r5 movhi r4, r3 -.L2444: +.L2405: cmp r4, #0 - beq .L2446 - ldr r3, .L2466+12 - ldr r2, .L2466+16 + beq .L2407 + ldr r3, .L2427+12 + ldr r2, .L2427+16 ldrb r3, [r3, #1172] @ zero_extendqisi2 umull r2, r3, r3, r2 ubfx r3, r3, #1, #8 cmp r6, r3 - bcs .L2446 - ldr r0, .L2466+20 + bcs .L2407 + ldr r0, .L2427+20 mov r1, r4 bl printk uxtb r0, r4 - b .L2465 -.L2446: + b .L2426 +.L2407: ldrb r0, [sp, #24] @ zero_extendqisi2 -.L2465: +.L2426: bl nandc_set_ddr_para cmn r9, #1 - bne .L2448 - ldr r5, .L2466+12 + bne .L2409 + ldr r5, .L2427+12 ldrb r3, [r5, #1232] @ zero_extendqisi2 mov r4, r5 tst r3, #1 - beq .L2448 + beq .L2409 mov r1, r8 mov r2, r10 - ldr r0, .L2466+24 + ldr r0, .L2427+24 bl printk mov r0, r8 bl flash_reset @@ -14204,44 +13930,44 @@ flash_ddr_tuning_read: mov r1, r8 mov r2, r10 mov r6, r0 - ldr r0, .L2466+28 + ldr r0, .L2427+28 mov r3, r6 bl printk ldrb r3, [r5, #1172] @ zero_extendqisi2 cmp r6, r3 - bhi .L2453 - ldr r2, .L2466+8 - ldr r3, [r2, #-184] + bhi .L2414 + ldr r2, .L2427+8 + ldr r3, [r2, #-112] add r3, r3, #1 - str r3, [r2, #-184] + str r3, [r2, #-112] cmp r3, #100 movhi r3, #0 strhib r3, [r5, #1135] - bls .L2449 - b .L2448 -.L2453: + bls .L2410 + b .L2409 +.L2414: mov r6, r9 -.L2449: +.L2410: ldrb r0, [r4, #1232] @ zero_extendqisi2 bl flash_set_interface_mode ldrb r0, [r4, #1232] @ zero_extendqisi2 bl nandc_set_if_mode -.L2448: +.L2409: mov r0, r6 add sp, sp, #36 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2467: +.L2428: .align 2 -.L2466: +.L2427: .word .LANCHOR2 - .word .LC164 + .word .LC161 .word .LANCHOR3 .word .LANCHOR0 .word -1431655765 - .word .LC165 - .word .LC166 - .word .LC167 + .word .LC162 + .word .LC163 + .word .LC164 .fnend .size flash_ddr_tuning_read, .-flash_ddr_tuning_read .align 2 @@ -14255,63 +13981,63 @@ flash_read_page_en: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #12 mov r7, r3 - ldr r5, .L2499 + ldr r5, .L2460 mov r10, r0 mov r4, r1 mov r8, r2 ldr r9, [sp, #48] ldrb r3, [r5, #1101] @ zero_extendqisi2 cmp r3, r0 - bhi .L2469 - ldr r1, .L2499+4 - mov r2, #428 - ldr r0, .L2499+8 + bhi .L2430 + ldr r1, .L2460+4 + movw r2, #431 + ldr r0, .L2460+8 bl printk bl dump_stack -.L2469: +.L2430: add r2, r5, r10 - ldr r3, .L2499 + ldr r3, .L2460 ldrb r6, [r2, #1180] @ zero_extendqisi2 ldrb r2, [r5, #1101] @ zero_extendqisi2 cmp r10, r2 - bcc .L2470 - ldr r3, .L2499+12 + bcc .L2431 + ldr r3, .L2460+12 ldr r3, [r3] tst r3, #64 - beq .L2498 + beq .L2459 str r2, [sp] mov r1, r6 - ldr r0, .L2499+16 + ldr r0, .L2460+16 mov r2, r10 mov r3, r4 bl printk -.L2498: +.L2459: mvn r0, #0 - b .L2495 -.L2470: + b .L2456 +.L2431: tst r4, #50331648 - bne .L2473 + bne .L2434 ldrb r2, [r3] @ zero_extendqisi2 cmp r2, #0 - beq .L2474 + beq .L2435 ldrb r3, [r3, #1] @ zero_extendqisi2 cmp r3, #0 - beq .L2473 -.L2474: + beq .L2434 +.L2435: ldrh r10, [r5, #2] mov r0, r4 mov r1, r10 bl __aeabi_uidiv ldrb r3, [r5, #1] @ zero_extendqisi2 cmp r3, #0 - ldreq r3, .L2499 + ldreq r3, .L2460 mul r0, r10, r0 rsb r4, r0, r4 mov r4, r4, asl #1 addeq r4, r3, r4 ldreqh r4, [r4, #4] add r4, r4, r0 -.L2473: +.L2434: str r9, [sp] mov r0, r6 mov r1, r4 @@ -14319,18 +14045,18 @@ flash_read_page_en: mov r3, r7 bl flash_read_page cmn r0, #1 - bne .L2495 + bne .L2456 ldrb fp, [r5, #1168] @ zero_extendqisi2 - ldr r10, .L2499 + ldr r10, .L2460 cmp fp, #0 - bne .L2477 -.L2480: - ldr r3, .L2499+20 - ldr ip, [r3, #-180] + bne .L2438 +.L2441: + ldr r3, .L2460+20 + ldr ip, [r3, #-108] cmp ip, #0 - bne .L2478 - b .L2479 -.L2477: + bne .L2439 + b .L2440 +.L2438: mov r3, #0 mov r0, r6 strb r3, [r10, #1168] @@ -14341,9 +14067,9 @@ flash_read_page_en: bl flash_read_page strb fp, [r10, #1168] cmn r0, #1 - beq .L2480 - b .L2495 -.L2478: + beq .L2441 + b .L2456 +.L2439: str r9, [sp] mov r0, r6 mov r1, r4 @@ -14351,18 +14077,18 @@ flash_read_page_en: mov r3, r7 blx ip cmn r0, #1 - bne .L2495 -.L2479: + bne .L2456 +.L2440: ldrb r3, [r5, #1168] @ zero_extendqisi2 mov r1, #0 - ldr r0, .L2499+24 + ldr r0, .L2460+24 mov r2, r4 str r3, [sp] mvn r3, #0 bl printk ldrb r3, [r5, #1135] @ zero_extendqisi2 cmp r3, #0 - beq .L2498 + beq .L2459 str r9, [sp, #48] mov r0, r6 mov r1, r4 @@ -14372,20 +14098,20 @@ flash_read_page_en: @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} b flash_ddr_tuning_read -.L2495: +.L2456: add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2500: +.L2461: .align 2 -.L2499: +.L2460: .word .LANCHOR0 - .word .LANCHOR1+2096 + .word .LANCHOR1+2060 .word .LC0 .word .LANCHOR2 - .word .LC168 + .word .LC165 .word .LANCHOR3 - .word .LC169 + .word .LC166 .fnend .size flash_read_page_en, .-flash_read_page_en .align 2 @@ -14398,15 +14124,15 @@ flash_get_last_written_page: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r9, r1 - ldr r6, .L2512 + ldr r6, .L2473 .pad #20 sub sp, sp, #20 - ldr r1, .L2512+4 + ldr r1, .L2473+4 mov r10, r0 mov fp, r2 mov r8, r3 ldrh r7, [r6, #30] - ldrh r4, [r1] + ldrh r4, [r1, #-220] ldr r1, [sp, #56] sub r4, r4, #1 mul r7, r7, r9 @@ -14416,12 +14142,12 @@ flash_get_last_written_page: bl flash_read_page_en cmp r0, #512 moveq ip, #0 - bne .L2502 -.L2503: + bne .L2463 +.L2464: sxth r3, ip sxth r2, r4 cmp r3, r2 - bgt .L2502 + bgt .L2463 add r3, r3, r2 mov r0, r10 mov r2, fp @@ -14439,28 +14165,28 @@ flash_get_last_written_page: addne ip, r5, #1 uxtheq r4, r5 uxthne ip, ip - b .L2503 -.L2502: + b .L2464 +.L2463: ldr r3, [r6] sxth r4, r4 tst r3, #4096 - beq .L2507 - ldr r0, .L2512+8 + beq .L2468 + ldr r0, .L2473+8 mov r1, r9 mov r2, r4 ldr r3, [r8] bl printk -.L2507: +.L2468: mov r0, r4 add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2513: +.L2474: .align 2 -.L2512: +.L2473: .word .LANCHOR2 - .word .LANCHOR3-292 - .word .LC170 + .word .LANCHOR3 + .word .LC167 .fnend .size flash_get_last_written_page, .-flash_get_last_written_page .align 2 @@ -14474,12 +14200,12 @@ flash_get_last_written_page_ext: .save {r4, lr} .pad #8 mov lr, r2 - ldr r2, .L2516 + ldr r2, .L2477 mov r4, r1 - ldr r1, .L2516+4 + ldr r1, .L2477+4 mov ip, r0 ldrb r2, [r2, #1189] @ zero_extendqisi2 - ldrh r1, [r1, #-4] + ldrh r1, [r1, #-12] rsb r2, r2, #24 str r3, [sp] rsb r2, r1, r2 @@ -14493,11 +14219,11 @@ flash_get_last_written_page_ext: add sp, sp, #8 @ sp needed ldmfd sp!, {r4, pc} -.L2517: +.L2478: .align 2 -.L2516: +.L2477: .word .LANCHOR0 - .word .LANCHOR3-3200 + .word .LANCHOR3-3120 .fnend .size flash_get_last_written_page_ext, .-flash_get_last_written_page_ext .align 2 @@ -14511,10 +14237,10 @@ flash_ddr_para_scan: .save {r4, r5, r6, r7, r8, r9, lr} .pad #12 mov r8, r0 - ldr r4, .L2525 + ldr r4, .L2486 mov r7, r1 mov r6, #1 - ldr r5, .L2525+4 + ldr r5, .L2486+4 mov r9, #4 ldrb r0, [r4, #1232] @ zero_extendqisi2 strb r6, [r4, #1135] @@ -14522,41 +14248,41 @@ flash_ddr_para_scan: ldrb r0, [r4, #1232] @ zero_extendqisi2 bl nandc_set_if_mode mov r1, r7 - ldr r2, [r5, #-176] + ldr r2, [r5, #-104] mov r0, r8 - ldr r3, [r5, #-172] + ldr r3, [r5, #-100] str r9, [sp] bl flash_ddr_tuning_read - ldr r3, [r5, #-172] + ldr r3, [r5, #-100] mov r0, r8 mov r1, r7 - ldr r2, [r5, #-176] + ldr r2, [r5, #-104] str r9, [sp] bl flash_read_page mov r3, r4 cmn r0, #1 - bne .L2519 + bne .L2480 ldrb r2, [r4, #1232] @ zero_extendqisi2 tst r2, #1 - beq .L2519 + beq .L2480 mov r0, r6 bl flash_set_interface_mode mov r0, r6 bl nandc_set_if_mode mov r3, #0 strb r3, [r4, #1135] - b .L2520 -.L2519: + b .L2481 +.L2480: mov r2, #1 strb r2, [r3, #1135] -.L2520: +.L2481: mov r0, #0 add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc} -.L2526: +.L2487: .align 2 -.L2525: +.L2486: .word .LANCHOR0 .word .LANCHOR3 .fnend @@ -14569,12 +14295,12 @@ id_block_read_data.constprop.31: .fnstart @ args = 0, pretend = 0, frame = 112 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2558 + ldr r3, .L2519 stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #124 sub sp, sp, #124 - ldr r4, .L2558+4 + ldr r4, .L2519+4 mov r6, r2 str r1, [sp, #24] mov r5, #0 @@ -14595,10 +14321,10 @@ id_block_read_data.constprop.31: str r3, [sp, #32] and r3, r1, #3 str r3, [sp, #16] -.L2528: +.L2489: ldr r3, [sp, #24] cmp r5, r3 - bcs .L2557 + bcs .L2518 ldr r3, [sp, #16] mov r1, r7 rsb r3, r3, r7 @@ -14614,30 +14340,30 @@ id_block_read_data.constprop.31: add r2, r4, r3 ldrh r2, [r2, #4] moveq r0, r2 - beq .L2530 + beq .L2491 ldrb r2, [r4, #1] @ zero_extendqisi2 cmp r2, #0 movne r0, r3 -.L2530: +.L2491: ldr r2, [sp, #32] ldr r3, [sp, #28] ldr r1, [sp, #16] mla r3, r3, r0, r2 str r3, [sp, #36] - ldr r3, .L2558+4 + ldr r3, .L2519+4 ldr r2, [sp, #36] ldrb r9, [r3, #1100] @ zero_extendqisi2 add r0, r2, r1 ldr r3, [r3, #1096] ldrb r1, [r3, #9] @ zero_extendqisi2 bl __aeabi_uidiv - ldr r3, .L2558+4 + ldr r3, .L2519+4 ldrb r3, [r3, #1172] @ zero_extendqisi2 mov fp, r0 mov r0, r9 str r3, [sp, #48] bl nandc_bch_sel -.L2531: +.L2492: str r7, [sp] mov r0, #0 mov r1, fp @@ -14646,17 +14372,17 @@ id_block_read_data.constprop.31: bl flash_read_page cmn r0, #1 mov r8, r0 - bne .L2538 + bne .L2499 ldrb ip, [r4, #1168] @ zero_extendqisi2 cmp ip, #0 - bne .L2533 -.L2536: - ldr r3, .L2558+8 - ldr ip, [r3, #-180] + bne .L2494 +.L2497: + ldr r3, .L2519+8 + ldr ip, [r3, #-108] cmp ip, #0 - bne .L2534 - b .L2535 -.L2533: + bne .L2495 + b .L2496 +.L2494: mov r0, #0 str r7, [sp] mov r1, fp @@ -14668,9 +14394,9 @@ id_block_read_data.constprop.31: ldr ip, [sp, #52] cmn r0, #1 strb ip, [r4, #1168] - beq .L2536 - b .L2556 -.L2534: + beq .L2497 + b .L2517 +.L2495: str r7, [sp] mov r0, #0 mov r1, fp @@ -14678,31 +14404,31 @@ id_block_read_data.constprop.31: add r3, sp, #56 blx ip cmn r0, #1 - bne .L2556 -.L2535: + bne .L2517 +.L2496: ldrb r3, [r4, #1135] @ zero_extendqisi2 cmp r3, #0 - beq .L2538 + beq .L2499 str r7, [sp] mov r0, #0 mov r1, fp mov r2, r6 add r3, sp, #56 bl flash_ddr_tuning_read -.L2556: +.L2517: mov r8, r0 -.L2538: +.L2499: subs r9, r9, #16 movne r9, #1 cmn r8, #1 movne r9, #0 cmp r9, #0 - beq .L2539 + beq .L2500 mov r0, #16 mov r9, #16 bl nandc_bch_sel - b .L2531 -.L2539: + b .L2492 +.L2500: ldr r0, [sp, #48] bl nandc_bch_sel cmn r8, #1 @@ -14717,21 +14443,21 @@ id_block_read_data.constprop.31: movne r3, #0 andeq r3, r3, #1 cmp r3, #0 - beq .L2541 + beq .L2502 ldr r3, [r6] - ldr r2, .L2558+12 + ldr r2, .L2519+12 cmp r3, r2 - bne .L2541 + bne .L2502 ldr r3, [sp, #24] ldr r2, [sp, #20] ldrb r7, [r6, #17] @ zero_extendqisi2 add r3, r3, r2 str r3, [sp, #24] - b .L2542 -.L2541: + b .L2503 +.L2502: ldr r3, [sp, #20] mov r2, r5 - ldr r0, .L2558+16 + ldr r0, .L2519+16 ldr r1, [sp, #36] add r6, r6, r3, asl #9 ldr r3, [sp, #60] @@ -14740,27 +14466,27 @@ id_block_read_data.constprop.31: bl printk mov r3, #0 str r3, [sp, #16] -.L2542: +.L2503: ldr r3, [sp, #20] add r5, r3, r5 uxth r5, r5 - b .L2528 -.L2557: - ldr r3, .L2558+4 + b .L2489 +.L2518: + ldr r3, .L2519+4 mov r0, r10 ldrb r2, [sp, #44] @ zero_extendqisi2 strb r2, [r3, #1168] add sp, sp, #124 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2559: +.L2520: .align 2 -.L2558: +.L2519: .word .LANCHOR2 .word .LANCHOR0 .word .LANCHOR3 .word 1179535694 - .word .LC171 + .word .LC168 .fnend .size id_block_read_data.constprop.31, .-id_block_read_data.constprop.31 .text @@ -14774,49 +14500,37 @@ flash_prog_page: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov fp, r3 - ldr r3, .L2576 - mov r10, r2 - mvn r5, #0 - add r8, r0, #8 + ldr r7, .L2533 mov r4, r0 .pad #20 sub sp, sp, #20 - ldrb r2, [r3, #1189] @ zero_extendqisi2 - mov r7, r1 - ldr r6, [r3, #1040] - ubfx r9, r1, #24, #2 - rsb r2, r2, #24 - str r3, [sp, #8] - bic r5, r1, r5, asl r2 - ldr r2, .L2576+4 - add r8, r6, r8, asl #8 - ldr r0, [r2] - str r2, [sp, #12] - tst r0, #16 - beq .L2561 - ldr r0, .L2576+8 - mov r2, r9 - ldr r3, [sp, #56] - bl printk -.L2561: + mvn r5, #0 + mov r8, r1 + mov r10, r2 + ldrb r3, [r7, #1189] @ zero_extendqisi2 + add r9, r0, #8 + ldr r6, [r7, #1040] + rsb r3, r3, #24 + bic r5, r1, r5, asl r3 bl nandc_wait_flash_ready mov r0, r4 + add r9, r6, r9, asl #8 bl hynix_reconfig_rr_para mov r0, r4 bl nandc_cs - cmp r9, #0 + tst r8, #50331648 mov r0, r4 - bne .L2562 + bne .L2522 bl zftl_flash_enter_slc_mode - b .L2563 -.L2562: + b .L2523 +.L2522: bl zftl_flash_exit_slc_mode -.L2563: - mov r9, r4, asl #8 +.L2523: + mov ip, r4, asl #8 mov r2, #128 - add r3, r6, r9 + add r3, r6, ip mov r0, r5 - add r6, r6, r9 + str ip, [sp, #12] str r2, [r3, #2056] mov r2, #0 str r2, [r3, #2052] @@ -14827,46 +14541,46 @@ flash_prog_page: str r2, [r3, #2052] mov r2, r5, lsr #16 str r2, [r3, #2052] - ldr r2, [sp, #8] - ldrb r2, [r2, #1188] @ zero_extendqisi2 + ldrb r2, [r7, #1188] @ zero_extendqisi2 cmp r2, #0 movne r2, r5, lsr #24 strne r2, [r3, #2052] bl nandc_set_seed + ldr r3, .L2533+4 mov r1, #1 mov r0, r4 - ldr r3, [sp, #12] ldrb r2, [r3, #13] @ zero_extendqisi2 mov r3, r10 str fp, [sp] bl nandc_xfer mov r3, #16 - str r3, [r6, #2056] + ldr ip, [sp, #12] + add ip, r6, ip + str r3, [ip, #2056] bl nandc_iqr_wait_flash_ready bl nandc_wait_flash_ready - mov r0, r8 + mov r0, r9 bl flash_read_status mov r5, r0 mov r0, r4 bl nandc_de_cs ands r2, r5, #4 - beq .L2565 - ldr r0, .L2576+12 - mov r1, r7 + beq .L2525 + ldr r0, .L2533+8 + mov r1, r8 bl printk mvn r2, #0 -.L2565: +.L2525: mov r0, r2 add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2577: +.L2534: .align 2 -.L2576: +.L2533: .word .LANCHOR0 .word .LANCHOR2 - .word .LC172 - .word .LC173 + .word .LC169 .fnend .size flash_prog_page, .-flash_prog_page .align 2 @@ -14880,58 +14594,58 @@ flash_test_blk: .save {r4, r5, r6, r7, lr} .pad #12 mov r6, r0 - ldr r4, .L2589 + ldr r4, .L2546 mov r5, r1 mov r2, #32 mov r1, #165 - ldr r0, [r4, #-200] + ldr r0, [r4, #-128] bl ftl_memset mov r1, #90 mov r2, #8 - ldr r0, [r4, #-192] + ldr r0, [r4, #-120] bl ftl_memset - ldr r3, .L2589+4 + ldr r3, .L2546+4 mov r0, r6 ldrh r3, [r3, #2] mul r5, r3, r5 mov r1, r5 bl flash_erase_block cmn r0, #1 - bne .L2579 -.L2581: + bne .L2536 +.L2538: mvn r4, #0 - b .L2580 -.L2579: - ldr r7, .L2589+8 + b .L2537 +.L2536: + ldr r7, .L2546+8 mov r0, r6 mov r1, r5 ldrb r3, [r7, #13] @ zero_extendqisi2 str r3, [sp] - ldr r2, [r4, #-200] - ldr r3, [r4, #-192] + ldr r2, [r4, #-128] + ldr r3, [r4, #-120] bl flash_prog_page cmn r0, #1 - beq .L2581 + beq .L2538 ldrb r3, [r7, #13] @ zero_extendqisi2 mov r0, r6 mov r1, r5 str r3, [sp] - ldr r2, [r4, #-200] - ldr r3, [r4, #-192] + ldr r2, [r4, #-128] + ldr r3, [r4, #-120] bl flash_read_page_en cmn r0, #1 - beq .L2581 - ldr r3, [r4, #-200] + beq .L2538 + ldr r3, [r4, #-128] ldr r2, [r3] - ldr r3, .L2589+12 + ldr r3, .L2546+12 cmp r2, r3 - bne .L2581 - ldr r3, [r4, #-192] - ldr r4, .L2589+16 + bne .L2538 + ldr r3, [r4, #-120] + ldr r4, .L2546+16 ldr r3, [r3] subs r4, r3, r4 mvnne r4, #0 -.L2580: +.L2537: mov r0, r6 mov r1, r5 bl flash_erase_block @@ -14939,9 +14653,9 @@ flash_test_blk: add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, pc} -.L2590: +.L2547: .align 2 -.L2589: +.L2546: .word .LANCHOR3 .word .LANCHOR0 .word .LANCHOR2 @@ -14960,7 +14674,7 @@ flash_start_one_pass_page_prog: .save {r4, r5, r6, r7, r8, r9, r10, lr} .pad #8 mov r10, r0 - ldr r6, .L2601 + ldr r6, .L2558 mov r0, r3 ldr r5, [sp, #40] mov r9, r3 @@ -14990,7 +14704,7 @@ flash_start_one_pass_page_prog: movne r3, r5, lsr #24 strne r3, [r2, #2052] bl nandc_set_seed - ldr r3, .L2601+4 + ldr r3, .L2558+4 mov r0, r9 mov r1, #1 ldrb r2, [r3, #13] @ zero_extendqisi2 @@ -15002,9 +14716,9 @@ flash_start_one_pass_page_prog: add sp, sp, #8 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc} -.L2602: +.L2559: .align 2 -.L2601: +.L2558: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -15019,9 +14733,9 @@ flash_dual_page_prog: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r9, r3 - ldr r4, .L2616 + ldr r4, .L2573 add r8, r0, #8 - ldr r6, .L2616+4 + ldr r6, .L2573+4 .pad #20 sub sp, sp, #20 mov r5, r0 @@ -15036,23 +14750,23 @@ flash_dual_page_prog: bic r4, r1, r4, asl r3 ldr r3, [r6] tst r3, #16 - beq .L2604 - ldr r0, .L2616+8 + beq .L2561 + ldr r0, .L2573+8 mov r2, fp ldr r3, [sp, #64] bl printk -.L2604: +.L2561: bl nandc_wait_flash_ready mov r0, r5 bl nandc_cs cmp fp, #0 mov r0, r5 - bne .L2605 + bne .L2562 bl zftl_flash_enter_slc_mode - b .L2606 -.L2605: + b .L2563 +.L2562: bl zftl_flash_exit_slc_mode -.L2606: +.L2563: mov r0, #0 mov r2, #16 mov r1, r0 @@ -15079,27 +14793,27 @@ flash_dual_page_prog: mov r0, r5 bl nandc_de_cs ands r2, r4, #4 - beq .L2607 + beq .L2564 ldr r3, [r6] tst r3, #4096 - beq .L2608 - ldr r0, .L2616+12 + beq .L2565 + ldr r0, .L2573+12 mov r1, r7 bl printk -.L2608: +.L2565: mvn r2, #0 -.L2607: +.L2564: mov r0, r2 add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2617: +.L2574: .align 2 -.L2616: +.L2573: .word .LANCHOR0 .word .LANCHOR2 - .word .LC172 - .word .LC173 + .word .LC170 + .word .LC169 .fnend .size flash_dual_page_prog, .-flash_dual_page_prog .align 2 @@ -15113,7 +14827,7 @@ ymtc_flash_tlc_page_prog: .save {r4, r5, r6, r7, r8, r9, r10, lr} .pad #16 mov r8, r3 - ldr r4, .L2625 + ldr r4, .L2582 mov r6, #1 add r7, r0, #8 mov r5, r0 @@ -15164,27 +14878,27 @@ ymtc_flash_tlc_page_prog: mov r0, r5 bl nandc_de_cs ands r2, r4, #4 - beq .L2619 - ldr r3, .L2625+4 + beq .L2576 + ldr r3, .L2582+4 ldr r3, [r3] tst r3, #4096 - beq .L2620 - ldr r0, .L2625+8 + beq .L2577 + ldr r0, .L2582+8 mov r1, r10 bl printk -.L2620: +.L2577: mvn r2, #0 -.L2619: +.L2576: mov r0, r2 add sp, sp, #16 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc} -.L2626: +.L2583: .align 2 -.L2625: +.L2582: .word .LANCHOR0 .word .LANCHOR2 - .word .LC174 + .word .LC171 .fnend .size ymtc_flash_tlc_page_prog, .-ymtc_flash_tlc_page_prog .section .text.unlikely @@ -15197,7 +14911,7 @@ fw_flash_page_prog.constprop.30: stmfd sp!, {r4, r5, r6, r7, r8, r9, lr} .save {r4, r5, r6, r7, r8, r9, lr} mov r6, r1 - ldr r4, .L2633 + ldr r4, .L2590 .pad #20 sub sp, sp, #20 mov r5, r2 @@ -15208,29 +14922,29 @@ fw_flash_page_prog.constprop.30: mov r7, r0 ldrb r0, [r4, #1100] @ zero_extendqisi2 bl nandc_bch_sel - ldr r3, .L2633+4 + ldr r3, .L2590+4 ldrb r2, [r3, #11] @ zero_extendqisi2 cmp r2, #9 - bne .L2628 + bne .L2585 ldrb r4, [r4, #1102] @ zero_extendqisi2 cmp r4, #0 - bne .L2628 + bne .L2585 ldrb r3, [r3, #16] @ zero_extendqisi2 cmp r3, #3 - bne .L2629 + bne .L2586 mov r0, r4 mov r1, r7 mov r2, r6 mov r3, r5 bl ymtc_flash_tlc_page_prog - b .L2632 -.L2629: - ldr r9, .L2633+8 + b .L2589 +.L2586: + ldr r9, .L2590+8 mov r1, #255 mov r2, #16384 - ldr r0, [r9, #-200] + ldr r0, [r9, #-128] bl ftl_memset - ldr r3, [r9, #-200] + ldr r3, [r9, #-128] mov r0, r4 mov r1, r7 mov r2, r6 @@ -15240,8 +14954,8 @@ fw_flash_page_prog.constprop.30: str r3, [sp, #8] mov r3, r5 bl flash_dual_page_prog - b .L2632 -.L2628: + b .L2589 +.L2585: mov r3, #4 mov r0, #0 str r3, [sp] @@ -15249,7 +14963,7 @@ fw_flash_page_prog.constprop.30: mov r2, r6 mov r3, r5 bl flash_prog_page -.L2632: +.L2589: mov r4, r0 mov r0, r8 bl nandc_bch_sel @@ -15257,9 +14971,9 @@ fw_flash_page_prog.constprop.30: add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc} -.L2634: +.L2591: .align 2 -.L2633: +.L2590: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR3 @@ -15277,7 +14991,7 @@ flash_start_tlc_page_prog: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #12 mov r4, r3 - ldr r3, .L2643 + ldr r3, .L2600 mov r8, r2 add r5, sp, #48 mov fp, r0 @@ -15286,17 +15000,17 @@ flash_start_tlc_page_prog: mov r6, r3 ldmia r5, {r5, r9, r10} cmp r2, r4 - bhi .L2636 - ldr r1, .L2643+4 - movw r2, #859 - ldr r0, .L2643+8 + bhi .L2593 + ldr r1, .L2600+4 + mov r2, #868 + ldr r0, .L2600+8 bl printk bl dump_stack -.L2636: +.L2593: ldrb r2, [r6, #1101] @ zero_extendqisi2 - ldr r3, .L2643 + ldr r3, .L2600 cmp r2, r4 - bls .L2635 + bls .L2592 add r4, r3, r4 ldrb r6, [r4, #1180] @ zero_extendqisi2 ldr r4, [r3, #1040] @@ -15323,7 +15037,7 @@ flash_start_tlc_page_prog: sub r0, r5, #1 add r0, r0, r7 bl nandc_set_seed - ldr r3, .L2643+12 + ldr r3, .L2600+12 mov r0, r6 mov r1, #1 ldrb r2, [r3, #13] @ zero_extendqisi2 @@ -15336,15 +15050,15 @@ flash_start_tlc_page_prog: @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} b nandc_de_cs -.L2635: +.L2592: add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2644: +.L2601: .align 2 -.L2643: +.L2600: .word .LANCHOR0 - .word .LANCHOR1+2116 + .word .LANCHOR1+2080 .word .LC0 .word .LANCHOR2 .fnend @@ -15359,7 +15073,7 @@ queue_tlc_prog_cmd: .save {r4, r5, r6, r7, r8, lr} .pad #16 mov r8, #1 - ldr r2, .L2650 + ldr r2, .L2607 mov r6, r0 ldr r3, [r0] mov r7, r1 @@ -15375,7 +15089,7 @@ queue_tlc_prog_cmd: sub r5, r5, #1 and r5, r5, r0 uxtb r4, r4 - beq .L2646 + beq .L2603 mov r0, r4 bl zftl_flash_exit_slc_mode ldr r3, [r6] @@ -15417,8 +15131,8 @@ queue_tlc_prog_cmd: str r3, [sp, #8] mov r3, r4 bl flash_start_one_pass_page_prog - b .L2647 -.L2646: + b .L2604 +.L2603: ldrb r0, [r3, #44] @ zero_extendqisi2 mov r1, r8 str r5, [sp] @@ -15456,12 +15170,12 @@ queue_tlc_prog_cmd: str r3, [sp, #8] mov r3, r4 bl flash_start_tlc_page_prog -.L2647: +.L2604: cmp r7, #0 - beq .L2645 + beq .L2602 ldr r1, [r6] mov r3, #4 - ldr r0, .L2650+4 + ldr r0, .L2607+4 strb r3, [r1, #42] mov r3, #1 strb r3, [r1, #43] @@ -15471,13 +15185,13 @@ queue_tlc_prog_cmd: @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, lr} b buf_add_tail -.L2645: +.L2602: add sp, sp, #16 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L2651: +.L2608: .align 2 -.L2650: +.L2607: .word .LANCHOR0 .word .LANCHOR0+2775 .fnend @@ -15493,7 +15207,7 @@ sblk_3d_tlc_dump_prog: .save {r4, r5, r6, r7, r8, lr} .pad #16 mov r7, #1 - ldr r3, .L2656 + ldr r3, .L2613 mov r5, r0 ldr r1, [r0, #24] ldrb r4, [r3, #1189] @ zero_extendqisi2 @@ -15507,7 +15221,7 @@ sblk_3d_tlc_dump_prog: sub r6, r6, #1 and r6, r6, r1 uxtb r4, r4 - beq .L2653 + beq .L2610 mov r0, r4 bl zftl_flash_exit_slc_mode ldr r3, [r5, #4] @@ -15546,8 +15260,8 @@ sblk_3d_tlc_dump_prog: str r3, [sp, #8] mov r3, r4 bl flash_start_one_pass_page_prog - b .L2654 -.L2653: + b .L2611 +.L2610: str r6, [sp] mov r1, r7 ldr r3, [r0, #4] @@ -15582,7 +15296,7 @@ sblk_3d_tlc_dump_prog: str r3, [sp, #8] mov r3, r4 bl flash_start_tlc_page_prog -.L2654: +.L2611: bl nandc_iqr_wait_flash_ready bl nandc_wait_flash_ready ldr r0, [r5, #24] @@ -15591,9 +15305,9 @@ sblk_3d_tlc_dump_prog: @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, lr} b flash_wait_device_ready -.L2657: +.L2614: .align 2 -.L2656: +.L2613: .word .LANCHOR0 .fnend .size sblk_3d_tlc_dump_prog, .-sblk_3d_tlc_dump_prog @@ -15608,24 +15322,24 @@ flash_start_3d_mlc_page_prog: .save {r4, r5, r6, r7, r8, lr} .pad #8 mov r8, r3 - ldr r3, .L2662 + ldr r3, .L2619 mov r5, r2 mov r7, r0 mov r4, r1 ldrb r2, [r3, #1101] @ zero_extendqisi2 mov r6, r3 cmp r2, r1 - bhi .L2659 - ldr r1, .L2662+4 - mov r2, #892 - ldr r0, .L2662+8 + bhi .L2616 + ldr r1, .L2619+4 + movw r2, #903 + ldr r0, .L2619+8 bl printk bl dump_stack -.L2659: +.L2616: ldrb r2, [r6, #1101] @ zero_extendqisi2 - ldr r3, .L2662 + ldr r3, .L2619 cmp r2, r4 - bls .L2658 + bls .L2615 add r4, r3, r4 ldrb r6, [r4, #1180] @ zero_extendqisi2 ldr r4, [r3, #1040] @@ -15645,7 +15359,7 @@ flash_start_3d_mlc_page_prog: mov r3, r5, lsr #16 str r3, [r4, #2052] bl nandc_set_seed - ldr r3, .L2662+12 + ldr r3, .L2619+12 mov r0, r6 mov r1, #1 ldrb r2, [r3, #13] @ zero_extendqisi2 @@ -15654,15 +15368,15 @@ flash_start_3d_mlc_page_prog: mov r3, r8 bl nandc_xfer str r7, [r4, #2056] -.L2658: +.L2615: add sp, sp, #8 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L2663: +.L2620: .align 2 -.L2662: +.L2619: .word .LANCHOR0 - .word .LANCHOR1+2144 + .word .LANCHOR1+2108 .word .LC0 .word .LANCHOR2 .fnend @@ -15674,7 +15388,7 @@ sblk_mlc_dump_prog: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2670 + ldr r3, .L2627 stmfd sp!, {r0, r1, r4, r5, r6, lr} .save {r4, r5, r6, lr} .pad #8 @@ -15692,16 +15406,16 @@ sblk_mlc_dump_prog: uxtb r4, r4 mov r0, r4 bl zftl_flash_exit_slc_mode - ldr r3, .L2670+4 + ldr r3, .L2627+4 ldr r3, [r3] tst r3, #4096 - beq .L2665 + beq .L2622 ldr r2, [r5, #24] mov r1, r6 - ldr r0, .L2670+8 + ldr r0, .L2627+8 add r3, r2, #1 bl printk -.L2665: +.L2622: ldr r3, [r5, #12] mov r1, r4 mov r2, r6 @@ -15730,12 +15444,12 @@ sblk_mlc_dump_prog: add sp, sp, #8 @ sp needed ldmfd sp!, {r4, r5, r6, pc} -.L2671: +.L2628: .align 2 -.L2670: +.L2627: .word .LANCHOR0 .word .LANCHOR2 - .word .LC175 + .word .LC172 .fnend .size sblk_mlc_dump_prog, .-sblk_mlc_dump_prog .align 2 @@ -15748,7 +15462,7 @@ flash_start_page_prog: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov fp, r3 - ldr r6, .L2687 + ldr r6, .L2644 mvn r3, #0 mov r10, r2 .pad #20 @@ -15762,17 +15476,17 @@ flash_start_page_prog: and r5, r4, r1, lsr r7 uxtb r9, r5 cmp r2, r9 - bhi .L2673 - ldr r1, .L2687+4 - movw r2, #945 - ldr r0, .L2687+8 + bhi .L2630 + ldr r1, .L2644+4 + mov r2, #956 + ldr r0, .L2644+8 bl printk bl dump_stack -.L2673: +.L2630: ldrb r1, [r6, #1101] @ zero_extendqisi2 - ldr r2, .L2687 + ldr r2, .L2644 cmp r1, r9 - bls .L2672 + bls .L2629 add r1, r2, r9 mvn r4, #0 str r2, [sp, #12] @@ -15782,37 +15496,37 @@ flash_start_page_prog: bl nandc_rdy_status cmp r0, #0 ldr r2, [sp, #12] - bne .L2675 + bne .L2632 ldrb r2, [r2, #1101] @ zero_extendqisi2 cmp r2, #1 - bne .L2676 + bne .L2633 bl nandc_wait_flash_ready - b .L2675 -.L2676: + b .L2632 +.L2633: mov r0, r9 mov r1, r4 mov r2, #64 bl flash_wait_device_ready_raw -.L2675: +.L2632: mov r0, r5 bl hynix_reconfig_rr_para mov r0, r5 bl nandc_cs tst r8, #50331648 - bne .L2677 + bne .L2634 mov r0, r4 bl slc_phy_page_address_calc ldrb r3, [r6] @ zero_extendqisi2 cmp r3, #0 mov r4, r0 - beq .L2678 + beq .L2635 mov r0, r5 bl zftl_flash_enter_slc_mode - b .L2678 -.L2677: + b .L2635 +.L2634: mov r0, r5 bl zftl_flash_exit_slc_mode -.L2678: +.L2635: mov r8, r5, asl #8 mov r2, #128 add r3, r7, r8 @@ -15833,7 +15547,7 @@ flash_start_page_prog: movne r2, r4, lsr #24 strne r2, [r3, #2052] bl nandc_set_seed - ldr r3, .L2687+12 + ldr r3, .L2644+12 mov r0, r5 mov r1, #1 ldrb r2, [r3, #13] @ zero_extendqisi2 @@ -15847,15 +15561,15 @@ flash_start_page_prog: @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} b nandc_de_cs -.L2672: +.L2629: add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2688: +.L2645: .align 2 -.L2687: +.L2644: .word .LANCHOR0 - .word .LANCHOR1+2176 + .word .LANCHOR1+2140 .word .LC0 .word .LANCHOR2 .fnend @@ -15874,11 +15588,11 @@ queue_prog_cmd: ldr r3, [r4, #12] ldr r1, [r4, #24] bl flash_start_page_prog - ldr r2, .L2698 + ldr r2, .L2655 ldr r0, [r4, #24] ldrb r3, [r2, #2775] @ zero_extendqisi2 cmp r3, #255 - beq .L2690 + beq .L2647 ldrb ip, [r2, #1189] @ zero_extendqisi2 mvn r1, #0 mov r5, #48 @@ -15886,38 +15600,38 @@ queue_prog_cmd: mvn r1, r1, asl ip uxth r1, r1 and r0, r1, r0, asr r6 -.L2692: +.L2649: mla lr, r5, r3, r2 ldr ip, [lr, #1260] and ip, r1, ip, lsr r6 cmp r0, ip - bne .L2691 + bne .L2648 add ip, lr, #1264 ldrb lr, [lr, #1278] @ zero_extendqisi2 add ip, ip, #12 cmp lr, #7 moveq r3, #3 streqb r3, [ip, #2] - beq .L2690 -.L2691: + beq .L2647 +.L2648: mla r3, r5, r3, r2 ldrb r3, [r3, #1236] @ zero_extendqisi2 cmp r3, #255 - bne .L2692 -.L2690: + bne .L2649 +.L2647: mov r3, #3 mov r1, r4 strb r3, [r4, #42] mov r3, #1 - ldr r0, .L2698+4 + ldr r0, .L2655+4 strb r3, [r4, #43] mvn r3, #0 strb r3, [r4] ldmfd sp!, {r4, r5, r6, lr} b buf_add_tail -.L2699: +.L2656: .align 2 -.L2698: +.L2655: .word .LANCHOR0 .word .LANCHOR0+2775 .fnend @@ -15933,7 +15647,7 @@ flash_complete_plane_page_read: .save {r4, r5, r6, r7, r8, r9, r10, lr} .pad #8 mvn r3, #0 - ldr r8, .L2730 + ldr r8, .L2687 mov r10, r0 mov r6, r1 mov r7, r2 @@ -15944,18 +15658,18 @@ flash_complete_plane_page_read: ldrb r3, [r8, #1101] @ zero_extendqisi2 uxtb r5, r4 cmp r3, r5 - bhi .L2701 - ldr r1, .L2730+4 - movw r2, #1055 - ldr r0, .L2730+8 + bhi .L2658 + ldr r1, .L2687+4 + movw r2, #1070 + ldr r0, .L2687+8 bl printk bl dump_stack -.L2701: +.L2658: ldrb r2, [r8, #1101] @ zero_extendqisi2 - ldr r3, .L2730 + ldr r3, .L2687 cmp r2, r5 mvnls r0, #0 - bls .L2702 + bls .L2659 add r5, r3, r5 mvn r4, #0 bic r4, r10, r4, asl r9 @@ -15965,11 +15679,11 @@ flash_complete_plane_page_read: mov r0, r9 bl nandc_cs cmp r10, #0 - bne .L2703 + bne .L2660 mov r0, r4 bl slc_phy_page_address_calc mov r4, r0 -.L2703: +.L2660: ldrb r3, [r8, #1119] @ zero_extendqisi2 uxtb ip, r4 mov r0, r4, lsr #8 @@ -15978,15 +15692,15 @@ flash_complete_plane_page_read: mov r3, r9, asl #8 addeq r2, r5, r3 moveq lr, #6 - beq .L2729 - ldr r2, .L2730 + beq .L2686 + ldr r2, .L2687 ldr r2, [r2, #1096] ldrb r2, [r2, #12] @ zero_extendqisi2 cmp r2, #3 add r2, r5, r3 - bne .L2707 + bne .L2664 mov lr, #5 -.L2729: +.L2686: add r3, r5, r3 str lr, [r2, #2056] mov lr, #0 @@ -16001,8 +15715,8 @@ flash_complete_plane_page_read: strne r1, [r2, #2052] mov r2, #224 str r2, [r3, #2056] - b .L2706 -.L2707: + b .L2663 +.L2664: add r5, r5, r3 mov lr, #0 cmp r1, lr @@ -16022,30 +15736,30 @@ flash_complete_plane_page_read: str r3, [r2, #2052] mov r3, #224 str r3, [r5, #2056] -.L2706: +.L2663: ldr r2, [r8, #1096] - ldr r3, .L2730 + ldr r3, .L2687 ldrb r1, [r2, #12] @ zero_extendqisi2 adds r2, r10, #0 movne r2, #1 cmp r1, #3 movne r2, #0 cmp r2, #0 - beq .L2710 + beq .L2667 ldrb r2, [r3, #1196] @ zero_extendqisi2 cmp r2, #0 - bne .L2710 + bne .L2667 ldrb r3, [r3, #1197] @ zero_extendqisi2 cmp r3, #0 subeq r0, r10, #1 addeq r4, r4, r4, asl #1 addeq r0, r0, r4 - beq .L2726 -.L2710: + beq .L2683 +.L2667: mov r0, r4 -.L2726: +.L2683: bl nandc_set_seed - ldr r3, .L2730+12 + ldr r3, .L2687+12 mov r1, #0 mov r0, r9 ldrb r2, [r3, #13] @ zero_extendqisi2 @@ -16056,15 +15770,15 @@ flash_complete_plane_page_read: mov r0, r9 bl nandc_de_cs mov r0, r4 -.L2702: +.L2659: add sp, sp, #8 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc} -.L2731: +.L2688: .align 2 -.L2730: +.L2687: .word .LANCHOR0 - .word .LANCHOR1+2200 + .word .LANCHOR1+2164 .word .LC0 .word .LANCHOR2 .fnend @@ -16079,12 +15793,12 @@ flash_complete_page_read: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r6, #1 - ldr r5, .L2767 + ldr r5, .L2724 .pad #20 sub sp, sp, #20 - mov r8, r0 - mov r9, r1 - mov r10, r2 + mov r9, r0 + mov r10, r1 + mov fp, r2 ldrb r7, [r5, #1189] @ zero_extendqisi2 rsb r3, r7, #24 mov r7, r6, asl r7 @@ -16097,171 +15811,169 @@ flash_complete_page_read: uxtb r7, r7 and r4, r4, r0 cmp r3, r7 - bhi .L2733 - ldr r1, .L2767+4 - movw r2, #1212 - ldr r0, .L2767+8 + bhi .L2690 + ldr r1, .L2724+4 + mov r2, #1232 + ldr r0, .L2724+8 bl printk bl dump_stack -.L2733: +.L2690: add r7, r5, r7 - ldr fp, [r5, #1040] - ldrb r7, [r7, #1180] @ zero_extendqisi2 - mov r0, r7 + ldr r3, [r5, #1040] + ldrb r8, [r7, #1180] @ zero_extendqisi2 + str r3, [sp, #12] + mov r0, r8 bl nandc_cs cmp r6, #0 - bne .L2734 + bne .L2691 mov r0, r4 bl slc_phy_page_address_calc mov r4, r0 -.L2734: - mov r2, r7, asl #8 - mov r1, #5 - add r3, fp, r2 - add fp, fp, r2 +.L2691: + ldr r7, .L2724+12 + ldrb r3, [r7, #16] @ zero_extendqisi2 + cmp r3, #3 + bne .L2692 + ldr r3, [sp, #12] + mov r2, #5 + add r3, r3, r8, asl #8 + str r2, [r3, #2056] + mov r2, #0 + str r2, [r3, #2052] + str r2, [r3, #2052] + uxtb r2, r4 + str r2, [r3, #2052] + mov r2, r4, lsr #8 + str r2, [r3, #2052] + mov r2, r4, lsr #16 + str r2, [r3, #2052] + mov r2, #224 + str r2, [r3, #2056] +.L2692: ldr r2, [r5, #1096] - str r1, [r3, #2056] - mov r1, #0 - str r1, [r3, #2052] - str r1, [r3, #2052] - ldr r1, .L2767+12 - ldrb r0, [r1, #16] @ zero_extendqisi2 - str r1, [sp, #8] - cmp r0, #3 - uxtbeq r1, r4 - streq r1, [r3, #2052] - moveq r1, r4, lsr #8 - streq r1, [r3, #2052] - moveq r1, r4, lsr #16 - streq r1, [r3, #2052] - mov r3, #224 - str r3, [fp, #2056] + ldr r3, .L2724 ldrb r1, [r2, #12] @ zero_extendqisi2 adds r2, r6, #0 - ldr r3, .L2767 movne r2, #1 cmp r1, #3 movne r2, #0 cmp r2, #0 - beq .L2736 + beq .L2693 ldrb r2, [r3, #1196] @ zero_extendqisi2 cmp r2, #0 - bne .L2736 + bne .L2693 ldrb r3, [r3, #1197] @ zero_extendqisi2 cmp r3, #0 subeq r0, r6, #1 addeq r3, r4, r4, asl #1 addeq r0, r0, r3 - beq .L2766 -.L2736: + beq .L2723 +.L2693: mov r0, r4 -.L2766: +.L2723: bl nandc_set_seed - mov r0, r7 + ldrb r2, [r7, #13] @ zero_extendqisi2 + mov r0, r8 mov r1, #0 - ldr r3, [sp, #8] - ldrb r2, [r3, #13] @ zero_extendqisi2 - mov r3, r9 - str r10, [sp] + mov r3, r10 + str fp, [sp] bl nandc_xfer cmn r0, #1 - bne .L2738 - ldrb fp, [r5, #1168] @ zero_extendqisi2 - ldr ip, .L2767 - cmp fp, #0 - beq .L2739 + bne .L2695 + ldrb ip, [r5, #1168] @ zero_extendqisi2 + cmp ip, #0 + beq .L2696 + ldr r2, .L2724 mov r3, #0 - strb r3, [ip, #1168] - ldr r3, .L2767+12 - mov r0, r7 + mov r0, r8 orr r1, r4, r6, asl #24 - mov r2, r9 str ip, [sp, #12] + strb r3, [r2, #1168] + mov r2, r10 + ldr r3, .L2724+12 ldrb r3, [r3, #13] @ zero_extendqisi2 str r3, [sp] - mov r3, r10 + mov r3, fp bl flash_read_page + ldr r3, .L2724 cmp r6, #0 ldr ip, [sp, #12] - strb fp, [ip, #1168] - bne .L2740 -.L2747: + strb ip, [r3, #1168] + bne .L2697 +.L2704: ldrb r3, [r5] @ zero_extendqisi2 cmp r3, #0 - beq .L2740 - ldr r3, .L2767 + beq .L2697 + ldr r3, .L2724 ldrb r3, [r3, #1172] @ zero_extendqisi2 add r3, r3, r3, asl #1 cmp r0, r3, asr #2 - blt .L2740 - ldr r3, [sp, #8] - ldrb r3, [r3, #23] @ zero_extendqisi2 + blt .L2697 + ldrb r3, [r7, #23] @ zero_extendqisi2 sub r3, r3, #4 cmp r3, #4 movls r0, #256 - b .L2754 -.L2740: + b .L2711 +.L2697: cmn r0, #1 - bne .L2754 -.L2748: - ldr r3, .L2767+16 - ldr ip, [r3, #-180] + bne .L2711 +.L2705: + ldr r3, .L2724+16 + ldr ip, [r3, #-108] cmp ip, #0 - bne .L2743 -.L2746: + bne .L2700 +.L2703: ldrb r3, [r5, #1168] @ zero_extendqisi2 mov r1, #0 - ldr r0, .L2767+20 - mov r2, r8 + ldr r0, .L2724+20 + mov r2, r9 str r3, [sp] mvn r3, #0 bl printk ldrb r3, [r5, #1135] @ zero_extendqisi2 cmp r3, #0 mvneq r0, #0 - beq .L2754 - ldr r3, [sp, #8] - mov r0, r7 + beq .L2711 + ldrb r3, [r7, #13] @ zero_extendqisi2 + mov r0, r8 orr r1, r4, r6, asl #24 - mov r2, r9 - ldrb r3, [r3, #13] @ zero_extendqisi2 + mov r2, r10 str r3, [sp] - mov r3, r10 + mov r3, fp bl flash_ddr_tuning_read - b .L2754 -.L2743: - ldr r3, [sp, #8] - mov r0, r7 + b .L2711 +.L2700: + ldrb r3, [r7, #13] @ zero_extendqisi2 + mov r0, r8 orr r1, r4, r6, asl #24 - mov r2, r9 - ldrb r3, [r3, #13] @ zero_extendqisi2 + mov r2, r10 str r3, [sp] - mov r3, r10 + mov r3, fp blx ip cmn r0, #1 - bne .L2754 - b .L2746 -.L2738: + bne .L2711 + b .L2703 +.L2695: cmp r6, #0 - beq .L2747 - b .L2754 -.L2739: + beq .L2704 + b .L2711 +.L2696: cmp r6, #0 - beq .L2747 - b .L2748 -.L2754: + beq .L2704 + b .L2705 +.L2711: add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2768: +.L2725: .align 2 -.L2767: +.L2724: .word .LANCHOR0 - .word .LANCHOR1+2232 + .word .LANCHOR1+2196 .word .LC0 .word .LANCHOR2 .word .LANCHOR3 - .word .LC176 + .word .LC173 .fnend .size flash_complete_page_read, .-flash_complete_page_read .align 2 @@ -16274,93 +15986,86 @@ queue_wait_first_req_completed: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #20 sub sp, sp, #20 - ldr r5, .L2866 - ldrb r4, [r5, #2775] @ zero_extendqisi2 - cmp r4, #255 - beq .L2803 - mov r3, #48 - mla r3, r3, r4, r5 - ldrb r2, [r3, #1278] @ zero_extendqisi2 - ldr r6, [r3, #1260] - sub r3, r2, #1 - cmp r3, #10 - ldrls pc, [pc, r3, asl #2] - b .L2803 -.L2773: - .word .L2772 - .word .L2774 - .word .L2775 - .word .L2775 - .word .L2775 - .word .L2775 - .word .L2776 - .word .L2777 - .word .L2778 - .word .L2775 - .word .L2778 -.L2772: - mov r0, r6 - mov r1, #64 - bl flash_wait_device_ready - tst r0, #64 - beq .L2803 - mov r3, #48 - mla r3, r3, r4, r5 - ldr r2, [r3, #1244] - ldr r1, [r3, #1240] - cmp r2, #0 - beq .L2780 - ldrb r0, [r3, #1276] @ zero_extendqisi2 - ldr r3, .L2866 - ldrb r3, [r3, #2772] @ zero_extendqisi2 - cmp r0, r3 - moveq r1, r2 -.L2780: + ldr r4, .L2816 + ldrb r5, [r4, #2775] @ zero_extendqisi2 + cmp r5, #255 + beq .L2760 + mov r7, #48 + mla r2, r7, r5, r4 + ldrb r3, [r2, #1278] @ zero_extendqisi2 + ldr r6, [r2, #1260] + sub r2, r3, #1 + cmp r2, #10 + ldrls pc, [pc, r2, asl #2] + b .L2760 +.L2730: + .word .L2729 + .word .L2731 + .word .L2732 + .word .L2732 + .word .L2732 + .word .L2732 + .word .L2733 + .word .L2734 + .word .L2735 + .word .L2732 + .word .L2735 +.L2729: + mla r7, r7, r5, r4 + bl nandc_wait_flash_ready + ldr r3, [r7, #1244] + ldr r1, [r7, #1240] + cmp r3, #0 + beq .L2736 + ldr r2, .L2816 + ldrb r0, [r7, #1276] @ zero_extendqisi2 + ldrb r2, [r2, #2772] @ zero_extendqisi2 + cmp r0, r2 + moveq r1, r3 +.L2736: mov r3, #48 mov r0, r6 - mla r5, r3, r4, r5 + mla r5, r3, r5, r4 ldr r2, [r5, #1248] bl flash_complete_page_read + mov r3, #13 + strb r3, [r5, #1278] + ldrb r3, [r5, #1238] @ zero_extendqisi2 + orr r3, r3, #8 + strb r3, [r5, #1238] str r0, [r5, #1272] - b .L2864 -.L2774: - mov r0, r6 - mov r1, #64 - bl flash_wait_device_ready - mov r2, #48 - mla r3, r2, r4, r5 - ldr ip, .L2866 - add r1, r3, #1232 - add r1, r1, #4 + b .L2760 +.L2731: + bl nandc_wait_flash_ready + mla r3, r7, r5, r4 ldrb r6, [r3, #1236] @ zero_extendqisi2 - tst r0, #64 - beq .L2803 - mla r2, r2, r6, ip - ldr r10, [r1, #4] - ldr r8, [r2, #1240] ldr r2, [r3, #1244] + ldr r10, [r3, #1240] + mla r7, r7, r6, r4 cmp r2, #0 - beq .L2781 + ldr r8, [r7, #1240] + beq .L2737 ldrb r1, [r3, #1276] @ zero_extendqisi2 - ldrb r3, [ip, #2772] @ zero_extendqisi2 + ldr r3, .L2816 + ldrb r3, [r3, #2772] @ zero_extendqisi2 cmp r1, r3 moveq r10, r2 -.L2781: +.L2737: mov r3, #48 - mla r3, r3, r6, r5 + mla r3, r3, r6, r4 ldr r2, [r3, #1244] cmp r2, #0 - beq .L2782 + beq .L2738 ldrb r1, [r3, #1276] @ zero_extendqisi2 - ldr r3, .L2866 + ldr r3, .L2816 ldrb r3, [r3, #2772] @ zero_extendqisi2 cmp r1, r3 moveq r8, r2 -.L2782: +.L2738: mov r9, #48 mov r1, r10 - mla r3, r9, r4, r5 - mla r9, r9, r6, r5 + mla r3, r9, r5, r4 + mla r9, r9, r6, r4 add fp, r3, #1232 add fp, fp, #12 ldr r2, [r3, #1248] @@ -16374,20 +16079,20 @@ queue_wait_first_req_completed: bl flash_complete_plane_page_read cmn r7, #1 mov r9, r0 - beq .L2783 + beq .L2739 ldr r3, [sp, #12] ldr r3, [r3, #1256] cmn r3, #1 - beq .L2784 + beq .L2740 ldr r2, [fp, #4] ldr r2, [r2, #4] cmp r3, r2 - beq .L2784 -.L2783: + beq .L2740 +.L2739: mov fp, #48 - ldrb r0, [r5, #1189] @ zero_extendqisi2 - mla fp, fp, r4, r5 - ldrb lr, [r5, #2772] @ zero_extendqisi2 + ldrb r0, [r4, #1189] @ zero_extendqisi2 + mla fp, fp, r5, r4 + ldrb lr, [r4, #2772] @ zero_extendqisi2 rsb r1, r0, #24 mvn r3, #0 mvn r3, r3, asl r0 @@ -16405,129 +16110,128 @@ queue_wait_first_req_completed: ldr r2, [fp, #1256] cmn r2, #1 mov r7, r0 - beq .L2785 + beq .L2741 ldr ip, [sp, #12] ldr r3, [ip, #4] ldr r1, [r3, #4] cmp r2, r1 - beq .L2785 - ldr r0, .L2866+4 + beq .L2741 + ldr r0, .L2816+4 ldr r0, [r0] tst r0, #64 - beq .L2785 + beq .L2741 str r1, [sp] - ldr r0, .L2866+8 + ldr r0, .L2816+8 ldr r1, [fp, #1260] ldr r3, [r3] bl printk -.L2785: +.L2741: mov r3, #48 - mla r3, r3, r4, r5 + mla r3, r3, r5, r4 ldr r2, [r3, #1256] cmn r2, #1 - beq .L2784 + beq .L2740 ldr r3, [r3, #1248] ldr r3, [r3, #4] cmp r2, r3 - beq .L2784 - ldr r1, .L2866+12 - movw r2, #430 - ldr r0, .L2866+16 + beq .L2740 + ldr r1, .L2816+12 + movw r2, #431 + ldr r0, .L2816+16 bl printk bl dump_stack -.L2784: +.L2740: mov r3, #48 mov r2, #13 - mla r4, r3, r4, r5 + mla r5, r3, r5, r4 cmn r9, #1 - strb r2, [r4, #1278] - ldrb r2, [r4, #1238] @ zero_extendqisi2 - str r7, [r4, #1272] + strb r2, [r5, #1278] + ldrb r2, [r5, #1238] @ zero_extendqisi2 + str r7, [r5, #1272] orr r2, r2, #8 - strb r2, [r4, #1238] - beq .L2786 - ldr r2, .L2866 + strb r2, [r5, #1238] + beq .L2742 + ldr r2, .L2816 mla r3, r3, r6, r2 ldr r2, [r3, #1256] cmn r2, #1 - beq .L2788 + beq .L2744 ldr r3, [r3, #1248] ldr r3, [r3, #4] cmp r2, r3 - beq .L2788 -.L2786: - mov r4, #48 - ldrb r0, [r5, #1189] @ zero_extendqisi2 - mla r4, r4, r6, r5 + beq .L2744 +.L2742: + mov r5, #48 + ldrb r0, [r4, #1189] @ zero_extendqisi2 + mla r5, r5, r6, r4 rsb r1, r0, #24 - ldrb ip, [r5, #2772] @ zero_extendqisi2 + ldrb ip, [r4, #2772] @ zero_extendqisi2 mvn r3, #0 mvn r3, r3, asl r0 - add r9, r4, #1232 + add r9, r5, #1232 add r9, r9, #12 - ldr r2, [r4, #1260] + ldr r2, [r5, #1260] str ip, [sp] and r0, r3, r2, lsr r1 bic r1, r2, r3, asl r1 mov r2, r8 - ldr r3, [r4, #1248] + ldr r3, [r5, #1248] uxtb r0, r0 bl flash_read_page_en - ldr r2, [r4, #1256] + ldr r2, [r5, #1256] cmn r2, #1 - beq .L2790 + beq .L2746 ldr r3, [r9, #4] ldr r1, [r3, #4] cmp r2, r1 - beq .L2790 - ldr r0, .L2866+4 + beq .L2746 + ldr r0, .L2816+4 ldr r0, [r0] tst r0, #64 - beq .L2790 + beq .L2746 str r1, [sp] - ldr r0, .L2866+8 - ldr r1, [r4, #1260] + ldr r0, .L2816+8 + ldr r1, [r5, #1260] ldr r3, [r3] bl printk -.L2790: +.L2746: mov r3, #48 - mla r3, r3, r6, r5 + mla r3, r3, r6, r4 ldr r2, [r3, #1256] cmn r2, #1 - beq .L2788 + beq .L2744 ldr r3, [r3, #1248] ldr r3, [r3, #4] cmp r2, r3 - beq .L2788 - ldr r1, .L2866+12 - movw r2, #449 - ldr r0, .L2866+16 + beq .L2744 + ldr r1, .L2816+12 + movw r2, #450 + ldr r0, .L2816+16 bl printk bl dump_stack -.L2788: +.L2744: mov r3, #48 - mla r5, r3, r6, r5 - str r7, [r5, #1272] -.L2864: + mla r4, r3, r6, r4 mov r3, #13 - strb r3, [r5, #1278] - ldrb r3, [r5, #1238] @ zero_extendqisi2 + strb r3, [r4, #1278] + ldrb r3, [r4, #1238] @ zero_extendqisi2 + str r7, [r4, #1272] orr r3, r3, #8 - strb r3, [r5, #1238] - b .L2803 -.L2775: + strb r3, [r4, #1238] + b .L2760 +.L2732: bl nandc_iqr_wait_flash_ready mov r0, r6 mov r1, #64 bl flash_wait_device_ready tst r0, #64 mov r7, r0 - beq .L2803 + beq .L2760 ands r6, r0, #5 mov r3, #48 - beq .L2791 - mla r5, r3, r4, r5 - ldr r0, .L2866+20 + beq .L2748 + mla r5, r3, r5, r4 + ldr r0, .L2816+20 mov r3, #12 mov r2, r7 mov r6, r7 @@ -16538,102 +16242,102 @@ queue_wait_first_req_completed: bl printk mvn r3, #0 str r3, [r5, #1272] - b .L2771 -.L2791: - mul r3, r3, r4 + b .L2728 +.L2748: + mul r3, r3, r5 mov r2, #13 - ldr ip, .L2866 - add r7, r5, r3 + ldr ip, .L2816 + add r7, r4, r3 strb r2, [r7, #1278] - ldr r2, [r5, #2804] + ldr r2, [r4, #2804] str r6, [r7, #1272] ldr r1, [r2, #156] - ldr r2, .L2866+24 + ldr r2, .L2816+24 cmp r1, r2 - bne .L2803 - ldr r2, .L2866+28 + bne .L2760 + ldr r2, .L2816+28 add r3, r3, r2 ldrh r3, [r3, #2] cmp r3, #0 - bne .L2803 + bne .L2760 ldrb r0, [ip, #1189] @ zero_extendqisi2 mvn r3, #0 ldr r2, [r7, #1260] rsb r1, r0, #24 - ldr r8, .L2866+32 + ldr r8, .L2816+32 ldrb ip, [ip, #2772] @ zero_extendqisi2 mvn r3, r3, asl r0 and r0, r3, r2, lsr r1 bic r1, r2, r3, asl r1 str ip, [sp] uxtb r0, r0 - ldr r3, [r8, #-172] - ldr r2, [r8, #-176] + ldr r3, [r8, #-100] + ldr r2, [r8, #-104] bl flash_read_page_en cmn r0, #1 mov r3, r0 - beq .L2792 + beq .L2749 ldr r1, [r7, #1248] - ldr r2, [r8, #-172] + ldr r2, [r8, #-100] ldr r1, [r1] ldr r2, [r2] cmp r1, r2 - beq .L2803 -.L2792: + beq .L2760 +.L2749: mov r2, #48 - ldr r0, .L2866+36 - mla r4, r2, r4, r5 - ldrb r2, [r5, #1168] @ zero_extendqisi2 - ldrb r1, [r4, #1237] @ zero_extendqisi2 + ldr r0, .L2816+36 + mla r5, r2, r5, r4 + ldrb r2, [r4, #1168] @ zero_extendqisi2 + ldrb r1, [r5, #1237] @ zero_extendqisi2 str r2, [sp] - ldr r2, [r4, #1260] + ldr r2, [r5, #1260] bl printk mvn r3, #0 - str r3, [r4, #1272] - b .L2771 -.L2778: - cmp r2, #11 - ldr r2, .L2866+40 - ldrb r3, [r5, #1189] @ zero_extendqisi2 + str r3, [r5, #1272] + b .L2728 +.L2735: + ldr r2, .L2816+40 + cmp r3, #11 mov r1, #48 + ldrb r3, [r4, #1189] @ zero_extendqisi2 mvn r7, #0 movne r9, #3 - mla ip, r1, r4, r2 + mla ip, r1, r5, r2 rsb lr, r3, #24 mvn r3, r7, asl r3 and r0, r3, r6, lsr lr moveq r9, #10 mov r10, r3 uxth r0, r0 -.L2794: +.L2751: ldrb r8, [ip] @ zero_extendqisi2 cmp r8, #255 - beq .L2865 + beq .L2815 mul r3, r1, r8 - ldr r7, .L2866 + ldr r7, .L2816 add ip, r2, r3 - add r3, r5, r3 + add r3, r4, r3 ldrb fp, [r3, #1278] @ zero_extendqisi2 cmp fp, r9 - bne .L2794 + bne .L2751 ldr r3, [r3, #1260] and r3, r10, r3, lsr lr cmp r0, r3 - bne .L2794 + bne .L2751 bl nandc_iqr_wait_flash_ready mov r0, r6 mov r1, #64 bl flash_wait_device_ready tst r0, #64 mov r6, r0 - beq .L2863 + beq .L2814 ands r2, r0, #15 mov r3, #48 - mul r3, r3, r4 - beq .L2798 + mul r3, r3, r5 + beq .L2755 add r7, r7, r3 mov r9, #12 - ldr r0, .L2866+44 + ldr r0, .L2816+44 mov r2, r6 ldrb r1, [r7, #1237] @ zero_extendqisi2 str r9, [sp] @@ -16642,26 +16346,26 @@ queue_wait_first_req_completed: mvn r3, #0 strb r9, [r7, #1278] str r3, [r7, #1272] - b .L2797 -.L2798: + b .L2754 +.L2755: add r6, r7, r3 mov r1, #13 str r2, [r6, #1272] ldr r2, [r7, #2804] strb r1, [r6, #1278] ldr r1, [r2, #156] - ldr r2, .L2866+24 + ldr r2, .L2816+24 cmp r1, r2 - bne .L2863 - ldr r2, .L2866+40 + bne .L2814 + ldr r2, .L2816+40 add r3, r2, r3 ldrh r3, [r3, #34] cmp r3, #0 - bne .L2863 + bne .L2814 ldr r2, [r6, #1260] mvn r3, #0 ldrb r0, [r7, #1189] @ zero_extendqisi2 - ldr r9, .L2866+32 + ldr r9, .L2816+32 rsb r1, r0, #24 ldrb ip, [r7, #2772] @ zero_extendqisi2 mvn r3, r3, asl r0 @@ -16669,54 +16373,54 @@ queue_wait_first_req_completed: bic r1, r2, r3, asl r1 str ip, [sp] uxtb r0, r0 - ldr r3, [r9, #-172] - ldr r2, [r9, #-176] + ldr r3, [r9, #-100] + ldr r2, [r9, #-104] bl flash_read_page_en cmn r0, #1 mov r3, r0 - beq .L2800 + beq .L2757 ldr r1, [r6, #1248] - ldr r2, [r9, #-172] + ldr r2, [r9, #-100] ldr r1, [r1] ldr r2, [r2] cmp r1, r2 - beq .L2863 -.L2800: + beq .L2814 +.L2757: mov r6, #48 - ldrb r2, [r5, #1168] @ zero_extendqisi2 - mla r6, r6, r4, r5 - ldr r0, .L2866+48 + ldrb r2, [r4, #1168] @ zero_extendqisi2 + mla r6, r6, r5, r4 + ldr r0, .L2816+48 ldrb r1, [r6, #1237] @ zero_extendqisi2 str r2, [sp] ldr r2, [r6, #1260] bl printk mvn r3, #0 str r3, [r6, #1272] -.L2863: +.L2814: mov r6, #0 -.L2797: +.L2754: mov r3, #48 - mla r4, r3, r4, r5 - mla r5, r3, r8, r5 - ldrb r2, [r4, #1278] @ zero_extendqisi2 - ldr r3, [r4, #1272] - strb r2, [r5, #1278] - str r3, [r5, #1272] - b .L2771 -.L2865: + mla r5, r3, r5, r4 + mla r4, r3, r8, r4 + ldrb r2, [r5, #1278] @ zero_extendqisi2 + ldr r3, [r5, #1272] + strb r2, [r4, #1278] + str r3, [r4, #1272] + b .L2728 +.L2815: mvn r6, #0 - b .L2771 -.L2776: + b .L2728 +.L2733: mov r0, r6 mov r1, #32 bl flash_wait_device_ready tst r0, #32 - beq .L2803 + beq .L2760 ands r6, r0, #15 mov r3, #48 - mlaeq r5, r3, r4, r5 + mlaeq r5, r3, r5, r4 movne r2, #12 - mlane r3, r3, r4, r5 + mlane r3, r3, r5, r4 moveq r3, #13 movne r6, r0 streqb r3, [r5, #1278] @@ -16724,40 +16428,40 @@ queue_wait_first_req_completed: strneb r2, [r3, #1278] mvnne r2, #0 strne r2, [r3, #1272] - b .L2771 -.L2777: + b .L2728 +.L2734: mov r0, r6 mov r1, #64 bl flash_wait_device_ready tst r0, #64 movne r3, #48 - mlane r5, r3, r4, r5 + mlane r5, r3, r5, r4 movne r3, #7 strne r0, [r5, #1272] strneb r3, [r5, #1278] -.L2803: +.L2760: mov r6, #0 -.L2771: +.L2728: mov r0, r6 add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2867: +.L2817: .align 2 -.L2866: +.L2816: .word .LANCHOR0 .word .LANCHOR2 - .word .LC177 - .word .LANCHOR1+2260 + .word .LC174 + .word .LANCHOR1+2224 .word .LC0 - .word .LC178 + .word .LC175 .word 1145785929 .word .LANCHOR0+1268 .word .LANCHOR3 - .word .LC179 + .word .LC176 .word .LANCHOR0+1236 - .word .LC180 - .word .LC181 + .word .LC177 + .word .LC178 .fnend .size queue_wait_first_req_completed, .-queue_wait_first_req_completed .align 2 @@ -16774,48 +16478,48 @@ sblk_prog_page: ldrh r3, [r0, #34] mov r5, r1 cmp r3, #0 - beq .L2869 - ldr r3, .L2900 + beq .L2819 + ldr r3, .L2850 ldr r3, [r3] tst r3, #256 - beq .L2869 - ldr r0, .L2900+4 + beq .L2819 + ldr r0, .L2850+4 mov r2, r5 ldr r1, [r4, #24] bl printk -.L2869: - ldr r8, .L2900+8 +.L2819: + ldr r8, .L2850+8 mov r6, #0 mov r9, r8 -.L2870: +.L2820: cmp r5, #0 - beq .L2897 + beq .L2847 ldrb r3, [r4] @ zero_extendqisi2 ldr r7, [r4, #24] str r3, [sp, #4] -.L2871: +.L2821: mov r0, r7 mov r1, #1 bl queue_lun_state cmp r0, #0 - beq .L2899 + beq .L2849 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2871 -.L2899: + b .L2821 +.L2849: cmp r5, #1 - beq .L2873 + beq .L2823 ldrb r3, [r8, #1233] @ zero_extendqisi2 cmp r3, #0 - beq .L2873 + beq .L2823 ldrb r3, [r8, #1197] @ zero_extendqisi2 cmp r3, #0 - beq .L2874 -.L2873: + beq .L2824 +.L2823: mov r0, r4 bl queue_prog_cmd - b .L2875 -.L2874: + b .L2825 +.L2824: ldrb r3, [r8, #1189] @ zero_extendqisi2 mvn fp, #0 rsb ip, r3, #24 @@ -16824,13 +16528,13 @@ sblk_prog_page: ldrb r3, [r4] @ zero_extendqisi2 cmp r3, #255 uxth fp, fp - bne .L2876 - ldr r1, .L2900+12 - mov r2, #696 - ldr r0, .L2900+16 + bne .L2826 + ldr r1, .L2850+12 + movw r2, #697 + ldr r0, .L2850+16 bl printk bl dump_stack -.L2876: +.L2826: ldrb r3, [r4] @ zero_extendqisi2 mov r2, #48 mov r10, #1 @@ -16843,15 +16547,15 @@ sblk_prog_page: and r2, r2, ip, lsr r3 uxth r2, r2 cmp fp, r2 - bne .L2877 - ldr r2, .L2900+20 + bne .L2827 + ldr r2, .L2850+20 ldrh fp, [r2] - ldr r2, .L2900+24 + ldr r2, .L2850+24 rsb r3, fp, r3 mov r0, r10, asl fp mov r3, r10, asl r3 sub r0, r0, #1 - ldrb lr, [r2, #-3202] @ zero_extendqisi2 + ldrb lr, [r2, #-3130] @ zero_extendqisi2 sub r3, r3, #1 uxth r0, r0 sub lr, lr, #1 @@ -16868,9 +16572,9 @@ sblk_prog_page: cmp r7, ip movne fp, #0 cmp fp, #0 - beq .L2878 + beq .L2828 cmp r6, lr - beq .L2877 + beq .L2827 mov r0, #17 ldr r1, [r4, #24] ldr r2, [r4, #4] @@ -16882,40 +16586,40 @@ sblk_prog_page: mov r1, r4 strb r3, [r4, #42] mvn r3, #0 - ldr r0, .L2900+28 + ldr r0, .L2850+28 strb r3, [r4] bl buf_add_tail - b .L2875 -.L2878: + b .L2825 +.L2828: mov r0, r4 mov r6, fp bl queue_prog_cmd - b .L2875 -.L2877: + b .L2825 +.L2827: mov r0, r4 mov r6, #0 bl queue_prog_cmd -.L2875: +.L2825: subs r5, r5, #1 - ldrne r3, .L2900+32 + ldrne r3, .L2850+32 movne r4, #48 ldrne r2, [sp, #4] mlane r4, r4, r2, r3 - bne .L2870 -.L2897: + bne .L2820 +.L2847: mov r0, #0 add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2901: +.L2851: .align 2 -.L2900: +.L2850: .word .LANCHOR2 - .word .LC182 + .word .LC179 .word .LANCHOR0 - .word .LANCHOR1+2292 + .word .LANCHOR1+2256 .word .LC0 - .word .LANCHOR3-3204 + .word .LANCHOR3-3132 .word .LANCHOR3 .word .LANCHOR0+2775 .word .LANCHOR0+1236 @@ -16930,19 +16634,19 @@ sblk_wait_write_queue_completed: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, lr} .save {r4, lr} - ldr r4, .L2907 -.L2903: + ldr r4, .L2857 +.L2853: ldrb r3, [r4, #2775] @ zero_extendqisi2 cmp r3, #255 - beq .L2906 + beq .L2856 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2903 -.L2906: + b .L2853 +.L2856: ldmfd sp!, {r4, pc} -.L2908: +.L2858: .align 2 -.L2907: +.L2857: .word .LANCHOR0 .fnend .size sblk_wait_write_queue_completed, .-sblk_wait_write_queue_completed @@ -16955,20 +16659,20 @@ ftl_flush: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} - ldr r3, .L2915 - ldr r5, .L2915+4 + ldr r3, .L2865 + ldr r5, .L2865+4 ldrb r1, [r3, #2801] @ zero_extendqisi2 mov r4, r3 cmp r1, #0 - beq .L2910 - ldrb r2, [r5, #-168] @ zero_extendqisi2 + beq .L2860 + ldrb r2, [r5, #-96] @ zero_extendqisi2 mov r0, #48 - ldr r3, .L2915+8 + ldr r3, .L2865+8 mla r0, r0, r2, r3 bl sblk_prog_page -.L2910: +.L2860: mvn r3, #0 - strb r3, [r5, #-168] + strb r3, [r5, #-96] mov r3, #0 strb r3, [r4, #2801] bl sblk_wait_write_queue_completed @@ -16976,9 +16680,9 @@ ftl_flush: movw r0, #65535 ldmfd sp!, {r3, r4, r5, lr} b ftl_vpn_decrement -.L2916: +.L2866: .align 2 -.L2915: +.L2865: .word .LANCHOR0 .word .LANCHOR3 .word .LANCHOR0+1236 @@ -16993,21 +16697,21 @@ zftl_cache_flush: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, lr} .save {r3, lr} - ldr r3, .L2922 + ldr r3, .L2872 ldrb r3, [r3, #2801] @ zero_extendqisi2 cmp r3, #0 ldmeqfd sp!, {r3, pc} bl timer_get_time - ldr r3, .L2922+4 - ldr r3, [r3, #-164] + ldr r3, .L2872+4 + ldr r3, [r3, #-92] add r3, r3, #100 cmp r0, r3 ldmlsfd sp!, {r3, pc} ldmfd sp!, {r3, lr} b ftl_flush -.L2923: +.L2873: .align 2 -.L2922: +.L2872: .word .LANCHOR0 .word .LANCHOR3 .fnend @@ -17047,7 +16751,7 @@ ftl_read_ppa_page: .save {r4, r5, r6, r7, r8, lr} .pad #8 mov r8, r3 - ldr r3, .L2928 + ldr r3, .L2878 mov r7, r1 mov r6, r2 mvn r2, #0 @@ -17067,9 +16771,9 @@ ftl_read_ppa_page: add sp, sp, #8 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L2929: +.L2879: .align 2 -.L2928: +.L2878: .word .LANCHOR0 .fnend .size ftl_read_ppa_page, .-ftl_read_ppa_page @@ -17084,33 +16788,33 @@ sblk_read_page: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #20 sub sp, sp, #20 - ldr r10, .L2958 + ldr r10, .L2908 mov r8, r0 mov r6, r1 mov r4, r0 mov r5, r1 -.L2931: +.L2881: cmp r5, #0 - beq .L2954 + beq .L2904 ldrb fp, [r4] @ zero_extendqisi2 ldr r9, [r4, #24] -.L2932: +.L2882: mov r0, r9 mov r1, #0 bl queue_lun_state cmp r0, #0 - beq .L2956 + beq .L2906 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2932 -.L2956: + b .L2882 +.L2906: cmp r5, #1 - beq .L2938 - ldr r3, .L2958+4 - ldrb r3, [r3, #-160] @ zero_extendqisi2 + beq .L2888 + ldr r3, .L2908+4 + ldrb r3, [r3, #-88] @ zero_extendqisi2 cmp r3, #0 - beq .L2938 - ldr r3, .L2958 + beq .L2888 + ldr r3, .L2908 mvn lr, #0 ldrb r2, [r3, #1189] @ zero_extendqisi2 rsb r3, r2, #24 @@ -17120,13 +16824,13 @@ sblk_read_page: str r3, [sp, #4] ldrb r3, [r4] @ zero_extendqisi2 cmp r3, #255 - bne .L2937 - ldr r1, .L2958+8 - movw r2, #781 - ldr r0, .L2958+12 + bne .L2887 + ldr r1, .L2908+8 + movw r2, #782 + ldr r0, .L2908+12 bl printk bl dump_stack -.L2937: +.L2887: ldrb r3, [r4] @ zero_extendqisi2 mov r2, #48 ldrb r0, [r10, #1189] @ zero_extendqisi2 @@ -17140,12 +16844,12 @@ sblk_read_page: ldr r0, [sp, #4] uxth r2, r2 cmp r0, r2 - bne .L2938 - ldr r2, .L2958+16 + bne .L2888 + ldr r2, .L2908+16 ldrh r2, [r2] add r9, r2, r9 cmp r1, r9 - bne .L2938 + bne .L2888 ldr r0, [r4, #24] mvn r9, #0 str r3, [sp, #12] @@ -17157,14 +16861,14 @@ sblk_read_page: strb ip, [r4, #42] mov r1, r4 strb r2, [r4, #43] - ldr r0, .L2958+20 + ldr r0, .L2908+20 strb r9, [r4] str ip, [sp, #8] str r2, [sp, #4] bl buf_add_tail - ldr r1, .L2958+24 + ldr r1, .L2908+24 strb r9, [r7, #1236] - ldr r0, .L2958+20 + ldr r0, .L2908+20 ldr ip, [sp, #8] ldr r2, [sp, #4] ldr r3, [sp, #12] @@ -17172,46 +16876,46 @@ sblk_read_page: strb r2, [r7, #1279] add r1, r1, r3 bl buf_add_tail - b .L2936 -.L2938: + b .L2886 +.L2888: mov r0, r4 bl queue_read_cmd -.L2936: +.L2886: subs r5, r5, #1 - ldrne r3, .L2958+24 + ldrne r3, .L2908+24 movne r4, #48 mlane r4, r4, fp, r3 - bne .L2931 -.L2954: - ldr r4, .L2958+24 + bne .L2881 +.L2904: + ldr r4, .L2908+24 mov r5, #48 -.L2942: +.L2892: cmp r6, #0 - beq .L2957 + beq .L2907 ldrb r3, [r8, #42] @ zero_extendqisi2 cmp r3, #13 - bne .L2943 + bne .L2893 ldrb r3, [r8] @ zero_extendqisi2 sub r6, r6, #1 cmp r3, #255 mlane r8, r5, r3, r4 -.L2943: +.L2893: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2942 -.L2957: + b .L2892 +.L2907: mov r0, r6 add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2959: +.L2909: .align 2 -.L2958: +.L2908: .word .LANCHOR0 .word .LANCHOR3 - .word .LANCHOR1+2308 + .word .LANCHOR1+2272 .word .LC0 - .word .LANCHOR3-3142 + .word .LANCHOR3-3066 .word .LANCHOR0+2775 .word .LANCHOR0+1236 .fnend @@ -17227,64 +16931,64 @@ gc_check_data_one_wl: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #36 sub sp, sp, #36 - ldr r6, .L2996 + ldr r6, .L2946 ldr r3, [r6, #2836] ldr r9, [r6, #1092] cmp r3, #0 - bne .L2961 + bne .L2911 mov r0, #1 bl buf_alloc str r0, [r6, #2836] -.L2961: +.L2911: ldr r4, [r6, #2836] cmp r4, #0 - bne .L2962 - ldr r1, .L2996+4 + bne .L2912 + ldr r1, .L2946+4 movw r2, #729 - ldr r0, .L2996+8 + ldr r0, .L2946+8 bl printk bl dump_stack -.L2962: - ldr fp, .L2996+12 +.L2912: + ldr fp, .L2946+12 add r10, r9, #96 mov r8, #0 mov ip, fp -.L2963: +.L2913: ldrb r3, [r9, #89] @ zero_extendqisi2 - ldr r5, .L2996+16 + ldr r5, .L2946+16 cmp r8, r3 - bge .L2994 + bge .L2944 mov r7, #1 -.L2974: +.L2924: ldrh r3, [r5, #16] cmp r7, r3 - bgt .L2995 - ldr r2, .L2996+20 - ldrb r1, [fp, #-3196] @ zero_extendqisi2 + bgt .L2945 + ldr r2, .L2946+20 + ldrb r1, [fp, #-3124] @ zero_extendqisi2 ldrh r3, [r10] ldrh r2, [r2] cmp r1, #2 mul r2, r2, r3 - beq .L2964 - ldr r3, .L2996 + beq .L2914 + ldr r3, .L2946 ldrb r3, [r3, #1196] @ zero_extendqisi2 cmp r3, #0 - beq .L2965 -.L2964: + beq .L2915 +.L2914: ldrh r3, [r5, #12] sub r3, r3, #1 add r3, r3, r2 add r3, r3, r7 orr r3, r3, r1, asl #24 - b .L2993 -.L2965: - ldr r3, .L2996+16 + b .L2943 +.L2915: + ldr r3, .L2946+16 cmp r1, #3 ldrh r3, [r3, #12] addne r2, r2, r3 strne r2, [r4, #24] - bne .L2966 - ldr r1, .L2996 + bne .L2916 + ldr r1, .L2946 ldrb r1, [r1, #1197] @ zero_extendqisi2 cmp r1, #0 addne r3, r3, r3, asl #1 @@ -17294,9 +16998,9 @@ gc_check_data_one_wl: addne r3, r3, r2 addne r3, r3, r7 orrne r3, r3, #50331648 -.L2993: +.L2943: str r3, [r4, #24] -.L2966: +.L2916: mov r0, r4 mov r1, #1 str ip, [sp, #28] @@ -17304,33 +17008,33 @@ gc_check_data_one_wl: ldr r2, [r4, #36] cmn r2, #1 ldr ip, [sp, #28] - beq .L2969 - ldr r0, [ip, #-244] + beq .L2919 + ldr r0, [ip, #-172] ldrh r1, [r5, #18] ldr r3, [r4, #12] ldr lr, [r0, r1, asl #2] ldr r0, [r3, #4] cmp lr, r0 - bne .L2969 - ldr r0, [fp, #-240] + bne .L2919 + ldr r0, [fp, #-168] ldr r3, [r3, #8] ldr r1, [r0, r1, asl #2] cmp r1, r3 - beq .L2970 -.L2969: + beq .L2920 +.L2919: ldrh r3, [r5, #18] - ldr r1, [ip, #-244] + ldr r1, [ip, #-172] mov r0, r3, asl #2 ldr r3, [r1, r3, asl #2] cmn r3, #1 - beq .L2970 - ldr r1, .L2996+24 + beq .L2920 + ldr r1, .L2946+24 ldr r1, [r1] tst r1, #1024 - beq .L2971 - ldr ip, .L2996+12 + beq .L2921 + ldr ip, .L2946+12 ldr r1, [r4, #12] - ldr ip, [ip, #-240] + ldr ip, [ip, #-168] ldr r0, [ip, r0] str r0, [sp] ldr r0, [r1] @@ -17340,11 +17044,11 @@ gc_check_data_one_wl: ldr r0, [r1, #8] str r0, [sp, #12] ldr r1, [r1, #12] - ldr r0, .L2996+28 + ldr r0, .L2946+28 str r1, [sp, #16] ldr r1, [r4, #24] bl printk -.L2971: +.L2921: ldrh r3, [r9, #80] mov r1, #0 ldr r2, [r6, #1088] @@ -17356,58 +17060,58 @@ gc_check_data_one_wl: str r3, [r2, #556] ldr r3, [r6, #2804] ldr r2, [r3, #156] - ldr r3, .L2996+32 + ldr r3, .L2946+32 cmp r2, r3 - bne .L2977 - ldr r3, .L2996+12 - ldrb r3, [r3, #-2612] @ zero_extendqisi2 + bne .L2927 + ldr r3, .L2946+12 + ldrb r3, [r3, #-2536] @ zero_extendqisi2 cmp r3, r1 - bne .L2977 - ldr r3, .L2996+12 - ldrb r3, [r3, #-3194] @ zero_extendqisi2 + bne .L2927 + ldr r3, .L2946+12 + ldrb r3, [r3, #-3122] @ zero_extendqisi2 cmp r3, r1 - bne .L2977 + bne .L2927 ldr r0, [r4, #24] bl ftl_mask_bad_block - b .L2977 -.L2970: + b .L2927 +.L2920: ldrh r3, [r5, #18] add r7, r7, #1 add r3, r3, #1 strh r3, [r5, #18] @ movhi - b .L2974 -.L2995: + b .L2924 +.L2945: add r8, r8, #1 add r10, r10, #2 - b .L2963 -.L2994: + b .L2913 +.L2944: ldrh r3, [r5, #12] add r2, r3, #1 strh r2, [r5, #12] @ movhi - ldr r2, .L2996+12 - ldrb r0, [r2, #-3194] @ zero_extendqisi2 + ldr r2, .L2946+12 + ldrb r0, [r2, #-3122] @ zero_extendqisi2 cmp r0, #0 addne r3, r3, #2 strneh r3, [r5, #12] @ movhi movne r0, #0 - b .L2972 -.L2977: + b .L2922 +.L2927: mvn r0, #0 -.L2972: +.L2922: add sp, sp, #36 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L2997: +.L2947: .align 2 -.L2996: +.L2946: .word .LANCHOR0 - .word .LANCHOR1+2324 + .word .LANCHOR1+2288 .word .LC0 .word .LANCHOR3 .word .LANCHOR0+2828 - .word .LANCHOR3-3142 + .word .LANCHOR3-3066 .word .LANCHOR2 - .word .LC183 + .word .LC180 .word 1145785929 .fnend .size gc_check_data_one_wl, .-gc_check_data_one_wl @@ -17423,16 +17127,16 @@ sblk_tlc_prog_one_page: mov r4, r0 ldr r3, [r0] ldr r6, [r3, #24] -.L2999: +.L2949: mov r0, r6 mov r1, #1 bl queue_lun_state subs r5, r0, #0 - beq .L3002 + beq .L2952 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2999 -.L3002: + b .L2949 +.L2952: mov r0, r4 mov r1, #1 bl queue_tlc_prog_cmd @@ -17456,24 +17160,24 @@ sblk_xlc_prog_pages: mov r7, r1 mov r10, r2 ldr r4, [r3, #24] -.L3004: +.L2954: mov r0, r4 mov r1, #1 bl queue_lun_state subs r9, r0, #0 - beq .L3016 + beq .L2966 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L3004 -.L3016: + b .L2954 +.L2966: cmp r10, #2 - bne .L3006 - ldr r2, .L3018 + bne .L2956 + ldr r2, .L2968 ldr lr, [r7] ldrb r3, [r2, #1233] @ zero_extendqisi2 cmp r3, #0 ldreq r4, [lr, #24] - beq .L3011 + beq .L2961 ldr r3, [r5] mov fp, #1 ldrb r4, [r2, #1189] @ zero_extendqisi2 @@ -17490,7 +17194,7 @@ sblk_xlc_prog_pages: and r8, ip, r0 and r6, r6, ip uxtb r4, r4 - beq .L3008 + beq .L2958 mov r0, r4 bl zftl_flash_exit_slc_mode ldr r3, [r5] @@ -17568,8 +17272,8 @@ sblk_xlc_prog_pages: str r3, [sp, #8] mov r3, r4 bl flash_start_one_pass_page_prog - b .L3009 -.L3008: + b .L2959 +.L2958: ldrb r0, [r3, #44] @ zero_extendqisi2 mov r1, fp str r8, [sp] @@ -17644,54 +17348,54 @@ sblk_xlc_prog_pages: str r3, [sp, #8] mov r3, r4 bl flash_start_tlc_page_prog -.L3009: +.L2959: ldr r1, [r5] mov r3, #5 - ldr r0, .L3018+4 + ldr r0, .L2968+4 strb r3, [r1, #42] mov r3, #1 strb r3, [r1, #43] mvn r3, #0 strb r3, [r1] bl buf_add_tail - b .L3010 -.L3011: + b .L2960 +.L2961: mov r0, r4 mov r1, #1 bl queue_lun_state subs r6, r0, #0 - beq .L3017 + beq .L2967 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L3011 -.L3017: + b .L2961 +.L2967: mov r0, r5 mov r1, #1 bl queue_tlc_prog_cmd mov r0, r7 mov r1, r6 bl queue_tlc_prog_cmd -.L3013: +.L2963: mov r0, r4 mov r1, #1 bl queue_lun_state cmp r0, #0 - beq .L3010 + beq .L2960 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L3013 -.L3006: + b .L2963 +.L2956: mov r0, r5 mov r1, #1 bl queue_tlc_prog_cmd -.L3010: +.L2960: mov r0, #0 add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3019: +.L2969: .align 2 -.L3018: +.L2968: .word .LANCHOR0 .word .LANCHOR0+2775 .fnend @@ -17707,24 +17411,24 @@ sblk_3d_mlc_prog_pages: .save {r4, r5, r6, r7, r8, r9, lr} .pad #12 add r5, r0, #8 - ldr r9, .L3028 + ldr r9, .L2978 mov r7, r1 mov r8, #1 -.L3021: +.L2971: cmp r7, #0 - beq .L3026 + beq .L2976 ldr r3, [r5, #-8] ldr r4, [r3, #24] -.L3022: +.L2972: mov r0, r4 mov r1, #1 bl queue_lun_state cmp r0, #0 - beq .L3027 + beq .L2977 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L3022 -.L3027: + b .L2972 +.L2977: ldr r3, [r5, #-8] sub r7, r7, #1 ldrb r4, [r9, #1189] @ zero_extendqisi2 @@ -17761,21 +17465,21 @@ sblk_3d_mlc_prog_pages: bl nandc_de_cs ldr r1, [r5, #-16] mov r3, #4 - ldr r0, .L3028+4 + ldr r0, .L2978+4 strb r3, [r1, #42] mvn r3, #0 strb r8, [r1, #43] strb r3, [r1] bl buf_add_tail - b .L3021 -.L3026: + b .L2971 +.L2976: mov r0, r7 add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc} -.L3029: +.L2979: .align 2 -.L3028: +.L2978: .word .LANCHOR0 .word .LANCHOR0+2775 .fnend @@ -17792,7 +17496,7 @@ flash_prog_page_en: .pad #28 sub sp, sp, #28 mov r8, r3 - ldr r6, .L3060 + ldr r6, .L3010 ldrb r3, [sp, #68] @ zero_extendqisi2 mov r7, r0 mov r5, r1 @@ -17801,58 +17505,58 @@ flash_prog_page_en: str r3, [sp, #16] ldrb r3, [r6, #1101] @ zero_extendqisi2 cmp r3, r0 - bhi .L3031 - ldr r1, .L3060+4 - movw r2, #635 - ldr r0, .L3060+8 + bhi .L2981 + ldr r1, .L3010+4 + movw r2, #642 + ldr r0, .L3010+8 bl printk bl dump_stack -.L3031: +.L2981: ldrb r2, [r6, #1101] @ zero_extendqisi2 - ldr r3, .L3060 + ldr r3, .L3010 cmp r2, r7 mvnls r0, #0 - bls .L3032 + bls .L2982 add r2, r3, r7 cmp r4, #0 ldrb r10, [r2, #1180] @ zero_extendqisi2 - bne .L3044 + bne .L2994 ldrb r2, [r3] @ zero_extendqisi2 cmp r2, #0 - beq .L3034 + beq .L2984 ldrb r3, [r3, #1] @ zero_extendqisi2 cmp r3, #0 - beq .L3044 -.L3034: + beq .L2994 +.L2984: ldrh fp, [r6, #2] mov r0, r5 mov r1, fp bl __aeabi_uidiv ldrb r3, [r6, #1] @ zero_extendqisi2 cmp r3, #0 - ldreq r3, .L3060 + ldreq r3, .L3010 mul r0, fp, r0 rsb r4, r0, r5 mov r4, r4, asl #1 addeq r4, r3, r4 ldreqh r4, [r4, #4] add r4, r4, r0 - b .L3033 -.L3044: + b .L2983 +.L2994: mov r4, r5 -.L3033: - ldr fp, .L3060+12 - ldr r6, .L3060+16 -.L3039: +.L2983: + ldr fp, .L3010+12 + ldr r6, .L3010+16 +.L2989: ldr r3, [fp] tst r3, #16 - beq .L3036 - ldr r0, .L3060+20 + beq .L2986 + ldr r0, .L3010+20 mov r1, r10 mov r2, r5 mov r3, r4 bl printk -.L3036: +.L2986: ldr r3, [sp, #64] mov r0, r10 mov r1, r4 @@ -17863,14 +17567,14 @@ flash_prog_page_en: ldr r3, [sp, #16] mov ip, r0 cmp r3, #0 - beq .L3037 + beq .L2987 ldr r3, [sp, #64] mov r1, r5 str r0, [sp, #20] mov r0, r7 str r3, [sp] - ldr r3, [r6, #-172] - ldr r2, [r6, #-176] + ldr r3, [r6, #-100] + ldr r2, [r6, #-104] bl flash_read_page_en sub r3, r0, #512 cmp r0, #512 @@ -17878,76 +17582,76 @@ flash_prog_page_en: clz r3, r3 mov r3, r3, lsr #5 str r3, [sp, #12] - beq .L3038 - ldr r3, [r6, #-176] + beq .L2988 + ldr r3, [r6, #-104] ldr r2, [r9] ldr ip, [sp, #20] ldr r3, [r3] cmp r2, r3 - bne .L3038 - ldr r3, [r6, #-172] + bne .L2988 + ldr r3, [r6, #-100] ldr r2, [r8] ldr r3, [r3] cmp r2, r3 - beq .L3037 -.L3038: + beq .L2987 +.L2988: mov r2, #4 - ldr r0, .L3060+24 + ldr r0, .L3010+24 mov r3, r2 mov r1, r9 bl rknand_print_hex mov r2, #4 mov r3, r2 - ldr r0, .L3060+28 + ldr r0, .L3010+28 mov r1, r8 bl rknand_print_hex mov r2, #4 mov r3, r2 - ldr r0, .L3060+32 - ldr r1, [r6, #-172] + ldr r0, .L3010+32 + ldr r1, [r6, #-100] bl rknand_print_hex mov r2, #4 mov r3, r2 - ldr r0, .L3060+36 - ldr r1, [r6, #-176] + ldr r0, .L3010+36 + ldr r1, [r6, #-104] bl rknand_print_hex ldr r3, [sp, #12] cmp r3, #0 - bne .L3039 -.L3041: + bne .L2989 +.L2991: mov r1, r5 - ldr r0, .L3060+40 + ldr r0, .L3010+40 bl printk - ldr r1, .L3060+4 - movw r2, #678 - ldr r0, .L3060+8 + ldr r1, .L3010+4 + movw r2, #685 + ldr r0, .L3010+8 bl printk bl dump_stack mvn ip, #0 - b .L3040 -.L3037: + b .L2990 +.L2987: cmn ip, #1 - beq .L3041 -.L3040: + beq .L2991 +.L2990: mov r0, ip -.L3032: +.L2982: add sp, sp, #28 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3061: +.L3011: .align 2 -.L3060: +.L3010: .word .LANCHOR0 - .word .LANCHOR1+2348 + .word .LANCHOR1+2312 .word .LC0 .word .LANCHOR2 .word .LANCHOR3 + .word .LC181 + .word .LC182 + .word .LC183 .word .LC184 .word .LC185 .word .LC186 - .word .LC187 - .word .LC188 - .word .LC189 .fnend .size flash_prog_page_en, .-flash_prog_page_en .align 2 @@ -17976,26 +17680,26 @@ ftl_prog_page: bl flash_prog_page_en cmn r0, #1 mov r4, r0 - bne .L3063 - ldr r1, .L3065 - movw r2, #2670 - ldr r0, .L3065+4 + bne .L3013 + ldr r1, .L3015 + movw r2, #2678 + ldr r0, .L3015+4 bl printk bl dump_stack - ldr r0, .L3065+8 + ldr r0, .L3015+8 mov r1, r5 bl printk -.L3063: +.L3013: mov r0, r4 add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, pc} -.L3066: +.L3016: .align 2 -.L3065: - .word .LANCHOR1+2368 +.L3015: + .word .LANCHOR1+2332 .word .LC0 - .word .LC189 + .word .LC186 .fnend .size ftl_prog_page, .-ftl_prog_page .align 2 @@ -18008,65 +17712,65 @@ ftl_info_flush: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r1, #0 - ldr r6, .L3105 + ldr r6, .L3052 .pad #20 sub sp, sp, #20 mov r10, r0 - ldr r0, .L3105+4 - ldr r4, .L3105+8 + ldr r0, .L3052+4 + ldr r4, .L3052+8 mov r8, #0 ldrb r2, [r6, #2772] @ zero_extendqisi2 - ldr r9, .L3105+12 + ldr r9, .L3052+12 mov r7, r4 mov r2, r2, asl #1 bl ftl_memset ldr r3, [r6, #2804] ldrh r2, [r3, #74] - cmp r2, #0 - movne r2, #0 - strneh r2, [r3, #150] @ movhi -.L3079: - ldrh r3, [r4, #138] + cmp r2, #1 + movhi r2, #0 + strhih r2, [r3, #150] @ movhi +.L3029: + ldrh r3, [r4, #202] ldr r2, [r6, #2804] ldrb r1, [r6, #2772] @ zero_extendqisi2 str r3, [sp, #12] ldr r3, [r2, #4] - ldr r0, [r4, #140] + ldr r0, [r4, #204] mov r1, r1, asl #9 add r3, r3, #1 str r3, [r2, #4] - ldrb r5, [r4, #136] @ zero_extendqisi2 - str r3, [r4, #-116] + ldrb r5, [r4, #200] @ zero_extendqisi2 + str r3, [r4, #-52] ldrh fp, [r9] - str r10, [r4, #-120] + str r10, [r4, #-56] bl js_hash - ldr r3, .L3105+16 + ldr r3, .L3052+16 ldr r3, [r3] tst r3, #4096 - str r0, [r4, #-112] - beq .L3069 - ldr r3, .L3105 - ldr r0, .L3105+20 - ldrb r1, [r4, #136] @ zero_extendqisi2 + str r0, [r4, #-48] + beq .L3019 + ldr r3, .L3052 + ldr r0, .L3052+20 + ldrb r1, [r4, #200] @ zero_extendqisi2 ldr r3, [r3, #2804] - ldrh r2, [r4, #138] + ldrh r2, [r4, #202] ldr r3, [r3, #4] bl printk -.L3069: - ldr r3, .L3105+24 - ldrh r0, [r7, #138] +.L3019: + ldr r3, .L3052+24 + ldrh r0, [r7, #202] ldrh r3, [r3] cmp r3, r0 - bhi .L3070 -.L3075: - ldrb r3, [r7, #137] @ zero_extendqisi2 + bhi .L3020 +.L3025: + ldrb r3, [r7, #201] @ zero_extendqisi2 add r3, r3, #1 uxtb r3, r3 - strb r3, [r7, #137] + strb r3, [r7, #201] cmp r3, #7 - bls .L3071 + bls .L3021 mov r3, #8 -.L3074: +.L3024: ldr r2, [r6, #1176] sub r5, r3, #8 add r2, r2, r3 @@ -18075,138 +17779,138 @@ ftl_info_flush: add r2, r1, #127 uxtb r2, r2 cmp r2, #125 - bhi .L3072 - ldr r1, .L3105+28 - movw r2, #841 - ldr r0, .L3105+32 + bhi .L3022 + ldr r1, .L3052+28 + movw r2, #846 + ldr r0, .L3052+32 bl printk bl dump_stack - b .L3073 -.L3072: + b .L3023 +.L3022: cmp r1, #255 - bne .L3073 + bne .L3023 add r3, r3, #1 cmp r3, #16 - bne .L3074 + bne .L3024 mov r5, #8 -.L3073: +.L3023: mov r8, #1 - strb r5, [r7, #137] -.L3071: + strb r5, [r7, #201] +.L3021: ldr r3, [r6, #1176] - ldrb r2, [r7, #137] @ zero_extendqisi2 + ldrb r2, [r7, #201] @ zero_extendqisi2 add r3, r3, r2 ldrb r3, [r3, #40] @ zero_extendqisi2 cmp r3, #255 - strb r3, [r7, #136] - beq .L3075 + strb r3, [r7, #200] + beq .L3025 ldrh r5, [r9] mov r0, #0 mul r5, r5, r3 mov r1, r5 bl flash_erase_block - ldr r3, .L3105 + ldr r3, .L3052 mov r1, r5 mov r0, #0 ldrb r3, [r3, #2772] @ zero_extendqisi2 str r3, [sp] - ldr r3, .L3105+4 - ldr r2, [r4, #140] + ldr r3, .L3052+4 + ldr r2, [r4, #204] bl ftl_prog_page mov r3, #1 - strh r3, [r4, #138] @ movhi + strh r3, [r4, #202] @ movhi add r5, r5, r3 - b .L3076 -.L3070: + b .L3026 +.L3020: ldr r3, [sp, #12] cmp r0, #0 mla r5, fp, r5, r3 - bne .L3076 + bne .L3026 mov r1, r5 bl flash_erase_block -.L3076: +.L3026: ldrb r3, [r6, #2772] @ zero_extendqisi2 mov r0, #0 - ldr fp, .L3105+8 + ldr fp, .L3052+8 mov r1, r5 str r3, [sp] - sub r3, fp, #120 - ldr r2, [r7, #140] + sub r3, fp, #56 + ldr r2, [r7, #204] bl ftl_prog_page - ldrh r3, [r7, #138] + ldrh r3, [r7, #202] add r3, r3, #1 - strh r3, [r7, #138] @ movhi + strh r3, [r7, #202] @ movhi cmn r0, #1 - beq .L3077 - ldrb r3, [r4, #144] @ zero_extendqisi2 + beq .L3027 + ldrb r3, [r4, #208] @ zero_extendqisi2 cmp r3, #0 - beq .L3078 -.L3077: + beq .L3028 +.L3027: mov r3, #0 - strb r3, [r7, #144] - b .L3079 -.L3078: + strb r3, [r7, #208] + b .L3029 +.L3028: cmp r8, #1 - beq .L3080 -.L3088: - ldr r3, .L3105+8 - ldrb r3, [r3, #136] @ zero_extendqisi2 + beq .L3030 +.L3038: + ldr r3, .L3052+8 + ldrb r3, [r3, #200] @ zero_extendqisi2 cmp r3, #255 - bne .L3082 - ldr r1, .L3105+28 - movw r2, #885 - ldr r0, .L3105+32 + bne .L3032 + ldr r1, .L3052+28 + movw r2, #890 + ldr r0, .L3052+32 bl printk bl dump_stack - b .L3082 -.L3080: - ldrb r4, [fp, #137] @ zero_extendqisi2 + b .L3032 +.L3030: + ldrb r4, [fp, #201] @ zero_extendqisi2 add r4, r4, #1 -.L3083: +.L3033: cmp r4, #7 - bhi .L3088 + bhi .L3038 ldr r3, [r6, #1176] add r3, r3, r4 ldrb r5, [r3, #40] @ zero_extendqisi2 add r3, r5, #127 uxtb r3, r3 cmp r3, #125 - bhi .L3084 - ldr r1, .L3105+28 - mov r2, #876 - ldr r0, .L3105+32 + bhi .L3034 + ldr r1, .L3052+28 + movw r2, #881 + ldr r0, .L3052+32 bl printk bl dump_stack - b .L3085 -.L3084: + b .L3035 +.L3034: cmp r5, #255 - beq .L3086 -.L3085: - ldr r3, .L3105+12 + beq .L3036 +.L3035: + ldr r3, .L3052+12 mov r0, #0 ldrh r1, [r3] mul r1, r1, r5 bl flash_erase_block -.L3086: +.L3036: add r4, r4, #1 uxth r4, r4 - b .L3083 -.L3082: + b .L3033 +.L3032: mov r0, #0 add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3106: +.L3053: .align 2 -.L3105: +.L3052: .word .LANCHOR0 - .word .LANCHOR3-120 + .word .LANCHOR3-56 .word .LANCHOR3 - .word .LANCHOR3-3142 + .word .LANCHOR3-3066 .word .LANCHOR2 - .word .LC190 - .word .LANCHOR3-3172 - .word .LANCHOR1+2384 + .word .LC187 + .word .LANCHOR3-3096 + .word .LANCHOR1+2348 .word .LC0 .fnend .size ftl_info_flush, .-ftl_info_flush @@ -18220,173 +17924,173 @@ ftl_info_blk_init: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r3, #1 - ldr r4, .L3140 + ldr r4, .L3087 mov r6, #0 - ldr r5, .L3140+4 + ldr r5, .L3087+4 mov r1, r6 mov r2, #16384 .pad #28 sub sp, sp, #28 - strb r3, [r4, #144] + strb r3, [r4, #208] mov r10, r4 - strb r3, [r4, #146] + strb r3, [r4, #210] movw r3, #1076 - ldr r0, [r4, #140] + ldr r0, [r4, #204] ldrh r3, [r5, r3] - strb r6, [r4, #145] + strb r6, [r4, #209] str r0, [r5, #1080] add r3, r0, r3, asl #2 str r3, [r5, #2804] bl ftl_memset mov r1, r6 - ldr r0, [r4, #148] + ldr r0, [r4, #212] mov r2, #16384 bl ftl_memset ldr r3, [r5, #1176] - ldr fp, .L3140+8 - strb r6, [r4, #137] + ldr fp, .L3087+8 + strb r6, [r4, #201] ldrb r3, [r3, #40] @ zero_extendqisi2 - strh r6, [r4, #138] @ movhi + strh r6, [r4, #202] @ movhi mov r6, #7 - strb r3, [r4, #136] -.L3112: + strb r3, [r4, #200] +.L3059: ldr r3, [r5, #1176] uxth r7, r6 - ldr ip, .L3140+4 + ldr ip, .L3087+4 add r3, r3, r6 ldrb r3, [r3, #40] @ zero_extendqisi2 cmp r3, #255 - beq .L3108 - ldr r2, .L3140+12 + beq .L3055 + ldr r2, .L3087+12 mov r0, #0 str ip, [sp, #12] ldrh r9, [r2] - ldr r2, [r4, #140] + ldr r2, [r4, #204] mul r9, r9, r3 ldrb r3, [ip, #2772] @ zero_extendqisi2 str r3, [sp] - ldr r3, .L3140+16 + ldr r3, .L3087+16 mov r1, r9 bl ftl_read_page cmn r0, #1 mov r8, r0 ldr ip, [sp, #12] - bne .L3109 + bne .L3056 ldrb r3, [ip, #2772] @ zero_extendqisi2 mov r0, #0 add r1, r9, #1 str r3, [sp] - ldr r3, .L3140+16 - ldr r2, [r10, #140] + ldr r3, .L3087+16 + ldr r2, [r10, #204] bl ftl_read_page mov r8, r0 -.L3109: - ldr r3, .L3140+20 +.L3056: + ldr r3, .L3087+20 ldr r3, [r3] tst r3, #4096 - beq .L3110 + beq .L3057 ldr r3, [r5, #2804] mov r1, r6 - ldr r0, .L3140+24 + ldr r0, .L3087+24 mov r2, r8 ldr r3, [r3] str r3, [sp] - mov r3, #744 + movw r3, #749 bl printk -.L3110: +.L3057: cmn r8, #1 - beq .L3108 + beq .L3055 ldr r3, [r5, #2804] ldr r3, [r3] cmp r3, fp - beq .L3122 -.L3108: + beq .L3069 +.L3055: subs r6, r6, #1 - bcs .L3112 + bcs .L3059 movw r6, #65535 mov r7, #0 - b .L3111 -.L3122: + b .L3058 +.L3069: mov r6, r7 -.L3111: - ldr r3, .L3140+20 +.L3058: + ldr r3, .L3087+20 sxth r6, r6 ldr r2, [r3] str r3, [sp, #16] tst r2, #4096 - beq .L3113 + beq .L3060 ldr r3, [r5, #2804] mov r1, r6 - ldr r0, .L3140+28 + ldr r0, .L3087+28 mov r2, #4800 ldr r3, [r3] bl printk -.L3113: +.L3060: cmn r6, #1 - bne .L3114 + bne .L3061 mov r2, #16384 - ldr r0, [r4, #140] + ldr r0, [r4, #204] mov r1, #0 bl ftl_memset ldr r3, [r5, #2804] - ldr r2, .L3140+8 + ldr r2, .L3087+8 mov r0, r6 str r2, [r3] - ldr r2, .L3140+32 + ldr r2, .L3087+32 ldr r3, [r5, #2804] str r2, [r3, #12] - b .L3115 -.L3114: + b .L3062 +.L3061: ldr r3, [r5, #1176] mov r0, #0 - ldr r2, [r4, #140] + ldr r2, [r4, #204] sxtah r3, r3, r7 - strb r7, [r4, #137] - ldr r6, .L3140+36 + strb r7, [r4, #201] + ldr r6, .L3087+36 mov r7, #0 ldrb r1, [r3, #40] @ zero_extendqisi2 mov r3, #4 str r3, [sp] - ldr r3, .L3140+16 - strb r1, [r4, #136] + ldr r3, .L3087+16 + strb r1, [r4, #200] bl flash_get_last_written_page - ldrh r8, [r6, #-6] - add r6, r6, #3136 - ldr fp, .L3140+8 + ldrh r8, [r6, #-10] + add r6, r6, #3056 + ldr fp, .L3087+8 uxth r9, r0 mov r10, r0 add r3, r9, #1 uxth r3, r3 str r3, [sp, #12] - ldrb r3, [r4, #136] @ zero_extendqisi2 + ldrb r3, [r4, #200] @ zero_extendqisi2 mul r8, r8, r3 -.L3116: +.L3063: rsb r3, r7, r9 tst r3, #32768 - bne .L3120 + bne .L3067 ldrb r3, [r5, #2772] @ zero_extendqisi2 add r1, r10, r8 - ldr ip, .L3140+4 + ldr ip, .L3087+4 mov r0, #0 rsb r1, r7, r1 - ldr r2, [r4, #140] + ldr r2, [r4, #204] str r3, [sp] - ldr r3, .L3140+16 + ldr r3, .L3087+16 str ip, [sp, #20] bl ftl_read_page cmn r0, #1 - beq .L3117 + beq .L3064 ldr ip, [sp, #20] ldr r3, [ip, #2804] ldr r3, [r3] cmp r3, fp - bne .L3117 - ldr r3, [r6, #-112] + bne .L3064 + ldr r3, [r6, #-48] cmp r3, #0 - bne .L3118 -.L3120: + bne .L3065 +.L3067: ldrh r3, [sp, #12] - strh r3, [r4, #138] @ movhi + strh r3, [r4, #202] @ movhi bl ftl_tmp_into_update ldr r2, [r5, #2804] mov r0, #0 @@ -18399,48 +18103,48 @@ ftl_info_blk_init: ldr r3, [sp, #16] ldr r0, [r3] ands r0, r0, #16384 - beq .L3115 - ldr r3, .L3140+4 - ldr r0, .L3140+40 + beq .L3062 + ldr r3, .L3087+4 + ldr r0, .L3087+40 ldr r3, [r3, #2804] ldr r1, [r3, #156] bl printk mov r0, #0 - b .L3115 -.L3118: + b .L3062 +.L3065: ldrb r1, [ip, #2772] @ zero_extendqisi2 - ldr r0, [r6, #140] + ldr r0, [r6, #204] str r3, [sp, #20] mov r1, r1, asl #9 bl js_hash ldr r3, [sp, #20] cmp r3, r0 - beq .L3120 - ldr r0, .L3140+44 - ldr r1, [r6, #-112] + beq .L3067 + ldr r0, .L3087+44 + ldr r1, [r6, #-48] bl printk -.L3117: +.L3064: add r7, r7, #1 - b .L3116 -.L3115: + b .L3063 +.L3062: add sp, sp, #28 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3141: +.L3088: .align 2 -.L3140: +.L3087: .word .LANCHOR3 .word .LANCHOR0 .word 1229739078 - .word .LANCHOR3-3142 - .word .LANCHOR3-120 + .word .LANCHOR3-3066 + .word .LANCHOR3-56 .word .LANCHOR2 + .word .LC188 + .word .LC189 + .word 393252 + .word .LANCHOR3-3056 .word .LC191 - .word .LC192 - .word 393251 - .word .LANCHOR3-3136 - .word .LC194 - .word .LC193 + .word .LC190 .fnend .size ftl_info_blk_init, .-ftl_info_blk_init .align 2 @@ -18454,8 +18158,8 @@ ftl_ext_info_flush: .save {r4, r5, r6, r7, r8, r9, lr} .pad #12 bl timer_get_time - ldr r3, .L3158 - ldr r4, .L3158+4 + ldr r3, .L3105 + ldr r4, .L3105+4 umull r0, r1, r0, r3 ldr r3, [r4, #1092] ldr r0, [r3, #520] @@ -18465,17 +18169,17 @@ ftl_ext_info_flush: rsbhi r2, r0, r2 addhi r2, r2, r1 strhi r2, [r3, #12] - bhi .L3157 -.L3143: - bcs .L3144 -.L3157: + bhi .L3104 +.L3090: + bcs .L3091 +.L3104: str r1, [r3, #520] -.L3144: +.L3091: mov r0, #0 - ldr r7, .L3158+8 + ldr r7, .L3105+8 bl ftl_total_vpn_update - ldr r6, .L3158+12 -.L3148: + ldr r6, .L3105+12 +.L3095: ldr r3, [r4, #2804] ldr r2, [r3, #56] add r2, r2, #1 @@ -18483,33 +18187,33 @@ ftl_ext_info_flush: ldrh r2, [r3, #140] ldrh r3, [r7] cmp r2, r3 - bcc .L3146 + bcc .L3093 bl ftl_ext_alloc_new_blk -.L3146: +.L3093: ldr r3, [r4, #2804] ldrh r2, [r3, #130] movw r3, #65535 cmp r2, r3 - bne .L3147 - ldr r1, .L3158+16 - movw r2, #2203 - ldr r0, .L3158+20 + bne .L3094 + ldr r1, .L3105+16 + movw r2, #2211 + ldr r0, .L3105+20 bl printk bl dump_stack -.L3147: +.L3094: ldr r1, [r4, #2804] - ldr r0, .L3158+24 + ldr r0, .L3105+24 ldrb r2, [r4, #1189] @ zero_extendqisi2 ldrh r3, [r1, #130] ldrh r0, [r0] rsb r2, r2, #24 - ldr r8, .L3158+12 + ldr r8, .L3105+12 rsb r2, r0, r2 mvn r0, #0 mov r9, r3, asr r2 bic r3, r3, r0, asl r2 - ldr r2, .L3158+28 - sub r0, r8, #120 + ldr r2, .L3105+28 + sub r0, r8, #56 sxth r3, r3 ldrh r5, [r2] ldrh r2, [r1, #140] @@ -18519,21 +18223,21 @@ ftl_ext_info_flush: mov r2, r2, asl #1 bl ftl_memset mov r3, #0 - str r3, [r6, #-120] + str r3, [r6, #-56] ldr r3, [r4, #2804] ldrb r1, [r4, #2772] @ zero_extendqisi2 - ldr r0, [r6, #148] + ldr r0, [r6, #212] ldr r3, [r3, #56] mov r1, r1, asl #9 - str r3, [r6, #-116] + str r3, [r6, #-52] bl js_hash ldrb r3, [r4, #2772] @ zero_extendqisi2 mov r1, r5 - ldr r2, [r6, #148] - str r0, [r6, #-112] + ldr r2, [r6, #212] + str r0, [r6, #-48] uxtb r0, r9 str r3, [sp] - sub r3, r8, #120 + sub r3, r8, #56 bl ftl_prog_page ldr r2, [r4, #2804] ldrh r3, [r2, #140] @@ -18541,32 +18245,32 @@ ftl_ext_info_flush: uxth r3, r3 strh r3, [r2, #140] @ movhi cmp r3, #1 - beq .L3148 + beq .L3095 cmn r0, #1 - beq .L3149 - ldrb r0, [r8, #146] @ zero_extendqisi2 + beq .L3096 + ldrb r0, [r8, #210] @ zero_extendqisi2 cmp r0, #0 - beq .L3150 -.L3149: -.L3145: + beq .L3097 +.L3096: +.L3092: mov r3, #0 - strb r3, [r8, #146] - b .L3148 -.L3150: + strb r3, [r8, #210] + b .L3095 +.L3097: add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc} -.L3159: +.L3106: .align 2 -.L3158: +.L3105: .word 1374389535 .word .LANCHOR0 - .word .LANCHOR3-3172 + .word .LANCHOR3-3096 .word .LANCHOR3 - .word .LANCHOR1+2400 + .word .LANCHOR1+2364 .word .LC0 - .word .LANCHOR3-3204 - .word .LANCHOR3-3142 + .word .LANCHOR3-3132 + .word .LANCHOR3-3066 .fnend .size ftl_ext_info_flush, .-ftl_ext_info_flush .align 2 @@ -18576,20 +18280,20 @@ ftl_ext_info_init: .fnstart @ args = 0, pretend = 0, frame = 16 @ frame_needed = 0, uses_anonymous_args = 0 - ldr ip, .L3180 + ldr ip, .L3127 mov r2, #0 stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} - sub r3, ip, #2608 - ldr r4, .L3180+4 + sub r3, ip, #2528 + ldr r4, .L3127+4 mvn r5, #0 - strh r2, [r3, #-8] @ movhi - sub r2, ip, #3200 + strh r2, [r3, #-12] @ movhi + sub r2, ip, #3120 .pad #28 sub sp, sp, #28 ldr r3, [r4, #2804] ldrb r9, [r4, #1189] @ zero_extendqisi2 - ldrh r6, [r2, #-4] + ldrh r6, [r2, #-12] ldrh r3, [r3, #130] rsb r8, r9, #24 rsb r6, r6, r8 @@ -18600,88 +18304,88 @@ ftl_ext_info_init: mov r1, r5 str r3, [sp] uxtb r10, fp - ldr r2, [ip, #148] - sub r3, ip, #120 + ldr r2, [ip, #212] + sub r3, ip, #56 mov r0, r10 bl flash_get_last_written_page - ldr r3, .L3180+8 + ldr r3, .L3127+8 ldr r2, [r3] tst r2, #4096 mov r7, r0 str r3, [sp, #16] - beq .L3161 + beq .L3108 uxth fp, fp str fp, [sp] ldr r3, [r4, #2804] - movw r2, #2248 - ldr r0, .L3180+12 - ldr r1, .L3180+16 + mov r2, #2256 + ldr r0, .L3127+12 + ldr r1, .L3127+16 ldrh r3, [r3, #130] str r3, [sp, #4] mov r3, r7 bl printk -.L3161: - ldr r9, .L3180 +.L3108: + ldr r9, .L3127 mov r8, #0 - ldr fp, .L3180+20 -.L3162: + ldr fp, .L3127+20 +.L3109: uxth r6, r7 rsb r3, r8, r6 tst r3, #32768 - bne .L3167 - ldr r3, .L3180+24 + bne .L3114 + ldr r3, .L3127+24 rsb r1, r8, r7 ldrb r2, [r4, #2772] @ zero_extendqisi2 mov r0, r10 - ldr ip, .L3180+4 + ldr ip, .L3127+4 ldrh r3, [r3] str r2, [sp] str ip, [sp, #20] mla r1, r3, r5, r1 ldr r3, [sp, #12] - ldr r2, [r3, #148] - ldr r3, .L3180+28 + ldr r2, [r3, #212] + ldr r3, .L3127+28 bl flash_read_page_en cmp r0, #512 cmnne r0, #1 ldr ip, [sp, #20] - beq .L3163 + beq .L3110 ldr r3, [ip, #1092] ldr r3, [r3] cmp r3, fp - bne .L3163 - ldr r3, [r9, #-112] + bne .L3110 + ldr r3, [r9, #-48] cmp r3, #0 - bne .L3164 -.L3167: + bne .L3111 +.L3114: bl zftl_sblk_list_init ldr r3, [r4, #2804] ldrh r2, [r3, #140] cmp r2, r7 - bgt .L3166 + bgt .L3113 add r6, r6, #1 strh r6, [r3, #140] @ movhi bl ftl_ext_info_flush - b .L3166 -.L3164: + b .L3113 +.L3111: ldrb r1, [ip, #2772] @ zero_extendqisi2 - ldr r0, [r9, #148] + ldr r0, [r9, #212] str r3, [sp, #20] mov r1, r1, asl #9 bl js_hash ldr r3, [sp, #20] cmp r3, r0 - beq .L3167 - ldr r0, .L3180+32 - ldr r1, [r9, #-112] + beq .L3114 + ldr r0, .L3127+32 + ldr r1, [r9, #-48] bl printk -.L3163: +.L3110: add r8, r8, #1 - b .L3162 -.L3166: + b .L3109 +.L3113: ldr r5, [r4, #1092] bl timer_get_time - ldr r3, .L3180+36 + ldr r3, .L3127+36 umull r0, r1, r0, r3 mov r3, r1, lsr #5 str r3, [r5, #520] @@ -18706,39 +18410,39 @@ ftl_ext_info_init: str r1, [r3, #560] ldr r2, [r2] tst r2, #4096 - beq .L3169 + beq .L3116 ldr r5, [r3, #520] ldr r4, [r3, #12] bl timer_get_time - ldr r1, .L3180+16 + ldr r1, .L3127+16 mov r2, r5 mov r3, r4 str r0, [sp] - ldr r0, .L3180+40 + ldr r0, .L3127+40 bl printk -.L3169: - ldr r3, .L3180+44 +.L3116: + ldr r3, .L3127+44 mvn r2, #0 mov r0, #0 - strh r2, [r3, #-8] @ movhi + strh r2, [r3] @ movhi add sp, sp, #28 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3181: +.L3128: .align 2 -.L3180: +.L3127: .word .LANCHOR3 .word .LANCHOR0 .word .LANCHOR2 - .word .LC195 - .word .LANCHOR1+2420 + .word .LC192 + .word .LANCHOR1+2384 .word 1162432070 - .word .LANCHOR3-3142 - .word .LANCHOR3-120 - .word .LC196 + .word .LANCHOR3-3066 + .word .LANCHOR3-56 + .word .LC193 .word 1374389535 - .word .LC197 - .word .LANCHOR3-3216 + .word .LC194 + .word .LANCHOR3-3152 .fnend .size ftl_ext_info_init, .-ftl_ext_info_init .align 2 @@ -18752,7 +18456,7 @@ ftl_prog_ppa_page: .save {r4, lr} .pad #8 mov lr, r2 - ldr r2, .L3184 + ldr r2, .L3131 mov ip, r0 mov r4, r1 ldrb r0, [r2, #1189] @ zero_extendqisi2 @@ -18772,9 +18476,9 @@ ftl_prog_ppa_page: add sp, sp, #8 @ sp needed ldmfd sp!, {r4, pc} -.L3185: +.L3132: .align 2 -.L3184: +.L3131: .word .LANCHOR0 .fnend .size ftl_prog_ppa_page, .-ftl_prog_ppa_page @@ -18789,188 +18493,65 @@ ftl_write_last_log_page: .save {r4, r5, r6, r7, r8, lr} mov r4, r0 ldrh r3, [r0, #6] - ldr r5, .L3191 + ldr r5, .L3138 cmp r3, #1 ldrh r8, [r0, #12] - ldr r6, [r5, #-2624] - bne .L3188 + ldr r6, [r5, #-2548] + bne .L3135 bl ftl_get_new_free_page cmn r0, #1 mov r7, r0 - beq .L3189 + beq .L3136 ldrh r0, [r4] add r6, r6, r8, asl #2 bl ftl_vpn_decrement - ldr r3, .L3191+4 + ldr r3, .L3138+4 mov r0, r6 mov r4, #0 - str r3, [r5, #200] - sub r3, r5, #3168 - ldrh r1, [r3, #-4] - ldrb r3, [r5, #-3195] @ zero_extendqisi2 + str r3, [r5, #264] + sub r3, r5, #3088 + ldrh r1, [r3, #-8] + ldrb r3, [r5, #-3123] @ zero_extendqisi2 mul r1, r3, r1 mov r1, r1, asl #2 bl js_hash mov r1, r5 - str r4, [r1, #216]! + str r4, [r1, #280]! mov r2, r4 - str r4, [r5, #208] - str r4, [r5, #212] - str r0, [r5, #204] + str r4, [r5, #272] + str r4, [r5, #276] + str r0, [r5, #268] mov r0, #2 bl ftl_debug_info_fill - ldr r3, .L3191+8 + ldr r3, .L3138+8 mov r0, r7 mov r1, r6 - add r2, r5, #200 + add r2, r5, #264 ldrb r3, [r3, #2772] @ zero_extendqisi2 bl ftl_prog_ppa_page - b .L3189 -.L3188: + b .L3136 +.L3135: mvn r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L3189: +.L3136: mov r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L3192: +.L3139: .align 2 -.L3191: +.L3138: .word .LANCHOR3 .word -178307901 .word .LANCHOR0 .fnend .size ftl_write_last_log_page, .-ftl_write_last_log_page .align 2 - .global pm_write_page - .type pm_write_page, %function -pm_write_page: - .fnstart - @ args = 0, pretend = 0, frame = 0 - @ frame_needed = 0, uses_anonymous_args = 0 - stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} - .pad #12 - mov r6, r0 - ldr r8, .L3207 - mov r7, r1 - ldr r9, .L3207+4 - mov r4, r8 -.L3194: - ldr r3, [r8, #2804] - ldr r2, [r3, #48] - add r2, r2, #1 - str r2, [r3, #48] - add r2, r3, #696 - ldrh r1, [r2] - ldrh r2, [r9] - cmp r1, r2 - bcs .L3195 - add r3, r3, #692 - ldrh r2, [r3] - movw r3, #65535 - cmp r2, r3 - bne .L3196 -.L3195: - bl pm_alloc_new_blk - mov r0, #0 - bl ftl_info_flush -.L3196: - ldr r3, [r4, #2804] - add r3, r3, #692 - ldrh r2, [r3] - movw r3, #65535 - cmp r2, r3 - bne .L3197 - ldr r1, .L3207+8 - movw r2, #303 - ldr r0, .L3207+12 - bl printk - bl dump_stack -.L3197: - ldr r3, [r4, #2804] - ldr r5, .L3207+16 - add r2, r3, #692 - add r3, r3, #696 - ldrh r1, [r2] - ldr r2, .L3207+20 - ldr r0, [r5, #456] - ldrh r10, [r2] - ldrh r2, [r3] - mla r10, r10, r1, r2 - mov r2, #64 - mov r1, #0 - bl ftl_memset - ldr r3, [r5, #456] - mov r0, r7 - str r6, [r3] - ldr r3, [r4, #2804] - ldr fp, [r5, #456] - ldrb r1, [r4, #2772] @ zero_extendqisi2 - ldr r3, [r3, #48] - mov r1, r1, asl #9 - str r3, [fp, #4] - bl js_hash - ldr r3, [r4, #2804] - mov r1, r10 - mov r2, r7 - str r0, [fp, #8] - ldrb r0, [r3, #694] @ zero_extendqisi2 - ldrb r3, [r4, #2772] @ zero_extendqisi2 - str r3, [sp] - ldr r3, [r5, #456] - bl ftl_prog_page - ldr r2, [r4, #2804] - add r1, r2, #696 - ldrh r3, [r1] - add r3, r3, #1 - uxth r3, r3 - strh r3, [r1] @ movhi - cmp r3, #1 - beq .L3198 - ldrb r3, [r5, #460] @ zero_extendqisi2 - cmp r3, #0 - beq .L3199 -.L3198: - mov r3, #0 - strb r3, [r5, #460] - b .L3194 -.L3199: - cmn r0, #1 - bne .L3201 - mov r1, r10 - ldr r0, .L3207+24 - bl printk - b .L3194 -.L3201: - movw r3, #698 - mov r0, #0 - ldrh r3, [r2, r3] - cmp r6, r3 - addcc r6, r6, #176 - strcc r10, [r2, r6, asl #2] - add sp, sp, #12 - @ sp needed - ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3208: - .align 2 -.L3207: - .word .LANCHOR0 - .word .LANCHOR3-3172 - .word .LANCHOR1+2440 - .word .LC0 - .word .LANCHOR3 - .word .LANCHOR3-3142 - .word .LC198 - .fnend - .size pm_write_page, .-pm_write_page - .align 2 .global ftl_dump_write_open_sblk .type ftl_dump_write_open_sblk, %function ftl_dump_write_open_sblk: .fnstart @ args = 0, pretend = 0, frame = 72 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L3251 + ldr r3, .L3182 movw r2, #1076 stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} @@ -18979,20 +18560,20 @@ ftl_dump_write_open_sblk: .pad #116 sub sp, sp, #116 cmp r2, r0 - bls .L3209 + bls .L3140 mov fp, r3 - ldr r3, .L3251+4 - ldrb r2, [r3, #-3188] @ zero_extendqisi2 + ldr r3, .L3182+4 + ldrb r2, [r3, #-3116] @ zero_extendqisi2 cmp r2, #0 - bne .L3211 - ldrb r2, [r3, #-3194] @ zero_extendqisi2 + bne .L3142 + ldrb r2, [r3, #-3122] @ zero_extendqisi2 cmp r2, #0 - beq .L3209 -.L3211: + beq .L3140 +.L3142: ldrb r2, [fp, #1196] @ zero_extendqisi2 cmp r2, #0 - bne .L3209 - ldr r2, .L3251 + bne .L3140 + ldr r2, .L3182 mov r4, r6, asl #2 add r1, sp, #96 mov r0, r6 @@ -19000,17 +18581,17 @@ ftl_dump_write_open_sblk: mov r5, #0 ldr r2, [r2, #1080] mov r7, r5 - ldr r8, .L3251+8 + ldr r8, .L3182+8 mov r9, r5 add r2, r2, r4 ldrb r2, [r2, #2] @ zero_extendqisi2 and r2, r2, #224 cmp r2, #160 - ldreqb r10, [r3, #-3196] @ zero_extendqisi2 + ldreqb r10, [r3, #-3124] @ zero_extendqisi2 movne r10, #1 bl ftl_get_blk_list_in_sblk mov r2, r8 - ldrh r3, [r2, #-4]! + ldrh r3, [r2, #-8]! uxtb r0, r0 strb r0, [sp, #89] str r2, [sp, #44] @@ -19027,7 +18608,7 @@ ftl_dump_write_open_sblk: str r1, [sp] ldr r2, [r2, r6, asl #2] mov r1, r6 - ldr r0, .L3251+12 + ldr r0, .L3182+12 ubfx r2, r2, #11, #8 str r2, [sp, #4] mov r2, r3, lsr #5 @@ -19035,15 +18616,15 @@ ftl_dump_write_open_sblk: bl printk mov r0, #1 bl buf_alloc - add r3, r8, #3168 + add r3, r8, #3088 mov r4, r0 str r3, [sp, #48] -.L3213: +.L3144: ldr r3, [sp, #44] uxth r8, r5 ldrh r3, [r3] cmp r3, r8 - bls .L3236 + bls .L3167 mov r3, r8, asl #1 mov ip, #0 add r2, r3, r8 @@ -19051,50 +18632,50 @@ ftl_dump_write_open_sblk: sub r2, r2, #1 str r3, [sp, #60] str r2, [sp, #52] -.L3224: +.L3155: ldrb r3, [sp, #89] @ zero_extendqisi2 uxth r9, ip cmp r3, r9 - bls .L3248 + bls .L3179 add r3, r9, #8 mov r7, #1 mov r3, r3, asl r7 str r3, [sp, #64] -.L3223: +.L3154: cmp r7, r10 - bhi .L3249 + bhi .L3180 ldr r2, [sp, #64] add r3, sp, #112 add r3, r3, r2 ldrh r2, [r3, #-32] movw r3, #65535 cmp r2, r3 - beq .L3215 - ldr r3, .L3251+16 + beq .L3146 + ldr r3, .L3182+16 cmp r10, #3 ldrh r3, [r3] mul r3, r3, r2 - bne .L3216 - ldr r1, .L3251 + bne .L3147 + ldr r1, .L3182 ldrb r1, [r1, #1197] @ zero_extendqisi2 cmp r1, #0 uxtaheq r3, r3, r5 ldrne r1, [sp, #52] orreq r3, r3, r7, asl #24 - beq .L3218 - b .L3247 -.L3216: + beq .L3149 + b .L3178 +.L3147: cmp r10, #2 uxtahne r3, r3, r5 - bne .L3218 + bne .L3149 ldr r1, [sp, #60] -.L3247: +.L3178: add r3, r3, r1 ldr r1, [sp, #48] add r3, r3, r7 - ldrb r1, [r1, #-3196] @ zero_extendqisi2 + ldrb r1, [r1, #-3124] @ zero_extendqisi2 orr r3, r3, r1, asl #24 -.L3218: +.L3149: str r3, [r4, #24] mov r0, r4 mov r1, #1 @@ -19112,7 +18693,7 @@ ftl_dump_write_open_sblk: str r3, [sp, #56] ldr ip, [sp, #76] ldr r3, [sp, #68] - bne .L3215 + bne .L3146 ldr r0, [r4, #4] ldr r1, [r4, #12] str lr, [sp] @@ -19132,7 +18713,7 @@ ftl_dump_write_open_sblk: ldr r0, [r1, #8] str r0, [sp, #28] ldr r1, [r1, #12] - ldr r0, .L3251+20 + ldr r0, .L3182+20 str r1, [sp, #32] mov r1, r2 mov r2, r8 @@ -19140,94 +18721,94 @@ ftl_dump_write_open_sblk: ldr r3, [sp, #56] ldr ip, [sp, #68] cmp r3, #0 - bne .L3236 -.L3215: + bne .L3167 +.L3146: add r7, r7, #1 uxth r7, r7 - b .L3223 -.L3249: + b .L3154 +.L3180: add ip, ip, #1 - b .L3224 -.L3248: + b .L3155 +.L3179: add r5, r5, #1 - b .L3213 -.L3236: -.L3221: + b .L3144 +.L3167: +.L3152: str r7, [sp] mov r3, r9 - ldr r7, .L3251 + ldr r7, .L3182 mov r1, r6 mov r2, r8 - ldr r0, .L3251+24 + ldr r0, .L3182+24 bl printk mov r1, #0 ldrb r2, [r7, #2772] @ zero_extendqisi2 mov r5, r8 ldr r0, [r4, #4] - ldr r10, .L3251+28 + ldr r10, .L3182+28 mov r2, r2, asl #9 - ldr r9, .L3251+32 + ldr r9, .L3182+32 bl ftl_memset ldrb r2, [r7, #2772] @ zero_extendqisi2 ldr r0, [r4, #12] mov r1, #0 mov r2, r2, asl #1 bl ftl_memset -.L3225: +.L3156: ldrh r3, [r10] cmp r3, r5 - bls .L3231 - ldr r8, .L3251+4 + bls .L3162 + ldr r8, .L3182+4 mov r7, #0 mov r3, r5, asl #1 str r3, [sp, #44] -.L3232: +.L3163: ldrb r2, [sp, #89] @ zero_extendqisi2 uxth r3, r7 cmp r2, r3 - bls .L3250 + bls .L3181 ldr r2, [r9] tst r2, #4096 - beq .L3226 + beq .L3157 mov r2, r3 - ldr r0, .L3251+36 + ldr r0, .L3182+36 mov r1, r5 str r3, [sp, #48] bl printk ldr r3, [sp, #48] -.L3226: - ldrb ip, [r8, #-3188] @ zero_extendqisi2 +.L3157: + ldrb ip, [r8, #-3116] @ zero_extendqisi2 cmp ip, #0 - beq .L3227 + beq .L3158 add r2, sp, #112 mov r0, r4 add r3, r2, r3, asl #1 ldrh r2, [r3, #-16] - ldr r3, .L3251+16 + ldr r3, .L3182+16 ldrh r3, [r3] mul r3, r3, r2 orr r3, r3, r5 str r3, [r4, #24] bl sblk_3d_tlc_dump_prog - b .L3228 -.L3227: - ldrb r2, [r8, #-3196] @ zero_extendqisi2 + b .L3159 +.L3158: + ldrb r2, [r8, #-3124] @ zero_extendqisi2 cmp r2, #2 add r2, sp, #112 add r3, r2, r3, asl #1 ldrh r2, [r3, #-16] - ldr r3, .L3251+16 + ldr r3, .L3182+16 ldrh r3, [r3] mul r3, r3, r2 - bne .L3229 + bne .L3160 ldr r2, [sp, #44] mov r0, r4 orr r3, r3, r2 orr r3, r3, #33554432 str r3, [r4, #24] bl sblk_mlc_dump_prog - b .L3228 -.L3229: + b .L3159 +.L3160: ldrb r2, [fp, #1189] @ zero_extendqisi2 orr r3, r3, r5 mvn r0, #0 @@ -19243,69 +18824,948 @@ ftl_dump_write_open_sblk: ldr r2, [r4, #4] ldr r3, [r4, #12] bl flash_prog_page_en -.L3228: +.L3159: add r7, r7, #1 - b .L3232 -.L3250: + b .L3163 +.L3181: add r5, r5, #1 uxth r5, r5 - b .L3225 -.L3231: + b .L3156 +.L3162: mov r0, r4 bl zbuf_free - ldr r0, .L3251+40 + ldr r0, .L3182+40 mov r1, r6 bl printk -.L3209: +.L3140: add sp, sp, #116 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3252: +.L3183: .align 2 -.L3251: +.L3182: .word .LANCHOR0 .word .LANCHOR3 - .word .LANCHOR3-3168 - .word .LC199 - .word .LANCHOR3-3142 - .word .LC200 - .word .LC201 - .word .LANCHOR3-3172 + .word .LANCHOR3-3088 + .word .LC195 + .word .LANCHOR3-3066 + .word .LC196 + .word .LC197 + .word .LANCHOR3-3096 .word .LANCHOR2 - .word .LC202 - .word .LC203 + .word .LC198 + .word .LC199 .fnend .size ftl_dump_write_open_sblk, .-ftl_dump_write_open_sblk .align 2 + .global gc_ink_check_sblk + .type gc_ink_check_sblk, %function +gc_ink_check_sblk: + .fnstart + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} + .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} + .pad #12 + movw r5, #2106 + ldr r4, .L3213 + ldr r7, .L3213+4 + ldrh r3, [r4, r5] + ldr r6, [r7, #908] + cmp r3, #3 + ldrls pc, [pc, r3, asl #2] + b .L3185 +.L3187: + .word .L3186 + .word .L3188 + .word .L3189 + .word .L3190 +.L3186: + ldr r8, .L3213+8 + movw r3, #2792 + ldrh r3, [r8, r3] + cmp r3, #7 + bls .L3184 + ldrb r3, [r8, #2774] @ zero_extendqisi2 + cmp r3, #2 + bls .L3184 + ldr r0, .L3213+12 + mov r1, #0 + bl _list_get_gc_head_node + movw r9, #65535 + cmp r0, r9 + beq .L3184 + ldr r3, [r8, #1080] + mov r0, r0, asl #2 + ldrh r3, [r3, r0] + ubfx r3, r3, #0, #11 + cmp r3, #2 + bgt .L3184 + mov r0, #1 + add r6, r8, #4096 + bl buf_alloc + cmp r0, #0 + str r0, [r7, #908] + beq .L3184 + ldr r0, .L3213+12 + mov r1, #0 + ldr r2, .L3213+16 + bl _list_pop_index_node + uxth r5, r0 + cmp r5, r9 + bne .L3194 + ldr r0, [r6, #908] + bl zbuf_free + mov r3, #0 + str r3, [r6, #908] + b .L3184 +.L3194: + ldr r1, .L3213+20 + mov r0, r5 + bl ftl_get_blk_list_in_sblk + movw r3, #2142 + strh r5, [r4, r3] @ movhi + mov r2, #0 + ldr r3, .L3213+24 + mov r5, r5, asl #2 + strh r2, [r3] @ movhi + movw r3, #2106 + mov r2, #1 + strh r2, [r4, r3] @ movhi + ldr r3, [r8, #1080] + ldrb r2, [r8, #2772] @ zero_extendqisi2 + mov r2, r2, asl #9 + strb r0, [r6, #883] + ldrh r3, [r3, r5] + tst r3, #1 + ldr r3, [r6, #908] + movne r1, #85 + moveq r1, #170 + ldr r0, [r3, #4] + add sp, sp, #12 + @ sp needed + ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} + b ftl_memset +.L3188: + movw r3, #2142 + mov r1, #0 + ldrh r0, [r4, r3] + bl ftl_erase_sblk + movw r3, #2106 + mov r2, #2 + strh r2, [r4, r3] @ movhi + b .L3184 +.L3189: + bl sblk_wait_write_queue_completed + ldr r9, .L3213+8 + ldr r10, .L3213+28 + mov r8, #0 + ldr fp, .L3213+32 +.L3196: + ldrb r3, [r7, #883] @ zero_extendqisi2 + uxth r5, r8 + cmp r3, r5 + bls .L3211 + add r5, r4, r5, asl #1 + movw r3, #65535 + add r5, r5, #2144 + ldrh r2, [r5, #14] + cmp r2, r3 + beq .L3197 + ldr r3, .L3213+24 + mov ip, #0 + ldrh r1, [r10] + ldrh r3, [r3] + mla r3, r1, r2, r3 + ldr r2, [r6, #4] + str r3, [r2] + ldr r2, [r6, #4] + str fp, [r2, #4] + ldr r2, [r6, #12] + str ip, [r2] + mvn r2, #0 + ldrb r0, [r9, #1189] @ zero_extendqisi2 + ldrb lr, [r9, #2772] @ zero_extendqisi2 + rsb r1, r0, #24 + str ip, [sp, #4] + mvn r2, r2, asl r0 + and r0, r2, r3, lsr r1 + str lr, [sp] + bic r1, r3, r2, asl r1 + uxtb r0, r0 + ldr r2, [r6, #4] + ldr r3, [r6, #12] + bl flash_prog_page_en +.L3197: + add r8, r8, #1 + b .L3196 +.L3211: + ldr r1, .L3213 + ldr r0, .L3213+36 + add r2, r1, #2144 + ldrh r3, [r2] + ldrh r0, [r0, #-8] + add r3, r3, #1 + uxth r3, r3 + strh r3, [r2] @ movhi + cmp r0, r3 + movls r3, #0 + strlsh r3, [r2] @ movhi + movwls r3, #2106 + movls r2, #3 + strlsh r2, [r1, r3] @ movhi + b .L3184 +.L3190: + bl sblk_wait_write_queue_completed + ldr r9, .L3213+28 + ldr r10, .L3213+24 + mov fp, #0 +.L3199: + ldrb r3, [r7, #883] @ zero_extendqisi2 + uxth r5, fp + ldr r8, .L3213+4 + cmp r3, r5 + bls .L3212 + add r5, r4, r5, asl #1 + movw r2, #65535 + add r5, r5, #2144 + add r5, r5, #14 + ldrh r3, [r5] + cmp r3, r2 + beq .L3201 + ldrh r2, [r10] + mov r0, r6 + ldrh r8, [r9] + mov r1, #1 + mla r8, r8, r3, r2 + str r8, [r6, #24] + bl sblk_read_page + ldr r3, [r6, #4] + ldr r3, [r3] + cmp r3, r8 + beq .L3201 + mov r0, r8 + bl ftl_mask_bad_block + mvn r3, #0 + strh r3, [r5] @ movhi +.L3201: + add fp, fp, #1 + b .L3199 +.L3212: + add r2, r8, #876 + ldr r5, .L3213 + ldrh r3, [r2] + add r3, r3, #1 + uxth r3, r3 + strh r3, [r2] @ movhi + ldr r2, .L3213+36 + ldrh r2, [r2, #-8] + cmp r2, r3 + bhi .L3184 + movw r3, #2106 + ldr r0, [r8, #908] + mov r6, #0 + strh r6, [r5, r3] @ movhi + bl zbuf_free + movw r2, #2108 + ldrh r3, [r5, r2] + str r6, [r8, #908] + cmp r3, #15 + bhi .L3204 + add r1, r3, #1 + add r3, r3, #1040 + strh r1, [r5, r2] @ movhi + add r3, r3, #12 + movw r2, #2142 + ldrh r2, [r5, r2] + add r3, r5, r3, asl #1 + strh r2, [r3, #6] @ movhi + b .L3205 +.L3204: + movw r3, #2142 + ldrh r0, [r5, r3] + bl zftl_insert_free_list +.L3205: + movw r3, #2142 + ldr r0, .L3213+40 + ldrh r1, [r4, r3] + movw r3, #2108 + ldrh r2, [r4, r3] + add sp, sp, #12 + @ sp needed + ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} + b printk +.L3185: + mov r3, #0 + strh r3, [r4, r5] @ movhi +.L3184: + add sp, sp, #12 + @ sp needed + ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} +.L3214: + .align 2 +.L3213: + .word .LANCHOR0+2828 + .word .LANCHOR0+4096 + .word .LANCHOR0 + .word .LANCHOR3-3072 + .word .LANCHOR0+2792 + .word .LANCHOR0+4986 + .word .LANCHOR0+4972 + .word .LANCHOR3-3066 + .word 1437269760 + .word .LANCHOR3-3088 + .word .LC200 + .fnend + .size gc_ink_check_sblk, .-gc_ink_check_sblk + .align 2 + .global ftl_ink_check_sblk + .type ftl_ink_check_sblk, %function +ftl_ink_check_sblk: + .fnstart + @ args = 0, pretend = 0, frame = 40 + @ frame_needed = 0, uses_anonymous_args = 0 + stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} + .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} + .pad #52 + sub sp, sp, #52 + ldr r6, .L3238 + mov r3, r0, asl #2 + str r3, [sp, #8] + mov r5, r0 + ldr r2, [sp, #8] + mov r1, r5 + ldr r3, [r6, #1080] + ldrh r2, [r3, r2] + ldr r3, [r3, r0, asl #2] + ubfx r2, r2, #0, #11 + ldr r0, .L3238+4 + ubfx r3, r3, #11, #8 + bl printk + movw r3, #65535 + cmp r5, r3 + beq .L3215 + movw r3, #1076 + ldrh r3, [r6, r3] + cmp r3, r5 + bls .L3215 + mov r1, #0 + mov r0, r5 + bl ftl_erase_sblk + mov r0, r5 + mov r8, #0 + add r1, sp, #32 + strh r5, [sp, #16] @ movhi + bl ftl_get_blk_list_in_sblk + strb r0, [sp, #25] + mov r0, #1 + bl buf_alloc + ldr r3, [r6, #1080] + ldr r2, [sp, #8] + mov r4, r0 + ldr r0, [r0, #4] + ldrh r3, [r3, r2] + ldrb r2, [r6, #2772] @ zero_extendqisi2 + ubfx r3, r3, #0, #11 + cmp r3, #1 + mov r2, r2, asl #9 + movle r1, #85 + movgt r1, #170 + bl ftl_memset + bl sblk_wait_write_queue_completed +.L3219: + ldr r3, .L3238+8 + uxth r10, r8 + ldr fp, .L3238+8 + ldrh r3, [r3] + cmp r3, r10 + bls .L3234 + add fp, fp, #30 + mov r9, #0 +.L3222: + ldrb r2, [sp, #25] @ zero_extendqisi2 + uxth r3, r9 + cmp r2, r3 + bls .L3235 + add r2, sp, #48 + add r3, r2, r3, asl #1 + movw r2, #65535 + ldrh r3, [r3, #-16] + cmp r3, r2 + beq .L3220 + ldrh r7, [fp] + mvn r0, #0 + ldr r2, .L3238+12 + mla r7, r7, r3, r10 + ldr r3, [r4, #4] + str r7, [r3] + ldr r3, [r4, #4] + str r2, [r3, #4] + mov r2, #0 + ldr r3, [r4, #12] + str r2, [r3] + ldrb r3, [r6, #1189] @ zero_extendqisi2 + ldrb ip, [r6, #2772] @ zero_extendqisi2 + rsb r1, r3, #24 + str r2, [sp, #4] + mvn r3, r0, asl r3 + and r0, r3, r7, lsr r1 + str ip, [sp] + bic r1, r7, r3, asl r1 + uxtb r0, r0 + ldr r2, [r4, #4] + ldr r3, [r4, #12] + bl flash_prog_page_en +.L3220: + add r9, r9, #1 + b .L3222 +.L3235: + add r8, r8, #1 + b .L3219 +.L3234: + mov r10, #0 +.L3223: + ldrh r1, [fp] + uxth r3, r10 + str r3, [sp, #12] + cmp r1, r3 + bls .L3236 + mov r9, #0 +.L3228: + ldrb r1, [sp, #25] @ zero_extendqisi2 + uxth r7, r9 + cmp r1, r7 + bls .L3237 + add r7, r7, #8 + add r3, sp, #48 + add r7, r3, r7, asl #1 + movw r3, #65535 + ldrh r1, [r7, #-32] + cmp r1, r3 + beq .L3225 + ldr r3, .L3238+16 + mov r0, r4 + ldrh r8, [r3] + ldr r3, [sp, #12] + mla r8, r8, r1, r3 + mov r1, #1 + str r8, [r4, #24] + bl sblk_read_page + ldr r1, [r4, #4] + ldr r1, [r1] + cmp r1, r8 + beq .L3225 + mov r0, r8 + bl ftl_mask_bad_block + mvn r1, #0 + strh r1, [r7, #-32] @ movhi +.L3225: + add r9, r9, #1 + b .L3228 +.L3237: + add r10, r10, #1 + b .L3223 +.L3236: + mov r0, r4 + bl zbuf_free + ldr r3, [r6, #1080] + ldr r0, .L3238+20 + mov r1, r5 + ldr r2, [sp, #8] + ldrh r2, [r3, r2] + ldr r3, [r3, r5, asl #2] + ubfx r2, r2, #0, #11 + ubfx r3, r3, #11, #8 + bl printk +.L3215: + add sp, sp, #52 + @ sp needed + ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} +.L3239: + .align 2 +.L3238: + .word .LANCHOR0 + .word .LC201 + .word .LANCHOR3-3096 + .word 1437269760 + .word .LANCHOR3-3066 + .word .LC202 + .fnend + .size ftl_ink_check_sblk, .-ftl_ink_check_sblk + .align 2 + .global ftl_alloc_sblk + .type ftl_alloc_sblk, %function +ftl_alloc_sblk: + .fnstart + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + .save {r3, r4, r5, r6, r7, r8, r9, lr} + uxth r5, r0 + cmp r0, #5 + mov r9, r0 + mov r1, r5 + mov r0, #0 + movne r7, #0 + moveq r7, #2 + bl zftl_get_free_sblk + movw r3, #65535 + cmp r0, r3 + mov r4, r0 + beq .L3242 + ldr r6, .L3256 + mov r8, r0, asl #2 + ldr r5, [r6, #1080] + add r5, r5, r8 + ldrb r3, [r5, #2] @ zero_extendqisi2 + tst r3, #224 + beq .L3243 + ldr r1, .L3256+4 + mov r2, #1012 + ldr r0, .L3256+8 + bl printk + bl dump_stack +.L3243: + ldrb r3, [r5, #2] @ zero_extendqisi2 + bfi r3, r9, #5, #3 + uxtb r3, r3 + ubfx r2, r3, #3, #2 + orr r2, r7, r2 + bfi r3, r2, #3, #2 + strb r3, [r5, #2] + uxtb r3, r3 + and r2, r3, #24 + cmp r7, #0 + cmpeq r2, #24 + moveq r2, #1 + bfieq r3, r2, #3, #2 + streqb r3, [r5, #2] + ldr r3, [r6, #2804] + ldrh r3, [r3, #150] + cmp r3, #0 + beq .L3247 + ldr r3, .L3256 + mov r0, r4 + ldr r3, [r3, #1080] + ldrh r3, [r3, r8] + ubfx r3, r3, #0, #11 + orrs r3, r7, r3 + bne .L3248 + bl ftl_ink_check_sblk + b .L3247 +.L3242: + bl print_ftl_debug_info + mov r1, r4 + mov r2, r9 + ldr r0, .L3256+12 + bl printk + mov r1, r5 + mov r0, #0 + bl zftl_get_free_sblk + mov r2, r9 + mov r4, r0 + ldr r0, .L3256+12 + mov r1, r4 + bl printk + bl dump_all_list_info + ldr r1, .L3256+4 + movw r2, #1031 + ldr r0, .L3256+8 + bl printk + bl dump_stack +.L3247: + mov r0, r4 + ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, pc} +.L3248: + ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, pc} +.L3257: + .align 2 +.L3256: + .word .LANCHOR0 + .word .LANCHOR1+2404 + .word .LC0 + .word .LC203 + .fnend + .size ftl_alloc_sblk, .-ftl_alloc_sblk + .align 2 + .global ftl_open_sblk_init + .type ftl_open_sblk_init, %function +ftl_open_sblk_init: + .fnstart + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} + .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} + mov r4, r0 + ldr r6, .L3266 + mov r5, r1 + ldr r8, .L3266+4 + mov r7, r6 +.L3259: + movw r10, #65535 +.L3260: + mov r0, r5 + bl ftl_alloc_sblk + cmp r0, r10 + mov r9, r0 + beq .L3260 + mov r1, #0 + ldr fp, .L3266+8 + bl ftl_erase_sblk + add r1, r4, #16 + mov r0, r9 + mov r10, r9, asl #1 + bl ftl_get_blk_list_in_sblk + strh r9, [r4] @ movhi + ldrh r2, [r8] + cmp r5, #2 + strb r5, [r4, #4] + uxtb r3, r0 + strb r3, [r4, #9] + mov r0, #0 + strh r0, [r4, #2] @ movhi + smulbb r3, r3, r2 + strb r0, [r4, #5] + strh r0, [r4, #10] @ movhi + ldrneb r0, [r6, #-3123] @ zero_extendqisi2 + ldr r1, [r7, #-2548] + strh r3, [r4, #6] @ movhi + ldrb r3, [r7, #-3123] @ zero_extendqisi2 + smulbbne r0, r0, r2 + mul r2, r3, r2 + uxthne r0, r0 + strh r0, [r4, #12] @ movhi + mov r2, r2, asl #2 + add r0, r1, r0, asl #2 + mov r1, #255 + bl ftl_memset + ldr r3, [fp, #1088] + ldrh r2, [r4, #6] + strh r2, [r3, r10] @ movhi + ldrb r3, [r4, #9] @ zero_extendqisi2 + cmp r3, #0 + ldmnefd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} + ldr r0, .L3266+12 + mov r1, r9 + bl printk + ldr r3, [fp, #1088] + mvn r2, #0 + strh r2, [r3, r10] @ movhi + mov r3, #7 + strb r3, [r4, #4] + b .L3259 +.L3267: + .align 2 +.L3266: + .word .LANCHOR3 + .word .LANCHOR3-3096 + .word .LANCHOR0 + .word .LC204 + .fnend + .size ftl_open_sblk_init, .-ftl_open_sblk_init + .align 2 + .global pm_alloc_new_blk + .type pm_alloc_new_blk, %function +pm_alloc_new_blk: + .fnstart + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + stmfd sp!, {r0, r1, r4, r5, r6, r7, r8, lr} + .save {r4, r5, r6, r7, r8, lr} + .pad #8 + movw r2, #690 + ldr r5, .L3286 + ldr r7, .L3286+4 + ldr r4, [r5, #2804] + ldrh r3, [r4, r2] + add r3, r3, #1 + uxth r3, r3 + strh r3, [r4, r2] @ movhi + ldrb r2, [r7, #-3123] @ zero_extendqisi2 + cmp r2, r3 + bls .L3269 + add r3, r3, #336 + mov r3, r3, asl #1 + ldrh r2, [r4, r3] + movw r3, #65535 + cmp r2, r3 + bne .L3270 +.L3269: + ldr r4, .L3286 + movw r8, #65535 +.L3271: + mov r0, #1 + bl ftl_alloc_sblk + cmp r0, r8 + mov r6, r0 + beq .L3271 + mov r1, #0 + bl ftl_erase_sblk + ldr r1, [r5, #2804] + mov r0, r6 + add r1, r1, #672 + bl ftl_get_blk_list_in_sblk + uxth r0, r0 + cmp r0, #0 + bne .L3272 + mov r1, r6 + ldr r0, .L3286+8 + bl printk + ldr r3, [r4, #1080] + add r6, r3, r6, asl #2 + ldrb r3, [r6, #2] @ zero_extendqisi2 + orr r3, r3, #224 + strb r3, [r6, #2] + b .L3271 +.L3272: + ldr r3, .L3286 + movw r2, #690 + mov r4, #0 + movw r1, #65535 + ldr r3, [r3, #2804] + strh r4, [r3, r2] @ movhi + add r3, r3, #412 + add r3, r3, #2 + mov r2, #1 + str r2, [r7, #520] +.L3274: + ldrh r0, [r3, #2]! + uxth r2, r4 + cmp r0, r1 + beq .L3273 + add r4, r4, #1 + cmp r4, #128 + bne .L3274 + mov r2, #264 + ldr r1, .L3286+12 + ldr r0, .L3286+16 + bl printk + bl dump_stack + mov r2, r4 +.L3273: + add r2, r2, #208 + ldr r3, [r5, #2804] + mov r2, r2, asl #1 + strh r6, [r3, r2] @ movhi + add r3, r3, #688 + ldrh r2, [r3] + add r2, r2, #1 + strh r2, [r3] @ movhi +.L3270: + ldr r2, [r5, #2804] + movw r3, #690 + ldrh r3, [r2, r3] + add r3, r3, #336 + mov r3, r3, asl #1 + ldrh r4, [r2, r3] + movw r2, #65533 + sub r3, r4, #1 + uxth r3, r3 + cmp r3, r2 + bls .L3276 + ldr r1, .L3286+12 + movw r2, #270 + ldr r0, .L3286+16 + bl printk + bl dump_stack +.L3276: + ldr r1, [r5, #2804] + mov r2, #0 + add r3, r1, #696 + strh r2, [r3] @ movhi + ldr r2, .L3286+20 + ldrb r3, [r5, #1189] @ zero_extendqisi2 + ldrh r5, [r2, #-12] + rsb r3, r3, #24 + movw r2, #694 + rsb r5, r5, r3 + mov r3, r4, asr r5 + strh r3, [r1, r2] @ movhi + ldr r2, .L3286+24 + add r1, r1, #692 + strh r4, [r1] @ movhi + ldr r2, [r2] + tst r2, #4096 + beq .L3280 + mvn r2, #0 + uxth r3, r3 + ldr r0, .L3286+28 + mov r1, r4 + str r3, [sp] + mvn r2, r2, asl r5 + mov r3, r4 + bl printk +.L3280: + mov r0, #0 + add sp, sp, #8 + @ sp needed + ldmfd sp!, {r4, r5, r6, r7, r8, pc} +.L3287: + .align 2 +.L3286: + .word .LANCHOR0 + .word .LANCHOR3 + .word .LC204 + .word .LANCHOR1+2420 + .word .LC0 + .word .LANCHOR3-3120 + .word .LANCHOR2 + .word .LC205 + .fnend + .size pm_alloc_new_blk, .-pm_alloc_new_blk + .align 2 + .global pm_write_page + .type pm_write_page, %function +pm_write_page: + .fnstart + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} + .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} + .pad #12 + mov r6, r0 + ldr r8, .L3302 + mov r7, r1 + ldr r9, .L3302+4 + mov r4, r8 +.L3289: + ldr r3, [r8, #2804] + ldr r2, [r3, #48] + add r2, r2, #1 + str r2, [r3, #48] + add r2, r3, #696 + ldrh r1, [r2] + ldrh r2, [r9] + cmp r1, r2 + bcs .L3290 + add r3, r3, #692 + ldrh r2, [r3] + movw r3, #65535 + cmp r2, r3 + bne .L3291 +.L3290: + bl pm_alloc_new_blk + mov r0, #0 + bl ftl_info_flush +.L3291: + ldr r3, [r4, #2804] + add r3, r3, #692 + ldrh r2, [r3] + movw r3, #65535 + cmp r2, r3 + bne .L3292 + ldr r1, .L3302+8 + movw r2, #303 + ldr r0, .L3302+12 + bl printk + bl dump_stack +.L3292: + ldr r3, [r4, #2804] + ldr r5, .L3302+16 + add r2, r3, #692 + add r3, r3, #696 + ldrh r1, [r2] + ldr r2, .L3302+20 + ldr r0, [r5, #524] + ldrh r10, [r2] + ldrh r2, [r3] + mla r10, r10, r1, r2 + mov r2, #64 + mov r1, #0 + bl ftl_memset + ldr r3, [r5, #524] + mov r0, r7 + str r6, [r3] + ldr r3, [r4, #2804] + ldr fp, [r5, #524] + ldrb r1, [r4, #2772] @ zero_extendqisi2 + ldr r3, [r3, #48] + mov r1, r1, asl #9 + str r3, [fp, #4] + bl js_hash + ldr r3, [r4, #2804] + mov r1, r10 + mov r2, r7 + str r0, [fp, #8] + ldrb r0, [r3, #694] @ zero_extendqisi2 + ldrb r3, [r4, #2772] @ zero_extendqisi2 + str r3, [sp] + ldr r3, [r5, #524] + bl ftl_prog_page + ldr r2, [r4, #2804] + add r1, r2, #696 + ldrh r3, [r1] + add r3, r3, #1 + uxth r3, r3 + strh r3, [r1] @ movhi + cmp r3, #1 + beq .L3293 + ldrb r3, [r5, #528] @ zero_extendqisi2 + cmp r3, #0 + beq .L3294 +.L3293: + mov r3, #0 + strb r3, [r5, #528] + b .L3289 +.L3294: + cmn r0, #1 + bne .L3296 + mov r1, r10 + ldr r0, .L3302+24 + bl printk + b .L3289 +.L3296: + movw r3, #698 + mov r0, #0 + ldrh r3, [r2, r3] + cmp r6, r3 + addcc r6, r6, #176 + strcc r10, [r2, r6, asl #2] + add sp, sp, #12 + @ sp needed + ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} +.L3303: + .align 2 +.L3302: + .word .LANCHOR0 + .word .LANCHOR3-3096 + .word .LANCHOR1+2440 + .word .LC0 + .word .LANCHOR3 + .word .LANCHOR3-3066 + .word .LC206 + .fnend + .size pm_write_page, .-pm_write_page + .align 2 .global flash_info_flush .type flash_info_flush, %function flash_info_flush: .fnstart @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L3267 + ldr r3, .L3318 stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #20 sub sp, sp, #20 ldr r3, [r3] tst r3, #4096 - beq .L3254 - ldr r0, .L3267+4 - mov r1, #364 - ldr r2, .L3267+8 + beq .L3305 + ldr r0, .L3318+4 + movw r1, #365 + ldr r2, .L3318+8 bl printk -.L3254: - ldr r5, .L3267+12 +.L3305: + ldr r5, .L3318+12 mov r1, #0 - ldr r6, .L3267+16 + ldr r6, .L3318+16 mov r2, #64 - add r8, r5, #468 + add r8, r5, #536 mov r9, #0 - ldr r0, [r5, #464] + ldr r0, [r5, #532] mov r7, r5 bl ftl_memset - ldr r0, .L3267+20 + ldr r0, .L3318+20 ldr r1, [r6, #1176] mov r2, #4 mov r3, #16 @@ -19316,35 +19776,34 @@ flash_info_flush: ldr r1, [r4, #8] bl js_hash str r0, [r4, #12] -.L3255: - ldrb r3, [r5, #468] @ zero_extendqisi2 +.L3306: + ldrb r3, [r5, #536] @ zero_extendqisi2 ldrh r4, [r8, #2] ldrh ip, [r6, #2] mov r1, r3 - ldr r0, .L3267+24 + ldr r0, .L3318+24 mov r2, r4 str r3, [sp, #8] str ip, [sp, #12] bl printk - ldr r2, .L3267+28 + ldrh r2, [r5, #-220] ldrh r0, [r8, #2] - ldr fp, .L3267+16 - ldrh r2, [r2] sub r2, r2, #1 + ldr fp, .L3318+16 cmp r0, r2 ldr r3, [sp, #8] ldr ip, [sp, #12] - blt .L3256 + blt .L3307 ldr r4, [fp, #1176] - ldrb r2, [r7, #469] @ zero_extendqisi2 + ldrb r2, [r7, #537] @ zero_extendqisi2 ldr r3, [r4, #4] mov r0, r4 add r3, r3, #1 str r3, [r4, #4] - ldrb r3, [r7, #468] @ zero_extendqisi2 - strb r2, [r7, #468] + ldrb r3, [r7, #536] @ zero_extendqisi2 + strb r2, [r7, #536] ldrh r2, [r4, #16] - strb r3, [r7, #469] + strb r3, [r7, #537] mov r3, #0 add r2, r2, #1 strh r2, [r0, #16]! @ movhi @@ -19352,30 +19811,30 @@ flash_info_flush: strh r3, [r8, #2] @ movhi str r3, [sp, #8] bl js_hash - ldrb r2, [r7, #468] @ zero_extendqisi2 + ldrb r2, [r7, #536] @ zero_extendqisi2 str r0, [r4, #12] ldr r3, [sp, #8] ldrh r4, [fp, #2] mov r0, r3 mul r4, r4, r2 - b .L3265 -.L3256: + b .L3316 +.L3307: cmp r0, #0 mla r4, ip, r3, r4 - bne .L3257 -.L3265: + bne .L3308 +.L3316: mov r1, r4 bl flash_erase_block -.L3257: +.L3308: ldr r2, [r6, #1176] mov fp, #1 - ldr r3, [r5, #464] + ldr r3, [r5, #532] mov r0, #0 mov r1, r4 ldr r2, [r2, #4] str r2, [r3] - ldr r2, .L3267+32 - ldr r3, [r5, #464] + ldr r2, .L3318+28 + ldr r3, [r5, #532] str r2, [r3, #4] mov r2, #4 stmia sp, {r2, fp} @@ -19385,33 +19844,32 @@ flash_info_flush: add r3, r3, fp strh r3, [r10, #2] @ movhi cmn r0, #1 - bne .L3258 + bne .L3309 mov r1, r4 - ldr r0, .L3267+36 + ldr r0, .L3318+32 bl printk - b .L3255 -.L3258: + b .L3306 +.L3309: cmp r9, #0 moveq r9, fp - beq .L3255 -.L3266: + beq .L3306 +.L3317: mov r0, #0 add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3268: +.L3319: .align 2 -.L3267: +.L3318: .word .LANCHOR2 - .word .LC141 + .word .LC138 .word .LANCHOR1+2456 .word .LANCHOR3 .word .LANCHOR0 - .word .LC204 - .word .LC205 - .word .LANCHOR3-292 + .word .LC207 + .word .LC208 .word 1398362953 - .word .LC206 + .word .LC209 .fnend .size flash_info_flush, .-flash_info_flush .align 2 @@ -19421,173 +19879,173 @@ flash_info_blk_init: .fnstart @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L3302 + ldr r3, .L3353 stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #20 sub sp, sp, #20 ldr r3, [r3] - ldr r6, .L3302+4 + ldr r6, .L3353+4 tst r3, #4096 - beq .L3270 + beq .L3321 ldr r3, [r6, #1176] - mov r1, #49 - ldr r0, .L3302+8 - ldr r2, .L3302+12 + mov r1, #50 + ldr r0, .L3353+8 + ldr r2, .L3353+12 str r3, [sp] mov r3, #2048 bl printk -.L3270: - ldr ip, .L3302+4 +.L3321: + ldr ip, .L3353+4 mov r7, #4 - ldr fp, .L3302+16 -.L3271: + ldr fp, .L3353+16 +.L3322: mov r5, #0 -.L3274: +.L3325: ldrh r1, [r6, #2] mov r8, #4 - ldr r4, .L3302+20 + ldr r4, .L3353+20 mov r0, #0 str r8, [sp] mla r1, r1, r7, r5 ldr r2, [r6, #1176] - ldr r3, [r4, #464] + ldr r3, [r4, #532] str ip, [sp, #12] bl flash_read_page_en - ldr r9, .L3302+4 + ldr r9, .L3353+4 cmn r0, #1 ldr ip, [sp, #12] - beq .L3272 + beq .L3323 ldr r2, [ip, #1176] - ldr r10, .L3302+16 + ldr r10, .L3353+16 ldr r3, [r2] cmp r3, fp - beq .L3273 -.L3272: + beq .L3324 +.L3323: add r5, r5, #1 cmp r5, #4 - bne .L3274 + bne .L3325 add r7, r7, #1 cmp r7, #16 - bne .L3271 - b .L3283 -.L3273: + bne .L3322 + b .L3334 +.L3324: ldrb r1, [r2, #37] @ zero_extendqisi2 mov r0, #0 ldrb r3, [r2, #36] @ zero_extendqisi2 - strb r1, [r4, #469] + strb r1, [r4, #537] ldrh r1, [r9, #2] - strb r3, [r4, #468] + strb r3, [r4, #536] str r8, [sp] mul r1, r1, r3 - ldr r3, [r4, #464] + ldr r3, [r4, #532] bl flash_read_page_en cmn r0, #1 - beq .L3284 + beq .L3335 ldr r3, [r9, #1176] ldr r2, [r3] cmp r2, fp ldreq r5, [r3, #4] - bne .L3284 -.L3276: - ldrb r3, [r4, #469] @ zero_extendqisi2 + bne .L3335 +.L3327: + ldrb r3, [r4, #537] @ zero_extendqisi2 mov r2, #4 ldrh r1, [r6, #2] mov r0, #0 str r2, [sp] ldr r2, [r6, #1176] mul r1, r1, r3 - ldr r3, [r4, #464] + ldr r3, [r4, #532] bl flash_read_page_en - ldr r7, .L3302+20 + ldr r7, .L3353+20 cmn r0, #1 - bne .L3301 -.L3277: + bne .L3352 +.L3328: ldr r2, [r6, #1176] mov r8, #4 - ldr r3, [r4, #464] + ldr r3, [r4, #532] mov r0, #0 - ldrb r1, [r4, #468] @ zero_extendqisi2 + ldrb r1, [r4, #536] @ zero_extendqisi2 mov r7, #0 str r8, [sp] bl flash_get_last_written_page - ldr r3, .L3302+24 + ldr r3, .L3353+24 ldrh r9, [r6, #2] - ldr ip, .L3302+4 + ldr ip, .L3353+4 uxth fp, r0 add r2, fp, #1 strh r2, [r3, #2] @ movhi - ldrb r3, [r4, #468] @ zero_extendqisi2 + ldrb r3, [r4, #536] @ zero_extendqisi2 mla r9, r9, r3, r0 -.L3278: +.L3329: rsb r5, r7, fp sxth r5, r5 cmp r5, #0 - bge .L3281 + bge .L3332 cmn r5, #1 - bne .L3280 + bne .L3331 ldr r3, [r6, #1176] - ldr r0, .L3302+28 + ldr r0, .L3353+28 ldr r1, [r3] bl printk -.L3283: +.L3334: mvn r0, #0 - b .L3299 -.L3284: + b .L3350 +.L3335: mov r5, #0 - b .L3276 -.L3301: - ldr r3, .L3302+4 + b .L3327 +.L3352: + ldr r3, .L3353+4 ldr r3, [r3, #1176] ldr r2, [r3] cmp r2, r10 - bne .L3277 + bne .L3328 ldr r2, [r3, #4] cmp r5, r2 ldrccb r2, [r3, #37] @ zero_extendqisi2 ldrccb r3, [r3, #36] @ zero_extendqisi2 - strccb r2, [r7, #468] - strccb r3, [r7, #469] - b .L3277 -.L3281: + strccb r2, [r7, #536] + strccb r3, [r7, #537] + b .L3328 +.L3332: str r8, [sp] mov r0, #0 rsb r1, r7, r9 ldr r2, [r6, #1176] - ldr r3, [r4, #464] + ldr r3, [r4, #532] str ip, [sp, #12] bl flash_read_page_en cmn r0, #1 ldr ip, [sp, #12] - beq .L3279 + beq .L3330 ldr r3, [ip, #1176] ldr r3, [r3] cmp r3, r10 - beq .L3280 -.L3279: + beq .L3331 +.L3330: add r7, r7, #1 - b .L3278 -.L3280: + b .L3329 +.L3331: cmp r7, #1 - bls .L3285 + bls .L3336 bl flash_info_flush -.L3285: +.L3336: mov r0, #0 -.L3299: +.L3350: add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3303: +.L3354: .align 2 -.L3302: +.L3353: .word .LANCHOR2 .word .LANCHOR0 - .word .LC207 + .word .LC210 .word .LANCHOR1+2476 .word 1398362953 .word .LANCHOR3 - .word .LANCHOR3+468 - .word .LC208 + .word .LANCHOR3+536 + .word .LC211 .fnend .size flash_info_blk_init, .-flash_info_blk_init .align 2 @@ -19600,25 +20058,25 @@ nand_flash_init: stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r4, r0 - ldr r6, .L3394 + ldr r6, .L3445 ldr r3, [r6] tst r3, #4096 - beq .L3305 - ldr r0, .L3394+4 - movw r1, #3429 - ldr r2, .L3394+8 + beq .L3356 + ldr r0, .L3445+4 + movw r1, #3450 + ldr r2, .L3445+8 bl printk -.L3305: - ldr r5, .L3394+12 +.L3356: + ldr r5, .L3445+12 mov r0, r4 mov r7, #0 - ldr r4, .L3394+16 - str r7, [r5, #-184] + ldr r4, .L3445+16 + str r7, [r5, #-112] bl nandc_init - ldr r3, .L3394+20 + ldr r3, .L3445+20 mov r1, r7 mov r2, #8 - ldr r0, .L3394+24 + ldr r0, .L3445+24 add r10, r4, #1200 mov r9, r4 str r3, [r4, #1096] @@ -19627,79 +20085,79 @@ nand_flash_init: mov r3, #3 strb r3, [r4, #1189] bl ftl_memset - sub r0, r5, #288 + sub r0, r5, #216 mov r1, r7 mov r2, #32 mov fp, r10 bl ftl_memset -.L3311: +.L3362: mov r8, r7, asl #3 uxtb r0, r7 add r1, r10, r8 bl flash_read_id cmp r7, #0 - ldr r1, .L3394+28 - bne .L3306 + ldr r1, .L3445+28 + bne .L3357 ldrb r3, [r9, #1200] @ zero_extendqisi2 sub r3, r3, #1 uxtb r3, r3 cmp r3, #253 - bls .L3307 -.L3309: + bls .L3358 +.L3360: mvn r7, #1 - b .L3383 -.L3307: + b .L3434 +.L3358: ldrb r3, [r9, #1201] @ zero_extendqisi2 cmp r3, #255 - beq .L3309 -.L3306: + beq .L3360 +.L3357: ldrb r3, [fp, r8] @ zero_extendqisi2 add r7, r7, #1 cmp r3, #181 - ldreq r3, .L3394+28 + ldreq r3, .L3445+28 moveq r2, #44 streqb r2, [r8, r3] cmp r7, #4 - bne .L3311 - ldr ip, .L3394+32 + bne .L3362 + ldr ip, .L3445+32 mov r3, #0 -.L3347: +.L3398: mov r0, r3, asl #5 ldrb r8, [ip, r3, asl #5] @ zero_extendqisi2 add r7, r0, #1 - ldr lr, .L3394+32 + ldr lr, .L3445+32 add r7, ip, r7 mov r2, #0 -.L3312: +.L3363: cmp r2, r8 - bcs .L3393 + bcs .L3444 ldrb r10, [r7, r2] @ zero_extendqisi2 ldrb r9, [r1, r2] @ zero_extendqisi2 cmp r10, r9 - bne .L3313 + bne .L3364 add r2, r2, #1 - b .L3312 -.L3393: + b .L3363 +.L3444: adds r8, lr, r0 - beq .L3309 - ldr r3, .L3394 - ldr r2, .L3394+36 + beq .L3360 + ldr r3, .L3445 + ldr r2, .L3445+36 add r0, r3, r0 mov r3, #0 ldrb r1, [r0, #446] @ zero_extendqisi2 -.L3317: +.L3368: ldrb r0, [r2, r3, asl #5] @ zero_extendqisi2 cmp r0, r1 - beq .L3316 + beq .L3367 add r3, r3, #1 cmp r3, #4 - bne .L3317 -.L3316: - ldr r1, .L3394+36 + bne .L3368 +.L3367: + ldr r1, .L3445+36 mov r2, #32 - ldr r7, .L3394 + ldr r7, .L3445 add r1, r1, r3, asl #5 - ldr r0, .L3394+40 + ldr r0, .L3445+40 bl ftl_memcpy add r0, r7, #4 mov r1, r8 @@ -19707,81 +20165,81 @@ nand_flash_init: bl ftl_memcpy ldrb r3, [r4, #1028] @ zero_extendqisi2 cmp r3, #8 - bhi .L3318 + bhi .L3369 ldrb r3, [r7, #24] @ zero_extendqisi2 cmp r3, #60 movhi r3, #60 strhib r3, [r7, #24] - b .L3318 -.L3313: + b .L3369 +.L3364: add r3, r3, #1 cmp r3, #49 - bne .L3347 - b .L3309 -.L3318: + bne .L3398 + b .L3360 +.L3369: ldr r3, [r6] tst r3, #4096 - beq .L3349 - ldr r0, .L3394+4 - mov r1, #3456 - ldr r2, .L3394+8 + beq .L3400 + ldr r0, .L3445+4 + movw r1, #3477 + ldr r2, .L3445+8 bl printk -.L3349: +.L3400: ldr r3, [r4, #1096] mov r0, #16384 mov r7, #0 ldrh r3, [r3, #10] cmp r3, #1024 - ldrcs r3, .L3394+16 + ldrcs r3, .L3445+16 movcs r2, #2 strcsb r2, [r3, #1189] bl ftl_malloc - str r0, [r5, #-176] + str r0, [r5, #-104] mov r0, #16384 bl ftl_malloc - str r0, [r5, #-200] + str r0, [r5, #-128] mov r0, #2048 bl ftl_malloc str r0, [r4, #1176] mov r0, #64 bl ftl_malloc - str r0, [r5, #-172] + str r0, [r5, #-100] mov r0, #64 bl ftl_malloc - str r0, [r5, #-192] + str r0, [r5, #-120] mov r0, #64 bl ftl_malloc - strb r7, [r5, #472] - str r0, [r5, #464] + strb r7, [r5, #540] + str r0, [r5, #532] bl flash_die_info_init ldrb r0, [r6, #22] @ zero_extendqisi2 bl flash_lsb_page_tbl_build ldrb r0, [r6, #24] @ zero_extendqisi2 bl nandc_bch_sel ldr r1, [r4, #1096] - str r7, [r5, #-180] + str r7, [r5, #-108] ldrh r3, [r1, #16] ubfx r2, r3, #8, #3 strb r2, [r4, #1232] ubfx r2, r3, #3, #1 - strb r2, [r5, #-160] + strb r2, [r5, #-88] ubfx r2, r3, #4, #1 strb r2, [r4, #1233] ubfx r2, r3, #12, #1 - strb r2, [r5, #-3188] + strb r2, [r5, #-3116] ubfx r2, r3, #13, #1 - strb r2, [r5, #-3194] + strb r2, [r5, #-3122] ubfx r2, r3, #11, #1 strb r2, [r4, #1196] ldrb r2, [r1, #31] @ zero_extendqisi2 ldrb r1, [r1, #28] @ zero_extendqisi2 ubfx r0, r2, #1, #1 - strb r0, [r5, #-2612] + strb r0, [r5, #-2536] ubfx r0, r2, #2, #1 - strb r0, [r5, #473] + strb r0, [r5, #541] ubfx r0, r3, #14, #1 mov r3, r3, lsr #15 - strb r3, [r5, #-3193] + strb r3, [r5, #-3121] ubfx r3, r2, #3, #1 strb r3, [r4, #1188] mov r3, #60 @@ -19792,64 +20250,64 @@ nand_flash_init: cmp r3, #9 strb r1, [r4] strb r1, [r4, #1102] - ldreq r2, .L3394+16 + ldreq r2, .L3445+16 ldrb r1, [r6, #35] @ zero_extendqisi2 strb r0, [r4, #1] moveq r0, #70 streqb r0, [r2, #1100] tst r1, #1 - ldr r2, .L3394+16 - beq .L3321 - ldr r1, .L3394 + ldr r2, .L3445+16 + beq .L3372 + ldr r1, .L3445 ldrb r1, [r1, #33] @ zero_extendqisi2 cmp r1, #0 movne r1, #2 moveq r1, #3 strb r1, [r2, #1102] -.L3321: +.L3372: cmp r3, #8 - bne .L3323 + bne .L3374 ldrb r3, [r4, #1200] @ zero_extendqisi2 cmp r3, #44 cmpne r3, #137 - bne .L3323 + bne .L3374 ldrb r3, [r6, #32] @ zero_extendqisi2 cmp r3, #3 - ldreq r3, .L3394+16 + ldreq r3, .L3445+16 moveq r2, #0 streqb r2, [r3, #1102] -.L3323: +.L3374: ldrh r2, [r6, #20] ldrb r3, [r6, #23] @ zero_extendqisi2 tst r2, #64 - ldr r0, .L3394+16 + ldr r0, .L3445+16 strb r3, [r4, #1173] - beq .L3325 + beq .L3376 sub r2, r3, #17 sub r1, r3, #21 clz r1, r1 cmp r3, #21 cmpne r2, #2 mov r1, r1, lsr #5 - bhi .L3326 - ldr r2, .L3394+44 + bhi .L3377 + ldr r2, .L3445+44 cmp r1, #0 - ldr r3, .L3394+12 - str r2, [r5, #-180] + ldr r3, .L3445+12 + str r2, [r5, #-108] moveq r2, #15 movne r2, #4 - strb r2, [r3, #-188] - b .L3325 -.L3326: + strb r2, [r3, #-116] + b .L3376 +.L3377: sub r2, r3, #65 cmp r3, #33 cmpne r2, #1 - ldrls r3, .L3394+48 - strls r3, [r5, #-180] + ldrls r3, .L3445+48 + strls r3, [r5, #-108] movls r3, #4 strlsb r3, [r0, #1174] - bls .L3392 -.L3329: + bls .L3443 +.L3380: sub r1, r3, #67 sub r2, r3, #34 cmp r1, #1 @@ -19865,138 +20323,138 @@ nand_flash_init: cmp r2, #0 mov ip, ip, lsr #5 mov lr, lr, lsr #5 - beq .L3330 - ldr r2, .L3394+48 - ldr r3, .L3394+12 - str r2, [r5, #-180] + beq .L3381 + ldr r2, .L3445+48 + ldr r3, .L3445+12 + str r2, [r5, #-108] orrs r2, lr, ip moveq r2, #7 movne r2, #17 cmp r1, #0 - strb r2, [r3, #-188] + strb r2, [r3, #-116] movne r3, #4 moveq r3, #5 strb r3, [r4, #1174] - b .L3325 -.L3330: + b .L3376 +.L3381: sub r1, r3, #36 cmp r1, #1 - bhi .L3334 - ldr r3, .L3394+52 - str r3, [r5, #-180] -.L3392: + bhi .L3385 + ldr r3, .L3445+52 + str r3, [r5, #-108] +.L3443: mov r3, #7 - b .L3390 -.L3334: + b .L3441 +.L3385: cmp r3, #50 - bne .L3335 - ldr r3, .L3394+56 - str r3, [r5, #-180] + bne .L3386 + ldr r3, .L3445+56 + str r3, [r5, #-108] mov r3, #25 -.L3390: - strb r3, [r5, #-188] - b .L3325 -.L3335: +.L3441: + strb r3, [r5, #-116] + b .L3376 +.L3386: cmp r3, #81 streqb r2, [r0, #1136] - ldreq r3, .L3394+60 - streq r3, [r5, #-180] + ldreq r3, .L3445+60 + streq r3, [r5, #-108] moveq r3, #7 - streqb r3, [r5, #-188] -.L3325: + streqb r3, [r5, #-116] +.L3376: ldr r3, [r6] tst r3, #4096 - beq .L3336 - ldr r0, .L3394+4 - movw r1, #3549 - ldr r2, .L3394+8 + beq .L3387 + ldr r0, .L3445+4 + movw r1, #3570 + ldr r2, .L3445+8 bl printk -.L3336: +.L3387: mov r3, #0 strb r3, [r4, #1135] ldrb r3, [r4, #1232] @ zero_extendqisi2 tst r3, #1 moveq r0, #4 - beq .L3391 - ldr r3, .L3394+16 + beq .L3442 + ldr r3, .L3445+16 ldrb r3, [r3, #1200] @ zero_extendqisi2 cmp r3, #155 - beq .L3338 + beq .L3389 mov r0, #4 bl flash_set_interface_mode mov r0, #4 bl nandc_set_if_mode -.L3338: +.L3389: mov r0, #1 bl flash_set_interface_mode mov r0, #1 -.L3391: +.L3442: bl nandc_set_if_mode bl flash_info_blk_init cmn r0, #1 mov r7, r0 - bne .L3340 + bne .L3391 ldr r3, [r4, #1176] mov r2, #17 mov r0, #0 strb r0, [r4, #1192] strb r2, [r3, #32] bl zftl_flash_exit_slc_mode - b .L3383 -.L3340: + b .L3434 +.L3391: ldrb r3, [r6, #11] @ zero_extendqisi2 cmp r3, #9 - bne .L3341 + bne .L3392 ldr r3, [r4, #1176] ldrb r3, [r3, #20] @ zero_extendqisi2 cmp r3, #1 - ldrne r3, .L3394+16 + ldrne r3, .L3445+16 movne r2, #0 strneb r2, [r3, #1102] -.L3341: +.L3392: ldrb r3, [r4, #1173] @ zero_extendqisi2 - ldr r7, .L3394+16 + ldr r7, .L3445+16 sub r3, r3, #1 cmp r3, #7 - ldrls r3, .L3394+64 - strls r3, [r5, #-180] + ldrls r3, .L3445+64 + strls r3, [r5, #-108] ldrb r3, [r4, #1232] @ zero_extendqisi2 tst r3, #4 - beq .L3344 + beq .L3395 ldr r3, [r7, #1176] ldrb r3, [r3, #19] @ zero_extendqisi2 cmp r3, #0 - beq .L3344 - ldrb r3, [r5, #468] @ zero_extendqisi2 + beq .L3395 + ldrb r3, [r5, #536] @ zero_extendqisi2 mov r0, #0 ldrh r1, [r7, #2] mul r1, r1, r3 bl flash_ddr_para_scan ldrb r3, [r7, #1135] @ zero_extendqisi2 cmp r3, #0 - bne .L3344 + bne .L3395 ldr r2, [r7, #1176] strb r3, [r2, #19] bl flash_info_flush -.L3344: +.L3395: ldr r3, [r6] tst r3, #4096 - beq .L3346 - ldr r0, .L3394+4 - movw r1, #3647 - ldr r2, .L3394+8 + beq .L3397 + ldr r0, .L3445+4 + movw r1, #3673 + ldr r2, .L3445+8 bl printk -.L3346: +.L3397: bl nand_flash_print_info mov r7, #0 -.L3383: +.L3434: mov r0, r7 ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3395: +.L3446: .align 2 -.L3394: +.L3445: .word .LANCHOR2 - .word .LC141 + .word .LC138 .word .LANCHOR1+2496 .word .LANCHOR3 .word .LANCHOR0 @@ -20028,22 +20486,22 @@ ftl_sysblk_dump: sub sp, sp, #52 mov r0, #1 bl buf_alloc - ldr r10, .L3408 + ldr r10, .L3459 mov r6, #0 mov r5, r6 ldr ip, [r0, #4] mov r4, r0 -.L3397: +.L3448: ldrh r3, [r10] uxth r8, r6 cmp r3, r8 - bls .L3407 - ldr r3, .L3408+4 + bls .L3458 + ldr r3, .L3459+4 add r6, r6, #1 ldr r1, [r4, #4] ldr r2, [r4, #12] ldrh r7, [r3] - ldr r3, .L3408+8 + ldr r3, .L3459+8 str ip, [sp, #44] mla r7, r7, fp, r8 ldrb r3, [r3, #2772] @ zero_extendqisi2 @@ -20054,7 +20512,7 @@ ftl_sysblk_dump: str r0, [sp] mov r9, r0 ldr r1, [r2] - ldr r0, .L3408+12 + ldr r0, .L3459+12 str r1, [sp, #4] ldr r1, [r2, #4] str r1, [sp, #8] @@ -20078,9 +20536,9 @@ ftl_sysblk_dump: cmpne r9, #512 moveq r5, #1 ldr ip, [sp, #44] - b .L3397 -.L3407: - ldr r0, .L3408+16 + b .L3448 +.L3458: + ldr r0, .L3459+16 add r1, ip, #704 mov r2, #4 mov r3, #32 @@ -20088,25 +20546,25 @@ ftl_sysblk_dump: mov r0, r4 bl zbuf_free cmp r5, #0 - beq .L3400 - ldr r1, .L3408+20 - movw r2, #1611 - ldr r0, .L3408+24 + beq .L3451 + ldr r1, .L3459+20 + movw r2, #1619 + ldr r0, .L3459+24 bl printk bl dump_stack -.L3400: +.L3451: mov r0, r5 add sp, sp, #52 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3409: +.L3460: .align 2 -.L3408: - .word .LANCHOR3-3172 - .word .LANCHOR3-3142 +.L3459: + .word .LANCHOR3-3096 + .word .LANCHOR3-3066 .word .LANCHOR0 - .word .LC200 - .word .LC209 + .word .LC196 + .word .LC212 .word .LANCHOR1+2512 .word .LC0 .fnend @@ -20122,53 +20580,53 @@ ftl_open_sblk_recovery: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #228 sub sp, sp, #228 - ldr r5, .L3549 + ldr r5, .L3600 mov r4, r0 str r1, [sp, #28] ldr r3, [r5] tst r3, #4096 - beq .L3411 - ldr r0, .L3549+4 + beq .L3462 + ldr r0, .L3600+4 ldrh r1, [r4, #2] bl printk -.L3411: +.L3462: ldr r3, [r5] tst r3, #4096 - beq .L3412 - ldr r0, .L3549+8 + beq .L3463 + ldr r0, .L3600+8 ldrb r1, [r4, #5] @ zero_extendqisi2 bl printk -.L3412: +.L3463: ldr r3, [r5] tst r3, #4096 - beq .L3413 - ldr r0, .L3549+12 + beq .L3464 + ldr r0, .L3600+12 ldrh r1, [r4] bl printk -.L3413: +.L3464: ldr r3, [r5] tst r3, #4096 - beq .L3414 - ldr r0, .L3549+16 + beq .L3465 + ldr r0, .L3600+16 ldrh r1, [r4, #16] ldrh r2, [r4, #18] bl printk -.L3414: +.L3465: ldr r3, [r5] tst r3, #4096 - beq .L3415 - ldr r0, .L3549+20 + beq .L3466 + ldr r0, .L3600+20 ldrb r1, [r4, #9] @ zero_extendqisi2 bl printk -.L3415: +.L3466: ldrh r3, [r4, #10] - ldr r6, .L3549+24 + ldr r6, .L3600+24 ldrh r2, [r4] strh r3, [r4, #14] @ movhi movw r3, #1076 ldrh r3, [r6, r3] cmp r2, r3 - bcs .L3410 + bcs .L3461 mov r0, #1 bl buf_alloc ldrb r3, [r6, #2772] @ zero_extendqisi2 @@ -20195,23 +20653,23 @@ ftl_open_sblk_recovery: str r3, [sp, #12] mov r3, #0 str r3, [sp, #24] -.L3417: - ldr r3, .L3549+28 +.L3468: + ldr r3, .L3600+28 ldrh r3, [r3] cmp r3, r7 - bls .L3420 + bls .L3471 ldrb r6, [r4, #5] @ zero_extendqisi2 - ldr r8, .L3549+24 -.L3418: + ldr r8, .L3600+24 +.L3469: ldrb r3, [r4, #9] @ zero_extendqisi2 cmp r3, r6 - bls .L3545 + bls .L3596 add r3, r4, r6, asl #1 ldrh r10, [r3, #16] movw r3, #65535 cmp r10, r3 - beq .L3419 - ldr r3, .L3549+32 + beq .L3470 + ldr r3, .L3600+32 ldr r1, [r5, #4] ldr r2, [r5, #12] ldrh r3, [r3] @@ -20222,74 +20680,74 @@ ftl_open_sblk_recovery: bl ftl_read_ppa_page cmp r0, #512 mov r9, r0 - beq .L3420 + beq .L3471 cmn r0, #1 - beq .L3421 + beq .L3472 ldr r3, [r5, #12] ldr r2, [r3] cmn r2, #1 - bne .L3421 + bne .L3472 ldr r3, [r3, #4] cmn r3, #1 - bne .L3421 + bne .L3472 ldr r3, [r5, #4] ldr r3, [r3] cmn r3, #1 - beq .L3420 -.L3421: - ldr r3, .L3549+36 + beq .L3471 +.L3472: + ldr r3, .L3600+36 mov r2, #1 - strb r2, [r3, #145] + strb r2, [r3, #209] ldrb r3, [r4, #9] @ zero_extendqisi2 ldrh r2, [r4, #10] mla r3, r3, r7, r6 cmp r2, r3 - beq .L3422 - ldr r1, .L3549+40 - movw r2, #1686 - ldr r0, .L3549+44 + beq .L3473 + ldr r1, .L3600+40 + movw r2, #1694 + ldr r0, .L3600+44 bl printk bl dump_stack -.L3422: +.L3473: ldrh r3, [r4, #6] ldrh r2, [r4, #10] add r2, r3, r2 - ldr r3, .L3549+28 + ldr r3, .L3600+28 ldrh r1, [r3] ldrb r3, [r4, #9] @ zero_extendqisi2 mul r3, r3, r1 cmp r2, r3 - beq .L3423 - ldr r1, .L3549+40 - movw r2, #1687 - ldr r0, .L3549+44 + beq .L3474 + ldr r1, .L3600+40 + movw r2, #1695 + ldr r0, .L3600+44 bl printk bl dump_stack -.L3423: - ldr r3, .L3549+24 +.L3474: + ldr r3, .L3600+24 ldrb r3, [r3, #2772] @ zero_extendqisi2 cmp r3, #8 - bls .L3424 + bls .L3475 ldr r3, [r5, #12] - ldr r1, .L3549+48 + ldr r1, .L3600+48 ldr r2, [r3] cmp r2, r1 - beq .L3424 + beq .L3475 cmn r9, #1 - beq .L3429 + beq .L3480 ldr r2, [r3, #4] cmn r2, #1 - beq .L3462 + beq .L3513 ldr r2, [r3, #16] - ldr r1, .L3549+52 + ldr r1, .L3600+52 cmp r2, r1 - bne .L3462 + bne .L3513 ldr r0, [sp, #16] mov r1, #1024 ldr fp, [r3, #20] bl js_hash cmp fp, r0 - beq .L3462 + beq .L3513 mov r1, #1024 ldr r0, [sp, #16] bl js_hash @@ -20298,47 +20756,47 @@ ftl_open_sblk_recovery: str r9, [sp] str r0, [sp, #4] ldr r3, [sp, #20] - ldr r0, .L3549+56 + ldr r0, .L3600+56 bl printk - ldr r0, .L3549+60 + ldr r0, .L3600+60 mov r2, #4 mov r3, #16 ldr r1, [sp, #16] bl rknand_print_hex ldrb r3, [r8, #2772] @ zero_extendqisi2 - ldr r0, .L3549+64 + ldr r0, .L3600+64 mov r2, #4 ldr r1, [r5, #12] mov r3, r3, lsr #1 bl rknand_print_hex - b .L3429 -.L3424: + b .L3480 +.L3475: cmn r9, #1 - beq .L3429 -.L3462: + beq .L3480 +.L3513: ldr r3, [r5, #12] ldr r0, [r3, #4] cmn r0, #1 - beq .L3429 + beq .L3480 ldr r3, [r3] - ldr r2, .L3549+48 + ldr r2, .L3600+48 cmp r3, r2 - beq .L3429 + beq .L3480 bl lpa_hash_get_ppa ldr r2, [sp, #28] mov r3, r0 cmp r2, #0 - beq .L3428 + beq .L3479 ldr r2, [r5, #12] ldr r1, [r2, #8] str r2, [sp, #24] cmp r0, r1 cmnne r0, #1 - beq .L3428 - ldr r2, .L3549+24 + beq .L3479 + ldr r2, .L3600+24 mov r9, #1 - ldr fp, .L3549+68 - ldr r10, .L3549+36 + ldr fp, .L3600+68 + ldr r10, .L3600+36 ldrb r1, [r2, #1189] @ zero_extendqisi2 ldrh r0, [fp] rsb r1, r1, #24 @@ -20347,7 +20805,7 @@ ftl_open_sblk_recovery: mov r1, r9, asl r1 sub r1, r1, #1 and r0, r1, r3, lsr r0 - ldrb r1, [r10, #-3202] @ zero_extendqisi2 + ldrb r1, [r10, #-3130] @ zero_extendqisi2 bl __aeabi_uidiv ldr r3, [sp, #28] uxth r0, r0 @@ -20355,26 +20813,26 @@ ftl_open_sblk_recovery: ldrh r1, [r3] ldr r3, [sp, #12] cmp r1, r0 - bne .L3428 + bne .L3479 ldr ip, [r2] mov r0, r3 ldr r1, [r5, #4] - sub r2, r10, #120 + sub r2, r10, #56 ldrb r3, [r8, #2772] @ zero_extendqisi2 str ip, [sp, #12] bl ftl_read_ppa_page - ldr r3, [r10, #-120] + ldr r3, [r10, #-56] ldr ip, [sp, #12] cmp r3, ip - bcc .L3428 + bcc .L3479 ldr r3, [r5, #12] ldr r0, [r3, #8] cmn r0, #1 - beq .L3429 + beq .L3480 ldrb r3, [r8, #1189] @ zero_extendqisi2 ldrh r2, [fp] rsb r3, r3, #24 - ldrb r1, [r10, #-3202] @ zero_extendqisi2 + ldrb r1, [r10, #-3130] @ zero_extendqisi2 rsb r3, r2, r3 mov r9, r9, asl r3 sub r9, r9, #1 @@ -20382,21 +20840,21 @@ ftl_open_sblk_recovery: bl __aeabi_uidiv uxth r0, r0 bl ftl_vpn_decrement - b .L3429 -.L3428: + b .L3480 +.L3479: ldr r2, [r5, #12] ldr r3, [r8, #2784] ldr r1, [r2, #4] cmp r1, r3 - bcs .L3429 - ldr r3, .L3549+28 + bcs .L3480 + ldr r3, .L3600+28 ldrb r0, [r4, #9] @ zero_extendqisi2 ldrh r1, [r4, #10] ldrh r3, [r3] mul r3, r3, r0 sub r3, r3, #1 cmp r1, r3 - bge .L3429 + bge .L3480 ldr r3, [r8, #2804] ldr r2, [r2] ldr r1, [r3, #8] @@ -20417,7 +20875,7 @@ ftl_open_sblk_recovery: str r3, [sp, #40] ldr r3, [sp, #20] str r3, [sp, #44] -.L3429: +.L3480: ldrh r3, [r4, #6] sub r3, r3, #1 strh r3, [r4, #6] @ movhi @@ -20428,43 +20886,43 @@ ftl_open_sblk_recovery: str r3, [sp, #12] mov r3, #1 str r3, [sp, #24] -.L3419: +.L3470: add r6, r6, #1 uxth r6, r6 - b .L3418 -.L3545: + b .L3469 +.L3596: add r7, r7, #1 mov r3, #0 strb r3, [r4, #5] uxth r7, r7 - b .L3417 -.L3420: + b .L3468 +.L3471: ldrh r3, [r4, #6] strb r6, [r4, #5] ldrh r6, [r4, #10] ldrb fp, [r4, #9] @ zero_extendqisi2 add r6, r3, r6 - ldr r3, .L3549+72 + ldr r3, .L3600+72 strh r7, [r4, #2] @ movhi - ldrh ip, [r3, #-4] + ldrh ip, [r3, #-8] str r3, [sp, #16] mul fp, ip, fp cmp r6, fp - beq .L3433 - ldr r1, .L3549+40 - movw r2, #1794 - ldr r0, .L3549+44 + beq .L3484 + ldr r1, .L3600+40 + movw r2, #1802 + ldr r0, .L3600+44 bl printk bl dump_stack -.L3433: - ldr r9, .L3549+36 +.L3484: + ldr r9, .L3600+36 mov r8, #0 ldrh r6, [r4, #10] mov r7, r8 - ldr r10, [r9, #-2624] -.L3434: + ldr r10, [r9, #-2548] +.L3485: cmp r7, r6 - bcs .L3546 + bcs .L3597 ldrh r3, [r4, #12] add r3, r7, r3 add r7, r7, #1 @@ -20472,59 +20930,59 @@ ftl_open_sblk_recovery: cmn r3, #1 addne r8, r8, #1 uxthne r8, r8 - b .L3434 -.L3546: + b .L3485 +.L3597: ldr r2, [sp, #16] ldrb r3, [r4, #9] @ zero_extendqisi2 - ldrh r10, [r2, #-4] + ldrh r10, [r2, #-8] smulbb r3, r3, r10 - ldr r10, .L3549+24 + ldr r10, .L3600+24 rsb r6, r6, r3 add r6, r8, r6 - ldr r8, .L3549 + ldr r8, .L3600 uxth r6, r6 ldr r3, [r8] tst r3, #4096 - beq .L3437 + beq .L3488 ldrh r1, [r4] mov r2, r6 ldr ip, [r10, #1088] - ldr r0, .L3549+76 + ldr r0, .L3600+76 mov r3, r1, asl #1 ldrh r3, [ip, r3] bl printk -.L3437: +.L3488: ldrh r3, [r4] ldr r2, [r10, #1088] mov r3, r3, asl #1 strh r6, [r2, r3] @ movhi ldr r3, [r8] tst r3, #16384 - beq .L3438 + beq .L3489 ldr r3, [sp, #44] add r1, sp, #32 - ldr r0, .L3549+80 + ldr r0, .L3600+80 str r3, [sp] ldmia r1, {r1, r2, r3} bl printk -.L3438: +.L3489: ldrb r2, [r10, #2772] @ zero_extendqisi2 mov r1, #0 ldr r0, [r5, #4] mov r7, #0 mov r2, r2, asl #9 bl ftl_memset -.L3439: - ldrb r3, [r9, #-3195] @ zero_extendqisi2 +.L3490: + ldrb r3, [r9, #-3123] @ zero_extendqisi2 ldr r2, [sp, #12] mul r3, r3, r2 cmp r7, r3 - bcs .L3547 + bcs .L3598 add ip, sp, #32 ldr r0, [ip, r7, asl #2] cmn r0, #1 - bne .L3440 -.L3444: + bne .L3491 +.L3495: ldr r2, [r10, #2804] mvn r6, #0 ldr r3, [r5, #12] @@ -20545,9 +21003,9 @@ ftl_open_sblk_recovery: ldr r1, [r5, #12] add r1, r1, #16 bl ftl_debug_info_fill - b .L3441 -.L3440: - ldr r3, .L3549+24 + b .L3492 +.L3491: + ldr r3, .L3600+24 ldr r1, [r5, #4] ldr r2, [r5, #12] ldrb r3, [r3, #2772] @ zero_extendqisi2 @@ -20561,14 +21019,14 @@ ftl_open_sblk_recovery: tst r3, #16384 mov fp, r0 ldr ip, [sp, #20] - beq .L3442 + beq .L3493 ldr r3, [r5, #12] mov r1, fp - ldr r0, .L3549+84 + ldr r0, .L3600+84 ldr r2, [ip, r7, asl #2] ldr r3, [r3, #4] bl printk -.L3442: +.L3493: add r3, sp, #32 mov r2, #1 mov r0, #2 @@ -20586,40 +21044,40 @@ ftl_open_sblk_recovery: add r1, r1, #16 bl ftl_debug_info_fill cmn r6, #1 - beq .L3444 -.L3441: + beq .L3495 +.L3492: ldr r3, [sp, #24] cmp r3, #1 - bne .L3446 + bne .L3497 ldrh r3, [r4, #6] cmp r3, #1 - bls .L3446 -.L3516: + bls .L3497 +.L3567: mov r0, r4 bl ftl_get_new_free_page ldr r3, [r8] tst r3, #16384 mov fp, r0 - beq .L3448 + beq .L3499 ldrh r1, [r4, #12] ldr r2, [r5, #12] ldrh r3, [r4, #10] - ldr r0, .L3549+88 + ldr r0, .L3600+88 add r3, r3, r1 ldr r2, [r2, #4] mov r1, fp sub r3, r3, #1 bl printk -.L3448: - ldrb r3, [r9, #-3195] @ zero_extendqisi2 +.L3499: + ldrb r3, [r9, #-3123] @ zero_extendqisi2 ldr r1, [sp, #12] ldrh r2, [r4, #6] mul r3, r3, r1 add r3, r3, #1 rsb r3, r7, r3 cmp r2, r3 - bls .L3446 - ldr r3, .L3549+24 + bls .L3497 + ldr r3, .L3600+24 mov r0, fp ldr r2, [r5, #12] ldr r1, [r5, #4] @@ -20633,7 +21091,7 @@ ftl_open_sblk_recovery: ldr r2, [sp, #20] cmn r2, #1 cmnne r6, #1 - beq .L3449 + beq .L3500 add r3, sp, #96 ldrh r2, [r4, #12] str fp, [r3, r7, asl #2] @@ -20642,30 +21100,30 @@ ftl_open_sblk_recovery: add r2, sp, #160 sub r3, r3, #1 str r3, [r2, r7, asl #2] - b .L3446 -.L3449: + b .L3497 +.L3500: ldrh r2, [r4, #6] cmp r2, #1 movls r3, #0 andhi r3, r3, #1 cmp r3, #0 - bne .L3516 -.L3446: + bne .L3567 +.L3497: add r7, r7, #1 - b .L3439 -.L3547: - ldr r10, .L3549+24 + b .L3490 +.L3598: + ldr r10, .L3600+24 mov r6, #0 -.L3452: - ldrb r3, [r9, #-3195] @ zero_extendqisi2 +.L3503: + ldrb r3, [r9, #-3123] @ zero_extendqisi2 ldr r2, [sp, #12] mul r3, r3, r2 cmp r6, r3 - bcs .L3548 + bcs .L3599 add fp, sp, #96 ldr r3, [fp, r6, asl #2] cmn r3, #1 - beq .L3454 + beq .L3505 add r7, sp, #32 ldr r1, [r5, #4] ldr r2, [r5, #12] @@ -20674,7 +21132,7 @@ ftl_open_sblk_recovery: bl ftl_read_ppa_page cmn r0, #1 cmpne r0, #256 - bne .L3454 + bne .L3505 ldr r0, [fp, r6, asl #2] ldrb r3, [r10, #2772] @ zero_extendqisi2 ldr r1, [r5, #4] @@ -20683,94 +21141,94 @@ ftl_open_sblk_recovery: ldr r3, [r8] tst r3, #16384 mov fp, r0 - beq .L3456 + beq .L3507 ldr r3, [r5, #12] mov r1, fp - ldr r0, .L3549+88 + ldr r0, .L3600+88 ldr r2, [r3, #8] ldr r3, [r7, r6, asl #2] bl printk -.L3456: +.L3507: cmn fp, #1 - beq .L3454 + beq .L3505 ldr r3, [r5, #12] ldr r2, [r7, r6, asl #2] ldr r1, [r3, #8] cmp r2, r1 - bne .L3454 + bne .L3505 ldr r1, [r8] add r7, sp, #160 tst r1, #16384 - beq .L3457 + beq .L3508 ldr r1, [r3, #4] - ldr r0, .L3549+92 + ldr r0, .L3600+92 ldr r3, [r7, r6, asl #2] bl printk -.L3457: +.L3508: ldr r3, [r5, #12] ldr r2, [r7, r6, asl #2] ldmib r3, {r0, r1} uxth r2, r2 bl lpa_hash_update_ppa -.L3454: +.L3505: add r6, r6, #1 - b .L3452 -.L3548: + b .L3503 +.L3599: mov r0, r5 bl zbuf_free ldrh r3, [r4, #12] ldrb r1, [r4, #9] @ zero_extendqisi2 ldr r2, [sp, #16] - ldrh r2, [r2, #-4] + ldrh r2, [r2, #-8] mla r3, r1, r2, r3 - ldr r2, .L3549+36 - ldr r2, [r2, #-2624] + ldr r2, .L3600+36 + ldr r2, [r2, #-2548] sub r3, r3, #-1073741823 ldr r3, [r2, r3, asl #2] cmn r3, #1 - beq .L3459 - ldr r1, .L3549+40 - movw r2, #1909 - ldr r0, .L3549+44 + beq .L3510 + ldr r1, .L3600+40 + movw r2, #1917 + ldr r0, .L3600+44 bl printk bl dump_stack -.L3459: +.L3510: ldrh r3, [r4, #6] cmp r3, #1 - bne .L3410 + bne .L3461 mov r0, r4 bl ftl_write_last_log_page -.L3410: +.L3461: add sp, sp, #228 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3550: +.L3601: .align 2 -.L3549: +.L3600: .word .LANCHOR2 - .word .LC210 - .word .LC211 - .word .LC212 .word .LC213 .word .LC214 + .word .LC215 + .word .LC216 + .word .LC217 .word .LANCHOR0 - .word .LANCHOR3-3172 - .word .LANCHOR3-3142 + .word .LANCHOR3-3096 + .word .LANCHOR3-3066 .word .LANCHOR3 .word .LANCHOR1+2528 .word .LC0 .word -178307901 .word 1212240712 - .word .LC215 - .word .LC216 - .word .LC187 - .word .LANCHOR3-3204 - .word .LANCHOR3-3168 - .word .LC217 .word .LC218 .word .LC219 + .word .LC184 + .word .LANCHOR3-3132 + .word .LANCHOR3-3088 .word .LC220 .word .LC221 + .word .LC222 + .word .LC223 + .word .LC224 .fnend .size ftl_open_sblk_recovery, .-ftl_open_sblk_recovery .align 2 @@ -20784,19 +21242,19 @@ dump_ftl_info: .save {r4, r5, r6, r7, lr} .pad #12 movw r7, #1076 - ldr r4, .L3553 - ldr r5, .L3553+4 - ldr r0, .L3553+8 + ldr r4, .L3604 + ldr r5, .L3604+4 + ldr r0, .L3604+8 ldrb r1, [r4, #2774] @ zero_extendqisi2 - sub r6, r5, #3168 + sub r6, r5, #3088 bl printk - ldrb r1, [r5, #136] @ zero_extendqisi2 - ldrb r2, [r5, #137] @ zero_extendqisi2 - ldrh r3, [r5, #138] - ldr r0, .L3553+12 + ldrb r1, [r5, #200] @ zero_extendqisi2 + ldrb r2, [r5, #201] @ zero_extendqisi2 + ldrh r3, [r5, #202] + ldr r0, .L3604+12 bl printk ldr r3, [r4, #2804] - ldr r0, .L3553+16 + ldr r0, .L3604+16 ldrh r1, [r3, #130] ldrh r2, [r3, #140] bl printk @@ -20808,7 +21266,7 @@ dump_ftl_info: str ip, [sp] ldrh r0, [r0, #26] str r0, [sp, #4] - ldr r0, .L3553+20 + ldr r0, .L3604+20 bl printk ldr r0, [r4, #1092] ldrh ip, [r0, #54] @@ -20818,7 +21276,7 @@ dump_ftl_info: str ip, [sp] ldrh r0, [r0, #58] str r0, [sp, #4] - ldr r0, .L3553+24 + ldr r0, .L3604+24 bl printk ldr r0, [r4, #1092] ldrh ip, [r0, #86] @@ -20828,12 +21286,12 @@ dump_ftl_info: str ip, [sp] ldrh r0, [r0, #90] str r0, [sp, #4] - ldr r0, .L3553+28 + ldr r0, .L3604+28 bl printk - ldrh r2, [r6, #-4] - ldrb r3, [r5, #-3195] @ zero_extendqisi2 - ldr r1, [r5, #-2624] - ldr r0, .L3553+32 + ldrh r2, [r6, #-8] + ldrb r3, [r5, #-3123] @ zero_extendqisi2 + ldr r1, [r5, #-2548] + ldr r0, .L3604+32 mul r3, r3, r2 mov r2, #4 mov r3, r3, asl #1 @@ -20841,11 +21299,11 @@ dump_ftl_info: ldr r1, [r4, #1088] ldrh r3, [r4, r7] mov r2, #2 - ldr r0, .L3553+36 + ldr r0, .L3604+36 bl rknand_print_hex ldr r3, [r4, #2804] movw ip, #698 - ldr r0, .L3553+40 + ldr r0, .L3604+40 add r1, r3, #704 mov r2, #4 ldrh r3, [r3, ip] @@ -20853,17 +21311,18 @@ dump_ftl_info: ldr r1, [r4, #1080] ldrh r3, [r4, r7] mov r2, #4 - ldr r0, .L3553+44 + ldr r0, .L3604+44 bl rknand_print_hex - sub r1, r5, #3136 - ldr r0, .L3553+48 + sub r1, r5, #3056 + ldr r0, .L3604+48 + sub r1, r1, #4 mov r2, #2 mov r3, #256 bl rknand_print_hex - ldrh r2, [r6, #-4] - ldrb r3, [r5, #-3195] @ zero_extendqisi2 - ldr r0, .L3553+52 - ldr r1, [r5, #-2620] + ldrh r2, [r6, #-8] + ldrb r3, [r5, #-3123] @ zero_extendqisi2 + ldr r0, .L3604+52 + ldr r1, [r5, #-2544] mul r3, r3, r2 mov r2, #2 mov r3, r3, asl #1 @@ -20871,23 +21330,23 @@ dump_ftl_info: @ sp needed ldmfd sp!, {r4, r5, r6, r7, lr} b rknand_print_hex -.L3554: +.L3605: .align 2 -.L3553: +.L3604: .word .LANCHOR0 .word .LANCHOR3 - .word .LC222 - .word .LC223 - .word .LC224 .word .LC225 .word .LC226 .word .LC227 .word .LC228 .word .LC229 - .word .LC209 .word .LC230 .word .LC231 .word .LC232 + .word .LC212 + .word .LC233 + .word .LC234 + .word .LC235 .fnend .size dump_ftl_info, .-dump_ftl_info .align 2 @@ -20900,19 +21359,19 @@ pm_ppa_update_check: stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} mov r4, r2 - ldr r3, .L3559 + ldr r3, .L3610 mov r6, r0 - ldr r7, .L3559+4 + ldr r7, .L3610+4 mov r5, r1 - sub r2, r3, #3200 + sub r2, r3, #3120 mvn r1, #0 - ldrh r0, [r2, #-4] + ldrh r0, [r2, #-12] ldrb r2, [r7, #1189] @ zero_extendqisi2 rsb r2, r2, #24 rsb r2, r0, r2 mov r0, r4, lsr r0 bic r0, r0, r1, asl r2 - ldrb r1, [r3, #-3202] @ zero_extendqisi2 + ldrb r1, [r3, #-3130] @ zero_extendqisi2 bl __aeabi_uidiv ldr r3, [r7, #1080] uxth r0, r0 @@ -20927,17 +21386,17 @@ pm_ppa_update_check: mov r1, r6 mov r2, r5 mov r3, r4 - ldr r0, .L3559+8 + ldr r0, .L3610+8 bl printk bl dump_ftl_info mvn r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L3560: +.L3611: .align 2 -.L3559: +.L3610: .word .LANCHOR3 .word .LANCHOR0 - .word .LC233 + .word .LC236 .fnend .size pm_ppa_update_check, .-pm_ppa_update_check .align 2 @@ -20952,26 +21411,26 @@ load_l2p_region: .pad #8 mov r6, r0 mov r5, r1 - bls .L3562 - ldr r1, .L3576 + bls .L3613 + ldr r1, .L3627 mov r2, #32 - ldr r0, .L3576+4 + ldr r0, .L3627+4 bl printk bl dump_stack -.L3562: - ldr r9, .L3576+8 +.L3613: + ldr r9, .L3627+8 movw r10, #698 - ldr r7, .L3576+12 + ldr r7, .L3627+12 ldr r3, [r9, #2804] mov r8, r9 ldrh r2, [r3, r10] cmp r6, r2 - bls .L3563 + bls .L3614 mov r1, r6 - ldr r0, .L3576+16 + ldr r0, .L3627+16 bl printk mov r4, #0 - movw r3, #474 + movw r3, #542 ldr r0, [r4, #4] ldrh r2, [r7, r3] mov r1, #255 @@ -20979,127 +21438,126 @@ load_l2p_region: ldr r3, [r9, #2804] ldrh r3, [r3, r10] cmp r3, r6 - bcs .L3574 - ldr r0, .L3576+4 + bcs .L3625 + ldr r0, .L3627+4 mov r2, #37 - ldr r1, .L3576 - b .L3575 -.L3563: + ldr r1, .L3627 + b .L3626 +.L3614: add r2, r6, #176 mov r5, r5, asl #3 add r9, r7, r5 ldr r4, [r3, r2, asl #2] - ldr r3, .L3576+20 + sub r3, r7, #2528 add r2, r3, r5 strh r6, [r3, r5] @ movhi mov r3, #0 cmp r4, r3 strh r3, [r2, #2] @ movhi - bne .L3566 + bne .L3617 mov r1, r6 mov r2, r4 - ldr r0, .L3576+24 + ldr r0, .L3627+20 bl printk - movw r3, #474 - ldr r0, [r9, #-2596] + movw r3, #542 + ldr r0, [r9, #-2524] mov r1, #255 ldrh r2, [r7, r3] bl ftl_memset - b .L3574 -.L3566: - ldr r2, [r7, #456] + b .L3625 +.L3617: + ldr r2, [r7, #524] mov r0, r4 ldrb r3, [r8, #2772] @ zero_extendqisi2 - ldr r1, [r9, #-2596] + ldr r1, [r9, #-2524] bl ftl_read_ppa_page - ldr r2, [r7, #456] + ldr r2, [r7, #524] ldr r2, [r2] cmp r2, r6 mov r3, r0 - bne .L3567 + bne .L3618 cmn r0, #1 cmpne r0, #512 - beq .L3567 -.L3571: - ldr r3, [r7, #456] + beq .L3618 +.L3622: + ldr r3, [r7, #524] ldr r3, [r3] cmp r3, r6 - beq .L3574 - ldr r0, .L3576+4 + beq .L3625 + ldr r0, .L3627+4 mov r2, #73 - ldr r1, .L3576 - b .L3575 -.L3567: + ldr r1, .L3627 + b .L3626 +.L3618: mov r1, r6 str r4, [sp] - ldr r0, .L3576+28 + ldr r0, .L3627+24 add r5, r7, r5 bl printk ldr r3, [r8, #2804] movw ip, #698 - ldr r0, .L3576+32 + ldr r0, .L3627+28 add r1, r3, #704 mov r2, #4 ldrh r3, [r3, ip] bl rknand_print_hex ldrb r3, [r8, #2772] @ zero_extendqisi2 - ldr r0, .L3576+36 + ldr r0, .L3627+32 mov r2, #4 - ldr r1, [r5, #-2596] + ldr r1, [r5, #-2524] mov r3, r3, asl #7 - ldr r9, .L3576+12 + ldr r9, .L3627+12 bl rknand_print_hex - ldr r0, .L3576+40 - ldr r1, [r7, #456] + ldr r0, .L3627+36 + ldr r1, [r7, #524] mov r2, #4 mov r3, #16 bl rknand_print_hex mov r0, r4 - ldr r1, [r5, #-2596] - ldr r2, [r7, #456] + ldr r1, [r5, #-2524] + ldr r2, [r7, #524] ldrb r3, [r8, #2772] @ zero_extendqisi2 bl ftl_read_ppa_page cmn r0, #1 cmpne r0, #512 - bne .L3570 - movw r3, #474 - ldr r0, [r5, #-2596] + bne .L3621 + movw r3, #542 + ldr r0, [r5, #-2524] mov r1, #255 ldrh r2, [r9, r3] bl ftl_memset - b .L3572 -.L3570: - ldr r3, [r9, #456] + b .L3623 +.L3621: + ldr r3, [r9, #524] ldr r3, [r3] cmp r3, r6 - beq .L3571 - b .L3572 -.L3575: + beq .L3622 + b .L3623 +.L3626: bl printk bl dump_stack -.L3574: +.L3625: mov r0, #0 - b .L3565 -.L3572: + b .L3616 +.L3623: mvn r0, #0 -.L3565: +.L3616: add sp, sp, #8 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc} -.L3577: +.L3628: .align 2 -.L3576: +.L3627: .word .LANCHOR1+2552 .word .LC0 .word .LANCHOR0 .word .LANCHOR3 - .word .LC234 - .word .LANCHOR3-2600 - .word .LC235 - .word .LC236 .word .LC237 - .word .LC216 .word .LC238 + .word .LC239 + .word .LC240 + .word .LC219 + .word .LC241 .fnend .size load_l2p_region, .-load_l2p_region .align 2 @@ -21112,44 +21570,44 @@ pm_gc: stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #12 - ldr r5, .L3597 + ldr r5, .L3648 ldr r4, [r5, #2804] add r4, r4, #688 ldrh r2, [r4] - ldr r4, .L3597+4 - ldrh r3, [r4, #-224] + ldr r4, .L3648+4 + ldrh r3, [r4, #-152] sub r3, r3, #1 cmp r2, r3 - bge .L3579 - ldr r3, [r4, #-232] + bge .L3630 + ldr r3, [r4, #-160] cmp r3, #0 - beq .L3580 -.L3579: + beq .L3631 +.L3630: bl pm_free_sblk ldr r2, [r5, #2804] add r3, r2, #688 ldrh r1, [r3] - ldrh r3, [r4, #-224] + ldrh r3, [r4, #-152] sub r3, r3, #1 cmp r1, r3 - bge .L3581 - ldr r3, .L3597+4 - ldr r3, [r3, #-232] + bge .L3632 + ldr r3, .L3648+4 + ldr r3, [r3, #-160] cmp r3, #0 - beq .L3580 -.L3581: + beq .L3631 +.L3632: uxth r0, r0 movw r6, #65535 add r0, r0, #208 mov r3, #0 - str r3, [r4, #-232] + str r3, [r4, #-160] mov r0, r0, asl #1 ldrh r7, [r2, r0] cmp r7, r6 - bne .L3583 - ldr r1, .L3597+8 + bne .L3634 + ldr r1, .L3648+8 mov r2, #182 - ldr r0, .L3597+12 + ldr r0, .L3648+12 bl printk bl dump_stack bl pm_free_sblk @@ -21159,45 +21617,45 @@ pm_gc: mov r0, r0, asl #1 ldrh r7, [r3, r0] cmp r7, r6 - beq .L3580 -.L3583: + beq .L3631 +.L3634: bl pm_select_ram_region - ldr r3, .L3597+16 + ldr r8, .L3648+4 movw r2, #65535 + sub r3, r8, #2528 mov r6, r0, asl #3 mov r10, r0 - add r8, r3, r6 + add r9, r3, r6 str r3, [sp] ldrh r0, [r3, r6] cmp r0, r2 - beq .L3584 - ldr r3, .L3597+4 - add r3, r3, r6 - ldr r1, [r3, #-2596] + beq .L3635 + add r8, r8, r6 + ldr r1, [r8, #-2524] cmp r1, #0 - beq .L3584 - ldrsh r3, [r8, #2] + beq .L3635 + ldrsh r3, [r9, #2] cmp r3, #0 - bge .L3584 + bge .L3635 bl pm_write_page - ldrh r3, [r8, #2] + ldrh r3, [r9, #2] ubfx r3, r3, #0, #15 - strh r3, [r8, #2] @ movhi -.L3584: - ldr fp, .L3597 + strh r3, [r9, #2] @ movhi +.L3635: + ldr fp, .L3648 mov r8, #0 - ldr r9, .L3597+4 + ldr r9, .L3648+4 add r3, r9, r6 str r3, [sp, #4] -.L3585: +.L3636: ldr r0, [r5, #2804] uxth r9, r8 add r3, r0, #696 add r3, r3, #2 ldrh r3, [r3] cmp r3, r9 - bls .L3596 - ldr r3, .L3597+20 + bls .L3647 + ldr r3, .L3648+16 ldrh r1, [r3] add r3, r9, #176 ldr ip, [r0, r3, asl #2] @@ -21207,43 +21665,42 @@ pm_gc: rsb r3, r1, r3 mvn r0, r0, asl r3 and r0, r0, ip, lsr r1 - ldrb r1, [r4, #-3202] @ zero_extendqisi2 + ldrb r1, [r4, #-3130] @ zero_extendqisi2 bl __aeabi_uidiv uxth r0, r0 cmp r0, r7 - bne .L3586 + bne .L3637 mov r0, r9 mov r1, r10 bl load_l2p_region cmp r0, #0 - bne .L3587 + bne .L3638 ldr r3, [sp, #4] mov r0, r9 - ldr r1, [r3, #-2596] + ldr r1, [r3, #-2524] bl pm_write_page -.L3587: +.L3638: ldr r2, [sp] mvn r3, #0 strh r3, [r2, r6] @ movhi -.L3586: +.L3637: add r8, r8, #1 - b .L3585 -.L3596: + b .L3636 +.L3647: bl pm_free_sblk -.L3580: +.L3631: mov r0, #0 add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3598: +.L3649: .align 2 -.L3597: +.L3648: .word .LANCHOR0 .word .LANCHOR3 .word .LANCHOR1+2568 .word .LC0 - .word .LANCHOR3-2600 - .word .LANCHOR3-3204 + .word .LANCHOR3-3132 .fnend .size pm_gc, .-pm_gc .align 2 @@ -21256,30 +21713,29 @@ pm_flush_id: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r0, r0, asl #3 - ldr r4, .L3605 - ldr r3, .L3605+4 + ldr r4, .L3656 + sub r3, r4, #2528 add r2, r4, r0 add r5, r3, r0 - ldr r1, [r2, #-2596] + ldr r1, [r2, #-2524] ldrh r0, [r3, r0] bl pm_write_page ldrh r3, [r5, #2] ubfx r3, r3, #0, #15 strh r3, [r5, #2] @ movhi - ldr r3, [r4, #-2604] + ldr r3, [r4, #520] cmp r3, #0 - beq .L3600 + beq .L3651 bl pm_gc mov r3, #0 - str r3, [r4, #-2604] -.L3600: + str r3, [r4, #520] +.L3651: mov r0, #0 ldmfd sp!, {r3, r4, r5, pc} -.L3606: +.L3657: .align 2 -.L3605: +.L3656: .word .LANCHOR3 - .word .LANCHOR3-2600 .fnend .size pm_flush_id, .-pm_flush_id .align 2 @@ -21292,24 +21748,24 @@ pm_flush: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r4, #0 - ldr r5, .L3612 -.L3609: + ldr r5, .L3663 +.L3660: add r3, r5, r4, asl #3 uxth r0, r4 ldrsh r3, [r3, #2] cmp r3, #0 - bge .L3608 + bge .L3659 bl pm_flush_id -.L3608: +.L3659: add r4, r4, #1 cmp r4, #32 - bne .L3609 + bne .L3660 mov r0, #0 ldmfd sp!, {r3, r4, r5, pc} -.L3613: +.L3664: .align 2 -.L3612: - .word .LANCHOR3-2600 +.L3663: + .word .LANCHOR3-2528 .fnend .size pm_flush, .-pm_flush .align 2 @@ -21354,38 +21810,38 @@ pm_init: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r7, r0 - ldr r4, .L3642 + ldr r4, .L3693 .pad #20 sub sp, sp, #20 mov r0, #64 mov r5, #0 mov r3, #1 - ldr r8, .L3642+4 - str r5, [r4, #-232] + ldr r10, .L3693+4 + str r5, [r4, #-160] + sub r8, r4, #2528 + str r5, [r4, #520] mvn r9, #0 - str r5, [r4, #-2604] - strb r3, [r4, #460] + strb r3, [r4, #528] bl ftl_malloc - ldr r10, .L3642+8 - str r0, [r4, #456] -.L3620: + str r0, [r4, #524] +.L3671: mov r3, #0 cmp r7, r3 mov r6, r8 strh r9, [r6, r5]! @ movhi strh r3, [r6, #2] @ movhi - beq .L3619 + beq .L3670 ldrb r0, [r10, #2772] @ zero_extendqisi2 mov r0, r0, asl #9 bl ftl_malloc str r0, [r6, #4] -.L3619: +.L3670: add r5, r5, #8 cmp r5, #256 - bne .L3620 - ldr r5, .L3642+8 - ldr r10, [r4, #-2596] - ldr r6, [r4, #456] + bne .L3671 + ldr r5, .L3693+4 + ldr r10, [r4, #-2524] + ldr r6, [r4, #524] ldr r3, [r5, #2804] mov r2, r10 add r3, r3, #692 @@ -21400,9 +21856,9 @@ pm_init: ldrh r2, [r2] cmp r2, r0 mov r7, r0 - bgt .L3621 + bgt .L3672 add r3, r3, #692 - ldr r0, .L3642+12 + ldr r0, .L3693+8 mov fp, r5 ldrh r1, [r3] mov r3, r7 @@ -21411,12 +21867,12 @@ pm_init: add r7, r7, #1 add r3, r3, #696 ldrh r9, [r3] -.L3622: +.L3673: sxth r3, r9 cmp r3, r7 - bge .L3641 + bge .L3692 ldr r2, [r5, #2804] - ldr r0, .L3642+16 + ldr r0, .L3693+12 add r1, r2, #692 ldrh r8, [r0] ldrh r1, [r1] @@ -21438,22 +21894,22 @@ pm_init: mov r2, r8 ldrh r3, [r3] str r0, [sp, #12] - ldr r0, .L3642+20 + ldr r0, .L3693+16 bl printk ldr ip, [sp, #12] cmp ip, #512 cmnne ip, #1 - beq .L3623 + beq .L3674 ldr r3, [fp, #2804] ldr r2, [r6] add r3, r3, #696 add r3, r3, #2 ldrh r3, [r3] cmp r2, r3 - bcs .L3623 + bcs .L3674 ldr r3, [r6, #8] cmp r3, #0 - beq .L3624 + beq .L3675 ldrb r1, [fp, #2772] @ zero_extendqisi2 mov r0, r10 str r3, [sp, #12] @@ -21461,66 +21917,65 @@ pm_init: bl js_hash ldr r3, [sp, #12] cmp r3, r0 - beq .L3624 + beq .L3675 ldr r1, [r6, #8] - ldr r0, .L3642+24 + ldr r0, .L3693+20 bl printk - b .L3623 -.L3624: + b .L3674 +.L3675: ldr r3, [r6] ldr r2, [r5, #2804] add r3, r3, #176 str r8, [r2, r3, asl #2] -.L3623: +.L3674: add r9, r9, #1 uxth r9, r9 - b .L3622 -.L3641: + b .L3673 +.L3692: mov r3, #1 - strb r3, [r4, #145] + strb r3, [r4, #209] ldr r3, [r5, #2804] add r3, r3, #696 strh r7, [r3] @ movhi bl pm_free_sblk -.L3621: - movw r3, #474 +.L3672: + movw r3, #542 mov r1, #255 ldrh r2, [r4, r3] - ldr r0, [r4, #-2596] + ldr r0, [r4, #-2524] bl ftl_memset mvn r0, #0 - ldr r1, [r4, #-2596] + ldr r1, [r4, #-2524] bl pm_write_page - ldrb r3, [r4, #145] @ zero_extendqisi2 - ldr r5, .L3642 + ldrb r3, [r4, #209] @ zero_extendqisi2 + ldr r5, .L3693 cmp r3, #0 - beq .L3626 - ldr r1, [r5, #-2596] + beq .L3677 + ldr r1, [r5, #-2524] mvn r0, #0 bl pm_write_page - ldr r1, [r5, #-2596] + ldr r1, [r5, #-2524] mvn r0, #0 bl pm_write_page mvn r0, #0 - ldr r1, [r5, #-2596] + ldr r1, [r5, #-2524] bl pm_write_page -.L3626: +.L3677: bl pm_free_sblk bl pm_gc mov r0, #0 add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3643: +.L3694: .align 2 -.L3642: +.L3693: .word .LANCHOR3 - .word .LANCHOR3-2600 .word .LANCHOR0 - .word .LC239 - .word .LANCHOR3-3142 - .word .LC240 - .word .LC241 + .word .LC242 + .word .LANCHOR3-3066 + .word .LC243 + .word .LC244 .fnend .size pm_init, .-pm_init .align 2 @@ -21533,7 +21988,7 @@ pm_log2phys: stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r6, r1 - ldr r9, .L3663 + ldr r9, .L3714 mov r10, r0 mov r8, r2 ldrb r4, [r9, #2772] @ zero_extendqisi2 @@ -21543,38 +21998,38 @@ pm_log2phys: ldr r2, [r9, #2784] cmp r10, r2 movcc r3, #0 - ldrcc r2, .L3663+4 + ldrcc r2, .L3714+4 uxth fp, r0 mov r7, r0 smulbb r5, r5, fp rsb r5, r5, r10 uxth r5, r5 - bcc .L3645 + bcc .L3696 mov r1, r10 - ldr r0, .L3663+8 + ldr r0, .L3714+8 bl printk mvn r0, #0 cmp r8, #0 streq r0, [r6] ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3661: +.L3712: ldrh r1, [r1, r2] cmp r1, fp - beq .L3648 -.L3647: + beq .L3699 +.L3698: add r3, r3, #1 cmp r3, #32 - beq .L3660 -.L3645: + beq .L3711 +.L3696: mov r1, r3, asl #3 uxth r4, r3 add r0, r2, r1 - ldr r10, .L3663+4 + ldr r10, .L3714+4 ldr r0, [r0, #4] cmp r0, #0 - bne .L3661 - b .L3647 -.L3660: + bne .L3712 + b .L3698 +.L3711: bl pm_select_ram_region mov r3, r0, asl #3 mov r4, r0 @@ -21582,44 +22037,44 @@ pm_log2phys: ldrh r1, [r10, r3] movw r3, #65535 cmp r1, r3 - bne .L3662 -.L3651: - ldr r3, .L3663+12 + bne .L3713 +.L3702: + ldr r3, .L3714+12 mov r0, fp mov r1, r4 - strb r4, [r3, #476] + strb r4, [r3, #544] bl load_l2p_region -.L3648: +.L3699: cmp r8, #0 - ldr r1, .L3663+12 + ldr r1, .L3714+12 mov r4, r4, asl #3 - bne .L3649 + bne .L3700 add r3, r1, r4 mvn r2, #0 - ldr r3, [r3, #-2596] + ldr r3, [r3, #-2524] ldr r3, [r3, r5, asl #2] str r3, [r6] ldrb r0, [r9, #1189] @ zero_extendqisi2 rsb ip, r0, #24 mvn r2, r2, asl r0 and r3, r2, r3, lsr ip - ldrb r2, [r1, #-3140] @ zero_extendqisi2 + ldrb r2, [r1, #-3064] @ zero_extendqisi2 cmp r3, r2 mvncs r3, #0 strcs r3, [r6] - b .L3650 -.L3649: + b .L3701 +.L3700: add r3, r1, r4 ldr r2, [r6] - ldr r3, [r3, #-2596] + ldr r3, [r3, #-2524] str r2, [r3, r5, asl #2] add r2, r10, r4 - strb r7, [r1, #-2344] + strb r7, [r1, #-2272] ldrh r3, [r2, #2] mvn r3, r3, asl #17 mvn r3, r3, lsr #17 strh r3, [r2, #2] @ movhi -.L3650: +.L3701: add r4, r10, r4 movw r2, #32767 mov r0, #0 @@ -21629,18 +22084,18 @@ pm_log2phys: addne r3, r3, #1 strneh r3, [r4, #2] @ movhi ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3662: +.L3713: ldrsh r3, [r2, #2] cmp r3, #0 - bge .L3651 + bge .L3702 bl pm_flush_id - b .L3651 -.L3664: + b .L3702 +.L3715: .align 2 -.L3663: +.L3714: .word .LANCHOR0 - .word .LANCHOR3-2600 - .word .LC242 + .word .LANCHOR3-2528 + .word .LC245 .word .LANCHOR3 .fnend .size pm_log2phys, .-pm_log2phys @@ -21654,17 +22109,17 @@ gc_recovery: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} movw r3, #65535 - ldr r7, .L3765 + ldr r7, .L3816 mov r6, #0 - ldr r8, .L3765+4 + ldr r8, .L3816+4 .pad #68 sub sp, sp, #68 ldr r5, [r7, #1092] - strb r6, [r8, #-3187] - strb r6, [r8, #-254] + strb r6, [r8, #-3115] + strb r6, [r8, #-182] ldrh r4, [r5, #80] cmp r4, r3 - beq .L3666 + beq .L3717 mvn r3, #0 mov r0, #1 strh r3, [r5, #130] @ movhi @@ -21672,56 +22127,56 @@ gc_recovery: ldrb r3, [r5, #89] @ zero_extendqisi2 add r3, r5, r3, asl #1 ldrh r1, [r3, #94] - sub r3, r8, #3136 - ldrh r3, [r3, #-6] + sub r3, r8, #3056 + ldrh r3, [r3, #-10] mul r1, r3, r1 - ldrb r3, [r8, #-3196] @ zero_extendqisi2 + ldrb r3, [r8, #-3124] @ zero_extendqisi2 cmp r3, #2 mov r4, r0 str r1, [sp, #56] - beq .L3667 + beq .L3718 ldrb r2, [r7, #1196] @ zero_extendqisi2 cmp r2, r6 - bne .L3667 + bne .L3718 ldrb r2, [r7, #1197] @ zero_extendqisi2 cmp r2, r6 - beq .L3668 -.L3667: - ldr r2, .L3765+8 - ldrh r2, [r2, #-2] + beq .L3719 +.L3718: + ldr r2, .L3816+8 + ldrh r2, [r2, #-10] sub r2, r2, #1 add r2, r2, r1 orr r3, r2, r3, asl #24 - b .L3757 -.L3668: + b .L3808 +.L3719: cmp r3, #3 - bne .L3669 - sub r3, r8, #3168 - ldrh r3, [r3, #-4] + bne .L3720 + sub r3, r8, #3088 + ldrh r3, [r3, #-8] sub r3, r3, #1 add r3, r3, r1 orr r3, r3, #50331648 -.L3757: +.L3808: str r3, [r4, #24] -.L3669: +.L3720: mov r0, r4 mov r1, #1 bl sblk_read_page ldr r3, [r4, #36] cmn r3, #1 cmpne r3, #512 - beq .L3670 + beq .L3721 ldr r3, [r4, #12] - ldr r6, .L3765+12 + ldr r6, .L3816+12 ldr r3, [r3] cmp r3, r6 - beq .L3671 -.L3670: + beq .L3722 +.L3721: mov r0, r4 bl zbuf_free ldr r3, [r4, #4] ldr r2, [r4, #12] - ldr r0, .L3765+16 + ldr r0, .L3816+16 ldr r1, [r3, #4] str r1, [sp] ldr r1, [r3, #8] @@ -21740,47 +22195,48 @@ gc_recovery: ldr r2, [r4, #36] ldr r3, [r3] bl printk - b .L3761 -.L3671: - ldrb r2, [r8, #477] @ zero_extendqisi2 - ldr r3, .L3765+4 - cmp r2, #2 - sub r10, r3, #3168 - bne .L3673 - ldrb r2, [r3, #-3196] @ zero_extendqisi2 - cmp r2, #3 - bne .L3673 - movw r2, #474 - ldr r0, [r3, #-244] - ldrh r1, [r3, r2] - ldrh r2, [r10, #-2] - ldrb r3, [r3, #-3195] @ zero_extendqisi2 - mov ip, r1, lsr #2 + b .L3812 +.L3722: + ldrb r3, [r8, #545] @ zero_extendqisi2 + ldr r10, .L3816+4 + cmp r3, #2 + sub r9, r10, #3104 + bne .L3724 + ldrb r3, [r10, #-3124] @ zero_extendqisi2 + cmp r3, #3 + bne .L3724 + ldrh r2, [r9, #-10] + movw r3, #542 + ldrb ip, [r10, #-3123] @ zero_extendqisi2 + ldrh r3, [r10, r3] mov r2, r2, asl #2 - add r0, r0, ip, asl #2 - smulbb r2, r3, r2 - rsb r2, r1, r2 + ldr r1, [r10, #-172] + smulbb r2, ip, r2 + mov r0, r3, lsr #2 + add r0, r1, r0, asl #2 ldr r1, [r4, #4] + rsb r2, r3, r2 uxth r2, r2 bl ftl_memcpy ldrb r3, [r7, #1196] @ zero_extendqisi2 cmp r3, #0 - bne .L3674 - ldr r3, .L3765 + bne .L3725 + ldr r3, .L3816 ldrb r3, [r3, #1197] @ zero_extendqisi2 cmp r3, #0 - beq .L3675 -.L3674: + beq .L3726 +.L3725: ldr r3, [r4, #24] sub r3, r3, #1 - b .L3676 -.L3675: + b .L3727 +.L3726: + sub r10, r10, #3088 ldr r3, [sp, #56] - ldrh r2, [r10, #-4] + ldrh r2, [r10, #-8] sub r3, r3, #1 add r3, r3, r2 orr r3, r3, #33554432 -.L3676: +.L3727: str r3, [r4, #24] mov r0, r4 mov r1, #1 @@ -21788,15 +22244,15 @@ gc_recovery: ldr r3, [r4, #36] cmn r3, #1 cmpne r3, #512 - beq .L3677 + beq .L3728 ldr r3, [r4, #12] ldr r3, [r3] cmp r3, r6 - beq .L3678 -.L3677: + beq .L3729 +.L3728: mov r0, r4 bl zbuf_free -.L3761: +.L3812: ldrh r4, [r5, #80] mov r6, #0 ldr r3, [r7, #1088] @@ -21805,129 +22261,130 @@ gc_recovery: ldrh r2, [r5, #80] ldr r3, [r7, #1092] strh r2, [r3, #130] @ movhi - b .L3672 -.L3678: - movw r3, #474 - ldr r0, [r8, #-244] + b .L3723 +.L3729: + movw r3, #542 + ldr r0, [r8, #-172] ldr r1, [r4, #4] ldrh r2, [r8, r3] - b .L3758 -.L3673: - ldrh r2, [r10, #-2] - ldrb r3, [r8, #-3195] @ zero_extendqisi2 - ldr r0, [r8, #-244] + b .L3809 +.L3724: + ldrh r2, [r9, #-10] + ldrb r3, [r8, #-3123] @ zero_extendqisi2 + ldr r0, [r8, #-172] ldr r1, [r4, #4] mul r2, r3, r2 mov r2, r2, asl #2 -.L3758: +.L3809: bl ftl_memcpy - ldrb r3, [r8, #-3195] @ zero_extendqisi2 - ldrh r2, [r10, #-2] - ldr fp, .L3765+4 + ldrb r3, [r8, #-3123] @ zero_extendqisi2 + ldrh r2, [r9, #-10] + ldr r10, .L3816+4 mul r2, r3, r2 ldrb r3, [r7, #2772] @ zero_extendqisi2 - sub r6, fp, #3168 + sub r6, r10, #3104 cmp r3, r2, asr #6 mov r2, r2, asl #2 - bge .L3680 - ldr r0, [fp, #-240] + bge .L3731 + ldr r0, [r10, #-168] mov r1, #0 bl ftl_memset - ldrb r9, [fp, #477] @ zero_extendqisi2 + ldrb r9, [r10, #545] @ zero_extendqisi2 cmp r9, #1 movne r9, #1 movne r6, #0 - bne .L3681 - ldrh r1, [r6, #-2] - movw r2, #474 - ldrb r3, [fp, #-3195] @ zero_extendqisi2 - ldrh r6, [fp, r2] - ldr r0, [fp, #-240] + bne .L3732 + ldrh r1, [r6, #-10] + movw r2, #542 + ldrb r3, [r10, #-3123] @ zero_extendqisi2 + ldrh r6, [r10, r2] + ldr r0, [r10, #-168] mul r3, r3, r1 ldr r1, [r4, #4] sub r6, r6, r3, asl #2 add r1, r1, r3, asl #2 mov r2, r6 bl ftl_memcpy - b .L3681 -.L3680: + b .L3732 +.L3731: ldr r1, [r4, #4] mov r9, #0 - ldr r0, [fp, #-240] + ldr r0, [r10, #-168] mov r6, r9 add r1, r1, r2 bl ftl_memcpy -.L3681: - ldrh r3, [r10, #-4] - str r3, [sp, #36] - ldrb r3, [r8, #-3196] @ zero_extendqisi2 - cmp r3, #2 - str r3, [sp, #32] - bne .L3682 - ldr r3, .L3765+4 - ldrb r3, [r3, #-3194] @ zero_extendqisi2 +.L3732: + ldr r3, .L3816+4 + sub r2, r3, #3088 + ldrh r2, [r2, #-8] + str r2, [sp, #36] + ldrb r2, [r8, #-3124] @ zero_extendqisi2 + cmp r2, #2 + str r2, [sp, #32] + bne .L3733 + ldrb r3, [r3, #-3122] @ zero_extendqisi2 cmp r3, #0 - beq .L3683 -.L3682: + beq .L3734 +.L3733: ldrb r3, [r7, #1196] @ zero_extendqisi2 cmp r3, #0 - beq .L3684 -.L3683: + beq .L3735 +.L3734: ldr r3, [sp, #32] ldr r2, [sp, #36] mul r3, r3, r2 str r3, [sp, #36] mov r3, #1 str r3, [sp, #32] -.L3684: - ldr r10, .L3765+4 +.L3735: + ldr r10, .L3816+4 mov r7, #0 str r7, [sp, #40] -.L3685: +.L3736: ldr r3, [sp, #36] cmp r7, r3 - bcs .L3698 + bcs .L3749 add ip, r5, #96 add r3, r7, r7, asl #1 sub r3, r3, #1 str r3, [sp, #48] mov r3, #0 str r3, [sp, #44] -.L3699: +.L3750: ldrb r3, [r5, #89] @ zero_extendqisi2 ldr r2, [sp, #44] cmp r2, r3 - bge .L3695 + bge .L3746 ldr r3, [sp, #40] mov fp, #1 mov r8, r3, asl #2 -.L3696: +.L3747: ldr r3, [sp, #32] cmp fp, r3 - bhi .L3763 - ldr r3, .L3765+20 + bhi .L3814 + ldr r3, .L3816+20 ldrh r2, [ip] - ldrb r1, [r10, #-3196] @ zero_extendqisi2 + ldrb r1, [r10, #-3124] @ zero_extendqisi2 ldrh r3, [r3] cmp r1, #2 mul r3, r3, r2 str r3, [sp, #56] - beq .L3686 - ldr r2, .L3765 + beq .L3737 + ldr r2, .L3816 ldrb r2, [r2, #1196] @ zero_extendqisi2 cmp r2, #0 - beq .L3687 -.L3686: + beq .L3738 +.L3737: sub r2, r7, #1 add r3, r2, r3 add r3, r3, fp orr r3, r3, r1, asl #24 - b .L3759 -.L3687: + b .L3810 +.L3738: cmp r1, #3 addne r3, r3, r7 - bne .L3759 - ldr r2, .L3765 + bne .L3810 + ldr r2, .L3816 ldrb r2, [r2, #1197] @ zero_extendqisi2 cmp r2, #0 addeq r3, r3, r7 @@ -21936,7 +22393,7 @@ gc_recovery: addne r3, r3, r2 addne r3, r3, fp orrne r3, r3, #50331648 -.L3759: +.L3810: str r3, [r4, #24] mov r0, r4 mov r1, #1 @@ -21944,48 +22401,48 @@ gc_recovery: bl sblk_read_page cmp r9, #0 ldr ip, [sp, #52] - beq .L3691 - ldr r3, [r10, #-240] + beq .L3742 + ldr r3, [r10, #-168] ldr r2, [r3, r8] cmp r2, #0 ldreq r2, [r4, #12] ldreq r2, [r2, #8] streq r2, [r3, r8] -.L3691: - ldr r3, [r10, #-244] +.L3742: + ldr r3, [r10, #-172] ldr r2, [r4, #12] ldr r3, [r3, r8] ldr r1, [r2, #4] cmp r3, r1 - bne .L3692 - ldr r0, [r10, #-240] + bne .L3743 + ldr r0, [r10, #-168] ldr lr, [r0, r8] ldr r0, [r2, #8] cmp lr, r0 - beq .L3722 -.L3692: - ldr r0, [r10, #-240] + beq .L3773 +.L3743: + ldr r0, [r10, #-168] str ip, [sp, #52] ldr r0, [r0, r8] str r0, [sp] ldr r0, [r2] stmib sp, {r0, r1} ldr r1, [r2, #8] - ldr r0, .L3765+24 + ldr r0, .L3816+24 str r1, [sp, #12] ldr r2, [r2, #12] str r2, [sp, #16] ldr r1, [r4, #24] ldr r2, [r4, #36] bl printk - ldr r3, [r10, #-244] + ldr r3, [r10, #-172] ldr r3, [r3, r8] cmn r3, #1 ldr ip, [sp, #52] - beq .L3722 + beq .L3773 mov r0, r4 bl zbuf_free - ldr r2, .L3765 + ldr r2, .L3816 ldrh r3, [r5, #80] mov r0, #0 ldr r1, [r2, #1088] @@ -21994,46 +22451,46 @@ gc_recovery: ldrh r1, [r5, #80] ldr r3, [r2, #1092] strh r1, [r3, #130] @ movhi - b .L3672 -.L3722: + b .L3723 +.L3773: ldr r3, [sp, #40] add fp, fp, #1 add r8, r8, #4 add r3, r3, #1 str r3, [sp, #40] - b .L3696 -.L3763: + b .L3747 +.L3814: ldr r3, [sp, #44] add ip, ip, #2 add r3, r3, #1 str r3, [sp, #44] - b .L3699 -.L3695: - ldrb r3, [r10, #-3194] @ zero_extendqisi2 + b .L3750 +.L3746: + ldrb r3, [r10, #-3122] @ zero_extendqisi2 cmp r3, #0 addne r7, r7, #1 add r7, r7, #1 - b .L3685 -.L3698: + b .L3736 +.L3749: mov r0, r4 mov r6, #0 bl zbuf_free - ldr ip, .L3765+8 + ldr ip, .L3816+8 ldrb r8, [r5, #89] @ zero_extendqisi2 mov r7, r6 - ldr r3, .L3765 - add r10, ip, #3168 - ldrh r9, [ip, #-2] + ldr r3, .L3816 + add r10, ip, #3104 + ldrh r9, [ip, #-10] ldrh r4, [r5, #80] ldr r3, [r3, #1088] smulbb r8, r8, r9 mov r4, r4, asl #1 mov r9, r6 strh r8, [r3, r4] @ movhi -.L3700: +.L3751: ldr r3, [sp, #36] cmp r9, r3 - bcs .L3714 + bcs .L3765 add r2, r9, r9, asl #1 sub r3, r2, #1 str r3, [sp, #48] @@ -22041,55 +22498,55 @@ gc_recovery: str r3, [sp, #44] mov r3, #0 str r3, [sp, #40] -.L3715: +.L3766: ldrb r2, [r5, #89] @ zero_extendqisi2 ldr r3, [sp, #40] cmp r3, r2 - bge .L3711 + bge .L3762 mov r4, #1 -.L3712: +.L3763: ldr r3, [sp, #32] cmp r4, r3 - bhi .L3764 - ldr r2, [r10, #-244] + bhi .L3815 + ldr r2, [r10, #-172] ldr r8, [r2, r7, asl #2] cmn r8, #1 - beq .L3701 - ldr r2, [r10, #-240] + beq .L3752 + ldr r2, [r10, #-168] mov r0, r8 ldr fp, [r2, r7, asl #2] bl lpa_hash_get_ppa cmn r0, #1 str r0, [sp, #60] - bne .L3702 + bne .L3753 mov r0, r8 add r1, sp, #60 mov r2, #0 bl pm_log2phys -.L3702: +.L3753: ldr r3, [sp, #44] ldrh r2, [r3] - ldr r3, .L3765+20 + ldr r3, .L3816+20 ldrh r1, [r3] - ldr r3, .L3765+4 + ldr r3, .L3816+4 mul r2, r1, r2 - ldrb r1, [r3, #-3196] @ zero_extendqisi2 + ldrb r1, [r3, #-3124] @ zero_extendqisi2 cmp r1, #2 - beq .L3703 - ldr r0, .L3765 + beq .L3754 + ldr r0, .L3816 ldrb lr, [r0, #1196] @ zero_extendqisi2 cmp lr, #0 - beq .L3704 -.L3703: + beq .L3755 +.L3754: sub r0, r9, #1 add r2, r0, r2 add r2, r2, r4 orr r2, r2, r1, asl #24 - b .L3760 -.L3704: + b .L3811 +.L3755: cmp r1, #3 addne r2, r2, r9 - bne .L3760 + bne .L3811 ldrb r1, [r0, #1197] @ zero_extendqisi2 cmp r1, #0 mov r1, r4, asl #24 @@ -22098,11 +22555,11 @@ gc_recovery: addne r2, r2, r3 addne r2, r2, r4 orr r2, r1, r2 -.L3760: +.L3811: str r2, [sp, #56] - ldr r2, .L3765+28 + ldr r2, .L3816+28 ldrh r0, [r2] - ldr r2, .L3765 + ldr r2, .L3816 ldrb r1, [r2, #1189] @ zero_extendqisi2 mov r2, #1 str r2, [sp, #52] @@ -22111,75 +22568,75 @@ gc_recovery: mov r1, r2, asl r1 sub r1, r1, #1 and r0, r1, fp, lsr r0 - ldrb r1, [r10, #-3202] @ zero_extendqisi2 + ldrb r1, [r10, #-3130] @ zero_extendqisi2 bl __aeabi_uidiv ldr r1, [sp, #60] ldr r2, [sp, #52] cmp r1, fp uxth fp, r0 - bne .L3708 + bne .L3759 mov r0, r8 add r1, sp, #56 bl pm_log2phys mov r0, fp add r6, r6, #1 bl ftl_vpn_decrement - b .L3709 -.L3708: + b .L3760 +.L3759: ldr r2, [sp, #56] cmp r1, r2 addeq r6, r6, #1 -.L3709: - ldr r1, .L3765 +.L3760: + ldr r1, .L3816 add r7, r7, #1 ldr r2, [r1, #1080] add r2, r2, fp, asl #2 ldrb r2, [r2, #2] @ zero_extendqisi2 ands r2, r2, #224 - bne .L3701 + bne .L3752 ldr r8, [r1, #1088] mov fp, fp, asl #1 ldrh r1, [r8, fp] cmp r1, #0 strneh r2, [r8, fp] @ movhi -.L3701: +.L3752: add r4, r4, #1 - b .L3712 -.L3764: + b .L3763 +.L3815: ldr r3, [sp, #40] add r3, r3, #1 str r3, [sp, #40] ldr r3, [sp, #44] add r3, r3, #2 str r3, [sp, #44] - b .L3715 -.L3711: - ldrb r2, [r10, #-3194] @ zero_extendqisi2 + b .L3766 +.L3762: + ldrb r2, [r10, #-3122] @ zero_extendqisi2 cmp r2, #0 addne r9, r9, #1 add r9, r9, #1 - b .L3700 -.L3714: - ldr r2, .L3765 + b .L3751 +.L3765: + ldr r2, .L3816 ldrh r3, [r5, #80] ldr r2, [r2, #1088] mov r3, r3, asl #1 strh r6, [r2, r3] @ movhi ldrh r0, [r5, #80] bl zftl_insert_data_list -.L3672: - ldr r4, .L3765 +.L3723: + ldr r4, .L3816 ldrh r0, [r5, #80] ldr r2, [r4, #1088] mov r3, r0, asl #1 ldrh r3, [r2, r3] cmp r3, #0 - bne .L3716 + bne .L3767 bl ftl_dump_write_open_sblk -.L3716: +.L3767: mov r2, r6 ldrh r1, [r5, #80] - ldr r0, .L3765+32 + ldr r0, .L3816+32 bl printk mvn r3, #0 strh r3, [r5, #80] @ movhi @@ -22189,22 +22646,22 @@ gc_recovery: movw r2, #65535 ldrh r3, [r3, #130] cmp r3, r2 - beq .L3717 - ldr r1, .L3765 + beq .L3768 + ldr r1, .L3816 movw r2, #1076 ldrh r2, [r1, r2] cmp r2, r3 - bhi .L3718 - ldr r1, .L3765+36 + bhi .L3769 + ldr r1, .L3816+36 movw r2, #517 - ldr r0, .L3765+40 + ldr r0, .L3816+40 bl printk bl dump_stack -.L3718: +.L3769: ldr r3, [r4, #1092] ldrh r0, [r3, #130] bl ftl_free_sblk -.L3717: +.L3768: ldr r2, [r4, #2804] mvn r3, #0 mov r0, #0 @@ -22212,15 +22669,15 @@ gc_recovery: ldr r2, [r4, #1092] strh r3, [r2, #130] @ movhi bl ftl_info_flush - b .L3665 -.L3666: + b .L3716 +.L3717: ldrh r3, [r5, #130] cmp r3, r4 - beq .L3665 + beq .L3716 ldr r2, [r7, #2804] ldrh r2, [r2, #126] cmp r2, r3 - bne .L3720 + bne .L3771 bl pm_flush ldr r3, [r7, #1092] ldrh r0, [r3, #130] @@ -22230,26 +22687,26 @@ gc_recovery: mov r0, r6 strh r2, [r3, #126] @ movhi bl ftl_info_flush -.L3720: +.L3771: ldr r3, [r7, #1092] mvn r2, #0 strh r2, [r3, #130] @ movhi -.L3665: +.L3716: add sp, sp, #68 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3766: +.L3817: .align 2 -.L3765: +.L3816: .word .LANCHOR0 .word .LANCHOR3 - .word .LANCHOR3-3168 + .word .LANCHOR3-3104 .word -178307901 - .word .LC243 - .word .LANCHOR3-3142 - .word .LC244 - .word .LANCHOR3-3204 - .word .LC245 + .word .LC246 + .word .LANCHOR3-3066 + .word .LC247 + .word .LANCHOR3-3132 + .word .LC248 .word .LANCHOR1+2576 .word .LC0 .fnend @@ -22265,40 +22722,40 @@ gc_update_l2p_map_new: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #28 sub sp, sp, #28 - ldr r4, .L3803 - ldr r3, .L3803+4 - ldr r9, .L3803+8 + ldr r4, .L3854 + ldr r3, .L3854+4 + ldr r9, .L3854+8 ldr r5, [r4, #1092] - ldrh r3, [r3, #-2] + ldrh r3, [r3, #-10] ldrb r2, [r5, #89] @ zero_extendqisi2 mul r3, r2, r3 str r3, [sp] ldr r3, [r9] tst r3, #256 - beq .L3768 - ldr r0, .L3803+12 + beq .L3819 + ldr r0, .L3854+12 ldrh r1, [r5, #80] bl printk -.L3768: +.L3819: ldrh r3, [r5, #80] mov r8, #0 - ldr r6, .L3803+16 + ldr r6, .L3854+16 mov r7, r8 ldr r1, [r4, #1088] mov r3, r3, asl #1 ldr r0, [sp] - ldrb r2, [r6, #477] @ zero_extendqisi2 + ldrb r2, [r6, #545] @ zero_extendqisi2 rsb r2, r2, r0 strh r2, [r1, r3] @ movhi -.L3769: +.L3820: ldr r3, [sp] cmp r7, r3 - beq .L3802 - ldr r3, [r6, #-244] + beq .L3853 + ldr r3, [r6, #-172] mov r10, r7, asl #2 ldr fp, [r3, r7, asl #2] cmn fp, #1 - beq .L3770 + beq .L3821 ldrb r1, [r4, #2772] @ zero_extendqisi2 mov r0, fp mov r1, r1, asl #7 @@ -22307,19 +22764,19 @@ gc_update_l2p_map_new: str r3, [sp, #12] ldr r3, [r9] tst r3, #256 - beq .L3771 - ldr r0, .L3803+20 + beq .L3822 + ldr r0, .L3854+20 mov r2, fp ldr r1, [sp, #12] mov r3, r7 bl printk -.L3771: +.L3822: str r7, [sp, #8] -.L3777: - ldr r3, [r6, #-244] +.L3828: + ldr r3, [r6, #-172] ldr fp, [r3, r10] cmn fp, #1 - beq .L3772 + beq .L3823 ldrb r1, [r4, #2772] @ zero_extendqisi2 mov r0, fp mov r1, r1, asl #7 @@ -22327,34 +22784,34 @@ gc_update_l2p_map_new: ldr r3, [sp, #12] uxth r0, r0 cmp r0, r3 - bne .L3772 - ldr r3, [r6, #-240] + bne .L3823 + ldr r3, [r6, #-168] mov r0, fp ldr r3, [r3, r10] str r3, [sp, #4] bl lpa_hash_get_ppa cmn r0, #1 str r0, [sp, #20] - bne .L3773 + bne .L3824 mov r0, fp add r1, sp, #20 mov r2, #0 bl pm_log2phys -.L3773: +.L3824: ldr r3, [sp, #20] ldr r2, [sp, #4] cmp r3, r2 - bne .L3774 - ldr r3, .L3803+16 + bne .L3825 + ldr r3, .L3854+16 add r1, sp, #24 mov r0, fp mov r2, #1 add r8, r8, #1 - ldr r3, [r3, #-236] + ldr r3, [r3, #-164] ldr r3, [r3, r10] str r3, [r1, #-8]! bl pm_log2phys - ldr r3, .L3803+24 + ldr r3, .L3854+24 ldrh r0, [r3] ldrb r3, [r4, #1189] @ zero_extendqisi2 rsb r3, r3, #24 @@ -22363,63 +22820,63 @@ gc_update_l2p_map_new: mov fp, r2, lsr r0 mvn r0, #0 bic r0, fp, r0, asl r3 - ldr r3, .L3803+16 - ldrb r1, [r3, #-3202] @ zero_extendqisi2 + ldr r3, .L3854+16 + ldrb r1, [r3, #-3130] @ zero_extendqisi2 bl __aeabi_uidiv uxth r0, r0 - b .L3801 -.L3774: + b .L3852 +.L3825: ldr r2, [r9] tst r2, #256 - beq .L3776 - ldr r0, .L3803+28 + beq .L3827 + ldr r0, .L3854+28 mov r1, fp ldr r2, [sp, #4] bl printk -.L3776: +.L3827: ldrh r0, [r5, #80] -.L3801: +.L3852: bl ftl_vpn_decrement - ldr r3, [r6, #-244] + ldr r3, [r6, #-172] mvn r2, #0 str r2, [r3, r10] -.L3772: +.L3823: ldr r3, [sp, #8] add r10, r10, #4 ldr r2, [sp] add r3, r3, #1 str r3, [sp, #8] cmp r3, r2 - bne .L3777 -.L3770: + bne .L3828 +.L3821: add r7, r7, #1 - b .L3769 -.L3802: + b .L3820 +.L3853: ldr r3, [r9] tst r3, #256 - beq .L3779 + beq .L3830 ldrh r3, [r5, #80] ldr r1, [r4, #1092] ldr r2, [r4, #1088] mov r3, r3, asl #1 - ldr r0, .L3803+32 + ldr r0, .L3854+32 ldrh r1, [r1, #80] ldrh r2, [r2, r3] mov r3, r8 bl printk -.L3779: +.L3830: ldrh r3, [r5, #80] ldr r2, [r4, #1088] mov r3, r3, asl #1 ldrh r3, [r2, r3] cmp r3, r8 - beq .L3780 - ldr r1, .L3803+36 + beq .L3831 + ldr r1, .L3854+36 movw r2, #898 - ldr r0, .L3803+40 + ldr r0, .L3854+40 bl printk bl dump_stack -.L3780: +.L3831: ldrh r3, [r5, #80] ldr r2, [r4, #1088] mov r3, r3, asl #1 @@ -22429,18 +22886,18 @@ gc_update_l2p_map_new: add sp, sp, #28 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3804: +.L3855: .align 2 -.L3803: +.L3854: .word .LANCHOR0 - .word .LANCHOR3-3168 + .word .LANCHOR3-3104 .word .LANCHOR2 - .word .LC246 - .word .LANCHOR3 - .word .LC247 - .word .LANCHOR3-3204 - .word .LC248 .word .LC249 + .word .LANCHOR3 + .word .LC250 + .word .LANCHOR3-3132 + .word .LC251 + .word .LC252 .word .LANCHOR1+2588 .word .LC0 .fnend @@ -22455,21 +22912,21 @@ gc_scan_src_blk_one_page: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r1, #0 - ldr r6, .L3834 + ldr r6, .L3885 .pad #20 sub sp, sp, #20 - ldr r4, .L3834+4 + ldr r4, .L3885+4 mov lr, r1 - ldr r5, .L3834+8 + ldr r5, .L3885+8 movw r0, #65535 ldrb r3, [r6, #2832] @ zero_extendqisi2 - ldrb ip, [r5, #-3195] @ zero_extendqisi2 + ldrb ip, [r5, #-3123] @ zero_extendqisi2 add r2, r4, r3, asl #1 ldrh r7, [r2, #36] ldrh r2, [r4, #2] -.L3806: +.L3857: cmp r7, r0 - bne .L3832 + bne .L3883 add r3, r3, #1 uxtb r3, r3 cmp r3, ip @@ -22480,70 +22937,70 @@ gc_scan_src_blk_one_page: uxtheq r2, r2 ldrh r7, [r1, #36] mov r1, #1 - b .L3806 -.L3832: + b .L3857 +.L3883: mov r0, #1 cmp lr, #0 strneh r2, [r4, #2] @ movhi cmp r1, #0 strneb r3, [r6, #2832] bl buf_alloc - ldr r8, .L3834 + ldr r8, .L3885 mov r9, #1 - ldr r10, .L3834+12 + ldr r10, .L3885+12 mov fp, r0 -.L3811: +.L3862: ldrb r3, [r6, #2834] @ zero_extendqisi2 - ldr r2, .L3834 + ldr r2, .L3885 cmp r9, r3 - bgt .L3833 + bgt .L3884 ldrh r2, [r10] cmp r3, #2 mul r2, r2, r7 - bne .L3812 + bne .L3863 ldrh r3, [r4, #2] add r3, r2, r3, asl #1 - ldr r2, .L3834+8 + ldr r2, .L3885+8 sub r3, r3, #1 add r3, r3, r9 - ldrb r2, [r2, #-3196] @ zero_extendqisi2 - b .L3830 -.L3812: + ldrb r2, [r2, #-3124] @ zero_extendqisi2 + b .L3881 +.L3863: cmp r3, #3 ldrneh r1, [r4, #2] addne r2, r2, r1 - bne .L3831 + bne .L3882 ldrb r3, [r8, #1196] @ zero_extendqisi2 cmp r3, #0 - bne .L3815 + bne .L3866 ldrb r3, [r8, #1197] @ zero_extendqisi2 cmp r3, #0 - beq .L3816 -.L3815: + beq .L3867 +.L3866: ldrh r3, [r4, #2] add r3, r3, r3, asl #1 sub r3, r3, #1 add r3, r3, r2 - ldrb r2, [r5, #-3196] @ zero_extendqisi2 + ldrb r2, [r5, #-3124] @ zero_extendqisi2 add r3, r3, r9 -.L3830: +.L3881: orr r3, r3, r2, asl #24 str r3, [fp, #24] - b .L3813 -.L3816: + b .L3864 +.L3867: ldrh r1, [r4, #2] add r2, r2, r1 orr r2, r2, r9, asl #24 -.L3831: +.L3882: str r2, [fp, #24] -.L3813: +.L3864: mov r0, fp mov r1, #1 bl sblk_read_page ldr r3, [fp, #36] cmp r3, #512 cmnne r3, #1 - beq .L3818 + beq .L3869 ldr r3, [fp, #12] ldr r3, [r3, #4] mov r0, r3 @@ -22552,35 +23009,35 @@ gc_scan_src_blk_one_page: cmn r0, #1 str r0, [sp, #12] ldr r3, [sp, #4] - bne .L3819 + bne .L3870 ldr r2, [r6, #2784] cmp r3, r2 - bcs .L3819 + bcs .L3870 mov r0, r3 add r1, sp, #12 mov r2, #0 bl pm_log2phys -.L3819: +.L3870: ldr r3, [fp, #24] ldr r2, [sp, #12] cmp r3, r2 ldreqh r1, [r4, #20] - ldreq r2, [r5, #-3200] + ldreq r2, [r5, #-3128] streq r3, [r2, r1, asl #2] ldreqh r3, [r4, #20] addeq r3, r3, #1 streqh r3, [r4, #20] @ movhi -.L3818: +.L3869: ldrh r3, [r4, #22] add r9, r9, #1 add r3, r3, #1 strh r3, [r4, #22] @ movhi - b .L3811 -.L3833: + b .L3862 +.L3884: mov r0, fp str r2, [sp, #4] bl zbuf_free - ldrb r1, [r5, #-3195] @ zero_extendqisi2 + ldrb r1, [r5, #-3123] @ zero_extendqisi2 ldr r2, [sp, #4] ldrb r3, [r2, #2832] @ zero_extendqisi2 add r3, r3, #1 @@ -22595,13 +23052,13 @@ gc_scan_src_blk_one_page: add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3835: +.L3886: .align 2 -.L3834: +.L3885: .word .LANCHOR0 .word .LANCHOR0+2828 .word .LANCHOR3 - .word .LANCHOR3-3142 + .word .LANCHOR3-3066 .fnend .size gc_scan_src_blk_one_page, .-gc_scan_src_blk_one_page .align 2 @@ -22614,51 +23071,51 @@ gc_scan_src_blk: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} movw r3, #2828 - ldr r4, .L3888 + ldr r4, .L3939 .pad #28 sub sp, sp, #28 ldrh r2, [r4, r3] movw r3, #65535 cmp r2, r3 - bne .L3837 - ldr r1, .L3888+4 - mov r2, #1504 - ldr r0, .L3888+8 + bne .L3888 + ldr r1, .L3939+4 + movw r2, #1505 + ldr r0, .L3939+8 bl printk bl dump_stack -.L3837: +.L3888: movw r3, #2828 ldrh r1, [r4, r3] movw r3, #65535 cmp r1, r3 moveq r0, #0 - beq .L3838 - ldr r3, .L3888+12 + beq .L3889 + ldr r3, .L3939+12 ldr r3, [r3] tst r3, #256 - beq .L3839 - ldr r3, .L3888 - ldr r0, .L3888+16 + beq .L3890 + ldr r3, .L3939 + ldr r0, .L3939+16 ldr r2, [r3, #1088] mov r3, r1, asl #1 ldrh r2, [r2, r3] bl printk -.L3839: - ldr r6, .L3888 +.L3890: + ldr r5, .L3939 movw r7, #2828 bl timer_get_time ldrh r0, [r4, r7] - add r1, r6, #2864 - ldr r5, .L3888+20 + add r1, r5, #2864 + ldr r6, .L3939+20 bl ftl_get_blk_list_in_sblk uxtb r0, r0 strb r0, [r4, #2833] cmp r0, #0 mvneq r3, #0 - streqh r3, [r6, r7] @ movhi - beq .L3838 - ldrh r3, [r6, r7] - ldr r2, [r6, #1080] + streqh r3, [r5, r7] @ movhi + beq .L3889 + ldrh r3, [r5, r7] + ldr r2, [r5, #1080] add r2, r2, r3, asl #2 ldrb r2, [r2, #2] @ zero_extendqisi2 tst r2, #192 @@ -22668,335 +23125,335 @@ gc_scan_src_blk: cmp r1, #224 orreq r2, r2, #1 cmp r2, #0 - bne .L3841 - ldr r2, [r6, #1092] + bne .L3892 + ldr r2, [r5, #1092] ldrh ip, [r2, #16] cmp ip, r3 - beq .L3841 + beq .L3892 ldrh ip, [r2, #48] cmp ip, r3 - beq .L3841 + beq .L3892 ldrh r2, [r2, #80] cmp r2, r3 - bne .L3842 -.L3841: + bne .L3893 +.L3892: cmp r1, #0 - bne .L3843 + bne .L3894 ldr r2, [r4, #1088] mov r3, r3, asl #1 ldrh r3, [r2, r3] cmp r3, #0 - beq .L3844 - ldr r1, .L3888+4 - movw r2, #1529 - ldr r0, .L3888+8 + beq .L3895 + ldr r1, .L3939+4 + movw r2, #1530 + ldr r0, .L3939+8 bl printk bl dump_stack -.L3844: +.L3895: movw r3, #2828 ldr r2, [r4, #1088] ldrh r3, [r4, r3] mov r1, #0 mov r3, r3, asl #1 strh r1, [r2, r3] @ movhi -.L3843: +.L3894: movw r3, #2828 mvn r2, #0 mov r0, #0 strh r2, [r4, r3] @ movhi - strh r0, [r5, #20] @ movhi - b .L3838 -.L3842: - add r0, r5, r0, asl #1 + strh r0, [r6, #20] @ movhi + b .L3889 +.L3893: + add r0, r6, r0, asl #1 movw r3, #65535 ldrh r10, [r0, #34] cmp r10, r3 - bne .L3845 - ldr r1, .L3888+4 - movw r2, #1539 - ldr r0, .L3888+8 + bne .L3896 + ldr r1, .L3939+4 + movw r2, #1540 + ldr r0, .L3939+8 bl printk bl dump_stack -.L3845: - movw r2, #2828 - ldr r6, .L3888+24 - ldrh r1, [r4, r2] - ldr r2, [r4, #1080] - sub r9, r6, #3168 - sub r3, r6, #3136 - str r6, [sp, #4] - add r2, r2, r1, asl #2 - ldrh r7, [r9, #-4] - ldrh r3, [r3, #-6] - ldrb r8, [r2, #2] @ zero_extendqisi2 - sub r7, r7, #1 - and r8, r8, #224 - uxth r7, r7 - cmp r8, #160 - mul r3, r3, r10 - movne r8, #1 - bne .L3846 - ldrb r2, [r6, #-3196] @ zero_extendqisi2 +.L3896: + movw r3, #2828 + ldr r5, .L3939+24 + ldrh r2, [r4, r3] + ldr r3, [r4, #1080] + sub r9, r5, #3088 + sub fp, r5, #3056 + str fp, [sp, #4] + add r3, r3, r2, asl #2 + ldrh r8, [r9, #-8] + ldrh r7, [fp, #-10] + ldrb r3, [r3, #2] @ zero_extendqisi2 + sub r8, r8, #1 + and r3, r3, #224 + uxth r8, r8 + cmp r3, #160 + mul r7, r7, r10 + movne r3, #1 + bne .L3897 + ldrb r2, [r5, #-3124] @ zero_extendqisi2 cmp r2, #2 - uxth r8, r2 - orr r3, r3, r2, asl #24 - ldreqh r7, [r9, #-2] + uxth r3, r2 + orr r7, r7, r2, asl #24 + subeq r2, r5, #3104 + ldreqh r8, [r2, #-10] ldrb r2, [r4, #1196] @ zero_extendqisi2 - subeq r7, r7, #1 - uxtheq r7, r7 + subeq r8, r8, #1 + uxtheq r8, r8 cmp r2, #0 - bne .L3848 - ldr r2, .L3888 + bne .L3899 + ldr r2, .L3939 ldrb r2, [r2, #1197] @ zero_extendqisi2 cmp r2, #0 - beq .L3846 -.L3848: - ldrh r7, [r9, #-2] - sub r7, r7, #1 - uxth r7, r7 -.L3846: + beq .L3897 +.L3899: + ldr r2, .L3939+28 + ldrh r8, [r2, #-10] + sub r8, r8, #1 + uxth r8, r8 +.L3897: mov r0, #1 - mov fp, #0 - orr r7, r7, r3 - strb r8, [r4, #2834] - strh fp, [r5, #2] @ movhi - strb fp, [r4, #2832] - strh fp, [r5, #22] @ movhi - strh fp, [r5, #24] @ movhi + strb r3, [r4, #2834] + str r3, [sp] + orr r7, r8, r7 + mov r8, #0 + strh r8, [r6, #2] @ movhi + strb r8, [r4, #2832] + strh r8, [r6, #22] @ movhi + strh r8, [r6, #24] @ movhi bl buf_alloc mov r1, #1 - mov r6, r0 str r7, [r0, #24] + mov fp, r0 bl sblk_read_page - ldr r3, [r6, #36] - strh fp, [r5, #20] @ movhi - cmn r3, #1 - cmpne r3, #512 - beq .L3885 - ldr r3, [r6, #12] - ldr lr, .L3888+28 - ldr r2, [r3] - str lr, [sp, #12] - cmp r2, lr - beq .L3850 - ldr r0, .L3888+8 - movw r2, #1577 - ldr r1, .L3888+4 -.L3886: + ldr r2, [fp, #36] + strh r8, [r6, #20] @ movhi + cmn r2, #1 + cmpne r2, #512 + ldr r3, [sp] + beq .L3936 + ldr r0, [fp, #12] + ldr r2, .L3939+32 + ldr r1, [r0] + str r2, [sp, #8] + cmp r1, r2 + beq .L3901 + ldr r0, .L3939+8 + movw r2, #1578 + ldr r1, .L3939+4 +.L3937: bl printk bl dump_stack -.L3885: - mov r0, r6 +.L3936: + mov r0, fp bl zbuf_free - b .L3883 -.L3850: - ldr r1, [sp, #4] - ldrh r0, [r9, #-4] - ldr r2, .L3888+24 - ldrb fp, [r1, #-3195] @ zero_extendqisi2 - sub r1, r2, #3168 - smulbb r0, r0, fp - smulbb r0, r0, r8 - uxth r0, r0 - str r0, [sp, #8] - ldr r0, [sp, #4] - ldrb r0, [r0, #477] @ zero_extendqisi2 - cmp r8, #3 - cmpeq r0, #2 - bne .L3851 - ldrh r8, [r1, #-2] - movw r3, #474 + b .L3934 +.L3901: + ldrb r8, [r5, #-3123] @ zero_extendqisi2 + ldrh r1, [r9, #-8] + ldr r2, .L3939+24 + smulbb r1, r1, r8 + smulbb r1, r1, r3 + uxth r1, r1 + str r1, [sp] + ldrb r1, [r5, #545] @ zero_extendqisi2 + cmp r3, #3 + cmpeq r1, #2 + bne .L3902 + movw r3, #542 + ldr r1, [fp, #4] ldrh r0, [r2, r3] - ldr r3, [r2, #-3200] - mov r8, r8, asl #2 - ldr r1, [r6, #4] - smulbb r8, r8, fp + sub r3, r2, #3104 + ldrh r3, [r3, #-10] + mov r3, r3, asl #2 + smulbb r8, r3, r8 + ldr r3, [r2, #-3128] rsb r8, r0, r8 mov r0, r0, lsr #2 uxth r8, r8 add r0, r3, r0, asl #2 mov r2, r8 bl ftl_memcpy - ldr r3, [r6, #12] - ldr fp, [r3, #4] - cmp fp, #0 - beq .L3852 - ldr r0, [r6, #4] + ldr r3, [fp, #12] + ldr r3, [r3, #4] + cmp r3, #0 + beq .L3903 + ldr r0, [fp, #4] mov r1, r8 + str r3, [sp, #12] bl js_hash - cmp fp, r0 - beq .L3852 - mov r0, r6 + ldr r3, [sp, #12] + cmp r3, r0 + beq .L3903 + mov r0, fp bl zbuf_free - ldr r3, [r6, #12] - ldr r0, .L3888+32 - ldr r2, [r6, #24] + ldr r3, [fp, #12] + ldr r0, .L3939+36 + ldr r2, [fp, #24] ldr r1, [r3, #4] mov r3, r8 - b .L3884 -.L3852: + b .L3935 +.L3903: ldrb r3, [r4, #1196] @ zero_extendqisi2 cmp r3, #0 - bne .L3853 - ldr r3, .L3888 + bne .L3904 + ldr r3, .L3939 ldrb r3, [r3, #1197] @ zero_extendqisi2 cmp r3, #0 - beq .L3854 -.L3853: + beq .L3905 +.L3904: sub r7, r7, #1 - b .L3855 -.L3854: - ldr r3, .L3888+36 - ldrh r7, [r9, #-4] - ldrh r3, [r3, #-6] + b .L3906 +.L3905: + ldr r3, [sp, #4] + ldrh r7, [r9, #-8] + ldrh r3, [r3, #-10] sub r7, r7, #1 uxth r7, r7 mul r10, r3, r10 orr r7, r7, #33554432 orr r7, r7, r10 -.L3855: - str r7, [r6, #24] - mov r0, r6 +.L3906: + str r7, [fp, #24] + mov r0, fp mov r1, #1 bl sblk_read_page - ldr r3, [r6, #36] + ldr r3, [fp, #36] cmn r3, #1 cmpne r3, #512 - beq .L3885 - ldr r3, [r6, #12] - ldr r2, [sp, #12] + beq .L3936 + ldr r3, [fp, #12] + ldr r2, [sp, #8] ldr r3, [r3] cmp r3, r2 - ldrne r0, .L3888+8 - movwne r2, #1618 - ldrne r1, .L3888+4 - bne .L3886 -.L3857: - ldr r3, [sp, #4] - ldr r2, [sp, #4] - ldr r1, [r6, #4] - ldr r0, [r3, #-3200] - movw r3, #474 - ldrh r2, [r2, r3] - b .L3882 -.L3851: - ldr r8, [r3, #4] - ldr r3, [sp, #8] - ldr r0, [r6, #4] - str r2, [sp, #12] + ldrne r0, .L3939+8 + movwne r2, #1619 + ldrne r1, .L3939+4 + bne .L3937 +.L3908: + movw r3, #542 + ldr r0, [r5, #-3128] + ldr r1, [fp, #4] + ldrh r2, [r5, r3] + b .L3933 +.L3902: + ldr r3, [sp] + ldr r8, [r0, #4] + ldr r0, [fp, #4] mov r7, r3, asl #2 + str r2, [sp, #4] mov r1, r7 bl js_hash - ldr r2, [sp, #12] + ldr r2, [sp, #4] cmp r8, r0 - ldreq r1, [r6, #4] - ldreq r0, [r2, #-3200] + ldreq r1, [fp, #4] + ldreq r0, [r2, #-3128] moveq r2, r7 - beq .L3882 - mov r0, r6 + beq .L3933 + mov r0, fp bl zbuf_free - ldr r3, [r6, #12] - ldr r0, .L3888+32 - ldr r2, [r6, #24] + ldr r3, [fp, #12] + ldr r0, .L3939+36 + ldr r2, [fp, #24] ldr r1, [r3, #4] mov r3, r7 -.L3884: +.L3935: bl printk -.L3883: +.L3934: mvn r0, #0 - b .L3838 -.L3882: + b .L3889 +.L3933: bl ftl_memcpy - ldr r10, .L3888+24 - ldr fp, .L3888+40 + ldr r7, [r5, #-3128] + ldr r10, .L3939+24 mov r8, #0 - ldr r9, .L3888+20 - ldr r3, [sp, #4] - ldr r7, [r3, #-3200] + ldr r9, .L3939+20 sub r7, r7, #4 -.L3860: - ldr r3, [sp, #8] +.L3911: + ldr r3, [sp] cmp r8, r3 - bge .L3887 + bge .L3938 ldr r0, [r7, #4]! cmn r0, #1 - beq .L3862 + beq .L3913 bl lpa_hash_get_ppa cmn r0, #1 str r0, [sp, #20] - bne .L3863 + bne .L3914 ldr r0, [r7] add r1, sp, #20 mov r2, #0 bl pm_log2phys -.L3863: - ldr r2, [sp, #20] +.L3914: + ldr r3, .L3939+40 mvn r1, #0 + ldr r2, [sp, #20] + ldrh r0, [r3] ldrb r3, [r4, #1189] @ zero_extendqisi2 - ldrh r0, [fp] + str r2, [sp, #4] rsb r3, r3, #24 - str r2, [sp, #12] rsb r3, r0, r3 mov r0, r2, lsr r0 bic r0, r0, r1, asl r3 - ldr r3, [sp, #4] - ldrb r1, [r3, #-3202] @ zero_extendqisi2 + ldrb r1, [r5, #-3130] @ zero_extendqisi2 bl __aeabi_uidiv - ldrh r3, [r5] + ldrh r3, [r6] cmp r0, r3 - ldr r2, [sp, #12] - ldreq r3, [r10, #-3200] + ldr r2, [sp, #4] + ldreq r3, [r10, #-3128] ldreqh r1, [r9, #20] streq r2, [r3, r1, asl #2] ldreqh r3, [r9, #20] addeq r3, r3, #1 streqh r3, [r9, #20] @ movhi -.L3862: +.L3913: bl timer_get_time add r8, r8, #1 - b .L3860 -.L3887: - mov r0, r6 + b .L3911 +.L3938: + mov r0, fp bl zbuf_free movw r3, #2828 ldrh r1, [r4, r3] ldr r2, [r4, #1088] mov r3, r1, asl #1 ldrh r2, [r2, r3] - ldrh r3, [r5, #20] + ldrh r3, [r6, #20] cmp r2, r3 - beq .L3866 - ldr r0, .L3888+44 + beq .L3917 + ldr r0, .L3939+44 bl printk -.L3866: +.L3917: movw r3, #2828 - ldrh r1, [r5, #20] + ldrh r1, [r6, #20] ldrh r3, [r4, r3] ldr r2, [r4, #1088] mov r3, r3, asl #1 strh r1, [r2, r3] @ movhi mov r3, #0 - ldrh r0, [r5, #20] - strh r3, [r5, #24] @ movhi -.L3838: + ldrh r0, [r6, #20] + strh r3, [r6, #24] @ movhi +.L3889: add sp, sp, #28 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3889: +.L3940: .align 2 -.L3888: +.L3939: .word .LANCHOR0 .word .LANCHOR1+2612 .word .LC0 .word .LANCHOR2 - .word .LC250 + .word .LC253 .word .LANCHOR0+2828 .word .LANCHOR3 + .word .LANCHOR3-3104 .word -178307901 - .word .LC251 - .word .LANCHOR3-3136 - .word .LANCHOR3-3204 - .word .LC252 + .word .LC254 + .word .LANCHOR3-3132 + .word .LC255 .fnend .size gc_scan_src_blk, .-gc_scan_src_blk .align 2 @@ -23009,14 +23466,14 @@ gc_scan_static_data: stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, lr} .save {r4, r5, r6, r7, r8, r9, lr} .pad #12 - ldr r4, .L3907 + ldr r4, .L3958 ldr r3, [r4, #1092] ldr r2, [r3, #544] cmn r2, #1 - beq .L3891 + beq .L3942 mov r5, #0 mov r7, r4 -.L3892: +.L3943: ldr r3, [r4, #1092] add r1, sp, #4 mov r2, #0 @@ -23025,7 +23482,7 @@ gc_scan_static_data: bl pm_log2phys ldr r3, [sp, #4] cmn r3, #1 - beq .L3893 + beq .L3944 mov r0, #1 bl buf_alloc mov r1, #1 @@ -23035,8 +23492,8 @@ gc_scan_static_data: bl sblk_read_page ldr r3, [r8, #36] cmp r3, #256 - bne .L3894 - ldr r3, .L3907+4 + bne .L3945 + ldr r3, .L3958+4 mov r9, #1 ldr r0, [sp, #4] ldrh r2, [r3] @@ -23046,36 +23503,36 @@ gc_scan_static_data: mov r3, r9, asl r3 sub r3, r3, #1 and r0, r3, r0, lsr r2 - ldr r3, .L3907+8 - ldrb r1, [r3, #-3202] @ zero_extendqisi2 + ldr r3, .L3958+8 + ldrb r1, [r3, #-3130] @ zero_extendqisi2 bl __aeabi_uidiv mov r1, r9 mov r2, #0 uxth r0, r0 bl gc_add_sblk -.L3894: +.L3945: ldr r2, [r8, #12] ldr r3, [r4, #1092] ldr r2, [r2, #4] ldr r3, [r3, #544] cmp r2, r3 - beq .L3895 - ldr r1, .L3907+12 - movw r2, #2162 - ldr r0, .L3907+16 + beq .L3946 + ldr r1, .L3958+12 + movw r2, #2163 + ldr r0, .L3958+16 bl printk bl dump_stack -.L3895: +.L3946: mov r0, r8 bl zbuf_free -.L3893: +.L3944: ldr r3, [r4, #1092] ldr r1, [r4, #2784] ldr r2, [r3, #544] add r2, r2, #1 str r2, [r3, #544] cmp r2, r1 - bcc .L3896 + bcc .L3947 mvn r2, #0 str r2, [r3, #544] ldr r2, [r3, #548] @@ -23086,51 +23543,51 @@ gc_scan_static_data: bl ftl_ext_info_flush mov r0, #0 bl ftl_info_flush - b .L3890 -.L3896: + b .L3941 +.L3947: ldr r3, [sp, #4] cmn r3, #1 - bne .L3890 - ldr r3, .L3907+20 + bne .L3941 + ldr r3, .L3958+20 add r5, r5, #1 ldrh r3, [r3] cmp r6, r3, lsr #2 - bcc .L3892 - b .L3890 -.L3891: + bcc .L3943 + b .L3941 +.L3942: ldr r2, [r3, #536] ldr r1, [r3, #12] add r2, r2, #12910592 add r2, r2, #49408 cmp r1, r2 - bhi .L3901 + bhi .L3952 ldr r0, [r4, #2804] ldr r2, [r3, #540] ldr r0, [r0, #44] add r2, r2, #4992 add r2, r2, #8 cmp r0, r2 - bls .L3890 -.L3901: + bls .L3941 +.L3952: ldr r2, [r4, #2804] ldr r2, [r2, #44] str r1, [r3, #536] str r2, [r3, #540] mov r2, #0 str r2, [r3, #544] -.L3890: +.L3941: add sp, sp, #12 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc} -.L3908: +.L3959: .align 2 -.L3907: +.L3958: .word .LANCHOR0 - .word .LANCHOR3-3204 + .word .LANCHOR3-3132 .word .LANCHOR3 .word .LANCHOR1+2628 .word .LC0 - .word .LANCHOR3+474 + .word .LANCHOR3+542 .fnend .size gc_scan_static_data, .-gc_scan_static_data .align 2 @@ -23143,52 +23600,52 @@ gc_block_vpn_scan: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} movw r4, #1076 - ldr r5, .L3947 + ldr r5, .L3998 .pad #44 sub sp, sp, #44 ldr r2, [r5, #1092] ldrh r3, [r5, r4] ldr r2, [r2, #608] cmp r2, r3 - bcs .L3909 + bcs .L3960 bl timer_get_time ldr r6, [r5, #1092] ldr r3, [r6, #604] add r3, r3, #29952 add r3, r3, #48 cmp r0, r3 - bls .L3909 + bls .L3960 bl timer_get_time ldr r3, [r5, #1092] ldrh r1, [r5, r4] str r0, [r6, #604] ldr r2, [r3, #600] cmp r2, r1 - bcs .L3913 + bcs .L3964 ldr r1, [r5, #2804] ldrh r1, [r1, #134] cmp r2, r1 - bcs .L3914 -.L3913: + bcs .L3965 +.L3964: ldr r2, [r5, #2804] ldrh r2, [r2, #134] str r2, [r3, #600] -.L3914: +.L3965: ldr r4, [r3, #600] movw r3, #65535 uxth r4, r4 cmp r4, r3 - bne .L3915 - ldr r1, .L3947+4 - movw r2, #2503 - ldr r0, .L3947+8 + bne .L3966 + ldr r1, .L3998+4 + movw r2, #2504 + ldr r0, .L3998+8 bl printk bl dump_stack -.L3915: +.L3966: ldr r3, [r5, #1092] mov r0, r4 add r1, sp, #24 - ldr r6, .L3947 + ldr r6, .L3998 ldr r2, [r3, #600] add r2, r2, #1 str r2, [r3, #600] @@ -23198,7 +23655,7 @@ gc_block_vpn_scan: bl ftl_get_blk_list_in_sblk uxth r0, r0 cmp r0, #0 - beq .L3909 + beq .L3960 ldr r9, [r6, #1080] add r9, r9, r4, asl #2 ldrb r3, [r9, #2] @ zero_extendqisi2 @@ -23209,85 +23666,85 @@ gc_block_vpn_scan: cmp r2, #224 orreq r3, r3, #1 cmp r3, #0 - bne .L3916 + bne .L3967 ldr r3, [r6, #1092] ldrh r1, [r3, #16] cmp r1, r4 - beq .L3916 + beq .L3967 ldrh r1, [r3, #48] cmp r1, r4 - beq .L3916 + beq .L3967 ldrh r3, [r3, #80] cmp r3, r4 - bne .L3917 -.L3916: + bne .L3968 +.L3967: cmp r2, #0 - bne .L3909 + bne .L3960 ldr r3, [r5, #1088] mov r4, r4, asl #1 ldrh r3, [r3, r4] cmp r3, #0 - beq .L3918 - ldr r1, .L3947+4 - movw r2, #2520 - ldr r0, .L3947+8 + beq .L3969 + ldr r1, .L3998+4 + movw r2, #2521 + ldr r0, .L3998+8 bl printk bl dump_stack -.L3918: +.L3969: ldr r3, [r5, #1088] mov r2, #0 strh r2, [r3, r4] @ movhi - b .L3909 -.L3917: + b .L3960 +.L3968: add r3, sp, #40 add r0, r3, r0, asl #1 movw r3, #65535 - ldrh fp, [r0, #-18] - cmp fp, r3 - bne .L3920 - ldr r1, .L3947+4 - mov r2, #2528 - ldr r0, .L3947+8 + ldrh r7, [r0, #-18] + cmp r7, r3 + bne .L3971 + ldr r1, .L3998+4 + movw r2, #2529 + ldr r0, .L3998+8 bl printk bl dump_stack -.L3920: - ldr r6, .L3947+12 - sub r10, r6, #3168 - ldrh r3, [r10, #-4] - sub r7, r3, #1 - sub r3, r6, #3136 - uxth r8, r7 - ldrb r7, [r9, #2] @ zero_extendqisi2 - ldrh r2, [r3, #-6] - and r7, r7, #224 - cmp r7, #160 - mul r2, r2, fp - movne fp, #1 - bne .L3921 - ldrb r3, [r6, #-3196] @ zero_extendqisi2 - cmp r3, #2 - uxth fp, r3 - orr r2, r2, r3, asl #24 - ldreqh r8, [r10, #-2] +.L3971: + ldr r6, .L3998+12 + ldrb r10, [r9, #2] @ zero_extendqisi2 + sub fp, r6, #3088 + ldrh r3, [fp, #-8] + sub r3, r3, #1 + uxth r8, r3 + sub r3, r6, #3056 + ldrh r2, [r3, #-10] + sub r3, r6, #3104 + mul r7, r2, r7 + and r2, r10, #224 + cmp r2, #160 + movne r10, #1 + bne .L3972 + ldrb r2, [r6, #-3124] @ zero_extendqisi2 + cmp r2, #2 + uxth r10, r2 + orr r7, r7, r2, asl #24 + ldreqh r8, [r3, #-10] subeq r8, r8, #1 uxtheq r8, r8 -.L3921: +.L3972: mov r0, #1 - orr r7, r8, r2 + str r3, [sp, #12] bl buf_alloc + orr r7, r8, r7 mov r1, #1 str r7, [r0, #24] mov r8, r0 bl sblk_read_page - ldrh r2, [r10, #-2] - ldrb r3, [r6, #-3195] @ zero_extendqisi2 mov r1, #255 - ldr r7, .L3947+12 - ldr r0, [r6, #-3200] + ldr r0, [r6, #-3128] + ldr r3, [sp, #12] + ldrh r2, [r3, #-10] + ldrb r3, [r6, #-3123] @ zero_extendqisi2 mul r2, r3, r2 - sub ip, r7, #3168 mov r2, r2, asl #2 - str ip, [sp, #12] bl ftl_memset ldr r2, [r8, #36] cmn r2, #1 @@ -23297,47 +23754,47 @@ gc_block_vpn_scan: moveq r0, r4 moveq r1, #1 moveq r2, #0 - ldr ip, [sp, #12] - beq .L3945 + beq .L3996 ldr r3, [r8, #12] ldr r1, [r3] - ldr r3, .L3947+16 + ldr r3, .L3998+16 cmp r1, r3 - beq .L3923 + beq .L3974 mov r0, r4 mov r1, #1 -.L3945: +.L3996: bl gc_add_sblk mov r0, r8 bl zbuf_free - b .L3909 -.L3923: - ldrb r1, [r7, #-3195] @ zero_extendqisi2 + b .L3960 +.L3974: + ldr r3, .L3998+12 mov r7, r2 - ldrh r3, [ip, #-4] - ldr r10, [r8, #4] - smulbb r3, r1, r3 + ldrh fp, [fp, #-8] + ldrb r3, [r3, #-3123] @ zero_extendqisi2 smulbb fp, r3, fp + smulbb fp, fp, r10 + ldr r10, [r8, #4] uxth r3, fp mov fp, r2 str r3, [sp, #12] -.L3924: +.L3975: ldr r3, [sp, #12] cmp fp, r3 - bge .L3946 + bge .L3997 ldr r0, [r10, fp, asl #2] cmn r0, #1 - beq .L3925 + beq .L3976 bl lpa_hash_get_ppa cmn r0, #1 str r0, [sp, #20] - bne .L3926 + bne .L3977 ldr r0, [r10, fp, asl #2] add r1, sp, #20 mov r2, #0 bl pm_log2phys -.L3926: - ldr r3, .L3947+20 +.L3977: + ldr r3, .L3998+20 ldrb r2, [r5, #1189] @ zero_extendqisi2 ldr r0, [sp, #20] ldrh r1, [r3] @@ -23347,55 +23804,55 @@ gc_block_vpn_scan: mov r2, r3, asl r2 sub r2, r2, #1 and r0, r2, r0, lsr r1 - ldrb r1, [r6, #-3202] @ zero_extendqisi2 + ldrb r1, [r6, #-3130] @ zero_extendqisi2 bl __aeabi_uidiv cmp r0, r4 addeq r7, r7, #1 uxtheq r7, r7 -.L3925: +.L3976: add fp, fp, #1 - b .L3924 -.L3946: + b .L3975 +.L3997: mov r0, r8 mov r6, r4, asl #1 bl zbuf_free - ldr r3, .L3947+24 + ldr r3, .L3998+24 ldr r3, [r3] tst r3, #256 - beq .L3928 + beq .L3979 ldr r3, [r5, #1088] mov r1, r4 - ldr r0, .L3947+28 + ldr r0, .L3998+28 ldrh r2, [r3, r6] ldrb r3, [r9, #2] @ zero_extendqisi2 mov r3, r3, lsr #5 str r3, [sp] mov r3, r7 bl printk -.L3928: +.L3979: ldr r3, [r5, #1088] cmp r7, #31 strh r7, [r3, r6] @ movhi - bhi .L3909 + bhi .L3960 mov r0, r4 mov r1, #1 mov r2, #0 bl gc_add_sblk -.L3909: +.L3960: add sp, sp, #44 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3948: +.L3999: .align 2 -.L3947: +.L3998: .word .LANCHOR0 .word .LANCHOR1+2648 .word .LC0 .word .LANCHOR3 .word -178307901 - .word .LANCHOR3-3204 + .word .LANCHOR3-3132 .word .LANCHOR2 - .word .LC253 + .word .LC256 .fnend .size gc_block_vpn_scan, .-gc_block_vpn_scan .align 2 @@ -23408,7 +23865,7 @@ ftl_sblk_dump: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov fp, r0, asl #2 - ldr r6, .L3987 + ldr r6, .L4038 .pad #132 sub sp, sp, #132 mov r7, r0 @@ -23422,36 +23879,36 @@ ftl_sblk_dump: ldr r10, [r2, r0, asl #2] mov r1, r7 mov r2, r3, lsr #5 - ldr r0, .L3987+4 + ldr r0, .L4038+4 ubfx r3, r3, #3, #2 ubfx r4, r10, #11, #8 str r4, [sp, #4] bl printk movw r3, #65535 cmp r7, r3 - beq .L3972 + beq .L4023 movw r3, #1076 ldrh r3, [r6, r3] cmp r3, r7 - bls .L3972 + bls .L4023 ldr r3, [r6, #1080] add r1, sp, #112 mov r0, r7 strh r7, [sp, #96] @ movhi add r3, r3, fp - ldr r4, .L3987+8 + ldr r4, .L4038+8 mov r5, #0 ldrb r3, [r3, #2] @ zero_extendqisi2 mov r9, r5 and r3, r3, #224 cmp r3, #160 - ldreq r3, .L3987+12 + ldreq r3, .L4038+12 movne r10, #1 - ldreqb r10, [r3, #-3196] @ zero_extendqisi2 + ldreqb r10, [r3, #-3124] @ zero_extendqisi2 bl ftl_get_blk_list_in_sblk mov r2, r4 mov r1, r7 - ldrh r3, [r2, #-4]! + ldrh r3, [r2, #-8]! uxtb r0, r0 strh r5, [sp, #98] @ movhi strb r0, [sp, #105] @@ -23465,23 +23922,23 @@ ftl_sblk_dump: ldrb r2, [r3, #2] @ zero_extendqisi2 mov r3, r10 str r0, [sp] - ldr r0, .L3987+16 + ldr r0, .L4038+16 mov r2, r2, lsr #5 bl printk mov r0, #1 bl buf_alloc - add r3, r4, #3168 + add r3, r4, #3088 mov r6, r0 str r5, [sp, #40] str r5, [sp, #48] str r3, [sp, #68] -.L3952: +.L4003: ldr r3, [sp, #60] uxth r2, r5 str r2, [sp, #44] ldrh r3, [r3] cmp r3, r2 - bls .L3969 + bls .L4020 mov r3, r2, asl #1 add r2, r3, r2 sub r3, r3, #1 @@ -23489,36 +23946,36 @@ ftl_sblk_dump: mov r3, #0 sub r2, r2, #1 str r2, [sp, #64] -.L3985: +.L4036: str r3, [sp, #52] ldrb r2, [sp, #105] @ zero_extendqisi2 ldrh r3, [sp, #52] cmp r2, r3 - bls .L3967 + bls .L4018 add r3, r3, #8 mov r8, #1 mov r3, r3, asl r8 str r3, [sp, #76] -.L3968: +.L4019: cmp r8, r10 - bhi .L3986 + bhi .L4037 ldr r2, [sp, #76] add r3, sp, #128 add r3, r3, r2 ldrh r2, [r3, #-32] movw r3, #65535 cmp r2, r3 - beq .L3953 - ldr r3, .L3987+20 + beq .L4004 + ldr r3, .L4038+20 cmp r10, #3 ldrh r3, [r3] mul r3, r3, r2 - bne .L3954 - ldr r1, .L3987 + bne .L4005 + ldr r1, .L4038 ldrb r0, [r1, #1196] @ zero_extendqisi2 cmp r0, #0 ldrne r1, [sp, #64] - bne .L3983 + bne .L4034 ldrb r1, [r1, #1197] @ zero_extendqisi2 mov r4, r8, asl #24 cmp r1, #0 @@ -23527,19 +23984,19 @@ ftl_sblk_dump: addne r3, r3, r1 addne r3, r3, r8 orr r4, r4, r3 - b .L3956 -.L3954: + b .L4007 +.L4005: cmp r10, #2 uxtahne r4, r3, r5 - bne .L3956 + bne .L4007 ldr r1, [sp, #72] -.L3983: +.L4034: add r3, r3, r1 ldr r1, [sp, #68] add r3, r3, r8 - ldrb r4, [r1, #-3196] @ zero_extendqisi2 + ldrb r4, [r1, #-3124] @ zero_extendqisi2 orr r4, r3, r4, asl #24 -.L3956: +.L4007: mov r1, #1 str r4, [r6, #24] mov r0, r6 @@ -23558,7 +24015,7 @@ ftl_sblk_dump: ldr r0, [r1, #8] str r0, [sp, #12] ldr r1, [r1, #12] - ldr r0, .L3987+24 + ldr r0, .L4038+24 str r1, [sp, #16] ldr r1, [r3] str r1, [sp, #20] @@ -23572,17 +24029,17 @@ ftl_sblk_dump: str r3, [sp, #32] mov r3, r4 bl printk - ldr r0, .L3987+28 + ldr r0, .L4038+28 ldr ip, [sp, #80] ldr r3, [sp, #48] cmn ip, #1 cmpne ip, #512 moveq r3, #1 str r3, [sp, #48] - ldr r3, .L3987+32 + ldr r3, .L4038+32 ldr r3, [r3, #4] blx r3 - ldr r3, .L3987 + ldr r3, .L4038 ldr r3, [r3, #1080] add r3, r3, fp ldrb r2, [r3, #2] @ zero_extendqisi2 @@ -23591,7 +24048,7 @@ ftl_sblk_dump: cmpne r2, #32 moveq r2, #1 movne r2, #0 - beq .L3953 + beq .L4004 ldr r3, [r6, #12] str r2, [sp, #80] ldr r0, [r3, #4] @@ -23599,72 +24056,72 @@ ftl_sblk_dump: cmn r0, #1 str r0, [sp, #92] ldr r2, [sp, #80] - bne .L3960 + bne .L4011 ldr r3, [r6, #12] add r1, sp, #92 ldr r0, [r3, #4] bl pm_log2phys -.L3960: +.L4011: ldr r3, [sp, #92] cmp r3, r4 - bne .L3961 + bne .L4012 ldr r3, [sp, #40] mov r1, r4 - ldr r0, .L3987+36 + ldr r0, .L4038+36 add r3, r3, #1 str r3, [sp, #40] ldr r3, [r6, #12] ldr r2, [r3, #4] ldr r3, [sp, #40] bl printk -.L3961: +.L4012: ldr r3, [sp, #56] cmp r3, #0 - beq .L3963 + beq .L4014 ldr r2, [r3, r9, asl #2] mov r4, r9, asl #2 ldr r3, [r6, #12] ldr r3, [r3, #4] cmp r3, r2 - beq .L3964 - ldr r3, .L3987+40 + beq .L4015 + ldr r3, .L4038+40 ldr r3, [r3] tst r3, #4096 - beq .L3964 - ldr r0, .L3987+44 + beq .L4015 + ldr r0, .L4038+44 mov r1, r9 bl printk -.L3964: +.L4015: ldr r3, [sp, #56] ldr r2, [r6, #12] ldr r3, [r3, r4] ldr r2, [r2, #4] cmp r2, r3 cmnne r3, #1 - beq .L3963 - ldr r1, .L3987+48 - movw r2, #1567 - ldr r0, .L3987+52 + beq .L4014 + ldr r1, .L4038+48 + movw r2, #1575 + ldr r0, .L4038+52 bl printk bl dump_stack -.L3963: +.L4014: add r9, r9, #1 -.L3953: +.L4004: add r8, r8, #1 uxth r8, r8 - b .L3968 -.L3986: + b .L4019 +.L4037: ldr r3, [sp, #52] add r3, r3, #1 - b .L3985 -.L3967: + b .L4036 +.L4018: add r5, r5, #1 - b .L3952 -.L3969: + b .L4003 +.L4020: mov r0, r6 bl zbuf_free - ldr r3, .L3987 - ldr r0, .L3987+56 + ldr r3, .L4038 + ldr r0, .L4038+56 mov r1, r7 ldr r2, [r3, #1088] mov r3, r7, asl #1 @@ -23672,31 +24129,31 @@ ftl_sblk_dump: ldr r3, [sp, #40] bl printk ldr r0, [sp, #48] - b .L3950 -.L3972: + b .L4001 +.L4023: mov r0, #0 -.L3950: +.L4001: add sp, sp, #132 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L3988: +.L4039: .align 2 -.L3987: +.L4038: .word .LANCHOR0 - .word .LC254 - .word .LANCHOR3-3168 + .word .LC257 + .word .LANCHOR3-3088 .word .LANCHOR3 - .word .LC255 - .word .LANCHOR3-3142 - .word .LC200 + .word .LC258 + .word .LANCHOR3-3066 + .word .LC196 .word 2147483000 .word arm_delay_ops - .word .LC256 + .word .LC259 .word .LANCHOR2 - .word .LC257 + .word .LC260 .word .LANCHOR1+2668 .word .LC0 - .word .LC258 + .word .LC261 .fnend .size ftl_sblk_dump, .-ftl_sblk_dump .align 2 @@ -23709,7 +24166,7 @@ zftl_read: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r6, r3 - ldr r3, .L4051 + ldr r3, .L4107 .pad #76 sub sp, sp, #76 mov r8, r0 @@ -23717,34 +24174,34 @@ zftl_read: mov r5, r2 ldr r3, [r3] tst r3, #4096 - beq .L3990 - ldr r0, .L4051+4 + beq .L4041 + ldr r0, .L4107+4 mov r1, r8 mov r2, r4 mov r3, r5 bl printk -.L3990: +.L4041: cmp r8, #0 - ldreq r3, .L4051+8 - moveq r8, #24576 - ldreq fp, [r3, #1032] - beq .L3992 -.L3991: + ldreq r3, .L4107+8 + moveq ip, #24576 + ldreq r8, [r3, #1032] + beq .L4043 +.L4042: cmp r8, #3 - bhi .L4019 - mov r8, r8, asl #13 - mov fp, #8192 -.L3992: - cmp r5, fp - cmpls r4, fp + bhi .L4072 + mov ip, r8, asl #13 + mov r8, #8192 +.L4043: + cmp r5, r8 + cmpls r4, r8 movcs r7, #1 movcc r7, #0 - bcs .L4019 + bcs .L4072 add r3, r4, r5 - cmp r3, fp - bhi .L4019 - ldr r2, .L4051+8 - add r3, r8, r4 + cmp r3, r8 + bhi .L4072 + ldr r2, .L4107+8 + add r3, ip, r4 str r3, [sp, #28] ldr r0, [sp, #28] ldr r1, [r2, #2804] @@ -23765,16 +24222,16 @@ zftl_read: str r7, [sp, #40] ldr r4, [sp, #36] rsb r3, r3, #1 - ldr r7, .L4051+12 + ldr r7, .L4107+12 add r3, r3, r0 str r0, [sp, #48] str r3, [sp, #32] -.L3994: +.L4045: ldr r3, [sp, #32] cmp r3, #0 - beq .L4048 + beq .L4104 ldr r3, [sp, #36] - ldr r8, .L4051+8 + ldr r8, .L4107+8 rsb r2, r3, r4 ldr r3, [sp, #48] clz r2, r2 @@ -23786,9 +24243,9 @@ zftl_read: mov r3, r3, lsr #5 uxth r10, r1 orrs fp, r3, r2 - beq .L3995 + beq .L4046 cmp r2, #0 - beq .L3996 + beq .L4047 ldr r0, [sp, #28] bl __aeabi_uidivmod uxth fp, r1 @@ -23796,8 +24253,8 @@ zftl_read: uxth r10, r10 cmp r10, r5 uxthhi r10, r5 - b .L3995 -.L3996: + b .L4046 +.L4047: cmp r3, #0 ldrne r3, [sp, #28] movne fp, r2 @@ -23805,17 +24262,17 @@ zftl_read: addne r3, r3, r5 mlsne r1, r4, r1, r3 uxtbne r10, r1 -.L3995: - ldr r2, .L4051+16 +.L4046: + ldr r2, .L4107+16 mov r3, #0 -.L3999: +.L4050: ldr r1, [r2, #20] cmp r1, r4 - bne .L3997 + bne .L4048 ldrb r1, [r2, #2] @ zero_extendqisi2 tst r1, #8 - beq .L3997 - ldr r1, .L4051+8 + beq .L4048 + ldr r1, .L4107+8 mov r2, #48 mov r10, r10, asl #9 mov r0, r6 @@ -23825,30 +24282,30 @@ zftl_read: ldr r1, [r3, #1240] add r1, r1, fp, asl #9 bl ftl_memcpy - b .L3998 -.L3997: + b .L4049 +.L4048: add r3, r3, #1 add r2, r2, #48 cmp r3, #32 - bne .L3999 + bne .L4050 mov r0, r4 bl lpa_hash_get_ppa cmn r0, #1 str r0, [sp, #68] - bne .L4000 + bne .L4051 mov r0, r4 add r1, sp, #68 mov r2, #0 bl pm_log2phys -.L4000: +.L4051: ldr r3, [sp, #68] cmn r3, #1 moveq r10, #0 - bne .L4049 -.L4002: + bne .L4105 +.L4053: ldrb r3, [r9, #2772] @ zero_extendqisi2 cmp r10, r3 - bcs .L3998 + bcs .L4049 mla r3, r3, r4, r10 ldr r2, [sp, #28] ldr r1, [sp, #44] @@ -23858,21 +24315,21 @@ zftl_read: cmp r3, r1 movcs r2, #0 cmp r2, #0 - beq .L4003 + beq .L4054 mov r0, r6 mov r1, #0 mov r2, #512 add r6, r6, #512 bl ftl_memset -.L4003: +.L4054: add r10, r10, #1 - b .L4002 -.L4049: + b .L4053 +.L4105: mov r0, #0 bl buf_alloc subs r3, r0, #0 - beq .L4005 - ldr r2, .L4051+8 + beq .L4056 + ldr r2, .L4107+8 ldr r1, [r2, #2804] ldr r2, [r1, #40] add r2, r2, #1 @@ -23886,63 +24343,63 @@ zftl_read: strb r10, [r3, #40] strb fp, [r3, #41] bl zftl_add_read_buf -.L3998: +.L4049: ldr r3, [sp, #32] add r4, r4, #1 sub r3, r3, #1 str r3, [sp, #32] -.L4005: +.L4056: ldrb r3, [r8, #2774] @ zero_extendqisi2 ldr r2, [sp, #32] cmp r2, #0 cmpne r3, #2 - bhi .L3994 - ldrb r1, [r7, #-2605] @ zero_extendqisi2 + bhi .L4045 + ldrb r1, [r7, #-2529] @ zero_extendqisi2 cmp r1, #0 - beq .L3994 - ldrb r2, [r7, #-2606] @ zero_extendqisi2 + beq .L4045 + ldrb r2, [r7, #-2530] @ zero_extendqisi2 mov r0, #48 - ldr r3, .L4051+16 + ldr r3, .L4107+16 mla r0, r0, r2, r3 bl sblk_read_page -.L4007: - ldrb r3, [r7, #-2605] @ zero_extendqisi2 +.L4058: + ldrb r3, [r7, #-2529] @ zero_extendqisi2 cmp r3, #0 - beq .L4050 - ldrb r3, [r7, #-2606] @ zero_extendqisi2 + beq .L4106 + ldrb r3, [r7, #-2530] @ zero_extendqisi2 cmp r3, #255 - bne .L4008 - ldr r1, .L4051+20 - movw r2, #1276 - ldr r0, .L4051+24 + bne .L4059 + ldr r1, .L4107+20 + movw r2, #1283 + ldr r0, .L4107+24 bl printk bl dump_stack -.L4008: - ldr r3, .L4051+12 - mov r2, #48 - ldr r8, .L4051+8 - ldr r1, .L4051+12 - ldrb r10, [r3, #-2606] @ zero_extendqisi2 - ldr r3, .L4051+16 - mul r2, r2, r10 - add r3, r3, r2 - add r2, r8, r2 +.L4059: + ldr r3, .L4107+12 + mov ip, #48 + ldr r8, .L4107+8 + ldr r1, .L4107+12 + ldrb r10, [r3, #-2530] @ zero_extendqisi2 + ldr r3, .L4107+16 + mul ip, ip, r10 + add r2, r8, ip + add r3, r3, ip str r3, [sp, #52] ldr r9, [r2, #1272] ldrb r3, [r2, #1236] @ zero_extendqisi2 cmn r9, #1 - strb r3, [r1, #-2606] - bne .L4009 + strb r3, [r1, #-2530] + bne .L4060 ldr r2, [r8, #1092] str r9, [sp, #40] ldr r3, [r2, #552] add r3, r3, #1 str r3, [r2, #552] - b .L4010 -.L4009: + b .L4061 +.L4060: cmp r9, #256 - bne .L4010 - ldr r1, .L4051+28 + bne .L4061 + ldr r1, .L4107+28 ldr r3, [r2, #1260] str r2, [sp, #60] ldrh r0, [r1] @@ -23954,21 +24411,52 @@ zftl_read: mov r1, r8, asl r1 sub r1, r1, #1 and r0, r1, r3, lsr r0 - ldrb r1, [r7, #-3202] @ zero_extendqisi2 + ldrb r1, [r7, #-3130] @ zero_extendqisi2 bl __aeabi_uidiv ldr r2, [sp, #60] uxth fp, r0 ldr r3, [sp, #56] mov r1, fp - ldr r0, .L4051+32 + ldr r0, .L4107+32 ldr r2, [r2, #1256] bl printk mov r0, fp mov r1, r8 mov r2, #0 bl gc_add_sblk -.L4010: - ldr ip, .L4051+8 +.L4061: + ldr r1, .L4107+8 + mov r0, #48 + cmn r9, #1 + mla r0, r0, r10, r1 + movne r2, #0 + moveq r2, #1 + ldr r3, [r0, #1248] + ldr ip, [r0, #1256] + ldr lr, [r3, #4] + cmp lr, ip + orrne r2, r2, #1 + cmp r2, #0 + beq .L4062 + ldr r9, [r0, #1240] + mvn ip, #0 + ldr r8, [r0, #1260] + ldr r2, [r0, #1244] + ldrb fp, [r0, #1276] @ zero_extendqisi2 + ldrb r0, [r1, #1189] @ zero_extendqisi2 + ldrb lr, [r1, #2772] @ zero_extendqisi2 + rsb r1, r0, #24 + mvn ip, ip, asl r0 + cmp fp, lr + and r0, ip, r8, lsr r1 + str lr, [sp] + movcc r2, r9 + bic r1, r8, ip, asl r1 + uxtb r0, r0 + bl flash_read_page_en + mov r9, r0 +.L4062: + ldr ip, .L4107+8 mov r8, #48 cmn r9, #1 mla r8, r8, r10, ip @@ -23983,9 +24471,9 @@ zftl_read: moveq r2, fp orrne r2, fp, #1 cmp r2, #0 - beq .L4011 + beq .L4064 ldr r1, [ip, #1092] - ldr r0, .L4051+36 + ldr r0, .L4107+36 str ip, [sp, #56] ldr r2, [r1, #552] add r2, r2, #1 @@ -24005,9 +24493,9 @@ zftl_read: str r3, [sp, #16] ldr r3, [r8, #1256] bl printk - ldr r3, .L4051+28 + ldr r3, .L4107+28 ldr r2, [r8, #1260] - ldrb r1, [r7, #-3202] @ zero_extendqisi2 + ldrb r1, [r7, #-3130] @ zero_extendqisi2 ldrh r0, [r3] mov r2, r2, lsr r0 ldr ip, [sp, #56] @@ -24020,8 +24508,8 @@ zftl_read: mov r1, #0 uxth r0, r0 bl ftl_sblk_dump -.L4011: - ldr r8, .L4051+8 +.L4064: + ldr r8, .L4107+8 mov r3, #48 mla r3, r3, r10, r8 mov r9, r8 @@ -24031,13 +24519,13 @@ zftl_read: cmp r2, r3 orrne fp, fp, #1 cmp fp, #0 - beq .L4012 - ldr r1, .L4051+20 - movw r2, #1301 - ldr r0, .L4051+24 + beq .L4065 + ldr r1, .L4107+20 + movw r2, #1319 + ldr r0, .L4107+24 bl printk bl dump_stack -.L4012: +.L4065: mov r3, #48 mla r10, r3, r10, r9 ldrb r3, [r8, #2772] @ zero_extendqisi2 @@ -24046,54 +24534,54 @@ zftl_read: ldrlsb r3, [r10, #1238] @ zero_extendqisi2 bicls r3, r3, #8 strlsb r3, [r10, #1238] - bls .L4014 + bls .L4067 ldrb r1, [r10, #1277] @ zero_extendqisi2 mov r2, r2, asl #9 ldr r3, [r10, #1240] ldr r0, [r10, #1244] add r1, r3, r1, asl #9 bl ftl_memcpy -.L4014: +.L4067: ldr r1, [sp, #52] - ldr r0, .L4051+40 + ldr r0, .L4107+40 bl buf_remove_buf ldr r0, [sp, #52] bl zbuf_free - ldrb r3, [r7, #-2605] @ zero_extendqisi2 + ldrb r3, [r7, #-2529] @ zero_extendqisi2 sub r3, r3, #1 - strb r3, [r7, #-2605] - b .L4007 -.L4050: - ldr r1, .L4051+12 + strb r3, [r7, #-2529] + b .L4058 +.L4106: + ldr r1, .L4107+12 mvn r2, #0 - strb r3, [r1, #-2605] - strb r2, [r1, #-2606] - b .L3994 -.L4048: + strb r3, [r1, #-2529] + strb r2, [r1, #-2530] + b .L4045 +.L4104: bl timer_get_time - ldr r3, .L4051+12 - str r0, [r3, #480] + ldr r3, .L4107+12 + str r0, [r3, #548] ldr r0, [sp, #40] - b .L3993 -.L4019: + b .L4044 +.L4072: mvn r0, #0 -.L3993: +.L4044: add sp, sp, #76 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L4052: +.L4108: .align 2 -.L4051: +.L4107: .word .LANCHOR2 - .word .LC259 + .word .LC262 .word .LANCHOR0 .word .LANCHOR3 .word .LANCHOR0+1236 .word .LANCHOR1+2684 .word .LC0 - .word .LANCHOR3-3204 - .word .LC260 - .word .LC261 + .word .LANCHOR3-3132 + .word .LC263 + .word .LC264 .word .LANCHOR0+2776 .fnend .size zftl_read, .-zftl_read @@ -24143,134 +24631,139 @@ zftl_debug_proc_write: cmp r2, #79 .pad #124 sub sp, sp, #124 - mov r7, r2 + mov r5, r2 add r4, sp, #40 mvnhi r0, #21 str r4, [sp, #36] - bhi .L4057 + bhi .L4113 mov r0, r4 bl rk_copy_from_user cmp r0, #0 mvnne r0, #13 - bne .L4057 + bne .L4113 add r3, sp, #120 mov r1, r4 - add r3, r3, r7 + add r3, r3, r5 strb r0, [r3, #-80] - ldr r0, .L4082 + ldr r0, .L4138 bl printk - ldr r0, .L4082+4 + ldr r0, .L4138+4 mov r1, r4 mov r2, #1 mov r3, #16 bl rknand_print_hex bl rknand_device_lock mov r0, r4 - ldr r1, .L4082+8 + ldr r1, .L4138+8 mov r2, #7 bl memcmp - subs r5, r0, #0 - bne .L4058 - ldr r4, .L4082+12 + subs r6, r0, #0 + bne .L4114 + ldr r4, .L4138+12 movw ip, #698 - ldr r0, .L4082+16 + ldr r0, .L4138+16 mov r2, #4 - ldr r6, .L4082+20 + ldr r7, .L4138+20 movw r8, #65535 ldr r3, [r4, #2804] add r1, r3, #704 ldrh r3, [r3, ip] bl rknand_print_hex ldr r1, [r4, #2804] - ldr r0, .L4082+24 + ldr r0, .L4138+24 mov r2, #2 add r1, r1, #416 - ldrh r3, [r6, #-224] + ldrh r3, [r7, #-152] bl rknand_print_hex -.L4059: - ldrh r3, [r6, #-224] - cmp r5, r3 - bge .L4062 +.L4115: + ldrh r3, [r7, #-152] + cmp r6, r3 + bge .L4118 mov r0, #300 bl msleep - add r3, r5, #208 + add r3, r6, #208 ldr r2, [r4, #2804] mov r3, r3, asl #1 ldrh r0, [r2, r3] cmp r0, r8 - beq .L4060 + beq .L4116 mov r1, #0 bl ftl_sblk_dump -.L4060: - add r5, r5, #1 - b .L4059 -.L4058: +.L4116: + add r6, r6, #1 + b .L4115 +.L4114: mov r0, r4 - ldr r1, .L4082+28 + ldr r1, .L4138+28 mov r2, #7 bl memcmp - subs r5, r0, #0 - bne .L4063 - ldr r4, .L4082+12 + subs r6, r0, #0 + bne .L4119 + ldr r7, .L4138+12 movw ip, #698 - ldr r0, .L4082+16 + ldr r0, .L4138+16 mov r2, #4 - ldr r8, .L4082+32 - ldr r3, [r4, #2804] + ldr r9, .L4138+20 + ldr r3, [r7, #2804] add r1, r3, #704 ldrh r3, [r3, ip] bl rknand_print_hex - ldr r3, .L4082+20 - ldr r1, [r4, #2804] + ldr r1, [r7, #2804] + ldrh r3, [r9, #-152] mov r2, #2 - ldr r0, .L4082+24 - ldrh r3, [r3, #-224] add r1, r1, #416 + ldr r0, .L4138+24 bl rknand_print_hex - ldr r0, .L4082+36 - add r6, sp, #120 + mov r0, #50 + bl msleep + ldr r0, .L4138+32 + sub r9, r9, #2528 + add r4, sp, #120 add r1, sp, #47 - str r1, [r6, #-84]! + str r1, [r4, #-84]! bl printk - mov r1, r6 + mov r1, r4 + mov r4, r6 ldr r0, [sp, #36] bl rk_simple_strtoull.constprop.34 - uxth r6, r0 + uxth r8, r0 str r0, [sp, #32] -.L4065: - add r9, r8, r5 - ldr r0, .L4082+40 - ldrh r1, [r8, r5] - ldrh r2, [r9, #2] +.L4121: + add r6, r9, r4 + ldr r0, .L4138+36 + ldrh r1, [r9, r4] + ldrh r2, [r6, #2] bl printk - ldrh r3, [r5, r8] - cmp r3, r6 - bne .L4064 - ldrb r3, [r4, #2772] @ zero_extendqisi2 + ldrh r3, [r4, r9] + cmp r3, r8 + bne .L4120 + ldrb r3, [r7, #2772] @ zero_extendqisi2 mov r2, #4 - ldr r0, .L4082+44 - ldr r1, [r9, #4] + ldr r0, .L4138+40 + ldr r1, [r6, #4] mov r3, r3, asl #7 bl rknand_print_hex -.L4064: - add r5, r5, #8 - cmp r5, #256 - bne .L4065 + mov r0, #50 + bl msleep +.L4120: + add r4, r4, #8 + cmp r4, #256 + bne .L4121 mov r0, #300 - add r6, r6, #176 + add r8, r8, #176 bl msleep mov r0, #1 bl buf_alloc - ldr r3, [r4, #2804] + ldr r3, [r7, #2804] mov r1, #1 - ldr r3, [r3, r6, asl #2] + ldr r3, [r3, r8, asl #2] str r3, [r0, #24] - mov r5, r0 + mov r4, r0 str r3, [sp, #32] bl sblk_read_page - ldr ip, [r5, #4] - ldr r3, [r5, #12] - ldr r0, .L4082+48 + ldr ip, [r4, #4] + ldr r3, [r4, #12] + ldr r0, .L4138+44 ldr r2, [ip, #4] str r2, [sp] ldr r2, [ip, #8] @@ -24286,60 +24779,60 @@ zftl_debug_proc_write: str r2, [sp, #20] ldr r3, [r3, #12] str r3, [sp, #24] - ldr r2, [r5, #36] + ldr r2, [r4, #36] ldr r3, [ip] bl printk - ldrb r3, [r4, #2772] @ zero_extendqisi2 - ldr r0, .L4082+52 + ldrb r3, [r7, #2772] @ zero_extendqisi2 + ldr r0, .L4138+48 mov r2, #4 - ldr r1, [r5, #4] + ldr r1, [r4, #4] mov r3, r3, asl #7 - b .L4081 -.L4063: + b .L4137 +.L4119: mov r0, r4 - ldr r1, .L4082+56 + ldr r1, .L4138+52 mov r2, #7 bl memcmp cmp r0, #0 - bne .L4066 + bne .L4122 bl dump_ftl_info - b .L4062 -.L4066: + b .L4118 +.L4122: mov r0, r4 - ldr r1, .L4082+60 + ldr r1, .L4138+56 mov r2, #9 bl memcmp cmp r0, #0 - bne .L4067 + bne .L4123 add r1, sp, #120 add r0, sp, #49 str r0, [r1, #-84]! bl rk_simple_strtoull.constprop.34 - ldr r3, .L4082+64 + ldr r3, .L4138+60 str r0, [sp, #32] - strh r0, [r3, #-8] @ movhi + strh r0, [r3, #-12] @ movhi bl dump_all_list_info - b .L4062 -.L4067: + b .L4118 +.L4123: mov r0, r4 - ldr r1, .L4082+68 + ldr r1, .L4138+64 mov r2, #8 bl memcmp cmp r0, #0 - beq .L4062 + beq .L4118 mov r0, r4 - ldr r1, .L4082+72 + ldr r1, .L4138+68 mov r2, #8 bl memcmp cmp r0, #0 - bne .L4069 + bne .L4125 add r4, sp, #120 add r1, sp, #48 - ldr r0, .L4082+36 + ldr r0, .L4138+32 str r1, [r4, #-84]! bl printk mov r1, r4 - ldr r4, .L4082+12 + ldr r6, .L4138+12 ldr r0, [sp, #36] bl rk_simple_strtoull.constprop.34 str r0, [sp, #32] @@ -24347,12 +24840,12 @@ zftl_debug_proc_write: bl buf_alloc mov r1, #1 ldr r3, [sp, #32] - mov r5, r0 + mov r4, r0 str r3, [r0, #24] bl sblk_read_page - ldr r3, [r5, #4] - ldr r2, [r5, #12] - ldr r0, .L4082+48 + ldr r3, [r4, #4] + ldr r2, [r4, #12] + ldr r0, .L4138+44 ldr r1, [r3, #4] str r1, [sp] ldr r1, [r3, #8] @@ -24368,74 +24861,74 @@ zftl_debug_proc_write: ldr r2, [r2, #12] ldr r1, [sp, #32] str r2, [sp, #24] - ldr r2, [r5, #36] + ldr r2, [r4, #36] ldr r3, [r3] bl printk - ldrb r3, [r4, #2772] @ zero_extendqisi2 - ldr r0, .L4082+76 + ldrb r3, [r6, #2772] @ zero_extendqisi2 + ldr r0, .L4138+72 mov r2, #4 - ldr r1, [r5, #4] + ldr r1, [r4, #4] mov r3, r3, asl #7 bl rknand_print_hex - ldrb r3, [r4, #2772] @ zero_extendqisi2 - ldr r0, .L4082+80 + ldrb r3, [r6, #2772] @ zero_extendqisi2 + ldr r0, .L4138+76 mov r2, #4 - ldr r1, [r5, #12] + ldr r1, [r4, #12] mov r3, r3, asl #1 -.L4081: +.L4137: bl rknand_print_hex - mov r0, r5 - bl zbuf_free - b .L4062 -.L4069: mov r0, r4 - ldr r1, .L4082+84 + bl zbuf_free + b .L4118 +.L4125: + mov r0, r4 + ldr r1, .L4138+80 mov r2, #8 bl memcmp - subs r5, r0, #0 - bne .L4070 + subs r6, r0, #0 + bne .L4126 add r4, sp, #120 add r1, sp, #48 - ldr r0, .L4082+36 + ldr r0, .L4138+32 str r1, [r4, #-84]! bl printk mov r1, r4 ldr r0, [sp, #36] bl rk_simple_strtoull.constprop.34 - mov r1, r5 + mov r1, r6 str r0, [sp, #32] uxth r0, r0 bl ftl_sblk_dump - b .L4062 -.L4070: + b .L4118 +.L4126: mov r0, r4 - ldr r1, .L4082+88 + ldr r1, .L4138+84 mov r2, #10 bl memcmp cmp r0, #0 - bne .L4071 + bne .L4127 add r4, sp, #120 add r1, sp, #50 - ldr r0, .L4082+36 + ldr r0, .L4138+32 str r1, [r4, #-84]! bl printk mov r1, r4 ldr r0, [sp, #36] bl rk_simple_strtoull.constprop.34 - ldr r3, .L4082+92 + ldr r3, .L4138+88 str r0, [sp, #32] str r0, [r3] - b .L4062 -.L4071: + b .L4118 +.L4127: mov r0, r4 - ldr r1, .L4082+96 + ldr r1, .L4138+92 mov r2, #8 bl memcmp - subs r5, r0, #0 - bne .L4072 + subs r6, r0, #0 + bne .L4128 add r4, sp, #120 add r1, sp, #48 - ldr r0, .L4082+36 + ldr r0, .L4138+32 str r1, [r4, #-84]! bl printk mov r1, r4 @@ -24445,73 +24938,69 @@ zftl_debug_proc_write: bl lpa_hash_get_ppa cmn r0, #1 str r0, [sp, #32] - bne .L4073 + bne .L4129 mov r0, r4 add r1, sp, #32 - mov r2, r5 + mov r2, r6 bl pm_log2phys -.L4073: +.L4129: mov r1, r4 ldr r2, [sp, #32] - ldr r0, .L4082+100 + ldr r0, .L4138+96 bl printk - b .L4062 -.L4072: - ldr r0, .L4082+104 + b .L4118 +.L4128: + ldr r0, .L4138+100 bl printk - ldr r0, .L4082+108 + ldr r0, .L4138+104 bl printk - ldr r0, .L4082+112 + ldr r0, .L4138+108 bl printk - ldr r0, .L4082+116 + ldr r0, .L4138+112 bl printk - ldr r0, .L4082+120 + ldr r0, .L4138+116 bl printk - ldr r0, .L4082+124 + ldr r0, .L4138+120 bl printk - ldr r0, .L4082+128 + ldr r0, .L4138+124 bl printk - ldr r0, .L4082+132 + ldr r0, .L4138+128 bl printk - ldr r0, .L4082+136 + ldr r0, .L4138+132 bl printk -.L4062: +.L4118: bl rknand_device_unlock - mov r0, r7 -.L4057: + mov r0, r5 +.L4113: add sp, sp, #124 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc} -.L4083: +.L4139: .align 2 -.L4082: - .word .LC262 - .word .LC263 - .word .LC264 - .word .LANCHOR0 +.L4138: .word .LC265 - .word .LANCHOR3 .word .LC266 .word .LC267 - .word .LANCHOR3-2600 + .word .LANCHOR0 .word .LC268 + .word .LANCHOR3 .word .LC269 .word .LC270 - .word .LC243 .word .LC271 .word .LC272 .word .LC273 - .word .LANCHOR3-3136 + .word .LC246 .word .LC274 .word .LC275 - .word .LC216 - .word .LC238 .word .LC276 + .word .LANCHOR3-3056 .word .LC277 - .word .LANCHOR2 .word .LC278 + .word .LC219 + .word .LC241 .word .LC279 .word .LC280 + .word .LANCHOR2 .word .LC281 .word .LC282 .word .LC283 @@ -24520,6 +25009,9 @@ zftl_debug_proc_write: .word .LC286 .word .LC287 .word .LC288 + .word .LC289 + .word .LC290 + .word .LC291 .fnend .size zftl_debug_proc_write, .-zftl_debug_proc_write .align 2 @@ -24532,89 +25024,89 @@ ftl_update_l2p_map: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r6, r0 - ldr r5, .L4115 + ldr r5, .L4171 .pad #20 sub sp, sp, #20 ldrb r7, [r0, #9] @ zero_extendqisi2 - sub r3, r5, #3168 + sub r3, r5, #3088 ldrh r4, [r0, #12] - ldrh r3, [r3, #-4] + ldrh r3, [r3, #-8] mul r7, r7, r3 - ldr r3, [r5, #-2624] + ldr r3, [r5, #-2548] add r4, r3, r4, asl #2 sub r3, r7, #-1073741823 ldr r3, [r4, r3, asl #2] cmn r3, #1 - beq .L4085 - ldr r1, .L4115+4 - movw r2, #1990 - ldr r0, .L4115+8 + beq .L4141 + ldr r1, .L4171+4 + movw r2, #1998 + ldr r0, .L4171+8 bl printk bl dump_stack -.L4085: +.L4141: mov r5, #0 sub r4, r4, #4 mov r9, r5 -.L4086: +.L4142: cmp r9, r7 - beq .L4114 + beq .L4170 ldr r8, [r4, #4]! cmn r8, #1 - beq .L4087 - ldr r3, .L4115+12 + beq .L4143 + ldr r3, .L4171+12 mov r0, r8 ldrb r1, [r3, #2772] @ zero_extendqisi2 mov r1, r1, asl #7 bl __aeabi_uidiv - ldr r3, .L4115+16 + ldr r3, .L4171+16 ldr r3, [r3] tst r3, #4096 uxth fp, r0 - beq .L4088 - ldr r0, .L4115+20 + beq .L4144 + ldr r0, .L4171+20 mov r1, fp mov r2, r8 mov r3, r9 bl printk -.L4088: +.L4144: mov r8, r4 mov r10, r9 -.L4091: +.L4147: ldr r0, [r8] cmn r0, #1 - beq .L4089 - ldr r3, .L4115+12 + beq .L4145 + ldr r3, .L4171+12 ldrb r1, [r3, #2772] @ zero_extendqisi2 mov r1, r1, asl #7 bl __aeabi_uidiv uxth r0, r0 cmp r0, fp - bne .L4089 + bne .L4145 ldrb r3, [r6, #9] @ zero_extendqisi2 mov r0, r10 mov r1, r3 str r3, [sp, #4] bl __aeabi_idiv - ldr r2, .L4115+24 + ldr r2, .L4171+24 ldrh r2, [r2] ldr r3, [sp, #4] mls r3, r3, r0, r10 add r3, r6, r3, asl #1 ldrh r3, [r3, #16] mla r2, r2, r3, r0 - ldr r0, .L4115+28 + ldr r0, .L4171+28 str r2, [sp, #12] ldr r1, [r8] bl pm_ppa_update_check cmp r0, #0 - beq .L4090 - ldr r3, .L4115 + beq .L4146 + ldr r3, .L4171 mov r2, #4 - ldr r0, .L4115+32 - ldr r1, [r3, #-2624] + ldr r0, .L4171+32 + ldr r1, [r3, #-2548] mov r3, r7 bl rknand_print_hex -.L4090: +.L4146: add r5, r5, #1 ldr r0, [r8] add r1, sp, #12 @@ -24623,28 +25115,28 @@ ftl_update_l2p_map: bl pm_log2phys mvn r3, #0 str r3, [r8] -.L4089: +.L4145: add r10, r10, #1 add r8, r8, #4 cmp r10, r7 - bne .L4091 -.L4087: + bne .L4147 +.L4143: add r9, r9, #1 - b .L4086 -.L4114: - ldr r3, .L4115+16 - ldr r4, .L4115+12 + b .L4142 +.L4170: + ldr r3, .L4171+16 + ldr r4, .L4171+12 ldr r3, [r3] tst r3, #4096 - beq .L4093 + beq .L4149 ldrh r1, [r6] mov r2, r5 ldr ip, [r4, #1088] - ldr r0, .L4115+36 + ldr r0, .L4171+36 mov r3, r1, asl #1 ldrh r3, [ip, r3] bl printk -.L4093: +.L4149: ldrh r3, [r6] ldr r2, [r4, #1088] mov r3, r3, asl #1 @@ -24652,19 +25144,19 @@ ftl_update_l2p_map: add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L4116: +.L4172: .align 2 -.L4115: +.L4171: .word .LANCHOR3 .word .LANCHOR1+2696 .word .LC0 .word .LANCHOR0 .word .LANCHOR2 - .word .LC289 - .word .LANCHOR3-3142 - .word .LC290 - .word .LC291 .word .LC292 + .word .LANCHOR3-3066 + .word .LC293 + .word .LC294 + .word .LC295 .fnend .size ftl_update_l2p_map, .-ftl_update_l2p_map .align 2 @@ -24683,10 +25175,10 @@ ftl_alloc_new_data_sblk: ldrh r0, [r6] movw r3, #65535 cmp r0, r3 - beq .L4118 + beq .L4174 bl zftl_insert_data_list -.L4118: - ldr r4, .L4126 +.L4174: + ldr r4, .L4182 mov r0, r6 ldr r1, [r4, #1092] add r1, r1, #16 @@ -24703,9 +25195,9 @@ ftl_alloc_new_data_sblk: mov r3, r3, lsr #5 moveq r3, #0 cmp r3, #0 - beq .L4120 + beq .L4176 mov r1, r5 - ldr r0, .L4126+4 + ldr r0, .L4182+4 bl printk ldr r3, [r4, #1092] ldr r0, [r3, #564] @@ -24714,18 +25206,18 @@ ftl_alloc_new_data_sblk: mvn r2, #0 str r6, [r3, #560] str r2, [r3, #564] -.L4120: +.L4176: bl ftl_ext_info_flush mov r0, #0 bl ftl_info_flush bl lpa_rebuild_hash mov r0, #0 ldmfd sp!, {r4, r5, r6, pc} -.L4127: +.L4183: .align 2 -.L4126: +.L4182: .word .LANCHOR0 - .word .LC293 + .word .LC296 .fnend .size ftl_alloc_new_data_sblk, .-ftl_alloc_new_data_sblk .align 2 @@ -24739,277 +25231,299 @@ ftl_write_commit: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #36 sub sp, sp, #36 - ldr r6, .L4194 - mov r7, r6 -.L4129: - ldrb r2, [r6, #2800] @ zero_extendqisi2 + ldr r7, .L4252 + mov r8, r7 +.L4185: + ldrb r2, [r7, #2800] @ zero_extendqisi2 cmp r2, #0 - beq .L4131 - ldrb r3, [r6, #2824] @ zero_extendqisi2 + beq .L4187 + ldrb r3, [r7, #2824] @ zero_extendqisi2 sub r2, r2, #1 - strb r2, [r6, #2800] + strb r2, [r7, #2800] str r3, [sp, #16] mov r3, #48 ldr r1, [sp, #16] mul r3, r3, r1 - ldr r1, .L4194+4 + ldr r1, .L4252+4 add r1, r1, r3 - add r3, r6, r3 + add r3, r7, r3 str r1, [sp, #20] ldr r2, [r3, #1256] ldrb r1, [r3, #1236] @ zero_extendqisi2 - ldr r3, [r6, #2784] + ldr r3, [r7, #2784] cmp r2, r3 - strb r1, [r6, #2824] - bcc .L4132 - ldr r1, .L4194+8 - mov r2, #604 - ldr r0, .L4194+12 + strb r1, [r7, #2824] + bcc .L4188 + ldr r1, .L4252+8 + movw r2, #606 + ldr r0, .L4252+12 bl printk bl dump_stack -.L4132: +.L4188: ldr r2, [sp, #16] mov r3, #48 - ldr r1, [r7, #2784] - mla r2, r3, r2, r7 - ldr r8, [r2, #1256] - cmp r8, r1 - bcc .L4133 + ldr r1, [r8, #2784] + mla r2, r3, r2, r8 + ldr r9, [r2, #1256] + cmp r9, r1 + bcc .L4189 ldr r0, [sp, #20] bl zbuf_free mvn r0, #0 - b .L4190 -.L4133: + b .L4248 +.L4189: ldr r1, [r2, #1248] ldr fp, [r2, #1240] - ldrb r4, [r2, #1277] @ zero_extendqisi2 + ldrb r5, [r2, #1277] @ zero_extendqisi2 ldrb r2, [r2, #1276] @ zero_extendqisi2 str r1, [sp, #8] str r2, [sp, #12] - ldrb r2, [r6, #2801] @ zero_extendqisi2 + ldrb r2, [r7, #2801] @ zero_extendqisi2 cmp r2, #0 - beq .L4135 - ldr r2, .L4194+16 - ldrb r5, [r2, #-168] @ zero_extendqisi2 - ldr r2, .L4194+4 - mla r5, r3, r5, r2 -.L4136: - ldrb r2, [r5] @ zero_extendqisi2 - cmp r2, #255 - ldrne r1, .L4194+4 - mlane r5, r3, r2, r1 - bne .L4136 + beq .L4191 + ldr r2, .L4252+16 + ldrb r4, [r2, #-96] @ zero_extendqisi2 + ldr r2, .L4252+4 + mla r4, r3, r4, r2 .L4192: - ldr r3, [r5, #20] - cmp r3, r8 - bne .L4135 + ldrb r2, [r4] @ zero_extendqisi2 + cmp r2, #255 + ldrne r1, .L4252+4 + mlane r4, r3, r2, r1 + bne .L4192 +.L4250: + ldr r3, [r4, #20] + cmp r3, r9 + bne .L4191 ldr r3, [sp, #12] - mov r1, r4, asl #9 - ldr r0, [r5, #4] + mov r1, r5, asl #9 + ldr r0, [r4, #4] mov r2, r3, asl #9 add r0, r0, r1 add r1, fp, r1 bl ftl_memcpy - ldrb r3, [r7, #2772] @ zero_extendqisi2 - ldr r1, [r5, #12] + ldrb r3, [r8, #2772] @ zero_extendqisi2 + ldr r1, [r4, #12] mov r0, #2 sub r3, r3, #2 - ldr r2, [r5, #4] + ldr r2, [r4, #4] add r1, r1, #16 add r2, r2, r3, asl #9 bl ftl_debug_info_fill ldr r0, [sp, #20] bl zbuf_free - b .L4129 -.L4135: - mov r0, r8 + b .L4185 +.L4191: + mov r0, r9 bl lpa_hash_get_ppa cmn r0, #1 str r0, [sp, #28] - bne .L4139 - mov r0, r8 + bne .L4195 + mov r0, r9 add r1, sp, #28 mov r2, #0 bl pm_log2phys -.L4139: - ldr r5, [r7, #1092] - mov r2, #0 - ldr r10, .L4194+4 - mov r9, r2 - ldr r0, [sp, #28] - add r5, r5, #16 - add r1, r10, #1536 -.L4141: - ldr r3, [r10, #20] - cmp r3, r8 - bne .L4140 - ldrb r3, [r10, #2] @ zero_extendqisi2 - tst r3, #8 - bicne r3, r3, #8 - strneb r3, [r10, #2] - ldrne r9, [r10, #4] - movne r2, #1 - ldrne r0, [r10, #24] -.L4140: - add r10, r10, #48 - cmp r10, r1 - bne .L4141 - cmp r2, #0 - ldrb r3, [r7, #2772] @ zero_extendqisi2 +.L4195: + ldr r6, [r8, #1092] + mov r1, #0 + ldr r3, .L4252+4 + mov r4, r1 + ldr ip, [sp, #28] + add r6, r6, #16 + add r0, r3, #1536 +.L4197: + ldr r2, [r3, #20] + cmp r2, r9 + bne .L4196 + ldrb r2, [r3, #2] @ zero_extendqisi2 + tst r2, #8 + bicne r2, r2, #8 + strneb r2, [r3, #2] + ldrne r4, [r3, #4] + movne r1, #1 + ldrne ip, [r3, #24] +.L4196: + add r3, r3, #48 + cmp r3, r0 + bne .L4197 + ldrb r3, [r8, #2772] @ zero_extendqisi2 + cmp r1, #0 ldr r2, [sp, #12] - strne r0, [sp, #28] + strne ip, [sp, #28] cmp r2, r3 - bcs .L4166 - cmp r9, #0 - beq .L4144 + bcs .L4224 cmp r4, #0 - beq .L4145 + beq .L4200 + cmp r5, #0 + beq .L4201 mov r0, fp - mov r1, r9 - mov r2, r4, asl #9 + mov r1, r4 + mov r2, r5, asl #9 bl ftl_memcpy - ldr r5, [r6, #1092] - add r5, r5, #48 -.L4145: + ldr r6, [r7, #1092] + add r6, r6, #48 +.L4201: ldr r3, [sp, #12] - ldrb r10, [r7, #2772] @ zero_extendqisi2 - add r2, r4, r3 + ldrb r10, [r8, #2772] @ zero_extendqisi2 + add r2, r5, r3 cmp r2, r10 - ldrcs r5, [r6, #1092] - addcs r5, r5, #16 - bcs .L4166 + ldrcs r6, [r7, #1092] + addcs r6, r6, #16 + bcs .L4224 mov r1, r2, asl #9 rsb r2, r2, r10 add r0, fp, r1 - add r1, r9, r1 + add r1, r4, r1 mov r2, r2, asl #9 bl ftl_memcpy - b .L4166 -.L4144: + b .L4224 +.L4200: ldr r3, [sp, #28] cmn r3, #1 - beq .L4147 + beq .L4203 mov r0, #1 bl buf_alloc mov r1, #1 ldr r3, [sp, #28] - mov r9, r0 - str r8, [r0, #20] + mov r4, r0 + str r9, [r0, #20] str r3, [r0, #24] bl sblk_read_page - ldr r3, [r9, #12] + ldr r3, [r4, #12] + ldr r2, [r3, #4] ldr r10, [r3, #12] - ldr r3, [r3, #4] + cmp r2, r9 add r10, r10, #1 - cmp r3, r8 - bne .L4148 - ldr r3, [r9, #36] + bne .L4204 + ldr r2, [r4, #36] + cmn r2, #1 + bne .L4205 +.L4204: + ldr ip, [r4, #24] + mvn r0, #0 + ldrb r2, [r8, #1189] @ zero_extendqisi2 + ldrb lr, [r8, #2772] @ zero_extendqisi2 + rsb r1, r2, #24 + mvn r2, r0, asl r2 + and r0, r2, ip, lsr r1 + str lr, [sp] + bic r1, ip, r2, asl r1 + uxtb r0, r0 + ldr r2, [r4, #4] + bl flash_read_page_en + str r0, [r4, #36] +.L4205: + ldr r3, [r4, #12] + ldr r3, [r3, #4] + cmp r3, r9 + bne .L4206 + ldr r3, [r4, #36] cmn r3, #1 - bne .L4149 -.L4148: + bne .L4207 +.L4206: ldr r2, [r7, #1092] - ldr r0, .L4194+20 + ldr r0, .L4252+20 ldr r3, [r2, #552] add r3, r3, #1 str r3, [r2, #552] - ldr r3, [r9, #36] - ldrb r1, [r9, #1] @ zero_extendqisi2 + ldr r3, [r4, #36] + ldrb r1, [r4, #1] @ zero_extendqisi2 ldr r2, [sp, #28] str r3, [sp] - mov r3, r8 + mov r3, r9 bl printk mov r2, #4 - ldr r0, .L4194+24 + ldr r0, .L4252+24 mov r3, r2 - ldr r1, [r9, #12] + ldr r1, [r4, #12] bl rknand_print_hex -.L4149: - ldr r3, [r9, #12] +.L4207: + ldr r3, [r4, #12] ldr r3, [r3, #4] - cmp r3, r8 - bne .L4150 - ldr r3, [r9, #36] + cmp r3, r9 + bne .L4208 + ldr r3, [r4, #36] cmn r3, #1 - bne .L4151 -.L4150: - ldr r1, .L4194+8 - movw r2, #691 - ldr r0, .L4194+12 + bne .L4209 +.L4208: + ldr r1, .L4252+8 + movw r2, #698 + ldr r0, .L4252+12 bl printk bl dump_stack -.L4151: - cmp r4, #0 - beq .L4152 +.L4209: + cmp r5, #0 + beq .L4210 ldr r3, [sp, #28] - mov r2, r4, asl #9 + mov r2, r5, asl #9 cmn r3, #1 - beq .L4153 + beq .L4211 mov r0, fp - ldr r1, [r9, #4] + ldr r1, [r4, #4] bl ftl_memcpy - b .L4154 -.L4147: - cmp r4, #0 - moveq r9, r4 - moveq r10, r4 - beq .L4152 - mov r2, r4, asl #9 - mov r10, r9 -.L4153: + b .L4212 +.L4203: + cmp r5, #0 + moveq r4, r5 + moveq r10, r5 + beq .L4210 + mov r2, r5, asl #9 + mov r10, r4 +.L4211: mov r0, fp mov r1, #0 bl ftl_memset -.L4154: - ldr r5, [r6, #1092] - add r5, r5, #48 -.L4152: +.L4212: + ldr r6, [r7, #1092] + add r6, r6, #48 +.L4210: ldr r3, [sp, #12] - ldrb r2, [r6, #2772] @ zero_extendqisi2 - add r4, r4, r3 - cmp r4, r2 - bcc .L4155 - ldrhi r5, [r6, #1092] - addhi r5, r5, #16 - b .L4156 -.L4155: + ldrb r2, [r7, #2772] @ zero_extendqisi2 + add r5, r5, r3 + cmp r5, r2 + bcc .L4213 + ldrhi r6, [r7, #1092] + addhi r6, r6, #16 + b .L4214 +.L4213: ldr r3, [sp, #28] - rsb r2, r4, r2 - mov r4, r4, asl #9 + rsb r2, r5, r2 + mov r5, r5, asl #9 cmn r3, #1 mov r2, r2, asl #9 - beq .L4157 - ldr r1, [r9, #4] - add r0, fp, r4 - add r1, r1, r4 + beq .L4215 + ldr r1, [r4, #4] + add r0, fp, r5 + add r1, r1, r5 bl ftl_memcpy - b .L4156 -.L4157: - add r0, fp, r4 + b .L4214 +.L4215: + add r0, fp, r5 mov r1, #0 bl ftl_memset -.L4156: - cmp r9, #0 - beq .L4143 - ldrb r3, [r9, #2] @ zero_extendqisi2 - mov r1, r9 - ldr r0, .L4194+28 +.L4214: + cmp r4, #0 + beq .L4199 + ldrb r3, [r4, #2] @ zero_extendqisi2 + mov r1, r4 + ldr r0, .L4252+28 bic r3, r3, #8 - strb r3, [r9, #2] + strb r3, [r4, #2] bl buf_remove_buf - mov r0, r9 + mov r0, r4 bl zbuf_free - b .L4143 -.L4166: + b .L4199 +.L4224: mov r10, #0 -.L4143: - ldrh r3, [r5, #6] +.L4199: + ldrh r3, [r6, #6] cmp r3, #0 - bne .L4158 + bne .L4216 bl ftl_flush - mov r0, r5 + mov r0, r6 bl ftl_alloc_new_data_sblk -.L4158: - mov r0, r5 +.L4216: + mov r0, r6 mov r4, #48 bl ftl_get_new_free_page ldr r3, [sp, #16] @@ -25017,54 +25531,54 @@ ftl_write_commit: mov r0, #2 mul r4, r4, r3 ldr r3, [sp, #8] - add r9, r7, r4 + add r5, r8, r4 mov r1, r3 - ldr r2, [r9, #1252] + ldr r2, [r5, #1252] str r10, [r3, #12] - stmia r3, {r2, r8} + stmia r3, {r2, r9} ldr r2, [sp, #28] - ldrb r8, [r7, #2772] @ zero_extendqisi2 + ldrb ip, [r8, #2772] @ zero_extendqisi2 str r2, [r3, #8] mov r2, #0 str r2, [r1, #16]! - sub r2, r8, #2 + sub r2, ip, #2 add r2, fp, r2, asl #9 bl ftl_debug_info_fill - ldr r3, .L4194+4 - add r4, r3, r4 - ldr r2, [sp, #28] - ldr ip, [sp, #12] + ldr r3, [sp, #12] ldr r1, [sp, #20] - str r2, [r9, #1264] - mvn r2, #0 - strb r2, [r9, #1236] - ldrb r2, [r9, #1238] @ zero_extendqisi2 - str ip, [r9, #1260] - orr r2, r2, #10 - strb r2, [r9, #1238] - ldrh r9, [r5, #10] - ldrh r8, [r5, #12] - add r8, r9, r8 - sub r8, r8, #1 - strh r8, [r4, #32] @ movhi - ldr r4, .L4194+16 - sub r0, r4, #168 + str r3, [r5, #1260] + ldr r3, [sp, #28] + str r3, [r5, #1264] + mvn r3, #0 + strb r3, [r5, #1236] + ldrb r3, [r5, #1238] @ zero_extendqisi2 + orr r3, r3, #10 + strb r3, [r5, #1238] + ldr r3, .L4252+4 + ldrh r10, [r6, #10] + ldrh r9, [r6, #12] + add r4, r3, r4 + add r9, r10, r9 + sub r9, r9, #1 + strh r9, [r4, #32] @ movhi + ldr r4, .L4252+16 + sub r0, r4, #96 bl buf_add_tail - ldrb r3, [r7, #2801] @ zero_extendqisi2 + ldrb r3, [r8, #2801] @ zero_extendqisi2 add r3, r3, #1 - strb r3, [r7, #2801] + strb r3, [r8, #2801] bl timer_get_time - ldrb r3, [r7, #2801] @ zero_extendqisi2 - ldrh r2, [r5, #6] + ldrb r3, [r8, #2801] @ zero_extendqisi2 + ldrh r2, [r6, #6] cmp r3, #2 - str r0, [r4, #-164] - bhi .L4159 + str r0, [r4, #-92] + bhi .L4217 cmp r2, #1 - bne .L4131 -.L4159: - ldrb r1, [r5, #5] @ zero_extendqisi2 + bne .L4187 +.L4217: + ldrb r1, [r6, #5] @ zero_extendqisi2 mov lr, #48 - ldrb r0, [r4, #-168] @ zero_extendqisi2 + ldrb r0, [r4, #-96] @ zero_extendqisi2 cmp r1, #0 mov r1, #0 moveq ip, #1 @@ -25072,50 +25586,50 @@ ftl_write_commit: cmp r2, #1 mov r2, r0 moveq ip, r3 -.L4163: +.L4221: cmp r1, ip - mlane r2, lr, r2, r6 + mlane r2, lr, r2, r7 addne r1, r1, #1 ldrneb r2, [r2, #1236] @ zero_extendqisi2 - bne .L4163 -.L4193: - strb r2, [r4, #-168] + bne .L4221 +.L4251: + strb r2, [r4, #-96] uxtb r1, r1 - ldr r2, .L4194+4 + ldr r2, .L4252+4 rsb r3, r1, r3 - strb r3, [r7, #2801] + strb r3, [r8, #2801] mov r3, #48 mla r0, r3, r0, r2 bl sblk_prog_page - ldrh r3, [r5, #6] + ldrh r3, [r6, #6] cmp r3, #1 - bne .L4131 + bne .L4187 bl sblk_wait_write_queue_completed bl ftl_write_completed - mov r0, r5 + mov r0, r6 bl ftl_write_last_log_page - mov r0, r5 + mov r0, r6 bl ftl_alloc_new_data_sblk -.L4131: - ldrb r4, [r6, #2800] @ zero_extendqisi2 +.L4187: + ldrb r4, [r7, #2800] @ zero_extendqisi2 cmp r4, #0 - bne .L4129 + bne .L4185 bl ftl_write_completed mov r0, r4 -.L4190: +.L4248: add sp, sp, #36 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L4195: +.L4253: .align 2 -.L4194: +.L4252: .word .LANCHOR0 .word .LANCHOR0+1236 .word .LANCHOR1+2716 .word .LC0 .word .LANCHOR3 - .word .LC294 - .word .LC238 + .word .LC297 + .word .LC241 .word .LANCHOR0+2776 .fnend .size ftl_write_commit, .-ftl_write_commit @@ -25130,17 +25644,17 @@ gc_do_copy_back: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #76 sub sp, sp, #76 - ldr r8, .L4344 - ldr r5, .L4344+4 - ldrb r0, [r8, #-3187] @ zero_extendqisi2 + ldr r8, .L4402 + ldr r5, .L4402+4 + ldrb r0, [r8, #-3115] @ zero_extendqisi2 ldr r3, [r5, #1092] cmp r0, #0 str r3, [sp, #12] - bne .L4197 + bne .L4255 bl buf_alloc subs r4, r0, #0 - beq .L4196 - ldr r7, .L4344+8 + beq .L4254 + ldr r7, .L4402+8 ldrh r6, [r7, #22] mov r0, r6 add r6, r6, #1 @@ -25154,54 +25668,54 @@ gc_do_copy_back: ldr r3, [r4, #36] cmn r3, #1 cmpne r3, #512 - bne .L4199 - ldr r1, .L4344+12 + bne .L4257 + ldr r1, .L4402+12 movw r2, #1032 - ldr r0, .L4344+16 + ldr r0, .L4402+16 bl printk bl dump_stack -.L4199: +.L4257: ldr r3, [r4, #12] ldr r6, [r3, #4] mov r0, r6 bl lpa_hash_get_ppa cmn r0, #1 str r0, [sp, #48] - bne .L4200 + bne .L4258 mov r0, r6 add r1, sp, #48 mov r2, #0 bl pm_log2phys -.L4200: +.L4258: ldr r8, [sp, #48] cmp r8, r9 - bne .L4201 - ldr r1, .L4344+20 + bne .L4259 + ldr r1, .L4402+20 mov r3, #0 -.L4204: +.L4262: add r2, r1, r3 ldr r0, [r2, #20] cmp r0, r6 - bne .L4202 + bne .L4260 ldrb r2, [r2, #2] @ zero_extendqisi2 tst r2, #2 - beq .L4202 + beq .L4260 mov r0, r4 bl zbuf_free - ldr r3, .L4344+24 + ldr r3, .L4402+24 ldr r3, [r3] tst r3, #256 - beq .L4196 + beq .L4254 mov r1, r6 mov r2, r8 ldrh r3, [r7, #22] - ldr r0, .L4344+28 + ldr r0, .L4402+28 bl printk - b .L4196 -.L4202: + b .L4254 +.L4260: add r3, r3, #48 cmp r3, #1536 - bne .L4204 + bne .L4262 ldrb r3, [r5, #2772] @ zero_extendqisi2 mov r2, #0 str r6, [r4, #20] @@ -25211,21 +25725,21 @@ gc_do_copy_back: ldr r1, [r3] str r1, [r4, #16] str r2, [r3, #16] - ldr r3, .L4344+24 + ldr r3, .L4402+24 ldr r3, [r3] tst r3, #256 - beq .L4205 + beq .L4263 mov r0, r6 bl lpa_hash_get_ppa mov r1, r6 str r8, [sp] mov r3, r0 ldrh r2, [r7, #22] - ldr r0, .L4344+32 + ldr r0, .L4402+32 str r2, [sp, #4] mov r2, r8 bl printk -.L4205: +.L4263: mov r0, r4 bl ftl_gc_write_buf bl ftl_write_commit @@ -25236,71 +25750,71 @@ gc_do_copy_back: ldrh r3, [r7, #24] add r3, r3, #1 strh r3, [r7, #24] @ movhi - b .L4196 -.L4201: - ldr r3, .L4344+24 + b .L4254 +.L4259: + ldr r3, .L4402+24 ldr r3, [r3] tst r3, #256 - beq .L4207 + beq .L4265 mov r0, r6 bl lpa_hash_get_ppa mov r1, r6 str r9, [sp] mov r3, r0 ldrh r2, [r7, #22] - ldr r0, .L4344+32 + ldr r0, .L4402+32 str r2, [sp, #4] mov r2, r8 bl printk -.L4207: +.L4265: mov r0, r4 bl zbuf_free - b .L4196 -.L4197: + b .L4254 +.L4255: ldr r3, [sp, #12] ldrb r9, [r3, #89] @ zero_extendqisi2 - ldrb r3, [r8, #-3195] @ zero_extendqisi2 + ldrb r3, [r8, #-3123] @ zero_extendqisi2 uxth fp, r9 cmp r3, fp movhi r6, #1 - bhi .L4209 + bhi .L4267 cmp fp, #2 movcc r6, fp movcs r6, #2 -.L4209: - ldrb r4, [r8, #-3196] @ zero_extendqisi2 - ldr r10, .L4344 +.L4267: + ldrb r4, [r8, #-3124] @ zero_extendqisi2 + ldr r10, .L4402 cmp r4, #3 - ldr r3, .L4344+8 - bne .L4210 + ldr r3, .L4402+8 + bne .L4268 ldrb r2, [r5, #1196] @ zero_extendqisi2 cmp r2, #0 - beq .L4211 + beq .L4269 movw r2, #2102 mov r1, r9 ldrh r7, [r3, r2] mov r0, r7 bl __aeabi_idiv - ldrb r3, [r10, #-2612] @ zero_extendqisi2 + ldrb r3, [r10, #-2536] @ zero_extendqisi2 cmp r3, #0 uxth r5, r0 - beq .L4212 - ldr r3, .L4344+36 + beq .L4270 + ldr r3, .L4402+36 mov r0, r0, asl #1 ldrh r3, [r3, r0] cmp r3, #0 moveq r4, #1 movne r4, #2 - b .L4213 -.L4212: - ldrb r3, [r10, #473] @ zero_extendqisi2 + b .L4271 +.L4270: + ldrb r3, [r10, #541] @ zero_extendqisi2 cmp r3, #0 moveq r4, #1 - beq .L4213 + beq .L4271 sub r3, r5, #62 cmp r3, #2160 movcs r4, #2 - bcs .L4213 + bcs .L4271 mov r1, r4 mov r0, r5 bl __aeabi_uidivmod @@ -25308,22 +25822,22 @@ gc_do_copy_back: cmp r1, #0 movne r4, #1 moveq r4, #2 -.L4213: +.L4271: smulbb r1, r5, fp rsb r1, r1, r7 uxth r3, r1 str r3, [sp, #16] - b .L4216 -.L4211: - ldrb r2, [r10, #-3188] @ zero_extendqisi2 + b .L4274 +.L4269: + ldrb r2, [r10, #-3116] @ zero_extendqisi2 cmp r2, #0 movw r2, #2102 ldrh r7, [r3, r2] mov r0, r7 - beq .L4215 + beq .L4273 add r1, r9, r9, asl #1 bl __aeabi_idiv - ldr r2, .L4344+40 + ldr r2, .L4402+40 mul r9, r9, r0 uxth r5, r0 sub r9, r9, r9, asl #2 @@ -25332,16 +25846,16 @@ gc_do_copy_back: sub r1, r3, r1, asr #31 uxth r3, r1 str r3, [sp, #16] - ldr r3, .L4344+4 + ldr r3, .L4402+4 ldrb r3, [r3, #1197] @ zero_extendqisi2 cmp r3, #0 addne r5, r5, r5, asl #1 uxthne r5, r5 - b .L4216 -.L4215: + b .L4274 +.L4273: mov r1, r9 bl __aeabi_idiv - ldr r2, .L4344+44 + ldr r2, .L4402+44 smulbb r1, r0, fp mov r3, r0, asl #1 ldrh r2, [r2, r3] @@ -25356,16 +25870,16 @@ gc_do_copy_back: cmp r3, #1 add r9, r9, r9, asl #1 uxth r7, r9 - bne .L4217 - b .L4216 -.L4210: - ldrb r2, [r10, #-3194] @ zero_extendqisi2 + bne .L4275 + b .L4274 +.L4268: + ldrb r2, [r10, #-3122] @ zero_extendqisi2 mov r1, r9 cmp r2, #0 movw r2, #2102 ldrh r7, [r3, r2] mov r0, r7 - bne .L4218 + bne .L4276 bl __aeabi_idiv mov r4, #1 uxth r5, r0 @@ -25373,8 +25887,8 @@ gc_do_copy_back: rsb r1, r1, r7 uxth r3, r1 str r3, [sp, #16] - b .L4216 -.L4218: + b .L4274 +.L4276: bl __aeabi_idiv mov r4, #2 uxth r5, r0 @@ -25382,50 +25896,50 @@ gc_do_copy_back: rsb r1, r1, r7 uxth r3, r1 str r3, [sp, #16] -.L4216: +.L4274: mul r3, r6, r4 - ldr r10, .L4344+36 + ldr r10, .L4402+36 mov r2, #0 - ldr ip, .L4344 + ldr ip, .L4402 add r10, r10, r5, asl #1 - ldr r1, .L4344+8 + ldr r1, .L4402+8 str r3, [sp, #20] - b .L4219 -.L4339: + b .L4277 +.L4397: ldrh r0, [r10] cmp r0, r5 - bcs .L4277 + bcs .L4335 tst lr, #1 - beq .L4277 -.L4220: - ldr fp, [r8, #-240] + beq .L4335 +.L4278: + ldr fp, [r8, #-168] ldr r0, [fp, r3, asl #2] cmn r0, #1 - beq .L4338 -.L4223: + beq .L4396 +.L4281: add r2, r2, #1 -.L4219: +.L4277: ldr r3, [sp, #20] uxth lr, r2 cmp lr, r3 - bge .L4277 - ldr r0, .L4344+48 + bge .L4335 + ldr r0, .L4402+48 add r3, r7, lr ldr r9, [sp, #12] ldrh r0, [r0] ldrb r9, [r9, #89] @ zero_extendqisi2 mul r0, r9, r0 - ldrb r9, [r8, #477] @ zero_extendqisi2 + ldrb r9, [r8, #545] @ zero_extendqisi2 rsb r0, r9, r0 cmp r3, r0 - blt .L4220 - ldrb r0, [ip, #-2612] @ zero_extendqisi2 + blt .L4278 + ldrb r0, [ip, #-2536] @ zero_extendqisi2 cmp r0, #0 - bne .L4339 -.L4277: + bne .L4397 +.L4335: mov r3, #1 str r3, [sp, #20] -.L4217: +.L4275: rsb r1, r6, r6, asl #15 mul r3, r6, r4 mov r1, r1, asl #1 @@ -25433,29 +25947,29 @@ gc_do_copy_back: str r3, [sp, #24] add r1, r7, r1 uxth r3, r1 - ldr r1, .L4344+36 + ldr r1, .L4402+36 str r3, [sp, #36] mov r3, #0 str r3, [sp, #28] add r3, r1, r5, asl #1 str r3, [sp, #32] - b .L4222 -.L4338: + b .L4280 +.L4396: ldrh r9, [r1, #22] ldrh r0, [r1, #20] cmp r0, r9 - bls .L4196 - ldrb r0, [ip, #-2612] @ zero_extendqisi2 + bls .L4254 + ldrb r0, [ip, #-2536] @ zero_extendqisi2 cmp r0, #0 - beq .L4224 + beq .L4282 ldrh r0, [r10] cmp r0, r5 - bcs .L4224 + bcs .L4282 tst lr, #1 ldrne r0, [fp, r0, asl #2] strne r0, [fp, r3, asl #2] - bne .L4223 -.L4224: + bne .L4281 +.L4282: mov r0, r9 str r1, [sp, #36] str ip, [sp, #32] @@ -25463,27 +25977,27 @@ gc_do_copy_back: str r2, [sp, #28] str r3, [sp, #24] bl gc_get_src_ppa_from_index - ldr r3, .L4344+8 + ldr r3, .L4402+8 strh r9, [r3, #22] @ movhi ldr r3, [sp, #24] ldr r1, [sp, #36] ldr ip, [sp, #32] str r0, [fp, r3, asl #2] ldr r2, [sp, #28] - b .L4223 -.L4248: - ldr r3, [fp, #-3192] + b .L4281 +.L4306: + ldr r3, [fp, #-3120] add r10, r7, r9 ldrb r3, [r3, r10] @ zero_extendqisi2 cmp r3, #255 - beq .L4340 -.L4226: - ldr r1, .L4344 + beq .L4398 +.L4284: + ldr r1, .L4402 add r2, sp, #72 add r2, r2, r9, asl #2 - ldr r0, .L4344+20 - ldr ip, .L4344+4 - ldr r3, [r1, #-3192] + ldr r0, .L4402+20 + ldr ip, .L4402+4 + ldr r3, [r1, #-3120] ldrb r8, [r3, r10] @ zero_extendqisi2 mov r3, #48 mul r3, r3, r8 @@ -25494,17 +26008,17 @@ gc_do_copy_back: strb r2, [r3, #1281] mov r2, #2 strh r2, [r0, #34] @ movhi - ldrb r2, [r1, #-3196] @ zero_extendqisi2 + ldrb r2, [r1, #-3124] @ zero_extendqisi2 cmp r2, #3 - bne .L4239 + bne .L4297 ldrb r2, [ip, #1196] @ zero_extendqisi2 cmp r2, #0 - beq .L4240 - ldrb r1, [r1, #-2612] @ zero_extendqisi2 + beq .L4298 + ldrb r1, [r1, #-2536] @ zero_extendqisi2 and r2, r9, #1 add r3, r5, r2 cmp r1, #0 - beq .L4241 + beq .L4299 ldr r1, [sp, #32] ldrh r1, [r1] cmp r1, r5 @@ -25512,15 +26026,15 @@ gc_do_copy_back: andcc r2, r2, #1 cmp r2, #0 movne r3, r1 -.L4241: - ldr r2, .L4344+4 +.L4299: + ldr r2, .L4402+4 mov r1, r4 mov fp, #48 mov r0, r9 str r3, [sp, #40] mla fp, fp, r8, r2 bl __aeabi_uidiv - ldr r1, .L4344+52 + ldr r1, .L4402+52 ldrh r1, [r1] ldr r3, [sp, #16] uxtah r0, r3, r0 @@ -25531,39 +26045,39 @@ gc_do_copy_back: mla r3, r1, r2, r3 orr r3, r3, #50331648 str r3, [fp, #1260] -.L4242: +.L4300: mov r3, #48 mul r8, r3, r8 - ldr r3, .L4344+4 + ldr r3, .L4402+4 add r3, r3, r8 ldr r1, [r3, #1260] - ldr r3, .L4344+20 + ldr r3, .L4402+20 add r8, r3, r8 - ldr r3, .L4344 + ldr r3, .L4402 ldrh r2, [r8, #32] - ldr r3, [r3, #-236] + ldr r3, [r3, #-164] str r1, [r3, r2, asl #2] -.L4267: - ldr r8, .L4344 - ldrb r3, [r8, #-2612] @ zero_extendqisi2 +.L4325: + ldr r8, .L4402 + ldrb r3, [r8, #-2536] @ zero_extendqisi2 cmp r3, #0 - bne .L4341 -.L4247: + bne .L4399 +.L4305: ldr r3, [sp, #28] add r3, r3, #1 str r3, [sp, #28] -.L4222: +.L4280: ldrh r9, [sp, #28] ldr r3, [sp, #24] - ldr fp, .L4344 + ldr fp, .L4402 cmp r9, r3 - blt .L4248 - b .L4342 -.L4340: + blt .L4306 + b .L4400 +.L4398: mov r0, #0 bl buf_alloc subs r8, r0, #0 - bne .L4227 + bne .L4285 bl sblk_wait_write_queue_completed bl ftl_write_completed bl gc_write_completed @@ -25571,12 +26085,12 @@ gc_do_copy_back: mov r0, r8 bl buf_alloc subs r8, r0, #0 - beq .L4196 -.L4227: + beq .L4254 +.L4285: ldrb r2, [r8, #1] @ zero_extendqisi2 - ldr r3, [fp, #-3192] + ldr r3, [fp, #-3120] strb r2, [r3, r10] - ldr r2, .L4344+4 + ldr r2, .L4402+4 ldrb r3, [r2, #2835] @ zero_extendqisi2 add r3, r3, #1 strb r3, [r2, #2835] @@ -25584,49 +26098,49 @@ gc_do_copy_back: strh r3, [r8, #32] @ movhi ldrb r3, [sp, #20] @ zero_extendqisi2 strb r3, [r8, #45] - ldr r3, .L4344+48 + ldr r3, .L4402+48 ldrh r2, [r3] ldr r3, [sp, #12] ldrb r3, [r3, #89] @ zero_extendqisi2 mul r3, r3, r2 - ldrb r2, [fp, #477] @ zero_extendqisi2 + ldrb r2, [fp, #545] @ zero_extendqisi2 rsb r3, r2, r3 cmp r10, r3 - blt .L4228 - ldr r3, .L4344 - ldrb r3, [r3, #-2612] @ zero_extendqisi2 + blt .L4286 + ldr r3, .L4402 + ldrb r3, [r3, #-2536] @ zero_extendqisi2 cmp r3, #0 - beq .L4229 + beq .L4287 ldr r3, [sp, #32] ldrh r3, [r3] cmp r3, r5 - bcs .L4229 + bcs .L4287 tst r9, #1 - bne .L4228 -.L4229: - ldr r3, .L4344 + bne .L4286 +.L4287: + ldr r3, .L4402 mvn r1, #0 - ldr fp, .L4344+56 - ldr r2, [r3, #-244] + ldr fp, .L4402+56 + ldr r2, [r3, #-172] str r1, [r2, r10, asl #2] - ldrb r2, [r3, #477] @ zero_extendqisi2 + ldrb r2, [r3, #545] @ zero_extendqisi2 cmp r2, #2 - bne .L4230 - ldr r2, .L4344+48 - ldr ip, .L4344+60 + bne .L4288 + ldr r2, .L4402+48 + ldr ip, .L4402+60 ldrh r0, [r2] ldr r2, [sp, #12] ldrb r2, [r2, #89] @ zero_extendqisi2 mul r2, r2, r0 sub r2, r2, #2 cmp r10, r2 - bne .L4231 + bne .L4289 ldrh r2, [ip] - ldr r1, [r3, #-244] + ldr r1, [r3, #-172] ldr r0, [r8, #4] str ip, [sp, #44] bl ftl_memcpy - ldr r3, .L4344+4 + ldr r3, .L4402+4 mov r1, #0 ldr r0, [r8, #12] ldrb r2, [r3, #2772] @ zero_extendqisi2 @@ -25648,11 +26162,11 @@ gc_do_copy_back: str r3, [r2, #8] mov r2, #0 ldr r3, [r8, #12] - b .L4334 -.L4231: - ldrb r2, [r3, #-3195] @ zero_extendqisi2 + b .L4392 +.L4289: + ldrb r2, [r3, #-3123] @ zero_extendqisi2 ldrh r1, [ip] - ldr r3, [r3, #-244] + ldr r3, [r3, #-172] mul r0, r2, r0 rsb ip, r1, r0, asl #2 mov r1, r1, lsr #2 @@ -25661,7 +26175,7 @@ gc_do_copy_back: add r1, r3, r1, asl #2 str ip, [sp, #44] bl ftl_memcpy - ldr r3, .L4344+4 + ldr r3, .L4402+4 mov r1, #0 ldr r0, [r8, #12] ldrb r2, [r3, #2772] @ zero_extendqisi2 @@ -25683,40 +26197,40 @@ gc_do_copy_back: str r3, [r2, #8] mov r2, #1 ldr r3, [r8, #12] -.L4334: +.L4392: str r2, [r3, #12] - b .L4232 -.L4230: - ldr ip, .L4344+48 - ldrb r2, [r3, #-3195] @ zero_extendqisi2 + b .L4290 +.L4288: + ldr ip, .L4402+48 + ldrb r2, [r3, #-3123] @ zero_extendqisi2 ldr r0, [r8, #4] ldrh r1, [ip] str ip, [sp, #44] str r3, [sp, #40] mul r2, r2, r1 - ldr r1, [r3, #-244] + ldr r1, [r3, #-172] mov r2, r2, asl #2 bl ftl_memcpy ldr r0, [r8, #4] ldr ip, [sp, #44] ldr r3, [sp, #40] ldrh r1, [ip] - ldrb r3, [r3, #-3195] @ zero_extendqisi2 - ldr ip, .L4344 + ldrb r3, [r3, #-3123] @ zero_extendqisi2 + ldr ip, .L4402 mul r3, r3, r1 - ldr r1, .L4344+4 + ldr r1, .L4402+4 str ip, [sp, #44] ldrb r1, [r1, #2772] @ zero_extendqisi2 cmp r1, r3, asr #6 mov r2, r3, asl #2 - ldrlt r1, .L4344+60 + ldrlt r1, .L4402+60 mov r3, r2 add r0, r0, r3 ldrlth r1, [r1] rsblt r2, r2, r1 - ldr r1, [ip, #-240] + ldr r1, [ip, #-168] bl ftl_memcpy - ldr r3, .L4344+4 + ldr r3, .L4402+4 mov r1, #0 ldr r0, [r8, #12] ldrb r2, [r3, #2772] @ zero_extendqisi2 @@ -25725,12 +26239,12 @@ gc_do_copy_back: bl ftl_memset ldr r2, [r8, #12] str fp, [r2] - ldr r2, .L4344+48 + ldr r2, .L4402+48 ldr r0, [r8, #4] ldr fp, [r8, #12] ldrh r1, [r2] ldr ip, [sp, #44] - ldrb r2, [ip, #-3195] @ zero_extendqisi2 + ldrb r2, [ip, #-3123] @ zero_extendqisi2 mul r1, r2, r1 mov r1, r1, asl #2 bl js_hash @@ -25740,24 +26254,24 @@ gc_do_copy_back: ldr r3, [r3, #1092] ldr r3, [r3, #132] str r3, [r2, #8] - b .L4232 -.L4228: - ldr fp, .L4344 + b .L4290 +.L4286: + ldr fp, .L4402 mov r0, r8 mov r1, #1 - ldr r3, [fp, #-240] + ldr r3, [fp, #-168] ldr r3, [r3, r10, asl #2] str r3, [r8, #24] bl sblk_read_page ldr r3, [r8, #36] cmn r3, #1 cmpne r3, #512 - bne .L4235 - ldr r3, .L4344+64 + bne .L4293 + ldr r3, .L4402+64 ldr r2, [r8, #24] - ldrb r1, [fp, #-3202] @ zero_extendqisi2 + ldrb r1, [fp, #-3130] @ zero_extendqisi2 ldrh r0, [r3] - ldr r3, .L4344+4 + ldr r3, .L4402+4 mov r2, r2, lsr r0 ldrb r3, [r3, #1189] @ zero_extendqisi2 rsb r3, r3, #24 @@ -25774,19 +26288,19 @@ gc_do_copy_back: ldreq r3, [r8, #12] mvneq r2, #0 streq r2, [r3, #4] -.L4235: +.L4293: ldr r3, [r8, #36] cmn r3, #1 cmpne r3, #512 - bne .L4237 - ldr r1, .L4344+12 + bne .L4295 + ldr r1, .L4402+12 movw r2, #1223 - ldr r0, .L4344+16 + ldr r0, .L4402+16 bl printk bl dump_stack -.L4237: +.L4295: ldr r3, [r8, #12] - ldr r2, .L4344+4 + ldr r2, .L4402+4 ldr r1, [r3, #4] ldr r2, [r2, #2784] cmp r1, r2 @@ -25794,23 +26308,23 @@ gc_do_copy_back: strcs r2, [r3, #4] ldr r3, [r8, #12] ldr r2, [r3, #4] - ldr r3, .L4344 - ldr r3, [r3, #-244] + ldr r3, .L4402 + ldr r3, [r3, #-172] str r2, [r3, r10, asl #2] ldr r3, [r8, #12] ldr r2, [r8, #24] str r2, [r3, #8] -.L4232: +.L4290: ldr r3, [r8, #12] mov r2, #0 str r2, [r3, #16] - b .L4226 -.L4240: + b .L4284 +.L4298: ldrb r2, [ip, #1197] @ zero_extendqisi2 cmp r2, #0 - ldr r2, .L4344+68 + ldr r2, .L4402+68 umull r0, r1, r9, r2 - beq .L4243 + beq .L4301 mov r1, r1, lsr #1 ldr r0, [sp, #16] ldr ip, [sp, #12] @@ -25818,62 +26332,62 @@ gc_do_copy_back: add r1, r1, r1, asl #1 rsb r1, r1, r9 add r0, ip, r0, asl #1 - ldr ip, .L4344+52 + ldr ip, .L4402+52 ldrh r0, [r0, #96] ldrh ip, [ip] mla r0, ip, r0, r5 uxtah r0, r0, r1 str r0, [r3, #1260] - b .L4244 -.L4243: + b .L4302 +.L4301: ldr r0, [sp, #16] ubfx r1, r1, #1, #16 add r1, r0, r1 ldr r0, [sp, #12] add r1, r0, r1, asl #1 - ldr r0, .L4344+52 + ldr r0, .L4402+52 ldrh r1, [r1, #96] ldrh r0, [r0] mla r1, r0, r1, r5 str r1, [r3, #1260] - b .L4244 -.L4239: + b .L4302 +.L4297: cmp r2, #2 - bne .L4242 - ldrb r2, [r1, #-3194] @ zero_extendqisi2 + bne .L4300 + ldrb r2, [r1, #-3122] @ zero_extendqisi2 cmp r2, #0 ldr r2, [sp, #16] - bne .L4246 + bne .L4304 ldr r1, [sp, #12] add r2, r2, r9 add r2, r1, r2, asl #1 - ldr r1, .L4344+52 + ldr r1, .L4402+52 ldrh r2, [r2, #96] ldrh r1, [r1] mla r2, r1, r2, r5 - b .L4335 -.L4246: + b .L4393 +.L4304: ldr r1, [sp, #12] add r2, r2, r9, lsr #1 add r2, r1, r2, asl #1 - ldr r1, .L4344+52 + ldr r1, .L4402+52 ldrh r2, [r2, #96] ldrh r1, [r1] mla r2, r1, r2, r5 and r1, r9, #1 add r2, r2, r1 -.L4335: +.L4393: orr r2, r2, #33554432 str r2, [r3, #1260] - b .L4242 -.L4341: + b .L4300 +.L4399: ldr r3, [sp, #32] ldrh r3, [r3] cmp r3, r5 - bcs .L4247 + bcs .L4305 tst r9, #1 - beq .L4247 - ldr r2, [r8, #-3192] + beq .L4305 + ldr r2, [r8, #-3120] mvn r3, #0 ldrh r1, [sp, #36] ldr r0, [sp, #36] @@ -25883,27 +26397,27 @@ gc_do_copy_back: ldr r2, [r9, #-24] strh r1, [r2, #32] @ movhi ldrb r1, [r2, #1] @ zero_extendqisi2 - ldr r2, [r8, #-3192] + ldr r2, [r8, #-3120] strb r1, [r2, r0] - ldr r2, [r8, #-240] + ldr r2, [r8, #-168] str r3, [r2, r10, asl #2] - b .L4247 -.L4342: - ldrb r3, [fp, #-3196] @ zero_extendqisi2 + b .L4305 +.L4400: + ldrb r3, [fp, #-3124] @ zero_extendqisi2 cmp r3, #3 - bne .L4249 - ldr r3, .L4344+4 + bne .L4307 + ldr r3, .L4402+4 ldrb r1, [r3, #1196] @ zero_extendqisi2 cmp r1, #0 ldrne r3, [sp, #24] movne r2, #0 subne r1, r3, #1 - beq .L4343 -.L4251: + beq .L4401 +.L4309: uxth r3, r2 add r2, r2, #1 cmp r3, r1 - bge .L4336 + bge .L4394 add ip, sp, #72 add r0, sp, #72 add ip, ip, r3, asl #2 @@ -25912,50 +26426,50 @@ gc_do_copy_back: ldr r0, [r0, #-24] ldrb r3, [r3, #1] @ zero_extendqisi2 strb r3, [r0] - b .L4251 -.L4343: - ldrb r2, [fp, #-3188] @ zero_extendqisi2 + b .L4309 +.L4401: + ldrb r2, [fp, #-3116] @ zero_extendqisi2 ldr r3, [sp, #48] cmp r2, #0 strneb r1, [r3, #44] - bne .L4337 + bne .L4395 ldr r1, [sp, #20] cmp r1, #1 moveq r2, #9 - beq .L4257 + beq .L4315 ldr r1, [sp, #20] cmp r1, #2 moveq r2, #13 -.L4257: +.L4315: strb r2, [r3, #44] -.L4337: +.L4395: add r1, sp, #60 mov r2, r6 add r0, sp, #48 bl sblk_xlc_prog_pages - b .L4253 -.L4249: - ldrb r3, [fp, #-3194] @ zero_extendqisi2 + b .L4311 +.L4307: + ldrb r3, [fp, #-3122] @ zero_extendqisi2 cmp r3, #0 - beq .L4258 - ldrb r3, [fp, #-3193] @ zero_extendqisi2 + beq .L4316 + ldrb r3, [fp, #-3121] @ zero_extendqisi2 cmp r3, #0 - bne .L4259 -.L4258: + bne .L4317 +.L4316: ldr r3, [sp, #24] mov r2, #0 sub r1, r3, #1 - b .L4260 -.L4259: + b .L4318 +.L4317: mov r1, r6 add r0, sp, #48 bl sblk_3d_mlc_prog_pages - b .L4253 -.L4260: + b .L4311 +.L4318: uxth r3, r2 add r2, r2, #1 cmp r3, r1 - bge .L4336 + bge .L4394 add ip, sp, #72 add r0, sp, #72 add ip, ip, r3, asl #2 @@ -25964,8 +26478,8 @@ gc_do_copy_back: ldr r0, [r0, #-24] ldrb r3, [r3, #1] @ zero_extendqisi2 strb r3, [r0] - b .L4260 -.L4336: + b .L4318 +.L4394: add r3, sp, #72 mvn r2, #0 add r1, r3, r1, asl #2 @@ -25975,64 +26489,64 @@ gc_do_copy_back: ldr r0, [sp, #48] uxtb r1, r1 bl sblk_prog_page -.L4253: - ldrb r3, [fp, #-3188] @ zero_extendqisi2 - ldr r2, .L4344 +.L4311: + ldrb r3, [fp, #-3116] @ zero_extendqisi2 + ldr r2, .L4402 cmp r3, #0 - ldr r3, .L4344+4 + ldr r3, .L4402+4 addne r4, r6, r6, asl #1 - bne .L4263 - ldrb r1, [r2, #-3194] @ zero_extendqisi2 + bne .L4321 + ldrb r1, [r2, #-3122] @ zero_extendqisi2 cmp r1, #0 movne r4, r6, asl #1 - bne .L4263 + bne .L4321 ldrb r1, [r3, #1196] @ zero_extendqisi2 cmp r1, #0 moveq r4, r6 - beq .L4263 - ldrb r2, [r2, #-2612] @ zero_extendqisi2 + beq .L4321 + ldrb r2, [r2, #-2536] @ zero_extendqisi2 mul r4, r4, r6 cmp r2, #0 - beq .L4263 - ldr r1, .L4344+36 + beq .L4321 + ldr r1, .L4402+36 mov r2, r5, asl #1 ldrh r2, [r1, r2] cmp r2, r5 movcc r4, r6 -.L4263: +.L4321: ldr r2, [r3, #2804] ldr r3, [r2, #52] add r3, r3, r4 str r3, [r2, #52] - ldr r2, .L4344+8 + ldr r2, .L4402+8 movw r3, #2102 ldrh r1, [r2, r3] add r4, r4, r1 uxth r4, r4 strh r4, [r2, r3] @ movhi - ldr r3, .L4344+72 - ldrh r2, [r3, #-2] + ldr r3, .L4402+72 + ldrh r2, [r3, #-10] ldr r3, [sp, #12] ldrb r3, [r3, #89] @ zero_extendqisi2 mul r3, r3, r2 cmp r4, r3 - ldrge r3, .L4344+4 + ldrge r3, .L4402+4 movge r2, #0 ldrge r3, [r3, #1092] strgeh r2, [r3, #86] @ movhi bl gc_write_completed - b .L4196 -.L4244: + b .L4254 +.L4302: mov r0, #48 - ldr r3, .L4344+20 + ldr r3, .L4402+20 mul r0, r0, r8 - ldr ip, .L4344+4 + ldr ip, .L4402+4 add r3, r3, r0 add r0, ip, r0 ldrh r1, [r3, #32] - ldr r3, .L4344 + ldr r3, .L4402 ldr r0, [r0, #1260] - ldr lr, [r3, #-236] + ldr lr, [r3, #-164] umull r2, r3, r9, r2 mov r2, r3, lsr #1 add r2, r2, r2, asl #1 @@ -26041,14 +26555,14 @@ gc_do_copy_back: add r2, r2, #16777216 orr r2, r2, r0 str r2, [lr, r1, asl #2] - b .L4267 -.L4196: + b .L4325 +.L4254: add sp, sp, #76 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L4345: +.L4403: .align 2 -.L4344: +.L4402: .word .LANCHOR3 .word .LANCHOR0 .word .LANCHOR0+2828 @@ -26056,18 +26570,18 @@ gc_do_copy_back: .word .LC0 .word .LANCHOR0+1236 .word .LANCHOR2 - .word .LC295 - .word .LC296 + .word .LC298 + .word .LC299 .word .LANCHOR2+2120 .word 1431655766 .word .LANCHOR2+3656 - .word .LANCHOR3-3170 - .word .LANCHOR3-3142 + .word .LANCHOR3-3114 + .word .LANCHOR3-3066 .word -178307901 - .word .LANCHOR3+474 - .word .LANCHOR3-3204 + .word .LANCHOR3+542 + .word .LANCHOR3-3132 .word -1431655765 - .word .LANCHOR3-3168 + .word .LANCHOR3-3104 .fnend .size gc_do_copy_back, .-gc_do_copy_back .align 2 @@ -26080,145 +26594,143 @@ zftl_do_gc: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} movw r3, #2792 - ldr r4, .L4565+60 + ldr r4, .L4629+60 cmp r0, #1 .pad #44 sub sp, sp, #44 mov fp, r0 - ldr r6, .L4565+32 + ldr r5, .L4629+32 ldrh r9, [r4, r3] movw r3, #2788 ldrh r7, [r4, r3] movw r3, #2790 - ldr r5, [r4, #1092] + ldr r6, [r4, #1092] add r7, r9, r7 ldrh r8, [r4, r3] uxth r7, r7 - beq .L4347 -.L4358: - ldrb r3, [r6, #-254] @ zero_extendqisi2 + beq .L4405 +.L4416: + ldrb r3, [r5, #-182] @ zero_extendqisi2 cmp r3, #6 ldrls pc, [pc, r3, asl #2] - b .L4470 -.L4350: - .word .L4349 - .word .L4351 - .word .L4352 - .word .L4353 - .word .L4354 - .word .L4471 - .word .L4356 -.L4347: - ldr r10, [r6, #480] + b .L4530 +.L4408: + .word .L4407 + .word .L4409 + .word .L4410 + .word .L4411 + .word .L4412 + .word .L4531 + .word .L4414 +.L4405: + ldr r10, [r5, #548] cmp r10, #0 - bne .L4357 - ldr r3, [r6, #484] + bne .L4415 + ldr r3, [r5, #552] cmp r3, #0 - beq .L4358 -.L4357: - ldr r3, .L4565+32 - sub r2, r3, #3152 - ldrh r2, [r2, #-10] + beq .L4416 +.L4415: + ldr r3, .L4629+32 + sub r2, r3, #3072 + ldrh r2, [r2, #-14] cmp r7, r2, lsr #2 - bls .L4358 + bls .L4416 movw r2, #2808 ldrh r2, [r4, r2] cmp r2, r7 - bcs .L4358 + bcs .L4416 str r3, [sp, #28] bl timer_get_time add r10, r10, #20 ldr r3, [sp, #28] cmp r10, r0 - ldr r10, [r6, #484] + ldr r10, [r5, #552] movcc r2, #0 - strcc r2, [r3, #480] + strcc r2, [r3, #548] bl timer_get_time add r10, r10, #20 cmp r10, r0 - ldrcc r3, .L4565+32 + ldrcc r3, .L4629+32 movcc r2, #0 - strcc r2, [r3, #484] + strcc r2, [r3, #552] ldr r3, [r4, #1092] ldrh r3, [r3, #124] cmp r3, #0 - beq .L4470 - b .L4358 -.L4349: + beq .L4530 + b .L4416 +.L4407: movw r2, #2794 movw r3, #2796 ldrh r3, [r4, r3] add r8, r8, r9 ldrh r10, [r4, r2] - ldrh r2, [r5, #80] + ldrh r2, [r6, #80] uxth r8, r8 add r10, r3, r10 movw r3, #65535 cmp r2, r3 - ldr r9, .L4565+60 + ldr r9, .L4629+60 uxth r10, r10 - beq .L4361 + beq .L4419 cmp fp, #0 - bne .L4362 + bne .L4420 movw r3, #2808 ldrh r3, [r9, r3] cmp r7, r3, asl #1 - bge .L4470 -.L4362: - ldr fp, .L4565+32 - sub r9, fp, #3152 - sub r3, fp, #3168 - sub r0, r3, #8 - str r3, [sp, #28] - ldrh r1, [r9, #-12] + bge .L4530 +.L4420: + ldr fp, .L4629+32 + sub r9, fp, #3088 + sub r0, r9, #12 + ldrh r1, [r9] add r1, r1, #1 uxth r1, r1 - strh r1, [r9, #-12] @ movhi + strh r1, [r9] @ movhi bl _list_get_gc_head_node - movw r2, #65535 - cmp r0, r2 - beq .L4364 - ldr lr, [r4, #1088] - mov r1, r0, asl #1 - ldr r3, [sp, #28] - ldr r2, [fp, #-252] - ldrh r1, [lr, r1] - ldrh r3, [r3, #-4] - add r2, r2, #1 - ldr ip, .L4565+60 - cmp r3, r1 - str r2, [fp, #-252] - bcs .L4365 - movw r3, #1076 - ldrh r3, [ip, r3] - cmp r2, r3, lsr #4 - bls .L4364 + movw r3, #65535 + cmp r0, r3 + beq .L4422 + ldr ip, [r4, #1088] + mov r2, r0, asl #1 + ldr r3, [fp, #-180] + ldr r1, .L4629+60 + ldrh r2, [ip, r2] + add r3, r3, #1 + ldrh ip, [r9, #-8] + str r3, [fp, #-180] + cmp ip, r2 + bcs .L4423 + movw ip, #1076 + ldrh ip, [r1, ip] + cmp r3, ip, lsr #4 + bls .L4422 movw r3, #2810 - ldrh r3, [ip, r3] - cmp r3, r1 - bls .L4364 -.L4365: + ldrh r3, [r1, r3] + cmp r3, r2 + bls .L4422 +.L4423: mov r1, #0 - ldrb r2, [r6, #-3187] @ zero_extendqisi2 + ldrb r2, [r5, #-3115] @ zero_extendqisi2 bl gc_add_sblk - ldr fp, .L4565+32 + ldr r9, .L4629+32 cmp r0, #0 - beq .L4366 + beq .L4424 mov r3, #1 - strb r3, [fp, #-254] + strb r3, [r9, #-182] mov r3, #0 - str r3, [fp, #-252] - b .L4470 -.L4364: + str r3, [r9, #-180] + b .L4530 +.L4422: mov r3, #0 - strh r3, [r9, #-12] @ movhi -.L4366: + strh r3, [r9] @ movhi +.L4424: cmp r8, #15 movls r9, #2 - bls .L4367 + bls .L4425 + ldr r2, .L4629 movw r3, #2798 - ldrh r2, [r9, #-8] ldrh r3, [r4, r3] + ldrh r2, [r2, #-12] cmp r3, r2 movls r3, #0 movhi r3, #1 @@ -26228,248 +26740,266 @@ zftl_do_gc: cmp r10, #0 movne r9, #2 moveq r9, #1 -.L4367: - ldr r3, .L4565 +.L4425: + ldr r3, .L4629+4 ldr r3, [r3] tst r3, #256 - beq .L4368 + beq .L4426 ldr r3, [r4, #1092] - ldrb r2, [r6, #-3187] @ zero_extendqisi2 + ldrb r2, [r5, #-3115] @ zero_extendqisi2 str r8, [sp] ldrh r1, [r3, #124] - ldr r0, .L4565+4 + ldr r0, .L4629+8 str r1, [sp, #4] ldrh r1, [r3, #120] str r1, [sp, #8] - movw r1, #2662 + movw r1, #2807 ldrh r3, [r3, #122] str r3, [sp, #12] - ldrh r3, [r5, #80] + ldrh r3, [r6, #80] str r3, [sp, #16] mov r3, r7 bl printk -.L4368: - ldrb r0, [r6, #-3187] @ zero_extendqisi2 +.L4426: + ldrb r0, [r5, #-3115] @ zero_extendqisi2 mov r1, r9 mov r2, #1 bl gc_search_src_blk cmp r0, #0 - ble .L4369 -.L4370: + ble .L4427 +.L4428: mov r3, #1 - b .L4562 -.L4369: - ldr r3, .L4565+32 + b .L4625 +.L4427: + ldr r3, .L4629+32 mov r1, #3 mov r2, #1 - ldrb r0, [r3, #-3187] @ zero_extendqisi2 + ldrb r0, [r3, #-3115] @ zero_extendqisi2 bl gc_search_src_blk cmp r0, #0 - bgt .L4370 - b .L4470 -.L4361: + bgt .L4428 + b .L4530 +.L4419: cmp fp, #1 - bne .L4371 + bne .L4429 + ldr r3, [r9, #2804] + ldrh r3, [r3, #150] + cmp r3, #0 + beq .L4430 + movw r3, #2792 + ldrh r3, [r9, r3] + cmp r3, #8 + bls .L4430 + bl gc_ink_check_sblk +.L4430: bl gc_scan_static_data - ldr r3, [r9, #1092] + ldr r3, [r4, #1092] ldrh r3, [r3, #122] cmp r3, #0 - beq .L4372 -.L4373: + beq .L4431 +.L4432: mov r3, #1 - strb r3, [r6, #-3187] - b .L4562 -.L4372: + strb r3, [r5, #-3115] + b .L4625 +.L4431: bl gc_static_wearleveling cmp r0, #0 - bne .L4373 + bne .L4432 bl gc_block_vpn_scan cmp r8, #0 - beq .L4374 + beq .L4433 cmp r7, r10 - ldr r5, .L4565+8 - bcs .L4375 - ldrh r3, [r5, #-10] + ldr r6, .L4629 + bcs .L4434 + ldrh r3, [r6, #-14] cmp r3, r7 - bhi .L4376 -.L4375: - ldrh r2, [r5, #-10] + bhi .L4435 +.L4434: + ldrh r2, [r6, #-14] add r3, r7, r10 cmp r3, r2 - blt .L4376 + blt .L4435 movw r3, #2798 ldrh r2, [r4, r3] - ldr r3, .L4565+8 - ldrh r3, [r3, #-8] + ldr r3, .L4629 + ldrh r3, [r3, #-12] cmp r2, r3 - bcc .L4374 -.L4376: - ldr r9, .L4565+32 + bcc .L4433 +.L4435: + ldr r0, .L4629+12 mov r1, #16 mov ip, #1 - strb ip, [r6, #-3187] - sub r0, r9, #3168 + strb ip, [r5, #-3115] str ip, [sp, #28] bl _list_get_gc_head_node movw r2, #65535 + ldr r9, .L4629+32 cmp r0, r2 - beq .L4377 + beq .L4436 ldr r2, [r4, #1088] mov r3, r0, asl #1 ldr ip, [sp, #28] ldrh r3, [r2, r3] - ldrh r2, [r9, #-248] + ldrh r2, [r9, #-176] cmp r3, r2 movcs r3, #0 movcc r3, #1 cmp r7, #2 movls r3, #0 cmp r3, #0 - beq .L4377 + beq .L4436 mov r2, #0 mov r1, ip - strb r2, [r9, #-3187] - str r2, [r9, #-252] + strb r2, [r9, #-3115] + str r2, [r9, #-180] bl gc_add_sblk cmp r0, #0 - bne .L4370 -.L4377: - ldr r0, .L4565+12 + bne .L4428 +.L4436: + ldr r9, .L4629+32 mov r1, #0 + sub r0, r9, #3104 bl _list_get_gc_head_node movw r2, #65535 - ldr r9, .L4565+32 cmp r0, r2 - beq .L4378 + beq .L4437 ldr r2, [r4, #1088] mov r3, r0, asl #1 ldrh r3, [r2, r3] - ldrh r2, [r9, #-248] + ldrh r2, [r9, #-176] cmp r3, r2 movcs r3, #0 movcc r3, #1 cmp r7, #2 movls r3, #0 cmp r3, #0 - beq .L4378 + beq .L4437 mov r2, #0 mov r1, #1 - strb r2, [r9, #-3187] - str r2, [r9, #-252] + strb r2, [r9, #-3115] + str r2, [r9, #-180] bl gc_add_sblk cmp r0, #0 - bne .L4370 -.L4378: - ldr r1, .L4565+32 + bne .L4428 +.L4437: + ldr r1, .L4629+32 mov r9, #0 - ldrh r3, [r6, #-248] - sub ip, r1, #3168 + ldrh r3, [r5, #-176] + sub r2, r1, #3088 + ldr ip, .L4629+60 add r3, r3, #1 - ldrh r2, [ip, #-4] + ldrh r2, [r2, #-8] uxth r3, r3 - strh r3, [r6, #-248] @ movhi - strh r9, [ip, #-14] @ movhi + strh r3, [r5, #-176] @ movhi cmp r3, r2, lsr #5 - ldr ip, .L4565+60 movhi r3, #4 - strhih r3, [r1, #-248] @ movhi - ldr r3, .L4565+32 - ldr r1, [r6, #-252] - sub r0, r3, #3184 + strhih r3, [r1, #-176] @ movhi + ldr r3, .L4629+32 + ldr r1, [r5, #-180] + sub r0, r3, #3104 add r1, r1, #1 - str r1, [r6, #-252] - strh r9, [r0, #-2] @ movhi - strh r9, [r0] @ movhi + str r1, [r5, #-180] + strh r9, [r0, #-8] @ movhi + strh r9, [r0, #-6] @ movhi + strh r9, [r0, #-4] @ movhi movw r0, #1076 ldrh r0, [r4, r0] cmp r1, r0, lsr #5 - bls .L4380 + bls .L4439 movw r1, #2798 ldrh r1, [ip, r1] cmp r1, r8 - bls .L4380 + bls .L4439 mov r1, r9 - ldr r0, .L4565+16 + ldr r0, .L4629+16 str ip, [sp, #36] str r3, [sp, #32] str r2, [sp, #28] bl _list_get_gc_head_node movw r1, #65535 cmp r0, r1 - beq .L4475 + beq .L4535 ldr ip, [sp, #36] mov r0, r0, asl #1 ldr r3, [sp, #32] ldr r2, [sp, #28] ldr r1, [ip, #1088] ldrh r0, [r1, r0] - ldrb r1, [r3, #-3195] @ zero_extendqisi2 + ldrb r1, [r3, #-3123] @ zero_extendqisi2 mul r2, r1, r2 cmp r0, r2 - strle r9, [r3, #-252] - ldrleb r0, [r3, #-3187] @ zero_extendqisi2 + strle r9, [r3, #-180] + ldrleb r0, [r3, #-3115] @ zero_extendqisi2 movle r1, #2 - bgt .L4475 - b .L4554 -.L4380: + bgt .L4535 + b .L4618 +.L4439: movw r2, #2798 - ldr r3, .L4565+60 + ldr r3, .L4629+60 ldrh r1, [r4, r2] - ldrh r2, [r5, #-8] + ldrh r2, [r6, #-12] cmp r1, r2 - ldrcs r3, .L4565+32 + ldrcs r3, .L4629+32 movcs r1, #2 movcs r2, #1 - ldrcsb r0, [r3, #-3187] @ zero_extendqisi2 - bcs .L4555 -.L4383: + ldrcsb r0, [r3, #-3115] @ zero_extendqisi2 + bcs .L4617 +.L4442: movw r2, #2794 - ldrh r5, [r3, r2] - cmp r5, #0 - bne .L4384 + ldrh r2, [r3, r2] + cmp r2, #0 + bne .L4443 movw r2, #2796 ldrh r3, [r3, r2] cmp r3, #8 - bls .L4385 -.L4384: - ldrb r0, [r6, #-3187] @ zero_extendqisi2 + bls .L4444 +.L4443: + ldrb r0, [r5, #-3115] @ zero_extendqisi2 mov r1, #1 -.L4554: +.L4618: mov r2, #4 -.L4555: +.L4617: bl gc_search_src_blk uxth r0, r0 cmp r0, #0 - bne .L4370 - b .L4475 -.L4374: - ldr r3, .L4565+32 - sub r2, r3, #3168 - ldrh r1, [r2, #-4] - ldrh r2, [r6, #-248] + bne .L4428 + b .L4535 +.L4444: + ldr r2, .L4629+56 + movw r3, #2106 + ldrh r3, [r2, r3] + cmp r3, #0 + movne r6, #16 + moveq r6, #0 + b .L4445 +.L4433: + ldr r3, .L4629+32 + sub r2, r3, #3088 + ldrh r1, [r2, #-8] + ldrh r2, [r5, #-176] cmp r2, r1, lsr #5 movcs r2, #4 - strcsh r2, [r3, #-248] @ movhi - b .L4475 -.L4371: + strcsh r2, [r3, #-176] @ movhi + b .L4535 +.L4429: movw r3, #2808 ldrh r3, [r9, r3] cmp r3, r7 - bcs .L4475 + bcs .L4535 ldr r3, [r9, #1092] ldrh r3, [r3, #124] cmp r3, #0 - beq .L4470 -.L4475: - mov r5, #16 -.L4385: + beq .L4530 +.L4535: + mov r6, #16 +.L4445: ldr r3, [r4, #2820] cmp r3, #0 - beq .L4387 - ldr r3, .L4565+60 + beq .L4447 + ldr r3, .L4629+60 cmp r7, #15 mov r2, #0 - ldr r0, .L4565+16 + ldr r0, .L4629+16 mov r1, #0 str r2, [r3, #2820] movhi r3, #0 @@ -26478,92 +27008,92 @@ zftl_do_gc: moveq r3, #0 cmp r3, r2 movne r3, #1 - strb r3, [r6, #-3187] + strb r3, [r5, #-3115] bl _list_get_gc_head_node movw r2, #65535 cmp r0, r2 - beq .L4390 + beq .L4450 ldr r2, [r4, #1088] mov r3, r0, asl #1 ldrh r3, [r2, r3] cmp r3, #8 - bhi .L4390 - ldr r3, .L4565+60 + bhi .L4450 + ldr r3, .L4629+60 mov r2, #1 mov r1, #0 str r2, [r3, #2820] - ldr r3, .L4565+32 - ldrb r2, [r3, #-3187] @ zero_extendqisi2 + ldr r3, .L4629+32 + ldrb r2, [r3, #-3115] @ zero_extendqisi2 bl gc_add_sblk cmp r0, #0 - bne .L4370 -.L4390: - ldr r0, .L4565+12 + bne .L4428 +.L4450: + ldr r9, .L4629+32 mov r1, #0 + sub r0, r9, #3104 bl _list_get_gc_head_node movw r2, #65535 cmp r0, r2 - beq .L4391 + beq .L4451 ldr r2, [r4, #1088] mov r3, r0, asl #1 ldrh r3, [r2, r3] cmp r3, #4 - bhi .L4391 - ldr r3, .L4565+60 + bhi .L4451 + ldr r3, .L4629+60 mov r2, #1 mov r1, #0 str r2, [r3, #2820] - ldr r3, .L4565+32 - ldrb r2, [r3, #-3187] @ zero_extendqisi2 + ldrb r2, [r9, #-3115] @ zero_extendqisi2 bl gc_add_sblk cmp r0, #0 - bne .L4370 -.L4391: - ldr r9, .L4565+32 + bne .L4428 +.L4451: + ldr r0, .L4629+12 mov r1, #0 - sub r0, r9, #3168 bl _list_get_gc_head_node movw r2, #65535 cmp r0, r2 - beq .L4387 + beq .L4447 ldr r2, [r4, #1088] mov r3, r0, asl #1 ldrh r3, [r2, r3] cmp r3, #4 - bhi .L4387 - ldr r3, .L4565+60 + bhi .L4447 + ldr r3, .L4629+60 mov r1, #1 - ldrb r2, [r9, #-3187] @ zero_extendqisi2 str r1, [r3, #2820] + ldr r3, .L4629+32 + ldrb r2, [r3, #-3115] @ zero_extendqisi2 bl gc_add_sblk cmp r0, #0 - bne .L4370 -.L4387: + bne .L4428 +.L4447: ldr r2, [r4, #1092] mov r1, #1 - ldr r9, .L4565+32 - ldr r3, .L4565+60 + ldr r9, .L4629+32 + ldr r3, .L4629+60 ldrh ip, [r2, #124] - strb r1, [r6, #-3187] + strb r1, [r5, #-3115] cmp ip, #0 - strneb r1, [r9, #-254] + strneb r1, [r9, #-182] movne r3, #0 - strneb r3, [r9, #-3187] - bne .L4393 + strneb r3, [r9, #-3115] + bne .L4453 movw r2, #2808 ldrh r0, [r3, r2] cmp r7, r0 - bcs .L4394 + bcs .L4454 cmp r8, #0 - beq .L4395 + beq .L4455 cmp r8, #16 - bls .L4396 - sub r2, r9, #3152 + bls .L4456 + sub r2, r9, #3072 movw r0, #2798 ldrh r0, [r3, r0] - ldrh r2, [r2, #-8] + ldrh r2, [r2, #-12] cmp r0, r2 - bhi .L4396 + bhi .L4456 mov r0, r1 mov r2, #4 str ip, [sp, #32] @@ -26573,94 +27103,94 @@ zftl_do_gc: ldr r3, [sp, #28] cmp r0, #0 ldr ip, [sp, #32] - beq .L4559 - sub r7, r9, #3168 + beq .L4622 + sub r7, r9, #3088 mov r1, ip - sub r0, r7, #8 + sub r0, r7, #12 str r3, [sp, #28] bl _list_get_gc_head_node movw r2, #65535 cmp r0, r2 - beq .L4468 + beq .L4528 ldr r3, [sp, #28] mov r1, r0, asl #1 - ldr r2, [r9, #-252] + ldr r2, [r9, #-180] ldr ip, [r3, #1088] add r2, r2, #1 - str r2, [r9, #-252] + str r2, [r9, #-180] ldrh r1, [ip, r1] - ldrh ip, [r7, #-4] + ldrh ip, [r7, #-8] cmp ip, r1 - bcs .L4400 + bcs .L4460 movw ip, #1076 ldrh ip, [r3, ip] cmp r2, ip, lsr #4 - bls .L4468 + bls .L4528 movw r2, #2810 ldrh r3, [r3, r2] cmp r3, r1 - bls .L4468 -.L4400: + bls .L4528 +.L4460: mov r1, #0 - ldrb r2, [r6, #-3187] @ zero_extendqisi2 + ldrb r2, [r5, #-3115] @ zero_extendqisi2 bl gc_add_sblk mov r3, #1 str r3, [r4, #2820] mov r3, #0 - str r3, [r6, #-252] - b .L4468 -.L4396: + str r3, [r5, #-180] + b .L4528 +.L4456: mov r0, #1 mov r1, #2 mov r2, r0 bl gc_search_src_blk uxth r0, r0 cmp r0, #0 - ldreqb r0, [r6, #-3187] @ zero_extendqisi2 - bne .L4468 - b .L4558 -.L4395: + ldreqb r0, [r5, #-3115] @ zero_extendqisi2 + bne .L4528 + b .L4621 +.L4455: cmp r7, #16 - strb r8, [r9, #-3187] + strb r8, [r9, #-3115] mov r0, r8 - bhi .L4558 + bhi .L4621 mov r2, r1 bl gc_search_src_blk uxth r0, r0 cmp r0, #0 - bne .L4468 -.L4559: - ldrb r0, [r9, #-3187] @ zero_extendqisi2 -.L4558: + bne .L4528 +.L4622: + ldrb r0, [r9, #-3115] @ zero_extendqisi2 +.L4621: mov r1, #3 mov r2, #4 bl gc_search_src_blk uxth r0, r0 - b .L4398 -.L4394: + b .L4458 +.L4454: cmp fp, #1 - bne .L4393 + bne .L4453 cmp r7, r0, asl #1 - bge .L4403 + bge .L4463 cmp r10, r8, lsr #1 - bcs .L4404 - sub r9, r9, #3152 + bcs .L4464 + sub r9, r9, #3072 movw r1, #2798 ldrh r0, [r3, r1] - ldrh r1, [r9, #-8] + ldrh r1, [r9, #-12] cmp r0, r1 - ldrcch r1, [r9, #-10] + ldrcch r1, [r9, #-14] movcc r1, r1, lsr #2 strcch r1, [r3, r2] @ movhi - bcc .L4393 -.L4404: - ldr r9, .L4565+32 + bcc .L4453 +.L4464: + ldr r0, .L4629+12 mov r1, #8 - sub r0, r9, #3168 bl _list_get_gc_head_node movw r2, #65535 + ldr r9, .L4629+32 cmp r0, r2 - beq .L4405 + beq .L4465 ldr r2, [r4, #1088] mov r3, r0, asl #1 ldrh r3, [r2, r3] @@ -26670,236 +27200,239 @@ zftl_do_gc: cmp r7, #0 moveq r3, #0 cmp r3, #0 - beq .L4405 + beq .L4465 mov r2, #0 mov r1, #1 - strb r2, [r9, #-3187] + strb r2, [r9, #-3115] bl gc_add_sblk cmp r0, #0 - bne .L4564 -.L4405: - ldr r0, .L4565+16 + bne .L4628 +.L4465: + ldr r0, .L4629+16 mov r1, #0 bl _list_get_gc_head_node movw r3, #65535 - ldr r9, .L4565+32 + ldr r9, .L4629+32 cmp r0, r3 mov fp, r0 - bne .L4406 -.L4411: + bne .L4466 +.L4471: cmp r8, #1 - bhi .L4407 - b .L4408 -.L4406: + bhi .L4467 + b .L4468 +.L4466: movw r1, #1076 - ldr r3, [r9, #-252] + ldr r3, [r9, #-180] ldrh r1, [r4, r1] + mov ip, r0, asl #1 add r3, r3, #1 - ldr r2, .L4565+60 - str r3, [r9, #-252] + ldr r2, .L4629+60 + str r3, [r9, #-180] cmp r3, r1, lsr #4 - mov r3, r0, asl #1 - bls .L4409 - ldr ip, [r2, #1088] - movw lr, #2810 - ldrh r2, [r2, lr] + bls .L4469 + ldr r3, [r2, #1088] mov r1, #0 - str r1, [r9, #-252] - ldrh ip, [ip, r3] - cmp ip, r2 - bcs .L4409 - mov ip, #1 - str r3, [sp, #32] - mov r2, ip - strb ip, [r9, #-3187] - str ip, [sp, #28] + str r1, [r9, #-180] + ldrh lr, [r3, ip] + movw r3, #2810 + ldrh r3, [r2, r3] + cmp lr, r3 + bcs .L4469 + mov r3, #1 + str ip, [sp, #32] + mov r2, r3 + strb r3, [r9, #-3115] + str r3, [sp, #28] bl gc_add_sblk - ldr ip, [sp, #28] cmp r0, #0 - ldr r3, [sp, #32] - strneb ip, [r9, #-254] - bne .L4393 -.L4409: - ldr r1, [r4, #1088] - ldr r9, .L4565+32 - ldr r2, .L4565+60 - ldrh r1, [r1, r3] - sub r3, r9, #3168 - ldrh r3, [r3, #-4] - cmp r1, r3, lsr #1 - bhi .L4410 + ldr r3, [sp, #28] + ldr ip, [sp, #32] + bne .L4627 +.L4469: + ldr r2, [r4, #1088] + ldr r9, .L4629+32 + ldr r3, .L4629+60 + ldrh r1, [r2, ip] + sub r2, r9, #3088 + ldrh r2, [r2, #-8] + cmp r1, r2, lsr #1 + bhi .L4470 mov r0, fp mov r1, #1 mov r2, #0 bl gc_add_sblk -.L4564: +.L4628: mov r3, #1 - strb r3, [r9, #-254] - b .L4393 -.L4410: - movw r3, #2794 +.L4627: + strb r3, [r9, #-182] + b .L4453 +.L4470: + movw r2, #2794 movw r0, #2796 - ldrh r0, [r2, r0] - sub r9, r9, #3152 - ldrh r3, [r2, r3] - add r3, r3, r0 - ldrh r0, [r9, #-10] - cmp r3, r0, asl #1 - ble .L4411 - movw r3, #2810 - ldrh r3, [r2, r3] + ldrh r0, [r3, r0] + sub r9, r9, #3072 + ldrh r2, [r3, r2] + add r2, r2, r0 + ldrh r0, [r9, #-14] + cmp r2, r0, asl #1 + ble .L4471 + movw r2, #2810 + ldrh r3, [r3, r2] cmp r3, r1 - bcc .L4408 - b .L4411 -.L4407: - ldr r9, .L4565+32 + bcc .L4468 + b .L4471 +.L4467: + ldr r9, .L4629+32 cmp r8, #16 mov r0, #1 - strb r0, [r6, #-3187] - sub r8, r9, #3152 - bls .L4412 + strb r0, [r5, #-3115] + sub r8, r9, #3072 + bls .L4472 movw r3, #2798 ldrh r2, [r4, r3] - ldrh r3, [r8, #-8] + ldrh r3, [r8, #-12] cmp r2, r3 - bhi .L4412 + bhi .L4472 mov r1, r0 mov r2, #4 bl gc_search_src_blk uxth r0, r0 cmp r0, #0 - ldreqb r0, [r9, #-3187] @ zero_extendqisi2 - bne .L4413 - b .L4557 -.L4412: + ldreqb r0, [r9, #-3115] @ zero_extendqisi2 + bne .L4473 + b .L4620 +.L4472: mov r0, #1 mov r1, #2 mov r2, r0 bl gc_search_src_blk uxth r0, r0 cmp r0, #0 - bne .L4413 - ldrb r0, [r6, #-3187] @ zero_extendqisi2 -.L4557: + bne .L4473 + ldrb r0, [r5, #-3115] @ zero_extendqisi2 +.L4620: mov r1, #3 mov r2, #4 bl gc_search_src_blk uxth r0, r0 -.L4413: - ldrh r3, [r8, #-10] +.L4473: + ldrh r3, [r8, #-14] cmp r7, r10, lsr #1 movw r2, #2808 movhi r3, r3, lsr #2 movls r3, r3, lsr #1 strh r3, [r4, r2] @ movhi - b .L4398 -.L4408: + b .L4458 +.L4468: cmp r7, r10 - ldr r7, .L4565+8 - bcs .L4415 - sub r10, r7, #16 + ldr r8, .L4629 + bcs .L4475 + sub r0, r8, #20 mov r1, #4 mov r9, #0 - strb r9, [r6, #-3187] - mov r0, r10 + strb r9, [r5, #-3115] bl _list_get_gc_head_node movw r3, #65535 cmp r0, r3 - beq .L4415 + beq .L4475 ldr r3, [r4, #1088] mov r0, r0, asl #1 - ldrh r1, [r7, #-20] - ldr r8, .L4565+60 + ldrh r1, [r8, #-24] + ldr r7, .L4629+60 ldrh r2, [r3, r0] - ldrb r3, [r7, #-43] @ zero_extendqisi2 + ldrb r3, [r8, #-51] @ zero_extendqisi2 mul r3, r3, r1 cmp r2, r3, asr #1 - ldrgth r3, [r7, #-10] + ldrgth r3, [r8, #-14] movwgt r2, #2808 movgt r3, r3, lsr #2 - strgth r3, [r8, r2] @ movhi - bgt .L4393 -.L4417: + strgth r3, [r7, r2] @ movhi + bgt .L4453 +.L4477: mov r2, #4 mov r0, r9 mov r1, #3 bl gc_search_src_blk - ldrh r3, [r7, #-10] + ldrh r3, [r8, #-14] movw r2, #2808 mov r3, r3, lsr #1 - strh r3, [r8, r2] @ movhi + strh r3, [r7, r2] @ movhi uxth r0, r0 - b .L4398 -.L4415: - ldrh r3, [r7, #-10] + b .L4458 +.L4475: + ldrh r3, [r8, #-14] movw r2, #2808 mov r3, r3, lsr #2 strh r3, [r4, r2] @ movhi - b .L4393 -.L4403: - sub r9, r9, #3152 - mov r5, ip - ldrh r1, [r9, #-10] + b .L4453 +.L4463: + sub r9, r9, #3072 + ldrh r1, [r9, #-14] mov r1, r1, lsr #2 strh r1, [r3, r2] @ movhi - b .L4393 -.L4398: + ldr r2, .L4629+56 + movw r3, #2106 + ldrh r3, [r2, r3] + cmp r3, #0 + moveq r6, #0 + b .L4453 +.L4458: cmp r0, #0 - beq .L4393 -.L4468: + beq .L4453 +.L4528: mov r3, #1 - strb r3, [r6, #-254] - b .L4393 -.L4351: - movw r5, #2828 + strb r3, [r5, #-182] + b .L4453 +.L4409: + movw r6, #2828 movw r3, #65535 - ldrh r2, [r4, r5] + ldrh r2, [r4, r6] cmp r2, r3 - bne .L4418 + bne .L4478 bl gc_get_src_blk - ldr r3, .L4565+60 - strh r0, [r3, r5] @ movhi -.L4418: + ldr r3, .L4629+60 + strh r0, [r3, r6] @ movhi +.L4478: movw r3, #2828 movw r0, #65535 ldrh r1, [r4, r3] - ldr r2, .L4565+60 + ldr r2, .L4629+60 cmp r1, r0 - beq .L4419 + beq .L4479 movw r0, #1076 ldrh r0, [r2, r0] cmp r0, r1 mvnls r1, #0 strlsh r1, [r2, r3] @ movhi -.L4419: +.L4479: movw r3, #2828 movw r1, #65535 ldrh r3, [r4, r3] - ldr r2, .L4565+60 + ldr r2, .L4629+60 cmp r3, r1 - beq .L4563 - ldr r0, .L4565+56 + beq .L4626 + ldr r0, .L4629+56 ldr r1, [r2, #1080] ldrh ip, [r0, #52] add r1, r1, r3, asl #2 cmp ip, #0 addne r2, r2, #2880 movne r0, #0 - beq .L4421 -.L4422: + beq .L4481 +.L4482: uxth lr, r0 cmp lr, ip - bcs .L4421 + bcs .L4481 ldrh lr, [r2, #2]! add r0, r0, #1 cmp lr, r3 - bne .L4422 -.L4426: + bne .L4482 +.L4486: movw r3, #2828 mvn r2, #0 strh r2, [r4, r3] @ movhi - b .L4470 -.L4421: + b .L4530 +.L4481: ldrb r2, [r1, #2] @ zero_extendqisi2 tst r2, #192 and r2, r2, #224 @@ -26909,57 +27442,57 @@ zftl_do_gc: movne r2, r1 orreq r2, r1, #1 cmp r2, #0 - beq .L4424 + beq .L4484 ldr r2, [r4, #1088] mov r3, r3, asl #1 ldrh r3, [r2, r3] cmp r3, #0 - beq .L4426 - ldr r1, .L4565+64 - movw r2, #3153 - ldr r0, .L4565+68 + beq .L4486 + ldr r1, .L4629+64 + movw r2, #3306 + ldr r0, .L4629+68 bl printk bl dump_stack - b .L4426 -.L4424: + b .L4486 +.L4484: mov r3, #2 - b .L4562 -.L4352: + b .L4625 +.L4410: bl gc_scan_src_blk cmn r0, #1 moveq r3, #3 - beq .L4562 + beq .L4625 movw r3, #2828 - ldr r2, .L4565+56 + ldr r2, .L4629+56 ldrh r3, [r4, r3] movw r1, #65535 cmp r3, r1 - mov r7, r2 - beq .L4370 + mov r6, r2 + beq .L4428 ldrh r1, [r2, #20] cmp r1, #0 movne r3, #4 - strneb r3, [r6, #-254] + strneb r3, [r5, #-182] movne r3, #0 strneh r3, [r2, #22] @ movhi - bne .L4470 -.L4428: + bne .L4530 +.L4488: mov r2, #1 - strb r2, [r6, #-254] - ldr r2, .L4565+60 + strb r2, [r5, #-182] + ldr r2, .L4629+60 mov r3, r3, asl #1 ldr r2, [r2, #1088] ldrh r3, [r2, r3] cmp r3, #0 - beq .L4429 - ldr r1, .L4565+64 - movw r2, #3183 - ldr r0, .L4565+68 + beq .L4489 + ldr r1, .L4629+64 + movw r2, #3336 + ldr r0, .L4629+68 bl printk bl dump_stack -.L4429: +.L4489: movw r5, #2828 - ldr r6, .L4565+56 + ldr r7, .L4629+56 ldrh r0, [r4, r5] bl ftl_free_sblk ldrh r3, [r4, r5] @@ -26967,55 +27500,55 @@ zftl_do_gc: mov r5, #0 mov r3, r3, asl #1 strh r5, [r2, r3] @ movhi - ldrh r3, [r7, #26] + ldrh r3, [r6, #26] add r3, r3, #1 uxth r3, r3 cmp r3, #8 - strlsh r3, [r6, #26] @ movhi - bls .L4426 - strh r5, [r6, #26] @ movhi + strlsh r3, [r7, #26] @ movhi + bls .L4486 + strh r5, [r7, #26] @ movhi bl ftl_flush bl pm_flush bl ftl_ext_info_flush mov r0, r5 bl ftl_info_flush - b .L4426 -.L4353: - ldr r6, .L4565+56 -.L4526: + b .L4486 +.L4411: + ldr r6, .L4629+56 +.L4588: bl gc_scan_src_blk_one_page - ldr r3, .L4565+20 + ldr r3, .L4629+20 ldrh r1, [r6, #2] - ldr r2, .L4565+60 + ldr r0, .L4629+60 ldrh r3, [r3] - ldr r0, .L4565+32 + ldr r2, .L4629+32 cmp r1, r3 - ldr r5, .L4565+56 - bcs .L4432 + ldr r5, .L4629+56 + bcs .L4492 cmp r7, #7 - bls .L4526 - b .L4470 -.L4432: + bls .L4588 + b .L4530 +.L4492: ldrh r3, [r5, #20] ldrh r1, [r5] cmp r3, #0 - beq .L4433 + beq .L4493 + ldr r0, [r0, #1088] mov ip, #4 - strb ip, [r0, #-254] - mov r0, #0 - strh r0, [r5, #22] @ movhi - ldr r0, [r2, #1088] + strb ip, [r2, #-182] + mov r2, #0 + strh r2, [r5, #22] @ movhi mov r2, r1, asl #1 ldrh r2, [r0, r2] cmp r2, r3 - beq .L4434 - ldr r0, .L4565 + beq .L4494 + ldr r0, .L4629+4 ldr r0, [r0] tst r0, #1024 - beq .L4434 - ldr r0, .L4565+24 + beq .L4494 + ldr r0, .L4629+24 bl printk -.L4434: +.L4494: movw r3, #2828 ldr r2, [r4, #1088] ldrh r3, [r4, r3] @@ -27023,34 +27556,34 @@ zftl_do_gc: ldrh r2, [r2, r3] ldrh r3, [r5, #20] cmp r2, r3 - beq .L4435 - ldr r1, .L4565+64 - movw r2, #3226 - ldr r0, .L4565+68 + beq .L4495 + ldr r1, .L4629+64 + movw r2, #3379 + ldr r0, .L4629+68 bl printk bl dump_stack -.L4435: +.L4495: movw r3, #2828 ldrh r1, [r5, #20] ldrh r3, [r4, r3] ldr r2, [r4, #1088] mov r3, r3, asl #1 strh r1, [r2, r3] @ movhi - b .L4470 -.L4433: + b .L4530 +.L4493: mov r3, #1 - strb r3, [r0, #-254] - ldr r3, .L4565 - ldr r6, [r2, #1080] + strb r3, [r2, #-182] + ldr r3, .L4629+4 + ldr r6, [r0, #1080] ldr r3, [r3] add r6, r6, r1, asl #2 tst r3, #256 - beq .L4436 + beq .L4496 ldrb r2, [r6, #2] @ zero_extendqisi2 - ldr r0, .L4565+28 + ldr r0, .L4629+28 mov r2, r2, lsr #5 bl printk -.L4436: +.L4496: ldrb r3, [r6, #2] @ zero_extendqisi2 tst r3, #192 and r3, r3, #224 @@ -27060,15 +27593,15 @@ zftl_do_gc: movne r3, r2 orreq r3, r2, #1 cmp r3, #0 - beq .L4437 - ldr r1, .L4565+64 - movw r2, #3236 - ldr r0, .L4565+68 + beq .L4497 + ldr r1, .L4629+64 + movw r2, #3389 + ldr r0, .L4629+68 bl printk bl dump_stack -.L4437: +.L4497: movw r7, #2828 - ldr r6, .L4565+56 + ldr r6, .L4629+56 ldrh r0, [r4, r7] bl ftl_free_sblk mvn r3, #0 @@ -27080,47 +27613,47 @@ zftl_do_gc: strlsh r3, [r6, #26] @ movhi movhi r3, #0 strhih r3, [r6, #26] @ movhi - bls .L4470 - b .L4561 -.L4566: + bls .L4530 + b .L4624 +.L4630: .align 2 -.L4565: +.L4629: + .word .LANCHOR3-3072 .word .LANCHOR2 - .word .LC297 - .word .LANCHOR3-3152 - .word .LANCHOR3-3180 - .word .LANCHOR3-3176 - .word .LANCHOR3-3172 - .word .LC298 - .word .LC299 + .word .LC300 + .word .LANCHOR3-3092 + .word .LANCHOR3-3100 + .word .LANCHOR3-3096 + .word .LC301 + .word .LC302 .word .LANCHOR3 - .word .LANCHOR0+4936 + .word .LANCHOR0+5010 .word .LANCHOR0+4096 .word 1145785929 - .word .LANCHOR3-3200 - .word .LANCHOR3-3168 + .word .LANCHOR3-3120 + .word .LANCHOR3-3088 .word .LANCHOR0+2828 .word .LANCHOR0 .word .LANCHOR1+2752 .word .LC0 -.L4354: +.L4412: cmp fp, #0 - bne .L4439 + bne .L4499 movw r3, #2808 ldrh r3, [r4, r3] cmp r3, r7 - bcc .L4470 -.L4439: - ldrh r2, [r5, #80] + bcc .L4530 +.L4499: + ldrh r2, [r6, #80] movw r3, #65535 cmp r2, r3 - bne .L4440 - ldrb r8, [r6, #-3187] @ zero_extendqisi2 + bne .L4500 + ldrb r8, [r5, #-3115] @ zero_extendqisi2 cmp r8, #1 - bne .L4440 - ldr r9, .L4565+56 + bne .L4500 + ldr r9, .L4629+56 bl ftl_flush - movw r3, #2106 + movw r3, #2180 mov r1, #5 ldrh r0, [r9, r3] cmp r0, #0 @@ -27129,61 +27662,61 @@ zftl_do_gc: movw r3, #65535 cmp r0, r3 mov r7, r0 - beq .L4443 + beq .L4503 ldr r8, [r4, #1080] add r8, r8, r0, asl #2 ldrb r3, [r8, #2] @ zero_extendqisi2 tst r3, #224 - beq .L4444 - ldr r1, .L4565+64 - movw r2, #3270 - ldr r0, .L4565+68 + beq .L4504 + ldr r1, .L4629+64 + movw r2, #3423 + ldr r0, .L4629+68 bl printk bl dump_stack -.L4444: +.L4504: ldrb r3, [r8, #2] @ zero_extendqisi2 and r3, r3, #15 orr r3, r3, #176 strb r3, [r8, #2] -.L4469: +.L4529: mov r0, r7 mov r1, #1 bl ftl_erase_sblk mov r3, #5 - add r1, r5, #96 - strb r3, [r5, #84] + add r1, r6, #96 + strb r3, [r6, #84] mov r0, r7 - ldr r10, .L4565+52 + ldr r10, .L4629+52 bl ftl_get_blk_list_in_sblk mov r8, #0 - strh r7, [r5, #80] @ movhi + strh r7, [r6, #80] @ movhi mov r1, #255 - ldrh r3, [r10, #-4] - ldrh r2, [r10, #-2] - strh r8, [r5, #82] @ movhi - strb r8, [r5, #85] - strh r8, [r5, #90] @ movhi + ldrh r3, [r10, #-8] + ldrh r2, [r10, #-26] + strh r8, [r6, #82] @ movhi + strb r8, [r6, #85] + strh r8, [r6, #90] @ movhi uxtb r0, r0 - strb r0, [r5, #89] + strb r0, [r6, #89] smulbb r0, r3, r0 - ldrb r3, [r6, #-3195] @ zero_extendqisi2 + ldrb r3, [r5, #-3123] @ zero_extendqisi2 mul r2, r3, r2 - strh r0, [r5, #86] @ movhi + strh r0, [r6, #86] @ movhi + ldr r0, [r5, #-172] + mov r2, r2, asl #2 + bl ftl_memset + ldrb r3, [r5, #-3123] @ zero_extendqisi2 + ldrh r2, [r10, #-26] + mov r1, #255 + ldr r0, [r5, #-168] + mul r2, r3, r2 + mov r2, r2, asl #2 + bl ftl_memset + ldrh r3, [r10, #-26] + ldrb r2, [r5, #-3123] @ zero_extendqisi2 + mov r1, #255 + ldr r0, [r5, #-3120] mvn r5, #0 - ldr r0, [r6, #-244] - mov r2, r2, asl #2 - bl ftl_memset - ldrb r3, [r6, #-3195] @ zero_extendqisi2 - ldrh r2, [r10, #-2] - mov r1, #255 - ldr r0, [r6, #-240] - mul r2, r3, r2 - mov r2, r2, asl #2 - bl ftl_memset - ldrh r3, [r10, #-2] - ldrb r2, [r6, #-3195] @ zero_extendqisi2 - mov r1, #255 - ldr r0, [r6, #-3192] mul r2, r2, r3 bl ftl_memset ldr r3, [r4, #1092] @@ -27200,180 +27733,180 @@ zftl_do_gc: strh r8, [r9, r3] @ movhi movw r3, #2104 strh r8, [r9, r3] @ movhi - movw r3, #2108 + movw r3, #2182 strh r8, [r9, r3] @ movhi - ldr r3, .L4565+40 - str r5, [r3, #844] + ldr r3, .L4629+40 + str r5, [r3, #916] bl ftl_info_flush - b .L4470 -.L4440: + b .L4530 +.L4500: cmp fp, #1 - ldr r9, .L4565+56 - ldr r10, .L4565+36 + ldr r10, .L4629+56 + ldr r9, .L4629+36 movne r8, #1 moveq r8, #4 cmp r7, #15 addls r8, r8, #4 -.L4447: +.L4507: sub r8, r8, #1 uxtb r8, r8 cmp r8, #255 - beq .L4470 + beq .L4530 bl gc_do_copy_back - ldrb r3, [r6, #-3187] @ zero_extendqisi2 - ldr fp, .L4565+32 + ldrb r3, [r5, #-3115] @ zero_extendqisi2 + ldr fp, .L4629+32 cmp r3, #0 - ldr r7, .L4565+56 - bne .L4448 + ldr r7, .L4629+56 + bne .L4508 ldrb r3, [r4, #2774] @ zero_extendqisi2 cmp r3, #3 - bhi .L4449 + bhi .L4509 bl ftl_write_commit -.L4449: - ldrh r2, [r9, #22] - ldrh r3, [r9, #20] +.L4509: + ldrh r2, [r10, #22] + ldrh r3, [r10, #20] cmp r2, r3 - bcc .L4447 + bcc .L4507 mov r3, #1 - strb r3, [r6, #-254] + strb r3, [r5, #-182] bl ftl_write_commit bl ftl_flush - ldr r3, .L4565+56 - ldr r2, .L4565+60 + ldr r3, .L4629+56 + ldr r2, .L4629+60 ldrh r3, [r3] ldr r2, [r2, #1088] mov r3, r3, asl #1 ldrh r3, [r2, r3] cmp r3, #0 - beq .L4451 - ldr r1, .L4565+64 - movw r2, #3354 - ldr r0, .L4565+68 + beq .L4511 + ldr r1, .L4629+64 + movw r2, #3507 + ldr r0, .L4629+68 bl printk bl dump_stack -.L4451: +.L4511: movw r3, #2828 ldr r1, [r4, #1088] ldrh r0, [r4, r3] mov r2, r0, asl #1 ldrh ip, [r1, r2] cmp ip, #0 - bne .L4452 + bne .L4512 strh ip, [r1, r2] @ movhi - ldr r2, .L4565+60 + ldr r2, .L4629+60 ldrh r0, [r2, r3] bl ftl_free_sblk - b .L4426 -.L4452: + b .L4486 +.L4512: mov r1, #0 mov r2, #1 bl gc_add_sblk - b .L4426 -.L4448: - ldrh r3, [r10] + b .L4486 +.L4508: + ldrh r3, [r9] cmp r3, #0 - beq .L4453 - ldr r3, .L4565+36 + beq .L4513 + ldr r3, .L4629+36 mov r2, #0 - ldr r8, .L4565+40 + ldr r8, .L4629+40 strh r2, [r3] @ movhi bl sblk_wait_write_queue_completed bl gc_write_completed - ldr r0, [r8, #844] + ldr r0, [r8, #916] cmn r0, #1 - beq .L4454 - ldrb r3, [fp, #-2612] @ zero_extendqisi2 + beq .L4514 + ldrb r3, [fp, #-2536] @ zero_extendqisi2 cmp r3, #0 - bne .L4455 - ldrb r3, [fp, #-3194] @ zero_extendqisi2 + bne .L4515 + ldrb r3, [fp, #-3122] @ zero_extendqisi2 cmp r3, #0 - beq .L4456 -.L4455: + beq .L4516 +.L4515: ldr r3, [r4, #2804] - ldr r9, .L4565+60 + ldr r9, .L4629+60 ldr r2, [r3, #156] - ldr r3, .L4565+44 + ldr r3, .L4629+44 cmp r2, r3 - bne .L4456 - ldr r10, .L4565+48 + bne .L4516 + ldr r10, .L4629+48 ldrb r3, [r9, #1189] @ zero_extendqisi2 - ldrb r1, [r6, #-3202] @ zero_extendqisi2 - ldrh r2, [r10, #-4] + ldrb r1, [r5, #-3130] @ zero_extendqisi2 + ldrh r2, [r10, #-12] rsb r3, r3, #24 rsb r3, r2, r3 mov r2, r0, lsr r2 mvn r0, #0 bic r0, r2, r0, asl r3 bl __aeabi_uidiv - ldr r5, [r9, #1080] + ldr r6, [r9, #1080] mov ip, r0, asl #2 - add r1, r5, ip + add r1, r6, ip ldrb r3, [r1, #2] @ zero_extendqisi2 tst r3, #8 - beq .L4454 + beq .L4514 movw r2, #2788 - ldrh lr, [r10, #38] + ldrh lr, [r10, #34] ldrh r2, [r9, r2] add r2, r2, #8 cmp r2, lr - bge .L4454 + bge .L4514 bfc r3, #3, #2 movw r2, #1084 strb r3, [r1, #2] - ldr r3, [r5, r0, asl #2] + ldr r3, [r6, r0, asl #2] ldrh r2, [r9, r2] ubfx r3, r3, #11, #8 - ldrh r1, [r5, ip] + ldrh r1, [r6, ip] mul r2, r2, r3 ubfx lr, r1, #0, #11 mov r3, r3, lsr #3 add r2, r2, r2, asl #1 add r2, lr, r2, asr #2 bfi r1, r2, #0, #11 - strh r1, [r5, ip] @ movhi - ldr r2, [r5, r0, asl #2] + strh r1, [r6, ip] @ movhi + ldr r2, [r6, r0, asl #2] bfi r2, r3, #11, #8 - str r2, [r5, r0, asl #2] - b .L4454 -.L4456: + str r2, [r6, r0, asl #2] + b .L4514 +.L4516: bl ftl_mask_bad_block -.L4454: +.L4514: ldr r3, [r4, #1092] - mov r5, #0 - str r5, [r8, #844] - strh r5, [r7, #52] @ movhi + mov r6, #0 + str r6, [r8, #916] + strh r6, [r7, #52] @ movhi ldrh r0, [r3, #80] bl ftl_free_sblk ldr r0, [r4, #2836] ldr r2, [r4, #1092] mvn r3, #0 ldr r1, [r4, #2804] - cmp r0, r5 + cmp r0, r6 strh r3, [r2, #80] @ movhi strh r3, [r1, #126] @ movhi strh r3, [r2, #130] @ movhi - beq .L4457 + beq .L4517 bl zbuf_free -.L4457: - str r5, [r4, #2836] +.L4517: + str r6, [r4, #2836] bl flt_sys_flush - ldr r1, .L4565+64 - movw r2, #3413 - ldr r0, .L4565+68 - strb r5, [r6, #-254] + ldr r1, .L4629+64 + movw r2, #3567 + ldr r0, .L4629+68 + strb r6, [r5, #-182] bl printk bl dump_stack - b .L4470 -.L4453: - ldrh r3, [r5, #86] - ldrh r2, [r9, #22] + b .L4530 +.L4513: + ldrh r3, [r6, #86] + ldrh r2, [r10, #22] cmp r3, #1 - ldrh r3, [r9, #20] - bls .L4458 + ldrh r3, [r10, #20] + bls .L4518 cmp r2, r3 - bcc .L4447 + bcc .L4507 mov r3, #1 - strb r3, [fp, #-254] + strb r3, [fp, #-182] ldrh r3, [r7, #52] add r2, r3, #1 strh r2, [r7, #52] @ movhi @@ -27382,12 +27915,12 @@ zftl_do_gc: strh r2, [r3, #54] @ movhi mvn r3, #0 strh r3, [r7] @ movhi - b .L4470 -.L4458: + b .L4530 +.L4518: cmp r2, r3 mov r1, #5 - strb r1, [fp, #-254] - bcc .L4459 + strb r1, [fp, #-182] + bcc .L4519 ldrh r3, [r7, #52] add r2, r3, #1 strh r2, [r7, #52] @ movhi @@ -27396,53 +27929,53 @@ zftl_do_gc: strh r2, [r3, #54] @ movhi mvn r3, #0 strh r3, [r7] @ movhi -.L4459: +.L4519: bl ftl_flush bl sblk_wait_write_queue_completed bl gc_write_completed - ldrh r2, [r5, #80] + ldrh r2, [r6, #80] ldr r3, [r4, #1092] strh r2, [r3, #128] @ movhi bl pm_flush bl ftl_ext_info_flush - ldr r1, .L4565+52 + ldr r1, .L4629+52 ldrb r0, [r4, #1196] @ zero_extendqisi2 mov r3, #0 strh r3, [r7, #12] @ movhi - ldrh r3, [r1, #-4] + ldrh r3, [r1, #-8] cmp r0, #0 - ldr r2, .L4565+56 - ldrneh r1, [r1, #-2] + ldr r2, .L4629+56 + ldrneh r1, [r1, #-26] strh r3, [r7, #14] @ movhi - ldrb r3, [r6, #-3196] @ zero_extendqisi2 + ldrb r3, [r5, #-3124] @ zero_extendqisi2 strneh r1, [r2, #14] @ movhi movne r1, #1 strh r3, [r7, #16] @ movhi strneh r1, [r2, #16] @ movhi cmp r3, #2 - bne .L4462 + bne .L4522 ldrh r3, [r7, #14] mov r3, r3, asl #1 strh r3, [r7, #14] @ movhi - ldrb r3, [r6, #-3194] @ zero_extendqisi2 + ldrb r3, [r5, #-3122] @ zero_extendqisi2 cmp r3, #0 - ldreq r3, .L4565+56 + ldreq r3, .L4629+56 moveq r2, #1 streqh r2, [r3, #16] @ movhi -.L4462: +.L4522: mov r3, #0 strh r3, [r7, #18] @ movhi - b .L4470 -.L4471: - ldr r8, .L4565+56 - mov r5, #0 -.L4355: + b .L4530 +.L4531: + ldr r8, .L4629+56 + mov r6, #0 +.L4413: bl gc_check_data_one_wl subs r10, r0, #0 - beq .L4465 - ldr r3, .L4565+56 - mov r5, #0 - strh r5, [r3, #52] @ movhi + beq .L4525 + ldr r3, .L4629+56 + mov r6, #0 + strh r6, [r3, #52] @ movhi ldr r3, [r4, #1092] ldrh r0, [r3, #80] bl ftl_free_sblk @@ -27454,63 +27987,63 @@ zftl_do_gc: strh r3, [r1, #126] @ movhi strh r3, [r2, #130] @ movhi bl zbuf_free - str r5, [r4, #2836] - strb r5, [r6, #-254] -.L4561: + str r6, [r4, #2836] + strb r6, [r5, #-182] +.L4624: bl flt_sys_flush - b .L4470 -.L4465: + b .L4530 +.L4525: ldrh r2, [r8, #12] ldrh r3, [r8, #14] - ldr r9, .L4565+60 + ldr r9, .L4629+60 cmp r2, r3 - bcc .L4466 + bcc .L4526 ldr r0, [r9, #2836] mov r3, #6 - strb r3, [r6, #-254] + strb r3, [r5, #-182] bl zbuf_free str r10, [r9, #2836] - b .L4470 -.L4466: + b .L4530 +.L4526: cmp r7, #15 - bls .L4355 + bls .L4413 cmp fp, #1 - bne .L4470 - add r5, r5, #1 - uxtb r5, r5 - cmp r5, #4 - bls .L4355 - b .L4470 -.L4356: + bne .L4530 + add r6, r6, #1 + uxtb r6, r6 + cmp r6, #4 + bls .L4413 + b .L4530 +.L4414: bl gc_update_l2p_map_new mvn r7, #0 bl gc_free_src_blk bl ftl_flush bl pm_flush - strh r7, [r5, #80] @ movhi + strh r7, [r6, #80] @ movhi bl ftl_ext_info_flush ldr r3, [r4, #2804] mov r0, #0 strh r7, [r3, #126] @ movhi bl ftl_info_flush -.L4563: +.L4626: mov r3, #0 -.L4562: - strb r3, [r6, #-254] -.L4470: +.L4625: + strb r3, [r5, #-182] +.L4530: mov r0, #16 - b .L4552 -.L4393: - mov r0, r5 - b .L4552 -.L4443: - ldr r1, .L4565+64 - movw r2, #3277 - ldr r0, .L4565+68 + b .L4615 +.L4453: + mov r0, r6 + b .L4615 +.L4503: + ldr r1, .L4629+64 + movw r2, #3430 + ldr r0, .L4629+68 bl printk bl dump_stack - b .L4469 -.L4552: + b .L4529 +.L4615: add sp, sp, #44 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} @@ -27527,22 +28060,22 @@ zftl_init: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #28 sub sp, sp, #28 - ldr r5, .L4651 + ldr r5, .L4715 mvn r3, #0 - ldr r4, .L4651+4 + ldr r4, .L4715+4 mov r6, #0 - ldr r1, .L4651+8 - sub r7, r5, #3168 - ldr r0, .L4651+12 + ldr r1, .L4715+8 + ldr r0, .L4715+12 strb r3, [r4, #2824] - strb r3, [r5, #-2606] - strb r3, [r5, #-168] - str r3, [r5, #488] + strb r3, [r5, #-2530] + strb r3, [r5, #-96] + str r3, [r5, #556] strb r6, [r4, #2800] - strb r6, [r5, #-2605] + strb r6, [r5, #-2529] strb r6, [r4, #2801] bl printk - ldr r8, .L4651+16 + ldr r8, .L4715+16 + sub r2, r5, #3104 ldrb r3, [r8, #16] @ zero_extendqisi2 ldrb fp, [r8, #13] @ zero_extendqisi2 strb fp, [r4, #2772] @@ -27551,55 +28084,56 @@ zftl_init: str r3, [sp, #4] ldrb r3, [sp, #4] @ zero_extendqisi2 ldr r1, [sp, #4] - strb r3, [r5, #-3196] + strb r3, [r5, #-3124] ldrh r3, [r8, #14] - strh r3, [r7, #-2] @ movhi + strh r3, [r2, #-10] @ movhi mov r0, r3 str r3, [sp, #8] bl __aeabi_idiv - ldrb r1, [r4, #1101] @ zero_extendqisi2 + sub r1, r5, #3088 ldrh r10, [r8, #18] ldrh ip, [r4, #2] - strb r1, [r5, #-3140] - strh r0, [r7, #-4] @ movhi + strh r0, [r1, #-8] @ movhi mov r2, r0 + ldrb r1, [r4, #1101] @ zero_extendqisi2 ldrb r0, [r8, #17] @ zero_extendqisi2 ldr r3, [sp, #8] + strb r1, [r5, #-3064] smulbb r1, r0, r1 - strb r0, [r5, #-3202] + strb r0, [r5, #-3130] mov r0, #1 uxtb r7, r1 movw r1, #1076 strh r10, [r4, r1] @ movhi - movw r1, #474 + movw r1, #542 strh r9, [r5, r1] @ movhi - sub r1, r5, #3136 - strb r7, [r5, #-3195] - strh ip, [r1, #-6] @ movhi -.L4568: + sub r1, r5, #3056 + strb r7, [r5, #-3123] + strh ip, [r1, #-10] @ movhi +.L4632: cmp r0, ip uxth r1, r6 add r6, r6, #1 movls r0, r0, asl #1 - bls .L4568 -.L4649: - ldr r0, .L4651+20 + bls .L4632 +.L4713: + ldr r0, .L4715+20 sub r1, r1, #1 - strh r1, [r0, #-4] @ movhi + strh r1, [r0, #-12] @ movhi mov r0, #0 mul r1, r3, fp mul r6, r10, r1 str r1, [sp, #8] mov r1, #1 mov ip, r6, lsr #21 -.L4570: +.L4634: cmp r1, ip uxth lr, r0 add r0, r0, #1 movls r1, r1, asl #1 - bls .L4570 -.L4650: - ldr r1, .L4651+24 + bls .L4634 +.L4714: + ldr r1, .L4715+24 sub lr, lr, #1 mov r0, #1 str r3, [sp, #20] @@ -27610,12 +28144,12 @@ zftl_init: str r2, [sp, #12] mov r10, r10, lsr #4 str r6, [r4, #2780] - ldr r6, .L4651 + ldr r6, .L4715 mul r8, lr, r1 mov r1, fp - add fp, r6, #496 + add fp, r6, #564 add ip, r8, #24576 - str ip, [r6, #492] + str ip, [r6, #560] str ip, [sp, #16] mov r0, ip str r8, [r4, #1032] @@ -27631,10 +28165,10 @@ zftl_init: mul r1, r7, r2 mov r0, r0, asl #4 bl __aeabi_idiv - sub r2, r6, #3152 + sub r2, r6, #3072 ldr r3, [sp, #8] ldr ip, [sp, #16] - strh r0, [r6, #-224] @ movhi + strh r0, [r6, #-152] @ movhi mul r1, r7, r3 mov r0, ip str r2, [sp, #12] @@ -27646,171 +28180,171 @@ zftl_init: ldr r2, [sp, #12] add r0, r0, #8 ldr r3, [sp, #20] - strh r10, [r2, #-10] @ movhi - strlsh r1, [r2, #-10] @ movhi - ldr r1, .L4651 - strh r0, [r2, #-8] @ movhi + strh r10, [r2, #-14] @ movhi + strlsh r1, [r2, #-14] @ movhi + ldr r1, .L4715 + strh r0, [r2, #-12] @ movhi mov r0, #2000 - sub r2, r1, #2608 - strh r0, [r2] @ movhi + sub r2, r1, #2528 + strh r0, [r2, #-4] @ movhi mov r0, #50 - strh r0, [r2, #-2] @ movhi + strh r0, [r2, #-6] @ movhi mov r0, #256 - strh r0, [r6, #-228] @ movhi + strh r0, [r6, #-156] @ movhi mov r0, #48 - strh r0, [r6, #-226] @ movhi + strh r0, [r6, #-154] @ movhi mov r0, #32 strh r0, [r4, ip] @ movhi ldr ip, [sp, #4] cmp ip, #2 mov ip, r2 - beq .L4573 - ldrb lr, [r1, #-3188] @ zero_extendqisi2 + beq .L4637 + ldrb lr, [r1, #-3116] @ zero_extendqisi2 cmp lr, #0 - beq .L4574 -.L4573: + beq .L4638 +.L4637: mov r1, #150 - strh r1, [ip, #-2] @ movhi + strh r1, [ip, #-6] @ movhi mov r1, #64 - strh r1, [r6, #-226] @ movhi + strh r1, [r6, #-154] @ movhi movw r1, #1084 mov lr, #12 strh lr, [r4, r1] @ movhi ldrb lr, [r4] @ zero_extendqisi2 - ldr r2, .L4651 + ldr r2, .L4715 cmp lr, #0 - sub r0, r2, #2608 - bne .L4575 - ldr lr, .L4651+4 + sub r0, r2, #2528 + bne .L4639 + ldr lr, .L4715+4 mov r10, #4 strh r10, [lr, r1] @ movhi mov r1, #600 - strh r1, [r0] @ movhi + strh r1, [r0, #-4] @ movhi mov r1, #128 - strh r1, [r2, #-228] @ movhi -.L4575: + strh r1, [r2, #-156] @ movhi +.L4639: ldrb r2, [r4, #1197] @ zero_extendqisi2 cmp r2, #0 movne r2, #200 - strneh r2, [ip, #-2] @ movhi + strneh r2, [ip, #-6] @ movhi movne r2, #2000 - strneh r2, [ip] @ movhi - b .L4577 -.L4574: - ldr ip, .L4651+4 + strneh r2, [ip, #-4] @ movhi + b .L4641 +.L4638: + ldr ip, .L4715+4 ldrb ip, [ip, #1196] @ zero_extendqisi2 cmp ip, #0 - strneh r0, [r2, #-2] @ movhi - strneh r0, [r1, #-226] @ movhi + strneh r0, [r2, #-6] @ movhi + strneh r0, [r1, #-154] @ movhi movne ip, #1200 - strneh ip, [r2] @ movhi -.L4577: + strneh ip, [r2, #-4] @ movhi +.L4641: mul r3, r7, r3 - ldr r7, .L4651+16 + ldr r7, .L4715+16 mov r2, #0 str r2, [r4, #2820] mov r2, #1 - strb r2, [r6, #477] + strb r2, [r6, #545] cmp r9, r3, asl #2 - ldrlt r3, .L4651 + ldrlt r3, .L4715 movlt r2, #2 - strltb r2, [r3, #477] + strltb r2, [r3, #545] ldr r3, [r7] tst r3, #4096 - beq .L4580 - ldr r0, .L4651+28 + beq .L4644 + ldr r0, .L4715+28 mov r1, r8 bl printk -.L4580: +.L4644: ldr r3, [r7] tst r3, #4096 - beq .L4581 - ldr r0, .L4651+32 + beq .L4645 + ldr r0, .L4715+32 ldr r1, [r4, #2780] bl printk -.L4581: +.L4645: ldr r3, [r7] tst r3, #4096 - beq .L4582 - ldr r0, .L4651+36 + beq .L4646 + ldr r0, .L4715+36 ldr r1, [r4, #2784] bl printk -.L4582: +.L4646: ldr r3, [r7] tst r3, #4096 - beq .L4583 - ldr r0, .L4651+40 - ldr r1, [r6, #492] + beq .L4647 + ldr r0, .L4715+40 + ldr r1, [r6, #560] bl printk -.L4583: +.L4647: ldr r3, [r7] tst r3, #4096 - beq .L4584 - ldr r0, .L4651+44 + beq .L4648 + ldr r0, .L4715+44 ldrh r1, [fp] bl printk -.L4584: +.L4648: ldr r3, [r7] tst r3, #4096 - beq .L4585 - movw r3, #474 - ldr r0, .L4651+48 + beq .L4649 + movw r3, #542 + ldr r0, .L4715+48 ldrh r1, [r6, r3] bl printk -.L4585: +.L4649: ldr r3, [r7] tst r3, #4096 - beq .L4586 - ldr r0, .L4651+52 - ldrh r1, [r6, #-224] + beq .L4650 + ldr r0, .L4715+52 + ldrh r1, [r6, #-152] bl printk -.L4586: +.L4650: ldr r3, [r7] tst r3, #4096 - beq .L4587 - ldr r3, .L4651+56 - ldr r0, .L4651+60 - ldrh r1, [r3, #-10] + beq .L4651 + ldr r3, .L4715+56 + ldr r0, .L4715+60 + ldrh r1, [r3, #-14] bl printk -.L4587: +.L4651: ldr r3, [r7] tst r3, #4096 - beq .L4588 - ldr r3, .L4651+56 - ldr r0, .L4651+64 - ldrh r1, [r3, #-8] + beq .L4652 + ldr r3, .L4715+56 + ldr r0, .L4715+64 + ldrh r1, [r3, #-12] bl printk -.L4588: +.L4652: bl zbuf_init mov r0, #16384 bl ftl_malloc movw r9, #1076 - ldr r8, .L4651+68 - str r0, [r5, #140] + ldr r8, .L4715+68 + str r0, [r5, #204] mov r0, #16384 bl ftl_malloc - str r0, [r5, #148] + str r0, [r5, #212] mov r0, #16384 bl ftl_malloc ldrh r3, [r4, r9] - str r0, [r5, #500] + str r0, [r5, #568] mov r0, #6 mul r0, r0, r3 bl ftl_malloc - ldrb r3, [r5, #-3195] @ zero_extendqisi2 + ldrb r3, [r5, #-3123] @ zero_extendqisi2 str r0, [r4, #1036] - ldrh r0, [r8, #-4] + ldrh r0, [r8, #-8] mul r0, r3, r0 mov r0, r0, asl #2 bl ftl_malloc - ldrb r3, [r5, #-3195] @ zero_extendqisi2 - ldrh r1, [r8, #-4] - ldr r2, [r5, #148] + ldrb r3, [r5, #-3123] @ zero_extendqisi2 + ldrh r1, [r8, #-8] + ldr r2, [r5, #212] mul r1, r3, r1 - str r2, [r5, #-2624] + str r2, [r5, #-2548] add r3, r2, r1, asl #3 str r3, [r4, #1088] - str r0, [r5, #-2620] + str r0, [r5, #-2544] ldrh r5, [r4, r9] ldr r0, [r7] mov r5, r5, lsr #1 @@ -27818,14 +28352,14 @@ zftl_init: add r1, r5, r1, asl #1 add r1, r2, r1, asl #2 str r1, [r4, #1092] - beq .L4589 - ldr r0, .L4651+72 + beq .L4653 + ldr r0, .L4715+72 bl printk -.L4589: +.L4653: movw r3, #1076 - ldrh r5, [r8, #-4] + ldrh r5, [r8, #-8] ldrh r2, [r4, r3] - ldrb r3, [r6, #-3195] @ zero_extendqisi2 + ldrb r3, [r6, #-3123] @ zero_extendqisi2 ldrh fp, [fp] mul r5, r3, r5 ldr r3, [r7] @@ -27836,31 +28370,31 @@ zftl_init: add r5, r2, r5, asl #2 mov r5, r5, asl #1 add r5, r5, #632 - beq .L4590 - ldr ip, .L4651 - movw r3, #474 - ldr r0, .L4651+76 + beq .L4654 + ldr ip, .L4715 + movw r3, #542 + ldr r0, .L4715+76 mov r1, r5 mov r2, fp ldrh r3, [ip, r3] bl printk -.L4590: - movw r3, #474 +.L4654: + movw r3, #542 ldrh r3, [r6, r3] cmp fp, r3 cmpls r5, r3 movhi fp, #1 movls fp, #0 - bls .L4591 -.L4647: - b .L4647 -.L4591: + bls .L4655 +.L4711: + b .L4711 +.L4655: bl sblk_init + bl gc_init bl ftl_info_blk_init cmn r0, #1 - beq .L4593 + beq .L4657 bl ftl_ext_info_init - bl gc_init mov r0, #1 bl pm_init bl lpa_rebuild_hash @@ -27889,10 +28423,10 @@ zftl_init: bl pm_flush mov r0, #1 bl ftl_total_vpn_update - ldr r3, .L4651 - ldrb r3, [r3, #145] @ zero_extendqisi2 + ldr r3, .L4715 + ldrb r3, [r3, #209] @ zero_extendqisi2 cmp r3, #0 - ldrne r3, .L4651+4 + ldrne r3, .L4715+4 ldrne r2, [r3, #2804] ldrne r3, [r2, #68] addne r3, r3, #1 @@ -27902,24 +28436,24 @@ zftl_init: bl ftl_info_flush bl print_ftl_debug_info ldr r3, [r4, #1092] - ldr r2, .L4651+4 + ldr r2, .L4715+4 ldrh r3, [r3, #124] cmp r3, #0 - bne .L4599 + bne .L4663 movw r3, #2788 movw r1, #2792 ldrh r3, [r2, r3] ldrh r2, [r2, r1] add r3, r3, r2 cmp r3, #7 - ble .L4599 -.L4597: + ble .L4663 +.L4661: mov r0, #0 - b .L4593 -.L4599: - ldr r6, .L4651+80 + b .L4657 +.L4663: + ldr r6, .L4715+80 mov r5, #16384 -.L4630: +.L4694: mov r1, #1 mov r0, #0 bl zftl_do_gc @@ -27929,48 +28463,48 @@ zftl_init: ldr r3, [r4, #1092] ldrh r2, [r3, #124] cmp r2, #0 - bne .L4596 + bne .L4660 ldrh r2, [r3, #80] movw r3, #65535 cmp r2, r3 - bne .L4596 - ldr r2, .L4651+84 + bne .L4660 + ldr r2, .L4715+84 ldrh r3, [r6] ldrh r2, [r2] add r3, r3, r2 cmp r3, #7 - bgt .L4597 -.L4596: + bgt .L4661 +.L4660: subs r5, r5, #1 - bne .L4630 - b .L4597 -.L4593: + bne .L4694 + b .L4661 +.L4657: add sp, sp, #28 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L4652: +.L4716: .align 2 -.L4651: +.L4715: .word .LANCHOR3 .word .LANCHOR0 .word .LC2 .word .LC1 .word .LANCHOR2 - .word .LANCHOR3-3200 + .word .LANCHOR3-3120 .word 1892352 - .word .LC300 - .word .LC301 - .word .LC302 .word .LC303 .word .LC304 .word .LC305 .word .LC306 - .word .LANCHOR3-3152 .word .LC307 .word .LC308 - .word .LANCHOR3-3168 .word .LC309 + .word .LANCHOR3-3072 .word .LC310 + .word .LC311 + .word .LANCHOR3-3088 + .word .LC312 + .word .LC313 .word .LANCHOR0+2788 .word .LANCHOR0+2792 .fnend @@ -27985,124 +28519,124 @@ rk_ftl_init: stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} mov r0, #68 - ldr r3, .L4669 + ldr r3, .L4733 mov r5, #0 - ldr r4, .L4669+4 + ldr r4, .L4733+4 ldr r3, [r3] - str r5, [r4, #-212] - strb r5, [r4, #504] - str r3, [r4, #-216] + str r5, [r4, #-140] + strb r5, [r4, #572] + str r3, [r4, #-144] bl ftl_malloc cmp r0, r5 - str r0, [r4, #-208] - bne .L4654 -.L4656: + str r0, [r4, #-136] + bne .L4718 +.L4720: mvn r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L4654: +.L4718: mov r0, #2048 bl ftl_malloc - add r1, r4, #512 - str r5, [r4, #-204] - str r5, [r4, #512] - str r0, [r4, #508] - sub r0, r4, #204 + add r1, r4, #580 + str r5, [r4, #-132] + str r5, [r4, #580] + str r0, [r4, #576] + sub r0, r4, #132 bl rknand_get_reg_addr - ldr r3, [r4, #-204] + ldr r3, [r4, #-132] cmp r3, #0 - beq .L4656 + beq .L4720 bl rk_nandc_irq_init mov r1, r5 mov r2, r5 mov r3, #2048 - ldr r0, [r4, #508] + ldr r0, [r4, #576] bl flash_sram_load_store bl rknand_flash_cs_init - ldr r3, [r4, #-208] - ldr r2, .L4669+8 - ldr r0, [r4, #-204] + ldr r3, [r4, #-136] + ldr r2, .L4733+8 + ldr r0, [r4, #-132] str r2, [r3, #40] - ldr r2, .L4669+12 + ldr r2, .L4733+12 str r2, [r3, #32] - ldr r2, .L4669+16 + ldr r2, .L4733+16 str r2, [r3, #44] - ldr r2, .L4669+20 + ldr r2, .L4733+20 str r2, [r3, #48] - ldr r2, .L4669+24 + ldr r2, .L4733+24 str r2, [r3, #36] - ldr r2, .L4669+28 + ldr r2, .L4733+28 str r2, [r3, #56] - ldr r2, .L4669+32 + ldr r2, .L4733+32 str r2, [r3, #20] - ldr r2, .L4669+36 + ldr r2, .L4733+36 str r2, [r3, #24] - ldr r2, .L4669+40 + ldr r2, .L4733+40 str r2, [r3, #12] - ldr r2, .L4669+44 + ldr r2, .L4733+44 str r2, [r3, #16] - ldr r2, .L4669+48 + ldr r2, .L4733+48 str r2, [r3, #4] - ldr r2, .L4669+52 + ldr r2, .L4733+52 str r2, [r3, #8] - ldr r2, .L4669+56 + ldr r2, .L4733+56 str r2, [r3, #60] - ldr r2, .L4669+60 + ldr r2, .L4733+60 str r2, [r3, #64] - ldr r2, .L4669+64 + ldr r2, .L4733+64 str r2, [r3, #52] - ldr r2, .L4669+68 + ldr r2, .L4733+68 str r2, [r3, #28] bl nand_flash_init subs r7, r0, #0 - bne .L4657 + bne .L4721 bl zftl_init mov r5, r0 bl zftl_proc_debug_init mov r3, #1 - strb r3, [r4, #504] - b .L4658 -.L4657: - ldr r3, [r4, #-208] + strb r3, [r4, #572] + b .L4722 +.L4721: + ldr r3, [r4, #-136] mov r6, r4 - ldr r2, .L4669+72 - ldr r0, [r4, #-204] - ldr r4, .L4669+76 + ldr r2, .L4733+72 + ldr r0, [r4, #-132] + ldr r4, .L4733+76 str r2, [r3, #40] - ldr r2, .L4669+80 + ldr r2, .L4733+80 str r2, [r3, #32] - ldr r2, .L4669+84 + ldr r2, .L4733+84 str r2, [r3, #44] - ldr r2, .L4669+88 + ldr r2, .L4733+88 str r2, [r3, #48] - ldr r2, .L4669+92 + ldr r2, .L4733+92 str r2, [r3, #36] - ldr r2, .L4669+96 + ldr r2, .L4733+96 str r2, [r3, #56] - ldr r2, .L4669+100 + ldr r2, .L4733+100 str r2, [r3, #20] - ldr r2, .L4669+104 + ldr r2, .L4733+104 str r2, [r3, #24] - ldr r2, .L4669+108 + ldr r2, .L4733+108 str r2, [r3, #12] - ldr r2, .L4669+112 + ldr r2, .L4733+112 str r2, [r3, #16] - ldr r2, .L4669+116 + ldr r2, .L4733+116 str r2, [r3, #4] - ldr r2, .L4669+120 + ldr r2, .L4733+120 str r2, [r3, #8] - ldr r2, .L4669+124 + ldr r2, .L4733+124 str r2, [r3, #60] - ldr r2, .L4669+128 + ldr r2, .L4733+128 str r2, [r3, #64] - ldr r2, .L4669+132 + ldr r2, .L4733+132 str r2, [r3, #52] - ldr r2, .L4669+136 + ldr r2, .L4733+136 str r2, [r3, #28] bl FlashInit cmn r7, #2 mov r5, r0 - bne .L4659 - ldr r1, .L4669+140 + bne .L4723 + ldr r1, .L4733+140 mov r2, #32 add r0, r4, #4 bl ftl_memcpy @@ -28110,57 +28644,57 @@ rk_ftl_init: bl flash_lsb_page_tbl_build ldrh r3, [r4, #14] strh r3, [r4, #30] @ movhi -.L4659: - ldr r3, .L4669+144 +.L4723: + ldr r3, .L4733+144 ldr r2, [r3] - ldr r3, .L4669+148 + ldr r3, .L4733+148 cmp r2, r3 - ldr r2, .L4669+152 - bne .L4660 - ldr r3, .L4669+156 + ldr r2, .L4733+152 + bne .L4724 + ldr r3, .L4733+156 ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 - bne .L4661 -.L4660: + bne .L4725 +.L4724: mov r3, #0 strb r3, [r2, #1102] strb r3, [r2] -.L4661: - ldr r1, .L4669+160 +.L4725: + ldr r1, .L4733+160 mov r0, #1 ldrh ip, [r4, #14] mov r3, #0 - str r3, [r6, #-180] + str r3, [r6, #-108] ldrb r1, [r1] @ zero_extendqisi2 strb r1, [r2, #1100] - ldr r1, .L4669+164 + ldr r1, .L4733+164 ldrb r1, [r1] @ zero_extendqisi2 strb r1, [r2, #1172] -.L4662: +.L4726: cmp r0, ip uxth r1, r3 add r3, r3, #1 movls r0, r0, asl #1 - bls .L4662 -.L4668: - ldr r3, .L4669+168 + bls .L4726 +.L4732: + ldr r3, .L4733+168 sub r1, r1, #1 - strh r1, [r3, #-4] @ movhi + strh r1, [r3, #-12] @ movhi mov r3, #0 cmp r5, r3 strb r3, [r2, #1135] - bne .L4658 + bne .L4722 bl FtlInit mov r5, r0 -.L4658: +.L4722: mov r1, r5 - ldr r0, .L4669+172 + ldr r0, .L4733+172 bl printk mov r0, r5 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L4670: +.L4734: .align 2 -.L4669: +.L4733: .word jiffies .word .LANCHOR3 .word zftl_deinit @@ -28203,8 +28737,8 @@ rk_ftl_init: .word gFlashSlcMode .word gNandFlashIDBEccBits .word gNandFlashEccBits - .word .LANCHOR3-3200 - .word .LC311 + .word .LANCHOR3-3120 + .word .LC314 .fnend .size rk_ftl_init, .-rk_ftl_init .align 2 @@ -28217,7 +28751,7 @@ zftl_write: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r9, r3 - ldr r3, .L4706 + ldr r3, .L4770 .pad #28 sub sp, sp, #28 mov r5, r0 @@ -28225,36 +28759,36 @@ zftl_write: mov r6, r2 ldr r3, [r3] tst r3, #4096 - beq .L4672 + beq .L4736 ldr r3, [r9] mov r1, r5 - ldr r0, .L4706+4 + ldr r0, .L4770+4 mov r2, r4 str r3, [sp] mov r3, r6 bl printk -.L4672: +.L4736: cmp r5, #0 - ldreq r3, .L4706+8 + ldreq r3, .L4770+8 moveq r5, #24576 ldreq r3, [r3, #1032] - beq .L4674 -.L4673: + beq .L4738 +.L4737: cmp r5, #3 - bhi .L4692 + bhi .L4756 mov r5, r5, asl #13 mov r3, #8192 -.L4674: +.L4738: cmp r6, r3 cmpls r4, r3 movcs fp, #1 movcc fp, #0 - bcs .L4692 + bcs .L4756 add r1, r4, r6 cmp r1, r3 - bhi .L4692 + bhi .L4756 add r4, r5, r4 - ldr r5, .L4706+8 + ldr r5, .L4770+8 mov r0, r4 ldrb r7, [r5, #2772] @ zero_extendqisi2 mov r1, r7 @@ -28271,25 +28805,25 @@ zftl_write: add r7, r7, #1 str fp, [sp, #12] str r3, [sp, #16] -.L4676: +.L4740: cmp r7, #0 - beq .L4704 + beq .L4768 ldrb r3, [r5, #2800] @ zero_extendqisi2 cmp r3, #0 - beq .L4677 - ldr r3, .L4706+8 + beq .L4741 + ldr r3, .L4770+8 ldrb r3, [r3, #2774] @ zero_extendqisi2 cmp r3, #2 - bhi .L4677 + bhi .L4741 bl ftl_write_commit -.L4677: +.L4741: mov r0, #0 bl buf_alloc subs fp, r0, #0 - bne .L4678 + bne .L4742 bl ftl_write_commit - b .L4676 -.L4678: + b .L4740 +.L4742: ldrb r3, [sp, #12] @ zero_extendqisi2 rsb r0, r10, r8 clz r0, r0 @@ -28302,9 +28836,9 @@ zftl_write: clz r1, r1 mov r1, r1, lsr #5 orrs r3, r1, r0 - beq .L4681 + beq .L4745 cmp r0, #0 - beq .L4682 + beq .L4746 mov r1, r2 mov r0, r4 str r2, [sp, #20] @@ -28316,17 +28850,17 @@ zftl_write: uxtb r2, r2 cmp r2, r6 strhib r6, [fp, #40] - bhi .L4681 - b .L4703 -.L4682: + bhi .L4745 + b .L4767 +.L4746: cmp r1, #0 - beq .L4681 + beq .L4745 smulbb r2, r8, r2 ldr r3, [sp, #16] rsb r2, r2, r3 -.L4703: +.L4767: strb r2, [fp, #40] -.L4681: +.L4745: ldrb r0, [fp, #41] @ zero_extendqisi2 sub r7, r7, #1 ldrb r2, [fp, #40] @ zero_extendqisi2 @@ -28346,61 +28880,61 @@ zftl_write: bl ftl_write_buf ldrb r3, [fp, #40] @ zero_extendqisi2 add r9, r9, r3, asl #9 - b .L4676 -.L4704: + b .L4740 +.L4768: bl ftl_write_commit mov r0, r7 mov r1, #1 bl zftl_do_gc ldr r3, [r5, #1092] - ldr r2, .L4706+8 + ldr r2, .L4770+8 ldrh r3, [r3, #124] cmp r3, #0 - bne .L4686 + bne .L4750 movw r3, #2788 movw r1, #2792 ldrh r3, [r2, r3] ldrh r2, [r2, r1] add r3, r3, r2 cmp r3, #11 - bgt .L4687 -.L4686: + bgt .L4751 +.L4750: mov r0, #0 mov r1, #1 bl zftl_do_gc -.L4687: - ldr r4, .L4706+12 -.L4688: - ldr r2, .L4706+16 +.L4751: + ldr r4, .L4770+12 +.L4752: + ldr r2, .L4770+16 ldrh r3, [r4] ldrh r2, [r2] add r3, r3, r2 cmp r3, #7 - bgt .L4705 + bgt .L4769 mov r1, #1 mov r0, #0 bl zftl_do_gc mov r0, #1 mov r1, r0 bl zftl_do_gc - b .L4688 -.L4705: + b .L4752 +.L4769: bl timer_get_time - ldr r3, .L4706+20 - str r0, [r3, #484] + ldr r3, .L4770+20 + str r0, [r3, #552] mov r0, #0 - b .L4675 -.L4692: + b .L4739 +.L4756: mvn r0, #0 -.L4675: +.L4739: add sp, sp, #28 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L4707: +.L4771: .align 2 -.L4706: +.L4770: .word .LANCHOR2 - .word .LC312 + .word .LC315 .word .LANCHOR0 .word .LANCHOR0+2788 .word .LANCHOR0+2792 @@ -28452,7 +28986,7 @@ zftl_discard: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r4, r1 - ldr r6, .L4762 + ldr r6, .L4826 .pad #36 sub sp, sp, #36 ldr r5, [r6, #1032] @@ -28460,27 +28994,27 @@ zftl_discard: cmpls r0, r5 movcs r2, #1 movcc r2, #0 - bcs .L4733 + bcs .L4797 add r3, r0, r1 cmp r3, r5 - bhi .L4733 - ldr r3, .L4762+4 + bhi .L4797 + ldr r3, .L4826+4 add r7, r0, #24576 - ldr fp, .L4762+8 + ldr fp, .L4826+8 ldr r0, [r3] - ldr r5, [fp, #516] + ldr r5, [fp, #584] mov r9, fp tst r0, #4096 str r3, [sp, #16] add r1, r1, r5 - str r1, [fp, #516] - beq .L4713 + str r1, [fp, #584] + beq .L4777 str r2, [sp] mov r3, r4 - ldr r0, .L4762+12 + ldr r0, .L4826+12 mov r2, r7 bl printk -.L4713: +.L4777: ldr r3, [r6, #2804] ldr r10, [r3, #8] add r2, r10, #1 @@ -28494,28 +29028,28 @@ zftl_discard: mls fp, r8, r0, r7 mov r5, r0 cmp fp, #0 - beq .L4714 + beq .L4778 rsb r8, fp, r8 cmp r8, r4 movcs r8, r4 bl lpa_hash_get_ppa cmn r0, #1 str r0, [sp, #24] - bne .L4715 + bne .L4779 mov r0, r5 add r1, sp, #24 mov r2, #0 bl pm_log2phys -.L4715: +.L4779: ldr r3, [sp, #24] cmn r3, #1 uxth r3, r8 str r3, [sp, #12] - beq .L4717 + beq .L4781 mov r0, #0 bl buf_alloc subs r3, r0, #0 - beq .L4717 + beq .L4781 ldr r0, [r3, #4] mov r1, #0 str r5, [r3, #20] @@ -28535,32 +29069,32 @@ zftl_discard: ldr r3, [r2, #76] add r3, r3, #1 str r3, [r2, #76] -.L4717: +.L4781: ldr r3, [sp, #12] add r5, r5, #1 rsb r4, r3, r4 -.L4714: +.L4778: cmp r4, #0 - beq .L4719 + beq .L4783 bl ftl_flush -.L4719: - ldr r8, .L4762 +.L4783: + ldr r8, .L4826 mvn r3, #0 - ldr fp, .L4762+16 + ldr fp, .L4826+16 str r3, [sp, #28] -.L4720: +.L4784: ldrb r3, [r6, #2772] @ zero_extendqisi2 cmp r4, r3 - bcc .L4761 + bcc .L4825 mov r0, r5 bl lpa_hash_get_ppa cmn r0, #1 str r0, [sp, #24] - beq .L4721 + beq .L4785 mov r0, #0 bl buf_alloc subs r3, r0, #0 - beq .L4723 + beq .L4787 ldrb r2, [r8, #2772] @ zero_extendqisi2 mov r1, #0 str r5, [r3, #20] @@ -28575,15 +29109,15 @@ zftl_discard: mov r0, r3 bl ftl_write_buf bl ftl_write_commit - b .L4760 -.L4721: + b .L4824 +.L4785: mov r0, r5 add r1, sp, #24 mov r2, #0 bl pm_log2phys ldr r3, [sp, #24] cmn r3, #1 - beq .L4723 + beq .L4787 add r1, sp, #28 mov r2, #1 mov r0, r5 @@ -28591,7 +29125,7 @@ zftl_discard: ldrb r3, [r8, #1189] @ zero_extendqisi2 ldrh r0, [fp] rsb r3, r3, #24 - ldrb r1, [r9, #-3202] @ zero_extendqisi2 + ldrb r1, [r9, #-3130] @ zero_extendqisi2 rsb r3, r0, r3 ldr r2, [sp, #24] mov r2, r2, lsr r0 @@ -28600,36 +29134,36 @@ zftl_discard: bl __aeabi_uidiv uxth r0, r0 bl ftl_vpn_decrement -.L4760: +.L4824: ldr r2, [r8, #2804] ldr r3, [r2, #76] add r3, r3, #1 str r3, [r2, #76] -.L4723: +.L4787: ldrb r3, [r6, #2772] @ zero_extendqisi2 add r5, r5, #1 rsb r4, r3, r4 - b .L4720 -.L4761: + b .L4784 +.L4825: cmp r4, #0 - beq .L4727 + beq .L4791 mov r0, r5 bl lpa_hash_get_ppa cmn r0, #1 str r0, [sp, #24] - bne .L4728 + bne .L4792 mov r0, r5 add r1, sp, #24 mov r2, #0 bl pm_log2phys -.L4728: +.L4792: ldr r3, [sp, #24] cmn r3, #1 - beq .L4727 + beq .L4791 mov r0, #0 bl buf_alloc subs r8, r0, #0 - beq .L4727 + beq .L4791 mov r3, #0 strb r3, [r8, #41] ldrb r3, [r6, #2772] @ zero_extendqisi2 @@ -28637,13 +29171,13 @@ zftl_discard: cmp r4, r3 strb r4, [r8, #40] str r10, [r8, #16] - bcc .L4730 - ldr r1, .L4762+20 - movw r2, #1477 - ldr r0, .L4762+24 + bcc .L4794 + ldr r1, .L4826+20 + movw r2, #1495 + ldr r0, .L4826+24 bl printk bl dump_stack -.L4730: +.L4794: mov r2, r4, asl #9 mov r1, #0 ldr r0, [r8, #4] @@ -28655,44 +29189,44 @@ zftl_discard: ldr r3, [r2, #76] add r3, r3, #1 str r3, [r2, #76] -.L4727: - ldr r1, [r9, #516] +.L4791: + ldr r1, [r9, #584] cmp r1, #8192 - bls .L4734 + bls .L4798 ldr r3, [sp, #16] ldr r3, [r3] tst r3, #4096 - beq .L4731 + beq .L4795 mov r3, #0 - ldr r0, .L4762+12 + ldr r0, .L4826+12 str r3, [sp] mov r2, r7 mov r3, r4 bl printk -.L4731: +.L4795: mov r4, #0 - str r4, [r9, #516] + str r4, [r9, #584] bl flt_sys_flush mov r3, #1 str r3, [r6, #2820] - b .L4734 -.L4733: + b .L4798 +.L4797: mvn r0, #0 - b .L4712 -.L4734: + b .L4776 +.L4798: mov r0, #0 -.L4712: +.L4776: add sp, sp, #36 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L4763: +.L4827: .align 2 -.L4762: +.L4826: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR3 - .word .LC313 - .word .LANCHOR3-3204 + .word .LC316 + .word .LANCHOR3-3132 .word .LANCHOR1+2764 .word .LC0 .fnend @@ -28707,47 +29241,47 @@ dump_pm_blk: stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} movw ip, #698 - ldr r4, .L4770 + ldr r4, .L4834 mov r2, #4 - ldr r0, .L4770+4 + ldr r0, .L4834+4 mov r6, #0 - ldr r5, .L4770+8 + ldr r5, .L4834+8 movw r7, #65535 ldr r3, [r4, #2804] add r1, r3, #704 ldrh r3, [r3, ip] bl rknand_print_hex ldr r1, [r4, #2804] - ldr r0, .L4770+12 + ldr r0, .L4834+12 mov r2, #2 add r1, r1, #416 - ldrh r3, [r5, #-224] + ldrh r3, [r5, #-152] bl rknand_print_hex -.L4765: - ldrh r2, [r5, #-224] +.L4829: + ldrh r2, [r5, #-152] uxth r3, r6 cmp r2, r3 - bls .L4769 + bls .L4833 add r3, r3, #208 ldr r2, [r4, #2804] mov r3, r3, asl #1 ldrh r0, [r2, r3] cmp r0, r7 - beq .L4766 + beq .L4830 mov r1, #0 bl ftl_sblk_dump -.L4766: +.L4830: add r6, r6, #1 - b .L4765 -.L4769: + b .L4829 +.L4833: ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L4771: +.L4835: .align 2 -.L4770: +.L4834: .word .LANCHOR0 - .word .LC265 + .word .LC268 .word .LANCHOR3 - .word .LC266 + .word .LC269 .fnend .size dump_pm_blk, .-dump_pm_blk .align 2 @@ -28760,35 +29294,35 @@ id_block_prog_msb_ff_data: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r4, r2 - ldr r5, .L4779 + ldr r5, .L4843 .pad #20 sub sp, sp, #20 ldrb r2, [r5, #1102] @ zero_extendqisi2 ldr r3, [r5, #1096] cmp r2, #0 ldrb r3, [r3, #19] @ zero_extendqisi2 - bne .L4772 + bne .L4836 sub r2, r3, #5 mov r8, r0 cmp r3, #68 cmpne r2, #2 mov r9, r1 - bls .L4774 + bls .L4838 sub r3, r3, #19 tst r3, #239 - bne .L4772 -.L4774: - ldr fp, .L4779 - ldr r6, .L4779+4 - ldr r7, .L4779+8 -.L4776: + bne .L4836 +.L4838: + ldr fp, .L4843 + ldr r6, .L4843+4 + ldr r7, .L4843+8 +.L4840: ldr r3, [r5, #1096] ldrh r3, [r3, #10] cmp r3, r4 - bls .L4772 + bls .L4836 mov ip, r4, asl #1 add r10, r4, r9 - ldr r0, .L4779+12 + ldr r0, .L4843+12 mov r1, r4 ldrh r3, [r7, ip] mov r2, r10 @@ -28798,14 +29332,14 @@ id_block_prog_msb_ff_data: ldr ip, [sp, #12] ldrh r2, [r7, ip] cmp r2, r3 - bne .L4772 + bne .L4836 mov r1, #255 mov r2, #16384 - ldr r0, [r6, #-200] + ldr r0, [r6, #-128] add r4, r4, #1 bl ftl_memset ldr r3, [fp, #1096] - ldr r2, [r6, #-200] + ldr r2, [r6, #-128] mov r0, r8 mov r1, r10 uxth r4, r4 @@ -28813,18 +29347,18 @@ id_block_prog_msb_ff_data: str r3, [sp] mov r3, r2 bl flash_prog_page - b .L4776 -.L4772: + b .L4840 +.L4836: add sp, sp, #20 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L4780: +.L4844: .align 2 -.L4779: +.L4843: .word .LANCHOR0 .word .LANCHOR3 - .word .LANCHOR3-2340 - .word .LC314 + .word .LANCHOR3-2268 + .word .LC317 .fnend .size id_block_prog_msb_ff_data, .-id_block_prog_msb_ff_data .align 2 @@ -28834,19 +29368,19 @@ write_idblock: .fnstart @ args = 0, pretend = 0, frame = 136 @ frame_needed = 0, uses_anonymous_args = 0 - ldr ip, .L4860 + ldr ip, .L4924 stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #156 sub sp, sp, #156 ldr r3, [ip, #1096] ldr r5, [r1] - ldr r8, .L4860+4 + ldr r8, .L4924+4 ldrb r4, [r3, #9] @ zero_extendqisi2 ldrh r9, [r3, #10] - ldr r3, .L4860+8 - ldr fp, .L4860+12 - ldr r10, .L4860+16 + ldr r3, .L4924+8 + ldr fp, .L4924+12 + ldr r10, .L4924+16 ldrh r6, [r3, #30] cmp r5, r8 cmpne r5, fp @@ -28862,9 +29396,9 @@ write_idblock: str r3, [sp, #44] ldrb r3, [ip, #1102] @ zero_extendqisi2 str r3, [sp, #68] - bne .L4858 + bne .L4922 cmp r0, #15 - bls .L4858 + bls .L4922 mov r7, r0 mov r0, #256000 str ip, [sp, #20] @@ -28873,29 +29407,29 @@ write_idblock: bl ftl_malloc subs r3, r0, #0 str r3, [sp, #24] - beq .L4858 - ldr r3, .L4860+20 + beq .L4922 + ldr r3, .L4924+20 ldr ip, [sp, #20] - ldrb r3, [r3, #504] @ zero_extendqisi2 + ldrb r3, [r3, #572] @ zero_extendqisi2 cmp r3, #0 - beq .L4857 + beq .L4921 ldrb r3, [ip] @ zero_extendqisi2 cmp r3, #0 ldrb r3, [ip, #1102] @ zero_extendqisi2 clzne r3, r3 movne r3, r3, lsr #5 - bne .L4857 + bne .L4921 cmp r3, #3 streq r3, [sp, #44] moveq r3, #2 - beq .L4857 + beq .L4921 cmp r3, #2 ldr r3, [sp, #44] moveq r3, #2 str r3, [sp, #44] movne r3, #0 moveq r3, #3 -.L4857: +.L4921: str r3, [sp, #20] ldr r3, [sp, #36] ldr r3, [r3] @@ -28907,17 +29441,17 @@ write_idblock: moveq r10, #0 andne r10, fp, #1 cmp r10, #0 - beq .L4788 + beq .L4852 ldr r0, [sp, #24] bl ftl_free -.L4858: +.L4922: mvn r0, #0 - b .L4783 -.L4788: + b .L4847 +.L4852: mov r0, r10 add r7, r7, #508 bl zftl_flash_exit_slc_mode - ldr r3, .L4860 + ldr r3, .L4924 mul r9, r9, r4 add r7, r7, #3 ldrb r2, [r3, #1102] @ zero_extendqisi2 @@ -28930,17 +29464,17 @@ write_idblock: movcc fp, #8 add r0, r0, fp bl __aeabi_uidiv - ldr ip, .L4860+24 + ldr ip, .L4924+24 movw r2, #63871 ldr r3, [sp, #36] str r0, [sp, #72] movw r0, #4094 add r3, r3, #254976 add r3, r3, #512 -.L4794: +.L4858: ldr r1, [r3, #-4]! cmp r1, #0 - bne .L4789 + bne .L4853 cmp r10, #0 streq ip, [r3, #512] sub r2, r2, #1 @@ -28951,21 +29485,21 @@ write_idblock: cmp r10, r0 movhi r10, #0 cmp r2, #4096 - bne .L4794 - b .L4793 -.L4789: - ldr r0, .L4860+28 + bne .L4858 + b .L4857 +.L4853: + ldr r0, .L4924+28 bl printk -.L4793: +.L4857: mul r3, r6, r4 - ldr r0, .L4860+32 + ldr r0, .L4924+32 mov r1, r5 mov r2, #4 - ldr r4, .L4860 + ldr r4, .L4924 str r3, [sp, #56] mov r3, #5 bl rknand_print_hex - ldr r0, .L4860+36 + ldr r0, .L4924+36 mov r1, fp mov r2, fp bl printk @@ -28974,11 +29508,11 @@ write_idblock: mov r3, #0 str r3, [sp, #40] str r3, [sp, #28] -.L4819: - ldr r3, .L4860+20 - ldrb r3, [r3, #504] @ zero_extendqisi2 +.L4883: + ldr r3, .L4924+20 + ldrb r3, [r3, #572] @ zero_extendqisi2 cmp r3, #0 - bne .L4795 + bne .L4859 ldr r3, [sp, #48] ldr r1, [sp, #72] ldr r2, [r3, #4] @@ -28987,25 +29521,25 @@ write_idblock: ldr r3, [sp, #28] cmp r3, #0 cmpne r1, #1 - bls .L4796 + bls .L4860 ldr r3, [sp, #48] ldr r3, [r3] add r3, r3, #1 cmp r2, r3 - bne .L4796 - b .L4797 -.L4795: + bne .L4860 + b .L4861 +.L4859: ldr r3, [r4, #1176] ldr r2, [sp, #28] add r3, r3, r2 ldrb r6, [r3, #32] @ zero_extendqisi2 cmp r6, #255 - beq .L4797 + beq .L4861 ldr r3, [sp, #56] mul r6, r3, r6 ldr r3, [sp, #20] cmp r3, #0 - beq .L4796 + beq .L4860 ldr r3, [sp, #20] and r5, r2, #1 cmp r3, #3 @@ -29014,12 +29548,12 @@ write_idblock: ldrneb r3, [sp, #44] @ zero_extendqisi2 strneb r3, [r4] strneb r3, [r4, #1102] - bne .L4796 + bne .L4860 mov r0, r5 bl zftl_flash_exit_slc_mode strb r5, [r4] strb r5, [r4, #1102] -.L4796: +.L4860: mov r2, #512 mov r1, #0 ldr r0, [sp, #24] @@ -29029,7 +29563,7 @@ write_idblock: mov r0, r6 ldrb r10, [r3, #9] @ zero_extendqisi2 ldrh r8, [r3, #10] - ldr r3, .L4860+8 + ldr r3, .L4924+8 mov r1, r10 mul r8, r8, r10 ldrh r5, [r3, #30] @@ -29043,13 +29577,13 @@ write_idblock: bl flash_erase_block cmp fp, r8 movls r0, #1 - bls .L4799 + bls .L4863 mov r0, r7 add r1, r6, r5 bl flash_erase_block mov r0, #2 -.L4799: - ldr r3, .L4860 +.L4863: + ldr r3, .L4924 ldr r2, [r3, #1096] ldrh r3, [r2, #10] ldrb r1, [r2, #12] @ zero_extendqisi2 @@ -29064,17 +29598,17 @@ write_idblock: str r1, [sp, #64] cmp r6, r3 str r3, [sp, #52] - bne .L4826 + bne .L4890 ldrb r3, [r4, #1028] @ zero_extendqisi2 cmp r3, #9 - bne .L4826 - ldr r3, .L4860+20 + bne .L4890 + ldr r3, .L4924+20 mov r1, #0 mov r2, #1024 - ldr r5, [r3, #-176] + ldr r5, [r3, #-104] mov r0, r5 bl ftl_memset - ldr r2, .L4860+40 + ldr r2, .L4924+40 mov r3, #12 stmia r5, {r2, r3} mov r3, #0 @@ -29105,17 +29639,17 @@ write_idblock: sub r3, fp, #4 str r0, [r5, #8] str r3, [sp, #32] - b .L4800 -.L4826: + b .L4864 +.L4890: mov r5, #0 str fp, [sp, #32] -.L4800: +.L4864: ldr r8, [sp, #36] mov r9, #0 -.L4803: +.L4867: ldr r3, [sp, #80] cmp r9, r3 - bcs .L4859 + bcs .L4923 ldr r3, [sp, #64] ldrb r2, [r4, #1102] @ zero_extendqisi2 add r7, r9, r3 @@ -29125,14 +29659,14 @@ write_idblock: mov r1, r0, asl #1 add r3, r4, r1 ldrh r3, [r3, #4] - beq .L4805 + beq .L4869 ldrb ip, [r4, #1] @ zero_extendqisi2 cmp ip, #0 moveq r3, r0 movne r3, r1 -.L4805: +.L4869: ldrb r1, [r4, #1028] @ zero_extendqisi2 - ldr r0, .L4860 + ldr r0, .L4924 cmp r1, #9 movw r1, #61424 str r1, [sp, #92] @@ -29144,19 +29678,19 @@ write_idblock: cmp r2, #0 str r3, [sp, #88] moveq r7, r0 - beq .L4809 + beq .L4873 ldrb r2, [r4, #1] @ zero_extendqisi2 cmp r2, #0 movne r7, r1 -.L4809: +.L4873: cmp r5, #0 mul r0, r10, r7 - bne .L4810 + bne .L4874 ldr r2, [sp, #52] str r8, [sp] add ip, r0, r2 ldr r2, [r8] - ldr r0, .L4860+44 + ldr r0, .L4924+44 mov r1, ip str ip, [sp, #84] stmib sp, {r2, r3} @@ -29172,7 +29706,7 @@ write_idblock: bl fw_flash_page_prog.constprop.30 ldrb r3, [r4, #1102] @ zero_extendqisi2 cmp r3, #0 - bne .L4811 + bne .L4875 mov r1, r10 ldr r0, [sp, #52] bl __aeabi_uidiv @@ -29181,31 +29715,31 @@ write_idblock: mov r1, r0 mov r0, r5 bl id_block_prog_msb_ff_data -.L4811: +.L4875: ldr r3, [sp, #32] add r8, r8, #2048 add r3, r3, #16 cmp r9, r3 - bcc .L4812 + bcc .L4876 ldr r3, [sp, #32] add r3, r3, #20 cmp r9, r3 ldrcc r3, [sp, #36] addcc r8, r3, #2048 - b .L4812 -.L4810: + b .L4876 +.L4874: ldr r3, [sp, #52] mov r1, r5 add r2, sp, #88 add r0, r0, r3 bl fw_flash_page_prog.constprop.30 -.L4812: +.L4876: add r9, r9, #4 mov r5, #0 uxth r9, r9 - b .L4803 -.L4859: - ldr r3, .L4860 + b .L4867 +.L4923: + ldr r3, .L4924 mov r0, r6 ldrb r2, [sp, #76] @ zero_extendqisi2 ldr r1, [sp, #32] @@ -29214,23 +29748,23 @@ write_idblock: bl id_block_read_data.constprop.31 ldr r3, [sp, #20] cmp r3, #0 - beq .L4814 + beq .L4878 mov r0, #0 bl zftl_flash_exit_slc_mode mov r3, #0 strb r3, [r4] strb r3, [r4, #1102] -.L4814: +.L4878: ldr r3, [sp, #32] mov r5, #0 mov r8, r3, asl #7 -.L4817: +.L4881: ldr r3, [sp, #24] ldr r2, [r3, r5, asl #2] ldr r3, [sp, #36] ldr r3, [r3, r5, asl #2] cmp r2, r3 - beq .L4815 + beq .L4879 mov r1, #0 mov r2, #512 ldr r0, [sp, #24] @@ -29239,19 +29773,19 @@ write_idblock: mov r1, r6 bl flash_erase_block cmp r5, r8 - bcs .L4816 - b .L4797 -.L4815: + bcs .L4880 + b .L4861 +.L4879: add r5, r5, #1 cmp r5, r8 - bne .L4817 -.L4816: + bne .L4881 +.L4880: ldr r3, [sp, #40] add r3, r3, #1 str r3, [sp, #40] cmp r3, #5 - bhi .L4818 -.L4797: + bhi .L4882 +.L4861: ldr r3, [sp, #28] add r3, r3, #1 str r3, [sp, #28] @@ -29260,11 +29794,11 @@ write_idblock: str r3, [sp, #48] ldr r3, [sp, #28] cmp r3, #4 - bne .L4819 -.L4818: + bne .L4883 +.L4882: mov r0, #0 bl zftl_flash_exit_slc_mode - ldr r3, .L4860 + ldr r3, .L4924 mov r0, #0 ldrb r2, [sp, #60] @ zero_extendqisi2 strb r2, [r3] @@ -29281,13 +29815,13 @@ write_idblock: clz r0, r3 mov r0, r0, lsr #5 rsb r0, r0, #0 -.L4783: +.L4847: add sp, sp, #156 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L4861: +.L4925: .align 2 -.L4860: +.L4924: .word .LANCHOR0 .word 1397640018 .word .LANCHOR2 @@ -29295,11 +29829,11 @@ write_idblock: .word 1397967698 .word .LANCHOR3 .word 1314014539 - .word .LC315 - .word .LC316 - .word .LC317 - .word 1179535694 .word .LC318 + .word .LC319 + .word .LC320 + .word 1179535694 + .word .LC321 .fnend .size write_idblock, .-write_idblock .align 2 @@ -29317,47 +29851,47 @@ write_loader_lba: sub sp, sp, #52 mov r6, r1 mov r8, r2 - ldr r5, .L4888 - bne .L4863 + ldr r5, .L4952 + bne .L4927 ldr r3, [r2] - ldr r1, .L4888+4 - ldr r2, .L4888+8 + ldr r1, .L4952+4 + ldr r2, .L4952+8 cmp r3, r1 cmpne r3, r2 - ldr r1, .L4888+12 + ldr r1, .L4952+12 moveq r2, #1 movne r2, #0 cmp r3, r1 movne r3, r2 orreq r3, r2, #1 cmp r3, #0 - beq .L4863 + beq .L4927 mov r0, #256000 mov r3, #1 - strb r3, [r5, #520] + strb r3, [r5, #588] bl ftl_malloc mov r1, #0 mov r2, #256000 - str r0, [r5, #524] + str r0, [r5, #592] bl ftl_memset - str r4, [r5, #528] -.L4863: + str r4, [r5, #596] +.L4927: str r6, [sp] mov r3, r4 - ldr r0, .L4888+16 - ldr r1, [r5, #524] + ldr r0, .L4952+16 + ldr r1, [r5, #592] ldr r2, [r8] bl printk - ldrb r3, [r5, #520] @ zero_extendqisi2 - ldr r9, .L4888 + ldrb r3, [r5, #588] @ zero_extendqisi2 + ldr r9, .L4952 cmp r3, #0 - beq .L4862 - ldr r7, [r9, #524] + beq .L4926 + ldr r7, [r9, #592] cmp r7, #0 - beq .L4862 + beq .L4926 sub r0, r4, #64 cmp r0, #500 - bcs .L4865 + bcs .L4929 rsb r2, r4, #564 add r0, r7, r0, asl #9 cmp r2, r6 @@ -29365,34 +29899,34 @@ write_loader_lba: movcs r2, r6 mov r2, r2, asl #9 bl ftl_memcpy - b .L4866 -.L4865: + b .L4930 +.L4929: cmp r4, #564 - bcs .L4874 -.L4866: - ldr r3, [r5, #528] - ldr r8, .L4888 + bcs .L4938 +.L4930: + ldr r3, [r5, #596] + ldr r8, .L4952 cmp r3, r4 - beq .L4872 + beq .L4936 mov r0, r7 mov r9, #0 - strb r9, [r8, #520] + strb r9, [r8, #588] bl ftl_free - str r9, [r8, #524] -.L4872: + str r9, [r8, #592] +.L4936: add r4, r4, r6 - str r4, [r5, #528] - b .L4862 -.L4874: - ldr r3, .L4888+20 - ldr r0, [r9, #528] + str r4, [r5, #596] + b .L4926 +.L4938: + ldr r3, .L4952+20 + ldr r0, [r9, #596] ldr r3, [r3, #1096] sub r0, r0, #64 cmp r0, #500 ldrb r3, [r3, #9] @ zero_extendqisi2 movcs r0, #500 cmp r3, #4 - beq .L4875 + beq .L4939 mov r3, #2 str r3, [sp, #8] mov r3, #3 @@ -29403,10 +29937,10 @@ write_loader_lba: str r3, [sp, #20] mov r3, #6 str r3, [sp, #24] - b .L4868 -.L4875: + b .L4932 +.L4939: mov r3, #0 -.L4867: +.L4931: cmp r0, #256 add r1, sp, #8 mov r2, r3, asl #1 @@ -29414,42 +29948,42 @@ write_loader_lba: str r2, [r1, r3, asl #2] add r3, r3, #1 cmp r3, #5 - bne .L4867 -.L4868: + bne .L4931 +.L4932: mov r3, #61952 -.L4871: +.L4935: ldr r2, [r7, r3, asl #2] cmp r2, #0 addne r3, r3, #2048 movne r0, r3, asl #2 - bne .L4870 -.L4869: + bne .L4934 +.L4933: sub r3, r3, #1 cmp r3, #4096 - bne .L4871 + bne .L4935 mov r0, r0, asl #9 -.L4870: +.L4934: mov r1, r7 add r2, sp, #8 bl write_idblock - ldr r0, [r5, #524] + ldr r0, [r5, #592] mov r7, #0 - strb r7, [r5, #520] + strb r7, [r5, #588] bl ftl_free - str r7, [r5, #524] - b .L4872 -.L4862: + str r7, [r5, #592] + b .L4936 +.L4926: add sp, sp, #52 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc} -.L4889: +.L4953: .align 2 -.L4888: +.L4952: .word .LANCHOR3 .word -52655045 .word 1397640018 .word 1397967698 - .word .LC319 + .word .LC322 .word .LANCHOR0 .fnend .size write_loader_lba, .-write_loader_lba @@ -29473,24 +30007,24 @@ FtlWrite: cmp r0, #0 movne r2, #0 cmp r2, #0 - beq .L4891 + beq .L4955 mov r0, r1 mov r2, r3 mov r1, r6 bl write_loader_lba -.L4891: - ldr r3, .L4896 +.L4955: + ldr r3, .L4960 mov r0, r7 mov r1, r4 mov r2, r6 - ldr r3, [r3, #-208] + ldr r3, [r3, #-136] ldr ip, [r3, #24] mov r3, r5 ldmfd sp!, {r4, r5, r6, r7, r8, lr} bx ip -.L4897: +.L4961: .align 2 -.L4896: +.L4960: .word .LANCHOR3 .fnend .size FtlWrite, .-FtlWrite @@ -29501,7 +30035,7 @@ rknand_sys_storage_ioctl: .fnstart @ args = 0, pretend = 0, frame = 520 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L4955 + ldr r3, .L5019 stmfd sp!, {r4, r5, r6, r7, lr} .save {r4, r5, r6, r7, lr} cmp r1, r3 @@ -29509,136 +30043,136 @@ rknand_sys_storage_ioctl: sub sp, sp, #524 mov r4, r1 mov r5, r2 - beq .L4900 - bhi .L4901 + beq .L4964 + bhi .L4965 sub r3, r3, #2080 sub r3, r3, #6 cmp r1, r3 - beq .L4902 - bhi .L4903 + beq .L4966 + bhi .L4967 sub r3, r3, #238 cmp r1, r3 - beq .L4904 + beq .L4968 add r3, r3, #237 cmp r1, r3 - beq .L4905 - b .L4935 -.L4903: - ldr r3, .L4955+4 + beq .L4969 + b .L4999 +.L4967: + ldr r3, .L5019+4 cmp r1, r3 - beq .L4906 + beq .L4970 add r3, r3, #1 cmp r1, r3 - beq .L4907 + beq .L4971 sub r3, r3, #124 cmp r1, r3 - bne .L4935 - b .L4953 -.L4901: - ldr r3, .L4955+8 + bne .L4999 + b .L5017 +.L4965: + ldr r3, .L5019+8 cmp r1, r3 mov r6, r3 - beq .L4909 - bhi .L4910 + beq .L4973 + bhi .L4974 sub r3, r3, #2512 sub r3, r3, #14 cmp r1, r3 - beq .L4900 + beq .L4964 add r3, r3, #10 cmp r1, r3 - beq .L4900 - b .L4935 -.L4910: - ldr r3, .L4955+12 + beq .L4964 + b .L4999 +.L4974: + ldr r3, .L5019+12 cmp r1, r3 - beq .L4909 - bcc .L4911 + beq .L4973 + bcc .L4975 add r3, r3, #1 cmp r1, r3 - beq .L4911 - b .L4935 -.L4905: - ldr r0, .L4955+16 + beq .L4975 + b .L4999 +.L4969: + ldr r0, .L5019+16 bl printk mov r1, r5 mov r2, #520 mov r0, sp bl rk_copy_from_user cmp r0, #0 - beq .L4912 -.L4918: - ldr r0, .L4955+20 + beq .L4976 +.L4982: + ldr r0, .L5019+20 bl printk - b .L4950 -.L4912: + b .L5014 +.L4976: ldr r2, [sp] - ldr r3, .L4955+24 + ldr r3, .L5019+24 cmp r2, r3 - beq .L4913 -.L4915: + beq .L4977 +.L4979: mvn r4, #0 - b .L4914 -.L4913: + b .L4978 +.L4977: ldr r3, [sp, #4] cmp r3, #512 - bhi .L4915 - ldr r4, .L4955+28 + bhi .L4979 + ldr r4, .L5019+28 mov r2, #512 mov r0, sp - ldr r1, [r4, #532] + ldr r1, [r4, #600] bl memcpy - ldr r2, [r4, #536] - ldr r3, .L4955+32 + ldr r2, [r4, #604] + ldr r3, .L5019+32 cmp r2, r3 - beq .L4916 + beq .L4980 mov r1, #0 add r0, sp, #64 mov r2, #128 str r1, [sp, #8] str r1, [sp, #12] bl memset -.L4916: +.L4980: mov r1, #0 add r0, sp, #256 mov r2, #256 str r1, [sp, #16] bl memset -.L4945: +.L5009: mov r0, r5 mov r1, sp mov r2, #520 bl rk_copy_to_user cmp r0, #0 - bne .L4950 - b .L4949 -.L4902: - ldr r0, .L4955+36 + bne .L5014 + b .L5013 +.L4966: + ldr r0, .L5019+36 bl printk mov r1, r5 mov r2, #520 mov r0, sp bl rk_copy_from_user cmp r0, #0 - bne .L4918 + bne .L4982 ldr r2, [sp] - ldr r3, .L4955+24 + ldr r3, .L5019+24 cmp r2, r3 - bne .L4915 + bne .L4979 ldr r3, [sp, #4] cmp r3, #512 - bhi .L4915 - ldr r2, .L4955+28 - ldr r3, .L4955+32 - ldr r1, [r2, #536] + bhi .L4979 + ldr r2, .L5019+28 + ldr r3, .L5019+32 + ldr r1, [r2, #604] cmp r1, r3 mvnne r0, #1 - bne .L4899 + bne .L4963 ldr r3, [sp, #12] sub r1, r3, #1 cmp r1, #127 mvnhi r0, #2 - bhi .L4899 - ldr r4, [r2, #532] + bhi .L4963 + ldr r4, [r2, #600] add r1, sp, #64 add r0, r4, #64 str r3, [r4, #12] @@ -29646,60 +30180,60 @@ rknand_sys_storage_ioctl: bl memcpy mov r0, #1 mov r1, r4 - b .L4948 -.L4907: - ldr r0, .L4955+40 + b .L5012 +.L4971: + ldr r0, .L5019+40 bl printk mov r1, r5 mov r2, #520 mov r0, sp bl rk_copy_from_user cmp r0, #0 - bne .L4918 + bne .L4982 ldr r2, [sp] - ldr r3, .L4955+44 + ldr r3, .L5019+44 cmp r2, r3 - bne .L4915 + bne .L4979 ldr r3, [sp, #4] cmp r3, #512 - bhi .L4915 - ldr r5, .L4955+28 - ldr r3, [r5, #540] + bhi .L4979 + ldr r5, .L5019+28 + ldr r3, [r5, #608] cmp r3, #0 - bne .L4919 -.L4922: + bne .L4983 +.L4986: mov r0, #0 - b .L4899 -.L4919: - ldr r3, [r5, #544] - ldr r2, .L4955+48 + b .L4963 +.L4983: + ldr r3, [r5, #612] + ldr r2, .L5019+48 ldr r1, [r3] cmp r1, r2 - beq .L4920 + beq .L4984 str r2, [r3] mov r2, #504 - ldr r3, .L4955+28 - ldr r3, [r3, #544] + ldr r3, .L5019+28 + ldr r3, [r3, #612] str r2, [r3, #4] mov r2, #0 str r2, [r3, #8] str r2, [r3, #12] -.L4920: - ldr r1, [r5, #544] +.L4984: + ldr r1, [r5, #612] mov r4, #0 mov r0, r4 str r4, [r1, #16] bl StorageSysDataStore - ldr r3, [r5, #532] - ldr r2, .L4955+24 + ldr r3, [r5, #600] + ldr r2, .L5019+24 ldr r1, [r3] cmp r1, r2 strne r2, [r3] - ldr r6, [r5, #532] - ldrne r3, .L4955+28 + ldr r6, [r5, #600] + ldrne r3, .L5019+28 movne r2, #504 add r0, r6, #64 - ldrne r3, [r3, #532] + ldrne r3, [r3, #600] stmneib r3, {r2, r4} mov r4, #0 mov r1, r4 @@ -29709,59 +30243,59 @@ rknand_sys_storage_ioctl: mov r0, #1 mov r1, r6 bl StorageSysDataStore - str r4, [r5, #540] - str r4, [r5, #536] - b .L4914 -.L4906: - ldr r0, .L4955+52 + str r4, [r5, #608] + str r4, [r5, #604] + b .L4978 +.L4970: + ldr r0, .L5019+52 bl printk mov r1, r5 mov r2, #520 mov r0, sp bl rk_copy_from_user cmp r0, #0 - bne .L4918 + bne .L4982 ldr r2, [sp] - ldr r3, .L4955+56 + ldr r3, .L5019+56 cmp r2, r3 - bne .L4915 + bne .L4979 ldr r3, [sp, #4] cmp r3, #512 - bhi .L4915 - ldr r5, .L4955+28 - ldr r3, [r5, #540] + bhi .L4979 + ldr r5, .L5019+28 + ldr r3, [r5, #608] cmp r3, #1 - beq .L4922 - ldr r2, [r5, #544] - ldr r3, .L4955+48 + beq .L4986 + ldr r2, [r5, #612] + ldr r3, .L5019+48 ldr r1, [r2] cmp r1, r3 - beq .L4923 + beq .L4987 str r3, [r2] mov r2, #504 - ldr r3, [r5, #544] + ldr r3, [r5, #612] str r2, [r3, #4] mov r2, #0 str r2, [r3, #8] str r2, [r3, #12] -.L4923: - ldr r1, [r5, #544] +.L4987: + ldr r1, [r5, #612] mov r3, #1 mov r0, #0 mov r4, #0 str r3, [r1, #16] bl StorageSysDataStore - ldr r3, [r5, #532] - ldr r2, .L4955+24 + ldr r3, [r5, #600] + ldr r2, .L5019+24 ldr r1, [r3] cmp r1, r2 strne r2, [r3] - ldr r6, [r5, #532] - ldrne r3, .L4955+28 + ldr r6, [r5, #600] + ldrne r3, .L5019+28 movne r1, #504 movne r2, #0 add r0, r6, #64 - ldrne r3, [r3, #532] + ldrne r3, [r3, #600] stmneib r3, {r1, r2} mov r1, r4 mov r2, #128 @@ -29771,54 +30305,54 @@ rknand_sys_storage_ioctl: mov r1, r6 bl StorageSysDataStore mov r3, #1 - str r3, [r5, #540] - b .L4914 -.L4953: - ldr r0, .L4955+60 + str r3, [r5, #608] + b .L4978 +.L5017: + ldr r0, .L5019+60 bl printk mov r1, r5 mov r2, #520 mov r0, sp bl rk_copy_from_user cmp r0, #0 - bne .L4918 + bne .L4982 ldr r2, [sp] - ldr r3, .L4955+64 + ldr r3, .L5019+64 cmp r2, r3 - bne .L4915 + bne .L4979 ldr r2, [sp, #4] cmp r2, #512 addls r0, sp, #8 - ldrls r1, .L4955+68 - bls .L4951 - b .L4915 -.L4900: - ldr r0, .L4955+72 + ldrls r1, .L5019+68 + bls .L5015 + b .L4979 +.L4964: + ldr r0, .L5019+72 cmp r4, r0 mov r7, r0 - ldreq r0, .L4955+76 - beq .L4947 - ldr r3, .L4955+80 + ldreq r0, .L5019+76 + beq .L5011 + ldr r3, .L5019+80 cmp r4, r3 - ldreq r0, .L4955+84 - ldrne r0, .L4955+88 -.L4947: + ldreq r0, .L5019+84 + ldrne r0, .L5019+88 +.L5011: bl printk mov r1, r5 mov r2, #520 mov r0, sp bl rk_copy_from_user cmp r0, #0 - bne .L4918 + bne .L4982 ldr r2, [sp] - ldr r3, .L4955+92 + ldr r3, .L5019+92 cmp r2, r3 - bne .L4950 - ldr r3, .L4955+80 - ldr r6, .L4955+28 + bne .L5014 + ldr r3, .L5019+80 + ldr r6, .L5019+28 cmp r4, r3 - bne .L4929 - ldr r3, [r6, #532] + bne .L4993 + ldr r3, [r6, #600] mov r0, r5 mov r1, sp mov r2, #16 @@ -29827,32 +30361,32 @@ rknand_sys_storage_ioctl: strb r3, [sp, #8] bl rk_copy_to_user cmp r0, #0 - beq .L4899 - b .L4950 -.L4929: - ldr r3, [r6, #1060] + beq .L4963 + b .L5014 +.L4993: + ldr r3, [r6, #1128] cmp r3, #10 - bhi .L4950 - ldr r1, [r6, #532] + bhi .L5014 + ldr r1, [r6, #600] ldr r2, [sp, #4] ldr r3, [r1, #24] cmp r3, r2 cmpne r3, #0 movne r3, #1 moveq r3, #0 - beq .L4930 - ldr r0, .L4955+96 + beq .L4994 + ldr r0, .L5019+96 mov r1, r2 bl printk - ldr r3, [r6, #1060] + ldr r3, [r6, #1128] add r3, r3, #1 - str r3, [r6, #1060] -.L4950: + str r3, [r6, #1128] +.L5014: mvn r0, #13 - b .L4899 -.L4930: + b .L4963 +.L4994: cmp r4, r7 - str r3, [r6, #1060] + str r3, [r6, #1128] mov r0, #1 moveq r2, r3 movne r3, #1 @@ -29861,122 +30395,122 @@ rknand_sys_storage_ioctl: str r3, [r1, #20] bl StorageSysDataStore cmn r0, #1 - bne .L4949 - b .L4954 -.L4909: - ldr r0, .L4955+100 + bne .L5013 + b .L5018 +.L4973: + ldr r0, .L5019+100 bl printk mov r1, r5 mov r2, #520 mov r0, sp bl rk_copy_from_user cmp r0, #0 - bne .L4918 + bne .L4982 ldr r2, [sp] - ldr r3, .L4955+104 + ldr r3, .L5019+104 cmp r2, r3 - bne .L4915 + bne .L4979 ldr r2, [sp, #4] cmp r2, #504 - bhi .L4915 - ldr r3, .L4955+28 + bhi .L4979 + ldr r3, .L5019+28 cmp r4, r6 add r0, sp, #8 - ldreq r1, [r3, #1064] - ldrne r1, [r3, #1068] + ldreq r1, [r3, #1132] + ldrne r1, [r3, #1136] add r1, r1, #8 -.L4951: +.L5015: bl memcpy - b .L4945 -.L4911: - ldr r0, .L4955+108 + b .L5009 +.L4975: + ldr r0, .L5019+108 bl printk mov r1, r5 mov r2, #520 mov r0, sp bl rk_copy_from_user cmp r0, #0 - bne .L4918 + bne .L4982 ldr r2, [sp] - ldr r3, .L4955+104 + ldr r3, .L5019+104 cmp r2, r3 - bne .L4915 + bne .L4979 ldr r2, [sp, #4] cmp r2, #504 - bhi .L4915 - ldr r3, .L4955+112 + bhi .L4979 + ldr r3, .L5019+112 add r2, r2, #8 cmp r4, r3 - ldr r4, .L4955+28 - bne .L4934 + ldr r4, .L5019+28 + bne .L4998 mov r1, sp - ldr r0, [r4, #1064] + ldr r0, [r4, #1132] bl memcpy mov r0, #2 - ldr r1, [r4, #1064] - b .L4948 -.L4934: + ldr r1, [r4, #1132] + b .L5012 +.L4998: mov r1, sp - ldr r0, [r4, #1068] + ldr r0, [r4, #1136] bl memcpy - ldr r1, [r4, #1068] + ldr r1, [r4, #1136] mov r0, #3 -.L4948: +.L5012: bl StorageSysDataStore mov r4, r0 - b .L4914 -.L4904: + b .L4978 +.L4968: bl rknand_dev_flush -.L4949: +.L5013: mov r4, #0 - b .L4914 -.L4954: + b .L4978 +.L5018: mvn r4, #1 -.L4914: - ldr r0, .L4955+116 +.L4978: + ldr r0, .L5019+116 mov r1, r4 bl printk mov r0, r4 - b .L4899 -.L4935: + b .L4963 +.L4999: mvn r0, #21 -.L4899: +.L4963: add sp, sp, #524 @ sp needed ldmfd sp!, {r4, r5, r6, r7, pc} -.L4956: +.L5020: .align 2 -.L4955: +.L5019: .word 1074031656 .word 1074029694 .word 1074034192 .word 1074034194 - .word .LC320 - .word .LC321 + .word .LC323 + .word .LC324 .word 1263358532 .word .LANCHOR3 .word -1067903959 - .word .LC322 - .word .LC323 + .word .LC325 + .word .LC326 .word 1112753220 .word 1146313043 - .word .LC324 - .word 1112755781 - .word .LC325 - .word 1094995539 - .word .LANCHOR3+548 - .word 1074031666 - .word .LC326 - .word 1074031676 .word .LC327 + .word 1112755781 .word .LC328 - .word 1280262987 + .word 1094995539 + .word .LANCHOR3+616 + .word 1074031666 .word .LC329 + .word 1074031676 .word .LC330 - .word 1145980246 .word .LC331 - .word 1074034193 + .word 1280262987 .word .LC332 + .word .LC333 + .word 1145980246 + .word .LC334 + .word 1074034193 + .word .LC335 .fnend .size rknand_sys_storage_ioctl, .-rknand_sys_storage_ioctl .align 2 @@ -29989,59 +30523,59 @@ rk_ftl_storage_sys_init: stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mvn r3, #0 - ldr r4, .L4966 + ldr r4, .L5030 mov r2, #512 mov r5, #0 - add r0, r4, #548 - ldr r1, [r4, #508] - str r3, [r4, #528] + add r0, r4, #616 + ldr r1, [r4, #576] + str r3, [r4, #596] add r3, r1, #512 - str r3, [r4, #532] - str r1, [r4, #544] + str r3, [r4, #600] + str r1, [r4, #612] add r3, r1, #1024 add r1, r1, #1536 - str r3, [r4, #1064] - strb r5, [r4, #520] - str r5, [r4, #524] - str r5, [r4, #1072] - str r1, [r4, #1068] + str r3, [r4, #1132] + strb r5, [r4, #588] + str r5, [r4, #592] + str r5, [r4, #1140] + str r1, [r4, #1136] bl ftl_memcpy - ldr r0, [r4, #544] - str r5, [r4, #536] - str r5, [r4, #1060] + ldr r0, [r4, #612] + str r5, [r4, #604] + str r5, [r4, #1128] ldr r6, [r0, #508] ldr r3, [r0, #16] cmp r6, r5 - str r3, [r4, #540] - beq .L4959 + str r3, [r4, #608] + beq .L5023 mov r1, #508 bl js_hash cmp r6, r0 - beq .L4959 - ldr r3, [r4, #544] - ldr r0, .L4966+4 - str r5, [r4, #540] + beq .L5023 + ldr r3, [r4, #612] + ldr r0, .L5030+4 + str r5, [r4, #608] str r5, [r3, #16] bl printk -.L4959: - ldr r3, [r4, #540] +.L5023: + ldr r3, [r4, #608] mov r0, #2 - ldr r1, [r4, #1064] + ldr r1, [r4, #1132] cmp r3, #0 - ldrne r2, .L4966+8 - ldrne r3, .L4966 - strne r2, [r3, #536] + ldrne r2, .L5030+8 + ldrne r3, .L5030 + strne r2, [r3, #604] bl StorageSysDataLoad - ldr r1, [r4, #1068] + ldr r1, [r4, #1136] mov r0, #3 bl StorageSysDataLoad ldmfd sp!, {r4, r5, r6, lr} b rknand_sys_storage_init -.L4967: +.L5031: .align 2 -.L4966: +.L5030: .word .LANCHOR3 - .word .LC333 + .word .LC336 .word -1067903959 .fnend .size rk_ftl_storage_sys_init, .-rk_ftl_storage_sys_init @@ -30068,33 +30602,33 @@ rk_ftl_vendor_storage_init: .save {r4, r5, r6, r7, r8, r9, r10, lr} mov r0, #65536 bl ftl_malloc - ldr r6, .L4980 + ldr r6, .L5044 cmp r0, #0 - str r0, [r6, #1076] - beq .L4975 - ldr r9, .L4980+4 + str r0, [r6, #1144] + beq .L5039 + ldr r9, .L5044+4 mov r8, #0 mov r4, r8 mov r7, r8 mov r10, r6 -.L4973: +.L5037: mov r0, r7, asl #7 mov r1, #128 - ldr r2, [r6, #1076] + ldr r2, [r6, #1144] bl FlashBootVendorRead cmp r0, #0 - bne .L4971 - ldr r3, [r10, #1076] - ldr r0, .L4980+8 + bne .L5035 + ldr r3, [r10, #1144] + ldr r0, .L5044+8 add r2, r3, #61440 ldr r1, [r3] ldr r2, [r2, #4092] ldr r3, [r3, #4] bl printk - ldr r5, [r10, #1076] + ldr r5, [r10, #1144] ldr r3, [r5] cmp r3, r9 - bne .L4972 + bne .L5036 add r2, r5, #61440 ldr r3, [r5, #4] ldr r1, [r2, #4092] @@ -30106,51 +30640,51 @@ rk_ftl_vendor_storage_init: cmp r2, #0 movne r8, r7 movne r4, r3 -.L4972: +.L5036: cmp r7, #1 movne r7, #1 - bne .L4973 -.L4979: + bne .L5037 +.L5043: cmp r4, #0 - beq .L4974 + beq .L5038 mov r0, r8, asl #7 mov r1, #128 mov r2, r5 bl FlashBootVendorRead cmp r0, #0 - bne .L4971 + bne .L5035 ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc} -.L4974: +.L5038: mov r0, r5 mov r1, r4 mov r2, #65536 bl memset - ldr r3, .L4980+4 + ldr r3, .L5044+4 str r7, [r5, #4] mov r0, r4 str r3, [r5] add r3, r5, #61440 str r7, [r3, #4092] - ldr r3, .L4980+12 + ldr r3, .L5044+12 strh r4, [r5, #12] @ movhi strh r3, [r5, #14] @ movhi ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc} -.L4971: - ldr r0, [r6, #1076] +.L5035: + ldr r0, [r6, #1144] bl kfree mov r3, #0 mvn r0, #0 - str r3, [r6, #1076] + str r3, [r6, #1144] ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc} -.L4975: +.L5039: mvn r0, #11 ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc} -.L4981: +.L5045: .align 2 -.L4980: +.L5044: .word .LANCHOR3 .word 1380668996 - .word .LC334 + .word .LC337 .word -1032 .fnend .size rk_ftl_vendor_storage_init, .-rk_ftl_vendor_storage_init @@ -30163,19 +30697,19 @@ rk_ftl_vendor_read: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} - ldr r3, .L4989 - ldr ip, [r3, #1076] + ldr r3, .L5053 + ldr ip, [r3, #1144] cmp ip, #0 ldrneh r4, [ip, #10] movne r3, #0 - beq .L4987 -.L4984: + beq .L5051 +.L5048: cmp r3, r4 - bcs .L4987 + bcs .L5051 add lr, ip, r3, asl #3 ldrh r5, [lr, #16] cmp r5, r0 - bne .L4985 + bne .L5049 ldrh r3, [lr, #20] mov r0, r1 ldrh r1, [lr, #18] @@ -30188,15 +30722,15 @@ rk_ftl_vendor_read: bl memcpy mov r0, r4 ldmfd sp!, {r3, r4, r5, pc} -.L4985: +.L5049: add r3, r3, #1 - b .L4984 -.L4987: + b .L5048 +.L5051: mvn r0, #0 ldmfd sp!, {r3, r4, r5, pc} -.L4990: +.L5054: .align 2 -.L4989: +.L5053: .word .LANCHOR3 .fnend .size rk_ftl_vendor_read, .-rk_ftl_vendor_read @@ -30210,12 +30744,12 @@ rk_ftl_vendor_write: stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r9, r2 - ldr r2, .L5014 + ldr r2, .L5078 .pad #28 sub sp, sp, #28 - ldr r4, [r2, #1076] + ldr r4, [r2, #1144] cmp r4, #0 - beq .L5006 + beq .L5070 mov r3, r1 add r7, r9, #63 ldrh r1, [r4, #8] @@ -30224,31 +30758,31 @@ rk_ftl_vendor_write: mov ip, r0 mov r6, #0 str r1, [sp, #4] -.L4993: +.L5057: cmp r6, r2 - bcs .L5012 + bcs .L5076 add r5, r4, r6, asl #3 ldrh r1, [r5, #16] cmp r1, ip - bne .L4994 + bne .L5058 ldrh r1, [r5, #20] add fp, r4, #1024 add r1, r1, #63 bic r1, r1, #63 str r1, [sp, #8] cmp r9, r1 - bls .L4995 + bls .L5059 ldrh r1, [r4, #14] cmp r1, r7 subcs r2, r2, #1 strcs r2, [sp, #12] ldrcsh r8, [r5, #18] - bcc .L5006 -.L4996: + bcc .L5070 +.L5060: ldr r2, [sp, #12] add r5, r5, #8 cmp r6, r2 - bcs .L5013 + bcs .L5077 ldrh r10, [r5, #20] add r0, fp, r8 ldrh r2, [r5, #16] @@ -30267,8 +30801,8 @@ rk_ftl_vendor_write: add r8, r8, r10 ldr r3, [sp, #20] ldr ip, [sp, #16] - b .L4996 -.L5013: + b .L5060 +.L5077: add r6, r4, r6, asl #3 uxth r8, r8 add r0, fp, r8 @@ -30286,22 +30820,22 @@ rk_ftl_vendor_write: add r5, r3, r5 rsb r7, r7, r5 strh r7, [r4, #14] @ movhi - b .L5011 -.L4995: + b .L5075 +.L5059: ldrh r0, [r5, #18] mov r1, r3 mov r2, r9 add r0, fp, r0 bl memcpy strh r9, [r5, #20] @ movhi - b .L5011 -.L4994: + b .L5075 +.L5058: add r6, r6, #1 - b .L4993 -.L5012: + b .L5057 +.L5076: ldrh r1, [r4, #14] cmp r1, r7 - bcc .L5006 + bcc .L5070 add r2, r4, r2, asl #3 uxth r7, r7 rsb r1, r7, r1 @@ -30321,7 +30855,7 @@ rk_ftl_vendor_write: ldrh r3, [r4, #10] add r3, r3, #1 strh r3, [r4, #10] @ movhi -.L5011: +.L5075: ldr r3, [r4, #4] add r2, r4, #61440 mov r1, #128 @@ -30339,16 +30873,16 @@ rk_ftl_vendor_write: mov r0, r3, asl #7 bl FlashBootVendorWrite mov r0, #0 - b .L4992 -.L5006: + b .L5056 +.L5070: mvn r0, #0 -.L4992: +.L5056: add sp, sp, #28 @ sp needed ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L5015: +.L5079: .align 2 -.L5014: +.L5078: .word .LANCHOR3 .fnend .size rk_ftl_vendor_write, .-rk_ftl_vendor_write @@ -30367,34 +30901,34 @@ rk_ftl_vendor_storage_ioctl: bl ftl_malloc subs r4, r0, #0 mvneq r5, #0 - beq .L5017 - ldr r3, .L5033 + beq .L5081 + ldr r3, .L5097 cmp r6, r3 - beq .L5019 + beq .L5083 add r3, r3, #1 cmp r6, r3 - beq .L5020 - b .L5031 -.L5019: + beq .L5084 + b .L5095 +.L5083: mov r1, r5 mov r2, #8 bl rk_copy_from_user cmp r0, #0 - bne .L5031 + bne .L5095 ldr r2, [r4] - ldr r3, .L5033+4 + ldr r3, .L5097+4 cmp r2, r3 - beq .L5022 -.L5023: + beq .L5086 +.L5087: mvn r5, #0 - b .L5018 -.L5022: + b .L5082 +.L5086: ldrh r0, [r4, #4] add r1, r4, #8 ldrh r2, [r4, #6] bl rk_ftl_vendor_read cmn r0, #1 - beq .L5023 + beq .L5087 uxth r2, r0 strh r0, [r4, #6] @ movhi mov r1, r4 @@ -30404,44 +30938,44 @@ rk_ftl_vendor_storage_ioctl: cmp r0, #0 moveq r5, #0 mvnne r5, #13 - b .L5018 -.L5020: + b .L5082 +.L5084: mov r1, r5 mov r2, #8 bl rk_copy_from_user cmp r0, #0 - bne .L5031 + bne .L5095 ldr r2, [r4] - ldr r3, .L5033+4 + ldr r3, .L5097+4 cmp r2, r3 - bne .L5023 + bne .L5087 ldrh r2, [r4, #6] movw r3, #4087 cmp r2, r3 - bhi .L5023 + bhi .L5087 mov r0, r4 mov r1, r5 add r2, r2, #8 bl rk_copy_from_user cmp r0, #0 - bne .L5031 + bne .L5095 ldrh r0, [r4, #4] add r1, r4, #8 ldrh r2, [r4, #6] bl rk_ftl_vendor_write mov r5, r0 - b .L5018 -.L5031: + b .L5082 +.L5095: mvn r5, #13 -.L5018: +.L5082: mov r0, r4 bl kfree -.L5017: +.L5081: mov r0, r5 ldmfd sp!, {r4, r5, r6, pc} -.L5034: +.L5098: .align 2 -.L5033: +.L5097: .word 1074034177 .word 1448232273 .fnend @@ -30627,24 +31161,24 @@ rk_ftl_vendor_storage_ioctl: .section .rodata .align 3 .LANCHOR1 = . + 0 - .type __func__.39435, %object - .size __func__.39435, 18 -__func__.39435: + .type __func__.39624, %object + .size __func__.39624, 18 +__func__.39624: .ascii "_list_remove_node\000" .space 2 - .type __func__.39460, %object - .size __func__.39460, 23 -__func__.39460: + .type __func__.39649, %object + .size __func__.39649, 23 +__func__.39649: .ascii "_list_update_data_list\000" .space 1 - .type __func__.20182, %object - .size __func__.20182, 22 -__func__.20182: + .type __func__.20198, %object + .size __func__.20198, 22 +__func__.20198: .ascii "nand_flash_print_info\000" .space 2 - .type __func__.20268, %object - .size __func__.20268, 11 -__func__.20268: + .type __func__.20284, %object + .size __func__.20284, 11 +__func__.20284: .ascii "nandc_init\000" .space 1 .type toshiba_A19ref_value, %object @@ -30806,13 +31340,13 @@ toshiba_ref_value: .byte 8 .byte 12 .byte 112 - .type __func__.19655, %object - .size __func__.19655, 28 -__func__.19655: + .type __func__.19671, %object + .size __func__.19671, 28 +__func__.19671: .ascii "flash_wait_device_ready_raw\000" - .type __func__.19719, %object - .size __func__.19719, 22 -__func__.19719: + .type __func__.19735, %object + .size __func__.19735, 22 +__func__.19735: .ascii "flash_start_page_read\000" .space 2 .type toshiba_3D_tlc_value, %object @@ -31608,19 +32142,19 @@ ymtc_3D_slc_value: .byte -12 .byte 56 .space 2 - .type __func__.19744, %object - .size __func__.19744, 23 -__func__.19744: + .type __func__.19760, %object + .size __func__.19760, 23 +__func__.19760: .ascii "flash_start_plane_read\000" .space 1 - .type __func__.19630, %object - .size __func__.19630, 26 -__func__.19630: + .type __func__.19646, %object + .size __func__.19646, 26 +__func__.19646: .ascii "flash_erase_duplane_block\000" .space 2 - .type __func__.19641, %object - .size __func__.19641, 21 -__func__.19641: + .type __func__.19657, %object + .size __func__.19657, 21 +__func__.19657: .ascii "flash_erase_block_en\000" .space 3 .type random_seed, %object @@ -31754,19 +32288,19 @@ random_seed: .short 28406 .short 17598 .short 28087 - .type __func__.20451, %object - .size __func__.20451, 13 -__func__.20451: + .type __func__.20463, %object + .size __func__.20463, 13 +__func__.20463: .ascii "buf_add_tail\000" .space 3 - .type __func__.20464, %object - .size __func__.20464, 10 -__func__.20464: + .type __func__.20476, %object + .size __func__.20476, 10 +__func__.20476: .ascii "buf_alloc\000" .space 2 - .type __func__.20478, %object - .size __func__.20478, 16 -__func__.20478: + .type __func__.20490, %object + .size __func__.20490, 16 +__func__.20490: .ascii "buf_remove_free\000" .space 4 .type zftl_debug_proc_fops, %object @@ -31781,90 +32315,80 @@ zftl_debug_proc_fops: .space 4 .word single_release .space 96 - .type __func__.38995, %object - .size __func__.38995, 12 -__func__.38995: + .type __func__.39157, %object + .size __func__.39157, 12 +__func__.39157: .ascii "gc_add_sblk\000" - .type __func__.39087, %object - .size __func__.39087, 19 -__func__.39087: + .type __func__.39249, %object + .size __func__.39249, 19 +__func__.39249: .ascii "gc_write_completed\000" .space 1 - .type __func__.39643, %object - .size __func__.39643, 18 -__func__.39643: + .type __func__.39855, %object + .size __func__.39855, 18 +__func__.39855: .ascii "ftl_alloc_sys_blk\000" .space 2 - .type __func__.39653, %object - .size __func__.39653, 17 -__func__.39653: + .type __func__.39865, %object + .size __func__.39865, 17 +__func__.39865: .ascii "ftl_free_sys_blk\000" .space 3 - .type __func__.39774, %object - .size __func__.39774, 23 -__func__.39774: + .type __func__.39986, %object + .size __func__.39986, 23 +__func__.39986: .ascii "ftl_get_ppa_from_index\000" .space 1 - .type __func__.39814, %object - .size __func__.39814, 22 -__func__.39814: + .type __func__.40026, %object + .size __func__.40026, 22 +__func__.40026: .ascii "ftl_get_new_free_page\000" .space 2 - .type __func__.39825, %object - .size __func__.39825, 22 -__func__.39825: + .type __func__.40037, %object + .size __func__.40037, 22 +__func__.40037: .ascii "ftl_ext_alloc_new_blk\000" .space 2 - .type __func__.39144, %object - .size __func__.39144, 16 -__func__.39144: + .type __func__.39306, %object + .size __func__.39306, 16 +__func__.39306: .ascii "gc_free_src_blk\000" - .type __func__.38739, %object - .size __func__.38739, 14 -__func__.38739: + .type __func__.38900, %object + .size __func__.38900, 14 +__func__.38900: .ascii "ftl_write_buf\000" .space 2 - .type __func__.38784, %object - .size __func__.38784, 18 -__func__.38784: + .type __func__.38945, %object + .size __func__.38945, 18 +__func__.38945: .ascii "zftl_add_read_buf\000" .space 2 - .type __func__.39601, %object - .size __func__.39601, 15 -__func__.39601: - .ascii "ftl_alloc_sblk\000" - .space 1 - .type __func__.40219, %object - .size __func__.40219, 17 -__func__.40219: - .ascii "pm_alloc_new_blk\000" - .space 3 - .type __func__.40247, %object - .size __func__.40247, 21 -__func__.40247: + .type __func__.40459, %object + .size __func__.40459, 21 +__func__.40459: .ascii "pm_select_ram_region\000" .space 3 - .type __func__.20172, %object - .size __func__.20172, 20 -__func__.20172: + .type __func__.20188, %object + .size __func__.20188, 20 +__func__.20188: .ascii "flash_die_info_init\000" - .type __func__.38671, %object - .size __func__.38671, 17 -__func__.38671: + .type __func__.38832, %object + .size __func__.38832, 17 +__func__.38832: .ascii "lpa_rebuild_hash\000" .space 3 - .type __func__.39535, %object - .size __func__.39535, 20 -__func__.39535: + .type __func__.39724, %object + .size __func__.39724, 20 +__func__.39724: .ascii "zftl_sblk_list_init\000" - .type __func__.40179, %object - .size __func__.40179, 13 -__func__.40179: + .type __func__.40391, %object + .size __func__.40391, 13 +__func__.40391: .ascii "pm_free_sblk\000" .space 3 - .type __func__.20514, %object - .size __func__.20514, 21 -__func__.20514: + .type __func__.20526, %object + .size __func__.20526, 21 +__func__.20526: .ascii "flash_info_data_init\000" .space 3 .type samsung_14nm_slc_rr, %object @@ -32004,171 +32528,181 @@ samsung_14nm_mlc_rr: .byte 18 .byte 9 .byte 8 - .type __func__.19553, %object - .size __func__.19553, 19 -__func__.19553: + .type __func__.19569, %object + .size __func__.19569, 19 +__func__.19569: .ascii "flash_read_page_en\000" .space 1 - .type __func__.19679, %object - .size __func__.19679, 26 -__func__.19679: + .type __func__.19695, %object + .size __func__.19695, 26 +__func__.19695: .ascii "flash_start_tlc_page_prog\000" .space 2 - .type __func__.19690, %object - .size __func__.19690, 29 -__func__.19690: + .type __func__.19706, %object + .size __func__.19706, 29 +__func__.19706: .ascii "flash_start_3d_mlc_page_prog\000" .space 3 - .type __func__.19708, %object - .size __func__.19708, 22 -__func__.19708: + .type __func__.19724, %object + .size __func__.19724, 22 +__func__.19724: .ascii "flash_start_page_prog\000" .space 2 - .type __func__.19732, %object - .size __func__.19732, 31 -__func__.19732: + .type __func__.19748, %object + .size __func__.19748, 31 +__func__.19748: .ascii "flash_complete_plane_page_read\000" .space 1 - .type __func__.19757, %object - .size __func__.19757, 25 -__func__.19757: + .type __func__.19773, %object + .size __func__.19773, 25 +__func__.19773: .ascii "flash_complete_page_read\000" .space 3 - .type __func__.40012, %object - .size __func__.40012, 31 -__func__.40012: + .type __func__.40224, %object + .size __func__.40224, 31 +__func__.40224: .ascii "queue_wait_first_req_completed\000" .space 1 - .type __func__.40066, %object - .size __func__.40066, 15 -__func__.40066: + .type __func__.40278, %object + .size __func__.40278, 15 +__func__.40278: .ascii "sblk_prog_page\000" .space 1 - .type __func__.40093, %object - .size __func__.40093, 15 -__func__.40093: + .type __func__.40305, %object + .size __func__.40305, 15 +__func__.40305: .ascii "sblk_read_page\000" .space 1 - .type __func__.39042, %object - .size __func__.39042, 21 -__func__.39042: + .type __func__.39204, %object + .size __func__.39204, 21 +__func__.39204: .ascii "gc_check_data_one_wl\000" .space 3 - .type __func__.19614, %object - .size __func__.19614, 19 -__func__.19614: + .type __func__.19630, %object + .size __func__.19630, 19 +__func__.19630: .ascii "flash_prog_page_en\000" .space 1 - .type __func__.39889, %object - .size __func__.39889, 14 -__func__.39889: + .type __func__.40101, %object + .size __func__.40101, 14 +__func__.40101: .ascii "ftl_prog_page\000" .space 2 - .type __func__.39569, %object - .size __func__.39569, 15 -__func__.39569: + .type __func__.39758, %object + .size __func__.39758, 15 +__func__.39758: .ascii "ftl_info_flush\000" .space 1 - .type __func__.39851, %object - .size __func__.39851, 19 -__func__.39851: + .type __func__.40063, %object + .size __func__.40063, 19 +__func__.40063: .ascii "ftl_ext_info_flush\000" .space 1 - .type __func__.39863, %object - .size __func__.39863, 18 -__func__.39863: + .type __func__.40075, %object + .size __func__.40075, 18 +__func__.40075: .ascii "ftl_ext_info_init\000" .space 2 - .type __func__.40229, %object - .size __func__.40229, 14 -__func__.40229: + .type __func__.39813, %object + .size __func__.39813, 15 +__func__.39813: + .ascii "ftl_alloc_sblk\000" + .space 1 + .type __func__.40431, %object + .size __func__.40431, 17 +__func__.40431: + .ascii "pm_alloc_new_blk\000" + .space 3 + .type __func__.40441, %object + .size __func__.40441, 14 +__func__.40441: .ascii "pm_write_page\000" .space 2 - .type __func__.20536, %object - .size __func__.20536, 17 -__func__.20536: + .type __func__.20548, %object + .size __func__.20548, 17 +__func__.20548: .ascii "flash_info_flush\000" .space 3 - .type __func__.20499, %object - .size __func__.20499, 20 -__func__.20499: + .type __func__.20511, %object + .size __func__.20511, 20 +__func__.20511: .ascii "flash_info_blk_init\000" - .type __func__.20227, %object - .size __func__.20227, 16 -__func__.20227: + .type __func__.20243, %object + .size __func__.20243, 16 +__func__.20243: .ascii "nand_flash_init\000" - .type __func__.39716, %object - .size __func__.39716, 16 -__func__.39716: + .type __func__.39928, %object + .size __func__.39928, 16 +__func__.39928: .ascii "ftl_sysblk_dump\000" - .type __func__.39741, %object - .size __func__.39741, 23 -__func__.39741: + .type __func__.39953, %object + .size __func__.39953, 23 +__func__.39953: .ascii "ftl_open_sblk_recovery\000" .space 1 - .type __func__.40163, %object - .size __func__.40163, 16 -__func__.40163: + .type __func__.40375, %object + .size __func__.40375, 16 +__func__.40375: .ascii "load_l2p_region\000" - .type __func__.40203, %object - .size __func__.40203, 6 -__func__.40203: + .type __func__.40415, %object + .size __func__.40415, 6 +__func__.40415: .ascii "pm_gc\000" .space 2 - .type __func__.38985, %object - .size __func__.38985, 12 -__func__.38985: + .type __func__.39147, %object + .size __func__.39147, 12 +__func__.39147: .ascii "gc_recovery\000" - .type __func__.39074, %object - .size __func__.39074, 22 -__func__.39074: + .type __func__.39236, %object + .size __func__.39236, 22 +__func__.39236: .ascii "gc_update_l2p_map_new\000" .space 2 - .type __func__.39188, %object - .size __func__.39188, 16 -__func__.39188: + .type __func__.39350, %object + .size __func__.39350, 16 +__func__.39350: .ascii "gc_scan_src_blk\000" - .type __func__.39249, %object - .size __func__.39249, 20 -__func__.39249: + .type __func__.39411, %object + .size __func__.39411, 20 +__func__.39411: .ascii "gc_scan_static_data\000" - .type __func__.39312, %object - .size __func__.39312, 18 -__func__.39312: + .type __func__.39474, %object + .size __func__.39474, 18 +__func__.39474: .ascii "gc_block_vpn_scan\000" .space 2 - .type __func__.39692, %object - .size __func__.39692, 14 -__func__.39692: + .type __func__.39904, %object + .size __func__.39904, 14 +__func__.39904: .ascii "ftl_sblk_dump\000" .space 2 - .type __func__.38817, %object - .size __func__.38817, 10 -__func__.38817: + .type __func__.38978, %object + .size __func__.38978, 10 +__func__.38978: .ascii "zftl_read\000" .space 2 - .type __func__.39795, %object - .size __func__.39795, 19 -__func__.39795: + .type __func__.40007, %object + .size __func__.40007, 19 +__func__.40007: .ascii "ftl_update_l2p_map\000" .space 1 - .type __func__.38721, %object - .size __func__.38721, 17 -__func__.38721: + .type __func__.38882, %object + .size __func__.38882, 17 +__func__.38882: .ascii "ftl_write_commit\000" .space 3 - .type __func__.39117, %object - .size __func__.39117, 16 -__func__.39117: + .type __func__.39279, %object + .size __func__.39279, 16 +__func__.39279: .ascii "gc_do_copy_back\000" - .type __func__.39340, %object - .size __func__.39340, 11 -__func__.39340: + .type __func__.39529, %object + .size __func__.39529, 11 +__func__.39529: .ascii "zftl_do_gc\000" .space 1 - .type __func__.38848, %object - .size __func__.38848, 13 -__func__.38848: + .type __func__.39010, %object + .size __func__.39010, 13 +__func__.39010: .ascii "_ftl_discard\000" .section .rodata.str1.1,"aMS",%progbits,1 .LC0: @@ -32176,7 +32710,7 @@ __func__.38848: .LC1: .ascii "%s\012\000" .LC2: - .ascii "FTL version: 6.0.23 20201130\000" + .ascii "FTL version: 6.0.24 20210107\000" .LC3: .ascii "zftl_debug:0x%x\012\000" .LC4: @@ -32328,7 +32862,7 @@ __func__.38848: .LC76: .ascii "sys run time = %d S\012\000" .LC77: - .ascii "slc mode = %d\012\000" + .ascii "slc mode = %x %x %x\012\000" .LC78: .ascii "prog err = %d\012\000" .LC79: @@ -32372,16 +32906,16 @@ __func__.38848: .LC98: .ascii "status: %x, ppa: %x\012\000" .LC99: - .ascii "zftl_get_gc_node cache = %x index = %d vpn = %x\012" - .ascii "\000" -.LC100: - .ascii "gc_search_src_blk mode = %x, src mode = %x, count= " - .ascii "%d %d\012\000" -.LC101: .ascii "%d gc_free_temp_buf buf id= %x\012\000" -.LC102: +.LC100: .ascii "gc: b:%x,p:%x,i:%x; free buf=%d %d free slc th: %d\012" .ascii "\000" +.LC101: + .ascii "zftl_get_gc_node cache = %x index = %d vpn = %x\012" + .ascii "\000" +.LC102: + .ascii "gc_search_src_blk mode = %x, src mode = %x, count= " + .ascii "%d %d\012\000" .LC103: .ascii "swl_tlc_free_mini_ec_blk alloc sblk %x\012\000" .LC104: @@ -32425,456 +32959,462 @@ __func__.38848: .LC122: .ascii "ftl re prog: lpa = %x, ppa= %x\012\000" .LC123: - .ascii "alloc sblk %x %d\012\000" -.LC124: .ascii "dump_sblk_queue: %d\012\000" -.LC125: +.LC124: .ascii "buf id= %d state = %d ppa = %x\012\000" -.LC126: - .ascii "blk %x is bad block\012\000" -.LC127: - .ascii "pm_alloc_new_blk: %x %x %x %x\012\000" -.LC128: +.LC125: .ascii "%s %d %d\012\000" -.LC129: +.LC126: .ascii "gc_static_wearleveling: min blk: %x,sec=%d,xec = %d" .ascii " ,mode=%d, func=%x, bbt=%x vpn = %d\012\000" -.LC130: +.LC127: .ascii "gc_static_wearleveling: min slc blk: %x,sec=%d,xec " .ascii "= %d ,mode=%d, func=%x, bbt=%x vpn = %d\012\000" -.LC131: +.LC128: .ascii "gc_static_wearleveling: min tlc blk: %x,sec=%d,xec " .ascii "= %d ,mode=%d, func=%x, bbt=%x vpn = %d\012\000" -.LC132: +.LC129: .ascii "gc_static_wearleveling: max slc blk: %x,sec=%d,xec " .ascii "= %d ,mode=%d, func=%x, bbt=%x vpn = %d\012\000" -.LC133: +.LC130: .ascii "gc_static_wearleveling: max xlc blk: %x,sec=%d,xec " .ascii "= %d ,mode=%d, func=%x, bbt=%x vpn = %d\012\000" -.LC134: +.LC131: .ascii "gc_static_wearleveling: slc blk: %x, tlc blk: %d av" .ascii "g slc ec: %d, avg tlc ec: %d \012\000" -.LC135: +.LC132: .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" -.LC136: +.LC133: .ascii "swl add tlc gc = %x, %d, %d, %d, %d, %d\012\000" -.LC137: +.LC134: .ascii "swl add slc gc = %x, %d, %d, %d, %d, %d\012\000" -.LC138: +.LC135: .ascii "free blk vpn error: %x %x\012\000" -.LC139: +.LC136: .ascii "GC PM block %x %x %x %d\012\000" -.LC140: +.LC137: .ascii "ftl_free_no_use_map_blk %x %x %x %d\012\000" -.LC141: +.LC138: .ascii "...%d @ %s\012\000" -.LC142: +.LC139: .ascii "rk_ftl_de_init %x\012\000" -.LC143: +.LC140: .ascii "\0013\000" -.LC144: +.LC141: .ascii "otp error! %d\000" -.LC145: +.LC142: .ascii "rr\000" -.LC146: +.LC143: .ascii "flash_abort_clear = %d\012\000" -.LC147: +.LC144: .ascii "%d mtrans_cnt = %d page_num = %d\012\000" -.LC148: +.LC145: .ascii "%d flReg.d32=%x %x\012\000" -.LC149: +.LC146: .ascii "nandc:\000" -.LC150: +.LC147: .ascii "nandc_xfer_done read error %x\012\000" -.LC151: +.LC148: .ascii "dqs data abort %x\012\000" -.LC152: +.LC149: .ascii "dqs data timeout %x\012\000" -.LC153: +.LC150: .ascii "xfer error %x\012\000" -.LC154: +.LC151: .ascii "MT %d row=%x,last status %d,status = %d\012\000" -.LC155: +.LC152: .ascii "MT RR %d row=%x,count %d,status=%d\012\000" -.LC156: +.LC153: .ascii "toshiba SRR %d row=%x, status=%d\012\000" -.LC157: +.LC154: .ascii "toshiba TRR %d row=%x, status=%d\012\000" -.LC158: +.LC155: .ascii "toshiba RR %d row=%x,count %d,status=%d\012\000" -.LC159: +.LC156: .ascii "YMTC RR %d row=%x,count %d,status=%d\012\000" -.LC160: +.LC157: .ascii "samsung SRR %d row=%x, status=%d\012\000" -.LC161: +.LC158: .ascii "samsung TRR %d row=%x, status=%d\012\000" -.LC162: +.LC159: .ascii "samsung RR %d row=%x,count %d,status=%d\012\000" -.LC163: +.LC160: .ascii "hynix RR %d row=%x, count %d, status=%d\012\000" -.LC164: +.LC161: .ascii "%d flash_ddr_tuning_read %x ecc=%d\012\000" -.LC165: +.LC162: .ascii "sync para %d\012\000" -.LC166: +.LC163: .ascii "DDR mode Read error %x %x\012\000" -.LC167: +.LC164: .ascii "SDR mode Read %x %x ecc:%x\012\000" -.LC168: +.LC165: .ascii "flash_read_page_en %x %x %x %x\012\000" -.LC169: +.LC166: .ascii "flash_read_page_en %x %x error_ecc %d %d\012\000" -.LC170: +.LC167: .ascii "flash_get_last_written_page: %x %x %x\012\000" -.LC171: +.LC168: .ascii "read page: %x %x %x %x\012\000" -.LC172: - .ascii "flash_prog_page %x %x %x\012\000" -.LC173: +.LC169: .ascii "flash_prog_page page_addr = %x status = %x\012\000" -.LC174: +.LC170: + .ascii "flash_prog_page %x %x %x\012\000" +.LC171: .ascii "ymtc_flash_tlc_page_prog page_addr = %x status = %x" .ascii "\012\000" -.LC175: +.LC172: .ascii "sblk_mlc_dump_prog wl_addr= %x ppa = %x ppa = %x\012" .ascii "\000" -.LC176: +.LC173: .ascii "flash_complete_page_read %x %x error_ecc %d %d\012\000" -.LC177: +.LC174: .ascii "read: %x %x %x %x\012\000" -.LC178: +.LC175: .ascii "0set buf %d,status = %x, ppa = %x lun state = %d\012" .ascii "\000" -.LC179: +.LC176: .ascii "prog end %x %x error_ecc %d %d\012\000" -.LC180: +.LC177: .ascii "1set buf %d,status = %x, ppa = %x lun state = %d\012" .ascii "\000" -.LC181: +.LC178: .ascii "dp prog end %x %x error_ecc %d %d\012\000" -.LC182: +.LC179: .ascii "sblk_prog_page ppa = %x, count = %d\012\000" -.LC183: +.LC180: .ascii "err: ppa = %x, status = %x, %x %x spare: %x %x %x %" .ascii "x\012\000" -.LC184: +.LC181: .ascii "flash_prog_page_en:%x %x %x\012\000" -.LC185: +.LC182: .ascii "w d:\000" -.LC186: +.LC183: .ascii "w s:\000" -.LC187: +.LC184: .ascii "spare\000" -.LC188: +.LC185: .ascii "data\000" -.LC189: +.LC186: .ascii "write error: %x\012\000" -.LC190: +.LC187: .ascii "g_ftl_info_blk blk = %x, page = %x version = %d\012" .ascii "\000" -.LC191: +.LC188: .ascii "%d %x @%d %x\012\000" -.LC192: +.LC189: .ascii "ftl_info_blk_init %d %d %x\012\000" -.LC193: +.LC190: .ascii "ftl info hash %x error\012\000" -.LC194: +.LC191: .ascii "ink flag: %x\012\000" -.LC195: +.LC192: .ascii "%s %d %d %x %x\012\000" -.LC196: +.LC193: .ascii "ext info hash %x error\012\000" -.LC197: +.LC194: .ascii "%s %x %x %x\012\000" -.LC198: - .ascii "pm_write_page write error: %x\012\000" -.LC199: +.LC195: .ascii "ftl_sblk_dump_write = %x %d %d %d %d\012\000" -.LC200: +.LC196: .ascii "blk= %x, page=%x, ppa = %x, status = %x, data:%x %x" .ascii " %x %x, spare: %x %x %x %x\012\000" -.LC201: +.LC197: .ascii "ftl_sblk_dump_write2 = %x %d %d %d\012\000" -.LC202: +.LC198: .ascii "ftl_sblk_dump_write = %x %x\012\000" -.LC203: +.LC199: .ascii "ftl_sblk_dump_write done = %x\012\000" +.LC200: + .ascii "%x: ink_scaned_blk_num %x\012\000" +.LC201: + .ascii "ftl_ink_check_sblk = %x %d %d\012\000" +.LC202: + .ascii "ftl_ink_check_sblk = %x %d %d end\012\000" +.LC203: + .ascii "alloc sblk %x %d\012\000" .LC204: - .ascii "finfo:\000" + .ascii "blk %x is bad block\012\000" .LC205: - .ascii "flash_info_flush id = %x, page = %x\012\000" + .ascii "pm_alloc_new_blk: %x %x %x %x\012\000" .LC206: - .ascii "sys_info_flush error:%x\012\000" + .ascii "pm_write_page write error: %x\012\000" .LC207: - .ascii "...%d @ %s %d %p\012\000" + .ascii "finfo:\000" .LC208: - .ascii "no sys info %x\012\000" + .ascii "flash_info_flush id = %x, page = %x\012\000" .LC209: - .ascii "l2p:\000" + .ascii "sys_info_flush error:%x\012\000" .LC210: - .ascii "saved_active_page = %x\012\000" + .ascii "...%d @ %s %d %p\012\000" .LC211: - .ascii "saved_active_plane = %x\012\000" + .ascii "no sys info %x\012\000" .LC212: - .ascii "sblk = %x\012\000" + .ascii "l2p:\000" .LC213: - .ascii "phy_blk = %x %x\012\000" + .ascii "saved_active_page = %x\012\000" .LC214: - .ascii "num_planes = %x\012\000" + .ascii "saved_active_plane = %x\012\000" .LC215: + .ascii "sblk = %x\012\000" +.LC216: + .ascii "phy_blk = %x %x\012\000" +.LC217: + .ascii "num_planes = %x\012\000" +.LC218: .ascii "recovery blk=%x, page=%x, ppa = %x, status = %x, ha" .ascii "sh:%x\012\000" -.LC216: - .ascii "data:\000" -.LC217: - .ascii "sblk = %x, vpn0 = %d, vpn1 = %d\012\000" -.LC218: - .ascii "dump_write_lpa = %x %x %x %x\012\000" .LC219: + .ascii "data:\000" +.LC220: + .ascii "sblk = %x, vpn0 = %d, vpn1 = %d\012\000" +.LC221: + .ascii "dump_write_lpa = %x %x %x %x\012\000" +.LC222: .ascii "dump write new ppa = %x, last ppa = %x lpa = %x\012" .ascii "\000" -.LC220: - .ascii "dump write = %x %x %x\012\000" -.LC221: - .ascii "dump write hash update = %x %x %x\012\000" -.LC222: - .ascii "free_buf_count: %d\012\000" .LC223: - .ascii "g_ftl_info_blk blk:0x%x, index:0x%x, page:0x%x\012\000" + .ascii "dump write = %x %x %x\012\000" .LC224: - .ascii "ftl_ext_info_blk blk:0x%x, page:0x%x\012\000" + .ascii "dump write hash update = %x %x %x\012\000" .LC225: + .ascii "free_buf_count: %d\012\000" +.LC226: + .ascii "g_ftl_info_blk blk:0x%x, index:0x%x, page:0x%x\012\000" +.LC227: + .ascii "ftl_ext_info_blk blk:0x%x, page:0x%x\012\000" +.LC228: .ascii "ac_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page" .ascii "_index:0x%x\012\000" -.LC226: +.LC229: .ascii "tmp_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, pag" .ascii "e_index:0x%x\012\000" -.LC227: +.LC230: .ascii "gc_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page" .ascii "_index:0x%x\012\000" -.LC228: - .ascii "lpa:\000" -.LC229: - .ascii "vpn:\000" -.LC230: - .ascii "sblk:\000" .LC231: - .ascii "lpa_hash:\000" + .ascii "lpa:\000" .LC232: - .ascii "lpa_hash_index:\000" + .ascii "vpn:\000" .LC233: - .ascii "%s w error lpn = %x, max ppa = %d\012\000" + .ascii "sblk:\000" .LC234: - .ascii "region_id = %d, pm_max_region = %d\012\000" + .ascii "lpa_hash:\000" .LC235: + .ascii "lpa_hash_index:\000" +.LC236: + .ascii "%s w error lpn = %x, max ppa = %d\012\000" +.LC237: + .ascii "region_id = %d, pm_max_region = %d\012\000" +.LC238: .ascii "load_l2p_region no ppa = %x , %x, all setting 0xff." .ascii "...\012\000" -.LC236: - .ascii "load_l2p_region = %x,%x,%x, %x\012\000" -.LC237: - .ascii "pm_ppa:\000" -.LC238: - .ascii "spare:\000" .LC239: - .ascii "pm_init posr %x %x %x\012\000" + .ascii "load_l2p_region = %x,%x,%x, %x\012\000" .LC240: - .ascii "pm_init recovery %x %x %x\012\000" + .ascii "pm_ppa:\000" .LC241: - .ascii "pm_init hash %x error\012\000" + .ascii "spare:\000" .LC242: - .ascii "pm_log2phys lpn = %d, max lpn = %d\012\000" + .ascii "pm_init posr %x %x %x\012\000" .LC243: + .ascii "pm_init recovery %x %x %x\012\000" +.LC244: + .ascii "pm_init hash %x error\012\000" +.LC245: + .ascii "pm_log2phys lpn = %d, max lpn = %d\012\000" +.LC246: .ascii "ppa = %x, status = %x, data:%x %x %x %x, spare: %x " .ascii "%x %x %x\012\000" -.LC244: +.LC247: .ascii "ppa = %x, status = %x, %x %x spare: %x %x %x %x\012" .ascii "\000" -.LC245: - .ascii "gc_recovery: %x vpn = %x\012\000" -.LC246: - .ascii "gc_update_l2p_map_new sblk %x\012\000" -.LC247: - .ascii "gc_update_l2p_map_new: %x %x %x\012\000" .LC248: - .ascii "lpa: %x %x %x\012\000" + .ascii "gc_recovery: %x vpn = %x\012\000" .LC249: + .ascii "gc_update_l2p_map_new sblk %x\012\000" +.LC250: + .ascii "gc_update_l2p_map_new: %x %x %x\012\000" +.LC251: + .ascii "lpa: %x %x %x\012\000" +.LC252: .ascii "gc_update_l2p_map_new: %x vpn = %x vpn1 = %x done\012" .ascii "\000" -.LC250: - .ascii "gc_scan_src_blk = %x, vpn = %d\012\000" -.LC251: - .ascii "js hash error:%x %x %x\012\000" -.LC252: - .ascii "gc_scan_src_blk = %x, s vpn0 = %d, c vpn1 = %d\012\000" .LC253: + .ascii "gc_scan_src_blk = %x, vpn = %d\012\000" +.LC254: + .ascii "js hash error:%x %x %x\012\000" +.LC255: + .ascii "gc_scan_src_blk = %x, s vpn0 = %d, c vpn1 = %d\012\000" +.LC256: .ascii "gc_block_vpn_scan = %x, s vpn0 = %d, c vpn1 = %d f:" .ascii "%d\012\000" -.LC254: - .ascii "ftl_sblk_dump = %x %d %d %d %d\012\000" -.LC255: - .ascii "ftl_sblk_dump = %x %x %x %x\012\000" -.LC256: - .ascii "page_addr = %x, lpa=%x vpn = %d\012\000" .LC257: - .ascii "index= %x, lpa=%x\012\000" + .ascii "ftl_sblk_dump = %x %d %d %d %d\012\000" .LC258: - .ascii "block = %x, vpn=%x check vpn = %x\012\000" + .ascii "ftl_sblk_dump = %x %x %x %x\012\000" .LC259: - .ascii "ftl_read %x %x %x\012\000" + .ascii "page_addr = %x, lpa=%x vpn = %d\012\000" .LC260: - .ascii "ftl_read refresh =%x, lpa = %x, ppa= %x\012\000" + .ascii "index= %x, lpa=%x\012\000" .LC261: + .ascii "block = %x, vpn=%x check vpn = %x\012\000" +.LC262: + .ascii "ftl_read %x %x %x\012\000" +.LC263: + .ascii "ftl_read refresh =%x, lpa = %x, ppa= %x\012\000" +.LC264: .ascii "id=%d, status = %x, lpa = %x, ppa = %x spare = %x %" .ascii "x %x %x\012\000" -.LC262: - .ascii "zftl debug cmd: %s\012\000" -.LC263: - .ascii "cmd:\000" -.LC264: - .ascii "dumpl2p\000" .LC265: - .ascii "pm l2p:\000" + .ascii "zftl debug cmd: %s\012\000" .LC266: - .ascii "pm blk:\000" + .ascii "cmd:\000" .LC267: - .ascii "dumppm:\000" + .ascii "dumpl2p\000" .LC268: - .ascii "p_cmd: %s\012\000" + .ascii "pm l2p:\000" .LC269: - .ascii "pm ram = %x, %x\012\000" + .ascii "pm blk:\000" .LC270: - .ascii "ram:\000" + .ascii "dumppm:\000" .LC271: - .ascii "pm:\000" + .ascii "p_cmd: %s\012\000" .LC272: - .ascii "dumpsys\000" + .ascii "pm ram = %x, %x\012\000" .LC273: - .ascii "dumplist:\000" + .ascii "ram:\000" .LC274: - .ascii "vpncheck\000" + .ascii "pm:\000" .LC275: - .ascii "dumpppa:\000" + .ascii "dumpsys\000" .LC276: - .ascii "dumpblk:\000" + .ascii "dumplist:\000" .LC277: - .ascii "setzdebug:\000" + .ascii "vpncheck\000" .LC278: - .ascii "lpa2ppa:\000" + .ascii "dumpppa:\000" .LC279: - .ascii "lpa: %x--> ppa: %x\012\000" + .ascii "dumpblk:\000" .LC280: - .ascii "help:\012\000" + .ascii "setzdebug:\000" .LC281: - .ascii "1. echo dumpl2p > /proc/zftl_debug\012\000" + .ascii "lpa2ppa:\000" .LC282: - .ascii "2. echo dumppm:x > /proc/zftl_debug\012\000" + .ascii "lpa: %x--> ppa: %x\012\000" .LC283: - .ascii "3. echo dumpsys > /proc/zftl_debug\012\000" + .ascii "help:\012\000" .LC284: - .ascii "4. echo dumpppa:x > /proc/zftl_debug\012\000" + .ascii "1. echo dumpl2p > /proc/zftl_debug\012\000" .LC285: - .ascii "5. echo vpncheck > /proc/zftl_debug\012\000" + .ascii "2. echo dumppm:x > /proc/zftl_debug\012\000" .LC286: - .ascii "6. echo setzdebug:x > /proc/zftl_debug\012\000" + .ascii "3. echo dumpsys > /proc/zftl_debug\012\000" .LC287: - .ascii "7. echo dumplist > /proc/zftl_debug\012\000" + .ascii "4. echo dumpppa:x > /proc/zftl_debug\012\000" .LC288: - .ascii "8. echo lpa2ppa:x> /proc/zftl_debug\012\000" + .ascii "5. echo vpncheck > /proc/zftl_debug\012\000" .LC289: - .ascii "ftl_update_l2p_map: %x %x %x\012\000" + .ascii "6. echo setzdebug:x > /proc/zftl_debug\012\000" .LC290: - .ascii "ftl_update_l2p_map\000" + .ascii "7. echo dumplist:x > /proc/zftl_debug\012\000" .LC291: - .ascii "lpa_tbl:\000" + .ascii "8. echo lpa2ppa:x> /proc/zftl_debug\012\000" .LC292: - .ascii "sblk %x vpn: %d %d\012\000" + .ascii "ftl_update_l2p_map: %x %x %x\012\000" .LC293: - .ascii "error gc_add_sblk: %x\012\000" + .ascii "ftl_update_l2p_map\000" .LC294: - .ascii "%d read error: ppa:%x, lpa:%x, status:%x\012\000" + .ascii "lpa_tbl:\000" .LC295: - .ascii "gc page in buf: lpa %x ppa = %x pageindex= %x\012\000" + .ascii "sblk %x vpn: %d %d\012\000" .LC296: + .ascii "error gc_add_sblk: %x\012\000" +.LC297: + .ascii "%d read error: ppa:%x, lpa:%x, status:%x\012\000" +.LC298: + .ascii "gc page in buf: lpa %x ppa = %x pageindex= %x\012\000" +.LC299: .ascii "gc_do_copy_back: lpa %x des_ppa = %x %x gc_ppa= %x " .ascii "page_index= %d\012\000" -.LC297: +.LC300: .ascii "gc %d: %d %d %d %d %d %d %d\012\000" -.LC298: +.LC301: .ascii "GC_STATE_SCAN_ALL_PAGE = %x, vpn0 = %d, vpn1 = %d\012" .ascii "\000" -.LC299: - .ascii "gc free %x, %d\012\000" -.LC300: - .ascii "_c_user_data_density := %d\012\000" -.LC301: - .ascii "_c_totle_phy_density := %d\012\000" .LC302: - .ascii "_c_totle_log_page := %d\012\000" + .ascii "gc free %x, %d\012\000" .LC303: - .ascii "_c_totle_data_density := %d\012\000" + .ascii "_c_user_data_density := %d\012\000" .LC304: - .ascii "_c_ftl_pm_page_num := %d\012\000" + .ascii "_c_totle_phy_density := %d\012\000" .LC305: - .ascii "_c_ftl_byte_pre_page := %d\012\000" + .ascii "_c_totle_log_page := %d\012\000" .LC306: - .ascii "_c_max_pm_sblk := %d\012\000" + .ascii "_c_totle_data_density := %d\012\000" .LC307: - .ascii "_min_slc_super_block := %d\012\000" + .ascii "_c_ftl_pm_page_num := %d\012\000" .LC308: - .ascii "_max_xlc_super_block := %d\012\000" + .ascii "_c_ftl_byte_pre_page := %d\012\000" .LC309: - .ascii "gp_ftl_ext_info %p %p %p\012\000" + .ascii "_c_max_pm_sblk := %d\012\000" .LC310: - .ascii "flash info size: %d %d %d\012\000" + .ascii "_min_slc_super_block := %d\012\000" .LC311: - .ascii "ftl_init %x\012\000" + .ascii "_max_xlc_super_block := %d\012\000" .LC312: - .ascii "ftlwrite %x %x %x %x\012\000" + .ascii "gp_ftl_ext_info %p %p %p\012\000" .LC313: - .ascii "ftl_discard:(%x, %x, %x, %x)\012\000" + .ascii "flash info size: %d %d %d\012\000" .LC314: + .ascii "ftl_init %x\012\000" +.LC315: + .ascii "ftlwrite %x %x %x %x\012\000" +.LC316: + .ascii "ftl_discard:(%x, %x, %x, %x)\012\000" +.LC317: .ascii "id_block_prog_msb_ff_data slc page = %d pageadd=%x " .ascii "%x\012\000" -.LC315: - .ascii "write_idblock fix data %x %x\012\000" -.LC316: - .ascii "idblk:\000" -.LC317: - .ascii "write_idblock totle_sec %x %x\012\000" .LC318: - .ascii "prog page: %x %x %x, %p %x %x %x\012\000" + .ascii "write_idblock fix data %x %x\012\000" .LC319: - .ascii "wl_lba %p %x %x %x\012\000" + .ascii "idblk:\000" .LC320: - .ascii "RKNAND_GET_DRM_KEY\012\000" + .ascii "write_idblock totle_sec %x %x\012\000" .LC321: - .ascii "rk_copy_from_user error\012\000" + .ascii "prog page: %x %x %x, %p %x %x %x\012\000" .LC322: - .ascii "RKNAND_STORE_DRM_KEY\012\000" + .ascii "wl_lba %p %x %x %x\012\000" .LC323: - .ascii "RKNAND_DIASBLE_SECURE_BOOT\012\000" + .ascii "RKNAND_GET_DRM_KEY\012\000" .LC324: - .ascii "RKNAND_ENASBLE_SECURE_BOOT\012\000" + .ascii "rk_copy_from_user error\012\000" .LC325: - .ascii "RKNAND_GET_SN_SECTOR\012\000" + .ascii "RKNAND_STORE_DRM_KEY\012\000" .LC326: - .ascii "RKNAND_LOADER_UNLOCK\012\000" + .ascii "RKNAND_DIASBLE_SECURE_BOOT\012\000" .LC327: - .ascii "RKNAND_LOADER_STATUS\012\000" + .ascii "RKNAND_ENASBLE_SECURE_BOOT\012\000" .LC328: - .ascii "RKNAND_LOADER_LOCK\012\000" + .ascii "RKNAND_GET_SN_SECTOR\012\000" .LC329: - .ascii "LockKey not match %d\012\000" + .ascii "RKNAND_LOADER_UNLOCK\012\000" .LC330: - .ascii "RKNAND_GET_VENDOR_SECTOR\012\000" + .ascii "RKNAND_LOADER_STATUS\012\000" .LC331: - .ascii "RKNAND_STORE_VENDOR_SECTOR\012\000" + .ascii "RKNAND_LOADER_LOCK\012\000" .LC332: - .ascii "return ret = %lx\012\000" + .ascii "LockKey not match %d\012\000" .LC333: - .ascii "secureBootEn check error\012\000" + .ascii "RKNAND_GET_VENDOR_SECTOR\012\000" .LC334: + .ascii "RKNAND_STORE_VENDOR_SECTOR\012\000" +.LC335: + .ascii "return ret = %lx\012\000" +.LC336: + .ascii "secureBootEn check error\012\000" +.LC337: .ascii "\0013vendor storage %x,%x,%x\012\000" .data .align 2 @@ -36217,9 +36757,9 @@ write_buf_head: .space 1 .space 3 .type g_gc_info, %object - .size g_gc_info, 2132 + .size g_gc_info, 2204 g_gc_info: - .space 2132 + .space 2204 .type ftl_sblk_vpn_update_id, %object .size ftl_sblk_vpn_update_id, 2 ftl_sblk_vpn_update_id: @@ -36270,6 +36810,10 @@ g_flash_3d_tlc_flag: .size gc_mode, 1 gc_mode: .space 1 + .type _c_ftl_page_pre_blk, %object + .size _c_ftl_page_pre_blk, 2 +_c_ftl_page_pre_blk: + .space 2 .type gc_slc_data_index, %object .size gc_slc_data_index, 2 gc_slc_data_index: @@ -36281,6 +36825,7 @@ gc_slc_cache_index: .type gc_xlc_data_index, %object .size gc_xlc_data_index, 2 gc_xlc_data_index: + .space 2 .space 2 .type gp_data_slc_cache_head, %object .size gp_data_slc_cache_head, 4 @@ -36294,9 +36839,6 @@ gp_data_xlc_data_head: .size _c_ftl_page_pre_slc_blk, 2 _c_ftl_page_pre_slc_blk: .space 2 - .type _c_ftl_page_pre_blk, %object - .size _c_ftl_page_pre_blk, 2 -_c_ftl_page_pre_blk: .space 2 .type gp_data_slc_data_head, %object .size gp_data_slc_data_head, 4 @@ -36381,10 +36923,6 @@ read_buf_head: .size read_buf_count, 1 read_buf_count: .space 1 - .type pm_gc_enable, %object - .size pm_gc_enable, 4 -pm_gc_enable: - .space 4 .type pm_ram_info, %object .size pm_ram_info, 256 pm_ram_info: @@ -36513,7 +37051,7 @@ ftl_flush_jiffies: .size g_flash_multi_page_read_en, 1 g_flash_multi_page_read_en: .space 1 - .space 39 + .space 31 .type ftl_info_spare, %object .size ftl_info_spare, 256 ftl_info_spare: @@ -36548,6 +37086,10 @@ ftl_ext_info_data_buffer: .size ftl_tmp_spare, 256 ftl_tmp_spare: .space 256 + .type pm_gc_enable, %object + .size pm_gc_enable, 4 +pm_gc_enable: + .space 4 .type g_pm_spare, %object .size g_pm_spare, 4 g_pm_spare: diff --git a/drivers/rk_nand/rk_zftl_arm64.S b/drivers/rk_nand/rk_zftl_arm64.S index d6371f4fb61b..c30d8504ea46 100644 --- a/drivers/rk_nand/rk_zftl_arm64.S +++ b/drivers/rk_nand/rk_zftl_arm64.S @@ -5,7 +5,7 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * date: 2020-11-30 + * date: 2021-01-07 * function: rk ftl v6 for rockchip soc base on arm v8 to support 3D/2D * TLC and MLC. */ @@ -210,49 +210,6 @@ _list_remove_node: ret .size _list_remove_node, .-_list_remove_node .align 2 - .type _list_pop_index_node, %function -_list_pop_index_node: - stp x29, x30, [sp, -32]! - uxth w1, w1 - add x29, sp, 0 - stp x19, x20, [sp,16] - mov w19, 65535 - ldr x20, [x0] - cbz x20, .L38 - adrp x3, .LANCHOR0+1040 - mov w4, 65535 - mov w5, 6 - ldr x19, [x3,#:lo12:.LANCHOR0+1040] -.L39: - cbnz w1, .L40 -.L42: - sub x19, x20, x19 - mov x1, -6148914691236517206 - asr x19, x19, 1 - madd x19, x1, x19, x19 - uxth w19, w19 - mov w1, w19 - bl _list_remove_node - mov w0, -1 - strh w0, [x20] - strh w0, [x20,2] - b .L38 -.L40: - ldrh w3, [x20] - cmp w3, w4 - beq .L42 - umull x20, w3, w5 - sub w1, w1, #1 - add x20, x19, x20 - uxth w1, w1 - b .L39 -.L38: - mov w0, w19 - ldp x19, x20, [sp,16] - ldp x29, x30, [sp], 32 - ret - .size _list_pop_index_node, .-_list_pop_index_node - .align 2 .type zftl_debug_proc_open, %function zftl_debug_proc_open: stp x29, x30, [sp, -32]! @@ -304,7 +261,7 @@ zftl_flash_suspend: str w2, [x0,1056] ldr w2, [x1,4] str w2, [x0,1060] - bne .L47 + bne .L40 ldr w2, [x1,16] str w2, [x0,1064] ldr w2, [x1,32] @@ -316,8 +273,8 @@ zftl_flash_suspend: ldr w2, [x1,520] str w2, [x0,1080] ldr w1, [x1,8] - b .L49 -.L47: + b .L42 +.L40: ldr w2, [x1,8] str w2, [x0,1064] ldr w2, [x1,12] @@ -329,7 +286,7 @@ zftl_flash_suspend: ldr w2, [x1,336] ldr w1, [x1,344] str w2, [x0,1080] -.L49: +.L42: str w1, [x0,1084] ret .size zftl_flash_suspend, .-zftl_flash_suspend @@ -340,7 +297,7 @@ nandc_irq_disable: ldrb w2, [x2,#:lo12:.LANCHOR0+1028] cmp w2, 9 mov x2, 1 - bne .L51 + bne .L44 ldr w3, [x0,292] lsl x1, x2, x1 orr w2, w3, w1 @@ -348,8 +305,8 @@ nandc_irq_disable: ldr w2, [x0,288] bic w1, w2, w1 str w1, [x0,288] - b .L50 -.L51: + b .L43 +.L44: ldr w3, [x0,368] lsl x1, x2, x1 orr w2, w3, w1 @@ -357,7 +314,7 @@ nandc_irq_disable: ldr w2, [x0,364] bic w1, w2, w1 str w1, [x0,364] -.L50: +.L43: ret .size nandc_irq_disable, .-nandc_irq_disable .align 2 @@ -369,7 +326,7 @@ _insert_free_list: mov x10, x3 ldrh w4, [x6,1088] cmp w4, w1 - bls .L53 + bls .L46 ldrh w3, [x2] mov w7, 6 add w3, w3, 1 @@ -381,7 +338,7 @@ _insert_free_list: strh w2, [x5,2] strh w2, [x12,x11] ldr x2, [x0] - cbz x2, .L60 + cbz x2, .L53 ldr x9, [x6,1096] ubfiz x8, x1, 2, 16 ldrh w13, [x6,1104] @@ -399,7 +356,7 @@ _insert_free_list: uxth w4, w4 madd x3, x6, x3, x3 uxth w3, w3 -.L58: +.L51: ubfiz x15, x3, 2, 16 ldr w6, [x9,x15] ubfx x7, x6, 11, 8 @@ -407,30 +364,30 @@ _insert_free_list: ubfx x6, x6, 0, 11 madd w6, w13, w7, w6 cmp w4, w6, uxth - bls .L56 + bls .L49 ldrh w6, [x2] cmp w6, w16 - bne .L57 + bne .L50 strh w3, [x5,2] strh w1, [x2] - b .L53 -.L57: + b .L46 +.L50: umull x2, w6, w8 mov w3, w6 add x2, x14, x2 - b .L58 -.L56: + b .L51 +.L49: ldrh w4, [x2,2] strh w4, [x5,2] strh w3, [x12,x11] ldr x3, [x0] cmp x2, x3 - bne .L59 + bne .L52 strh w1, [x2,2] -.L60: +.L53: str x5, [x0] - b .L53 -.L59: + b .L46 +.L52: ldrh w0, [x2,2] add x3, x10, :lo12:.LANCHOR0 mov w4, 6 @@ -438,7 +395,7 @@ _insert_free_list: umull x0, w0, w4 strh w1, [x3,x0] strh w1, [x2,2] -.L53: +.L46: ret .size _insert_free_list, .-_insert_free_list .align 2 @@ -452,7 +409,7 @@ _insert_data_list: str x21, [sp,16] ldrh w3, [x10,1088] cmp w3, w1 - bls .L61 + bls .L54 ldrh w3, [x2] mov w8, 6 add w3, w3, 1 @@ -464,7 +421,7 @@ _insert_data_list: strh w2, [x7,2] strh w2, [x14,x8] ldr x2, [x0] - cbz x2, .L79 + cbz x2, .L72 uxtw x9, w1 ldr x15, [x10,1112] ldr x13, [x10,1096] @@ -477,10 +434,10 @@ _insert_data_list: ubfx x4, x3, 11, 8 ldrh w3, [x13,x9] and w3, w3, 2047 - cbz w5, .L65 + cbz w5, .L58 madd w3, w16, w4, w3 add w5, w5, w3, uxth -.L65: +.L58: add x4, x6, :lo12:.LANCHOR0 mov x9, -6148914691236517206 cmp w11, wzr @@ -494,13 +451,13 @@ _insert_data_list: madd x3, x9, x3, x3 mov w9, 0 uxth w3, w3 -.L71: +.L64: add w9, w9, 1 cmp w1, w3 uxth w9, w9 - beq .L61 + beq .L54 cmp w9, w20 - bhi .L61 + bhi .L54 uxtw x12, w3 ldrh w18, [x2,4] ldrh w4, [x15,x12,lsl 1] @@ -510,36 +467,36 @@ _insert_data_list: ubfx x11, x10, 11, 8 ldrh w10, [x13,x12] and w10, w10, 2047 - cbz w4, .L68 + cbz w4, .L61 madd w10, w16, w11, w10 add w4, w4, w10, uxth -.L68: +.L61: cmp w4, w5 - bcs .L69 - cbz w18, .L69 + bcs .L62 + cbz w18, .L62 ldrh w4, [x2] cmp w4, w21 - bne .L70 + bne .L63 strh w3, [x7,2] strh w1, [x2] - b .L61 -.L70: + b .L54 +.L63: umull x2, w4, w19 mov w3, w4 add x2, x17, x2 - b .L71 -.L69: + b .L64 +.L62: ldrh w4, [x2,2] strh w4, [x7,2] strh w3, [x14,x8] ldr x3, [x0] cmp x2, x3 - bne .L72 + bne .L65 strh w1, [x2,2] -.L79: - str x7, [x0] - b .L61 .L72: + str x7, [x0] + b .L54 +.L65: ldrh w0, [x2,2] add x6, x6, :lo12:.LANCHOR0 mov w3, 6 @@ -547,43 +504,13 @@ _insert_data_list: ldr x3, [x6,1040] strh w1, [x3,x0] strh w1, [x2,2] -.L61: +.L54: ldp x19, x20, [sp] ldr x21, [sp,16] add sp, sp, 32 ret .size _insert_data_list, .-_insert_data_list .align 2 - .type _list_get_gc_head_node.isra.4, %function -_list_get_gc_head_node.isra.4: - uxth w1, w1 - mov w2, 65535 - cbz x0, .L86 - adrp x2, .LANCHOR0+1040 - mov w4, 65535 - mov w5, 6 - ldr x3, [x2,#:lo12:.LANCHOR0+1040] -.L82: - cbz w1, .L83 - ldrh w2, [x0] - cmp w2, w4 - beq .L86 - umull x2, w2, w5 - sub w1, w1, #1 - add x0, x3, x2 - uxth w1, w1 - b .L82 -.L83: - sub x0, x0, x3 - mov x1, -6148914691236517206 - asr x0, x0, 1 - madd x0, x1, x0, x0 - uxth w2, w0 -.L86: - mov w0, w2 - ret - .size _list_get_gc_head_node.isra.4, .-_list_get_gc_head_node.isra.4 - .align 2 .type _list_update_data_list, %function _list_update_data_list: stp x29, x30, [sp, -80]! @@ -599,29 +526,29 @@ _list_update_data_list: ldr x3, [x4,1120] ldrh w5, [x3,16] cmp w5, w19 - beq .L87 + beq .L73 ldrh w1, [x3,48] cmp w1, w19 - beq .L87 + beq .L73 ldrh w1, [x3,80] cmp w1, w19 - beq .L87 + beq .L73 mov w23, 6 ldr x25, [x4,1040] ldr x1, [x0] umull x23, w19, w23 add x24, x25, x23 cmp x24, x1 - beq .L87 + beq .L73 mov x21, x0 ldrh w0, [x24,2] mov w1, 65535 mov x22, x2 cmp w0, w1 - bne .L91 + bne .L77 ldrh w1, [x25,x23] cmp w1, w0 - bne .L91 + bne .L77 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 @@ -630,15 +557,15 @@ _list_update_data_list: add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L91: +.L77: ldrh w3, [x24,2] mov w0, 65535 cmp w3, w0 - bne .L92 + bne .L78 ldrh w0, [x25,x23] cmp w0, w3 - beq .L87 -.L92: + beq .L73 +.L78: add x1, x20, :lo12:.LANCHOR0 ubfiz x0, x19, 1, 16 mov x5, -6148914691236517206 @@ -660,7 +587,7 @@ _list_update_data_list: mul w0, w0, w1 csinv w0, w0, wzr, ne cmp w2, w0 - bcs .L87 + bcs .L73 mov x0, x21 mov w1, w19 mov x2, x22 @@ -669,7 +596,7 @@ _list_update_data_list: mov w1, w19 mov x2, x22 bl _insert_data_list -.L87: +.L73: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -677,22 +604,10 @@ _list_update_data_list: ldp x29, x30, [sp], 80 ret .size _list_update_data_list, .-_list_update_data_list - .align 2 - .type zftl_get_gc_node.part.11, %function -zftl_get_gc_node.part.11: - uxth w1, w0 - adrp x0, .LANCHOR0+1128 - stp x29, x30, [sp, -16]! - add x29, sp, 0 - ldr x0, [x0,#:lo12:.LANCHOR0+1128] - bl _list_get_gc_head_node.isra.4 - ldp x29, x30, [sp], 16 - ret - .size zftl_get_gc_node.part.11, .-zftl_get_gc_node.part.11 .section .text.unlikely .align 2 - .type rk_simple_strtoull.constprop.35, %function -rk_simple_strtoull.constprop.35: + .type rk_simple_strtoull.constprop.34, %function +rk_simple_strtoull.constprop.34: stp x29, x30, [sp, -64]! add x29, sp, 0 stp x19, x20, [sp,16] @@ -702,58 +617,226 @@ rk_simple_strtoull.constprop.35: mov x23, x1 ldrb w0, [x0] cmp w0, 48 - bne .L109 + bne .L94 ldrb w0, [x20,1] add x19, x20, 1 mov w21, 8 orr w0, w0, 32 uxtb w0, w0 cmp w0, 120 - bne .L99 + bne .L84 ldrb w0, [x20,2] bl isxdigit - cbz w0, .L99 + cbz w0, .L84 add x19, x20, 2 mov w21, 16 - b .L99 -.L109: + b .L84 +.L94: mov x19, x20 mov w21, 10 -.L99: +.L84: mov w22, 0 -.L100: +.L85: ldrb w20, [x19] mov w0, w20 bl isxdigit - cbnz w0, .L101 -.L107: - cbz x23, .L113 + cbnz w0, .L86 +.L92: + cbz x23, .L98 str x19, [x23] - b .L113 -.L101: + b .L98 +.L86: sub w2, w20, #48 cmp w2, 9 - bhi .L114 -.L108: + bhi .L99 +.L93: cmp w2, w21 - bcs .L107 + bcs .L92 madd w22, w22, w21, w2 add x19, x19, 1 - b .L100 -.L114: + b .L85 +.L99: orr w20, w20, 32 sub w2, w20, #87 - b .L108 -.L113: + b .L93 +.L98: mov w0, w22 ldr x23, [sp,48] ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 64 ret - .size rk_simple_strtoull.constprop.35, .-rk_simple_strtoull.constprop.35 + .size rk_simple_strtoull.constprop.34, .-rk_simple_strtoull.constprop.34 .text .align 2 + .type hynix_set_rr_para, %function +hynix_set_rr_para: + stp x29, x30, [sp, -64]! + adrp x3, .LANCHOR0 + uxtb w1, w1 + add x3, x3, :lo12:.LANCHOR0 + add x29, sp, 0 + uxtb w0, w0 + stp x21, x22, [sp,32] + str x23, [sp,48] + stp x19, x20, [sp,16] + ldr x2, [x3,1128] + ldr x19, [x3,1048] + add x23, x2, 128 + add x21, x2, 112 + ldrb w22, [x2,113] + ldrb w2, [x2,112] + mul w1, w1, w22 + cmp w2, 8 + sxtw x1, w1 + beq .L101 + sxtw x2, w0 + mov x3, 160 + madd x2, x2, x3, x1 + add x2, x2, 32 + add x21, x21, x2 + b .L102 +.L101: + add x1, x1, 32 + add x21, x21, x1 +.L102: + ubfiz x0, x0, 8, 8 + mov x20, 0 + add x19, x19, x0 + mov w0, 54 + str w0, [x19,2056] +.L103: + cmp w22, w20, uxtb + bls .L105 + ldrb w0, [x23,x20] + str w0, [x19,2052] + mov x0, 600 + bl __const_udelay + ldrsb w0, [x21,x20] + add x20, x20, 1 + str w0, [x19,2048] + b .L103 +.L105: + mov w0, 22 + str w0, [x19,2056] + ldp x19, x20, [sp,16] + ldp x21, x22, [sp,32] + ldr x23, [sp,48] + ldp x29, x30, [sp], 64 + ret + .size hynix_set_rr_para, .-hynix_set_rr_para + .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, 600 + bl __const_udelay + ldr w0, [x19] + ldr x19, [sp,16] + ldp x29, x30, [sp], 32 + uxtb w0, w0 + ret + .size flash_read_status, .-flash_read_status + .align 2 + .global toshiba_set_rr_para + .type toshiba_set_rr_para, %function +toshiba_set_rr_para: + uxtb w1, w1 + mov w3, 5 + add w2, w1, 1 + stp x29, x30, [sp, -96]! + smull x3, w2, w3 + adrp x2, .LANCHOR1 + add x29, sp, 0 + add x2, x2, :lo12:.LANCHOR1 + stp x21, x22, [sp,32] + stp x23, x24, [sp,48] + add x23, x2, x1, sxtw + add x24, x2, 48 + add x21, x2, 96 + stp x19, x20, [sp,16] + stp x25, x26, [sp,64] + str x27, [sp,80] + mov x22, x0 + add x24, x24, x3 + add x21, x21, x3 + mov x20, 0 + adrp x26, .LANCHOR0 + mov w27, 85 + mov x19, x2 +.L108: + add x25, x26, :lo12:.LANCHOR0 + ldrb w0, [x25,1137] + cmp w0, w20 + bls .L114 + add x0, x19, 48 + str w27, [x22,8] + ldrsb w0, [x20,x0] + str w0, [x22,4] + mov x0, 1000 + bl __const_udelay + ldrb w0, [x25,1136] + cmp w0, 34 + bne .L109 + ldrsb w0, [x24,x20] + b .L113 +.L109: + cmp w0, 35 + bne .L111 + ldrsb w0, [x21,x20] + b .L113 +.L111: + ldrsb w0, [x23,192] +.L113: + str w0, [x22] + add x20, x20, 1 + b .L108 +.L114: + 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 + .size toshiba_set_rr_para, .-toshiba_set_rr_para + .align 2 + .global hynix_reconfig_rr_para + .type hynix_reconfig_rr_para, %function +hynix_reconfig_rr_para: + stp x29, x30, [sp, -32]! + uxtb w0, w0 + add x29, sp, 0 + stp x19, x20, [sp,16] + adrp x19, .LANCHOR0 + add x19, x19, :lo12:.LANCHOR0 + ldrb w1, [x19,1136] + sub w1, w1, #1 + uxtb w1, w1 + cmp w1, 7 + bhi .L115 + ldr x1, [x19,1128] + sxtw x20, w0 + add x1, x1, x20 + ldrb w1, [x1,120] + cbz w1, .L115 + mov w1, 0 + bl hynix_set_rr_para + ldr x0, [x19,1128] + add x20, x0, x20 + strb wzr, [x20,120] +.L115: + ldp x19, x20, [sp,16] + ldp x29, x30, [sp], 32 + ret + .size hynix_reconfig_rr_para, .-hynix_reconfig_rr_para + .align 2 .global nand_flash_print_info .type nand_flash_print_info, %function nand_flash_print_info: @@ -762,18 +845,18 @@ nand_flash_print_info: str x19, [sp,16] adrp x19, .LANCHOR2 ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L116 + tbz x0, 12, .L121 adrp x1, .LANCHOR1 adrp x0, .LC4 add x1, x1, :lo12:.LANCHOR1 add x0, x0, :lo12:.LC4 - add x1, x1, 48 + add x1, x1, 200 bl printk -.L116: +.L121: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L117 - adrp x0, .LANCHOR0+1136 - ldr x6, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L122 + adrp x0, .LANCHOR0+1144 + ldr x6, [x0,#:lo12:.LANCHOR0+1144] adrp x0, .LC5 add x0, x0, :lo12:.LC5 ldrb w1, [x6,1] @@ -783,272 +866,272 @@ nand_flash_print_info: ldrb w5, [x6,5] ldrb w6, [x6,6] bl printk -.L117: +.L122: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L118 - adrp x0, .LANCHOR0+1136 - ldr x1, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L123 + adrp x0, .LANCHOR0+1144 + ldr x1, [x0,#:lo12:.LANCHOR0+1144] adrp x0, .LC6 add x0, x0, :lo12:.LC6 ldrb w1, [x1,8] bl printk -.L118: +.L123: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L119 - adrp x0, .LANCHOR0+1136 - ldr x1, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L124 + adrp x0, .LANCHOR0+1144 + ldr x1, [x0,#:lo12:.LANCHOR0+1144] adrp x0, .LC7 add x0, x0, :lo12:.LC7 ldrb w1, [x1,9] bl printk -.L119: +.L124: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L120 - adrp x0, .LANCHOR0+1136 - ldr x1, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L125 + adrp x0, .LANCHOR0+1144 + ldr x1, [x0,#:lo12:.LANCHOR0+1144] adrp x0, .LC8 add x0, x0, :lo12:.LC8 ldrh w1, [x1,10] bl printk -.L120: +.L125: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L121 - adrp x0, .LANCHOR0+1136 - ldr x1, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L126 + adrp x0, .LANCHOR0+1144 + ldr x1, [x0,#:lo12:.LANCHOR0+1144] adrp x0, .LC9 add x0, x0, :lo12:.LC9 ldrb w1, [x1,12] bl printk -.L121: +.L126: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L122 - adrp x0, .LANCHOR0+1136 - ldr x1, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L127 + adrp x0, .LANCHOR0+1144 + ldr x1, [x0,#:lo12:.LANCHOR0+1144] adrp x0, .LC10 add x0, x0, :lo12:.LC10 ldrb w1, [x1,13] bl printk -.L122: +.L127: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L123 - adrp x0, .LANCHOR0+1136 - ldr x1, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L128 + adrp x0, .LANCHOR0+1144 + ldr x1, [x0,#:lo12:.LANCHOR0+1144] adrp x0, .LC11 add x0, x0, :lo12:.LC11 ldrh w1, [x1,14] bl printk -.L123: +.L128: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L124 - adrp x0, .LANCHOR0+1136 - ldr x1, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L129 + adrp x0, .LANCHOR0+1144 + ldr x1, [x0,#:lo12:.LANCHOR0+1144] adrp x0, .LC12 add x0, x0, :lo12:.LC12 ldrb w1, [x1,23] bl printk -.L124: +.L129: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L125 - adrp x0, .LANCHOR0+1136 - ldr x1, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L130 + adrp x0, .LANCHOR0+1144 + ldr x1, [x0,#:lo12:.LANCHOR0+1144] adrp x0, .LC13 add x0, x0, :lo12:.LC13 ldrb w1, [x1,18] bl printk -.L125: +.L130: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L126 - adrp x0, .LANCHOR0+1136 - ldr x1, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L131 + adrp x0, .LANCHOR0+1144 + ldr x1, [x0,#:lo12:.LANCHOR0+1144] adrp x0, .LC14 add x0, x0, :lo12:.LC14 ldrb w1, [x1,19] bl printk -.L126: +.L131: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L127 - adrp x0, .LANCHOR0+1136 - ldr x1, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L132 + adrp x0, .LANCHOR0+1144 + ldr x1, [x0,#:lo12:.LANCHOR0+1144] adrp x0, .LC15 add x0, x0, :lo12:.LC15 ldrb w1, [x1,20] bl printk -.L127: +.L132: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L128 - adrp x1, .LANCHOR0+1144 + tbz x0, 12, .L133 + adrp x1, .LANCHOR0+1152 adrp x0, .LC16 add x0, x0, :lo12:.LC16 - ldrb w1, [x1,#:lo12:.LANCHOR0+1144] + ldrb w1, [x1,#:lo12:.LANCHOR0+1152] bl printk -.L128: +.L133: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L129 - adrp x0, .LANCHOR0+1136 - ldr x1, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L134 + adrp x0, .LANCHOR0+1144 + ldr x1, [x0,#:lo12:.LANCHOR0+1144] adrp x0, .LC17 add x0, x0, :lo12:.LC17 ldrb w1, [x1,22] bl printk -.L129: +.L134: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L130 - adrp x1, .LANCHOR0+1145 + tbz x0, 12, .L135 + adrp x1, .LANCHOR0+1153 adrp x0, .LC18 add x0, x0, :lo12:.LC18 - ldrb w1, [x1,#:lo12:.LANCHOR0+1145] + ldrb w1, [x1,#:lo12:.LANCHOR0+1153] bl printk -.L130: +.L135: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L131 - adrp x0, .LANCHOR0+1136 - ldr x0, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L136 + adrp x0, .LANCHOR0+1144 + ldr x0, [x0,#:lo12:.LANCHOR0+1144] ldrh w1, [x0,16] adrp x0, .LC19 add x0, x0, :lo12:.LC19 and w1, w1, 1 bl printk -.L131: +.L136: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L132 - adrp x0, .LANCHOR0+1136 - ldr x0, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L137 + adrp x0, .LANCHOR0+1144 + ldr x0, [x0,#:lo12:.LANCHOR0+1144] ldrh w1, [x0,16] adrp x0, .LC20 add x0, x0, :lo12:.LC20 ubfx x1, x1, 1, 1 bl printk -.L132: +.L137: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L133 - adrp x0, .LANCHOR0+1136 - ldr x0, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L138 + adrp x0, .LANCHOR0+1144 + ldr x0, [x0,#:lo12:.LANCHOR0+1144] ldrh w1, [x0,16] adrp x0, .LC21 add x0, x0, :lo12:.LC21 ubfx x1, x1, 2, 1 bl printk -.L133: +.L138: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L134 - adrp x0, .LANCHOR0+1136 - ldr x0, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L139 + adrp x0, .LANCHOR0+1144 + ldr x0, [x0,#:lo12:.LANCHOR0+1144] ldrh w1, [x0,16] adrp x0, .LC22 add x0, x0, :lo12:.LC22 ubfx x1, x1, 3, 1 bl printk -.L134: +.L139: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L135 - adrp x0, .LANCHOR0+1136 - ldr x0, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L140 + adrp x0, .LANCHOR0+1144 + ldr x0, [x0,#:lo12:.LANCHOR0+1144] ldrh w1, [x0,16] adrp x0, .LC23 add x0, x0, :lo12:.LC23 ubfx x1, x1, 4, 1 bl printk -.L135: +.L140: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L136 - adrp x0, .LANCHOR0+1136 - ldr x0, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L141 + adrp x0, .LANCHOR0+1144 + ldr x0, [x0,#:lo12:.LANCHOR0+1144] ldrh w1, [x0,16] adrp x0, .LC24 add x0, x0, :lo12:.LC24 ubfx x1, x1, 5, 1 bl printk -.L136: +.L141: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L137 - adrp x0, .LANCHOR0+1136 - ldr x0, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L142 + adrp x0, .LANCHOR0+1144 + ldr x0, [x0,#:lo12:.LANCHOR0+1144] ldrh w1, [x0,16] adrp x0, .LC25 add x0, x0, :lo12:.LC25 ubfx x1, x1, 6, 1 bl printk -.L137: +.L142: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L138 - adrp x0, .LANCHOR0+1136 - ldr x0, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L143 + adrp x0, .LANCHOR0+1144 + ldr x0, [x0,#:lo12:.LANCHOR0+1144] ldrh w1, [x0,16] adrp x0, .LC26 add x0, x0, :lo12:.LC26 ubfx x1, x1, 7, 1 bl printk -.L138: +.L143: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L139 - adrp x0, .LANCHOR0+1136 - ldr x0, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L144 + adrp x0, .LANCHOR0+1144 + ldr x0, [x0,#:lo12:.LANCHOR0+1144] ldrb w1, [x0,17] adrp x0, .LC27 add x0, x0, :lo12:.LC27 and w1, w1, 1 bl printk -.L139: +.L144: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L140 - adrp x0, .LANCHOR0+1136 - ldr x0, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L145 + adrp x0, .LANCHOR0+1144 + ldr x0, [x0,#:lo12:.LANCHOR0+1144] ldrh w1, [x0,16] adrp x0, .LC28 add x0, x0, :lo12:.LC28 ubfx x1, x1, 9, 1 bl printk -.L140: +.L145: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L141 - adrp x0, .LANCHOR0+1136 - ldr x0, [x0,#:lo12:.LANCHOR0+1136] + tbz x0, 12, .L146 + adrp x0, .LANCHOR0+1144 + ldr x0, [x0,#:lo12:.LANCHOR0+1144] ldrh w1, [x0,16] adrp x0, .LC29 add x0, x0, :lo12:.LC29 ubfx x1, x1, 10, 1 bl printk -.L141: +.L146: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L142 + tbz x0, 12, .L147 adrp x1, .LANCHOR0 adrp x0, .LC30 add x2, x1, :lo12:.LANCHOR0 add x0, x0, :lo12:.LC30 ldrb w1, [x1,#:lo12:.LANCHOR0] - ldrb w2, [x2,1146] + ldrb w2, [x2,1154] bl printk -.L142: +.L147: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L143 + tbz x0, 12, .L148 adrp x2, .LANCHOR0 adrp x0, .LC31 add x2, x2, :lo12:.LANCHOR0 add x0, x0, :lo12:.LC31 - add x2, x2, 1152 + add x2, x2, 1160 ldrb w1, [x2,10] ldrb w2, [x2,11] bl printk -.L143: +.L148: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L144 + tbz x0, 12, .L149 adrp x2, .LANCHOR0 adrp x0, .LC32 add x2, x2, :lo12:.LANCHOR0 add x0, x0, :lo12:.LC32 - add x2, x2, 1152 + add x2, x2, 1160 ldrb w1, [x2,8] ldrb w2, [x2,9] bl printk -.L144: +.L149: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L115 - adrp x1, .LANCHOR0+1184 + tbz x0, 12, .L120 + adrp x1, .LANCHOR0+1192 adrp x0, .LC33 add x0, x0, :lo12:.LC33 - ldrb w1, [x1,#:lo12:.LANCHOR0+1184] + ldrb w1, [x1,#:lo12:.LANCHOR0+1192] bl printk -.L115: +.L120: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -1065,15 +1148,15 @@ nandc_init: stp x19, x20, [sp,16] str wzr, [x29,56] ldr w0, [x21,#:lo12:.LANCHOR2] - tbz x0, 12, .L237 + tbz x0, 12, .L242 adrp x1, .LANCHOR1 adrp x0, .LC34 add x1, x1, :lo12:.LANCHOR1 add x0, x0, :lo12:.LC34 - add x1, x1, 72 + add x1, x1, 224 mov x2, x22 bl printk -.L237: +.L242: adrp x1, .LANCHOR0 mov w2, 6 add x0, x1, :lo12:.LANCHOR0 @@ -1084,25 +1167,25 @@ nandc_init: movk w2, 0x5638, lsl 16 str x22, [x0,1048] cmp w3, w2 - bne .L238 + bne .L243 mov w1, 8 strb w1, [x0,1028] -.L238: +.L243: ldr w1, [x22,128] mov w0, 12336 movk w0, 0x5639, lsl 16 cmp w1, w0 - bne .L239 + bne .L244 add x0, x20, :lo12:.LANCHOR0 mov w1, 9 strb w1, [x0,1028] -.L239: +.L244: add x19, x20, :lo12:.LANCHOR0 ldrb w0, [x19,1028] cmp w0, 9 - bne .L240 + bne .L245 mov w0, 1 - strb w0, [x19,1185] + strb w0, [x19,1193] ldr w0, [x29,56] mov w1, 2 orr w0, w0, 256 @@ -1127,17 +1210,17 @@ nandc_init: mov w1, 39 str w1, [x0,84] ldr w1, [x21,#:lo12:.LANCHOR2] - tbz x1, 12, .L242 + tbz x1, 12, .L247 ldr w1, [x0] ldr w2, [x0,8] ldr w3, [x0,80] ldr w4, [x0,84] ldr w5, [x0,88] - b .L254 -.L240: + b .L259 +.L245: ldr w0, [x29,56] mov w1, 1 - strb wzr, [x19,1185] + strb wzr, [x19,1193] orr w0, w0, 256 str w0, [x29,56] ldr w0, [x29,56] @@ -1161,32 +1244,32 @@ nandc_init: str w1, [x0,308] mov w0, 2048 bl ftl_malloc - str x0, [x19,1192] + str x0, [x19,1200] ldr w0, [x21,#:lo12:.LANCHOR2] - tbz x0, 12, .L242 + tbz x0, 12, .L247 ldr x0, [x19,1048] ldr w1, [x0] ldr w2, [x0,344] ldr w3, [x0,304] ldr w4, [x0,308] ldr w5, [x0,312] -.L254: +.L259: adrp x0, .LC35 add x0, x0, :lo12:.LC35 bl printk -.L242: +.L247: add x1, x20, :lo12:.LANCHOR0 mov w0, 1 - strb w0, [x1,1232] + strb w0, [x1,1240] ldr w0, [x21,#:lo12:.LANCHOR2] - strh wzr, [x1,1234] - strb wzr, [x1,1236] - tbz x0, 12, .L236 + strh wzr, [x1,1242] + strb wzr, [x1,1244] + tbz x0, 12, .L241 adrp x0, .LC36 ldrb w1, [x1,1028] add x0, x0, :lo12:.LC36 bl printk -.L236: +.L241: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 64 @@ -1196,186 +1279,14 @@ nandc_init: .global timer_delay_ns .type timer_delay_ns, %function timer_delay_ns: - sub sp, sp, #16 - lsr w0, w0, 4 - str w0, [sp,12] -.L256: - ldr w0, [sp,12] - sub w1, w0, #1 - str w1, [sp,12] - cbnz w0, .L256 - add sp, sp, 16 + stp x29, x30, [sp, -16]! + uxtw x0, w0 + add x29, sp, 0 + bl __ndelay + ldp x29, x30, [sp], 16 ret .size timer_delay_ns, .-timer_delay_ns .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 w0, 120 - bl timer_delay_ns - ldr w0, [x19] - ldr x19, [sp,16] - ldp x29, x30, [sp], 32 - uxtb w0, w0 - ret - .size flash_read_status, .-flash_read_status - .align 2 - .global toshiba_set_rr_para - .type toshiba_set_rr_para, %function -toshiba_set_rr_para: - uxtb w1, w1 - mov w3, 5 - add w2, w1, 1 - stp x29, x30, [sp, -96]! - smull x3, w2, w3 - adrp x2, .LANCHOR1 - add x29, sp, 0 - add x2, x2, :lo12:.LANCHOR1 - stp x21, x22, [sp,32] - stp x23, x24, [sp,48] - add x23, x2, x1, sxtw - add x24, x2, 88 - add x21, x2, 136 - stp x19, x20, [sp,16] - stp x25, x26, [sp,64] - str x27, [sp,80] - mov x22, x0 - add x24, x24, x3 - add x21, x21, x3 - mov x20, 0 - adrp x26, .LANCHOR0 - mov w27, 85 - mov x19, x2 -.L260: - add x25, x26, :lo12:.LANCHOR0 - ldrb w0, [x25,1238] - cmp w0, w20 - bls .L266 - add x0, x19, 88 - str w27, [x22,8] - ldrsb w0, [x20,x0] - str w0, [x22,4] - mov w0, 200 - bl timer_delay_ns - ldrb w0, [x25,1237] - cmp w0, 34 - bne .L261 - ldrsb w0, [x24,x20] - b .L265 -.L261: - cmp w0, 35 - bne .L263 - ldrsb w0, [x21,x20] - b .L265 -.L263: - ldrsb w0, [x23,232] -.L265: - str w0, [x22] - add x20, x20, 1 - b .L260 -.L266: - 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 - .size toshiba_set_rr_para, .-toshiba_set_rr_para - .align 2 - .type hynix_set_rr_para, %function -hynix_set_rr_para: - stp x29, x30, [sp, -64]! - adrp x3, .LANCHOR0 - uxtb w1, w1 - add x3, x3, :lo12:.LANCHOR0 - add x29, sp, 0 - uxtb w0, w0 - stp x21, x22, [sp,32] - str x23, [sp,48] - stp x19, x20, [sp,16] - ldr x2, [x3,1240] - ldr x19, [x3,1048] - add x23, x2, 128 - add x21, x2, 112 - ldrb w22, [x2,113] - ldrb w2, [x2,112] - mul w1, w1, w22 - cmp w2, 8 - sxtw x1, w1 - beq .L268 - sxtw x2, w0 - mov x3, 160 - madd x2, x2, x3, x1 - add x2, x2, 32 - add x21, x21, x2 - b .L269 -.L268: - add x1, x1, 32 - add x21, x21, x1 -.L269: - ubfiz x0, x0, 8, 8 - mov x20, 0 - add x19, x19, x0 - mov w0, 54 - str w0, [x19,2056] -.L270: - cmp w22, w20, uxtb - bls .L272 - ldrb w0, [x23,x20] - str w0, [x19,2052] - mov w0, 120 - bl timer_delay_ns - ldrsb w0, [x21,x20] - add x20, x20, 1 - str w0, [x19,2048] - b .L270 -.L272: - mov w0, 22 - str w0, [x19,2056] - ldp x19, x20, [sp,16] - ldp x21, x22, [sp,32] - ldr x23, [sp,48] - ldp x29, x30, [sp], 64 - ret - .size hynix_set_rr_para, .-hynix_set_rr_para - .align 2 - .global hynix_reconfig_rr_para - .type hynix_reconfig_rr_para, %function -hynix_reconfig_rr_para: - stp x29, x30, [sp, -32]! - uxtb w0, w0 - add x29, sp, 0 - stp x19, x20, [sp,16] - adrp x19, .LANCHOR0 - add x19, x19, :lo12:.LANCHOR0 - ldrb w1, [x19,1237] - sub w1, w1, #1 - uxtb w1, w1 - cmp w1, 7 - bhi .L273 - ldr x1, [x19,1240] - sxtw x20, w0 - add x1, x1, x20 - ldrb w1, [x1,120] - cbz w1, .L273 - mov w1, 0 - bl hynix_set_rr_para - ldr x0, [x19,1240] - add x20, x0, x20 - strb wzr, [x20,120] -.L273: - ldp x19, x20, [sp,16] - ldp x29, x30, [sp], 32 - ret - .size hynix_reconfig_rr_para, .-hynix_reconfig_rr_para - .align 2 .global nandc_set_ddr_para .type nandc_set_ddr_para, %function nandc_set_ddr_para: @@ -1389,12 +1300,12 @@ nandc_set_ddr_para: lsl w0, w0, 8 orr w0, w2, w0 orr w0, w0, 3 - bne .L279 + bne .L262 str w0, [x1,80] - b .L278 -.L279: + b .L261 +.L262: str w0, [x1,304] -.L278: +.L261: ret .size nandc_set_ddr_para, .-nandc_set_ddr_para .align 2 @@ -1406,12 +1317,12 @@ nandc_get_ddr_para: ldrb w1, [x0,1028] ldr x0, [x0,1048] cmp w1, 9 - bne .L282 + bne .L265 ldr w0, [x0,80] - b .L284 -.L282: + b .L267 +.L265: ldr w0, [x0,304] -.L284: +.L267: ubfx x0, x0, 8, 8 ret .size nandc_get_ddr_para, .-nandc_get_ddr_para @@ -1425,7 +1336,7 @@ nandc_set_if_mode: tst w0, 6 ldr x2, [x3,1048] ldr w1, [x2] - beq .L286 + beq .L269 orr w1, w1, 24576 and w0, w0, 4 and w1, w1, -32769 @@ -1436,7 +1347,7 @@ nandc_set_if_mode: csel w1, w4, w1, ne cmp w0, 9 mov w0, 8321 - bne .L288 + bne .L271 str w0, [x2,8] mov w0, 4099 movk w0, 0x10, lsl 16 @@ -1445,8 +1356,8 @@ nandc_set_if_mode: str w0, [x2,84] mov w0, 39 str w0, [x2,84] - b .L289 -.L288: + b .L272 +.L271: str w0, [x2,344] mov w0, 4099 movk w0, 0x10, lsl 16 @@ -1455,10 +1366,10 @@ nandc_set_if_mode: str w0, [x2,308] mov w0, 39 str w0, [x2,308] - b .L289 -.L286: + b .L272 +.L269: and w1, w1, -8193 -.L289: +.L272: str w1, [x2] ret .size nandc_set_if_mode, .-nandc_set_if_mode @@ -1503,18 +1414,18 @@ flash_wait_device_ready_raw: stp x25, x26, [sp,64] stp x27, x28, [sp,80] mov w22, w2 - ldrb w0, [x0,1145] + ldrb w0, [x0,1153] cmp w0, w21 - bhi .L295 + bhi .L278 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - mov w2, 805 + mov w2, 812 add x1, x1, 240 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L295: +.L278: add x0, x20, :lo12:.LANCHOR0 add x21, x0, x21, sxtw ldrb w21, [x21,1248] @@ -1525,7 +1436,7 @@ flash_wait_device_ready_raw: ubfiz x27, x21, 8, 8 mov w28, 120 and w19, w19, 255 -.L300: +.L283: mov w0, w21 bl nandc_cs add x1, x26, x27 @@ -1535,12 +1446,12 @@ flash_wait_device_ready_raw: str w23, [x1,2052] ldrb w0, [x0,1256] str w24, [x1,2052] - cbz w0, .L296 + cbz w0, .L279 str w25, [x1,2052] -.L296: - mov w0, 120 +.L279: + mov x0, 600 str x1, [x29,104] - bl timer_delay_ns + bl __const_udelay ldr x1, [x29,104] mov w0, w21 ldr w1, [x1,2048] @@ -1550,9 +1461,9 @@ flash_wait_device_ready_raw: ldr x1, [x29,104] and w0, w22, w1 cmp w0, w22 - bne .L300 + bne .L283 cmp w1, 255 - beq .L300 + beq .L283 mov w0, w1 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -1584,26 +1495,26 @@ flash_wait_device_ready: and w5, w6, w5 ubfx x0, x0, 24, 2 uxtb w5, w5 - cbnz w0, .L303 + cbnz w0, .L286 ldrb w0, [x4,#:lo12:.LANCHOR0] - cbz w0, .L304 + cbz w0, .L287 ldrb w0, [x7,1] - cbz w0, .L303 -.L304: + cbz w0, .L286 +.L287: add x4, x4, :lo12:.LANCHOR0 ldrh w3, [x4,2] udiv w0, w1, w3 mul w0, w0, w3 sub w3, w1, w0 ldrb w1, [x4,1] - cbz w1, .L305 + cbz w1, .L288 add w1, w0, w3, lsl 1 - b .L303 -.L305: + b .L286 +.L288: add x4, x4, 4 ldrh w3, [x4,w3,uxtw 1] add w1, w3, w0 -.L303: +.L286: mov w0, w5 bl flash_wait_device_ready_raw ldp x29, x30, [sp], 16 @@ -1619,22 +1530,22 @@ nandc_wait_flash_ready_no_delay: mov w19, 34464 adrp x20, .LANCHOR0 movk w19, 0x1, lsl 16 -.L314: +.L297: add x0, x20, :lo12:.LANCHOR0 ldr x0, [x0,1048] ldr w0, [x0] str w0, [x29,40] ldr w0, [x29,40] - tbnz x0, 9, .L315 - mov w0, 10 - bl timer_delay_ns + tbnz x0, 9, .L298 + mov x0, 50 + bl __const_udelay subs w19, w19, #1 - bne .L314 + bne .L297 mov w0, -1 - b .L313 -.L315: + b .L296 +.L298: mov w0, 0 -.L313: +.L296: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 48 ret @@ -1651,42 +1562,42 @@ zftl_flash_enter_slc_mode: add x0, x1, :lo12:.LANCHOR0 ldrb w1, [x1,#:lo12:.LANCHOR0] str x21, [sp,32] - cbz w1, .L317 + cbz w1, .L300 cmp w1, 1 ldr x19, [x0,1048] - bne .L320 + bne .L303 adrp x0, .LANCHOR2+37 ldrb w1, [x0,#:lo12:.LANCHOR2+37] - cbz w1, .L317 + cbz w1, .L300 sxtw x0, w20 add x0, x0, 8 add x20, x19, x0, lsl 8 str w1, [x20,8] - b .L317 -.L320: + b .L300 +.L303: cmp w1, 2 - bne .L322 + bne .L305 add x0, x0, x20 ldrb w1, [x0,1264] - cbz w1, .L317 + cbz w1, .L300 adrp x21, .LANCHOR2 strb wzr, [x0,1264] add x21, x21, :lo12:.LANCHOR2 add x21, x21, 8 ldrb w0, [x21,29] - cbz w0, .L317 + cbz w0, .L300 add x20, x20, 8 bl nandc_wait_flash_ready_no_delay ldrb w0, [x21,29] add x20, x19, x20, lsl 8 str w0, [x20,8] - b .L317 -.L322: + b .L300 +.L305: cmp w1, 3 - bne .L317 + bne .L300 add x21, x0, x20, sxtw ldrb w0, [x21,1264] - cbz w0, .L317 + cbz w0, .L300 bl nandc_wait_flash_ready_no_delay strb wzr, [x21,1264] ubfiz x0, x20, 8, 8 @@ -1695,19 +1606,21 @@ zftl_flash_enter_slc_mode: str w0, [x19,2056] mov w0, 145 str w0, [x19,2052] - mov w0, 100 - bl timer_delay_ns + mov x0, 500 + bl __const_udelay str wzr, [x19,2048] mov w0, 1 str w0, [x19,2048] str wzr, [x19,2048] - mov w0, 150 + mov x0, 750 str wzr, [x19,2048] - bl timer_delay_ns + bl __const_udelay bl nandc_wait_flash_ready_no_delay mov w0, 218 str w0, [x19,2056] -.L317: + mov x0, 250 + bl __const_udelay +.L300: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -1725,24 +1638,24 @@ zftl_flash_exit_slc_mode: stp x21, x22, [sp,32] add x21, x0, :lo12:.LANCHOR0 ldrb w0, [x0,#:lo12:.LANCHOR0] - cbz w0, .L335 + cbz w0, .L318 cmp w0, 1 ldr x19, [x21,1048] - bne .L338 + bne .L321 adrp x0, .LANCHOR2+38 ldrb w1, [x0,#:lo12:.LANCHOR2+38] - cbz w1, .L335 + cbz w1, .L318 sxtw x0, w20 add x0, x0, 8 add x20, x19, x0, lsl 8 str w1, [x20,8] - b .L335 -.L338: + b .L318 +.L321: cmp w0, 2 - bne .L340 + bne .L323 add x21, x21, x20 ldrb w0, [x21,1264] - cbnz w0, .L335 + cbnz w0, .L318 adrp x22, .LANCHOR2 mov w1, 4 add x22, x22, :lo12:.LANCHOR2 @@ -1752,19 +1665,19 @@ zftl_flash_exit_slc_mode: csel w0, w0, w1, eq strb w0, [x21,1264] ldrb w0, [x22,30] - cbz w0, .L335 + cbz w0, .L318 add x20, x20, 8 bl nandc_wait_flash_ready_no_delay ldrb w0, [x22,30] add x20, x19, x20, lsl 8 str w0, [x20,8] - b .L335 -.L340: + b .L318 +.L323: cmp w0, 3 - bne .L335 + bne .L318 add x21, x21, x20, sxtw ldrb w0, [x21,1264] - cbnz w0, .L335 + cbnz w0, .L318 adrp x22, .LANCHOR2 bl nandc_wait_flash_ready_no_delay add x22, x22, :lo12:.LANCHOR2 @@ -1779,27 +1692,29 @@ zftl_flash_exit_slc_mode: str w0, [x19,2056] mov w0, 145 str w0, [x19,2052] - mov w0, 100 - bl timer_delay_ns + mov x0, 500 + bl __const_udelay ldrb w0, [x22,15] cmp w0, 9 mov w0, 1 - bne .L343 + bne .L326 str w0, [x19,2048] - b .L344 -.L343: + b .L327 +.L326: ldrb w1, [x21,1264] str w1, [x19,2048] -.L344: +.L327: str w0, [x19,2048] - mov w0, 150 + mov x0, 750 str wzr, [x19,2048] str wzr, [x19,2048] - bl timer_delay_ns + bl __const_udelay bl nandc_wait_flash_ready_no_delay mov w0, 223 str w0, [x19,2056] -.L335: + mov x0, 250 + bl __const_udelay +.L318: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 48 @@ -1822,7 +1737,7 @@ flash_start_page_read: mov w20, 24 mov w23, w1 ldrb w19, [x0,1257] - ldrb w0, [x0,1145] + ldrb w0, [x0,1153] sub w20, w20, w19 lsl w19, w2, w19 lsr w1, w1, w20 @@ -1830,20 +1745,20 @@ flash_start_page_read: and w19, w1, w19 uxtb w19, w19 cmp w0, w19 - bhi .L356 + bhi .L339 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - mov w2, 1001 + mov w2, 1013 add x1, x1, 272 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L356: +.L339: add x24, x22, :lo12:.LANCHOR0 - ldrb w0, [x24,1145] + ldrb w0, [x24,1153] cmp w0, w19 - bls .L355 + bls .L338 mov w0, 1 add x19, x24, x19, sxtw lsl w20, w0, w20 @@ -1854,48 +1769,48 @@ flash_start_page_read: mov w0, w19 ubfx x23, x23, 24, 2 bl nandc_cs - cbnz w23, .L358 + cbnz w23, .L341 mov w0, w20 bl slc_phy_page_address_calc mov w20, w0 adrp x0, .LANCHOR0 ldrb w0, [x0,#:lo12:.LANCHOR0] - cbz w0, .L359 + cbz w0, .L342 mov w0, w19 bl zftl_flash_enter_slc_mode - b .L359 -.L358: - ldr x0, [x24,1136] + b .L342 +.L341: + ldr x0, [x24,1144] ldrb w0, [x0,12] cmp w0, 3 - bne .L360 + bne .L343 ldrb w0, [x24,1268] - cbnz w0, .L360 + cbnz w0, .L343 ldrb w0, [x24,1269] - cbnz w0, .L360 + cbnz w0, .L343 sxtw x0, w19 add x0, x0, 8 add x0, x25, x0, lsl 8 str w23, [x0,8] - b .L359 -.L360: + b .L342 +.L343: mov w0, w19 bl zftl_flash_exit_slc_mode -.L359: +.L342: add x0, x22, :lo12:.LANCHOR0 - ldr x0, [x0,1136] + ldr x0, [x0,1144] ldrb w1, [x0,7] cmp w1, 1 - bne .L361 + bne .L344 ldrb w0, [x0,12] cmp w0, 2 - bne .L361 + bne .L344 sxtw x0, w19 mov w1, 38 add x0, x0, 8 add x0, x25, x0, lsl 8 str w1, [x0,8] -.L361: +.L344: ubfiz x19, x19, 8, 8 and w0, w20, 255 add x1, x25, x19 @@ -1909,12 +1824,12 @@ flash_start_page_read: lsr w0, w20, 16 str w0, [x1,2052] ldrb w0, [x22,1256] - cbz w0, .L362 + cbz w0, .L345 lsr w20, w20, 24 str w20, [x1,2052] -.L362: +.L345: str w21, [x1,2056] -.L355: +.L338: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -1927,29 +1842,29 @@ flash_start_page_read: .type nandc_wait_flash_ready, %function nandc_wait_flash_ready: stp x29, x30, [sp, -48]! - mov w0, 150 + mov x0, 750 add x29, sp, 0 stp x19, x20, [sp,16] mov w19, 34464 adrp x20, .LANCHOR0 movk w19, 0x1, lsl 16 - bl timer_delay_ns -.L371: + bl __const_udelay +.L354: add x0, x20, :lo12:.LANCHOR0 ldr x0, [x0,1048] ldr w0, [x0] str w0, [x29,40] ldr w0, [x29,40] - tbnz x0, 9, .L372 - mov w0, 10 - bl timer_delay_ns + tbnz x0, 9, .L355 + mov x0, 50 + bl __const_udelay subs w19, w19, #1 - bne .L371 + bne .L354 mov w0, -1 - b .L370 -.L372: + b .L353 +.L355: mov w0, 0 -.L370: +.L353: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 48 ret @@ -1968,35 +1883,35 @@ sandisk_set_rr_para: str w0, [x20,8] mov w0, 17 str w0, [x20,4] - mov w0, 200 - bl timer_delay_ns + mov x0, 1000 + bl __const_udelay mov w1, 5 adrp x2, .LANCHOR1 add x2, x2, :lo12:.LANCHOR1 adrp x5, .LANCHOR0 smull x1, w19, w1 - add x0, x2, 88 - add x2, x2, 136 + add x0, x2, 48 + add x2, x2, 96 add x0, x0, x1 add x1, x2, x1 mov x2, 0 -.L375: +.L358: add x3, x5, :lo12:.LANCHOR0 - ldrb w4, [x3,1238] + ldrb w4, [x3,1137] cmp w4, w2 - bls .L380 - ldrb w3, [x3,1237] + bls .L363 + ldrb w3, [x3,1136] cmp w3, 67 - bne .L376 + bne .L359 ldrsb w3, [x0,x2] - b .L379 -.L376: + b .L362 +.L359: ldrsb w3, [x1,x2] -.L379: +.L362: str w3, [x20] add x2, x2, 1 - b .L375 -.L380: + b .L358 +.L363: bl nandc_wait_flash_ready ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 @@ -2085,7 +2000,7 @@ toshiba_tlc_set_rr_para: mov w21, 239 adrp x0, .LANCHOR2 str w21, [x19,8] - cbz w2, .L384 + cbz w2, .L367 mov w2, 18 str w2, [x19,4] mov x2, 7 @@ -2112,8 +2027,8 @@ toshiba_tlc_set_rr_para: ldrb w0, [x20,6] str w0, [x19] str wzr, [x19] - b .L385 -.L384: + b .L368 +.L367: add x0, x0, :lo12:.LANCHOR2 mov w3, 20 add x0, x0, 376 @@ -2123,7 +2038,7 @@ toshiba_tlc_set_rr_para: str w2, [x19] str w2, [x19] str w2, [x19] -.L385: +.L368: bl nandc_wait_flash_ready ldr x21, [sp,32] ldp x19, x20, [sp,16] @@ -2220,7 +2135,7 @@ flash_start_plane_read: stp x23, x24, [sp,48] stp x25, x26, [sp,64] stp x27, x28, [sp,80] - ubfx x23, x0, 24, 2 + ubfx x24, x0, 24, 2 ldrb w5, [x4,1257] sub w3, w3, w5 lsl w21, w2, w3 @@ -2230,27 +2145,27 @@ flash_start_plane_read: sub w21, w21, #1 and w19, w19, w2 and w22, w21, w0 - ldrb w0, [x4,1145] + ldrb w0, [x4,1153] uxtb w19, w19 and w21, w21, w1 cmp w0, w19 - bhi .L389 + bhi .L372 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - mov w2, 1128 + mov w2, 1148 add x1, x1, 1088 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L389: +.L372: add x26, x20, :lo12:.LANCHOR0 add x19, x26, x19, sxtw - ldrb w24, [x19,1248] - mov w0, w24 + ldrb w23, [x19,1248] + mov w0, w23 ldr x25, [x26,1048] bl nandc_cs - cbnz w23, .L390 + cbnz w24, .L373 mov w0, w22 bl slc_phy_page_address_calc mov w22, w0 @@ -2259,63 +2174,63 @@ flash_start_plane_read: mov w21, w0 adrp x0, .LANCHOR0 ldrb w0, [x0,#:lo12:.LANCHOR0] - cbz w0, .L391 - mov w0, w24 + cbz w0, .L374 + mov w0, w23 bl zftl_flash_enter_slc_mode - b .L391 -.L390: - ldr x0, [x26,1136] + b .L374 +.L373: + ldr x0, [x26,1144] ldrb w0, [x0,12] cmp w0, 3 - bne .L392 + bne .L375 ldrb w0, [x26,1268] - cbnz w0, .L392 + cbnz w0, .L375 ldrb w0, [x26,1269] - cbnz w0, .L392 - sxtw x0, w24 + cbnz w0, .L375 + sxtw x0, w23 add x0, x0, 8 add x0, x25, x0, lsl 8 - str w23, [x0,8] - b .L391 -.L392: - mov w0, w24 + str w24, [x0,8] + b .L374 +.L375: + mov w0, w23 bl zftl_flash_exit_slc_mode -.L391: +.L374: add x0, x20, :lo12:.LANCHOR0 - uxtb x19, w24 - and w4, w22, 255 - lsr w3, w22, 8 + uxtb x19, w23 + and w3, w22, 255 + lsr w2, w22, 8 and w28, w21, 255 lsr w27, w21, 8 - ldrb w2, [x0,1168] + ldrb w1, [x0,1176] lsr w26, w21, 16 - cmp w2, 1 - lsr w2, w22, 16 - bne .L393 + cmp w1, 1 + lsr w1, w22, 16 + bne .L376 add x19, x25, x19, lsl 8 - ldrb w1, [x0,1160] + ldrb w4, [x0,1168] ldrb w0, [x0,1256] - str w1, [x19,2056] + str w4, [x19,2056] str wzr, [x19,2052] str wzr, [x19,2052] - str w4, [x19,2052] str w3, [x19,2052] str w2, [x19,2052] - cbz w0, .L394 + str w1, [x19,2052] + cbz w0, .L377 lsr w22, w22, 24 str w22, [x19,2052] -.L394: +.L377: add x22, x20, :lo12:.LANCHOR0 - ldrb w0, [x22,1161] + ldrb w0, [x22,1169] str w0, [x19,2056] bl nandc_wait_flash_ready - cbz w23, .L395 - ldr x0, [x22,1136] + cbz w24, .L378 + ldr x0, [x22,1144] ldrb w0, [x0,12] cmp w0, 3 - bne .L395 - str w23, [x19,2056] -.L395: + bne .L378 + str w24, [x19,2056] +.L378: str wzr, [x19,2056] add x20, x20, :lo12:.LANCHOR0 str wzr, [x19,2052] @@ -2324,48 +2239,45 @@ flash_start_plane_read: str w27, [x19,2052] ldrb w0, [x20,1256] str w26, [x19,2052] - cbz w0, .L421 + cbz w0, .L404 lsr w21, w21, 24 str w21, [x19,2052] - b .L421 -.L393: - ldr x1, [x0,1136] - ldrb w0, [x1,7] - cmp w0, 1 - bne .L398 - ldrb w0, [x1,12] - cmp w0, 2 - bne .L398 - sxtw x0, w24 - mov w5, 38 - add x0, x0, 8 - add x0, x25, x0, lsl 8 - str w5, [x0,8] -.L398: - add x0, x20, :lo12:.LANCHOR0 + b .L404 +.L376: + ldr x0, [x0,1144] + ldrb w4, [x0,7] + cmp w4, 1 + bne .L381 + ldrb w4, [x0,12] + cmp w4, 2 + bne .L381 + add x23, x23, 8 + mov w4, 38 + add x23, x25, x23, lsl 8 + str w4, [x23,8] +.L381: + add x4, x20, :lo12:.LANCHOR0 add x19, x25, x19, lsl 8 - ldrb w0, [x0,1160] - str w0, [x19,2056] - str w4, [x19,2052] + ldrb w4, [x4,1168] + str w4, [x19,2056] str w3, [x19,2052] str w2, [x19,2052] - cbz w23, .L399 - ldrb w0, [x1,12] + str w1, [x19,2052] + cbz w24, .L382 + ldrb w0, [x0,12] cmp w0, 3 - bne .L399 - str w23, [x19,2056] -.L399: + bne .L382 + str w24, [x19,2056] +.L382: add x20, x20, :lo12:.LANCHOR0 - ldrb w0, [x20,1161] + ldrb w0, [x20,1169] str w0, [x19,2056] str w28, [x19,2052] str w27, [x19,2052] str w26, [x19,2052] -.L421: +.L404: mov w0, 48 str w0, [x19,2056] - mov w0, w24 - bl nandc_de_cs ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -2392,93 +2304,93 @@ flash_set_interface_mode: add x22, x22, :lo12:.LANCHOR0 add x23, x23, :lo12:.LC38 add x24, x24, :lo12:.LC37 -.L437: +.L420: add x0, x22, x21, lsl 3 ldr x20, [x22,1048] adrp x1, .LANCHOR0 ldrb w19, [x0,1272] cmp w19, 152 - beq .L423 + beq .L406 cmp w19, 69 - beq .L423 + beq .L406 cmp w19, 155 - beq .L423 + beq .L406 cmp w19, 44 cset w2, eq cmp w19, 137 cset w0, eq orr w0, w2, w0 - cbz w0, .L424 -.L423: + cbz w0, .L407 +.L406: add x1, x1, :lo12:.LANCHOR0 cmp w25, 1 ldrb w1, [x1,1304] - bne .L426 - tbz x1, 0, .L424 + bne .L409 + tbz x1, 0, .L407 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L427 + tbz x0, 12, .L410 mov x0, x24 bl printk -.L427: +.L410: add x1, x20, x21, lsl 8 mov w0, 239 cmp w19, 137 str w0, [x1,2056] - beq .L438 + beq .L421 cmp w19, 44 - bne .L428 -.L438: + bne .L411 +.L421: mov w0, 1 - b .L459 -.L428: + b .L442 +.L411: cmp w19, 155 mov w0, 1 - bne .L436 -.L459: + bne .L419 +.L442: str w0, [x1,2052] mov w0, 5 - b .L457 -.L426: - tbz x1, 2, .L424 + b .L440 +.L409: + tbz x1, 2, .L407 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L432 + tbz x0, 12, .L415 mov x0, x23 bl printk -.L432: +.L415: add x1, x20, x21, lsl 8 mov w0, 239 cmp w19, 137 str w0, [x1,2056] - beq .L439 + beq .L422 cmp w19, 44 cset w0, eq - cbz w0, .L433 -.L439: + cbz w0, .L416 +.L422: mov w0, 1 str w0, [x1,2052] mov w0, 35 - b .L457 -.L433: + b .L440 +.L416: cmp w19, 155 - bne .L436 + bne .L419 mov w0, 1 str w0, [x1,2052] mov w0, 37 - b .L457 -.L436: + b .L440 +.L419: mov w2, 128 str w2, [x1,2052] -.L457: +.L440: str w0, [x1,2048] str wzr, [x1,2048] str wzr, [x1,2048] str wzr, [x1,2048] -.L424: +.L407: add x21, x21, 1 cmp x21, 4 - bne .L437 + bne .L420 bl nandc_wait_flash_ready ldr x25, [sp,64] mov w0, 0 @@ -2505,8 +2417,8 @@ mt_auto_read_calibration_config: str w0, [x19,2056] mov w0, 150 str w0, [x19,2052] - mov w0, 200 - bl timer_delay_ns + mov x0, 1000 + bl __const_udelay ldr x1, [x29,40] str w1, [x19,2048] str wzr, [x19,2048] @@ -2553,9 +2465,9 @@ flash_read_id: mov w0, 144 add x20, x20, x2 str w0, [x20,2056] - mov w0, 200 + mov x0, 1000 str wzr, [x20,2052] - bl timer_delay_ns + bl __const_udelay ldr w0, [x20,2048] strb w0, [x19] ldr w0, [x20,2048] @@ -2578,7 +2490,7 @@ flash_read_id: sub w0, w2, #1 uxtb w0, w0 cmp w0, 253 - bhi .L462 + bhi .L445 adrp x0, .LC39 ldrb w3, [x19,1] ldrb w4, [x19,2] @@ -2588,7 +2500,7 @@ flash_read_id: ldrb w6, [x19,4] ldrb w7, [x19,5] bl printk -.L462: +.L445: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -2650,9 +2562,9 @@ flash_read_otp_data: mov w0, 239 add x19, x19, x3 str w0, [x19,2056] - mov w0, 50 + mov x0, 250 str w22, [x19,2052] - bl timer_delay_ns + bl __const_udelay mov w0, 1 str w0, [x19,2048] str wzr, [x19,2048] @@ -2683,18 +2595,18 @@ flash_read_otp_data: str w0, [x19,2056] bl nandc_wait_flash_ready mov x1, 0 -.L466: +.L449: ldr w0, [x19,2048] strb w0, [x23,x1] add x1, x1, 1 cmp x1, 16384 - bne .L466 + bne .L449 mov w0, 239 str w0, [x19,2056] mov w0, 144 str w0, [x19,2052] - mov w0, 50 - bl timer_delay_ns + mov x0, 250 + bl __const_udelay str wzr, [x19,2048] str wzr, [x19,2048] mov w0, w21 @@ -2724,9 +2636,9 @@ sandisk_prog_test_bad_block: sxtw x2, w0 add x2, x2, 8 add x2, x19, x2, lsl 8 - cbnz w3, .L482 + cbnz w3, .L466 mov w3, 162 -.L482: +.L466: ubfiz x0, x0, 8, 8 str w3, [x2,8] add x19, x19, x0 @@ -2746,24 +2658,28 @@ sandisk_prog_test_bad_block: bl nandc_wait_flash_ready mov w0, 112 str w0, [x19,2056] - mov w0, 80 - bl timer_delay_ns + mov x0, 1000 + bl __const_udelay ldr w2, [x19,2048] - mov w0, 5 ldr x1, [x29,56] + cmp w2, 255 + bne .L454 + ldr w2, [x19,2048] +.L454: + mov w0, 5 ands w21, w2, w0 - beq .L471 + beq .L455 ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L471 + tbz x0, 12, .L455 adrp x0, .LC41 add x0, x0, :lo12:.LC41 bl printk -.L471: +.L455: add x20, x20, :lo12:.LANCHOR2 ldrb w0, [x20,38] - cbz w0, .L472 + cbz w0, .L456 str w0, [x19,2056] -.L472: +.L456: mov w0, w21 ldr x21, [sp,32] ldp x19, x20, [sp,16] @@ -2796,22 +2712,22 @@ nandc_bch_sel: adrp x1, .LANCHOR0 add x1, x1, :lo12:.LANCHOR0 ldrb w2, [x1,1028] - strb w0, [x1,1236] + strb w0, [x1,1244] cmp w2, 9 ldr x2, [x1,1048] ldr w1, [sp,8] - bne .L485 + bne .L469 str w1, [x2,16] cmp w0, 70 mov w1, 0 - beq .L486 + beq .L470 cmp w0, 60 mov w1, 3 - beq .L486 + beq .L470 cmp w0, 40 mov w1, 2 csinc w1, w1, wzr, eq -.L486: +.L470: str wzr, [sp] ldr w0, [sp] bfi w0, w1, 25, 3 @@ -2821,8 +2737,8 @@ nandc_bch_sel: str w0, [sp] ldr w0, [sp] str w0, [x2,32] - b .L484 -.L485: + b .L468 +.L469: str w1, [x2,8] mov w3, 16 str wzr, [sp] @@ -2833,13 +2749,13 @@ nandc_bch_sel: ldr w1, [sp] and w1, w1, -262145 str w1, [sp] - beq .L494 + beq .L478 cmp w0, 24 - bne .L490 + bne .L474 ldr w0, [sp] orr w0, w0, 16 - b .L495 -.L490: + b .L479 +.L474: ldr w1, [sp] cmp w0, 40 orr w1, w1, 262144 @@ -2847,19 +2763,19 @@ nandc_bch_sel: ldr w1, [sp] orr w1, w1, 16 str w1, [sp] - bne .L489 -.L494: + bne .L473 +.L478: ldr w0, [sp] and w0, w0, -17 -.L495: +.L479: str w0, [sp] -.L489: +.L473: ldr w0, [sp] orr w0, w0, 1 str w0, [sp] ldr w0, [sp] str w0, [x2,12] -.L484: +.L468: add sp, sp, 16 ret .size nandc_bch_sel, .-nandc_bch_sel @@ -2884,7 +2800,7 @@ zftl_flash_resume: str w2, [x1,4] ldr x1, [x0,1048] ldr w2, [x0,1064] - bne .L497 + bne .L481 str w2, [x1,16] ldr w2, [x0,1068] str w2, [x1,32] @@ -2896,8 +2812,8 @@ zftl_flash_resume: str w2, [x1,520] ldr w0, [x0,1084] str w0, [x1,8] - b .L498 -.L497: + b .L482 +.L481: str w2, [x1,8] ldr w2, [x0,1068] str w2, [x1,12] @@ -2909,17 +2825,17 @@ zftl_flash_resume: str w2, [x1,336] ldr w0, [x0,1084] str w0, [x1,344] -.L498: +.L482: mov x19, 0 add x21, x20, :lo12:.LANCHOR0 mov w23, 2 -.L500: +.L484: add x0, x21, x19, lsl 3 ldrb w0, [x0,1272] sub w0, w0, #1 uxtb w0, w0 cmp w0, 253 - bhi .L499 + bhi .L483 uxtb w22, w19 mov w0, w22 bl flash_reset @@ -2927,13 +2843,13 @@ zftl_flash_resume: strb w23, [x19,x0] mov w0, w22 bl zftl_flash_enter_slc_mode -.L499: +.L483: add x19, x19, 1 cmp x19, 4 - bne .L500 + bne .L484 add x20, x20, :lo12:.LANCHOR0 - ldrb w0, [x20,1184] - cbz w0, .L501 + ldrb w0, [x20,1192] + cbz w0, .L485 mov w0, 1 bl nandc_set_if_mode mov w0, w19 @@ -2943,7 +2859,7 @@ zftl_flash_resume: ldr w0, [x20,1072] lsr w0, w0, 8 bl nandc_set_ddr_para -.L501: +.L485: adrp x0, .LANCHOR2+28 ldrb w0, [x0,#:lo12:.LANCHOR2+28] bl nandc_bch_sel @@ -2978,30 +2894,30 @@ nandc_iqr_wait_flash_ready: ldrb w1, [x19,1028] ldr x0, [x19,1048] cmp w1, 9 - bne .L508 + bne .L492 ldr w1, [x0,292] orr w1, w1, 2 str w1, [x0,292] ldr w1, [x0,288] orr w1, w1, 2 str w1, [x0,288] - b .L509 -.L508: + b .L493 +.L492: ldr w1, [x0,368] orr w1, w1, 2 str w1, [x0,368] ldr w1, [x0,364] orr w1, w1, 2 str w1, [x0,364] -.L509: +.L493: ldr w1, [x0] - tbnz x1, 9, .L510 + tbnz x1, 9, .L494 bl wait_for_nand_flash_ready - b .L507 -.L510: + b .L491 +.L494: mov w1, 1 bl nandc_irq_disable -.L507: +.L491: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -3021,24 +2937,24 @@ flash_erase_duplane_block: stp x23, x24, [sp,48] uxtb w20, w1 mov w24, w2 - ldrb w0, [x0,1145] + ldrb w0, [x0,1153] mov w23, w3 cmp w0, w19 - bhi .L513 + bhi .L497 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - mov w2, 688 + mov w2, 695 add x1, x1, 1112 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L513: +.L497: add x1, x21, :lo12:.LANCHOR0 mov w0, -1 - ldrb w2, [x1,1145] + ldrb w2, [x1,1153] cmp w2, w19 - bls .L514 + bls .L498 adrp x0, .LANCHOR2 add x19, x1, x19, sxtw ldrb w25, [x19,1248] @@ -3047,24 +2963,24 @@ flash_erase_duplane_block: mov x22, x25 add x25, x25, 8 add x25, x19, x25, lsl 8 - tbz x0, 4, .L515 + tbz x0, 4, .L499 adrp x0, .LC42 mov w1, w22 add x0, x0, :lo12:.LC42 mov w2, w24 mov w3, w23 bl printk -.L515: +.L499: bl nandc_wait_flash_ready mov w0, w22 bl nandc_cs mov w0, w22 - cbnz w20, .L516 + cbnz w20, .L500 bl zftl_flash_enter_slc_mode - b .L517 -.L516: + b .L501 +.L500: bl zftl_flash_exit_slc_mode -.L517: +.L501: ubfiz x4, x22, 8, 8 mov w0, 96 add x19, x19, x4 @@ -3077,14 +2993,14 @@ flash_erase_duplane_block: str w0, [x19,2052] add x0, x21, :lo12:.LANCHOR0 ldrb w0, [x0,1256] - cbz w0, .L518 + cbz w0, .L502 lsr w0, w24, 24 str w0, [x19,2052] -.L518: +.L502: add x0, x21, :lo12:.LANCHOR0 mov w20, 0 ldrb w0, [x0,1305] - cbnz w0, .L519 + cbnz w0, .L503 mov w0, 208 str w0, [x19,2056] mov w20, 5 @@ -3092,7 +3008,7 @@ flash_erase_duplane_block: mov x0, x25 bl flash_read_status and w20, w0, w20 -.L519: +.L503: mov w0, 96 add x21, x21, :lo12:.LANCHOR0 str w0, [x19,2056] @@ -3103,10 +3019,10 @@ flash_erase_duplane_block: lsr w0, w23, 16 str w0, [x19,2052] ldrb w0, [x21,1256] - cbz w0, .L520 + cbz w0, .L504 lsr w23, w23, 24 str w23, [x19,2052] -.L520: +.L504: mov w0, 208 str w0, [x19,2056] mov w19, 5 @@ -3121,14 +3037,14 @@ flash_erase_duplane_block: ldr x2, [x29,88] and w19, w2, w19 orr w19, w19, w20 - cbz w19, .L521 + cbz w19, .L505 adrp x0, .LC43 mov w1, w24 add x0, x0, :lo12:.LC43 bl printk -.L521: +.L505: mov w0, w19 -.L514: +.L498: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -3156,25 +3072,25 @@ flash_erase_block_en: sub w19, w0, w19 mov w0, 1 lsl w19, w0, w19 - ldrb w0, [x1,1145] + ldrb w0, [x1,1153] sub w19, w19, #1 cmp w0, w22 and w19, w19, w2 - bhi .L537 + bhi .L521 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - mov w2, 750 + mov w2, 757 add x1, x1, 1144 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L537: +.L521: add x1, x20, :lo12:.LANCHOR0 mov w0, -1 - ldrb w2, [x1,1145] + ldrb w2, [x1,1153] cmp w2, w22 - bls .L538 + bls .L522 add x0, x1, x22, sxtw ldrb w24, [x0,1248] adrp x0, .LANCHOR2 @@ -3183,24 +3099,24 @@ flash_erase_block_en: add x24, x24, 8 ldr w0, [x0,#:lo12:.LANCHOR2] add x24, x26, x24, lsl 8 - tbz x0, 4, .L539 + tbz x0, 4, .L523 adrp x0, .LC44 mov w1, w21 add x0, x0, :lo12:.LC44 mov w2, w23 mov w3, w25 bl printk -.L539: +.L523: bl nandc_wait_flash_ready mov w0, w21 bl nandc_cs mov w0, w21 - cbnz w25, .L540 + cbnz w25, .L524 bl zftl_flash_enter_slc_mode - b .L541 -.L540: + b .L525 +.L524: bl zftl_flash_exit_slc_mode -.L541: +.L525: ubfiz x3, x21, 8, 8 mov w0, 96 add x3, x26, x3 @@ -3213,10 +3129,10 @@ flash_erase_block_en: str w0, [x3,2052] add x0, x20, :lo12:.LANCHOR0 ldrb w0, [x0,1256] - cbz w0, .L542 + cbz w0, .L526 lsr w19, w19, 24 str w19, [x3,2052] -.L542: +.L526: mov w0, 208 str w0, [x3,2056] bl nandc_iqr_wait_flash_ready @@ -3228,7 +3144,7 @@ flash_erase_block_en: bl nandc_de_cs mov w3, 5 ands w3, w19, w3 - beq .L543 + beq .L527 add x20, x20, :lo12:.LANCHOR0 adrp x0, .LC45 add x0, x0, :lo12:.LC45 @@ -3237,9 +3153,9 @@ flash_erase_block_en: udiv w2, w23, w2 bl printk mov w3, -1 -.L543: +.L527: mov w0, w3 -.L538: +.L522: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -3278,28 +3194,28 @@ flash_erase_all: mov x21, x0 mul w20, w1, w20 uxth w20, w20 -.L556: - ldrb w0, [x23,1145] +.L540: + ldrb w0, [x23,1153] cmp w0, w19 - bls .L560 + bls .L544 add x0, x23, x19, sxtw ldrb w24, [x0,1248] mov w22, 0 -.L557: +.L541: cmp w20, w22, uxth - bls .L561 + bls .L545 add x0, x21, :lo12:.LANCHOR0 ldrh w1, [x0,2] mov w0, w24 mul w1, w22, w1 add w22, w22, 1 bl flash_erase_block - b .L557 -.L561: + b .L541 +.L545: add w19, w19, 1 uxth w19, w19 - b .L556 -.L560: + b .L540 +.L544: adrp x0, .LC46 mov w1, 0 add x0, x0, :lo12:.LC46 @@ -3338,7 +3254,7 @@ nandc_xfer_start: add w5, w1, 1 ldrb w2, [x4,1028] cmp w2, 9 - bne .L564 + bne .L548 str wzr, [x29,56] mov w2, 1 ubfx x5, x5, 1, 6 @@ -3366,35 +3282,35 @@ nandc_xfer_start: ldr w1, [x29,56] orr w1, w1, 128 str w1, [x29,56] - ldrb w1, [x4,1185] - cbz w1, .L565 - ldrb w1, [x4,1232] - cbz w1, .L565 + ldrb w1, [x4,1193] + cbz w1, .L549 + ldrb w1, [x4,1240] + cbz w1, .L549 ldr w1, [x29,56] orr w1, w1, 512 str w1, [x29,56] -.L565: +.L549: ldr w1, [x29,56] add x20, x20, :lo12:.LANCHOR0 mov w2, w21 ubfx x1, x1, 22, 6 lsl w1, w1, 10 - str x3, [x20,1208] - str x0, [x20,1200] + str x3, [x20,1216] + str x0, [x20,1208] bl rknand_dma_map_single - str w0, [x20,1216] + str w0, [x20,1224] ldr w1, [x29,56] mov w2, w21 - ldr x0, [x20,1208] + ldr x0, [x20,1216] ubfx x1, x1, 22, 6 lsl w1, w1, 2 bl rknand_dma_map_single - str w0, [x20,1220] + str w0, [x20,1228] mov w1, 1 - str w1, [x20,1224] + str w1, [x20,1232] ldr x1, [x20,1048] cmp w21, wzr - ldr w2, [x20,1216] + ldr w2, [x20,1224] str w2, [x1,52] mov w2, 16 str w0, [x1,56] @@ -3417,7 +3333,7 @@ nandc_xfer_start: ldr w0, [x29,64] bfi w0, w2, 1, 1 str w0, [x29,64] - ldrh w2, [x20,1234] + ldrh w2, [x20,1242] ldr w0, [x29,64] orr w0, w0, 1 str w0, [x29,64] @@ -3433,8 +3349,8 @@ nandc_xfer_start: str w0, [x29,56] ldr w0, [x29,56] str w0, [x1,16] - b .L563 -.L564: + b .L547 +.L548: ldr x2, [x4,1048] mov w7, 16 ubfx x5, x5, 1, 6 @@ -3472,8 +3388,8 @@ nandc_xfer_start: ldr w2, [x29,56] bfi w2, w5, 22, 6 str w2, [x29,56] - cbz w21, .L567 - ldrb w2, [x4,1236] + cbz w21, .L551 + ldrb w2, [x4,1244] ubfx x1, x1, 1, 7 mov w5, 128 cmp w2, 25 @@ -3481,47 +3397,47 @@ nandc_xfer_start: csel w2, w2, w5, cc add x1, x3, x1, lsl 2 mov w5, 0 -.L569: +.L553: cmp x3, x1 add w7, w5, w2 - beq .L571 + beq .L555 ldrh w6, [x3,2] and x5, x5, 4294967292 - ldr x8, [x4,1192] + ldr x8, [x4,1200] ldrh w9, [x3],4 orr w6, w9, w6, lsl 16 str w6, [x8,x5] mov w5, w7 - b .L569 -.L567: - ldr x1, [x4,1192] + b .L553 +.L551: + ldr x1, [x4,1200] str w6, [x1] -.L571: +.L555: add x20, x20, :lo12:.LANCHOR0 mov w2, w21 - ldr x1, [x20,1192] - str x1, [x20,1208] + ldr x1, [x20,1200] + str x1, [x20,1216] ldr w1, [x29,56] - str x0, [x20,1200] + str x0, [x20,1208] ubfx x1, x1, 22, 6 lsl w1, w1, 10 bl rknand_dma_map_single - str w0, [x20,1216] + str w0, [x20,1224] ldr w1, [x29,56] mov w2, w21 - ldr x0, [x20,1208] + ldr x0, [x20,1216] ubfx x1, x1, 22, 6 lsl w1, w1, 7 bl rknand_dma_map_single - str w0, [x20,1220] + str w0, [x20,1228] ldr x1, [x20,1048] mov w0, 1 - str w0, [x20,1224] + str w0, [x20,1232] mov w2, 16 - ldr w0, [x20,1216] + ldr w0, [x20,1224] cmp w21, wzr str w0, [x1,20] - ldr w0, [x20,1220] + ldr w0, [x20,1228] str w0, [x1,24] str wzr, [x29,64] ldr w0, [x29,64] @@ -3555,7 +3471,7 @@ nandc_xfer_start: str w0, [x29,56] ldr w0, [x29,56] str w0, [x1,8] -.L563: +.L547: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 80 @@ -3573,18 +3489,18 @@ nandc_set_seed: adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 orr w2, w1, -1073741824 - ldrb w3, [x0,1232] + ldrb w3, [x0,1240] cmp w3, wzr csel w1, w2, w1, ne ldrb w2, [x0,1028] ldr x0, [x0,1048] cmp w2, 9 - bne .L581 + bne .L565 str w1, [x0,520] - b .L579 -.L581: + b .L563 +.L565: str w1, [x0,336] -.L579: +.L563: ret .size nandc_set_seed, .-nandc_set_seed .align 2 @@ -3598,36 +3514,36 @@ zftl_flash_de_init: bl nandc_wait_flash_ready add x1, x19, :lo12:.LANCHOR0 ldrb w0, [x19,#:lo12:.LANCHOR0] - cbz w0, .L586 - ldrb w0, [x1,1146] - cbnz w0, .L586 + cbz w0, .L570 + ldrb w0, [x1,1154] + cbnz w0, .L570 ldrb w1, [x1,1028] cmp w1, 9 - beq .L586 + beq .L570 bl zftl_flash_exit_slc_mode -.L586: +.L570: mov w0, 0 add x20, x19, :lo12:.LANCHOR0 bl hynix_reconfig_rr_para - ldrb w0, [x20,1184] - cbz w0, .L587 + ldrb w0, [x20,1192] + cbz w0, .L571 ldrb w0, [x20,1304] - tbz x0, 0, .L587 + tbz x0, 0, .L571 mov w0, 1 bl flash_set_interface_mode mov w0, 1 bl nandc_set_if_mode - strb wzr, [x20,1184] -.L587: + strb wzr, [x20,1192] +.L571: add x19, x19, :lo12:.LANCHOR0 - ldrb w0, [x19,1232] - cbz w0, .L588 + ldrb w0, [x19,1240] + cbz w0, .L572 mov w0, 0 - strb wzr, [x19,1232] + strb wzr, [x19,1240] bl nandc_set_seed mov w0, 1 - strb w0, [x19,1232] -.L588: + strb w0, [x19,1240] +.L572: mov w0, 0 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 @@ -3637,8 +3553,8 @@ zftl_flash_de_init: .global nandc_randomizer_enable .type nandc_randomizer_enable, %function nandc_randomizer_enable: - adrp x1, .LANCHOR0+1232 - strb w0, [x1,#:lo12:.LANCHOR0+1232] + adrp x1, .LANCHOR0+1240 + strb w0, [x1,#:lo12:.LANCHOR0+1240] ret .size nandc_randomizer_enable, .-nandc_randomizer_enable .align 2 @@ -3665,7 +3581,7 @@ zbuf_init: stp x21, x22, [sp,32] add x19, x19, 1312 mov x22, x0 -.L607: +.L591: add x21, x22, :lo12:.LANCHOR0 uxtb w0, w20 add w1, w0, 1 @@ -3683,7 +3599,7 @@ zbuf_init: bl ftl_malloc str x0, [x19,-40] cmp w20, 32 - bne .L607 + bne .L591 strb w20, [x21,3362] mov w0, -1 strb wzr, [x21,3361] @@ -3701,7 +3617,7 @@ buf_reinit: mov w2, 0 add x1, x0, :lo12:.LANCHOR0 add x1, x1, 1312 -.L610: +.L594: uxtb w3, w2 add w2, w2, 1 add w4, w3, 1 @@ -3711,7 +3627,7 @@ buf_reinit: strb wzr, [x1,2] add x1, x1, 64 str xzr, [x1,-48] - bne .L610 + bne .L594 add x0, x0, :lo12:.LANCHOR0 mov w1, -1 strb wzr, [x0,3361] @@ -3732,10 +3648,10 @@ buf_add_tail: mov x19, x1 ldrb w1, [x20] cmp w1, 255 - bne .L618 + bne .L602 ldrb w0, [x19,1] cmp w0, 255 - bne .L614 + bne .L598 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 @@ -3744,23 +3660,23 @@ buf_add_tail: add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L614: +.L598: ldrb w0, [x19,1] strb w0, [x20] - b .L612 -.L618: + b .L596 +.L602: adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 add x0, x0, 1312 -.L619: +.L603: mov w20, w1 sbfiz x1, x1, 6, 32 ldrb w1, [x0,x1] cmp w1, 255 - bne .L619 + bne .L603 ldrb w0, [x19,1] cmp w0, 255 - bne .L616 + bne .L600 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 @@ -3769,14 +3685,14 @@ buf_add_tail: add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L616: +.L600: adrp x0, .LANCHOR0 sbfiz x20, x20, 6, 32 add x0, x0, :lo12:.LANCHOR0 ldrb w1, [x19,1] add x0, x0, 1312 strb w1, [x0,x20] -.L612: +.L596: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret @@ -3817,22 +3733,22 @@ zbuf_free: and w1, w1, 8 uxtb w1, w1 strb w1, [x0,2] - cbz w1, .L622 + cbz w1, .L606 ldr w1, [x0,36] cmn w1, #1 - beq .L622 + beq .L606 mov x1, x0 add x0, x19, :lo12:.LANCHOR0 add x0, x0, 3361 bl buf_add_tail - b .L623 -.L622: + b .L607 +.L606: add x1, x19, :lo12:.LANCHOR0 ldrb w2, [x1,3361] strb w2, [x0] ldrb w0, [x0,1] strb w0, [x1,3361] -.L623: +.L607: add x19, x19, :lo12:.LANCHOR0 ldrb w0, [x19,3362] add w0, w0, 1 @@ -3854,15 +3770,15 @@ buf_alloc: uxtb w21, w0 mov x19, x1 ldrb w0, [x20,3362] - cbz w0, .L631 -.L634: + cbz w0, .L615 +.L618: add x1, x19, :lo12:.LANCHOR0 add x0, x1, 1312 ldrb w2, [x1,3361] add x0, x0, x2, lsl 6 - cbz w21, .L632 - b .L633 -.L631: + cbz w21, .L616 + b .L617 +.L615: adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 @@ -3872,15 +3788,15 @@ buf_alloc: bl printk bl dump_stack ldrb w1, [x20,3362] - cbnz w1, .L634 -.L636: + cbnz w1, .L618 +.L620: mov x0, 0 - b .L635 -.L632: + b .L619 +.L616: ldrb w1, [x1,3362] cmp w1, 1 - beq .L636 -.L633: + beq .L620 +.L617: add x1, x19, :lo12:.LANCHOR0 lsl x2, x2, 6 add x4, x1, 1312 @@ -3900,7 +3816,7 @@ buf_alloc: strb wzr, [x3,56] str w1, [x3,36] strb wzr, [x3,57] -.L635: +.L619: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -3913,33 +3829,33 @@ buf_remove_buf: ldrb w4, [x1,1] ldrb w2, [x0] cmp w4, w2 - bne .L643 + bne .L627 ldrb w1, [x1] strb w1, [x0] - b .L647 -.L643: + b .L631 +.L627: adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 add x0, x0, 1312 -.L645: +.L629: cmp w2, 255 - beq .L648 + beq .L632 mov w3, w2 sbfiz x2, x2, 6, 32 ldrb w2, [x0,x2] cmp w2, w4 - bne .L645 + bne .L629 sbfiz x3, x3, 6, 32 ldrb w2, [x1] strb w2, [x0,x3] mov w0, -1 strb w0, [x1] -.L647: +.L631: mov w0, 1 - b .L642 -.L648: + b .L626 +.L632: mov w0, 0 -.L642: +.L626: ret .size buf_remove_buf, .-buf_remove_buf .align 2 @@ -3953,7 +3869,7 @@ buf_remove_free: mov x20, x0 add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,3362] - cbnz w0, .L650 + cbnz w0, .L634 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 @@ -3962,22 +3878,22 @@ buf_remove_free: add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L650: +.L634: add x19, x19, :lo12:.LANCHOR0 ldrb w0, [x19,3362] - cbz w0, .L649 + cbz w0, .L633 add x0, x19, 3361 mov x1, x20 bl buf_remove_buf cmp w0, 1 - bne .L649 + bne .L633 ldrb w0, [x19,3362] sub w0, w0, #1 strb w0, [x19,3362] ldrb w0, [x20,2] orr w0, w0, 1 strb w0, [x20,2] -.L649: +.L633: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret @@ -4021,7 +3937,7 @@ dump_buf_info: adrp x0, .LC52 add x0, x0, :lo12:.LC52 bl printk -.L655: +.L639: ldr w0, [x20,40] add x20, x20, 64 ldrb w1, [x20,-63] @@ -4035,7 +3951,7 @@ dump_buf_info: ldr w7, [x20,-28] bl printk cmp x20, x19 - bne .L655 + bne .L639 sub sp, x29, #16 ldp x19, x20, [sp,32] ldr x21, [sp,48] @@ -4060,9 +3976,9 @@ flash_check_bad_block: asr w2, w2, 5 lsl w2, w2, 2 mul w2, w0, w2 - adrp x0, .LANCHOR0+1240 + adrp x0, .LANCHOR0+1128 sxtw x2, w2 - ldr x0, [x0,#:lo12:.LANCHOR0+1240] + ldr x0, [x0,#:lo12:.LANCHOR0+1128] add x2, x2, 912 add x2, x0, x2 ldr w0, [x2,x3,lsl 2] @@ -4093,12 +4009,12 @@ flash_mask_bad_block: add w20, w20, 31 bl printk asr w20, w20, 5 - adrp x0, .LANCHOR0+1240 + adrp x0, .LANCHOR0+1128 lsl w20, w20, 2 ubfx x3, x21, 5, 27 lsl x3, x3, 2 mul w19, w19, w20 - ldr x0, [x0,#:lo12:.LANCHOR0+1240] + ldr x0, [x0,#:lo12:.LANCHOR0+1128] sxtw x19, w19 add x19, x19, 912 add x19, x0, x19 @@ -4118,49 +4034,49 @@ flash_mask_bad_block: str2hex: ldrb w1, [x0] cmp w1, 48 - bne .L660 + bne .L644 ldrb w1, [x0,1] add x2, x0, 2 and w1, w1, -33 uxtb w1, w1 cmp w1, 88 csel x0, x0, x2, ne -.L660: +.L644: ldrb w1, [x0] and w1, w1, -33 uxtb w1, w1 cmp w1, 88 mov w1, 0 csinc x0, x0, x0, ne -.L662: +.L646: ldrb w2, [x0] - cbz w2, .L669 + cbz w2, .L653 sub w3, w2, #48 uxtb w3, w3 cmp w3, 9 - bhi .L663 + bhi .L647 add w1, w2, w1, lsl 4 sub w1, w1, #48 - b .L664 -.L663: + b .L648 +.L647: sub w3, w2, #97 uxtb w3, w3 cmp w3, 5 - bhi .L665 + bhi .L649 add w1, w2, w1, lsl 4 sub w1, w1, #87 - b .L664 -.L665: + b .L648 +.L649: sub w3, w2, #65 uxtb w3, w3 cmp w3, 5 - bhi .L669 + bhi .L653 add w1, w2, w1, lsl 4 sub w1, w1, #55 -.L664: +.L648: add x0, x0, 1 - b .L662 -.L669: + b .L646 +.L653: mov w0, w1 ret .size str2hex, .-str2hex @@ -4351,10 +4267,13 @@ ftl_print_info_to_buf: udiv w2, w3, w2 bl sprintf add x19, x19, x0, sxtw - ldrb w2, [x22,#:lo12:.LANCHOR0] + ldr x4, [x21,3392] adrp x1, .LC77 + ldrb w2, [x22,#:lo12:.LANCHOR0] mov x0, x19 add x1, x1, :lo12:.LC77 + ldr w3, [x4,156] + ldrh w4, [x4,150] bl sprintf add x19, x19, x0, sxtw ldr x2, [x21,1120] @@ -4558,7 +4477,7 @@ gc_add_sblk: ldr w0, [x24,#:lo12:.LANCHOR2] stp x19, x20, [sp,16] uxth w20, w2 - tbz x0, 8, .L678 + tbz x0, 8, .L662 add x7, x22, :lo12:.LANCHOR0 uxtw x5, w21 mov w1, w21 @@ -4575,11 +4494,11 @@ gc_add_sblk: ldrh w7, [x7,3406] ubfx x4, x4, 5, 3 bl printk -.L678: +.L662: add x0, x22, :lo12:.LANCHOR0 ldrh w0, [x0,1088] cmp w0, w21 - bhi .L679 + bhi .L663 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 @@ -4588,22 +4507,22 @@ gc_add_sblk: add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L679: +.L663: add x5, x22, :lo12:.LANCHOR0 ldrh w0, [x5,1088] cmp w0, w21 - bhi .L680 + bhi .L664 ldr w0, [x24,#:lo12:.LANCHOR2] mov w19, 0 - tbz x0, 10, .L681 + tbz x0, 10, .L665 adrp x0, .LC94 mov w1, w21 mov w2, w23 mov w3, w20 add x0, x0, :lo12:.LC94 bl printk - b .L681 -.L680: + b .L665 +.L664: uxtw x0, w21 ldr x1, [x5,1112] ldrh w4, [x1,x0,lsl 1] @@ -4611,8 +4530,8 @@ gc_add_sblk: add x0, x1, x0, lsl 2 ldrb w19, [x0,2] ands w19, w19, 224 - bne .L682 - cbz w4, .L681 + bne .L666 + cbz w4, .L665 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 @@ -4621,52 +4540,52 @@ gc_add_sblk: add x0, x0, :lo12:.LC0 bl printk bl dump_stack - b .L681 -.L682: + b .L665 +.L666: ldrh w1, [x5,3424] add x8, x5, 3424 mov w19, 0 cmp w1, w21 - beq .L681 + beq .L665 ldr x7, [x5,1120] ldrh w1, [x7,48] cmp w1, w21 - beq .L681 + beq .L665 ldrh w1, [x7,16] cmp w1, w21 - beq .L681 + beq .L665 ldrh w1, [x7,80] cmp w1, w21 - beq .L681 + beq .L665 ldrh w5, [x8,56] mov x6, 0 -.L683: +.L667: cmp w5, w6 - bls .L716 + bls .L700 add x6, x6, 1 add x1, x8, x6, lsl 1 ldrh w1, [x1,56] cmp w1, w21 - bne .L683 + bne .L667 mov w19, 0 - b .L681 -.L716: - cbnz w23, .L685 + b .L665 +.L700: + cbnz w23, .L669 adrp x6, .LANCHOR3 mov w19, w23 add x6, x6, :lo12:.LANCHOR3 - ldrh w9, [x6,1208] + ldrh w9, [x6,1288] cmp w9, w21 - beq .L681 + beq .L665 mov x8, 0 -.L687: - add x1, x6, 1216 +.L671: + add x1, x6, 1296 ldrh w1, [x8,x1] cmp w21, w1 - bne .L686 + bne .L670 ldr w1, [x24,#:lo12:.LANCHOR2] mov w19, 0 - tbz x1, 8, .L681 + tbz x1, 8, .L665 ldrb w2, [x0,2] adrp x0, .LC95 mov w3, w4 @@ -4676,20 +4595,20 @@ gc_add_sblk: mov w5, w9 add x0, x0, :lo12:.LC95 bl printk - b .L681 -.L686: + b .L665 +.L670: add x8, x8, 2 cmp x8, 16 - bne .L687 + bne .L671 sxtw x6, w20 add x19, x7, x6, lsl 7 add x19, x19, 136 - b .L689 -.L685: + b .L673 +.L669: add x19, x7, 392 -.L689: +.L673: ldr w1, [x24,#:lo12:.LANCHOR2] - tbz x1, 8, .L690 + tbz x1, 8, .L674 add x6, x22, :lo12:.LANCHOR0 ldrb w3, [x0,2] adrp x0, .LC96 @@ -4699,37 +4618,37 @@ gc_add_sblk: ldrh w6, [x6,3406] ubfx x3, x3, 5, 3 bl printk -.L690: +.L674: mov x4, x19 add x0, x19, 128 mov w1, 65535 -.L693: +.L677: ldrh w2, [x4] cmp w2, w1 - bne .L691 + bne .L675 strh w21, [x4] add x22, x22, :lo12:.LANCHOR0 - cbz w23, .L692 + cbz w23, .L676 ldr x1, [x22,1120] ldrh w0, [x1,124] add w0, w0, 1 strh w0, [x1,124] - b .L715 -.L692: + b .L699 +.L676: ldr x0, [x22,1120] add x20, x0, x20, uxth 1 ldrh w0, [x20,120] add w0, w0, 1 strh w0, [x20,120] -.L715: +.L699: mov w19, 1 - b .L681 -.L691: + b .L665 +.L675: add x4, x4, 2 cmp x4, x0 - bne .L693 - b .L715 -.L681: + bne .L677 + b .L699 +.L665: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -4755,13 +4674,13 @@ gc_mark_bad_ppa: mov w23, 1 ldrb w19, [x21,1257] add x21, x21, 3424 - ldrh w0, [x4,1232] + ldrh w0, [x4,1312] sub w19, w1, w19 - ldr w1, [x21,2120] + ldr w1, [x21,2200] sub w19, w19, w0 lsr w2, w3, w0 lsl w19, w23, w19 - ldrb w0, [x4,1234] + ldrb w0, [x4,1314] sub w19, w19, #1 uxth w22, w2 and w19, w19, w2 @@ -4775,27 +4694,27 @@ gc_mark_bad_ppa: uxth w19, w19 mov w0, w19 bl gc_add_sblk - ldr w0, [x21,2120] + ldr w0, [x21,2200] mov w1, 0 -.L718: +.L702: cmp w1, w0 - bcs .L721 + bcs .L705 add x2, x21, x1, sxtw 1 - ldrh w2, [x2,2124] + ldrh w2, [x2,2204] cmp w2, w22 - beq .L719 + beq .L703 add w1, w1, 1 uxth w1, w1 - b .L718 -.L721: + b .L702 +.L705: cmp w0, 5 - bhi .L719 + bhi .L703 add x20, x20, :lo12:.LANCHOR0 add w1, w0, 1 - str w1, [x20,5544] + str w1, [x20,5624] add x20, x20, x0, uxtw 1 - strh w22, [x20,5548] -.L719: + strh w22, [x20,5628] +.L703: mov w0, 0 ldr x23, [sp,48] ldp x19, x20, [sp,16] @@ -4807,9 +4726,9 @@ gc_mark_bad_ppa: .global gc_get_src_ppa_from_index .type gc_get_src_ppa_from_index, %function gc_get_src_ppa_from_index: - adrp x1, .LANCHOR3+1240 + adrp x1, .LANCHOR3+1320 ubfiz x0, x0, 2, 16 - ldr x1, [x1,#:lo12:.LANCHOR3+1240] + ldr x1, [x1,#:lo12:.LANCHOR3+1320] ldr w0, [x1,x0] ret .size gc_get_src_ppa_from_index, .-gc_get_src_ppa_from_index @@ -4830,24 +4749,24 @@ gc_write_completed: stp x27, x28, [sp,80] add x22, x26, 1312 add x21, x21, 1776 -.L724: +.L708: ldrb w20, [x26,3365] adrp x19, .LANCHOR0 cmp w20, 255 - beq .L753 + beq .L737 lsl x1, x20, 6 add x0, x22, x1 ldrb w1, [x22,x1] strb w1, [x26,3365] ldr w1, [x0,52] ldrh w23, [x0,48] - cbz w1, .L725 + cbz w1, .L709 mov w2, 1 - strh w2, [x26,5536] + strh w2, [x26,5618] ldr w2, [x0,40] adrp x0, .LC98 add x0, x0, :lo12:.LC98 - str w2, [x26,5540] + str w2, [x26,5620] bl printk adrp x0, .LC0 mov x1, x21 @@ -4855,94 +4774,94 @@ gc_write_completed: add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L725: +.L709: adrp x25, .LANCHOR3 add x1, x25, :lo12:.LANCHOR3 - ldrb w0, [x1,1248] + ldrb w0, [x1,1328] cmp w0, 3 - bne .L726 + bne .L710 add x0, x19, :lo12:.LANCHOR0 ldrb w2, [x0,1268] - cbnz w2, .L726 + cbnz w2, .L710 ldr x0, [x0,1120] - ldrb w1, [x1,1249] + ldrb w1, [x1,1329] ldrb w0, [x0,89] cmp w1, w0 - bhi .L739 + bhi .L723 cmp w0, 3 mov w1, 2 csel w0, w0, w1, cc - b .L728 -.L739: + b .L712 +.L723: mov w0, 1 -.L728: +.L712: add w24, w0, w0, lsl 1 - b .L729 -.L726: + b .L713 +.L710: add x0, x25, :lo12:.LANCHOR3 mov w24, 1 - ldrb w1, [x0,1250] - cbz w1, .L729 - ldrb w0, [x0,1251] + ldrb w1, [x0,1330] + cbz w1, .L713 + ldrb w0, [x0,1331] cmp w0, wzr mov w0, 2 csel w24, w24, w0, eq -.L729: +.L713: add x0, x25, :lo12:.LANCHOR3 uxth x1, w23 - ldr x2, [x0,1256] + ldr x2, [x0,1336] add x0, x19, :lo12:.LANCHOR0 add x0, x0, x20, lsl 6 ldrb w1, [x2,x1] ldrb w0, [x0,1313] cmp w1, w0 - beq .L730 + beq .L714 adrp x0, .LC0 mov x1, x21 mov w2, 976 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L730: +.L714: add x0, x19, :lo12:.LANCHOR0 add x20, x0, x20, lsl 6 ldrb w1, [x20,1373] cmp w1, 3 - beq .L731 + beq .L715 add x1, x25, :lo12:.LANCHOR3 - ldrb w2, [x1,1248] + ldrb w2, [x1,1328] cmp w2, 3 - bne .L731 - ldrb w2, [x1,1264] - cbnz w2, .L731 + bne .L715 + ldrb w2, [x1,1344] + cbnz w2, .L715 ldrb w2, [x0,1268] - cbnz w2, .L731 + cbnz w2, .L715 ldrb w0, [x0,1269] - cbnz w0, .L731 - ldrb w0, [x1,1250] - cbz w0, .L732 - ldrb w0, [x1,1251] - cbnz w0, .L731 -.L732: + cbnz w0, .L715 + ldrb w0, [x1,1330] + cbz w0, .L716 + ldrb w0, [x1,1331] + cbnz w0, .L715 +.L716: add x25, x25, :lo12:.LANCHOR3 add x19, x19, :lo12:.LANCHOR0 mov w1, 0 add x19, x19, 1312 - ldr x2, [x25,1256] - b .L733 -.L731: + ldr x2, [x25,1336] + b .L717 +.L715: add x19, x19, :lo12:.LANCHOR0 mov w20, 0 mov w27, -1 add x28, x19, 1312 strh w23, [x19,5532] -.L734: +.L718: cmp w24, w20, uxth - bls .L724 + bls .L708 add x0, x25, :lo12:.LANCHOR3 add w2, w20, w23 add w20, w20, 1 - ldr x0, [x0,1256] + ldr x0, [x0,1336] ldrb w1, [x0,x2] strb w27, [x0,x2] sbfiz x1, x1, 6, 32 @@ -4952,17 +4871,17 @@ gc_write_completed: ldrb w0, [x19,3431] sub w0, w0, #1 strb w0, [x19,3431] - b .L734 -.L733: + b .L718 +.L717: cmp w24, w1, uxth - bls .L724 + bls .L708 add w0, w1, w23 add w1, w1, 1 ldrb w0, [x2,x0] add x0, x19, x0, lsl 6 strb wzr, [x0,61] - b .L733 -.L753: + b .L717 +.L737: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -4981,51 +4900,51 @@ gc_get_src_blk: ldr x1, [x0,1120] add x0, x4, :lo12:.LANCHOR3 ldrh w5, [x1,124] - ldrb w0, [x0,1265] - cbz w5, .L755 + ldrb w0, [x0,1345] + cbz w5, .L739 add x1, x1, 392 mov w2, 1 - b .L756 -.L755: + b .L740 +.L739: sxtw x2, w0 add x0, x1, x2, lsl 1 ldrh w6, [x0,120] mov w0, 65535 - cbz w6, .L757 + cbz w6, .L741 add x1, x1, x2, lsl 7 mov w2, w5 add x1, x1, 136 -.L756: +.L740: add x5, x1, 128 mov w6, 65535 -.L760: +.L744: ldrh w0, [x1] cmp w0, w6 - beq .L758 + beq .L742 mov w5, -1 strh w5, [x1] - cbz w2, .L759 + cbz w2, .L743 add x3, x3, :lo12:.LANCHOR0 ldr x2, [x3,1120] ldrh w1, [x2,124] sub w1, w1, #1 strh w1, [x2,124] - b .L757 -.L759: + b .L741 +.L743: add x4, x4, :lo12:.LANCHOR3 add x3, x3, :lo12:.LANCHOR0 - ldrb w1, [x4,1265] + ldrb w1, [x4,1345] ldr x2, [x3,1120] add x1, x2, x1, lsl 1 ldrh w2, [x1,120] sub w2, w2, #1 strh w2, [x1,120] - b .L757 -.L758: + b .L741 +.L742: add x1, x1, 2 cmp x1, x5 - bne .L760 -.L757: + bne .L744 +.L741: ret .size gc_get_src_blk, .-gc_get_src_blk .align 2 @@ -5040,67 +4959,84 @@ gc_free_temp_buf: str x21, [sp,32] add x4, x19, :lo12:.LANCHOR0 ldrb w1, [x4,3431] - cbz w1, .L765 + cbz w1, .L749 ldrb w1, [x4,3362] cmp w1, 1 - bhi .L765 + bhi .L749 adrp x20, .LANCHOR3 ldrh w1, [x4,5532] add x5, x20, :lo12:.LANCHOR3 add x4, x4, 1312 add w2, w1, 24 - ldrh w3, [x5,1266] - ldrb w0, [x5,1249] + ldrh w3, [x5,1346] + ldrb w0, [x5,1329] mul w0, w3, w0 - ldr x3, [x5,1256] + ldr x3, [x5,1336] cmp w0, w2 csel w2, w0, w2, ls -.L766: +.L750: cmp w1, w2 - bcs .L779 + bcs .L763 uxtw x21, w1 ldrb w0, [x3,x21] cmp w0, 255 - beq .L767 + beq .L751 sbfiz x0, x0, 6, 32 add x0, x4, x0 ldrb w5, [x0,61] - cbnz w5, .L767 + cbnz w5, .L751 str x1, [x29,56] bl zbuf_free adrp x0, .LANCHOR2 ldr x1, [x29,56] ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L768 + tbz x0, 8, .L752 add x0, x20, :lo12:.LANCHOR3 - ldr x2, [x0,1256] + ldr x2, [x0,1336] adrp x0, .LC99 add x0, x0, :lo12:.LC99 ldrb w2, [x2,x21] bl printk -.L768: +.L752: add x20, x20, :lo12:.LANCHOR3 add x19, x19, :lo12:.LANCHOR0 mov w1, -1 - ldr x0, [x20,1256] + ldr x0, [x20,1336] strb w1, [x0,x21] ldrb w0, [x19,3431] sub w0, w0, #1 strb w0, [x19,3431] mov w0, 1 - b .L765 -.L767: + b .L749 +.L751: add w1, w1, 1 - b .L766 -.L779: + b .L750 +.L763: mov w0, 0 -.L765: +.L749: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 64 ret .size gc_free_temp_buf, .-gc_free_temp_buf .align 2 + .global get_ink_scaned_blk + .type get_ink_scaned_blk, %function +get_ink_scaned_blk: + adrp x1, .LANCHOR0 + mov w0, 65535 + add x1, x1, :lo12:.LANCHOR0 + add x3, x1, 3424 + ldrh w2, [x1,5536] + cbz w2, .L765 + sub w2, w2, #1 + add x0, x3, x2, sxtw 1 + ldrh w0, [x0,2114] + strh w2, [x1,5536] +.L765: + ret + .size get_ink_scaned_blk, .-get_ink_scaned_blk + .align 2 .global print_gc_debug_info .type print_gc_debug_info, %function print_gc_debug_info: @@ -5121,6 +5057,732 @@ print_gc_debug_info: ret .size print_gc_debug_info, .-print_gc_debug_info .align 2 + .global _list_pop_index_node + .type _list_pop_index_node, %function +_list_pop_index_node: + stp x29, x30, [sp, -32]! + uxth w1, w1 + add x29, sp, 0 + stp x19, x20, [sp,16] + mov w19, 65535 + ldr x20, [x0] + cbz x20, .L770 + adrp x3, .LANCHOR0+1040 + mov w4, 65535 + mov w5, 6 + ldr x19, [x3,#:lo12:.LANCHOR0+1040] +.L771: + cbnz w1, .L772 +.L774: + sub x19, x20, x19 + mov x1, -6148914691236517206 + asr x19, x19, 1 + madd x19, x1, x19, x19 + uxth w19, w19 + mov w1, w19 + bl _list_remove_node + mov w0, -1 + strh w0, [x20] + strh w0, [x20,2] + b .L770 +.L772: + ldrh w3, [x20] + cmp w3, w4 + beq .L774 + umull x20, w3, w5 + sub w1, w1, #1 + add x20, x19, x20 + uxth w1, w1 + b .L771 +.L770: + mov w0, w19 + ldp x19, x20, [sp,16] + ldp x29, x30, [sp], 32 + ret + .size _list_pop_index_node, .-_list_pop_index_node + .align 2 + .global _list_get_gc_head_node + .type _list_get_gc_head_node, %function +_list_get_gc_head_node: + ldr x2, [x0] + uxth w1, w1 + mov w0, 65535 + cbz x2, .L782 + adrp x0, .LANCHOR0+1040 + mov w4, 65535 + mov w5, 6 + ldr x3, [x0,#:lo12:.LANCHOR0+1040] +.L778: + cbz w1, .L779 + ldrh w0, [x2] + cmp w0, w4 + beq .L782 + umull x0, w0, w5 + sub w1, w1, #1 + add x2, x3, x0 + uxth w1, w1 + b .L778 +.L779: + sub x2, x2, x3 + mov x0, -6148914691236517206 + asr x2, x2, 1 + madd x2, x0, x2, x2 + uxth w0, w2 +.L782: + ret + .size _list_get_gc_head_node, .-_list_get_gc_head_node + .align 2 + .type zftl_get_gc_node.part.10, %function +zftl_get_gc_node.part.10: + stp x29, x30, [sp, -16]! + uxth w1, w0 + adrp x0, .LANCHOR3 + add x0, x0, :lo12:.LANCHOR3 + add x29, sp, 0 + add x0, x0, 1352 + bl _list_get_gc_head_node + ldp x29, x30, [sp], 16 + ret + .size zftl_get_gc_node.part.10, .-zftl_get_gc_node.part.10 + .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 x19, x20, [sp,16] + adrp x19, .LANCHOR0 + stp x23, x24, [sp,48] + uxtb w23, w0 + uxtb w0, w1 + add x1, x19, :lo12:.LANCHOR0 + str w0, [x29,144] + stp x21, x22, [sp,32] + stp x25, x26, [sp,64] + stp x27, x28, [sp,80] + uxtb w21, w2 + ldr x3, [x1,1120] + add x0, x3, x23, sxtw 1 + ldrh w0, [x0,120] + cbnz w0, .L905 + ldrh w2, [x1,3480] + cmp w2, 1 + bhi .L787 + adrp x1, .LANCHOR3 + add x1, x1, :lo12:.LANCHOR3 + strh w0, [x1,1360] + strh w0, [x1,1362] + strh w0, [x1,1364] +.L787: + cbnz w23, .L909 + adrp x20, .LANCHOR3 + adrp x26, .LC101 + add x20, x20, :lo12:.LANCHOR3 + mov w24, w23 + mov w25, w23 + add w22, w21, 1 + add x27, x20, 1368 + add x26, x26, :lo12:.LC101 +.L788: + cmp w25, w22 + bge .L794 + ldrh w28, [x20,1362] + mov x0, x27 + mov w1, w28 + bl _list_get_gc_head_node + uxth w1, w0 + add w2, w28, 1 + mov w0, 65535 + cmp w1, w0 + mov w4, w1 + uxth w2, w2 + strh w2, [x20,1362] + beq .L790 + adrp x0, .LANCHOR2 + uxtw x28, w1 + ldr w0, [x0,#:lo12:.LANCHOR2] + tbz x0, 8, .L791 + add x0, x19, :lo12:.LANCHOR0 + str x4, [x29,136] + ldr x3, [x0,1112] + mov x0, x26 + ldrh w3, [x3,x28,lsl 1] + bl printk + ldr x4, [x29,136] +.L791: + add x0, x19, :lo12:.LANCHOR0 + ldr x1, [x0,1112] + ldrh w0, [x0,3406] + ldrh w1, [x1,x28,lsl 1] + cmp w1, w0 + bcs .L792 + mov w1, 0 + mov w0, w4 + mov w2, w1 + bl gc_add_sblk + cbz w0, .L793 + add w5, w24, 1 + uxth w24, w5 + cmp w24, w21 + bcc .L793 + b .L794 +.L792: + adrp x0, .LANCHOR3 + add x0, x0, :lo12:.LANCHOR3 + strh wzr, [x0,1362] + b .L794 +.L790: + strh wzr, [x20,1362] + b .L794 +.L793: + add w25, w25, 1 + uxth w25, w25 + b .L788 +.L794: + ldr x0, [x29,144] + tbz x0, 1, .L796 + add x0, x19, :lo12:.LANCHOR0 + ldrh w0, [x0,3386] + cmp w0, 32 + bls .L796 + adrp x28, .LANCHOR3 + mov w25, 0 + add x28, x28, :lo12:.LANCHOR3 + mov w26, 65535 + add x0, x28, 1376 + uxth w27, w21 + str x0, [x29,136] +.L797: + cmp w25, w22 + adrp x20, .LANCHOR3 + bge .L801 + ldrh w2, [x28,1364] + ldr x0, [x29,136] + mov w1, w2 + str x2, [x29,128] + bl _list_get_gc_head_node + uxth w1, w0 + ldr x2, [x29,128] + cmp w1, w26 + add w2, w2, 1 + strh w2, [x28,1364] + beq .L798 + add x2, x19, :lo12:.LANCHOR0 + ubfiz x1, x1, 1, 16 + ldr x4, [x2,1112] + ldrh w4, [x4,x1] + ldrh w1, [x2,3408] + cmp w4, w1 + bcs .L798 + mov w1, 0 + mov w2, w1 + bl gc_add_sblk + cbz w0, .L800 + add w5, w24, 1 + uxth w24, w5 + cmp w24, w27 + bcc .L800 + b .L801 +.L798: + strh wzr, [x28,1364] + b .L801 +.L800: + add w3, w25, 1 + uxth w25, w3 + b .L797 +.L801: + cmp w24, w21 + bcs .L803 + add x20, x20, :lo12:.LANCHOR3 + add x2, x19, :lo12:.LANCHOR0 + ldrh w0, [x20,1346] + ldrb w4, [x20,1329] + ldrh w1, [x20,1384] + ldrh w3, [x2,3408] + mul w0, w0, w4 + sub w0, w0, w1, lsr 2 + cmp w3, w0 + bge .L796 + add w1, w3, w1, lsr 3 + strh w1, [x2,3408] + b .L796 +.L803: + add x1, x19, :lo12:.LANCHOR0 + add x20, x20, :lo12:.LANCHOR3 + ldrh w2, [x1,3408] + ldrh w0, [x20,1384] + cmp w2, w0 + bls .L796 + sub w0, w2, w0, lsr 3 + strh w0, [x1,3408] +.L796: + ldr x0, [x29,144] + tbz x0, 0, .L804 + uxth w27, w21 + cmp w24, w27 + bcs .L804 + mov w22, 0 + adrp x25, .LANCHOR3 + mov w26, 65535 +.L809: + add x28, x25, :lo12:.LANCHOR3 + ldrh w20, [x28,1360] + mov w0, w20 + add w20, w20, 1 + bl zftl_get_gc_node.part.10 + strh w20, [x28,1360] + cmp w26, w0, uxth + adrp x20, .LANCHOR3 + beq .L805 + mov w1, 0 + mov w2, w1 + bl gc_add_sblk + cbz w0, .L806 + add w5, w24, 1 + uxth w24, w5 + cmp w24, w27 + bcc .L806 + b .L807 +.L805: + strh wzr, [x28,1360] + b .L808 +.L806: + add w22, w22, 1 + uxth w22, w22 + cmp w22, w27 + bcc .L809 +.L808: + cmp w24, w27 + bcs .L807 + add x19, x19, :lo12:.LANCHOR0 + add x20, x20, :lo12:.LANCHOR3 + ldrh w1, [x19,3406] + ldrh w0, [x20,1384] + cmp w1, w0 + bcs .L804 + add w0, w1, w0, lsr 3 + b .L908 +.L807: + add x20, x20, :lo12:.LANCHOR3 + add x19, x19, :lo12:.LANCHOR0 + ldrh w0, [x20,1384] + ldrh w1, [x19,3406] + cmp w1, w0, lsr 1 + bls .L804 + sub w0, w1, w0, lsr 3 +.L908: + strh w0, [x19,3406] + b .L804 +.L909: + adrp x20, .LANCHOR3 + cmp w21, 1 + add x1, x20, :lo12:.LANCHOR3 + ldrb w0, [x1,1329] + ldrh w22, [x1,1346] + mul w22, w0, w22 + uxth w22, w22 + bne .L810 + cbz w2, .L810 + ldrh w1, [x3,80] + mov w0, 65535 + mov w21, 8 + cmp w1, w0 + beq .L810 + add x0, x19, :lo12:.LANCHOR0 + ldrh w0, [x0,5530] + sub w22, w22, w0 + uxth w22, w22 +.L810: + ldr w0, [x29,144] + add x1, x19, :lo12:.LANCHOR0 + add x3, x20, :lo12:.LANCHOR3 + and w0, w0, 1 + str w0, [x29,136] + ldr x0, [x29,144] + strh wzr, [x1,5616] + strh wzr, [x3,1386] + tbz x0, 0, .L844 + ldrh w3, [x3,1388] + ldrh w0, [x1,3382] + cmp w0, w3, lsr 2 + bhi .L812 + ldrh w1, [x1,3384] + cmp w1, w0 + bcs .L845 +.L812: + cmp w2, 1 + bls .L814 +.L816: + mov w24, 0 + b .L815 +.L814: + add x26, x20, :lo12:.LANCHOR3 + lsr w0, w0, 2 + strh w0, [x26,1360] + mov w0, 0 + bl zftl_get_gc_node.part.10 + uxth w1, w0 + mov w2, 65535 + cmp w1, w2 + beq .L816 + add x2, x19, :lo12:.LANCHOR0 + ubfiz x1, x1, 1, 16 + ldr x3, [x2,1112] + ldrh w2, [x26,1384] + ldrh w1, [x3,x1] + cmp w1, w2, lsr 2 + bcs .L816 + mov w1, 1 + mov w2, w23 + strh w1, [x26,1360] + mov w1, 0 + bl gc_add_sblk + cmp w0, wzr + cset w24, ne +.L815: + mov w28, 64 + mov w25, 0 + mov w26, 65535 + uxth w27, w21 +.L819: + add x2, x20, :lo12:.LANCHOR3 + str x2, [x29,112] + ldrh w1, [x2,1360] + str x1, [x29,120] + mov w0, w1 + bl zftl_get_gc_node.part.10 + uxth w4, w0 + cmp w4, w26 + str x4, [x29,128] + ldr x2, [x29,112] + beq .L817 + ldr x1, [x29,120] + add w1, w1, 1 + strh w1, [x2,1360] + mov w1, 0 + mov w2, w23 + bl gc_add_sblk + ldr x4, [x29,128] + cbz w0, .L818 + add x0, x19, :lo12:.LANCHOR0 + ubfiz x4, x4, 1, 16 + add w5, w24, 1 + ldr x1, [x0,1112] + uxth w24, w5 + ldrh w1, [x1,x4] + add w3, w25, w1 + uxth w25, w3 + cmp w25, w22 + bhi .L813 + cmp w24, w27 + bcs .L813 + ldrh w1, [x0,3384] + ldrh w0, [x0,3382] + cmp w1, w0, lsl 1 + ble .L818 + b .L813 +.L817: + strh wzr, [x2,1360] + b .L813 +.L818: + sub w28, w28, #1 + uxth w28, w28 + cbnz w28, .L819 + b .L813 +.L844: + ldr w25, [x29,136] + mov x24, x25 +.L811: + ldr x0, [x29,144] + tbz x0, 1, .L823 + cmp w25, w22 + bcs .L823 + add x0, x19, :lo12:.LANCHOR0 + ldrh w0, [x0,3386] + cmp w0, 32 + bls .L823 + add x28, x20, :lo12:.LANCHOR3 + mov w27, 64 + add x0, x28, 1376 + mov w26, 0 + str x0, [x29,128] + uxth w0, w21 + str w0, [x29,120] +.L829: + ldrh w2, [x28,1364] + ldr x0, [x29,128] + mov w1, w2 + str x2, [x29,112] + bl _list_get_gc_head_node + uxth w8, w0 + mov w1, 65535 + cmp w8, w1 + beq .L824 + ldr x2, [x29,112] + cmp w21, 1 + add w2, w2, 1 + strh w2, [x28,1364] + bne .L825 + ldrh w9, [x28,1346] + add x1, x19, :lo12:.LANCHOR0 + ldrb w2, [x28,1329] + mul w2, w2, w9 + ldrh w9, [x28,1384] + sub w2, w2, w9, lsr 3 + strh w2, [x1,3402] +.L825: + add x9, x19, :lo12:.LANCHOR0 + ubfiz x8, x8, 1, 16 + str x9, [x29,112] + str x8, [x29,104] + ldr x1, [x9,1112] + ldrh w2, [x1,x8] + ldrh w1, [x9,3402] + cmp w2, w1 + bcs .L826 + mov w1, 0 + mov w2, w23 + bl gc_add_sblk + ldr x9, [x29,112] + ldr x8, [x29,104] + cbz w0, .L827 + ldr x0, [x9,1112] + add w6, w26, 1 + add w5, w24, 1 + uxth w26, w6 + ldrh w0, [x0,x8] + uxth w24, w5 + add w3, w25, w0 + uxth w25, w3 + cmp w25, w22 + bhi .L828 + ldr w0, [x29,120] + cmp w24, w0 + bcc .L827 + b .L828 +.L826: + add x0, x20, :lo12:.LANCHOR3 + strh wzr, [x0,1364] + b .L828 +.L824: + strh wzr, [x28,1364] + b .L828 +.L827: + sub w7, w27, #1 + uxth w27, w7 + cbnz w27, .L829 +.L828: + cmp w24, w21 + bcc .L830 + cbnz w26, .L831 + add x1, x19, :lo12:.LANCHOR0 + add x0, x20, :lo12:.LANCHOR3 + ldrh w1, [x1,3386] + ldrh w0, [x0,1390] + cmp w1, w0 + bls .L831 +.L830: + add x4, x20, :lo12:.LANCHOR3 + add x6, x19, :lo12:.LANCHOR0 + ldrh w2, [x4,1384] + ldrh w0, [x4,1346] + ldrb w4, [x4,1329] + lsr w2, w2, 3 + ldrh w1, [x6,3402] + mul w0, w0, w4 + sub w0, w0, w2 + cmp w1, w0 + bge .L823 + add w1, w2, w1 + strh w1, [x6,3402] + b .L823 +.L831: + add x20, x20, :lo12:.LANCHOR3 + add x19, x19, :lo12:.LANCHOR0 + ldrh w0, [x20,1384] + ldrb w1, [x20,1329] + ldrh w2, [x19,3402] + mul w1, w0, w1 + cmp w2, w1 + ble .L804 + sub w0, w2, w0, lsr 3 + strh w0, [x19,3402] + b .L804 +.L823: + ldr w0, [x29,136] + cbz w0, .L804 + uxth w26, w21 + cmp w24, w26 + bcs .L804 + cmp w25, w22 + bcs .L804 + add x4, x20, :lo12:.LANCHOR3 + mov w27, 64 + add x0, x4, 1368 + str x0, [x29,136] +.L837: + ldrh w28, [x4,1362] + ldr x0, [x29,136] + mov w1, w28 + str x4, [x29,128] + bl _list_get_gc_head_node + uxth w1, w0 + mov w2, 65535 + ldr x4, [x29,128] + cmp w1, w2 + beq .L833 + add w28, w28, 1 + strh w28, [x4,1362] + ubfiz x28, x1, 1, 16 + add x1, x19, :lo12:.LANCHOR0 + ldr x2, [x1,1112] + ldrh w7, [x2,x28] + ldrh w2, [x1,3404] + cmp w7, w2 + bcs .L834 + ldrh w2, [x4,1388] + ldrh w1, [x1,3384] + cmp w1, w2, lsr 1 + bls .L835 +.L834: + mov w1, 0 + mov w2, w23 + str x4, [x29,128] + bl gc_add_sblk + ldr x4, [x29,128] + cbz w0, .L836 + add x0, x19, :lo12:.LANCHOR0 + add w5, w24, 1 + uxth w24, w5 + ldr x0, [x0,1112] + ldrh w0, [x0,x28] + add w3, w25, w0 + uxth w25, w3 + cmp w25, w22 + bhi .L835 + cmp w24, w26 + bcc .L836 + b .L835 +.L833: + cmp w28, 64 + bls .L835 + strh wzr, [x4,1362] + b .L835 +.L836: + sub w27, w27, #1 + uxth w27, w27 + cbnz w27, .L837 +.L835: + cmp w24, w26 + add x19, x19, :lo12:.LANCHOR0 + bcs .L838 + add x20, x20, :lo12:.LANCHOR3 + ldrh w1, [x19,3404] + ldrh w0, [x20,1384] + cmp w1, w0, lsr 1 + bls .L804 + sub w0, w1, w0, lsr 3 + strh w0, [x19,3404] + b .L804 +.L838: + add x20, x20, :lo12:.LANCHOR3 + ldrh w2, [x19,3404] + ldrh w1, [x20,1384] + ldrb w0, [x20,1329] + mul w0, w1, w0 + sub w0, w0, #32 + cmp w2, w0 + bge .L804 + add w1, w2, w1, lsr 3 + strh w1, [x19,3404] +.L804: + adrp x0, .LANCHOR2 + ldr w0, [x0,#:lo12:.LANCHOR2] + tbz x0, 8, .L839 + adrp x0, .LC102 + ldr w2, [x29,144] + add x0, x0, :lo12:.LC102 + mov w1, w23 + mov w3, w24 + mov w4, w21 + bl printk +.L839: + mov w0, w24 + b .L905 +.L845: + mov w25, 0 + mov w24, w25 +.L813: + add x2, x20, :lo12:.LANCHOR3 + add x0, x19, :lo12:.LANCHOR0 + ldrh w2, [x2,1388] + ldrh w1, [x0,3384] + cmp w1, w2, lsr 2 + bhi .L840 + ldrh w0, [x0,3382] + add w0, w0, 8 + cmp w1, w0 + ble .L811 +.L840: + cmp w25, w22 + bcs .L811 + add x27, x20, :lo12:.LANCHOR3 + mov w26, 64 + add x0, x27, 1368 + uxth w28, w21 + str x0, [x29,128] +.L822: + ldrh w2, [x27,1362] + ldr x0, [x29,128] + mov w1, w2 + str x2, [x29,112] + bl _list_get_gc_head_node + uxth w7, w0 + mov w1, 65535 + str x7, [x29,120] + cmp w7, w1 + ldr x2, [x29,112] + beq .L820 + add w2, w2, 1 + mov w1, 0 + strh w2, [x27,1362] + mov w2, w23 + bl gc_add_sblk + ldr x7, [x29,120] + cbz w0, .L821 + add x0, x19, :lo12:.LANCHOR0 + ubfiz x7, x7, 1, 16 + add w5, w24, 1 + ldr x0, [x0,1112] + uxth w24, w5 + ldrh w0, [x0,x7] + add w3, w25, w0 + uxth w25, w3 + cmp w25, w22 + bhi .L811 + cmp w24, w28 + bcc .L821 + b .L811 +.L820: + cmp w2, 64 + bls .L811 + strh wzr, [x27,1362] + b .L811 +.L821: + sub w4, w26, #1 + uxth w26, w4 + cbnz w26, .L822 + b .L811 +.L905: + 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 + .size gc_search_src_blk, .-gc_search_src_blk + .align 2 .global zftl_get_gc_node .type zftl_get_gc_node, %function zftl_get_gc_node: @@ -5129,665 +5791,30 @@ zftl_get_gc_node: uxth w2, w0 cmp w1, 5 add x29, sp, 0 - bne .L782 - adrp x0, .LANCHOR3+1272 - ldr x0, [x0,#:lo12:.LANCHOR3+1272] - b .L785 -.L782: + bne .L911 + adrp x0, .LANCHOR3 + add x0, x0, :lo12:.LANCHOR3 + add x0, x0, 1376 + b .L914 +.L911: cmp w1, 2 - bne .L784 + bne .L913 mov w0, w2 - bl zftl_get_gc_node.part.11 - b .L786 -.L784: - adrp x0, .LANCHOR3+1280 - ldr x0, [x0,#:lo12:.LANCHOR3+1280] -.L785: + bl zftl_get_gc_node.part.10 + b .L915 +.L913: + adrp x0, .LANCHOR3 + add x0, x0, :lo12:.LANCHOR3 + add x0, x0, 1368 +.L914: mov w1, w2 - bl _list_get_gc_head_node.isra.4 -.L786: + bl _list_get_gc_head_node +.L915: uxth w0, w0 ldp x29, x30, [sp], 16 ret .size zftl_get_gc_node, .-zftl_get_gc_node .align 2 - .global gc_search_src_blk - .type gc_search_src_blk, %function -gc_search_src_blk: - stp x29, x30, [sp, -144]! - add x29, sp, 0 - stp x19, x20, [sp,16] - adrp x19, .LANCHOR0 - uxtb w20, w2 - stp x21, x22, [sp,32] - uxtb w21, w0 - uxtb w0, w1 - add x1, x19, :lo12:.LANCHOR0 - str w0, [x29,128] - stp x23, x24, [sp,48] - stp x25, x26, [sp,64] - stp x27, x28, [sp,80] - ldr x3, [x1,1120] - add x0, x3, x21, sxtw 1 - ldrh w0, [x0,120] - cbnz w0, .L908 - ldrh w2, [x1,3480] - cmp w2, 1 - bhi .L790 - adrp x1, .LANCHOR3 - add x1, x1, :lo12:.LANCHOR3 - strh w0, [x1,1288] - strh w0, [x1,1290] - strh w0, [x1,1292] -.L790: - cbnz w21, .L912 - adrp x24, .LC101 - mov w22, w21 - mov w23, w21 - add w25, w20, 1 - adrp x26, .LANCHOR3 - mov w27, 65535 - adrp x28, .LANCHOR2 - add x24, x24, :lo12:.LC101 -.L791: - cmp w23, w25 - bge .L797 - add x3, x26, :lo12:.LANCHOR3 - mov w1, 3 - str x3, [x29,112] - ldrh w2, [x3,1290] - str x2, [x29,120] - mov w0, w2 - bl zftl_get_gc_node - uxth w1, w0 - ldr x2, [x29,120] - cmp w1, w27 - ldr x3, [x29,112] - mov w4, w1 - add w2, w2, 1 - uxth w2, w2 - strh w2, [x3,1290] - beq .L793 - ldr w0, [x28,#:lo12:.LANCHOR2] - uxtw x6, w1 - tbz x0, 8, .L794 - add x0, x19, :lo12:.LANCHOR0 - str x4, [x29,112] - str x6, [x29,120] - ldr x3, [x0,1112] - mov x0, x24 - ldrh w3, [x3,x6,lsl 1] - bl printk - ldr x4, [x29,112] - ldr x6, [x29,120] -.L794: - add x0, x19, :lo12:.LANCHOR0 - ldr x1, [x0,1112] - ldrh w0, [x0,3406] - ldrh w1, [x1,x6,lsl 1] - cmp w1, w0 - bcs .L795 - mov w1, 0 - mov w0, w4 - mov w2, w1 - bl gc_add_sblk - cbz w0, .L796 - add w5, w22, 1 - uxth w22, w5 - cmp w22, w20 - bcc .L796 - b .L797 -.L795: - adrp x0, .LANCHOR3 - add x0, x0, :lo12:.LANCHOR3 - strh wzr, [x0,1290] - b .L797 -.L793: - strh wzr, [x3,1290] - b .L797 -.L796: - add w23, w23, 1 - uxth w23, w23 - b .L791 -.L797: - ldr x0, [x29,128] - tbz x0, 1, .L799 - add x0, x19, :lo12:.LANCHOR0 - ldrh w0, [x0,3386] - cmp w0, 32 - bls .L799 - mov w28, 0 - adrp x24, .LANCHOR3 - mov w26, 65535 - uxth w27, w20 -.L800: - cmp w28, w25 - adrp x23, .LANCHOR3 - bge .L804 - add x2, x24, :lo12:.LANCHOR3 - mov w1, 5 - str x2, [x29,112] - ldrh w3, [x2,1292] - str x3, [x29,120] - mov w0, w3 - bl zftl_get_gc_node - uxth w1, w0 - ldr x2, [x29,112] - cmp w1, w26 - ldr x3, [x29,120] - add w3, w3, 1 - strh w3, [x2,1292] - beq .L801 - add x3, x19, :lo12:.LANCHOR0 - ubfiz x1, x1, 1, 16 - ldr x4, [x3,1112] - ldrh w4, [x4,x1] - ldrh w1, [x3,3408] - cmp w4, w1 - bcs .L801 - mov w1, 0 - mov w2, w1 - bl gc_add_sblk - cbz w0, .L803 - add w5, w22, 1 - uxth w22, w5 - cmp w22, w27 - bcc .L803 - b .L804 -.L801: - strh wzr, [x2,1292] - b .L804 -.L803: - add w28, w28, 1 - uxth w28, w28 - b .L800 -.L804: - cmp w22, w20 - bcs .L806 - add x23, x23, :lo12:.LANCHOR3 - add x2, x19, :lo12:.LANCHOR0 - ldrh w0, [x23,1266] - ldrb w4, [x23,1249] - ldrh w1, [x23,1294] - ldrh w3, [x2,3408] - mul w0, w0, w4 - sub w0, w0, w1, lsr 2 - cmp w3, w0 - bge .L799 - add w1, w3, w1, lsr 3 - strh w1, [x2,3408] - b .L799 -.L806: - add x1, x19, :lo12:.LANCHOR0 - add x23, x23, :lo12:.LANCHOR3 - ldrh w2, [x1,3408] - ldrh w0, [x23,1294] - cmp w2, w0 - bls .L799 - sub w0, w2, w0, lsr 3 - strh w0, [x1,3408] -.L799: - ldr x0, [x29,128] - tbz x0, 0, .L807 - uxth w27, w20 - cmp w22, w27 - bcs .L807 - mov w24, 0 - adrp x25, .LANCHOR3 - mov w26, 65535 -.L812: - add x28, x25, :lo12:.LANCHOR3 - ldrh w23, [x28,1288] - mov w0, w23 - add w23, w23, 1 - bl zftl_get_gc_node.part.11 - strh w23, [x28,1288] - cmp w26, w0, uxth - adrp x23, .LANCHOR3 - beq .L808 - mov w1, 0 - mov w2, w1 - bl gc_add_sblk - cbz w0, .L809 - add w5, w22, 1 - uxth w22, w5 - cmp w22, w27 - bcc .L809 - b .L810 -.L808: - strh wzr, [x28,1288] - b .L811 -.L809: - add w24, w24, 1 - uxth w24, w24 - cmp w24, w27 - bcc .L812 -.L811: - cmp w22, w27 - bcs .L810 - add x19, x19, :lo12:.LANCHOR0 - add x23, x23, :lo12:.LANCHOR3 - ldrh w1, [x19,3406] - ldrh w0, [x23,1294] - cmp w1, w0 - bcs .L807 - add w0, w1, w0, lsr 3 - b .L911 -.L810: - add x23, x23, :lo12:.LANCHOR3 - add x19, x19, :lo12:.LANCHOR0 - ldrh w0, [x23,1294] - ldrh w1, [x19,3406] - cmp w1, w0, lsr 1 - bls .L807 - sub w0, w1, w0, lsr 3 -.L911: - strh w0, [x19,3406] - b .L807 -.L912: - adrp x23, .LANCHOR3 - cmp w20, 1 - add x1, x23, :lo12:.LANCHOR3 - ldrb w0, [x1,1249] - ldrh w24, [x1,1266] - mul w24, w0, w24 - uxth w24, w24 - bne .L813 - cbz w2, .L813 - ldrh w1, [x3,80] - mov w0, 65535 - mov w20, 8 - cmp w1, w0 - beq .L813 - add x0, x19, :lo12:.LANCHOR0 - ldrh w0, [x0,5530] - sub w24, w24, w0 - uxth w24, w24 -.L813: - ldr w0, [x29,128] - add x1, x19, :lo12:.LANCHOR0 - add x3, x23, :lo12:.LANCHOR3 - and w25, w0, 1 - ldr x0, [x29,128] - strh wzr, [x1,5534] - strh wzr, [x3,1296] - tbz x0, 0, .L847 - ldrh w3, [x3,1298] - ldrh w0, [x1,3382] - cmp w0, w3, lsr 2 - bhi .L815 - ldrh w1, [x1,3384] - cmp w1, w0 - bcs .L848 -.L815: - cmp w2, 1 - bls .L817 -.L819: - mov w22, 0 - b .L818 -.L817: - add x26, x23, :lo12:.LANCHOR3 - lsr w0, w0, 2 - strh w0, [x26,1288] - mov w0, 0 - bl zftl_get_gc_node.part.11 - uxth w1, w0 - mov w2, 65535 - cmp w1, w2 - beq .L819 - add x2, x19, :lo12:.LANCHOR0 - ubfiz x1, x1, 1, 16 - ldr x3, [x2,1112] - ldrh w2, [x26,1294] - ldrh w1, [x3,x1] - cmp w1, w2, lsr 2 - bcs .L819 - mov w1, 1 - mov w2, w21 - strh w1, [x26,1288] - mov w1, 0 - bl gc_add_sblk - cmp w0, wzr - cset w22, ne -.L818: - mov w26, 64 - mov w28, 0 - uxth w27, w20 -.L822: - add x2, x23, :lo12:.LANCHOR3 - str x2, [x29,104] - ldrh w1, [x2,1288] - str x1, [x29,112] - mov w0, w1 - bl zftl_get_gc_node.part.11 - uxth w4, w0 - mov w1, 65535 - str x4, [x29,120] - cmp w4, w1 - ldr x2, [x29,104] - beq .L820 - ldr x1, [x29,112] - add w1, w1, 1 - strh w1, [x2,1288] - mov w1, 0 - mov w2, w21 - bl gc_add_sblk - ldr x4, [x29,120] - cbz w0, .L821 - add x0, x19, :lo12:.LANCHOR0 - ubfiz x4, x4, 1, 16 - add w5, w22, 1 - ldr x1, [x0,1112] - uxth w22, w5 - ldrh w1, [x1,x4] - add w28, w28, w1 - uxth w28, w28 - cmp w28, w24 - bhi .L816 - cmp w22, w27 - bcs .L816 - ldrh w1, [x0,3384] - ldrh w0, [x0,3382] - cmp w1, w0, lsl 1 - ble .L821 - b .L816 -.L820: - strh wzr, [x2,1288] - b .L816 -.L821: - sub w3, w26, #1 - uxth w26, w3 - cbnz w26, .L822 - b .L816 -.L847: - mov w28, w25 - mov w22, w25 -.L814: - ldr x0, [x29,128] - tbz x0, 1, .L826 - cmp w28, w24 - bcs .L826 - add x0, x19, :lo12:.LANCHOR0 - ldrh w0, [x0,3386] - cmp w0, 32 - bls .L826 - uxth w0, w20 - mov w27, 64 - mov w26, 0 - str w0, [x29,120] -.L832: - add x2, x23, :lo12:.LANCHOR3 - mov w1, 5 - str x2, [x29,104] - ldrh w7, [x2,1292] - str x7, [x29,112] - mov w0, w7 - bl zftl_get_gc_node - uxth w6, w0 - mov w1, 65535 - ldr x2, [x29,104] - cmp w6, w1 - beq .L827 - ldr x7, [x29,112] - cmp w20, 1 - add w7, w7, 1 - strh w7, [x2,1292] - bne .L828 - ldrb w7, [x2,1249] - add x1, x19, :lo12:.LANCHOR0 - ldrh w8, [x2,1266] - mul w8, w7, w8 - ldrh w7, [x2,1294] - sub w2, w8, w7, lsr 3 - strh w2, [x1,3402] -.L828: - add x7, x19, :lo12:.LANCHOR0 - ubfiz x6, x6, 1, 16 - str x7, [x29,112] - str x6, [x29,104] - ldr x1, [x7,1112] - ldrh w2, [x1,x6] - ldrh w1, [x7,3402] - cmp w2, w1 - bcs .L829 - mov w1, 0 - mov w2, w21 - bl gc_add_sblk - ldr x7, [x29,112] - ldr x6, [x29,104] - cbz w0, .L830 - ldr x0, [x7,1112] - add w3, w26, 1 - add w5, w22, 1 - uxth w26, w3 - ldrh w0, [x0,x6] - uxth w22, w5 - add w28, w28, w0 - uxth w28, w28 - cmp w28, w24 - bhi .L831 - ldr w0, [x29,120] - cmp w22, w0 - bcc .L830 - b .L831 -.L829: - add x0, x23, :lo12:.LANCHOR3 - strh wzr, [x0,1292] - b .L831 -.L827: - strh wzr, [x2,1292] - b .L831 -.L830: - sub w4, w27, #1 - uxth w27, w4 - cbnz w27, .L832 -.L831: - cmp w22, w20 - bcc .L833 - cbnz w26, .L834 - add x1, x19, :lo12:.LANCHOR0 - add x0, x23, :lo12:.LANCHOR3 - ldrh w1, [x1,3386] - ldrh w0, [x0,1300] - cmp w1, w0 - bls .L834 -.L833: - add x3, x23, :lo12:.LANCHOR3 - add x4, x19, :lo12:.LANCHOR0 - ldrh w2, [x3,1294] - ldrh w0, [x3,1266] - ldrb w3, [x3,1249] - lsr w2, w2, 3 - ldrh w1, [x4,3402] - mul w0, w0, w3 - sub w0, w0, w2 - cmp w1, w0 - bge .L826 - add w1, w2, w1 - strh w1, [x4,3402] - b .L826 -.L834: - add x23, x23, :lo12:.LANCHOR3 - add x19, x19, :lo12:.LANCHOR0 - ldrh w0, [x23,1294] - ldrb w1, [x23,1249] - ldrh w2, [x19,3402] - mul w1, w0, w1 - cmp w2, w1 - ble .L807 - sub w0, w2, w0, lsr 3 - strh w0, [x19,3402] - b .L807 -.L826: - cbz w25, .L807 - uxth w26, w20 - cmp w22, w26 - bcs .L807 - cmp w28, w24 - bcs .L807 - mov w25, 64 -.L840: - add x2, x23, :lo12:.LANCHOR3 - mov w1, 3 - str x2, [x29,120] - ldrh w27, [x2,1290] - mov w0, w27 - bl zftl_get_gc_node - uxth w1, w0 - mov w2, 65535 - cmp w1, w2 - ldr x2, [x29,120] - beq .L836 - add w27, w27, 1 - strh w27, [x2,1290] - ubfiz x27, x1, 1, 16 - add x1, x19, :lo12:.LANCHOR0 - ldr x4, [x1,1112] - ldrh w6, [x4,x27] - ldrh w4, [x1,3404] - cmp w6, w4 - bcs .L837 - ldrh w2, [x2,1298] - ldrh w1, [x1,3384] - cmp w1, w2, lsr 1 - bls .L838 -.L837: - mov w1, 0 - mov w2, w21 - bl gc_add_sblk - cbz w0, .L839 - add x0, x19, :lo12:.LANCHOR0 - add w5, w22, 1 - uxth w22, w5 - ldr x0, [x0,1112] - ldrh w0, [x0,x27] - add w28, w28, w0 - uxth w28, w28 - cmp w28, w24 - bhi .L838 - cmp w22, w26 - bcc .L839 - b .L838 -.L836: - cmp w27, 64 - bls .L838 - strh wzr, [x2,1290] - b .L838 -.L839: - sub w25, w25, #1 - uxth w25, w25 - cbnz w25, .L840 -.L838: - cmp w22, w26 - add x19, x19, :lo12:.LANCHOR0 - bcs .L841 - add x23, x23, :lo12:.LANCHOR3 - ldrh w1, [x19,3404] - ldrh w0, [x23,1294] - cmp w1, w0, lsr 1 - bls .L807 - sub w0, w1, w0, lsr 3 - strh w0, [x19,3404] - b .L807 -.L841: - add x23, x23, :lo12:.LANCHOR3 - ldrh w2, [x19,3404] - ldrh w1, [x23,1294] - ldrb w0, [x23,1249] - mul w0, w1, w0 - sub w0, w0, #32 - cmp w2, w0 - bge .L807 - add w1, w2, w1, lsr 3 - strh w1, [x19,3404] -.L807: - adrp x0, .LANCHOR2 - ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L842 - adrp x0, .LC102 - ldr w2, [x29,128] - add x0, x0, :lo12:.LC102 - mov w1, w21 - mov w3, w22 - mov w4, w20 - bl printk -.L842: - mov w0, w22 - b .L908 -.L848: - mov w28, 0 - mov w22, w28 -.L816: - add x2, x23, :lo12:.LANCHOR3 - add x0, x19, :lo12:.LANCHOR0 - ldrh w2, [x2,1298] - ldrh w1, [x0,3384] - cmp w1, w2, lsr 2 - bhi .L843 - ldrh w0, [x0,3382] - add w0, w0, 8 - cmp w1, w0 - ble .L814 -.L843: - cmp w28, w24 - bcs .L814 - mov w26, 64 - uxth w27, w20 -.L825: - add x6, x23, :lo12:.LANCHOR3 - mov w1, 3 - str x6, [x29,104] - ldrh w2, [x6,1290] - str x2, [x29,112] - mov w0, w2 - bl zftl_get_gc_node - uxth w4, w0 - mov w1, 65535 - str x4, [x29,120] - cmp w4, w1 - ldr x2, [x29,112] - ldr x6, [x29,104] - beq .L823 - add w2, w2, 1 - mov w1, 0 - strh w2, [x6,1290] - mov w2, w21 - bl gc_add_sblk - ldr x4, [x29,120] - cbz w0, .L824 - add x0, x19, :lo12:.LANCHOR0 - ubfiz x4, x4, 1, 16 - add w5, w22, 1 - ldr x0, [x0,1112] - uxth w22, w5 - ldrh w0, [x0,x4] - add w28, w28, w0 - uxth w28, w28 - cmp w28, w24 - bhi .L814 - cmp w22, w27 - bcc .L824 - b .L814 -.L823: - cmp w2, 64 - bls .L814 - strh wzr, [x6,1290] - b .L814 -.L824: - sub w3, w26, #1 - uxth w26, w3 - cbnz w26, .L825 - b .L814 -.L908: - 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 gc_search_src_blk, .-gc_search_src_blk - .align 2 .global zftl_insert_free_list .type zftl_insert_free_list, %function zftl_insert_free_list: @@ -5801,22 +5828,22 @@ zftl_insert_free_list: add x0, x0, x1, uxth 2 ldrb w0, [x0,2] ands w0, w0, 24 - bne .L914 + bne .L917 add x0, x3, :lo12:.LANCHOR3 add x2, x2, 3376 - add x0, x0, 1304 - b .L917 -.L914: + add x0, x0, 1392 + b .L920 +.L917: cmp w0, 16 add x0, x3, :lo12:.LANCHOR3 - bne .L916 - add x0, x0, 1312 + bne .L919 + add x0, x0, 1400 add x2, x2, 3378 - b .L917 -.L916: - add x0, x0, 1320 + b .L920 +.L919: + add x0, x0, 1408 add x2, x2, 3380 -.L917: +.L920: bl _insert_free_list ldp x29, x30, [sp], 16 ret @@ -5835,28 +5862,30 @@ zftl_insert_data_list: ldrb w3, [x0,2] and w3, w3, 224 cmp w3, 64 - bne .L919 - add x0, x2, 1128 + bne .L922 + adrp x0, .LANCHOR3 add x2, x2, 3382 - b .L922 -.L919: + add x0, x0, :lo12:.LANCHOR3 + add x0, x0, 1352 + b .L925 +.L922: cmp w3, 96 - bne .L921 + bne .L924 adrp x0, .LANCHOR3 add x2, x2, 3384 add x0, x0, :lo12:.LANCHOR3 - add x0, x0, 1280 - b .L922 -.L921: + add x0, x0, 1368 + b .L925 +.L924: cmp w3, 160 - bne .L918 + bne .L921 adrp x0, .LANCHOR3 add x2, x2, 3386 add x0, x0, :lo12:.LANCHOR3 - add x0, x0, 1272 -.L922: + add x0, x0, 1376 +.L925: bl _insert_data_list -.L918: +.L921: ldp x29, x30, [sp], 16 ret .size zftl_insert_data_list, .-zftl_insert_data_list @@ -5875,10 +5904,10 @@ zftl_gc_get_free_sblk: uxth w23, w1 ldr x0, [x21,1120] ldrh w19, [x0,588] - cbnz w22, .L924 + cbnz w22, .L927 mov w0, 65535 cmp w19, w0 - beq .L924 + beq .L927 adrp x0, .LC103 mov w1, w19 add x0, x0, :lo12:.LC103 @@ -5886,45 +5915,45 @@ zftl_gc_get_free_sblk: ldr x0, [x21,1120] mov w1, -1 strh w1, [x0,588] - b .L925 -.L924: + b .L928 +.L927: add x0, x20, :lo12:.LANCHOR0 adrp x21, .LANCHOR3 ldrh w3, [x0,3378] ldrh w1, [x0,3380] cmp w3, w1 - bcc .L926 + bcc .L929 ldrh w0, [x0,3376] cmp w0, w3 - bls .L927 - cbz w1, .L927 -.L926: + bls .L930 + cbz w1, .L930 +.L929: lsr w1, w1, 2 - cbz w22, .L929 + cbz w22, .L932 mov w1, 7 mul w3, w3, w1 lsr w1, w3, 3 -.L929: +.L932: add x0, x21, :lo12:.LANCHOR3 add x2, x20, :lo12:.LANCHOR0 - add x0, x0, 1320 + add x0, x0, 1408 add x2, x2, 3380 - b .L951 -.L927: + b .L954 +.L930: mov w1, 0 lsr w3, w3, 3 cmp w22, w1 add x0, x21, :lo12:.LANCHOR3 add x2, x20, :lo12:.LANCHOR0 csel w1, w3, w1, ne - add x0, x0, 1312 + add x0, x0, 1400 add x2, x2, 3378 -.L951: +.L954: bl _list_pop_index_node uxth w19, w0 mov w0, 65535 cmp w19, w0 - bne .L932 + bne .L935 add x5, x20, :lo12:.LANCHOR0 add x21, x21, :lo12:.LANCHOR3 adrp x0, .LC104 @@ -5932,14 +5961,14 @@ zftl_gc_get_free_sblk: add x0, x0, :lo12:.LC104 mov w2, w23 ldrh w4, [x5,3376] - ldr x3, [x21,1304] + ldr x3, [x21,1392] ldrh w5, [x5,3380] bl printk -.L932: - cbz w22, .L925 +.L935: + cbz w22, .L928 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L925 + tbz x0, 8, .L928 add x20, x20, :lo12:.LANCHOR0 uxtw x6, w19 lsl x0, x6, 2 @@ -5958,7 +5987,7 @@ zftl_gc_get_free_sblk: ubfx x3, x3, 3, 2 and w5, w5, 2047 bl printk -.L925: +.L928: mov w0, w19 ldr x23, [sp,48] ldp x19, x20, [sp,16] @@ -5970,108 +5999,120 @@ zftl_gc_get_free_sblk: .global zftl_get_free_sblk .type zftl_get_free_sblk, %function zftl_get_free_sblk: - stp x29, x30, [sp, -48]! - uxth w3, w0 + stp x29, x30, [sp, -64]! add x29, sp, 0 stp x21, x22, [sp,32] - uxth w21, w1 + uxth w22, w1 + str x23, [sp,48] stp x19, x20, [sp,16] - cmp w21, 5 + cmp w22, 5 + uxth w21, w0 adrp x20, .LANCHOR0 - bne .L953 + bne .L956 add x2, x20, :lo12:.LANCHOR0 adrp x0, .LANCHOR3 ldrh w3, [x2,3378] ldrh w1, [x2,3380] cmp w3, w1 - bcc .L954 + bcc .L957 ldrh w2, [x2,3376] cmp w2, w3 - bls .L955 - cbz w1, .L955 -.L954: + bls .L958 + cbz w1, .L958 +.L957: add x0, x0, :lo12:.LANCHOR3 add x2, x20, :lo12:.LANCHOR0 - add x0, x0, 1320 + add x0, x0, 1408 lsr w1, w1, 1 - b .L983 -.L955: + b .L987 +.L958: add x0, x0, :lo12:.LANCHOR3 add x2, x20, :lo12:.LANCHOR0 - add x0, x0, 1312 + add x0, x0, 1400 mov w1, 0 add x2, x2, 3378 - b .L982 -.L953: - add x22, x20, :lo12:.LANCHOR0 - cmp w21, 1 - ldr x0, [x22,1120] + b .L986 +.L956: + add x23, x20, :lo12:.LANCHOR0 + cmp w22, 1 + ldr x0, [x23,1120] ldrh w19, [x0,590] - beq .L957 + beq .L960 mov w0, 65535 cmp w19, w0 - beq .L957 + beq .L960 adrp x0, .LC106 mov w1, w19 add x0, x0, :lo12:.LC106 bl printk - ldr x0, [x22,1120] + ldr x0, [x23,1120] mov w1, -1 strh w1, [x0,590] - b .L958 -.L957: - add x4, x20, :lo12:.LANCHOR0 - adrp x0, .LANCHOR3 - ldrh w1, [x4,3376] - ldrh w2, [x4,3380] - cmp w1, w2 - bcc .L959 - ldrh w4, [x4,3378] - cmp w4, w1 - bls .L960 - cbz w2, .L960 -.L959: - lsr w2, w2, 1 - cmp w21, 1 - csel w3, w2, w3, eq - add x0, x0, :lo12:.LANCHOR3 - add x2, x20, :lo12:.LANCHOR0 - add x0, x0, 1320 - mov w1, w3 -.L983: - add x2, x2, 3380 - b .L982 + b .L961 .L960: - lsr w1, w1, 1 - cmp w21, 1 - csel w3, w1, w3, eq - add x0, x0, :lo12:.LANCHOR3 + add x1, x20, :lo12:.LANCHOR0 + ldrh w0, [x1,3376] + ldrh w2, [x1,3380] + cmp w0, w2 + bcc .L962 + ldrh w1, [x1,3378] + cmp w1, w0 + bls .L963 + cbz w2, .L963 +.L962: + bl get_ink_scaned_blk + uxth w0, w0 + mov w19, w0 + mov w0, 65535 + cmp w19, w0 + bne .L961 + cmp w22, 1 + bne .L964 + add x0, x20, :lo12:.LANCHOR0 + ldrh w21, [x0,3380] + lsr w21, w21, 1 +.L964: + adrp x0, .LANCHOR3 add x2, x20, :lo12:.LANCHOR0 - add x0, x0, 1304 - mov w1, w3 + add x0, x0, :lo12:.LANCHOR3 + mov w1, w21 + add x0, x0, 1408 +.L987: + add x2, x2, 3380 + b .L986 +.L963: + lsr w0, w0, 1 + cmp w22, 1 + csel w21, w0, w21, eq + adrp x0, .LANCHOR3 + add x2, x20, :lo12:.LANCHOR0 + add x0, x0, :lo12:.LANCHOR3 + add x0, x0, 1392 + mov w1, w21 add x2, x2, 3376 -.L982: +.L986: bl _list_pop_index_node uxth w0, w0 mov w19, w0 mov w0, 65535 cmp w19, w0 - bne .L958 + bne .L961 add x20, x20, :lo12:.LANCHOR0 - adrp x3, .LANCHOR3+1304 + adrp x3, .LANCHOR3+1392 adrp x0, .LC104 mov w1, w19 add x0, x0, :lo12:.LC104 - mov w2, w21 - ldr x3, [x3,#:lo12:.LANCHOR3+1304] + mov w2, w22 + ldr x3, [x3,#:lo12:.LANCHOR3+1392] ldrh w4, [x20,3376] ldrh w5, [x20,3380] bl printk -.L958: +.L961: mov w0, w19 + ldr x23, [sp,48] ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] - ldp x29, x30, [sp], 48 + ldp x29, x30, [sp], 64 ret .size zftl_get_free_sblk, .-zftl_get_free_sblk .align 2 @@ -6088,28 +6129,30 @@ zftl_remove_data_node: ldrb w3, [x0,2] and w3, w3, 224 cmp w3, 64 - bne .L985 - add x0, x2, 1128 + bne .L989 + adrp x0, .LANCHOR3 add x2, x2, 3382 - b .L988 -.L985: + add x0, x0, :lo12:.LANCHOR3 + add x0, x0, 1352 + b .L992 +.L989: cmp w3, 96 - bne .L987 + bne .L991 adrp x0, .LANCHOR3 add x2, x2, 3384 add x0, x0, :lo12:.LANCHOR3 - add x0, x0, 1280 - b .L988 -.L987: + add x0, x0, 1368 + b .L992 +.L991: cmp w3, 160 - bne .L984 + bne .L988 adrp x0, .LANCHOR3 add x2, x2, 3386 add x0, x0, :lo12:.LANCHOR3 - add x0, x0, 1272 -.L988: + add x0, x0, 1376 +.L992: bl _list_remove_node -.L984: +.L988: ldp x29, x30, [sp], 16 ret .size zftl_remove_data_node, .-zftl_remove_data_node @@ -6127,22 +6170,22 @@ zftl_remove_free_node: add x0, x0, x1, uxth 2 ldrb w0, [x0,2] ands w0, w0, 24 - bne .L990 + bne .L994 add x0, x3, :lo12:.LANCHOR3 add x2, x2, 3376 - add x0, x0, 1304 - b .L993 -.L990: + add x0, x0, 1392 + b .L997 +.L994: cmp w0, 16 add x0, x3, :lo12:.LANCHOR3 - bne .L992 - add x0, x0, 1312 + bne .L996 + add x0, x0, 1400 add x2, x2, 3378 - b .L993 -.L992: - add x0, x0, 1320 + b .L997 +.L996: + add x0, x0, 1408 add x2, x2, 3380 -.L993: +.L997: bl _list_remove_node ldp x29, x30, [sp], 16 ret @@ -6161,28 +6204,30 @@ zftl_list_update_data_list: ldrb w3, [x0,2] and w3, w3, 224 cmp w3, 64 - bne .L995 - add x0, x2, 1128 + bne .L999 + adrp x0, .LANCHOR3 add x2, x2, 3382 - b .L998 -.L995: + add x0, x0, :lo12:.LANCHOR3 + add x0, x0, 1352 + b .L1002 +.L999: cmp w3, 96 - bne .L997 + bne .L1001 adrp x0, .LANCHOR3 add x2, x2, 3384 add x0, x0, :lo12:.LANCHOR3 - add x0, x0, 1280 - b .L998 -.L997: + add x0, x0, 1368 + b .L1002 +.L1001: cmp w3, 160 - bne .L994 + bne .L998 adrp x0, .LANCHOR3 add x2, x2, 3386 add x0, x0, :lo12:.LANCHOR3 - add x0, x0, 1272 -.L998: + add x0, x0, 1376 +.L1002: bl _list_update_data_list -.L994: +.L998: ldp x29, x30, [sp], 16 ret .size zftl_list_update_data_list, .-zftl_list_update_data_list @@ -6205,7 +6250,7 @@ print_list_info: ldr x1, [x19] bl printk ldr x19, [x19] - cbz x19, .L999 + cbz x19, .L1003 mov x22, -6148914691236517206 adrp x23, .LC108 mov w20, 0 @@ -6215,7 +6260,7 @@ print_list_info: mov w27, 65535 mov w25, 6 adrp x24, .LANCHOR3 -.L1002: +.L1006: add x21, x26, :lo12:.LANCHOR0 ldrh w3, [x19] ldrh w4, [x19,2] @@ -6246,17 +6291,17 @@ print_list_info: bl printk ldrh w19, [x19] cmp w19, w27 - beq .L999 + beq .L1003 ldr x0, [x21,1040] add w20, w20, 1 umull x19, w19, w25 uxth w20, w20 add x19, x0, x19 add x0, x24, :lo12:.LANCHOR3 - ldrh w0, [x0,1328] + ldrh w0, [x0,1416] cmp w0, w20 - bcs .L1002 -.L999: + bcs .L1006 +.L1003: sub sp, x29, #32 ldp x19, x20, [sp,48] ldp x21, x22, [sp,64] @@ -6276,24 +6321,24 @@ dump_all_list_info: stp x19, x20, [sp,16] adrp x20, .LANCHOR3 adrp x19, .LANCHOR0 - add x19, x19, :lo12:.LANCHOR0 add x20, x20, :lo12:.LANCHOR3 - add x0, x20, 1304 + add x19, x19, :lo12:.LANCHOR0 + add x0, x20, 1392 add x1, x19, 3376 bl print_list_info - add x0, x20, 1312 + add x0, x20, 1400 add x1, x19, 3378 bl print_list_info - add x0, x20, 1320 + add x0, x20, 1408 add x1, x19, 3380 bl print_list_info - add x0, x19, 1128 + add x0, x20, 1352 add x1, x19, 3382 bl print_list_info - add x0, x20, 1280 + add x0, x20, 1368 add x1, x19, 3384 bl print_list_info - add x0, x20, 1272 + add x0, x20, 1376 add x1, x19, 3386 bl print_list_info ldp x19, x20, [sp,16] @@ -6308,44 +6353,44 @@ ftl_tmp_into_update: ldr x0, [x0,#:lo12:.LANCHOR0+3392] ldr w2, [x0,16] cmp w2, 2048 - bls .L1005 + bls .L1009 lsr w1, w2, 11 ldr w3, [x0,20] add w3, w3, w1 sub w1, w2, w1, lsl 11 str w3, [x0,20] str w1, [x0,16] -.L1005: +.L1009: ldr w2, [x0,24] cmp w2, 2048 - bls .L1006 + bls .L1010 lsr w1, w2, 11 ldr w3, [x0,28] add w3, w3, w1 sub w1, w2, w1, lsl 11 str w3, [x0,28] str w1, [x0,24] -.L1006: +.L1010: ldr w2, [x0,32] cmp w2, 1024 - bls .L1007 + bls .L1011 lsr w1, w2, 10 ldr w3, [x0,36] add w3, w3, w1 sub w1, w2, w1, lsl 10 str w3, [x0,36] str w1, [x0,32] -.L1007: +.L1011: ldr w2, [x0,40] cmp w2, 1024 - bls .L1004 + bls .L1008 lsr w1, w2, 10 ldr w3, [x0,44] add w3, w3, w1 sub w1, w2, w1, lsl 10 str w3, [x0,44] str w1, [x0,40] -.L1004: +.L1008: ret .size ftl_tmp_into_update, .-ftl_tmp_into_update .align 2 @@ -6363,19 +6408,19 @@ ftl_get_blk_list_in_sblk: ldrb w12, [x2,3] mov w2, 0 mov w6, w2 -.L1010: +.L1014: add x8, x11, :lo12:.LANCHOR3 adrp x4, .LANCHOR3 - ldrb w3, [x8,1249] + ldrb w3, [x8,1329] cmp w6, w3 - bge .L1016 + bge .L1020 asr w3, w12, w6 - tbnz x3, 0, .L1011 + tbnz x3, 0, .L1015 add x3, x9, :lo12:.LANCHOR0 - ldrb w5, [x8,1234] + ldrb w5, [x8,1314] sbfiz x10, x2, 1, 32 ldrb w7, [x3,1257] - ldrh w3, [x8,1232] + ldrh w3, [x8,1312] sdiv w4, w6, w5 sub w7, w13, w7 sub w3, w7, w3 @@ -6383,30 +6428,30 @@ ftl_get_blk_list_in_sblk: madd w3, w0, w5, w3 uxth w4, w3 strh w4, [x1,x10] - ldrb w3, [x8,1234] + ldrb w3, [x8,1314] cmp w3, 1 - bls .L1012 + bls .L1016 sub w3, w3, #1 and w3, w6, w3 add w3, w4, w3 strh w3, [x1,x10] -.L1012: - add w2, w2, 1 -.L1011: - add w6, w6, 1 - b .L1010 .L1016: + add w2, w2, 1 +.L1015: + add w6, w6, 1 + b .L1014 +.L1020: mov w0, w2 mov w5, -1 -.L1014: +.L1018: add x3, x4, :lo12:.LANCHOR3 - ldrb w3, [x3,1249] + ldrb w3, [x3,1329] cmp w2, w3 - bge .L1017 + bge .L1021 strh w5, [x1,w2,sxtw 1] add w2, w2, 1 - b .L1014 -.L1017: + b .L1018 +.L1021: ret .size ftl_get_blk_list_in_sblk, .-ftl_get_blk_list_in_sblk .align 2 @@ -6423,10 +6468,10 @@ ftl_erase_phy_blk: stp x19, x20, [sp,16] ldrb w4, [x0,#:lo12:.LANCHOR0+1257] mov w0, 24 - ldrh w19, [x5,1232] + ldrh w19, [x5,1312] mov w21, w1 sub w4, w0, w4 - ldrb w0, [x5,1250] + ldrb w0, [x5,1330] sub w4, w4, w19 mov w19, 1 lsl w19, w19, w4 @@ -6435,20 +6480,20 @@ ftl_erase_phy_blk: mov x20, x3 and w19, w19, w2 sxth w19, w19 - cbz w0, .L1019 - ldrb w0, [x5,1251] - cbnz w0, .L1019 - ldrh w2, [x5,1330] + cbz w0, .L1023 + ldrb w0, [x5,1331] + cbnz w0, .L1023 + ldrh w2, [x5,1418] cmp w1, wzr mov w0, w22 cset w1, eq mul w2, w19, w2 bl flash_erase_block_en -.L1019: +.L1023: add x3, x20, :lo12:.LANCHOR3 mov w1, w21 mov w0, w22 - ldrh w2, [x3,1330] + ldrh w2, [x3,1418] mul w2, w19, w2 bl flash_erase_block_en ldp x19, x20, [sp,16] @@ -6479,92 +6524,92 @@ ftl_erase_sblk: mov x26, x25 add x1, x1, x22 ldrb w27, [x1,3] -.L1024: +.L1028: add x1, x25, :lo12:.LANCHOR3 - ldrb w0, [x1,1332] + ldrb w0, [x1,1420] cmp w19, w0 - bge .L1035 - ldrb w0, [x1,1234] + bge .L1039 + ldrb w0, [x1,1314] mov w20, 0 - ldrh w3, [x1,1330] + ldrh w3, [x1,1418] mov w1, w20 sub w4, w0, #1 mul w6, w19, w0 mul w5, w24, w0 -.L1036: +.L1040: cmp w1, w0 - bge .L1049 + bge .L1053 add w2, w1, w6 asr w2, w27, w2 - tbnz x2, 0, .L1025 + tbnz x2, 0, .L1029 and w2, w1, w4 add x7, x29, 96 add w2, w5, w2 mul w2, w2, w3 str w2, [x7,w20,sxtw 2] add w20, w20, 1 -.L1025: +.L1029: add w1, w1, 1 - b .L1036 -.L1049: + b .L1040 +.L1053: cmp w0, 4 - bne .L1048 + bne .L1052 mov x28, 0 -.L1027: +.L1031: cmp w20, w28 - ble .L1030 + ble .L1034 add x2, x29, 96 mov w0, w19 mov w1, w23 ldr w2, [x2,x28,lsl 2] add x28, x28, 1 bl flash_erase_block_en - b .L1027 -.L1048: + b .L1031 +.L1052: cmp w20, 2 - bne .L1031 + bne .L1035 add x0, x26, :lo12:.LANCHOR3 - ldrb w1, [x0,1250] - cbz w1, .L1032 - ldrb w0, [x0,1251] - cbnz w0, .L1032 + ldrb w1, [x0,1330] + cbz w1, .L1036 + ldrb w0, [x0,1331] + cbnz w0, .L1036 cmp w23, wzr ldr w2, [x29,96] ldr w3, [x29,100] mov w0, w19 cset w1, eq bl flash_erase_duplane_block -.L1032: +.L1036: ldr w2, [x29,96] mov w0, w19 ldr w3, [x29,100] mov w1, w23 bl flash_erase_duplane_block - b .L1030 -.L1031: + b .L1034 +.L1035: cmp w20, 1 - bne .L1030 + bne .L1034 add x0, x26, :lo12:.LANCHOR3 - ldrb w1, [x0,1250] - cbz w1, .L1034 - ldrb w0, [x0,1251] - cbnz w0, .L1034 + ldrb w1, [x0,1330] + cbz w1, .L1038 + ldrb w0, [x0,1331] + cbnz w0, .L1038 cmp w23, wzr ldr w2, [x29,96] mov w0, w19 cset w1, eq bl flash_erase_block_en +.L1038: + ldr w2, [x29,96] + mov w0, w19 + mov w1, w23 + bl flash_erase_block_en .L1034: - ldr w2, [x29,96] - mov w0, w19 - mov w1, w23 - bl flash_erase_block_en -.L1030: add w19, w19, 1 - b .L1024 -.L1035: + b .L1028 +.L1039: add x0, x21, :lo12:.LANCHOR0 - cbnz w23, .L1037 + cbnz w23, .L1041 ldr x2, [x0,1096] ldrh w1, [x2,x22] add w3, w1, 1 @@ -6580,10 +6625,10 @@ ftl_erase_sblk: ubfx x0, x0, 0, 11 uxth w2, w0 cmp w3, w2 - bge .L1039 + bge .L1043 strh w0, [x1,96] - b .L1039 -.L1037: + b .L1043 +.L1041: ldr x3, [x0,1096] ldr w1, [x3,x22] ubfx x2, x1, 11, 8 @@ -6599,9 +6644,9 @@ ftl_erase_sblk: ldr w0, [x0,x22] ubfx x0, x0, 11, 8 cmp w2, w0, uxtb - bcs .L1039 + bcs .L1043 strh w0, [x1,98] -.L1039: +.L1043: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -6624,39 +6669,39 @@ ftl_alloc_sys_blk: ldr x1, [x1,3392] ldrh w2, [x1,136] cmp w2, 63 - bls .L1051 + bls .L1055 strh wzr, [x1,136] -.L1051: +.L1055: ldrh w0, [x1,112] - cbnz w0, .L1052 + cbnz w0, .L1056 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - mov w2, 1283 + mov w2, 1359 add x1, x1, 1800 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L1052: +.L1056: add x0, x19, :lo12:.LANCHOR0 mov w4, 65535 ldr x1, [x0,3392] -.L1056: +.L1060: ldrh w2, [x1,136] -.L1053: +.L1057: cmp w2, 63 - bgt .L1059 + bgt .L1063 sxtw x3, w2 add x3, x3, 80 ldrh w0, [x1,x3,lsl 1] cmp w0, w4 - bne .L1058 + bne .L1062 add w2, w2, 1 - b .L1053 -.L1059: + b .L1057 +.L1063: strh wzr, [x1,136] - b .L1056 -.L1058: + b .L1060 +.L1062: mov w4, -1 strh w4, [x1,x3,lsl 1] strh w2, [x1,136] @@ -6681,34 +6726,34 @@ ftl_free_sys_blk: ldr x2, [x0,3392] ldrh w0, [x2,138] cmp w0, 63 - bls .L1061 + bls .L1065 strh wzr, [x2,138] -.L1061: +.L1065: ldrh w0, [x2,112] cmp w0, 63 - bls .L1062 + bls .L1066 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - mov w2, 1310 + mov w2, 1386 add x1, x1, 1824 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L1062: +.L1066: add x1, x19, :lo12:.LANCHOR0 mov w0, 65535 ldr x1, [x1,3392] -.L1066: +.L1070: ldrh w2, [x1,138] -.L1063: +.L1067: cmp w2, 63 - bgt .L1068 + bgt .L1072 sxtw x3, w2 add x3, x3, 80 ldrh w4, [x1,x3,lsl 1] cmp w4, w0 - bne .L1064 + bne .L1068 strh w20, [x1,x3,lsl 1] strh w2, [x1,138] ldrh w0, [x1,112] @@ -6717,12 +6762,12 @@ ftl_free_sys_blk: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret -.L1064: - add w2, w2, 1 - b .L1063 .L1068: + add w2, w2, 1 + b .L1067 +.L1072: strh wzr, [x1,138] - b .L1066 + b .L1070 .size ftl_free_sys_blk, .-ftl_free_sys_blk .align 2 .global ftl_info_data_recovery @@ -6736,7 +6781,7 @@ ftl_info_data_recovery: str x23, [sp,48] ldrh w2, [x0] cmp w2, w1 - beq .L1069 + beq .L1073 adrp x19, .LANCHOR0 ubfiz x20, x2, 2, 16 add x23, x19, :lo12:.LANCHOR0 @@ -6744,36 +6789,36 @@ ftl_info_data_recovery: add x22, x21, x20 ldrb w1, [x22,2] tst w1, 224 - bne .L1069 + bne .L1073 ldrb w0, [x0,4] bfi w1, w0, 5, 3 mov w0, w2 strb w1, [x22,2] bl zftl_remove_free_node ldrb w0, [x22,2] - tbz x0, 3, .L1073 + tbz x0, 3, .L1077 ldr x1, [x23,3392] ldrh w0, [x1,116] sub w0, w0, #1 strh w0, [x1,116] - b .L1074 -.L1073: + b .L1078 +.L1077: tst w0, 24 ldr x1, [x23,3392] - bne .L1075 + bne .L1079 ldrh w0, [x1,114] sub w0, w0, #1 strh w0, [x1,114] - b .L1074 -.L1075: + b .L1078 +.L1079: ldrh w0, [x1,118] sub w0, w0, #1 strh w0, [x1,118] -.L1074: +.L1078: ldrb w0, [x22,2] and w0, w0, 224 cmp w0, 160 - bne .L1076 + bne .L1080 ldr w0, [x21,x20] add x19, x19, :lo12:.LANCHOR0 ubfx x1, x0, 11, 8 @@ -6784,29 +6829,29 @@ ftl_info_data_recovery: ldrh w0, [x1,120] sub w0, w0, #1 strh w0, [x1,120] - b .L1069 -.L1076: + b .L1073 +.L1080: ldrh w1, [x21,x20] cmp w0, 64 add w2, w1, 1 bfi w1, w2, 0, 11 strh w1, [x21,x20] - bne .L1077 + bne .L1081 add x19, x19, :lo12:.LANCHOR0 ldr x1, [x19,3392] ldrh w0, [x1,122] sub w0, w0, #1 strh w0, [x1,122] - b .L1069 -.L1077: + b .L1073 +.L1081: cmp w0, 96 - bne .L1069 + bne .L1073 add x19, x19, :lo12:.LANCHOR0 ldr x1, [x19,3392] ldrh w0, [x1,124] sub w0, w0, #1 strh w0, [x1,124] -.L1069: +.L1073: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldr x23, [sp,48] @@ -6827,18 +6872,18 @@ ftl_get_ppa_from_index: str x21, [sp,32] mov x19, x2 ldr x3, [x0,#:lo12:.LANCHOR0+1120] - ldrh w0, [x4,1294] - ldrb w4, [x4,1249] + ldrh w0, [x4,1384] + ldrb w4, [x4,1329] mul w0, w0, w4 cmp w1, w0 - bge .L1079 + bge .L1083 add x3, x3, 16 - b .L1080 -.L1079: + b .L1084 +.L1083: sub w1, w1, w0 add x3, x3, 48 uxth w1, w1 -.L1080: +.L1084: ldrb w2, [x3,9] mov w0, 65535 sdiv w20, w1, w2 @@ -6846,18 +6891,18 @@ ftl_get_ppa_from_index: add x1, x3, x1, uxth 1 ldrh w21, [x1,16] cmp w21, w0 - bne .L1081 + bne .L1085 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - mov w2, 1937 + mov w2, 1945 add x1, x1, 1848 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L1081: +.L1085: add x2, x19, :lo12:.LANCHOR3 - ldrh w0, [x2,1330] + ldrh w0, [x2,1418] madd w0, w21, w0, w20 ldp x19, x20, [sp,16] ldr x21, [sp,32] @@ -6874,25 +6919,25 @@ lpa_hash_get_ppa: add x2, x1, x0, uxtb 1 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldrh w2, [x2,1336] - ldr x4, [x1,1848] - ldr x5, [x1,1856] -.L1083: + ldrh w2, [x2,1424] + ldr x4, [x1,1936] + ldr x5, [x1,1944] +.L1087: cmp w2, w3 - beq .L1087 + beq .L1091 uxtw x1, w2 ldr w6, [x4,x1,lsl 2] cmp w6, w0 - bne .L1084 + bne .L1088 mov w0, w2 bl ftl_get_ppa_from_index - b .L1085 -.L1084: + b .L1089 +.L1088: ldrh w2, [x5,x1,lsl 1] - b .L1083 -.L1087: + b .L1087 +.L1091: mov w0, -1 -.L1085: +.L1089: ldp x29, x30, [sp], 16 ret .size lpa_hash_get_ppa, .-lpa_hash_get_ppa @@ -6907,71 +6952,71 @@ ftl_get_new_free_page: ldrh w1, [x0] mov w0, 65535 cmp w1, w0 - bne .L1089 + bne .L1093 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - mov w2, 2080 + mov w2, 2088 add x1, x1, 1872 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L1089: +.L1093: adrp x20, .LANCHOR3 ldrh w1, [x19,2] add x0, x20, :lo12:.LANCHOR3 - ldrh w0, [x0,1294] + ldrh w0, [x0,1384] cmp w1, w0 - bne .L1090 + bne .L1094 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - mov w2, 2081 + mov w2, 2089 add x1, x1, 1872 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L1090: +.L1094: ldrh w0, [x19,6] - cbnz w0, .L1091 + cbnz w0, .L1095 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - mov w2, 2082 + mov w2, 2090 add x1, x1, 1872 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L1091: +.L1095: ldrb w0, [x19,5] add x1, x20, :lo12:.LANCHOR3 add x0, x0, 8 - ldrb w2, [x1,1249] + ldrb w2, [x1,1329] mov w1, 65535 ldrh w0, [x19,x0,lsl 1] -.L1092: +.L1096: cmp w0, w1 - bne .L1096 + bne .L1100 ldrb w0, [x19,5] add w0, w0, 1 uxtb w0, w0 strb w0, [x19,5] cmp w0, w2 - bne .L1093 + bne .L1097 ldrh w0, [x19,2] strb wzr, [x19,5] add w0, w0, 1 strh w0, [x19,2] -.L1093: +.L1097: ldrb w0, [x19,5] add x0, x0, 8 ldrh w0, [x19,x0,lsl 1] - b .L1092 -.L1096: + b .L1096 +.L1100: add x20, x20, :lo12:.LANCHOR3 ldrh w2, [x19,2] - ldrh w1, [x20,1330] - ldrb w3, [x20,1249] + ldrh w1, [x20,1418] + ldrb w3, [x20,1329] mul w0, w0, w1 ldrh w1, [x19,6] orr w0, w0, w2 @@ -6985,11 +7030,11 @@ ftl_get_new_free_page: uxtb w1, w1 strb w1, [x19,5] cmp w3, w1 - bne .L1095 + bne .L1099 add w2, w2, 1 strb wzr, [x19,5] strh w2, [x19,2] -.L1095: +.L1099: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret @@ -7007,16 +7052,16 @@ ftl_ext_alloc_new_blk: mov w1, 65533 sub w0, w0, #1 cmp w1, w0, uxth - bcs .L1098 + bcs .L1102 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - mov w2, 2117 + mov w2, 2125 add x1, x1, 1896 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L1098: +.L1102: adrp x19, .LANCHOR0 mov w1, 0 add x19, x19, :lo12:.LANCHOR0 @@ -7039,18 +7084,18 @@ ftl_ext_alloc_new_blk: ftl_total_vpn_update: adrp x1, .LANCHOR3 add x3, x1, :lo12:.LANCHOR3 - ldrh w2, [x3,1864] - cbnz w0, .L1100 + ldrh w2, [x3,1952] + cbnz w0, .L1104 cmp w2, 4 - bhi .L1100 + bhi .L1104 add w2, w2, 1 - strh w2, [x3,1864] - b .L1099 -.L1100: + strh w2, [x3,1952] + b .L1103 +.L1104: add x1, x1, :lo12:.LANCHOR3 adrp x0, .LANCHOR0 mov w9, 65535 - strh wzr, [x1,1864] + strh wzr, [x1,1952] add x1, x0, :lo12:.LANCHOR0 ldrh w6, [x1,1088] ldr x7, [x1,1112] @@ -7058,35 +7103,35 @@ ftl_total_vpn_update: mov x1, 0 mov w2, w1 mov w3, w1 -.L1102: +.L1106: cmp w6, w1, uxth - bls .L1110 + bls .L1114 ldrh w4, [x7,x1,lsl 1] cmp w4, w9 - beq .L1103 + beq .L1107 add x5, x8, x1, lsl 2 ldrb w5, [x5,2] and w5, w5, 224 cmp w5, 160 - bne .L1104 + bne .L1108 add w2, w2, w4 - b .L1103 -.L1104: + b .L1107 +.L1108: add w3, w3, w4 -.L1103: +.L1107: add x1, x1, 1 - b .L1102 -.L1110: + b .L1106 +.L1114: add x0, x0, :lo12:.LANCHOR0 ldr x1, [x0,1120] ldr x0, [x0,3392] str w3, [x1,524] str w2, [x1,528] ldrh w0, [x0,120] - cbz w0, .L1099 + cbz w0, .L1103 udiv w2, w2, w0 str w2, [x1,532] -.L1099: +.L1103: ret .size ftl_total_vpn_update, .-ftl_total_vpn_update .align 2 @@ -7100,10 +7145,10 @@ ftl_debug_info_fill: ldrb w3, [x3,#:lo12:.LANCHOR0+3360] str x19, [sp,16] cmp w3, 8 - bls .L1112 + bls .L1116 cmp w0, 2 - bne .L1113 - cbz x2, .L1113 + bne .L1117 + cbz x2, .L1117 mov x19, x1 mov w1, 21320 movk w1, 0x4841, lsl 16 @@ -7112,11 +7157,11 @@ ftl_debug_info_fill: mov w1, 1024 bl js_hash str w0, [x19,4] - b .L1112 -.L1113: + b .L1116 +.L1117: str wzr, [x1] str wzr, [x1,4] -.L1112: +.L1116: mov w0, 0 ldr x19, [sp,16] ldp x29, x30, [sp], 32 @@ -7138,10 +7183,10 @@ ftl_vpn_update: ldr x0, [x1,1112] ldrh w2, [x0,x19] mov w0, 0 - cbnz w2, .L1121 + cbnz w2, .L1125 mov w0, 1 str w0, [x1,3412] -.L1121: +.L1125: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -7156,14 +7201,14 @@ ftl_vpn_decrement: add x29, sp, 0 str x19, [sp,16] cmp w1, w0 - beq .L1124 + beq .L1128 adrp x2, .LANCHOR0 uxtw x0, w1 add x2, x2, :lo12:.LANCHOR0 lsl x3, x0, 1 ldr x4, [x2,1112] ldrh w19, [x4,x3] - cbnz w19, .L1125 + cbnz w19, .L1129 ldr x2, [x2,1096] add x0, x2, x0, lsl 2 mov w2, w19 @@ -7172,42 +7217,42 @@ ftl_vpn_decrement: add x0, x0, :lo12:.LC109 ubfx x3, x3, 5, 3 bl printk - b .L1131 -.L1125: + b .L1135 +.L1129: sub w19, w19, #1 strh w19, [x4,x3] -.L1124: +.L1128: adrp x19, .LANCHOR3 mov w0, 0 add x19, x19, :lo12:.LANCHOR3 - ldrh w2, [x19,1208] + ldrh w2, [x19,1288] cmp w2, w1 - beq .L1126 + beq .L1130 mov w0, 65535 cmp w2, w0 - bne .L1127 - strh w1, [x19,1208] -.L1131: + bne .L1131 + strh w1, [x19,1288] +.L1135: mov w0, 0 - b .L1126 -.L1127: + b .L1130 +.L1131: mov w0, w2 str x1, [x29,40] bl ftl_vpn_update cmp w0, wzr - ldrh w3, [x19,1866] + ldrh w3, [x19,1954] cset w0, ne - ldrh w2, [x19,1208] + ldrh w2, [x19,1288] add w3, w3, 1 ldr x1, [x29,40] - strh w1, [x19,1208] + strh w1, [x19,1288] uxth w3, w3 cmp w3, 7 csel w3, w3, wzr, ls - strh w3, [x19,1866] + strh w3, [x19,1954] add x3, x19, x3, uxth 1 - strh w2, [x3,1216] -.L1126: + strh w2, [x3,1296] +.L1130: ldr x19, [sp,16] ldp x29, x30, [sp], 48 ret @@ -7220,76 +7265,76 @@ lpa_hash_update_ppa: uxtb w5, w0 add x6, x3, :lo12:.LANCHOR3 uxth w2, w2 - add x4, x6, 1336 + add x4, x6, 1424 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x8, [x6,1848] - ldr x12, [x6,1856] + ldr x8, [x6,1936] + ldr x12, [x6,1944] mov w6, 65535 ldrh w4, [x4,w5,sxtw 1] mov w11, w6 -.L1133: +.L1137: cmp w4, w11 - beq .L1137 + beq .L1141 uxtw x9, w4 uxth x7, w4 lsl x10, x9, 2 add x13, x8, x10 ldr w10, [x8,x10] cmp w10, w0 - bne .L1134 + bne .L1138 mov w4, -1 str w4, [x13] mov w4, 65535 cmp w6, w4 add x4, x3, :lo12:.LANCHOR3 - bne .L1135 - ldr x6, [x4,1856] - add x4, x4, 1336 + bne .L1139 + ldr x6, [x4,1944] + add x4, x4, 1424 ldrh w6, [x6,x7,lsl 1] strh w6, [x4,w5,sxtw 1] - b .L1136 -.L1135: - ldr x4, [x4,1856] + b .L1140 +.L1139: + ldr x4, [x4,1944] ldrh w8, [x4,x7,lsl 1] strh w8, [x4,w6,uxtw 1] -.L1136: +.L1140: add x4, x3, :lo12:.LANCHOR3 mov w6, -1 - ldr x4, [x4,1856] + ldr x4, [x4,1944] strh w6, [x4,x7,lsl 1] - b .L1137 -.L1134: + b .L1141 +.L1138: mov w6, w4 ldrh w4, [x12,x9,lsl 1] - b .L1133 -.L1137: + b .L1137 +.L1141: add x3, x3, :lo12:.LANCHOR3 uxtw x4, w2 cmn w1, #1 - ldr x6, [x3,1848] + ldr x6, [x3,1936] str w0, [x6,x4,lsl 2] - add x0, x3, 1336 + add x0, x3, 1424 ldrh w6, [x0,w5,sxtw 1] strh w2, [x0,w5,sxtw 1] - ldr x0, [x3,1856] + ldr x0, [x3,1944] strh w6, [x0,x4,lsl 1] - beq .L1139 + beq .L1143 adrp x2, .LANCHOR0+1257 - ldrh w0, [x3,1232] + ldrh w0, [x3,1312] lsr w1, w1, w0 ldrb w4, [x2,#:lo12:.LANCHOR0+1257] mov w2, 24 sub w2, w2, w4 mov w4, 1 sub w2, w2, w0 - ldrb w0, [x3,1234] + ldrb w0, [x3,1314] lsl w2, w4, w2 sub w2, w2, #1 and w1, w2, w1 udiv w0, w1, w0 bl ftl_vpn_decrement -.L1139: +.L1143: mov w0, -1 ldp x29, x30, [sp], 16 ret @@ -7315,12 +7360,12 @@ ftl_mask_bad_block: lsr w2, w0, w3 sub w1, w1, #1 and w1, w1, w2 - ldrb w5, [x7,1234] + ldrb w5, [x7,1314] uxtb w1, w1 cmp w5, 1 mul w2, w1, w5 uxtb w20, w2 - ldrh w2, [x7,1232] + ldrh w2, [x7,1312] sub w3, w3, w2 lsr w0, w0, w2 lsl w3, w4, w3 @@ -7329,25 +7374,25 @@ ftl_mask_bad_block: uxth w4, w3 udiv w3, w3, w5 uxth w21, w3 - bls .L1144 + bls .L1148 sub w5, w5, #1 and w5, w4, w5 add w2, w20, w5 uxtb w20, w2 -.L1144: +.L1148: adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 14, .L1145 + tbz x0, 14, .L1149 adrp x0, .LC110 mov w2, w20 add x0, x0, :lo12:.LC110 uxth w3, w3 bl printk -.L1145: +.L1149: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x0,1088] cmp w1, w21 - bls .L1143 + bls .L1147 ldr x0, [x0,1096] mov w2, 1 add x21, x0, x21, uxth 2 @@ -7355,7 +7400,7 @@ ftl_mask_bad_block: lsl w2, w2, w20 orr w2, w2, w0 strb w2, [x21,3] -.L1143: +.L1147: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -7376,22 +7421,22 @@ gc_free_bad_sblk: stp x21, x22, [sp,32] stp x25, x26, [sp,64] mov w27, 0 - ldr w0, [x0,5544] - cbz w0, .L1167 + ldr w0, [x0,5624] + cbz w0, .L1171 adrp x22, .LANCHOR3 adrp x21, .LC111 add x0, x21, :lo12:.LC111 mov x23, x22 mov w25, 24 str x0, [x29,104] -.L1168: +.L1172: add x2, x22, :lo12:.LANCHOR3 - ldrb w0, [x2,1249] + ldrb w0, [x2,1329] cmp w0, w27 - bls .L1167 + bls .L1171 add x4, x20, :lo12:.LANCHOR0 - ldrb w3, [x2,1234] - ldrh w2, [x2,1232] + ldrb w3, [x2,1314] + ldrh w2, [x2,1312] cmp w3, 1 ldrb w19, [x4,1257] uxth w1, w3 @@ -7401,68 +7446,68 @@ gc_free_bad_sblk: lsl w19, w0, w19 madd w19, w24, w1, w19 uxth w19, w19 - bls .L1152 + bls .L1156 sub w1, w1, #1 and w1, w27, w1 add w19, w19, w1 uxth w19, w19 -.L1152: +.L1156: add x21, x20, :lo12:.LANCHOR0 mov w26, 0 add x28, x21, 3424 -.L1153: - ldr w0, [x28,2120] +.L1157: + ldr w0, [x28,2200] cmp w26, w0 - bcs .L1169 + bcs .L1173 add x0, x28, x26, sxtw 1 - ldrh w0, [x0,2124] + ldrh w0, [x0,2204] cmp w0, w19 - bne .L1154 + bne .L1158 ldr x0, [x29,104] mov w1, w19 bl printk add x0, x23, :lo12:.LANCHOR3 - ldrb w1, [x0,1868] - cbnz w1, .L1155 - ldrb w0, [x0,1250] - cbz w0, .L1156 -.L1155: + ldrb w1, [x0,1956] + cbnz w1, .L1159 + ldrb w0, [x0,1330] + cbz w0, .L1160 +.L1159: ldr x0, [x21,3392] ldr w1, [x0,156] mov w0, 20041 movk w0, 0x444b, lsl 16 cmp w1, w0 - beq .L1157 -.L1156: + beq .L1161 +.L1160: add x0, x23, :lo12:.LANCHOR3 - ldrh w0, [x0,1232] + ldrh w0, [x0,1312] lsl w0, w19, w0 bl ftl_mask_bad_block -.L1157: - ldr w1, [x28,2120] +.L1161: + ldr w1, [x28,2200] mov w0, w26 -.L1158: +.L1162: cmp w0, w1 - bcs .L1170 + bcs .L1174 add w2, w0, 1 add x0, x28, x0, sxtw 1 add x4, x28, x2, sxtw 1 - ldrh w4, [x4,2124] - strh w4, [x0,2124] + ldrh w4, [x4,2204] + strh w4, [x0,2204] uxth w0, w2 - b .L1158 -.L1170: + b .L1162 +.L1174: sub w1, w1, #1 - str w1, [x28,2120] -.L1154: + str w1, [x28,2200] +.L1158: add w26, w26, 1 uxth w26, w26 - b .L1153 -.L1169: + b .L1157 +.L1173: add w27, w27, 1 uxth w27, w27 - b .L1168 -.L1167: + b .L1172 +.L1171: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -7490,7 +7535,7 @@ ftl_free_sblk: add x21, x5, x19 ldrb w2, [x21,2] ubfx x23, x2, 5, 3 - tbz x2, 3, .L1172 + tbz x2, 3, .L1176 ldr x6, [x4,3392] ldrh w0, [x5,x19] ldr w3, [x5,x19] @@ -7506,63 +7551,63 @@ ftl_free_sblk: adrp x6, .LANCHOR3 add x6, x6, :lo12:.LANCHOR3 udiv w9, w0, w3 - ldrh w10, [x6,1870] + ldrh w10, [x6,1958] add w9, w7, w9 cmp w9, w10 - ble .L1173 + ble .L1177 ldrh w0, [x4,3378] ldrh w7, [x4,3386] add w7, w7, w0 - ldrh w0, [x6,1300] + ldrh w0, [x6,1390] add w0, w0, 8 cmp w7, w0 - blt .L1179 + blt .L1183 ldrh w0, [x4,3376] ldrh w7, [x4,3382] add w7, w7, w0 ldrh w0, [x4,3384] add w4, w7, w0 - ldrh w0, [x6,1298] + ldrh w0, [x6,1388] add w0, w0, 8 cmp w4, w0 - b .L1193 -.L1173: + b .L1197 +.L1177: madd w7, w7, w3, w0 - ldrh w0, [x6,1872] + ldrh w0, [x6,1960] cmp w7, w0 - ble .L1175 + ble .L1179 ldrh w0, [x4,3376] ldrh w7, [x4,3382] add w7, w7, w0 ldrh w0, [x4,3384] add w7, w7, w0 - ldrh w0, [x6,1298] + ldrh w0, [x6,1388] add w9, w0, 8 cmp w7, w9 - blt .L1191 + blt .L1195 ldrh w9, [x4,3386] ldrh w4, [x4,3378] add w9, w9, w4 - ldrh w4, [x6,1300] + ldrh w4, [x6,1390] add w4, w4, 8 cmp w9, w4 - blt .L1179 + blt .L1183 add w0, w0, 24 cmp w7, w0 -.L1193: - bge .L1179 -.L1191: +.L1197: + bge .L1183 +.L1195: and w2, w2, -25 - b .L1190 -.L1179: + b .L1194 +.L1183: mov w0, 2 bfi w2, w0, 3, 2 -.L1190: +.L1194: strb w2, [x21,2] -.L1175: +.L1179: ldrb w0, [x21,2] ands w0, w0, 24 - bne .L1180 + bne .L1184 mul w0, w8, w3 lsr w3, w8, 3 add w0, w0, w0, lsl 1 @@ -7573,10 +7618,10 @@ ftl_free_sblk: ldr w0, [x5,x19] bfi w0, w3, 11, 8 str w0, [x5,x19] - b .L1181 -.L1180: + b .L1185 +.L1184: cmp w0, 16 - bne .L1181 + bne .L1185 sdiv w3, w1, w3 ldr w0, [x5,x19] add w3, w3, w3, lsl 1 @@ -7586,15 +7631,15 @@ ftl_free_sblk: str w0, [x5,x19] bfi w0, w3, 0, 11 strh w0, [x5,x19] - b .L1181 -.L1172: + b .L1185 +.L1176: tst w2, 24 - bne .L1181 + bne .L1185 ldrh w0, [x4,3380] - cbnz w0, .L1181 + cbnz w0, .L1185 ldrh w0, [x4,3378] cmp w0, 15 - bhi .L1181 + bhi .L1185 ldrh w1, [x4,3376] ldrh w6, [x4,3382] add w6, w6, w1 @@ -7602,16 +7647,16 @@ ftl_free_sblk: add w6, w6, w1 adrp x1, .LANCHOR3 add x1, x1, :lo12:.LANCHOR3 - ldrh w3, [x1,1298] + ldrh w3, [x1,1388] add w3, w3, 16 cmp w6, w3 - ble .L1181 + ble .L1185 ldrh w3, [x4,3386] - ldrh w1, [x1,1300] + ldrh w1, [x1,1390] add w0, w3, w0 add w1, w1, 8 cmp w0, w1 - bge .L1181 + bge .L1185 mov w0, 2 bfi w2, w0, 3, 2 strb w2, [x21,2] @@ -7628,7 +7673,7 @@ ftl_free_sblk: str w2, [x5,x19] bfi w2, w0, 0, 11 strh w2, [x5,x19] -.L1181: +.L1185: mov w0, w22 add w23, w23, 6 and w23, w23, 7 @@ -7642,33 +7687,33 @@ ftl_free_sblk: strb w0, [x2,2] ldr x0, [x1,1112] strh wzr, [x0,x24,lsl 1] - bhi .L1184 + bhi .L1188 mov w0, w22 bl gc_free_bad_sblk -.L1184: +.L1188: ldrb w0, [x21,2] - tbz x0, 3, .L1185 + tbz x0, 3, .L1189 add x20, x20, :lo12:.LANCHOR0 ldr x0, [x20,1120] ldrh w1, [x0,586] cmp w1, w22 - bne .L1185 + bne .L1189 mov w1, -1 ldrh w2, [x0,590] strh w1, [x0,586] mov w1, 65535 cmp w2, w1 - bne .L1185 + bne .L1189 strh w22, [x0,590] adrp x0, .LC112 mov w1, w22 add x0, x0, :lo12:.LC112 bl printk - b .L1171 -.L1185: + b .L1175 +.L1189: mov w0, w22 bl zftl_insert_free_list -.L1171: +.L1175: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -7692,129 +7737,129 @@ gc_free_src_blk: mov w20, 0 add x24, x23, 3424 add x21, x21, 1920 -.L1195: +.L1199: ldrh w0, [x24,56] adrp x25, .LANCHOR0 cmp w0, w20 - bls .L1233 + bls .L1237 add x0, x24, x20, sxtw 1 ldrh w22, [x0,58] ldr x0, [x23,1112] lsl x26, x22, 1 mov x19, x22 ldrh w2, [x0,x26] - cbz w2, .L1196 + cbz w2, .L1200 adrp x0, .LC113 mov w1, w22 add x0, x0, :lo12:.LC113 bl printk -.L1196: +.L1200: add x0, x25, :lo12:.LANCHOR0 ldr x1, [x0,1112] strh wzr, [x1,x26] ldr x1, [x0,1112] ldrh w1, [x1,x26] - cbnz w1, .L1197 + cbnz w1, .L1201 ldr x0, [x0,1096] add x22, x0, x22, lsl 2 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L1198 + tbz x0, 8, .L1202 ldrb w2, [x22,2] adrp x0, .LC114 add x0, x0, :lo12:.LC114 mov w1, w19 ubfx x2, x2, 5, 3 bl printk -.L1198: +.L1202: ldrb w0, [x22,2] tst w0, 192 - beq .L1211 + beq .L1215 and w0, w0, 224 cmp w0, 224 - bne .L1199 -.L1211: + bne .L1203 +.L1215: adrp x0, .LC0 mov x1, x21 - mov w2, 1362 + mov w2, 1363 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L1199: +.L1203: mov w0, w19 add x25, x25, :lo12:.LANCHOR0 bl ftl_free_sblk ldr x2, [x25,1120] ldrh w1, [x2,124] - cbz w1, .L1201 + cbz w1, .L1205 mov x0, 0 -.L1203: +.L1207: add x4, x2, x0, lsl 1 mov w3, w0 ldrh w4, [x4,392] cmp w4, w19 - bne .L1202 + bne .L1206 add x0, x2, x3, sxtw 1 mov w3, -1 strh w3, [x0,392] sub w1, w1, #1 strh w1, [x2,124] - b .L1201 -.L1202: + b .L1205 +.L1206: add x0, x0, 1 cmp x0, 64 - bne .L1203 -.L1201: + bne .L1207 +.L1205: ldrh w1, [x2,120] - cbz w1, .L1204 + cbz w1, .L1208 mov x0, 0 -.L1206: +.L1210: add x4, x2, x0, lsl 1 mov w3, w0 ldrh w4, [x4,136] cmp w4, w19 - bne .L1205 + bne .L1209 add x0, x2, x3, sxtw 1 mov w3, -1 strh w3, [x0,136] sub w1, w1, #1 strh w1, [x2,120] - b .L1204 -.L1205: + b .L1208 +.L1209: add x0, x0, 1 cmp x0, 64 - bne .L1206 -.L1204: + bne .L1210 +.L1208: ldrh w1, [x2,122] - cbz w1, .L1207 + cbz w1, .L1211 mov x0, 0 -.L1209: +.L1213: add x4, x2, x0, lsl 1 mov w3, w0 ldrh w4, [x4,264] cmp w4, w19 - bne .L1208 + bne .L1212 add x0, x2, x3, sxtw 1 mov w3, -1 strh w3, [x0,264] sub w1, w1, #1 strh w1, [x2,122] - b .L1207 -.L1208: + b .L1211 +.L1212: add x0, x0, 1 cmp x0, 64 - bne .L1209 - b .L1207 -.L1197: + bne .L1213 + b .L1211 +.L1201: mov w0, w19 mov w1, 1 mov w2, 0 bl gc_add_sblk -.L1207: +.L1211: add w20, w20, 1 uxth w20, w20 - b .L1195 -.L1233: + b .L1199 +.L1237: strh wzr, [x24,56] ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -7921,25 +7966,7 @@ ftl_write_buf: stp x19, x20, [sp,16] str x21, [sp,32] mov x20, x0 - cbnz x0, .L1236 - adrp x1, .LANCHOR1 - adrp x0, .LC0 - add x1, x1, :lo12:.LANCHOR1 - mov w2, 803 - add x1, x1, 1936 - add x0, x0, :lo12:.LC0 - bl printk - bl dump_stack - bl print_ftl_debug_info - mov w0, -1 - b .L1245 -.L1236: - adrp x19, .LANCHOR0 - ldrb w1, [x20,56] - add x0, x19, :lo12:.LANCHOR0 - ldrb w0, [x0,3360] - cmp w1, w0 - bls .L1241 + cbnz x0, .L1240 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 @@ -7948,20 +7975,38 @@ ftl_write_buf: add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L1241: + bl print_ftl_debug_info + mov w0, -1 + b .L1249 +.L1240: + adrp x19, .LANCHOR0 + ldrb w1, [x20,56] + add x0, x19, :lo12:.LANCHOR0 + ldrb w0, [x0,3360] + cmp w1, w0 + bls .L1245 + adrp x1, .LANCHOR1 + adrp x0, .LC0 + add x1, x1, :lo12:.LANCHOR1 + mov w2, 817 + add x1, x1, 1936 + add x0, x0, :lo12:.LC0 + bl printk + bl dump_stack +.L1245: ldrb w0, [x20,56] - cbz w0, .L1238 + cbz w0, .L1242 add x21, x19, :lo12:.LANCHOR0 ldrb w1, [x21,3360] cmp w1, w0 - bcs .L1239 -.L1238: + bcs .L1243 +.L1242: mov x0, x20 add x19, x19, :lo12:.LANCHOR0 bl zbuf_free ldrb w0, [x19,3388] - b .L1245 -.L1239: + b .L1249 +.L1243: add x0, x21, 3416 mov x1, x20 bl buf_add_tail @@ -7978,7 +8023,7 @@ ftl_write_buf: add w1, w1, 1 str w1, [x0,32] mov w0, w2 -.L1245: +.L1249: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -7999,40 +8044,40 @@ ftl_write_completed: stp x23, x24, [sp,48] mov x22, x21 mov w23, 0 -.L1247: +.L1251: ldrb w2, [x19,3366] cmp w2, 255 - beq .L1262 + beq .L1266 lsl x0, x2, 6 add x24, x21, x0 ldrb w0, [x21,x0] strb w0, [x19,3366] ldr w0, [x24,52] cmn w0, #1 - bne .L1248 + bne .L1252 adrp x0, .LANCHOR3 add x1, x0, :lo12:.LANCHOR3 - ldrb w3, [x1,1868] - cbnz w3, .L1249 - ldrb w1, [x1,1250] - cbz w1, .L1250 -.L1249: + ldrb w3, [x1,1956] + cbnz w3, .L1253 + ldrb w1, [x1,1330] + cbz w1, .L1254 +.L1253: ldr x1, [x20,3392] ldr w3, [x1,156] mov w1, 20041 movk w1, 0x444b, lsl 16 cmp w3, w1 - beq .L1251 -.L1250: + beq .L1255 +.L1254: add x0, x0, :lo12:.LANCHOR3 ldrb w4, [x20,1257] mov w3, 24 add x5, x22, x2, lsl 6 sub w4, w3, w4 mov w3, 1 - ldrh w1, [x0,1232] + ldrh w1, [x0,1312] add x5, x5, 32 - ldrb w0, [x0,1234] + ldrb w0, [x0,1314] sub w4, w4, w1 lsl w4, w3, w4 ldr w3, [x5,8] @@ -8046,11 +8091,11 @@ ftl_write_completed: cmp w4, w3 uxth w23, w1 and w1, w1, w3 - bne .L1252 + bne .L1256 str w1, [x0,560] ldr w3, [x5,8] str w3, [x0,564] -.L1252: +.L1256: add x2, x22, x2, lsl 6 adrp x0, .LC121 add x3, x2, 32 @@ -8064,23 +8109,23 @@ ftl_write_completed: str w1, [x0,556] ldrh w1, [x0,16] cmp w1, w23 - bne .L1253 + bne .L1257 strh wzr, [x0,22] - b .L1251 -.L1253: + b .L1255 +.L1257: ldrh w1, [x0,48] cmp w1, w23 - bne .L1251 + bne .L1255 strh wzr, [x0,54] -.L1251: +.L1255: mov x0, x24 mov w23, 1 bl ftl_write_buf - b .L1247 -.L1248: + b .L1251 +.L1252: cmp w23, 1 add x2, x24, 32 - bne .L1256 + bne .L1260 ldr w1, [x2,4] adrp x0, .LC122 ldr w2, [x2,8] @@ -8088,8 +8133,8 @@ ftl_write_completed: bl printk mov x0, x24 bl ftl_write_buf - b .L1247 -.L1256: + b .L1251 +.L1260: ldr w0, [x2,4] ldr w1, [x2,12] ldrh w2, [x24,48] @@ -8097,16 +8142,16 @@ ftl_write_completed: ldrb w0, [x24,2] and w23, w0, 4 uxtb w23, w23 - cbz w23, .L1257 + cbz w23, .L1261 and w0, w0, -3 mov w23, 0 strb w0, [x24,2] - b .L1247 -.L1257: + b .L1251 +.L1261: mov x0, x24 bl zbuf_free - b .L1247 -.L1262: + b .L1251 +.L1266: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -8121,23 +8166,7 @@ zftl_add_read_buf: add x29, sp, 0 stp x19, x20, [sp,16] mov x20, x0 - cbnz x0, .L1264 - adrp x1, .LANCHOR1 - adrp x0, .LC0 - add x1, x1, :lo12:.LANCHOR1 - mov w2, 1143 - add x1, x1, 1952 - add x0, x0, :lo12:.LC0 - bl printk - bl dump_stack - bl print_ftl_debug_info - b .L1263 -.L1264: - ldrb w1, [x0,56] - adrp x0, .LANCHOR0+3360 - ldrb w0, [x0,#:lo12:.LANCHOR0+3360] - cmp w1, w0 - bls .L1267 + cbnz x0, .L1268 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 @@ -8146,104 +8175,36 @@ zftl_add_read_buf: add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L1267: - adrp x19, .LANCHOR3 - mov x1, x20 - add x19, x19, :lo12:.LANCHOR3 - add x0, x19, 1874 - bl buf_add_tail - ldrb w0, [x19,1875] - add w0, w0, 1 - strb w0, [x19,1875] -.L1263: - ldp x19, x20, [sp,16] - ldp x29, x30, [sp], 32 - ret - .size zftl_add_read_buf, .-zftl_add_read_buf - .align 2 - .global ftl_alloc_sblk - .type ftl_alloc_sblk, %function -ftl_alloc_sblk: - stp x29, x30, [sp, -64]! - cmp w0, 5 - add x29, sp, 0 - str x23, [sp,48] - uxth w23, w0 - stp x21, x22, [sp,32] - mov w1, w23 - mov w21, w0 - mov w0, 0 - mov w22, 2 - stp x19, x20, [sp,16] - csel w22, wzr, w22, ne - bl zftl_get_free_sblk - uxth w19, w0 - mov w0, 65535 - cmp w19, w0 - beq .L1270 - adrp x0, .LANCHOR0+1096 - ldr x20, [x0,#:lo12:.LANCHOR0+1096] - add x20, x20, x19, uxth 2 - ldrb w0, [x20,2] - tst w0, 224 - beq .L1271 + bl print_ftl_debug_info + b .L1267 +.L1268: + ldrb w1, [x0,56] + adrp x0, .LANCHOR0+3360 + ldrb w0, [x0,#:lo12:.LANCHOR0+3360] + cmp w1, w0 + bls .L1271 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - mov w2, 939 - add x1, x1, 1976 + mov w2, 1157 + add x1, x1, 1952 add x0, x0, :lo12:.LC0 bl printk bl dump_stack .L1271: - ldrb w1, [x20,2] - bfi w1, w21, 5, 3 - ubfx x2, x1, 3, 2 - mov w0, w1 - orr w2, w22, w2 - bfi w0, w2, 3, 2 - strb w0, [x20,2] - cbnz w22, .L1274 - and w1, w0, 24 - cmp w1, 24 - bne .L1274 - mov w1, 1 - bfi w0, w1, 3, 2 - strb w0, [x20,2] - b .L1274 -.L1270: - adrp x20, .LC123 - bl print_ftl_debug_info - add x20, x20, :lo12:.LC123 - mov w1, w19 - mov w2, w21 - mov x0, x20 - bl printk - mov w1, w23 - mov w0, 0 - bl zftl_get_free_sblk - uxth w19, w0 - mov w1, w19 - mov w2, w21 - mov x0, x20 - bl printk - bl dump_all_list_info - adrp x1, .LANCHOR1 - adrp x0, .LC0 - add x1, x1, :lo12:.LANCHOR1 - mov w2, 955 - add x1, x1, 1976 - add x0, x0, :lo12:.LC0 - bl printk - bl dump_stack -.L1274: - mov w0, w19 - ldr x23, [sp,48] + adrp x19, .LANCHOR3 + mov x1, x20 + add x19, x19, :lo12:.LANCHOR3 + add x0, x19, 1962 + bl buf_add_tail + ldrb w0, [x19,1963] + add w0, w0, 1 + strb w0, [x19,1963] +.L1267: ldp x19, x20, [sp,16] - ldp x21, x22, [sp,32] - ldp x29, x30, [sp], 64 + ldp x29, x30, [sp], 32 ret - .size ftl_alloc_sblk, .-ftl_alloc_sblk + .size zftl_add_read_buf, .-zftl_add_read_buf .align 2 .global sblk_init .type sblk_init, %function @@ -8263,24 +8224,24 @@ sblk_init: .type dump_sblk_queue, %function dump_sblk_queue: stp x29, x30, [sp, -48]! - adrp x0, .LC124 + adrp x0, .LC123 add x29, sp, 0 stp x19, x20, [sp,16] adrp x20, .LANCHOR0 str x21, [sp,32] add x20, x20, :lo12:.LANCHOR0 - add x0, x0, :lo12:.LC124 + add x0, x0, :lo12:.LC123 ldrb w1, [x20,3363] bl printk ldrb w19, [x20,3363] cmp w19, 255 - beq .L1285 + beq .L1273 add x20, x20, 1312 sbfiz x19, x19, 6, 32 - adrp x21, .LC125 + adrp x21, .LC124 add x19, x20, x19 - add x21, x21, :lo12:.LC125 -.L1287: + add x21, x21, :lo12:.LC124 +.L1275: ldrb w1, [x19,1] mov x0, x21 ldrb w2, [x19,58] @@ -8288,11 +8249,11 @@ dump_sblk_queue: bl printk ldrb w19, [x19] cmp w19, 255 - beq .L1285 + beq .L1273 sbfiz x19, x19, 6, 32 add x19, x20, x19 - b .L1287 -.L1285: + b .L1275 +.L1273: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -8308,23 +8269,23 @@ queue_lun_state: mov w0, 0 ldrb w2, [x3,3363] cmp w2, 255 - beq .L1295 + beq .L1283 ldrb w5, [x3,1257] mov w0, 1 mov w8, 24 - adrp x13, .L1298 + adrp x13, .L1286 sub w8, w8, w5 lsl w5, w0, w5 sub w5, w5, #1 asr w10, w4, w8 add x3, x3, 1312 - add x13, x13, :lo12:.L1298 + add x13, x13, :lo12:.L1286 uxth w7, w5 adrp x5, .LANCHOR3 add x5, x5, :lo12:.LANCHOR3 and w10, w7, w10 - ldrh w11, [x5,1232] - ldrb w12, [x5,1234] + ldrh w11, [x5,1312] + ldrb w12, [x5,1314] sub w6, w8, w11 asr w4, w4, w11 lsl w0, w0, w6 @@ -8334,55 +8295,55 @@ queue_lun_state: uxth w9, w0 and w4, w4, w12 and w4, w4, w9 -.L1301: +.L1289: add x6, x3, x2, lsl 6 ldr w5, [x6,40] lsr w0, w5, w8 and w0, w7, w0 cmp w0, w10 - bne .L1296 + bne .L1284 lsr w5, w5, w11 ldrb w0, [x6,58] and w5, w12, w5 and w5, w9, w5 cmp w5, w4 - bne .L1297 + bne .L1285 cmp w1, 1 - beq .L1299 - b .L1295 -.L1297: + beq .L1287 + b .L1283 +.L1285: cmp w1, 3 - bhi .L1296 + bhi .L1284 ldrb w5, [x13,w1,uxtw] - adr x6, .Lrtx1298 + adr x6, .Lrtx1286 add x5, x6, w5, sxtb #2 br x5 -.Lrtx1298: +.Lrtx1286: .section .rodata .align 0 .align 2 -.L1298: - .byte (.L1295 - .Lrtx1298) / 4 - .byte (.L1299 - .Lrtx1298) / 4 - .byte (.L1300 - .Lrtx1298) / 4 - .byte (.L1295 - .Lrtx1298) / 4 +.L1286: + .byte (.L1283 - .Lrtx1286) / 4 + .byte (.L1287 - .Lrtx1286) / 4 + .byte (.L1288 - .Lrtx1286) / 4 + .byte (.L1283 - .Lrtx1286) / 4 .text -.L1299: +.L1287: sub w6, w0, #7 and w6, w6, -3 uxtb w6, w6 - cbz w6, .L1296 - b .L1295 -.L1300: + cbz w6, .L1284 + b .L1283 +.L1288: cmp w0, 11 - bne .L1295 -.L1296: + bne .L1283 +.L1284: lsl x2, x2, 6 ldrb w2, [x3,x2] cmp w2, 255 - bne .L1301 + bne .L1289 mov w0, 0 -.L1295: +.L1283: ret .size queue_lun_state, .-queue_lun_state .align 2 @@ -8401,9 +8362,9 @@ queue_remove_completed_req: ldrb w9, [x0,3364] ldrb w8, [x0,3365] ldrb w10, [x0,3366] -.L1311: +.L1299: cmp w7, 255 - beq .L1312 + beq .L1300 sbfiz x6, x7, 6, 32 sxtw x1, w7 add x2, x4, x6 @@ -8411,205 +8372,67 @@ queue_remove_completed_req: sub w2, w2, #12 uxtb w2, w2 cmp w2, 1 - bls .L1313 - cbz w5, .L1310 + bls .L1301 + cbz w5, .L1298 strb w7, [x0,3363] - b .L1310 -.L1313: + b .L1298 +.L1301: lsl x5, x1, 6 ldrb w7, [x4,x6] add x2, x4, x5 strb w11, [x4,x5] ldrb w5, [x2,59] cmp w5, 1 - bne .L1316 + bne .L1304 ldrh w2, [x2,50] - cbnz w2, .L1324 + cbnz w2, .L1312 mov w2, w10 mov x5, x14 - b .L1317 -.L1316: - cbz w5, .L1334 -.L1318: + b .L1305 +.L1304: + cbz w5, .L1322 +.L1306: mov w5, 1 - b .L1311 -.L1334: + b .L1299 +.L1322: ldr w2, [x2,36] cmn w2, #1 - beq .L1318 + beq .L1306 mov w2, w9 mov x5, x12 - b .L1317 -.L1324: + b .L1305 +.L1312: mov w2, w8 mov x5, x13 -.L1317: +.L1305: cmp w2, 255 - bne .L1322 + bne .L1310 add x3, x3, :lo12:.LANCHOR0 add x1, x3, x1, lsl 6 strb w7, [x3,3363] ldrb w0, [x1,1313] strb w0, [x5] - b .L1310 -.L1322: + b .L1298 +.L1310: mov w5, w2 sbfiz x2, x2, 6, 32 ldrb w2, [x4,x2] cmp w2, 255 - bne .L1322 + bne .L1310 add x1, x4, x1, lsl 6 sbfiz x5, x5, 6, 32 ldrb w1, [x1,1] strb w1, [x4,x5] - b .L1318 -.L1312: - cbz w5, .L1310 + b .L1306 +.L1300: + cbz w5, .L1298 add x3, x3, :lo12:.LANCHOR0 mov w0, -1 strb w0, [x3,3363] -.L1310: +.L1298: ret .size queue_remove_completed_req, .-queue_remove_completed_req .align 2 - .global pm_alloc_new_blk - .type pm_alloc_new_blk, %function -pm_alloc_new_blk: - stp x29, x30, [sp, -64]! - add x29, sp, 0 - stp x19, x20, [sp,16] - adrp x19, .LANCHOR0 - adrp x20, .LANCHOR3 - add x0, x19, :lo12:.LANCHOR0 - stp x21, x22, [sp,32] - stp x23, x24, [sp,48] - ldr x2, [x0,3392] - ldrh w1, [x2,690] - add w1, w1, 1 - uxth w0, w1 - add x1, x20, :lo12:.LANCHOR3 - strh w0, [x2,690] - ldrb w1, [x1,1249] - cmp w1, w0 - bls .L1336 - add x0, x2, x0, sxtw 1 - ldrh w1, [x0,672] - mov w0, 65535 - cmp w1, w0 - bne .L1337 -.L1336: - adrp x23, .LC126 - mov w24, 65535 - add x23, x23, :lo12:.LC126 -.L1338: - mov w0, 1 - bl ftl_alloc_sblk - uxth w22, w0 - cmp w22, w24 - beq .L1338 - mov w1, 0 - mov w0, w22 - add x21, x19, :lo12:.LANCHOR0 - bl ftl_erase_sblk - mov w0, w22 - ldr x1, [x21,3392] - add x1, x1, 672 - bl ftl_get_blk_list_in_sblk - uxth w0, w0 - cbnz w0, .L1339 - mov w1, w22 - mov x0, x23 - bl printk - ldr x1, [x21,1096] - add x22, x1, x22, uxth 2 - ldrb w1, [x22,2] - orr w1, w1, -32 - strb w1, [x22,2] - b .L1338 -.L1339: - ldr x1, [x21,3392] - add x0, x20, :lo12:.LANCHOR3 - mov w2, 1 - mov x21, 0 - str w2, [x0,1876] - mov w2, 65535 - strh wzr, [x1,690] -.L1341: - add x3, x1, x21, lsl 1 - uxth w0, w21 - ldrh w3, [x3,416] - cmp w3, w2 - beq .L1340 - add x21, x21, 1 - cmp x21, 128 - bne .L1341 - adrp x0, .LC0 - adrp x1, .LANCHOR4 - add x1, x1, :lo12:.LANCHOR4 - mov w2, 264 - add x0, x0, :lo12:.LC0 - bl printk - bl dump_stack - mov w0, w21 -.L1340: - add x1, x19, :lo12:.LANCHOR0 - ldr x1, [x1,3392] - add x0, x1, x0, sxtw 1 - strh w22, [x0,416] - ldrh w0, [x1,688] - add w0, w0, 1 - strh w0, [x1,688] -.L1337: - add x0, x19, :lo12:.LANCHOR0 - ldr x1, [x0,3392] - ldrh w0, [x1,690] - add x0, x0, 336 - ldrh w21, [x1,x0,lsl 1] - mov w0, 65533 - sub w1, w21, #1 - cmp w0, w1, uxth - bcs .L1343 - adrp x0, .LC0 - adrp x1, .LANCHOR4 - add x1, x1, :lo12:.LANCHOR4 - mov w2, 270 - add x0, x0, :lo12:.LC0 - bl printk - bl dump_stack -.L1343: - add x19, x19, :lo12:.LANCHOR0 - add x20, x20, :lo12:.LANCHOR3 - mov w0, 24 - ldrb w2, [x19,1257] - ldr x1, [x19,3392] - sub w0, w0, w2 - ldrh w2, [x20,1232] - sub w0, w0, w2 - strh wzr, [x1,696] - asr w4, w21, w0 - strh w21, [x1,692] - strh w4, [x1,694] - adrp x1, .LANCHOR2 - ldr w1, [x1,#:lo12:.LANCHOR2] - tbz x1, 12, .L1347 - mov w2, 1 - mov w1, w21 - lsl w2, w2, w0 - adrp x0, .LC127 - add x0, x0, :lo12:.LC127 - sub w2, w2, #1 - mov w3, w21 - uxth w4, w4 - bl printk -.L1347: - mov w0, 0 - ldp x19, x20, [sp,16] - ldp x21, x22, [sp,32] - ldp x23, x24, [sp,48] - ldp x29, x30, [sp], 64 - ret - .size pm_alloc_new_blk, .-pm_alloc_new_blk - .align 2 .global pm_select_ram_region .type pm_select_ram_region, %function pm_select_ram_region: @@ -8620,68 +8443,67 @@ pm_select_ram_region: str x19, [sp,16] add x2, x2, :lo12:.LANCHOR3 mov x19, 0 -.L1354: - add x1, x2, 1880 +.L1325: + add x1, x2, 1968 lsl x4, x19, 4 uxth w0, w19 ldrh w4, [x4,x1] cmp w4, w3 - beq .L1353 + beq .L1324 add x19, x19, 1 cmp x19, 32 - bne .L1354 + bne .L1325 mov x0, 0 mov w3, 32768 -.L1356: +.L1327: add x2, x1, x0, lsl 4 uxth w4, w0 ldrh w2, [x2,2] - tbnz x2, 15, .L1355 + tbnz x2, 15, .L1326 cmp w2, w3 - bcs .L1355 + bcs .L1326 mov w3, w2 mov w19, w4 -.L1355: +.L1326: add x0, x0, 1 cmp x0, 32 - bne .L1356 + bne .L1327 cmp w19, 32 mov w0, w19 - bne .L1353 + bne .L1324 adrp x0, .LANCHOR3 mov w2, -1 add x0, x0, :lo12:.LANCHOR3 mov w1, 0 - add x0, x0, 1880 + add x0, x0, 1968 ldrb w3, [x0,512] -.L1358: +.L1329: ldrh w5, [x0,2] cmp w5, w2 - bcs .L1357 + bcs .L1328 ldrh w4, [x0] cmp w4, w3 csel w2, w2, w5, eq cmp w4, w3 csel w19, w19, w1, eq -.L1357: +.L1328: add w1, w1, 1 add x0, x0, 16 uxth w1, w1 cmp w1, 32 - bne .L1358 + bne .L1329 cmp w19, 32 - bne .L1359 - adrp x1, .LANCHOR4 + bne .L1330 adrp x0, .LC0 + adrp x1, .LANCHOR4 add x1, x1, :lo12:.LANCHOR4 mov w2, 377 - add x1, x1, 24 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L1359: +.L1330: mov w0, w19 -.L1353: +.L1324: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -8708,58 +8530,58 @@ flash_lsb_page_tbl_build: str x21, [sp,32] add x1, x19, :lo12:.LANCHOR0 mov w21, 1024 - ldr x2, [x1,1136] + ldr x2, [x1,1144] ldrb w2, [x2,12] sdiv w21, w21, w2 - cbnz w0, .L1367 + cbnz w0, .L1338 mov x0, 0 -.L1368: +.L1339: add x2, x1, 4 strh w0, [x2,x0,lsl 1] add x0, x0, 1 cmp x0, 512 - bne .L1368 -.L1374: + bne .L1339 +.L1345: adrp x20, .LANCHOR3 mov w1, 255 add x20, x20, :lo12:.LANCHOR3 mov w2, 2048 - add x20, x20, 2396 + add x20, x20, 2484 add x19, x19, :lo12:.LANCHOR0 mov x0, x20 bl ftl_memset mov x0, 0 - b .L1369 -.L1367: + b .L1340 +.L1338: cmp w0, 1 - bne .L1370 + bne .L1341 mov x0, 0 mov w4, 3 mov w5, 2 -.L1373: +.L1344: cmp x0, 3 uxth w3, w0 mov w2, w3 - bls .L1371 + bls .L1342 ubfiz w2, w3, 1, 15 and w3, w3, 1 cmp w3, wzr csel w3, w4, w5, ne sub w2, w2, w3 uxth w2, w2 -.L1371: +.L1342: add x3, x1, 4 strh w2, [x3,x0,lsl 1] add x0, x0, 1 cmp x0, 512 - bne .L1373 - b .L1374 -.L1370: + bne .L1344 + b .L1345 +.L1341: cmp w0, 2 - bne .L1375 + bne .L1346 mov w2, 65535 mov x0, 0 -.L1377: +.L1348: add x4, x1, 4 cmp x0, 1 uxth w3, w0 @@ -8769,35 +8591,35 @@ flash_lsb_page_tbl_build: add x0, x0, 1 cmp x0, 512 uxth w2, w2 - bne .L1377 - b .L1374 -.L1375: + bne .L1348 + b .L1345 +.L1346: cmp w0, 3 - bne .L1378 + bne .L1349 mov x0, 0 mov w4, 5 mov w5, 4 -.L1381: +.L1352: cmp x0, 5 uxth w3, w0 mov w2, w3 - bls .L1379 + bls .L1350 ubfiz w2, w3, 1, 15 and w3, w3, 1 cmp w3, wzr csel w3, w4, w5, ne sub w2, w2, w3 uxth w2, w2 -.L1379: +.L1350: add x3, x1, 4 strh w2, [x3,x0,lsl 1] add x0, x0, 1 cmp x0, 512 - bne .L1381 - b .L1374 -.L1378: + bne .L1352 + b .L1345 +.L1349: cmp w0, 4 - bne .L1382 + bne .L1353 add x2, x1, 4 strh w0, [x2,8] mov w0, 5 @@ -8816,7 +8638,7 @@ flash_lsb_page_tbl_build: strh w0, [x2,14] strh w1, [x2,6] mov w0, 8 -.L1384: +.L1355: and w3, w0, 1 ubfiz w1, w0, 1, 15 add w0, w0, 1 @@ -8827,41 +8649,41 @@ flash_lsb_page_tbl_build: sub w1, w1, w3 cmp w0, 512 strh w1, [x2,14] - bne .L1384 - b .L1374 -.L1382: + bne .L1355 + b .L1345 +.L1353: cmp w0, 5 - bne .L1385 + bne .L1356 mov x0, 0 -.L1386: +.L1357: add x2, x1, 4 strh w0, [x2,x0,lsl 1] add x0, x0, 1 cmp x0, 16 - bne .L1386 + bne .L1357 mov x0, 0 -.L1387: +.L1358: add x1, x2, x0 add w3, w0, 16 add x0, x0, 2 cmp x0, 992 strh w3, [x1,32] - bne .L1387 - b .L1374 -.L1385: + bne .L1358 + b .L1345 +.L1356: cmp w0, 8 - bne .L1388 + bne .L1359 mov x0, 0 -.L1389: +.L1360: add x2, x1, 4 strh w0, [x0,x2] add x0, x0, 2 cmp x0, 1024 - bne .L1389 - b .L1374 -.L1388: + bne .L1360 + b .L1345 +.L1359: cmp w0, 9 - bne .L1390 + bne .L1361 add x2, x1, 4 mov w0, 1 strh wzr, [x1,4] @@ -8869,47 +8691,47 @@ flash_lsb_page_tbl_build: mov w0, 2 strh w0, [x2,4] mov x0, 0 -.L1391: +.L1362: add x1, x2, x0 add w3, w0, 3 add x0, x0, 2 cmp x0, 1018 strh w3, [x1,6] - bne .L1391 - b .L1374 -.L1390: + bne .L1362 + b .L1345 +.L1361: cmp w0, 10 - bne .L1392 + bne .L1363 mov x0, 0 -.L1393: +.L1364: add x2, x1, 4 strh w0, [x2,x0,lsl 1] add x0, x0, 1 cmp x0, 63 - bne .L1393 + bne .L1364 mov x0, 0 -.L1394: +.L1365: add x1, x2, x0 add w3, w0, 63 add x0, x0, 2 cmp x0, 898 strh w3, [x1,126] - bne .L1394 - b .L1374 -.L1392: + bne .L1365 + b .L1345 +.L1363: cmp w0, 11 - bne .L1395 + bne .L1366 mov x0, 0 add x2, x19, :lo12:.LANCHOR0 -.L1396: +.L1367: add x1, x2, 4 strh w0, [x1,x0,lsl 1] add x0, x0, 1 cmp x0, 8 - bne .L1396 + bne .L1367 mov w5, 7 mov w4, 6 -.L1398: +.L1369: and w3, w0, 1 ubfiz w2, w0, 1, 15 add w0, w0, 1 @@ -8920,30 +8742,30 @@ flash_lsb_page_tbl_build: sub w2, w2, w3 cmp w0, 512 strh w2, [x1,14] - bne .L1398 - b .L1374 -.L1395: + bne .L1369 + b .L1345 +.L1366: cmp w0, 13 - bne .L1374 + bne .L1345 mov x0, 0 add x3, x19, :lo12:.LANCHOR0 -.L1399: +.L1370: add x1, x3, 4 add w2, w0, w0, lsl 1 strh w2, [x1,x0,lsl 1] add x0, x0, 1 cmp x0, 512 - bne .L1399 - b .L1374 -.L1369: + bne .L1370 + b .L1345 +.L1340: cmp w21, w0, uxth - bls .L1422 + bls .L1393 add x1, x19, 4 ldrh w1, [x1,x0,lsl 1] add x0, x0, 1 strh w1, [x20,w1,sxtw 1] - b .L1369 -.L1422: + b .L1340 +.L1393: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -8962,14 +8784,14 @@ flash_die_info_init: ldr w0, [x19,#:lo12:.LANCHOR2] stp x25, x26, [sp,64] stp x27, x28, [sp,80] - tbz x0, 12, .L1424 + tbz x0, 12, .L1395 adrp x1, .LANCHOR4 adrp x0, .LC4 add x1, x1, :lo12:.LANCHOR4 add x0, x0, :lo12:.LC4 - add x1, x1, 48 + add x1, x1, 24 bl printk -.L1424: +.L1395: add x24, x19, :lo12:.LANCHOR2 adrp x21, .LANCHOR0 add x20, x21, :lo12:.LANCHOR0 @@ -8984,60 +8806,60 @@ flash_die_info_init: add x27, x24, 9 ldrh w0, [x24,18] add x28, x20, 1272 - strb wzr, [x20,1145] + strb wzr, [x20,1153] sdiv w0, w0, w1 mov w1, 0 - strh w0, [x25,92] + strh w0, [x25,180] add x0, x20, 1248 bl ftl_memset - add x0, x25, 96 + add x0, x25, 184 mov w1, 0 mov w2, 32 bl ftl_memset -.L1426: +.L1397: add x0, x20, 1264 ldrb w2, [x24,8] add x1, x28, x23, lsl 3 strb w26, [x23,x0] mov x0, x27 bl flash_mem_cmp8 - cbnz w0, .L1425 - ldrb w1, [x20,1145] - add x2, x25, 96 + cbnz w0, .L1396 + ldrb w1, [x20,1153] + add x2, x25, 184 str w0, [x2,w1,sxtw 2] add w0, w1, 1 - strb w0, [x20,1145] + strb w0, [x20,1153] uxtb w0, w23 add x1, x20, x1, sxtw strb w0, [x1,1248] bl zftl_flash_enter_slc_mode -.L1425: +.L1396: add x23, x23, 1 cmp x23, 4 - bne .L1426 + bne .L1397 add x0, x19, :lo12:.LANCHOR2 add x1, x0, 8 ldrb w2, [x1,8] cmp w2, 2 - beq .L1427 -.L1431: + beq .L1398 +.L1402: add x19, x19, :lo12:.LANCHOR2 add x21, x21, :lo12:.LANCHOR0 add x22, x22, :lo12:.LANCHOR5 ldp x23, x24, [sp,48] ldrb w1, [x19,21] - ldrb w0, [x21,1145] + ldrb w0, [x21,1153] ldp x25, x26, [sp,64] ldp x27, x28, [sp,80] mul w0, w0, w1 ldrh w1, [x19,22] ldp x19, x20, [sp,16] mul w0, w0, w1 - strh w0, [x22,128] + strh w0, [x22,216] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 112 ret -.L1427: +.L1398: add x23, x21, :lo12:.LANCHOR0 ldrh w20, [x1,14] ldrb w26, [x0,8] @@ -9052,7 +8874,7 @@ flash_die_info_init: ldrb w2, [x1,13] mul w20, w20, w2 lsl w28, w20, 1 -.L1430: +.L1401: add x1, x3, x24, lsl 3 mov x0, x25 mov w2, w26 @@ -9061,21 +8883,21 @@ flash_die_info_init: bl flash_mem_cmp8 ldr x3, [x29,104] ldr x4, [x29,96] - cbnz w0, .L1428 - ldrb w0, [x23,1145] - add x1, x4, 96 + cbnz w0, .L1399 + ldrb w0, [x23,1153] + add x1, x4, 184 cmp w27, wzr csel w2, w20, w28, eq str w2, [x1,w0,sxtw 2] add w1, w0, 1 add x0, x23, x0, sxtw - strb w1, [x23,1145] + strb w1, [x23,1153] strb w24, [x0,1248] -.L1428: +.L1399: add x24, x24, 1 cmp x24, 4 - bne .L1430 - b .L1431 + bne .L1401 + b .L1402 .size flash_die_info_init, .-flash_die_info_init .align 2 .global lpa_hash_init @@ -9088,13 +8910,13 @@ lpa_hash_init: str x19, [sp,16] adrp x19, .LANCHOR3 add x19, x19, :lo12:.LANCHOR3 - add x0, x19, 1336 + add x0, x19, 1424 bl ftl_memset - ldrh w0, [x19,1294] + ldrh w0, [x19,1384] mov w1, 255 - ldrb w2, [x19,1249] + ldrb w2, [x19,1329] mul w2, w0, w2 - ldr x0, [x19,1856] + ldr x0, [x19,1944] lsl w2, w2, 2 bl ftl_memset ldr x19, [sp,16] @@ -9110,52 +8932,52 @@ lpa_rebuild_hash: add x29, sp, 0 ldr w0, [x0,#:lo12:.LANCHOR2] str x19, [sp,16] - tbz x0, 12, .L1442 + tbz x0, 12, .L1413 adrp x1, .LANCHOR4 - adrp x0, .LC128 + adrp x0, .LC125 add x1, x1, :lo12:.LANCHOR4 - add x0, x0, :lo12:.LC128 - add x1, x1, 72 + add x0, x0, :lo12:.LC125 + add x1, x1, 48 mov w2, 239 mov w3, 0 bl printk -.L1442: +.L1413: adrp x19, .LANCHOR3 mov w1, 255 add x19, x19, :lo12:.LANCHOR3 mov w2, 512 - add x0, x19, 1336 + add x0, x19, 1424 bl ftl_memset - ldrh w0, [x19,1294] + ldrh w0, [x19,1384] mov w1, 255 - ldrb w2, [x19,1249] + ldrb w2, [x19,1329] mul w2, w0, w2 - ldr x0, [x19,1856] + ldr x0, [x19,1944] lsl w2, w2, 2 bl ftl_memset mov w0, 0 -.L1443: - ldrh w1, [x19,1294] - ldrb w2, [x19,1249] +.L1414: + ldrh w1, [x19,1384] + ldrb w2, [x19,1329] mul w1, w1, w2 cmp w0, w1, lsl 1 - bge .L1452 + bge .L1423 uxtw x2, w0 - ldr x1, [x19,1848] + ldr x1, [x19,1936] ldr w1, [x1,x2,lsl 2] cmn w1, #1 - beq .L1444 + beq .L1415 uxtb w1, w1 - add x3, x19, 1336 + add x3, x19, 1424 ldrh w4, [x3,w1,sxtw 1] strh w0, [x3,w1,sxtw 1] - ldr x1, [x19,1856] + ldr x1, [x19,1944] strh w4, [x1,x2,lsl 1] -.L1444: +.L1415: add w0, w0, 1 uxth w0, w0 - b .L1443 -.L1452: + b .L1414 +.L1423: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -9182,21 +9004,21 @@ zftl_read_flash_info: ldrh w3, [x0,2] mul w2, w2, w3 strh w2, [x19,4] - ldrb w2, [x0,1236] + ldrb w2, [x0,1244] strb w2, [x19,7] ldr w2, [x0,1032] str w2, [x19] ldrb w2, [x1,9] strb w2, [x19,6] mov w2, 32 - ldrb w4, [x0,1145] + ldrb w4, [x0,1153] ldrb w1, [x1,7] strb w1, [x19,9] mov x1, 0 strb w2, [x19,8] -.L1454: +.L1425: cmp w4, w1, uxtb - bls .L1456 + bls .L1427 add x2, x0, 1248 ldrb w3, [x19,10] ldrb w2, [x1,x2] @@ -9204,8 +9026,8 @@ zftl_read_flash_info: lsl w2, w5, w2 orr w2, w2, w3 strb w2, [x19,10] - b .L1454 -.L1456: + b .L1425 +.L1427: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -9216,7 +9038,7 @@ zftl_read_flash_info: gc_init: stp x29, x30, [sp, -48]! mov w1, 0 - mov w2, 2136 + mov w2, 2216 add x29, sp, 0 stp x19, x20, [sp,16] adrp x20, .LANCHOR0 @@ -9228,20 +9050,20 @@ gc_init: add x22, x20, 3424 add x21, x21, :lo12:.LANCHOR5 mov x0, x22 - strb wzr, [x19,1265] - strh wzr, [x19,1296] - strb wzr, [x21,130] - str wzr, [x21,132] + strb wzr, [x19,1345] + strh wzr, [x19,1386] + strb wzr, [x21,218] + str wzr, [x21,220] bl ftl_memset - ldrh w1, [x19,1294] + ldrh w1, [x19,1384] mov w0, -1 - ldrb w3, [x19,1249] + ldrb w3, [x19,1329] strh w0, [x20,3424] lsr w0, w1, 2 lsr w2, w1, 1 strh w0, [x20,3460] strh w0, [x20,3406] - ldrh w0, [x19,1266] + ldrh w0, [x19,1346] strh w2, [x20,3462] mul w2, w1, w3 mul w0, w0, w3 @@ -9252,37 +9074,37 @@ gc_init: sub w4, w2, #32 strh w2, [x20,3402] strh w4, [x20,3404] - strh w1, [x21,136] - strh wzr, [x19,1288] - strh wzr, [x19,1290] - strh wzr, [x19,1292] + strh w1, [x21,224] + strh wzr, [x19,1360] + strh wzr, [x19,1362] + strh wzr, [x19,1364] str xzr, [x20,3432] bl ftl_malloc - ldrb w1, [x19,1249] - str x0, [x21,144] - ldrh w0, [x19,1266] + ldrb w1, [x19,1329] + str x0, [x21,232] + ldrh w0, [x19,1346] mul w0, w0, w1 lsl w0, w0, 2 bl ftl_malloc - str x0, [x21,152] - ldrh w1, [x19,1266] - ldrb w0, [x19,1249] + str x0, [x21,240] + ldrh w1, [x19,1346] + ldrb w0, [x19,1329] mul w0, w1, w0 bl ftl_malloc - str x0, [x19,1256] - ldrb w1, [x19,1249] - ldrh w0, [x19,1266] + str x0, [x19,1336] + ldrb w1, [x19,1329] + ldrh w0, [x19,1346] mul w0, w0, w1 lsl w0, w0, 2 bl ftl_malloc - str x0, [x19,1240] - ldrb w1, [x19,1249] - ldrh w0, [x19,1266] + str x0, [x19,1320] + ldrb w1, [x19,1329] + ldrh w0, [x19,1346] mul w0, w0, w1 lsl w0, w0, 2 bl ftl_malloc - str x0, [x21,160] - ldrh w0, [x19,1298] + str x0, [x21,248] + ldrh w0, [x19,1388] ldp x21, x22, [sp,32] lsr w0, w0, 2 strh w0, [x20,3400] @@ -9307,9 +9129,9 @@ gc_static_wearleveling: ldr w1, [x0,32] mov w0, 10240 cmp w1, w0 - bls .L1459 + bls .L1430 bl ftl_tmp_into_update -.L1459: +.L1430: add x4, x19, :lo12:.LANCHOR0 ldr x1, [x4,1120] ldr w2, [x1,568] @@ -9317,31 +9139,31 @@ gc_static_wearleveling: add w0, w2, 32768 add w0, w0, 3232 cmp w3, w0 - bcs .L1460 + bcs .L1431 ldr x0, [x4,3392] ldr w4, [x1,572] ldr w5, [x0,36] add w4, w4, 256 mov w0, 0 cmp w5, w4 - bcc .L1553 -.L1460: + bcc .L1524 +.L1431: add w2, w2, 860160 add w2, w2, 3840 cmp w3, w2 - bhi .L1462 + bhi .L1433 add x0, x19, :lo12:.LANCHOR0 ldr x2, [x0,3392] ldr w0, [x1,572] ldr w2, [x2,36] add w0, w0, 32 cmp w2, w0 - bls .L1514 -.L1462: + bls .L1485 +.L1433: add x0, x19, :lo12:.LANCHOR0 mov w22, 0 mov w20, 65535 - adrp x25, .LC129 + adrp x25, .LC126 str w22, [x29,128] mov w27, w22 ldr x0, [x0,3392] @@ -9356,13 +9178,13 @@ gc_static_wearleveling: mov w8, w20 str w3, [x1,568] adrp x9, .LANCHOR2 - add x25, x25, :lo12:.LC129 + add x25, x25, :lo12:.LC126 ldrh w23, [x0,134] -.L1464: +.L1435: add x4, x19, :lo12:.LANCHOR0 ldrh w0, [x4,1088] cmp w0, w23 - bls .L1575 + bls .L1546 uxtw x7, w23 ldr x0, [x4,1096] lsl x1, x7, 2 @@ -9370,70 +9192,70 @@ gc_static_wearleveling: ldrb w2, [x6,2] and w3, w2, 224 cmp w3, 224 - beq .L1465 - tbz x2, 3, .L1466 + beq .L1436 + tbz x2, 3, .L1437 ldrh w3, [x0,x1] ldr w2, [x0,x1] and w3, w3, 2047 ubfx x2, x2, 11, 8 - b .L1467 -.L1466: + b .L1438 +.L1437: tst w2, 24 - bne .L1468 + bne .L1439 ldrh w3, [x0,x1] mov w2, 65535 and w3, w3, 2047 - b .L1467 -.L1468: + b .L1438 +.L1439: ldr w2, [x0,x1] mov w3, 65535 ubfx x2, x2, 11, 8 - b .L1469 -.L1467: + b .L1440 +.L1438: ldr w4, [x29,136] add w26, w26, 1 cmp w20, w3 add w4, w4, w3 str w4, [x29,136] uxth w26, w26 - bls .L1512 + bls .L1483 add x4, x19, :lo12:.LANCHOR0 mov w20, w3 ldr x4, [x4,1120] strh w23, [x4,586] -.L1512: +.L1483: cmp w24, w3 - bcs .L1470 + bcs .L1441 mov w22, w23 mov w24, w3 -.L1470: +.L1441: cmp w2, w8 - beq .L1471 -.L1469: + beq .L1442 +.L1440: ldr w4, [x29,140] add w27, w27, 1 cmp w21, w2 add w4, w4, w2 str w4, [x29,140] uxth w27, w27 - bls .L1472 + bls .L1443 add x4, x19, :lo12:.LANCHOR0 mov w21, w2 ldr x4, [x4,1120] strh w23, [x4,584] -.L1472: +.L1443: cmp w28, w2 - bcs .L1471 + bcs .L1442 str w23, [x29,128] mov w28, w2 -.L1471: +.L1442: cmp w3, 9 - bls .L1516 + bls .L1487 cmp w2, 9 - bhi .L1465 -.L1516: + bhi .L1436 +.L1487: ldr w2, [x9,#:lo12:.LANCHOR2] - tbz x2, 8, .L1465 + tbz x2, 8, .L1436 ldrh w2, [x0,x1] ldr w3, [x0,x1] add x0, x19, :lo12:.LANCHOR0 @@ -9452,11 +9274,11 @@ gc_static_wearleveling: bl printk ldr x9, [x29,112] ldr x8, [x29,120] -.L1465: +.L1436: add w23, w23, 1 uxth w23, w23 - b .L1464 -.L1575: + b .L1435 +.L1546: ldr x0, [x4,1120] mov w1, 255 mov w2, 128 @@ -9473,11 +9295,11 @@ gc_static_wearleveling: lsl x9, x7, 2 mov x1, x7 add x8, x10, x9 - tbz x0, 10, .L1475 + tbz x0, 10, .L1446 ldr x11, [x4,1112] - adrp x0, .LC130 + adrp x0, .LC127 ldrh w2, [x10,x9] - add x0, x0, :lo12:.LC130 + add x0, x0, :lo12:.LC127 ldr w3, [x10,x9] ldrb w5, [x8,2] and w2, w2, 2047 @@ -9493,37 +9315,37 @@ gc_static_wearleveling: ldr x9, [x29,104] ldr x10, [x29,112] ldr x8, [x29,120] -.L1475: +.L1446: ldrb w0, [x8,2] adrp x25, .LANCHOR5 and w0, w0, 224 cmp w0, 32 - bne .L1476 + bne .L1447 add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,3392] ldrh w0, [x0,688] cmp w0, 2 - bls .L1476 + bls .L1447 add x0, x25, :lo12:.LANCHOR5 mov w1, 1 - str w1, [x0,168] -.L1476: + str w1, [x0,256] +.L1447: ldrb w0, [x8,2] - tbz x0, 3, .L1477 + tbz x0, 3, .L1448 add x3, x19, :lo12:.LANCHOR0 add x1, x25, :lo12:.LANCHOR5 ldr x0, [x3,3392] - ldrh w1, [x1,172] + ldrh w1, [x1,260] ldrh w2, [x0,96] ldrh w0, [x10,x9] and w0, w0, 2047 add w0, w0, w1, lsr 2 cmp w2, w0 - ble .L1477 + ble .L1448 ldrb w0, [x8,2] and w1, w0, 192 cmp w1, 64 - bne .L1478 + bne .L1449 ldr x0, [x3,1120] mov w1, 0 mov w2, 1 @@ -9532,21 +9354,21 @@ gc_static_wearleveling: bl gc_add_sblk ldr x3, [x29,120] mov w0, 1 - strh w0, [x3,5534] - b .L1477 -.L1478: + strh w0, [x3,5616] + b .L1448 +.L1449: tst w0, 224 - bne .L1477 + bne .L1448 ldr x1, [x3,1120] mov w0, 65535 ldrh w2, [x1,590] cmp w2, w0 - bne .L1477 + bne .L1448 ldrh w0, [x1,586] ldrh w1, [x1,588] str x3, [x29,120] cmp w1, w0 - beq .L1477 + beq .L1448 bl zftl_remove_free_node ldr x3, [x29,120] ldr x0, [x3,1120] @@ -9554,7 +9376,7 @@ gc_static_wearleveling: strh w1, [x0,590] mov w1, -1 strh w1, [x0,586] -.L1477: +.L1448: add x0, x19, :lo12:.LANCHOR0 ldr w2, [x23,#:lo12:.LANCHOR2] ldr x1, [x0,1120] @@ -9563,11 +9385,11 @@ gc_static_wearleveling: lsl x9, x7, 2 mov x1, x7 add x8, x10, x9 - tbz x2, 10, .L1479 + tbz x2, 10, .L1450 ldr x11, [x0,1112] - adrp x0, .LC131 + adrp x0, .LC128 ldrh w2, [x10,x9] - add x0, x0, :lo12:.LC131 + add x0, x0, :lo12:.LC128 ldr w3, [x10,x9] ldrb w5, [x8,2] and w2, w2, 2047 @@ -9583,23 +9405,23 @@ gc_static_wearleveling: ldr x9, [x29,104] ldr x10, [x29,112] ldr x8, [x29,120] -.L1479: +.L1450: ldrb w0, [x8,2] - tbz x0, 3, .L1480 + tbz x0, 3, .L1451 add x3, x19, :lo12:.LANCHOR0 add x1, x25, :lo12:.LANCHOR5 ldr x0, [x3,3392] - ldrh w1, [x1,174] + ldrh w1, [x1,262] ldrh w2, [x0,98] ldr w0, [x10,x9] ubfx x0, x0, 11, 8 add w0, w0, w1, lsr 2 cmp w2, w0 - ble .L1480 + ble .L1451 ldrb w0, [x8,2] and w1, w0, 192 cmp w1, 64 - bne .L1481 + bne .L1452 ldr x0, [x3,1120] mov w1, 0 mov w2, 1 @@ -9608,22 +9430,22 @@ gc_static_wearleveling: bl gc_add_sblk ldr x3, [x29,120] mov w0, 1 - strh w0, [x3,5534] - b .L1480 -.L1481: + strh w0, [x3,5616] + b .L1451 +.L1452: and w0, w0, 248 cmp w0, 16 - bne .L1480 + bne .L1451 ldr x1, [x3,1120] mov w0, 65535 ldrh w2, [x1,588] cmp w2, w0 - bne .L1480 + bne .L1451 ldrh w0, [x1,584] ldrh w1, [x1,590] str x3, [x29,120] cmp w1, w0 - beq .L1480 + beq .L1451 bl zftl_remove_free_node ldr x3, [x29,120] ldr x0, [x3,1120] @@ -9631,11 +9453,11 @@ gc_static_wearleveling: strh w1, [x0,588] mov w1, -1 strh w1, [x0,584] -.L1480: +.L1451: add x4, x19, :lo12:.LANCHOR0 ldr w0, [x23,#:lo12:.LANCHOR2] ldr x1, [x4,1096] - tbz x0, 10, .L1482 + tbz x0, 10, .L1453 uxtw x7, w22 ldr x8, [x4,1112] lsl x0, x7, 2 @@ -9643,9 +9465,9 @@ gc_static_wearleveling: ldrh w7, [x8,x7,lsl 1] ldrh w2, [x1,x0] ldr w3, [x1,x0] - adrp x0, .LC132 + adrp x0, .LC129 ldrb w5, [x6,2] - add x0, x0, :lo12:.LC132 + add x0, x0, :lo12:.LC129 ldrb w6, [x6,3] mov w1, w22 ubfx x4, x5, 3, 2 @@ -9653,29 +9475,29 @@ gc_static_wearleveling: ubfx x3, x3, 11, 8 ubfx x5, x5, 5, 3 bl printk -.L1482: +.L1453: add x4, x19, :lo12:.LANCHOR0 ldr w0, [x23,#:lo12:.LANCHOR2] ldr x1, [x4,1096] - tbz x0, 10, .L1483 + tbz x0, 10, .L1454 ldr w7, [x29,128] ldr x8, [x4,1112] lsl x0, x7, 2 add x6, x1, x0 ldrh w2, [x1,x0] ldr w3, [x1,x0] - adrp x0, .LC133 + adrp x0, .LC130 ldrb w5, [x6,2] mov x1, x7 ldrb w6, [x6,3] - add x0, x0, :lo12:.LC133 + add x0, x0, :lo12:.LC130 ldrh w7, [x8,x7,lsl 1] ubfx x4, x5, 3, 2 and w2, w2, 2047 ubfx x3, x3, 11, 8 ubfx x5, x5, 5, 3 bl printk -.L1483: +.L1454: ldr w1, [x29,136] add x0, x19, :lo12:.LANCHOR0 udiv w3, w1, w26 @@ -9689,40 +9511,40 @@ gc_static_wearleveling: strh w3, [x0,88] strh w4, [x0,90] ldr w0, [x23,#:lo12:.LANCHOR2] - tbz x0, 10, .L1484 - adrp x0, .LC134 + tbz x0, 10, .L1455 + adrp x0, .LC131 mov w1, w26 - add x0, x0, :lo12:.LC134 + add x0, x0, :lo12:.LC131 mov w2, w27 uxth w3, w3 uxth w4, w4 bl printk -.L1484: +.L1455: ldr w0, [x23,#:lo12:.LANCHOR2] - tbz x0, 10, .L1485 + tbz x0, 10, .L1456 add x6, x25, :lo12:.LANCHOR5 - adrp x0, .LC135 - add x0, x0, :lo12:.LC135 + adrp x0, .LC132 + add x0, x0, :lo12:.LC132 mov w1, w20 mov w2, w21 mov w3, w24 - ldrh w5, [x6,172] + ldrh w5, [x6,260] mov w4, w28 - ldrh w6, [x6,174] + ldrh w6, [x6,262] bl printk -.L1485: +.L1456: add x1, x25, :lo12:.LANCHOR5 sub w0, w28, w21 str w0, [x29,140] - ldrh w0, [x1,174] + ldrh w0, [x1,262] ldr w2, [x29,140] cmp w2, w0 - bgt .L1486 - ldrh w1, [x1,172] + bgt .L1457 + ldrh w1, [x1,260] sub w0, w24, w20 cmp w0, w1 - ble .L1515 -.L1486: + ble .L1486 +.L1457: add x0, x19, :lo12:.LANCHOR0 mov w26, 0 mov w22, w26 @@ -9732,17 +9554,17 @@ gc_static_wearleveling: ldrh w27, [x0,134] sub w0, w24, w20 str w0, [x29,136] - adrp x0, .LC137 - add x0, x0, :lo12:.LC137 - adrp x24, .LC136 + adrp x0, .LC134 + add x0, x0, :lo12:.LC134 + adrp x24, .LC133 str x0, [x29,128] - add x0, x24, :lo12:.LC136 + add x0, x24, :lo12:.LC133 str x0, [x29,120] -.L1488: +.L1459: add x1, x19, :lo12:.LANCHOR0 ldrh w0, [x1,1088] cmp w27, w0 - bcs .L1497 + bcs .L1468 add w7, w28, 1 ldr x4, [x1,1096] uxth w28, w7 @@ -9754,31 +9576,31 @@ gc_static_wearleveling: ldrb w0, [x0,2] and w2, w0, 224 cmp w2, 224 - beq .L1490 + beq .L1461 tst w0, 192 - beq .L1490 + beq .L1461 ubfx x0, x0, 3, 2 cmp w2, 160 and w1, w0, 1 - tbnz x0, 0, .L1573 + tbnz x0, 0, .L1544 cmp w0, 2 -.L1573: +.L1544: add x0, x25, :lo12:.LANCHOR5 - bne .L1493 - ldrh w0, [x0,174] + bne .L1464 + ldrh w0, [x0,262] ldr w2, [x29,140] cmp w2, w0 - ble .L1494 + ble .L1465 ldr w0, [x4,x3] ubfx x0, x0, 11, 8 cmp w0, w21 - bls .L1495 - cbz w1, .L1494 + bls .L1466 + cbz w1, .L1465 ldrh w0, [x4,x3] and w0, w0, 2047 cmp w0, w20 - bgt .L1494 -.L1495: + bgt .L1465 +.L1466: mov w1, 0 mov w0, w28 mov w2, 1 @@ -9791,9 +9613,9 @@ gc_static_wearleveling: add x9, x0, 3424 ldr x3, [x29,112] ldr x4, [x29,104] - strh w1, [x0,5534] + strh w1, [x0,5616] ldr w1, [x23,#:lo12:.LANCHOR2] - tbz x1, 10, .L1494 + tbz x1, 10, .L1465 ldr x1, [x0,1096] ldr x10, [x0,1112] add x1, x1, x3 @@ -9801,24 +9623,24 @@ gc_static_wearleveling: ldr w6, [x4,x3] ldr x0, [x29,120] ldrb w2, [x1,2] - b .L1574 -.L1493: - ldrh w0, [x0,172] + b .L1545 +.L1464: + ldrh w0, [x0,260] ldr w2, [x29,136] cmp w2, w0 - ble .L1494 + ble .L1465 ldrh w0, [x4,x3] add w2, w20, 8 and w0, w0, 2047 cmp w0, w2 - ble .L1496 - cbz w1, .L1494 + ble .L1467 + cbz w1, .L1465 ldr w0, [x4,x3] add w1, w21, 4 ubfx x0, x0, 11, 8 cmp w0, w1 - bgt .L1494 -.L1496: + bgt .L1465 +.L1467: mov w1, 0 mov w0, w28 mov w2, 1 @@ -9831,9 +9653,9 @@ gc_static_wearleveling: add x9, x0, 3424 ldr x3, [x29,112] ldr x4, [x29,104] - strh w1, [x0,5534] + strh w1, [x0,5616] ldr w1, [x23,#:lo12:.LANCHOR2] - tbz x1, 10, .L1494 + tbz x1, 10, .L1465 ldr x1, [x0,1096] ldr x10, [x0,1112] add x1, x1, x3 @@ -9841,7 +9663,7 @@ gc_static_wearleveling: ldr w6, [x4,x3] ldr x0, [x29,128] ldrb w2, [x1,2] -.L1574: +.L1545: ldrh w3, [x10,x24,lsl 1] mov w1, w28 ldrh w4, [x9,56] @@ -9849,125 +9671,126 @@ gc_static_wearleveling: and w5, w5, 2047 ubfx x6, x6, 11, 8 bl printk -.L1494: +.L1465: cmp w26, 4 - bhi .L1497 + bhi .L1468 cmp w22, 4 - bhi .L1497 -.L1490: + bhi .L1468 +.L1461: add w27, w27, 1 uxth w27, w27 - b .L1488 -.L1497: + b .L1459 +.L1468: add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,1120] str w28, [x0,580] - b .L1487 -.L1515: + b .L1458 +.L1486: mov w26, 0 mov w22, w26 -.L1487: - cbz w21, .L1500 +.L1458: + cbz w21, .L1471 add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,3392] ldrh w0, [x0,134] -.L1501: +.L1472: add x1, x19, :lo12:.LANCHOR0 ldrh w2, [x1,1088] cmp w2, w0 - bls .L1576 + bls .L1547 ubfiz x3, x0, 2, 16 ldr x4, [x1,1096] add x5, x4, x3 ldr w1, [x4,x3] ubfx x2, x1, 11, 8 cmp w2, w21 - bcc .L1502 + bcc .L1473 ldrb w5, [x5,2] tst w5, 24 - beq .L1502 + beq .L1473 sub w2, w2, w21 bfi w1, w2, 11, 8 str w1, [x4,x3] -.L1502: +.L1473: add w0, w0, 1 uxth w0, w0 - b .L1501 -.L1576: + b .L1472 +.L1547: ldr x0, [x1,3392] ldrh w1, [x0,72] add w1, w21, w1 strh w1, [x0,72] ldrh w1, [x0,98] cmp w1, w21 - bls .L1500 + bls .L1471 sub w21, w1, w21 strh w21, [x0,98] -.L1500: - cbz w20, .L1506 +.L1471: + cbz w20, .L1477 add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,3392] ldrh w0, [x0,134] -.L1507: +.L1478: add x1, x19, :lo12:.LANCHOR0 ldrh w2, [x1,1088] cmp w2, w0 - bls .L1577 + bls .L1548 ubfiz x3, x0, 2, 16 ldr x4, [x1,1096] add x5, x4, x3 ldrh w1, [x4,x3] and w2, w1, 2047 cmp w2, w20 - blt .L1508 + blt .L1479 ldrb w5, [x5,2] and w5, w5, 24 cmp w5, 16 - beq .L1508 + beq .L1479 sub w2, w2, w20 bfi w1, w2, 0, 11 strh w1, [x4,x3] -.L1508: +.L1479: add w0, w0, 1 uxth w0, w0 - b .L1507 -.L1577: + b .L1478 +.L1548: ldr x0, [x1,3392] ldrh w1, [x0,74] add w1, w20, w1 strh w1, [x0,74] ldrh w1, [x0,96] cmp w1, w20 - bls .L1506 + bls .L1477 sub w20, w1, w20 strh w20, [x0,96] -.L1506: - mov w1, 5 - mov w0, 0 - bl zftl_get_gc_node +.L1477: + adrp x20, .LANCHOR3 + mov w1, 0 + add x20, x20, :lo12:.LANCHOR3 + add x0, x20, 1376 + bl _list_get_gc_head_node uxth w1, w0 mov w2, 65535 cmp w1, w2 - beq .L1463 + beq .L1434 add x19, x19, :lo12:.LANCHOR0 - adrp x2, .LANCHOR3+1294 ubfiz x1, x1, 1, 16 + ldrh w2, [x20,1384] ldr x3, [x19,1112] - ldrh w2, [x2,#:lo12:.LANCHOR3+1294] ldrh w1, [x3,x1] cmp w1, w2, lsr 1 - bhi .L1463 + bhi .L1434 mov w1, 0 mov w2, 1 add w22, w22, 1 bl gc_add_sblk - b .L1463 -.L1514: + b .L1434 +.L1485: mov w26, 0 mov w22, w26 -.L1463: +.L1434: add w0, w26, w22 -.L1553: +.L1524: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -9984,42 +9807,42 @@ zftl_sblk_list_init: mov w2, 6 mov w1, 0 add x29, sp, 0 - stp x21, x22, [sp,32] - adrp x22, .LANCHOR0 - stp x19, x20, [sp,16] - add x19, x22, :lo12:.LANCHOR0 stp x23, x24, [sp,48] + adrp x23, .LANCHOR0 + mov w24, 0 + stp x19, x20, [sp,16] + add x19, x23, :lo12:.LANCHOR0 stp x25, x26, [sp,64] + stp x21, x22, [sp,32] stp x27, x28, [sp,80] - adrp x23, .LANCHOR3 + adrp x21, .LANCHOR3 adrp x26, .LANCHOR4 ldrh w3, [x19,1088] adrp x27, .LC0 ldr x0, [x19,1040] add x26, x26, :lo12:.LANCHOR4 - mov w24, 0 add x27, x27, :lo12:.LC0 + add x26, x26, 72 mul w2, w3, w2 - add x26, x26, 96 bl ftl_memset - str xzr, [x19,1128] - add x0, x23, :lo12:.LANCHOR3 - mov w1, 32 strh wzr, [x19,3376] + add x0, x21, :lo12:.LANCHOR3 + mov w1, 32 strh wzr, [x19,3378] - strh w1, [x0,1328] - ldrh w25, [x0,1266] - ldrb w1, [x0,1249] - str xzr, [x0,1304] - str xzr, [x0,1312] - mul w25, w1, w25 - str xzr, [x0,1320] - str xzr, [x0,1280] - str xzr, [x0,1272] - mov w0, 32768 strh wzr, [x19,3380] - sdiv w25, w0, w25 + strh w1, [x0,1416] + ldrh w25, [x0,1346] + ldrb w1, [x0,1329] + str xzr, [x0,1392] + str xzr, [x0,1400] + mul w25, w1, w25 + str xzr, [x0,1408] + str xzr, [x0,1368] + str xzr, [x0,1352] + str xzr, [x0,1376] + mov w0, 32768 strh wzr, [x19,3382] + sdiv w25, w0, w25 strh wzr, [x19,3386] strh wzr, [x19,3384] sxth w0, w25 @@ -10027,181 +9850,182 @@ zftl_sblk_list_init: ldr x0, [x19,3392] ldrsh w19, [x0,134] strh wzr, [x0,146] -.L1579: - add x2, x22, :lo12:.LANCHOR0 +.L1550: + add x2, x23, :lo12:.LANCHOR0 ldrh w0, [x2,1088] cmp w19, w0 - bge .L1610 + bge .L1581 sxtw x25, w19 ldr x20, [x2,1096] ldr w0, [x29,108] add x20, x20, x25, lsl 2 ldrb w1, [x20,3] - cbz w1, .L1580 - add x0, x23, :lo12:.LANCHOR3 + cbz w1, .L1551 + add x0, x21, :lo12:.LANCHOR3 mov w1, 0 ldr x4, [x2,3392] - ldrb w5, [x0,1249] - ldrh w6, [x0,1266] + ldrb w5, [x0,1329] + ldrh w6, [x0,1346] mov w0, w1 -.L1581: +.L1552: cmp w1, w5 - bge .L1611 + bge .L1582 ldrb w2, [x20,3] asr w2, w2, w1 - tbnz x2, 0, .L1582 + tbnz x2, 0, .L1553 add w0, w6, w0 sxth w0, w0 - b .L1583 -.L1582: + b .L1554 +.L1553: ldrh w2, [x4,146] add w2, w2, 1 strh w2, [x4,146] -.L1583: +.L1554: add w1, w1, 1 - b .L1581 -.L1611: - cbz w0, .L1585 + b .L1552 +.L1582: + cbz w0, .L1556 mov w1, 32768 sdiv w0, w1, w0 add w0, w0, 1 sxth w0, w0 - b .L1580 -.L1585: + b .L1551 +.L1556: ldrb w1, [x20,2] mov w2, -1 orr w1, w1, -32 strb w1, [x20,2] - add x1, x22, :lo12:.LANCHOR0 + add x1, x23, :lo12:.LANCHOR0 ldr x1, [x1,1112] strh w2, [x1,x25,lsl 1] -.L1580: - add x21, x22, :lo12:.LANCHOR0 +.L1551: + add x22, x23, :lo12:.LANCHOR0 mov w1, 6 smull x1, w19, w1 - ldr x2, [x21,1040] + ldr x2, [x22,1040] add x2, x2, x1 strh w0, [x2,4] mov w2, -1 - ldr x0, [x21,1040] + ldr x0, [x22,1040] add x4, x0, x1 strh w2, [x4,2] strh w2, [x0,x1] ldrb w0, [x20,2] and w0, w0, 224 cmp w0, 224 - beq .L1586 + beq .L1557 cmp w0, 32 cset w28, eq - cbnz w28, .L1586 - ldr x1, [x21,1120] + cbnz w28, .L1557 + ldr x1, [x22,1120] ldrh w2, [x1,16] cmp w19, w2 - beq .L1586 + beq .L1557 ldrh w2, [x1,48] cmp w19, w2 - beq .L1586 + beq .L1557 ldrh w1, [x1,80] cmp w19, w1 - beq .L1586 + beq .L1557 cmp w0, 64 - bne .L1587 + bne .L1558 uxth w20, w19 - add x0, x21, 1128 + add x0, x21, :lo12:.LANCHOR3 + add x0, x0, 1352 mov w1, w20 - add x2, x21, 3382 - b .L1608 -.L1587: + add x2, x22, 3382 + b .L1579 +.L1558: cmp w0, 96 - bne .L1588 + bne .L1559 uxth w20, w19 - add x0, x23, :lo12:.LANCHOR3 - add x0, x0, 1280 + add x0, x21, :lo12:.LANCHOR3 + add x0, x0, 1368 mov w1, w20 - add x2, x21, 3384 - b .L1608 -.L1588: + add x2, x22, 3384 + b .L1579 +.L1559: cmp w0, 160 - bne .L1589 + bne .L1560 uxth w20, w19 - add x0, x23, :lo12:.LANCHOR3 - add x0, x0, 1272 + add x0, x21, :lo12:.LANCHOR3 + add x0, x0, 1376 mov w1, w20 - add x2, x21, 3386 -.L1608: + add x2, x22, 3386 +.L1579: bl _insert_data_list - ldr x0, [x21,1112] + ldr x0, [x22,1112] ldrh w0, [x0,x25,lsl 1] cmp w0, 7 - bhi .L1586 + bhi .L1557 mov w0, w20 mov w1, 1 mov w2, w28 - b .L1606 -.L1589: - cbnz w0, .L1586 - ldr x0, [x21,1112] + b .L1577 +.L1560: + cbnz w0, .L1557 + ldr x0, [x22,1112] ldrh w2, [x0,x25,lsl 1] - cbz w2, .L1590 + cbz w2, .L1561 cmp w24, 2 - bgt .L1591 - adrp x0, .LC138 + bgt .L1562 + adrp x0, .LC135 mov w1, w19 - add x0, x0, :lo12:.LC138 + add x0, x0, :lo12:.LC135 add w24, w24, 1 bl printk sxth w24, w24 ldrb w0, [x20,2] - tbz x0, 4, .L1592 + tbz x0, 4, .L1563 mov w1, 5 - b .L1602 -.L1592: + b .L1573 +.L1563: mov w1, 2 -.L1602: +.L1573: bfi w0, w1, 5, 3 mov w2, 0 strb w0, [x20,2] mov w1, 1 mov w0, w19 -.L1606: +.L1577: bl gc_add_sblk - b .L1586 -.L1591: + b .L1557 +.L1562: mov x1, x26 - mov w2, 651 + mov w2, 656 mov x0, x27 bl printk bl dump_stack -.L1590: +.L1561: ldrb w0, [x20,2] ands w0, w0, 24 - bne .L1594 - add x0, x23, :lo12:.LANCHOR3 - add x2, x22, :lo12:.LANCHOR0 - add x0, x0, 1304 + bne .L1565 + add x0, x21, :lo12:.LANCHOR3 + add x2, x23, :lo12:.LANCHOR0 + add x0, x0, 1392 mov w1, w19 add x2, x2, 3376 - b .L1604 -.L1594: + b .L1575 +.L1565: cmp w0, 16 - add x2, x22, :lo12:.LANCHOR0 - add x0, x23, :lo12:.LANCHOR3 - bne .L1595 - add x0, x0, 1312 + add x2, x23, :lo12:.LANCHOR0 + add x0, x21, :lo12:.LANCHOR3 + bne .L1566 + add x0, x0, 1400 mov w1, w19 add x2, x2, 3378 - b .L1604 -.L1595: - add x0, x0, 1320 + b .L1575 +.L1566: + add x0, x0, 1408 mov w1, w19 add x2, x2, 3380 -.L1604: +.L1575: bl _insert_free_list -.L1586: +.L1557: add w19, w19, 1 sxth w19, w19 - b .L1579 -.L1610: + b .L1550 +.L1581: ldr x0, [x2,3392] ldrh w1, [x2,3376] strh w1, [x0,114] @@ -10224,91 +10048,6 @@ zftl_sblk_list_init: ret .size zftl_sblk_list_init, .-zftl_sblk_list_init .align 2 - .global ftl_open_sblk_init - .type ftl_open_sblk_init, %function -ftl_open_sblk_init: - stp x29, x30, [sp, -96]! - add x29, sp, 0 - stp x19, x20, [sp,16] - stp x21, x22, [sp,32] - adrp x20, .LC126 - adrp x22, .LANCHOR3 - stp x23, x24, [sp,48] - stp x25, x26, [sp,64] - stp x27, x28, [sp,80] - mov x19, x0 - mov w21, w1 - mov w23, 65535 - add x24, x0, 16 - mov x25, x22 - add x20, x20, :lo12:.LC126 -.L1614: - mov w0, w21 - bl ftl_alloc_sblk - uxth w26, w0 - cmp w26, w23 - beq .L1614 - mov w1, 0 - mov w0, w26 - bl ftl_erase_sblk - mov x1, x24 - mov w0, w26 - bl ftl_get_blk_list_in_sblk - strh w26, [x19] - add x2, x22, :lo12:.LANCHOR3 - uxtb w0, w0 - strb w0, [x19,9] - cmp w21, 2 - strh wzr, [x19,2] - mov w3, 0 - ldrh w1, [x2,1294] - strb wzr, [x19,5] - strh wzr, [x19,10] - mul w0, w1, w0 - strh w0, [x19,6] - strb w21, [x19,4] - beq .L1615 - ldrb w3, [x2,1249] - mul w3, w1, w3 - uxth w3, w3 -.L1615: - add x2, x25, :lo12:.LANCHOR3 - adrp x27, .LANCHOR0 - strh w3, [x19,12] - add x27, x27, :lo12:.LANCHOR0 - ubfiz x28, x26, 1, 16 - ldr x0, [x2,1848] - add x0, x0, x3, uxth 2 - ldrb w2, [x2,1249] - mul w2, w1, w2 - mov w1, 255 - lsl w2, w2, 2 - bl ftl_memset - ldr x0, [x27,1112] - ldrh w1, [x19,6] - strh w1, [x0,x28] - ldrb w0, [x19,9] - cbnz w0, .L1612 -.L1613: - mov w1, w26 - mov x0, x20 - bl printk - ldr x0, [x27,1112] - mov w1, -1 - strh w1, [x0,x28] - mov w0, 7 - strb w0, [x19,4] - b .L1614 -.L1612: - ldp x19, x20, [sp,16] - ldp x21, x22, [sp,32] - ldp x23, x24, [sp,48] - ldp x25, x26, [sp,64] - ldp x27, x28, [sp,80] - ldp x29, x30, [sp], 96 - ret - .size ftl_open_sblk_init, .-ftl_open_sblk_init - .align 2 .global pm_free_sblk .type pm_free_sblk, %function pm_free_sblk: @@ -10322,18 +10061,18 @@ pm_free_sblk: stp x25, x26, [sp,64] stp x27, x28, [sp,80] mov x19, x0 - ldrh w1, [x1,176] + ldrh w1, [x1,264] cmp w1, 128 - bls .L1620 + bls .L1584 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 mov w2, 94 - add x1, x1, 120 + add x1, x1, 96 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L1620: +.L1584: adrp x20, .LANCHOR0 mov x1, 0 add x0, x20, :lo12:.LANCHOR0 @@ -10342,25 +10081,25 @@ pm_free_sblk: ldr x3, [x0,3392] add x0, x19, :lo12:.LANCHOR5 ldrh w4, [x3,688] - ldrh w5, [x0,176] -.L1623: + ldrh w5, [x0,264] +.L1587: add x7, x3, x1, lsl 1 uxth w0, w1 ldrh w7, [x7,416] cmp w7, w6 - beq .L1621 + beq .L1585 add w2, w2, 1 uxth w2, w2 -.L1621: +.L1585: cmp w2, w4 - bcs .L1622 + bcs .L1586 cmp w2, w5 - bcs .L1622 + bcs .L1586 add x1, x1, 1 cmp x1, 128 - bne .L1623 + bne .L1587 mov w0, w1 -.L1622: +.L1586: add w0, w0, 1 mov w19, 128 add x22, x29, 128 @@ -10380,17 +10119,17 @@ pm_free_sblk: ldrb w2, [x0,1257] ldr x4, [x0,3392] mov w0, 24 - ldrh w6, [x1,1232] + ldrh w6, [x1,1312] sub w2, w0, w2 mov w0, 1 - ldrb w8, [x1,1234] + ldrb w8, [x1,1314] sub w2, w2, w6 ldrh w7, [x4,698] lsl w2, w0, w2 sub w2, w2, #1 -.L1624: +.L1588: cmp w7, w3, uxth - bls .L1652 + bls .L1616 add x0, x4, x3, lsl 2 mov x1, 0 ldr w0, [x0,704] @@ -10398,70 +10137,70 @@ pm_free_sblk: and w0, w0, w2 udiv w0, w0, w8 uxth w0, w0 -.L1625: +.L1589: ldr w5, [x29,124] cmp w5, w1, uxth - bls .L1653 + bls .L1617 add x5, x4, x1, lsl 1 ldrh w5, [x5,416] cmp w5, w0 - bne .L1626 + bne .L1590 ldrh w5, [x22,x1,lsl 1] add w5, w5, 1 strh w5, [x22,x1,lsl 1] -.L1626: +.L1590: add x1, x1, 1 - b .L1625 -.L1653: + b .L1589 +.L1617: add x3, x3, 1 - b .L1624 -.L1652: + b .L1588 +.L1616: add x1, x23, :lo12:.LANCHOR3 mov x19, 0 mov w28, 65535 - adrp x25, .LC139 - adrp x26, .LC140 + adrp x25, .LC136 + adrp x26, .LC137 mov w24, w19 - ldrb w0, [x1,1249] + ldrb w0, [x1,1329] mov w27, w28 - ldrh w21, [x1,1294] - add x25, x25, :lo12:.LC139 - add x26, x26, :lo12:.LC140 + ldrh w21, [x1,1384] + add x25, x25, :lo12:.LC136 + add x26, x26, :lo12:.LC137 mul w21, w0, w21 uxth w21, w21 -.L1629: +.L1593: ldr w0, [x29,124] uxth w6, w19 cmp w6, w0 - bcs .L1654 + bcs .L1618 add x0, x20, :lo12:.LANCHOR0 add x2, x23, :lo12:.LANCHOR3 mov w8, w19 ldr x0, [x0,3392] add x1, x0, x19, sxtw 1 - ldrb w4, [x2,1234] + ldrb w4, [x2,1314] ldrh w3, [x1,416] ldrh w1, [x0,692] sdiv w1, w1, w4 cmp w1, w3 - bne .L1630 - ldrb w1, [x2,1249] - ldrh w2, [x2,1294] + bne .L1594 + ldrb w1, [x2,1329] + ldrh w2, [x2,1384] mul w1, w1, w2 strh w1, [x22,x19,lsl 1] -.L1630: +.L1594: ldrh w2, [x22,x19,lsl 1] cmp w21, w2 - bls .L1631 + bls .L1595 cmp w2, wzr csel w24, w24, w6, eq csel w21, w21, w2, eq -.L1631: +.L1595: cmp w3, w27 - beq .L1633 + beq .L1597 ldrh w1, [x0,74] cmp w1, 2 - bls .L1633 + bls .L1597 add x4, x20, :lo12:.LANCHOR0 ubfiz x1, x3, 2, 16 ldrh w0, [x0,92] @@ -10470,7 +10209,7 @@ pm_free_sblk: ldrh w4, [x4,x1] and w4, w4, 2047 cmp w4, w0 - bgt .L1633 + bgt .L1597 mov w1, w8 mov x0, x25 str x6, [x29,104] @@ -10479,26 +10218,26 @@ pm_free_sblk: ldr x6, [x29,104] ldr x8, [x29,112] mov w28, w6 -.L1633: +.L1597: ldrh w2, [x22,x19,lsl 1] - cbnz w2, .L1634 + cbnz w2, .L1598 add x0, x20, :lo12:.LANCHOR0 sxtw x6, w8 ldr x4, [x0,3392] add x0, x6, 208 ldrh w3, [x4,x0,lsl 1] cmp w3, w27 - beq .L1634 + beq .L1598 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L1635 + tbz x0, 12, .L1599 ldrh w4, [x4,688] mov x0, x26 mov w1, w8 str x6, [x29,112] bl printk ldr x6, [x29,112] -.L1635: +.L1599: add x1, x20, :lo12:.LANCHOR0 add x6, x6, 208 str x1, [x29,104] @@ -10514,10 +10253,10 @@ pm_free_sblk: ldrh w1, [x0,688] sub w1, w1, #1 strh w1, [x0,688] -.L1634: +.L1598: add x19, x19, 1 - b .L1629 -.L1654: + b .L1593 +.L1618: mov w0, 65535 cmp w28, w0 csel w0, w24, w28, eq @@ -10550,35 +10289,35 @@ flash_info_data_init: ldr w0, [x1,#:lo12:.LANCHOR2] stp x19, x20, [sp,16] mov x20, x1 - tbz x0, 12, .L1657 + tbz x0, 12, .L1621 adrp x2, .LANCHOR4 - adrp x0, .LC141 + adrp x0, .LC138 add x2, x2, :lo12:.LANCHOR4 - add x0, x0, :lo12:.LC141 - mov w1, 119 - add x2, x2, 136 + add x0, x0, :lo12:.LC138 + mov w1, 120 + add x2, x2, 112 bl printk -.L1657: +.L1621: adrp x19, .LANCHOR0 mov w1, 0 add x19, x19, :lo12:.LANCHOR0 mov w2, 2048 - ldr x0, [x19,1240] + ldr x0, [x19,1128] bl ftl_memset - ldr x1, [x19,1240] + ldr x1, [x19,1128] mov w0, 21321 movk w0, 0x5359, lsl 16 mov w2, 32 str w0, [x1] mov w1, 2032 - ldr x0, [x19,1240] + ldr x0, [x19,1128] add x0, x0, 80 str w1, [x0,-72] mov w1, 1 strh w1, [x0,-64] - add x1, x19, 1152 + add x1, x19, 1160 bl ftl_memcpy - ldr x0, [x19,1240] + ldr x0, [x19,1128] add x1, x20, :lo12:.LANCHOR2 add x1, x1, 8 mov w2, 32 @@ -10593,14 +10332,14 @@ flash_info_data_init: .type ftl_memcpy32, %function ftl_memcpy32: mov x3, 0 -.L1662: +.L1626: cmp w2, w3 - bls .L1664 + bls .L1628 ldr w4, [x1,x3,lsl 2] str w4, [x0,x3,lsl 2] add x3, x3, 1 - b .L1662 -.L1664: + b .L1626 +.L1628: ret .size ftl_memcpy32, .-ftl_memcpy32 .align 2 @@ -10622,8 +10361,8 @@ timer_get_time: stp x29, x30, [sp, -16]! add x29, sp, 0 ldr x1, [x0,#:lo12:jiffies] - adrp x0, .LANCHOR5+184 - ldr x0, [x0,#:lo12:.LANCHOR5+184] + adrp x0, .LANCHOR5+272 + ldr x0, [x0,#:lo12:.LANCHOR5+272] sub x0, x1, x0 bl jiffies_to_msecs ldp x29, x30, [sp], 16 @@ -10643,10 +10382,10 @@ StorageSysDataLoad: mov w1, 0 bl ftl_memset bl rknand_device_lock - adrp x0, .LANCHOR5+192 + adrp x0, .LANCHOR5+280 mov x2, x19 mov w1, 1 - ldr x0, [x0,#:lo12:.LANCHOR5+192] + ldr x0, [x0,#:lo12:.LANCHOR5+280] ldr x3, [x0,24] mov w0, w20 blr x3 @@ -10666,10 +10405,10 @@ StorageSysDataStore: str x0, [x29,16] str x1, [x29,24] bl rknand_device_lock - adrp x1, .LANCHOR5+192 + adrp x1, .LANCHOR5+280 ldr x2, [x29,24] ldr x0, [x29,16] - ldr x1, [x1,#:lo12:.LANCHOR5+192] + ldr x1, [x1,#:lo12:.LANCHOR5+280] ldr x3, [x1,32] mov w1, 1 blr x3 @@ -10689,11 +10428,11 @@ FlashBootVendorRead: str x1, [x29,32] str x2, [x29,40] bl rknand_device_lock - adrp x3, .LANCHOR5+192 + adrp x3, .LANCHOR5+280 ldr x1, [x29,32] ldr x2, [x29,40] ldr x0, [x29,24] - ldr x3, [x3,#:lo12:.LANCHOR5+192] + ldr x3, [x3,#:lo12:.LANCHOR5+280] ldr x3, [x3,8] blr x3 str x0, [x29,40] @@ -10712,11 +10451,11 @@ FlashBootVendorWrite: str x1, [x29,32] str x2, [x29,40] bl rknand_device_lock - adrp x3, .LANCHOR5+192 + adrp x3, .LANCHOR5+280 ldr x1, [x29,32] ldr x2, [x29,40] ldr x0, [x29,24] - ldr x3, [x3,#:lo12:.LANCHOR5+192] + ldr x3, [x3,#:lo12:.LANCHOR5+280] ldr x3, [x3,16] blr x3 str x0, [x29,40] @@ -10729,20 +10468,20 @@ FlashBootVendorWrite: .global flash_sram_load_store .type flash_sram_load_store, %function flash_sram_load_store: - adrp x4, .LANCHOR5+200 + adrp x4, .LANCHOR5+288 mov x6, x0 stp x29, x30, [sp, -16]! uxtw x1, w1 add x29, sp, 0 - ldr x4, [x4,#:lo12:.LANCHOR5+200] + ldr x4, [x4,#:lo12:.LANCHOR5+288] add x4, x4, 4096 - cbnz w2, .L1672 + cbnz w2, .L1636 add x1, x4, x1 - b .L1674 -.L1672: + b .L1638 +.L1636: add x0, x4, x1 mov x1, x6 -.L1674: +.L1638: mov w2, w3 bl ftl_memcpy ldp x29, x30, [sp], 16 @@ -10759,13 +10498,13 @@ FlashCs123Init: .type rk_ftl_de_init, %function rk_ftl_de_init: stp x29, x30, [sp, -16]! - adrp x0, .LC142 + adrp x0, .LC139 mov w1, 0 add x29, sp, 0 - add x0, x0, :lo12:.LC142 + add x0, x0, :lo12:.LC139 bl printk - adrp x0, .LANCHOR5+192 - ldr x0, [x0,#:lo12:.LANCHOR5+192] + adrp x0, .LANCHOR5+280 + ldr x0, [x0,#:lo12:.LANCHOR5+280] ldr x0, [x0,80] blr x0 ldp x29, x30, [sp], 16 @@ -10775,10 +10514,10 @@ rk_ftl_de_init: .global rk_ftl_cache_write_back .type rk_ftl_cache_write_back, %function rk_ftl_cache_write_back: - adrp x0, .LANCHOR5+192 + adrp x0, .LANCHOR5+280 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x0, [x0,#:lo12:.LANCHOR5+192] + ldr x0, [x0,#:lo12:.LANCHOR5+280] ldr x1, [x0,64] mov w0, 0 blr x1 @@ -10789,10 +10528,10 @@ rk_ftl_cache_write_back: .global rk_nand_suspend .type rk_nand_suspend, %function rk_nand_suspend: - adrp x0, .LANCHOR5+192 + adrp x0, .LANCHOR5+280 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x0, [x0,#:lo12:.LANCHOR5+192] + ldr x0, [x0,#:lo12:.LANCHOR5+280] ldr x0, [x0,88] blr x0 ldp x29, x30, [sp], 16 @@ -10802,10 +10541,10 @@ rk_nand_suspend: .global rk_nand_resume .type rk_nand_resume, %function rk_nand_resume: - adrp x0, .LANCHOR5+192 + adrp x0, .LANCHOR5+280 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x0, [x0,#:lo12:.LANCHOR5+192] + ldr x0, [x0,#:lo12:.LANCHOR5+280] ldr x0, [x0,96] blr x0 ldp x29, x30, [sp], 16 @@ -10815,10 +10554,10 @@ rk_nand_resume: .global rk_ftl_get_capacity .type rk_ftl_get_capacity, %function rk_ftl_get_capacity: - adrp x0, .LANCHOR5+192 + adrp x0, .LANCHOR5+280 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x0, [x0,#:lo12:.LANCHOR5+192] + ldr x0, [x0,#:lo12:.LANCHOR5+280] ldr x1, [x0,72] mov w0, 0 blr x1 @@ -10829,10 +10568,10 @@ rk_ftl_get_capacity: .global rk_nandc_get_irq_status .type rk_nandc_get_irq_status, %function rk_nandc_get_irq_status: - adrp x1, .LANCHOR5+192 + adrp x1, .LANCHOR5+280 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x1, [x1,#:lo12:.LANCHOR5+192] + ldr x1, [x1,#:lo12:.LANCHOR5+280] ldr x1, [x1,120] blr x1 ldp x29, x30, [sp], 16 @@ -10842,10 +10581,10 @@ rk_nandc_get_irq_status: .global rknand_proc_ftlread .type rknand_proc_ftlread, %function rknand_proc_ftlread: - adrp x1, .LANCHOR5+192 + adrp x1, .LANCHOR5+280 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x1, [x1,#:lo12:.LANCHOR5+192] + ldr x1, [x1,#:lo12:.LANCHOR5+280] ldr x1, [x1,128] blr x1 ldp x29, x30, [sp], 16 @@ -10855,11 +10594,11 @@ rknand_proc_ftlread: .global FtlRead .type FtlRead, %function FtlRead: - adrp x4, .LANCHOR5+192 + adrp x4, .LANCHOR5+280 uxtb w0, w0 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x4, [x4,#:lo12:.LANCHOR5+192] + ldr x4, [x4,#:lo12:.LANCHOR5+280] ldr x4, [x4,40] blr x4 ldp x29, x30, [sp], 16 @@ -10869,10 +10608,10 @@ FtlRead: .global FtlDiscard .type FtlDiscard, %function FtlDiscard: - adrp x2, .LANCHOR5+192 + adrp x2, .LANCHOR5+280 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x2, [x2,#:lo12:.LANCHOR5+192] + ldr x2, [x2,#:lo12:.LANCHOR5+280] ldr x2, [x2,56] blr x2 ldp x29, x30, [sp], 16 @@ -10882,10 +10621,10 @@ FtlDiscard: .global rk_ftl_garbage_collect .type rk_ftl_garbage_collect, %function rk_ftl_garbage_collect: - adrp x2, .LANCHOR5+192 + adrp x2, .LANCHOR5+280 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x2, [x2,#:lo12:.LANCHOR5+192] + ldr x2, [x2,#:lo12:.LANCHOR5+280] ldr x2, [x2,104] blr x2 ldp x29, x30, [sp], 16 @@ -10895,10 +10634,10 @@ rk_ftl_garbage_collect: .global ReadFlashInfo .type ReadFlashInfo, %function ReadFlashInfo: - adrp x1, .LANCHOR5+192 + adrp x1, .LANCHOR5+280 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x1, [x1,#:lo12:.LANCHOR5+192] + ldr x1, [x1,#:lo12:.LANCHOR5+280] ldr x1, [x1,112] blr x1 ldp x29, x30, [sp], 16 @@ -10912,11 +10651,11 @@ rknand_print_hex: mul w6, w2, w3 mov x7, x0 mov w4, w2 - adrp x0, .LC143 + adrp x0, .LC140 mov w2, 0 add x29, sp, 0 mov x5, x1 - add x0, x0, :lo12:.LC143 + add x0, x0, :lo12:.LC140 mov x1, x7 mov w3, 16 mov w7, w2 @@ -10941,7 +10680,7 @@ hynix_get_read_retry_default: stp x27, x28, [sp,80] mov w1, -82 cmp w19, 2 - ldr x25, [x0,1240] + ldr x25, [x0,1128] mov w0, -84 str x3, [x29,136] add x26, x25, 128 @@ -10952,29 +10691,29 @@ hynix_get_read_retry_default: strb w2, [x25,129] strb w1, [x25,130] strb w0, [x25,131] - bne .L1689 + bne .L1653 mov w0, -89 strb w0, [x22,16] adrp x0, .LANCHOR2+425 mov w1, -9 strb w1, [x0,#:lo12:.LANCHOR2+425] - b .L1752 -.L1689: + b .L1716 +.L1653: cmp w19, 3 - bne .L1691 + bne .L1655 mov x5, 0 -.L1692: +.L1656: sub w0, w5, #80 strb w0, [x26,x5] add x5, x5, 1 cmp x5, 8 - bne .L1692 + bne .L1656 mov w27, w5 mov w28, w5 - b .L1690 -.L1691: + b .L1654 +.L1655: cmp w19, 4 - bne .L1693 + bne .L1657 mov w5, -52 strb w5, [x25,128] mov w5, -65 @@ -10990,10 +10729,10 @@ hynix_get_read_retry_default: strb w1, [x25,134] strb w5, [x25,132] strb w0, [x25,135] - b .L1690 -.L1693: + b .L1654 +.L1657: cmp w19, 5 - bne .L1694 + bne .L1658 mov w0, 56 strb w0, [x25,128] mov w0, 57 @@ -11003,10 +10742,10 @@ hynix_get_read_retry_default: strb w0, [x25,130] mov w0, 59 strb w0, [x25,131] - b .L1794 -.L1694: + b .L1758 +.L1658: cmp w19, 6 - bne .L1695 + bne .L1659 mov w0, 14 strb w0, [x25,128] mov w0, 15 @@ -11016,27 +10755,27 @@ hynix_get_read_retry_default: strb w0, [x25,130] mov w0, 17 strb w0, [x25,131] - b .L1794 -.L1695: + b .L1758 +.L1659: cmp w19, 7 - bne .L1696 + bne .L1660 mov x0, 0 -.L1697: +.L1661: sub w1, w0, #80 strb w1, [x26,x0] add x0, x0, 1 cmp x0, 8 - bne .L1697 + bne .L1661 mov w0, -44 mov w27, 12 strb w0, [x25,136] mov w28, 10 mov w0, -43 strb w0, [x25,137] - b .L1690 -.L1696: + b .L1654 +.L1660: cmp w19, 8 - bne .L1752 + bne .L1716 mov w0, 6 strb w0, [x25,128] mov w0, 7 @@ -11048,15 +10787,15 @@ hynix_get_read_retry_default: mov w0, 10 mov w28, 5 strb w0, [x25,132] - b .L1690 -.L1752: + b .L1654 +.L1716: mov w27, 7 -.L1794: +.L1758: mov w28, 4 -.L1690: +.L1654: sub w0, w19, #1 cmp w0, 1 - bhi .L1791 + bhi .L1755 ldr x0, [x29,136] adrp x24, .LANCHOR2 add x24, x24, :lo12:.LANCHOR2 @@ -11064,10 +10803,10 @@ hynix_get_read_retry_default: add x19, x0, :lo12:.LANCHOR0 mov w5, 55 add x24, x24, 408 -.L1698: - ldrb w0, [x19,1145] +.L1662: + ldrb w0, [x19,1153] cmp w0, w23 - bls .L1705 + bls .L1669 add x0, x19, x23, sxtw ldrb w0, [x0,1248] mov x20, 160 @@ -11077,24 +10816,24 @@ hynix_get_read_retry_default: madd x20, x0, x20, x22 add x21, x21, x1 add x20, x20, 32 -.L1700: +.L1664: str w5, [x21,2056] str x5, [x29,136] ldrb w0, [x26,x25] str w0, [x21,2052] - mov w0, 80 - bl timer_delay_ns + mov x0, 1000 + bl __const_udelay ldr w0, [x21,2048] strb w0, [x20,x25] add x25, x25, 1 ldr x5, [x29,136] cmp w28, w25, uxtb - bhi .L1700 + bhi .L1664 mov x0, 0 -.L1701: +.L1665: add w2, w0, 8 mov x1, 0 -.L1702: +.L1666: add x3, x1, x0 add x1, x1, 4 add x3, x24, x3 @@ -11104,10 +10843,10 @@ hynix_get_read_retry_default: add w3, w4, w3 strb w3, [x20,w2,sxtw] add w2, w2, 8 - bne .L1702 + bne .L1666 add x0, x0, 1 cmp x0, 4 - bne .L1701 + bne .L1665 add w23, w23, 1 strb wzr, [x20,16] strb wzr, [x20,24] @@ -11117,11 +10856,11 @@ hynix_get_read_retry_default: strb wzr, [x20,48] strb wzr, [x20,41] strb wzr, [x20,49] - b .L1698 -.L1791: + b .L1662 +.L1755: sub w0, w19, #3 cmp w0, 5 - bhi .L1705 + bhi .L1669 mul w0, w28, w27 sub w24, w28, #1 mov w20, 0 @@ -11136,13 +10875,13 @@ hynix_get_read_retry_default: str w0, [x29,132] add x0, x24, 1 str x0, [x29,112] -.L1706: +.L1670: ldr x0, [x29,136] add x1, x0, :lo12:.LANCHOR0 - ldrb w0, [x1,1145] + ldrb w0, [x1,1153] cmp w0, w20 - bhi .L1751 -.L1705: + bhi .L1715 +.L1669: strb w28, [x22,1] strb w27, [x22,2] ldp x19, x20, [sp,16] @@ -11152,7 +10891,7 @@ hynix_get_read_retry_default: ldp x27, x28, [sp,80] ldp x29, x30, [sp], 144 ret -.L1751: +.L1715: add x0, x1, x20, sxtw ldrb w24, [x0,1248] str x1, [x29,104] @@ -11172,7 +10911,7 @@ hynix_get_read_retry_default: bl nandc_wait_flash_ready cmp w19, 8 ldr x1, [x29,104] - bne .L1707 + bne .L1671 mov w0, 120 str w0, [x24,2056] str wzr, [x24,2052] @@ -11192,38 +10931,38 @@ hynix_get_read_retry_default: str wzr, [x24,2052] str wzr, [x24,2052] str w1, [x24,2052] - b .L1797 -.L1707: + b .L1761 +.L1671: mov w0, 54 cmp w19, 4 str w0, [x24,2056] - bne .L1709 + bne .L1673 mov w0, 64 str w1, [x24,2052] str w0, [x24,2048] mov w0, 204 - b .L1795 -.L1709: + b .L1759 +.L1673: ldr w0, [x29,132] cmp w0, 1 - bhi .L1711 + bhi .L1675 ldrb w0, [x25,128] str w0, [x24,2052] mov w0, 82 - b .L1796 -.L1711: + b .L1760 +.L1675: cmp w19, 7 - bne .L1710 + bne .L1674 mov w0, 174 str w0, [x24,2052] str wzr, [x24,2048] mov w0, 176 -.L1795: +.L1759: str w0, [x24,2052] mov w0, 77 -.L1796: +.L1760: str w0, [x24,2048] -.L1710: +.L1674: mov w0, 22 str w0, [x24,2056] mov w0, 23 @@ -11236,15 +10975,15 @@ hynix_get_read_retry_default: cmp w19, 6 str wzr, [x24,2052] str wzr, [x24,2052] - bne .L1712 + bne .L1676 mov w0, 31 str w0, [x24,2052] - b .L1713 -.L1712: + b .L1677 +.L1676: str wzr, [x24,2052] -.L1713: +.L1677: mov w0, 2 -.L1797: +.L1761: str w0, [x24,2052] mov w0, 48 str wzr, [x24,2052] @@ -11255,119 +10994,119 @@ hynix_get_read_retry_default: cset w8, ls cmp w19, 8 cset w7, eq - cbnz w8, .L1754 - cbnz w7, .L1754 + cbnz w8, .L1718 + cbnz w7, .L1718 cmp w19, 7 mov w1, 32 mov w0, 2 csel w1, w0, w1, ne - b .L1714 -.L1754: + b .L1678 +.L1718: mov w1, 16 -.L1714: +.L1678: adrp x0, .LANCHOR5 mov x9, 0 add x0, x0, :lo12:.LANCHOR5 - ldr x0, [x0,208] -.L1715: + ldr x0, [x0,296] +.L1679: ldr w10, [x24,2048] strb w10, [x0,x9] add x9, x9, 1 cmp w1, w9, uxtb - bhi .L1715 - cbz w7, .L1716 + bhi .L1679 + cbz w7, .L1680 mov w1, 0 -.L1718: +.L1682: ldrb w9, [x0] cmp w9, 50 - beq .L1717 + beq .L1681 ldrb w9, [x0,1] cmp w9, 5 - beq .L1717 + beq .L1681 add w1, w1, 1 add x0, x0, 4 uxtb w1, w1 cmp w1, 8 - bne .L1718 - b .L1719 -.L1717: + bne .L1682 + b .L1683 +.L1681: cmp w1, 7 - bne .L1720 -.L1719: - adrp x0, .LC144 + bne .L1684 +.L1683: + adrp x0, .LC141 mov w1, 0 - add x0, x0, :lo12:.LC144 + add x0, x0, :lo12:.LC141 bl printk -.L1721: - b .L1721 -.L1716: +.L1685: + b .L1685 +.L1680: cmp w19, 7 - bne .L1722 + bne .L1686 mov w1, w7 -.L1724: +.L1688: ldrb w9, [x0] cmp w9, 12 - beq .L1723 + beq .L1687 ldrb w9, [x0,1] cmp w9, 10 - beq .L1723 + beq .L1687 add w1, w1, 1 add x0, x0, 4 uxtb w1, w1 cmp w1, 8 - bne .L1724 - b .L1725 -.L1723: + bne .L1688 + b .L1689 +.L1687: cmp w1, 7 - bne .L1720 -.L1725: - adrp x0, .LC144 + bne .L1684 +.L1689: + adrp x0, .LC141 mov w1, 0 - add x0, x0, :lo12:.LC144 + add x0, x0, :lo12:.LC141 bl printk -.L1726: - b .L1726 -.L1722: +.L1690: + b .L1690 +.L1686: cmp w19, 6 - bne .L1720 + bne .L1684 mov x1, 0 -.L1727: +.L1691: ldrb w9, [x0,x1] cmp w9, 12 - beq .L1720 + beq .L1684 add x9, x0, x1 ldrb w9, [x9,8] cmp w9, 4 - beq .L1720 + beq .L1684 add x1, x1, 1 cmp x1, 8 - bne .L1727 - adrp x0, .LC144 + bne .L1691 + adrp x0, .LC141 mov w1, 0 - add x0, x0, :lo12:.LC144 + add x0, x0, :lo12:.LC141 bl printk -.L1729: - b .L1729 -.L1720: +.L1693: + b .L1693 +.L1684: add x0, x26, :lo12:.LANCHOR5 - ldr x10, [x0,208] + ldr x10, [x0,296] mov x0, 0 -.L1730: +.L1694: ldr w1, [x29,128] cmp w1, w0 - ble .L1799 + ble .L1763 ldr w1, [x24,2048] strb w1, [x10,x0] add x0, x0, 1 - b .L1730 -.L1799: + b .L1694 +.L1763: add x0, x26, :lo12:.LANCHOR5 mov w11, w23 mov w9, 8 - ldr x12, [x0,208] -.L1733: + ldr x12, [x0,296] +.L1697: mov w0, 0 -.L1732: +.L1696: add w1, w0, w11 add w0, w0, 1 sbfiz x1, x1, 1, 32 @@ -11375,93 +11114,93 @@ hynix_get_read_retry_default: ldrh w13, [x12,x1] mvn w13, w13 strh w13, [x12,x1] - bne .L1732 + bne .L1696 ldr w0, [x29,124] subs w9, w9, #1 add w11, w11, w0 - bne .L1733 + bne .L1697 mov x9, 0 mov w17, 1 -.L1734: +.L1698: mov w1, 0 mov w11, w1 -.L1738: +.L1702: lsl w13, w17, w11 mov w15, w9 mov w0, 16 mov w14, 0 -.L1736: +.L1700: ldrh w16, [x12,w15,sxtw 1] add w15, w15, w23 and w16, w16, w13 cmp w16, w13 csinc w14, w14, w14, ne subs w0, w0, #1 - bne .L1736 + bne .L1700 cmp w14, 8 - bls .L1737 + bls .L1701 orr w1, w1, w13 uxth w1, w1 -.L1737: +.L1701: add w11, w11, 1 cmp w11, 16 - bne .L1738 + bne .L1702 strh w1, [x12,x9,lsl 1] add x9, x9, 1 cmp w23, w9 - bgt .L1734 + bgt .L1698 add x1, x26, :lo12:.LANCHOR5 mov x9, 0 mov w11, w9 - ldr x1, [x1,208] -.L1741: + ldr x1, [x1,296] +.L1705: ldr w12, [x1,x9] add x9, x9, 4 cmp w12, wzr csinc w11, w11, w11, ne cmp x9, 32 - bne .L1741 + bne .L1705 cmp w11, 7 - ble .L1742 - adrp x0, .LC145 + ble .L1706 + adrp x0, .LC142 mov w2, 1 - add x0, x0, :lo12:.LC145 + add x0, x0, :lo12:.LC142 mov w3, 1024 bl rknand_print_hex - adrp x0, .LC144 + adrp x0, .LC141 mov w1, 0 - add x0, x0, :lo12:.LC144 + add x0, x0, :lo12:.LC141 bl printk -.L1743: - b .L1743 -.L1742: +.L1707: + b .L1707 +.L1706: cmp w19, 6 mov w9, 4 - beq .L1744 + beq .L1708 cmp w19, 7 mov w9, 10 - beq .L1744 + beq .L1708 cmp w7, wzr mov w9, 5 mov w1, 8 csel w9, w1, w9, eq -.L1744: +.L1708: mov w11, 0 -.L1745: +.L1709: mov x1, 0 -.L1746: +.L1710: add w12, w0, w1 ldrb w13, [x10,x1] add x1, x1, 1 cmp w28, w1, uxtb strb w13, [x21,w12,sxtw] - bhi .L1746 + bhi .L1710 add w11, w11, 1 ldr x1, [x29,112] cmp w11, w27 add w0, w0, w9 add x10, x10, x1 - blt .L1745 + blt .L1709 mov w21, 255 str w21, [x24,2056] str x7, [x29,96] @@ -11469,7 +11208,7 @@ hynix_get_read_retry_default: bl nandc_wait_flash_ready ldr x8, [x29,104] ldr x7, [x29,96] - cbz w8, .L1748 + cbz w8, .L1712 mov w0, 54 str w0, [x24,2056] ldrb w0, [x25,128] @@ -11484,17 +11223,17 @@ hynix_get_read_retry_default: str w21, [x24,2052] str w21, [x24,2052] str w21, [x24,2052] - b .L1798 -.L1748: + b .L1762 +.L1712: mov w0, 190 - cbnz w7, .L1798 + cbnz w7, .L1762 mov w0, 56 -.L1798: +.L1762: str w0, [x24,2056] add w20, w20, 1 bl nandc_wait_flash_ready uxtb w20, w20 - b .L1706 + b .L1670 .size hynix_get_read_retry_default, .-hynix_get_read_retry_default .align 2 .global flash_get_read_retry_tbl @@ -11507,9 +11246,9 @@ flash_get_read_retry_tbl: sub w1, w0, #1 uxtb w1, w1 cmp w1, 7 - bhi .L1800 + bhi .L1764 bl hynix_get_read_retry_default -.L1800: +.L1764: ldp x29, x30, [sp], 16 ret .size flash_get_read_retry_tbl, .-flash_get_read_retry_tbl @@ -11525,78 +11264,78 @@ nandc_xfer_done: stp x19, x20, [sp,16] stp x23, x24, [sp,48] adrp x19, .LANCHOR0 - strb wzr, [x0,216] + strb wzr, [x0,304] add x0, x19, :lo12:.LANCHOR0 ldrb w1, [x0,1028] cmp w1, 9 - bne .L1803 + bne .L1767 ldr x22, [x0,1048] ldr w0, [x22,16] str w0, [x29,64] ldr w20, [x22,48] ubfx x20, x20, 1, 1 - cbnz w20, .L1824 - adrp x21, .LC148 - adrp x23, .LC149 - add x21, x21, :lo12:.LC148 - add x23, x23, :lo12:.LC149 - b .L1805 -.L1824: + cbnz w20, .L1788 + adrp x21, .LC145 + adrp x23, .LC146 + add x21, x21, :lo12:.LC145 + add x23, x23, :lo12:.LC146 + b .L1769 +.L1788: mov w20, 0 -.L1804: +.L1768: ldr w1, [x22,64] ldr w0, [x29,64] ubfx x1, x1, 16, 6 ubfx x0, x0, 22, 6 cmp w1, w0 - bge .L1807 + bge .L1771 add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,1048] ldr w0, [x0] str w0, [x29,72] ldr w0, [x29,72] - tbz x0, 13, .L1806 + tbz x0, 13, .L1770 ldr w0, [x29,72] - tbz x0, 17, .L1806 + tbz x0, 17, .L1770 ldr w1, [x29,72] - adrp x0, .LC146 - add x0, x0, :lo12:.LC146 + adrp x0, .LC143 + add x0, x0, :lo12:.LC143 ubfx x1, x1, 17, 1 bl printk - b .L1807 -.L1806: + b .L1771 +.L1770: ldr w0, [x29,64] add w20, w20, 1 ubfx x0, x0, 22, 6 cmp w20, w0, lsl 12 - bne .L1808 + bne .L1772 ldr w2, [x22,64] - adrp x0, .LC147 + adrp x0, .LC144 ldr w3, [x29,64] mov w1, w20 - add x0, x0, :lo12:.LC147 + add x0, x0, :lo12:.LC144 ubfx x2, x2, 16, 5 ubfx x3, x3, 22, 6 add x21, x21, :lo12:.LANCHOR5 bl printk ldr w1, [x29,72] mov w0, 1 - strb w0, [x21,216] - tbnz x1, 13, .L1807 + strb w0, [x21,304] + tbnz x1, 13, .L1771 mov x0, 35160 movk x0, 0x41, lsl 16 bl __const_udelay - b .L1807 -.L1808: + b .L1771 +.L1772: mov x0, 5 mov x1, 10 bl usleep_range - b .L1804 -.L1807: + b .L1768 +.L1771: add x20, x19, :lo12:.LANCHOR0 - add x20, x20, 1192 + add x20, x20, 1200 ldr w0, [x20,32] - cbz w0, .L1812 + cbz w0, .L1776 ldr w1, [x29,64] mov w2, 0 ldr w0, [x20,24] @@ -11607,15 +11346,15 @@ nandc_xfer_done: ldr w0, [x20,28] ubfx x1, x1, 22, 6 lsl w1, w1, 2 - b .L1849 -.L1814: + b .L1813 +.L1778: add x24, x19, :lo12:.LANCHOR0 add w20, w20, 1 ldr x0, [x24,1048] ldr w0, [x0,16] str w0, [x29,64] and w0, w20, 16777215 - cbnz w0, .L1813 + cbnz w0, .L1777 ldr w2, [x29,64] mov w1, w20 ldr w3, [x22,64] @@ -11627,17 +11366,17 @@ nandc_xfer_done: mov w2, 4 mov w3, 64 bl rknand_print_hex -.L1813: +.L1777: mov x0, 5 mov x1, 10 bl usleep_range -.L1805: +.L1769: ldr w0, [x29,64] - tbz x0, 20, .L1814 + tbz x0, 20, .L1778 add x20, x19, :lo12:.LANCHOR0 - add x20, x20, 1192 + add x20, x20, 1200 ldr w0, [x20,32] - cbz w0, .L1812 + cbz w0, .L1776 ldr w1, [x29,64] mov w2, 1 ldr w0, [x20,24] @@ -11648,49 +11387,49 @@ nandc_xfer_done: ldr w0, [x20,28] ubfx x1, x1, 22, 6 lsl w1, w1, 2 - b .L1848 -.L1803: + b .L1812 +.L1767: ldr x21, [x0,1048] ldr w0, [x21,8] str w0, [x29,64] ldr w20, [x21,16] ubfx x20, x20, 1, 1 - cbnz w20, .L1825 - adrp x22, .LC148 - adrp x23, .LC149 - add x22, x22, :lo12:.LC148 - add x23, x23, :lo12:.LC149 - b .L1817 -.L1825: - adrp x22, .LC147 - adrp x23, .LC149 + cbnz w20, .L1789 + adrp x22, .LC145 + adrp x23, .LC146 + add x22, x22, :lo12:.LC145 + add x23, x23, :lo12:.LC146 + b .L1781 +.L1789: + adrp x22, .LC144 + adrp x23, .LC146 mov w20, 0 - add x22, x22, :lo12:.LC147 - add x23, x23, :lo12:.LC149 -.L1816: + add x22, x22, :lo12:.LC144 + add x23, x23, :lo12:.LC146 +.L1780: ldr w2, [x21,28] ldr w1, [x29,64] ubfx x2, x2, 16, 5 ubfx x1, x1, 22, 6 cmp w2, w1 - bge .L1819 + bge .L1783 add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,1048] ldr w0, [x0] str w0, [x29,72] ldr w0, [x29,72] - tbz x0, 13, .L1818 + tbz x0, 13, .L1782 ldr w0, [x29,72] - tbz x0, 17, .L1818 + tbz x0, 17, .L1782 ldr w1, [x29,72] - adrp x0, .LC150 - add x0, x0, :lo12:.LC150 + adrp x0, .LC147 + add x0, x0, :lo12:.LC147 bl printk - b .L1819 -.L1818: + b .L1783 +.L1782: add w20, w20, 1 and w0, w20, 16777215 - cbnz w0, .L1820 + cbnz w0, .L1784 ldr w2, [x21,28] mov w1, w20 ldr w3, [x29,64] @@ -11704,16 +11443,16 @@ nandc_xfer_done: mov w3, 64 ldr x1, [x1,1048] bl rknand_print_hex -.L1820: +.L1784: mov x0, 5 mov x1, 10 bl usleep_range - b .L1816 -.L1819: + b .L1780 +.L1783: add x20, x19, :lo12:.LANCHOR0 - add x20, x20, 1192 + add x20, x20, 1200 ldr w0, [x20,32] - cbz w0, .L1812 + cbz w0, .L1776 ldr w1, [x29,64] mov w2, 0 ldr w0, [x20,24] @@ -11724,17 +11463,17 @@ nandc_xfer_done: ldr w0, [x20,28] ubfx x1, x1, 22, 6 lsl w1, w1, 7 -.L1849: +.L1813: mov w2, 0 - b .L1847 -.L1823: + b .L1811 +.L1787: add x24, x19, :lo12:.LANCHOR0 add w20, w20, 1 ldr x0, [x24,1048] ldr w0, [x0,8] str w0, [x29,64] and w0, w20, 16777215 - cbnz w0, .L1822 + cbnz w0, .L1786 ldr w2, [x29,64] mov w1, w20 ldr w3, [x21,28] @@ -11746,17 +11485,17 @@ nandc_xfer_done: mov w2, 4 mov w3, 64 bl rknand_print_hex -.L1822: +.L1786: mov x0, 5 mov x1, 10 bl usleep_range -.L1817: +.L1781: ldr w0, [x29,64] - tbz x0, 20, .L1823 + tbz x0, 20, .L1787 add x20, x19, :lo12:.LANCHOR0 - add x20, x20, 1192 + add x20, x20, 1200 ldr w0, [x20,32] - cbz w0, .L1812 + cbz w0, .L1776 ldr w1, [x29,64] mov w2, 1 ldr w0, [x20,24] @@ -11767,15 +11506,15 @@ nandc_xfer_done: ldr w0, [x20,28] ubfx x1, x1, 22, 6 lsl w1, w1, 7 -.L1848: - mov w2, 1 -.L1847: - bl rknand_dma_unmap_single .L1812: + mov w2, 1 +.L1811: + bl rknand_dma_unmap_single +.L1776: add x19, x19, :lo12:.LANCHOR0 ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] - str wzr, [x19,1224] + str wzr, [x19,1232] ldp x19, x20, [sp,16] ldp x29, x30, [sp], 80 ret @@ -11801,19 +11540,19 @@ nandc_xfer: mov w0, w20 bl nandc_xfer_done mov w0, 0 - cbnz w20, .L1880 + cbnz w20, .L1844 adrp x19, .LANCHOR0 add x1, x19, :lo12:.LANCHOR0 ldrb w2, [x1,1028] cmp w2, 9 - bne .L1852 + bne .L1816 ldr x5, [x1,1048] lsr w22, w22, 2 mov w4, 1 mov w3, w0 -.L1853: +.L1817: cmp w3, w22 - bcs .L1889 + bcs .L1853 uxtw x1, w3 add x1, x1, 84 ldr w1, [x5,x1,lsl 2] @@ -11825,30 +11564,30 @@ nandc_xfer: and w1, w1, w2 and w4, w4, w1 ldr w1, [x29,72] - tbnz x1, 2, .L1872 + tbnz x1, 2, .L1836 ldr w1, [x29,72] - tbnz x1, 18, .L1872 + tbnz x1, 18, .L1836 ldr w2, [x29,72] ldr w1, [x29,72] ubfx x2, x2, 3, 7 ubfx x1, x1, 19, 7 cmp w2, w1 ldr w1, [x29,72] - ble .L1855 + ble .L1819 ubfx x1, x1, 3, 7 - b .L1856 -.L1855: + b .L1820 +.L1819: ubfx x1, x1, 19, 7 -.L1856: +.L1820: cmp w0, w1 csel w0, w0, w1, cs - b .L1854 -.L1872: + b .L1818 +.L1836: mov w0, -1 -.L1854: +.L1818: add w3, w3, 1 - b .L1853 -.L1889: + b .L1817 +.L1853: add x22, x19, :lo12:.LANCHOR0 cmp w4, wzr ldr x1, [x22,1048] @@ -11859,31 +11598,31 @@ nandc_xfer: movk w1, 0x2, lsl 16 and w1, w20, w1 cmp w1, 139264 - bne .L1859 - adrp x0, .LC151 + bne .L1823 + adrp x0, .LC148 mov w1, w20 - add x0, x0, :lo12:.LC151 + add x0, x0, :lo12:.LC148 orr w20, w20, 131072 bl printk ldr x0, [x22,1048] str w20, [x0] mov w0, -1 -.L1859: - tbz x20, 13, .L1860 - adrp x1, .LANCHOR5+216 - ldrb w1, [x1,#:lo12:.LANCHOR5+216] - cbz w1, .L1860 - adrp x0, .LC152 +.L1823: + tbz x20, 13, .L1824 + adrp x1, .LANCHOR5+304 + ldrb w1, [x1,#:lo12:.LANCHOR5+304] + cbz w1, .L1824 + adrp x0, .LC149 mov w1, w20 - add x0, x0, :lo12:.LC152 + add x0, x0, :lo12:.LC149 add x19, x19, :lo12:.LANCHOR0 bl printk ldr x0, [x19,1048] mov w1, 1 str w1, [x0,16] - b .L1861 -.L1852: - ldrb w0, [x1,1236] + b .L1825 +.L1816: + ldrb w0, [x1,1244] mov w4, 128 lsr w5, w22, 1 mov w2, 1 @@ -11891,11 +11630,11 @@ nandc_xfer: mov w0, 64 csel w4, w0, w4, cc mov w3, w20 -.L1863: +.L1827: cmp w3, w5 add w6, w20, w4 - bcs .L1890 - ldr x0, [x1,1192] + bcs .L1854 + ldr x0, [x1,1200] and x20, x20, 4294967292 ubfiz x7, x3, 2, 30 add w3, w3, 1 @@ -11911,24 +11650,24 @@ nandc_xfer: add w7, w2, 2 add w2, w2, 4 strb w0, [x23,x7] - b .L1863 -.L1890: + b .L1827 +.L1854: add x0, x19, :lo12:.LANCHOR0 mov w2, 0 lsr w22, w22, 2 ldr x6, [x0,1048] mov w0, w2 -.L1865: +.L1829: cmp w2, w22 - bcs .L1891 + bcs .L1855 uxtw x1, w2 add x1, x1, 8 ldr w1, [x6,x1,lsl 2] str w1, [x29,72] ldr w1, [x29,72] - tbnz x1, 2, .L1875 + tbnz x1, 2, .L1839 ldr w1, [x29,72] - tbnz x1, 15, .L1875 + tbnz x1, 15, .L1839 ldr w3, [x29,72] ubfx x5, x3, 3, 5 ldr w3, [x29,72] @@ -11941,26 +11680,26 @@ nandc_xfer: orr w1, w4, w1, lsl 5 cmp w3, w1 ldr w1, [x29,72] - bls .L1867 + bls .L1831 ubfx x3, x1, 3, 5 ldr w1, [x29,72] ubfx x1, x1, 27, 1 - b .L1888 -.L1867: + b .L1852 +.L1831: ubfx x3, x1, 16, 5 ldr w1, [x29,72] ubfx x1, x1, 29, 1 -.L1888: +.L1852: orr w1, w3, w1, lsl 5 cmp w0, w1 csel w0, w0, w1, cs - b .L1866 -.L1875: + b .L1830 +.L1839: mov w0, -1 -.L1866: +.L1830: add w2, w2, 1 - b .L1865 -.L1891: + b .L1829 +.L1855: add x19, x19, :lo12:.LANCHOR0 ldr x1, [x19,1048] str wzr, [x1,16] @@ -11969,32 +11708,32 @@ nandc_xfer: movk w1, 0x2, lsl 16 and w1, w20, w1 cmp w1, 139264 - bne .L1860 - adrp x0, .LC153 + bne .L1824 + adrp x0, .LC150 mov w1, w20 - add x0, x0, :lo12:.LC153 + add x0, x0, :lo12:.LC150 orr w20, w20, 131072 bl printk ldr x0, [x19,1048] str w20, [x0] - b .L1861 -.L1860: + b .L1825 +.L1824: cmn w0, #1 - beq .L1880 + beq .L1844 ldr w1, [x23] cmn w1, #1 - bne .L1880 + bne .L1844 ldr w1, [x23,4] cmn w1, #1 - bne .L1880 + bne .L1844 ldr w1, [x21] cmn w1, #1 mov w1, 512 csel w0, w0, w1, ne - b .L1880 -.L1861: + b .L1844 +.L1825: mov w0, -1 -.L1880: +.L1844: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldr x23, [sp,48] @@ -12030,42 +11769,42 @@ flash_read_page: bl nandc_wait_flash_ready mov w0, w22 bl nandc_cs - cbnz w23, .L1893 + cbnz w23, .L1857 mov w0, w22 bl zftl_flash_enter_slc_mode - b .L1894 -.L1893: - ldr x0, [x27,1136] + b .L1858 +.L1857: + ldr x0, [x27,1144] ldrb w0, [x0,12] cmp w0, 3 - bne .L1895 + bne .L1859 ldrb w0, [x27,1268] - cbnz w0, .L1895 + cbnz w0, .L1859 ldrb w0, [x27,1269] - cbnz w0, .L1895 + cbnz w0, .L1859 sxtw x0, w22 add x0, x0, 8 add x0, x20, x0, lsl 8 str w23, [x0,8] - b .L1894 -.L1895: + b .L1858 +.L1859: mov w0, w22 bl zftl_flash_exit_slc_mode -.L1894: +.L1858: add x0, x21, :lo12:.LANCHOR0 - ldr x1, [x0,1136] + ldr x1, [x0,1144] ldrb w0, [x1,7] cmp w0, 1 - bne .L1896 + bne .L1860 ldrb w0, [x1,12] cmp w0, 2 - bne .L1896 + bne .L1860 sxtw x0, w22 mov w2, 38 add x0, x0, 8 add x0, x20, x0, lsl 8 str w2, [x0,8] -.L1896: +.L1860: ubfiz x5, x22, 8, 8 and w0, w19, 255 add x20, x20, x5 @@ -12079,28 +11818,28 @@ flash_read_page: str w0, [x20,2052] add x0, x21, :lo12:.LANCHOR0 ldrb w0, [x0,1256] - cbz w0, .L1897 + cbz w0, .L1861 lsr w0, w19, 24 str w0, [x20,2052] -.L1897: +.L1861: mov w0, 48 str w0, [x20,2056] - cbz w23, .L1898 + cbz w23, .L1862 ldrb w0, [x1,12] cmp w0, 3 - bne .L1898 + bne .L1862 add x21, x21, :lo12:.LANCHOR0 ldrb w0, [x21,1268] - cbnz w0, .L1898 + cbnz w0, .L1862 ldrb w0, [x21,1269] - cbnz w0, .L1898 + cbnz w0, .L1862 add w19, w19, w19, lsl 1 sub w0, w19, #1 add w0, w0, w23 - b .L1909 -.L1898: + b .L1873 +.L1862: mov w0, w19 -.L1909: +.L1873: bl nandc_set_seed bl nandc_wait_flash_ready mov w0, 5 @@ -12144,7 +11883,7 @@ micron_read_retrial: stp x27, x28, [sp,80] mov w22, w1 mov x23, x2 - ldrb w0, [x20,1236] + ldrb w0, [x20,1244] mov x24, x3 uxtb x25, w19 mov w21, 0 @@ -12152,31 +11891,31 @@ micron_read_retrial: asr w0, w0, 2 str w0, [x29,156] bl nandc_wait_flash_ready - mov w0, w19 - bl zftl_flash_enter_slc_mode - mov w0, w19 - bl zftl_flash_exit_slc_mode ldr x0, [x20,1048] str x0, [x29,144] - adrp x0, .LC154 - add x0, x0, :lo12:.LC154 + adrp x0, .LC151 + add x0, x0, :lo12:.LC151 str x0, [x29,128] lsl x0, x25, 8 str x0, [x29,120] - adrp x0, .LC155 - add x0, x0, :lo12:.LC155 + adrp x0, .LC152 + add x0, x0, :lo12:.LC152 str x0, [x29,112] -.L1911: - lsl x0, x25, 8 +.L1875: + mov w0, w19 mov w20, 0 mov w28, -1 adrp x26, .LANCHOR5 + bl zftl_flash_enter_slc_mode + mov w0, w19 + bl zftl_flash_exit_slc_mode + lsl x0, x25, 8 str x0, [x29,136] -.L1912: +.L1876: add x0, x26, :lo12:.LANCHOR5 - ldrb w0, [x0,232] + ldrb w0, [x0,320] cmp w20, w0 - bcs .L1916 + bcs .L1880 ldr x0, [x29,144] add w27, w20, 1 ldr x1, [x29,136] @@ -12186,8 +11925,8 @@ micron_read_retrial: str w0, [x1,2056] mov w0, 137 str w0, [x1,2052] - mov w0, 200 - bl timer_delay_ns + mov x0, 1000 + bl __const_udelay ldr x1, [x29,104] mov w0, w19 ldr w4, [x29,152] @@ -12202,7 +11941,7 @@ micron_read_retrial: mov w6, w0 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L1913 + tbz x0, 12, .L1877 ldr x0, [x29,128] mov w4, w6 mov w1, w20 @@ -12211,24 +11950,24 @@ micron_read_retrial: str x6, [x29,104] bl printk ldr x6, [x29,104] -.L1913: +.L1877: cmn w6, #1 - beq .L1914 + beq .L1878 adrp x0, .LANCHOR5 cmn w28, #1 add x0, x0, :lo12:.LANCHOR5 csel w28, w28, w6, ne - ldr x23, [x0,208] - ldr x24, [x0,224] + ldr x23, [x0,296] + ldr x24, [x0,312] ldr w0, [x29,156] cmp w6, w0 - bcc .L1924 -.L1914: + bcc .L1888 +.L1878: mov w20, w27 - b .L1912 -.L1924: + b .L1876 +.L1888: mov w28, w6 -.L1916: +.L1880: ldr x0, [x29,144] ldr x1, [x29,120] add x26, x0, x1 @@ -12236,54 +11975,54 @@ micron_read_retrial: str w0, [x26,2056] mov w0, 137 str w0, [x26,2052] - mov w0, 200 - bl timer_delay_ns + mov x0, 1000 + bl __const_udelay str wzr, [x26,2048] str wzr, [x26,2048] ldr w0, [x29,156] str wzr, [x26,2048] str wzr, [x26,2048] cmp w28, w0 - bcc .L1918 + bcc .L1882 cmn w28, #1 mov w0, 256 csel w28, w28, w0, eq -.L1918: +.L1882: cmn w28, #1 cset w26, eq - cbnz w26, .L1926 + cbnz w26, .L1890 cmp w28, 256 cset w1, eq - cbz w1, .L1919 -.L1926: + cbz w1, .L1883 +.L1890: ldr x0, [x29,112] - mov w1, w20 + mov w1, w19 mov w2, w22 mov w3, w20 mov w4, w28 bl printk - cbz w26, .L1921 - cbnz w21, .L1921 + cbz w26, .L1885 + cbnz w21, .L1885 mov w0, w19 mov w1, 3 mov w21, 1 bl mt_auto_read_calibration_config - b .L1911 -.L1921: - cbz w21, .L1922 + b .L1875 +.L1885: + cbz w21, .L1886 mov w0, w19 mov w1, 0 bl mt_auto_read_calibration_config cmn w28, #1 mov w0, 256 csel w28, w28, w0, eq - b .L1922 -.L1919: - cbz w21, .L1922 + b .L1886 +.L1883: + cbz w21, .L1886 mov w0, w19 mov w28, 256 bl mt_auto_read_calibration_config -.L1922: +.L1886: bl nandc_wait_flash_ready mov w0, w28 ldp x19, x20, [sp,16] @@ -12304,44 +12043,44 @@ toshiba_3d_read_retrial: stp x21, x22, [sp,32] stp x23, x24, [sp,48] stp x25, x26, [sp,64] - mov w24, w1 - uxtb w22, w0 + mov w23, w1 + uxtb w24, w0 stp x27, x28, [sp,80] mov x26, x2 mov x27, x3 str w4, [x29,124] adrp x20, .LANCHOR0 bl nandc_wait_flash_ready - ubfx x19, x24, 24, 2 + ubfx x19, x23, 24, 2 add x1, x20, :lo12:.LANCHOR0 - sxtw x0, w22 + sxtw x0, w24 mov w2, 46 mov w3, 56 add x0, x0, 8 mov w21, 10 ldr x25, [x1,1048] lsl x0, x0, 8 - ldrb w1, [x1,1237] - add x23, x25, x0 + ldrb w1, [x1,1136] + add x22, x25, x0 cmp w1, 36 csel w2, w3, w2, ne str w2, [x29,112] cmp w1, 36 mov w1, 26 csel w21, w21, w1, ne - cbnz w19, .L1947 + cbnz w19, .L1911 str x0, [x29,112] - adrp x0, .LC156 - add x0, x0, :lo12:.LC156 + adrp x0, .LC153 + add x0, x0, :lo12:.LC153 mov w19, -1 mov w28, 1 str x0, [x29,104] -.L1954: +.L1918: add x0, x20, :lo12:.LANCHOR0 - ldrb w0, [x0,1237] + ldrb w0, [x0,1136] cmp w0, 36 - mov x0, x23 - bne .L1948 + mov x0, x22 + bne .L1912 mov w1, w28 mov w2, 0 bl toshiba_tlc_set_rr_para @@ -12349,178 +12088,178 @@ toshiba_3d_read_retrial: mov w1, 93 add x0, x25, x0 str w1, [x0,8] - b .L1949 -.L1948: + b .L1913 +.L1912: mov w1, w28 bl toshiba_3d_set_slc_rr_para -.L1949: +.L1913: ldr w4, [x29,124] - mov w0, w22 - mov w1, w24 + mov w0, w24 + mov w1, w23 mov x2, x26 mov x3, x27 bl flash_read_page mov w4, w0 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L1950 + tbz x0, 4, .L1914 ldr x0, [x29,104] mov w3, w4 mov w1, w28 - mov w2, w24 + mov w2, w23 str x4, [x29,96] bl printk ldr x4, [x29,96] -.L1950: +.L1914: cmn w4, #1 - beq .L1951 + beq .L1915 adrp x0, .LANCHOR5 cmn w19, #1 add x0, x0, :lo12:.LANCHOR5 csel w19, w19, w4, ne - ldr x26, [x0,208] - ldr x27, [x0,224] + ldr x26, [x0,296] + ldr x27, [x0,312] add x0, x20, :lo12:.LANCHOR0 - ldrb w0, [x0,1236] + ldrb w0, [x0,1244] add w0, w0, w0, lsl 1 cmp w4, w0, lsr 2 - bcc .L1970 -.L1951: + bcc .L1934 +.L1915: add w28, w28, 1 cmp w28, w21 - bne .L1954 - b .L1953 -.L1970: + bne .L1918 + b .L1917 +.L1934: mov w21, w28 mov w19, w4 -.L1953: +.L1917: add x0, x20, :lo12:.LANCHOR0 - ldrb w0, [x0,1237] + ldrb w0, [x0,1136] cmp w0, 36 - mov x0, x23 - bne .L1955 + mov x0, x22 + bne .L1919 mov w1, 0 mov w2, w1 - b .L1993 -.L1955: + b .L1957 +.L1919: mov w1, 0 bl toshiba_3d_set_slc_rr_para - b .L1956 -.L1947: + b .L1920 +.L1911: mov x28, x0 - adrp x0, .LC157 - add x0, x0, :lo12:.LC157 + adrp x0, .LC154 + add x0, x0, :lo12:.LC154 mov w19, -1 mov w21, 1 str x0, [x29,104] -.L1963: +.L1927: add x0, x20, :lo12:.LANCHOR0 - ldrb w0, [x0,1237] + ldrb w0, [x0,1136] cmp w0, 36 - mov x0, x23 - bne .L1957 + mov x0, x22 + bne .L1921 mov w1, w21 mov w2, 1 bl toshiba_tlc_set_rr_para add x0, x25, x28 mov w1, 93 - b .L1992 -.L1957: + b .L1956 +.L1921: mov w1, w21 bl toshiba_3d_set_tlc_rr_para add x0, x25, x28 mov w1, 38 -.L1992: +.L1956: str w1, [x0,8] mov x2, x26 - mov w0, w22 - mov w1, w24 + mov w0, w24 + mov w1, w23 ldr w4, [x29,124] mov x3, x27 bl flash_read_page mov w4, w0 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L1959 + tbz x0, 4, .L1923 ldr x0, [x29,104] mov w3, w4 mov w1, w21 - mov w2, w24 + mov w2, w23 str x4, [x29,96] bl printk ldr x4, [x29,96] -.L1959: +.L1923: cmn w4, #1 - beq .L1960 + beq .L1924 adrp x0, .LANCHOR5 cmn w19, #1 add x0, x0, :lo12:.LANCHOR5 csel w19, w19, w4, ne - ldr x26, [x0,208] - ldr x27, [x0,224] + ldr x26, [x0,296] + ldr x27, [x0,312] add x0, x20, :lo12:.LANCHOR0 - ldrb w0, [x0,1236] + ldrb w0, [x0,1244] add w0, w0, w0, lsl 1 cmp w4, w0, lsr 2 - bcc .L1971 -.L1960: + bcc .L1935 +.L1924: ldr w0, [x29,112] add w21, w21, 1 cmp w21, w0 - bne .L1963 - b .L1962 -.L1971: + bne .L1927 + b .L1926 +.L1935: mov w19, w4 -.L1962: +.L1926: add x0, x20, :lo12:.LANCHOR0 - ldrb w0, [x0,1237] + ldrb w0, [x0,1136] cmp w0, 36 - mov x0, x23 - bne .L1964 + mov x0, x22 + bne .L1928 mov w1, 0 mov w2, 1 -.L1993: +.L1957: bl toshiba_tlc_set_rr_para - b .L1956 -.L1964: + b .L1920 +.L1928: mov w1, 0 bl toshiba_3d_set_tlc_rr_para -.L1956: +.L1920: add x0, x20, :lo12:.LANCHOR0 - ldrb w0, [x0,1237] + ldrb w0, [x0,1136] cmp w0, 36 - bne .L1965 - ubfiz x22, x22, 8, 8 + bne .L1929 + ubfiz x0, x24, 8, 8 + add x25, x25, x0 mov w0, 85 - add x25, x25, x22 str w0, [x25,2056] mov w0, 255 str wzr, [x25,2052] str wzr, [x25,2048] str w0, [x25,2056] -.L1965: +.L1929: add x20, x20, :lo12:.LANCHOR0 - ldrb w0, [x20,1236] + ldrb w0, [x20,1244] add w0, w0, w0, lsl 1 cmp w19, w0, lsr 2 - bcc .L1966 + bcc .L1930 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L1966: +.L1930: cmn w19, #1 - beq .L1972 + beq .L1936 cmp w19, 256 - bne .L1967 -.L1972: - adrp x0, .LC158 - mov w1, w21 - add x0, x0, :lo12:.LC158 - mov w2, w24 + bne .L1931 +.L1936: + adrp x0, .LC155 + mov w1, w24 + add x0, x0, :lo12:.LC155 + mov w2, w23 mov w3, w21 mov w4, w19 bl printk -.L1967: +.L1931: bl nandc_wait_flash_ready mov w0, w19 ldp x19, x20, [sp,16] @@ -12558,26 +12297,26 @@ toshiba_read_retrial: sxtw x0, w21 add x22, x0, 8 str x0, [x29,112] - ldrb w0, [x1,1237] + ldrb w0, [x1,1136] ldr x23, [x1,1048] sub w0, w0, #67 add x22, x23, x22, lsl 8 uxtb w0, w0 cmp w0, 1 - bls .L1995 - ldrb w0, [x1,1184] - cbz w0, .L1996 + bls .L1959 + ldrb w0, [x1,1192] + cbz w0, .L1960 mov w0, 1 mov w25, 1 bl nandc_set_if_mode -.L1996: +.L1960: ubfiz x0, x21, 8, 8 mov w1, 92 add x0, x23, x0 str w1, [x0,2056] mov w1, 197 str w1, [x0,2056] -.L1995: +.L1959: ldr x0, [x29,112] mov w20, 1 mov w24, -1 @@ -12586,41 +12325,41 @@ toshiba_read_retrial: str x0, [x29,104] ubfiz x0, x21, 8, 8 str x0, [x29,96] -.L1997: +.L1961: adrp x0, .LANCHOR5 add x0, x0, :lo12:.LANCHOR5 - ldrb w0, [x0,232] + ldrb w0, [x0,320] add w0, w0, 1 cmp w20, w0 - bcs .L2028 + bcs .L1992 add x0, x19, :lo12:.LANCHOR0 mov w1, w20 - ldrb w0, [x0,1237] + ldrb w0, [x0,1136] sub w0, w0, #67 uxtb w0, w0 cmp w0, 1 mov x0, x22 - bhi .L1998 + bhi .L1962 bl sandisk_set_rr_para - b .L1999 -.L1998: + b .L1963 +.L1962: bl toshiba_set_rr_para -.L1999: +.L1963: add x0, x19, :lo12:.LANCHOR0 - ldrb w0, [x0,1237] + ldrb w0, [x0,1136] cmp w0, 34 - bne .L2000 + bne .L1964 adrp x0, .LANCHOR5 add x0, x0, :lo12:.LANCHOR5 - ldrb w0, [x0,232] + ldrb w0, [x0,320] sub w0, w0, #3 cmp w20, w0 - bne .L2000 + bne .L1964 ldr x0, [x29,104] mov w1, 179 add x0, x23, x0 str w1, [x0,8] -.L2000: +.L1964: ldr x0, [x29,96] mov w1, 38 ldr w4, [x29,120] @@ -12635,69 +12374,69 @@ toshiba_read_retrial: bl flash_read_page cmn w0, #1 mov w28, w0 - beq .L2003 + beq .L1967 cmn w24, #1 csel w24, w24, w0, ne adrp x0, .LANCHOR5 add x0, x0, :lo12:.LANCHOR5 - ldr x26, [x0,208] - ldr x27, [x0,224] + ldr x26, [x0,296] + ldr x27, [x0,312] add x0, x19, :lo12:.LANCHOR0 - ldrb w0, [x0,1236] + ldrb w0, [x0,1244] add w0, w0, w0, lsl 1 cmp w28, w0, lsr 2 - bcc .L2005 -.L2003: + bcc .L1969 +.L1967: add w20, w20, 1 - b .L1997 -.L2028: + b .L1961 +.L1992: mov w28, w24 -.L2005: +.L1969: add x0, x19, :lo12:.LANCHOR0 mov w1, 0 - ldrb w0, [x0,1237] + ldrb w0, [x0,1136] sub w0, w0, #67 uxtb w0, w0 cmp w0, 1 mov x0, x22 - bhi .L2007 + bhi .L1971 bl sandisk_set_rr_para - b .L2008 -.L2007: + b .L1972 +.L1971: bl toshiba_set_rr_para -.L2008: +.L1972: ldr x0, [x29,112] add x19, x19, :lo12:.LANCHOR0 add x0, x0, 8 add x23, x23, x0, lsl 8 mov w0, 255 str w0, [x23,8] - ldrb w0, [x19,1236] + ldrb w0, [x19,1244] add w0, w0, w0, lsl 1 cmp w28, w0, lsr 2 - bcc .L2009 + bcc .L1973 cmn w28, #1 mov w0, 256 csel w28, w28, w0, eq -.L2009: +.L1973: cmn w28, #1 - beq .L2015 + beq .L1979 cmp w28, 256 - bne .L2010 -.L2015: - adrp x0, .LC158 + bne .L1974 +.L1979: + adrp x0, .LC155 ldr w2, [x29,124] - add x0, x0, :lo12:.LC158 + add x0, x0, :lo12:.LC155 mov w1, w20 mov w3, w20 mov w4, w28 bl printk -.L2010: +.L1974: bl nandc_wait_flash_ready - cbz w25, .L2012 + cbz w25, .L1976 mov w0, 4 bl nandc_set_if_mode -.L2012: +.L1976: mov w0, w28 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -12738,8 +12477,8 @@ ymtc_3d_read_retrial: ldr x0, [x0,1048] add x22, x0, x22, lsl 8 ubfx x0, x24, 24, 2 - cbnz w0, .L2039 -.L2034: + cbnz w0, .L2003 +.L1998: mov x0, x22 mov w1, w20 bl ymtc_3d_set_slc_rr_para @@ -12750,45 +12489,45 @@ ymtc_3d_read_retrial: mov w4, w27 bl flash_read_page cmn w0, #1 - beq .L2031 + beq .L1995 add x1, x28, :lo12:.LANCHOR5 cmn w19, #1 csel w19, w19, w0, ne - ldr x25, [x1,208] - ldr x26, [x1,224] + ldr x25, [x1,296] + ldr x26, [x1,312] add x1, x21, :lo12:.LANCHOR0 - ldrb w1, [x1,1236] + ldrb w1, [x1,1244] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - bcc .L2043 -.L2031: + bcc .L2007 +.L1995: add w20, w20, 1 cmp w20, 10 - bne .L2034 - b .L2033 -.L2043: + bne .L1998 + b .L1997 +.L2007: mov w19, w0 -.L2033: +.L1997: mov x0, x22 mov w1, 0 bl ymtc_3d_set_slc_rr_para - b .L2035 -.L2059: + b .L1999 +.L2023: add x1, x28, :lo12:.LANCHOR5 cmn w19, #1 csel w19, w19, w0, ne - ldr x25, [x1,208] - ldr x26, [x1,224] + ldr x25, [x1,296] + ldr x26, [x1,312] add x1, x21, :lo12:.LANCHOR0 - ldrb w1, [x1,1236] + ldrb w1, [x1,1244] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - bcc .L2044 -.L2036: + bcc .L2008 +.L2000: add w20, w20, 1 cmp w20, 51 - beq .L2038 -.L2039: + beq .L2002 +.L2003: mov x0, x22 mov w1, w20 bl ymtc_3d_set_tlc_rr_para @@ -12799,37 +12538,37 @@ ymtc_3d_read_retrial: mov w4, w27 bl flash_read_page cmn w0, #1 - bne .L2059 - b .L2036 -.L2044: + bne .L2023 + b .L2000 +.L2008: mov w19, w0 -.L2038: +.L2002: mov x0, x22 mov w1, 0 bl ymtc_3d_set_tlc_rr_para -.L2035: +.L1999: add x21, x21, :lo12:.LANCHOR0 - ldrb w0, [x21,1236] + ldrb w0, [x21,1244] add w0, w0, w0, lsl 1 cmp w19, w0, lsr 2 - bcc .L2040 + bcc .L2004 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L2040: +.L2004: cmn w19, #1 - beq .L2045 + beq .L2009 cmp w19, 256 - bne .L2041 -.L2045: - adrp x0, .LC159 + bne .L2005 +.L2009: + adrp x0, .LC156 mov w1, w20 - add x0, x0, :lo12:.LC159 + add x0, x0, :lo12:.LC156 mov w2, w24 mov w3, w20 mov w4, w19 bl printk -.L2041: +.L2005: bl nandc_wait_flash_ready mov w0, w19 ldp x19, x20, [sp,16] @@ -12868,9 +12607,9 @@ samsung_read_retrial: add x5, x5, :lo12:.LANCHOR4 ldr x24, [x0,1048] ubfx x0, x22, 24, 2 - cbnz w0, .L2061 - add x0, x5, 185 - add x5, x5, 160 + cbnz w0, .L2025 + add x0, x5, 161 + add x5, x5, 136 str x0, [x29,120] mov w0, 1 sub w0, w0, w5 @@ -12878,11 +12617,11 @@ samsung_read_retrial: lsl x0, x19, 8 str x0, [x29,128] add x19, x24, x0 - adrp x0, .LC160 - add x0, x0, :lo12:.LC160 + adrp x0, .LC157 + add x0, x0, :lo12:.LC157 mov w27, -1 str x0, [x29,104] -.L2066: +.L2030: ldr w0, [x29,112] str x5, [x29,96] add w20, w0, w5 @@ -12906,54 +12645,54 @@ samsung_read_retrial: adrp x0, .LANCHOR2 ldr x5, [x29,96] ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L2062 + tbz x0, 4, .L2026 ldr x0, [x29,104] mov w1, w20 mov w2, w22 mov w3, w28 bl printk ldr x5, [x29,96] -.L2062: +.L2026: cmn w28, #1 - beq .L2063 + beq .L2027 adrp x0, .LANCHOR5 cmn w27, #1 add x0, x0, :lo12:.LANCHOR5 csel w27, w27, w28, ne - ldr x25, [x0,208] - ldr x26, [x0,224] + ldr x25, [x0,296] + ldr x26, [x0,312] add x0, x21, :lo12:.LANCHOR0 - ldrb w0, [x0,1236] + ldrb w0, [x0,1244] add w0, w0, w0, lsl 1 cmp w28, w0, lsr 2 - bcc .L2076 -.L2063: + bcc .L2040 +.L2027: ldr x0, [x29,120] add x5, x5, 1 cmp x5, x0 - bne .L2066 + bne .L2030 mov w20, 26 - b .L2065 -.L2076: + b .L2029 +.L2040: mov w27, w28 -.L2065: +.L2029: ldr x0, [x29,128] add x19, x24, x0 mov w0, 239 str w0, [x19,2056] mov w0, 141 - b .L2098 -.L2061: + b .L2062 +.L2025: lsl x0, x19, 8 str x0, [x29,128] add x19, x24, x0 - adrp x0, .LC161 - add x0, x0, :lo12:.LC161 - add x28, x5, 192 + adrp x0, .LC158 + add x0, x0, :lo12:.LC158 + add x28, x5, 168 mov w27, -1 mov w20, 1 str x0, [x29,120] -.L2072: +.L2036: mov w0, 239 str w0, [x19,2056] mov w0, 137 @@ -12976,7 +12715,7 @@ samsung_read_retrial: mov w4, w0 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L2068 + tbz x0, 4, .L2032 ldr x0, [x29,120] mov w3, w4 mov w1, w20 @@ -12984,35 +12723,35 @@ samsung_read_retrial: str x4, [x29,112] bl printk ldr x4, [x29,112] -.L2068: +.L2032: cmn w4, #1 - beq .L2069 + beq .L2033 adrp x0, .LANCHOR5 cmn w27, #1 add x0, x0, :lo12:.LANCHOR5 csel w27, w27, w4, ne - ldr x25, [x0,208] - ldr x26, [x0,224] + ldr x25, [x0,296] + ldr x26, [x0,312] add x0, x21, :lo12:.LANCHOR0 - ldrb w0, [x0,1236] + ldrb w0, [x0,1244] add w0, w0, w0, lsl 1 cmp w4, w0, lsr 2 - bcc .L2077 -.L2069: + bcc .L2041 +.L2033: add w20, w20, 1 add x28, x28, 4 cmp w20, 26 - bne .L2072 - b .L2071 -.L2077: + bne .L2036 + b .L2035 +.L2041: mov w27, w4 -.L2071: +.L2035: ldr x0, [x29,128] add x19, x24, x0 mov w0, 239 str w0, [x19,2056] mov w0, 137 -.L2098: +.L2062: str w0, [x19,2052] add x21, x21, :lo12:.LANCHOR0 str wzr, [x19,2048] @@ -13020,27 +12759,27 @@ samsung_read_retrial: str wzr, [x19,2048] str wzr, [x19,2048] bl nandc_wait_flash_ready - ldrb w0, [x21,1236] + ldrb w0, [x21,1244] add w0, w0, w0, lsl 1 cmp w27, w0, lsr 2 - bcc .L2073 + bcc .L2037 cmn w27, #1 mov w0, 256 csel w27, w27, w0, eq -.L2073: +.L2037: cmn w27, #1 - beq .L2078 + beq .L2042 cmp w27, 256 - bne .L2074 -.L2078: - adrp x0, .LC162 + bne .L2038 +.L2042: + adrp x0, .LC159 mov w1, w20 - add x0, x0, :lo12:.LC162 + add x0, x0, :lo12:.LC159 mov w2, w22 mov w3, w20 mov w4, w27 bl printk -.L2074: +.L2038: bl nandc_wait_flash_ready mov w0, w27 ldp x19, x20, [sp,16] @@ -13067,7 +12806,7 @@ hynix_read_retrial: stp x23, x24, [sp,48] mov x25, x2 mov w23, w1 - ldr x5, [x0,1240] + ldr x5, [x0,1128] mov x26, x3 str w4, [x29,124] mov x21, x22 @@ -13083,9 +12822,9 @@ hynix_read_retrial: bl zftl_flash_exit_slc_mode mov w6, 0 adrp x7, .LANCHOR5 -.L2100: +.L2064: cmp w6, w24 - bcs .L2104 + bcs .L2068 add w20, w20, 1 mov w0, w21 str x7, [x29,104] @@ -13104,47 +12843,47 @@ hynix_read_retrial: cmn w0, #1 ldr x6, [x29,112] ldr x7, [x29,104] - beq .L2102 + beq .L2066 add x1, x7, :lo12:.LANCHOR5 cmn w19, #1 csel w19, w19, w0, ne - ldr x25, [x1,208] - ldr x26, [x1,224] + ldr x25, [x1,296] + ldr x26, [x1,312] add x1, x28, :lo12:.LANCHOR0 - ldrb w1, [x1,1236] + ldrb w1, [x1,1244] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - bcc .L2109 -.L2102: + bcc .L2073 +.L2066: add w6, w6, 1 - b .L2100 -.L2109: + b .L2064 +.L2073: mov w19, w0 -.L2104: +.L2068: add x28, x28, :lo12:.LANCHOR0 add x22, x27, x22 - ldrb w0, [x28,1236] + ldrb w0, [x28,1244] strb w20, [x22,8] add w0, w0, w0, lsl 1 cmp w19, w0, lsr 2 - bcc .L2106 + bcc .L2070 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L2106: +.L2070: cmn w19, #1 - beq .L2110 + beq .L2074 cmp w19, 256 - bne .L2107 -.L2110: - adrp x0, .LC163 + bne .L2071 +.L2074: + adrp x0, .LC160 mov w1, w6 - add x0, x0, :lo12:.LC163 + add x0, x0, :lo12:.LC160 mov w2, w23 mov w3, w6 mov w4, w19 bl printk -.L2107: +.L2071: bl nandc_wait_flash_ready mov w0, w19 ldp x19, x20, [sp,16] @@ -13174,16 +12913,16 @@ flash_ddr_tuning_read: bl nandc_get_ddr_para mov w27, 0 str w0, [x29,116] - adrp x0, .LC164 + adrp x0, .LC161 str w27, [x29,124] - add x0, x0, :lo12:.LC164 + add x0, x0, :lo12:.LC161 mov w25, w27 mov w28, w27 mov w19, 1024 mov w26, 6 mov w21, -1 str x0, [x29,104] -.L2125: +.L2089: mov w0, w26 bl nandc_set_ddr_para ldr w4, [x29,120] @@ -13195,7 +12934,7 @@ flash_ddr_tuning_read: mov w4, w0 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L2120 + tbz x0, 4, .L2084 ldr x0, [x29,104] mov w3, w4 mov w1, w26 @@ -13203,78 +12942,78 @@ flash_ddr_tuning_read: str x4, [x29,96] bl printk ldr x4, [x29,96] -.L2120: +.L2084: add w0, w19, 1 cmp w4, w0 - bhi .L2121 + bhi .L2085 adrp x0, .LANCHOR5 add x0, x0, :lo12:.LANCHOR5 - ldr x24, [x0,208] - ldr x23, [x0,224] + ldr x24, [x0,296] + ldr x23, [x0,312] adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 - ldrb w0, [x0,1236] + ldrb w0, [x0,1244] cmp w4, w0, lsr 2 - bcs .L2131 + bcs .L2095 add w28, w28, 1 cmp w28, 7 - bls .L2131 + bls .L2095 sub w27, w26, w28 mov w19, w4 mov w21, 0 - b .L2123 -.L2121: + b .L2087 +.L2085: cmp w25, w28 - bcs .L2132 + bcs .L2096 sub w0, w27, w28 cmp w28, 7 str w0, [x29,124] - bhi .L2124 + bhi .L2088 mov w25, w28 - b .L2132 -.L2131: + b .L2096 +.L2095: mov w27, w26 mov w19, w4 mov w21, 0 - b .L2122 -.L2132: + b .L2086 +.L2096: mov w28, 0 -.L2122: +.L2086: add w26, w26, 2 cmp w26, 50 - bne .L2125 -.L2123: + bne .L2089 +.L2087: ldr w0, [x29,124] cmp w25, w28 csel w27, w27, w0, ls -.L2124: - cbz w27, .L2126 - adrp x0, .LANCHOR0+1236 +.L2088: + cbz w27, .L2090 + adrp x0, .LANCHOR0+1244 mov w1, 3 - ldrb w0, [x0,#:lo12:.LANCHOR0+1236] + ldrb w0, [x0,#:lo12:.LANCHOR0+1244] udiv w0, w0, w1 cmp w19, w0 - bcs .L2126 - adrp x0, .LC165 + bcs .L2090 + adrp x0, .LC162 mov w1, w27 - add x0, x0, :lo12:.LC165 + add x0, x0, :lo12:.LC162 bl printk mov w0, w27 - b .L2144 -.L2126: + b .L2108 +.L2090: ldrb w0, [x29,116] -.L2144: +.L2108: bl nandc_set_ddr_para - cbz w21, .L2128 + cbz w21, .L2092 adrp x0, .LANCHOR0 add x27, x0, :lo12:.LANCHOR0 mov x26, x0 ldrb w1, [x27,1304] - tbz x1, 0, .L2128 - adrp x0, .LC166 + tbz x1, 0, .L2092 + adrp x0, .LC163 mov w2, w22 mov w1, w20 - add x0, x0, :lo12:.LC166 + add x0, x0, :lo12:.LC163 bl printk mov w0, w20 bl flash_reset @@ -13294,33 +13033,33 @@ flash_ddr_tuning_read: mov w0, w20 bl flash_read_page mov w19, w0 - adrp x0, .LC167 + adrp x0, .LC164 mov w1, w20 - add x0, x0, :lo12:.LC167 + add x0, x0, :lo12:.LC164 mov w2, w22 mov w3, w19 bl printk - ldrb w0, [x27,1236] + ldrb w0, [x27,1244] cmp w19, w0 - bhi .L2133 + bhi .L2097 adrp x1, .LANCHOR5 add x1, x1, :lo12:.LANCHOR5 - ldr w0, [x1,236] + ldr w0, [x1,324] add w0, w0, 1 - str w0, [x1,236] + str w0, [x1,324] cmp w0, 100 - bls .L2129 - strb wzr, [x27,1184] - b .L2128 -.L2133: + bls .L2093 + strb wzr, [x27,1192] + b .L2092 +.L2097: mov w19, w21 -.L2129: +.L2093: add x20, x26, :lo12:.LANCHOR0 ldrb w0, [x20,1304] bl flash_set_interface_mode ldrb w0, [x20,1304] bl nandc_set_if_mode -.L2128: +.L2092: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -13346,60 +13085,60 @@ flash_read_page_en: stp x21, x22, [sp,32] mov x24, x2 mov x23, x3 - ldrb w0, [x0,1145] + ldrb w0, [x0,1153] mov w22, w4 cmp w0, w25 - bhi .L2146 + bhi .L2110 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 428 - add x1, x1, 296 + mov w2, 431 + add x1, x1, 272 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L2146: +.L2110: add x0, x20, :lo12:.LANCHOR0 add x1, x0, x25, sxtw ldrb w21, [x1,1248] - ldrb w4, [x0,1145] + ldrb w4, [x0,1153] cmp w25, w4 - bcc .L2147 + bcc .L2111 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 6, .L2173 - adrp x0, .LC168 + tbz x0, 6, .L2137 + adrp x0, .LC165 mov w1, w21 - add x0, x0, :lo12:.LC168 + add x0, x0, :lo12:.LC165 mov w2, w25 mov w3, w19 bl printk -.L2173: +.L2137: mov w0, -1 - b .L2172 -.L2147: + b .L2136 +.L2111: ubfx x1, x19, 24, 2 - cbnz w1, .L2150 + cbnz w1, .L2114 adrp x1, .LANCHOR0 ldrb w1, [x1,#:lo12:.LANCHOR0] - cbz w1, .L2151 + cbz w1, .L2115 ldrb w0, [x0,1] - cbz w0, .L2150 -.L2151: + cbz w0, .L2114 +.L2115: add x1, x20, :lo12:.LANCHOR0 ldrh w2, [x1,2] udiv w0, w19, w2 mul w0, w0, w2 ldrb w2, [x1,1] sub w19, w19, w0 - cbz w2, .L2152 + cbz w2, .L2116 add w19, w0, w19, lsl 1 - b .L2150 -.L2152: + b .L2114 +.L2116: add x1, x1, 4 ldrh w19, [x1,w19,uxtw 1] add w19, w19, w0 -.L2150: +.L2114: mov w0, w21 mov w1, w19 mov x2, x24 @@ -13407,28 +13146,28 @@ flash_read_page_en: mov w4, w22 bl flash_read_page cmn w0, #1 - bne .L2172 + bne .L2136 add x25, x20, :lo12:.LANCHOR0 - ldrb w26, [x25,1232] - cbnz w26, .L2154 -.L2157: - adrp x0, .LANCHOR5+240 - ldr x5, [x0,#:lo12:.LANCHOR5+240] - cbnz x5, .L2155 - b .L2156 -.L2154: + ldrb w26, [x25,1240] + cbnz w26, .L2118 +.L2121: + adrp x0, .LANCHOR5+328 + ldr x5, [x0,#:lo12:.LANCHOR5+328] + cbnz x5, .L2119 + b .L2120 +.L2118: mov w0, w21 mov w1, w19 mov x2, x24 mov x3, x23 mov w4, w22 - strb wzr, [x25,1232] + strb wzr, [x25,1240] bl flash_read_page - strb w26, [x25,1232] + strb w26, [x25,1240] cmn w0, #1 - beq .L2157 - b .L2172 -.L2155: + beq .L2121 + b .L2136 +.L2119: mov w0, w21 mov w1, w19 mov x2, x24 @@ -13436,25 +13175,25 @@ flash_read_page_en: mov w4, w22 blr x5 cmn w0, #1 - bne .L2172 -.L2156: + bne .L2136 +.L2120: add x20, x20, :lo12:.LANCHOR0 - adrp x0, .LC169 - add x0, x0, :lo12:.LC169 + adrp x0, .LC166 + add x0, x0, :lo12:.LC166 mov w1, 0 mov w2, w19 mov w3, -1 - ldrb w4, [x20,1232] + ldrb w4, [x20,1240] bl printk - ldrb w0, [x20,1184] - cbz w0, .L2173 + ldrb w0, [x20,1192] + cbz w0, .L2137 mov w0, w21 mov w1, w19 mov x2, x24 mov x3, x23 mov w4, w22 bl flash_ddr_tuning_read -.L2172: +.L2136: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -13470,11 +13209,11 @@ flash_get_last_written_page: add x29, sp, 0 stp x23, x24, [sp,48] uxtb w23, w0 - adrp x0, .LANCHOR5+92 + adrp x0, .LANCHOR5+180 stp x19, x20, [sp,16] adrp x20, .LANCHOR2 mov x24, x2 - ldrh w19, [x0,#:lo12:.LANCHOR5+92] + ldrh w19, [x0,#:lo12:.LANCHOR5+180] add x0, x20, :lo12:.LANCHOR2 stp x21, x22, [sp,32] stp x25, x26, [sp,64] @@ -13491,12 +13230,12 @@ flash_get_last_written_page: add w1, w26, w19 bl flash_read_page_en cmp w0, 512 - bne .L2175 + bne .L2139 mov w28, 0 mov w5, 2 -.L2176: +.L2140: cmp w28, w19 - bgt .L2175 + bgt .L2139 add w0, w28, w19 mov x2, x24 mov x3, x21 @@ -13508,24 +13247,24 @@ flash_get_last_written_page: bl flash_read_page_en cmp w0, 512 ldr x5, [x29,104] - bne .L2177 + bne .L2141 sub w19, w20, #1 sxth w19, w19 - b .L2176 -.L2177: + b .L2140 +.L2141: add w20, w20, 1 sxth w28, w20 - b .L2176 -.L2175: + b .L2140 +.L2139: ldr w0, [x27,#:lo12:.LANCHOR2] - tbz x0, 12, .L2180 - adrp x0, .LC170 + tbz x0, 12, .L2144 + adrp x0, .LC167 ldr w3, [x21] - add x0, x0, :lo12:.LC170 + add x0, x0, :lo12:.LC167 mov w1, w22 mov w2, w19 bl printk -.L2180: +.L2144: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -13550,9 +13289,9 @@ flash_get_last_written_page_ext: mov w4, w3 mov x2, x8 sub w5, w5, w0 - adrp x0, .LANCHOR3+1232 + adrp x0, .LANCHOR3+1312 mov x3, x7 - ldrh w0, [x0,#:lo12:.LANCHOR3+1232] + ldrh w0, [x0,#:lo12:.LANCHOR3+1312] sub w0, w5, w0 mov w5, 1 lsl w5, w5, w0 @@ -13580,37 +13319,37 @@ flash_ddr_para_scan: mov w23, w1 ldrb w0, [x21,1304] add x20, x20, :lo12:.LANCHOR5 - strb w22, [x21,1184] + strb w22, [x21,1192] bl flash_set_interface_mode ldrb w0, [x21,1304] bl nandc_set_if_mode - ldr x2, [x20,248] + ldr x2, [x20,336] mov w1, w23 - ldr x3, [x20,256] + ldr x3, [x20,344] mov w4, 4 mov w0, w24 bl flash_ddr_tuning_read - ldr x2, [x20,248] + ldr x2, [x20,336] mov w0, w24 - ldr x3, [x20,256] + ldr x3, [x20,344] mov w1, w23 mov w4, 4 bl flash_read_page cmn w0, #1 - bne .L2186 + bne .L2150 ldrb w0, [x21,1304] - tbz x0, 0, .L2186 + tbz x0, 0, .L2150 mov w0, 1 bl flash_set_interface_mode mov w0, w22 bl nandc_set_if_mode - strb wzr, [x21,1184] - b .L2187 -.L2186: + strb wzr, [x21,1192] + b .L2151 +.L2150: add x19, x19, :lo12:.LANCHOR0 mov w0, 1 - strb w0, [x19,1184] -.L2187: + strb w0, [x19,1192] +.L2151: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -13622,56 +13361,46 @@ flash_ddr_para_scan: .global flash_prog_page .type flash_prog_page, %function flash_prog_page: - stp x29, x30, [sp, -96]! + stp x29, x30, [sp, -80]! + mov w5, 1 add x29, sp, 0 - stp x23, x24, [sp,48] - adrp x23, .LANCHOR0 - uxtb x24, w0 - add x0, x23, :lo12:.LANCHOR0 - stp x21, x22, [sp,32] stp x25, x26, [sp,64] - stp x27, x28, [sp,80] + adrp x26, .LANCHOR0 + mov x25, x2 + stp x21, x22, [sp,32] + uxtb x22, w0 + add x0, x26, :lo12:.LANCHOR0 + stp x23, x24, [sp,48] stp x19, x20, [sp,16] - adrp x22, .LANCHOR2 - mov x21, x24 + mov w23, w1 + mov w1, 24 ldrb w19, [x0,1257] - add x24, x24, 8 + mov x21, x22 + mov x24, x3 ldr x20, [x0,1048] - mov w0, 24 - sub w19, w0, w19 - mov w0, 1 - lsl w19, w0, w19 - ldr w0, [x22,#:lo12:.LANCHOR2] - mov w25, w1 - sub w19, w19, #1 - mov x26, x3 - mov x27, x2 - mov w3, w4 - add x24, x20, x24, lsl 8 - and w19, w1, w19 - ubfx x28, x25, 24, 2 - tbz x0, 4, .L2192 - adrp x0, .LC171 - mov w2, w28 - add x0, x0, :lo12:.LC171 - bl printk -.L2192: + sub w19, w1, w19 + add x22, x22, 8 + lsl w19, w5, w19 bl nandc_wait_flash_ready mov w0, w21 + sub w19, w19, #1 + add x22, x20, x22, lsl 8 + and w19, w19, w23 bl hynix_reconfig_rr_para mov w0, w21 bl nandc_cs + ubfx x0, x23, 24, 2 + cbnz w0, .L2156 mov w0, w21 - cbnz w28, .L2193 bl zftl_flash_enter_slc_mode - b .L2194 -.L2193: + b .L2157 +.L2156: + mov w0, w21 bl zftl_flash_exit_slc_mode -.L2194: - ubfiz x5, x21, 8, 8 +.L2157: + ubfiz x0, x21, 8, 8 + add x20, x20, x0 mov w0, 128 - add x20, x20, x5 - add x23, x23, :lo12:.LANCHOR0 str w0, [x20,2056] and w0, w19, 255 str wzr, [x20,2052] @@ -13681,44 +13410,44 @@ flash_prog_page: str w0, [x20,2052] lsr w0, w19, 16 str w0, [x20,2052] - ldrb w0, [x23,1256] - cbz w0, .L2195 + add x0, x26, :lo12:.LANCHOR0 + ldrb w0, [x0,1256] + cbz w0, .L2158 lsr w0, w19, 24 str w0, [x20,2052] -.L2195: +.L2158: mov w0, w19 - add x22, x22, :lo12:.LANCHOR2 bl nandc_set_seed - ldrb w2, [x22,17] + adrp x2, .LANCHOR2+17 mov w1, 1 - mov x3, x27 - mov x4, x26 + mov x3, x25 + mov x4, x24 mov w0, w21 + ldrb w2, [x2,#:lo12:.LANCHOR2+17] bl nandc_xfer mov w0, 16 str w0, [x20,2056] bl nandc_iqr_wait_flash_ready bl nandc_wait_flash_ready - mov x0, x24 + mov x0, x22 bl flash_read_status mov w19, w0 mov w0, w21 bl nandc_de_cs and w2, w19, 4 - tbz x19, 2, .L2196 - adrp x0, .LC172 - mov w1, w25 - add x0, x0, :lo12:.LC172 + tbz x19, 2, .L2159 + adrp x0, .LC168 + mov w1, w23 + add x0, x0, :lo12:.LC168 bl printk mov w2, -1 -.L2196: +.L2159: mov w0, w2 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] ldp x25, x26, [sp,64] - ldp x27, x28, [sp,80] - ldp x29, x30, [sp], 96 + ldp x29, x30, [sp], 80 ret .size flash_prog_page, .-flash_prog_page .align 2 @@ -13735,9 +13464,9 @@ flash_test_blk: mov w1, 165 stp x21, x22, [sp,32] uxtb w22, w0 - ldr x0, [x19,208] + ldr x0, [x19,296] bl ftl_memset - ldr x0, [x19,224] + ldr x0, [x19,312] mov w1, 90 mov w2, 8 bl ftl_memset @@ -13748,43 +13477,43 @@ flash_test_blk: mov w1, w20 bl flash_erase_block cmn w0, #1 - bne .L2207 -.L2209: + bne .L2167 +.L2169: mov w19, -1 - b .L2208 -.L2207: + b .L2168 +.L2167: adrp x21, .LANCHOR2 - ldr x2, [x19,208] + ldr x2, [x19,296] add x21, x21, :lo12:.LANCHOR2 - ldr x3, [x19,224] + ldr x3, [x19,312] mov w0, w22 mov w1, w20 add x21, x21, 8 ldrb w4, [x21,9] bl flash_prog_page cmn w0, #1 - beq .L2209 - ldr x2, [x19,208] + beq .L2169 + ldr x2, [x19,296] mov w0, w22 - ldr x3, [x19,224] + ldr x3, [x19,312] mov w1, w20 ldrb w4, [x21,9] bl flash_read_page_en cmn w0, #1 - beq .L2209 - ldr x0, [x19,208] + beq .L2169 + ldr x0, [x19,296] ldr w1, [x0] mov w0, 42405 bfi w0, w0, 16, 16 cmp w1, w0 - bne .L2209 - ldr x0, [x19,224] + bne .L2169 + ldr x0, [x19,312] ldr w1, [x0] mov w0, 23130 bfi w0, w0, 16, 16 cmp w1, w0 csetm w19, ne -.L2208: +.L2168: mov w1, w20 mov w0, w22 bl flash_erase_block @@ -13815,12 +13544,12 @@ flash_start_one_pass_page_prog: mov x24, x5 mov x23, x6 bl nandc_cs - cbz w26, .L2217 + cbz w26, .L2177 sxtw x1, w25 add x1, x1, 8 add x1, x19, x1, lsl 8 str w26, [x1,8] -.L2217: +.L2177: ubfiz x1, x25, 8, 8 mov w0, 128 add x19, x19, x1 @@ -13835,10 +13564,10 @@ flash_start_one_pass_page_prog: lsr w0, w21, 16 str w0, [x19,2052] ldrb w0, [x20,1256] - cbz w0, .L2218 + cbz w0, .L2178 lsr w0, w21, 24 str w0, [x19,2052] -.L2218: +.L2178: mov w0, w21 bl nandc_set_seed adrp x2, .LANCHOR2+17 @@ -13890,22 +13619,22 @@ flash_dual_page_prog: add x21, x2, x21, lsl 8 and w19, w1, w19 ubfx x28, x22, 24, 2 - tbz x0, 4, .L2226 - adrp x0, .LC171 + tbz x0, 4, .L2186 + adrp x0, .LC169 mov w2, w28 - add x0, x0, :lo12:.LC171 + add x0, x0, :lo12:.LC169 bl printk -.L2226: +.L2186: bl nandc_wait_flash_ready mov w0, w20 bl nandc_cs mov w0, w20 - cbnz w28, .L2227 + cbnz w28, .L2187 bl zftl_flash_enter_slc_mode - b .L2228 -.L2227: + b .L2188 +.L2187: bl zftl_flash_exit_slc_mode -.L2228: +.L2188: mov w0, 0 mov w4, w19 mov w1, w0 @@ -13930,16 +13659,16 @@ flash_dual_page_prog: mov w0, w20 bl nandc_de_cs and w2, w19, 4 - tbz x19, 2, .L2229 + tbz x19, 2, .L2189 ldr w0, [x27,#:lo12:.LANCHOR2] - tbz x0, 12, .L2230 - adrp x0, .LC172 + tbz x0, 12, .L2190 + adrp x0, .LC168 mov w1, w22 - add x0, x0, :lo12:.LC172 + add x0, x0, :lo12:.LC168 bl printk -.L2230: +.L2190: mov w2, -1 -.L2229: +.L2189: mov w0, w2 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -14015,17 +13744,17 @@ ymtc_flash_tlc_page_prog: mov w0, w20 bl nandc_de_cs and w2, w19, 4 - tbz x19, 2, .L2238 + tbz x19, 2, .L2198 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L2239 - adrp x0, .LC173 + tbz x0, 12, .L2199 + adrp x0, .LC170 mov w1, w25 - add x0, x0, :lo12:.LC173 + add x0, x0, :lo12:.LC170 bl printk -.L2239: +.L2199: mov w2, -1 -.L2238: +.L2198: mov w0, w2 ldr x25, [sp,64] ldp x19, x20, [sp,16] @@ -14036,8 +13765,8 @@ ymtc_flash_tlc_page_prog: .size ymtc_flash_tlc_page_prog, .-ymtc_flash_tlc_page_prog .section .text.unlikely .align 2 - .type fw_flash_page_prog.constprop.31, %function -fw_flash_page_prog.constprop.31: + .type fw_flash_page_prog.constprop.30, %function +fw_flash_page_prog.constprop.30: stp x29, x30, [sp, -80]! add x29, sp, 0 stp x19, x20, [sp,16] @@ -14047,11 +13776,11 @@ fw_flash_page_prog.constprop.31: str x2, [x29,72] stp x21, x22, [sp,32] mov x22, x1 - ldr x1, [x19,1136] - ldrb w21, [x19,1236] + ldr x1, [x19,1144] + ldrb w21, [x19,1244] ldrb w20, [x1,9] udiv w20, w0, w20 - ldrb w0, [x19,1144] + ldrb w0, [x19,1152] bl nandc_bch_sel adrp x4, .LANCHOR2 ldr x3, [x29,72] @@ -14059,26 +13788,26 @@ fw_flash_page_prog.constprop.31: add x4, x4, 8 ldrb w0, [x4,7] cmp w0, 9 - bne .L2244 - ldrb w23, [x19,1146] - cbnz w23, .L2244 + bne .L2204 + ldrb w23, [x19,1154] + cbnz w23, .L2204 ldrb w0, [x4,12] cmp w0, 3 - bne .L2245 + bne .L2205 mov w0, w23 mov w1, w20 mov x2, x22 bl ymtc_flash_tlc_page_prog - b .L2247 -.L2245: + b .L2207 +.L2205: adrp x19, .LANCHOR5 mov w1, 255 add x19, x19, :lo12:.LANCHOR5 mov w2, 16384 str x3, [x29,72] - ldr x0, [x19,208] + ldr x0, [x19,296] bl ftl_memset - ldr x4, [x19,208] + ldr x4, [x19,296] mov w0, w23 ldr x3, [x29,72] mov w1, w20 @@ -14086,14 +13815,14 @@ fw_flash_page_prog.constprop.31: mov x5, x4 mov w6, 4 bl flash_dual_page_prog - b .L2247 -.L2244: + b .L2207 +.L2204: mov w0, 0 mov w1, w20 mov x2, x22 mov w4, 4 bl flash_prog_page -.L2247: +.L2207: mov w19, w0 mov w0, w21 bl nandc_bch_sel @@ -14103,7 +13832,7 @@ fw_flash_page_prog.constprop.31: ldp x21, x22, [sp,32] ldp x29, x30, [sp], 80 ret - .size fw_flash_page_prog.constprop.31, .-fw_flash_page_prog.constprop.31 + .size fw_flash_page_prog.constprop.30, .-fw_flash_page_prog.constprop.30 .text .align 2 .global flash_start_tlc_page_prog @@ -14120,38 +13849,38 @@ flash_start_tlc_page_prog: stp x23, x24, [sp,48] uxtb w25, w3 uxtb w21, w1 - ldrb w0, [x0,1145] + ldrb w0, [x0,1153] uxtb w22, w2 mov w20, w4 mov x24, x5 cmp w0, w25 mov x23, x6 mov x19, x7 - bhi .L2249 + bhi .L2209 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 859 - add x1, x1, 320 + mov w2, 868 + add x1, x1, 296 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L2249: +.L2209: add x7, x19, :lo12:.LANCHOR0 - ldrb w0, [x7,1145] + ldrb w0, [x7,1153] cmp w0, w25 - bls .L2248 + bls .L2208 add x25, x7, x25, sxtw ldrb w25, [x25,1248] ldr x19, [x7,1048] mov w0, w25 bl nandc_cs - cbz w26, .L2251 + cbz w26, .L2211 sxtw x0, w25 add x0, x0, 8 add x0, x19, x0, lsl 8 str w26, [x0,8] -.L2251: +.L2211: ubfiz x7, x25, 8, 8 mov w0, 128 add x19, x19, x7 @@ -14179,7 +13908,7 @@ flash_start_tlc_page_prog: str w22, [x19,2056] mov w0, w25 bl nandc_de_cs -.L2248: +.L2208: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -14214,7 +13943,7 @@ queue_tlc_prog_cmd: lsr w2, w2, w1 and w19, w19, w2 uxtb w19, w19 - cbz w0, .L2256 + cbz w0, .L2216 mov w0, w19 bl zftl_flash_exit_slc_mode ldr x6, [x20] @@ -14248,8 +13977,8 @@ queue_tlc_prog_cmd: ldr x5, [x6,8] ldr x6, [x6,24] bl flash_start_one_pass_page_prog - b .L2257 -.L2256: + b .L2217 +.L2216: ldr x5, [x6,8] mov w1, w21 ldrb w0, [x6,60] @@ -14282,8 +14011,8 @@ queue_tlc_prog_cmd: ldrb w0, [x0,60] ldr x6, [x6,24] bl flash_start_tlc_page_prog -.L2257: - cbz w24, .L2255 +.L2217: + cbz w24, .L2215 ldr x1, [x20] mov w0, 4 strb w0, [x1,58] @@ -14294,7 +14023,7 @@ queue_tlc_prog_cmd: add x0, x23, :lo12:.LANCHOR0 add x0, x0, 3363 bl buf_add_tail -.L2255: +.L2215: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -14327,7 +14056,7 @@ sblk_3d_tlc_dump_prog: lsr w0, w0, w3 and w20, w20, w0 uxtb w20, w20 - cbz w23, .L2263 + cbz w23, .L2223 mov w0, w20 bl zftl_flash_exit_slc_mode ldr x5, [x19,8] @@ -14358,8 +14087,8 @@ sblk_3d_tlc_dump_prog: mov w3, w20 add w4, w21, 2 bl flash_start_one_pass_page_prog - b .L2264 -.L2263: + b .L2224 +.L2223: ldr x5, [x19,8] mov w1, w22 ldr x6, [x19,24] @@ -14388,7 +14117,7 @@ sblk_3d_tlc_dump_prog: mov w3, w20 mov w4, w21 bl flash_start_tlc_page_prog -.L2264: +.L2224: bl nandc_iqr_wait_flash_ready bl nandc_wait_flash_ready ldr w0, [x19,40] @@ -14413,15 +14142,15 @@ flash_start_3d_mlc_page_prog: stp x19, x20, [sp,16] uxtb w20, w1 mov w21, w2 - ldrb w0, [x0,1145] + ldrb w0, [x0,1153] mov x19, x5 cmp w0, w20 - bhi .L2266 + bhi .L2226 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 892 - add x1, x1, 352 + mov w2, 903 + add x1, x1, 328 add x0, x0, :lo12:.LC0 str x4, [x29,48] str x3, [x29,56] @@ -14429,11 +14158,11 @@ flash_start_3d_mlc_page_prog: bl dump_stack ldr x4, [x29,48] ldr x3, [x29,56] -.L2266: +.L2226: add x5, x19, :lo12:.LANCHOR0 - ldrb w0, [x5,1145] + ldrb w0, [x5,1153] cmp w0, w20 - bls .L2265 + bls .L2225 add x20, x5, x20, sxtw ldrb w20, [x20,1248] ldr x19, [x5,1048] @@ -14463,7 +14192,7 @@ flash_start_3d_mlc_page_prog: ldrb w2, [x2,#:lo12:.LANCHOR2+17] bl nandc_xfer str w22, [x19,2056] -.L2265: +.L2225: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 64 @@ -14496,14 +14225,14 @@ sblk_mlc_dump_prog: bl zftl_flash_exit_slc_mode adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L2269 + tbz x0, 12, .L2229 ldr w2, [x20,40] - adrp x0, .LC174 - add x0, x0, :lo12:.LC174 + adrp x0, .LC171 + add x0, x0, :lo12:.LC171 mov w1, w21 add w3, w2, 1 bl printk -.L2269: +.L2229: ldr x3, [x20,8] mov w1, w19 ldr x4, [x20,24] @@ -14551,7 +14280,7 @@ flash_start_page_prog: mov w24, w1 ldrb w20, [x0,1257] mov x23, x2 - ldrb w0, [x0,1145] + ldrb w0, [x0,1153] mov x22, x3 sub w19, w19, w20 lsl w20, w5, w20 @@ -14560,20 +14289,20 @@ flash_start_page_prog: and w20, w1, w20 uxtb w20, w20 cmp w0, w20 - bhi .L2274 + bhi .L2234 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 945 - add x1, x1, 384 + mov w2, 956 + add x1, x1, 360 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L2274: +.L2234: add x28, x25, :lo12:.LANCHOR0 - ldrb w0, [x28,1145] + ldrb w0, [x28,1153] cmp w0, w20 - bls .L2273 + bls .L2233 mov w0, 1 ldr x27, [x28,1048] lsl w19, w0, w19 @@ -14582,36 +14311,36 @@ flash_start_page_prog: and w19, w24, w19 ldrb w26, [x0,1248] bl nandc_rdy_status - cbnz w0, .L2276 - ldrb w0, [x28,1145] + cbnz w0, .L2236 + ldrb w0, [x28,1153] cmp w0, 1 - bne .L2277 + bne .L2237 bl nandc_wait_flash_ready - b .L2276 -.L2277: + b .L2236 +.L2237: mov w0, w20 mov w1, w19 mov w2, 64 bl flash_wait_device_ready_raw -.L2276: +.L2236: mov w0, w26 ubfx x24, x24, 24, 2 bl hynix_reconfig_rr_para mov w0, w26 bl nandc_cs - cbnz w24, .L2278 + cbnz w24, .L2238 mov w0, w19 bl slc_phy_page_address_calc mov w19, w0 ldrb w0, [x25,#:lo12:.LANCHOR0] - cbz w0, .L2279 + cbz w0, .L2239 mov w0, w26 bl zftl_flash_enter_slc_mode - b .L2279 -.L2278: + b .L2239 +.L2238: mov w0, w26 bl zftl_flash_exit_slc_mode -.L2279: +.L2239: ubfiz x1, x26, 8, 8 mov w0, 128 add x20, x27, x1 @@ -14626,10 +14355,10 @@ flash_start_page_prog: lsr w0, w19, 16 str w0, [x20,2052] ldrb w0, [x25,1256] - cbz w0, .L2280 + cbz w0, .L2240 lsr w0, w19, 24 str w0, [x20,2052] -.L2280: +.L2240: mov w0, w19 bl nandc_set_seed adrp x2, .LANCHOR2+17 @@ -14642,7 +14371,7 @@ flash_start_page_prog: str w21, [x20,2056] mov w0, w26 bl nandc_de_cs -.L2273: +.L2233: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -14668,7 +14397,7 @@ queue_prog_cmd: add x3, x0, :lo12:.LANCHOR0 ldrb w2, [x3,3363] cmp w2, 255 - beq .L2288 + beq .L2248 ldrb w5, [x3,1257] mov w1, 1 mov w7, 24 @@ -14679,26 +14408,26 @@ queue_prog_cmd: asr w4, w4, w7 uxth w1, w1 and w4, w1, w4 -.L2290: +.L2250: add x5, x3, x2, lsl 6 ldr w6, [x5,40] lsr w6, w6, w7 and w6, w1, w6 cmp w4, w6 - bne .L2289 + bne .L2249 ldrb w6, [x5,58] add x5, x5, 48 cmp w6, 7 - bne .L2289 + bne .L2249 mov w1, 3 strb w1, [x5,10] - b .L2288 -.L2289: + b .L2248 +.L2249: lsl x2, x2, 6 ldrb w2, [x3,x2] cmp w2, 255 - bne .L2290 -.L2288: + bne .L2250 +.L2248: mov w1, 3 strb w1, [x19,58] mov w1, 1 @@ -14731,7 +14460,7 @@ flash_complete_plane_page_read: ldrb w20, [x0,1257] mov w1, 1 mov x21, x2 - ldrb w0, [x0,1145] + ldrb w0, [x0,1153] sub w19, w19, w20 lsl w20, w1, w20 lsr w2, w24, w19 @@ -14739,21 +14468,21 @@ flash_complete_plane_page_read: and w20, w2, w20 uxtb w20, w20 cmp w0, w20 - bhi .L2296 + bhi .L2256 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 1055 - add x1, x1, 408 + mov w2, 1070 + add x1, x1, 384 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L2296: +.L2256: add x3, x23, :lo12:.LANCHOR0 mov w0, -1 - ldrb w1, [x3,1145] + ldrb w1, [x3,1153] cmp w1, w20 - bls .L2297 + bls .L2257 mov w2, 1 add x20, x3, x20, sxtw ldrb w20, [x20,1248] @@ -14764,76 +14493,76 @@ flash_complete_plane_page_read: and w19, w19, w24 ldr x24, [x3,1048] bl nandc_cs - cbnz w25, .L2298 + cbnz w25, .L2258 mov w0, w19 bl slc_phy_page_address_calc mov w19, w0 -.L2298: +.L2258: add x7, x23, :lo12:.LANCHOR0 uxtb x5, w20 and w6, w19, 255 lsr w4, w19, 8 lsr w3, w19, 16 - ldrb w0, [x7,1168] + ldrb w0, [x7,1176] ldrb w2, [x7,1256] cmp w0, 1 - bne .L2299 + bne .L2259 add x5, x24, x5, lsl 8 mov w0, 6 - b .L2327 -.L2299: - ldr x0, [x7,1136] + b .L2287 +.L2259: + ldr x0, [x7,1144] add x5, x24, x5, lsl 8 ldrb w0, [x0,12] cmp w0, 3 - bne .L2302 + bne .L2262 mov w0, 5 -.L2327: +.L2287: str w0, [x5,2056] str wzr, [x5,2052] str wzr, [x5,2052] str w6, [x5,2052] str w4, [x5,2052] str w3, [x5,2052] - cbz w2, .L2323 + cbz w2, .L2283 lsr w0, w19, 24 str w0, [x5,2052] - b .L2323 -.L2302: + b .L2283 +.L2262: str wzr, [x5,2056] str wzr, [x5,2052] str wzr, [x5,2052] str w6, [x5,2052] str w4, [x5,2052] str w3, [x5,2052] - cbz w2, .L2304 + cbz w2, .L2264 lsr w0, w19, 24 str w0, [x5,2052] -.L2304: +.L2264: mov w0, 5 str w0, [x5,2056] str wzr, [x5,2052] str wzr, [x5,2052] -.L2323: +.L2283: mov w0, 224 str w0, [x5,2056] - cbz w25, .L2305 + cbz w25, .L2265 add x23, x23, :lo12:.LANCHOR0 - ldr x0, [x23,1136] + ldr x0, [x23,1144] ldrb w0, [x0,12] cmp w0, 3 - bne .L2305 + bne .L2265 ldrb w0, [x23,1268] - cbnz w0, .L2305 + cbnz w0, .L2265 ldrb w0, [x23,1269] - cbnz w0, .L2305 + cbnz w0, .L2265 sub w1, w25, #1 add w0, w19, w19, lsl 1 add w0, w1, w0 - b .L2324 -.L2305: + b .L2284 +.L2265: mov w0, w19 -.L2324: +.L2284: bl nandc_set_seed adrp x2, .LANCHOR2+17 mov w1, 0 @@ -14846,7 +14575,7 @@ flash_complete_plane_page_read: mov w0, w20 bl nandc_de_cs mov w0, w19 -.L2297: +.L2257: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -14880,69 +14609,69 @@ flash_complete_page_read: lsr w20, w21, w0 sub w5, w5, #1 and w20, w20, w5 - ldrb w0, [x1,1145] + ldrb w0, [x1,1153] sub w19, w19, #1 uxtb w20, w20 and w19, w19, w21 cmp w0, w20 - bhi .L2329 + bhi .L2289 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 1212 - add x1, x1, 440 + mov w2, 1232 + add x1, x1, 416 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L2329: +.L2289: add x0, x24, :lo12:.LANCHOR0 add x20, x0, x20, sxtw ldrb w26, [x20,1248] - ldr x20, [x0,1048] + ldr x27, [x0,1048] mov w0, w26 bl nandc_cs - cbnz w25, .L2330 + cbnz w25, .L2290 mov w0, w19 bl slc_phy_page_address_calc mov w19, w0 -.L2330: - ubfiz x0, x26, 8, 8 - add x1, x20, x0 - mov w0, 5 +.L2290: adrp x20, .LANCHOR2 - str w0, [x1,2056] add x0, x20, :lo12:.LANCHOR2 - str wzr, [x1,2052] - str wzr, [x1,2052] ldrb w0, [x0,20] cmp w0, 3 - bne .L2331 + bne .L2291 + ubfiz x0, x26, 8, 8 + add x1, x27, x0 + mov w0, 5 + str w0, [x1,2056] and w0, w19, 255 + str wzr, [x1,2052] + str wzr, [x1,2052] str w0, [x1,2052] lsr w0, w19, 8 str w0, [x1,2052] lsr w0, w19, 16 str w0, [x1,2052] -.L2331: mov w0, 224 str w0, [x1,2056] - cbz w25, .L2332 +.L2291: + cbz w25, .L2292 add x0, x24, :lo12:.LANCHOR0 - ldr x1, [x0,1136] + ldr x1, [x0,1144] ldrb w1, [x1,12] cmp w1, 3 - bne .L2332 + bne .L2292 ldrb w1, [x0,1268] - cbnz w1, .L2332 + cbnz w1, .L2292 ldrb w0, [x0,1269] - cbnz w0, .L2332 + cbnz w0, .L2292 sub w0, w25, #1 add w1, w19, w19, lsl 1 add w0, w0, w1 - b .L2364 -.L2332: + b .L2324 +.L2292: mov w0, w19 -.L2364: +.L2324: add x27, x20, :lo12:.LANCHOR2 bl nandc_set_seed mov w0, w26 @@ -14953,29 +14682,29 @@ flash_complete_page_read: add x27, x27, 8 bl nandc_xfer cmn w0, #1 - bne .L2334 + bne .L2294 add x28, x24, :lo12:.LANCHOR0 - ldrb w5, [x28,1232] - cbz w5, .L2335 + ldrb w5, [x28,1240] + cbz w5, .L2295 ldrb w4, [x27,9] mov w0, w26 orr w1, w19, w25, lsl 24 mov x2, x22 mov x3, x23 str x5, [x29,104] - strb wzr, [x28,1232] + strb wzr, [x28,1240] bl flash_read_page ldr x5, [x29,104] - strb w5, [x28,1232] - cbnz w25, .L2336 -.L2343: + strb w5, [x28,1240] + cbnz w25, .L2296 +.L2303: ldrb w2, [x24,#:lo12:.LANCHOR0] add x1, x24, :lo12:.LANCHOR0 - cbz w2, .L2336 - ldrb w1, [x1,1236] + cbz w2, .L2296 + ldrb w1, [x1,1244] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - blt .L2336 + blt .L2296 add x20, x20, :lo12:.LANCHOR2 ldrb w1, [x20,27] sub w1, w1, #4 @@ -14983,28 +14712,28 @@ flash_complete_page_read: cmp w1, 4 mov w1, 256 csel w0, w0, w1, hi - b .L2351 -.L2336: + b .L2311 +.L2296: cmn w0, #1 - bne .L2351 -.L2344: - adrp x0, .LANCHOR5+240 - ldr x5, [x0,#:lo12:.LANCHOR5+240] - cbnz x5, .L2339 -.L2342: + bne .L2311 +.L2304: + adrp x0, .LANCHOR5+328 + ldr x5, [x0,#:lo12:.LANCHOR5+328] + cbnz x5, .L2299 +.L2302: add x24, x24, :lo12:.LANCHOR0 - adrp x0, .LC175 - add x0, x0, :lo12:.LC175 + adrp x0, .LC172 + add x0, x0, :lo12:.LC172 mov w1, 0 mov w2, w21 mov w3, -1 - ldrb w4, [x24,1232] + ldrb w4, [x24,1240] bl printk - ldrb w0, [x24,1184] - cbnz w0, .L2340 + ldrb w0, [x24,1192] + cbnz w0, .L2300 mov w0, -1 - b .L2351 -.L2339: + b .L2311 +.L2299: add x4, x20, :lo12:.LANCHOR2 mov w0, w26 orr w1, w19, w25, lsl 24 @@ -15013,9 +14742,9 @@ flash_complete_page_read: ldrb w4, [x4,17] blr x5 cmn w0, #1 - bne .L2351 - b .L2342 -.L2340: + bne .L2311 + b .L2302 +.L2300: add x20, x20, :lo12:.LANCHOR2 mov w0, w26 orr w1, w19, w25, lsl 24 @@ -15023,14 +14752,14 @@ flash_complete_page_read: mov x3, x23 ldrb w4, [x20,17] bl flash_ddr_tuning_read - b .L2351 -.L2334: - cbz w25, .L2343 - b .L2351 -.L2335: - cbz w25, .L2343 - b .L2344 -.L2351: + b .L2311 +.L2294: + cbz w25, .L2303 + b .L2311 +.L2295: + cbz w25, .L2303 + b .L2304 +.L2311: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -15053,56 +14782,53 @@ queue_wait_first_req_completed: stp x27, x28, [sp,80] ldrb w22, [x0,3363] cmp w22, 255 - beq .L2459 + beq .L2413 add x0, x0, 1312 mov w20, 0 add x0, x0, x22, lsl 6 ldrb w1, [x0,58] - ldr w24, [x0,40] + ldr w25, [x0,40] sub w2, w1, #1 cmp w2, 10 - bhi .L2367 - adrp x0, .L2369 - add x0, x0, :lo12:.L2369 + bhi .L2327 + adrp x0, .L2329 + add x0, x0, :lo12:.L2329 ldrh w0, [x0,w2,uxtw #1] - adr x2, .Lrtx2369 + adr x2, .Lrtx2329 add x0, x2, w0, sxth #2 br x0 -.Lrtx2369: +.Lrtx2329: .section .rodata .align 0 .align 2 -.L2369: - .2byte (.L2368 - .Lrtx2369) / 4 - .2byte (.L2370 - .Lrtx2369) / 4 - .2byte (.L2371 - .Lrtx2369) / 4 - .2byte (.L2371 - .Lrtx2369) / 4 - .2byte (.L2371 - .Lrtx2369) / 4 - .2byte (.L2371 - .Lrtx2369) / 4 - .2byte (.L2372 - .Lrtx2369) / 4 - .2byte (.L2373 - .Lrtx2369) / 4 - .2byte (.L2374 - .Lrtx2369) / 4 - .2byte (.L2371 - .Lrtx2369) / 4 - .2byte (.L2374 - .Lrtx2369) / 4 +.L2329: + .2byte (.L2328 - .Lrtx2329) / 4 + .2byte (.L2330 - .Lrtx2329) / 4 + .2byte (.L2331 - .Lrtx2329) / 4 + .2byte (.L2331 - .Lrtx2329) / 4 + .2byte (.L2331 - .Lrtx2329) / 4 + .2byte (.L2331 - .Lrtx2329) / 4 + .2byte (.L2332 - .Lrtx2329) / 4 + .2byte (.L2333 - .Lrtx2329) / 4 + .2byte (.L2334 - .Lrtx2329) / 4 + .2byte (.L2331 - .Lrtx2329) / 4 + .2byte (.L2334 - .Lrtx2329) / 4 .text -.L2368: - mov w0, w24 - mov w1, 64 - bl flash_wait_device_ready - tbz x0, 6, .L2459 +.L2328: + bl nandc_wait_flash_ready add x3, x19, :lo12:.LANCHOR0 add x0, x3, 1312 add x0, x0, x22, lsl 6 ldr x2, [x0,16] ldr x1, [x0,8] - cbz x2, .L2376 + cbz x2, .L2335 ldrb w4, [x0,56] ldrb w0, [x3,3360] cmp w4, w0 csel x1, x1, x2, ne -.L2376: +.L2335: add x19, x19, :lo12:.LANCHOR0 - mov w0, w24 + mov w0, w25 add x19, x19, 1312 add x19, x19, x22, lsl 6 ldr x2, [x19,24] @@ -15110,37 +14836,34 @@ queue_wait_first_req_completed: str w0, [x19,52] mov w0, 13 strb w0, [x19,58] - b .L2460 -.L2370: - mov w1, 64 - mov w0, w24 - bl flash_wait_device_ready + b .L2414 +.L2330: + bl nandc_wait_flash_ready add x2, x19, :lo12:.LANCHOR0 - lsl x4, x22, 6 - add x3, x2, 1312 - add x1, x3, x4 - ldrb w20, [x3,x4] - tbz x0, 6, .L2459 - add x3, x3, x20, lsl 6 - ldr x0, [x1,16] + lsl x3, x22, 6 + add x0, x2, 1312 + add x1, x0, x3 + ldrb w20, [x0,x3] ldr x27, [x1,8] - ldr x24, [x3,8] - cbz x0, .L2377 + add x0, x0, x20, lsl 6 + ldr x24, [x0,8] + ldr x0, [x1,16] + cbz x0, .L2336 ldrb w3, [x1,56] ldrb w1, [x2,3360] cmp w3, w1 csel x27, x27, x0, ne -.L2377: +.L2336: add x2, x19, :lo12:.LANCHOR0 add x0, x2, 1312 add x0, x0, x20, lsl 6 ldr x1, [x0,16] - cbz x1, .L2378 + cbz x1, .L2337 ldrb w3, [x0,56] ldrb w0, [x2,3360] cmp w3, w0 csel x24, x24, x1, ne -.L2378: +.L2337: add x21, x19, :lo12:.LANCHOR0 mov x1, x27 add x21, x21, 1312 @@ -15158,15 +14881,15 @@ queue_wait_first_req_completed: bl flash_complete_plane_page_read mov w25, w0 cmn w23, #1 - beq .L2379 + beq .L2338 ldr w0, [x28,4] cmn w0, #1 - beq .L2380 + beq .L2339 ldr x1, [x26,8] ldr w1, [x1,4] cmp w0, w1 - beq .L2380 -.L2379: + beq .L2339 +.L2338: add x4, x19, :lo12:.LANCHOR0 mov w0, 1 add x21, x4, 1312 @@ -15190,39 +14913,39 @@ queue_wait_first_req_completed: mov w23, w0 ldr w2, [x26,4] cmn w2, #1 - beq .L2381 + beq .L2340 ldr x3, [x21,8] ldr w4, [x3,4] cmp w2, w4 - beq .L2381 + beq .L2340 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 6, .L2381 - adrp x0, .LC176 + tbz x0, 6, .L2340 + adrp x0, .LC173 ldr w1, [x26,8] ldr w3, [x3] - add x0, x0, :lo12:.LC176 + add x0, x0, :lo12:.LC173 bl printk -.L2381: +.L2340: add x0, x19, :lo12:.LANCHOR0 add x0, x0, 1312 add x0, x0, x22, lsl 6 ldr w1, [x0,36] cmn w1, #1 - beq .L2380 + beq .L2339 ldr x0, [x0,24] ldr w0, [x0,4] cmp w1, w0 - beq .L2380 + beq .L2339 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 430 - add x1, x1, 472 + mov w2, 431 + add x1, x1, 448 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L2380: +.L2339: add x3, x19, :lo12:.LANCHOR0 mov w1, 13 add x3, x3, 1312 @@ -15233,16 +14956,16 @@ queue_wait_first_req_completed: orr w0, w0, 8 strb w1, [x22,58] strb w0, [x22,2] - beq .L2382 + beq .L2341 add x3, x3, x20, lsl 6 ldr w0, [x3,36] cmn w0, #1 - beq .L2384 + beq .L2343 ldr x1, [x3,24] ldr w1, [x1,4] cmp w0, w1 - beq .L2384 -.L2382: + beq .L2343 +.L2341: add x4, x19, :lo12:.LANCHOR0 mov w2, 24 add x21, x4, 1312 @@ -15265,60 +14988,60 @@ queue_wait_first_req_completed: bl flash_read_page_en ldr w2, [x22,4] cmn w2, #1 - beq .L2386 + beq .L2345 ldr x3, [x21,8] ldr w4, [x3,4] cmp w2, w4 - beq .L2386 + beq .L2345 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 6, .L2386 - adrp x0, .LC176 + tbz x0, 6, .L2345 + adrp x0, .LC173 ldr w1, [x22,8] ldr w3, [x3] - add x0, x0, :lo12:.LC176 + add x0, x0, :lo12:.LC173 bl printk -.L2386: +.L2345: add x0, x19, :lo12:.LANCHOR0 add x0, x0, 1312 add x0, x0, x20, lsl 6 ldr w1, [x0,36] cmn w1, #1 - beq .L2384 + beq .L2343 ldr x0, [x0,24] ldr w0, [x0,4] cmp w1, w0 - beq .L2384 + beq .L2343 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 449 - add x1, x1, 472 + mov w2, 450 + add x1, x1, 448 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L2384: +.L2343: add x19, x19, :lo12:.LANCHOR0 mov w1, 13 add x19, x19, 1312 add x19, x19, x20, lsl 6 str w23, [x19,52] strb w1, [x19,58] -.L2460: +.L2414: ldrb w0, [x19,2] orr w0, w0, 8 strb w0, [x19,2] - b .L2459 -.L2371: + b .L2413 +.L2331: bl nandc_iqr_wait_flash_ready - mov w0, w24 + mov w0, w25 mov w1, 64 bl flash_wait_device_ready mov w21, w0 - tbz x21, 6, .L2459 + tbz x21, 6, .L2413 mov w20, 5 ands w20, w21, w20 - beq .L2387 + beq .L2347 add x19, x19, :lo12:.LANCHOR0 mov w0, 12 add x19, x19, 1312 @@ -15327,15 +15050,15 @@ queue_wait_first_req_completed: mov w4, 12 mov w20, w21 strb w0, [x19,58] - adrp x0, .LC177 + adrp x0, .LC174 ldrb w1, [x19,1] - add x0, x0, :lo12:.LC177 + add x0, x0, :lo12:.LC174 ldr w3, [x19,40] bl printk mov w0, -1 str w0, [x19,52] - b .L2367 -.L2387: + b .L2327 +.L2347: add x4, x19, :lo12:.LANCHOR0 mov w1, 13 add x23, x4, 1312 @@ -15347,9 +15070,9 @@ queue_wait_first_req_completed: mov w1, 20041 movk w1, 0x444b, lsl 16 cmp w2, w1 - bne .L2459 + bne .L2413 ldrh w0, [x23,50] - cbnz w0, .L2459 + cbnz w0, .L2413 ldrb w3, [x4,1257] mov w0, 1 adrp x21, .LANCHOR5 @@ -15364,73 +15087,73 @@ queue_wait_first_req_completed: lsl w2, w0, w2 bic w1, w1, w2 and w0, w0, w3 - ldr x2, [x21,248] - ldr x3, [x21,256] + ldr x2, [x21,336] + ldr x3, [x21,344] bl flash_read_page_en cmn w0, #1 mov w3, w0 - beq .L2388 + beq .L2348 ldr x1, [x23,24] - ldr x0, [x21,256] + ldr x0, [x21,344] ldr w1, [x1] ldr w0, [x0] cmp w1, w0 - beq .L2459 -.L2388: + beq .L2413 +.L2348: add x4, x19, :lo12:.LANCHOR0 - adrp x0, .LC178 + adrp x0, .LC175 add x19, x4, 1312 - add x0, x0, :lo12:.LC178 + add x0, x0, :lo12:.LC175 add x19, x19, x22, lsl 6 - ldrb w4, [x4,1232] + ldrb w4, [x4,1240] ldrb w1, [x19,1] ldr w2, [x19,40] bl printk mov w0, -1 str w0, [x19,52] - b .L2367 -.L2374: - add x25, x19, :lo12:.LANCHOR0 + b .L2327 +.L2334: + add x24, x19, :lo12:.LANCHOR0 cmp w1, 11 mov w0, 3 mov w5, 10 csel w5, w0, w5, ne mov w4, 24 - ldrb w1, [x25,1257] + ldrb w1, [x24,1257] mov w0, 1 - add x21, x25, 1312 + add x21, x24, 1312 sub w4, w4, w1 lsl w0, w0, w1 sub w0, w0, #1 - lsr w2, w24, w4 + lsr w2, w25, w4 and w2, w0, w2 add x3, x21, x22, lsl 6 uxth w2, w2 -.L2390: +.L2350: ldrb w1, [x3] cmp w1, 255 - beq .L2461 + beq .L2415 sxtw x23, w1 add x3, x21, x23, lsl 6 ldrb w1, [x3,58] cmp w1, w5 - bne .L2390 + bne .L2350 ldr w1, [x3,40] lsr w1, w1, w4 and w1, w0, w1 cmp w2, w1 - bne .L2390 + bne .L2350 bl nandc_iqr_wait_flash_ready - mov w0, w24 + mov w0, w25 mov w1, 64 bl flash_wait_device_ready mov w20, w0 - tbz x20, 6, .L2458 + tbz x20, 6, .L2412 ands w1, w20, 15 - beq .L2394 + beq .L2354 add x21, x21, x22, lsl 6 - adrp x0, .LC179 - add x0, x0, :lo12:.LC179 + adrp x0, .LC176 + add x0, x0, :lo12:.LC176 mov w2, w20 mov w4, 12 ldrb w1, [x21,1] @@ -15440,21 +15163,21 @@ queue_wait_first_req_completed: strb w0, [x21,58] mov w0, -1 str w0, [x21,52] - b .L2393 -.L2394: + b .L2353 +.L2354: add x20, x21, x22, lsl 6 mov w2, 13 str w1, [x20,52] - ldr x1, [x25,3392] + ldr x1, [x24,3392] strb w2, [x20,58] ldr w2, [x1,156] mov w1, 20041 movk w1, 0x444b, lsl 16 cmp w2, w1 - bne .L2458 + bne .L2412 ldrh w0, [x20,50] - cbnz w0, .L2458 - ldrb w3, [x25,1257] + cbnz w0, .L2412 + ldrb w3, [x24,1257] mov w0, 1 adrp x21, .LANCHOR5 ldr w1, [x20,40] @@ -15463,38 +15186,38 @@ queue_wait_first_req_completed: mov w2, 24 sub w0, w0, #1 sub w2, w2, w3 - ldrb w4, [x25,3360] + ldrb w4, [x24,3360] lsr w3, w1, w2 lsl w2, w0, w2 bic w1, w1, w2 and w0, w0, w3 - ldr x2, [x21,248] - ldr x3, [x21,256] + ldr x2, [x21,336] + ldr x3, [x21,344] bl flash_read_page_en cmn w0, #1 mov w3, w0 - beq .L2396 + beq .L2356 ldr x1, [x20,24] - ldr x0, [x21,256] + ldr x0, [x21,344] ldr w1, [x1] ldr w0, [x0] cmp w1, w0 - beq .L2458 -.L2396: + beq .L2412 +.L2356: add x4, x19, :lo12:.LANCHOR0 - adrp x0, .LC180 + adrp x0, .LC177 add x20, x4, 1312 - add x0, x0, :lo12:.LC180 + add x0, x0, :lo12:.LC177 add x20, x20, x22, lsl 6 - ldrb w4, [x4,1232] + ldrb w4, [x4,1240] ldrb w1, [x20,1] ldr w2, [x20,40] bl printk mov w0, -1 str w0, [x20,52] -.L2458: +.L2412: mov w20, 0 -.L2393: +.L2353: add x1, x19, :lo12:.LANCHOR0 add x1, x1, 1312 add x19, x1, x22, lsl 6 @@ -15503,43 +15226,43 @@ queue_wait_first_req_completed: strb w0, [x1,58] ldr w0, [x19,52] str w0, [x1,52] - b .L2367 -.L2461: + b .L2327 +.L2415: mov w20, -1 - b .L2367 -.L2372: + b .L2327 +.L2332: mov w1, 32 - mov w0, w24 + mov w0, w25 bl flash_wait_device_ready - tbz x0, 5, .L2459 + tbz x0, 5, .L2413 ands w20, w0, 15 add x19, x19, :lo12:.LANCHOR0 add x19, x19, x22, lsl 6 - beq .L2398 + beq .L2358 mov w1, 12 mov w20, w0 strb w1, [x19,1370] mov w1, -1 str w1, [x19,1364] - b .L2367 -.L2398: + b .L2327 +.L2358: mov w0, 13 str w20, [x19,1364] strb w0, [x19,1370] - b .L2367 -.L2373: + b .L2327 +.L2333: mov w1, 64 - mov w0, w24 + mov w0, w25 bl flash_wait_device_ready - tbz x0, 6, .L2459 + tbz x0, 6, .L2413 add x19, x19, :lo12:.LANCHOR0 add x19, x19, x22, lsl 6 str w0, [x19,1364] mov w0, 7 strb w0, [x19,1370] -.L2459: +.L2413: mov w20, 0 -.L2367: +.L2327: mov w0, w20 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -15563,47 +15286,47 @@ sblk_prog_page: mov x19, x0 uxtb w20, w1 ldrh w0, [x0,50] - cbz w0, .L2463 + cbz w0, .L2417 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L2463 - adrp x0, .LC181 + tbz x0, 8, .L2417 + adrp x0, .LC178 ldr w1, [x19,40] - add x0, x0, :lo12:.LC181 + add x0, x0, :lo12:.LC178 mov w2, w20 bl printk -.L2463: +.L2417: adrp x23, .LANCHOR0 adrp x25, .LC0 add x24, x23, :lo12:.LANCHOR0 mov w21, 0 add x27, x24, 1312 add x25, x25, :lo12:.LC0 -.L2464: - cbz w20, .L2497 +.L2418: + cbz w20, .L2451 ldrb w26, [x19] ldr w22, [x19,40] -.L2465: +.L2419: mov w0, w22 mov w1, 1 bl queue_lun_state - cbz w0, .L2498 + cbz w0, .L2452 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2465 -.L2498: + b .L2419 +.L2452: cmp w20, 1 - beq .L2467 + beq .L2421 add x0, x23, :lo12:.LANCHOR0 ldrb w1, [x0,1305] - cbz w1, .L2467 + cbz w1, .L2421 ldrb w1, [x0,1269] - cbz w1, .L2468 -.L2467: + cbz w1, .L2422 +.L2421: mov x0, x19 bl queue_prog_cmd - b .L2469 -.L2468: + b .L2423 +.L2422: ldrb w1, [x0,1257] mov w28, 1 mov w0, 24 @@ -15615,15 +15338,15 @@ sblk_prog_page: ldrb w0, [x19] cmp w0, 255 uxth w28, w28 - bne .L2470 + bne .L2424 adrp x1, .LANCHOR4 - mov w2, 696 + mov w2, 697 add x1, x1, :lo12:.LANCHOR4 mov x0, x25 - add x1, x1, 504 + add x1, x1, 480 bl printk bl dump_stack -.L2470: +.L2424: ldrb w0, [x19] mov w4, 1 ldrb w1, [x24,1257] @@ -15636,12 +15359,12 @@ sblk_prog_page: lsr w3, w2, w0 and w1, w1, w3 cmp w28, w1, uxth - bne .L2471 + bne .L2425 adrp x5, .LANCHOR3 str x4, [x29,104] add x5, x5, :lo12:.LANCHOR3 - ldrh w1, [x5,1232] - ldrb w6, [x5,1234] + ldrh w1, [x5,1312] + ldrb w6, [x5,1314] sub w3, w0, w1 lsr w5, w22, w1 lsl w3, w4, w3 @@ -15658,13 +15381,13 @@ sblk_prog_page: sub w0, w0, #1 cmp w5, w3 uxth w0, w0 - beq .L2471 + beq .L2425 and w22, w0, w22 and w0, w0, w2 cmp w22, w0 - bne .L2471 + bne .L2425 cmp w21, w6 - beq .L2471 + beq .L2425 ldr w1, [x19,40] mov w0, 17 ldr x2, [x19,8] @@ -15680,20 +15403,20 @@ sblk_prog_page: strb w0, [x19] add x0, x24, 3363 bl buf_add_tail - b .L2469 -.L2471: + b .L2423 +.L2425: mov x0, x19 mov w21, 0 bl queue_prog_cmd -.L2469: +.L2423: subs w20, w20, #1 - beq .L2497 + beq .L2451 add x19, x23, :lo12:.LANCHOR0 sbfiz x26, x26, 6, 32 add x19, x19, 1312 add x19, x19, x26 - b .L2464 -.L2497: + b .L2418 +.L2451: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -15711,15 +15434,15 @@ sblk_wait_write_queue_completed: add x29, sp, 0 str x19, [sp,16] adrp x19, .LANCHOR0 -.L2500: +.L2454: add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,3363] cmp w0, 255 - beq .L2502 + beq .L2456 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2500 -.L2502: + b .L2454 +.L2456: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -15736,18 +15459,18 @@ ftl_flush: mov x19, x2 adrp x20, .LANCHOR5 ldrb w1, [x0,3389] - cbz w1, .L2504 + cbz w1, .L2458 add x2, x20, :lo12:.LANCHOR5 add x0, x0, 1312 - ldrb w2, [x2,264] + ldrb w2, [x2,352] add x0, x0, x2, lsl 6 bl sblk_prog_page -.L2504: +.L2458: add x2, x19, :lo12:.LANCHOR0 add x20, x20, :lo12:.LANCHOR5 mov w0, -1 strb wzr, [x2,3389] - strb w0, [x20,264] + strb w0, [x20,352] bl sblk_wait_write_queue_completed bl ftl_write_completed mov w0, -1 @@ -15764,15 +15487,15 @@ zftl_cache_flush: stp x29, x30, [sp, -16]! add x29, sp, 0 ldrb w0, [x0,#:lo12:.LANCHOR0+3389] - cbz w0, .L2508 + cbz w0, .L2462 bl timer_get_time - adrp x1, .LANCHOR5+268 - ldr w1, [x1,#:lo12:.LANCHOR5+268] + adrp x1, .LANCHOR5+356 + ldr w1, [x1,#:lo12:.LANCHOR5+356] add w1, w1, 100 cmp w0, w1 - bls .L2508 + bls .L2462 bl ftl_flush -.L2508: +.L2462: ldp x29, x30, [sp], 16 ret .size zftl_cache_flush, .-zftl_cache_flush @@ -15854,24 +15577,24 @@ sblk_read_page: mov x23, x0 mov w20, w21 add x28, x28, :lo12:.LC0 -.L2515: - cbz w20, .L2538 +.L2469: + cbz w20, .L2492 ldrb w24, [x19] ldr w22, [x19,40] -.L2516: +.L2470: mov w0, w22 mov w1, 0 bl queue_lun_state - cbz w0, .L2539 + cbz w0, .L2493 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2516 -.L2539: + b .L2470 +.L2493: cmp w20, 1 - beq .L2522 - adrp x0, .LANCHOR5+272 - ldrb w0, [x0,#:lo12:.LANCHOR5+272] - cbz w0, .L2522 + beq .L2476 + adrp x0, .LANCHOR5+360 + ldrb w0, [x0,#:lo12:.LANCHOR5+360] + cbz w0, .L2476 add x0, x25, :lo12:.LANCHOR0 mov w3, 1 ldrb w1, [x0,1257] @@ -15884,17 +15607,17 @@ sblk_read_page: ldrb w0, [x19] cmp w0, 255 uxth w3, w3 - bne .L2521 + bne .L2475 adrp x1, .LANCHOR4 - mov w2, 781 + mov w2, 782 add x1, x1, :lo12:.LANCHOR4 mov x0, x28 - add x1, x1, 520 + add x1, x1, 496 str x3, [x29,120] bl printk bl dump_stack ldr x3, [x29,120] -.L2521: +.L2475: ldrb w4, [x19] mov w5, 1 ldrb w0, [x26,1257] @@ -15908,12 +15631,12 @@ sblk_read_page: lsr w0, w1, w0 and w0, w5, w0 cmp w3, w0, uxth - bne .L2522 - adrp x0, .LANCHOR3+1330 - ldrh w0, [x0,#:lo12:.LANCHOR3+1330] + bne .L2476 + adrp x0, .LANCHOR3+1418 + ldrh w0, [x0,#:lo12:.LANCHOR3+1418] add w22, w0, w22 cmp w1, w22 - bne .L2522 + bne .L2476 ldr w0, [x19,40] add x22, x26, 3363 str x6, [x29,96] @@ -15941,38 +15664,38 @@ sblk_read_page: strb wzr, [x6,59] strb w2, [x27,x4] bl buf_add_tail - b .L2520 -.L2522: + b .L2474 +.L2476: mov x0, x19 bl queue_read_cmd -.L2520: +.L2474: subs w20, w20, #1 - beq .L2538 + beq .L2492 add x19, x25, :lo12:.LANCHOR0 sbfiz x24, x24, 6, 32 add x19, x19, 1312 add x19, x19, x24 - b .L2515 -.L2538: + b .L2469 +.L2492: adrp x19, .LANCHOR0 add x19, x19, :lo12:.LANCHOR0 add x19, x19, 1312 -.L2526: - cbz w21, .L2540 +.L2480: + cbz w21, .L2494 ldrb w0, [x23,58] cmp w0, 13 - bne .L2527 + bne .L2481 ldrb w0, [x23] sub w21, w21, #1 cmp w0, 255 - beq .L2527 + beq .L2481 sbfiz x23, x0, 6, 32 add x23, x19, x23 -.L2527: +.L2481: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2526 -.L2540: + b .L2480 +.L2494: mov w0, w21 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -15999,122 +15722,122 @@ gc_check_data_one_wl: ldr x0, [x20,3432] ldr x21, [x20,1120] add x20, x20, 3424 - cbnz x0, .L2542 + cbnz x0, .L2496 mov w0, 1 bl buf_alloc str x0, [x20,8] -.L2542: +.L2496: add x0, x19, :lo12:.LANCHOR0 ldr x20, [x0,3432] - cbnz x20, .L2543 + cbnz x20, .L2497 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 mov w2, 729 - add x1, x1, 536 + add x1, x1, 512 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L2543: +.L2497: mov w24, 0 add x25, x21, 80 add x22, x19, :lo12:.LANCHOR0 adrp x27, .LANCHOR3 adrp x26, .LANCHOR5 -.L2544: +.L2498: ldrb w0, [x25,9] cmp w24, w0 - bge .L2575 + bge .L2529 mov w23, 1 sxtw x28, w24 -.L2555: +.L2509: add x2, x22, 3424 ldrh w0, [x2,20] cmp w23, w0 - bgt .L2576 + bgt .L2530 add x0, x28, 8 ldrh w1, [x25,x0,lsl 1] add x0, x27, :lo12:.LANCHOR3 - ldrh w3, [x0,1330] - ldrb w0, [x0,1248] + ldrh w3, [x0,1418] + ldrb w0, [x0,1328] cmp w0, 2 mul w1, w1, w3 - beq .L2545 + beq .L2499 ldrb w3, [x22,1268] - cbz w3, .L2546 -.L2545: + cbz w3, .L2500 +.L2499: ldrh w2, [x22,3440] sub w2, w2, #1 add w1, w2, w1 add w1, w1, w23 orr w1, w1, w0, lsl 24 - b .L2574 -.L2546: + b .L2528 +.L2500: cmp w0, 3 - bne .L2548 + bne .L2502 ldrb w0, [x22,1269] - cbz w0, .L2549 + cbz w0, .L2503 ldrh w0, [x2,16] add w0, w0, w0, lsl 1 sub w0, w0, #1 add w1, w0, w1 add w1, w1, w23 orr w1, w1, 50331648 - b .L2574 -.L2549: + b .L2528 +.L2503: ldrh w0, [x2,16] add w1, w1, w0 orr w1, w1, w23, lsl 24 - b .L2574 -.L2548: + b .L2528 +.L2502: ldrh w0, [x2,16] add w1, w1, w0 -.L2574: +.L2528: str w1, [x20,40] mov x0, x20 mov w1, 1 bl sblk_read_page ldr w2, [x20,52] cmn w2, #1 - beq .L2550 + beq .L2504 add x3, x26, :lo12:.LANCHOR5 ldrh w0, [x22,3446] ldr x1, [x20,24] lsl x0, x0, 2 - ldr x4, [x3,144] + ldr x4, [x3,232] ldr w5, [x4,x0] ldr w4, [x1,4] cmp w5, w4 - bne .L2550 - ldr x3, [x3,152] + bne .L2504 + ldr x3, [x3,240] ldr w3, [x3,x0] ldr w0, [x1,8] cmp w3, w0 - beq .L2551 -.L2550: + beq .L2505 +.L2504: add x0, x26, :lo12:.LANCHOR5 ldrh w4, [x22,3446] lsl x4, x4, 2 - ldr x1, [x0,144] + ldr x1, [x0,232] ldr w3, [x1,x4] cmn w3, #1 - beq .L2551 + beq .L2505 adrp x1, .LANCHOR2 ldr w1, [x1,#:lo12:.LANCHOR2] - tbz x1, 10, .L2552 + tbz x1, 10, .L2506 ldr x7, [x20,24] - ldr x5, [x0,152] + ldr x5, [x0,240] ldr w0, [x7,12] str w0, [sp] - adrp x0, .LC182 - add x0, x0, :lo12:.LC182 + adrp x0, .LC179 + add x0, x0, :lo12:.LC179 ldr w4, [x5,x4] ldr w6, [x7,4] ldr w5, [x7] ldr w1, [x20,40] ldr w7, [x7,8] bl printk -.L2552: +.L2506: add x19, x19, :lo12:.LANCHOR0 ldrh w1, [x21,80] mov w21, -1 @@ -16129,38 +15852,38 @@ gc_check_data_one_wl: mov w0, 20041 movk w0, 0x444b, lsl 16 cmp w1, w0 - bne .L2553 + bne .L2507 adrp x0, .LANCHOR3 add x0, x0, :lo12:.LANCHOR3 - ldrb w1, [x0,1868] - cbnz w1, .L2553 - ldrb w0, [x0,1250] - cbnz w0, .L2553 + ldrb w1, [x0,1956] + cbnz w1, .L2507 + ldrb w0, [x0,1330] + cbnz w0, .L2507 ldr w0, [x20,40] bl ftl_mask_bad_block - b .L2553 -.L2551: + b .L2507 +.L2505: ldrh w0, [x22,3446] add w23, w23, 1 add w0, w0, 1 strh w0, [x22,3446] - b .L2555 -.L2576: + b .L2509 +.L2530: add w24, w24, 1 - b .L2544 -.L2575: + b .L2498 +.L2529: add x19, x19, :lo12:.LANCHOR0 mov w21, 0 add x19, x19, 3424 ldrh w0, [x19,16] add w1, w0, 1 strh w1, [x19,16] - adrp x1, .LANCHOR3+1250 - ldrb w1, [x1,#:lo12:.LANCHOR3+1250] - cbz w1, .L2553 + adrp x1, .LANCHOR3+1330 + ldrb w1, [x1,#:lo12:.LANCHOR3+1330] + cbz w1, .L2507 add w0, w0, 2 strh w0, [x19,16] -.L2553: +.L2507: sub sp, x29, #16 mov w0, w21 ldp x19, x20, [sp,32] @@ -16183,16 +15906,16 @@ sblk_tlc_prog_one_page: mov x20, x0 ldr x0, [x0] ldr w21, [x0,40] -.L2578: +.L2532: mov w0, w21 mov w1, 1 bl queue_lun_state mov w19, w0 - cbz w0, .L2580 + cbz w0, .L2534 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2578 -.L2580: + b .L2532 +.L2534: mov x0, x20 mov w1, 1 bl queue_tlc_prog_cmd @@ -16218,22 +15941,22 @@ sblk_xlc_prog_pages: mov w27, w2 ldr x0, [x0] ldr w19, [x0,40] -.L2582: +.L2536: mov w0, w19 mov w1, 1 bl queue_lun_state mov w24, w0 - cbz w0, .L2593 + cbz w0, .L2547 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2582 -.L2593: + b .L2536 +.L2547: cmp w27, 2 - bne .L2584 + bne .L2538 adrp x25, .LANCHOR0 add x2, x25, :lo12:.LANCHOR0 ldrb w0, [x2,1305] - cbz w0, .L2585 + cbz w0, .L2539 ldrb w0, [x2,1257] mov w1, 24 ldr x6, [x21] @@ -16252,7 +15975,7 @@ sblk_xlc_prog_pages: and w19, w19, w3 and w23, w23, w4 uxtb w19, w19 - cbz w0, .L2586 + cbz w0, .L2540 mov w0, w19 bl zftl_flash_exit_slc_mode ldr x6, [x21] @@ -16314,8 +16037,8 @@ sblk_xlc_prog_pages: ldr x5, [x6,8] ldr x6, [x6,24] bl flash_start_one_pass_page_prog - b .L2587 -.L2586: + b .L2541 +.L2540: ldr x5, [x6,8] mov w1, w20 ldrb w0, [x6,60] @@ -16379,7 +16102,7 @@ sblk_xlc_prog_pages: ldrb w0, [x0,60] ldr x6, [x6,24] bl flash_start_tlc_page_prog -.L2587: +.L2541: ldr x1, [x21] mov w0, 5 strb w0, [x1,58] @@ -16390,39 +16113,39 @@ sblk_xlc_prog_pages: add x0, x25, :lo12:.LANCHOR0 add x0, x0, 3363 bl buf_add_tail - b .L2588 -.L2585: + b .L2542 +.L2539: ldr x0, [x22] ldr w19, [x0,40] -.L2589: +.L2543: mov w0, w19 mov w1, 1 bl queue_lun_state mov w20, w0 - cbz w0, .L2594 + cbz w0, .L2548 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2589 -.L2594: + b .L2543 +.L2548: mov x0, x21 mov w1, 1 bl queue_tlc_prog_cmd mov x0, x22 mov w1, w20 bl queue_tlc_prog_cmd -.L2591: +.L2545: mov w0, w19 mov w1, 1 bl queue_lun_state - cbz w0, .L2588 + cbz w0, .L2542 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2591 -.L2584: + b .L2545 +.L2538: mov x0, x21 mov w1, 1 bl queue_tlc_prog_cmd -.L2588: +.L2542: mov w0, 0 ldr x27, [sp,80] ldp x19, x20, [sp,16] @@ -16451,19 +16174,19 @@ sblk_3d_mlc_prog_pages: mov w25, 24 mov w26, 4 add x27, x23, 3363 -.L2596: - cbz w22, .L2600 +.L2550: + cbz w22, .L2554 ldr x0, [x20] ldr w19, [x0,40] -.L2597: +.L2551: mov w0, w19 mov w1, 1 bl queue_lun_state - cbz w0, .L2601 + cbz w0, .L2555 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2597 -.L2601: + b .L2551 +.L2555: ldr x0, [x20] sub w22, w22, #1 ldr w3, [x0,40] @@ -16503,8 +16226,8 @@ sblk_3d_mlc_prog_pages: mov x0, x27 strb w24, [x1,59] bl buf_add_tail - b .L2596 -.L2600: + b .L2550 +.L2554: mov w0, w22 ldr x27, [sp,80] ldp x19, x20, [sp,16] @@ -16531,68 +16254,68 @@ flash_prog_page_en: stp x25, x26, [sp,64] mov x23, x2 mov x22, x3 - ldrb w1, [x1,1145] + ldrb w1, [x1,1153] mov w27, w4 uxtb w28, w5 ubfx x25, x20, 24, 2 cmp w1, w21 mov x24, x0 - bhi .L2603 + bhi .L2557 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 635 - add x1, x1, 560 + mov w2, 642 + add x1, x1, 536 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L2603: +.L2557: add x1, x24, :lo12:.LANCHOR0 mov w0, -1 - ldrb w2, [x1,1145] + ldrb w2, [x1,1153] cmp w2, w21 - bls .L2604 + bls .L2558 add x0, x1, x21, sxtw mov w19, w20 ldrb w26, [x0,1248] - cbnz w25, .L2605 + cbnz w25, .L2559 adrp x0, .LANCHOR0 ldrb w0, [x0,#:lo12:.LANCHOR0] - cbz w0, .L2606 + cbz w0, .L2560 ldrb w0, [x1,1] - cbz w0, .L2605 -.L2606: + cbz w0, .L2559 +.L2560: add x0, x24, :lo12:.LANCHOR0 ldrh w19, [x0,2] ldrb w2, [x0,1] udiv w1, w20, w19 mul w19, w1, w19 sub w1, w20, w19 - cbz w2, .L2607 + cbz w2, .L2561 add w19, w19, w1, lsl 1 - b .L2605 -.L2607: + b .L2559 +.L2561: add x0, x0, 4 ldrh w0, [x0,w1,uxtw 1] add w19, w0, w19 -.L2605: - adrp x25, .LC183 - adrp x24, .LC184 - adrp x0, .LC185 - add x25, x25, :lo12:.LC183 - add x0, x0, :lo12:.LC185 - add x24, x24, :lo12:.LC184 +.L2559: + adrp x25, .LC180 + adrp x24, .LC181 + adrp x0, .LC182 + add x25, x25, :lo12:.LC180 + add x0, x0, :lo12:.LC182 + add x24, x24, :lo12:.LC181 str x0, [x29,120] -.L2611: +.L2565: adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L2608 + tbz x0, 4, .L2562 mov x0, x25 mov w1, w26 mov w2, w20 mov w3, w19 bl printk -.L2608: +.L2562: mov w0, w26 mov w1, w19 mov x2, x23 @@ -16600,7 +16323,7 @@ flash_prog_page_en: mov w4, w27 bl flash_prog_page mov w5, w0 - cbz w28, .L2609 + cbz w28, .L2563 adrp x6, .LANCHOR5 mov w4, w27 add x7, x6, :lo12:.LANCHOR5 @@ -16608,29 +16331,29 @@ flash_prog_page_en: mov w1, w20 str x6, [x29,104] str x5, [x29,96] - ldr x2, [x7,248] - ldr x3, [x7,256] + ldr x2, [x7,336] + ldr x3, [x7,344] str x7, [x29,112] bl flash_read_page_en cmp w0, 512 cset w4, eq ldr x6, [x29,104] - cbnz w4, .L2610 + cbnz w4, .L2564 cmn w0, #1 - beq .L2610 + beq .L2564 ldr x7, [x29,112] ldr w1, [x23] ldr x5, [x29,96] - ldr x0, [x7,248] + ldr x0, [x7,336] ldr w0, [x0] cmp w1, w0 - bne .L2610 - ldr x0, [x7,256] + bne .L2564 + ldr x0, [x7,344] ldr w1, [x22] ldr w0, [x0] cmp w1, w0 - beq .L2609 -.L2610: + beq .L2563 +.L2564: mov w2, 4 mov x0, x24 mov w3, w2 @@ -16645,42 +16368,42 @@ flash_prog_page_en: bl rknand_print_hex ldr x6, [x29,112] mov w2, 4 - adrp x0, .LC186 + adrp x0, .LC183 mov w3, w2 add x6, x6, :lo12:.LANCHOR5 - add x0, x0, :lo12:.LC186 + add x0, x0, :lo12:.LC183 str x6, [x29,112] - ldr x1, [x6,256] + ldr x1, [x6,344] bl rknand_print_hex ldr x6, [x29,112] mov w2, 4 - adrp x0, .LC187 + adrp x0, .LC184 mov w3, w2 - add x0, x0, :lo12:.LC187 - ldr x1, [x6,248] + add x0, x0, :lo12:.LC184 + ldr x1, [x6,336] bl rknand_print_hex ldr x4, [x29,104] - cbnz w4, .L2611 -.L2613: - adrp x0, .LC188 + cbnz w4, .L2565 +.L2567: + adrp x0, .LC185 mov w1, w20 - add x0, x0, :lo12:.LC188 + add x0, x0, :lo12:.LC185 bl printk adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 678 - add x1, x1, 560 + mov w2, 685 + add x1, x1, 536 add x0, x0, :lo12:.LC0 bl printk bl dump_stack mov w0, -1 - b .L2604 -.L2609: + b .L2558 +.L2563: cmn w5, #1 mov w0, w5 - beq .L2613 -.L2604: + beq .L2567 +.L2558: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -16711,20 +16434,20 @@ ftl_prog_page: bl flash_prog_page_en cmn w0, #1 mov w19, w0 - bne .L2632 + bne .L2586 adrp x2, .LANCHOR4 adrp x0, .LC0 add x1, x2, :lo12:.LANCHOR4 add x0, x0, :lo12:.LC0 - add x1, x1, 584 - mov w2, 2670 + add x1, x1, 560 + mov w2, 2678 bl printk bl dump_stack - adrp x0, .LC188 + adrp x0, .LC185 mov w1, w20 - add x0, x0, :lo12:.LC188 + add x0, x0, :lo12:.LC185 bl printk -.L2632: +.L2586: mov w0, w19 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 64 @@ -16748,203 +16471,204 @@ ftl_info_flush: adrp x21, .LANCHOR5 ldrb w2, [x19,3360] add x0, x21, :lo12:.LANCHOR5 - add x0, x0, 320 + add x0, x0, 384 lsl w2, w2, 1 bl ftl_memset ldr x0, [x19,3392] ldrh w1, [x0,74] - cbz w1, .L2634 + cmp w1, 1 + bls .L2588 strh wzr, [x0,150] -.L2634: +.L2588: adrp x23, .LANCHOR4 - adrp x24, .LC189 + adrp x24, .LC186 add x23, x23, :lo12:.LANCHOR4 mov w25, 0 add x26, x21, :lo12:.LANCHOR5 - add x24, x24, :lo12:.LC189 - add x23, x23, 600 -.L2645: + add x24, x24, :lo12:.LC186 + add x23, x23, 576 +.L2599: add x2, x20, :lo12:.LANCHOR0 adrp x22, .LANCHOR3 add x0, x22, :lo12:.LANCHOR3 - add x3, x26, 320 + add x3, x26, 384 str x2, [x29,112] ldr x1, [x2,3392] - ldrh w28, [x0,1330] + ldrh w28, [x0,1418] str x3, [x29,104] ldr w0, [x1,4] - ldrb w19, [x26,576] + ldrb w19, [x26,640] add w0, w0, 1 str w0, [x1,4] ldr w0, [x29,124] - str w0, [x26,320] + str w0, [x26,384] ldr x0, [x2,3392] ldrb w1, [x2,3360] - ldrh w27, [x26,578] + ldrh w27, [x26,642] ldr w0, [x0,4] lsl w1, w1, 9 - str w0, [x26,324] - ldr x0, [x26,584] + str w0, [x26,388] + ldr x0, [x26,648] bl js_hash ldr x3, [x29,104] ldr x2, [x29,112] str w0, [x3,8] adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L2635 + tbz x0, 12, .L2589 ldr x3, [x2,3392] mov x0, x24 - ldrb w1, [x26,576] - ldrh w2, [x26,578] + ldrb w1, [x26,640] + ldrh w2, [x26,642] ldr w3, [x3,4] bl printk -.L2635: +.L2589: add x1, x22, :lo12:.LANCHOR3 - ldrh w0, [x26,578] - ldrh w1, [x1,1294] + ldrh w0, [x26,642] + ldrh w1, [x1,1384] cmp w1, w0 - bhi .L2636 + bhi .L2590 adrp x19, .LC0 add x19, x19, :lo12:.LC0 -.L2641: - ldrb w1, [x26,577] +.L2595: + ldrb w1, [x26,641] add w1, w1, 1 uxtb w1, w1 - strb w1, [x26,577] + strb w1, [x26,641] cmp w1, 7 - bls .L2637 + bls .L2591 mov x1, 0 -.L2640: +.L2594: add x0, x20, :lo12:.LANCHOR0 uxth w25, w1 - ldr x2, [x0,1240] + ldr x2, [x0,1128] add w0, w1, 8 add x0, x2, x0, sxtw ldrb w2, [x0,32] add w0, w2, 127 uxtb w0, w0 cmp w0, 125 - bhi .L2638 + bhi .L2592 mov x1, x23 - mov w2, 841 + mov w2, 846 mov x0, x19 bl printk bl dump_stack - b .L2639 -.L2638: + b .L2593 +.L2592: cmp w2, 255 - bne .L2639 + bne .L2593 add x1, x1, 1 cmp x1, 8 - bne .L2640 + bne .L2594 mov w25, w1 -.L2639: - strb w25, [x26,577] +.L2593: + strb w25, [x26,641] mov w25, 1 -.L2637: +.L2591: add x28, x20, :lo12:.LANCHOR0 - ldrb w1, [x26,577] - ldr x0, [x28,1240] + ldrb w1, [x26,641] + ldr x0, [x28,1128] add x1, x0, x1 ldrb w1, [x1,40] - strb w1, [x26,576] + strb w1, [x26,640] cmp w1, 255 - beq .L2641 + beq .L2595 add x0, x22, :lo12:.LANCHOR3 - ldrh w19, [x0,1330] + ldrh w19, [x0,1418] mov w0, 0 mul w19, w1, w19 mov w1, w19 bl flash_erase_block - ldr x2, [x26,584] + ldr x2, [x26,648] mov w1, w19 ldrb w4, [x28,3360] mov w0, 0 - add x3, x26, 320 + add x3, x26, 384 add w19, w19, 1 bl ftl_prog_page mov w0, 1 - strh w0, [x26,578] - b .L2642 -.L2636: + strh w0, [x26,642] + b .L2596 +.L2590: madd w19, w19, w28, w27 - cbnz w0, .L2642 + cbnz w0, .L2596 mov w1, w19 bl flash_erase_block -.L2642: +.L2596: add x4, x20, :lo12:.LANCHOR0 - ldr x2, [x26,584] + ldr x2, [x26,648] mov w1, w19 mov w0, 0 - add x3, x26, 320 + add x3, x26, 384 ldrb w4, [x4,3360] bl ftl_prog_page cmn w0, #1 - ldrh w1, [x26,578] + ldrh w1, [x26,642] add w1, w1, 1 - strh w1, [x26,578] - beq .L2643 - ldrb w0, [x26,592] - cbz w0, .L2644 -.L2643: - strb wzr, [x26,592] - b .L2645 -.L2644: - cbnz w25, .L2646 -.L2654: + strh w1, [x26,642] + beq .L2597 + ldrb w0, [x26,656] + cbz w0, .L2598 +.L2597: + strb wzr, [x26,656] + b .L2599 +.L2598: + cbnz w25, .L2600 +.L2608: add x21, x21, :lo12:.LANCHOR5 - ldrb w0, [x21,576] + ldrb w0, [x21,640] cmp w0, 255 - bne .L2648 + bne .L2602 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 885 - add x1, x1, 600 + mov w2, 890 + add x1, x1, 576 add x0, x0, :lo12:.LC0 bl printk bl dump_stack - b .L2648 -.L2646: - ldrb w19, [x26,577] + b .L2602 +.L2600: + ldrb w19, [x26,641] adrp x23, .LANCHOR4 adrp x24, .LC0 add x23, x23, :lo12:.LANCHOR4 add w19, w19, 1 add x24, x24, :lo12:.LC0 - add x23, x23, 600 -.L2649: + add x23, x23, 576 +.L2603: cmp w19, 7 - bhi .L2654 + bhi .L2608 add x0, x20, :lo12:.LANCHOR0 - ldr x1, [x0,1240] + ldr x1, [x0,1128] add w0, w19, 8 add x0, x1, x0, sxtw ldrb w25, [x0,32] add w0, w25, 127 uxtb w0, w0 cmp w0, 125 - bhi .L2650 + bhi .L2604 mov x1, x23 - mov w2, 876 + mov w2, 881 mov x0, x24 bl printk bl dump_stack - b .L2651 -.L2650: + b .L2605 +.L2604: cmp w25, 255 - beq .L2652 -.L2651: + beq .L2606 +.L2605: add x0, x22, :lo12:.LANCHOR3 - ldrh w1, [x0,1330] + ldrh w1, [x0,1418] mov w0, 0 mul w1, w25, w1 bl flash_erase_block -.L2652: +.L2606: add w19, w19, 1 uxth w19, w19 - b .L2649 -.L2648: + b .L2603 +.L2602: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -16971,46 +16695,46 @@ ftl_info_blk_init: stp x25, x26, [sp,64] stp x27, x28, [sp,80] stp x23, x24, [sp,48] - strb w0, [x21,592] - adrp x25, .LC190 + strb w0, [x21,656] + adrp x25, .LC187 ldrh w1, [x19,1088] adrp x27, .LANCHOR3 - strb w0, [x21,594] - add x26, x21, 320 - ldr x0, [x21,584] + strb w0, [x21,658] + add x26, x21, 384 + ldr x0, [x21,648] adrp x28, .LANCHOR2 str x0, [x19,1096] - add x25, x25, :lo12:.LC190 + add x25, x25, :lo12:.LC187 add x1, x0, x1, lsl 2 str x1, [x19,3392] mov w1, 0 - strb wzr, [x21,593] + strb wzr, [x21,657] bl ftl_memset - ldr x0, [x21,600] + ldr x0, [x21,664] mov w1, 0 mov w2, 16384 bl ftl_memset - strb wzr, [x21,577] - ldr x0, [x19,1240] + strb wzr, [x21,641] + ldr x0, [x19,1128] mov w19, 7 - strh wzr, [x21,578] + strh wzr, [x21,642] ldrb w0, [x0,40] - strb w0, [x21,576] -.L2675: + strb w0, [x21,640] +.L2626: add x6, x20, :lo12:.LANCHOR0 add w0, w19, 8 sxth w24, w19 - ldr x1, [x6,1240] + ldr x1, [x6,1128] add x0, x1, x0, sxtw ldrb w0, [x0,32] cmp w0, 255 - beq .L2671 + beq .L2622 add x1, x27, :lo12:.LANCHOR3 ldrb w4, [x6,3360] - ldr x2, [x21,584] + ldr x2, [x21,648] mov x3, x26 str x6, [x29,104] - ldrh w23, [x1,1330] + ldrh w23, [x1,1418] mul w23, w0, w23 mov w0, 0 mov w1, w23 @@ -17018,132 +16742,132 @@ ftl_info_blk_init: cmn w0, #1 mov w5, w0 ldr x6, [x29,104] - bne .L2672 - ldr x2, [x21,584] + bne .L2623 + ldr x2, [x21,648] mov w0, 0 ldrb w4, [x6,3360] add w1, w23, 1 mov x3, x26 bl ftl_read_page mov w5, w0 -.L2672: +.L2623: ldr w0, [x28,#:lo12:.LANCHOR2] - tbz x0, 12, .L2673 + tbz x0, 12, .L2624 add x0, x20, :lo12:.LANCHOR0 mov w2, w5 mov w1, w19 - mov w3, 744 + mov w3, 749 str x5, [x29,104] ldr x4, [x0,3392] mov x0, x25 ldr w4, [x4] bl printk ldr x5, [x29,104] -.L2673: +.L2624: cmn w5, #1 - beq .L2671 + beq .L2622 add x0, x20, :lo12:.LANCHOR0 ldr x0, [x0,3392] ldr w1, [x0] mov w0, 21574 movk w0, 0x494c, lsl 16 cmp w1, w0 - beq .L2685 -.L2671: + beq .L2636 +.L2622: sub w19, w19, #1 cmn w19, #1 - bne .L2675 + bne .L2626 mov w24, 0 - b .L2674 -.L2685: + b .L2625 +.L2636: mov w19, w24 -.L2674: +.L2625: adrp x23, .LANCHOR2 ldr w0, [x23,#:lo12:.LANCHOR2] - tbz x0, 12, .L2676 + tbz x0, 12, .L2627 add x0, x20, :lo12:.LANCHOR0 mov w1, w19 mov w2, 4800 ldr x3, [x0,3392] - adrp x0, .LC191 - add x0, x0, :lo12:.LC191 + adrp x0, .LC188 + add x0, x0, :lo12:.LC188 ldr w3, [x3] bl printk -.L2676: +.L2627: cmn w19, #1 - bne .L2677 + bne .L2628 add x22, x22, :lo12:.LANCHOR5 mov w1, 0 add x20, x20, :lo12:.LANCHOR0 mov w2, 16384 - ldr x0, [x22,584] + ldr x0, [x22,648] bl ftl_memset ldr x1, [x20,3392] mov w0, 21574 movk w0, 0x494c, lsl 16 str w0, [x1] - mov w0, 35 + mov w0, 36 movk w0, 0x6, lsl 16 ldr x1, [x20,3392] str w0, [x1,12] - b .L2702 -.L2677: + b .L2653 +.L2628: add x0, x20, :lo12:.LANCHOR0 add x21, x22, :lo12:.LANCHOR5 - add x19, x21, 320 + add x19, x21, 384 mov w4, 4 mov x3, x19 - adrp x27, .LC192 - ldr x1, [x0,1240] + adrp x27, .LC189 + ldr x1, [x0,1128] add w0, w24, 8 - ldr x2, [x21,584] + ldr x2, [x21,648] add x0, x1, x0, sxtw ldrb w1, [x0,32] mov w0, 0 - strb w24, [x21,577] - add x27, x27, :lo12:.LC192 - strb w1, [x21,576] + strb w24, [x21,641] + add x27, x27, :lo12:.LC189 + strb w1, [x21,640] bl flash_get_last_written_page sxth w25, w0 add w0, w0, 1 - ldrb w26, [x21,576] + ldrb w26, [x21,640] uxth w24, w0 - adrp x0, .LANCHOR3+1330 - ldrh w0, [x0,#:lo12:.LANCHOR3+1330] + adrp x0, .LANCHOR3+1418 + ldrh w0, [x0,#:lo12:.LANCHOR3+1418] mul w26, w26, w0 - b .L2679 -.L2702: + b .L2630 +.L2653: mov w0, w19 - b .L2678 -.L2684: + b .L2629 +.L2635: add x28, x20, :lo12:.LANCHOR0 - ldr x2, [x21,584] + ldr x2, [x21,648] mov w0, 0 add w1, w25, w26 mov x3, x19 ldrb w4, [x28,3360] bl ftl_read_page cmn w0, #1 - bne .L2703 -.L2680: + bne .L2654 +.L2631: sub w25, w25, #1 sxth w25, w25 -.L2679: - tbz w25, #31, .L2684 - b .L2683 -.L2703: +.L2630: + tbz w25, #31, .L2635 + b .L2634 +.L2654: ldr x0, [x28,3392] ldr w1, [x0] mov w0, 21574 movk w0, 0x494c, lsl 16 cmp w1, w0 - bne .L2680 + bne .L2631 ldr w2, [x19,8] - cbnz w2, .L2681 -.L2683: + cbnz w2, .L2632 +.L2634: add x22, x22, :lo12:.LANCHOR5 add x20, x20, :lo12:.LANCHOR0 - strh w24, [x22,578] + strh w24, [x22,642] bl ftl_tmp_into_update ldr x1, [x20,3392] ldr w0, [x1,64] @@ -17155,28 +16879,28 @@ ftl_info_blk_init: bl ftl_info_flush ldr w0, [x23,#:lo12:.LANCHOR2] and w19, w0, 16384 - tbz x0, 14, .L2702 + tbz x0, 14, .L2653 ldr x1, [x20,3392] - adrp x0, .LC193 - add x0, x0, :lo12:.LC193 + adrp x0, .LC190 + add x0, x0, :lo12:.LC190 ldr w1, [x1,156] bl printk mov w0, 0 - b .L2678 -.L2681: + b .L2629 +.L2632: ldrb w1, [x28,3360] - ldr x0, [x21,584] + ldr x0, [x21,648] lsl w1, w1, 9 str x2, [x29,104] bl js_hash ldr x2, [x29,104] cmp w2, w0 - beq .L2683 + beq .L2634 ldr w1, [x19,8] mov x0, x27 bl printk - b .L2680 -.L2678: + b .L2631 +.L2629: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -17203,26 +16927,26 @@ ftl_ext_info_flush: ldr x1, [x1,1120] ldr w3, [x1,520] cmp w0, w3 - bls .L2705 + bls .L2656 ldr w2, [x1,12] sub w2, w2, w3 add w2, w2, w0 str w2, [x1,12] - b .L2718 -.L2705: - bcs .L2706 -.L2718: + b .L2669 +.L2656: + bcs .L2657 +.L2669: str w0, [x1,520] -.L2706: +.L2657: adrp x23, .LANCHOR4 adrp x22, .LANCHOR5 add x23, x23, :lo12:.LANCHOR4 add x22, x22, :lo12:.LANCHOR5 mov w0, 0 - add x23, x23, 616 - add x24, x22, 320 + add x23, x23, 592 + add x24, x22, 384 bl ftl_total_vpn_update -.L2710: +.L2661: add x0, x21, :lo12:.LANCHOR0 adrp x3, .LANCHOR3 add x2, x3, :lo12:.LANCHOR3 @@ -17232,30 +16956,30 @@ ftl_ext_info_flush: add w1, w1, 1 str w1, [x0,56] ldrh w1, [x0,140] - ldrh w0, [x2,1294] + ldrh w0, [x2,1384] cmp w1, w0 - bcc .L2708 + bcc .L2659 bl ftl_ext_alloc_new_blk -.L2708: +.L2659: add x0, x21, :lo12:.LANCHOR0 ldr x0, [x0,3392] ldrh w1, [x0,130] mov w0, 65535 cmp w1, w0 - bne .L2709 + bne .L2660 adrp x0, .LC0 mov x1, x23 - mov w2, 2203 + mov w2, 2211 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L2709: +.L2660: add x20, x21, :lo12:.LANCHOR0 add x3, x19, :lo12:.LANCHOR3 mov w0, 24 ldr x4, [x20,3392] ldrb w1, [x20,1257] - ldrh w19, [x3,1232] + ldrh w19, [x3,1312] ldrh w2, [x4,130] sub w1, w0, w1 sub w1, w1, w19 @@ -17265,7 +16989,7 @@ ftl_ext_info_flush: sub w19, w1, #1 ldrh w0, [x4,140] and w2, w19, w2 - ldrh w19, [x3,1330] + ldrh w19, [x3,1418] mov w1, 0 sxth w2, w2 madd w19, w2, w19, w0 @@ -17279,10 +17003,10 @@ ftl_ext_info_flush: ldr w0, [x0,56] lsl w1, w1, 9 str w0, [x24,4] - ldr x0, [x22,600] + ldr x0, [x22,664] bl js_hash str w0, [x24,8] - ldr x2, [x22,600] + ldr x2, [x22,664] mov w1, w19 ldrb w4, [x20,3360] mov w0, w25 @@ -17294,18 +17018,18 @@ ftl_ext_info_flush: uxth w2, w2 strh w2, [x1,140] cmp w2, 1 - beq .L2710 + beq .L2661 cmn w0, #1 - beq .L2711 - ldrb w0, [x22,594] - cbz w0, .L2712 -.L2711: -.L2707: + beq .L2662 + ldrb w0, [x22,658] + cbz w0, .L2663 +.L2662: +.L2658: adrp x0, .LANCHOR5 add x0, x0, :lo12:.LANCHOR5 - strb wzr, [x0,594] - b .L2710 -.L2712: + strb wzr, [x0,658] + b .L2661 +.L2663: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -17332,12 +17056,12 @@ ftl_ext_info_init: add x1, x21, :lo12:.LANCHOR3 add x3, x20, :lo12:.LANCHOR5 ldr x0, [x22,3392] - add x3, x3, 320 + add x3, x3, 384 ldrb w2, [x22,1257] - strh wzr, [x1,1864] + strh wzr, [x1,1952] ldrh w23, [x0,130] mov w0, 24 - ldrh w1, [x1,1232] + ldrh w1, [x1,1312] sub w0, w0, w2 ldr x2, [x3,280] sub w0, w0, w1 @@ -17355,77 +17079,77 @@ ftl_ext_info_init: str x0, [x29,104] mov w24, w25 ldr w1, [x0,#:lo12:.LANCHOR2] - tbz x1, 12, .L2720 + tbz x1, 12, .L2671 ldr x5, [x22,3392] adrp x1, .LANCHOR4 - adrp x0, .LC194 + adrp x0, .LC191 add x1, x1, :lo12:.LANCHOR4 - add x0, x0, :lo12:.LC194 - add x1, x1, 640 + add x0, x0, :lo12:.LC191 + add x1, x1, 616 ldrh w5, [x5,130] - mov w2, 2248 + mov w2, 2256 mov w3, w25 uxth w4, w26 bl printk -.L2720: +.L2671: add x20, x20, :lo12:.LANCHOR5 - adrp x27, .LC195 + adrp x27, .LC192 mov w22, w25 - add x26, x20, 320 - add x27, x27, :lo12:.LC195 -.L2721: - tbnz w22, #31, .L2726 + add x26, x20, 384 + add x27, x27, :lo12:.LC192 +.L2672: + tbnz w22, #31, .L2677 add x0, x21, :lo12:.LANCHOR3 add x5, x19, :lo12:.LANCHOR0 - ldr x2, [x20,600] + ldr x2, [x20,664] mov x3, x26 str x5, [x29,96] - ldrh w1, [x0,1330] + ldrh w1, [x0,1418] mov w0, w28 ldrb w4, [x5,3360] madd w1, w23, w1, w22 bl flash_read_page_en cmp w0, 512 - beq .L2722 + beq .L2673 cmn w0, #1 - beq .L2722 + beq .L2673 ldr x5, [x29,96] ldr x0, [x5,1120] ldr w1, [x0] mov w0, 20038 movk w0, 0x4549, lsl 16 cmp w1, w0 - bne .L2722 + bne .L2673 ldr w2, [x26,8] - cbnz w2, .L2723 -.L2726: + cbnz w2, .L2674 +.L2677: bl zftl_sblk_list_init add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,3392] ldrh w1, [x0,140] cmp w1, w25 - bgt .L2725 + bgt .L2676 add w24, w24, 1 strh w24, [x0,140] bl ftl_ext_info_flush - b .L2725 -.L2723: + b .L2676 +.L2674: ldrb w1, [x5,3360] - ldr x0, [x20,600] + ldr x0, [x20,664] lsl w1, w1, 9 str x2, [x29,96] bl js_hash ldr x2, [x29,96] cmp w2, w0 - beq .L2726 + beq .L2677 ldr w1, [x26,8] mov x0, x27 bl printk -.L2722: +.L2673: sub w22, w22, #1 sxth w22, w22 - b .L2721 -.L2725: + b .L2672 +.L2676: add x19, x19, :lo12:.LANCHOR0 ldr x20, [x19,1120] bl timer_get_time @@ -17448,7 +17172,7 @@ ftl_ext_info_init: ldr x1, [x29,104] str wzr, [x0,608] ldr w1, [x1,#:lo12:.LANCHOR2] - tbz x1, 12, .L2728 + tbz x1, 12, .L2679 ldr w2, [x0,520] ldr w3, [x0,12] str x2, [x29,96] @@ -17456,19 +17180,19 @@ ftl_ext_info_init: bl timer_get_time mov w4, w0 adrp x1, .LANCHOR4 - adrp x0, .LC196 + adrp x0, .LC193 add x1, x1, :lo12:.LANCHOR4 ldr x2, [x29,96] ldr x3, [x29,104] - add x0, x0, :lo12:.LC196 - add x1, x1, 640 + add x0, x0, :lo12:.LC193 + add x1, x1, 616 bl printk -.L2728: +.L2679: add x21, x21, :lo12:.LANCHOR3 mov w0, -1 ldp x19, x20, [sp,16] ldp x23, x24, [sp,48] - strh w0, [x21,1208] + strh w0, [x21,1288] mov w0, 0 ldp x21, x22, [sp,32] ldp x25, x26, [sp,64] @@ -17519,36 +17243,36 @@ ftl_write_last_log_page: add x22, x22, :lo12:.LANCHOR3 ldrh w23, [x0,12] cmp w1, 1 - ldr x21, [x22,1848] - bne .L2743 + ldr x21, [x22,1936] + bne .L2694 mov x20, x0 bl ftl_get_new_free_page cmn w0, #1 mov w24, w0 mov w19, 0 - beq .L2743 + beq .L2694 ldrh w0, [x20] add x23, x21, x23, uxth 2 adrp x21, .LANCHOR5 add x21, x21, :lo12:.LANCHOR5 bl ftl_vpn_decrement - add x20, x21, 640 + add x20, x21, 704 mov w0, 15555 - ldrh w1, [x22,1294] + ldrh w1, [x22,1384] movk w0, 0xf55f, lsl 16 - str w0, [x21,640] - ldrb w0, [x22,1249] + str w0, [x21,704] + ldrb w0, [x22,1329] mul w1, w1, w0 mov x0, x23 lsl w1, w1, 2 bl js_hash - str w0, [x21,644] - add x1, x21, 656 + str w0, [x21,708] + add x1, x21, 720 mov x2, 0 mov w0, 2 - str w19, [x21,648] - str w19, [x21,652] - str w19, [x21,656] + str w19, [x21,712] + str w19, [x21,716] + str w19, [x21,720] bl ftl_debug_info_fill adrp x3, .LANCHOR0+3360 mov w0, w24 @@ -17556,7 +17280,7 @@ ftl_write_last_log_page: mov x2, x20 ldrb w3, [x3,#:lo12:.LANCHOR0+3360] bl ftl_prog_ppa_page -.L2743: +.L2694: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -17565,129 +17289,6 @@ ftl_write_last_log_page: ret .size ftl_write_last_log_page, .-ftl_write_last_log_page .align 2 - .global pm_write_page - .type pm_write_page, %function -pm_write_page: - stp x29, x30, [sp, -96]! - add x29, sp, 0 - stp x21, x22, [sp,32] - adrp x22, .LANCHOR4 - mov w21, w0 - stp x23, x24, [sp,48] - add x22, x22, :lo12:.LANCHOR4 - adrp x23, .LC0 - stp x25, x26, [sp,64] - stp x19, x20, [sp,16] - stp x27, x28, [sp,80] - mov x24, x1 - adrp x25, .LANCHOR0 - add x23, x23, :lo12:.LC0 - add x22, x22, 664 -.L2748: - add x0, x25, :lo12:.LANCHOR0 - adrp x19, .LANCHOR0 - ldr x0, [x0,3392] - ldr w1, [x0,48] - ldrh w3, [x0,696] - add w1, w1, 1 - str w1, [x0,48] - adrp x1, .LANCHOR3 - add x2, x1, :lo12:.LANCHOR3 - mov x20, x1 - ldrh w2, [x2,1294] - cmp w3, w2 - bcs .L2749 - ldrh w1, [x0,692] - mov w0, 65535 - cmp w1, w0 - bne .L2750 -.L2749: - bl pm_alloc_new_blk - mov w0, 0 - bl ftl_info_flush -.L2750: - add x0, x19, :lo12:.LANCHOR0 - ldr x0, [x0,3392] - ldrh w1, [x0,692] - mov w0, 65535 - cmp w1, w0 - bne .L2751 - mov x1, x22 - mov w2, 303 - mov x0, x23 - bl printk - bl dump_stack -.L2751: - add x19, x19, :lo12:.LANCHOR0 - add x0, x20, :lo12:.LANCHOR3 - adrp x20, .LANCHOR5 - add x26, x20, :lo12:.LANCHOR5 - ldr x2, [x19,3392] - ldrh w1, [x0,1330] - ldrh w27, [x2,692] - ldrh w0, [x2,696] - mov w2, 64 - madd w27, w27, w1, w0 - ldr x0, [x26,896] - mov w1, 0 - bl ftl_memset - ldr x0, [x26,896] - str w21, [x0] - ldr x1, [x19,3392] - ldr x0, [x26,896] - ldr w1, [x1,48] - str w1, [x0,4] - mov x0, x24 - ldrb w1, [x19,3360] - ldr x28, [x26,896] - lsl w1, w1, 9 - bl js_hash - str w0, [x28,8] - ldr x0, [x19,3392] - mov x2, x24 - ldr x3, [x26,896] - mov w1, w27 - ldrb w4, [x19,3360] - ldrb w0, [x0,694] - bl ftl_prog_page - ldr x3, [x19,3392] - ldrh w2, [x3,696] - add w2, w2, 1 - uxth w2, w2 - strh w2, [x3,696] - cmp w2, 1 - beq .L2752 - ldrb w1, [x26,904] - cbz w1, .L2753 -.L2752: - add x20, x20, :lo12:.LANCHOR5 - strb wzr, [x20,904] - b .L2748 -.L2753: - cmn w0, #1 - bne .L2755 - adrp x0, .LC197 - mov w1, w27 - add x0, x0, :lo12:.LC197 - bl printk - b .L2748 -.L2755: - ldrh w0, [x3,698] - cmp w21, w0 - bcs .L2756 - add x21, x3, x21, uxtw 2 - str w27, [x21,704] -.L2756: - mov w0, 0 - ldp x19, x20, [sp,16] - ldp x21, x22, [sp,32] - ldp x23, x24, [sp,48] - ldp x25, x26, [sp,64] - ldp x27, x28, [sp,80] - ldp x29, x30, [sp], 96 - ret - .size pm_write_page, .-pm_write_page - .align 2 .global ftl_dump_write_open_sblk .type ftl_dump_write_open_sblk, %function ftl_dump_write_open_sblk: @@ -17704,17 +17305,17 @@ ftl_dump_write_open_sblk: stp x27, x28, [sp,128] ldrh w0, [x0,1088] cmp w0, w22 - bls .L2760 + bls .L2698 adrp x20, .LANCHOR3 add x0, x20, :lo12:.LANCHOR3 - ldrb w1, [x0,1264] - cbnz w1, .L2762 - ldrb w0, [x0,1250] - cbz w0, .L2760 -.L2762: + ldrb w1, [x0,1344] + cbnz w1, .L2700 + ldrb w0, [x0,1330] + cbz w0, .L2698 +.L2700: add x0, x21, :lo12:.LANCHOR0 ldrb w1, [x0,1268] - cbnz w1, .L2760 + cbnz w1, .L2698 ldr x0, [x0,1096] ubfiz x19, x22, 2, 16 mov w24, 1 @@ -17722,16 +17323,16 @@ ftl_dump_write_open_sblk: ldrb w0, [x0,2] and w0, w0, 224 cmp w0, 160 - bne .L2763 + bne .L2701 add x0, x20, :lo12:.LANCHOR3 - ldrb w24, [x0,1248] -.L2763: + ldrb w24, [x0,1328] +.L2701: add x23, x29, 128 mov w0, w22 add x1, x23, 16 strh w22, [x29,128] mov w27, 0 - adrp x26, .LC199 + adrp x26, .LC195 bl ftl_get_blk_list_in_sblk uxtb w0, w0 add x1, x20, :lo12:.LANCHOR3 @@ -17740,8 +17341,8 @@ ftl_dump_write_open_sblk: mov w28, w27 strb wzr, [x29,133] mov w25, w27 - ldrh w1, [x1,1294] - add x26, x26, :lo12:.LC199 + ldrh w1, [x1,1384] + add x26, x26, :lo12:.LC195 strh wzr, [x29,138] mul w0, w0, w1 strh w0, [x29,134] @@ -17750,23 +17351,23 @@ ftl_dump_write_open_sblk: add x1, x0, x19 ldrh w4, [x0,x19] ldr w5, [x0,x19] - adrp x0, .LC198 + adrp x0, .LC194 ldrb w3, [x1,2] and w4, w4, 2047 mov w1, w22 ubfx x5, x5, 11, 8 ubfx x2, x3, 5, 3 - add x0, x0, :lo12:.LC198 + add x0, x0, :lo12:.LC194 ubfx x3, x3, 3, 2 bl printk mov w0, 1 bl buf_alloc mov x19, x0 -.L2764: +.L2702: add x0, x20, :lo12:.LANCHOR3 - ldrh w0, [x0,1294] + ldrh w0, [x0,1384] cmp w0, w28 - bls .L2788 + bls .L2726 lsl w0, w28, 1 add w25, w0, w28 sub w0, w0, #1 @@ -17774,47 +17375,47 @@ ftl_dump_write_open_sblk: str w0, [x29,120] str w1, [x29,124] mov w25, 0 -.L2776: +.L2714: ldrb w0, [x23,9] cmp w0, w25 - bls .L2800 + bls .L2738 sxtw x0, w25 mov w27, 1 str x0, [x29,112] -.L2775: +.L2713: cmp w27, w24 - bhi .L2801 + bhi .L2739 ldr x0, [x29,112] add x0, x0, 8 ldrh w2, [x23,x0,lsl 1] mov w0, 65535 cmp w2, w0 - beq .L2766 + beq .L2704 add x1, x20, :lo12:.LANCHOR3 cmp w24, 3 - ldrh w0, [x1,1330] + ldrh w0, [x1,1418] mul w0, w2, w0 - bne .L2767 + bne .L2705 add x3, x21, :lo12:.LANCHOR0 ldrb w3, [x3,1269] - cbz w3, .L2768 + cbz w3, .L2706 ldr w3, [x29,124] - b .L2799 -.L2768: + b .L2737 +.L2706: add w0, w0, w28 orr w3, w0, w27, lsl 24 - b .L2769 -.L2767: + b .L2707 +.L2705: cmp w24, 2 add w3, w0, w28 - bne .L2769 + bne .L2707 ldr w3, [x29,120] -.L2799: +.L2737: add w0, w0, w3 - ldrb w3, [x1,1248] + ldrb w3, [x1,1328] add w0, w0, w27 orr w3, w0, w3, lsl 24 -.L2769: +.L2707: str w3, [x19,40] mov x0, x19 mov w1, 1 @@ -17827,9 +17428,9 @@ ftl_dump_write_open_sblk: ldr x2, [x29,96] cset w11, eq cmn w4, #1 - beq .L2789 - cbz w11, .L2766 -.L2789: + beq .L2727 + cbz w11, .L2704 +.L2727: ldr x7, [x19,8] ldr x0, [x19,24] str x11, [x29,104] @@ -17851,31 +17452,31 @@ ftl_dump_write_open_sblk: ldr w7, [x7,8] bl printk ldr x11, [x29,104] - cbnz w11, .L2788 -.L2766: + cbnz w11, .L2726 +.L2704: add w9, w27, 1 uxth w27, w9 - b .L2775 -.L2801: + b .L2713 +.L2739: add w10, w25, 1 uxth w25, w10 - b .L2776 -.L2800: + b .L2714 +.L2738: add w8, w28, 1 uxth w28, w8 - b .L2764 -.L2788: -.L2773: - adrp x0, .LC200 + b .L2702 +.L2726: +.L2711: + adrp x0, .LC196 mov w3, w25 mov w4, w27 mov w2, w28 mov w1, w22 add x25, x21, :lo12:.LANCHOR0 - add x0, x0, :lo12:.LC200 - adrp x26, .LC201 + add x0, x0, :lo12:.LC196 + adrp x26, .LC197 mov w24, w28 - add x26, x26, :lo12:.LC201 + add x26, x26, :lo12:.LC197 bl printk mov w27, 24 ldrb w2, [x25,3360] @@ -17889,31 +17490,31 @@ ftl_dump_write_open_sblk: ldr x0, [x19,24] lsl w2, w2, 1 bl ftl_memset -.L2777: +.L2715: add x0, x20, :lo12:.LANCHOR3 - ldrh w0, [x0,1294] + ldrh w0, [x0,1384] cmp w0, w24 - bls .L2783 + bls .L2721 lsl w0, w24, 1 mov w25, 0 str w0, [x29,124] -.L2784: +.L2722: ldrb w0, [x23,9] cmp w0, w25 - bls .L2802 + bls .L2740 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L2778 + tbz x0, 12, .L2716 mov x0, x26 mov w1, w24 mov w2, w25 bl printk -.L2778: +.L2716: add x1, x20, :lo12:.LANCHOR3 sxtw x0, w25 - ldrb w5, [x1,1264] - ldrh w2, [x1,1330] - cbz w5, .L2779 + ldrb w5, [x1,1344] + ldrh w2, [x1,1418] + cbz w5, .L2717 add x0, x0, 8 ldrh w0, [x23,x0,lsl 1] mul w2, w0, w2 @@ -17921,22 +17522,22 @@ ftl_dump_write_open_sblk: orr w2, w2, w24 str w2, [x19,40] bl sblk_3d_tlc_dump_prog - b .L2780 -.L2779: + b .L2718 +.L2717: add x0, x0, 8 - ldrb w1, [x1,1248] + ldrb w1, [x1,1328] cmp w1, 2 ldrh w0, [x23,x0,lsl 1] mul w2, w0, w2 - bne .L2781 + bne .L2719 ldr w0, [x29,124] orr w2, w2, w0 mov x0, x19 orr w2, w2, 33554432 str w2, [x19,40] bl sblk_mlc_dump_prog - b .L2780 -.L2781: + b .L2718 +.L2719: add x4, x21, :lo12:.LANCHOR0 orr w2, w2, w24 str w2, [x19,40] @@ -17952,22 +17553,22 @@ ftl_dump_write_open_sblk: ldr x3, [x19,24] ldr x2, [x19,8] bl flash_prog_page_en -.L2780: +.L2718: add w25, w25, 1 uxth w25, w25 - b .L2784 -.L2802: + b .L2722 +.L2740: add w24, w24, 1 uxth w24, w24 - b .L2777 -.L2783: + b .L2715 +.L2721: mov x0, x19 bl zbuf_free - adrp x0, .LC202 + adrp x0, .LC198 mov w1, w22 - add x0, x0, :lo12:.LC202 + add x0, x0, :lo12:.LC198 bl printk -.L2760: +.L2698: sub sp, x29, #48 ldp x19, x20, [sp,64] ldp x21, x22, [sp,80] @@ -17979,6 +17580,883 @@ ftl_dump_write_open_sblk: ret .size ftl_dump_write_open_sblk, .-ftl_dump_write_open_sblk .align 2 + .global gc_ink_check_sblk + .type gc_ink_check_sblk, %function +gc_ink_check_sblk: + stp x29, x30, [sp, -96]! + add x29, sp, 0 + stp x19, x20, [sp,16] + adrp x19, .LANCHOR0 + str x27, [sp,80] + add x0, x19, :lo12:.LANCHOR0 + mov x20, x19 + stp x21, x22, [sp,32] + stp x23, x24, [sp,48] + stp x25, x26, [sp,64] + ldrh w1, [x0,5534] + ldr x21, [x0,5608] + cmp w1, 3 + bhi .L2742 + adrp x0, .L2744 + add x0, x0, :lo12:.L2744 + ldrb w0, [x0,w1,uxtw] + adr x1, .Lrtx2744 + add x0, x1, w0, sxtb #2 + br x0 +.Lrtx2744: + .section .rodata + .align 0 + .align 2 +.L2744: + .byte (.L2743 - .Lrtx2744) / 4 + .byte (.L2745 - .Lrtx2744) / 4 + .byte (.L2746 - .Lrtx2744) / 4 + .byte (.L2747 - .Lrtx2744) / 4 + .text +.L2743: + add x19, x19, :lo12:.LANCHOR0 + ldrh w0, [x19,3380] + cmp w0, 7 + bls .L2741 + ldrb w0, [x19,3362] + cmp w0, 2 + bls .L2741 + adrp x20, .LANCHOR3 + mov w1, 0 + add x20, x20, :lo12:.LANCHOR3 + mov w22, 65535 + add x20, x20, 1408 + mov x0, x20 + bl _list_get_gc_head_node + uxth w0, w0 + cmp w0, w22 + beq .L2741 + ubfiz x0, x0, 2, 16 + ldr x1, [x19,1096] + ldrh w0, [x1,x0] + and w0, w0, 2047 + cmp w0, 2 + bgt .L2741 + mov w0, 1 + add x21, x19, 3424 + bl buf_alloc + str x0, [x19,5608] + cbz x0, .L2741 + mov x0, x20 + mov w1, 0 + add x2, x19, 3380 + bl _list_pop_index_node + uxth w20, w0 + cmp w20, w22 + bne .L2751 + ldr x0, [x19,5608] + bl zbuf_free + str xzr, [x19,5608] + b .L2741 +.L2751: + mov w0, w20 + add x1, x21, 2162 + bl ftl_get_blk_list_in_sblk + strb w0, [x21,2155] + mov w0, 1 + strh w20, [x19,5570] + strh w0, [x19,5534] + ubfiz x20, x20, 2, 16 + ldr x0, [x19,1096] + strh wzr, [x19,5572] + ldrb w2, [x19,3360] + ldrh w0, [x0,x20] + tbz x0, 0, .L2752 + ldr x0, [x19,5608] + mov w1, 85 + ldr x0, [x0,8] + b .L2766 +.L2752: + ldr x0, [x19,5608] + mov w1, 170 + ldr x0, [x0,8] +.L2766: + lsl w2, w2, 9 + bl ftl_memset + b .L2741 +.L2745: + add x19, x19, :lo12:.LANCHOR0 + mov w1, 0 + ldrh w0, [x19,5570] + bl ftl_erase_sblk + mov w0, 2 + strh w0, [x19,5534] + b .L2741 +.L2746: + add x19, x19, :lo12:.LANCHOR0 + mov w23, 0 + add x22, x19, 3424 + mov w20, 65535 + adrp x24, .LANCHOR3 + mov w25, 24 + bl sblk_wait_write_queue_completed +.L2753: + ldrb w0, [x22,2155] + cmp w0, w23 + bls .L2767 + add x0, x22, x23, sxtw 1 + ldrh w0, [x0,2162] + cmp w0, w20 + beq .L2754 + add x1, x24, :lo12:.LANCHOR3 + mov w5, 0 + ldrh w2, [x1,1418] + ldrh w1, [x22,2148] + madd w2, w0, w2, w1 + ldr x0, [x21,8] + str w2, [x0] + mov w0, 65280 + movk w0, 0x55aa, lsl 16 + ldr x1, [x21,8] + str w0, [x1,4] + ldr x0, [x21,24] + str wzr, [x0] + mov w0, 1 + ldrb w3, [x19,1257] + ldrb w4, [x19,3360] + lsl w0, w0, w3 + sub w1, w25, w3 + sub w0, w0, #1 + lsr w3, w2, w1 + lsl w1, w0, w1 + and w0, w3, w0 + bic w1, w2, w1 + ldr x3, [x21,24] + ldr x2, [x21,8] + bl flash_prog_page_en +.L2754: + add w23, w23, 1 + uxth w23, w23 + b .L2753 +.L2767: + ldrh w0, [x22,2148] + adrp x1, .LANCHOR3+1384 + add w0, w0, 1 + ldrh w1, [x1,#:lo12:.LANCHOR3+1384] + uxth w0, w0 + strh w0, [x22,2148] + cmp w1, w0 + bhi .L2741 + mov w0, 3 + strh wzr, [x22,2148] + strh w0, [x22,2110] + b .L2741 +.L2747: + add x19, x19, :lo12:.LANCHOR0 + mov w22, 0 + add x19, x19, 3424 + mov w24, 65535 + adrp x25, .LANCHOR3 + mov w26, -1 + bl sblk_wait_write_queue_completed +.L2756: + ldrb w0, [x19,2155] + cmp w0, w22 + bls .L2768 + add x27, x19, x22, sxtw 1 + ldrh w0, [x27,2162] + add x27, x27, 16 + cmp w0, w24 + beq .L2758 + add x1, x25, :lo12:.LANCHOR3 + ldrh w23, [x1,1418] + ldrh w1, [x19,2148] + madd w23, w0, w23, w1 + str w23, [x21,40] + mov x0, x21 + mov w1, 1 + bl sblk_read_page + ldr x0, [x21,8] + ldr w0, [x0] + cmp w0, w23 + beq .L2758 + mov w0, w23 + bl ftl_mask_bad_block + strh w26, [x27,2146] +.L2758: + add w22, w22, 1 + uxth w22, w22 + b .L2756 +.L2768: + ldrh w0, [x19,2148] + adrp x1, .LANCHOR3+1384 + add w0, w0, 1 + ldrh w1, [x1,#:lo12:.LANCHOR3+1384] + uxth w0, w0 + strh w0, [x19,2148] + cmp w1, w0 + bhi .L2741 + ldr x0, [x19,2184] + strh wzr, [x19,2110] + bl zbuf_free + str xzr, [x19,2184] + ldrh w0, [x19,2112] + cmp w0, 15 + bhi .L2761 + add w1, w0, 1 + strh w1, [x19,2112] + ldrh w1, [x19,2146] + add x0, x19, x0, sxtw 1 + strh w1, [x0,2114] + b .L2762 +.L2761: + ldrh w0, [x19,2146] + bl zftl_insert_free_list +.L2762: + add x19, x20, :lo12:.LANCHOR0 + adrp x0, .LC199 + add x0, x0, :lo12:.LC199 + ldrh w1, [x19,5570] + ldrh w2, [x19,5536] + bl printk + b .L2741 +.L2742: + strh wzr, [x0,5534] +.L2741: + 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 + .size gc_ink_check_sblk, .-gc_ink_check_sblk + .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 x21, x22, [sp,32] + adrp x21, .LANCHOR0 + add x22, x21, :lo12:.LANCHOR0 + stp x19, x20, [sp,16] + stp x23, x24, [sp,48] + stp x25, x26, [sp,64] + stp x27, x28, [sp,80] + uxth w20, w0 + ubfiz x24, x20, 2, 16 + ldr x0, [x22,1096] + mov w1, w20 + ldrh w2, [x0,x24] + ldr w3, [x0,x24] + adrp x0, .LC200 + add x0, x0, :lo12:.LC200 + and w2, w2, 2047 + ubfx x3, x3, 11, 8 + bl printk + mov w0, 65535 + cmp w20, w0 + beq .L2769 + ldrh w0, [x22,1088] + cmp w0, w20 + bls .L2769 + mov w1, 0 + mov w0, w20 + add x23, x29, 112 + bl ftl_erase_sblk + strh w20, [x29,112] + add x1, x23, 16 + mov w0, w20 + bl ftl_get_blk_list_in_sblk + strb w0, [x29,121] + mov w0, 1 + bl buf_alloc + mov x19, x0 + ldr x0, [x22,1096] + ldrb w2, [x22,3360] + ldrh w0, [x0,x24] + and w0, w0, 2047 + cmp w0, 1 + ldr x0, [x19,8] + bgt .L2771 + mov w1, 85 + b .L2786 +.L2771: + mov w1, 170 +.L2786: + lsl w2, w2, 9 + adrp x26, .LANCHOR3 + mov w22, 0 + mov x27, x26 + bl ftl_memset + mov w28, 65535 + bl sblk_wait_write_queue_completed + mov w6, 24 +.L2773: + add x0, x26, :lo12:.LANCHOR3 + adrp x25, .LANCHOR3 + ldrh w0, [x0,1384] + cmp w0, w22 + bls .L2787 + mov w25, 0 + mov w7, 1 +.L2776: + ldrb w0, [x23,9] + cmp w0, w25 + bls .L2788 + add x0, x23, x25, sxtw 1 + ldrh w0, [x0,16] + cmp w0, w28 + beq .L2774 + add x1, x27, :lo12:.LANCHOR3 + add x4, x21, :lo12:.LANCHOR0 + mov w5, 0 + str x6, [x29,96] + str x7, [x29,104] + ldrh w2, [x1,1418] + madd w2, w0, w2, w22 + ldr x0, [x19,8] + str w2, [x0] + mov w0, 65280 + movk w0, 0x55aa, lsl 16 + ldr x1, [x19,8] + str w0, [x1,4] + ldr x0, [x19,24] + str wzr, [x0] + ldrb w0, [x4,1257] + ldrb w4, [x4,3360] + sub w1, w6, w0 + lsl w0, w7, w0 + sub w0, w0, #1 + lsr w3, w2, w1 + lsl w1, w0, w1 + and w0, w3, w0 + bic w1, w2, w1 + ldr x3, [x19,24] + ldr x2, [x19,8] + bl flash_prog_page_en + ldr x6, [x29,96] + ldr x7, [x29,104] +.L2774: + add w25, w25, 1 + uxth w25, w25 + b .L2776 +.L2788: + add w22, w22, 1 + uxth w22, w22 + b .L2773 +.L2787: + mov w22, 0 + mov w27, -1 +.L2777: + add x0, x25, :lo12:.LANCHOR3 + ldrh w0, [x0,1384] + cmp w0, w22 + bls .L2789 + mov w26, 0 +.L2782: + ldrb w0, [x23,9] + cmp w0, w26 + bls .L2790 + sxtw x28, w26 + mov w1, 65535 + add x28, x28, 8 + ldrh w0, [x23,x28,lsl 1] + cmp w0, w1 + beq .L2779 + add x1, x25, :lo12:.LANCHOR3 + ldrh w3, [x1,1418] + mov w1, 1 + madd w3, w0, w3, w22 + str w3, [x19,40] + mov x0, x19 + str x3, [x29,104] + bl sblk_read_page + ldr x0, [x19,8] + ldr x3, [x29,104] + ldr w0, [x0] + cmp w0, w3 + beq .L2779 + mov w0, w3 + bl ftl_mask_bad_block + strh w27, [x23,x28,lsl 1] +.L2779: + add w2, w26, 1 + uxth w26, w2 + b .L2782 +.L2790: + add w22, w22, 1 + uxth w22, w22 + b .L2777 +.L2789: + mov x0, x19 + add x21, x21, :lo12:.LANCHOR0 + bl zbuf_free + ldr x0, [x21,1096] + mov w1, w20 + ldrh w2, [x0,x24] + ldr w3, [x0,x24] + adrp x0, .LC201 + add x0, x0, :lo12:.LC201 + and w2, w2, 2047 + ubfx x3, x3, 11, 8 + bl printk +.L2769: + 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 + .align 2 + .global ftl_alloc_sblk + .type ftl_alloc_sblk, %function +ftl_alloc_sblk: + stp x29, x30, [sp, -80]! + cmp w0, 5 + mov w1, 2 + add x29, sp, 0 + stp x21, x22, [sp,32] + uxth w21, w0 + mov w22, w0 + stp x23, x24, [sp,48] + mov w0, 0 + csel w23, wzr, w1, ne + mov w1, w21 + str x25, [sp,64] + stp x19, x20, [sp,16] + bl zftl_get_free_sblk + uxth w19, w0 + mov w0, 65535 + mov w24, w19 + cmp w19, w0 + beq .L2793 + adrp x1, .LANCHOR0 + ubfiz x25, x19, 2, 16 + add x0, x1, :lo12:.LANCHOR0 + mov x20, x1 + ldr x21, [x0,1096] + add x21, x21, x25 + ldrb w0, [x21,2] + tst w0, 224 + beq .L2794 + adrp x1, .LANCHOR4 + adrp x0, .LC0 + add x1, x1, :lo12:.LANCHOR4 + mov w2, 1012 + add x1, x1, 640 + add x0, x0, :lo12:.LC0 + bl printk + bl dump_stack +.L2794: + ldrb w3, [x21,2] + bfi w3, w22, 5, 3 + ubfx x1, x3, 3, 2 + mov w2, w3 + orr w1, w23, w1 + bfi w2, w1, 3, 2 + strb w2, [x21,2] + cbnz w23, .L2795 + and w0, w2, 24 + cmp w0, 24 + bne .L2795 + mov w0, 1 + bfi w2, w0, 3, 2 + strb w2, [x21,2] +.L2795: + add x1, x20, :lo12:.LANCHOR0 + ldr x0, [x1,3392] + ldrh w0, [x0,150] + cbz w0, .L2796 + ldr x0, [x1,1096] + ldrh w1, [x0,x25] + and w1, w1, 2047 + orr w1, w23, w1 + cbnz w1, .L2796 + mov w0, w24 + bl ftl_ink_check_sblk + b .L2796 +.L2793: + adrp x20, .LC202 + bl print_ftl_debug_info + add x20, x20, :lo12:.LC202 + mov w1, w19 + mov w2, w22 + mov x0, x20 + bl printk + mov w1, w21 + mov w0, 0 + bl zftl_get_free_sblk + uxth w19, w0 + mov w1, w19 + mov w2, w22 + mov x0, x20 + bl printk + bl dump_all_list_info + adrp x1, .LANCHOR4 + adrp x0, .LC0 + add x1, x1, :lo12:.LANCHOR4 + mov w2, 1031 + add x1, x1, 640 + add x0, x0, :lo12:.LC0 + bl printk + bl dump_stack +.L2796: + 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 + .size ftl_alloc_sblk, .-ftl_alloc_sblk + .align 2 + .global ftl_open_sblk_init + .type ftl_open_sblk_init, %function +ftl_open_sblk_init: + stp x29, x30, [sp, -96]! + add x29, sp, 0 + stp x19, x20, [sp,16] + stp x21, x22, [sp,32] + adrp x20, .LC203 + adrp x22, .LANCHOR3 + stp x23, x24, [sp,48] + stp x25, x26, [sp,64] + stp x27, x28, [sp,80] + mov x19, x0 + mov w21, w1 + mov w23, 65535 + add x24, x0, 16 + mov x25, x22 + add x20, x20, :lo12:.LC203 +.L2812: + mov w0, w21 + bl ftl_alloc_sblk + uxth w26, w0 + cmp w26, w23 + beq .L2812 + mov w1, 0 + mov w0, w26 + bl ftl_erase_sblk + mov x1, x24 + mov w0, w26 + bl ftl_get_blk_list_in_sblk + strh w26, [x19] + add x2, x22, :lo12:.LANCHOR3 + uxtb w0, w0 + strb w0, [x19,9] + cmp w21, 2 + strh wzr, [x19,2] + mov w3, 0 + ldrh w1, [x2,1384] + strb wzr, [x19,5] + strh wzr, [x19,10] + mul w0, w1, w0 + strh w0, [x19,6] + strb w21, [x19,4] + beq .L2813 + ldrb w3, [x2,1329] + mul w3, w1, w3 + uxth w3, w3 +.L2813: + add x2, x25, :lo12:.LANCHOR3 + adrp x27, .LANCHOR0 + strh w3, [x19,12] + add x27, x27, :lo12:.LANCHOR0 + ubfiz x28, x26, 1, 16 + ldr x0, [x2,1936] + add x0, x0, x3, uxth 2 + ldrb w2, [x2,1329] + mul w2, w1, w2 + mov w1, 255 + lsl w2, w2, 2 + bl ftl_memset + ldr x0, [x27,1112] + ldrh w1, [x19,6] + strh w1, [x0,x28] + ldrb w0, [x19,9] + cbnz w0, .L2810 +.L2811: + mov w1, w26 + mov x0, x20 + bl printk + ldr x0, [x27,1112] + mov w1, -1 + strh w1, [x0,x28] + mov w0, 7 + strb w0, [x19,4] + b .L2812 +.L2810: + ldp x19, x20, [sp,16] + ldp x21, x22, [sp,32] + ldp x23, x24, [sp,48] + ldp x25, x26, [sp,64] + ldp x27, x28, [sp,80] + ldp x29, x30, [sp], 96 + ret + .size ftl_open_sblk_init, .-ftl_open_sblk_init + .align 2 + .global pm_alloc_new_blk + .type pm_alloc_new_blk, %function +pm_alloc_new_blk: + stp x29, x30, [sp, -64]! + add x29, sp, 0 + stp x19, x20, [sp,16] + adrp x19, .LANCHOR0 + add x0, x19, :lo12:.LANCHOR0 + stp x21, x22, [sp,32] + stp x23, x24, [sp,48] + adrp x22, .LANCHOR3 + ldr x2, [x0,3392] + ldrh w1, [x2,690] + add w1, w1, 1 + uxth w0, w1 + add x1, x22, :lo12:.LANCHOR3 + strh w0, [x2,690] + ldrb w1, [x1,1329] + cmp w1, w0 + bls .L2818 + add x0, x2, x0, sxtw 1 + ldrh w1, [x0,672] + mov w0, 65535 + cmp w1, w0 + bne .L2819 +.L2818: + adrp x23, .LC203 + mov w24, 65535 + add x23, x23, :lo12:.LC203 +.L2820: + mov w0, 1 + bl ftl_alloc_sblk + uxth w21, w0 + cmp w21, w24 + beq .L2820 + mov w1, 0 + mov w0, w21 + add x20, x19, :lo12:.LANCHOR0 + bl ftl_erase_sblk + mov w0, w21 + ldr x1, [x20,3392] + add x1, x1, 672 + bl ftl_get_blk_list_in_sblk + uxth w0, w0 + cbnz w0, .L2821 + mov w1, w21 + mov x0, x23 + bl printk + ldr x1, [x20,1096] + add x21, x1, x21, uxth 2 + ldrb w1, [x21,2] + orr w1, w1, -32 + strb w1, [x21,2] + b .L2820 +.L2821: + ldr x1, [x20,3392] + adrp x0, .LANCHOR5+960 + mov w2, 1 + mov x20, 0 + str w2, [x0,#:lo12:.LANCHOR5+960] + mov w2, 65535 + strh wzr, [x1,690] +.L2823: + add x3, x1, x20, lsl 1 + uxth w0, w20 + ldrh w3, [x3,416] + cmp w3, w2 + beq .L2822 + add x20, x20, 1 + cmp x20, 128 + bne .L2823 + adrp x1, .LANCHOR4 + adrp x0, .LC0 + add x1, x1, :lo12:.LANCHOR4 + mov w2, 264 + add x1, x1, 656 + add x0, x0, :lo12:.LC0 + bl printk + bl dump_stack + mov w0, w20 +.L2822: + add x1, x19, :lo12:.LANCHOR0 + ldr x1, [x1,3392] + add x0, x1, x0, sxtw 1 + strh w21, [x0,416] + ldrh w0, [x1,688] + add w0, w0, 1 + strh w0, [x1,688] +.L2819: + add x0, x19, :lo12:.LANCHOR0 + ldr x1, [x0,3392] + ldrh w0, [x1,690] + add x0, x0, 336 + ldrh w20, [x1,x0,lsl 1] + mov w0, 65533 + sub w1, w20, #1 + cmp w0, w1, uxth + bcs .L2825 + adrp x1, .LANCHOR4 + adrp x0, .LC0 + add x1, x1, :lo12:.LANCHOR4 + mov w2, 270 + add x1, x1, 656 + add x0, x0, :lo12:.LC0 + bl printk + bl dump_stack +.L2825: + add x19, x19, :lo12:.LANCHOR0 + add x22, x22, :lo12:.LANCHOR3 + mov w0, 24 + ldrb w2, [x19,1257] + ldr x1, [x19,3392] + sub w0, w0, w2 + ldrh w2, [x22,1312] + sub w0, w0, w2 + strh wzr, [x1,696] + asr w4, w20, w0 + strh w20, [x1,692] + strh w4, [x1,694] + adrp x1, .LANCHOR2 + ldr w1, [x1,#:lo12:.LANCHOR2] + tbz x1, 12, .L2829 + mov w2, 1 + mov w1, w20 + lsl w2, w2, w0 + adrp x0, .LC204 + add x0, x0, :lo12:.LC204 + sub w2, w2, #1 + mov w3, w20 + uxth w4, w4 + bl printk +.L2829: + mov w0, 0 + ldp x19, x20, [sp,16] + ldp x21, x22, [sp,32] + ldp x23, x24, [sp,48] + ldp x29, x30, [sp], 64 + ret + .size pm_alloc_new_blk, .-pm_alloc_new_blk + .align 2 + .global pm_write_page + .type pm_write_page, %function +pm_write_page: + stp x29, x30, [sp, -96]! + add x29, sp, 0 + stp x21, x22, [sp,32] + adrp x22, .LANCHOR4 + mov w21, w0 + stp x23, x24, [sp,48] + add x22, x22, :lo12:.LANCHOR4 + adrp x23, .LC0 + stp x25, x26, [sp,64] + stp x19, x20, [sp,16] + stp x27, x28, [sp,80] + mov x24, x1 + adrp x25, .LANCHOR0 + add x23, x23, :lo12:.LC0 + add x22, x22, 680 +.L2835: + add x0, x25, :lo12:.LANCHOR0 + adrp x19, .LANCHOR0 + ldr x0, [x0,3392] + ldr w1, [x0,48] + ldrh w3, [x0,696] + add w1, w1, 1 + str w1, [x0,48] + adrp x1, .LANCHOR3 + add x2, x1, :lo12:.LANCHOR3 + mov x20, x1 + ldrh w2, [x2,1384] + cmp w3, w2 + bcs .L2836 + ldrh w1, [x0,692] + mov w0, 65535 + cmp w1, w0 + bne .L2837 +.L2836: + bl pm_alloc_new_blk + mov w0, 0 + bl ftl_info_flush +.L2837: + add x0, x19, :lo12:.LANCHOR0 + ldr x0, [x0,3392] + ldrh w1, [x0,692] + mov w0, 65535 + cmp w1, w0 + bne .L2838 + mov x1, x22 + mov w2, 303 + mov x0, x23 + bl printk + bl dump_stack +.L2838: + add x19, x19, :lo12:.LANCHOR0 + add x0, x20, :lo12:.LANCHOR3 + adrp x20, .LANCHOR5 + add x26, x20, :lo12:.LANCHOR5 + ldr x2, [x19,3392] + ldrh w1, [x0,1418] + ldrh w27, [x2,692] + ldrh w0, [x2,696] + mov w2, 64 + madd w27, w27, w1, w0 + ldr x0, [x26,968] + mov w1, 0 + bl ftl_memset + ldr x0, [x26,968] + str w21, [x0] + ldr x1, [x19,3392] + ldr x0, [x26,968] + ldr w1, [x1,48] + str w1, [x0,4] + mov x0, x24 + ldrb w1, [x19,3360] + ldr x28, [x26,968] + lsl w1, w1, 9 + bl js_hash + str w0, [x28,8] + ldr x0, [x19,3392] + mov x2, x24 + ldr x3, [x26,968] + mov w1, w27 + ldrb w4, [x19,3360] + ldrb w0, [x0,694] + bl ftl_prog_page + ldr x3, [x19,3392] + ldrh w2, [x3,696] + add w2, w2, 1 + uxth w2, w2 + strh w2, [x3,696] + cmp w2, 1 + beq .L2839 + ldrb w1, [x26,976] + cbz w1, .L2840 +.L2839: + add x20, x20, :lo12:.LANCHOR5 + strb wzr, [x20,976] + b .L2835 +.L2840: + cmn w0, #1 + bne .L2842 + adrp x0, .LC205 + mov w1, w27 + add x0, x0, :lo12:.LC205 + bl printk + b .L2835 +.L2842: + ldrh w0, [x3,698] + cmp w21, w0 + bcs .L2843 + add x21, x3, x21, uxtw 2 + str w27, [x21,704] +.L2843: + mov w0, 0 + ldp x19, x20, [sp,16] + ldp x21, x22, [sp,32] + ldp x23, x24, [sp,48] + ldp x25, x26, [sp,64] + ldp x27, x28, [sp,80] + ldp x29, x30, [sp], 96 + ret + .size pm_write_page, .-pm_write_page + .align 2 .global flash_info_flush .type flash_info_flush, %function flash_info_flush: @@ -17991,114 +18469,114 @@ flash_info_flush: stp x23, x24, [sp,48] stp x25, x26, [sp,64] stp x27, x28, [sp,80] - tbz x0, 12, .L2804 + tbz x0, 12, .L2848 adrp x2, .LANCHOR4 - adrp x0, .LC141 + adrp x0, .LC138 add x2, x2, :lo12:.LANCHOR4 - add x0, x0, :lo12:.LC141 - mov w1, 364 - add x2, x2, 680 + add x0, x0, :lo12:.LC138 + mov w1, 365 + add x2, x2, 696 bl printk -.L2804: +.L2848: adrp x22, .LANCHOR5 adrp x23, .LANCHOR0 add x0, x22, :lo12:.LANCHOR5 mov w1, 0 mov w2, 64 add x19, x23, :lo12:.LANCHOR0 - adrp x24, .LC204 - adrp x25, .LC205 - ldr x0, [x0,912] + adrp x24, .LC207 + adrp x25, .LC208 + ldr x0, [x0,984] mov w26, 0 - add x24, x24, :lo12:.LC204 - add x25, x25, :lo12:.LC205 + add x24, x24, :lo12:.LC207 + add x25, x25, :lo12:.LC208 bl ftl_memset - ldr x1, [x19,1240] - adrp x0, .LC203 - add x0, x0, :lo12:.LC203 + ldr x1, [x19,1128] + adrp x0, .LC206 + add x0, x0, :lo12:.LC206 mov w2, 4 mov w3, 16 bl rknand_print_hex - ldr x19, [x19,1240] + ldr x19, [x19,1128] add x0, x19, 16 ldr w1, [x19,8] bl js_hash str w0, [x19,12] -.L2805: +.L2849: add x21, x22, :lo12:.LANCHOR5 add x27, x23, :lo12:.LANCHOR0 mov x0, x24 - ldrb w20, [x21,920] - ldrh w19, [x21,922] + ldrb w20, [x21,992] + ldrh w19, [x21,994] mov w1, w20 ldrh w28, [x27,2] mov w2, w19 bl printk - ldrh w1, [x21,92] - ldrh w0, [x21,922] + ldrh w1, [x21,180] + ldrh w0, [x21,994] sub w1, w1, #1 cmp w0, w1 - blt .L2806 - ldr x1, [x27,1240] - strh wzr, [x21,922] + blt .L2850 + ldr x1, [x27,1128] + strh wzr, [x21,994] ldr w0, [x1,4] add w0, w0, 1 str w0, [x1,4] - ldrb w0, [x21,920] - ldr x19, [x27,1240] - ldrb w1, [x21,921] - strb w0, [x21,921] + ldrb w0, [x21,992] + ldr x19, [x27,1128] + ldrb w1, [x21,993] + strb w0, [x21,993] mov x0, x19 - strb w1, [x21,920] + strb w1, [x21,992] ldrh w1, [x19,16] add w1, w1, 1 strh w1, [x0,16]! ldr w1, [x19,8] bl js_hash str w0, [x19,12] - ldrb w1, [x21,920] + ldrb w1, [x21,992] mov w0, 0 ldrh w19, [x27,2] mul w19, w1, w19 - b .L2814 -.L2806: + b .L2858 +.L2850: madd w19, w20, w28, w19 - cbnz w0, .L2807 -.L2814: + cbnz w0, .L2851 +.L2858: mov w1, w19 bl flash_erase_block -.L2807: +.L2851: add x2, x23, :lo12:.LANCHOR0 add x20, x22, :lo12:.LANCHOR5 mov w4, 4 mov w5, 1 - ldr x1, [x2,1240] - ldr x0, [x20,912] + ldr x1, [x2,1128] + ldr x0, [x20,984] ldr w1, [x1,4] str w1, [x0] mov w0, 21321 movk w0, 0x5359, lsl 16 - ldr x1, [x20,912] + ldr x1, [x20,984] str w0, [x1,4] mov w1, w19 mov w0, 0 - ldr x2, [x2,1240] - ldr x3, [x20,912] + ldr x2, [x2,1128] + ldr x3, [x20,984] bl flash_prog_page_en cmn w0, #1 - ldrh w1, [x20,922] + ldrh w1, [x20,994] add w1, w1, 1 - strh w1, [x20,922] - bne .L2808 + strh w1, [x20,994] + bne .L2852 mov x0, x25 mov w1, w19 bl printk - b .L2805 -.L2808: - cbnz w26, .L2815 + b .L2849 +.L2852: + cbnz w26, .L2859 mov w26, 1 - b .L2805 -.L2815: + b .L2849 +.L2859: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -18121,157 +18599,157 @@ flash_info_blk_init: stp x23, x24, [sp,48] str x25, [sp,64] adrp x20, .LANCHOR0 - tbz x0, 12, .L2817 + tbz x0, 12, .L2861 add x4, x20, :lo12:.LANCHOR0 adrp x2, .LANCHOR4 - adrp x0, .LC206 + adrp x0, .LC209 add x2, x2, :lo12:.LANCHOR4 - add x0, x0, :lo12:.LC206 - mov w1, 49 - ldr x4, [x4,1240] - add x2, x2, 704 + add x0, x0, :lo12:.LC209 + mov w1, 50 + ldr x4, [x4,1128] + add x2, x2, 720 mov w3, 2048 bl printk -.L2817: +.L2861: mov w24, 4 adrp x25, .LANCHOR5 -.L2818: +.L2862: mov w23, 0 -.L2821: +.L2865: add x19, x20, :lo12:.LANCHOR0 add x21, x25, :lo12:.LANCHOR5 mov w0, 0 mov w4, 4 adrp x22, .LANCHOR5 ldrh w1, [x19,2] - ldr x2, [x19,1240] - ldr x3, [x21,912] + ldr x2, [x19,1128] + ldr x3, [x21,984] madd w1, w24, w1, w23 bl flash_read_page_en cmn w0, #1 - beq .L2819 - ldr x2, [x19,1240] + beq .L2863 + ldr x2, [x19,1128] mov w0, 21321 movk w0, 0x5359, lsl 16 ldr w1, [x2] cmp w1, w0 - beq .L2820 -.L2819: + beq .L2864 +.L2863: add w23, w23, 1 cmp w23, 4 - bne .L2821 + bne .L2865 add w24, w24, 1 cmp w24, 16 - bne .L2818 - b .L2830 -.L2820: + bne .L2862 + b .L2874 +.L2864: ldrb w1, [x2,36] mov w4, 4 ldrh w3, [x19,2] - strb w1, [x21,920] + strb w1, [x21,992] ldrb w0, [x2,37] mul w1, w1, w3 - ldr x3, [x21,912] - strb w0, [x21,921] + ldr x3, [x21,984] + strb w0, [x21,993] mov w0, 0 mov w21, 0 bl flash_read_page_en cmn w0, #1 - beq .L2823 - ldr x0, [x19,1240] + beq .L2867 + ldr x0, [x19,1128] mov w1, 21321 movk w1, 0x5359, lsl 16 mov w21, 0 ldr w2, [x0] cmp w2, w1 - bne .L2823 + bne .L2867 ldr w21, [x0,4] -.L2823: +.L2867: add x19, x22, :lo12:.LANCHOR5 add x23, x20, :lo12:.LANCHOR0 mov w0, 0 mov w4, 4 - ldrb w2, [x19,921] + ldrb w2, [x19,993] ldrh w1, [x23,2] - ldr x3, [x19,912] + ldr x3, [x19,984] mul w1, w2, w1 - ldr x2, [x23,1240] + ldr x2, [x23,1128] bl flash_read_page_en cmn w0, #1 - bne .L2847 -.L2824: + bne .L2891 +.L2868: add x19, x22, :lo12:.LANCHOR5 add x21, x20, :lo12:.LANCHOR0 mov w0, 0 mov w4, 4 - ldrb w1, [x19,920] - ldr x2, [x21,1240] - ldr x3, [x19,912] + ldrb w1, [x19,992] + ldr x2, [x21,1128] + ldr x3, [x19,984] bl flash_get_last_written_page ldrh w23, [x21,2] - ldrb w1, [x19,920] + ldrb w1, [x19,992] uxth w24, w0 add w0, w24, 1 mov w21, 0 - strh w0, [x19,922] + strh w0, [x19,994] mul w23, w1, w23 -.L2825: +.L2869: sub w19, w24, w21 sxth w19, w19 - tbz w19, #31, .L2828 + tbz w19, #31, .L2872 cmn w19, #1 - bne .L2827 + bne .L2871 add x20, x20, :lo12:.LANCHOR0 - adrp x0, .LC207 - add x0, x0, :lo12:.LC207 - ldr x1, [x20,1240] + adrp x0, .LC210 + add x0, x0, :lo12:.LC210 + ldr x1, [x20,1128] ldr w1, [x1] bl printk -.L2830: +.L2874: mov w0, -1 - b .L2846 -.L2847: - ldr x0, [x23,1240] + b .L2890 +.L2891: + ldr x0, [x23,1128] mov w1, 21321 movk w1, 0x5359, lsl 16 ldr w2, [x0] cmp w2, w1 - bne .L2824 + bne .L2868 ldr w1, [x0,4] cmp w21, w1 - bcs .L2824 + bcs .L2868 ldrb w1, [x0,37] ldrb w0, [x0,36] - strb w1, [x19,920] - strb w0, [x19,921] - b .L2824 -.L2828: + strb w1, [x19,992] + strb w0, [x19,993] + b .L2868 +.L2872: add x25, x20, :lo12:.LANCHOR0 add x3, x22, :lo12:.LANCHOR5 mov w0, 0 add w1, w19, w23 mov w4, 4 - ldr x2, [x25,1240] - ldr x3, [x3,912] + ldr x2, [x25,1128] + ldr x3, [x3,984] bl flash_read_page_en cmn w0, #1 - beq .L2826 - ldr x0, [x25,1240] + beq .L2870 + ldr x0, [x25,1128] ldr w1, [x0] mov w0, 21321 movk w0, 0x5359, lsl 16 cmp w1, w0 - beq .L2827 -.L2826: + beq .L2871 +.L2870: add w21, w21, 1 - b .L2825 -.L2827: + b .L2869 +.L2871: cmp w21, 1 mov w0, 0 - bls .L2846 + bls .L2890 bl flash_info_flush mov w0, 0 -.L2846: +.L2890: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -18292,15 +18770,15 @@ nand_flash_init: stp x23, x24, [sp,48] ldr w0, [x20,#:lo12:.LANCHOR2] str x25, [sp,64] - tbz x0, 12, .L2849 + tbz x0, 12, .L2893 adrp x2, .LANCHOR4 - adrp x0, .LC141 + adrp x0, .LC138 add x2, x2, :lo12:.LANCHOR4 - add x0, x0, :lo12:.LC141 - mov w1, 3429 - add x2, x2, 728 + add x0, x0, :lo12:.LC138 + mov w1, 3450 + add x2, x2, 744 bl printk -.L2849: +.L2893: adrp x21, .LANCHOR5 mov x0, x19 add x23, x21, :lo12:.LANCHOR5 @@ -18308,95 +18786,95 @@ nand_flash_init: add x22, x19, :lo12:.LANCHOR0 mov w25, 44 add x24, x22, 1272 - str wzr, [x23,236] + str wzr, [x23,324] bl nandc_init mov w0, 1 add x1, x20, :lo12:.LANCHOR2 add x1, x1, 8 - strb w0, [x22,1145] + strb w0, [x22,1153] mov w0, 3 - str x1, [x22,1136] + str x1, [x22,1144] strb w0, [x22,1257] mov w1, 0 mov w2, 8 add x0, x22, 1248 bl ftl_memset - add x0, x23, 96 + add x0, x23, 184 mov w1, 0 mov w2, 32 mov w23, 0 bl ftl_memset -.L2855: +.L2899: mov w0, w23 mov x1, x24 bl flash_read_id - cbnz w23, .L2850 + cbnz w23, .L2894 ldrb w0, [x22,1272] add x1, x22, 1272 sub w0, w0, #1 uxtb w0, w0 cmp w0, 253 - bls .L2851 -.L2853: + bls .L2895 +.L2897: mov w22, -2 - b .L2933 -.L2851: + b .L2977 +.L2895: ldrb w0, [x1,1] cmp w0, 255 - beq .L2853 -.L2850: + beq .L2897 +.L2894: ldrb w0, [x24] cmp w0, 181 - bne .L2854 + bne .L2898 strb w25, [x24] -.L2854: +.L2898: add w23, w23, 1 add x24, x24, 8 uxtb w23, w23 cmp w23, 4 - bne .L2855 + bne .L2899 add x23, x20, :lo12:.LANCHOR2 add x24, x19, :lo12:.LANCHOR0 add x23, x23, 440 mov w22, 0 add x24, x24, 1272 -.L2858: +.L2902: ldrb w2, [x23] add x0, x23, 1 mov x1, x24 bl flash_mem_cmp8 - cbnz w0, .L2856 + cbnz w0, .L2900 add x1, x20, :lo12:.LANCHOR2 ubfiz x22, x22, 5, 32 add x0, x1, 440 adds x22, x0, x22 - beq .L2853 + beq .L2897 ldrb w3, [x22,22] mov x0, 0 - b .L2860 -.L2856: + b .L2904 +.L2900: add w22, w22, 1 add x23, x23, 32 cmp w22, 49 - bne .L2858 - b .L2853 -.L2860: + bne .L2902 + b .L2897 +.L2904: add x4, x1, x0, lsl 5 mov w2, w0 ldrb w4, [x4,2008] cmp w4, w3 - beq .L2859 + beq .L2903 add x0, x0, 1 cmp x0, 4 - bne .L2860 + bne .L2904 mov w2, w0 -.L2859: +.L2903: add x23, x20, :lo12:.LANCHOR2 add x24, x19, :lo12:.LANCHOR0 add x1, x23, 2008 ubfiz x2, x2, 5, 32 add x1, x1, x2 - add x0, x24, 1152 + add x0, x24, 1160 mov w2, 32 add x23, x23, 8 bl ftl_memcpy @@ -18406,83 +18884,83 @@ nand_flash_init: bl ftl_memcpy ldrb w0, [x24,1028] cmp w0, 8 - bhi .L2861 + bhi .L2905 ldrb w0, [x23,20] cmp w0, 60 - bls .L2861 + bls .L2905 mov w0, 60 strb w0, [x23,20] -.L2861: +.L2905: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2895 + tbz x0, 12, .L2939 adrp x2, .LANCHOR4 - adrp x0, .LC141 + adrp x0, .LC138 add x2, x2, :lo12:.LANCHOR4 - add x0, x0, :lo12:.LC141 - mov w1, 3456 - add x2, x2, 728 + add x0, x0, :lo12:.LC138 + mov w1, 3477 + add x2, x2, 744 bl printk -.L2895: +.L2939: add x0, x19, :lo12:.LANCHOR0 - ldr x1, [x0,1136] + ldr x1, [x0,1144] ldrh w1, [x1,10] cmp w1, 1023 - bls .L2862 + bls .L2906 mov w1, 2 strb w1, [x0,1257] -.L2862: +.L2906: add x23, x21, :lo12:.LANCHOR5 mov w0, 16384 add x22, x19, :lo12:.LANCHOR0 add x24, x20, :lo12:.LANCHOR2 bl ftl_malloc - str x0, [x23,248] + str x0, [x23,336] mov w0, 16384 bl ftl_malloc - str x0, [x23,208] + str x0, [x23,296] mov w0, 2048 bl ftl_malloc - str x0, [x22,1240] + str x0, [x22,1128] mov w0, 64 bl ftl_malloc - str x0, [x23,256] + str x0, [x23,344] mov w0, 64 bl ftl_malloc - str x0, [x23,224] + str x0, [x23,312] mov w0, 64 bl ftl_malloc - strb wzr, [x23,924] - str x0, [x23,912] + strb wzr, [x23,996] + str x0, [x23,984] bl flash_die_info_init ldrb w0, [x24,26] bl flash_lsb_page_tbl_build ldrb w0, [x24,28] bl nandc_bch_sel - str xzr, [x23,240] - ldr x3, [x22,1136] + str xzr, [x23,328] + ldr x3, [x22,1144] adrp x2, .LANCHOR3 add x2, x2, :lo12:.LANCHOR3 ldrh w0, [x3,16] ubfx x1, x0, 8, 3 strb w1, [x22,1304] ubfx x1, x0, 3, 1 - strb w1, [x23,272] + strb w1, [x23,360] ubfx x1, x0, 4, 1 strb w1, [x22,1305] ubfx x1, x0, 12, 1 - strb w1, [x2,1264] + strb w1, [x2,1344] ubfx x1, x0, 13, 1 - strb w1, [x2,1250] + strb w1, [x2,1330] ubfx x1, x0, 11, 1 strb w1, [x22,1268] ldrb w1, [x3,31] ubfx x4, x1, 1, 1 - strb w4, [x2,1868] + strb w4, [x2,1956] ubfx x4, x1, 2, 1 - strb w4, [x23,925] + strb w4, [x23,997] ubfx x4, x0, 14, 1 lsr w0, w0, 15 - strb w0, [x2,1251] + strb w0, [x2,1331] ubfx x2, x1, 3, 1 strb w2, [x22,1256] ubfx x1, x1, 4, 1 @@ -18493,84 +18971,84 @@ nand_flash_init: mov w1, 60 strb w4, [x22,1] strb w0, [x19,#:lo12:.LANCHOR0] - strb w1, [x22,1144] - bne .L2863 + strb w1, [x22,1152] + bne .L2907 mov w1, 70 - strb w1, [x22,1144] -.L2863: + strb w1, [x22,1152] +.L2907: add x1, x19, :lo12:.LANCHOR0 - strb w0, [x1,1146] + strb w0, [x1,1154] add x0, x20, :lo12:.LANCHOR2 add x0, x0, 8 ldrb w3, [x0,31] - tbz x3, 0, .L2864 + tbz x3, 0, .L2908 ldrb w0, [x0,29] - cbz w0, .L2865 + cbz w0, .L2909 mov w0, 2 - b .L2935 -.L2865: + b .L2979 +.L2909: mov w0, 3 -.L2935: - strb w0, [x1,1146] -.L2864: +.L2979: + strb w0, [x1,1154] +.L2908: cmp w2, 8 - bne .L2866 + bne .L2910 add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,1272] cmp w0, 137 - beq .L2896 + beq .L2940 cmp w0, 44 - bne .L2866 -.L2896: + bne .L2910 +.L2940: add x0, x20, :lo12:.LANCHOR2 ldrb w0, [x0,36] cmp w0, 3 - bne .L2866 + bne .L2910 add x0, x19, :lo12:.LANCHOR0 - strb wzr, [x0,1146] -.L2866: + strb wzr, [x0,1154] +.L2910: add x1, x20, :lo12:.LANCHOR2 add x2, x19, :lo12:.LANCHOR0 add x1, x1, 8 ldrb w0, [x1,19] ldrh w1, [x1,16] - strb w0, [x2,1237] - tbz x1, 6, .L2869 + strb w0, [x2,1136] + tbz x1, 6, .L2913 sub w1, w0, #17 cmp w0, 21 cset w2, eq uxtb w1, w1 cmp w1, 2 - bls .L2897 - cbz w2, .L2870 -.L2897: + bls .L2941 + cbz w2, .L2914 +.L2941: add x0, x21, :lo12:.LANCHOR5 adrp x1, micron_read_retrial add x1, x1, :lo12:micron_read_retrial - str x1, [x0,240] + str x1, [x0,328] mov w1, 15 - cbz w2, .L2936 + cbz w2, .L2980 mov w1, 4 -.L2936: - strb w1, [x0,232] - b .L2869 -.L2870: +.L2980: + strb w1, [x0,320] + b .L2913 +.L2914: sub w1, w0, #65 uxtb w1, w1 cmp w1, 1 - bls .L2898 + bls .L2942 cmp w0, 33 - bne .L2874 -.L2898: + bne .L2918 +.L2942: add x0, x21, :lo12:.LANCHOR5 adrp x1, toshiba_read_retrial add x1, x1, :lo12:toshiba_read_retrial mov w2, 4 - str x1, [x0,240] + str x1, [x0,328] add x1, x19, :lo12:.LANCHOR0 - strb w2, [x1,1238] - b .L2939 -.L2874: + strb w2, [x1,1137] + b .L2983 +.L2918: sub w1, w0, #67 uxtb w1, w1 cmp w1, 1 @@ -18578,161 +19056,161 @@ nand_flash_init: cset w2, ls uxtb w1, w1 cmp w1, 1 - bls .L2899 - cbz w2, .L2876 -.L2899: + bls .L2943 + cbz w2, .L2920 +.L2943: add x3, x21, :lo12:.LANCHOR5 adrp x1, toshiba_read_retrial add x1, x1, :lo12:toshiba_read_retrial cmp w0, 35 - str x1, [x3,240] - beq .L2878 + str x1, [x3,328] + beq .L2922 cmp w0, 68 - beq .L2878 + beq .L2922 mov w0, 7 - strb w0, [x3,232] - b .L2879 -.L2878: + strb w0, [x3,320] + b .L2923 +.L2922: add x0, x21, :lo12:.LANCHOR5 mov w1, 17 - strb w1, [x0,232] -.L2879: + strb w1, [x0,320] +.L2923: add x0, x19, :lo12:.LANCHOR0 mov w1, 4 - cbnz w2, .L2937 + cbnz w2, .L2981 mov w1, 5 -.L2937: - strb w1, [x0,1238] - b .L2869 -.L2876: +.L2981: + strb w1, [x0,1137] + b .L2913 +.L2920: sub w1, w0, #36 uxtb w1, w1 cmp w1, 1 - bhi .L2881 + bhi .L2925 add x0, x21, :lo12:.LANCHOR5 adrp x1, toshiba_3d_read_retrial add x1, x1, :lo12:toshiba_3d_read_retrial - str x1, [x0,240] -.L2939: + str x1, [x0,328] +.L2983: mov w1, 7 - b .L2936 -.L2881: + b .L2980 +.L2925: cmp w0, 50 - bne .L2882 + bne .L2926 add x0, x21, :lo12:.LANCHOR5 adrp x1, samsung_read_retrial add x1, x1, :lo12:samsung_read_retrial - str x1, [x0,240] + str x1, [x0,328] mov w1, 25 - b .L2936 -.L2882: + b .L2980 +.L2926: cmp w0, 81 - bne .L2869 + bne .L2913 add x0, x21, :lo12:.LANCHOR5 adrp x1, ymtc_3d_read_retrial add x1, x1, :lo12:ymtc_3d_read_retrial - str x1, [x0,240] + str x1, [x0,328] mov w1, 7 - strb w1, [x0,232] + strb w1, [x0,320] add x0, x19, :lo12:.LANCHOR0 - strb wzr, [x0,1185] -.L2869: + strb wzr, [x0,1193] +.L2913: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2883 + tbz x0, 12, .L2927 adrp x2, .LANCHOR4 - adrp x0, .LC141 + adrp x0, .LC138 add x2, x2, :lo12:.LANCHOR4 - add x0, x0, :lo12:.LC141 - mov w1, 3549 - add x2, x2, 728 + add x0, x0, :lo12:.LC138 + mov w1, 3570 + add x2, x2, 744 bl printk -.L2883: +.L2927: add x0, x19, :lo12:.LANCHOR0 ldrb w1, [x0,1304] - strb wzr, [x0,1184] - tbz x1, 0, .L2884 + strb wzr, [x0,1192] + tbz x1, 0, .L2928 ldrb w0, [x0,1272] cmp w0, 155 - beq .L2885 + beq .L2929 mov w0, 4 bl flash_set_interface_mode mov w0, 4 bl nandc_set_if_mode -.L2885: +.L2929: mov w0, 1 bl flash_set_interface_mode mov w0, 1 - b .L2938 -.L2884: + b .L2982 +.L2928: mov w0, 4 -.L2938: +.L2982: bl nandc_set_if_mode bl flash_info_blk_init cmn w0, #1 mov w22, w0 - bne .L2887 + bne .L2931 add x19, x19, :lo12:.LANCHOR0 mov w1, 17 - ldr x0, [x19,1240] + ldr x0, [x19,1128] strb wzr, [x19,1264] strb w1, [x0,32] mov w0, 0 bl zftl_flash_exit_slc_mode - b .L2933 -.L2887: + b .L2977 +.L2931: add x0, x20, :lo12:.LANCHOR2 ldrb w0, [x0,15] cmp w0, 9 - bne .L2888 + bne .L2932 add x0, x19, :lo12:.LANCHOR0 - ldr x1, [x0,1240] + ldr x1, [x0,1128] ldrb w1, [x1,20] cmp w1, 1 - beq .L2888 - strb wzr, [x0,1146] -.L2888: + beq .L2932 + strb wzr, [x0,1154] +.L2932: add x0, x19, :lo12:.LANCHOR0 - ldrb w0, [x0,1237] + ldrb w0, [x0,1136] sub w0, w0, #1 uxtb w0, w0 cmp w0, 7 - bhi .L2889 + bhi .L2933 add x0, x21, :lo12:.LANCHOR5 adrp x1, hynix_read_retrial add x1, x1, :lo12:hynix_read_retrial - str x1, [x0,240] -.L2889: + str x1, [x0,328] +.L2933: add x19, x19, :lo12:.LANCHOR0 ldrb w0, [x19,1304] - tbz x0, 2, .L2891 - ldr x0, [x19,1240] + tbz x0, 2, .L2935 + ldr x0, [x19,1128] ldrb w0, [x0,19] - cbz w0, .L2891 + cbz w0, .L2935 add x21, x21, :lo12:.LANCHOR5 ldrh w1, [x19,2] mov w0, 0 - ldrb w2, [x21,920] + ldrb w2, [x21,992] mul w1, w2, w1 bl flash_ddr_para_scan - ldrb w0, [x19,1184] - cbnz w0, .L2891 - ldr x1, [x19,1240] + ldrb w0, [x19,1192] + cbnz w0, .L2935 + ldr x1, [x19,1128] strb w0, [x1,19] bl flash_info_flush -.L2891: +.L2935: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2893 + tbz x0, 12, .L2937 adrp x2, .LANCHOR4 - adrp x0, .LC141 + adrp x0, .LC138 add x2, x2, :lo12:.LANCHOR4 - add x0, x0, :lo12:.LC141 - mov w1, 3647 - add x2, x2, 728 + add x0, x0, :lo12:.LC138 + mov w1, 3673 + add x2, x2, 744 bl printk -.L2893: +.L2937: mov w22, 0 bl nand_flash_print_info -.L2933: +.L2977: mov w0, w22 ldr x25, [sp,64] ldp x19, x20, [sp,16] @@ -18757,19 +19235,19 @@ ftl_sysblk_dump: stp x21, x22, [sp,80] mov w20, 0 bl buf_alloc - adrp x22, .LC199 + adrp x22, .LC195 ldr x26, [x0,8] mov x25, x0 mov w19, w20 adrp x27, .LANCHOR3 adrp x28, .LANCHOR0 - add x22, x22, :lo12:.LC199 -.L2941: + add x22, x22, :lo12:.LC195 +.L2985: add x2, x27, :lo12:.LANCHOR3 - ldrh w3, [x2,1294] + ldrh w3, [x2,1384] cmp w3, w19 - bls .L2953 - ldrh w21, [x2,1330] + bls .L2997 + ldrh w21, [x2,1418] add x3, x28, :lo12:.LANCHOR0 ldr x1, [x25,8] ldr x2, [x25,24] @@ -18800,34 +19278,34 @@ ftl_sysblk_dump: ldr w7, [x7,8] bl printk cmp w23, 512 - beq .L2946 + beq .L2990 cmn w23, #1 - bne .L2942 -.L2946: + bne .L2986 +.L2990: mov w20, 1 -.L2942: +.L2986: add w19, w19, 1 uxth w19, w19 - b .L2941 -.L2953: - adrp x0, .LC208 + b .L2985 +.L2997: + adrp x0, .LC211 add x1, x26, 704 - add x0, x0, :lo12:.LC208 + add x0, x0, :lo12:.LC211 mov w2, 4 mov w3, 32 bl rknand_print_hex mov x0, x25 bl zbuf_free - cbz w20, .L2945 + cbz w20, .L2989 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 1611 - add x1, x1, 744 + mov w2, 1619 + add x1, x1, 760 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L2945: +.L2989: sub sp, x29, #48 mov w0, w20 ldp x19, x20, [sp,64] @@ -18854,41 +19332,41 @@ ftl_open_sblk_recovery: stp x23, x24, [sp,48] stp x25, x26, [sp,64] stp x27, x28, [sp,80] - tbz x0, 12, .L2955 - adrp x0, .LC209 - ldrh w1, [x19,2] - add x0, x0, :lo12:.LC209 - bl printk -.L2955: - ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 12, .L2956 - adrp x0, .LC210 - ldrb w1, [x19,5] - add x0, x0, :lo12:.LC210 - bl printk -.L2956: - ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 12, .L2957 - adrp x0, .LC211 - ldrh w1, [x19] - add x0, x0, :lo12:.LC211 - bl printk -.L2957: - ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 12, .L2958 + tbz x0, 12, .L2999 adrp x0, .LC212 - ldrh w1, [x19,16] - ldrh w2, [x19,18] + ldrh w1, [x19,2] add x0, x0, :lo12:.LC212 bl printk -.L2958: +.L2999: ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 12, .L2959 + tbz x0, 12, .L3000 adrp x0, .LC213 - ldrb w1, [x19,9] + ldrb w1, [x19,5] add x0, x0, :lo12:.LC213 bl printk -.L2959: +.L3000: + ldr w0, [x22,#:lo12:.LANCHOR2] + tbz x0, 12, .L3001 + adrp x0, .LC214 + ldrh w1, [x19] + add x0, x0, :lo12:.LC214 + bl printk +.L3001: + ldr w0, [x22,#:lo12:.LANCHOR2] + tbz x0, 12, .L3002 + adrp x0, .LC215 + ldrh w1, [x19,16] + ldrh w2, [x19,18] + add x0, x0, :lo12:.LC215 + bl printk +.L3002: + ldr w0, [x22,#:lo12:.LANCHOR2] + tbz x0, 12, .L3003 + adrp x0, .LC216 + ldrb w1, [x19,9] + add x0, x0, :lo12:.LC216 + bl printk +.L3003: adrp x20, .LANCHOR0 ldrh w0, [x19,10] add x21, x20, :lo12:.LANCHOR0 @@ -18896,7 +19374,7 @@ ftl_open_sblk_recovery: ldrh w1, [x19] ldrh w0, [x21,1088] cmp w1, w0 - bcs .L2954 + bcs .L2998 mov w0, 1 bl buf_alloc mov x27, x0 @@ -18926,110 +19404,110 @@ ftl_open_sblk_recovery: ldrh w25, [x19,2] add x0, x0, :lo12:.LANCHOR5 str wzr, [x29,144] - add x0, x0, 320 + add x0, x0, 384 str x0, [x29,128] - adrp x0, .LC214 - add x0, x0, :lo12:.LC214 + adrp x0, .LC217 + add x0, x0, :lo12:.LC217 str x0, [x29,120] -.L2961: +.L3005: adrp x23, .LANCHOR3 add x0, x23, :lo12:.LANCHOR3 - ldrh w0, [x0,1294] + ldrh w0, [x0,1384] cmp w0, w25 - bls .L2964 + bls .L3008 ldrb w24, [x19,5] -.L2962: +.L3006: ldrb w0, [x19,9] cmp w0, w24 - bls .L3101 + bls .L3145 add x0, x19, x24, sxtw 1 ldrh w28, [x0,16] mov w0, 65535 cmp w28, w0 - beq .L2963 + beq .L3007 add x0, x23, :lo12:.LANCHOR3 add x3, x20, :lo12:.LANCHOR0 ldr x1, [x27,8] ldr x2, [x27,24] - ldrh w26, [x0,1330] + ldrh w26, [x0,1418] ldrb w3, [x3,3360] madd w0, w28, w26, w25 str w0, [x29,152] bl ftl_read_ppa_page cmp w0, 512 mov w26, w0 - beq .L2964 + beq .L3008 cmn w0, #1 - beq .L2965 + beq .L3009 ldr x0, [x27,24] ldr w1, [x0] cmn w1, #1 - bne .L2965 + bne .L3009 ldr w0, [x0,4] cmn w0, #1 - bne .L2965 + bne .L3009 ldr x0, [x27,8] ldr w0, [x0] cmn w0, #1 - beq .L2964 -.L2965: + beq .L3008 +.L3009: adrp x0, .LANCHOR5 mov w1, 1 add x0, x0, :lo12:.LANCHOR5 - strb w1, [x0,593] + strb w1, [x0,657] ldrb w0, [x19,9] ldrh w1, [x19,10] madd w0, w25, w0, w24 cmp w1, w0 - beq .L2966 + beq .L3010 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 1686 - add x1, x1, 760 + mov w2, 1694 + add x1, x1, 776 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L2966: +.L3010: ldrh w0, [x19,10] ldrh w1, [x19,6] ldrb w2, [x19,9] add w1, w1, w0 add x0, x23, :lo12:.LANCHOR3 - ldrh w0, [x0,1294] + ldrh w0, [x0,1384] mul w0, w0, w2 cmp w1, w0 - beq .L2967 + beq .L3011 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 1687 - add x1, x1, 760 + mov w2, 1695 + add x1, x1, 776 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L2967: +.L3011: add x0, x20, :lo12:.LANCHOR0 str x0, [x29,168] ldrb w0, [x0,3360] cmp w0, 8 - bls .L2968 + bls .L3012 ldr x0, [x27,24] mov w1, 15555 movk w1, 0xf55f, lsl 16 ldr w2, [x0] cmp w2, w1 - beq .L2968 + beq .L3012 cmn w26, #1 - beq .L2973 + beq .L3017 ldr w1, [x0,4] cmn w1, #1 - beq .L3008 + beq .L3052 ldr w2, [x0,16] mov w1, 21320 movk w1, 0x4841, lsl 16 cmp w2, w1 - bne .L3008 + bne .L3052 ldr w2, [x0,20] mov w1, 1024 ldr x0, [x29,160] @@ -19037,7 +19515,7 @@ ftl_open_sblk_recovery: bl js_hash ldr x2, [x29,144] cmp w2, w0 - beq .L3008 + beq .L3052 ldr x0, [x29,160] mov w1, 1024 bl js_hash @@ -19049,8 +19527,8 @@ ftl_open_sblk_recovery: mov w4, w26 bl printk ldr x1, [x29,160] - adrp x0, .LC215 - add x0, x0, :lo12:.LC215 + adrp x0, .LC218 + add x0, x0, :lo12:.LC218 mov w2, 4 mov w3, 16 bl rknand_print_hex @@ -19058,51 +19536,51 @@ ftl_open_sblk_recovery: mov w2, 4 ldr x1, [x27,24] ldrb w3, [x0,3360] - adrp x0, .LC186 - add x0, x0, :lo12:.LC186 + adrp x0, .LC183 + add x0, x0, :lo12:.LC183 lsr w3, w3, 1 bl rknand_print_hex - b .L2973 -.L2968: + b .L3017 +.L3012: cmn w26, #1 - beq .L2973 -.L3008: + beq .L3017 +.L3052: ldr x1, [x27,24] ldr w0, [x1,4] cmn w0, #1 - beq .L2973 + beq .L3017 ldr w2, [x1] mov w1, 15555 movk w1, 0xf55f, lsl 16 cmp w2, w1 - beq .L2973 + beq .L3017 bl lpa_hash_get_ppa ldr x1, [x29,136] - cbz x1, .L2972 + cbz x1, .L3016 ldr x8, [x27,24] ldr w1, [x8,8] cmp w0, w1 - beq .L2972 + beq .L3016 cmn w0, #1 - beq .L2972 + beq .L3016 add x7, x20, :lo12:.LANCHOR0 add x4, x23, :lo12:.LANCHOR3 mov w5, 24 mov w28, 1 ldrb w2, [x7,1257] - ldrh w1, [x4,1232] + ldrh w1, [x4,1312] sub w2, w5, w2 lsr w3, w0, w1 sub w1, w2, w1 lsl w1, w28, w1 - ldrb w2, [x4,1234] + ldrb w2, [x4,1314] sub w1, w1, #1 and w1, w3, w1 udiv w1, w1, w2 ldr x2, [x29,136] ldrh w2, [x2] cmp w2, w1, uxth - bne .L2972 + bne .L3016 ldr w8, [x8] ldrb w3, [x7,3360] ldr x1, [x27,8] @@ -19119,39 +19597,39 @@ ftl_open_sblk_recovery: ldr x4, [x29,112] cmp w0, w8 ldr x5, [x29,104] - bcc .L2972 + bcc .L3016 ldr x0, [x27,24] ldr w1, [x0,8] cmn w1, #1 - beq .L2973 + beq .L3017 ldrb w2, [x7,1257] - ldrh w0, [x4,1232] + ldrh w0, [x4,1312] sub w5, w5, w2 sub w5, w5, w0 lsr w1, w1, w0 lsl w28, w28, w5 - ldrb w0, [x4,1234] + ldrb w0, [x4,1314] sub w28, w28, #1 and w1, w28, w1 udiv w0, w1, w0 bl ftl_vpn_decrement - b .L2973 -.L2972: + b .L3017 +.L3016: ldr x2, [x27,24] add x1, x20, :lo12:.LANCHOR0 ldr w3, [x2,4] ldr w0, [x1,3372] cmp w3, w0 - bcs .L2973 + bcs .L3017 add x4, x23, :lo12:.LANCHOR3 ldrb w0, [x19,9] ldrh w3, [x19,10] - ldrh w4, [x4,1294] + ldrh w4, [x4,1384] mul w0, w0, w4 sub w0, w0, #1 cmp w3, w0 - blt .L3102 -.L2973: + blt .L3146 +.L3017: ldrh w0, [x19,6] sub w0, w0, #1 strh w0, [x19,6] @@ -19162,113 +19640,113 @@ ftl_open_sblk_recovery: str w0, [x29,168] mov w0, 1 str w0, [x29,144] -.L2963: +.L3007: add w24, w24, 1 uxth w24, w24 - b .L2962 -.L3101: + b .L3006 +.L3145: add w25, w25, 1 strb wzr, [x19,5] uxth w25, w25 - b .L2961 -.L2964: + b .L3005 +.L3008: add x2, x23, :lo12:.LANCHOR3 ldrh w0, [x19,10] ldrh w1, [x19,6] strh w25, [x19,2] add w1, w1, w0 - ldrh w2, [x2,1294] + ldrh w2, [x2,1384] ldrb w0, [x19,9] strb w24, [x19,5] mul w0, w0, w2 cmp w1, w0 - beq .L2977 + beq .L3021 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 1794 - add x1, x1, 760 + mov w2, 1802 + add x1, x1, 776 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L2977: +.L3021: add x0, x23, :lo12:.LANCHOR3 ldrh w3, [x19,10] - ldr x4, [x0,1848] + ldr x4, [x0,1936] mov w0, 0 mov w2, w0 -.L2978: +.L3022: cmp w2, w3 - bcs .L3103 + bcs .L3147 ldrh w1, [x19,12] add w1, w2, w1 ldr w1, [x4,x1,lsl 2] cmn w1, #1 - beq .L2979 + beq .L3023 add w1, w0, 1 uxth w0, w1 -.L2979: +.L3023: add w2, w2, 1 - b .L2978 -.L3103: + b .L3022 +.L3147: add x2, x23, :lo12:.LANCHOR3 ldrb w1, [x19,9] sub w0, w0, w3 - ldrh w24, [x2,1294] + ldrh w24, [x2,1384] madd w0, w1, w24, w0 uxth w24, w0 ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 12, .L2981 + tbz x0, 12, .L3025 add x0, x20, :lo12:.LANCHOR0 ldrh w1, [x19] mov w2, w24 ubfiz x3, x1, 1, 16 ldr x4, [x0,1112] - adrp x0, .LC216 - add x0, x0, :lo12:.LC216 + adrp x0, .LC219 + add x0, x0, :lo12:.LC219 ldrh w3, [x4,x3] bl printk -.L2981: +.L3025: add x0, x20, :lo12:.LANCHOR0 ldrh w1, [x19] ldr x0, [x0,1112] strh w24, [x0,x1,lsl 1] ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 14, .L2982 - adrp x0, .LC217 + tbz x0, 14, .L3026 + adrp x0, .LC220 ldr w1, [x29,176] ldr w2, [x29,180] - add x0, x0, :lo12:.LC217 + add x0, x0, :lo12:.LC220 ldr w3, [x29,184] ldr w4, [x29,188] bl printk -.L2982: +.L3026: add x0, x20, :lo12:.LANCHOR0 mov w1, 0 - adrp x28, .LC219 + adrp x28, .LC222 mov x24, 0 mov w26, -1 ldrb w2, [x0,3360] ldr x0, [x27,8] lsl w2, w2, 9 bl ftl_memset - adrp x0, .LC218 - add x0, x0, :lo12:.LC218 + adrp x0, .LC221 + add x0, x0, :lo12:.LC221 str x0, [x29,152] - add x0, x28, :lo12:.LC219 + add x0, x28, :lo12:.LC222 str x0, [x29,136] -.L2983: +.L3027: add x0, x23, :lo12:.LANCHOR3 ldr w1, [x29,168] str w24, [x29,160] - ldrb w0, [x0,1249] + ldrb w0, [x0,1329] mul w0, w1, w0 cmp w24, w0 - bcs .L3104 + bcs .L3148 ldr w0, [x21,x24,lsl 2] cmn w0, #1 - bne .L2984 -.L2988: + bne .L3028 +.L3032: add x1, x20, :lo12:.LANCHOR0 ldr x0, [x27,24] mov x2, 0 @@ -19290,8 +19768,8 @@ ftl_open_sblk_recovery: ldr x1, [x27,24] add x1, x1, 16 bl ftl_debug_info_fill - b .L2985 -.L2984: + b .L3029 +.L3028: add x3, x20, :lo12:.LANCHOR0 ldr x1, [x27,8] ldr x2, [x27,24] @@ -19303,14 +19781,14 @@ ftl_open_sblk_recovery: bl lpa_hash_get_ppa mov w28, w0 ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 14, .L2986 + tbz x0, 14, .L3030 ldr x3, [x27,24] mov w1, w28 ldr x0, [x29,152] ldr w2, [x21,x24,lsl 2] ldr w3, [x3,4] bl printk -.L2986: +.L3030: ldr w0, [x21,x24,lsl 2] mov w1, 1 mov x2, 0 @@ -19327,19 +19805,19 @@ ftl_open_sblk_recovery: add x1, x1, 16 bl ftl_debug_info_fill cmn w25, #1 - beq .L2988 -.L2985: + beq .L3032 +.L3029: ldr w0, [x29,144] - cbz w0, .L2990 -.L3100: + cbz w0, .L3034 +.L3144: ldrh w0, [x19,6] cmp w0, 1 - bls .L2990 + bls .L3034 mov x0, x19 bl ftl_get_new_free_page mov w28, w0 ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 14, .L2992 + tbz x0, 14, .L3036 ldr x2, [x27,24] mov w1, w28 ldrh w0, [x19,12] @@ -19349,17 +19827,17 @@ ftl_open_sblk_recovery: ldr x0, [x29,136] sub w3, w3, #1 bl printk -.L2992: +.L3036: add x1, x23, :lo12:.LANCHOR3 ldrh w0, [x19,6] - ldrb w2, [x1,1249] + ldrb w2, [x1,1329] ldr w1, [x29,168] mul w2, w1, w2 ldr w1, [x29,160] add w2, w2, 1 sub w2, w2, w1 cmp w0, w2 - bls .L2990 + bls .L3034 add x3, x20, :lo12:.LANCHOR0 ldr x1, [x27,8] ldr x2, [x27,24] @@ -19374,8 +19852,8 @@ ftl_open_sblk_recovery: cmn w25, #1 cset w1, ne cmn w2, #1 - beq .L2993 - cbz w1, .L2990 + beq .L3037 + cbz w1, .L3034 add x0, x29, 240 ldrh w1, [x19,10] str w28, [x0,x24,lsl 2] @@ -19384,29 +19862,29 @@ ftl_open_sblk_recovery: add x1, x29, 304 sub w0, w0, #1 str w0, [x1,x24,lsl 2] - b .L2990 -.L2993: - cbnz w1, .L3100 -.L2990: + b .L3034 +.L3037: + cbnz w1, .L3144 +.L3034: add x24, x24, 1 - b .L2983 -.L3104: - adrp x24, .LC220 - adrp x25, .LC219 + b .L3027 +.L3148: + adrp x24, .LC223 + adrp x25, .LC222 mov x26, 0 - add x24, x24, :lo12:.LC220 - add x25, x25, :lo12:.LC219 -.L2997: + add x24, x24, :lo12:.LC223 + add x25, x25, :lo12:.LC222 +.L3041: add x28, x23, :lo12:.LANCHOR3 ldr w1, [x29,168] - ldrb w0, [x28,1249] + ldrb w0, [x28,1329] mul w0, w1, w0 cmp w0, w26 - bls .L3105 + bls .L3149 add x0, x29, 240 ldr w0, [x0,x26,lsl 2] cmn w0, #1 - beq .L2999 + beq .L3043 add x3, x20, :lo12:.LANCHOR0 ldr w0, [x21,x26,lsl 2] ldr x1, [x27,8] @@ -19414,10 +19892,10 @@ ftl_open_sblk_recovery: ldrb w3, [x3,3360] bl ftl_read_ppa_page cmp w0, 256 - beq .L3010 + beq .L3054 cmn w0, #1 - bne .L2999 -.L3010: + bne .L3043 +.L3054: add x3, x20, :lo12:.LANCHOR0 add x0, x29, 240 ldr x1, [x27,8] @@ -19427,74 +19905,74 @@ ftl_open_sblk_recovery: bl ftl_read_ppa_page mov w28, w0 ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 14, .L3002 + tbz x0, 14, .L3046 ldr x2, [x27,24] mov x0, x25 ldr w3, [x21,x26,lsl 2] mov w1, w28 ldr w2, [x2,8] bl printk -.L3002: +.L3046: cmn w28, #1 - beq .L2999 + beq .L3043 ldr x1, [x27,24] ldr w2, [x21,x26,lsl 2] ldr w0, [x1,8] cmp w2, w0 - bne .L2999 + bne .L3043 ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 14, .L3003 + tbz x0, 14, .L3047 add x3, x29, 304 ldr w1, [x1,4] mov x0, x24 ldr w3, [x3,x26,lsl 2] bl printk -.L3003: +.L3047: ldr x1, [x27,24] add x0, x29, 304 ldr w2, [x0,x26,lsl 2] ldr w0, [x1,4] ldr w1, [x1,8] bl lpa_hash_update_ppa -.L2999: +.L3043: add x26, x26, 1 - b .L2997 -.L3105: + b .L3041 +.L3149: mov x0, x27 bl zbuf_free - ldrh w1, [x28,1294] + ldrh w1, [x28,1384] ldrh w0, [x19,12] ldrb w2, [x19,9] madd w0, w1, w2, w0 mov x1, -4 add x0, x1, x0, sxtw 2 - ldr x1, [x28,1848] + ldr x1, [x28,1936] ldr w0, [x1,x0] cmn w0, #1 - beq .L3005 + beq .L3049 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 1909 - add x1, x1, 760 + mov w2, 1917 + add x1, x1, 776 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3005: +.L3049: ldrh w0, [x19,6] cmp w0, 1 - bne .L2954 + bne .L2998 mov x0, x19 bl ftl_write_last_log_page - b .L2954 -.L3102: + b .L2998 +.L3146: ldr x0, [x1,3392] ldr w2, [x2] ldr w1, [x0,8] cmp w2, w1 - bls .L2974 + bls .L3018 str w2, [x0,8] -.L2974: +.L3018: ldr x1, [x27,24] ldrh w0, [x19,10] ldrh w2, [x19,12] @@ -19510,8 +19988,8 @@ ftl_open_sblk_recovery: str w0, [x21,8] ldr w0, [x29,152] str w0, [x21,12] - b .L2973 -.L2954: + b .L3017 +.L2998: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -19525,33 +20003,33 @@ ftl_open_sblk_recovery: .type dump_ftl_info, %function dump_ftl_info: stp x29, x30, [sp, -32]! - adrp x0, .LC221 + adrp x0, .LC224 add x29, sp, 0 stp x19, x20, [sp,16] adrp x19, .LANCHOR0 - add x0, x0, :lo12:.LC221 + add x0, x0, :lo12:.LC224 add x19, x19, :lo12:.LANCHOR0 adrp x20, .LANCHOR3 add x20, x20, :lo12:.LANCHOR3 ldrb w1, [x19,3362] bl printk adrp x3, .LANCHOR5 - adrp x0, .LC222 + adrp x0, .LC225 add x3, x3, :lo12:.LANCHOR5 - add x0, x0, :lo12:.LC222 - ldrb w1, [x3,576] - ldrb w2, [x3,577] - ldrh w3, [x3,578] + add x0, x0, :lo12:.LC225 + ldrb w1, [x3,640] + ldrb w2, [x3,641] + ldrh w3, [x3,642] bl printk ldr x2, [x19,3392] - adrp x0, .LC223 - add x0, x0, :lo12:.LC223 + adrp x0, .LC226 + add x0, x0, :lo12:.LC226 ldrh w1, [x2,130] ldrh w2, [x2,140] bl printk ldr x1, [x19,1120] - adrp x0, .LC224 - add x0, x0, :lo12:.LC224 + adrp x0, .LC227 + add x0, x0, :lo12:.LC227 add x5, x1, 16 ldrh w1, [x1,16] ldrh w2, [x5,2] @@ -19560,8 +20038,8 @@ dump_ftl_info: ldrh w5, [x5,10] bl printk ldr x1, [x19,1120] - adrp x0, .LC225 - add x0, x0, :lo12:.LC225 + adrp x0, .LC228 + add x0, x0, :lo12:.LC228 add x5, x1, 48 ldrh w1, [x1,48] ldrh w2, [x5,2] @@ -19570,8 +20048,8 @@ dump_ftl_info: ldrh w5, [x5,10] bl printk ldr x1, [x19,1120] - adrp x0, .LC226 - add x0, x0, :lo12:.LC226 + adrp x0, .LC229 + add x0, x0, :lo12:.LC229 add x5, x1, 80 ldrh w1, [x1,80] ldrh w4, [x5,6] @@ -19579,47 +20057,47 @@ dump_ftl_info: ldrb w3, [x5,5] ldrh w5, [x5,10] bl printk - ldrh w0, [x20,1294] + ldrh w0, [x20,1384] mov w2, 4 - ldrb w3, [x20,1249] - ldr x1, [x20,1848] + ldrb w3, [x20,1329] + ldr x1, [x20,1936] mul w3, w0, w3 - adrp x0, .LC227 - add x0, x0, :lo12:.LC227 + adrp x0, .LC230 + add x0, x0, :lo12:.LC230 lsl w3, w3, 1 bl rknand_print_hex ldr x1, [x19,1112] - adrp x0, .LC228 + adrp x0, .LC231 ldrh w3, [x19,1088] - add x0, x0, :lo12:.LC228 + add x0, x0, :lo12:.LC231 mov w2, 2 bl rknand_print_hex ldr x3, [x19,3392] - adrp x0, .LC208 - add x0, x0, :lo12:.LC208 + adrp x0, .LC211 + add x0, x0, :lo12:.LC211 mov w2, 4 add x1, x3, 704 ldrh w3, [x3,698] bl rknand_print_hex ldr x1, [x19,1096] - adrp x0, .LC229 + adrp x0, .LC232 ldrh w3, [x19,1088] - add x0, x0, :lo12:.LC229 + add x0, x0, :lo12:.LC232 mov w2, 4 bl rknand_print_hex - adrp x0, .LC230 - add x1, x20, 1336 - add x0, x0, :lo12:.LC230 + adrp x0, .LC233 + add x1, x20, 1424 + add x0, x0, :lo12:.LC233 mov w2, 2 mov w3, 256 bl rknand_print_hex - ldrh w0, [x20,1294] + ldrh w0, [x20,1384] mov w2, 2 - ldrb w3, [x20,1249] - ldr x1, [x20,1856] + ldrb w3, [x20,1329] + ldr x1, [x20,1944] mul w3, w0, w3 - adrp x0, .LC231 - add x0, x0, :lo12:.LC231 + adrp x0, .LC234 + add x0, x0, :lo12:.LC234 lsl w3, w3, 1 bl rknand_print_hex ldp x19, x20, [sp,16] @@ -19638,7 +20116,7 @@ pm_ppa_update_check: mov w5, 24 add x29, sp, 0 ldrb w6, [x3,1257] - ldrh w4, [x7,1232] + ldrh w4, [x7,1312] sub w5, w5, w6 mov w6, 1 sub w5, w5, w4 @@ -19647,26 +20125,26 @@ pm_ppa_update_check: ldr x3, [x3,1096] sub w5, w5, #1 and w4, w5, w4 - ldrb w5, [x7,1234] + ldrb w5, [x7,1314] udiv w4, w4, w5 add x4, x3, x4, uxth 2 ldrb w3, [x4,2] ubfx x3, x3, 5, 3 cmp w3, 7 cset w4, eq - cbnz w4, .L3111 + cbnz w4, .L3155 cmp w3, w6 - bne .L3108 -.L3111: + bne .L3152 +.L3155: mov w3, w2 mov w2, w1 mov x1, x0 - adrp x0, .LC232 - add x0, x0, :lo12:.LC232 + adrp x0, .LC235 + add x0, x0, :lo12:.LC235 bl printk bl dump_ftl_info mov w4, -1 -.L3108: +.L3152: mov w0, w4 ldp x29, x30, [sp], 16 ret @@ -19684,158 +20162,158 @@ load_l2p_region: stp x25, x26, [sp,64] cmp w22, 31 uxth w21, w0 - bls .L3114 + bls .L3158 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 mov w2, 32 - add x1, x1, 784 + add x1, x1, 800 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3114: +.L3158: adrp x24, .LANCHOR0 adrp x20, .LANCHOR5 add x26, x24, :lo12:.LANCHOR0 ldr x0, [x26,3392] ldrh w2, [x0,698] cmp w21, w2 - bls .L3115 - adrp x0, .LC233 + bls .L3159 + adrp x0, .LC236 mov w1, w21 - add x0, x0, :lo12:.LC233 + add x0, x0, :lo12:.LC236 mov x19, 0 add x20, x20, :lo12:.LANCHOR5 bl printk ldr x0, [x19,8] mov w1, 255 - ldrh w2, [x20,926] + ldrh w2, [x20,998] bl ftl_memset ldr x0, [x26,3392] ldrh w0, [x0,698] cmp w0, w21 - bcs .L3127 + bcs .L3171 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 add x0, x0, :lo12:.LC0 - add x1, x1, 784 + add x1, x1, 800 mov w2, 37 - b .L3128 -.L3115: + b .L3172 +.L3159: add x0, x0, x21, sxtw 2 adrp x25, .LANCHOR3 ldr w19, [x0,704] add x0, x25, :lo12:.LANCHOR3 - add x0, x0, 1880 + add x0, x0, 1968 lsl x1, x22, 4 add x27, x0, x1 strh w21, [x0,x1] strh wzr, [x27,2] - cbnz w19, .L3118 - adrp x0, .LC234 + cbnz w19, .L3162 + adrp x0, .LC237 mov w1, w21 mov w2, w19 add x20, x20, :lo12:.LANCHOR5 - add x0, x0, :lo12:.LC234 + add x0, x0, :lo12:.LC237 bl printk ldr x0, [x27,8] mov w1, 255 - ldrh w2, [x20,926] + ldrh w2, [x20,998] bl ftl_memset - b .L3127 -.L3118: + b .L3171 +.L3162: add x23, x20, :lo12:.LANCHOR5 ldrb w3, [x26,3360] ldr x1, [x27,8] mov w0, w19 - ldr x2, [x23,896] + ldr x2, [x23,968] bl ftl_read_ppa_page mov w3, w0 - ldr x0, [x23,896] + ldr x0, [x23,968] ldr w2, [x0] cmp w2, w21 - bne .L3119 + bne .L3163 cmn w3, #1 - beq .L3119 + beq .L3163 cmp w3, 512 - beq .L3119 -.L3124: + beq .L3163 +.L3168: add x20, x20, :lo12:.LANCHOR5 - ldr x0, [x20,896] + ldr x0, [x20,968] ldr w0, [x0] cmp w0, w21 - beq .L3127 + beq .L3171 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 add x0, x0, :lo12:.LC0 - add x1, x1, 784 + add x1, x1, 800 mov w2, 73 - b .L3128 -.L3119: - adrp x0, .LC235 + b .L3172 +.L3163: + adrp x0, .LC238 mov w4, w19 add x24, x24, :lo12:.LANCHOR0 mov w1, w21 - add x0, x0, :lo12:.LC235 + add x0, x0, :lo12:.LC238 add x23, x25, :lo12:.LANCHOR3 - add x23, x23, 1880 + add x23, x23, 1968 add x26, x20, :lo12:.LANCHOR5 bl printk add x23, x23, x22, lsl 4 ldr x3, [x24,3392] - adrp x0, .LC236 - add x0, x0, :lo12:.LC236 + adrp x0, .LC239 + add x0, x0, :lo12:.LC239 mov w2, 4 add x1, x3, 704 ldrh w3, [x3,698] bl rknand_print_hex ldrb w3, [x24,3360] - adrp x0, .LC215 + adrp x0, .LC218 ldr x1, [x23,8] - add x0, x0, :lo12:.LC215 + add x0, x0, :lo12:.LC218 mov w2, 4 lsl w3, w3, 7 bl rknand_print_hex - ldr x1, [x26,896] - adrp x0, .LC237 - add x0, x0, :lo12:.LC237 + ldr x1, [x26,968] + adrp x0, .LC240 + add x0, x0, :lo12:.LC240 mov w2, 4 mov w3, 16 bl rknand_print_hex ldr x1, [x23,8] mov w0, w19 - ldr x2, [x26,896] + ldr x2, [x26,968] ldrb w3, [x24,3360] bl ftl_read_ppa_page cmp w0, 512 - beq .L3126 + beq .L3170 cmn w0, #1 - bne .L3122 -.L3126: + bne .L3166 +.L3170: add x25, x25, :lo12:.LANCHOR3 add x20, x20, :lo12:.LANCHOR5 add x22, x25, x22, lsl 4 mov w1, 255 - ldrh w2, [x20,926] - ldr x0, [x22,1888] + ldrh w2, [x20,998] + ldr x0, [x22,1976] bl ftl_memset mov w0, -1 - b .L3117 -.L3122: - ldr x0, [x26,896] + b .L3161 +.L3166: + ldr x0, [x26,968] ldr w1, [x0] mov w0, -1 cmp w1, w21 - beq .L3124 - b .L3117 -.L3128: + beq .L3168 + b .L3161 +.L3172: bl printk bl dump_stack -.L3127: +.L3171: mov w0, 0 -.L3117: +.L3161: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -19860,37 +20338,37 @@ pm_gc: stp x25, x26, [sp,64] ldr x0, [x0,3392] ldrh w2, [x0,688] - ldrh w0, [x1,176] + ldrh w0, [x1,264] sub w0, w0, #1 cmp w2, w0 - bge .L3130 - ldr w0, [x1,168] - cbz w0, .L3131 -.L3130: + bge .L3174 + ldr w0, [x1,256] + cbz w0, .L3175 +.L3174: bl pm_free_sblk add x1, x19, :lo12:.LANCHOR0 add x3, x20, :lo12:.LANCHOR5 ldr x2, [x1,3392] - ldrh w1, [x3,176] + ldrh w1, [x3,264] ldrh w4, [x2,688] sub w1, w1, #1 cmp w4, w1 - bge .L3132 - ldr w1, [x3,168] - cbz w1, .L3131 -.L3132: + bge .L3176 + ldr w1, [x3,256] + cbz w1, .L3175 +.L3176: add x20, x20, :lo12:.LANCHOR5 add x0, x2, x0, uxth 1 ldrh w21, [x0,416] - str wzr, [x20,168] + str wzr, [x20,256] mov w20, 65535 cmp w21, w20 - bne .L3134 + bne .L3178 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 mov w2, 182 - add x1, x1, 800 + add x1, x1, 816 add x0, x0, :lo12:.LC0 bl printk bl dump_stack @@ -19900,44 +20378,44 @@ pm_gc: add x0, x1, x0, uxth 1 ldrh w21, [x0,416] cmp w21, w20 - beq .L3131 -.L3134: + beq .L3175 +.L3178: bl pm_select_ram_region adrp x26, .LANCHOR3 uxth x20, w0 add x0, x26, :lo12:.LANCHOR3 lsl x1, x20, 4 - add x0, x0, 1880 + add x0, x0, 1968 add x23, x0, x1 mov x22, x20 ldrh w0, [x0,x1] mov w1, 65535 cmp w0, w1 - beq .L3135 + beq .L3179 ldr x1, [x23,8] - cbz x1, .L3135 + cbz x1, .L3179 ldrsh w2, [x23,2] - tbz w2, #31, .L3135 + tbz w2, #31, .L3179 bl pm_write_page ldrh w0, [x23,2] and w0, w0, 32767 strh w0, [x23,2] -.L3135: +.L3179: add x26, x26, :lo12:.LANCHOR3 mov w25, 0 - add x0, x26, 1880 + add x0, x26, 1968 mov w23, 24 mov w24, 1 add x20, x0, x20, lsl 4 -.L3136: +.L3180: add x2, x19, :lo12:.LANCHOR0 ldr x0, [x2,3392] ldrh w1, [x0,698] cmp w1, w25 - bls .L3146 + bls .L3190 ldrb w2, [x2,1257] add x0, x0, x25, sxtw 2 - ldrh w1, [x26,1232] + ldrh w1, [x26,1312] ldr w0, [x0,704] sub w2, w23, w2 lsr w0, w0, w1 @@ -19945,27 +20423,27 @@ pm_gc: lsl w1, w24, w1 sub w1, w1, #1 and w1, w0, w1 - ldrb w0, [x26,1234] + ldrb w0, [x26,1314] udiv w1, w1, w0 cmp w21, w1, uxth - bne .L3137 + bne .L3181 mov w0, w25 mov w1, w22 bl load_l2p_region - cbnz w0, .L3138 + cbnz w0, .L3182 ldr x1, [x20,8] mov w0, w25 bl pm_write_page -.L3138: +.L3182: mov w0, -1 strh w0, [x20] -.L3137: +.L3181: add w25, w25, 1 uxth w25, w25 - b .L3136 -.L3146: + b .L3180 +.L3190: bl pm_free_sblk -.L3131: +.L3175: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -19979,26 +20457,28 @@ pm_gc: .type pm_flush_id, %function pm_flush_id: stp x29, x30, [sp, -32]! + adrp x1, .LANCHOR3 ubfiz x0, x0, 4, 16 + add x1, x1, :lo12:.LANCHOR3 add x29, sp, 0 - stp x19, x20, [sp,16] - adrp x19, .LANCHOR3 - add x19, x19, :lo12:.LANCHOR3 - add x1, x19, 1880 - add x20, x1, x0 + add x1, x1, 1968 + str x19, [sp,16] + add x19, x1, x0 ldrh w0, [x1,x0] - ldr x1, [x20,8] + ldr x1, [x19,8] bl pm_write_page - ldrh w0, [x20,2] + ldrh w0, [x19,2] and w0, w0, 32767 - strh w0, [x20,2] - ldr w0, [x19,1876] - cbz w0, .L3148 + strh w0, [x19,2] + adrp x19, .LANCHOR5 + add x19, x19, :lo12:.LANCHOR5 + ldr w0, [x19,960] + cbz w0, .L3192 bl pm_gc - str wzr, [x19,1876] -.L3148: + str wzr, [x19,960] +.L3192: mov w0, 0 - ldp x19, x20, [sp,16] + ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret .size pm_flush_id, .-pm_flush_id @@ -20012,17 +20492,17 @@ pm_flush: adrp x20, .LANCHOR3 mov x19, 0 add x20, x20, :lo12:.LANCHOR3 - add x20, x20, 1880 -.L3154: + add x20, x20, 1968 +.L3198: add x1, x20, x19, lsl 4 uxth w0, w19 ldrsh w1, [x1,2] - tbz w1, #31, .L3153 + tbz w1, #31, .L3197 bl pm_flush_id -.L3153: +.L3197: add x19, x19, 1 cmp x19, 32 - bne .L3154 + bne .L3198 mov w0, 0 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 @@ -20062,47 +20542,47 @@ pm_init: add x29, sp, 0 stp x19, x20, [sp,16] adrp x20, .LANCHOR5 - adrp x19, .LANCHOR3 + add x19, x20, :lo12:.LANCHOR5 stp x21, x22, [sp,32] - add x21, x20, :lo12:.LANCHOR5 - add x22, x19, :lo12:.LANCHOR3 stp x23, x24, [sp,48] stp x25, x26, [sp,64] stp x27, x28, [sp,80] mov w23, w0 mov w0, 1 - strb w0, [x21,904] + strb w0, [x19,976] mov w0, 64 - str wzr, [x21,168] + str wzr, [x19,256] mov w24, -1 - str wzr, [x22,1876] - adrp x25, .LANCHOR0 + str wzr, [x19,960] bl ftl_malloc - str x0, [x21,896] - add x21, x22, 1880 - add x22, x22, 2392 -.L3160: + str x0, [x19,968] + adrp x19, .LANCHOR3 + add x1, x19, :lo12:.LANCHOR3 + adrp x25, .LANCHOR0 + add x21, x1, 1968 + add x22, x1, 2480 +.L3204: strh w24, [x21] strh wzr, [x21,2] - cbz w23, .L3159 + cbz w23, .L3203 add x0, x25, :lo12:.LANCHOR0 ldrb w0, [x0,3360] lsl w0, w0, 9 bl ftl_malloc str x0, [x21,8] -.L3159: +.L3203: add x21, x21, 16 cmp x21, x22 - bne .L3160 + bne .L3204 add x0, x19, :lo12:.LANCHOR3 adrp x21, .LANCHOR0 add x23, x21, :lo12:.LANCHOR0 mov w4, 4 - ldr x26, [x0,1888] + ldr x26, [x0,1976] add x0, x20, :lo12:.LANCHOR5 ldr x1, [x23,3392] mov x2, x26 - ldr x22, [x0,896] + ldr x22, [x0,968] ldrb w0, [x1,694] ldrh w1, [x1,692] mov x3, x22 @@ -20112,31 +20592,31 @@ pm_init: mov w25, w24 ldrh w2, [x1,696] cmp w2, w24 - bgt .L3161 - adrp x0, .LC238 + bgt .L3205 + adrp x0, .LC241 ldrh w1, [x1,692] - add x0, x0, :lo12:.LC238 + add x0, x0, :lo12:.LC241 mov w3, w24 - adrp x27, .LC239 - adrp x28, .LC240 + adrp x27, .LC242 + adrp x28, .LC243 bl printk - add x28, x28, :lo12:.LC240 + add x28, x28, :lo12:.LC243 ldr x0, [x23,3392] ldrsh w23, [x0,696] add w0, w24, 1 str w0, [x29,124] - add x0, x27, :lo12:.LC239 + add x0, x27, :lo12:.LC242 str x0, [x29,112] -.L3162: +.L3206: ldr w0, [x29,124] cmp w23, w0 - bge .L3183 + bge .L3227 add x27, x21, :lo12:.LANCHOR0 add x1, x19, :lo12:.LANCHOR3 mov x2, x26 mov x3, x22 ldr x0, [x27,3392] - ldrh w1, [x1,1330] + ldrh w1, [x1,1418] ldrb w4, [x27,3360] ldrh w24, [x0,692] ldrb w0, [x0,694] @@ -20156,16 +20636,16 @@ pm_init: bl printk ldr x4, [x29,104] cmp w4, 512 - beq .L3163 + beq .L3207 cmn w4, #1 - beq .L3163 + beq .L3207 ldr x0, [x27,3392] ldr w1, [x22] ldrh w0, [x0,698] cmp w1, w0 - bcs .L3163 + bcs .L3207 ldr w2, [x22,8] - cbz w2, .L3164 + cbz w2, .L3208 ldrb w1, [x27,3360] mov x0, x26 str x2, [x29,104] @@ -20173,43 +20653,43 @@ pm_init: bl js_hash ldr x2, [x29,104] cmp w2, w0 - beq .L3164 + beq .L3208 ldr w1, [x22,8] mov x0, x28 bl printk - b .L3163 -.L3164: + b .L3207 +.L3208: add x0, x21, :lo12:.LANCHOR0 ldr x1, [x0,3392] ldr w0, [x22] add x0, x0, 176 str w24, [x1,x0,lsl 2] -.L3163: +.L3207: add w23, w23, 1 sxth w23, w23 - b .L3162 -.L3183: + b .L3206 +.L3227: add x0, x20, :lo12:.LANCHOR5 add x21, x21, :lo12:.LANCHOR0 mov w1, 1 add w25, w25, 1 - strb w1, [x0,593] + strb w1, [x0,657] ldr x0, [x21,3392] strh w25, [x0,696] bl pm_free_sblk -.L3161: +.L3205: add x19, x19, :lo12:.LANCHOR3 add x20, x20, :lo12:.LANCHOR5 mov w1, 255 - add x19, x19, 1880 + add x19, x19, 1968 ldr x0, [x19,8] - ldrh w2, [x20,926] + ldrh w2, [x20,998] bl ftl_memset ldr x1, [x19,8] mov w0, -1 bl pm_write_page - ldrb w0, [x20,593] - cbz w0, .L3166 + ldrb w0, [x20,657] + cbz w0, .L3210 ldr x1, [x19,8] mov w0, -1 bl pm_write_page @@ -20219,7 +20699,7 @@ pm_init: ldr x1, [x19,8] mov w0, -1 bl pm_write_page -.L3166: +.L3210: bl pm_free_sblk bl pm_gc mov w0, 0 @@ -20255,33 +20735,33 @@ pm_log2phys: uxth w26, w24 msub w20, w26, w20, w3 uxth x20, w20 - bcc .L3185 - adrp x0, .LC241 + bcc .L3229 + adrp x0, .LC244 mov w1, w3 - add x0, x0, :lo12:.LC241 + add x0, x0, :lo12:.LC244 bl printk mov w0, -1 - cbnz w25, .L3186 + cbnz w25, .L3230 str w0, [x22] - b .L3186 -.L3185: + b .L3230 +.L3229: adrp x21, .LANCHOR3 mov x19, 0 add x1, x21, :lo12:.LANCHOR3 - add x1, x1, 1880 -.L3191: + add x1, x1, 1968 +.L3235: ldr x0, [x1,8] - cbz x0, .L3187 + cbz x0, .L3231 ldrh w0, [x1] cmp w0, w26 - bne .L3187 -.L3188: - cbnz w25, .L3189 + bne .L3231 +.L3232: + cbnz w25, .L3233 add x3, x21, :lo12:.LANCHOR3 add x23, x23, :lo12:.LANCHOR0 add x0, x3, x19, lsl 4 mov w2, 1 - ldr x0, [x0,1888] + ldr x0, [x0,1976] ldr w1, [x0,x20,lsl 2] mov w0, 24 str w1, [x22] @@ -20291,65 +20771,65 @@ pm_log2phys: lsr w1, w1, w0 sub w2, w2, #1 and w0, w1, w2 - ldrb w1, [x3,1332] + ldrb w1, [x3,1420] cmp w0, w1 - bcc .L3190 + bcc .L3234 mov w0, -1 str w0, [x22] - b .L3190 -.L3189: + b .L3234 +.L3233: add x2, x21, :lo12:.LANCHOR3 ldr w3, [x22] - add x0, x2, 1880 + add x0, x2, 1968 add x0, x0, x19, lsl 4 ldr x1, [x0,8] str w3, [x1,x20,lsl 2] - strb w24, [x2,2392] + strb w24, [x2,2480] ldrh w1, [x0,2] orr w1, w1, -32768 strh w1, [x0,2] -.L3190: +.L3234: add x21, x21, :lo12:.LANCHOR3 mov w2, 32767 - add x21, x21, 1880 + add x21, x21, 1968 mov w0, 0 add x19, x21, x19, lsl 4 ldrh w1, [x19,2] and w3, w1, 32767 cmp w3, w2 - beq .L3186 + beq .L3230 add w1, w1, 1 strh w1, [x19,2] - b .L3186 -.L3187: + b .L3230 +.L3231: add w19, w19, 1 add x1, x1, 16 uxth x19, w19 cmp w19, 32 - bne .L3191 + bne .L3235 bl pm_select_ram_region uxth x19, w0 add x2, x21, :lo12:.LANCHOR3 sbfiz x3, x19, 4, 32 - add x2, x2, 1880 + add x2, x2, 1968 mov w1, w0 add x4, x2, x3 ldrh w3, [x2,x3] mov w2, 65535 cmp w3, w2 - beq .L3192 + beq .L3236 ldrsh w2, [x4,2] - tbz w2, #31, .L3192 + tbz w2, #31, .L3236 str x1, [x29,88] bl pm_flush_id ldr x1, [x29,88] -.L3192: - adrp x0, .LANCHOR5+928 - strb w19, [x0,#:lo12:.LANCHOR5+928] +.L3236: + adrp x0, .LANCHOR5+1000 + strb w19, [x0,#:lo12:.LANCHOR5+1000] mov w0, w26 bl load_l2p_region - b .L3188 -.L3186: + b .L3232 +.L3230: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -20376,64 +20856,64 @@ gc_recovery: add x25, x22, :lo12:.LANCHOR3 ldr x20, [x21,1120] add x0, x23, :lo12:.LANCHOR5 - strb wzr, [x25,1265] + strb wzr, [x25,1345] add x24, x20, 80 ldrh w1, [x20,80] - strb wzr, [x0,130] + strb wzr, [x0,218] mov w0, 65535 cmp w1, w0 - beq .L3200 + beq .L3244 mov w0, -1 strh w0, [x20,130] mov w0, 1 bl buf_alloc mov x28, x0 ldrb w0, [x24,9] - ldrh w1, [x25,1330] + ldrh w1, [x25,1418] sub w0, w0, #1 add x0, x24, x0, sxtw 1 ldrh w0, [x0,16] mul w0, w0, w1 - ldrb w1, [x25,1248] + ldrb w1, [x25,1328] str w0, [x29,184] cmp w1, 2 - beq .L3201 + beq .L3245 ldrb w2, [x21,1268] - cbnz w2, .L3201 + cbnz w2, .L3245 ldrb w2, [x21,1269] - cbz w2, .L3202 -.L3201: + cbz w2, .L3246 +.L3245: add x2, x22, :lo12:.LANCHOR3 - ldrh w2, [x2,1266] + ldrh w2, [x2,1346] sub w2, w2, #1 add w0, w2, w0 orr w0, w0, w1, lsl 24 - b .L3288 -.L3202: + b .L3332 +.L3246: cmp w1, 3 - bne .L3203 - ldrh w1, [x25,1294] + bne .L3247 + ldrh w1, [x25,1384] sub w1, w1, #1 add w0, w1, w0 orr w0, w0, 50331648 -.L3288: +.L3332: str w0, [x28,40] -.L3203: +.L3247: mov x0, x28 mov w1, 1 bl sblk_read_page ldr w0, [x28,52] cmp w0, 512 - beq .L3204 + beq .L3248 cmn w0, #1 - beq .L3204 + beq .L3248 ldr x0, [x28,24] ldr w1, [x0] mov w0, 15555 movk w0, 0xf55f, lsl 16 cmp w1, w0 - beq .L3205 -.L3204: + beq .L3249 +.L3248: mov x0, x28 bl zbuf_free ldr x7, [x28,24] @@ -20444,8 +20924,8 @@ gc_recovery: str w0, [sp,8] ldr w0, [x7,12] str w0, [sp,16] - adrp x0, .LC242 - add x0, x0, :lo12:.LC242 + adrp x0, .LC245 + add x0, x0, :lo12:.LC245 ldr w3, [x6] ldr w4, [x6,4] ldr w5, [x6,8] @@ -20454,21 +20934,21 @@ gc_recovery: ldr w6, [x6,12] ldr w7, [x7] bl printk - b .L3293 -.L3205: + b .L3337 +.L3249: add x1, x23, :lo12:.LANCHOR5 - ldrb w0, [x1,929] + ldrb w0, [x1,1001] cmp w0, 2 - bne .L3207 + bne .L3251 add x21, x22, :lo12:.LANCHOR3 - ldrb w0, [x21,1248] + ldrb w0, [x21,1328] cmp w0, 3 - bne .L3207 - ldrh w3, [x1,926] - ldr x4, [x1,144] - ldrh w1, [x21,1266] + bne .L3251 + ldrh w3, [x1,998] + ldr x4, [x1,232] + ldrh w1, [x21,1346] and x0, x3, 65532 - ldrb w2, [x21,1249] + ldrb w2, [x21,1329] add x0, x4, x0 lsl w1, w1, 2 mul w2, w1, w2 @@ -20478,39 +20958,39 @@ gc_recovery: bl ftl_memcpy add x0, x19, :lo12:.LANCHOR0 ldrb w1, [x0,1268] - cbnz w1, .L3208 + cbnz w1, .L3252 ldrb w0, [x0,1269] - cbz w0, .L3209 -.L3208: + cbz w0, .L3253 +.L3252: ldr w0, [x28,40] sub w0, w0, #1 - b .L3289 -.L3209: + b .L3333 +.L3253: ldr w0, [x29,184] - ldrh w1, [x21,1294] + ldrh w1, [x21,1384] sub w0, w0, #1 add w0, w0, w1 orr w0, w0, 33554432 -.L3289: +.L3333: str w0, [x28,40] mov w1, 1 mov x0, x28 bl sblk_read_page ldr w0, [x28,52] cmp w0, 512 - beq .L3211 + beq .L3255 cmn w0, #1 - beq .L3211 + beq .L3255 ldr x0, [x28,24] ldr w1, [x0] mov w0, 15555 movk w0, 0xf55f, lsl 16 cmp w1, w0 - beq .L3212 -.L3211: + beq .L3256 +.L3255: mov x0, x28 bl zbuf_free -.L3293: +.L3337: add x0, x19, :lo12:.LANCHOR0 ldrh w2, [x20,80] mov w21, 0 @@ -20519,143 +20999,143 @@ gc_recovery: ldr x0, [x0,1120] ldrh w1, [x20,80] strh w1, [x0,130] - b .L3206 -.L3212: + b .L3250 +.L3256: add x2, x23, :lo12:.LANCHOR5 ldr x1, [x28,8] - ldr x0, [x2,144] - ldrh w2, [x2,926] - b .L3290 -.L3207: + ldr x0, [x2,232] + ldrh w2, [x2,998] + b .L3334 +.L3251: add x2, x22, :lo12:.LANCHOR3 add x1, x23, :lo12:.LANCHOR5 - ldrh w0, [x2,1266] - ldrb w2, [x2,1249] + ldrh w0, [x2,1346] + ldrb w2, [x2,1329] mul w2, w0, w2 - ldr x0, [x1,144] + ldr x0, [x1,232] ldr x1, [x28,8] lsl w2, w2, 2 -.L3290: +.L3334: add x21, x22, :lo12:.LANCHOR3 bl ftl_memcpy - ldrh w0, [x21,1266] - ldrb w1, [x21,1249] + ldrh w0, [x21,1346] + ldrb w1, [x21,1329] mul w1, w0, w1 add x0, x19, :lo12:.LANCHOR0 lsl w2, w1, 2 ldrb w0, [x0,3360] cmp w0, w1, lsr 6 - bge .L3214 + bge .L3258 add x25, x23, :lo12:.LANCHOR5 mov w1, 0 - ldr x0, [x25,152] + ldr x0, [x25,240] bl ftl_memset - ldrb w26, [x25,929] + ldrb w26, [x25,1001] cmp w26, 1 - bne .L3254 - ldrh w0, [x21,1266] - ldrb w1, [x21,1249] - ldrh w21, [x25,926] + bne .L3298 + ldrh w0, [x21,1346] + ldrb w1, [x21,1329] + ldrh w21, [x25,998] ldr x2, [x28,8] mul w1, w0, w1 - ldr x0, [x25,152] + ldr x0, [x25,240] sub w21, w21, w1, lsl 2 add x1, x2, x1, sxtw 2 mov w2, w21 bl ftl_memcpy mov w10, w26 - b .L3215 -.L3214: + b .L3259 +.L3258: add x0, x23, :lo12:.LANCHOR5 ldr x3, [x28,8] add x1, x3, x1, sxtw 2 - ldr x0, [x0,152] + ldr x0, [x0,240] bl ftl_memcpy mov w10, 0 mov w21, w10 - b .L3215 -.L3254: + b .L3259 +.L3298: mov w10, 1 mov w21, 0 -.L3215: +.L3259: add x0, x22, :lo12:.LANCHOR3 - ldrb w25, [x0,1248] - ldrh w27, [x0,1294] + ldrb w25, [x0,1328] + ldrh w27, [x0,1384] cmp w25, 2 - bne .L3216 - ldrb w0, [x0,1250] - cbz w0, .L3217 -.L3216: + bne .L3260 + ldrb w0, [x0,1330] + cbz w0, .L3261 +.L3260: add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,1268] - cbz w0, .L3218 -.L3217: + cbz w0, .L3262 +.L3261: mul w27, w27, w25 mov w25, 1 -.L3218: - adrp x0, .LC243 +.L3262: + adrp x0, .LC246 mov w26, 0 - add x0, x0, :lo12:.LC243 + add x0, x0, :lo12:.LC246 str w26, [x29,172] str x0, [x29,144] -.L3219: +.L3263: cmp w26, w27 - bcs .L3231 + bcs .L3275 add w0, w26, w26, lsl 1 mov w11, 0 sub w0, w0, #1 str w0, [x29,168] sub w0, w26, #1 str w0, [x29,152] -.L3232: +.L3276: ldrb w0, [x24,9] cmp w11, w0 - bge .L3294 + bge .L3338 sxtw x0, w11 mov x12, 0 str x0, [x29,160] -.L3229: +.L3273: add w2, w12, 1 ldr w0, [x29,172] cmp w2, w25 add w13, w0, w12 - bhi .L3295 + bhi .L3339 ldr x0, [x29,160] add x3, x22, :lo12:.LANCHOR3 add x0, x0, 8 ldrh w1, [x24,x0,lsl 1] - ldrh w0, [x3,1330] + ldrh w0, [x3,1418] mul w0, w1, w0 - ldrb w1, [x3,1248] + ldrb w1, [x3,1328] str w0, [x29,184] cmp w1, 2 - beq .L3220 + beq .L3264 add x3, x19, :lo12:.LANCHOR0 ldrb w4, [x3,1268] - cbz w4, .L3221 -.L3220: + cbz w4, .L3265 +.L3264: ldr w3, [x29,152] add w0, w3, w0 add w0, w0, w2 orr w0, w0, w1, lsl 24 - b .L3291 -.L3221: + b .L3335 +.L3265: cmp w1, 3 - bne .L3223 + bne .L3267 ldrb w1, [x3,1269] - cbz w1, .L3224 + cbz w1, .L3268 ldr w1, [x29,168] add w0, w0, w1 add w0, w0, w2 orr w0, w0, 50331648 - b .L3291 -.L3224: + b .L3335 +.L3268: add w0, w0, w26 orr w0, w0, w2, lsl 24 - b .L3291 -.L3223: + b .L3335 +.L3267: add w0, w0, w26 -.L3291: +.L3335: str w0, [x28,40] mov w1, 1 mov x0, x28 @@ -20669,35 +21149,35 @@ gc_recovery: ldr x11, [x29,136] sxtw x13, w13 ldr x12, [x29,120] - cbz w10, .L3225 + cbz w10, .L3269 add x0, x23, :lo12:.LANCHOR5 lsl x1, x13, 2 - ldr x0, [x0,152] + ldr x0, [x0,240] ldr w2, [x0,x1] - cbnz w2, .L3225 + cbnz w2, .L3269 ldr x2, [x28,24] ldr w2, [x2,8] str w2, [x0,x1] -.L3225: +.L3269: add x0, x23, :lo12:.LANCHOR5 lsl x13, x13, 2 ldr x7, [x28,24] - ldr x1, [x0,144] + ldr x1, [x0,232] ldr w6, [x7,4] ldr w3, [x1,x13] cmp w3, w6 - bne .L3226 - ldr x0, [x0,152] + bne .L3270 + ldr x0, [x0,240] ldr w1, [x0,x13] ldr w0, [x7,8] cmp w1, w0 - beq .L3256 -.L3226: + beq .L3300 +.L3270: add x14, x23, :lo12:.LANCHOR5 ldr w0, [x7,12] str x12, [x29,104] str x10, [x29,112] - ldr x4, [x14,152] + ldr x4, [x14,240] str w0, [sp] ldr x0, [x29,144] ldr w4, [x4,x13] @@ -20712,12 +21192,12 @@ gc_recovery: ldr x14, [x29,128] ldr x13, [x29,136] ldr x11, [x29,120] - ldr x0, [x14,144] + ldr x0, [x14,232] ldr x10, [x29,112] ldr x12, [x29,104] ldr w0, [x0,x13] cmn w0, #1 - beq .L3256 + beq .L3300 mov x0, x28 bl zbuf_free add x0, x19, :lo12:.LANCHOR0 @@ -20727,22 +21207,22 @@ gc_recovery: ldr x0, [x0,1120] ldrh w1, [x20,80] strh w1, [x0,130] - b .L3206 -.L3256: + b .L3250 +.L3300: add x12, x12, 1 - b .L3229 -.L3295: + b .L3273 +.L3339: str w13, [x29,172] add w11, w11, 1 - b .L3232 -.L3294: + b .L3276 +.L3338: add x0, x22, :lo12:.LANCHOR3 - ldrb w0, [x0,1250] + ldrb w0, [x0,1330] cmp w0, wzr csinc w26, w26, w26, eq add w26, w26, 1 - b .L3219 -.L3231: + b .L3263 +.L3275: mov x0, x28 mov w21, 0 mov w28, w21 @@ -20752,38 +21232,38 @@ gc_recovery: add x3, x22, :lo12:.LANCHOR3 ldrh w2, [x20,80] ldr x1, [x0,1112] - ldrh w3, [x3,1266] + ldrh w3, [x3,1346] ldrb w0, [x24,9] mul w0, w0, w3 strh w0, [x1,x2,lsl 1] -.L3233: +.L3277: cmp w28, w27 - bcs .L3247 + bcs .L3291 add w0, w28, w28, lsl 1 str wzr, [x29,172] sub w0, w0, #1 str w0, [x29,144] sub w0, w28, #1 str w0, [x29,128] -.L3248: +.L3292: ldrb w0, [x24,9] ldr w1, [x29,172] cmp w1, w0 - bge .L3244 + bge .L3288 ldrsw x0, [x29,172] mov w26, 1 str x0, [x29,136] -.L3245: +.L3289: cmp w26, w25 - bhi .L3296 + bhi .L3340 add x1, x23, :lo12:.LANCHOR5 ldr w0, [x29,168] sbfiz x0, x0, 2, 32 - ldr x2, [x1,144] + ldr x2, [x1,232] ldr w5, [x2,x0] cmn w5, #1 - beq .L3234 - ldr x1, [x1,152] + beq .L3278 + ldr x1, [x1,240] str x5, [x29,152] ldr w0, [x1,x0] str w0, [x29,160] @@ -20792,54 +21272,54 @@ gc_recovery: str w0, [x29,188] cmn w0, #1 ldr x5, [x29,152] - bne .L3235 + bne .L3279 mov w0, w5 add x1, x29, 188 mov w2, 0 bl pm_log2phys ldr x5, [x29,152] -.L3235: +.L3279: ldr x0, [x29,136] add x0, x0, 8 ldrh w1, [x24,x0,lsl 1] add x0, x22, :lo12:.LANCHOR3 - ldrh w2, [x0,1330] - ldrb w0, [x0,1248] + ldrh w2, [x0,1418] + ldrb w0, [x0,1328] cmp w0, 2 mul w1, w1, w2 - beq .L3236 + beq .L3280 add x2, x19, :lo12:.LANCHOR0 ldrb w6, [x2,1268] - cbz w6, .L3237 -.L3236: + cbz w6, .L3281 +.L3280: ldr w2, [x29,128] add w1, w2, w1 add w1, w1, w26 orr w1, w1, w0, lsl 24 - b .L3292 -.L3237: + b .L3336 +.L3281: cmp w0, 3 - bne .L3239 + bne .L3283 ldrb w2, [x2,1269] lsl w0, w26, 24 - cbz w2, .L3240 + cbz w2, .L3284 ldr w2, [x29,144] add w2, w1, w2 add w2, w2, w26 orr w1, w0, w2 - b .L3292 -.L3240: + b .L3336 +.L3284: add w1, w1, w28 orr w1, w0, w1 - b .L3292 -.L3239: + b .L3336 +.L3283: add w1, w1, w28 -.L3292: +.L3336: add x2, x22, :lo12:.LANCHOR3 ldr w0, [x29,160] str w1, [x29,184] mov w3, 24 - ldrh w1, [x2,1232] + ldrh w1, [x2,1312] lsr w6, w0, w1 add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,1257] @@ -20847,7 +21327,7 @@ gc_recovery: sub w1, w0, w1 mov w0, 1 lsl w1, w0, w1 - ldrb w0, [x2,1234] + ldrb w0, [x2,1314] sub w1, w1, #1 and w1, w6, w1 udiv w1, w1, w0 @@ -20856,7 +21336,7 @@ gc_recovery: str w0, [x29,152] ldr w0, [x29,188] cmp w0, w1 - bne .L3241 + bne .L3285 mov w0, w5 add x1, x29, 184 mov w2, 1 @@ -20864,12 +21344,12 @@ gc_recovery: bl pm_log2phys ldrh w0, [x29,152] bl ftl_vpn_decrement - b .L3242 -.L3241: + b .L3286 +.L3285: ldr w1, [x29,184] cmp w0, w1 csinc w21, w21, w21, ne -.L3242: +.L3286: ldr w0, [x29,168] add x2, x19, :lo12:.LANCHOR0 add w0, w0, 1 @@ -20879,47 +21359,47 @@ gc_recovery: add x1, x1, x0, lsl 2 ldrb w1, [x1,2] ands w1, w1, 224 - bne .L3234 + bne .L3278 lsl x0, x0, 1 ldr x2, [x2,1112] ldrh w5, [x2,x0] - cbz w5, .L3234 + cbz w5, .L3278 strh w1, [x2,x0] -.L3234: +.L3278: add w26, w26, 1 - b .L3245 -.L3296: + b .L3289 +.L3340: ldr w0, [x29,172] add w0, w0, 1 str w0, [x29,172] - b .L3248 -.L3244: + b .L3292 +.L3288: add x0, x22, :lo12:.LANCHOR3 - ldrb w0, [x0,1250] + ldrb w0, [x0,1330] cmp w0, wzr csinc w28, w28, w28, eq add w28, w28, 1 - b .L3233 -.L3247: + b .L3277 +.L3291: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x20,80] ldr x0, [x0,1112] strh w21, [x0,x1,lsl 1] ldrh w0, [x20,80] bl zftl_insert_data_list -.L3206: +.L3250: add x1, x19, :lo12:.LANCHOR0 ldrh w0, [x20,80] ubfiz x2, x0, 1, 16 ldr x1, [x1,1112] ldrh w1, [x1,x2] - cbnz w1, .L3249 + cbnz w1, .L3293 bl ftl_dump_write_open_sblk -.L3249: +.L3293: ldrh w1, [x20,80] - adrp x0, .LC244 + adrp x0, .LC247 mov w2, w21 - add x0, x0, :lo12:.LC244 + add x0, x0, :lo12:.LC247 bl printk mov w0, -1 strh w0, [x20,80] @@ -20930,24 +21410,24 @@ gc_recovery: ldr x0, [x1,1120] ldrh w0, [x0,130] cmp w0, w2 - beq .L3250 + beq .L3294 ldrh w1, [x1,1088] cmp w1, w0 - bhi .L3251 + bhi .L3295 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 mov w2, 517 - add x1, x1, 808 + add x1, x1, 824 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3251: +.L3295: add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,1120] ldrh w0, [x0,130] bl ftl_free_sblk -.L3250: +.L3294: add x19, x19, :lo12:.LANCHOR0 mov w0, -1 ldr x1, [x19,3392] @@ -20956,15 +21436,15 @@ gc_recovery: strh w0, [x1,130] mov w0, 0 bl ftl_info_flush - b .L3199 -.L3200: + b .L3243 +.L3244: ldrh w0, [x20,130] cmp w0, w1 - beq .L3199 + beq .L3243 ldr x1, [x21,3392] ldrh w1, [x1,126] cmp w1, w0 - bne .L3253 + bne .L3297 bl pm_flush ldr x0, [x21,1120] ldrh w0, [x0,130] @@ -20974,12 +21454,12 @@ gc_recovery: strh w1, [x0,126] mov w0, 0 bl ftl_info_flush -.L3253: +.L3297: add x19, x19, :lo12:.LANCHOR0 mov w1, -1 ldr x0, [x19,1120] strh w1, [x0,130] -.L3199: +.L3243: sub sp, x29, #32 ldp x19, x20, [sp,48] ldp x21, x22, [sp,64] @@ -21008,18 +21488,18 @@ gc_update_l2p_map_new: adrp x0, .LANCHOR3 add x1, x0, :lo12:.LANCHOR3 str x0, [x29,120] - ldrh w25, [x1,1266] + ldrh w25, [x1,1346] add x1, x20, 80 str x1, [x29,128] ldrb w1, [x1,9] mul w25, w25, w1 ldr w1, [x23,#:lo12:.LANCHOR2] - tbz x1, 8, .L3298 - adrp x0, .LC245 + tbz x1, 8, .L3342 + adrp x0, .LC248 ldrh w1, [x20,80] - add x0, x0, :lo12:.LC245 + add x0, x0, :lo12:.LC248 bl printk -.L3298: +.L3342: add x0, x19, :lo12:.LANCHOR0 adrp x21, .LANCHOR5 ldrh w2, [x20,80] @@ -21027,23 +21507,23 @@ gc_update_l2p_map_new: mov w24, w22 ldr x1, [x0,1112] add x0, x21, :lo12:.LANCHOR5 - ldrb w0, [x0,929] + ldrb w0, [x0,1001] sub w0, w25, w0 strh w0, [x1,x2,lsl 1] - adrp x0, .LC247 - add x0, x0, :lo12:.LC247 + adrp x0, .LC250 + add x0, x0, :lo12:.LC250 str x0, [x29,112] - adrp x0, .LC246 - add x0, x0, :lo12:.LC246 + adrp x0, .LC249 + add x0, x0, :lo12:.LC249 str x0, [x29,104] -.L3299: +.L3343: cmp w24, w25 - beq .L3331 + beq .L3375 add x0, x21, :lo12:.LANCHOR5 - ldr x0, [x0,144] + ldr x0, [x0,232] ldr w2, [x0,w24,sxtw 2] cmn w2, #1 - beq .L3300 + beq .L3344 add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,3360] lsl w0, w0, 7 @@ -21051,28 +21531,28 @@ gc_update_l2p_map_new: and w0, w0, 65535 str w0, [x29,140] ldr w0, [x23,#:lo12:.LANCHOR2] - tbz x0, 8, .L3301 + tbz x0, 8, .L3345 ldr x0, [x29,104] mov w3, w24 ldr w1, [x29,140] bl printk -.L3301: +.L3345: mov w26, w24 -.L3307: +.L3351: add x1, x21, :lo12:.LANCHOR5 sbfiz x27, x26, 2, 32 - ldr x0, [x1,144] + ldr x0, [x1,232] ldr w4, [x0,x27] cmn w4, #1 - beq .L3302 + beq .L3346 add x0, x19, :lo12:.LANCHOR0 ldr w2, [x29,140] ldrb w0, [x0,3360] lsl w0, w0, 7 udiv w0, w4, w0 cmp w2, w0, uxth - bne .L3302 - ldr x0, [x1,152] + bne .L3346 + ldr x0, [x1,240] str x4, [x29,96] ldr w28, [x0,x27] mov w0, w4 @@ -21080,21 +21560,21 @@ gc_update_l2p_map_new: str w0, [x29,156] cmn w0, #1 ldr x4, [x29,96] - bne .L3303 + bne .L3347 mov w0, w4 add x1, x29, 156 mov w2, 0 bl pm_log2phys ldr x4, [x29,96] -.L3303: +.L3347: ldr w3, [x29,156] cmp w3, w28 - bne .L3304 + bne .L3348 add x0, x21, :lo12:.LANCHOR5 add x1, x29, 152 mov w2, 1 add w22, w22, 1 - ldr x0, [x0,160] + ldr x0, [x0,248] ldr w0, [x0,x27] str w0, [x29,152] mov w0, w4 @@ -21104,7 +21584,7 @@ gc_update_l2p_map_new: add x3, x0, :lo12:.LANCHOR3 add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,1257] - ldrh w1, [x3,1232] + ldrh w1, [x3,1312] sub w0, w2, w0 mov w2, 1 sub w0, w0, w1 @@ -21112,61 +21592,61 @@ gc_update_l2p_map_new: lsl w0, w2, w0 sub w0, w0, #1 and w28, w0, w28 - ldrb w0, [x3,1234] + ldrb w0, [x3,1314] udiv w0, w28, w0 - b .L3330 -.L3304: + b .L3374 +.L3348: ldr w0, [x23,#:lo12:.LANCHOR2] - tbz x0, 8, .L3306 + tbz x0, 8, .L3350 ldr x0, [x29,112] mov w1, w4 mov w2, w28 bl printk -.L3306: +.L3350: ldr x0, [x29,128] ldrh w0, [x0] -.L3330: +.L3374: bl ftl_vpn_decrement add x0, x21, :lo12:.LANCHOR5 mov w1, -1 - ldr x0, [x0,144] + ldr x0, [x0,232] str w1, [x0,x27] -.L3302: +.L3346: add w26, w26, 1 cmp w26, w25 - bne .L3307 -.L3300: + bne .L3351 +.L3344: add w24, w24, 1 - b .L3299 -.L3331: + b .L3343 +.L3375: ldr w0, [x23,#:lo12:.LANCHOR2] - tbz x0, 8, .L3309 + tbz x0, 8, .L3353 add x0, x19, :lo12:.LANCHOR0 ldrh w3, [x20,80] ldr x1, [x0,1120] ldr x2, [x0,1112] - adrp x0, .LC248 - add x0, x0, :lo12:.LC248 + adrp x0, .LC251 + add x0, x0, :lo12:.LC251 ldrh w1, [x1,80] ldrh w2, [x2,x3,lsl 1] mov w3, w22 bl printk -.L3309: +.L3353: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x20,80] ldr x0, [x0,1112] ldrh w0, [x0,x1,lsl 1] cmp w0, w22 - beq .L3310 + beq .L3354 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 mov w2, 898 - add x1, x1, 824 + add x1, x1, 840 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3310: +.L3354: add x19, x19, :lo12:.LANCHOR0 ldrh w1, [x20,80] ldr x0, [x19,1112] @@ -21201,138 +21681,138 @@ gc_scan_src_blk_one_page: add x2, x1, x0, sxtw 1 ldrh w22, [x2,40] add x2, x21, :lo12:.LANCHOR3 - ldrb w6, [x2,1249] + ldrb w6, [x2,1329] ldrh w2, [x1,2] -.L3333: +.L3377: cmp w22, w5 - bne .L3362 + bne .L3406 add w0, w0, 1 uxtb w0, w0 cmp w0, w6 - bne .L3334 + bne .L3378 add w2, w2, 1 mov w0, 0 mov w4, 1 uxth w2, w2 -.L3334: +.L3378: add x3, x1, x0, sxtw 1 ldrh w22, [x3,40] mov w3, 1 - b .L3333 -.L3362: - cbz w4, .L3336 + b .L3377 +.L3406: + cbz w4, .L3380 add x1, x19, :lo12:.LANCHOR0 strh w2, [x1,3426] -.L3336: - cbz w3, .L3337 +.L3380: + cbz w3, .L3381 add x1, x19, :lo12:.LANCHOR0 strb w0, [x1,3428] -.L3337: +.L3381: mov w0, 1 mov w24, 1 add x19, x19, :lo12:.LANCHOR0 bl buf_alloc mov x23, x0 -.L3338: +.L3382: add x20, x19, 3424 ldrb w0, [x20,6] cmp w24, w0 - bgt .L3363 + bgt .L3407 add x3, x21, :lo12:.LANCHOR3 cmp w0, 2 - ldrh w1, [x3,1330] + ldrh w1, [x3,1418] mul w1, w22, w1 - bne .L3339 + bne .L3383 ldrh w2, [x20,2] - ldrb w0, [x3,1248] + ldrb w0, [x3,1328] add w1, w1, w2, lsl 1 sub w1, w1, #1 add w1, w1, w24 - b .L3361 -.L3339: + b .L3405 +.L3383: cmp w0, 3 - bne .L3341 + bne .L3385 ldrb w0, [x19,1268] - cbnz w0, .L3342 + cbnz w0, .L3386 ldrb w0, [x19,1269] - cbz w0, .L3343 -.L3342: + cbz w0, .L3387 +.L3386: ldrh w2, [x19,3426] add x0, x21, :lo12:.LANCHOR3 add w2, w2, w2, lsl 1 - ldrb w0, [x0,1248] + ldrb w0, [x0,1328] sub w2, w2, #1 add w1, w2, w1 add w1, w1, w24 -.L3361: +.L3405: orr w1, w1, w0, lsl 24 - b .L3360 -.L3343: + b .L3404 +.L3387: ldrh w0, [x20,2] add w1, w1, w0 orr w1, w1, w24, lsl 24 - b .L3360 -.L3341: + b .L3404 +.L3385: ldrh w0, [x20,2] add w1, w1, w0 -.L3360: +.L3404: str w1, [x23,40] mov x0, x23 mov w1, 1 bl sblk_read_page ldr w0, [x23,52] cmp w0, 512 - beq .L3346 + beq .L3390 cmn w0, #1 - beq .L3346 + beq .L3390 ldr x0, [x23,24] ldr w20, [x0,4] mov w0, w20 bl lpa_hash_get_ppa str w0, [x29,76] cmn w0, #1 - bne .L3347 + bne .L3391 ldr w0, [x19,3372] cmp w20, w0 - bcs .L3347 + bcs .L3391 mov w0, w20 add x1, x29, 76 mov w2, 0 bl pm_log2phys -.L3347: +.L3391: ldr w2, [x23,40] ldr w0, [x29,76] cmp w2, w0 - bne .L3346 + bne .L3390 add x1, x21, :lo12:.LANCHOR3 ldrh w3, [x19,3448] - ldr x1, [x1,1240] + ldr x1, [x1,1320] str w2, [x1,x3,lsl 2] ldrh w1, [x19,3448] add w1, w1, 1 strh w1, [x19,3448] -.L3346: +.L3390: ldrh w0, [x19,3450] add w24, w24, 1 add w0, w0, 1 strh w0, [x19,3450] - b .L3338 -.L3363: + b .L3382 +.L3407: mov x0, x23 add x21, x21, :lo12:.LANCHOR3 bl zbuf_free ldrb w0, [x20,4] - ldrb w1, [x21,1249] + ldrb w1, [x21,1329] add w0, w0, 1 uxtb w0, w0 strb w0, [x20,4] cmp w1, w0 - bne .L3332 + bne .L3376 ldrh w0, [x20,2] strb wzr, [x20,4] add w0, w0, 1 strh w0, [x20,2] -.L3332: +.L3376: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -21355,32 +21835,32 @@ gc_scan_src_blk: ldrh w1, [x0,3424] mov w0, 65535 cmp w1, w0 - bne .L3365 + bne .L3409 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 1504 - add x1, x1, 848 + mov w2, 1505 + add x1, x1, 864 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3365: +.L3409: add x2, x20, :lo12:.LANCHOR0 mov w3, 65535 mov w0, 0 ldrh w1, [x2,3424] cmp w1, w3 - beq .L3366 + beq .L3410 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3367 + tbz x0, 8, .L3411 ubfiz x3, x1, 1, 16 ldr x2, [x2,1112] - adrp x0, .LC249 - add x0, x0, :lo12:.LC249 + adrp x0, .LC252 + add x0, x0, :lo12:.LC252 ldrh w2, [x2,x3] bl printk -.L3367: +.L3411: add x19, x20, :lo12:.LANCHOR0 bl timer_get_time add x21, x19, 3424 @@ -21389,110 +21869,110 @@ gc_scan_src_blk: bl ftl_get_blk_list_in_sblk uxtb w1, w0 strb w1, [x21,5] - cbnz w1, .L3368 + cbnz w1, .L3412 mov w0, -1 strh w0, [x19,3424] - b .L3420 -.L3368: + b .L3464 +.L3412: ldrh w3, [x19,3424] ldr x2, [x19,1096] add x2, x2, x3, lsl 2 ldrb w2, [x2,2] tst w2, 192 and w4, w2, 224 - beq .L3369 + beq .L3413 cmp w4, 224 - beq .L3369 + beq .L3413 ldr x2, [x19,1120] ldrh w5, [x2,16] cmp w5, w3 - beq .L3369 + beq .L3413 ldrh w5, [x2,48] cmp w5, w3 - beq .L3369 + beq .L3413 ldrh w2, [x2,80] cmp w2, w3 - bne .L3370 -.L3369: - cbnz w4, .L3371 + bne .L3414 +.L3413: + cbnz w4, .L3415 add x0, x20, :lo12:.LANCHOR0 ldr x0, [x0,1112] ldrh w0, [x0,x3,lsl 1] - cbz w0, .L3372 + cbz w0, .L3416 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 1529 - add x1, x1, 848 + mov w2, 1530 + add x1, x1, 864 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3372: +.L3416: add x0, x20, :lo12:.LANCHOR0 ldrh w1, [x0,3424] ldr x0, [x0,1112] strh wzr, [x0,x1,lsl 1] -.L3371: +.L3415: add x20, x20, :lo12:.LANCHOR0 mov w0, -1 strh wzr, [x20,3448] strh w0, [x20,3424] -.L3420: +.L3464: mov w0, 0 - b .L3366 -.L3370: + b .L3410 +.L3414: and w0, w0, 255 sub w0, w0, #1 add x0, x21, x0, sxtw 1 ldrh w21, [x0,40] mov w0, 65535 cmp w21, w0 - bne .L3373 + bne .L3417 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 1539 - add x1, x1, 848 + mov w2, 1540 + add x1, x1, 864 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3373: +.L3417: add x3, x20, :lo12:.LANCHOR0 adrp x22, .LANCHOR3 add x1, x22, :lo12:.LANCHOR3 mov w26, 1 ldrh w2, [x3,3424] ldr x3, [x3,1096] - ldrh w0, [x1,1294] + ldrh w0, [x1,1384] add x2, x3, x2, lsl 2 - ldrh w23, [x1,1330] + ldrh w23, [x1,1418] sub w0, w0, #1 ldrb w2, [x2,2] uxth w0, w0 mul w23, w21, w23 and w2, w2, 224 cmp w2, 160 - bne .L3374 - ldrb w2, [x1,1248] + bne .L3418 + ldrb w2, [x1,1328] cmp w2, 2 uxth w26, w2 orr w23, w23, w2, lsl 24 - bne .L3375 - ldrh w0, [x1,1266] + bne .L3419 + ldrh w0, [x1,1346] sub w0, w0, #1 uxth w0, w0 -.L3375: +.L3419: add x1, x20, :lo12:.LANCHOR0 ldrb w2, [x1,1268] - cbnz w2, .L3376 + cbnz w2, .L3420 ldrb w1, [x1,1269] - cbz w1, .L3374 -.L3376: + cbz w1, .L3418 +.L3420: add x0, x22, :lo12:.LANCHOR3 - ldrh w0, [x0,1266] + ldrh w0, [x0,1346] sub w0, w0, #1 uxth w0, w0 -.L3374: +.L3418: add x24, x20, :lo12:.LANCHOR0 orr w23, w0, w23 mov w0, 1 @@ -21509,41 +21989,41 @@ gc_scan_src_blk: strh wzr, [x24,3448] ldr w0, [x19,52] cmp w0, 512 - beq .L3423 + beq .L3467 cmn w0, #1 - beq .L3423 + beq .L3467 ldr x0, [x19,24] mov w1, 15555 movk w1, 0xf55f, lsl 16 ldr w2, [x0] cmp w2, w1 - beq .L3379 + beq .L3423 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 add x0, x0, :lo12:.LC0 - add x1, x1, 848 - mov w2, 1577 - b .L3424 -.L3379: + add x1, x1, 864 + mov w2, 1578 + b .L3468 +.L3423: add x2, x22, :lo12:.LANCHOR3 cmp w26, 3 - ldrb w1, [x2,1249] - ldrh w25, [x2,1294] + ldrb w1, [x2,1329] + ldrh w25, [x2,1384] mul w25, w1, w25 mul w25, w26, w25 uxth w25, w25 - bne .L3380 + bne .L3424 adrp x26, .LANCHOR5 add x3, x26, :lo12:.LANCHOR5 - ldrb w4, [x3,929] + ldrb w4, [x3,1001] cmp w4, 2 - bne .L3380 - ldrh w24, [x2,1266] - ldrh w0, [x3,926] + bne .L3424 + ldrh w24, [x2,1346] + ldrh w0, [x3,998] lsl w24, w24, 2 mul w24, w1, w24 - ldr x1, [x2,1240] + ldr x1, [x2,1320] sub w24, w24, w0 and x0, x0, 65532 add x0, x1, x0 @@ -21553,151 +22033,151 @@ gc_scan_src_blk: bl ftl_memcpy ldr x0, [x19,24] ldr w27, [x0,4] - cbz w27, .L3381 + cbz w27, .L3425 ldr x0, [x19,8] mov w1, w24 bl js_hash cmp w27, w0 - beq .L3381 + beq .L3425 mov x0, x19 bl zbuf_free ldr x1, [x19,24] - adrp x0, .LC250 - add x0, x0, :lo12:.LC250 + adrp x0, .LC253 + add x0, x0, :lo12:.LC253 ldr w2, [x19,40] mov w3, w24 ldr w1, [x1,4] - b .L3422 -.L3381: + b .L3466 +.L3425: add x0, x20, :lo12:.LANCHOR0 ldrb w1, [x0,1268] - cbnz w1, .L3382 + cbnz w1, .L3426 ldrb w0, [x0,1269] - cbz w0, .L3383 -.L3382: + cbz w0, .L3427 +.L3426: sub w0, w23, #1 str w0, [x19,40] - b .L3384 -.L3383: + b .L3428 +.L3427: add x1, x22, :lo12:.LANCHOR3 - ldrh w0, [x1,1294] - ldrh w1, [x1,1330] + ldrh w0, [x1,1384] + ldrh w1, [x1,1418] sub w0, w0, #1 mul w21, w21, w1 uxth w0, w0 orr w0, w0, 33554432 orr w21, w0, w21 str w21, [x19,40] -.L3384: +.L3428: mov x0, x19 mov w1, 1 bl sblk_read_page ldr w0, [x19,52] cmp w0, 512 - beq .L3423 + beq .L3467 cmn w0, #1 - beq .L3423 + beq .L3467 ldr x0, [x19,24] ldr w1, [x0] mov w0, 15555 movk w0, 0xf55f, lsl 16 cmp w1, w0 - beq .L3387 + beq .L3431 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 add x0, x0, :lo12:.LC0 - add x1, x1, 848 - mov w2, 1618 -.L3424: + add x1, x1, 864 + mov w2, 1619 +.L3468: bl printk bl dump_stack -.L3423: +.L3467: mov x0, x19 bl zbuf_free - b .L3421 -.L3387: + b .L3465 +.L3431: add x0, x22, :lo12:.LANCHOR3 add x26, x26, :lo12:.LANCHOR5 ldr x1, [x19,8] - ldr x0, [x0,1240] - ldrh w2, [x26,926] - b .L3419 -.L3380: + ldr x0, [x0,1320] + ldrh w2, [x26,998] + b .L3463 +.L3424: ldr w23, [x0,4] lsl w21, w25, 2 ldr x0, [x19,8] mov w1, w21 bl js_hash cmp w23, w0 - beq .L3389 + beq .L3433 mov x0, x19 bl zbuf_free ldr x1, [x19,24] - adrp x0, .LC250 + adrp x0, .LC253 ldr w2, [x19,40] - add x0, x0, :lo12:.LC250 + add x0, x0, :lo12:.LC253 mov w3, w21 ldr w1, [x1,4] -.L3422: +.L3466: bl printk -.L3421: +.L3465: mov w0, -1 - b .L3366 -.L3389: + b .L3410 +.L3433: add x0, x22, :lo12:.LANCHOR3 ldr x1, [x19,8] mov w2, w21 - ldr x0, [x0,1240] -.L3419: + ldr x0, [x0,1320] +.L3463: bl ftl_memcpy mov x27, 0 add x0, x22, :lo12:.LANCHOR3 add x21, x20, :lo12:.LANCHOR0 mov w24, 24 mov w26, 1 - ldr x23, [x0,1240] -.L3390: + ldr x23, [x0,1320] +.L3434: cmp w25, w27 - ble .L3425 + ble .L3469 ldr w0, [x23,x27,lsl 2] cmn w0, #1 - beq .L3392 + beq .L3436 bl lpa_hash_get_ppa str w0, [x29,108] cmn w0, #1 - bne .L3393 + bne .L3437 ldr w0, [x23,x27,lsl 2] add x1, x29, 108 mov w2, 0 bl pm_log2phys -.L3393: +.L3437: add x2, x22, :lo12:.LANCHOR3 ldrb w0, [x21,1257] ldr w3, [x29,108] sub w0, w24, w0 ldrh w4, [x21,3424] - ldrh w1, [x2,1232] + ldrh w1, [x2,1312] sub w0, w0, w1 lsr w1, w3, w1 lsl w0, w26, w0 sub w0, w0, #1 and w0, w0, w1 - ldrb w1, [x2,1234] + ldrb w1, [x2,1314] udiv w0, w0, w1 cmp w0, w4 - bne .L3392 + bne .L3436 ldrh w4, [x21,3448] - ldr x0, [x2,1240] + ldr x0, [x2,1320] str w3, [x0,x4,lsl 2] ldrh w0, [x21,3448] add w0, w0, 1 strh w0, [x21,3448] -.L3392: +.L3436: bl timer_get_time add x27, x27, 1 - b .L3390 -.L3425: + b .L3434 +.L3469: mov x0, x19 bl zbuf_free add x0, x20, :lo12:.LANCHOR0 @@ -21707,11 +22187,11 @@ gc_scan_src_blk: ldrh w2, [x3,x2] ldrh w3, [x0,3448] cmp w2, w3 - beq .L3396 - adrp x0, .LC251 - add x0, x0, :lo12:.LC251 + beq .L3440 + adrp x0, .LC254 + add x0, x0, :lo12:.LC254 bl printk -.L3396: +.L3440: add x20, x20, :lo12:.LANCHOR0 ldrh w2, [x20,3424] ldr x1, [x20,1112] @@ -21719,7 +22199,7 @@ gc_scan_src_blk: strh w3, [x1,x2,lsl 1] strh wzr, [x20,3452] ldrh w0, [x20,3448] -.L3366: +.L3410: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -21742,14 +22222,14 @@ gc_scan_static_data: ldr x0, [x3,1120] ldr w1, [x0,544] cmn w1, #1 - beq .L3427 + beq .L3471 adrp x20, .LANCHOR4 adrp x22, .LC0 add x20, x20, :lo12:.LANCHOR4 mov w21, 0 add x22, x22, :lo12:.LC0 - add x20, x20, 864 -.L3428: + add x20, x20, 880 +.L3472: add x24, x19, :lo12:.LANCHOR0 add x1, x29, 76 mov w2, 0 @@ -21758,7 +22238,7 @@ gc_scan_static_data: bl pm_log2phys ldr w0, [x29,76] cmn w0, #1 - beq .L3429 + beq .L3473 mov w0, 1 bl buf_alloc mov x23, x0 @@ -21768,7 +22248,7 @@ gc_scan_static_data: bl sblk_read_page ldr w0, [x23,52] cmp w0, 256 - bne .L3430 + bne .L3474 adrp x4, .LANCHOR3 ldrb w2, [x24,1257] add x4, x4, :lo12:.LANCHOR3 @@ -21776,33 +22256,33 @@ gc_scan_static_data: sub w2, w3, w2 mov w1, 1 ldr w3, [x29,76] - ldrh w0, [x4,1232] + ldrh w0, [x4,1312] sub w2, w2, w0 lsr w3, w3, w0 lsl w2, w1, w2 - ldrb w0, [x4,1234] + ldrb w0, [x4,1314] sub w2, w2, #1 and w2, w2, w3 udiv w0, w2, w0 mov w2, 0 bl gc_add_sblk -.L3430: +.L3474: add x0, x19, :lo12:.LANCHOR0 ldr x1, [x23,24] ldr x0, [x0,1120] ldr w1, [x1,4] ldr w0, [x0,544] cmp w1, w0 - beq .L3431 + beq .L3475 mov x1, x20 - mov w2, 2162 + mov w2, 2163 mov x0, x22 bl printk bl dump_stack -.L3431: +.L3475: mov x0, x23 bl zbuf_free -.L3429: +.L3473: add x2, x19, :lo12:.LANCHOR0 ldr x1, [x2,1120] ldr w2, [x2,3372] @@ -21810,7 +22290,7 @@ gc_scan_static_data: add w0, w0, 1 str w0, [x1,544] cmp w0, w2 - bcc .L3432 + bcc .L3476 mov w0, -1 str w0, [x1,544] ldr w0, [x1,548] @@ -21821,41 +22301,41 @@ gc_scan_static_data: bl ftl_ext_info_flush mov w0, 0 bl ftl_info_flush - b .L3426 -.L3432: + b .L3470 +.L3476: ldr w0, [x29,76] cmn w0, #1 - bne .L3426 - adrp x1, .LANCHOR5+926 + bne .L3470 + adrp x1, .LANCHOR5+998 add w0, w21, 1 uxth w0, w0 - ldrh w1, [x1,#:lo12:.LANCHOR5+926] + ldrh w1, [x1,#:lo12:.LANCHOR5+998] cmp w21, w1, lsr 2 - bcs .L3426 + bcs .L3470 mov w21, w0 - b .L3428 -.L3427: + b .L3472 +.L3471: ldr w1, [x0,536] ldr w2, [x0,12] add w1, w1, 12959744 add w1, w1, 256 cmp w2, w1 - bhi .L3437 + bhi .L3481 ldr x3, [x3,3392] ldr w1, [x0,540] ldr w3, [x3,44] add w1, w1, 4096 add w1, w1, 904 cmp w3, w1 - bls .L3426 -.L3437: + bls .L3470 +.L3481: add x19, x19, :lo12:.LANCHOR0 ldr x1, [x19,3392] ldr w1, [x1,44] str w1, [x0,540] str w2, [x0,536] str wzr, [x0,544] -.L3426: +.L3470: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -21879,45 +22359,45 @@ gc_block_vpn_scan: ldrh w0, [x20,1088] ldr w1, [x1,608] cmp w1, w0 - bcs .L3442 + bcs .L3486 bl timer_get_time ldr x21, [x20,1120] ldr w1, [x21,604] add w1, w1, 28672 add w1, w1, 1328 cmp w0, w1 - bls .L3442 + bls .L3486 bl timer_get_time str w0, [x21,604] ldr x0, [x20,1120] ldrh w2, [x20,1088] ldr w1, [x0,600] cmp w1, w2 - bcs .L3446 + bcs .L3490 ldr x2, [x20,3392] ldrh w2, [x2,134] cmp w1, w2 - bcs .L3447 -.L3446: + bcs .L3491 +.L3490: add x1, x19, :lo12:.LANCHOR0 ldr x1, [x1,3392] ldrh w1, [x1,134] str w1, [x0,600] -.L3447: +.L3491: ldr w26, [x0,600] mov w0, 65535 uxth w20, w26 cmp w20, w0 - bne .L3448 + bne .L3492 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 2503 - add x1, x1, 888 + mov w2, 2504 + add x1, x1, 904 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3448: +.L3492: add x21, x19, :lo12:.LANCHOR0 ldr x0, [x21,1120] ldr w1, [x0,600] @@ -21930,47 +22410,47 @@ gc_block_vpn_scan: mov w0, w20 bl ftl_get_blk_list_in_sblk uxth w1, w0 - cbz w1, .L3442 + cbz w1, .L3486 uxtw x22, w20 ldr x24, [x21,1096] add x24, x24, x22, lsl 2 ldrb w1, [x24,2] tst w1, 192 and w2, w1, 224 - beq .L3449 + beq .L3493 cmp w2, 224 - beq .L3449 + beq .L3493 ldr x1, [x21,1120] ldrh w3, [x1,16] cmp w3, w20 - beq .L3449 + beq .L3493 ldrh w3, [x1,48] cmp w3, w20 - beq .L3449 + beq .L3493 ldrh w1, [x1,80] cmp w1, w20 - bne .L3450 -.L3449: - cbnz w2, .L3442 + bne .L3494 +.L3493: + cbnz w2, .L3486 add x0, x19, :lo12:.LANCHOR0 lsl x22, x22, 1 ldr x0, [x0,1112] ldrh w0, [x0,x22] - cbz w0, .L3451 + cbz w0, .L3495 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 2520 - add x1, x1, 888 + mov w2, 2521 + add x1, x1, 904 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3451: +.L3495: add x19, x19, :lo12:.LANCHOR0 ldr x0, [x19,1112] strh wzr, [x0,x22] - b .L3442 -.L3450: + b .L3486 +.L3494: and w0, w0, 65535 add x1, x29, 144 sub w0, w0, #1 @@ -21978,37 +22458,37 @@ gc_block_vpn_scan: ldrh w21, [x0,-16] mov w0, 65535 cmp w21, w0 - bne .L3453 + bne .L3497 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 2528 - add x1, x1, 888 + mov w2, 2529 + add x1, x1, 904 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3453: +.L3497: adrp x25, .LANCHOR3 ldrb w3, [x24,2] add x2, x25, :lo12:.LANCHOR3 mov w27, 1 and w3, w3, 224 cmp w3, 160 - ldrh w0, [x2,1294] - ldrh w1, [x2,1330] + ldrh w0, [x2,1384] + ldrh w1, [x2,1418] sub w0, w0, #1 mul w1, w21, w1 uxth w0, w0 - bne .L3454 - ldrb w3, [x2,1248] + bne .L3498 + ldrb w3, [x2,1328] cmp w3, 2 uxth w27, w3 orr w1, w1, w3, lsl 24 - bne .L3454 - ldrh w0, [x2,1266] + bne .L3498 + ldrh w0, [x2,1346] sub w0, w0, #1 uxth w0, w0 -.L3454: +.L3498: orr w21, w0, w1 mov w0, 1 bl buf_alloc @@ -22017,42 +22497,42 @@ gc_block_vpn_scan: add x21, x25, :lo12:.LANCHOR3 mov x23, x0 bl sblk_read_page - ldrh w0, [x21,1266] + ldrh w0, [x21,1346] mov w1, 255 - ldrb w2, [x21,1249] + ldrb w2, [x21,1329] mul w2, w0, w2 - ldr x0, [x21,1240] + ldr x0, [x21,1320] lsl w2, w2, 2 bl ftl_memset ldr w0, [x23,52] cmp w0, 512 - beq .L3466 + beq .L3510 cmn w0, #1 cset w2, eq - cbz w2, .L3455 -.L3466: + cbz w2, .L3499 +.L3510: mov w0, w20 mov w1, 1 mov w2, 0 - b .L3479 -.L3455: + b .L3523 +.L3499: ldr x0, [x23,24] ldr w1, [x0] mov w0, 15555 movk w0, 0xf55f, lsl 16 cmp w1, w0 - beq .L3457 + beq .L3501 mov w0, w20 mov w1, 1 -.L3479: +.L3523: bl gc_add_sblk mov x0, x23 bl zbuf_free - b .L3442 -.L3457: - ldrb w0, [x21,1249] + b .L3486 +.L3501: + ldrb w0, [x21,1329] mov x28, 0 - ldrh w1, [x21,1294] + ldrh w1, [x21,1384] mov w21, w28 mul w0, w0, w1 mul w27, w27, w0 @@ -22061,27 +22541,27 @@ gc_block_vpn_scan: str w0, [x29,108] and w0, w26, 65535 str w0, [x29,104] -.L3458: +.L3502: ldr w0, [x29,108] cmp w0, w28 - ble .L3480 + ble .L3524 ldr w0, [x27,x28,lsl 2] cmn w0, #1 - beq .L3459 + beq .L3503 bl lpa_hash_get_ppa str w0, [x29,124] cmn w0, #1 - bne .L3460 + bne .L3504 ldr w0, [x27,x28,lsl 2] add x1, x29, 124 mov w2, 0 bl pm_log2phys -.L3460: +.L3504: add x0, x19, :lo12:.LANCHOR0 add x2, x25, :lo12:.LANCHOR3 mov w1, 24 ldrb w0, [x0,1257] - ldrh w4, [x2,1232] + ldrh w4, [x2,1312] sub w0, w1, w0 mov w1, 1 sub w0, w0, w4 @@ -22090,43 +22570,43 @@ gc_block_vpn_scan: sub w0, w0, #1 lsr w1, w1, w4 and w0, w0, w1 - ldrb w1, [x2,1234] + ldrb w1, [x2,1314] udiv w0, w0, w1 ldr w1, [x29,104] cmp w0, w1 - bne .L3459 + bne .L3503 add w21, w21, 1 uxth w21, w21 -.L3459: +.L3503: add x28, x28, 1 - b .L3458 -.L3480: + b .L3502 +.L3524: mov x0, x23 bl zbuf_free adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3462 + tbz x0, 8, .L3506 add x0, x19, :lo12:.LANCHOR0 ldrb w4, [x24,2] uxth w1, w26 mov w3, w21 ubfx x4, x4, 5, 3 ldr x2, [x0,1112] - adrp x0, .LC252 - add x0, x0, :lo12:.LC252 + adrp x0, .LC255 + add x0, x0, :lo12:.LC255 ldrh w2, [x2,x22,lsl 1] bl printk -.L3462: +.L3506: add x19, x19, :lo12:.LANCHOR0 cmp w21, 31 ldr x0, [x19,1112] strh w21, [x0,x22,lsl 1] - bhi .L3442 + bhi .L3486 mov w0, w20 mov w1, 1 mov w2, 0 bl gc_add_sblk -.L3442: +.L3486: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -22159,9 +22639,9 @@ ftl_sblk_dump: add x1, x0, x24 ldrh w4, [x0,x24] ldr w5, [x0,x24] - adrp x0, .LC253 + adrp x0, .LC256 ldrb w3, [x1,2] - add x0, x0, :lo12:.LC253 + add x0, x0, :lo12:.LC256 mov w1, w22 and w4, w4, 2047 ubfx x2, x3, 5, 3 @@ -22171,10 +22651,10 @@ ftl_sblk_dump: mov w1, 65535 mov w0, 0 cmp w22, w1 - beq .L3482 + beq .L3526 ldrh w1, [x19,1088] cmp w1, w22 - bls .L3482 + bls .L3526 ldr x0, [x19,1096] mov w25, 1 adrp x27, .LANCHOR3 @@ -22182,10 +22662,10 @@ ftl_sblk_dump: ldrb w0, [x0,2] and w0, w0, 224 cmp w0, 160 - bne .L3483 + bne .L3527 add x0, x27, :lo12:.LANCHOR3 - ldrb w25, [x0,1248] -.L3483: + ldrb w25, [x0,1328] +.L3527: add x1, x29, 208 mov w0, w22 strh w22, [x29,192] @@ -22198,7 +22678,7 @@ ftl_sblk_dump: mov w3, w25 strh wzr, [x29,194] uxtb w4, w4 - ldrh w0, [x0,1294] + ldrh w0, [x0,1384] mov w20, w23 strb wzr, [x29,197] strh wzr, [x29,202] @@ -22206,8 +22686,8 @@ ftl_sblk_dump: add x0, x28, :lo12:.LANCHOR0 strh w1, [x29,198] ldr x1, [x0,1096] - adrp x0, .LC254 - add x0, x0, :lo12:.LC254 + adrp x0, .LC257 + add x0, x0, :lo12:.LC257 add x1, x1, x24 ldrb w2, [x1,2] mov w1, w22 @@ -22216,20 +22696,20 @@ ftl_sblk_dump: mov w0, 1 bl buf_alloc mov x26, x0 - adrp x0, .LC199 + adrp x0, .LC195 str w23, [x29,168] - add x0, x0, :lo12:.LC199 + add x0, x0, :lo12:.LC195 str x0, [x29,120] adrp x0, .LANCHOR4 str w23, [x29,144] add x0, x0, :lo12:.LANCHOR4 - add x0, x0, 912 + add x0, x0, 928 str x0, [x29,112] -.L3484: +.L3528: add x0, x27, :lo12:.LANCHOR3 - ldrh w0, [x0,1294] + ldrh w0, [x0,1384] cmp w0, w20 - bls .L3502 + bls .L3546 lsl w0, w20, 1 str wzr, [x29,172] add w1, w0, w20 @@ -22237,56 +22717,56 @@ ftl_sblk_dump: sub w1, w1, #1 str w0, [x29,136] str w1, [x29,140] -.L3503: +.L3547: ldrb w0, [x29,201] ldr w1, [x29,172] cmp w0, w1 - bls .L3500 + bls .L3544 mov w21, 1 -.L3501: +.L3545: cmp w21, w25 ldr w0, [x29,172] - bhi .L3522 + bhi .L3566 add x1, x29, 192 add x0, x1, x0, sxtw 1 ldrh w3, [x0,16] mov w0, 65535 cmp w3, w0 - beq .L3485 + beq .L3529 add x0, x27, :lo12:.LANCHOR3 cmp w25, 3 - ldrh w2, [x0,1330] + ldrh w2, [x0,1418] mul w2, w3, w2 - bne .L3486 + bne .L3530 add x1, x28, :lo12:.LANCHOR0 ldrb w4, [x1,1268] - cbz w4, .L3487 + cbz w4, .L3531 ldr w1, [x29,140] - b .L3520 -.L3487: + b .L3564 +.L3531: ldrb w0, [x1,1269] lsl w19, w21, 24 - cbz w0, .L3489 + cbz w0, .L3533 ldr w0, [x29,140] add w2, w2, w0 add w2, w2, w21 - b .L3521 -.L3489: + b .L3565 +.L3533: add w2, w2, w20 -.L3521: +.L3565: orr w19, w19, w2 - b .L3488 -.L3486: + b .L3532 +.L3530: cmp w25, 2 add w19, w2, w20 - bne .L3488 + bne .L3532 ldr w1, [x29,136] -.L3520: - ldrb w19, [x0,1248] +.L3564: + ldrb w19, [x0,1328] add w2, w2, w1 add w2, w2, w21 orr w19, w2, w19, lsl 24 -.L3488: +.L3532: mov w1, 1 str w19, [x26,40] mov x0, x26 @@ -22318,13 +22798,13 @@ ftl_sblk_dump: bl printk ldr x9, [x29,104] cmp w9, 512 - beq .L3507 + beq .L3551 cmn w9, #1 - bne .L3491 -.L3507: + bne .L3535 +.L3551: mov w0, 1 str w0, [x29,168] -.L3491: +.L3535: mov x0, 35160 movk x0, 0x41, lsl 16 bl __const_udelay @@ -22334,10 +22814,10 @@ ftl_sblk_dump: ldrb w0, [x0,2] and w0, w0, 224 cmp w0, 32 - beq .L3485 + beq .L3529 cmp w0, 224 cset w2, eq - cbnz w2, .L3485 + cbnz w2, .L3529 ldr x0, [x26,24] str x2, [x29,104] ldr w0, [x0,4] @@ -22345,26 +22825,26 @@ ftl_sblk_dump: str w0, [x29,188] cmn w0, #1 ldr x2, [x29,104] - bne .L3493 + bne .L3537 ldr x0, [x26,24] add x1, x29, 188 ldr w0, [x0,4] bl pm_log2phys -.L3493: +.L3537: ldr w0, [x29,188] cmp w0, w19 - bne .L3494 + bne .L3538 ldr x2, [x26,24] add w23, w23, 1 - adrp x0, .LC255 + adrp x0, .LC258 mov w1, w19 - add x0, x0, :lo12:.LC255 + add x0, x0, :lo12:.LC258 mov w3, w23 ldr w2, [x2,4] bl printk -.L3494: +.L3538: ldr x0, [x29,160] - cbz x0, .L3496 + cbz x0, .L3540 ldr x0, [x29,144] ubfiz x19, x0, 2, 32 ldr x0, [x29,160] @@ -22372,60 +22852,60 @@ ftl_sblk_dump: ldr x0, [x26,24] ldr w0, [x0,4] cmp w0, w2 - beq .L3497 + beq .L3541 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L3497 - adrp x0, .LC256 + tbz x0, 12, .L3541 + adrp x0, .LC259 ldr w1, [x29,144] - add x0, x0, :lo12:.LC256 + add x0, x0, :lo12:.LC259 bl printk -.L3497: +.L3541: ldr x0, [x29,160] ldr x1, [x26,24] ldr w0, [x0,x19] ldr w1, [x1,4] cmp w1, w0 - beq .L3496 + beq .L3540 cmn w0, #1 - beq .L3496 + beq .L3540 adrp x0, .LC0 ldr x1, [x29,112] - mov w2, 1567 + mov w2, 1575 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3496: +.L3540: ldr w0, [x29,144] add w0, w0, 1 str w0, [x29,144] -.L3485: +.L3529: add w21, w21, 1 uxth w21, w21 - b .L3501 -.L3522: + b .L3545 +.L3566: add w0, w0, 1 uxth w0, w0 str w0, [x29,172] - b .L3503 -.L3500: + b .L3547 +.L3544: add w20, w20, 1 uxth w20, w20 - b .L3484 -.L3502: + b .L3528 +.L3546: mov x0, x26 bl zbuf_free add x0, x28, :lo12:.LANCHOR0 ldr x3, [x29,128] mov w1, w22 ldr x2, [x0,1112] - adrp x0, .LC257 - add x0, x0, :lo12:.LC257 + adrp x0, .LC260 + add x0, x0, :lo12:.LC260 ldrh w2, [x2,x3,lsl 1] mov w3, w23 bl printk ldr w0, [x29,168] -.L3482: +.L3526: sub sp, x29, #48 ldp x19, x20, [sp,64] ldp x21, x22, [sp,80] @@ -22454,35 +22934,35 @@ zftl_read: stp x27, x28, [sp,96] mov w23, w2 mov x22, x3 - tbz x0, 12, .L3524 - adrp x0, .LC258 + tbz x0, 12, .L3568 + adrp x0, .LC261 mov w1, w19 - add x0, x0, :lo12:.LC258 + add x0, x0, :lo12:.LC261 mov w2, w20 mov w3, w23 bl printk -.L3524: - cbnz w19, .L3525 +.L3568: + cbnz w19, .L3569 adrp x0, .LANCHOR0+1032 mov w19, 24576 ldr w1, [x0,#:lo12:.LANCHOR0+1032] - b .L3526 -.L3525: + b .L3570 +.L3569: cmp w19, 3 mov w3, -1 - bhi .L3527 + bhi .L3571 lsl w19, w19, 13 mov w1, 8192 -.L3526: +.L3570: cmp w20, w1 - bcs .L3556 + bcs .L3603 cmp w23, w1 cset w0, hi - cbnz w0, .L3556 + cbnz w0, .L3603 add w2, w20, w23 mov w3, -1 cmp w2, w1 - bhi .L3527 + bhi .L3571 adrp x21, .LANCHOR0 add w20, w19, w20 add x2, x21, :lo12:.LANCHOR0 @@ -22493,7 +22973,7 @@ zftl_read: ldr x3, [x2,3392] adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 - add x0, x0, 928 + add x0, x0, 944 str x0, [x29,128] ldr w1, [x3,24] add w1, w1, w23 @@ -22510,8 +22990,8 @@ zftl_read: sub w25, w1, w2 mov x19, x2 add w25, w25, 1 -.L3528: - cbz w25, .L3594 +.L3572: + cbz w25, .L3645 ldr w1, [x29,156] add x0, x21, :lo12:.LANCHOR0 cmp w19, w1 @@ -22521,12 +23001,12 @@ zftl_read: cmp w19, w1 cset w26, eq uxth w24, w0 - cbnz w26, .L3560 - cbz w2, .L3529 - b .L3593 -.L3560: - cbz w2, .L3531 -.L3593: + cbnz w26, .L3607 + cbz w2, .L3573 + b .L3644 +.L3607: + cbz w2, .L3575 +.L3644: udiv w26, w20, w0 msub w26, w26, w0, w20 uxth w0, w23 @@ -22535,22 +23015,22 @@ zftl_read: uxth w24, w24 cmp w24, w23 csel w24, w0, w24, hi - b .L3529 -.L3531: + b .L3573 +.L3575: ldr w1, [x29,152] mov w26, w2 msub w24, w0, w19, w1 uxtb w24, w24 -.L3529: +.L3573: add x1, x21, :lo12:.LANCHOR0 mov w0, 0 add x1, x1, 1312 -.L3534: +.L3578: ldr w2, [x1,36] cmp w2, w19 - bne .L3532 + bne .L3576 ldrb w2, [x1,2] - tbz x2, 3, .L3532 + tbz x2, 3, .L3576 add x2, x21, :lo12:.LANCHOR0 ubfiz x1, x0, 6, 32 add x0, x2, x1 @@ -22562,49 +23042,49 @@ zftl_read: add x22, x22, x24 add x1, x1, x26 bl ftl_memcpy - b .L3533 -.L3532: + b .L3577 +.L3576: add w0, w0, 1 add x1, x1, 64 cmp w0, 32 - bne .L3534 + bne .L3578 mov w0, w19 bl lpa_hash_get_ppa str w0, [x29,172] cmn w0, #1 - bne .L3535 + bne .L3579 mov w0, w19 add x1, x29, 172 mov w2, 0 bl pm_log2phys -.L3535: +.L3579: ldr w0, [x29,172] cmn w0, #1 - bne .L3536 + bne .L3580 mov w24, 0 -.L3537: +.L3581: add x0, x21, :lo12:.LANCHOR0 ldrb w0, [x0,3360] cmp w24, w0 - bcs .L3533 + bcs .L3577 madd w0, w19, w0, w24 cmp w0, w20 - bcc .L3538 + bcc .L3582 ldr w1, [x29,152] cmp w0, w1 - bcs .L3538 + bcs .L3582 mov x0, x22 mov w1, 0 mov w2, 512 add x22, x22, 512 bl ftl_memset -.L3538: +.L3582: add w24, w24, 1 - b .L3537 -.L3536: + b .L3581 +.L3580: mov w0, 0 bl buf_alloc - cbz x0, .L3540 + cbz x0, .L3584 add x2, x21, :lo12:.LANCHOR0 ldr x3, [x2,3392] ldr w2, [x3,40] @@ -22620,102 +23100,134 @@ zftl_read: str w19, [x0,36] strb w26, [x0,57] bl zftl_add_read_buf -.L3533: +.L3577: add w19, w19, 1 sub w25, w25, #1 -.L3540: - cbz w25, .L3561 +.L3584: + cbz w25, .L3608 add x0, x21, :lo12:.LANCHOR0 ldrb w0, [x0,3362] cmp w0, 2 - bhi .L3528 -.L3561: + bhi .L3572 +.L3608: adrp x24, .LANCHOR3 add x2, x24, :lo12:.LANCHOR3 - ldrb w1, [x2,1875] - cbz w1, .L3528 - ldrb w2, [x2,1874] + ldrb w1, [x2,1963] + cbz w1, .L3572 + ldrb w2, [x2,1962] add x26, x21, :lo12:.LANCHOR0 add x0, x26, 1312 mov x27, x26 add x0, x0, x2, lsl 6 bl sblk_read_page -.L3543: +.L3587: add x0, x24, :lo12:.LANCHOR3 - ldrb w1, [x0,1875] - cbz w1, .L3595 - ldrb w0, [x0,1874] + ldrb w1, [x0,1963] + cbz w1, .L3646 + ldrb w0, [x0,1962] cmp w0, 255 - bne .L3544 + bne .L3588 ldr x1, [x29,128] - mov w2, 1276 + mov w2, 1283 ldr x0, [x29,136] bl printk bl dump_stack -.L3544: - add x2, x24, :lo12:.LANCHOR3 - add x0, x27, 1312 - ldrb w28, [x2,1874] - lsl x1, x28, 6 - add x26, x0, x1 - ldrb w0, [x0,x1] - ldr w5, [x26,52] - strb w0, [x2,1874] - cmn w5, #1 - bne .L3545 +.L3588: + add x0, x24, :lo12:.LANCHOR3 + add x1, x27, 1312 + ldrb w28, [x0,1962] + lsl x2, x28, 6 + add x26, x1, x2 + ldrb w1, [x1,x2] + ldr w6, [x26,52] + strb w1, [x0,1962] + cmn w6, #1 + bne .L3589 ldr x1, [x27,1120] - str w5, [x29,148] + str w6, [x29,148] ldr w0, [x1,552] add w0, w0, 1 str w0, [x1,552] - b .L3546 -.L3545: - cmp w5, 256 - bne .L3546 + b .L3590 +.L3589: + cmp w6, 256 + bne .L3590 ldrb w4, [x27,1257] mov w1, 24 - ldrh w0, [x2,1232] - mov w6, 1 + ldrh w5, [x0,1312] + mov w7, 1 sub w4, w1, w4 ldr w3, [x26,40] - sub w4, w4, w0 - str x5, [x29,104] - lsl w4, w6, w4 - lsr w0, w3, w0 - sub w4, w4, #1 - str x6, [x29,112] - and w0, w4, w0 - ldrb w4, [x2,1234] + sub w4, w4, w5 ldr w2, [x26,36] - udiv w4, w0, w4 - adrp x0, .LC259 - add x0, x0, :lo12:.LC259 + lsl w4, w7, w4 + lsr w5, w3, w5 + sub w4, w4, #1 + str x6, [x29,104] + and w5, w4, w5 + ldrb w4, [x0,1314] + adrp x0, .LC262 + str x7, [x29,112] + add x0, x0, :lo12:.LC262 + udiv w4, w5, w4 str x4, [x29,120] uxth w1, w4 bl printk ldr x4, [x29,120] mov w2, 0 - ldr x6, [x29,112] + ldr x7, [x29,112] mov w0, w4 - mov w1, w6 + mov w1, w7 bl gc_add_sblk - ldr x5, [x29,104] -.L3546: + ldr x6, [x29,104] +.L3590: add x0, x27, 1312 - cmn w5, #1 add x0, x0, x28, lsl 6 + ldr x3, [x0,24] + ldr w0, [x0,36] + ldr w1, [x3,4] + cmp w1, w0 + bne .L3609 + cmn w6, #1 + bne .L3591 +.L3609: + add x0, x27, 1312 + ldrb w4, [x27,3360] + add x0, x0, x28, lsl 6 + ldrb w6, [x27,1257] + mov w5, 24 + sub w5, w5, w6 + ldrb w1, [x0,56] + ldr x2, [x0,8] + ldr x7, [x0,16] + cmp w1, w4 + ldr w1, [x0,40] + mov w0, 1 + lsl w0, w0, w6 + csel x2, x7, x2, cs + sub w0, w0, #1 + lsr w6, w1, w5 + lsl w5, w0, w5 + and w0, w0, w6 + bic w1, w1, w5 + bl flash_read_page_en + mov w6, w0 +.L3591: + cmn w6, #1 cset w11, eq + cbnz w11, .L3610 + add x0, x27, 1312 + add x0, x0, x28, lsl 6 ldr x1, [x0,24] ldr w0, [x0,36] ldr w1, [x1,4] cmp w1, w0 - bne .L3562 - cbz w11, .L3547 -.L3562: + beq .L3631 +.L3610: ldr x1, [x27,1120] add x10, x27, 1312 add x10, x10, x28, lsl 6 - mov w2, w5 + mov w2, w6 add x10, x10, 32 str x11, [x29,112] ldr w0, [x1,552] @@ -22725,8 +23237,8 @@ zftl_read: ldrb w1, [x10,-31] ldr w0, [x7,12] str w0, [sp] - adrp x0, .LC260 - add x0, x0, :lo12:.LC260 + adrp x0, .LC263 + add x0, x0, :lo12:.LC263 ldr w3, [x10,4] ldr w4, [x10,8] ldr w5, [x7] @@ -22740,76 +23252,76 @@ zftl_read: ldr x10, [x29,120] sub w2, w1, w2 mov w1, 1 - ldrh w0, [x3,1232] + ldrh w0, [x3,1312] sub w2, w2, w0 lsl w2, w1, w2 ldr w1, [x10,8] sub w2, w2, #1 lsr w0, w1, w0 - ldrb w1, [x3,1234] + ldrb w1, [x3,1314] and w0, w2, w0 udiv w0, w0, w1 mov x1, 0 bl ftl_sblk_dump ldr x11, [x29,112] -.L3547: + cbnz w11, .L3611 +.L3631: add x0, x27, 1312 add x0, x0, x28, lsl 6 ldr x1, [x0,24] ldr w0, [x0,36] ldr w1, [x1,4] cmp w1, w0 - bne .L3563 - cbz w11, .L3549 -.L3563: + beq .L3596 +.L3611: ldr x1, [x29,128] - mov w2, 1301 + mov w2, 1319 ldr x0, [x29,136] bl printk bl dump_stack -.L3549: +.L3596: add x0, x27, 1312 - ldrb w1, [x27,3360] - add x9, x0, x28, lsl 6 - ldrb w2, [x9,56] - cmp w1, w2 - bls .L3551 - ldrb w3, [x9,57] + ldrb w3, [x27,3360] + add x0, x0, x28, lsl 6 + ldrb w2, [x0,56] + cmp w3, w2 + bls .L3598 + ldrb w3, [x0,57] lsl w2, w2, 9 - ldr x1, [x9,8] - ldr x0, [x9,16] + ldr x1, [x0,8] + ldr x0, [x0,16] add x1, x1, x3, lsl 9 bl ftl_memcpy - b .L3552 -.L3551: - ldrb w0, [x9,2] - and w0, w0, -9 - strb w0, [x9,2] -.L3552: + b .L3599 +.L3598: + ldrb w1, [x0,2] + and w1, w1, -9 + strb w1, [x0,2] +.L3599: mov x1, x26 add x0, x27, 3364 bl buf_remove_buf mov x0, x26 bl zbuf_free add x1, x24, :lo12:.LANCHOR3 - ldrb w0, [x1,1875] + ldrb w0, [x1,1963] sub w0, w0, #1 - strb w0, [x1,1875] - b .L3543 -.L3595: + strb w0, [x1,1963] + b .L3587 +.L3646: mov w2, -1 - strb w1, [x0,1875] - strb w2, [x0,1874] - b .L3528 -.L3594: + strb w1, [x0,1963] + strb w2, [x0,1962] + b .L3572 +.L3645: bl timer_get_time - adrp x1, .LANCHOR5+932 + adrp x1, .LANCHOR5+1004 ldr w3, [x29,148] - str w0, [x1,#:lo12:.LANCHOR5+932] - b .L3527 -.L3556: + str w0, [x1,#:lo12:.LANCHOR5+1004] + b .L3571 +.L3603: mov w3, -1 -.L3527: +.L3571: sub sp, x29, #16 mov w0, w3 ldp x19, x20, [sp,32] @@ -22867,34 +23379,34 @@ zftl_debug_proc_write: stp x23, x24, [sp,80] stp x25, x26, [sp,96] mov x21, x2 - bhi .L3599 + bhi .L3650 mov x0, x19 bl rk_copy_from_user mov x22, x0 mov x0, -14 - cbnz x22, .L3599 - adrp x0, .LC261 + cbnz x22, .L3650 + adrp x0, .LC264 mov x1, x19 - add x0, x0, :lo12:.LC261 + add x0, x0, :lo12:.LC264 strb w22, [x19,x21] bl printk - adrp x0, .LC262 + adrp x0, .LC265 mov x1, x19 - add x0, x0, :lo12:.LC262 + add x0, x0, :lo12:.LC265 mov w2, 1 mov w3, 16 bl rknand_print_hex bl rknand_device_lock - adrp x1, .LC263 + adrp x1, .LC266 mov x0, x19 - add x1, x1, :lo12:.LC263 + add x1, x1, :lo12:.LC266 mov x2, 7 bl memcmp - cbnz w0, .L3600 + cbnz w0, .L3651 adrp x23, .LANCHOR0 - adrp x0, .LC264 + adrp x0, .LC267 add x19, x23, :lo12:.LANCHOR0 - add x0, x0, :lo12:.LC264 + add x0, x0, :lo12:.LC267 mov w2, 4 adrp x20, .LANCHOR5 ldr x3, [x19,3392] @@ -22903,19 +23415,19 @@ zftl_debug_proc_write: bl rknand_print_hex add x3, x20, :lo12:.LANCHOR5 ldr x1, [x19,3392] - adrp x0, .LC265 + adrp x0, .LC268 mov w2, 2 - add x0, x0, :lo12:.LC265 + add x0, x0, :lo12:.LC268 add x1, x1, 416 - ldrh w3, [x3,176] + ldrh w3, [x3,264] mov w19, w22 mov w22, 65535 bl rknand_print_hex -.L3601: +.L3652: add x0, x20, :lo12:.LANCHOR5 - ldrh w0, [x0,176] + ldrh w0, [x0,264] cmp w19, w0 - bge .L3604 + bge .L3655 mov w0, 300 bl msleep add x0, x23, :lo12:.LANCHOR0 @@ -22923,65 +23435,67 @@ zftl_debug_proc_write: add x0, x0, x19, sxtw 1 ldrh w0, [x0,416] cmp w0, w22 - beq .L3602 + beq .L3653 mov x1, 0 bl ftl_sblk_dump -.L3602: +.L3653: add w19, w19, 1 - b .L3601 -.L3600: - adrp x1, .LC266 + b .L3652 +.L3651: + adrp x1, .LC269 mov x0, x19 - add x1, x1, :lo12:.LC266 + add x1, x1, :lo12:.LC269 mov x2, 7 bl memcmp - cbnz w0, .L3605 + cbnz w0, .L3656 adrp x22, .LANCHOR0 - adrp x0, .LC264 + adrp x0, .LC267 add x20, x22, :lo12:.LANCHOR0 - add x0, x0, :lo12:.LC264 + add x0, x0, :lo12:.LC267 mov w2, 4 - adrp x26, .LC269 - add x26, x26, :lo12:.LC269 + adrp x26, .LC272 + add x26, x26, :lo12:.LC272 ldr x3, [x20,3392] add x1, x3, 704 ldrh w3, [x3,698] bl rknand_print_hex - adrp x3, .LANCHOR5+176 + adrp x3, .LANCHOR5+264 ldr x1, [x20,3392] - adrp x0, .LC265 + adrp x0, .LC268 mov w2, 2 - add x0, x0, :lo12:.LC265 add x1, x1, 416 - ldrh w3, [x3,#:lo12:.LANCHOR5+176] + add x0, x0, :lo12:.LC268 + ldrh w3, [x3,#:lo12:.LANCHOR5+264] add x20, x29, 192 bl rknand_print_hex - adrp x0, .LC267 + mov w0, 50 + bl msleep + adrp x0, .LC270 add x1, x19, 7 - add x0, x0, :lo12:.LC267 + add x0, x0, :lo12:.LC270 str x1, [x20,-88]! mov x19, x22 - adrp x22, .LC268 + adrp x22, .LC271 bl printk - add x22, x22, :lo12:.LC268 + add x22, x22, :lo12:.LC271 ldr x0, [x29,104] mov x1, x20 - bl rk_simple_strtoull.constprop.35 + bl rk_simple_strtoull.constprop.34 mov w24, w0 adrp x2, .LANCHOR3 str w0, [x29,100] add x2, x2, :lo12:.LANCHOR3 uxth w25, w0 - add x20, x2, 1880 - add x23, x2, 2392 -.L3607: + add x20, x2, 1968 + add x23, x2, 2480 +.L3658: ldrh w1, [x20] mov x0, x22 ldrh w2, [x20,2] bl printk ldrh w0, [x20] cmp w0, w25 - bne .L3606 + bne .L3657 add x0, x19, :lo12:.LANCHOR0 ldr x1, [x20,8] mov w2, 4 @@ -22989,10 +23503,12 @@ zftl_debug_proc_write: mov x0, x26 lsl w3, w3, 7 bl rknand_print_hex -.L3606: + mov w0, 50 + bl msleep +.L3657: add x20, x20, 16 cmp x20, x23 - bne .L3607 + bne .L3658 mov w0, 300 add x19, x19, :lo12:.LANCHOR0 bl msleep @@ -23015,8 +23531,8 @@ zftl_debug_proc_write: str w0, [sp,8] ldr w0, [x7,12] str w0, [sp,16] - adrp x0, .LC242 - add x0, x0, :lo12:.LC242 + adrp x0, .LC245 + add x0, x0, :lo12:.LC245 ldr w3, [x6] ldr w4, [x6,4] ldr w5, [x6,8] @@ -23025,63 +23541,63 @@ zftl_debug_proc_write: ldr w7, [x7] bl printk ldrb w3, [x19,3360] - adrp x0, .LC270 + adrp x0, .LC273 ldr x1, [x20,8] - add x0, x0, :lo12:.LC270 + add x0, x0, :lo12:.LC273 mov w2, 4 lsl w3, w3, 7 bl rknand_print_hex mov x0, x20 - b .L3622 -.L3605: - adrp x1, .LC271 - mov x0, x19 - add x1, x1, :lo12:.LC271 - mov x2, 7 - bl memcmp - cbnz w0, .L3608 - bl dump_ftl_info - b .L3604 -.L3608: - adrp x1, .LC272 - mov x0, x19 - add x1, x1, :lo12:.LC272 - mov x2, 9 - bl memcmp - cbnz w0, .L3609 - add x1, x29, 192 - add x0, x19, 9 - str x0, [x1,-88]! - bl rk_simple_strtoull.constprop.35 - str w0, [x29,100] - adrp x1, .LANCHOR3+1328 - strh w0, [x1,#:lo12:.LANCHOR3+1328] - bl dump_all_list_info - b .L3604 -.L3609: - adrp x1, .LC273 - mov x0, x19 - add x1, x1, :lo12:.LC273 - mov x2, 8 - bl memcmp - cbz w0, .L3604 + b .L3673 +.L3656: adrp x1, .LC274 mov x0, x19 add x1, x1, :lo12:.LC274 + mov x2, 7 + bl memcmp + cbnz w0, .L3659 + bl dump_ftl_info + b .L3655 +.L3659: + adrp x1, .LC275 + mov x0, x19 + add x1, x1, :lo12:.LC275 + mov x2, 9 + bl memcmp + cbnz w0, .L3660 + add x1, x29, 192 + add x0, x19, 9 + str x0, [x1,-88]! + bl rk_simple_strtoull.constprop.34 + str w0, [x29,100] + adrp x1, .LANCHOR3+1416 + strh w0, [x1,#:lo12:.LANCHOR3+1416] + bl dump_all_list_info + b .L3655 +.L3660: + adrp x1, .LC276 + mov x0, x19 + add x1, x1, :lo12:.LC276 mov x2, 8 bl memcmp - cbnz w0, .L3611 + cbz w0, .L3655 + adrp x1, .LC277 + mov x0, x19 + add x1, x1, :lo12:.LC277 + mov x2, 8 + bl memcmp + cbnz w0, .L3662 add x20, x29, 192 - adrp x0, .LC267 + adrp x0, .LC270 add x1, x19, 8 - add x0, x0, :lo12:.LC267 + add x0, x0, :lo12:.LC270 str x1, [x20,-88]! bl printk ldr x0, [x29,104] mov x1, x20 adrp x20, .LANCHOR0 add x20, x20, :lo12:.LANCHOR0 - bl rk_simple_strtoull.constprop.35 + bl rk_simple_strtoull.constprop.34 str w0, [x29,100] mov w0, 1 bl buf_alloc @@ -23099,8 +23615,8 @@ zftl_debug_proc_write: str w0, [sp,8] ldr w0, [x7,12] str w0, [sp,16] - adrp x0, .LC242 - add x0, x0, :lo12:.LC242 + adrp x0, .LC245 + add x0, x0, :lo12:.LC245 ldr w4, [x6,4] ldr w5, [x6,8] ldr w3, [x6] @@ -23109,107 +23625,98 @@ zftl_debug_proc_write: ldr w2, [x19,52] bl printk ldrb w3, [x20,3360] - adrp x0, .LC215 + adrp x0, .LC218 ldr x1, [x19,8] - add x0, x0, :lo12:.LC215 + add x0, x0, :lo12:.LC218 mov w2, 4 lsl w3, w3, 7 bl rknand_print_hex ldrb w3, [x20,3360] - adrp x0, .LC237 + adrp x0, .LC240 ldr x1, [x19,24] - add x0, x0, :lo12:.LC237 + add x0, x0, :lo12:.LC240 mov w2, 4 lsl w3, w3, 1 bl rknand_print_hex mov x0, x19 -.L3622: +.L3673: bl zbuf_free - b .L3604 -.L3611: - adrp x1, .LC275 + b .L3655 +.L3662: + adrp x1, .LC278 mov x0, x19 - add x1, x1, :lo12:.LC275 + add x1, x1, :lo12:.LC278 mov x2, 8 bl memcmp - cbnz w0, .L3612 + cbnz w0, .L3663 add x20, x29, 192 - adrp x0, .LC267 + adrp x0, .LC270 add x1, x19, 8 - add x0, x0, :lo12:.LC267 + add x0, x0, :lo12:.LC270 str x1, [x20,-88]! bl printk ldr x0, [x29,104] mov x1, x20 - bl rk_simple_strtoull.constprop.35 + bl rk_simple_strtoull.constprop.34 str w0, [x29,100] mov x1, x22 bl ftl_sblk_dump - b .L3604 -.L3612: - adrp x1, .LC276 + b .L3655 +.L3663: + adrp x1, .LC279 mov x0, x19 - add x1, x1, :lo12:.LC276 + add x1, x1, :lo12:.LC279 mov x2, 10 bl memcmp - cbnz w0, .L3613 + cbnz w0, .L3664 add x20, x29, 192 - adrp x0, .LC267 + adrp x0, .LC270 add x1, x19, 10 - add x0, x0, :lo12:.LC267 + add x0, x0, :lo12:.LC270 str x1, [x20,-88]! bl printk ldr x0, [x29,104] mov x1, x20 - bl rk_simple_strtoull.constprop.35 + bl rk_simple_strtoull.constprop.34 str w0, [x29,100] adrp x1, .LANCHOR2 str w0, [x1,#:lo12:.LANCHOR2] - b .L3604 -.L3613: - adrp x1, .LC277 + b .L3655 +.L3664: + adrp x1, .LC280 mov x2, 8 mov x0, x19 - add x1, x1, :lo12:.LC277 + add x1, x1, :lo12:.LC280 bl memcmp mov w2, w0 str x2, [x29,88] - cbnz w0, .L3614 + cbnz w0, .L3665 add x1, x19, 8 - adrp x0, .LC267 + adrp x0, .LC270 add x19, x29, 192 - add x0, x0, :lo12:.LC267 + add x0, x0, :lo12:.LC270 str x1, [x19,-88]! bl printk ldr x0, [x29,104] mov x1, x19 - bl rk_simple_strtoull.constprop.35 + bl rk_simple_strtoull.constprop.34 mov w19, w0 bl lpa_hash_get_ppa str w0, [x29,100] cmn w0, #1 ldr x2, [x29,88] - bne .L3615 + bne .L3666 mov w0, w19 add x1, x29, 100 bl pm_log2phys -.L3615: - adrp x0, .LC278 +.L3666: + adrp x0, .LC281 ldr w2, [x29,100] mov w1, w19 - add x0, x0, :lo12:.LC278 - bl printk - b .L3604 -.L3614: - adrp x0, .LC279 - add x0, x0, :lo12:.LC279 - bl printk - adrp x0, .LC280 - add x0, x0, :lo12:.LC280 - bl printk - adrp x0, .LC281 add x0, x0, :lo12:.LC281 bl printk + b .L3655 +.L3665: adrp x0, .LC282 add x0, x0, :lo12:.LC282 bl printk @@ -23228,10 +23735,19 @@ zftl_debug_proc_write: adrp x0, .LC287 add x0, x0, :lo12:.LC287 bl printk -.L3604: + adrp x0, .LC288 + add x0, x0, :lo12:.LC288 + bl printk + adrp x0, .LC289 + add x0, x0, :lo12:.LC289 + bl printk + adrp x0, .LC290 + add x0, x0, :lo12:.LC290 + bl printk +.L3655: bl rknand_device_unlock mov x0, x21 -.L3599: +.L3650: sub sp, x29, #32 ldp x19, x20, [sp,48] ldp x21, x22, [sp,64] @@ -23257,41 +23773,41 @@ ftl_update_l2p_map: stp x25, x26, [sp,64] stp x27, x28, [sp,80] ldrb w2, [x22,9] - ldrh w23, [x1,1294] + ldrh w23, [x1,1384] ldrh w19, [x22,12] - ldr x1, [x1,1848] + ldr x1, [x1,1936] mul w23, w23, w2 add x19, x1, x19, lsl 2 add x1, x19, x23, sxtw 2 ldr w1, [x1,-4] cmn w1, #1 - beq .L3624 + beq .L3675 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 1990 - add x1, x1, 944 + mov w2, 1998 + add x1, x1, 960 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3624: - adrp x0, .LC289 +.L3675: + adrp x0, .LC292 mov x28, 0 - add x0, x0, :lo12:.LC289 - adrp x27, .LC288 + add x0, x0, :lo12:.LC292 + adrp x27, .LC291 str x0, [x29,112] - adrp x0, .LC290 - add x0, x0, :lo12:.LC290 + adrp x0, .LC293 + add x0, x0, :lo12:.LC293 mov w21, w28 str x0, [x29,104] - add x27, x27, :lo12:.LC288 -.L3625: + add x27, x27, :lo12:.LC291 +.L3676: cmp w28, w23 mov w24, w28 - bge .L3652 + bge .L3703 ldr w2, [x19,x28,lsl 2] cmn w2, #1 - beq .L3626 + beq .L3677 adrp x25, .LANCHOR0 add x0, x25, :lo12:.LANCHOR0 ldrb w20, [x0,3360] @@ -23300,28 +23816,28 @@ ftl_update_l2p_map: ldr w0, [x0,#:lo12:.LANCHOR2] udiv w20, w2, w20 and w20, w20, 65535 - tbz x0, 12, .L3630 + tbz x0, 12, .L3681 mov x0, x27 mov w1, w20 mov w3, w28 bl printk -.L3630: +.L3681: sbfiz x26, x24, 2, 32 ldr w0, [x19,x26] cmn w0, #1 - beq .L3628 + beq .L3679 add x1, x25, :lo12:.LANCHOR0 ldrb w1, [x1,3360] lsl w1, w1, 7 udiv w0, w0, w1 cmp w20, w0, uxth - bne .L3628 + bne .L3679 ldrb w0, [x22,9] ldr x2, [x29,120] add x3, x2, :lo12:.LANCHOR3 str x3, [x29,96] sdiv w1, w24, w0 - ldrh w2, [x3,1330] + ldrh w2, [x3,1418] msub w0, w1, w0, w24 add x0, x22, x0, sxtw 1 ldrh w0, [x0,16] @@ -23331,13 +23847,13 @@ ftl_update_l2p_map: ldr w1, [x19,x26] bl pm_ppa_update_check ldr x3, [x29,96] - cbz w0, .L3629 - ldr x1, [x3,1848] + cbz w0, .L3680 + ldr x1, [x3,1936] mov w2, 4 ldr x0, [x29,104] mov w3, w23 bl rknand_print_hex -.L3629: +.L3680: ldr w0, [x19,x26] add x1, x29, 140 mov w2, 1 @@ -23346,28 +23862,28 @@ ftl_update_l2p_map: uxth w21, w21 mov w0, -1 str w0, [x19,x26] -.L3628: +.L3679: add w24, w24, 1 cmp w24, w23 - bne .L3630 -.L3626: + bne .L3681 +.L3677: add x28, x28, 1 - b .L3625 -.L3652: + b .L3676 +.L3703: adrp x0, .LANCHOR2 adrp x19, .LANCHOR0 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L3632 + tbz x0, 12, .L3683 add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x22] mov w2, w21 ubfiz x3, x1, 1, 16 ldr x4, [x0,1112] - adrp x0, .LC291 - add x0, x0, :lo12:.LC291 + adrp x0, .LC294 + add x0, x0, :lo12:.LC294 ldrh w3, [x4,x3] bl printk -.L3632: +.L3683: add x19, x19, :lo12:.LANCHOR0 ldrh w1, [x22] ldr x0, [x19,1112] @@ -23395,9 +23911,9 @@ ftl_alloc_new_data_sblk: ldrh w0, [x20] mov w1, 65535 cmp w0, w1 - beq .L3654 + beq .L3705 bl zftl_insert_data_list -.L3654: +.L3705: adrp x19, .LANCHOR0 mov w2, 2 add x19, x19, :lo12:.LANCHOR0 @@ -23411,13 +23927,13 @@ ftl_alloc_new_data_sblk: ldr x0, [x19,1120] ldr w0, [x0,560] cmp w0, w21 - bne .L3656 + bne .L3707 mov w20, 65535 cmp w21, w20 - beq .L3656 - adrp x0, .LC292 + beq .L3707 + adrp x0, .LC295 mov w1, w21 - add x0, x0, :lo12:.LC292 + add x0, x0, :lo12:.LC295 bl printk ldr x0, [x19,1120] ldr w0, [x0,564] @@ -23426,7 +23942,7 @@ ftl_alloc_new_data_sblk: mov w1, -1 str w20, [x0,560] str w1, [x0,564] -.L3656: +.L3707: bl ftl_ext_info_flush mov w0, 0 bl ftl_info_flush @@ -23452,15 +23968,15 @@ ftl_write_commit: add x0, x0, :lo12:.LANCHOR5 str x0, [x29,136] stp x19, x20, [sp,16] - add x0, x0, 264 + add x0, x0, 352 str x0, [x29,120] stp x21, x22, [sp,32] stp x23, x24, [sp,48] stp x27, x28, [sp,80] -.L3665: +.L3716: ldrb w0, [x26,3388] adrp x20, .LANCHOR0 - cbz w0, .L3667 + cbz w0, .L3718 ldrb w1, [x26,3416] sub w0, w0, #1 ldr x2, [x29,128] @@ -23473,16 +23989,16 @@ ftl_write_commit: strb w1, [x26,3416] ldr w1, [x28,36] cmp w1, w0 - bcc .L3668 + bcc .L3719 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 604 - add x1, x1, 968 + mov w2, 606 + add x1, x1, 984 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3668: +.L3719: ldr x0, [x29,144] add x1, x20, :lo12:.LANCHOR0 add x3, x1, 1312 @@ -23490,32 +24006,32 @@ ftl_write_commit: ldr w2, [x1,3372] ldr w23, [x0,36] cmp w23, w2 - bcc .L3669 + bcc .L3720 mov x0, x28 bl zbuf_free mov w0, -1 - b .L3726 -.L3669: + b .L3779 +.L3720: ldr x25, [x0,8] ldr x24, [x0,24] ldrb w22, [x0,57] ldrb w21, [x0,56] ldrb w0, [x1,3389] - cbz w0, .L3671 + cbz w0, .L3722 ldr x0, [x29,136] - ldrb w19, [x0,264] + ldrb w19, [x0,352] add x19, x3, x19, lsl 6 -.L3672: +.L3723: ldrb w4, [x19] cmp w4, 255 - beq .L3728 + beq .L3781 sbfiz x19, x4, 6, 32 add x19, x3, x19 - b .L3672 -.L3728: + b .L3723 +.L3781: ldr w0, [x19,36] cmp w0, w23 - bne .L3671 + bne .L3722 ldr x0, [x19,8] ubfiz x1, x22, 9, 8 lsl w2, w21, 9 @@ -23534,18 +24050,18 @@ ftl_write_commit: bl ftl_debug_info_fill mov x0, x28 bl zbuf_free - b .L3665 -.L3671: + b .L3716 +.L3722: mov w0, w23 bl lpa_hash_get_ppa str w0, [x29,172] cmn w0, #1 - bne .L3675 + bne .L3726 mov w0, w23 add x1, x29, 172 mov w2, 0 bl pm_log2phys -.L3675: +.L3726: add x4, x20, :lo12:.LANCHOR0 ldr w0, [x29,172] add x3, x4, 1312 @@ -23554,32 +24070,32 @@ ftl_write_commit: ldr x19, [x4,1120] add x4, x4, 3360 add x19, x19, 16 -.L3677: +.L3728: ldr w2, [x3,36] cmp w2, w23 - bne .L3676 + bne .L3727 ldrb w6, [x3,2] - tbz x6, 3, .L3676 + tbz x6, 3, .L3727 ldr x27, [x3,8] and w6, w6, -9 ldr w0, [x3,40] mov w1, 1 strb w6, [x3,2] -.L3676: +.L3727: add x3, x3, 64 cmp x3, x4 - bne .L3677 - cbz w1, .L3678 + bne .L3728 + cbz w1, .L3729 str w0, [x29,172] -.L3678: +.L3729: add x3, x20, :lo12:.LANCHOR0 str wzr, [x29,152] ldrb w0, [x3,3360] cmp w21, w0 - bcs .L3679 + bcs .L3730 add w21, w22, w21 - cbz x27, .L3680 - cbz w22, .L3681 + cbz x27, .L3731 + cbz w22, .L3732 mov x0, x25 mov x1, x27 lsl w2, w22, 9 @@ -23588,28 +24104,28 @@ ftl_write_commit: ldr x3, [x29,152] ldr x19, [x3,1120] add x19, x19, 48 -.L3681: +.L3732: add x0, x20, :lo12:.LANCHOR0 ldrb w2, [x0,3360] cmp w21, w2 - bcc .L3682 + bcc .L3733 ldr x19, [x0,1120] add x19, x19, 16 - b .L3727 -.L3682: + b .L3780 +.L3733: ubfiz x1, x21, 9, 9 sub w2, w2, w21 add x0, x25, x1 lsl w2, w2, 9 add x1, x27, x1 bl ftl_memcpy -.L3727: +.L3780: str wzr, [x29,152] - b .L3679 -.L3680: + b .L3730 +.L3731: ldr w0, [x29,172] cmn w0, #1 - beq .L3683 + beq .L3734 mov w0, 1 bl buf_alloc mov x27, x0 @@ -23618,17 +24134,42 @@ ftl_write_commit: mov w1, 1 str w23, [x0,36] bl sblk_read_page - ldr x0, [x27,24] - ldr w1, [x0,12] - ldr w0, [x0,4] - add w1, w1, 1 - str w1, [x29,152] + ldr x3, [x27,24] + ldr w0, [x3,12] + add w0, w0, 1 + str w0, [x29,152] + ldr w0, [x3,4] cmp w0, w23 - bne .L3684 + bne .L3735 ldr w0, [x27,52] cmn w0, #1 - bne .L3685 -.L3684: + bne .L3736 +.L3735: + add x4, x20, :lo12:.LANCHOR0 + mov w0, 1 + ldr w1, [x27,40] + mov w2, 24 + ldrb w6, [x4,1257] + ldrb w4, [x4,3360] + lsl w0, w0, w6 + sub w2, w2, w6 + sub w0, w0, #1 + lsr w6, w1, w2 + lsl w2, w0, w2 + and w0, w0, w6 + bic w1, w1, w2 + ldr x2, [x27,8] + bl flash_read_page_en + str w0, [x27,52] +.L3736: + ldr x0, [x27,24] + ldr w0, [x0,4] + cmp w0, w23 + bne .L3737 + ldr w0, [x27,52] + cmn w0, #1 + bne .L3738 +.L3737: add x0, x20, :lo12:.LANCHOR0 ldr w2, [x29,172] mov w3, w23 @@ -23636,83 +24177,83 @@ ftl_write_commit: ldr w0, [x1,552] add w0, w0, 1 str w0, [x1,552] - adrp x0, .LC293 + adrp x0, .LC296 ldrb w1, [x27,1] - add x0, x0, :lo12:.LC293 + add x0, x0, :lo12:.LC296 ldr w4, [x27,52] bl printk - adrp x0, .LC237 + adrp x0, .LC240 mov w2, 4 ldr x1, [x27,24] - add x0, x0, :lo12:.LC237 + add x0, x0, :lo12:.LC240 mov w3, w2 bl rknand_print_hex -.L3685: +.L3738: ldr x0, [x27,24] ldr w0, [x0,4] cmp w0, w23 - bne .L3686 + bne .L3739 ldr w0, [x27,52] cmn w0, #1 - bne .L3687 -.L3686: + bne .L3740 +.L3739: adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 691 - add x1, x1, 968 + mov w2, 698 + add x1, x1, 984 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3687: - cbz w22, .L3688 +.L3740: + cbz w22, .L3741 ldr w0, [x29,172] lsl w2, w22, 9 cmn w0, #1 - beq .L3689 + beq .L3742 ldr x1, [x27,8] mov x0, x25 bl ftl_memcpy - b .L3690 -.L3683: - cbz w22, .L3688 + b .L3743 +.L3734: + cbz w22, .L3741 lsl w2, w22, 9 -.L3689: +.L3742: mov x0, x25 mov w1, 0 bl ftl_memset -.L3690: +.L3743: add x0, x20, :lo12:.LANCHOR0 ldr x19, [x0,1120] add x19, x19, 48 -.L3688: +.L3741: add x0, x20, :lo12:.LANCHOR0 ldrb w2, [x0,3360] cmp w21, w2 - bcc .L3691 - bls .L3692 + bcc .L3744 + bls .L3745 ldr x19, [x0,1120] add x19, x19, 16 - b .L3692 -.L3691: + b .L3745 +.L3744: ldr w0, [x29,172] sub w2, w2, w21 lsl w2, w2, 9 cmn w0, #1 ubfiz x0, x21, 7, 9 - beq .L3693 + beq .L3746 ldr x1, [x27,8] lsl x21, x0, 2 add x0, x25, x21 add x1, x1, x21 bl ftl_memcpy - b .L3692 -.L3693: + b .L3745 +.L3746: add x0, x25, x0, lsl 2 mov w1, 0 bl ftl_memset -.L3692: - cbz x27, .L3679 +.L3745: + cbz x27, .L3730 ldrb w0, [x27,2] mov x1, x27 and w0, w0, -9 @@ -23722,13 +24263,13 @@ ftl_write_commit: bl buf_remove_buf mov x0, x27 bl zbuf_free -.L3679: +.L3730: ldrh w0, [x19,6] - cbnz w0, .L3694 + cbnz w0, .L3747 bl ftl_flush mov x0, x19 bl ftl_alloc_new_data_sblk -.L3694: +.L3747: mov x0, x19 add x21, x20, :lo12:.LANCHOR0 bl ftl_get_new_free_page @@ -23782,14 +24323,14 @@ ftl_write_commit: bl timer_get_time ldr x1, [x29,136] ldrb w2, [x21,3389] - str w0, [x1,268] + str w0, [x1,356] cmp w2, 2 adrp x0, .LANCHOR5 - bhi .L3695 + bhi .L3748 ldrh w1, [x19,6] cmp w1, 1 - bne .L3667 -.L3695: + bne .L3718 +.L3748: ldrb w1, [x19,5] mov w4, 2 add x6, x20, :lo12:.LANCHOR0 @@ -23800,22 +24341,22 @@ ftl_write_commit: cmp w1, 1 add x1, x0, :lo12:.LANCHOR5 csel w4, w4, w2, ne - ldrb w5, [x1,264] + ldrb w5, [x1,352] mov w1, 0 mov w3, w5 -.L3699: +.L3752: cmp w1, w4 - beq .L3729 + beq .L3782 ubfiz x3, x3, 6, 8 add w1, w1, 1 ldrb w3, [x6,x3] - b .L3699 -.L3729: + b .L3752 +.L3782: add x0, x0, :lo12:.LANCHOR5 uxtb w1, w1 sub w2, w2, w1 ubfiz x5, x5, 6, 8 - strb w3, [x0,264] + strb w3, [x0,352] add x0, x20, :lo12:.LANCHOR0 add x0, x0, 1312 strb w2, [x0,2077] @@ -23823,20 +24364,20 @@ ftl_write_commit: bl sblk_prog_page ldrh w0, [x19,6] cmp w0, 1 - bne .L3667 + bne .L3718 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 -.L3667: +.L3718: add x20, x20, :lo12:.LANCHOR0 ldrb w19, [x20,3388] - cbnz w19, .L3665 + cbnz w19, .L3716 bl ftl_write_completed mov w0, w19 -.L3726: +.L3779: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -23860,12 +24401,12 @@ gc_do_copy_back: stp x27, x28, [sp,80] adrp x19, .LANCHOR0 add x22, x19, :lo12:.LANCHOR0 - ldrb w0, [x1,1265] + ldrb w0, [x1,1345] ldr x26, [x22,1120] - cbnz w0, .L3731 + cbnz w0, .L3784 bl buf_alloc mov x20, x0 - cbz x0, .L3730 + cbz x0, .L3783 add x21, x22, 3424 ldrh w22, [x22,3450] mov w0, w22 @@ -23879,61 +24420,61 @@ gc_do_copy_back: bl sblk_read_page ldr w0, [x20,52] cmp w0, 512 - beq .L3816 + beq .L3869 cmn w0, #1 - bne .L3733 -.L3816: + bne .L3786 +.L3869: adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 mov w2, 1032 - add x1, x1, 992 + add x1, x1, 1008 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3733: +.L3786: ldr x0, [x20,24] ldr w21, [x0,4] mov w0, w21 bl lpa_hash_get_ppa str w0, [x29,192] cmn w0, #1 - bne .L3735 + bne .L3788 mov w0, w21 add x1, x29, 192 mov w2, 0 bl pm_log2phys -.L3735: +.L3788: ldr w2, [x29,192] cmp w2, w23 - bne .L3736 + bne .L3789 add x1, x19, :lo12:.LANCHOR0 add x0, x1, 1312 add x1, x1, 3360 -.L3739: +.L3792: ldr w3, [x0,36] cmp w3, w21 - bne .L3737 + bne .L3790 ldrb w3, [x0,2] - tbz x3, 1, .L3737 + tbz x3, 1, .L3790 mov x0, x20 str x2, [x29,184] bl zbuf_free adrp x0, .LANCHOR2 ldr x2, [x29,184] ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3730 + tbz x0, 8, .L3783 add x19, x19, :lo12:.LANCHOR0 - adrp x0, .LC294 + adrp x0, .LC297 mov w1, w21 - add x0, x0, :lo12:.LC294 + add x0, x0, :lo12:.LC297 ldrh w3, [x19,3450] bl printk - b .L3730 -.L3737: + b .L3783 +.L3790: add x0, x0, 64 cmp x0, x1 - bne .L3739 + bne .L3792 add x22, x19, :lo12:.LANCHOR0 str w21, [x20,36] strb wzr, [x20,57] @@ -23945,19 +24486,19 @@ gc_do_copy_back: str wzr, [x0,16] adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3740 + tbz x0, 8, .L3793 mov w0, w21 str x2, [x29,184] bl lpa_hash_get_ppa mov w3, w0 ldr x2, [x29,184] - adrp x0, .LC295 + adrp x0, .LC298 ldrh w5, [x22,3450] - add x0, x0, :lo12:.LC295 + add x0, x0, :lo12:.LC298 mov w1, w21 mov w4, w2 bl printk -.L3740: +.L3793: add x19, x19, :lo12:.LANCHOR0 mov x0, x20 bl ftl_gc_write_buf @@ -23969,52 +24510,52 @@ gc_do_copy_back: ldrh w0, [x19,3452] add w0, w0, 1 strh w0, [x19,3452] - b .L3730 -.L3736: + b .L3783 +.L3789: adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3742 + tbz x0, 8, .L3795 mov w0, w21 add x19, x19, :lo12:.LANCHOR0 str x2, [x29,184] bl lpa_hash_get_ppa mov w3, w0 ldr x2, [x29,184] - adrp x0, .LC295 + adrp x0, .LC298 ldrh w5, [x19,3450] - add x0, x0, :lo12:.LC295 + add x0, x0, :lo12:.LC298 mov w1, w21 mov w4, w23 bl printk -.L3742: +.L3795: mov x0, x20 bl zbuf_free - b .L3730 -.L3731: + b .L3783 +.L3784: add x0, x26, 80 str x0, [x29,184] - ldrb w1, [x1,1249] + ldrb w1, [x1,1329] mov w24, 1 ldrb w0, [x0,9] uxth w20, w0 cmp w1, w20 - bhi .L3744 + bhi .L3797 cmp w20, 2 mov w24, 2 csel w24, w20, w24, ls -.L3744: +.L3797: add x2, x21, :lo12:.LANCHOR3 - ldrb w3, [x2,1248] + ldrb w3, [x2,1328] cmp w3, 3 - bne .L3745 + bne .L3798 add x1, x19, :lo12:.LANCHOR0 ldrb w4, [x1,1268] - cbz w4, .L3746 + cbz w4, .L3799 ldrh w22, [x1,5530] - ldrb w1, [x2,1868] + ldrb w1, [x2,1956] sdiv w0, w22, w0 uxth w26, w0 - cbz w1, .L3747 + cbz w1, .L3800 adrp x1, .LANCHOR2 mov w23, 2 add x1, x1, :lo12:.LANCHOR2 @@ -24022,30 +24563,30 @@ gc_do_copy_back: ldrh w0, [x1,w0,sxtw 1] cmp w0, wzr csinc w23, w23, wzr, ne - b .L3748 -.L3747: - adrp x0, .LANCHOR5+925 + b .L3801 +.L3800: + adrp x0, .LANCHOR5+997 mov w23, 1 - ldrb w0, [x0,#:lo12:.LANCHOR5+925] - cbz w0, .L3748 + ldrb w0, [x0,#:lo12:.LANCHOR5+997] + cbz w0, .L3801 sub w0, w26, #62 mov w23, 2 uxth w0, w0 cmp w0, 2159 - bhi .L3748 + bhi .L3801 udiv w0, w26, w3 add w0, w0, w0, lsl 1 sub w0, w26, w0 uxth w0, w0 cmp w0, wzr csinc w23, w23, wzr, eq -.L3748: +.L3801: msub w20, w26, w20, w22 uxth w20, w20 - b .L3751 -.L3746: - ldrb w2, [x2,1264] - cbz w2, .L3750 + b .L3804 +.L3799: + ldrb w2, [x2,1344] + cbz w2, .L3803 ldrh w22, [x1,5530] add w20, w0, w0, lsl 1 mov w23, w3 @@ -24057,11 +24598,11 @@ gc_do_copy_back: ldrb w0, [x1,1269] sdiv w20, w20, w3 uxth w20, w20 - cbz w0, .L3751 + cbz w0, .L3804 add w4, w26, w26, lsl 1 uxth w26, w4 - b .L3751 -.L3750: + b .L3804 +.L3803: ldrh w5, [x1,5530] adrp x1, .LANCHOR2 add x1, x1, :lo12:.LANCHOR2 @@ -24077,26 +24618,26 @@ gc_do_copy_back: cmp w25, 1 add w22, w22, w22, lsl 1 uxth w22, w22 - bne .L3752 - b .L3751 -.L3745: - ldrb w1, [x2,1250] - cbnz w1, .L3753 + bne .L3805 + b .L3804 +.L3798: + ldrb w1, [x2,1330] + cbnz w1, .L3806 add x1, x19, :lo12:.LANCHOR0 mov w23, 1 ldrh w22, [x1,5530] sdiv w26, w22, w0 msub w20, w26, w20, w22 uxth w20, w20 - b .L3751 -.L3753: + b .L3804 +.L3806: add x1, x19, :lo12:.LANCHOR0 mov w23, 2 ldrh w22, [x1,5530] sdiv w26, w22, w0 msub w20, w26, w20, w22 uxth w20, w20 -.L3751: +.L3804: adrp x3, .LANCHOR5 adrp x2, .LANCHOR2 mul w7, w23, w24 @@ -24105,42 +24646,42 @@ gc_do_copy_back: add x2, x2, :lo12:.LANCHOR2 sxtw x5, w26 add x6, x19, :lo12:.LANCHOR0 - b .L3754 -.L3885: + b .L3807 +.L3938: add x0, x2, 2136 ldrh w0, [x0,x5,lsl 1] cmp w0, w26 - bcs .L3814 - tbz x28, 0, .L3814 -.L3755: + bcs .L3867 + tbz x28, 0, .L3867 +.L3808: add x0, x8, :lo12:.LANCHOR5 sbfiz x25, x25, 2, 32 - ldr x1, [x0,152] + ldr x1, [x0,240] ldr w0, [x1,x25] cmn w0, #1 - beq .L3884 -.L3758: + beq .L3937 +.L3811: add w28, w28, 1 uxth w28, w28 -.L3754: +.L3807: cmp w28, w7 - bge .L3814 + bge .L3867 add x1, x21, :lo12:.LANCHOR3 ldr x4, [x29,184] add w25, w22, w28 ldrb w9, [x4,9] - ldrh w0, [x1,1266] + ldrh w0, [x1,1346] mul w0, w0, w9 add x9, x3, :lo12:.LANCHOR5 - ldrb w9, [x9,929] + ldrb w9, [x9,1001] sub w0, w0, w9 cmp w25, w0 - blt .L3755 - ldrb w0, [x1,1868] - cbnz w0, .L3885 -.L3814: + blt .L3808 + ldrb w0, [x1,1956] + cbnz w0, .L3938 +.L3867: mov w25, 1 -.L3752: +.L3805: mul w0, w23, w24 str w0, [x29,168] str wzr, [x29,152] @@ -24154,27 +24695,27 @@ gc_do_copy_back: str x0, [x29,112] adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 - add x0, x0, 992 + add x0, x0, 1008 str x0, [x29,104] - b .L3757 -.L3884: + b .L3810 +.L3937: ldrh w27, [x6,3450] ldrh w0, [x6,3448] cmp w0, w27 - bls .L3730 + bls .L3783 add x0, x21, :lo12:.LANCHOR3 - ldrb w0, [x0,1868] - cbz w0, .L3759 + ldrb w0, [x0,1956] + cbz w0, .L3812 add x0, x2, 2136 ldrh w0, [x0,x5,lsl 1] cmp w0, w26 - bcs .L3759 - tbz x28, 0, .L3759 + bcs .L3812 + tbz x28, 0, .L3812 ubfiz x0, x0, 2, 16 ldr w0, [x1,x0] str w0, [x1,x25] - b .L3758 -.L3759: + b .L3811 +.L3812: mov w0, w27 str x6, [x29,128] str x5, [x29,136] @@ -24194,43 +24735,43 @@ gc_do_copy_back: ldr x8, [x29,152] ldr x3, [x29,160] ldr x7, [x29,176] - b .L3758 -.L3785: + b .L3811 +.L3838: ldr w0, [x29,160] add w2, w22, w0 sxtw x0, w2 str x0, [x29,176] add x0, x21, :lo12:.LANCHOR3 ldr x1, [x29,176] - ldr x0, [x0,1256] + ldr x0, [x0,1336] ldrb w0, [x0,x1] cmp w0, 255 - beq .L3886 -.L3761: + beq .L3939 +.L3814: add x5, x21, :lo12:.LANCHOR3 ldr x2, [x29,176] add x3, x29, 192 add x6, x19, :lo12:.LANCHOR0 add x1, x6, 1312 - ldr x0, [x5,1256] + ldr x0, [x5,1336] ldrb w2, [x0,x2] ldr w0, [x29,160] add x1, x1, x2, lsl 6 str x1, [x3,w0,sxtw 3] mov w3, 2 - ldrb w0, [x5,1248] + ldrb w0, [x5,1328] strh w3, [x1,50] adrp x3, .LANCHOR5 strb w25, [x1,61] cmp w0, 3 - bne .L3776 + bne .L3829 ldrb w7, [x6,1268] - cbnz w7, .L3887 + cbnz w7, .L3940 ldrb w6, [x6,1269] add x1, x1, 32 udiv w0, w27, w0 - ldrh w7, [x5,1330] - cbz w6, .L3780 + ldrh w7, [x5,1418] + cbz w6, .L3833 add w6, w0, w20 ldr x4, [x29,184] add x6, x4, x6, sxtw 1 @@ -24239,13 +24780,13 @@ gc_do_copy_back: sub w0, w27, w0 madd w5, w5, w7, w26 add w0, w5, w0, uxth -.L3883: +.L3936: str w0, [x1,8] add x0, x19, :lo12:.LANCHOR0 add x0, x0, 1312 add x2, x0, x2, lsl 6 add x0, x3, :lo12:.LANCHOR5 - ldr x1, [x0,160] + ldr x1, [x0,248] mov w0, 3 ldrh w5, [x2,48] udiv w0, w27, w0 @@ -24256,30 +24797,30 @@ gc_do_copy_back: add w0, w0, 1 orr w0, w2, w0, lsl 24 str w0, [x1,x5,lsl 2] -.L3804: +.L3857: add x1, x21, :lo12:.LANCHOR3 - ldrb w0, [x1,1868] - cbnz w0, .L3888 -.L3784: + ldrb w0, [x1,1956] + cbnz w0, .L3941 +.L3837: ldr w0, [x29,152] add w0, w0, 1 str w0, [x29,152] -.L3757: +.L3810: ldr w0, [x29,152] ldr w1, [x29,168] and w0, w0, 65535 str w0, [x29,160] cmp w0, w1 ldrh w27, [x29,152] - blt .L3785 - b .L3889 -.L3886: + blt .L3838 + b .L3942 +.L3939: mov w0, 0 str x2, [x29,144] bl buf_alloc mov x28, x0 ldr x2, [x29,144] - cbnz x0, .L3762 + cbnz x0, .L3815 bl sblk_wait_write_queue_completed bl ftl_write_completed bl gc_write_completed @@ -24288,12 +24829,12 @@ gc_do_copy_back: bl buf_alloc mov x28, x0 ldr x2, [x29,144] - cbz x0, .L3730 -.L3762: + cbz x0, .L3783 +.L3815: add x1, x21, :lo12:.LANCHOR3 ldr x3, [x29,176] ldrb w5, [x28,1] - ldr x0, [x1,1256] + ldr x0, [x1,1336] strb w5, [x0,x3] add x0, x19, :lo12:.LANCHOR0 ldr x3, [x29,184] @@ -24303,45 +24844,45 @@ gc_do_copy_back: strb w5, [x0,3431] add w0, w27, w22 strh w0, [x28,48] - ldrh w0, [x1,1266] + ldrh w0, [x1,1346] ldrb w5, [x3,9] mul w0, w0, w5 adrp x5, .LANCHOR5 str x5, [x29,144] add x6, x5, :lo12:.LANCHOR5 - ldrb w6, [x6,929] + ldrb w6, [x6,1001] sub w0, w0, w6 cmp w2, w0 - blt .L3763 - ldrb w0, [x1,1868] - cbz w0, .L3764 + blt .L3816 + ldrb w0, [x1,1956] + cbz w0, .L3817 adrp x0, .LANCHOR2 add x0, x0, :lo12:.LANCHOR2 add x0, x0, 2136 ldrh w0, [x0,w26,sxtw 1] cmp w0, w26 - bcs .L3764 - tbnz x27, 0, .L3763 -.L3764: + bcs .L3817 + tbnz x27, 0, .L3816 +.L3817: ldr x0, [x29,144] mov w1, -1 ldr x3, [x29,176] add x5, x21, :lo12:.LANCHOR3 add x6, x0, :lo12:.LANCHOR5 - ldr x0, [x6,144] + ldr x0, [x6,232] str w1, [x0,x3,lsl 2] - ldrb w0, [x6,929] + ldrb w0, [x6,1001] cmp w0, 2 - ldrh w0, [x5,1266] - bne .L3765 + ldrh w0, [x5,1346] + bne .L3818 ldr x1, [x29,184] ldrb w1, [x1,9] mul w1, w0, w1 sub w1, w1, #2 cmp w2, w1 - ldrh w2, [x6,926] - bne .L3766 - ldr x1, [x6,144] + ldrh w2, [x6,998] + bne .L3819 + ldr x1, [x6,232] ldr x0, [x28,8] str x6, [x29,96] bl ftl_memcpy @@ -24358,7 +24899,7 @@ gc_do_copy_back: movk w0, 0xf55f, lsl 16 str w0, [x1] ldr x2, [x28,24] - ldrh w1, [x6,926] + ldrh w1, [x6,998] ldr x0, [x28,8] str x2, [x29,144] bl js_hash @@ -24371,10 +24912,10 @@ gc_do_copy_back: str w1, [x0,8] ldr x0, [x28,24] str wzr, [x0,12] - b .L3767 -.L3766: - ldrb w5, [x5,1249] - ldr x1, [x6,144] + b .L3820 +.L3819: + ldrb w5, [x5,1329] + ldr x1, [x6,232] mul w5, w0, w5 ldr x0, [x28,8] lsl w5, w5, 2 @@ -24411,10 +24952,10 @@ gc_do_copy_back: mov w1, 1 ldr x0, [x28,24] str w1, [x0,12] - b .L3767 -.L3765: - ldrb w2, [x5,1249] - ldr x1, [x6,144] + b .L3820 +.L3818: + ldrb w2, [x5,1329] + ldr x1, [x6,232] str x5, [x29,96] mul w2, w0, w2 ldr x0, [x28,8] @@ -24423,22 +24964,22 @@ gc_do_copy_back: bl ftl_memcpy ldr x5, [x29,96] ldr x6, [x29,136] - ldrb w1, [x5,1249] - ldrh w0, [x5,1266] + ldrb w1, [x5,1329] + ldrh w0, [x5,1346] mul w0, w0, w1 add x1, x19, :lo12:.LANCHOR0 lsl w2, w0, 2 ldrb w1, [x1,3360] cmp w1, w0, lsr 6 - bge .L3768 - ldrh w1, [x6,926] + bge .L3821 + ldrh w1, [x6,998] sub w2, w1, w2 -.L3768: +.L3821: ldr x1, [x29,144] ldr x5, [x28,8] add x0, x5, x0, sxtw 2 add x1, x1, :lo12:.LANCHOR5 - ldr x1, [x1,152] + ldr x1, [x1,240] bl ftl_memcpy add x5, x19, :lo12:.LANCHOR0 ldr x0, [x28,24] @@ -24453,8 +24994,8 @@ gc_do_copy_back: str w0, [x1] add x1, x21, :lo12:.LANCHOR3 ldr x2, [x28,24] - ldrh w0, [x1,1266] - ldrb w1, [x1,1249] + ldrh w0, [x1,1346] + ldrb w1, [x1,1329] str x2, [x29,144] mul w1, w0, w1 ldr x0, [x28,8] @@ -24466,15 +25007,15 @@ gc_do_copy_back: ldr x1, [x5,1120] ldr x0, [x28,24] ldr w1, [x1,132] - b .L3879 -.L3763: + b .L3932 +.L3816: ldr x0, [x29,176] lsl x0, x0, 2 str x0, [x29,136] ldr x0, [x29,144] ldr x1, [x29,136] add x0, x0, :lo12:.LANCHOR5 - ldr x0, [x0,152] + ldr x0, [x0,240] ldr w0, [x0,x1] mov w1, 1 str w0, [x28,40] @@ -24482,15 +25023,15 @@ gc_do_copy_back: bl sblk_read_page ldr w0, [x28,52] cmp w0, 512 - beq .L3769 + beq .L3822 cmn w0, #1 - bne .L3770 -.L3769: + bne .L3823 +.L3822: add x1, x19, :lo12:.LANCHOR0 add x5, x21, :lo12:.LANCHOR3 ldrb w2, [x1,1257] mov w1, 24 - ldrh w0, [x5,1232] + ldrh w0, [x5,1312] sub w2, w1, w2 mov w1, 1 sub w2, w2, w0 @@ -24498,105 +25039,105 @@ gc_do_copy_back: ldr w1, [x28,40] sub w2, w2, #1 lsr w0, w1, w0 - ldrb w1, [x5,1234] + ldrb w1, [x5,1314] and w0, w2, w0 udiv w0, w0, w1 mov x1, 0 bl ftl_sblk_dump ldr w0, [x28,52] cmp w0, 512 - beq .L3817 + beq .L3870 cmn w0, #1 - bne .L3770 -.L3817: + bne .L3823 +.L3870: ldr x0, [x28,24] mov w1, -1 str w1, [x0,4] -.L3770: +.L3823: ldr w0, [x28,52] cmp w0, 512 - beq .L3818 + beq .L3871 cmn w0, #1 - bne .L3773 -.L3818: + bne .L3826 +.L3871: ldr x1, [x29,104] mov w2, 1223 ldr x0, [x29,112] bl printk bl dump_stack -.L3773: +.L3826: ldr x1, [x28,24] add x0, x19, :lo12:.LANCHOR0 ldr w2, [x1,4] ldr w0, [x0,3372] cmp w2, w0 - bcc .L3775 + bcc .L3828 mov w0, -1 str w0, [x1,4] -.L3775: +.L3828: ldr x0, [x28,24] ldr x2, [x29,136] ldr w1, [x0,4] ldr x0, [x29,144] add x0, x0, :lo12:.LANCHOR5 - ldr x0, [x0,144] + ldr x0, [x0,232] str w1, [x0,x2] ldr x0, [x28,24] ldr w1, [x28,40] -.L3879: +.L3932: str w1, [x0,8] -.L3767: +.L3820: ldr x0, [x28,24] str wzr, [x0,16] - b .L3761 -.L3887: - ldrb w1, [x5,1868] + b .L3814 +.L3940: + ldrb w1, [x5,1956] and w6, w27, 1 add w0, w26, w6 - cbz w1, .L3778 + cbz w1, .L3831 adrp x1, .LANCHOR2 add x1, x1, :lo12:.LANCHOR2 add x1, x1, 2136 ldrh w1, [x1,w26,sxtw 1] - cbz w6, .L3778 + cbz w6, .L3831 cmp w1, w26 csel w0, w0, w1, cs -.L3778: +.L3831: add x6, x21, :lo12:.LANCHOR3 ldr x4, [x29,184] udiv w1, w27, w23 add x5, x19, :lo12:.LANCHOR0 add x5, x5, x2, lsl 6 add w1, w1, w20 - ldrh w6, [x6,1330] + ldrh w6, [x6,1418] add x1, x4, x1, sxtw 1 ldrh w1, [x1,16] madd w0, w1, w6, w0 orr w0, w0, 50331648 str w0, [x5,1352] - b .L3779 -.L3780: + b .L3832 +.L3833: add w0, w0, w20 ldr x4, [x29,184] add x0, x4, x0, sxtw 1 ldrh w5, [x0,16] madd w0, w5, w7, w26 - b .L3883 -.L3776: + b .L3936 +.L3829: cmp w0, 2 - bne .L3779 - ldrb w6, [x5,1250] + bne .L3832 + ldrb w6, [x5,1330] add x1, x1, 32 - ldrh w0, [x5,1330] - cbnz w6, .L3783 + ldrh w0, [x5,1418] + cbnz w6, .L3836 ldr w4, [x29,160] add w5, w4, w20 ldr x4, [x29,184] add x5, x4, x5, sxtw 1 ldrh w5, [x5,16] madd w0, w5, w0, w26 - b .L3880 -.L3783: + b .L3933 +.L3836: add w5, w20, w27, lsr 1 ldr x4, [x29,184] add x5, x4, x5, sxtw 1 @@ -24604,28 +25145,28 @@ gc_do_copy_back: madd w0, w5, w0, w26 and w5, w27, 1 add w0, w0, w5 -.L3880: +.L3933: orr w0, w0, 33554432 str w0, [x1,8] -.L3779: +.L3832: add x0, x19, :lo12:.LANCHOR0 add x0, x0, 1312 add x2, x0, x2, lsl 6 add x0, x3, :lo12:.LANCHOR5 ldrh w1, [x2,48] - ldr x0, [x0,160] + ldr x0, [x0,248] ldr w5, [x2,40] str w5, [x0,x1,lsl 2] - b .L3804 -.L3888: + b .L3857 +.L3941: adrp x0, .LANCHOR2 add x0, x0, :lo12:.LANCHOR2 add x0, x0, 2136 ldrh w0, [x0,w26,sxtw 1] cmp w0, w26 - bcs .L3784 - tbz x27, 0, .L3784 - ldr x0, [x1,1256] + bcs .L3837 + tbz x27, 0, .L3837 + ldr x0, [x1,1336] mov w2, -1 ldr x4, [x29,176] add x3, x3, :lo12:.LANCHOR5 @@ -24636,113 +25177,113 @@ gc_do_copy_back: ldrh w2, [x29,128] strh w2, [x0,48] ldrb w2, [x0,1] - ldr x0, [x1,1256] + ldr x0, [x1,1336] ldr x1, [x29,120] strb w2, [x0,x1] mov w1, -1 - ldr x0, [x3,152] + ldr x0, [x3,240] str w1, [x0,x4,lsl 2] - b .L3784 -.L3889: + b .L3837 +.L3942: add x1, x21, :lo12:.LANCHOR3 - ldrb w0, [x1,1248] + ldrb w0, [x1,1328] cmp w0, 3 add x0, x29, 192 - bne .L3786 + bne .L3839 add x2, x19, :lo12:.LANCHOR0 ldrb w2, [x2,1268] - cbz w2, .L3787 + cbz w2, .L3840 ldr w1, [x29,168] sub w2, w1, #1 mov w1, 0 -.L3788: +.L3841: cmp w1, w2 - bge .L3882 + bge .L3935 ldr x3, [x0,w1,sxtw 3] add w1, w1, 1 ldr x5, [x0,w1,sxtw 3] uxth w1, w1 ldrb w5, [x5,1] strb w5, [x3] - b .L3788 -.L3787: - ldrb w1, [x1,1264] - cbnz w1, .L3881 + b .L3841 +.L3840: + ldrb w1, [x1,1344] + cbnz w1, .L3934 cmp w25, 1 mov w2, 9 - beq .L3881 + beq .L3934 cmp w25, 2 - bne .L3794 + bne .L3847 mov w2, 13 -.L3881: +.L3934: ldr x1, [x29,192] strb w2, [x1,60] - b .L3793 -.L3794: + b .L3846 +.L3847: ldr x2, [x29,192] strb w1, [x2,60] -.L3793: +.L3846: add x1, x0, 24 mov w2, w24 bl sblk_xlc_prog_pages - b .L3790 -.L3786: - ldrb w2, [x1,1250] - cbz w2, .L3795 - ldrb w1, [x1,1251] - cbnz w1, .L3796 -.L3795: + b .L3843 +.L3839: + ldrb w2, [x1,1330] + cbz w2, .L3848 + ldrb w1, [x1,1331] + cbnz w1, .L3849 +.L3848: ldr w1, [x29,168] sub w2, w1, #1 mov w1, 0 - b .L3797 -.L3796: + b .L3850 +.L3849: mov w1, w24 bl sblk_3d_mlc_prog_pages - b .L3790 -.L3797: + b .L3843 +.L3850: cmp w1, w2 - bge .L3882 + bge .L3935 ldr x3, [x0,w1,sxtw 3] add w1, w1, 1 ldr x5, [x0,w1,sxtw 3] uxth w1, w1 ldrb w5, [x5,1] strb w5, [x3] - b .L3797 -.L3882: + b .L3850 +.L3935: ldr x0, [x0,w2,sxtw 3] mov w1, -1 strb w1, [x0] ldr x0, [x29,192] ldrb w1, [x29,168] bl sblk_prog_page -.L3790: +.L3843: add x1, x21, :lo12:.LANCHOR3 - ldrb w0, [x1,1264] - cbz w0, .L3799 + ldrb w0, [x1,1344] + cbz w0, .L3852 add w0, w24, w24, lsl 1 - b .L3800 -.L3799: - ldrb w0, [x1,1250] - cbz w0, .L3801 + b .L3853 +.L3852: + ldrb w0, [x1,1330] + cbz w0, .L3854 lsl w0, w24, 1 - b .L3800 -.L3801: + b .L3853 +.L3854: add x0, x19, :lo12:.LANCHOR0 ldrb w2, [x0,1268] mov w0, w24 - cbz w2, .L3800 - ldrb w1, [x1,1868] + cbz w2, .L3853 + ldrb w1, [x1,1956] ldrh w0, [x29,168] - cbz w1, .L3800 + cbz w1, .L3853 adrp x1, .LANCHOR2 add x1, x1, :lo12:.LANCHOR2 add x1, x1, 2136 ldrh w1, [x1,w26,sxtw 1] cmp w1, w26 csel w0, w0, w24, cs -.L3800: +.L3853: add x19, x19, :lo12:.LANCHOR0 add x21, x21, :lo12:.LANCHOR3 ldr x2, [x19,3392] @@ -24752,18 +25293,18 @@ gc_do_copy_back: ldr x2, [x29,184] ldrh w1, [x19,5530] add w0, w0, w1 - ldrh w1, [x21,1266] + ldrh w1, [x21,1346] uxth w0, w0 strh w0, [x19,5530] ldrb w2, [x2,9] mul w1, w1, w2 cmp w0, w1 - blt .L3802 + blt .L3855 ldr x0, [x19,1120] strh wzr, [x0,86] -.L3802: +.L3855: bl gc_write_completed -.L3730: +.L3783: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -24795,832 +25336,852 @@ zftl_do_gc: add w22, w23, w22 ldrh w25, [x0,3378] uxth w22, w22 - beq .L3891 -.L3902: + beq .L3944 +.L3955: add x0, x20, :lo12:.LANCHOR5 mov w1, 16 - ldrb w2, [x0,130] + ldrb w2, [x0,218] cmp w2, 6 - bhi .L4083 - adrp x0, .L3894 - add x0, x0, :lo12:.L3894 + bhi .L4140 + adrp x0, .L3947 + add x0, x0, :lo12:.L3947 ldrh w0, [x0,w2,uxtw #1] - adr x1, .Lrtx3894 + adr x1, .Lrtx3947 add x0, x1, w0, sxth #2 br x0 -.Lrtx3894: +.Lrtx3947: .section .rodata .align 0 .align 2 -.L3894: - .2byte (.L3893 - .Lrtx3894) / 4 - .2byte (.L3895 - .Lrtx3894) / 4 - .2byte (.L3896 - .Lrtx3894) / 4 - .2byte (.L3897 - .Lrtx3894) / 4 - .2byte (.L3898 - .Lrtx3894) / 4 - .2byte (.L4018 - .Lrtx3894) / 4 - .2byte (.L3900 - .Lrtx3894) / 4 +.L3947: + .2byte (.L3946 - .Lrtx3947) / 4 + .2byte (.L3948 - .Lrtx3947) / 4 + .2byte (.L3949 - .Lrtx3947) / 4 + .2byte (.L3950 - .Lrtx3947) / 4 + .2byte (.L3951 - .Lrtx3947) / 4 + .2byte (.L4073 - .Lrtx3947) / 4 + .2byte (.L3953 - .Lrtx3947) / 4 .text -.L3891: +.L3944: add x0, x20, :lo12:.LANCHOR5 - ldr w21, [x0,932] - cbnz w21, .L3901 - ldr w0, [x0,936] - cbz w0, .L3902 -.L3901: - adrp x0, .LANCHOR3+1298 - ldrh w0, [x0,#:lo12:.LANCHOR3+1298] + ldr w21, [x0,1004] + cbnz w21, .L3954 + ldr w0, [x0,1008] + cbz w0, .L3955 +.L3954: + adrp x0, .LANCHOR3+1388 + ldrh w0, [x0,#:lo12:.LANCHOR3+1388] cmp w22, w0, lsr 2 - bls .L3902 + bls .L3955 add x0, x19, :lo12:.LANCHOR0 ldrh w0, [x0,3400] cmp w0, w22 - bcs .L3902 + bcs .L3955 add w21, w21, 20 bl timer_get_time cmp w21, w0 - bcs .L3903 + bcs .L3956 add x0, x20, :lo12:.LANCHOR5 - str wzr, [x0,932] -.L3903: + str wzr, [x0,1004] +.L3956: add x27, x20, :lo12:.LANCHOR5 - ldr w21, [x27,936] + ldr w21, [x27,1008] bl timer_get_time add w21, w21, 20 cmp w21, w0 - bcs .L3904 - str wzr, [x27,936] -.L3904: + bcs .L3957 + str wzr, [x27,1008] +.L3957: add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,1120] ldrh w0, [x0,124] - cbz w0, .L4121 - b .L3902 -.L3893: - add x21, x19, :lo12:.LANCHOR0 + cbz w0, .L4180 + b .L3955 +.L3946: + add x0, x19, :lo12:.LANCHOR0 add w23, w25, w23 - ldrh w1, [x24,80] + ldrh w2, [x24,80] uxth w23, w23 - ldrh w0, [x21,3382] - ldrh w25, [x21,3384] - add w25, w25, w0 - mov w0, 65535 - cmp w1, w0 + ldrh w1, [x0,3382] + ldrh w25, [x0,3384] + add w25, w25, w1 + mov w1, 65535 + cmp w2, w1 uxth w25, w25 - beq .L3905 - cbnz w26, .L3906 - ldrh w0, [x21,3400] + beq .L3958 + cbnz w26, .L3959 + ldrh w0, [x0,3400] cmp w22, w0, lsl 1 - bge .L4121 -.L3906: + bge .L4180 +.L3959: adrp x21, .LANCHOR3 - mov w1, 5 add x26, x21, :lo12:.LANCHOR3 - ldrh w0, [x26,1296] - add w0, w0, 1 - uxth w0, w0 - strh w0, [x26,1296] - bl zftl_get_gc_node + add x0, x26, 1376 + ldrh w1, [x26,1386] + add w1, w1, 1 + uxth w1, w1 + strh w1, [x26,1386] + bl _list_get_gc_head_node uxth w2, w0 mov w1, 65535 cmp w2, w1 - beq .L3908 + beq .L3961 add x3, x20, :lo12:.LANCHOR5 ubfiz x2, x2, 1, 16 - ldr w1, [x3,132] + ldr w1, [x3,220] add w1, w1, 1 - str w1, [x3,132] + str w1, [x3,220] add x3, x19, :lo12:.LANCHOR0 ldr x4, [x3,1112] ldrh w2, [x4,x2] - ldrh w4, [x26,1294] + ldrh w4, [x26,1384] cmp w4, w2 - bcs .L3909 + bcs .L3962 ldrh w4, [x3,1088] cmp w1, w4, lsr 4 - bls .L3908 + bls .L3961 ldrh w1, [x3,3402] cmp w1, w2 - bls .L3908 -.L3909: + bls .L3961 +.L3962: add x2, x21, :lo12:.LANCHOR3 mov w1, 0 - ldrb w2, [x2,1265] + ldrb w2, [x2,1345] bl gc_add_sblk - cbz w0, .L3910 + cbz w0, .L3963 add x20, x20, :lo12:.LANCHOR5 mov w0, 1 - str wzr, [x20,132] - strb w0, [x20,130] - b .L4121 -.L3908: + str wzr, [x20,220] + strb w0, [x20,218] + b .L4180 +.L3961: add x0, x21, :lo12:.LANCHOR3 - strh wzr, [x0,1296] -.L3910: + strh wzr, [x0,1386] +.L3963: cmp w23, 15 mov w26, 2 - bls .L3911 - cbz w25, .L4020 + bls .L3964 + cbz w25, .L4075 add x1, x19, :lo12:.LANCHOR0 add x0, x21, :lo12:.LANCHOR3 mov w26, 1 ldrh w1, [x1,3386] - ldrh w0, [x0,1300] + ldrh w0, [x0,1390] cmp w1, w0 - bls .L3911 -.L4020: + bls .L3964 +.L4075: mov w26, 2 -.L3911: +.L3964: adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3912 + tbz x0, 8, .L3965 add x19, x19, :lo12:.LANCHOR0 add x1, x21, :lo12:.LANCHOR3 mov w3, w22 mov w4, w23 ldr x0, [x19,1120] - ldrb w2, [x1,1265] - mov w1, 2662 + ldrb w2, [x1,1345] + mov w1, 2807 ldrh w5, [x0,124] ldrh w6, [x0,120] ldrh w7, [x0,122] ldrh w0, [x24,80] str w0, [sp] - adrp x0, .LC296 - add x0, x0, :lo12:.LC296 + adrp x0, .LC299 + add x0, x0, :lo12:.LC299 bl printk -.L3912: +.L3965: add x21, x21, :lo12:.LANCHOR3 mov w1, w26 mov w2, 1 - ldrb w0, [x21,1265] + ldrb w0, [x21,1345] bl gc_search_src_blk cmp w0, wzr - ble .L3913 -.L3914: + ble .L3966 +.L3967: add x20, x20, :lo12:.LANCHOR5 mov w0, 1 - b .L4123 -.L3913: - ldrb w0, [x21,1265] + b .L4182 +.L3966: + ldrb w0, [x21,1345] mov w1, 3 mov w2, 1 bl gc_search_src_blk cmp w0, wzr - bgt .L3914 - b .L4121 -.L3905: + bgt .L3967 + b .L4180 +.L3958: cmp w26, 1 - bne .L3915 + bne .L3968 + ldr x1, [x0,3392] + ldrh w1, [x1,150] + cbz w1, .L3969 + ldrh w0, [x0,3380] + cmp w0, 8 + bls .L3969 + bl gc_ink_check_sblk +.L3969: bl gc_scan_static_data - ldr x0, [x21,1120] adrp x21, .LANCHOR3 + add x0, x19, :lo12:.LANCHOR0 + ldr x0, [x0,1120] ldrh w0, [x0,122] - cbz w0, .L3916 -.L3917: + cbz w0, .L3970 +.L3971: add x21, x21, :lo12:.LANCHOR3 mov w0, 1 add x20, x20, :lo12:.LANCHOR5 - strb w0, [x21,1265] -.L4123: - strb w0, [x20,130] - b .L4121 -.L3916: + strb w0, [x21,1345] +.L4182: + strb w0, [x20,218] + b .L4180 +.L3970: bl gc_static_wearleveling - cbnz w0, .L3917 + cbnz w0, .L3971 bl gc_block_vpn_scan - cbz w23, .L3918 + cbz w23, .L3972 cmp w22, w25 - bcs .L3919 + bcs .L3973 add x0, x21, :lo12:.LANCHOR3 - ldrh w0, [x0,1298] + ldrh w0, [x0,1388] cmp w0, w22 - bhi .L3920 -.L3919: + bhi .L3974 +.L3973: add x1, x21, :lo12:.LANCHOR3 add w0, w22, w25 - ldrh w2, [x1,1298] + ldrh w2, [x1,1388] cmp w0, w2 - blt .L3920 + blt .L3974 add x0, x19, :lo12:.LANCHOR0 ldrh w2, [x0,3386] - ldrh w0, [x1,1300] + ldrh w0, [x1,1390] cmp w2, w0 - bcc .L3918 -.L3920: + bcc .L3972 +.L3974: add x24, x21, :lo12:.LANCHOR3 mov w0, 1 - strb w0, [x24,1265] + strb w0, [x24,1345] mov w0, 16 - bl zftl_get_gc_node.part.11 + bl zftl_get_gc_node.part.10 uxth w1, w0 mov w2, 65535 cmp w1, w2 - beq .L3921 + beq .L3975 add x2, x19, :lo12:.LANCHOR0 ubfiz x1, x1, 1, 16 ldr x3, [x2,1112] add x2, x20, :lo12:.LANCHOR5 ldrh w3, [x3,x1] - ldrh w1, [x2,136] + ldrh w1, [x2,224] cmp w3, w1 - bcs .L3921 + bcs .L3975 cmp w22, 2 - bls .L3921 - str wzr, [x2,132] + bls .L3975 + str wzr, [x2,220] mov w1, 1 mov w2, 0 - strb wzr, [x24,1265] + strb wzr, [x24,1345] bl gc_add_sblk - cbnz w0, .L3914 -.L3921: - mov w1, 3 - mov w0, 0 - bl zftl_get_gc_node + cbnz w0, .L3967 +.L3975: + add x24, x21, :lo12:.LANCHOR3 + mov w1, 0 + add x0, x24, 1368 + bl _list_get_gc_head_node uxth w1, w0 mov w2, 65535 cmp w1, w2 - beq .L3922 + beq .L3976 add x2, x19, :lo12:.LANCHOR0 ubfiz x1, x1, 1, 16 ldr x3, [x2,1112] add x2, x20, :lo12:.LANCHOR5 ldrh w3, [x3,x1] - ldrh w1, [x2,136] + ldrh w1, [x2,224] cmp w3, w1 - bcs .L3922 + bcs .L3976 cmp w22, 2 - bls .L3922 - add x1, x21, :lo12:.LANCHOR3 - str wzr, [x2,132] - mov w2, 0 - strb wzr, [x1,1265] + bls .L3976 + str wzr, [x2,220] mov w1, 1 + mov w2, 0 + strb wzr, [x24,1345] bl gc_add_sblk - cbnz w0, .L3914 -.L3922: + cbnz w0, .L3967 +.L3976: add x1, x20, :lo12:.LANCHOR5 add x2, x21, :lo12:.LANCHOR3 - ldrh w0, [x1,136] - ldrh w24, [x2,1294] + ldrh w0, [x1,224] + ldrh w24, [x2,1384] add w0, w0, 1 uxth w0, w0 - strh w0, [x1,136] + strh w0, [x1,224] cmp w0, w24, lsr 5 - bls .L3923 + bls .L3977 mov w0, 4 - strh w0, [x1,136] -.L3923: + strh w0, [x1,224] +.L3977: add x28, x20, :lo12:.LANCHOR5 add x2, x19, :lo12:.LANCHOR0 add x27, x21, :lo12:.LANCHOR3 - ldr w0, [x28,132] + ldr w0, [x28,220] ldrh w1, [x2,1088] add w0, w0, 1 - strh wzr, [x27,1288] - str w0, [x28,132] - strh wzr, [x27,1290] + strh wzr, [x27,1360] + str w0, [x28,220] + strh wzr, [x27,1362] cmp w0, w1, lsr 5 - strh wzr, [x27,1292] - bls .L3924 + strh wzr, [x27,1364] + bls .L3978 ldrh w0, [x2,3386] cmp w0, w23 - bls .L3924 - mov w1, 5 - mov w0, 0 + bls .L3978 + mov w1, 0 + add x0, x27, 1376 str x2, [x29,104] - bl zftl_get_gc_node + bl _list_get_gc_head_node uxth w0, w0 mov w1, 65535 cmp w0, w1 - beq .L4021 + beq .L4174 ldr x2, [x29,104] ubfiz x0, x0, 1, 16 ldr x1, [x2,1112] ldrh w1, [x1,x0] - ldrb w0, [x27,1249] + ldrb w0, [x27,1329] mul w0, w24, w0 mov w24, 16 cmp w1, w0 - bgt .L3929 - str wzr, [x28,132] + bgt .L3984 + str wzr, [x28,220] mov w1, 2 - ldrb w0, [x27,1265] - b .L4114 -.L3924: + ldrb w0, [x27,1345] + b .L4173 +.L3978: add x0, x19, :lo12:.LANCHOR0 add x1, x21, :lo12:.LANCHOR3 ldrh w3, [x0,3386] - ldrh w2, [x1,1300] + ldrh w2, [x1,1390] cmp w3, w2 - bcc .L3927 - ldrb w0, [x1,1265] + bcc .L3981 + ldrb w0, [x1,1345] mov w2, 1 mov w1, 2 - b .L4115 -.L3927: - ldrh w24, [x0,3382] - cbnz w24, .L3928 - ldrh w0, [x0,3384] - cmp w0, 8 - bls .L3929 -.L3928: + b .L4172 +.L3981: + ldrh w1, [x0,3382] + cbnz w1, .L3982 + ldrh w1, [x0,3384] + cmp w1, 8 + bls .L3983 +.L3982: add x21, x21, :lo12:.LANCHOR3 mov w1, 1 - ldrb w0, [x21,1265] -.L4114: + ldrb w0, [x21,1345] +.L4173: mov w2, 4 -.L4115: +.L4172: bl gc_search_src_blk uxth w0, w0 - cbnz w0, .L3914 - b .L4021 -.L3918: + cbnz w0, .L3967 + b .L4174 +.L3983: + ldrh w0, [x0,5534] + mov w24, 16 + cmp w0, wzr + csel w24, w24, wzr, ne + b .L3984 +.L3972: add x21, x21, :lo12:.LANCHOR3 add x0, x20, :lo12:.LANCHOR5 - ldrh w2, [x21,1294] - ldrh w1, [x0,136] + ldrh w2, [x21,1384] + ldrh w1, [x0,224] cmp w1, w2, lsr 5 - bcc .L4021 + bcc .L4174 mov w1, 4 - strh w1, [x0,136] - b .L4021 -.L3915: - ldrh w0, [x21,3400] - cmp w0, w22 - bcs .L4021 - ldr x0, [x21,1120] - ldrh w0, [x0,124] - cbz w0, .L4121 -.L4021: + strh w1, [x0,224] +.L4174: mov w24, 16 -.L3929: + b .L3984 +.L3968: + ldrh w1, [x0,3400] + cmp w1, w22 + bcs .L4174 + ldr x0, [x0,1120] + ldrh w0, [x0,124] + cbz w0, .L4180 + b .L4174 +.L3984: add x0, x19, :lo12:.LANCHOR0 adrp x21, .LANCHOR3 ldr w1, [x0,3412] - cbz w1, .L3931 + cbz w1, .L3986 str wzr, [x0,3412] cmp w22, 15 add x0, x21, :lo12:.LANCHOR3 - bhi .L4028 - cbnz w23, .L3932 -.L4028: - strb wzr, [x0,1265] - b .L3934 -.L3932: + bhi .L4083 + cbnz w23, .L3987 +.L4083: + strb wzr, [x0,1345] + b .L3989 +.L3987: mov w1, 1 - strb w1, [x0,1265] -.L3934: - mov w1, 5 - mov w0, 0 - bl zftl_get_gc_node + strb w1, [x0,1345] +.L3989: + add x27, x21, :lo12:.LANCHOR3 + mov w1, 0 + add x0, x27, 1376 + bl _list_get_gc_head_node uxth w1, w0 mov w2, 65535 cmp w1, w2 - beq .L3935 + beq .L3990 add x2, x19, :lo12:.LANCHOR0 ubfiz x1, x1, 1, 16 ldr x3, [x2,1112] ldrh w1, [x3,x1] cmp w1, 8 - bhi .L3935 + bhi .L3990 mov w1, 1 str w1, [x2,3412] - add x2, x21, :lo12:.LANCHOR3 + ldrb w2, [x27,1345] mov w1, 0 - ldrb w2, [x2,1265] bl gc_add_sblk - cbnz w0, .L3914 -.L3935: - mov w1, 4 - mov w0, 0 - bl zftl_get_gc_node + cbnz w0, .L3967 +.L3990: + add x27, x21, :lo12:.LANCHOR3 + mov w1, 0 + add x0, x27, 1368 + bl _list_get_gc_head_node uxth w1, w0 mov w2, 65535 cmp w1, w2 - beq .L3936 + beq .L3991 add x2, x19, :lo12:.LANCHOR0 ubfiz x1, x1, 1, 16 ldr x3, [x2,1112] ldrh w1, [x3,x1] cmp w1, 4 - bhi .L3936 + bhi .L3991 mov w1, 1 str w1, [x2,3412] - add x2, x21, :lo12:.LANCHOR3 + ldrb w2, [x27,1345] mov w1, 0 - ldrb w2, [x2,1265] bl gc_add_sblk - cbnz w0, .L3914 -.L3936: + cbnz w0, .L3967 +.L3991: mov w0, 0 - bl zftl_get_gc_node.part.11 + bl zftl_get_gc_node.part.10 uxth w1, w0 mov w2, 65535 cmp w1, w2 - beq .L3931 + beq .L3986 add x2, x19, :lo12:.LANCHOR0 ubfiz x1, x1, 1, 16 ldr x3, [x2,1112] ldrh w1, [x3,x1] cmp w1, 4 - bhi .L3931 + bhi .L3986 mov w1, 1 str w1, [x2,3412] add x2, x21, :lo12:.LANCHOR3 - ldrb w2, [x2,1265] + ldrb w2, [x2,1345] bl gc_add_sblk - cbnz w0, .L3914 -.L3931: + cbnz w0, .L3967 +.L3986: add x28, x19, :lo12:.LANCHOR0 add x27, x21, :lo12:.LANCHOR3 mov w1, 1 ldr x0, [x28,1120] - strb w1, [x27,1265] + strb w1, [x27,1345] ldrh w3, [x0,124] - cbz w3, .L3937 + cbz w3, .L3992 add x20, x20, :lo12:.LANCHOR5 - strb wzr, [x27,1265] - strb w1, [x20,130] - b .L3938 -.L3937: + strb wzr, [x27,1345] + strb w1, [x20,218] + b .L3993 +.L3992: ldrh w0, [x28,3400] cmp w22, w0 - bcs .L3939 - cbz w23, .L3940 + bcs .L3994 + cbz w23, .L3995 cmp w23, 16 - bls .L3941 + bls .L3996 ldrh w2, [x28,3386] - ldrh w0, [x27,1300] + ldrh w0, [x27,1390] cmp w2, w0 - bhi .L3941 + bhi .L3996 mov w0, w1 mov w2, 4 str x3, [x29,104] bl gc_search_src_blk uxth w0, w0 ldr x3, [x29,104] - cbz w0, .L4118 - mov w1, 5 - mov w0, w3 - bl zftl_get_gc_node + cbz w0, .L4179 + mov w1, w3 + add x0, x27, 1376 + bl _list_get_gc_head_node uxth w2, w0 mov w1, 65535 cmp w2, w1 - beq .L4015 + beq .L4070 add x3, x20, :lo12:.LANCHOR5 ubfiz x2, x2, 1, 16 - ldr w1, [x3,132] + ldr w1, [x3,220] add w1, w1, 1 - str w1, [x3,132] + str w1, [x3,220] ldr x3, [x28,1112] ldrh w2, [x3,x2] - ldrh w3, [x27,1294] + ldrh w3, [x27,1384] cmp w3, w2 - bcs .L3945 + bcs .L4000 ldrh w3, [x28,1088] cmp w1, w3, lsr 4 - bls .L4015 + bls .L4070 ldrh w1, [x28,3402] cmp w1, w2 - bls .L4015 -.L3945: + bls .L4070 +.L4000: add x21, x21, :lo12:.LANCHOR3 mov w1, 0 add x19, x19, :lo12:.LANCHOR0 - ldrb w2, [x21,1265] + ldrb w2, [x21,1345] bl gc_add_sblk mov w0, 1 str w0, [x19,3412] add x0, x20, :lo12:.LANCHOR5 - str wzr, [x0,132] - b .L4015 -.L3941: + str wzr, [x0,220] + b .L4070 +.L3996: mov w0, 1 mov w1, 2 mov w2, w0 bl gc_search_src_blk uxth w0, w0 - cbnz w0, .L4015 + cbnz w0, .L4070 add x21, x21, :lo12:.LANCHOR3 - ldrb w0, [x21,1265] - b .L4117 -.L3940: - strb w23, [x27,1265] + ldrb w0, [x21,1345] + b .L4176 +.L3995: + strb w23, [x27,1345] cmp w22, 16 mov w0, w23 - bhi .L4117 + bhi .L4176 mov w2, w1 bl gc_search_src_blk uxth w0, w0 - cbnz w0, .L4015 -.L4118: - ldrb w0, [x27,1265] -.L4117: + cbnz w0, .L4070 +.L4179: + ldrb w0, [x27,1345] +.L4176: mov w1, 3 mov w2, 4 bl gc_search_src_blk uxth w0, w0 - b .L3943 -.L3939: + b .L3998 +.L3994: cmp w26, 1 mov w1, w24 - bne .L4083 + bne .L4140 cmp w22, w0, lsl 1 - bge .L3948 + bge .L4003 cmp w25, w23, lsr 1 - bcs .L3949 + bcs .L4004 ldrh w2, [x28,3386] - ldrh w0, [x27,1300] + ldrh w0, [x27,1390] cmp w2, w0 - bcs .L3949 - ldrh w0, [x27,1298] + bcs .L4004 + ldrh w0, [x27,1388] lsr w0, w0, 2 strh w0, [x28,3400] - b .L4083 -.L3949: + b .L4140 +.L4004: mov w0, 8 - bl zftl_get_gc_node.part.11 + bl zftl_get_gc_node.part.10 uxth w1, w0 mov w2, 65535 cmp w1, w2 - beq .L3950 + beq .L4005 add x2, x19, :lo12:.LANCHOR0 ubfiz x1, x1, 1, 16 ldr x2, [x2,1112] ldrh w1, [x2,x1] cmp w1, 3 - bhi .L3950 - cbz w22, .L3950 + bhi .L4005 + cbz w22, .L4005 add x1, x21, :lo12:.LANCHOR3 mov w2, 0 - strb wzr, [x1,1265] + strb wzr, [x1,1345] mov w1, 1 bl gc_add_sblk - cbnz w0, .L4015 -.L3950: - mov w1, 5 - mov w0, 0 - bl zftl_get_gc_node + cbnz w0, .L4070 +.L4005: + add x4, x21, :lo12:.LANCHOR3 + mov w1, 0 + add x0, x4, 1376 + str x4, [x29,104] + bl _list_get_gc_head_node uxth w26, w0 mov w1, 65535 mov w28, w26 cmp w26, w1 - bne .L3951 -.L3956: + ldr x4, [x29,104] + bne .L4006 +.L4011: cmp w23, 1 - bhi .L3952 - b .L3953 -.L3951: + bhi .L4007 + b .L4008 +.L4006: add x27, x20, :lo12:.LANCHOR5 add x2, x19, :lo12:.LANCHOR0 uxtw x26, w26 - ldr w1, [x27,132] + ldr w1, [x27,220] ldrh w3, [x2,1088] add w1, w1, 1 - str w1, [x27,132] + str w1, [x27,220] cmp w1, w3, lsr 4 - bls .L3954 + bls .L4009 ldr x1, [x2,1112] - str wzr, [x27,132] + str wzr, [x27,220] ldrh w3, [x1,x26,lsl 1] ldrh w1, [x2,3402] cmp w3, w1 - bcs .L3954 - add x1, x21, :lo12:.LANCHOR3 + bcs .L4009 mov w3, 1 - mov w2, 1 - str x3, [x29,104] - strb w3, [x1,1265] mov w1, 0 + mov w2, 1 + strb w3, [x4,1345] + str x3, [x29,104] bl gc_add_sblk ldr x3, [x29,104] - cbz w0, .L3954 - strb w3, [x27,130] - b .L3938 -.L3954: + cbz w0, .L4009 + strb w3, [x27,218] + b .L3993 +.L4009: add x1, x19, :lo12:.LANCHOR0 add x3, x21, :lo12:.LANCHOR3 ldr x0, [x1,1112] ldrh w2, [x0,x26,lsl 1] - ldrh w0, [x3,1294] + ldrh w0, [x3,1384] cmp w2, w0, lsr 1 - bhi .L3955 + bhi .L4010 mov w0, w28 mov w1, 1 mov w2, 0 bl gc_add_sblk - b .L4015 -.L3955: + b .L4070 +.L4010: ldrh w4, [x1,3382] ldrh w0, [x1,3384] - ldrh w3, [x3,1298] + ldrh w3, [x3,1388] add w0, w4, w0 cmp w0, w3, lsl 1 - ble .L3956 + ble .L4011 ldrh w0, [x1,3402] cmp w0, w2 - bcc .L3953 - b .L3956 -.L3952: + bcc .L4008 + b .L4011 +.L4007: add x26, x21, :lo12:.LANCHOR3 mov w0, 1 cmp w23, 16 - strb w0, [x26,1265] - bls .L3957 + strb w0, [x26,1345] + bls .L4012 add x1, x19, :lo12:.LANCHOR0 ldrh w2, [x1,3386] - ldrh w1, [x26,1300] + ldrh w1, [x26,1390] cmp w2, w1 - bhi .L3957 + bhi .L4012 mov w1, w0 mov w2, 4 bl gc_search_src_blk uxth w0, w0 - cbnz w0, .L3958 - ldrb w0, [x26,1265] - b .L4116 -.L3957: + cbnz w0, .L4013 + ldrb w0, [x26,1345] + b .L4175 +.L4012: mov w0, 1 mov w1, 2 mov w2, w0 bl gc_search_src_blk uxth w0, w0 - cbnz w0, .L3958 + cbnz w0, .L4013 add x0, x21, :lo12:.LANCHOR3 - ldrb w0, [x0,1265] -.L4116: + ldrb w0, [x0,1345] +.L4175: mov w1, 3 mov w2, 4 bl gc_search_src_blk uxth w0, w0 -.L3958: +.L4013: add x21, x21, :lo12:.LANCHOR3 cmp w22, w25, lsr 1 add x19, x19, :lo12:.LANCHOR0 - ldrh w1, [x21,1298] - bls .L4119 + ldrh w1, [x21,1388] + bls .L4177 lsr w1, w1, 2 - b .L4120 -.L3953: + b .L4178 +.L4008: cmp w22, w25 - bcs .L3960 + bcs .L4015 add x21, x21, :lo12:.LANCHOR3 mov w0, 4 add x19, x19, :lo12:.LANCHOR0 - strb wzr, [x21,1265] - bl zftl_get_gc_node.part.11 + strb wzr, [x21,1345] + bl zftl_get_gc_node.part.10 mov w1, 65535 uxth w0, w0 cmp w0, w1 - beq .L4125 + beq .L4184 ubfiz x0, x0, 1, 16 ldr x1, [x19,1112] - ldrb w2, [x21,1249] + ldrb w2, [x21,1329] ldrh w1, [x1,x0] - ldrh w0, [x21,1294] + ldrh w0, [x21,1384] mul w0, w0, w2 cmp w1, w0, lsr 1 - bgt .L4125 + bgt .L4184 mov w1, 3 mov w0, 0 mov w2, 4 bl gc_search_src_blk uxth w0, w0 - ldrh w1, [x21,1298] -.L4119: + ldrh w1, [x21,1388] +.L4177: lsr w1, w1, 1 -.L4120: +.L4178: strh w1, [x19,3400] - b .L3943 -.L3960: + b .L3998 +.L4015: add x19, x19, :lo12:.LANCHOR0 add x21, x21, :lo12:.LANCHOR3 -.L4125: - ldrh w0, [x21,1298] +.L4184: + ldrh w0, [x21,1388] lsr w0, w0, 2 strh w0, [x19,3400] - b .L3938 -.L3948: - ldrh w0, [x27,1298] - mov w24, w3 + b .L3993 +.L4003: + ldrh w0, [x27,1388] lsr w0, w0, 2 strh w0, [x28,3400] - b .L3938 -.L3943: + ldrh w0, [x28,5534] + cmp w0, wzr + csel w24, w24, wzr, ne + b .L3993 +.L3998: mov w1, w24 - cbz w0, .L4083 -.L4015: + cbz w0, .L4140 +.L4070: add x20, x20, :lo12:.LANCHOR5 mov w0, 1 - strb w0, [x20,130] - b .L3938 -.L3895: + strb w0, [x20,218] + b .L3993 +.L3948: add x21, x19, :lo12:.LANCHOR0 mov w0, 65535 ldrh w1, [x21,3424] cmp w1, w0 - bne .L3963 + bne .L4018 bl gc_get_src_blk strh w0, [x21,3424] -.L3963: +.L4018: add x0, x19, :lo12:.LANCHOR0 mov w2, 65535 ldrh w1, [x0,3424] cmp w1, w2 - beq .L3964 + beq .L4019 ldrh w2, [x0,1088] cmp w2, w1 - bhi .L3964 + bhi .L4019 mov w1, -1 strh w1, [x0,3424] -.L3964: +.L4019: add x0, x19, :lo12:.LANCHOR0 mov w2, 65535 add x1, x0, 3424 ldrh w3, [x0,3424] cmp w3, w2 - beq .L4122 + beq .L4181 ldrh w5, [x1,56] uxtw x4, w3 ldr x2, [x0,1096] add x2, x2, x4, lsl 2 - cbz w5, .L3967 + cbz w5, .L4022 mov x0, 0 -.L3966: +.L4021: cmp w5, w0, uxth - bls .L3967 + bls .L4022 add x0, x0, 1 add x6, x1, x0, lsl 1 ldrh w6, [x6,56] cmp w6, w3 - bne .L3966 -.L3972: + bne .L4021 +.L4027: add x19, x19, :lo12:.LANCHOR0 mov w0, -1 strh w0, [x19,3424] - b .L4121 -.L3967: + b .L4180 +.L4022: ldrb w0, [x2,2] tst w0, 192 - beq .L4029 + beq .L4084 and w0, w0, 224 cmp w0, 224 - bne .L3969 -.L4029: + bne .L4024 +.L4084: add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,1112] ldrh w0, [x0,x4,lsl 1] - cbz w0, .L3972 + cbz w0, .L4027 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 3153 - add x1, x1, 1008 + mov w2, 3306 + add x1, x1, 1024 add x0, x0, :lo12:.LC0 bl printk bl dump_stack - b .L3972 -.L3969: + b .L4027 +.L4024: add x20, x20, :lo12:.LANCHOR5 mov w0, 2 - b .L4123 -.L3896: + b .L4182 +.L3949: bl gc_scan_src_blk cmn w0, #1 - bne .L3973 + bne .L4028 add x20, x20, :lo12:.LANCHOR5 mov w0, 3 - b .L4123 -.L3973: + b .L4182 +.L4028: add x1, x19, :lo12:.LANCHOR0 mov w3, 65535 ldrh w0, [x1,3424] cmp w0, w3 - beq .L3914 + beq .L3967 ldrh w3, [x1,3448] add x20, x20, :lo12:.LANCHOR5 - cbz w3, .L3974 + cbz w3, .L4029 mov w0, 4 strh wzr, [x1,3450] - strb w0, [x20,130] - b .L4121 -.L3974: + strb w0, [x20,218] + b .L4180 +.L4029: ubfiz x0, x0, 1, 16 ldr x1, [x1,1112] mov w2, 1 - strb w2, [x20,130] + strb w2, [x20,218] ldrh w0, [x1,x0] - cbz w0, .L3975 + cbz w0, .L4030 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 3183 - add x1, x1, 1008 + mov w2, 3336 + add x1, x1, 1024 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3975: +.L4030: add x20, x19, :lo12:.LANCHOR0 add x21, x20, 3424 ldrh w0, [x20,3424] @@ -25632,105 +26193,105 @@ zftl_do_gc: add w0, w0, 1 uxth w0, w0 cmp w0, 8 - bhi .L3976 + bhi .L4031 strh w0, [x21,30] - b .L3972 -.L3976: + b .L4027 +.L4031: strh wzr, [x21,30] bl ftl_flush bl pm_flush bl ftl_ext_info_flush mov w0, 0 bl ftl_info_flush - b .L3972 -.L3897: + b .L4027 +.L3950: add x21, x19, :lo12:.LANCHOR0 adrp x23, .LANCHOR3 -.L4084: +.L4141: bl gc_scan_src_blk_one_page ldrh w2, [x21,3426] add x0, x21, 3424 add x1, x23, :lo12:.LANCHOR3 - ldrh w1, [x1,1294] + ldrh w1, [x1,1384] cmp w2, w1 - bcs .L3978 + bcs .L4033 cmp w22, 7 - bls .L4084 - b .L4121 -.L3978: + bls .L4141 + b .L4180 +.L4033: ldrh w3, [x0,24] - cbz w3, .L3979 + cbz w3, .L4034 add x20, x20, :lo12:.LANCHOR5 mov w1, 4 strh wzr, [x0,26] ldr x2, [x21,1112] - strb w1, [x20,130] + strb w1, [x20,218] ldrh w1, [x0] ubfiz x0, x1, 1, 16 ldrh w2, [x2,x0] cmp w2, w3 - beq .L3980 + beq .L4035 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 10, .L3980 - adrp x0, .LC297 - add x0, x0, :lo12:.LC297 + tbz x0, 10, .L4035 + adrp x0, .LC300 + add x0, x0, :lo12:.LC300 bl printk -.L3980: +.L4035: add x0, x19, :lo12:.LANCHOR0 ldrh w2, [x0,3424] ldr x1, [x0,1112] ldrh w0, [x0,3448] ldrh w1, [x1,x2,lsl 1] cmp w1, w0 - beq .L3981 + beq .L4036 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 3226 - add x1, x1, 1008 + mov w2, 3379 + add x1, x1, 1024 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3981: +.L4036: add x19, x19, :lo12:.LANCHOR0 ldrh w1, [x19,3424] ldr x0, [x19,1112] ldrh w2, [x19,3448] strh w2, [x0,x1,lsl 1] - b .L4121 -.L3979: + b .L4180 +.L4034: add x20, x20, :lo12:.LANCHOR5 ldrh w1, [x0] mov w0, 1 ldr x21, [x21,1096] add x21, x21, x1, uxth 2 - strb w0, [x20,130] + strb w0, [x20,218] adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3982 + tbz x0, 8, .L4037 ldrb w2, [x21,2] - adrp x0, .LC298 - add x0, x0, :lo12:.LC298 + adrp x0, .LC301 + add x0, x0, :lo12:.LC301 ubfx x2, x2, 5, 3 bl printk -.L3982: +.L4037: ldrb w0, [x21,2] tst w0, 192 - beq .L4030 + beq .L4085 and w0, w0, 224 cmp w0, 224 - bne .L3983 -.L4030: + bne .L4038 +.L4085: adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 3236 - add x1, x1, 1008 + mov w2, 3389 + add x1, x1, 1024 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3983: +.L4038: add x19, x19, :lo12:.LANCHOR0 add x20, x19, 3424 ldrh w0, [x19,3424] @@ -25741,61 +26302,61 @@ zftl_do_gc: add w0, w0, 1 uxth w0, w0 cmp w0, 8 - bhi .L3985 + bhi .L4040 strh w0, [x20,30] - b .L4121 -.L3985: + b .L4180 +.L4040: strh wzr, [x20,30] - b .L4124 -.L3898: - cbnz w26, .L3986 + b .L4183 +.L3951: + cbnz w26, .L4041 add x0, x19, :lo12:.LANCHOR0 ldrh w0, [x0,3400] cmp w0, w22 - bcc .L4121 -.L3986: + bcc .L4180 +.L4041: ldrh w1, [x24,80] mov w0, 65535 cmp w1, w0 - bne .L3987 + bne .L4042 adrp x21, .LANCHOR3 add x0, x21, :lo12:.LANCHOR3 - ldrb w23, [x0,1265] + ldrb w23, [x0,1345] cmp w23, 1 - bne .L3987 + bne .L4042 bl ftl_flush add x0, x19, :lo12:.LANCHOR0 - ldrh w0, [x0,5534] - cbz w0, .L3988 + ldrh w0, [x0,5616] + cbz w0, .L4043 mov w0, w23 -.L3988: +.L4043: mov w1, 5 bl zftl_gc_get_free_sblk uxth w23, w0 mov w0, 65535 cmp w23, w0 - beq .L3990 + beq .L4045 add x0, x19, :lo12:.LANCHOR0 ldr x22, [x0,1096] add x22, x22, x23, uxth 2 ldrb w0, [x22,2] tst w0, 224 - beq .L3991 + beq .L4046 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 3270 - add x1, x1, 1008 + mov w2, 3423 + add x1, x1, 1024 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3991: +.L4046: ldrb w0, [x22,2] mov w1, 5 bfi w0, w1, 5, 3 orr w0, w0, 16 strb w0, [x22,2] -.L4016: +.L4071: mov w0, w23 mov w1, 1 add x21, x21, :lo12:.LANCHOR3 @@ -25808,32 +26369,32 @@ zftl_do_gc: mov w0, w23 bl ftl_get_blk_list_in_sblk uxtb w0, w0 - ldrh w1, [x21,1294] + ldrh w1, [x21,1384] strb w0, [x24,89] - ldrb w2, [x21,1249] + ldrb w2, [x21,1329] mul w0, w0, w1 strh w0, [x24,86] mov w1, 255 - ldrh w0, [x21,1266] + ldrh w0, [x21,1346] strh w23, [x24,80] strh wzr, [x24,82] mul w2, w0, w2 - ldr x0, [x20,144] + ldr x0, [x20,232] strb wzr, [x24,85] lsl w2, w2, 2 strh wzr, [x24,90] bl ftl_memset - ldrh w0, [x21,1266] + ldrh w0, [x21,1346] mov w1, 255 - ldrb w2, [x21,1249] + ldrb w2, [x21,1329] mul w2, w0, w2 - ldr x0, [x20,152] + ldr x0, [x20,240] lsl w2, w2, 2 bl ftl_memset - ldrh w3, [x21,1266] + ldrh w3, [x21,1346] mov w1, 255 - ldrb w2, [x21,1249] - ldr x0, [x21,1256] + ldrb w2, [x21,1329] + ldr x0, [x21,1336] mul w2, w3, w2 bl ftl_memset ldr x0, [x19,1120] @@ -25847,14 +26408,14 @@ zftl_do_gc: ldr x0, [x19,3392] strh w23, [x0,126] mov w0, -1 - str w0, [x19,5540] + str w0, [x19,5620] mov w0, 0 strh wzr, [x19,5530] strh wzr, [x19,5532] - strh wzr, [x19,5536] + strh wzr, [x19,5618] bl ftl_info_flush - b .L4121 -.L3987: + b .L4180 +.L4042: cmp w26, 1 mov w23, 4 csinc w23, w23, wzr, eq @@ -25863,103 +26424,103 @@ zftl_do_gc: adrp x27, .LANCHOR3 csel w23, w0, w23, ls add x25, x19, :lo12:.LANCHOR0 -.L3994: +.L4049: sub w23, w23, #1 uxtb w23, w23 cmp w23, 255 - beq .L4121 + beq .L4180 add x26, x27, :lo12:.LANCHOR3 bl gc_do_copy_back adrp x22, .LANCHOR3 - ldrb w0, [x26,1265] - cbnz w0, .L3995 + ldrb w0, [x26,1345] + cbnz w0, .L4050 ldrb w0, [x25,3362] cmp w0, 3 - bhi .L3996 + bhi .L4051 bl ftl_write_commit -.L3996: +.L4051: ldrh w1, [x25,3450] ldrh w0, [x25,3448] cmp w1, w0 - bcc .L3994 + bcc .L4049 add x20, x20, :lo12:.LANCHOR5 mov w0, 1 - strb w0, [x20,130] + strb w0, [x20,218] bl ftl_write_commit bl ftl_flush ldrh w1, [x25,3424] ldr x0, [x25,1112] ldrh w0, [x0,x1,lsl 1] - cbz w0, .L3998 + cbz w0, .L4053 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 3354 - add x1, x1, 1008 + mov w2, 3507 + add x1, x1, 1024 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L3998: +.L4053: add x1, x19, :lo12:.LANCHOR0 ldrh w0, [x1,3424] ldr x3, [x1,1112] ubfiz x2, x0, 1, 16 ldrh w4, [x3,x2] - cbnz w4, .L3999 + cbnz w4, .L4054 strh w4, [x3,x2] ldrh w0, [x1,3424] bl ftl_free_sblk - b .L3972 -.L3999: + b .L4027 +.L4054: mov w1, 0 mov w2, 1 bl gc_add_sblk - b .L3972 -.L3995: - ldrh w0, [x25,5536] + b .L4027 +.L4050: + ldrh w0, [x25,5618] add x21, x25, 3424 - cbz w0, .L4000 - strh wzr, [x21,2112] + cbz w0, .L4055 + strh wzr, [x21,2194] bl sblk_wait_write_queue_completed bl gc_write_completed - ldr w0, [x21,2116] + ldr w0, [x21,2196] cmn w0, #1 - beq .L4001 - ldrb w1, [x26,1868] - cbnz w1, .L4002 - ldrb w1, [x26,1250] - cbz w1, .L4003 -.L4002: + beq .L4056 + ldrb w1, [x26,1956] + cbnz w1, .L4057 + ldrb w1, [x26,1330] + cbz w1, .L4058 +.L4057: add x1, x19, :lo12:.LANCHOR0 ldr x2, [x1,3392] ldr w3, [x2,156] mov w2, 20041 movk w2, 0x444b, lsl 16 cmp w3, w2 - bne .L4003 + bne .L4058 add x22, x22, :lo12:.LANCHOR3 ldrb w3, [x1,1257] mov w2, 24 sub w2, w2, w3 mov w3, 1 - ldrh w4, [x22,1232] + ldrh w4, [x22,1312] sub w2, w2, w4 lsr w0, w0, w4 lsl w2, w3, w2 sub w2, w2, #1 and w0, w2, w0 - ldrb w2, [x22,1234] + ldrb w2, [x22,1314] udiv w0, w0, w2 ldr x2, [x1,1096] lsl x0, x0, 2 add x5, x2, x0 ldrb w3, [x5,2] - tbz x3, 3, .L4001 + tbz x3, 3, .L4056 ldrh w4, [x1,3376] - ldrh w6, [x22,1298] + ldrh w6, [x22,1388] add w4, w4, 8 cmp w4, w6 - bge .L4001 + bge .L4056 and w3, w3, -25 strb w3, [x5,2] ldrh w1, [x1,1104] @@ -25976,13 +26537,13 @@ zftl_do_gc: ldr w1, [x2,x0] bfi w1, w3, 11, 8 str w1, [x2,x0] - b .L4001 -.L4003: + b .L4056 +.L4058: bl ftl_mask_bad_block -.L4001: +.L4056: add x21, x19, :lo12:.LANCHOR0 ldr x0, [x21,1120] - str wzr, [x21,5540] + str wzr, [x21,5620] strh wzr, [x21,3480] ldrh w0, [x0,80] bl ftl_free_sblk @@ -25993,9 +26554,9 @@ zftl_do_gc: strh w0, [x2,126] strh w0, [x1,130] ldr x0, [x21,3432] - cbz x0, .L4004 + cbz x0, .L4059 bl zbuf_free -.L4004: +.L4059: add x19, x19, :lo12:.LANCHOR0 add x20, x20, :lo12:.LANCHOR5 str xzr, [x19,3432] @@ -26003,24 +26564,24 @@ zftl_do_gc: adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 3413 - add x1, x1, 1008 + mov w2, 3567 + add x1, x1, 1024 add x0, x0, :lo12:.LC0 - strb wzr, [x20,130] + strb wzr, [x20,218] bl printk bl dump_stack - b .L4121 -.L4000: + b .L4180 +.L4055: ldrh w0, [x24,86] cmp w0, 1 - bls .L4005 + bls .L4060 ldrh w1, [x21,26] ldrh w0, [x21,24] cmp w1, w0 - bcc .L3994 + bcc .L4049 add x20, x20, :lo12:.LANCHOR5 mov w0, 1 - strb w0, [x20,130] + strb w0, [x20,218] ldrh w0, [x21,56] add w1, w0, 1 add x0, x21, x0, sxtw 1 @@ -26029,15 +26590,15 @@ zftl_do_gc: strh w1, [x0,58] mov w0, -1 strh w0, [x21] - b .L4121 -.L4005: + b .L4180 +.L4060: add x20, x20, :lo12:.LANCHOR5 mov w0, 5 ldrh w1, [x21,26] - strb w0, [x20,130] + strb w0, [x20,218] ldrh w0, [x21,24] cmp w1, w0 - bcc .L4006 + bcc .L4061 ldrh w0, [x21,56] add w1, w0, 1 add x0, x21, x0, sxtw 1 @@ -26046,7 +26607,7 @@ zftl_do_gc: strh w1, [x0,58] mov w0, -1 strh w0, [x21] -.L4006: +.L4061: add x20, x19, :lo12:.LANCHOR0 bl ftl_flush bl sblk_wait_write_queue_completed @@ -26059,38 +26620,38 @@ zftl_do_gc: strh wzr, [x20,3440] add x1, x22, :lo12:.LANCHOR3 ldrb w3, [x20,1268] - ldrh w2, [x1,1294] + ldrh w2, [x1,1384] strh w2, [x20,3442] - ldrb w2, [x1,1248] + ldrb w2, [x1,1328] strh w2, [x20,3444] - cbz w3, .L4007 - ldrh w1, [x1,1266] + cbz w3, .L4062 + ldrh w1, [x1,1346] strh w1, [x20,3442] mov w1, 1 strh w1, [x20,3444] -.L4007: +.L4062: cmp w2, 2 - bne .L4009 + bne .L4064 add x0, x19, :lo12:.LANCHOR0 add x22, x22, :lo12:.LANCHOR3 add x0, x0, 3424 ldrh w1, [x0,18] lsl w1, w1, 1 strh w1, [x0,18] - ldrb w1, [x22,1250] - cbnz w1, .L4009 + ldrb w1, [x22,1330] + cbnz w1, .L4064 mov w1, 1 strh w1, [x0,20] -.L4009: +.L4064: add x19, x19, :lo12:.LANCHOR0 strh wzr, [x19,3446] - b .L4121 -.L4018: + b .L4180 +.L4073: mov w21, 0 add x24, x19, :lo12:.LANCHOR0 -.L3899: +.L3952: bl gc_check_data_one_wl - cbz w0, .L4012 + cbz w0, .L4067 add x19, x19, :lo12:.LANCHOR0 add x20, x20, :lo12:.LANCHOR5 ldr x0, [x19,1120] @@ -26106,33 +26667,33 @@ zftl_do_gc: ldr x0, [x19,3432] bl zbuf_free str xzr, [x19,3432] - strb wzr, [x20,130] -.L4124: + strb wzr, [x20,218] +.L4183: bl flt_sys_flush - b .L4121 -.L4012: + b .L4180 +.L4067: ldrh w1, [x24,3440] ldrh w0, [x24,3442] cmp w1, w0 - bcc .L4013 + bcc .L4068 add x20, x20, :lo12:.LANCHOR5 mov w0, 6 - strb w0, [x20,130] + strb w0, [x20,218] ldr x0, [x24,3432] bl zbuf_free str xzr, [x24,3432] - b .L4121 -.L4013: + b .L4180 +.L4068: cmp w22, 15 - bls .L3899 + bls .L3952 cmp w26, 1 - bne .L4121 + bne .L4180 add w21, w21, 1 uxtb w21, w21 cmp w21, 4 - bls .L3899 - b .L4121 -.L3900: + bls .L3952 + b .L4180 +.L3953: bl gc_update_l2p_map_new mov w21, -1 bl gc_free_src_blk @@ -26145,26 +26706,26 @@ zftl_do_gc: strh w21, [x0,126] mov w0, 0 bl ftl_info_flush -.L4122: +.L4181: add x20, x20, :lo12:.LANCHOR5 - strb wzr, [x20,130] -.L4121: + strb wzr, [x20,218] +.L4180: mov w1, 16 - b .L4083 -.L3938: + b .L4140 +.L3993: mov w1, w24 - b .L4083 -.L3990: + b .L4140 +.L4045: adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 3277 - add x1, x1, 1008 + mov w2, 3430 + add x1, x1, 1024 add x0, x0, :lo12:.LC0 bl printk bl dump_stack - b .L4016 -.L4083: + b .L4071 +.L4140: sub sp, x29, #16 mov w0, w1 ldp x19, x20, [sp,32] @@ -26196,25 +26757,25 @@ zftl_init: add x24, x20, :lo12:.LANCHOR0 add x1, x1, :lo12:.LC2 adrp x22, .LANCHOR2 - strb w0, [x23,1874] + strb w0, [x23,1962] strb w0, [x24,3416] - strb w0, [x25,264] + strb w0, [x25,352] mov w0, -1 - str w0, [x25,940] + str w0, [x25,1012] adrp x0, .LC1 add x0, x0, :lo12:.LC1 strb wzr, [x24,3388] - strb wzr, [x23,1875] + strb wzr, [x23,1963] strb wzr, [x24,3389] bl printk add x1, x22, :lo12:.LANCHOR2 - ldrb w3, [x24,1145] + ldrb w3, [x24,1153] ldrh w4, [x24,2] - strb w3, [x23,1332] + strb w3, [x23,1420] ldrb w2, [x1,21] ldrb w9, [x1,20] ldrh w5, [x1,18] - strb w2, [x23,1234] + strb w2, [x23,1314] mul w2, w2, w3 ldrb w0, [x1,17] mov w3, 1 @@ -26223,38 +26784,38 @@ zftl_init: sdiv w10, w5, w9 uxtb w2, w2 ubfiz w8, w0, 9, 7 - strb w9, [x23,1248] + strb w9, [x23,1328] strb w0, [x24,3360] - strh w5, [x23,1266] - strh w10, [x23,1294] - strb w2, [x23,1249] + strh w5, [x23,1346] + strh w10, [x23,1384] + strb w2, [x23,1329] strh w6, [x24,1088] - strh w8, [x25,926] - strh w4, [x23,1330] -.L4127: + strh w8, [x25,998] + strh w4, [x23,1418] +.L4186: cmp w3, w4 - bhi .L4207 + bhi .L4266 add w1, w1, 1 lsl w3, w3, 1 uxth w1, w1 - b .L4127 -.L4207: + b .L4186 +.L4266: add x3, x21, :lo12:.LANCHOR3 sub w1, w1, #1 mul w7, w0, w5 mov w4, 0 - strh w1, [x3,1232] + strh w1, [x3,1312] mov w1, 1 mul w3, w7, w6 lsr w11, w3, 21 -.L4129: +.L4188: cmp w1, w11 - bhi .L4208 + bhi .L4267 add w4, w4, 1 lsl w1, w1, 1 uxth w4, w4 - b .L4129 -.L4208: + b .L4188 +.L4267: mov w1, 57344 mov w11, 1 movk w1, 0x1c, lsl 16 @@ -26272,7 +26833,7 @@ zftl_init: cmp w6, 79 mul w10, w10, w2 udiv w0, w3, w0 - str w3, [x4,944] + str w3, [x4,1016] str w0, [x11,3372] sub w11, w8, #1 mul w7, w7, w2 @@ -26281,179 +26842,179 @@ zftl_init: udiv w3, w3, w7 add w3, w3, 8 udiv w0, w0, w8 - strh w0, [x4,948] + strh w0, [x4,1020] ubfiz w0, w0, 4, 16 sdiv w0, w0, w10 - strh w0, [x4,176] + strh w0, [x4,264] add x0, x21, :lo12:.LANCHOR3 - strh w3, [x0,1300] - strh w6, [x0,1298] - bhi .L4131 + strh w3, [x0,1390] + strh w6, [x0,1388] + bhi .L4190 mov w3, 80 - strh w3, [x0,1298] -.L4131: + strh w3, [x0,1388] +.L4190: add x0, x21, :lo12:.LANCHOR3 mov w3, 2000 add x6, x20, :lo12:.LANCHOR0 mov w4, 256 cmp w9, 2 - strh w3, [x0,1872] + strh w3, [x0,1960] mov w3, 50 - strh w3, [x0,1870] + strh w3, [x0,1958] add x3, x19, :lo12:.LANCHOR5 - strh w4, [x3,172] + strh w4, [x3,260] mov w4, 48 - strh w4, [x3,174] + strh w4, [x3,262] mov w4, 32 strh w4, [x6,1104] - beq .L4132 - ldrb w7, [x0,1264] - cbz w7, .L4133 -.L4132: + beq .L4191 + ldrb w7, [x0,1344] + cbz w7, .L4192 +.L4191: add x3, x21, :lo12:.LANCHOR3 mov w0, 150 mov w4, 64 mov w6, 12 - strh w0, [x3,1870] + strh w0, [x3,1958] add x0, x19, :lo12:.LANCHOR5 - strh w4, [x0,174] + strh w4, [x0,262] add x4, x20, :lo12:.LANCHOR0 strh w6, [x4,1104] ldrb w6, [x20,#:lo12:.LANCHOR0] - cbnz w6, .L4134 + cbnz w6, .L4193 mov w6, 4 strh w6, [x4,1104] mov w4, 600 - strh w4, [x3,1872] + strh w4, [x3,1960] mov w3, 128 - strh w3, [x0,172] -.L4134: + strh w3, [x0,260] +.L4193: add x0, x20, :lo12:.LANCHOR0 ldrb w0, [x0,1269] - cbz w0, .L4136 + cbz w0, .L4195 add x0, x21, :lo12:.LANCHOR3 mov w3, 200 - strh w3, [x0,1870] + strh w3, [x0,1958] mov w3, 2000 - strh w3, [x0,1872] - b .L4136 -.L4133: + strh w3, [x0,1960] + b .L4195 +.L4192: ldrb w6, [x6,1268] - cbz w6, .L4136 + cbz w6, .L4195 mov w6, 1200 - strh w4, [x0,1870] - strh w6, [x0,1872] - strh w4, [x3,174] -.L4136: + strh w4, [x0,1958] + strh w6, [x0,1960] + strh w4, [x3,262] +.L4195: add x0, x20, :lo12:.LANCHOR0 mov w3, 1 mul w2, w5, w2 str wzr, [x0,3412] add x0, x19, :lo12:.LANCHOR5 cmp w8, w2, lsl 2 - strb w3, [x0,929] - bge .L4138 + strb w3, [x0,1001] + bge .L4197 mov w2, 2 - strb w2, [x0,929] -.L4138: + strb w2, [x0,1001] +.L4197: ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 12, .L4139 - adrp x0, .LC299 - add x0, x0, :lo12:.LC299 - bl printk -.L4139: - ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 12, .L4140 - add x1, x20, :lo12:.LANCHOR0 - adrp x0, .LC300 - add x0, x0, :lo12:.LC300 - ldr w1, [x1,3368] - bl printk -.L4140: - ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 12, .L4141 - add x1, x20, :lo12:.LANCHOR0 - adrp x0, .LC301 - add x0, x0, :lo12:.LC301 - ldr w1, [x1,3372] - bl printk -.L4141: - ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 12, .L4142 - add x1, x19, :lo12:.LANCHOR5 + tbz x0, 12, .L4198 adrp x0, .LC302 add x0, x0, :lo12:.LC302 - ldr w1, [x1,944] bl printk -.L4142: +.L4198: ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 12, .L4143 - add x1, x19, :lo12:.LANCHOR5 + tbz x0, 12, .L4199 + add x1, x20, :lo12:.LANCHOR0 adrp x0, .LC303 add x0, x0, :lo12:.LC303 - ldrh w1, [x1,948] + ldr w1, [x1,3368] bl printk -.L4143: +.L4199: ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 12, .L4144 - add x1, x19, :lo12:.LANCHOR5 + tbz x0, 12, .L4200 + add x1, x20, :lo12:.LANCHOR0 adrp x0, .LC304 add x0, x0, :lo12:.LC304 - ldrh w1, [x1,926] + ldr w1, [x1,3372] bl printk -.L4144: +.L4200: ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 12, .L4145 + tbz x0, 12, .L4201 add x1, x19, :lo12:.LANCHOR5 adrp x0, .LC305 add x0, x0, :lo12:.LC305 - ldrh w1, [x1,176] + ldr w1, [x1,1016] bl printk -.L4145: +.L4201: ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 12, .L4146 - add x1, x21, :lo12:.LANCHOR3 + tbz x0, 12, .L4202 + add x1, x19, :lo12:.LANCHOR5 adrp x0, .LC306 add x0, x0, :lo12:.LC306 - ldrh w1, [x1,1298] + ldrh w1, [x1,1020] bl printk -.L4146: +.L4202: ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 12, .L4147 - add x1, x21, :lo12:.LANCHOR3 + tbz x0, 12, .L4203 + add x1, x19, :lo12:.LANCHOR5 adrp x0, .LC307 add x0, x0, :lo12:.LC307 - ldrh w1, [x1,1300] + ldrh w1, [x1,998] bl printk -.L4147: +.L4203: + ldr w0, [x22,#:lo12:.LANCHOR2] + tbz x0, 12, .L4204 + add x1, x19, :lo12:.LANCHOR5 + adrp x0, .LC308 + add x0, x0, :lo12:.LC308 + ldrh w1, [x1,264] + bl printk +.L4204: + ldr w0, [x22,#:lo12:.LANCHOR2] + tbz x0, 12, .L4205 + add x1, x21, :lo12:.LANCHOR3 + adrp x0, .LC309 + add x0, x0, :lo12:.LC309 + ldrh w1, [x1,1388] + bl printk +.L4205: + ldr w0, [x22,#:lo12:.LANCHOR2] + tbz x0, 12, .L4206 + add x1, x21, :lo12:.LANCHOR3 + adrp x0, .LC310 + add x0, x0, :lo12:.LC310 + ldrh w1, [x1,1390] + bl printk +.L4206: bl zbuf_init add x25, x19, :lo12:.LANCHOR5 mov w0, 16384 add x24, x20, :lo12:.LANCHOR0 add x23, x21, :lo12:.LANCHOR3 bl ftl_malloc - str x0, [x25,584] + str x0, [x25,648] mov w0, 16384 bl ftl_malloc - str x0, [x25,600] + str x0, [x25,664] mov w0, 16384 bl ftl_malloc - str x0, [x25,952] + str x0, [x25,1024] ldrh w1, [x24,1088] mov w0, 6 mul w0, w1, w0 bl ftl_malloc str x0, [x24,1040] - ldrb w1, [x23,1249] - ldrh w0, [x23,1294] + ldrb w1, [x23,1329] + ldrh w0, [x23,1384] mul w0, w0, w1 lsl w0, w0, 2 bl ftl_malloc - str x0, [x23,1856] - ldrb w1, [x23,1249] - ldrh w0, [x23,1294] - ldr x2, [x25,600] - str x2, [x23,1848] + str x0, [x23,1944] + ldrb w1, [x23,1329] + ldrh w0, [x23,1384] + ldr x2, [x25,664] + str x2, [x23,1936] mul w0, w0, w1 add x3, x2, x0, sxtw 3 ldrh w1, [x24,1088] @@ -26463,18 +27024,18 @@ zftl_init: ldr w0, [x22,#:lo12:.LANCHOR2] add x1, x2, x1, sxtw 2 str x1, [x24,1120] - tbz x0, 12, .L4148 - adrp x0, .LC308 - add x0, x0, :lo12:.LC308 + tbz x0, 12, .L4207 + adrp x0, .LC311 + add x0, x0, :lo12:.LC311 bl printk -.L4148: +.L4207: add x0, x20, :lo12:.LANCHOR0 add x21, x21, :lo12:.LANCHOR3 add x3, x19, :lo12:.LANCHOR5 ldrh w1, [x0,1088] - ldrh w0, [x21,1294] - ldrb w21, [x21,1249] - ldrh w23, [x3,948] + ldrh w0, [x21,1384] + ldrb w21, [x21,1329] + ldrh w23, [x3,1020] mul w21, w0, w21 ldr w0, [x22,#:lo12:.LANCHOR2] lsl w23, w23, 2 @@ -26483,31 +27044,31 @@ zftl_init: add w23, w23, 704 lsl w21, w21, 1 add w21, w21, 632 - tbz x0, 12, .L4149 - adrp x0, .LC309 - ldrh w3, [x3,926] - add x0, x0, :lo12:.LC309 + tbz x0, 12, .L4208 + adrp x0, .LC312 + ldrh w3, [x3,998] + add x0, x0, :lo12:.LC312 mov w1, w21 mov w2, w23 bl printk -.L4149: +.L4208: add x19, x19, :lo12:.LANCHOR5 - ldrh w0, [x19,926] + ldrh w0, [x19,998] cmp w21, w0 - bhi .L4151 + bhi .L4210 cmp w23, w0 - bls .L4150 -.L4151: -.L4152: - b .L4152 -.L4150: + bls .L4209 +.L4210: +.L4211: + b .L4211 +.L4209: bl sblk_init + bl gc_init bl ftl_info_blk_init cmn w0, #1 - beq .L4153 + beq .L4212 bl ftl_ext_info_init add x21, x20, :lo12:.LANCHOR0 - bl gc_init mov w0, 1 bl pm_init bl lpa_rebuild_hash @@ -26536,13 +27097,13 @@ zftl_init: bl pm_flush mov w0, 1 bl ftl_total_vpn_update - ldrb w0, [x19,593] - cbz w0, .L4154 + ldrb w0, [x19,657] + cbz w0, .L4213 ldr x1, [x21,3392] ldr w0, [x1,68] add w0, w0, 1 str w0, [x1,68] -.L4154: +.L4213: bl ftl_ext_info_flush mov w0, 0 bl ftl_info_flush @@ -26550,21 +27111,21 @@ zftl_init: add x1, x20, :lo12:.LANCHOR0 ldr x0, [x1,1120] ldrh w0, [x0,124] - cbnz w0, .L4158 + cbnz w0, .L4217 ldrh w2, [x1,3376] mov w19, 16384 ldrh w0, [x1,3380] add w0, w2, w0 cmp w0, 7 - ble .L4155 -.L4157: + ble .L4214 +.L4216: mov w0, 0 - b .L4153 -.L4158: + b .L4212 +.L4217: mov w19, 16384 -.L4155: +.L4214: mov w21, 65535 -.L4190: +.L4249: mov w1, 1 mov w0, 0 bl zftl_do_gc @@ -26574,20 +27135,20 @@ zftl_init: add x1, x20, :lo12:.LANCHOR0 ldr x0, [x1,1120] ldrh w2, [x0,124] - cbnz w2, .L4156 + cbnz w2, .L4215 ldrh w0, [x0,80] cmp w0, w21 - bne .L4156 + bne .L4215 ldrh w2, [x1,3376] ldrh w0, [x1,3380] add w0, w2, w0 cmp w0, 7 - bgt .L4157 -.L4156: + bgt .L4216 +.L4215: subs w19, w19, #1 - bne .L4190 - b .L4157 -.L4153: + bne .L4249 + b .L4216 +.L4212: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -26607,34 +27168,34 @@ rk_ftl_init: ldr x0, [x0,#:lo12:jiffies] stp x19, x20, [sp,16] add x19, x21, :lo12:.LANCHOR5 - str x0, [x19,184] + str x0, [x19,272] mov w0, 136 - strb wzr, [x19,960] + strb wzr, [x19,1032] bl ftl_malloc - str x0, [x19,192] - cbnz x0, .L4210 -.L4212: + str x0, [x19,280] + cbnz x0, .L4269 +.L4271: mov w0, -1 - b .L4211 -.L4210: + b .L4270 +.L4269: mov w0, 2048 bl ftl_malloc - str x0, [x19,968] - add x0, x19, 200 - str xzr, [x19,200] - add x1, x0, 776 - str xzr, [x19,976] + str x0, [x19,1040] + add x0, x19, 288 + str xzr, [x19,288] + add x1, x0, 760 + str xzr, [x19,1048] bl rknand_get_reg_addr - ldr x0, [x19,200] - cbz x0, .L4212 + ldr x0, [x19,288] + cbz x0, .L4271 bl rk_nandc_irq_init mov w1, 0 - ldr x0, [x19,968] + ldr x0, [x19,1040] mov w2, w1 mov w3, 2048 bl flash_sram_load_store bl rknand_flash_cs_init - ldr x0, [x19,192] + ldr x0, [x19,280] adrp x1, zftl_deinit add x1, x1, :lo12:zftl_deinit str x1, [x0,80] @@ -26683,18 +27244,18 @@ rk_ftl_init: adrp x1, zftl_discard add x1, x1, :lo12:zftl_discard str x1, [x0,56] - ldr x0, [x19,200] + ldr x0, [x19,288] bl nand_flash_init mov w22, w0 - cbnz w0, .L4213 + cbnz w0, .L4272 bl zftl_init mov w20, w0 bl zftl_proc_debug_init mov w0, 1 - strb w0, [x19,960] - b .L4214 -.L4213: - ldr x1, [x19,192] + strb w0, [x19,1032] + b .L4273 +.L4272: + ldr x1, [x19,280] adrp x2, ftl_get_density add x2, x2, :lo12:ftl_get_density adrp x0, ftl_deinit @@ -26741,14 +27302,14 @@ rk_ftl_init: str x0, [x1,96] str x2, [x1,104] adrp x2, ftl_discard - ldr x0, [x19,200] + ldr x0, [x19,288] add x2, x2, :lo12:ftl_discard str x2, [x1,56] bl FlashInit mov w20, w0 cmn w22, #2 adrp x22, .LANCHOR2 - bne .L4215 + bne .L4274 add x19, x22, :lo12:.LANCHOR2 adrp x1, gNandParaInfo add x19, x19, 8 @@ -26760,58 +27321,58 @@ rk_ftl_init: bl flash_lsb_page_tbl_build ldrh w0, [x19,10] strh w0, [x19,26] -.L4215: +.L4274: adrp x0, g_nandc_version_data ldr w1, [x0,#:lo12:g_nandc_version_data] mov w0, 12336 movk w0, 0x5638, lsl 16 cmp w1, w0 adrp x1, .LANCHOR0 - bne .L4216 + bne .L4275 adrp x0, gFlashSlcMode ldrb w0, [x0,#:lo12:gFlashSlcMode] - cbnz w0, .L4217 -.L4216: + cbnz w0, .L4276 +.L4275: add x0, x1, :lo12:.LANCHOR0 strb wzr, [x1,#:lo12:.LANCHOR0] - strb wzr, [x0,1146] -.L4217: + strb wzr, [x0,1154] +.L4276: adrp x2, gNandFlashIDBEccBits add x0, x1, :lo12:.LANCHOR0 add x22, x22, :lo12:.LANCHOR2 add x21, x21, :lo12:.LANCHOR5 ldrb w2, [x2,#:lo12:gNandFlashIDBEccBits] - strb w2, [x0,1144] + strb w2, [x0,1152] adrp x2, gNandFlashEccBits ldrh w3, [x22,18] - str xzr, [x21,240] + str xzr, [x21,328] ldrb w2, [x2,#:lo12:gNandFlashEccBits] - strb w2, [x0,1236] + strb w2, [x0,1244] mov w2, 1 mov w0, 0 -.L4218: +.L4277: cmp w2, w3 - bhi .L4223 + bhi .L4282 add w0, w0, 1 lsl w2, w2, 1 uxth w0, w0 - b .L4218 -.L4223: - adrp x2, .LANCHOR3+1232 + b .L4277 +.L4282: + adrp x2, .LANCHOR3+1312 add x1, x1, :lo12:.LANCHOR0 sub w0, w0, #1 - strb wzr, [x1,1184] - strh w0, [x2,#:lo12:.LANCHOR3+1232] - cbnz w20, .L4214 + strb wzr, [x1,1192] + strh w0, [x2,#:lo12:.LANCHOR3+1312] + cbnz w20, .L4273 bl FtlInit mov w20, w0 -.L4214: - adrp x0, .LC310 +.L4273: + adrp x0, .LC313 mov w1, w20 - add x0, x0, :lo12:.LC310 + add x0, x0, :lo12:.LC313 bl printk mov w0, w20 -.L4211: +.L4270: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 48 @@ -26834,35 +27395,35 @@ zftl_write: stp x27, x28, [sp,80] mov w21, w2 mov x25, x3 - tbz x0, 12, .L4225 - adrp x0, .LC311 + tbz x0, 12, .L4284 + adrp x0, .LC314 ldr w4, [x25] - add x0, x0, :lo12:.LC311 + add x0, x0, :lo12:.LC314 mov w1, w20 mov w2, w19 mov w3, w21 bl printk -.L4225: - cbnz w20, .L4226 +.L4284: + cbnz w20, .L4285 adrp x0, .LANCHOR0+1032 mov w20, 24576 ldr w1, [x0,#:lo12:.LANCHOR0+1032] - b .L4227 -.L4226: + b .L4286 +.L4285: cmp w20, 3 mov w0, -1 - bhi .L4228 + bhi .L4287 lsl w20, w20, 13 mov w1, 8192 -.L4227: +.L4286: cmp w19, w1 - bcs .L4244 + bcs .L4303 cmp w21, w1 - bhi .L4244 + bhi .L4303 add w2, w19, w21 mov w0, -1 cmp w2, w1 - bhi .L4228 + bhi .L4287 add w19, w20, w19 adrp x20, .LANCHOR0 add x0, x20, :lo12:.LANCHOR0 @@ -26875,23 +27436,23 @@ zftl_write: udiv w24, w24, w0 sub w22, w24, w26 add w22, w22, 1 -.L4229: - cbz w22, .L4255 +.L4288: + cbz w22, .L4314 add x0, x20, :lo12:.LANCHOR0 ldrb w1, [x0,3388] - cbz w1, .L4230 + cbz w1, .L4289 ldrb w0, [x0,3362] cmp w0, 2 - bhi .L4230 + bhi .L4289 bl ftl_write_commit -.L4230: +.L4289: mov w0, 0 bl buf_alloc mov x28, x0 - cbnz x0, .L4231 + cbnz x0, .L4290 bl ftl_write_commit - b .L4229 -.L4231: + b .L4288 +.L4290: strb wzr, [x0,57] add x0, x20, :lo12:.LANCHOR0 cmp w23, w26 @@ -26899,12 +27460,12 @@ zftl_write: cset w0, eq strb w4, [x28,56] cmp w23, w24 - beq .L4233 - cbz w0, .L4234 - b .L4246 -.L4233: - cbz w0, .L4235 -.L4246: + beq .L4292 + cbz w0, .L4293 + b .L4305 +.L4292: + cbz w0, .L4294 +.L4305: udiv w0, w19, w4 msub w0, w0, w4, w19 uxtb w0, w0 @@ -26913,12 +27474,12 @@ zftl_write: uxtb w4, w4 cmp w4, w21 csel w4, w21, w4, hi - b .L4253 -.L4235: + b .L4312 +.L4294: msub w4, w4, w23, w27 -.L4253: +.L4312: strb w4, [x28,56] -.L4234: +.L4293: ldrb w1, [x28,57] sub w22, w22, #1 ldr x0, [x28,8] @@ -26939,8 +27500,8 @@ zftl_write: bl ftl_write_buf ldrb w0, [x28,56] add x25, x25, x0, lsl 9 - b .L4229 -.L4255: + b .L4288 +.L4314: bl ftl_write_commit mov w1, 1 mov w0, w22 @@ -26948,39 +27509,39 @@ zftl_write: add x1, x20, :lo12:.LANCHOR0 ldr x0, [x1,1120] ldrh w0, [x0,124] - cbnz w0, .L4239 + cbnz w0, .L4298 ldrh w2, [x1,3376] ldrh w0, [x1,3380] add w0, w2, w0 cmp w0, 11 - bgt .L4241 -.L4239: + bgt .L4300 +.L4298: mov w0, 0 mov w1, 1 -.L4254: +.L4313: bl zftl_do_gc -.L4241: +.L4300: add x1, x20, :lo12:.LANCHOR0 ldrh w2, [x1,3376] ldrh w0, [x1,3380] add w0, w2, w0 cmp w0, 7 - bgt .L4256 + bgt .L4315 mov w1, 1 mov w0, 0 bl zftl_do_gc mov w0, 1 mov w1, w0 - b .L4254 -.L4256: + b .L4313 +.L4315: bl timer_get_time - adrp x1, .LANCHOR5+936 - str w0, [x1,#:lo12:.LANCHOR5+936] + adrp x1, .LANCHOR5+1008 + str w0, [x1,#:lo12:.LANCHOR5+1008] mov w0, 0 - b .L4228 -.L4244: + b .L4287 +.L4303: mov w0, -1 -.L4228: +.L4287: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -27036,31 +27597,31 @@ zftl_discard: stp x27, x28, [sp,80] ldr w1, [x1,1032] cmp w0, w1 - bcs .L4280 + bcs .L4339 cmp w19, w1 cset w5, hi - cbnz w5, .L4280 + cbnz w5, .L4339 add w2, w0, w19 mov w4, -1 cmp w2, w1 - bhi .L4260 + bhi .L4319 adrp x23, .LANCHOR5 add w22, w0, 24576 add x0, x23, :lo12:.LANCHOR5 - ldr w1, [x0,984] + ldr w1, [x0,1056] add w1, w19, w1 - str w1, [x0,984] + str w1, [x0,1056] adrp x0, .LANCHOR2 str x0, [x29,104] ldr w2, [x0,#:lo12:.LANCHOR2] - tbz x2, 12, .L4261 - adrp x0, .LC312 + tbz x2, 12, .L4320 + adrp x0, .LC315 mov w2, w22 - add x0, x0, :lo12:.LC312 + add x0, x0, :lo12:.LC315 mov w3, w19 mov w4, w5 bl printk -.L4261: +.L4320: add x20, x21, :lo12:.LANCHOR0 ldr x0, [x20,3392] ldr w25, [x0,8] @@ -27071,7 +27632,7 @@ zftl_discard: ldrb w24, [x20,3360] udiv w20, w22, w24 msub w26, w20, w24, w22 - cbz w26, .L4262 + cbz w26, .L4321 sub w24, w24, w26 mov w0, w20 cmp w24, w19 @@ -27079,20 +27640,20 @@ zftl_discard: bl lpa_hash_get_ppa str w0, [x29,120] cmn w0, #1 - bne .L4263 + bne .L4322 mov w0, w20 add x1, x29, 120 mov w2, 0 bl pm_log2phys -.L4263: +.L4322: ldr w0, [x29,120] and w27, w24, 65535 cmn w0, #1 - beq .L4265 + beq .L4324 mov w0, 0 bl buf_alloc mov x28, x0 - cbz x0, .L4265 + cbz x0, .L4324 strb w26, [x0,57] ubfiz x26, x26, 9, 25 str w20, [x0,36] @@ -27111,32 +27672,32 @@ zftl_discard: ldr w0, [x1,76] add w0, w0, 1 str w0, [x1,76] -.L4265: +.L4324: add w20, w20, 1 sub w19, w19, w27 -.L4262: - cbz w19, .L4267 +.L4321: + cbz w19, .L4326 bl ftl_flush -.L4267: +.L4326: mov w0, -1 mov w26, 1 str w0, [x29,124] adrp x27, .LANCHOR3 mov w28, 24 -.L4268: +.L4327: add x24, x21, :lo12:.LANCHOR0 ldrb w0, [x24,3360] cmp w19, w0 - bcc .L4308 + bcc .L4367 mov w0, w20 bl lpa_hash_get_ppa str w0, [x29,120] cmn w0, #1 - beq .L4269 + beq .L4328 mov w0, 0 bl buf_alloc mov x3, x0 - cbz x0, .L4271 + cbz x0, .L4330 ldrb w2, [x24,3360] mov w1, 0 str w20, [x0,36] @@ -27151,15 +27712,15 @@ zftl_discard: mov x0, x3 bl ftl_write_buf bl ftl_write_commit - b .L4307 -.L4269: + b .L4366 +.L4328: mov w0, w20 add x1, x29, 120 mov w2, 0 bl pm_log2phys ldr w0, [x29,120] cmn w0, #1 - beq .L4271 + beq .L4330 add x1, x29, 124 mov w2, 1 mov w0, w20 @@ -27168,45 +27729,45 @@ zftl_discard: ldrb w1, [x24,1257] ldr w0, [x29,120] sub w1, w28, w1 - ldrh w3, [x2,1232] + ldrh w3, [x2,1312] sub w1, w1, w3 lsr w0, w0, w3 lsl w1, w26, w1 sub w1, w1, #1 and w1, w1, w0 - ldrb w0, [x2,1234] + ldrb w0, [x2,1314] udiv w0, w1, w0 bl ftl_vpn_decrement -.L4307: +.L4366: ldr x1, [x24,3392] ldr w0, [x1,76] add w0, w0, 1 str w0, [x1,76] -.L4271: +.L4330: add x0, x21, :lo12:.LANCHOR0 add w20, w20, 1 ldrb w0, [x0,3360] sub w19, w19, w0 - b .L4268 -.L4308: - cbz w19, .L4275 + b .L4327 +.L4367: + cbz w19, .L4334 mov w0, w20 bl lpa_hash_get_ppa str w0, [x29,120] cmn w0, #1 - bne .L4276 + bne .L4335 mov w0, w20 add x1, x29, 120 mov w2, 0 bl pm_log2phys -.L4276: +.L4335: ldr w0, [x29,120] cmn w0, #1 - beq .L4275 + beq .L4334 mov w0, 0 bl buf_alloc mov x24, x0 - cbz x0, .L4275 + cbz x0, .L4334 str w20, [x0,36] strb wzr, [x0,57] strb w19, [x0,56] @@ -27214,16 +27775,16 @@ zftl_discard: add x0, x21, :lo12:.LANCHOR0 ldrb w0, [x0,3360] cmp w19, w0 - bcc .L4278 + bcc .L4337 adrp x1, .LANCHOR4 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR4 - mov w2, 1477 - add x1, x1, 1024 + mov w2, 1495 + add x1, x1, 1040 add x0, x0, :lo12:.LC0 bl printk bl dump_stack -.L4278: +.L4337: ldr x0, [x24,8] mov w1, 0 lsl w2, w19, 9 @@ -27236,32 +27797,32 @@ zftl_discard: ldr w0, [x1,76] add w0, w0, 1 str w0, [x1,76] -.L4275: +.L4334: add x0, x23, :lo12:.LANCHOR5 mov w4, 0 - ldr w1, [x0,984] + ldr w1, [x0,1056] cmp w1, 8192 - bls .L4260 + bls .L4319 ldr x0, [x29,104] ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L4279 - adrp x0, .LC312 + tbz x0, 12, .L4338 + adrp x0, .LC315 mov w2, w22 - add x0, x0, :lo12:.LC312 + add x0, x0, :lo12:.LC315 mov w3, w19 bl printk -.L4279: +.L4338: add x23, x23, :lo12:.LANCHOR5 add x21, x21, :lo12:.LANCHOR0 - str wzr, [x23,984] + str wzr, [x23,1056] bl flt_sys_flush mov w0, 1 mov w4, 0 str w0, [x21,3412] - b .L4260 -.L4280: + b .L4319 +.L4339: mov w4, -1 -.L4260: +.L4319: mov w0, w4 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -27276,12 +27837,12 @@ zftl_discard: .type dump_pm_blk, %function dump_pm_blk: stp x29, x30, [sp, -48]! - adrp x0, .LC264 + adrp x0, .LC267 mov w2, 4 add x29, sp, 0 stp x21, x22, [sp,32] adrp x21, .LANCHOR0 - add x0, x0, :lo12:.LC264 + add x0, x0, :lo12:.LC267 stp x19, x20, [sp,16] add x19, x21, :lo12:.LANCHOR0 adrp x20, .LANCHOR5 @@ -27292,31 +27853,31 @@ dump_pm_blk: bl rknand_print_hex add x3, x20, :lo12:.LANCHOR5 ldr x1, [x19,3392] - adrp x0, .LC265 + adrp x0, .LC268 mov w2, 2 - add x0, x0, :lo12:.LC265 + add x0, x0, :lo12:.LC268 add x1, x1, 416 - ldrh w3, [x3,176] + ldrh w3, [x3,264] mov w19, 0 bl rknand_print_hex -.L4310: +.L4369: add x0, x20, :lo12:.LANCHOR5 - ldrh w0, [x0,176] + ldrh w0, [x0,264] cmp w0, w19 - bls .L4313 + bls .L4372 add x0, x21, :lo12:.LANCHOR0 ldr x0, [x0,3392] add x0, x0, x19, sxtw 1 ldrh w0, [x0,416] cmp w0, w22 - beq .L4311 + beq .L4370 mov x1, 0 bl ftl_sblk_dump -.L4311: +.L4370: add w19, w19, 1 uxth w19, w19 - b .L4310 -.L4313: + b .L4369 +.L4372: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 48 @@ -27337,34 +27898,34 @@ id_block_prog_msb_ff_data: stp x25, x26, [sp,64] stp x27, x28, [sp,80] uxth w19, w2 - ldr x2, [x0,1136] - ldrb w0, [x0,1146] + ldr x2, [x0,1144] + ldrb w0, [x0,1154] ldrb w2, [x2,19] - cbnz w0, .L4314 + cbnz w0, .L4373 sub w0, w2, #5 uxtb w0, w0 cmp w0, 2 - bls .L4316 + bls .L4375 cmp w2, 68 - beq .L4316 + beq .L4375 sub w2, w2, #19 and w2, w2, -17 uxtb w2, w2 - cbnz w2, .L4314 -.L4316: + cbnz w2, .L4373 +.L4375: adrp x20, .LANCHOR3 - adrp x24, .LC313 + adrp x24, .LC316 add x20, x20, :lo12:.LANCHOR3 mov w25, w1 - add x24, x24, :lo12:.LC313 - add x20, x20, 2396 + add x24, x24, :lo12:.LC316 + add x20, x20, 2484 mov w27, 65535 -.L4318: +.L4377: add x28, x21, :lo12:.LANCHOR0 - ldr x0, [x28,1136] + ldr x0, [x28,1144] ldrh w0, [x0,10] cmp w0, w19 - bls .L4314 + bls .L4373 add w26, w19, w25 ldrh w3, [x20,w19,sxtw 1] mov x0, x24 @@ -27373,24 +27934,24 @@ id_block_prog_msb_ff_data: bl printk ldrh w0, [x20,w19,sxtw 1] cmp w0, w27 - bne .L4314 + bne .L4373 adrp x22, .LANCHOR5 mov w1, 255 add x22, x22, :lo12:.LANCHOR5 mov w2, 16384 add w19, w19, 1 - ldr x0, [x22,208] + ldr x0, [x22,296] uxth w19, w19 bl ftl_memset - ldr x4, [x28,1136] + ldr x4, [x28,1144] mov w0, w23 - ldr x2, [x22,208] + ldr x2, [x22,296] mov w1, w26 ldrb w4, [x4,9] mov x3, x2 bl flash_prog_page - b .L4318 -.L4314: + b .L4377 +.L4373: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -27412,8 +27973,8 @@ write_idblock: stp x19, x20, [sp,16] stp x25, x26, [sp,64] stp x27, x28, [sp,80] - ldr x4, [x3,1136] - ldrb w3, [x3,1146] + ldr x4, [x3,1144] + ldrb w3, [x3,1154] str w3, [x29,140] ldrb w20, [x4,9] ldrh w24, [x4,10] @@ -27433,14 +27994,14 @@ write_idblock: cmp w3, w4 cset w4, ne tst w5, w4 - beq .L4321 + beq .L4380 mov w4, 19282 movk w4, 0x5353, lsl 16 cmp w3, w4 - bne .L4455 -.L4321: + bne .L4514 +.L4380: cmp w0, 15 - bls .L4455 + bls .L4514 mov w19, w0 mov w0, 59392 movk w0, 0x3, lsl 16 @@ -27448,21 +28009,21 @@ write_idblock: str x1, [x29,216] bl ftl_malloc mov x22, x0 - cbz x0, .L4455 - adrp x0, .LANCHOR5+960 + cbz x0, .L4514 + adrp x0, .LANCHOR5+1032 str wzr, [x29,236] - ldrb w0, [x0,#:lo12:.LANCHOR5+960] - cbz w0, .L4448 + ldrb w0, [x0,#:lo12:.LANCHOR5+1032] + cbz w0, .L4507 add x0, x23, :lo12:.LANCHOR0 ldrb w1, [x23,#:lo12:.LANCHOR0] - ldrb w0, [x0,1146] - cbz w1, .L4325 + ldrb w0, [x0,1154] + cbz w1, .L4384 cmp w0, wzr cset w0, eq - b .L4451 -.L4325: + b .L4510 +.L4384: cmp w0, 3 - beq .L4379 + beq .L4438 ldr w2, [x29,212] cmp w0, 2 mov w1, 2 @@ -27471,13 +28032,13 @@ write_idblock: mov w0, 3 str w1, [x29,212] csel w0, wzr, w0, ne - b .L4451 -.L4379: + b .L4510 +.L4438: str w0, [x29,212] mov w0, 2 -.L4451: +.L4510: str w0, [x29,236] -.L4448: +.L4507: ldr x0, [x29,216] mov w1, 19282 movk w1, 0x534e, lsl 16 @@ -27489,17 +28050,17 @@ write_idblock: cmp w0, w1 cset w1, ne tst w2, w1 - beq .L4327 + beq .L4386 mov w1, 19282 movk w1, 0x5353, lsl 16 cmp w0, w1 - beq .L4327 + beq .L4386 mov x0, x22 bl ftl_free -.L4455: +.L4514: mov w0, -1 - b .L4449 -.L4327: + b .L4508 +.L4386: mov w0, 0 add w19, w19, 511 mul w24, w20, w24 @@ -27509,7 +28070,7 @@ write_idblock: cmp w19, 8 mov w3, 0 mov w2, 63871 - ldrb w0, [x0,1146] + ldrb w0, [x0,1154] strb w0, [x23,#:lo12:.LANCHOR0] mov w0, 8 csel w19, w19, w0, cs @@ -27520,18 +28081,18 @@ write_idblock: ldr x0, [x29,216] add x0, x0, 253952 add x0, x0, 2044 -.L4333: +.L4392: sub x1, x0, #512 ldr w1, [x1] - cbnz w1, .L4328 - cbnz w3, .L4329 + cbnz w1, .L4387 + cbnz w3, .L4388 mov w1, 17739 movk w1, 0x4e52, lsl 16 - b .L4452 -.L4329: + b .L4511 +.L4388: ldr x1, [x29,216] ldr w1, [x1,w3,uxtw 2] -.L4452: +.L4511: add w3, w3, 1 sub w2, w2, #1 cmp w3, 4095 @@ -27539,114 +28100,114 @@ write_idblock: csel w3, w3, wzr, cc cmp w2, 4096 sub x0, x0, #4 - bne .L4333 - b .L4332 -.L4328: - adrp x0, .LC314 - add x0, x0, :lo12:.LC314 + bne .L4392 + b .L4391 +.L4387: + adrp x0, .LC317 + add x0, x0, :lo12:.LC317 bl printk -.L4332: +.L4391: mul w0, w20, w21 str w0, [x29,168] - adrp x0, .LC315 + adrp x0, .LC318 ldr x1, [x29,160] - add x0, x0, :lo12:.LC315 + add x0, x0, :lo12:.LC318 mov w2, 4 mov w3, 5 mov x21, 0 bl rknand_print_hex - adrp x0, .LC316 + adrp x0, .LC319 mov w1, w19 - add x0, x0, :lo12:.LC316 + add x0, x0, :lo12:.LC319 mov w2, w19 bl printk str w21, [x29,232] - adrp x0, .LC317 - add x0, x0, :lo12:.LC317 + adrp x0, .LC320 + add x0, x0, :lo12:.LC320 str x0, [x29,112] adrp x0, .LANCHOR2 add x0, x0, :lo12:.LANCHOR2 str x0, [x29,104] -.L4375: +.L4434: adrp x26, .LANCHOR5 mov w0, w21 add x1, x26, :lo12:.LANCHOR5 - ldrb w1, [x1,960] - cbnz w1, .L4334 + ldrb w1, [x1,1032] + cbnz w1, .L4393 ldr x1, [x29,160] ldr w2, [x29,168] ldr w1, [x1,x21,lsl 2] mul w20, w1, w2 - cbz w21, .L4335 + cbz w21, .L4394 ldr w2, [x29,136] cmp w2, 1 - bls .L4335 + bls .L4394 sub w0, w21, #1 ldr x2, [x29,160] ldr w0, [x2,x0,lsl 2] add w0, w0, 1 cmp w1, w0 - bne .L4335 - b .L4336 -.L4334: + bne .L4394 + b .L4395 +.L4393: adrp x24, .LANCHOR0 add x25, x24, :lo12:.LANCHOR0 - ldr x1, [x25,1240] + ldr x1, [x25,1128] add x1, x1, x21, uxtw ldrb w20, [x1,32] mov x1, x24 cmp w20, 255 - beq .L4336 + beq .L4395 ldr w2, [x29,168] mul w20, w20, w2 ldr w2, [x29,236] - cbz w2, .L4335 - tbnz x0, 0, .L4385 + cbz w2, .L4394 + tbnz x0, 0, .L4444 cmp w2, 3 cset w23, eq - cbz w23, .L4337 -.L4385: + cbz w23, .L4396 +.L4444: add x2, x1, :lo12:.LANCHOR0 ldrb w0, [x29,212] strb w0, [x1,#:lo12:.LANCHOR0] - strb w0, [x2,1146] - b .L4335 -.L4337: + strb w0, [x2,1154] + b .L4394 +.L4396: mov w0, w23 bl zftl_flash_exit_slc_mode strb w23, [x24,#:lo12:.LANCHOR0] - strb w23, [x25,1146] -.L4335: + strb w23, [x25,1154] +.L4394: mov w1, 0 mov w2, 512 mov x0, x22 adrp x24, .LANCHOR0 bl ftl_memset add x0, x24, :lo12:.LANCHOR0 - ldr x1, [x0,1136] + ldr x1, [x0,1144] ldrb w25, [x1,9] ldrh w28, [x1,10] adrp x1, .LANCHOR2 add x1, x1, :lo12:.LANCHOR2 mul w28, w25, w28 ldrh w27, [x1,34] - ldrb w1, [x0,1232] + ldrb w1, [x0,1240] str w1, [x29,132] udiv w1, w20, w25 - strb wzr, [x0,1232] + strb wzr, [x0,1240] mov w0, 0 mul w27, w25, w27 bl flash_erase_block cmp w19, w28 mov w1, 1 - bls .L4339 + bls .L4398 add w1, w20, w27 mov w0, 0 bl flash_erase_block mov w1, 2 -.L4339: +.L4398: add x3, x24, :lo12:.LANCHOR0 - ldr x0, [x3,1136] + ldr x0, [x3,1144] ldrh w23, [x0,10] ldrb w0, [x0,12] lsl w23, w23, 2 @@ -27658,15 +28219,15 @@ write_idblock: str w0, [x29,208] sub w28, w20, w0 cmp w20, w28 - bne .L4383 + bne .L4442 ldrb w0, [x3,1028] cmp w0, 9 - bne .L4383 + bne .L4442 add x26, x26, :lo12:.LANCHOR5 mov w1, 0 mov w2, 1024 str x3, [x29,224] - ldr x26, [x26,248] + ldr x26, [x26,336] mov x0, x26 bl ftl_memset str wzr, [x26,12] @@ -27676,18 +28237,18 @@ write_idblock: str w0, [x26] mov w0, 12 str w0, [x26,4] - ldrb w0, [x3,1146] + ldrb w0, [x3,1154] strb wzr, [x26,16] - cbz w0, .L4341 - ldr x0, [x3,1136] + cbz w0, .L4400 + ldr x0, [x3,1144] ldrb w0, [x0,29] strb w0, [x26,16] -.L4341: +.L4400: add x24, x24, :lo12:.LANCHOR0 mov w0, 4 strb w0, [x26,17] cmp w25, 8 - ldr x1, [x24,1136] + ldr x1, [x24,1144] ldrh w0, [x1,10] ldrb w1, [x1,12] strb wzr, [x26,20] @@ -27704,54 +28265,54 @@ write_idblock: str w0, [x26,8] sub w0, w19, #4 str w0, [x29,224] - b .L4340 -.L4383: + b .L4399 +.L4442: str w19, [x29,224] mov x26, 0 -.L4340: +.L4399: adrp x10, .LANCHOR0 ldr x24, [x29,216] mov w23, 0 add x27, x10, :lo12:.LANCHOR0 -.L4343: +.L4402: ldr w0, [x29,204] cmp w23, w0 - bcs .L4456 + bcs .L4515 ldr w0, [x29,208] - ldrb w2, [x27,1146] + ldrb w2, [x27,1154] add w8, w23, w0 add x0, x27, 4 ubfx x8, x8, 2, 16 add w1, w8, 1 ldrh w0, [x0,w1,sxtw 1] - cbz w2, .L4345 + cbz w2, .L4404 ldrb w3, [x27,1] lsl w0, w1, 1 cmp w3, wzr csel w0, w0, w1, ne -.L4345: +.L4404: ldrb w1, [x27,1028] cmp w1, 9 - beq .L4453 + beq .L4512 sub w0, w0, #1 lsl w0, w0, 2 -.L4453: +.L4512: str w0, [x29,240] mov w0, 61424 str w0, [x29,244] add x0, x27, 4 ldrh w0, [x0,w8,sxtw 1] - cbnz w2, .L4349 + cbnz w2, .L4408 mov w8, w0 - b .L4350 -.L4349: + b .L4409 +.L4408: ldrb w1, [x27,1] lsl w0, w8, 1 cmp w1, wzr csel w8, w0, w8, ne -.L4350: +.L4409: mul w0, w8, w25 - cbnz x26, .L4351 + cbnz x26, .L4410 add w26, w0, w28 ldr w5, [x24] ldr w6, [x29,240] @@ -27766,37 +28327,37 @@ write_idblock: mov w0, w26 mov x1, x24 add x2, x29, 240 - bl fw_flash_page_prog.constprop.31 - ldrb w0, [x27,1146] + bl fw_flash_page_prog.constprop.30 + ldrb w0, [x27,1154] ldr x8, [x29,192] - cbnz w0, .L4352 + cbnz w0, .L4411 udiv w1, w28, w25 add w2, w8, 1 bl id_block_prog_msb_ff_data -.L4352: +.L4411: ldr w0, [x29,224] add x24, x24, 2048 add w0, w0, 16 cmp w23, w0 - bcc .L4353 + bcc .L4412 ldr w0, [x29,224] add w1, w0, 20 ldr x0, [x29,216] cmp w23, w1 add x0, x0, 2048 csel x24, x24, x0, cs - b .L4353 -.L4351: + b .L4412 +.L4410: add w0, w0, w28 mov x1, x26 add x2, x29, 240 - bl fw_flash_page_prog.constprop.31 -.L4353: + bl fw_flash_page_prog.constprop.30 +.L4412: add w9, w23, 4 mov x26, 0 uxth w23, w9 - b .L4343 -.L4456: + b .L4402 +.L4515: ldr x0, [x29,104] adrp x23, .LANCHOR0 add x23, x23, :lo12:.LANCHOR0 @@ -27807,7 +28368,7 @@ write_idblock: mov w26, 4 str w1, [x29,152] ldrh w0, [x0,26] - strb wzr, [x23,1232] + strb wzr, [x23,1240] str w25, [x29,200] mul w0, w1, w0 udiv w1, w20, w0 @@ -27820,17 +28381,17 @@ write_idblock: str w0, [x29,192] ldr w0, [x29,224] str w0, [x29,172] - adrp x0, .LC318 - add x0, x0, :lo12:.LC318 + adrp x0, .LC321 + add x0, x0, :lo12:.LC321 str x0, [x29,120] -.L4355: +.L4414: ldr w0, [x29,172] adrp x27, .LANCHOR0 cmp w25, w0 - bcs .L4457 + bcs .L4516 ldr w0, [x29,192] add x1, x23, 4 - ldrb w2, [x23,1146] + ldrb w2, [x23,1154] sub w0, w26, w0 uxth w0, w0 str w0, [x29,176] @@ -27839,32 +28400,32 @@ write_idblock: udiv w0, w0, w26 and w0, w0, 65535 ldrh w1, [x1,w0,sxtw 1] - cbnz w2, .L4356 + cbnz w2, .L4415 mov w0, w1 - b .L4357 -.L4356: + b .L4416 +.L4415: ldrb w2, [x23,1] lsl w1, w0, 1 cmp w2, wzr csel w0, w1, w0, ne -.L4357: +.L4416: ldr w1, [x29,152] ldr w2, [x29,148] madd w0, w0, w1, w2 str w0, [x29,144] - ldrb w0, [x23,1144] + ldrb w0, [x23,1152] str w0, [x29,208] ldr w1, [x29,192] ldr w0, [x29,144] add w27, w0, w1 - ldr x0, [x23,1136] + ldr x0, [x23,1144] ldrb w0, [x0,9] udiv w27, w27, w0 - ldrb w0, [x23,1236] + ldrb w0, [x23,1244] str w0, [x29,128] ldr w0, [x29,208] bl nandc_bch_sel -.L4358: +.L4417: mov w0, 0 mov w1, w27 mov x2, x24 @@ -27873,30 +28434,30 @@ write_idblock: bl flash_read_page cmn w0, #1 mov w28, w0 - bne .L4365 - ldrb w6, [x23,1232] - cbnz w6, .L4360 -.L4363: + bne .L4424 + ldrb w6, [x23,1240] + cbnz w6, .L4419 +.L4422: adrp x0, .LANCHOR5 add x0, x0, :lo12:.LANCHOR5 - ldr x6, [x0,240] - cbnz x6, .L4361 - b .L4362 -.L4360: + ldr x6, [x0,328] + cbnz x6, .L4420 + b .L4421 +.L4419: mov w0, 0 mov w1, w27 mov x2, x24 add x3, x29, 240 mov w4, w26 str x6, [x29,96] - strb wzr, [x23,1232] + strb wzr, [x23,1240] bl flash_read_page cmn w0, #1 ldr x6, [x29,96] - strb w6, [x23,1232] - beq .L4363 - b .L4454 -.L4361: + strb w6, [x23,1240] + beq .L4422 + b .L4513 +.L4420: mov w0, 0 mov w1, w27 mov x2, x24 @@ -27904,30 +28465,30 @@ write_idblock: mov w4, w26 blr x6 cmn w0, #1 - bne .L4454 -.L4362: - ldrb w0, [x23,1184] - cbz w0, .L4365 + bne .L4513 +.L4421: + ldrb w0, [x23,1192] + cbz w0, .L4424 mov w0, 0 mov w1, w27 mov x2, x24 add x3, x29, 240 mov w4, w26 bl flash_ddr_tuning_read -.L4454: +.L4513: mov w28, w0 -.L4365: +.L4424: cmn w28, #1 - bne .L4366 + bne .L4425 ldr w0, [x29,208] cmp w0, 16 - beq .L4366 + beq .L4425 mov w0, 16 bl nandc_bch_sel mov w0, 16 str w0, [x29,208] - b .L4358 -.L4366: + b .L4417 +.L4425: ldr w0, [x29,128] bl nandc_bch_sel ldr w0, [x29,200] @@ -27940,21 +28501,21 @@ write_idblock: cmp w0, w20 cset w0, eq tst w1, w0 - beq .L4368 + beq .L4427 ldr w0, [x29,200] - cbnz w0, .L4368 + cbnz w0, .L4427 ldr w1, [x24] mov w0, 18766 movk w0, 0x464e, lsl 16 cmp w1, w0 - bne .L4368 + bne .L4427 ldr w0, [x29,172] ldr w1, [x29,176] ldrb w26, [x24,17] add w0, w0, w1 str w0, [x29,172] - b .L4369 -.L4368: + b .L4428 +.L4427: ldr x0, [x29,176] mov w2, w25 ldr w1, [x29,144] @@ -27965,35 +28526,35 @@ write_idblock: ldr x0, [x29,120] bl printk str wzr, [x29,192] -.L4369: +.L4428: ldr w0, [x29,176] add w25, w0, w25 uxth w25, w25 - b .L4355 -.L4457: + b .L4414 +.L4516: add x23, x27, :lo12:.LANCHOR0 ldrb w0, [x29,132] - strb w0, [x23,1232] + strb w0, [x23,1240] ldr w0, [x29,236] - cbz w0, .L4371 + cbz w0, .L4430 mov w0, 0 bl zftl_flash_exit_slc_mode strb wzr, [x27,#:lo12:.LANCHOR0] - strb wzr, [x23,1146] -.L4371: + strb wzr, [x23,1154] +.L4430: ldr w0, [x29,224] mov x1, 0 lsl w0, w0, 7 -.L4372: +.L4431: cmp w0, w1 - bls .L4458 + bls .L4517 ldr w3, [x22,x1,lsl 2] add x1, x1, 1 ldr x2, [x29,216] add x2, x2, x1, lsl 2 ldr w2, [x2,-4] cmp w3, w2 - beq .L4372 + beq .L4431 mov x0, x22 mov w1, 0 mov w2, 512 @@ -28001,18 +28562,18 @@ write_idblock: mov w1, w20 mov w0, 0 bl flash_erase_block - b .L4336 -.L4458: + b .L4395 +.L4517: ldr w0, [x29,232] add w0, w0, 1 str w0, [x29,232] cmp w0, 5 - bhi .L4377 -.L4336: + bhi .L4436 +.L4395: add x21, x21, 1 cmp x21, 4 - bne .L4375 -.L4377: + bne .L4434 +.L4436: mov w0, 0 bl zftl_flash_exit_slc_mode adrp x0, .LANCHOR0 @@ -28020,10 +28581,10 @@ write_idblock: add x1, x0, :lo12:.LANCHOR0 strb w2, [x0,#:lo12:.LANCHOR0] ldr w2, [x29,236] - cbz w2, .L4376 + cbz w2, .L4435 ldrb w2, [x29,140] - strb w2, [x1,1146] -.L4376: + strb w2, [x1,1154] +.L4435: add x0, x0, :lo12:.LANCHOR0 mov w1, 2 strb w1, [x0,1264] @@ -28034,7 +28595,7 @@ write_idblock: ldr w0, [x29,232] cmp w0, wzr csetm w0, eq -.L4449: +.L4508: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -28057,7 +28618,7 @@ write_loader_lba: mov w21, w1 mov x24, x2 adrp x20, .LANCHOR5 - bne .L4460 + bne .L4519 ldr w0, [x2] mov w1, 19282 movk w1, 0x534e, lsl 16 @@ -28068,41 +28629,41 @@ write_loader_lba: cmp w0, w2 cset w1, eq orr w1, w3, w1 - cbnz w1, .L4476 + cbnz w1, .L4535 mov w1, 19282 movk w1, 0x5353, lsl 16 cmp w0, w1 - bne .L4460 -.L4476: + bne .L4519 +.L4535: add x22, x20, :lo12:.LANCHOR5 mov w0, 1 - strb w0, [x22,988] + strb w0, [x22,1060] mov w0, 59392 movk w0, 0x3, lsl 16 bl ftl_malloc - str x0, [x22,992] + str x0, [x22,1064] mov w2, 59392 mov w1, 0 movk w2, 0x3, lsl 16 bl ftl_memset mov w0, 64 - str w0, [x22,1000] -.L4460: + str w0, [x22,1072] +.L4519: add x23, x20, :lo12:.LANCHOR5 - adrp x0, .LC319 + adrp x0, .LC322 ldr w2, [x24] - add x0, x0, :lo12:.LC319 + add x0, x0, :lo12:.LC322 mov w3, w19 mov w4, w21 - ldr x1, [x23,992] + ldr x1, [x23,1064] bl printk - ldrb w0, [x23,988] - cbz w0, .L4459 - ldr x22, [x23,992] - cbz x22, .L4459 + ldrb w0, [x23,1060] + cbz w0, .L4518 + ldr x22, [x23,1064] + cbz x22, .L4518 sub w0, w19, #64 cmp w0, 499 - bhi .L4463 + bhi .L4522 mov w3, 564 ubfiz x0, x0, 9, 25 sub w3, w3, w19 @@ -28112,35 +28673,35 @@ write_loader_lba: csel w2, w3, w21, ls lsl w2, w2, 9 bl ftl_memcpy - b .L4464 -.L4463: + b .L4523 +.L4522: cmp w19, 563 - bhi .L4474 -.L4464: + bhi .L4533 +.L4523: add x23, x20, :lo12:.LANCHOR5 - ldr w0, [x23,1000] + ldr w0, [x23,1072] cmp w0, w19 - beq .L4472 + beq .L4531 mov x0, x22 - strb wzr, [x23,988] + strb wzr, [x23,1060] bl ftl_free - str xzr, [x23,992] -.L4472: + str xzr, [x23,1064] +.L4531: add x20, x20, :lo12:.LANCHOR5 add w19, w19, w21 - str w19, [x20,1000] - b .L4459 -.L4474: - ldr w2, [x23,1000] + str w19, [x20,1072] + b .L4518 +.L4533: + ldr w2, [x23,1072] mov w0, 500 sub w2, w2, #64 cmp w2, 500 csel w2, w2, w0, ls - adrp x0, .LANCHOR0+1136 - ldr x0, [x0,#:lo12:.LANCHOR0+1136] + adrp x0, .LANCHOR0+1144 + ldr x0, [x0,#:lo12:.LANCHOR0+1144] ldrb w0, [x0,9] cmp w0, 4 - beq .L4475 + beq .L4534 mov w0, 2 str w0, [x29,72] mov w0, 3 @@ -28151,49 +28712,49 @@ write_loader_lba: str w0, [x29,84] mov w0, 6 str w0, [x29,88] - b .L4466 -.L4475: + b .L4525 +.L4534: mov x3, 0 -.L4465: +.L4524: cmp w2, 256 add x0, x29, 72 - bls .L4467 + bls .L4526 lsl w1, w3, 1 str w1, [x0,x3,lsl 2] - b .L4468 -.L4467: + b .L4527 +.L4526: str w3, [x0,x3,lsl 2] -.L4468: +.L4527: add x3, x3, 1 cmp x3, 5 - bne .L4465 -.L4466: + bne .L4524 +.L4525: add x0, x22, 245760 mov w3, 61952 add x0, x0, 2048 -.L4471: +.L4530: ldr w1, [x0] - cbz w1, .L4469 + cbz w1, .L4528 add w2, w3, 2048 lsl w0, w2, 2 - b .L4470 -.L4469: + b .L4529 +.L4528: sub w3, w3, #1 sub x0, x0, #4 cmp w3, 4096 - bne .L4471 + bne .L4530 lsl w0, w2, 9 -.L4470: +.L4529: mov x1, x22 add x2, x29, 72 add x22, x20, :lo12:.LANCHOR5 bl write_idblock - ldr x0, [x22,992] - strb wzr, [x22,988] + ldr x0, [x22,1064] + strb wzr, [x22,1060] bl ftl_free - str xzr, [x22,992] - b .L4472 -.L4459: + str xzr, [x22,1064] + b .L4531 +.L4518: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -28213,19 +28774,19 @@ FtlWrite: cmp w0, 1983 mov w19, w1 mov w20, w2 - bhi .L4489 - cbnz w21, .L4489 + bhi .L4548 + cbnz w21, .L4548 mov w0, w1 mov w1, w2 mov x2, x3 str x3, [x29,56] bl write_loader_lba ldr x3, [x29,56] -.L4489: - adrp x0, .LANCHOR5+192 +.L4548: + adrp x0, .LANCHOR5+280 mov w1, w19 mov w2, w20 - ldr x0, [x0,#:lo12:.LANCHOR5+192] + ldr x0, [x0,#:lo12:.LANCHOR5+280] ldr x4, [x0,48] mov w0, w21 blr x4 @@ -28247,171 +28808,75 @@ rknand_sys_storage_ioctl: stp x19, x20, [sp,16] mov w19, w1 mov x20, x2 - beq .L4498 + beq .L4557 mov w0, 27688 movk w0, 0x4004, lsl 16 cmp w1, w0 - bhi .L4499 + bhi .L4558 mov w0, 25602 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L4500 + beq .L4559 mov w0, 25602 movk w0, 0x4004, lsl 16 cmp w1, w0 - bhi .L4501 + bhi .L4560 mov w0, 25364 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L4502 + beq .L4561 mov w0, 25601 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L4503 - b .L4534 -.L4501: + beq .L4562 + b .L4593 +.L4560: mov w0, 25726 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L4504 + beq .L4563 mov w0, 25727 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L4505 + beq .L4564 mov w0, 25603 movk w0, 0x4004, lsl 16 cmp w1, w0 - bne .L4534 - b .L4556 -.L4499: + bne .L4593 + b .L4615 +.L4558: mov w0, 30224 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L4507 + beq .L4566 mov w0, 30224 movk w0, 0x4004, lsl 16 cmp w1, w0 - bhi .L4508 + bhi .L4567 mov w0, 27698 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L4498 + beq .L4557 mov w0, 27708 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L4498 - b .L4534 -.L4508: + beq .L4557 + b .L4593 +.L4567: mov w0, 30226 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L4507 + beq .L4566 mov w0, 30226 movk w0, 0x4004, lsl 16 cmp w1, w0 - bcc .L4509 + bcc .L4568 mov w0, 30227 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L4509 - b .L4534 -.L4503: - adrp x0, .LC320 - add x0, x0, :lo12:.LC320 - bl printk - add x0, x29, 40 - mov x1, x20 - mov x2, 520 - bl rk_copy_from_user - cbz x0, .L4510 -.L4516: - adrp x0, .LC321 - add x0, x0, :lo12:.LC321 - bl printk - b .L4553 -.L4510: - ldr w1, [x29,40] - mov w0, 21060 - movk w0, 0x4b4d, lsl 16 - cmp w1, w0 - beq .L4511 -.L4513: - mov x19, -1 - b .L4512 -.L4511: - ldr w0, [x29,44] - cmp w0, 512 - bhi .L4513 - adrp x19, .LANCHOR5 - add x0, x29, 40 - add x19, x19, :lo12:.LANCHOR5 - mov x2, 512 - ldr x1, [x19,1008] - bl memcpy - ldr w1, [x19,1016] - mov w0, 5161 - movk w0, 0xc059, lsl 16 - cmp w1, w0 - beq .L4514 - add x0, x29, 104 - mov w1, 0 - mov x2, 128 - str wzr, [x29,48] - str wzr, [x29,52] - bl memset -.L4514: - add x0, x29, 296 - mov w1, 0 - mov x2, 256 - str wzr, [x29,56] - bl memset -.L4548: - mov x0, x20 - add x1, x29, 40 - mov x2, 520 - bl rk_copy_to_user - cbnz x0, .L4553 - b .L4551 -.L4500: - adrp x0, .LC322 - add x0, x0, :lo12:.LC322 - bl printk - add x0, x29, 40 - mov x1, x20 - mov x2, 520 - bl rk_copy_from_user - cbnz x0, .L4516 - ldr w1, [x29,40] - mov w0, 21060 - movk w0, 0x4b4d, lsl 16 - cmp w1, w0 - bne .L4513 - ldr w0, [x29,44] - cmp w0, 512 - bhi .L4513 - adrp x1, .LANCHOR5 - mov w2, 5161 - add x1, x1, :lo12:.LANCHOR5 - movk w2, 0xc059, lsl 16 - mov x0, -2 - ldr w3, [x1,1016] - cmp w3, w2 - bne .L4497 - ldr w2, [x29,52] - mov x0, -3 - sub w3, w2, #1 - cmp w3, 127 - bhi .L4497 - ldr x19, [x1,1008] - add x1, x29, 104 - add x0, x19, 64 - str w2, [x19,12] - ldr w2, [x29,52] - bl memcpy - mov w0, 1 - mov x1, x19 - b .L4552 -.L4505: + beq .L4568 + b .L4593 +.L4562: adrp x0, .LC323 add x0, x0, :lo12:.LC323 bl printk @@ -28419,147 +28884,56 @@ rknand_sys_storage_ioctl: mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L4516 - ldr w1, [x29,40] - mov w0, 17476 - movk w0, 0x4253, lsl 16 - cmp w1, w0 - bne .L4513 - ldr w0, [x29,44] - cmp w0, 512 - bhi .L4513 - adrp x19, .LANCHOR5 - add x0, x19, :lo12:.LANCHOR5 - ldr w0, [x0,1020] - cbnz w0, .L4517 -.L4520: - mov x0, 0 - b .L4497 -.L4517: - add x0, x19, :lo12:.LANCHOR5 - mov w2, 22867 - movk w2, 0x4453, lsl 16 - ldr x1, [x0,1024] - ldr w3, [x1] - cmp w3, w2 - beq .L4518 - mov w2, 22867 - movk w2, 0x4453, lsl 16 - str w2, [x1] - mov w2, 504 - ldr x1, [x0,1024] - str w2, [x1,4] - ldr x0, [x0,1024] - str wzr, [x0,8] - str wzr, [x0,12] -.L4518: - add x20, x19, :lo12:.LANCHOR5 - mov w0, 0 - ldr x1, [x20,1024] - str wzr, [x1,16] - bl StorageSysDataStore - ldr x0, [x20,1008] - mov w1, 21060 - movk w1, 0x4b4d, lsl 16 - ldr w2, [x0] - cmp w2, w1 - beq .L4519 - mov w1, 21060 - movk w1, 0x4b4d, lsl 16 - str w1, [x0] - mov w1, 504 - ldr x0, [x20,1008] - str w1, [x0,4] - ldr x0, [x20,1008] - str wzr, [x0,8] -.L4519: - add x19, x19, :lo12:.LANCHOR5 - mov w1, 0 - mov x2, 128 - ldr x20, [x19,1008] - add x0, x20, 64 - str wzr, [x20,12] - bl memset - mov w0, 1 - mov x1, x20 - bl StorageSysDataStore - str wzr, [x19,1020] - str wzr, [x19,1016] - b .L4551 -.L4504: + cbz x0, .L4569 +.L4575: adrp x0, .LC324 add x0, x0, :lo12:.LC324 bl printk - add x0, x29, 40 - mov x1, x20 - mov x2, 520 - bl rk_copy_from_user - cbnz x0, .L4516 + b .L4612 +.L4569: ldr w1, [x29,40] - mov w0, 20037 - movk w0, 0x4253, lsl 16 + mov w0, 21060 + movk w0, 0x4b4d, lsl 16 cmp w1, w0 - bne .L4513 + beq .L4570 +.L4572: + mov x19, -1 + b .L4571 +.L4570: ldr w0, [x29,44] cmp w0, 512 - bhi .L4513 + bhi .L4572 adrp x19, .LANCHOR5 - add x0, x19, :lo12:.LANCHOR5 - ldr w1, [x0,1020] - cmp w1, 1 - beq .L4520 - ldr x0, [x0,1024] - mov w1, 22867 - movk w1, 0x4453, lsl 16 - ldr w2, [x0] - cmp w2, w1 - beq .L4521 - mov w1, 22867 - mov w2, 504 - movk w1, 0x4453, lsl 16 - str w1, [x0] - add x0, x19, :lo12:.LANCHOR5 - ldr x1, [x0,1024] - str w2, [x1,4] - ldr x0, [x0,1024] - str wzr, [x0,8] - str wzr, [x0,12] -.L4521: - add x20, x19, :lo12:.LANCHOR5 - mov w0, 1 - ldr x1, [x20,1024] - str w0, [x1,16] - mov w0, 0 - bl StorageSysDataStore - ldr x0, [x20,1008] - mov w1, 21060 - movk w1, 0x4b4d, lsl 16 - ldr w2, [x0] - cmp w2, w1 - beq .L4522 - mov w1, 21060 - movk w1, 0x4b4d, lsl 16 - str w1, [x0] - mov w1, 504 - ldr x0, [x20,1008] - str w1, [x0,4] - ldr x0, [x20,1008] - str wzr, [x0,8] -.L4522: + add x0, x29, 40 add x19, x19, :lo12:.LANCHOR5 + mov x2, 512 + ldr x1, [x19,1080] + bl memcpy + ldr w1, [x19,1088] + mov w0, 5161 + movk w0, 0xc059, lsl 16 + cmp w1, w0 + beq .L4573 + add x0, x29, 104 mov w1, 0 mov x2, 128 - ldr x20, [x19,1008] - add x0, x20, 64 - str wzr, [x20,12] + str wzr, [x29,48] + str wzr, [x29,52] bl memset - mov w0, 1 - mov x1, x20 - bl StorageSysDataStore - mov w0, 1 - str w0, [x19,1020] - b .L4551 -.L4556: +.L4573: + add x0, x29, 296 + mov w1, 0 + mov x2, 256 + str wzr, [x29,56] + bl memset +.L4607: + mov x0, x20 + add x1, x29, 40 + mov x2, 520 + bl rk_copy_to_user + cbnz x0, .L4612 + b .L4610 +.L4559: adrp x0, .LC325 add x0, x0, :lo12:.LC325 bl printk @@ -28567,127 +28941,314 @@ rknand_sys_storage_ioctl: mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L4516 + cbnz x0, .L4575 ldr w1, [x29,40] - mov w0, 20051 - movk w0, 0x4144, lsl 16 + mov w0, 21060 + movk w0, 0x4b4d, lsl 16 cmp w1, w0 - bne .L4513 - ldr w2, [x29,44] - cmp w2, 512 - bhi .L4513 + bne .L4572 + ldr w0, [x29,44] + cmp w0, 512 + bhi .L4572 adrp x1, .LANCHOR5 - add x0, x29, 48 + mov w2, 5161 add x1, x1, :lo12:.LANCHOR5 - uxtw x2, w2 - add x1, x1, 1032 - b .L4554 -.L4498: - mov w0, 27698 - movk w0, 0x4004, lsl 16 - cmp w19, w0 - bne .L4524 + movk w2, 0xc059, lsl 16 + mov x0, -2 + ldr w3, [x1,1088] + cmp w3, w2 + bne .L4556 + ldr w2, [x29,52] + mov x0, -3 + sub w3, w2, #1 + cmp w3, 127 + bhi .L4556 + ldr x19, [x1,1080] + add x1, x29, 104 + add x0, x19, 64 + str w2, [x19,12] + ldr w2, [x29,52] + bl memcpy + mov w0, 1 + mov x1, x19 + b .L4611 +.L4564: adrp x0, .LC326 add x0, x0, :lo12:.LC326 - b .L4550 -.L4524: - mov w0, 27708 - movk w0, 0x4004, lsl 16 - cmp w19, w0 - bne .L4526 - adrp x0, .LC327 - add x0, x0, :lo12:.LC327 - b .L4550 -.L4526: - adrp x0, .LC328 - add x0, x0, :lo12:.LC328 -.L4550: bl printk add x0, x29, 40 mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L4516 + cbnz x0, .L4575 + ldr w1, [x29,40] + mov w0, 17476 + movk w0, 0x4253, lsl 16 + cmp w1, w0 + bne .L4572 + ldr w0, [x29,44] + cmp w0, 512 + bhi .L4572 + adrp x19, .LANCHOR5 + add x0, x19, :lo12:.LANCHOR5 + ldr w0, [x0,1092] + cbnz w0, .L4576 +.L4579: + mov x0, 0 + b .L4556 +.L4576: + add x0, x19, :lo12:.LANCHOR5 + mov w2, 22867 + movk w2, 0x4453, lsl 16 + ldr x1, [x0,1096] + ldr w3, [x1] + cmp w3, w2 + beq .L4577 + mov w2, 22867 + movk w2, 0x4453, lsl 16 + str w2, [x1] + mov w2, 504 + ldr x1, [x0,1096] + str w2, [x1,4] + ldr x0, [x0,1096] + str wzr, [x0,8] + str wzr, [x0,12] +.L4577: + add x20, x19, :lo12:.LANCHOR5 + mov w0, 0 + ldr x1, [x20,1096] + str wzr, [x1,16] + bl StorageSysDataStore + ldr x0, [x20,1080] + mov w1, 21060 + movk w1, 0x4b4d, lsl 16 + ldr w2, [x0] + cmp w2, w1 + beq .L4578 + mov w1, 21060 + movk w1, 0x4b4d, lsl 16 + str w1, [x0] + mov w1, 504 + ldr x0, [x20,1080] + str w1, [x0,4] + ldr x0, [x20,1080] + str wzr, [x0,8] +.L4578: + add x19, x19, :lo12:.LANCHOR5 + mov w1, 0 + mov x2, 128 + ldr x20, [x19,1080] + add x0, x20, 64 + str wzr, [x20,12] + bl memset + mov w0, 1 + mov x1, x20 + bl StorageSysDataStore + str wzr, [x19,1092] + str wzr, [x19,1088] + b .L4610 +.L4563: + adrp x0, .LC327 + add x0, x0, :lo12:.LC327 + bl printk + add x0, x29, 40 + mov x1, x20 + mov x2, 520 + bl rk_copy_from_user + cbnz x0, .L4575 + ldr w1, [x29,40] + mov w0, 20037 + movk w0, 0x4253, lsl 16 + cmp w1, w0 + bne .L4572 + ldr w0, [x29,44] + cmp w0, 512 + bhi .L4572 + adrp x19, .LANCHOR5 + add x0, x19, :lo12:.LANCHOR5 + ldr w1, [x0,1092] + cmp w1, 1 + beq .L4579 + ldr x0, [x0,1096] + mov w1, 22867 + movk w1, 0x4453, lsl 16 + ldr w2, [x0] + cmp w2, w1 + beq .L4580 + mov w1, 22867 + mov w2, 504 + movk w1, 0x4453, lsl 16 + str w1, [x0] + add x0, x19, :lo12:.LANCHOR5 + ldr x1, [x0,1096] + str w2, [x1,4] + ldr x0, [x0,1096] + str wzr, [x0,8] + str wzr, [x0,12] +.L4580: + add x20, x19, :lo12:.LANCHOR5 + mov w0, 1 + ldr x1, [x20,1096] + str w0, [x1,16] + mov w0, 0 + bl StorageSysDataStore + ldr x0, [x20,1080] + mov w1, 21060 + movk w1, 0x4b4d, lsl 16 + ldr w2, [x0] + cmp w2, w1 + beq .L4581 + mov w1, 21060 + movk w1, 0x4b4d, lsl 16 + str w1, [x0] + mov w1, 504 + ldr x0, [x20,1080] + str w1, [x0,4] + ldr x0, [x20,1080] + str wzr, [x0,8] +.L4581: + add x19, x19, :lo12:.LANCHOR5 + mov w1, 0 + mov x2, 128 + ldr x20, [x19,1080] + add x0, x20, 64 + str wzr, [x20,12] + bl memset + mov w0, 1 + mov x1, x20 + bl StorageSysDataStore + mov w0, 1 + str w0, [x19,1092] + b .L4610 +.L4615: + adrp x0, .LC328 + add x0, x0, :lo12:.LC328 + bl printk + add x0, x29, 40 + mov x1, x20 + mov x2, 520 + bl rk_copy_from_user + cbnz x0, .L4575 + ldr w1, [x29,40] + mov w0, 20051 + movk w0, 0x4144, lsl 16 + cmp w1, w0 + bne .L4572 + ldr w2, [x29,44] + cmp w2, 512 + bhi .L4572 + adrp x1, .LANCHOR5 + add x0, x29, 48 + add x1, x1, :lo12:.LANCHOR5 + uxtw x2, w2 + add x1, x1, 1104 + b .L4613 +.L4557: + mov w0, 27698 + movk w0, 0x4004, lsl 16 + cmp w19, w0 + bne .L4583 + adrp x0, .LC329 + add x0, x0, :lo12:.LC329 + b .L4609 +.L4583: + mov w0, 27708 + movk w0, 0x4004, lsl 16 + cmp w19, w0 + bne .L4585 + adrp x0, .LC330 + add x0, x0, :lo12:.LC330 + b .L4609 +.L4585: + adrp x0, .LC331 + add x0, x0, :lo12:.LC331 +.L4609: + bl printk + add x0, x29, 40 + mov x1, x20 + mov x2, 520 + bl rk_copy_from_user + cbnz x0, .L4575 ldr w1, [x29,40] mov w0, 17227 movk w0, 0x4c4f, lsl 16 cmp w1, w0 - bne .L4553 + bne .L4612 mov w0, 27708 movk w0, 0x4004, lsl 16 cmp w19, w0 adrp x0, .LANCHOR5 - bne .L4527 + bne .L4586 add x0, x0, :lo12:.LANCHOR5 add x1, x29, 40 mov x2, 16 - ldr x0, [x0,1008] + ldr x0, [x0,1080] ldr w0, [x0,20] str w0, [x29,44] strb w0, [x29,48] mov x0, x20 bl rk_copy_to_user - cbz x0, .L4497 - b .L4553 -.L4527: + cbz x0, .L4556 + b .L4612 +.L4586: add x20, x0, :lo12:.LANCHOR5 - ldr w1, [x20,1544] + ldr w1, [x20,1616] cmp w1, 10 - bhi .L4553 - ldr x1, [x20,1008] + bhi .L4612 + ldr x1, [x20,1080] ldr w2, [x29,44] ldr w3, [x1,24] cmp w3, w2 - beq .L4528 - cbz w3, .L4528 - adrp x0, .LC329 + beq .L4587 + cbz w3, .L4587 + adrp x0, .LC332 mov w1, w2 - add x0, x0, :lo12:.LC329 + add x0, x0, :lo12:.LC332 bl printk - ldr w0, [x20,1544] + ldr w0, [x20,1616] add w0, w0, 1 - str w0, [x20,1544] -.L4553: + str w0, [x20,1616] +.L4612: mov x0, -14 - b .L4497 -.L4528: + b .L4556 +.L4587: add x0, x0, :lo12:.LANCHOR5 - str wzr, [x0,1544] + str wzr, [x0,1616] mov w0, 27698 movk w0, 0x4004, lsl 16 cmp w19, w0 - bne .L4529 + bne .L4588 str wzr, [x1,20] str wzr, [x1,24] - b .L4530 -.L4529: + b .L4589 +.L4588: mov w0, 1 str w2, [x1,24] str w0, [x1,20] -.L4530: +.L4589: mov w0, 1 mov x19, -2 bl StorageSysDataStore cmn w0, #1 - bne .L4551 - b .L4512 -.L4507: - adrp x0, .LC330 - add x0, x0, :lo12:.LC330 + bne .L4610 + b .L4571 +.L4566: + adrp x0, .LC333 + add x0, x0, :lo12:.LC333 bl printk add x0, x29, 40 mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L4516 + cbnz x0, .L4575 ldr w1, [x29,40] mov w0, 17750 movk w0, 0x444e, lsl 16 cmp w1, w0 - bne .L4513 + bne .L4572 ldr w2, [x29,44] cmp w2, 504 - bhi .L4513 + bhi .L4572 mov w0, 30224 adrp x1, .LANCHOR5 movk w0, 0x4004, lsl 16 @@ -28695,70 +29256,70 @@ rknand_sys_storage_ioctl: cmp w19, w0 add x1, x1, :lo12:.LANCHOR5 add x0, x29, 48 - bne .L4531 - ldr x1, [x1,1552] - b .L4555 -.L4531: - ldr x1, [x1,1560] -.L4555: + bne .L4590 + ldr x1, [x1,1624] + b .L4614 +.L4590: + ldr x1, [x1,1632] +.L4614: add x1, x1, 8 -.L4554: +.L4613: bl memcpy - b .L4548 -.L4509: - adrp x0, .LC331 - add x0, x0, :lo12:.LC331 + b .L4607 +.L4568: + adrp x0, .LC334 + add x0, x0, :lo12:.LC334 bl printk add x0, x29, 40 mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L4516 + cbnz x0, .L4575 ldr w1, [x29,40] mov w0, 17750 movk w0, 0x444e, lsl 16 cmp w1, w0 - bne .L4513 + bne .L4572 ldr w2, [x29,44] cmp w2, 504 - bhi .L4513 + bhi .L4572 mov w0, 30225 add w2, w2, 8 movk w0, 0x4004, lsl 16 cmp w19, w0 adrp x19, .LANCHOR5 add x19, x19, :lo12:.LANCHOR5 - bne .L4533 - ldr x0, [x19,1552] + bne .L4592 + ldr x0, [x19,1624] add x1, x29, 40 bl memcpy mov w0, 2 - ldr x1, [x19,1552] - b .L4552 -.L4533: - ldr x0, [x19,1560] + ldr x1, [x19,1624] + b .L4611 +.L4592: + ldr x0, [x19,1632] add x1, x29, 40 bl memcpy - ldr x1, [x19,1560] + ldr x1, [x19,1632] mov w0, 3 -.L4552: +.L4611: bl StorageSysDataStore uxtw x19, w0 - b .L4512 -.L4502: + b .L4571 +.L4561: bl rknand_dev_flush -.L4551: +.L4610: mov x19, 0 -.L4512: - adrp x0, .LC332 +.L4571: + adrp x0, .LC335 mov x1, x19 - add x0, x0, :lo12:.LC332 + add x0, x0, :lo12:.LC335 bl printk mov x0, x19 - b .L4497 -.L4534: + b .L4556 +.L4593: mov x0, -22 -.L4497: +.L4556: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 add sp, sp, 528 @@ -28776,50 +29337,50 @@ rk_ftl_storage_sys_init: adrp x20, .LANCHOR5 str x21, [sp,32] add x19, x20, :lo12:.LANCHOR5 - ldr x1, [x19,968] - str w0, [x19,1000] + ldr x1, [x19,1040] + str w0, [x19,1072] add x0, x1, 512 - str x0, [x19,1008] + str x0, [x19,1080] add x0, x1, 1024 - str x1, [x19,1024] - str x0, [x19,1552] + str x1, [x19,1096] + str x0, [x19,1624] add x1, x1, 1536 - add x0, x19, 1032 - str x1, [x19,1560] - strb wzr, [x19,988] - str xzr, [x19,992] - str xzr, [x19,1568] + add x0, x19, 1104 + str x1, [x19,1632] + strb wzr, [x19,1060] + str xzr, [x19,1064] + str xzr, [x19,1640] bl ftl_memcpy - ldr x0, [x19,1024] - str wzr, [x19,1016] - str wzr, [x19,1544] + ldr x0, [x19,1096] + str wzr, [x19,1088] + str wzr, [x19,1616] ldr w1, [x0,16] ldr w21, [x0,508] - str w1, [x19,1020] - cbz w21, .L4559 + str w1, [x19,1092] + cbz w21, .L4618 mov w1, 508 bl js_hash cmp w21, w0 - beq .L4559 - ldr x0, [x19,1024] - str wzr, [x19,1020] + beq .L4618 + ldr x0, [x19,1096] + str wzr, [x19,1092] str wzr, [x0,16] - adrp x0, .LC333 - add x0, x0, :lo12:.LC333 + adrp x0, .LC336 + add x0, x0, :lo12:.LC336 bl printk -.L4559: +.L4618: add x0, x20, :lo12:.LANCHOR5 - ldr w1, [x0,1020] - cbz w1, .L4561 + ldr w1, [x0,1092] + cbz w1, .L4620 mov w1, 5161 movk w1, 0xc059, lsl 16 - str w1, [x0,1016] -.L4561: + str w1, [x0,1088] +.L4620: add x20, x20, :lo12:.LANCHOR5 mov w0, 2 - ldr x1, [x20,1552] + ldr x1, [x20,1624] bl StorageSysDataLoad - ldr x1, [x20,1560] + ldr x1, [x20,1632] mov w0, 3 bl StorageSysDataLoad bl rknand_sys_storage_init @@ -28849,55 +29410,55 @@ rk_ftl_vendor_storage_init: bl ftl_malloc add x1, x21, :lo12:.LANCHOR5 mov w19, -12 - str x0, [x1,1576] - cbz x0, .L4567 + str x0, [x1,1648] + cbz x0, .L4626 mov w23, 0 - adrp x24, .LC334 + adrp x24, .LC337 mov w19, w23 mov w22, w23 - add x24, x24, :lo12:.LC334 -.L4571: + add x24, x24, :lo12:.LC337 +.L4630: add x20, x21, :lo12:.LANCHOR5 lsl w0, w22, 7 mov w1, 128 - ldr x2, [x20,1576] + ldr x2, [x20,1648] bl FlashBootVendorRead - cbnz w0, .L4568 - ldr x3, [x20,1576] + cbnz w0, .L4627 + ldr x3, [x20,1648] mov x0, x24 add x2, x3, 61440 ldr w1, [x3] ldr w3, [x3,4] ldr w2, [x2,4092] bl printk - ldr x20, [x20,1576] + ldr x20, [x20,1648] mov w0, 22084 movk w0, 0x524b, lsl 16 ldr w1, [x20] cmp w1, w0 - bne .L4569 + bne .L4628 ldr w0, [x20,4] cmp w19, w0 - bcs .L4569 + bcs .L4628 add x1, x20, 61440 ldr w1, [x1,4092] cmp w1, w0 csel w23, w23, w22, ne csel w19, w19, w0, ne -.L4569: - cbnz w22, .L4579 +.L4628: + cbnz w22, .L4638 mov w22, 1 - b .L4571 -.L4579: - cbz w19, .L4572 + b .L4630 +.L4638: + cbz w19, .L4631 lsl w0, w23, 7 mov w1, 128 mov x2, x20 bl FlashBootVendorRead mov w19, w0 - cbz w0, .L4567 - b .L4568 -.L4572: + cbz w0, .L4626 + b .L4627 +.L4631: mov x0, x20 mov w1, w19 mov x2, 65536 @@ -28911,14 +29472,14 @@ rk_ftl_vendor_storage_init: mov w0, -1032 strh w19, [x20,12] strh w0, [x20,14] - b .L4567 -.L4568: + b .L4626 +.L4627: add x21, x21, :lo12:.LANCHOR5 mov w19, -1 - ldr x0, [x21,1576] + ldr x0, [x21,1648] bl kfree - str xzr, [x21,1576] -.L4567: + str xzr, [x21,1648] +.L4626: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -28930,24 +29491,24 @@ rk_ftl_vendor_storage_init: .global rk_ftl_vendor_read .type rk_ftl_vendor_read, %function rk_ftl_vendor_read: - adrp x3, .LANCHOR5+1576 + adrp x3, .LANCHOR5+1648 stp x29, x30, [sp, -32]! add x29, sp, 0 - ldr x5, [x3,#:lo12:.LANCHOR5+1576] + ldr x5, [x3,#:lo12:.LANCHOR5+1648] mov w3, -1 str x19, [sp,16] - cbz x5, .L4581 + cbz x5, .L4640 ldrh w3, [x5,10] mov x4, 0 -.L4582: +.L4641: cmp w4, w3 mov w6, w4 - bcs .L4586 + bcs .L4645 add x7, x5, x4, lsl 3 add x4, x4, 1 ldrh w7, [x7,16] cmp w7, w0 - bne .L4582 + bne .L4641 add x6, x5, x6, uxtw 3 ldrh w4, [x6,20] mov x0, x1 @@ -28959,10 +29520,10 @@ rk_ftl_vendor_read: uxtw x2, w19 bl memcpy mov w3, w19 - b .L4581 -.L4586: + b .L4640 +.L4645: mov w3, -1 -.L4581: +.L4640: mov w0, w3 ldr x19, [sp,16] ldp x29, x30, [sp], 32 @@ -28974,10 +29535,10 @@ rk_ftl_vendor_read: rk_ftl_vendor_write: stp x29, x30, [sp, -112]! mov w6, w0 - adrp x0, .LANCHOR5+1576 + adrp x0, .LANCHOR5+1648 add x29, sp, 0 stp x19, x20, [sp,16] - ldr x19, [x0,#:lo12:.LANCHOR5+1576] + ldr x19, [x0,#:lo12:.LANCHOR5+1648] stp x25, x26, [sp,64] stp x27, x28, [sp,80] stp x21, x22, [sp,32] @@ -28985,38 +29546,38 @@ rk_ftl_vendor_write: mov w26, w2 mov x28, x1 mov w2, -1 - cbz x19, .L4588 + cbz x19, .L4647 add w20, w26, 63 ldrh w3, [x19,10] ldrh w23, [x19,8] and w20, w20, -64 mov x2, 0 -.L4589: +.L4648: cmp w2, w3 mov w4, w2 - bcs .L4604 + bcs .L4663 add x0, x19, x2, lsl 3 add x2, x2, 1 ldrh w0, [x0,16] cmp w0, w6 - bne .L4589 + bne .L4648 add x21, x19, x4, uxtw 3 ldrh w24, [x21,20] add x5, x19, 1024 add w24, w24, 63 and w24, w24, -64 cmp w26, w24 - bls .L4590 + bls .L4649 ldrh w0, [x19,14] mov w2, -1 cmp w0, w20 - bcc .L4588 + bcc .L4647 ldrh w21, [x21,18] add w22, w3, w2 -.L4591: +.L4650: cmp w4, w22 uxtw x3, w4 - bcs .L4605 + bcs .L4664 add x3, x19, x3, lsl 3 add w25, w4, 1 add x1, x19, x25, uxtw 3 @@ -29039,8 +29600,8 @@ rk_ftl_vendor_write: mov w4, w25 ldr x6, [x29,96] ldr x5, [x29,104] - b .L4591 -.L4605: + b .L4650 +.L4664: add x3, x19, x3, lsl 3 uxth w21, w21 mov x1, x28 @@ -29057,20 +29618,20 @@ rk_ftl_vendor_write: add w24, w24, w0 sub w24, w24, w20 strh w24, [x19,14] - b .L4603 -.L4590: + b .L4662 +.L4649: ldrh w0, [x21,18] mov x1, x28 uxtw x2, w26 add x0, x5, x0 bl memcpy strh w26, [x21,20] - b .L4603 -.L4604: + b .L4662 +.L4663: ldrh w4, [x19,14] mov w2, -1 cmp w4, w20 - bcc .L4588 + bcc .L4647 add x3, x19, x3, uxth 3 strh w6, [x3,16] uxth w20, w20 @@ -29090,7 +29651,7 @@ rk_ftl_vendor_write: ldrh w0, [x19,10] add w0, w0, 1 strh w0, [x19,10] -.L4603: +.L4662: ldr w0, [x19,4] add x1, x19, 61440 mov x2, x19 @@ -29107,7 +29668,7 @@ rk_ftl_vendor_write: lsl w0, w23, 7 bl FlashBootVendorWrite mov w2, 0 -.L4588: +.L4647: mov w0, w2 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -29131,37 +29692,37 @@ rk_ftl_vendor_storage_ioctl: mov x21, x2 bl ftl_malloc mov x19, x0 - cbz x0, .L4607 + cbz x0, .L4666 mov w2, 30209 ldr x1, [x29,56] movk w2, 0x4004, lsl 16 cmp w1, w2 - beq .L4609 + beq .L4668 mov w2, 30210 movk w2, 0x4004, lsl 16 cmp w1, w2 - beq .L4610 - b .L4621 -.L4609: + beq .L4669 + b .L4680 +.L4668: mov x1, x21 mov x2, 8 bl rk_copy_from_user - cbnz x0, .L4621 + cbnz x0, .L4680 ldr w1, [x19] mov w0, 17745 movk w0, 0x5652, lsl 16 cmp w1, w0 - beq .L4612 -.L4613: + beq .L4671 +.L4672: mov x20, -1 - b .L4608 -.L4612: + b .L4667 +.L4671: ldrh w0, [x19,4] add x1, x19, 8 ldrh w2, [x19,6] bl rk_ftl_vendor_read cmn w0, #1 - beq .L4613 + beq .L4672 uxth x2, w0 strh w0, [x19,6] mov x1, x19 @@ -29171,38 +29732,38 @@ rk_ftl_vendor_storage_ioctl: bl rk_copy_to_user cmp x0, xzr csel x20, xzr, x20, eq - b .L4608 -.L4610: + b .L4667 +.L4669: mov x1, x21 mov x2, 8 bl rk_copy_from_user - cbnz x0, .L4621 + cbnz x0, .L4680 ldr w1, [x19] mov w0, 17745 movk w0, 0x5652, lsl 16 cmp w1, w0 - bne .L4613 + bne .L4672 ldrh w3, [x19,6] cmp w3, 4087 - bhi .L4613 + bhi .L4672 add w2, w3, 8 mov x0, x19 mov x1, x21 sxtw x2, w2 bl rk_copy_from_user - cbnz x0, .L4621 + cbnz x0, .L4680 ldrh w0, [x19,4] add x1, x19, 8 ldrh w2, [x19,6] bl rk_ftl_vendor_write sxtw x20, w0 - b .L4608 -.L4621: + b .L4667 +.L4680: mov x20, -14 -.L4608: +.L4667: mov x0, x19 bl kfree -.L4607: +.L4666: mov x0, x20 ldr x21, [sp,32] ldp x19, x20, [sp,16] @@ -29390,26 +29951,16 @@ rk_ftl_vendor_storage_ioctl: .section .rodata .align 3 .LANCHOR1 = . + 0 - .type __func__.39475, %object - .size __func__.39475, 18 -__func__.39475: + .type __func__.39624, %object + .size __func__.39624, 18 +__func__.39624: .string "_list_remove_node" .zero 6 - .type __func__.39500, %object - .size __func__.39500, 23 -__func__.39500: + .type __func__.39649, %object + .size __func__.39649, 23 +__func__.39649: .string "_list_update_data_list" .zero 1 - .type __func__.20801, %object - .size __func__.20801, 22 -__func__.20801: - .string "nand_flash_print_info" - .zero 2 - .type __func__.20887, %object - .size __func__.20887, 11 -__func__.20887: - .string "nandc_init" - .zero 5 .type toshiba_A19ref_value, %object .size toshiba_A19ref_value, 45 toshiba_A19ref_value: @@ -29569,14 +30120,24 @@ toshiba_ref_value: .byte 8 .byte 12 .byte 112 - .type __func__.20274, %object - .size __func__.20274, 28 -__func__.20274: + .type __func__.20817, %object + .size __func__.20817, 22 +__func__.20817: + .string "nand_flash_print_info" + .zero 2 + .type __func__.20903, %object + .size __func__.20903, 11 +__func__.20903: + .string "nandc_init" + .zero 5 + .type __func__.20290, %object + .size __func__.20290, 28 +__func__.20290: .string "flash_wait_device_ready_raw" .zero 4 - .type __func__.20338, %object - .size __func__.20338, 22 -__func__.20338: + .type __func__.20354, %object + .size __func__.20354, 22 +__func__.20354: .string "flash_start_page_read" .zero 2 .type toshiba_3D_tlc_value, %object @@ -30372,19 +30933,19 @@ ymtc_3D_slc_value: .byte -12 .byte 56 .zero 6 - .type __func__.20363, %object - .size __func__.20363, 23 -__func__.20363: + .type __func__.20379, %object + .size __func__.20379, 23 +__func__.20379: .string "flash_start_plane_read" .zero 1 - .type __func__.20249, %object - .size __func__.20249, 26 -__func__.20249: + .type __func__.20265, %object + .size __func__.20265, 26 +__func__.20265: .string "flash_erase_duplane_block" .zero 6 - .type __func__.20260, %object - .size __func__.20260, 21 -__func__.20260: + .type __func__.20276, %object + .size __func__.20276, 21 +__func__.20276: .string "flash_erase_block_en" .zero 3 .type random_seed, %object @@ -30518,19 +31079,19 @@ random_seed: .hword 28406 .hword 17598 .hword 28087 - .type __func__.21070, %object - .size __func__.21070, 13 -__func__.21070: + .type __func__.21082, %object + .size __func__.21082, 13 +__func__.21082: .string "buf_add_tail" .zero 3 - .type __func__.21083, %object - .size __func__.21083, 10 -__func__.21083: + .type __func__.21095, %object + .size __func__.21095, 10 +__func__.21095: .string "buf_alloc" .zero 6 - .type __func__.21097, %object - .size __func__.21097, 16 -__func__.21097: + .type __func__.21109, %object + .size __func__.21109, 16 +__func__.21109: .string "buf_remove_free" .type zftl_debug_proc_fops, %object .size zftl_debug_proc_fops, 288 @@ -30544,94 +31105,84 @@ zftl_debug_proc_fops: .zero 8 .xword single_release .zero 160 - .type __func__.39035, %object - .size __func__.39035, 12 -__func__.39035: + .type __func__.39157, %object + .size __func__.39157, 12 +__func__.39157: .string "gc_add_sblk" .zero 4 - .type __func__.39127, %object - .size __func__.39127, 19 -__func__.39127: + .type __func__.39249, %object + .size __func__.39249, 19 +__func__.39249: .string "gc_write_completed" .zero 5 - .type __func__.39683, %object - .size __func__.39683, 18 -__func__.39683: + .type __func__.39855, %object + .size __func__.39855, 18 +__func__.39855: .string "ftl_alloc_sys_blk" .zero 6 - .type __func__.39693, %object - .size __func__.39693, 17 -__func__.39693: + .type __func__.39865, %object + .size __func__.39865, 17 +__func__.39865: .string "ftl_free_sys_blk" .zero 7 - .type __func__.39814, %object - .size __func__.39814, 23 -__func__.39814: + .type __func__.39986, %object + .size __func__.39986, 23 +__func__.39986: .string "ftl_get_ppa_from_index" .zero 1 - .type __func__.39854, %object - .size __func__.39854, 22 -__func__.39854: + .type __func__.40026, %object + .size __func__.40026, 22 +__func__.40026: .string "ftl_get_new_free_page" .zero 2 - .type __func__.39865, %object - .size __func__.39865, 22 -__func__.39865: + .type __func__.40037, %object + .size __func__.40037, 22 +__func__.40037: .string "ftl_ext_alloc_new_blk" .zero 2 - .type __func__.39184, %object - .size __func__.39184, 16 -__func__.39184: + .type __func__.39306, %object + .size __func__.39306, 16 +__func__.39306: .string "gc_free_src_blk" - .type __func__.38779, %object - .size __func__.38779, 14 -__func__.38779: + .type __func__.38900, %object + .size __func__.38900, 14 +__func__.38900: .string "ftl_write_buf" .zero 2 - .type __func__.38824, %object - .size __func__.38824, 18 -__func__.38824: + .type __func__.38945, %object + .size __func__.38945, 18 +__func__.38945: .string "zftl_add_read_buf" - .zero 6 - .type __func__.39641, %object - .size __func__.39641, 15 -__func__.39641: - .string "ftl_alloc_sblk" .align 3 .LANCHOR4 = . + 0 - .type __func__.40259, %object - .size __func__.40259, 17 -__func__.40259: - .string "pm_alloc_new_blk" - .zero 7 - .type __func__.40287, %object - .size __func__.40287, 21 -__func__.40287: + .type __func__.40459, %object + .size __func__.40459, 21 +__func__.40459: .string "pm_select_ram_region" .zero 3 - .type __func__.20791, %object - .size __func__.20791, 20 -__func__.20791: + .type __func__.20807, %object + .size __func__.20807, 20 +__func__.20807: .string "flash_die_info_init" .zero 4 - .type __func__.38711, %object - .size __func__.38711, 17 -__func__.38711: + .type __func__.38832, %object + .size __func__.38832, 17 +__func__.38832: .string "lpa_rebuild_hash" .zero 7 - .type __func__.39575, %object - .size __func__.39575, 20 -__func__.39575: + .type __func__.39724, %object + .size __func__.39724, 20 +__func__.39724: .string "zftl_sblk_list_init" .zero 4 - .type __func__.40219, %object - .size __func__.40219, 13 -__func__.40219: + .type __func__.40391, %object + .size __func__.40391, 13 +__func__.40391: .string "pm_free_sblk" .zero 3 - .type __func__.21133, %object - .size __func__.21133, 21 -__func__.21133: + .type __func__.21145, %object + .size __func__.21145, 21 +__func__.21145: .string "flash_info_data_init" .zero 3 .type samsung_14nm_slc_rr, %object @@ -30771,174 +31322,184 @@ samsung_14nm_mlc_rr: .byte 18 .byte 9 .byte 8 - .type __func__.20172, %object - .size __func__.20172, 19 -__func__.20172: + .type __func__.20188, %object + .size __func__.20188, 19 +__func__.20188: .string "flash_read_page_en" .zero 5 - .type __func__.20298, %object - .size __func__.20298, 26 -__func__.20298: + .type __func__.20314, %object + .size __func__.20314, 26 +__func__.20314: .string "flash_start_tlc_page_prog" .zero 6 - .type __func__.20309, %object - .size __func__.20309, 29 -__func__.20309: + .type __func__.20325, %object + .size __func__.20325, 29 +__func__.20325: .string "flash_start_3d_mlc_page_prog" .zero 3 - .type __func__.20327, %object - .size __func__.20327, 22 -__func__.20327: + .type __func__.20343, %object + .size __func__.20343, 22 +__func__.20343: .string "flash_start_page_prog" .zero 2 - .type __func__.20351, %object - .size __func__.20351, 31 -__func__.20351: + .type __func__.20367, %object + .size __func__.20367, 31 +__func__.20367: .string "flash_complete_plane_page_read" .zero 1 - .type __func__.20376, %object - .size __func__.20376, 25 -__func__.20376: + .type __func__.20392, %object + .size __func__.20392, 25 +__func__.20392: .string "flash_complete_page_read" .zero 7 - .type __func__.40052, %object - .size __func__.40052, 31 -__func__.40052: + .type __func__.40224, %object + .size __func__.40224, 31 +__func__.40224: .string "queue_wait_first_req_completed" .zero 1 - .type __func__.40106, %object - .size __func__.40106, 15 -__func__.40106: + .type __func__.40278, %object + .size __func__.40278, 15 +__func__.40278: .string "sblk_prog_page" .zero 1 - .type __func__.40133, %object - .size __func__.40133, 15 -__func__.40133: + .type __func__.40305, %object + .size __func__.40305, 15 +__func__.40305: .string "sblk_read_page" .zero 1 - .type __func__.39082, %object - .size __func__.39082, 21 -__func__.39082: + .type __func__.39204, %object + .size __func__.39204, 21 +__func__.39204: .string "gc_check_data_one_wl" .zero 3 - .type __func__.20233, %object - .size __func__.20233, 19 -__func__.20233: + .type __func__.20249, %object + .size __func__.20249, 19 +__func__.20249: .string "flash_prog_page_en" .zero 5 - .type __func__.39929, %object - .size __func__.39929, 14 -__func__.39929: + .type __func__.40101, %object + .size __func__.40101, 14 +__func__.40101: .string "ftl_prog_page" .zero 2 - .type __func__.39609, %object - .size __func__.39609, 15 -__func__.39609: + .type __func__.39758, %object + .size __func__.39758, 15 +__func__.39758: .string "ftl_info_flush" .zero 1 - .type __func__.39891, %object - .size __func__.39891, 19 -__func__.39891: + .type __func__.40063, %object + .size __func__.40063, 19 +__func__.40063: .string "ftl_ext_info_flush" .zero 5 - .type __func__.39903, %object - .size __func__.39903, 18 -__func__.39903: + .type __func__.40075, %object + .size __func__.40075, 18 +__func__.40075: .string "ftl_ext_info_init" .zero 6 - .type __func__.40269, %object - .size __func__.40269, 14 -__func__.40269: + .type __func__.39813, %object + .size __func__.39813, 15 +__func__.39813: + .string "ftl_alloc_sblk" + .zero 1 + .type __func__.40431, %object + .size __func__.40431, 17 +__func__.40431: + .string "pm_alloc_new_blk" + .zero 7 + .type __func__.40441, %object + .size __func__.40441, 14 +__func__.40441: .string "pm_write_page" .zero 2 - .type __func__.21155, %object - .size __func__.21155, 17 -__func__.21155: + .type __func__.21167, %object + .size __func__.21167, 17 +__func__.21167: .string "flash_info_flush" .zero 7 - .type __func__.21118, %object - .size __func__.21118, 20 -__func__.21118: + .type __func__.21130, %object + .size __func__.21130, 20 +__func__.21130: .string "flash_info_blk_init" .zero 4 - .type __func__.20846, %object - .size __func__.20846, 16 -__func__.20846: + .type __func__.20862, %object + .size __func__.20862, 16 +__func__.20862: .string "nand_flash_init" - .type __func__.39756, %object - .size __func__.39756, 16 -__func__.39756: + .type __func__.39928, %object + .size __func__.39928, 16 +__func__.39928: .string "ftl_sysblk_dump" - .type __func__.39781, %object - .size __func__.39781, 23 -__func__.39781: + .type __func__.39953, %object + .size __func__.39953, 23 +__func__.39953: .string "ftl_open_sblk_recovery" .zero 1 - .type __func__.40203, %object - .size __func__.40203, 16 -__func__.40203: + .type __func__.40375, %object + .size __func__.40375, 16 +__func__.40375: .string "load_l2p_region" - .type __func__.40243, %object - .size __func__.40243, 6 -__func__.40243: + .type __func__.40415, %object + .size __func__.40415, 6 +__func__.40415: .string "pm_gc" .zero 2 - .type __func__.39025, %object - .size __func__.39025, 12 -__func__.39025: + .type __func__.39147, %object + .size __func__.39147, 12 +__func__.39147: .string "gc_recovery" .zero 4 - .type __func__.39114, %object - .size __func__.39114, 22 -__func__.39114: + .type __func__.39236, %object + .size __func__.39236, 22 +__func__.39236: .string "gc_update_l2p_map_new" .zero 2 - .type __func__.39228, %object - .size __func__.39228, 16 -__func__.39228: + .type __func__.39350, %object + .size __func__.39350, 16 +__func__.39350: .string "gc_scan_src_blk" - .type __func__.39289, %object - .size __func__.39289, 20 -__func__.39289: + .type __func__.39411, %object + .size __func__.39411, 20 +__func__.39411: .string "gc_scan_static_data" .zero 4 - .type __func__.39352, %object - .size __func__.39352, 18 -__func__.39352: + .type __func__.39474, %object + .size __func__.39474, 18 +__func__.39474: .string "gc_block_vpn_scan" .zero 6 - .type __func__.39732, %object - .size __func__.39732, 14 -__func__.39732: + .type __func__.39904, %object + .size __func__.39904, 14 +__func__.39904: .string "ftl_sblk_dump" .zero 2 - .type __func__.38857, %object - .size __func__.38857, 10 -__func__.38857: + .type __func__.38978, %object + .size __func__.38978, 10 +__func__.38978: .string "zftl_read" .zero 6 - .type __func__.39835, %object - .size __func__.39835, 19 -__func__.39835: + .type __func__.40007, %object + .size __func__.40007, 19 +__func__.40007: .string "ftl_update_l2p_map" .zero 5 - .type __func__.38761, %object - .size __func__.38761, 17 -__func__.38761: + .type __func__.38882, %object + .size __func__.38882, 17 +__func__.38882: .string "ftl_write_commit" .zero 7 - .type __func__.39157, %object - .size __func__.39157, 16 -__func__.39157: + .type __func__.39279, %object + .size __func__.39279, 16 +__func__.39279: .string "gc_do_copy_back" - .type __func__.39380, %object - .size __func__.39380, 11 -__func__.39380: + .type __func__.39529, %object + .size __func__.39529, 11 +__func__.39529: .string "zftl_do_gc" .zero 5 - .type __func__.38888, %object - .size __func__.38888, 13 -__func__.38888: + .type __func__.39010, %object + .size __func__.39010, 13 +__func__.39010: .string "_ftl_discard" .section .rodata.str1.1,"aMS",%progbits,1 .LC0: @@ -30946,7 +31507,7 @@ __func__.38888: .LC1: .string "%s\n" .LC2: - .string "FTL version: 6.0.23 20201130" + .string "FTL version: 6.0.24 20210107" .LC3: .string "zftl_debug:0x%x\n" .LC4: @@ -31096,7 +31657,7 @@ __func__.38888: .LC76: .string "sys run time = %d S\n" .LC77: - .string "slc mode = %d\n" + .string "slc mode = %x %x %x\n" .LC78: .string "prog err = %d\n" .LC79: @@ -31188,428 +31749,434 @@ __func__.38888: .LC122: .string "ftl re prog: lpa = %x, ppa= %x\n" .LC123: - .string "alloc sblk %x %d\n" -.LC124: .string "dump_sblk_queue: %d\n" -.LC125: +.LC124: .string "buf id= %d state = %d ppa = %x\n" -.LC126: - .string "blk %x is bad block\n" -.LC127: - .string "pm_alloc_new_blk: %x %x %x %x\n" -.LC128: +.LC125: .string "%s %d %d\n" -.LC129: +.LC126: .string "gc_static_wearleveling: min blk: %x,sec=%d,xec = %d ,mode=%d, func=%x, bbt=%x vpn = %d\n" -.LC130: +.LC127: .string "gc_static_wearleveling: min slc blk: %x,sec=%d,xec = %d ,mode=%d, func=%x, bbt=%x vpn = %d\n" -.LC131: +.LC128: .string "gc_static_wearleveling: min tlc blk: %x,sec=%d,xec = %d ,mode=%d, func=%x, bbt=%x vpn = %d\n" -.LC132: +.LC129: .string "gc_static_wearleveling: max slc blk: %x,sec=%d,xec = %d ,mode=%d, func=%x, bbt=%x vpn = %d\n" -.LC133: +.LC130: .string "gc_static_wearleveling: max xlc blk: %x,sec=%d,xec = %d ,mode=%d, func=%x, bbt=%x vpn = %d\n" -.LC134: +.LC131: .string "gc_static_wearleveling: slc blk: %x, tlc blk: %d avg slc ec: %d, avg tlc ec: %d \n" -.LC135: +.LC132: .string "gc_static_wearleveling: min slc ec: %x, min tlc ec: %d max slc ec: %d, max tlc ec: %d; %d %d\n" -.LC136: +.LC133: .string "swl add tlc gc = %x, %d, %d, %d, %d, %d\n" -.LC137: +.LC134: .string "swl add slc gc = %x, %d, %d, %d, %d, %d\n" -.LC138: +.LC135: .string "free blk vpn error: %x %x\n" -.LC139: +.LC136: .string "GC PM block %x %x %x %d\n" -.LC140: +.LC137: .string "ftl_free_no_use_map_blk %x %x %x %d\n" -.LC141: +.LC138: .string "...%d @ %s\n" -.LC142: +.LC139: .string "rk_ftl_de_init %x\n" -.LC143: +.LC140: .string "\0013" -.LC144: +.LC141: .string "otp error! %d" -.LC145: +.LC142: .string "rr" -.LC146: +.LC143: .string "flash_abort_clear = %d\n" -.LC147: +.LC144: .string "%d mtrans_cnt = %d page_num = %d\n" -.LC148: +.LC145: .string "%d flReg.d32=%x %x\n" -.LC149: +.LC146: .string "nandc:" -.LC150: +.LC147: .string "nandc_xfer_done read error %x\n" -.LC151: +.LC148: .string "dqs data abort %x\n" -.LC152: +.LC149: .string "dqs data timeout %x\n" -.LC153: +.LC150: .string "xfer error %x\n" -.LC154: +.LC151: .string "MT %d row=%x,last status %d,status = %d\n" -.LC155: +.LC152: .string "MT RR %d row=%x,count %d,status=%d\n" -.LC156: +.LC153: .string "toshiba SRR %d row=%x, status=%d\n" -.LC157: +.LC154: .string "toshiba TRR %d row=%x, status=%d\n" -.LC158: +.LC155: .string "toshiba RR %d row=%x,count %d,status=%d\n" -.LC159: +.LC156: .string "YMTC RR %d row=%x,count %d,status=%d\n" -.LC160: +.LC157: .string "samsung SRR %d row=%x, status=%d\n" -.LC161: +.LC158: .string "samsung TRR %d row=%x, status=%d\n" -.LC162: +.LC159: .string "samsung RR %d row=%x,count %d,status=%d\n" -.LC163: +.LC160: .string "hynix RR %d row=%x, count %d, status=%d\n" -.LC164: +.LC161: .string "%d flash_ddr_tuning_read %x ecc=%d\n" -.LC165: +.LC162: .string "sync para %d\n" -.LC166: +.LC163: .string "DDR mode Read error %x %x\n" -.LC167: +.LC164: .string "SDR mode Read %x %x ecc:%x\n" -.LC168: +.LC165: .string "flash_read_page_en %x %x %x %x\n" -.LC169: +.LC166: .string "flash_read_page_en %x %x error_ecc %d %d\n" -.LC170: +.LC167: .string "flash_get_last_written_page: %x %x %x\n" -.LC171: - .string "flash_prog_page %x %x %x\n" -.LC172: +.LC168: .string "flash_prog_page page_addr = %x status = %x\n" -.LC173: +.LC169: + .string "flash_prog_page %x %x %x\n" +.LC170: .string "ymtc_flash_tlc_page_prog page_addr = %x status = %x\n" -.LC174: +.LC171: .string "sblk_mlc_dump_prog wl_addr= %x ppa = %x ppa = %x\n" -.LC175: +.LC172: .string "flash_complete_page_read %x %x error_ecc %d %d\n" -.LC176: +.LC173: .string "read: %x %x %x %x\n" -.LC177: +.LC174: .string "0set buf %d,status = %x, ppa = %x lun state = %d\n" -.LC178: +.LC175: .string "prog end %x %x error_ecc %d %d\n" -.LC179: +.LC176: .string "1set buf %d,status = %x, ppa = %x lun state = %d\n" -.LC180: +.LC177: .string "dp prog end %x %x error_ecc %d %d\n" -.LC181: +.LC178: .string "sblk_prog_page ppa = %x, count = %d\n" -.LC182: +.LC179: .string "err: ppa = %x, status = %x, %x %x spare: %x %x %x %x\n" -.LC183: +.LC180: .string "flash_prog_page_en:%x %x %x\n" -.LC184: +.LC181: .string "w d:" -.LC185: +.LC182: .string "w s:" -.LC186: +.LC183: .string "spare" -.LC187: +.LC184: .string "data" -.LC188: +.LC185: .string "write error: %x\n" -.LC189: +.LC186: .string "g_ftl_info_blk blk = %x, page = %x version = %d\n" -.LC190: +.LC187: .string "%d %x @%d %x\n" -.LC191: +.LC188: .string "ftl_info_blk_init %d %d %x\n" -.LC192: +.LC189: .string "ftl info hash %x error\n" -.LC193: +.LC190: .string "ink flag: %x\n" -.LC194: +.LC191: .string "%s %d %d %x %x\n" -.LC195: +.LC192: .string "ext info hash %x error\n" -.LC196: +.LC193: .string "%s %x %x %x\n" -.LC197: - .string "pm_write_page write error: %x\n" -.LC198: +.LC194: .string "ftl_sblk_dump_write = %x %d %d %d %d\n" -.LC199: +.LC195: .string "blk= %x, page=%x, ppa = %x, status = %x, data:%x %x %x %x, spare: %x %x %x %x\n" -.LC200: +.LC196: .string "ftl_sblk_dump_write2 = %x %d %d %d\n" -.LC201: +.LC197: .string "ftl_sblk_dump_write = %x %x\n" -.LC202: +.LC198: .string "ftl_sblk_dump_write done = %x\n" +.LC199: + .string "%x: ink_scaned_blk_num %x\n" +.LC200: + .string "ftl_ink_check_sblk = %x %d %d\n" +.LC201: + .string "ftl_ink_check_sblk = %x %d %d end\n" +.LC202: + .string "alloc sblk %x %d\n" .LC203: - .string "finfo:" + .string "blk %x is bad block\n" .LC204: - .string "flash_info_flush id = %x, page = %x\n" + .string "pm_alloc_new_blk: %x %x %x %x\n" .LC205: - .string "sys_info_flush error:%x\n" + .string "pm_write_page write error: %x\n" .LC206: - .string "...%d @ %s %d %p\n" + .string "finfo:" .LC207: - .string "no sys info %x\n" + .string "flash_info_flush id = %x, page = %x\n" .LC208: - .string "l2p:" + .string "sys_info_flush error:%x\n" .LC209: - .string "saved_active_page = %x\n" + .string "...%d @ %s %d %p\n" .LC210: - .string "saved_active_plane = %x\n" + .string "no sys info %x\n" .LC211: - .string "sblk = %x\n" + .string "l2p:" .LC212: - .string "phy_blk = %x %x\n" + .string "saved_active_page = %x\n" .LC213: - .string "num_planes = %x\n" + .string "saved_active_plane = %x\n" .LC214: - .string "recovery blk=%x, page=%x, ppa = %x, status = %x, hash:%x\n" + .string "sblk = %x\n" .LC215: - .string "data:" + .string "phy_blk = %x %x\n" .LC216: - .string "sblk = %x, vpn0 = %d, vpn1 = %d\n" + .string "num_planes = %x\n" .LC217: - .string "dump_write_lpa = %x %x %x %x\n" + .string "recovery blk=%x, page=%x, ppa = %x, status = %x, hash:%x\n" .LC218: - .string "dump write new ppa = %x, last ppa = %x lpa = %x\n" + .string "data:" .LC219: - .string "dump write = %x %x %x\n" + .string "sblk = %x, vpn0 = %d, vpn1 = %d\n" .LC220: - .string "dump write hash update = %x %x %x\n" + .string "dump_write_lpa = %x %x %x %x\n" .LC221: - .string "free_buf_count: %d\n" + .string "dump write new ppa = %x, last ppa = %x lpa = %x\n" .LC222: - .string "g_ftl_info_blk blk:0x%x, index:0x%x, page:0x%x\n" + .string "dump write = %x %x %x\n" .LC223: - .string "ftl_ext_info_blk blk:0x%x, page:0x%x\n" + .string "dump write hash update = %x %x %x\n" .LC224: - .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" .LC225: - .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" .LC226: - .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" .LC227: - .string "lpa:" + .string "ac_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" .LC228: - .string "vpn:" + .string "tmp_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" .LC229: - .string "sblk:" + .string "gc_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" .LC230: - .string "lpa_hash:" + .string "lpa:" .LC231: - .string "lpa_hash_index:" + .string "vpn:" .LC232: - .string "%s w error lpn = %x, max ppa = %d\n" + .string "sblk:" .LC233: - .string "region_id = %d, pm_max_region = %d\n" + .string "lpa_hash:" .LC234: - .string "load_l2p_region no ppa = %x , %x, all setting 0xff....\n" + .string "lpa_hash_index:" .LC235: - .string "load_l2p_region = %x,%x,%x, %x\n" + .string "%s w error lpn = %x, max ppa = %d\n" .LC236: - .string "pm_ppa:" + .string "region_id = %d, pm_max_region = %d\n" .LC237: - .string "spare:" + .string "load_l2p_region no ppa = %x , %x, all setting 0xff....\n" .LC238: - .string "pm_init posr %x %x %x\n" + .string "load_l2p_region = %x,%x,%x, %x\n" .LC239: - .string "pm_init recovery %x %x %x\n" + .string "pm_ppa:" .LC240: - .string "pm_init hash %x error\n" + .string "spare:" .LC241: - .string "pm_log2phys lpn = %d, max lpn = %d\n" + .string "pm_init posr %x %x %x\n" .LC242: - .string "ppa = %x, status = %x, data:%x %x %x %x, spare: %x %x %x %x\n" + .string "pm_init recovery %x %x %x\n" .LC243: - .string "ppa = %x, status = %x, %x %x spare: %x %x %x %x\n" + .string "pm_init hash %x error\n" .LC244: - .string "gc_recovery: %x vpn = %x\n" + .string "pm_log2phys lpn = %d, max lpn = %d\n" .LC245: - .string "gc_update_l2p_map_new sblk %x\n" + .string "ppa = %x, status = %x, data:%x %x %x %x, spare: %x %x %x %x\n" .LC246: - .string "gc_update_l2p_map_new: %x %x %x\n" + .string "ppa = %x, status = %x, %x %x spare: %x %x %x %x\n" .LC247: - .string "lpa: %x %x %x\n" + .string "gc_recovery: %x vpn = %x\n" .LC248: - .string "gc_update_l2p_map_new: %x vpn = %x vpn1 = %x done\n" + .string "gc_update_l2p_map_new sblk %x\n" .LC249: - .string "gc_scan_src_blk = %x, vpn = %d\n" + .string "gc_update_l2p_map_new: %x %x %x\n" .LC250: - .string "js hash error:%x %x %x\n" + .string "lpa: %x %x %x\n" .LC251: - .string "gc_scan_src_blk = %x, s vpn0 = %d, c vpn1 = %d\n" + .string "gc_update_l2p_map_new: %x vpn = %x vpn1 = %x done\n" .LC252: - .string "gc_block_vpn_scan = %x, s vpn0 = %d, c vpn1 = %d f:%d\n" + .string "gc_scan_src_blk = %x, vpn = %d\n" .LC253: - .string "ftl_sblk_dump = %x %d %d %d %d\n" + .string "js hash error:%x %x %x\n" .LC254: - .string "ftl_sblk_dump = %x %x %x %x\n" + .string "gc_scan_src_blk = %x, s vpn0 = %d, c vpn1 = %d\n" .LC255: - .string "page_addr = %x, lpa=%x vpn = %d\n" + .string "gc_block_vpn_scan = %x, s vpn0 = %d, c vpn1 = %d f:%d\n" .LC256: - .string "index= %x, lpa=%x\n" + .string "ftl_sblk_dump = %x %d %d %d %d\n" .LC257: - .string "block = %x, vpn=%x check vpn = %x\n" + .string "ftl_sblk_dump = %x %x %x %x\n" .LC258: - .string "ftl_read %x %x %x\n" + .string "page_addr = %x, lpa=%x vpn = %d\n" .LC259: - .string "ftl_read refresh =%x, lpa = %x, ppa= %x\n" + .string "index= %x, lpa=%x\n" .LC260: - .string "id=%d, status = %x, lpa = %x, ppa = %x spare = %x %x %x %x\n" + .string "block = %x, vpn=%x check vpn = %x\n" .LC261: - .string "zftl debug cmd: %s\n" + .string "ftl_read %x %x %x\n" .LC262: - .string "cmd:" + .string "ftl_read refresh =%x, lpa = %x, ppa= %x\n" .LC263: - .string "dumpl2p" + .string "id=%d, status = %x, lpa = %x, ppa = %x spare = %x %x %x %x\n" .LC264: - .string "pm l2p:" + .string "zftl debug cmd: %s\n" .LC265: - .string "pm blk:" + .string "cmd:" .LC266: - .string "dumppm:" + .string "dumpl2p" .LC267: - .string "p_cmd: %s\n" + .string "pm l2p:" .LC268: - .string "pm ram = %x, %x\n" + .string "pm blk:" .LC269: - .string "ram:" + .string "dumppm:" .LC270: - .string "pm:" + .string "p_cmd: %s\n" .LC271: - .string "dumpsys" + .string "pm ram = %x, %x\n" .LC272: - .string "dumplist:" + .string "ram:" .LC273: - .string "vpncheck" + .string "pm:" .LC274: - .string "dumpppa:" + .string "dumpsys" .LC275: - .string "dumpblk:" + .string "dumplist:" .LC276: - .string "setzdebug:" + .string "vpncheck" .LC277: - .string "lpa2ppa:" + .string "dumpppa:" .LC278: - .string "lpa: %x--> ppa: %x\n" + .string "dumpblk:" .LC279: - .string "help:\n" + .string "setzdebug:" .LC280: - .string "1. echo dumpl2p > /proc/zftl_debug\n" + .string "lpa2ppa:" .LC281: - .string "2. echo dumppm:x > /proc/zftl_debug\n" + .string "lpa: %x--> ppa: %x\n" .LC282: - .string "3. echo dumpsys > /proc/zftl_debug\n" + .string "help:\n" .LC283: - .string "4. echo dumpppa:x > /proc/zftl_debug\n" + .string "1. echo dumpl2p > /proc/zftl_debug\n" .LC284: - .string "5. echo vpncheck > /proc/zftl_debug\n" + .string "2. echo dumppm:x > /proc/zftl_debug\n" .LC285: - .string "6. echo setzdebug:x > /proc/zftl_debug\n" + .string "3. echo dumpsys > /proc/zftl_debug\n" .LC286: - .string "7. echo dumplist > /proc/zftl_debug\n" + .string "4. echo dumpppa:x > /proc/zftl_debug\n" .LC287: - .string "8. echo lpa2ppa:x> /proc/zftl_debug\n" + .string "5. echo vpncheck > /proc/zftl_debug\n" .LC288: - .string "ftl_update_l2p_map: %x %x %x\n" + .string "6. echo setzdebug:x > /proc/zftl_debug\n" .LC289: - .string "ftl_update_l2p_map" + .string "7. echo dumplist:x > /proc/zftl_debug\n" .LC290: - .string "lpa_tbl:" + .string "8. echo lpa2ppa:x> /proc/zftl_debug\n" .LC291: - .string "sblk %x vpn: %d %d\n" + .string "ftl_update_l2p_map: %x %x %x\n" .LC292: - .string "error gc_add_sblk: %x\n" + .string "ftl_update_l2p_map" .LC293: - .string "%d read error: ppa:%x, lpa:%x, status:%x\n" + .string "lpa_tbl:" .LC294: - .string "gc page in buf: lpa %x ppa = %x pageindex= %x\n" + .string "sblk %x vpn: %d %d\n" .LC295: - .string "gc_do_copy_back: lpa %x des_ppa = %x %x gc_ppa= %x page_index= %d\n" + .string "error gc_add_sblk: %x\n" .LC296: - .string "gc %d: %d %d %d %d %d %d %d\n" + .string "%d read error: ppa:%x, lpa:%x, status:%x\n" .LC297: - .string "GC_STATE_SCAN_ALL_PAGE = %x, vpn0 = %d, vpn1 = %d\n" + .string "gc page in buf: lpa %x ppa = %x pageindex= %x\n" .LC298: - .string "gc free %x, %d\n" + .string "gc_do_copy_back: lpa %x des_ppa = %x %x gc_ppa= %x page_index= %d\n" .LC299: - .string "_c_user_data_density := %d\n" + .string "gc %d: %d %d %d %d %d %d %d\n" .LC300: - .string "_c_totle_phy_density := %d\n" + .string "GC_STATE_SCAN_ALL_PAGE = %x, vpn0 = %d, vpn1 = %d\n" .LC301: - .string "_c_totle_log_page := %d\n" + .string "gc free %x, %d\n" .LC302: - .string "_c_totle_data_density := %d\n" + .string "_c_user_data_density := %d\n" .LC303: - .string "_c_ftl_pm_page_num := %d\n" + .string "_c_totle_phy_density := %d\n" .LC304: - .string "_c_ftl_byte_pre_page := %d\n" + .string "_c_totle_log_page := %d\n" .LC305: - .string "_c_max_pm_sblk := %d\n" + .string "_c_totle_data_density := %d\n" .LC306: - .string "_min_slc_super_block := %d\n" + .string "_c_ftl_pm_page_num := %d\n" .LC307: - .string "_max_xlc_super_block := %d\n" + .string "_c_ftl_byte_pre_page := %d\n" .LC308: - .string "gp_ftl_ext_info %p %p %p\n" + .string "_c_max_pm_sblk := %d\n" .LC309: - .string "flash info size: %d %d %d\n" + .string "_min_slc_super_block := %d\n" .LC310: - .string "ftl_init %x\n" + .string "_max_xlc_super_block := %d\n" .LC311: - .string "ftlwrite %x %x %x %x\n" + .string "gp_ftl_ext_info %p %p %p\n" .LC312: - .string "ftl_discard:(%x, %x, %x, %x)\n" + .string "flash info size: %d %d %d\n" .LC313: - .string "id_block_prog_msb_ff_data slc page = %d pageadd=%x %x\n" + .string "ftl_init %x\n" .LC314: - .string "write_idblock fix data %x %x\n" + .string "ftlwrite %x %x %x %x\n" .LC315: - .string "idblk:" + .string "ftl_discard:(%x, %x, %x, %x)\n" .LC316: - .string "write_idblock totle_sec %x %x\n" + .string "id_block_prog_msb_ff_data slc page = %d pageadd=%x %x\n" .LC317: - .string "prog page: %x %x %x, %p %x %x %x\n" + .string "write_idblock fix data %x %x\n" .LC318: - .string "read page: %x %x %x %x\n" + .string "idblk:" .LC319: - .string "wl_lba %p %x %x %x\n" + .string "write_idblock totle_sec %x %x\n" .LC320: - .string "RKNAND_GET_DRM_KEY\n" + .string "prog page: %x %x %x, %p %x %x %x\n" .LC321: - .string "rk_copy_from_user error\n" + .string "read page: %x %x %x %x\n" .LC322: - .string "RKNAND_STORE_DRM_KEY\n" + .string "wl_lba %p %x %x %x\n" .LC323: - .string "RKNAND_DIASBLE_SECURE_BOOT\n" + .string "RKNAND_GET_DRM_KEY\n" .LC324: - .string "RKNAND_ENASBLE_SECURE_BOOT\n" + .string "rk_copy_from_user error\n" .LC325: - .string "RKNAND_GET_SN_SECTOR\n" + .string "RKNAND_STORE_DRM_KEY\n" .LC326: - .string "RKNAND_LOADER_UNLOCK\n" + .string "RKNAND_DIASBLE_SECURE_BOOT\n" .LC327: - .string "RKNAND_LOADER_STATUS\n" + .string "RKNAND_ENASBLE_SECURE_BOOT\n" .LC328: - .string "RKNAND_LOADER_LOCK\n" + .string "RKNAND_GET_SN_SECTOR\n" .LC329: - .string "LockKey not match %d\n" + .string "RKNAND_LOADER_UNLOCK\n" .LC330: - .string "RKNAND_GET_VENDOR_SECTOR\n" + .string "RKNAND_LOADER_STATUS\n" .LC331: - .string "RKNAND_STORE_VENDOR_SECTOR\n" + .string "RKNAND_LOADER_LOCK\n" .LC332: - .string "return ret = %lx\n" + .string "LockKey not match %d\n" .LC333: - .string "secureBootEn check error\n" + .string "RKNAND_GET_VENDOR_SECTOR\n" .LC334: + .string "RKNAND_STORE_VENDOR_SECTOR\n" +.LC335: + .string "return ret = %lx\n" +.LC336: + .string "secureBootEn check error\n" +.LC337: .string "\0013vendor storage %x,%x,%x\n" .data .align 3 @@ -34749,10 +35316,19 @@ ftl_sblk_vpn: .size gp_ftl_ext_info, 8 gp_ftl_ext_info: .zero 8 - .type gp_data_slc_data_head, %object - .size gp_data_slc_data_head, 8 -gp_data_slc_data_head: + .type gp_flash_info, %object + .size gp_flash_info, 8 +gp_flash_info: .zero 8 + .type g_retryMode, %object + .size g_retryMode, 1 +g_retryMode: + .zero 1 + .type g_maxRegNum, %object + .size g_maxRegNum, 1 +g_maxRegNum: + .zero 1 + .zero 6 .type gp_nand_para_info, %object .size gp_nand_para_info, 8 gp_nand_para_info: @@ -34800,19 +35376,7 @@ fill_spare_size: .size g_nandc_ecc_bits, 1 g_nandc_ecc_bits: .zero 1 - .type g_retryMode, %object - .size g_retryMode, 1 -g_retryMode: - .zero 1 - .type g_maxRegNum, %object - .size g_maxRegNum, 1 -g_maxRegNum: - .zero 1 - .zero 1 - .type gp_flash_info, %object - .size gp_flash_info, 8 -gp_flash_info: - .zero 8 + .zero 3 .type g_die_cs_idx, %object .size g_die_cs_idx, 8 g_die_cs_idx: @@ -34961,9 +35525,9 @@ write_buf_head: .zero 1 .zero 7 .type g_gc_info, %object - .size g_gc_info, 2136 + .size g_gc_info, 2216 g_gc_info: - .zero 2136 + .zero 2216 .type ftl_sblk_vpn_update_id, %object .size ftl_sblk_vpn_update_id, 2 ftl_sblk_vpn_update_id: @@ -35020,13 +35584,9 @@ gc_mode: _c_ftl_page_pre_blk: .zero 2 .zero 4 - .type gp_data_xlc_data_head, %object - .size gp_data_xlc_data_head, 8 -gp_data_xlc_data_head: - .zero 8 - .type gp_data_slc_cache_head, %object - .size gp_data_slc_cache_head, 8 -gp_data_slc_cache_head: + .type gp_data_slc_data_head, %object + .size gp_data_slc_data_head, 8 +gp_data_slc_data_head: .zero 8 .type gc_slc_data_index, %object .size gc_slc_data_index, 2 @@ -35040,6 +35600,15 @@ gc_slc_cache_index: .size gc_xlc_data_index, 2 gc_xlc_data_index: .zero 2 + .zero 2 + .type gp_data_slc_cache_head, %object + .size gp_data_slc_cache_head, 8 +gp_data_slc_cache_head: + .zero 8 + .type gp_data_xlc_data_head, %object + .size gp_data_xlc_data_head, 8 +gp_data_xlc_data_head: + .zero 8 .type _c_ftl_page_pre_slc_blk, %object .size _c_ftl_page_pre_slc_blk, 2 _c_ftl_page_pre_slc_blk: @@ -35055,7 +35624,6 @@ _min_slc_super_block: .type _max_xlc_super_block, %object .size _max_xlc_super_block, 2 _max_xlc_super_block: - .zero 2 .zero 2 .type gp_free_slc_head, %object .size gp_free_slc_head, 8 @@ -35123,9 +35691,6 @@ read_buf_head: .size read_buf_count, 1 read_buf_count: .zero 1 - .type pm_gc_enable, %object - .size pm_gc_enable, 4 -pm_gc_enable: .zero 4 .type pm_ram_info, %object .size pm_ram_info, 512 @@ -35255,7 +35820,7 @@ ftl_flush_jiffies: .size g_flash_multi_page_read_en, 1 g_flash_multi_page_read_en: .zero 1 - .zero 47 + .zero 23 .type ftl_info_spare, %object .size ftl_info_spare, 256 ftl_info_spare: @@ -35291,6 +35856,11 @@ ftl_ext_info_data_buffer: .size ftl_tmp_spare, 256 ftl_tmp_spare: .zero 256 + .type pm_gc_enable, %object + .size pm_gc_enable, 4 +pm_gc_enable: + .zero 4 + .zero 4 .type g_pm_spare, %object .size g_pm_spare, 8 g_pm_spare: