From ea08eeccae9297f7aabd2ef7f0c2517ac4549acc Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Tue, 20 Feb 2024 01:18:26 +0000
Subject: [PATCH] write in 30M
---
kernel/drivers/rk_nand/rk_zftl_arm32.S | 43774 +++++++++++++++++++++++++++++------------------------------
1 files changed, 21,811 insertions(+), 21,963 deletions(-)
diff --git a/kernel/drivers/rk_nand/rk_zftl_arm32.S b/kernel/drivers/rk_nand/rk_zftl_arm32.S
index 7af38f2..4af2ab3 100644
--- a/kernel/drivers/rk_nand/rk_zftl_arm32.S
+++ b/kernel/drivers/rk_nand/rk_zftl_arm32.S
@@ -5,12 +5,11 @@
* 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: 2021-03-15
+ * date: 2021-07-26
* function: rk ftl v6 for rockchip soc base on arm v7 to support 3D/2D
* TLC and MLC.
*/
.arch armv7-a
- .fpu softvfp
.eabi_attribute 20, 1
.eabi_attribute 21, 1
.eabi_attribute 23, 3
@@ -19,73 +18,139 @@
.eabi_attribute 26, 2
.eabi_attribute 30, 4
.eabi_attribute 34, 1
- .eabi_attribute 18, 4
- .file "rk_zftl_arm_v7.S"
-#APP
+ .file "rk_zftl_arm_v7.c"
.syntax unified
- .global __aeabi_uidiv
.text
.align 2
+ .fpu softvfp
+ .type flash_mem_cmp8, %function
+flash_mem_cmp8:
+ .fnstart
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ mov r3, #0
+ cmp r3, r2
+ bne .L10
+ mov r0, #0
+ bx lr
+.L2:
+ cmp r3, r2
+ bne .L5
+ mov r0, #0
+ ldr pc, [sp], #4
+.L10:
+ str lr, [sp, #-4]!
+ .save {lr}
+.L5:
+ ldrb lr, [r0, r3] @ zero_extendqisi2
+ ldrb ip, [r1, r3] @ zero_extendqisi2
+ add r3, r3, #1
+ cmp lr, ip
+ beq .L2
+ mov r0, r3
+ ldr pc, [sp], #4
+ .fnend
+ .size flash_mem_cmp8, .-flash_mem_cmp8
+ .global __aeabi_uidiv
+ .global __aeabi_uidivmod
+ .align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
.type slc_phy_page_address_calc, %function
slc_phy_page_address_calc:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, lr}
- .save {r4, r5, r6, lr}
+ push {r4, r5, r6, r7, r8, lr}
+ .save {r4, r5, r6, r7, r8, lr}
mov r4, r0
- ldr r6, .L14
- ldrb r3, [r6] @ zero_extendqisi2
+ ldr r5, .L22
+ ldrb r3, [r5] @ zero_extendqisi2
cmp r3, #0
- beq .L2
- ldrb r3, [r6, #1] @ zero_extendqisi2
+ beq .L12
+ ldrb r3, [r5, #1] @ zero_extendqisi2
cmp r3, #0
- beq .L3
-.L2:
- ldrh r5, [r6, #2]
+ beq .L13
+.L12:
+ ldrh r6, [r5, #2]
mov r0, r4
- mov r1, r5
+ mov r1, r6
bl __aeabi_uidiv
- ldrb r3, [r6, #1] @ zero_extendqisi2
- cmp r3, #0
- ldreq r3, .L14
- mul r0, r5, r0
- rsb r4, r0, r4
- mov r4, r4, asl #1
- addeq r4, r3, r4
- ldreqh r4, [r4, #4]
- add r4, r4, r0
-.L3:
+ mov r1, r6
+ mul r7, r6, r0
mov r0, r4
- ldmfd sp!, {r4, r5, r6, pc}
-.L15:
+ bl __aeabi_uidivmod
+ ldrb r3, [r5, #1] @ zero_extendqisi2
+ lsl r1, r1, #1
+ cmp r3, #0
+ addeq r1, r5, r1
+ addne r4, r1, r7
+ ldrheq r4, [r1, #4]
+ addeq r4, r4, r7
+.L13:
+ mov r0, r4
+ pop {r4, r5, r6, r7, r8, pc}
+.L23:
.align 2
-.L14:
+.L22:
.word .LANCHOR0
.fnend
.size slc_phy_page_address_calc, .-slc_phy_page_address_calc
.align 2
.global zftl_nandc_get_irq_status
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_nandc_get_irq_status, %function
zftl_nandc_get_irq_status:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L19
+ ldr r3, .L27
ldrb r3, [r3, #1028] @ zero_extendqisi2
cmp r3, #9
ldreq r0, [r0, #296]
ldrne r0, [r0, #372]
bx lr
-.L20:
+.L28:
.align 2
-.L19:
+.L27:
.word .LANCHOR0
.fnend
.size zftl_nandc_get_irq_status, .-zftl_nandc_get_irq_status
+ .section .text.unlikely,"ax",%progbits
+ .align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type isxdigit, %function
+isxdigit:
+ .fnstart
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ @ link register save eliminated.
+ bic r3, r0, #32
+ sub r3, r3, #65
+ cmp r3, #25
+ bls .L31
+ sub r0, r0, #48
+ cmp r0, #9
+ movhi r0, #0
+ movls r0, #1
+ bx lr
+.L31:
+ mov r0, #1
+ bx lr
+ .fnend
+ .size isxdigit, .-isxdigit
+ .text
.align 2
.global zftl_get_density
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_get_density, %function
zftl_get_density:
.fnstart
@@ -93,63 +158,66 @@
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
cmp r0, #0
- bne .L22
- ldr r3, .L25
+ bne .L33
+ ldr r3, .L36
ldr r0, [r3, #1032]
bx lr
-.L22:
+.L33:
cmp r0, #4
movcc r0, #8192
movcs r0, #0
bx lr
-.L26:
+.L37:
.align 2
-.L25:
+.L36:
.word .LANCHOR0
.fnend
.size zftl_get_density, .-zftl_get_density
.align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
.type _list_remove_node, %function
_list_remove_node:
.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}
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
mov r5, #6
+ ldr r6, .L47
mul r5, r5, r1
- ldr r6, .L36
- mov r7, r0
movw r3, #65535
ldr r8, [r6, #1036]
+ ldrh ip, [r8, r5]
add r4, r8, r5
- ldrh r0, [r8, r5]
ldrh r1, [r4, #2]
- cmp r0, r3
- ldr r3, [r7]
- bne .L28
- cmp r1, r0
- bne .L28
+ cmp ip, r3
+ ldr r3, [r0]
+ bne .L39
+ cmp r1, ip
+ bne .L39
cmp r4, r3
- ldmnefd sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
-.L28:
+ popne {r4, r5, r6, r7, r8, r9, r10, pc}
+.L39:
mov r9, r2
movw r2, #65535
cmp r1, r2
- bne .L30
+ mov r7, r0
+ bne .L41
cmp r4, r3
- beq .L30
- ldr r1, .L36+4
+ beq .L41
mov r2, #202
- ldr r0, .L36+8
+ ldr r1, .L47+4
+ ldr r0, .L47+8
bl printk
bl dump_stack
-.L30:
+.L41:
ldr r3, [r7]
movw r2, #65535
cmp r4, r3
ldrh r3, [r8, r5]
- bne .L31
+ bne .L42
cmp r3, r2
ldrne r2, [r6, #1036]
movne r1, #6
@@ -158,20 +226,27 @@
mlane r3, r1, r3, r2
mvnne r2, #0
strne r3, [r7]
- strneh r2, [r3, #2] @ movhi
- b .L33
-.L31:
+ strhne r2, [r3, #2] @ movhi
+.L44:
+ mvn r3, #0
+ strh r3, [r8, r5] @ movhi
+ strh r3, [r4, #2] @ movhi
+ ldrh r3, [r9]
+ sub r3, r3, #1
+ strh r3, [r9] @ movhi
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L42:
cmp r3, r2
ldrh r1, [r4, #2]
- bne .L34
+ bne .L45
cmp r1, r3
movne r3, #6
ldrne r2, [r6, #1036]
mulne r1, r3, r1
mvnne r3, #0
- strneh r3, [r2, r1] @ movhi
- b .L33
-.L34:
+ strhne r3, [r2, r1] @ movhi
+ b .L44
+.L45:
ldr r0, [r6, #1036]
mov r2, #6
mla r3, r2, r3, r0
@@ -181,65 +256,142 @@
ldr r3, [r6, #1036]
mul r2, r2, r0
strh r1, [r3, r2] @ movhi
-.L33:
- mvn r3, #0
- strh r3, [r8, r5] @ movhi
- strh r3, [r4, #2] @ movhi
- ldrh r3, [r9]
- sub r3, r3, #1
- strh r3, [r9] @ movhi
- ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
-.L37:
+ b .L44
+.L48:
.align 2
-.L36:
+.L47:
.word .LANCHOR0
.word .LANCHOR1
.word .LC0
.fnend
.size _list_remove_node, .-_list_remove_node
.align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type ndelay, %function
+ndelay:
+ .fnstart
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ @ link register save eliminated.
+ ldr r3, .L50
+ add r0, r0, #996
+ add r0, r0, #3
+ umull r0, r1, r0, r3
+ ldr r3, .L50+4
+ ldr r3, [r3, #8]
+ lsr r0, r1, #6
+ bx r3 @ indirect register sibling call
+.L51:
+ .align 2
+.L50:
+ .word 274877907
+ .word arm_delay_ops
+ .fnend
+ .size ndelay, .-ndelay
+ .align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type hynix_set_rr_para, %function
+hynix_set_rr_para:
+ .fnstart
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ ldr r2, .L58
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
+ lsl r9, r0, #8
+ ldr r3, [r2, #1040]
+ ldr r6, [r2, #1044]
+ ldrb ip, [r3, #113] @ zero_extendqisi2
+ add r4, r3, #112
+ ldrb r2, [r3, #112] @ zero_extendqisi2
+ add r5, r6, r9
+ add r7, r3, #128
+ add r8, r3, #127
+ mul r1, r1, ip
+ cmp r2, #8
+ movne r2, #160
+ add r1, r1, #32
+ smlabbne r1, r2, r0, r1
+ mov r2, #54
+ str r2, [r5, #2056]
+ sub r2, ip, #1
+ add r4, r4, r1
+ add r7, r7, r2
+ sub r4, r4, #1
+.L55:
+ cmp r8, r7
+ bne .L56
+ add r6, r6, r9
+ mov r3, #22
+ str r3, [r6, #2056]
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L56:
+ ldrb r3, [r8, #1]! @ zero_extendqisi2
+ mov r0, #120
+ str r3, [r5, #2052]
+ bl ndelay
+ ldrsb r3, [r4, #1]!
+ str r3, [r5, #2048]
+ b .L55
+.L59:
+ .align 2
+.L58:
+ .word .LANCHOR0
+ .fnend
+ .size hynix_set_rr_para, .-hynix_set_rr_para
+ .align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_debug_proc_open, %function
zftl_debug_proc_open:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, lr}
+ push {r4, lr}
.save {r4, lr}
mov r4, r1
bl PDE_DATA
- ldr r1, .L40
mov r2, r0
mov r0, r4
- ldmfd sp!, {r4, lr}
+ ldr r1, .L62
+ pop {r4, lr}
b single_open
-.L41:
+.L63:
.align 2
-.L40:
+.L62:
.word zftl_debug_proc_show
.fnend
.size zftl_debug_proc_open, .-zftl_debug_proc_open
.align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_debug_proc_show, %function
zftl_debug_proc_show:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, lr}
+ push {r4, lr}
.save {r4, lr}
mov r4, r0
- ldr r1, .L44
- ldr r2, .L44+4
+ ldr r2, .L66
+ ldr r1, .L66+4
bl seq_printf
- ldr r3, .L44+8
+ ldr r3, .L66+8
mov r0, r4
- ldr r1, .L44+12
+ ldr r1, .L66+12
ldr r2, [r3]
bl seq_printf
mov r0, #0
- ldmfd sp!, {r4, pc}
-.L45:
+ pop {r4, pc}
+.L67:
.align 2
-.L44:
+.L66:
.word .LC1
.word .LC2
.word .LANCHOR2
@@ -248,66 +400,110 @@
.size zftl_debug_proc_show, .-zftl_debug_proc_show
.align 2
.global zftl_flash_suspend
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_flash_suspend, %function
zftl_flash_suspend:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L50
+ ldr r3, .L72
ldrb r2, [r3, #1028] @ zero_extendqisi2
cmp r2, #9
- ldr r2, [r3, #1040]
+ ldr r2, [r3, #1044]
ldr r1, [r2]
- str r1, [r3, #1044]
- ldr r1, [r2, #4]
str r1, [r3, #1048]
- bne .L47
- ldr r1, [r2, #16]
+ ldr r1, [r2, #4]
str r1, [r3, #1052]
- ldr r1, [r2, #32]
+ bne .L69
+ ldr r1, [r2, #16]
str r1, [r3, #1056]
- ldr r1, [r2, #80]
+ ldr r1, [r2, #32]
str r1, [r3, #1060]
- ldr r1, [r2, #84]
+ ldr r1, [r2, #80]
str r1, [r3, #1064]
+ ldr r1, [r2, #84]
+ str r1, [r3, #1068]
ldr r1, [r2, #520]
ldr r2, [r2, #8]
- str r1, [r3, #1068]
- b .L49
-.L47:
+ str r1, [r3, #1072]
+.L71:
+ str r2, [r3, #1076]
+ bx lr
+.L69:
ldr r1, [r2, #8]
- str r1, [r3, #1052]
- ldr r1, [r2, #12]
str r1, [r3, #1056]
- ldr r1, [r2, #304]
+ ldr r1, [r2, #12]
str r1, [r3, #1060]
- ldr r1, [r2, #308]
+ ldr r1, [r2, #304]
str r1, [r3, #1064]
+ ldr r1, [r2, #308]
+ str r1, [r3, #1068]
ldr r1, [r2, #336]
ldr r2, [r2, #344]
- str r1, [r3, #1068]
-.L49:
- str r2, [r3, #1072]
- bx lr
-.L51:
+ str r1, [r3, #1072]
+ b .L71
+.L73:
.align 2
-.L50:
+.L72:
.word .LANCHOR0
.fnend
.size zftl_flash_suspend, .-zftl_flash_suspend
.align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type nandc_irq_disable, %function
+nandc_irq_disable:
+ .fnstart
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ @ link register save eliminated.
+ ldr r3, .L77
+ ldrb r3, [r3, #1028] @ zero_extendqisi2
+ cmp r3, #9
+ mov r3, #1
+ bne .L75
+ ldr r2, [r0, #292]
+ lsl r1, r3, r1
+ orr r3, r2, r1
+ str r3, [r0, #292]
+ ldr r3, [r0, #288]
+ bic r1, r3, r1
+ str r1, [r0, #288]
+ bx lr
+.L75:
+ ldr r2, [r0, #368]
+ lsl r1, r3, r1
+ orr r3, r2, r1
+ str r3, [r0, #368]
+ ldr r3, [r0, #364]
+ bic r1, r3, r1
+ str r1, [r0, #364]
+ bx lr
+.L78:
+ .align 2
+.L77:
+ .word .LANCHOR0
+ .fnend
+ .size nandc_irq_disable, .-nandc_irq_disable
+ .align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
.type _insert_free_list, %function
_insert_free_list:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- ldr r3, .L62
- movw ip, #1076
+ ldr r3, .L91
+ movw ip, #1080
ldrh ip, [r3, ip]
cmp ip, r1
bxls lr
- stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {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 r4, r3
@@ -315,681 +511,825 @@
add ip, ip, #1
strh ip, [r2] @ movhi
mov ip, #6
- ldr r7, [r3, #1036]
mul r6, ip, r1
+ ldr r7, [r3, #1036]
mvn r3, #0
add lr, r7, r6
strh r3, [lr, #2] @ movhi
strh r3, [r7, r6] @ movhi
ldr r3, [r0]
cmp r3, #0
- beq .L61
- ldr r5, [r4, #1080]
- movw r8, #1084
- ldrh r10, [r4, r8]
- mov r2, r1, asl #2
+ bne .L81
+.L90:
+ str lr, [r0]
+ b .L79
+.L81:
+ ldr r5, [r4, #1084]
+ add r2, r4, #1088
+ ldrh r10, [r2]
+ lsl r8, r1, #2
ldr r9, [r4, #1036]
movw fp, #65535
- ldr r8, [r5, r1, asl #2]
- ldrh r2, [r5, r2]
- ubfx r8, r8, #11, #8
+ ldr r2, [r5, r1, lsl #2]
+ ldrh r8, [r5, r8]
str ip, [sp, #4]
- ubfx r2, r2, #0, #11
- smulbb r8, r8, r10
- add r2, r8, r2
- rsb r8, r9, r3
+ ubfx r2, r2, #11, #8
+ smulbb r2, r2, r10
+ ubfx r8, r8, #0, #11
+ add r2, r2, r8
uxth r2, r2
str r2, [sp]
- ldr r2, .L62+4
- mov r8, r8, asr #1
+ sub r2, r3, r9
+ asr r8, r2, #1
+ ldr r2, .L91+4
mul r2, r2, r8
uxth r2, r2
-.L57:
- ldr ip, [r5, r2, asl #2]
- mov r8, r2, asl #2
- ubfx ip, ip, #11, #8
+.L84:
+ ldr ip, [r5, r2, lsl #2]
+ lsl r8, r2, #2
ldrh r8, [r5, r8]
+ ubfx ip, ip, #11, #8
smulbb ip, ip, r10
ubfx r8, r8, #0, #11
- add r8, ip, r8
- ldr ip, [sp]
- uxth r8, r8
+ add ip, ip, r8
+ ldr r8, [sp]
+ uxth ip, ip
cmp r8, ip
- bcs .L55
+ bls .L82
ldrh ip, [r3]
cmp ip, fp
- streqh r2, [lr, #2] @ movhi
- streqh r1, [r3] @ movhi
- beq .L52
-.L56:
+ bne .L83
+ strh r2, [lr, #2] @ movhi
+ strh r1, [r3] @ movhi
+.L79:
+ add sp, sp, #12
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L83:
ldr r3, [sp, #4]
mov r2, ip
mla r3, r3, ip, r9
- b .L57
-.L55:
+ b .L84
+.L82:
ldrh ip, [r3, #2]
strh ip, [lr, #2] @ movhi
strh r2, [r7, r6] @ movhi
ldr r2, [r0]
cmp r3, r2
- bne .L58
- strh r1, [r3, #2] @ movhi
-.L61:
- str lr, [r0]
- b .L52
-.L58:
+ strheq r1, [r3, #2] @ movhi
+ beq .L90
+.L85:
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
-.L52:
- add sp, sp, #12
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L63:
+ b .L79
+.L92:
.align 2
-.L62:
+.L91:
.word .LANCHOR0
.word -1431655765
.fnend
.size _insert_free_list, .-_insert_free_list
.align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
.type _insert_data_list, %function
_insert_data_list:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
- ldr ip, .L85
- movw r3, #1076
- ldrh r3, [ip, r3]
- cmp r3, r1
+ ldr r3, .L116
+ movw ip, #1080
+ ldrh ip, [r3, ip]
+ cmp ip, r1
bxls lr
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
mov r5, #6
- ldrh r3, [r2]
+ ldrh ip, [r2]
+ mul r5, r5, r1
+ mov r4, r3
.pad #28
sub sp, sp, #28
- mul r5, r5, r1
- add r3, r3, #1
- strh r3, [r2] @ movhi
+ add ip, ip, #1
+ strh ip, [r2] @ movhi
+ ldr r10, [r3, #1036]
mvn r3, #0
- ldr r10, [ip, #1036]
add lr, r10, r5
strh r3, [lr, #2] @ movhi
strh r3, [r10, r5] @ movhi
ldr r3, [r0]
cmp r3, #0
- beq .L84
- ldr r2, [ip, #1088]
- movw r8, #1084
- ldr r9, [ip, #1080]
- ldrh ip, [ip, r8]
+ bne .L96
+.L115:
+ str lr, [r0]
+ b .L93
+.L96:
+ ldr r2, [r4, #1092]
+ add r8, r4, #1088
+ ldr r9, [r4, #1084]
+ ldrh r8, [r8]
str r2, [sp, #4]
- mov r2, r1, asl #1
- ldr r6, [sp, #4]
- ldrh r4, [lr, #4]
- str ip, [sp, #8]
- ldrh r7, [r6, r2]
- muls ip, r4, r7
- ldr r6, [r9, r1, asl #2]
- mov r2, r1, asl #2
- ldrneh r7, [sp, #8]
- ubfx r6, r6, #11, #8
+ lsl r2, r1, #1
+ ldr ip, [sp, #4]
+ ldrh r6, [lr, #4]
+ ldr r7, [r9, r1, lsl #2]
+ ldrh ip, [ip, r2]
+ muls ip, r6, ip
+ str r8, [sp, #8]
+ lsl r2, r1, #2
+ ldrhne r8, [sp, #8]
+ ubfx r7, r7, #11, #8
ldrh r2, [r9, r2]
- smulbbne r6, r6, r7
+ smulbbne r7, r7, r8
ubfx r2, r2, #0, #11
- addne r2, r2, r6
+ addne r2, r2, r7
uxtahne ip, ip, r2
- cmp r4, #0
- ldr r4, .L85
- mvneq ip, #0
ldr r2, [r4, #1036]
- rsb r6, r2, r3
+ cmp r6, #0
+ mvneq ip, #0
str r2, [sp, #12]
- ldr r2, .L85+4
- mov r6, r6, asr #1
+ sub r2, r3, r2
+ asr r6, r2, #1
+ ldr r2, .L116+4
mul r2, r2, r6
- movw r6, #1076
+ movw r6, #1080
ldrh r4, [r4, r6]
mov r6, #0
- str r4, [sp, #16]
uxth r2, r2
-.L74:
+ str r4, [sp, #16]
+.L103:
+ sub r4, r1, r2
+ ldr r7, [sp, #16]
add r6, r6, #1
- ldr r4, [sp, #16]
+ clz r4, r4
uxth r6, r6
- cmp r6, r4
- movls r4, #0
- movhi r4, #1
- cmp r1, r2
- orreq r4, r4, #1
+ lsr r4, r4, #5
+ cmp r6, r7
+ orrhi r4, r4, #1
cmp r4, #0
- bne .L64
+ bne .L93
ldr r7, [sp, #4]
- mov r4, r2, asl #1
- ldr r8, [r9, r2, asl #2]
+ lsl r4, r2, #1
ldrh fp, [r3, #4]
+ ldr r8, [r9, r2, lsl #2]
ldrh r4, [r7, r4]
- mov r7, r2, asl #2
+ lsl r7, r2, #2
muls r4, fp, r4
- ubfx r8, r8, #11, #8
ldrh r7, [r9, r7]
+ ubfx r8, r8, #11, #8
ubfx r7, r7, #0, #11
str r7, [sp, #20]
- ldrneh r7, [sp, #8]
+ ldrhne r7, [sp, #8]
smulbbne r8, r8, r7
ldrne r7, [sp, #20]
- addne r8, r7, r8
- uxtahne r4, r4, r8
+ addne r7, r7, r8
+ uxtahne r4, r4, r7
cmp fp, #0
- cmpne r4, ip
- bcs .L72
+ cmpne ip, r4
+ bls .L101
ldrh r4, [r3]
movw r7, #65535
cmp r4, r7
- streqh r2, [lr, #2] @ movhi
- streqh r1, [r3] @ movhi
- beq .L64
-.L73:
+ bne .L102
+ strh r2, [lr, #2] @ movhi
+ strh r1, [r3] @ movhi
+.L93:
+ add sp, sp, #28
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L102:
ldr r2, [sp, #12]
mov r3, #6
mla r3, r3, r4, r2
mov r2, r4
- b .L74
-.L72:
+ b .L103
+.L101:
ldrh ip, [r3, #2]
strh ip, [lr, #2] @ movhi
strh r2, [r10, r5] @ movhi
ldr r2, [r0]
cmp r3, r2
- bne .L75
- strh r1, [r3, #2] @ movhi
-.L84:
- str lr, [r0]
- b .L64
-.L75:
- ldr r2, .L85
+ strheq r1, [r3, #2] @ movhi
+ beq .L115
+.L104:
ldrh ip, [r3, #2]
+ ldr r2, .L116
ldr r0, [r2, #1036]
mov r2, #6
mul r2, r2, ip
strh r1, [r0, r2] @ movhi
strh r1, [r3, #2] @ movhi
-.L64:
- add sp, sp, #28
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L86:
+ b .L93
+.L117:
.align 2
-.L85:
+.L116:
.word .LANCHOR0
.word -1431655765
.fnend
.size _insert_data_list, .-_insert_data_list
.align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
.type _list_update_data_list, %function
_list_update_data_list:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
.save {r4, r5, r6, r7, r8, r9, r10, lr}
- mov r4, r1
- ldr r1, .L98
- mov r6, r0
- ldr r3, [r1, #1092]
- ldrh r0, [r3, #16]
- cmp r0, r4
- ldmeqfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
- mov r5, r1
- ldrh r1, [r3, #48]
- cmp r1, r4
- ldmeqfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
+ ldr r5, .L129
+ ldr r3, [r5, #1096]
+ ldrh ip, [r3, #16]
+ cmp ip, r1
+ popeq {r4, r5, r6, r7, r8, r9, r10, pc}
+ ldrh ip, [r3, #48]
+ cmp ip, r1
+ popeq {r4, r5, r6, r7, r8, r9, r10, pc}
ldrh r3, [r3, #80]
- cmp r3, r4
- ldmeqfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
+ cmp r3, r1
+ popeq {r4, r5, r6, r7, r8, r9, r10, pc}
mov r8, #6
ldr r10, [r5, #1036]
- mul r8, r8, r4
- ldr r3, [r6]
+ mul r8, r8, r1
+ ldr r3, [r0]
add r9, r10, r8
cmp r9, r3
- ldmeqfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
+ popeq {r4, r5, r6, r7, r8, r9, r10, pc}
ldrh r3, [r9, #2]
mov r7, r2
movw r2, #65535
+ mov r4, r1
+ mov r6, r0
cmp r3, r2
- bne .L91
+ bne .L122
ldrh r2, [r10, r8]
cmp r2, r3
- bne .L91
- ldr r1, .L98+4
+ bne .L122
movw r2, #273
- ldr r0, .L98+8
+ ldr r1, .L129+4
+ ldr r0, .L129+8
bl printk
bl dump_stack
-.L91:
- ldrh r2, [r9, #2]
- movw r3, #65535
- cmp r2, r3
- bne .L92
- ldrh r3, [r10, r8]
+.L122:
+ ldrh r3, [r9, #2]
+ movw r2, #65535
cmp r3, r2
- ldmeqfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
-.L92:
- ldr r0, [r5, #1088]
- mov r3, r4, asl #1
- ldrh r1, [r0, r3]
- ldrh r3, [r9, #4]
- cmp r3, #0
- mulne r1, r3, r1
- mov r3, #6
- mul r2, r3, r2
- ldr r3, .L98+12
+ bne .L123
+ ldrh r2, [r10, r8]
+ cmp r2, r3
+ popeq {r4, r5, r6, r7, r8, r9, r10, pc}
+.L123:
+ ldr r0, [r5, #1092]
+ lsl r2, r4, #1
+ ldrh r1, [r9, #4]
+ ldrh r2, [r0, r2]
+ cmp r1, #0
mvneq r1, #0
- mov ip, r2, asr #1
+ mulne r1, r1, r2
+ mov r2, #6
+ mul r2, r2, r3
+ ldr r3, .L129+12
+ asr ip, r2, #1
mul r3, r3, ip
- mov r3, r3, asl #1
- ldrh r0, [r0, r3]
- ldr r3, [r5, #1036]
- add r2, r3, r2
+ lsl r3, r3, #1
+ ldrh ip, [r0, r3]
+ ldr r0, [r5, #1036]
+ add r2, r0, r2
ldrh r3, [r2, #4]
cmp r3, #0
- mulne r3, r3, r0
+ mulne r3, r3, ip
mvneq r3, #0
cmp r1, r3
- ldmcsfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
- mov r0, r6
- mov r1, r4
+ popcs {r4, r5, r6, r7, r8, r9, r10, pc}
mov r2, r7
+ mov r1, r4
+ mov r0, r6
bl _list_remove_node
- mov r0, r6
- mov r1, r4
mov r2, r7
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, lr}
+ mov r1, r4
+ mov r0, r6
+ pop {r4, r5, r6, r7, r8, r9, r10, lr}
b _insert_data_list
-.L99:
+.L130:
.align 2
-.L98:
+.L129:
.word .LANCHOR0
- .word .LANCHOR1+20
+ .word .LANCHOR1+18
.word .LC0
.word -1431655765
.fnend
.size _list_update_data_list, .-_list_update_data_list
- .section .text.unlikely,"ax",%progbits
+ .section .text.unlikely
.align 2
- .type rk_simple_strtoull.constprop.34, %function
-rk_simple_strtoull.constprop.34:
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type rk_simple_strtoull.constprop.33, %function
+rk_simple_strtoull.constprop.33:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, lr}
- .save {r4, lr}
+ push {r4, r5, r6, r7, r8, lr}
+ .save {r4, r5, r6, r7, r8, lr}
+ mov r4, r0
ldrb r3, [r0] @ zero_extendqisi2
cmp r3, #48
movne r2, r0
- movne lr, #10
- bne .L101
+ movne r5, #10
+ bne .L132
ldrb r3, [r0, #1] @ zero_extendqisi2
add r2, r0, #1
orr r3, r3, #32
cmp r3, #120
- bne .L112
- ldrb r3, [r0, #2] @ zero_extendqisi2
- bic ip, r3, #32
- sub ip, ip, #65
- cmp ip, #25
- bls .L102
- sub r3, r3, #48
- cmp r3, #9
- bls .L102
-.L112:
- mov lr, #8
-.L101:
- mov r0, #0
-.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 .L104
- cmp r3, #9
- bls .L104
-.L108:
+ bne .L144
+ ldrb r0, [r0, #2] @ zero_extendqisi2
+ bl isxdigit
+ cmp r0, #0
+ addne r2, r4, #2
+ movne r5, #16
+ bne .L132
+.L144:
+ mov r5, #8
+.L132:
+ mov r6, #0
+.L133:
+ mov r7, r2
+ ldrb r4, [r2], #1 @ zero_extendqisi2
+ mov r0, r4
+ bl isxdigit
+ cmp r0, #0
+ bne .L134
+.L140:
cmp r1, #0
- bne .L105
- ldmfd sp!, {r4, pc}
-.L105:
- str r4, [r1]
- ldmfd sp!, {r4, pc}
-.L102:
- add r2, r0, #2
- mov lr, #16
- b .L101
-.L104:
- cmp r3, #9
- orrhi ip, ip, #32
- subhi r3, ip, #87
- cmp r3, lr
- bcs .L108
- mla r0, lr, r0, r3
- b .L103
+ mov r0, r6
+ strne r7, [r1]
+ pop {r4, r5, r6, r7, r8, pc}
+.L134:
+ sub r0, r4, #48
+ cmp r0, #9
+ orrhi r0, r4, #32
+ subhi r0, r0, #87
+ cmp r0, r5
+ bcs .L140
+ mla r6, r5, r6, r0
+ b .L133
.fnend
- .size rk_simple_strtoull.constprop.34, .-rk_simple_strtoull.constprop.34
+ .size rk_simple_strtoull.constprop.33, .-rk_simple_strtoull.constprop.33
.text
.align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type nandc_de_cs.constprop.35, %function
+nandc_de_cs.constprop.35:
+ .fnstart
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ @ link register save eliminated.
+ ldr r3, .L148
+ ldr r2, [r3, #1044]
+ ldr r3, [r2]
+ bfc r3, #0, #8
+ bfc r3, #17, #1
+ str r3, [r2]
+ bx lr
+.L149:
+ .align 2
+.L148:
+ .word .LANCHOR0
+ .fnend
+ .size nandc_de_cs.constprop.35, .-nandc_de_cs.constprop.35
+ .align 2
+ .global flash_read_status
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type flash_read_status, %function
+flash_read_status:
+ .fnstart
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ mov r3, #112
+ push {r4, lr}
+ .save {r4, lr}
+ mov r4, r0
+ str r3, [r0, #8]
+ mov r0, #120
+ bl ndelay
+ ldr r0, [r4]
+ uxtb r0, r0
+ pop {r4, pc}
+ .fnend
+ .size flash_read_status, .-flash_read_status
+ .align 2
+ .global toshiba_set_rr_para
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type toshiba_set_rr_para, %function
+toshiba_set_rr_para:
+ .fnstart
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
+ add r8, r1, r1, lsl #2
+ ldr r9, .L161
+ mov r5, r0
+ mov r6, r1
+ mov r4, #0
+ ldr r7, .L161+4
+ add r10, r9, #41
+.L153:
+ ldrb r3, [r7, #1101] @ zero_extendqisi2
+ cmp r4, r3
+ bcc .L157
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L157:
+ mov r3, #85
+ mov r0, #200
+ str r3, [r5, #8]
+ ldrsb r3, [r4, r10]
+ str r3, [r5, #4]
+ bl ndelay
+ ldrb r3, [r7, #1100] @ zero_extendqisi2
+ cmp r3, #34
+ addeq r3, r4, r8
+ addeq r3, r10, r3
+ beq .L160
+ cmp r3, #35
+ addne r3, r9, r6
+ ldrsbne r3, [r3, #181]
+ bne .L159
+ ldr r2, .L161+8
+ add r3, r4, r8
+ add r3, r2, r3
+.L160:
+ ldrsb r3, [r3, #5]
+.L159:
+ str r3, [r5]
+ add r4, r4, #1
+ b .L153
+.L162:
+ .align 2
+.L161:
+ .word .LANCHOR1
+ .word .LANCHOR0
+ .word .LANCHOR1+86
+ .fnend
+ .size toshiba_set_rr_para, .-toshiba_set_rr_para
+ .align 2
+ .global hynix_reconfig_rr_para
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type hynix_reconfig_rr_para, %function
+hynix_reconfig_rr_para:
+ .fnstart
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
+ ldr r5, .L169
+ ldrb r2, [r5, #1100] @ zero_extendqisi2
+ sub r2, r2, #1
+ cmp r2, #7
+ pophi {r4, r5, r6, pc}
+ ldr r2, [r5, #1040]
+ mov r4, r0
+ add r2, r2, r0
+ ldrb r2, [r2, #120] @ zero_extendqisi2
+ cmp r2, #0
+ popeq {r4, r5, r6, pc}
+ mov r1, #0
+ bl hynix_set_rr_para
+ ldr r3, [r5, #1040]
+ mov r2, #0
+ add r3, r3, r4
+ strb r2, [r3, #120]
+ pop {r4, r5, r6, pc}
+.L170:
+ .align 2
+.L169:
+ .word .LANCHOR0
+ .fnend
+ .size hynix_reconfig_rr_para, .-hynix_reconfig_rr_para
+ .align 2
.global nand_flash_print_info
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nand_flash_print_info, %function
nand_flash_print_info:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r3, r4, lr}
+ push {r0, r1, r2, r3, r4, lr}
.save {r4, lr}
.pad #16
- ldr r4, .L234
+ ldr r4, .L290
ldr r3, [r4]
tst r3, #4096
- beq .L116
- ldr r0, .L234+4
- ldr r1, .L234+8
+ beq .L172
+ ldr r1, .L290+4
+ ldr r0, .L290+8
bl printk
-.L116:
+.L172:
ldr r3, [r4]
tst r3, #4096
- beq .L117
- ldr r3, .L234+12
- ldr r0, [r3, #1096]
- ldrb ip, [r0, #4] @ zero_extendqisi2
- ldrb r1, [r0, #1] @ zero_extendqisi2
- ldrb r2, [r0, #2] @ zero_extendqisi2
+ beq .L173
+ ldr r3, .L290+12
+ ldr r0, [r3, #1104]
+ ldrb ip, [r0, #6] @ zero_extendqisi2
ldrb r3, [r0, #3] @ zero_extendqisi2
- str ip, [sp]
+ ldrb r2, [r0, #2] @ zero_extendqisi2
+ ldrb r1, [r0, #1] @ zero_extendqisi2
+ str ip, [sp, #8]
ldrb ip, [r0, #5] @ zero_extendqisi2
str ip, [sp, #4]
- ldrb r0, [r0, #6] @ zero_extendqisi2
- str r0, [sp, #8]
- ldr r0, .L234+16
+ ldrb r0, [r0, #4] @ zero_extendqisi2
+ str r0, [sp]
+ ldr r0, .L290+16
bl printk
-.L117:
+.L173:
ldr r3, [r4]
tst r3, #4096
- beq .L118
- ldr r3, .L234+12
- ldr r0, .L234+20
- ldr r3, [r3, #1096]
+ beq .L174
+ ldr r3, .L290+12
+ ldr r0, .L290+20
+ ldr r3, [r3, #1104]
ldrb r1, [r3, #8] @ zero_extendqisi2
bl printk
-.L118:
+.L174:
ldr r3, [r4]
tst r3, #4096
- beq .L119
- ldr r3, .L234+12
- ldr r0, .L234+24
- ldr r3, [r3, #1096]
+ beq .L175
+ ldr r3, .L290+12
+ ldr r0, .L290+24
+ ldr r3, [r3, #1104]
ldrb r1, [r3, #9] @ zero_extendqisi2
bl printk
-.L119:
+.L175:
ldr r3, [r4]
tst r3, #4096
- beq .L120
- ldr r3, .L234+12
- ldr r0, .L234+28
- ldr r3, [r3, #1096]
+ beq .L176
+ ldr r3, .L290+12
+ ldr r0, .L290+28
+ ldr r3, [r3, #1104]
ldrh r1, [r3, #10]
bl printk
-.L120:
+.L176:
ldr r3, [r4]
tst r3, #4096
- beq .L121
- ldr r3, .L234+12
- ldr r0, .L234+32
- ldr r3, [r3, #1096]
+ beq .L177
+ ldr r3, .L290+12
+ ldr r0, .L290+32
+ ldr r3, [r3, #1104]
ldrb r1, [r3, #12] @ zero_extendqisi2
bl printk
-.L121:
+.L177:
ldr r3, [r4]
tst r3, #4096
- beq .L122
- ldr r3, .L234+12
- ldr r0, .L234+36
- ldr r3, [r3, #1096]
+ beq .L178
+ ldr r3, .L290+12
+ ldr r0, .L290+36
+ ldr r3, [r3, #1104]
ldrb r1, [r3, #13] @ zero_extendqisi2
bl printk
-.L122:
+.L178:
ldr r3, [r4]
tst r3, #4096
- beq .L123
- ldr r3, .L234+12
- ldr r0, .L234+40
- ldr r3, [r3, #1096]
+ beq .L179
+ ldr r3, .L290+12
+ ldr r0, .L290+40
+ ldr r3, [r3, #1104]
ldrh r1, [r3, #14]
bl printk
-.L123:
+.L179:
ldr r3, [r4]
tst r3, #4096
- beq .L124
- ldr r3, .L234+12
- ldr r0, .L234+44
- ldr r3, [r3, #1096]
+ beq .L180
+ ldr r3, .L290+12
+ ldr r0, .L290+44
+ ldr r3, [r3, #1104]
ldrb r1, [r3, #23] @ zero_extendqisi2
bl printk
-.L124:
+.L180:
ldr r3, [r4]
tst r3, #4096
- beq .L125
- ldr r3, .L234+12
- ldr r0, .L234+48
- ldr r3, [r3, #1096]
+ beq .L181
+ ldr r3, .L290+12
+ ldr r0, .L290+48
+ ldr r3, [r3, #1104]
ldrb r1, [r3, #18] @ zero_extendqisi2
bl printk
-.L125:
+.L181:
ldr r3, [r4]
tst r3, #4096
- beq .L126
- ldr r3, .L234+12
- ldr r0, .L234+52
- ldr r3, [r3, #1096]
+ beq .L182
+ ldr r3, .L290+12
+ ldr r0, .L290+52
+ ldr r3, [r3, #1104]
ldrb r1, [r3, #19] @ zero_extendqisi2
bl printk
-.L126:
+.L182:
ldr r3, [r4]
tst r3, #4096
- beq .L127
- ldr r3, .L234+12
- ldr r0, .L234+56
- ldr r3, [r3, #1096]
+ beq .L183
+ ldr r3, .L290+12
+ ldr r0, .L290+56
+ ldr r3, [r3, #1104]
ldrb r1, [r3, #20] @ zero_extendqisi2
bl printk
-.L127:
+.L183:
ldr r3, [r4]
tst r3, #4096
- beq .L128
- ldr r3, .L234+12
- ldr r0, .L234+60
- ldrb r1, [r3, #1100] @ zero_extendqisi2
+ beq .L184
+ ldr r3, .L290+12
+ ldr r0, .L290+60
+ ldrb r1, [r3, #1108] @ zero_extendqisi2
bl printk
-.L128:
+.L184:
ldr r3, [r4]
tst r3, #4096
- beq .L129
- ldr r3, .L234+12
- ldr r0, .L234+64
- ldr r3, [r3, #1096]
+ beq .L185
+ ldr r3, .L290+12
+ ldr r0, .L290+64
+ ldr r3, [r3, #1104]
ldrb r1, [r3, #22] @ zero_extendqisi2
bl printk
-.L129:
+.L185:
ldr r3, [r4]
tst r3, #4096
- beq .L130
- ldr r3, .L234+12
- ldr r0, .L234+68
- ldrb r1, [r3, #1101] @ zero_extendqisi2
+ beq .L186
+ ldr r3, .L290+12
+ ldr r0, .L290+68
+ ldrb r1, [r3, #1109] @ zero_extendqisi2
bl printk
-.L130:
+.L186:
ldr r3, [r4]
tst r3, #4096
- beq .L131
- ldr r3, .L234+12
- ldr r0, .L234+72
- ldr r3, [r3, #1096]
+ beq .L187
+ ldr r3, .L290+12
+ ldr r0, .L290+72
+ ldr r3, [r3, #1104]
ldrh r1, [r3, #16]
and r1, r1, #1
bl printk
-.L131:
+.L187:
ldr r3, [r4]
tst r3, #4096
- beq .L132
- ldr r3, .L234+12
- ldr r0, .L234+76
- ldr r3, [r3, #1096]
+ beq .L188
+ ldr r3, .L290+12
+ ldr r0, .L290+76
+ ldr r3, [r3, #1104]
ldrh r1, [r3, #16]
ubfx r1, r1, #1, #1
bl printk
-.L132:
+.L188:
ldr r3, [r4]
tst r3, #4096
- beq .L133
- ldr r3, .L234+12
- ldr r0, .L234+80
- ldr r3, [r3, #1096]
+ beq .L189
+ ldr r3, .L290+12
+ ldr r0, .L290+80
+ ldr r3, [r3, #1104]
ldrh r1, [r3, #16]
ubfx r1, r1, #2, #1
bl printk
-.L133:
+.L189:
ldr r3, [r4]
tst r3, #4096
- beq .L134
- ldr r3, .L234+12
- ldr r0, .L234+84
- ldr r3, [r3, #1096]
+ beq .L190
+ ldr r3, .L290+12
+ ldr r0, .L290+84
+ ldr r3, [r3, #1104]
ldrh r1, [r3, #16]
ubfx r1, r1, #3, #1
bl printk
-.L134:
+.L190:
ldr r3, [r4]
tst r3, #4096
- beq .L135
- ldr r3, .L234+12
- ldr r0, .L234+88
- ldr r3, [r3, #1096]
+ beq .L191
+ ldr r3, .L290+12
+ ldr r0, .L290+88
+ ldr r3, [r3, #1104]
ldrh r1, [r3, #16]
ubfx r1, r1, #4, #1
bl printk
-.L135:
+.L191:
ldr r3, [r4]
tst r3, #4096
- beq .L136
- ldr r3, .L234+12
- ldr r0, .L234+92
- ldr r3, [r3, #1096]
+ beq .L192
+ ldr r3, .L290+12
+ ldr r0, .L290+92
+ ldr r3, [r3, #1104]
ldrh r1, [r3, #16]
ubfx r1, r1, #5, #1
bl printk
-.L136:
+.L192:
ldr r3, [r4]
tst r3, #4096
- beq .L137
- ldr r3, .L234+12
- ldr r0, .L234+96
- ldr r3, [r3, #1096]
+ beq .L193
+ ldr r3, .L290+12
+ ldr r0, .L290+96
+ ldr r3, [r3, #1104]
ldrh r1, [r3, #16]
ubfx r1, r1, #6, #1
bl printk
-.L137:
+.L193:
ldr r3, [r4]
tst r3, #4096
- beq .L138
- ldr r3, .L234+12
- ldr r0, .L234+100
- ldr r3, [r3, #1096]
+ beq .L194
+ ldr r3, .L290+12
+ ldr r0, .L290+100
+ ldr r3, [r3, #1104]
ldrh r1, [r3, #16]
ubfx r1, r1, #7, #1
bl printk
-.L138:
+.L194:
ldr r3, [r4]
tst r3, #4096
- beq .L139
- ldr r3, .L234+12
- ldr r0, .L234+104
- ldr r3, [r3, #1096]
+ beq .L195
+ ldr r3, .L290+12
+ ldr r0, .L290+104
+ ldr r3, [r3, #1104]
ldrh r1, [r3, #16]
ubfx r1, r1, #8, #1
bl printk
-.L139:
+.L195:
ldr r3, [r4]
tst r3, #4096
- beq .L140
- ldr r3, .L234+12
- ldr r0, .L234+108
- ldr r3, [r3, #1096]
+ beq .L196
+ ldr r3, .L290+12
+ ldr r0, .L290+108
+ ldr r3, [r3, #1104]
ldrh r1, [r3, #16]
ubfx r1, r1, #9, #1
bl printk
-.L140:
+.L196:
ldr r3, [r4]
tst r3, #4096
- beq .L141
- ldr r3, .L234+12
- ldr r0, .L234+112
- ldr r3, [r3, #1096]
+ beq .L197
+ ldr r3, .L290+12
+ ldr r0, .L290+112
+ ldr r3, [r3, #1104]
ldrh r1, [r3, #16]
ubfx r1, r1, #10, #1
bl printk
-.L141:
+.L197:
ldr r3, [r4]
tst r3, #4096
- beq .L142
- ldr r3, .L234+12
- ldr r0, .L234+116
+ beq .L198
+ ldr r3, .L290+12
+ ldr r0, .L290+116
+ ldrb r2, [r3, #1110] @ zero_extendqisi2
ldrb r1, [r3] @ zero_extendqisi2
- ldrb r2, [r3, #1102] @ zero_extendqisi2
bl printk
-.L142:
+.L198:
ldr r3, [r4]
tst r3, #4096
- beq .L143
- ldr r3, .L234+12
- ldr r0, .L234+120
- ldrb r1, [r3, #1113] @ zero_extendqisi2
- ldrb r2, [r3, #1114] @ zero_extendqisi2
+ beq .L199
+ ldr r3, .L290+12
+ ldr r0, .L290+120
+ ldrb r2, [r3, #1122] @ zero_extendqisi2
+ ldrb r1, [r3, #1121] @ zero_extendqisi2
bl printk
-.L143:
+.L199:
ldr r3, [r4]
tst r3, #4096
- beq .L144
- ldr r3, .L234+12
- ldr r0, .L234+124
- ldrb r1, [r3, #1111] @ zero_extendqisi2
- ldrb r2, [r3, #1112] @ zero_extendqisi2
+ beq .L200
+ ldr r3, .L290+12
+ ldr r0, .L290+124
+ ldrb r2, [r3, #1120] @ zero_extendqisi2
+ ldrb r1, [r3, #1119] @ zero_extendqisi2
bl printk
-.L144:
+.L200:
ldr r3, [r4]
tst r3, #4096
- beq .L115
- ldr r3, .L234+12
- ldr r0, .L234+128
- ldrb r1, [r3, #1135] @ zero_extendqisi2
+ beq .L171
+ ldr r3, .L290+12
+ ldr r0, .L290+128
+ ldrb r1, [r3, #1143] @ zero_extendqisi2
add sp, sp, #16
@ sp needed
- ldmfd sp!, {r4, lr}
+ pop {r4, lr}
b printk
-.L115:
+.L171:
add sp, sp, #16
@ sp needed
- ldmfd sp!, {r4, pc}
-.L235:
+ pop {r4, pc}
+.L291:
.align 2
-.L234:
+.L290:
.word .LANCHOR2
+ .word .LANCHOR1+189
.word .LC4
- .word .LANCHOR1+44
.word .LANCHOR0
.word .LC5
.word .LC6
@@ -1023,400 +1363,98 @@
.fnend
.size nand_flash_print_info, .-nand_flash_print_info
.align 2
- .global nandc_init
- .type nandc_init, %function
-nandc_init:
- .fnstart
- @ args = 0, pretend = 0, frame = 8
- @ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, lr}
- .save {r4, r5, r6, r7, lr}
- .pad #20
- sub sp, sp, #20
- ldr r5, .L256
- mov r3, #0
- str r3, [sp, #12]
- mov r7, r0
- ldr r3, [r5]
- tst r3, #4096
- beq .L237
- ldr r0, .L256+4
- mov r2, r7
- ldr r1, .L256+8
- bl printk
-.L237:
- ldr r4, .L256+12
- mov r3, #6
- ldr r2, [r7, #352]
- ldr r6, .L256+12
- strb r3, [r4, #1028]
- ldr r3, .L256+16
- str r7, [r4, #1040]
- cmp r2, r3
- ldr r2, [r7, #128]
- moveq r3, #8
- streqb r3, [r4, #1028]
- ldr r3, .L256+20
- cmp r2, r3
- ldr r2, .L256+24
- moveq r3, #9
- streqb r3, [r4, #1028]
- ldrb r3, [r4, #1028] @ zero_extendqisi2
- cmp r3, #9
- bne .L240
- mov r3, #1
- strb r3, [r6, #1136]
- ldr r3, [sp, #12]
- orr r3, r3, #256
- str r3, [sp, #12]
- ldr r3, [sp, #12]
- bic r3, r3, #1835008
- orr r3, r3, #524288
- str r3, [sp, #12]
- ldr r3, [sp, #12]
- str r3, [r7]
- mov r3, #0
- ldr r0, [r6, #1040]
- str r3, [r0, #520]
- movw r3, #4161
- str r3, [r0, #4]
- movw r3, #8321
- str r3, [r0, #8]
- mov r3, #38
- str r2, [r0, #80]
- str r3, [r0, #84]
- mov r3, #39
- str r3, [r0, #84]
- ldr r3, [r5]
- tst r3, #4096
- beq .L242
- ldr r1, [r0]
- ldr r2, [r0, #8]
- ldr r3, [r0, #80]
- ldr ip, [r0, #84]
- ldr r0, [r0, #88]
- b .L255
-.L240:
- ldr r3, [sp, #12]
- mov r1, #0
- strb r1, [r6, #1136]
- mov r0, #2048
- orr r3, r3, #256
- str r3, [sp, #12]
- ldr r3, [sp, #12]
- bic r3, r3, #117440512
- orr r3, r3, #16777216
- str r3, [sp, #12]
- ldr r3, [sp, #12]
- str r3, [r7]
- ldr r3, [r6, #1040]
- str r1, [r3, #336]
- movw r1, #4193
- str r1, [r3, #4]
- movw r1, #8321
- str r1, [r3, #344]
- str r2, [r3, #304]
- mov r2, #38
- str r2, [r3, #308]
- mov r2, #39
- str r2, [r3, #308]
- bl ftl_malloc
- ldr r3, [r5]
- tst r3, #4096
- str r0, [r6, #1140]
- 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]
-.L255:
- str r0, [sp, #4]
- str ip, [sp]
- ldr r0, .L256+28
- bl printk
-.L242:
- movw r2, #1170
- mov r3, #1
- strb r3, [r4, #1168]
- mov r3, #0
- strh r3, [r4, r2] @ movhi
- strb r3, [r4, #1172]
- ldr r3, [r5]
- tst r3, #4096
- beq .L236
- ldr r3, .L256+12
- ldr r0, .L256+32
- ldrb r1, [r3, #1028] @ zero_extendqisi2
- bl printk
-.L236:
- add sp, sp, #20
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, pc}
-.L257:
- .align 2
-.L256:
- .word .LANCHOR2
- .word .LC34
- .word .LANCHOR1+68
- .word .LANCHOR0
- .word 1446522928
- .word 1446588464
- .word 1052675
- .word .LC35
- .word .LC36
- .fnend
- .size nandc_init, .-nandc_init
- .align 2
.global timer_delay_ns
+ .syntax unified
+ .arm
+ .fpu softvfp
.type timer_delay_ns, %function
timer_delay_ns:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- 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
+ b ndelay
.fnend
.size timer_delay_ns, .-timer_delay_ns
.align 2
- .global flash_read_status
- .type flash_read_status, %function
-flash_read_status:
- .fnstart
- @ args = 0, pretend = 0, frame = 0
- @ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, lr}
- .save {r4, lr}
- mov r3, #112
- mov r4, r0
- str r3, [r0, #8]
- mov r0, #120
- bl timer_delay_ns
- ldr r0, [r4]
- uxtb r0, r0
- ldmfd sp!, {r4, pc}
- .fnend
- .size flash_read_status, .-flash_read_status
- .align 2
- .global toshiba_set_rr_para
- .type toshiba_set_rr_para, %function
-toshiba_set_rr_para:
- .fnstart
- @ args = 0, pretend = 0, frame = 0
- @ frame_needed = 0, uses_anonymous_args = 0
- 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, .L273
- mov r5, r0
- ldr r7, .L273+4
- mov r6, r1
- add r10, r9, #80
- mov r4, #0
-.L264:
- ldrb r3, [r7, #1174] @ zero_extendqisi2
- cmp r4, r3
- bcs .L272
- mov r3, #85
- str r3, [r5, #8]
- ldrsb r3, [r4, r10]
- mov r0, #200
- str r3, [r5, #4]
- bl timer_delay_ns
- ldrb r3, [r7, #1173] @ zero_extendqisi2
- cmp r3, #34
- addeq r3, r4, r8
- addeq r3, r10, r3
- beq .L271
- cmp r3, #35
- addne r3, r9, r6
- ldrnesb r3, [r3, #224]
- bne .L270
- ldr r3, .L273+8
- add r2, r4, r8
- add r3, r3, r2
-.L271:
- ldrsb r3, [r3, #5]
-.L270:
- str r3, [r5]
- add r4, r4, #1
- b .L264
-.L272:
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
-.L274:
- .align 2
-.L273:
- .word .LANCHOR1
- .word .LANCHOR0
- .word .LANCHOR1+128
- .fnend
- .size toshiba_set_rr_para, .-toshiba_set_rr_para
- .align 2
- .type hynix_set_rr_para, %function
-hynix_set_rr_para:
- .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}
- mov r5, r0, asl #8
- ldr r3, .L282
- ldr r4, [r3, #1176]
- ldr r7, [r3, #1040]
- add lr, r4, #128
- add r9, r4, #127
- mov r3, r4
- ldrb ip, [r4, #113] @ zero_extendqisi2
- ldrb r2, [r3, #112]! @ zero_extendqisi2
- add r6, r7, r5
- cmp r2, #8
- mul r1, r1, ip
- movne r2, #160
- mlane r1, r2, r0, r1
- sub ip, ip, #1
- add r8, lr, ip
- mov r2, #54
- str r2, [r6, #2056]
- add r1, r1, #32
- add r3, r3, r1
- sub r4, r3, #1
-.L278:
- cmp r9, r8
- 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 .L278
-.L281:
- add r5, r7, r5
- mov r3, #22
- str r3, [r5, #2056]
- ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
-.L283:
- .align 2
-.L282:
- .word .LANCHOR0
- .fnend
- .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:
- .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, .L290
- ldrb r2, [r5, #1173] @ zero_extendqisi2
- sub r2, r2, #1
- cmp r2, #7
- ldmhifd sp!, {r3, r4, r5, pc}
- ldr r2, [r5, #1176]
- add r2, r2, r0
- ldrb r2, [r2, #120] @ zero_extendqisi2
- cmp r2, #0
- ldmeqfd sp!, {r3, r4, r5, pc}
- mov r1, #0
- mov r4, r0
- bl hynix_set_rr_para
- ldr r2, [r5, #1176]
- mov r3, #0
- add r4, r2, r4
- strb r3, [r4, #120]
- ldmfd sp!, {r3, r4, r5, pc}
-.L291:
- .align 2
-.L290:
- .word .LANCHOR0
- .fnend
- .size hynix_reconfig_rr_para, .-hynix_reconfig_rr_para
- .align 2
.global nandc_set_ddr_para
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nandc_set_ddr_para, %function
nandc_set_ddr_para:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L295
- ldrb r2, [r3, #1028] @ zero_extendqisi2
- ldr r3, [r3, #1040]
- cmp r2, #9
- mov r2, r0, asl #16
- mov r0, r0, asl #8
- orr r0, r2, r0
- orr r0, r0, #3
- streq r0, [r3, #80]
- strne r0, [r3, #304]
+ ldr r2, .L296
+ ldrb r3, [r2, #1028] @ zero_extendqisi2
+ ldr r2, [r2, #1044]
+ cmp r3, #9
+ lsl r3, r0, #16
+ lsl r0, r0, #8
+ orr r3, r3, r0
+ orr r3, r3, #3
+ streq r3, [r2, #80]
+ strne r3, [r2, #304]
bx lr
-.L296:
+.L297:
.align 2
-.L295:
+.L296:
.word .LANCHOR0
.fnend
.size nandc_set_ddr_para, .-nandc_set_ddr_para
.align 2
.global nandc_get_ddr_para
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nandc_get_ddr_para, %function
nandc_get_ddr_para:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L301
+ ldr r3, .L302
ldrb r2, [r3, #1028] @ zero_extendqisi2
- ldr r3, [r3, #1040]
+ ldr r3, [r3, #1044]
cmp r2, #9
ldreq r0, [r3, #80]
ldrne r0, [r3, #304]
ubfx r0, r0, #8, #8
bx lr
-.L302:
+.L303:
.align 2
-.L301:
+.L302:
.word .LANCHOR0
.fnend
.size nandc_get_ddr_para, .-nandc_get_ddr_para
.align 2
.global nandc_set_if_mode
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nandc_set_if_mode, %function
nandc_set_if_mode:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r1, .L311
+ ldr r1, .L312
ands ip, r0, #6
- ldr r3, [r1, #1040]
+ ldr r3, [r1, #1044]
ldr r2, [r3]
bfieq r2, ip, #13, #1
- beq .L307
- orr r2, r2, #24576
+ beq .L308
ldrb r1, [r1, #1028] @ zero_extendqisi2
+ orr r2, r2, #24576
bfc r2, #15, #1
tst r0, #4
orr r2, r2, #196608
movw r0, #8321
orrne r2, r2, #32768
cmp r1, #9
- ldr r1, .L311+4
+ ldr r1, .L312+4
streq r0, [r3, #8]
strne r0, [r3, #344]
streq r1, [r3, #80]
@@ -1429,217 +1467,228 @@
movne r1, #39
streq r1, [r3, #84]
strne r1, [r3, #308]
-.L307:
+.L308:
str r2, [r3]
bx lr
-.L312:
+.L313:
.align 2
-.L311:
+.L312:
.word .LANCHOR0
.word 1052675
.fnend
.size nandc_set_if_mode, .-nandc_set_if_mode
.align 2
.global nandc_cs
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nandc_cs, %function
nandc_cs:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L314
+ ldr r3, .L315
mov r2, #1
- mov r0, r2, asl r0
- ldr r1, [r3, #1040]
+ lsl r0, r2, r0
+ ldr r1, [r3, #1044]
ldr r3, [r1]
bfi r3, r0, #0, #8
str r3, [r1]
bx lr
-.L315:
+.L316:
.align 2
-.L314:
+.L315:
.word .LANCHOR0
.fnend
.size nandc_cs, .-nandc_cs
.align 2
+ .global flash_wait_device_ready_raw
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type flash_wait_device_ready_raw, %function
+flash_wait_device_ready_raw:
+ .fnstart
+ @ args = 0, pretend = 0, frame = 8
+ @ frame_needed = 0, uses_anonymous_args = 0
+ push {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 r4, .L326
+ mov r5, r1
+ str r2, [sp, #4]
+ ldrb r3, [r4, #1109] @ zero_extendqisi2
+ cmp r3, r0
+ bhi .L318
+ mov r2, #812
+ ldr r1, .L326+4
+ ldr r0, .L326+8
+ bl printk
+ bl dump_stack
+.L318:
+ add r6, r4, r6
+ ldr r3, [r4, #1044]
+ ldrb r6, [r6, #1144] @ zero_extendqisi2
+ lsr r8, r5, #8
+ lsr r9, r5, #16
+ lsr r10, r5, #24
+ mov fp, #120
+ add r7, r3, r6, lsl #8
+.L320:
+ mov r0, r6
+ bl nandc_cs
+ uxtb r2, r5
+ str fp, [r7, #2056]
+ mov r0, #120
+ str r2, [r7, #2052]
+ ldrb r2, [r4, #1152] @ zero_extendqisi2
+ str r8, [r7, #2052]
+ str r9, [r7, #2052]
+ cmp r2, #0
+ strne r10, [r7, #2052]
+ bl ndelay
+ ldr r0, [r7, #2048]
+ uxtb r0, r0
+ bl nandc_de_cs.constprop.35
+ ldr r3, [sp, #4]
+ bics r3, r3, r0
+ movne r2, #1
+ moveq r2, #0
+ cmp r0, #255
+ orreq r2, r2, #1
+ cmp r2, #0
+ bne .L320
+ add sp, sp, #12
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L327:
+ .align 2
+.L326:
+ .word .LANCHOR0
+ .word .LANCHOR1+211
+ .word .LC0
+ .fnend
+ .size flash_wait_device_ready_raw, .-flash_wait_device_ready_raw
+ .align 2
+ .global flash_wait_device_ready
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type flash_wait_device_ready, %function
+flash_wait_device_ready:
+ .fnstart
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
+ mov r3, #1
+ ldr r5, .L339
+ tst r0, #50331648
+ mov r7, r1
+ ldrb r6, [r5, #1153] @ zero_extendqisi2
+ rsb r2, r6, #24
+ lsl r6, r3, r6
+ lsl r4, r3, r2
+ sub r6, r6, #1
+ sub r4, r4, #1
+ and r6, r6, r0, asr r2
+ and r4, r4, r0
+ uxtb r6, r6
+ bne .L329
+ ldrb r3, [r5] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L330
+ ldrb r3, [r5, #1] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L329
+.L330:
+ ldrh r8, [r5, #2]
+ mov r0, r4
+ mov r1, r8
+ bl __aeabi_uidiv
+ mov r1, r8
+ mul r9, r8, r0
+ mov r0, r4
+ bl __aeabi_uidivmod
+ ldrb r3, [r5, #1] @ zero_extendqisi2
+ lsl r1, r1, #1
+ cmp r3, #0
+ addeq r5, r5, r1
+ addne r4, r1, r9
+ ldrheq r4, [r5, #4]
+ addeq r4, r4, r9
+.L329:
+ mov r2, r7
+ mov r1, r4
+ mov r0, r6
+ pop {r4, r5, r6, r7, r8, r9, r10, lr}
+ b flash_wait_device_ready_raw
+.L340:
+ .align 2
+.L339:
+ .word .LANCHOR0
+ .fnend
+ .size flash_wait_device_ready, .-flash_wait_device_ready
+ .align 2
.global nandc_de_cs
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nandc_de_cs, %function
nandc_de_cs:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L317
- ldr r2, [r3, #1040]
+ ldr r3, .L342
+ ldr r2, [r3, #1044]
ldr r3, [r2]
bfc r3, #0, #8
bfc r3, #17, #1
str r3, [r2]
bx lr
-.L318:
- .align 2
-.L317:
- .word .LANCHOR0
- .fnend
- .size nandc_de_cs, .-nandc_de_cs
- .align 2
- .global flash_wait_device_ready_raw
- .type flash_wait_device_ready_raw, %function
-flash_wait_device_ready_raw:
- .fnstart
- @ args = 0, pretend = 0, frame = 8
- @ 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 r4, .L328
- mov r5, r1
- mov r7, r2
- ldrb r3, [r4, #1101] @ zero_extendqisi2
- cmp r3, r0
- bhi .L320
- ldr r1, .L328+4
- mov r2, #812
- ldr r0, .L328+8
- bl printk
- bl dump_stack
-.L320:
- add r6, r4, r6
- ldr r3, [r4, #1040]
- mov r9, r5, lsr #16
- mov r10, r5, lsr #24
- ldrb r6, [r6, #1180] @ zero_extendqisi2
- mov fp, #120
- mov r2, r5, lsr #8
- str r2, [sp]
- add r8, r3, r6, asl #8
-.L322:
- mov r0, r6
- bl nandc_cs
- str fp, [r8, #2056]
- uxtb r2, r5
- str r2, [r8, #2052]
- ldrb r2, [r4, #1188] @ zero_extendqisi2
- mov r0, #120
- cmp r2, #0
- ldr r3, [sp]
- str r3, [r8, #2052]
- str r9, [r8, #2052]
- strne r10, [r8, #2052]
- bl timer_delay_ns
- ldr r2, [r8, #2048]
- mov r0, r6
- uxtb r2, r2
- str r2, [sp, #4]
- bl nandc_de_cs
- ldr r2, [sp, #4]
- sub r1, r2, #255
- and r0, r7, r2
- clz r1, r1
- mov r1, r1, lsr #5
- cmp r0, r7
- orrne r1, r1, #1
- cmp r1, #0
- bne .L322
- mov r0, r2
- add sp, sp, #12
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L329:
- .align 2
-.L328:
- .word .LANCHOR0
- .word .LANCHOR1+232
- .word .LC0
- .fnend
- .size flash_wait_device_ready_raw, .-flash_wait_device_ready_raw
- .align 2
- .global flash_wait_device_ready
- .type flash_wait_device_ready, %function
-flash_wait_device_ready:
- .fnstart
- @ args = 0, pretend = 0, frame = 0
- @ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, lr}
- .save {r4, r5, r6, r7, r8, lr}
- mov r3, #1
- ldr r6, .L342
- tst r0, #50331648
- mov r8, r1
- ldrb r2, [r6, #1189] @ zero_extendqisi2
- rsb r5, r2, #24
- mov r4, r3, asl r5
- mov r3, r3, asl r2
- sub r3, r3, #1
- sub r4, r4, #1
- and r5, r3, r0, asr r5
- and r4, r4, r0
- uxtb r5, r5
- bne .L331
- ldrb r3, [r6] @ zero_extendqisi2
- cmp r3, #0
- beq .L332
- ldrb r3, [r6, #1] @ zero_extendqisi2
- cmp r3, #0
- 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, .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
-.L331:
- mov r0, r5
- mov r1, r4
- mov r2, r8
- ldmfd sp!, {r4, r5, r6, r7, r8, lr}
- b flash_wait_device_ready_raw
.L343:
.align 2
.L342:
.word .LANCHOR0
.fnend
- .size flash_wait_device_ready, .-flash_wait_device_ready
+ .size nandc_de_cs, .-nandc_de_cs
.align 2
.global nandc_wait_flash_ready_no_delay
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nandc_wait_flash_ready_no_delay, %function
nandc_wait_flash_ready_no_delay:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r4, r5, lr}
+ push {r0, r1, r2, r4, r5, lr}
.save {r4, r5, lr}
.pad #12
ldr r4, .L350
ldr r5, .L350+4
.L346:
- ldr r3, [r5, #1040]
+ ldr r3, [r5, #1044]
ldr r3, [r3]
str r3, [sp, #4]
ldr r3, [sp, #4]
tst r3, #512
bne .L347
mov r0, #10
- bl timer_delay_ns
+ bl ndelay
subs r4, r4, #1
bne .L346
mvn r0, #0
- b .L345
-.L347:
- mov r0, #0
-.L345:
+.L344:
add sp, sp, #12
@ sp needed
- ldmfd sp!, {r4, r5, pc}
+ pop {r4, r5, pc}
+.L347:
+ mov r0, #0
+ b .L344
.L351:
.align 2
.L350:
@@ -1649,373 +1698,392 @@
.size nandc_wait_flash_ready_no_delay, .-nandc_wait_flash_ready_no_delay
.align 2
.global zftl_flash_enter_slc_mode
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_flash_enter_slc_mode, %function
zftl_flash_enter_slc_mode:
.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}
- ldr r3, .L371
+ ldr r3, .L375
ldrb r2, [r3] @ zero_extendqisi2
cmp r2, #0
- ldmeqfd sp!, {r3, r4, r5, r6, r7, pc}
+ bxeq lr
cmp r2, #1
- ldr r5, [r3, #1040]
+ push {r4, r5, r6, r7, r8, lr}
+ .save {r4, r5, r6, r7, r8, lr}
+ ldr r5, [r3, #1044]
bne .L355
- ldr r3, .L371+4
+ ldr r3, .L375+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}
+ addne r4, r5, r0, lsl #8
+ bne .L374
+ pop {r4, r5, r6, r7, r8, pc}
.L355:
cmp r2, #2
mov r4, r0
bne .L357
add r3, r3, r0
- ldrb r2, [r3, #1192] @ zero_extendqisi2
+ ldrb r2, [r3, #1154] @ zero_extendqisi2
cmp r2, #0
- ldmeqfd sp!, {r3, r4, r5, r6, r7, pc}
- ldr r6, .L371+4
+ popeq {r4, r5, r6, r7, r8, pc}
+ ldr r6, .L375+4
mov r2, #0
- strb r2, [r3, #1192]
+ strb r2, [r3, #1154]
ldrb r3, [r6, #33] @ zero_extendqisi2
cmp r3, r2
- ldmeqfd sp!, {r3, r4, r5, r6, r7, pc}
+ popeq {r4, r5, r6, r7, r8, pc}
bl nandc_wait_flash_ready_no_delay
ldrb r3, [r6, #33] @ zero_extendqisi2
- add r4, r5, r4, asl #8
+ add r4, r5, r4, lsl #8
+.L374:
str r3, [r4, #2056]
- ldmfd sp!, {r3, r4, r5, r6, r7, pc}
+ pop {r4, r5, r6, r7, r8, pc}
.L357:
cmp r2, #3
- ldmnefd sp!, {r3, r4, r5, r6, r7, pc}
+ popne {r4, r5, r6, r7, r8, pc}
add r6, r3, r0
- ldrb r3, [r6, #1192] @ zero_extendqisi2
+ ldrb r3, [r6, #1154] @ zero_extendqisi2
cmp r3, #0
- ldmeqfd sp!, {r3, r4, r5, r6, r7, pc}
- add r4, r5, r4, asl #8
+ popeq {r4, r5, r6, r7, r8, pc}
+ add r4, r5, r4, lsl #8
+ mov r7, #0
bl nandc_wait_flash_ready_no_delay
mov r3, #239
mov r0, #100
str r3, [r4, #2056]
mov r3, #145
str r3, [r4, #2052]
- mov r7, #0
- strb r7, [r6, #1192]
- bl timer_delay_ns
- str r7, [r4, #2048]
+ strb r7, [r6, #1154]
+ bl ndelay
mov r3, #1
+ str r7, [r4, #2048]
mov r0, #150
str r3, [r4, #2048]
str r7, [r4, #2048]
str r7, [r4, #2048]
- bl timer_delay_ns
+ bl ndelay
bl nandc_wait_flash_ready_no_delay
mov r3, #218
mov r0, #50
str r3, [r4, #2056]
- ldmfd sp!, {r3, r4, r5, r6, r7, lr}
- b timer_delay_ns
-.L372:
+ pop {r4, r5, r6, r7, r8, lr}
+ b ndelay
+.L376:
.align 2
-.L371:
+.L375:
.word .LANCHOR0
.word .LANCHOR2
.fnend
.size zftl_flash_enter_slc_mode, .-zftl_flash_enter_slc_mode
.align 2
.global zftl_flash_exit_slc_mode
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_flash_exit_slc_mode, %function
zftl_flash_exit_slc_mode:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- ldr r3, .L394
- stmfd sp!, {r4, r5, r6, r7, r8, lr}
+ ldr r3, .L402
+ ldrb r2, [r3] @ zero_extendqisi2
+ cmp r2, #0
+ bxeq lr
+ cmp r2, #1
+ push {r4, r5, r6, r7, r8, lr}
.save {r4, r5, r6, r7, r8, lr}
- ldrb r4, [r3] @ zero_extendqisi2
- cmp r4, #0
- ldmeqfd sp!, {r4, r5, r6, r7, r8, pc}
- cmp r4, #1
- ldr r7, [r3, #1040]
- bne .L376
- ldr r3, .L394+4
+ ldr r7, [r3, #1044]
+ bne .L380
+ ldr r3, .L402+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}
-.L376:
- cmp r4, #2
- mov r5, r0
- bne .L378
+ addne r4, r7, r0, lsl #8
+ bne .L401
+ pop {r4, r5, r6, r7, r8, pc}
+.L380:
+ cmp r2, #2
+ mov r4, r0
+ bne .L382
add r3, r3, r0
- ldrb r2, [r3, #1192] @ zero_extendqisi2
+ ldrb r2, [r3, #1154] @ zero_extendqisi2
cmp r2, #0
- ldmnefd sp!, {r4, r5, r6, r7, r8, pc}
- ldr r4, .L394+4
- ldrb r2, [r4, #16] @ zero_extendqisi2
+ popne {r4, r5, r6, r7, r8, pc}
+ ldr r5, .L402+4
+ ldrb r2, [r5, #16] @ zero_extendqisi2
cmp r2, #2
movne r2, #4
- strb r2, [r3, #1192]
- ldrb r3, [r4, #34] @ zero_extendqisi2
+ strb r2, [r3, #1154]
+ ldrb r3, [r5, #34] @ zero_extendqisi2
cmp r3, #0
- ldmeqfd sp!, {r4, r5, r6, r7, r8, pc}
+ popeq {r4, r5, r6, r7, r8, pc}
bl nandc_wait_flash_ready_no_delay
- ldrb r3, [r4, #34] @ zero_extendqisi2
- 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
+ ldrb r3, [r5, #34] @ zero_extendqisi2
+ add r4, r7, r4, lsl #8
+.L401:
+ str r3, [r4, #2056]
+ pop {r4, r5, r6, r7, r8, pc}
+.L382:
+ cmp r2, #3
+ popne {r4, r5, r6, r7, r8, pc}
+ add r6, r3, r0
+ ldrb r3, [r6, #1154] @ zero_extendqisi2
cmp r3, #0
- ldmnefd sp!, {r4, r5, r6, r7, r8, pc}
- ldr r8, .L394+4
+ popne {r4, r5, r6, r7, r8, pc}
+ ldr r8, .L402+4
+ lsl r4, r4, #8
bl nandc_wait_flash_ready_no_delay
- mov r5, r5, asl #8
- mov r0, #100
- add r6, r7, r5
- add r5, r7, r5
ldrb r3, [r8, #16] @ zero_extendqisi2
+ add r5, r7, r4
+ mov r0, #100
+ add r4, r7, r4
cmp r3, #2
movne r3, #4
- strb r3, [r4, #1192]
+ strb r3, [r6, #1154]
mov r3, #239
- str r3, [r6, #2056]
+ str r3, [r5, #2056]
mov r3, #145
- str r3, [r6, #2052]
- bl timer_delay_ns
+ str r3, [r5, #2052]
+ bl ndelay
ldrb r3, [r8, #11] @ zero_extendqisi2
mov r0, #150
cmp r3, #9
mov r3, #1
- streq r3, [r6, #2048]
- ldrneb r2, [r4, #1192] @ zero_extendqisi2
- strne r2, [r6, #2048]
- str r3, [r6, #2048]
+ ldrbne r2, [r6, #1154] @ zero_extendqisi2
+ streq r3, [r5, #2048]
+ strne r2, [r5, #2048]
+ str r3, [r5, #2048]
mov r3, #0
- str r3, [r6, #2048]
- str r3, [r6, #2048]
- bl timer_delay_ns
+ str r3, [r5, #2048]
+ str r3, [r5, #2048]
+ bl ndelay
bl nandc_wait_flash_ready_no_delay
mov r3, #223
mov r0, #50
- str r3, [r5, #2056]
- ldmfd sp!, {r4, r5, r6, r7, r8, lr}
- b timer_delay_ns
-.L395:
+ str r3, [r4, #2056]
+ pop {r4, r5, r6, r7, r8, lr}
+ b ndelay
+.L403:
.align 2
-.L394:
+.L402:
.word .LANCHOR0
.word .LANCHOR2
.fnend
.size zftl_flash_exit_slc_mode, .-zftl_flash_exit_slc_mode
.align 2
.global flash_start_page_read
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_start_page_read, %function
flash_start_page_read:
.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}
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
mvn r2, #0
- ldr r7, .L411
- mov r5, r0
- mov r8, r1
- ldrb r3, [r7, #1189] @ zero_extendqisi2
- rsb r6, r3, #24
- mvn r2, r2, asl r3
- and r2, r2, r1, lsr r6
- ldrb r3, [r7, #1101] @ zero_extendqisi2
- uxtb r4, r2
- cmp r3, r4
- bhi .L397
- ldr r1, .L411+4
+ ldr r4, .L419
+ mov r7, r0
+ mov r10, r1
+ ldrb r3, [r4, #1153] @ zero_extendqisi2
+ rsb r5, r3, #24
+ lsr r6, r1, r5
+ bic r6, r6, r2, lsl r3
+ ldrb r3, [r4, #1109] @ zero_extendqisi2
+ uxtb r6, r6
+ cmp r3, r6
+ bhi .L405
movw r2, #1013
- ldr r0, .L411+8
+ ldr r1, .L419+4
+ ldr r0, .L419+8
bl printk
bl dump_stack
-.L397:
- ldrb r3, [r7, #1101] @ zero_extendqisi2
- ldr r9, .L411
- cmp r3, r4
- ldmlsfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
- add r4, r9, r4
+.L405:
+ ldrb r3, [r4, #1109] @ zero_extendqisi2
+ cmp r3, r6
+ popls {r4, r5, r6, r7, r8, r9, r10, pc}
+ add r6, r4, r6
mvn r3, #0
- bic r6, r8, r3, asl r6
- ubfx r8, r8, #24, #2
- ldrb fp, [r4, #1180] @ zero_extendqisi2
- ldr r4, [r9, #1040]
- mov r0, fp
- mov r10, fp, asl #8
+ ldrb r9, [r6, #1144] @ zero_extendqisi2
+ bic r5, r10, r3, lsl r5
+ ubfx r10, r10, #24, #2
+ ldr r6, [r4, #1044]
+ mov r0, r9
bl nandc_cs
- cmp r8, #0
- bne .L399
- mov r0, r6
+ cmp r10, #0
+ lsl r8, r9, #8
+ bne .L407
+ mov r0, r5
bl slc_phy_page_address_calc
- ldrb r3, [r9] @ zero_extendqisi2
+ ldrb r3, [r4] @ zero_extendqisi2
+ mov r5, r0
cmp r3, #0
- mov r6, r0
- beq .L400
- mov r0, fp
+ beq .L408
+ mov r0, r9
bl zftl_flash_enter_slc_mode
- b .L400
-.L399:
- ldr r3, [r9, #1096]
- ldrb r3, [r3, #12] @ zero_extendqisi2
- cmp r3, #3
- bne .L401
- ldrb r3, [r9, #1196] @ zero_extendqisi2
- cmp r3, #0
- bne .L401
- ldrb r3, [r9, #1197] @ zero_extendqisi2
- cmp r3, #0
- addeq r3, r4, r10
- streq r8, [r3, #2056]
- beq .L400
-.L401:
- mov r0, fp
- bl zftl_flash_exit_slc_mode
-.L400:
- ldr r3, [r7, #1096]
+.L408:
+ ldr r3, [r4, #1104]
ldrb r2, [r3, #7] @ zero_extendqisi2
cmp r2, #1
- bne .L402
+ bne .L410
ldrb r3, [r3, #12] @ zero_extendqisi2
cmp r3, #2
- addeq r3, r4, r10
+ addeq r3, r6, r8
moveq r2, #38
streq r2, [r3, #2056]
-.L402:
- add r2, r4, r10
- mov r3, #0
- str r3, [r2, #2056]
- str r3, [r2, #2052]
- str r3, [r2, #2052]
- uxtb r3, r6
- str r3, [r2, #2052]
- mov r3, r6, lsr #8
- str r3, [r2, #2052]
- mov r3, r6, lsr #16
- str r3, [r2, #2052]
- ldrb r3, [r7, #1188] @ zero_extendqisi2
+.L410:
+ add r3, r6, r8
+ mov r2, #0
+ str r2, [r3, #2056]
+ str r2, [r3, #2052]
+ str r2, [r3, #2052]
+ uxtb r2, r5
+ str r2, [r3, #2052]
+ lsr r2, r5, #8
+ str r2, [r3, #2052]
+ lsr r2, r5, #16
+ str r2, [r3, #2052]
+ ldrb r2, [r4, #1152] @ zero_extendqisi2
+ cmp r2, #0
+ lsrne r5, r5, #24
+ strne r5, [r3, #2052]
+ add r3, r6, r8
+ str r7, [r3, #2056]
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L407:
+ ldr r3, [r4, #1104]
+ ldrb r3, [r3, #12] @ zero_extendqisi2
+ cmp r3, #3
+ bne .L409
+ ldrb r3, [r4, #1158] @ zero_extendqisi2
cmp r3, #0
- movne r3, r6, lsr #24
- strne r3, [r2, #2052]
- add r3, r4, r10
- str r5, [r3, #2056]
- ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L412:
+ bne .L409
+ ldrb r3, [r4, #1159] @ zero_extendqisi2
+ cmp r3, #0
+ addeq r3, r6, r8
+ streq r10, [r3, #2056]
+ beq .L408
+.L409:
+ mov r0, r9
+ bl zftl_flash_exit_slc_mode
+ b .L408
+.L420:
.align 2
-.L411:
+.L419:
.word .LANCHOR0
- .word .LANCHOR1+260
+ .word .LANCHOR1+239
.word .LC0
.fnend
.size flash_start_page_read, .-flash_start_page_read
.align 2
.global nandc_wait_flash_ready
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nandc_wait_flash_ready, %function
nandc_wait_flash_ready:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r4, r5, lr}
+ push {r0, r1, r2, r4, r5, lr}
.save {r4, r5, lr}
.pad #12
mov r0, #150
- bl timer_delay_ns
- ldr r4, .L419
- ldr r5, .L419+4
-.L415:
- ldr r3, [r5, #1040]
+ ldr r4, .L427
+ ldr r5, .L427+4
+ bl ndelay
+.L423:
+ ldr r3, [r5, #1044]
ldr r3, [r3]
str r3, [sp, #4]
ldr r3, [sp, #4]
tst r3, #512
- bne .L416
+ bne .L424
mov r0, #10
- bl timer_delay_ns
+ bl ndelay
subs r4, r4, #1
- bne .L415
+ bne .L423
mvn r0, #0
- b .L414
-.L416:
- mov r0, #0
-.L414:
+.L421:
add sp, sp, #12
@ sp needed
- ldmfd sp!, {r4, r5, pc}
-.L420:
+ pop {r4, r5, pc}
+.L424:
+ mov r0, #0
+ b .L421
+.L428:
.align 2
-.L419:
+.L427:
.word 100000
.word .LANCHOR0
.fnend
.size nandc_wait_flash_ready, .-nandc_wait_flash_ready
.align 2
.global sandisk_set_rr_para
+ .syntax unified
+ .arm
+ .fpu softvfp
.type sandisk_set_rr_para, %function
sandisk_set_rr_para:
.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}
mov r3, #239
- mov r5, r0
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
str r3, [r0, #8]
mov r3, #17
+ mov r5, r0
+ mov r4, r1
str r3, [r0, #4]
mov r0, #200
- mov r4, r1
- bl timer_delay_ns
- ldr r0, .L429
- ldr r1, .L429+4
- add r4, r4, r4, asl #2
- sub ip, r0, #48
+ bl ndelay
+ ldr r0, .L436
+ add r4, r4, r4, lsl #2
+ ldr r1, .L436+4
mov r2, #0
-.L422:
- ldrb r3, [r1, #1174] @ zero_extendqisi2
+ sub ip, r0, #45
+.L430:
+ ldrb r3, [r1, #1101] @ zero_extendqisi2
cmp r2, r3
- bcs .L428
- ldrb r3, [r1, #1173] @ zero_extendqisi2
+ bcc .L433
+ pop {r4, r5, r6, lr}
+ b nandc_wait_flash_ready
+.L433:
+ ldrb r3, [r1, #1100] @ zero_extendqisi2
cmp r3, #67
add r3, r2, r4
addeq r3, ip, r3
addne r3, r0, r3
- add r2, r2, #1
ldrsb r3, [r3, #5]
+ add r2, r2, #1
str r3, [r5]
- b .L422
-.L428:
- ldmfd sp!, {r3, r4, r5, lr}
- b nandc_wait_flash_ready
-.L430:
+ b .L430
+.L437:
.align 2
-.L429:
- .word .LANCHOR1+128
+.L436:
+ .word .LANCHOR1+86
.word .LANCHOR0
.fnend
.size sandisk_set_rr_para, .-sandisk_set_rr_para
.align 2
.global toshiba_3d_set_tlc_rr_para
+ .syntax unified
+ .arm
+ .fpu softvfp
.type toshiba_3d_set_tlc_rr_para, %function
toshiba_3d_set_tlc_rr_para:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
+ push {r4, r5, r6, r7, r8, lr}
+ .save {r4, r5, r6, r7, r8, lr}
add r1, r1, #1
- stmfd sp!, {r3, r4, r5, r6, r7, lr}
- .save {r3, r4, r5, r6, r7, lr}
- rsb r1, r1, r1, asl #3
- ldr r5, .L433
+ ldr r5, .L440
+ rsb r1, r1, r1, lsl #3
mov r6, #0
mov r7, #213
mvn r3, #118
@@ -2024,43 +2092,46 @@
str r6, [r0, #4]
mov r4, r0
str r3, [r0, #4]
- add r3, r5, #284
+ movw r3, #261
+ ldrsb r3, [r5, r3]
+ str r3, [r0]
+ movw r3, #262
+ ldrsb r3, [r5, r3]
+ str r3, [r0]
+ movw r3, #263
+ ldrsb r3, [r5, r3]
+ str r3, [r0]
+ add r3, r5, #264
ldrsb r3, [r3]
- str r3, [r0]
- movw r3, #285
- ldrsb r3, [r5, r3]
- str r3, [r0]
- movw r3, #286
- ldrsb r3, [r5, r3]
- str r3, [r0]
- movw r3, #287
- ldrsb r3, [r5, r3]
str r3, [r0]
bl nandc_wait_flash_ready
- str r7, [r4, #8]
mvn r3, #117
+ str r7, [r4, #8]
str r6, [r4, #4]
str r3, [r4, #4]
- add r3, r5, #288
- ldrsb r3, [r3]
- str r3, [r4]
- movw r3, #289
+ movw r3, #265
ldrsb r3, [r5, r3]
str r3, [r4]
- movw r3, #290
+ movw r3, #266
+ ldrsb r3, [r5, r3]
+ str r3, [r4]
+ movw r3, #267
ldrsb r3, [r5, r3]
str r3, [r4]
str r6, [r4]
- ldmfd sp!, {r3, r4, r5, r6, r7, lr}
+ pop {r4, r5, r6, r7, r8, lr}
b nandc_wait_flash_ready
-.L434:
+.L441:
.align 2
-.L433:
+.L440:
.word .LANCHOR1
.fnend
.size toshiba_3d_set_tlc_rr_para, .-toshiba_3d_set_tlc_rr_para
.align 2
.global toshiba_3d_set_slc_rr_para
+ .syntax unified
+ .arm
+ .fpu softvfp
.type toshiba_3d_set_slc_rr_para, %function
toshiba_3d_set_slc_rr_para:
.fnstart
@@ -2073,39 +2144,42 @@
mov r3, #0
str r3, [r0, #4]
str r2, [r0, #4]
- ldr r2, .L436
- add r2, r2, r1
- movw r1, #685
- ldrsb r2, [r2, r1]
+ ldr r2, .L443
+ add r1, r2, r1
+ movw r2, #661
+ ldrsb r2, [r1, r2]
str r2, [r0]
str r3, [r0]
str r3, [r0]
str r3, [r0]
b nandc_wait_flash_ready
-.L437:
+.L444:
.align 2
-.L436:
+.L443:
.word .LANCHOR1
.fnend
.size toshiba_3d_set_slc_rr_para, .-toshiba_3d_set_slc_rr_para
.align 2
.global toshiba_tlc_set_rr_para
+ .syntax unified
+ .arm
+ .fpu softvfp
.type toshiba_tlc_set_rr_para, %function
toshiba_tlc_set_rr_para:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
cmp r2, #0
- ldr r3, .L442
- stmfd sp!, {r4, r5, r6, lr}
+ push {r4, r5, r6, lr}
.save {r4, r5, r6, lr}
+ ldr r3, .L449
mov r6, #239
- mov r4, r0
- str r6, [r0, #8]
- beq .L439
- rsb r1, r1, r1, asl #3
+ beq .L446
+ rsb r5, r1, r1, lsl #3
mov r2, #18
- add r5, r3, r1
+ str r6, [r0, #8]
+ mov r4, r0
+ add r5, r3, r5
str r2, [r0, #4]
ldrb r3, [r5, #36] @ zero_extendqisi2
str r3, [r0]
@@ -2116,8 +2190,8 @@
ldrb r3, [r5, #39] @ zero_extendqisi2
str r3, [r0]
bl nandc_wait_flash_ready
- str r6, [r4, #8]
mov r3, #19
+ str r6, [r4, #8]
str r3, [r4, #4]
ldrb r3, [r5, #40] @ zero_extendqisi2
str r3, [r4]
@@ -2127,87 +2201,94 @@
str r3, [r4]
mov r3, #0
str r3, [r4]
- b .L440
-.L439:
- add r3, r3, r1
- mov r0, #20
- str r0, [r4, #4]
- ldrb r3, [r3, #368] @ zero_extendqisi2
- str r3, [r4]
- str r2, [r4]
- str r2, [r4]
- str r2, [r4]
-.L440:
- ldmfd sp!, {r4, r5, r6, lr}
+.L447:
+ pop {r4, r5, r6, lr}
b nandc_wait_flash_ready
-.L443:
+.L446:
+ mov ip, #20
+ add r5, r3, r1
+ str r6, [r0, #8]
+ str ip, [r0, #4]
+ ldrb r3, [r5, #365] @ zero_extendqisi2
+ str r3, [r0]
+ str r2, [r0]
+ str r2, [r0]
+ str r2, [r0]
+ b .L447
+.L450:
.align 2
-.L442:
+.L449:
.word .LANCHOR2
.fnend
.size toshiba_tlc_set_rr_para, .-toshiba_tlc_set_rr_para
.align 2
.global ymtc_3d_set_tlc_rr_para
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ymtc_3d_set_tlc_rr_para, %function
ymtc_3d_set_tlc_rr_para:
.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}
- rsb r1, r1, r1, asl #3
- ldr r5, .L446
+ push {r4, r5, r6, r7, r8, lr}
+ .save {r4, r5, r6, r7, r8, lr}
+ rsb r1, r1, r1, lsl #3
+ ldr r5, .L453
mov r7, #239
mov r3, #160
+ mov r6, #0
str r7, [r0, #8]
+ mov r4, r0
add r5, r5, r1
str r3, [r0, #4]
- add r3, r5, #696
- mov r4, r0
- mov r6, #0
- ldrsb r3, [r3]
+ movw r3, #671
+ ldrsb r3, [r5, r3]
str r3, [r0]
- add r3, r5, #700
- ldrsb r3, [r3]
+ movw r3, #675
+ ldrsb r3, [r5, r3]
str r3, [r0]
str r6, [r0]
str r6, [r0]
bl nandc_wait_flash_ready
- str r7, [r4, #8]
mov r3, #161
+ str r7, [r4, #8]
str r3, [r4, #4]
- movw r3, #697
+ add r3, r5, #672
+ ldrsb r3, [r3]
+ str r3, [r4]
+ movw r3, #674
ldrsb r3, [r5, r3]
str r3, [r4]
- movw r3, #699
- ldrsb r3, [r5, r3]
- str r3, [r4]
- movw r3, #701
- ldrsb r3, [r5, r3]
+ add r3, r5, #676
+ ldrsb r3, [r3]
str r3, [r4]
str r6, [r4]
bl nandc_wait_flash_ready
- str r7, [r4, #8]
mov r3, #162
+ str r7, [r4, #8]
str r3, [r4, #4]
- movw r3, #698
+ movw r3, #673
ldrsb r3, [r5, r3]
str r3, [r4]
- movw r3, #702
+ movw r3, #677
ldrsb r3, [r5, r3]
str r3, [r4]
str r6, [r4]
str r6, [r4]
- ldmfd sp!, {r3, r4, r5, r6, r7, lr}
+ pop {r4, r5, r6, r7, r8, lr}
b nandc_wait_flash_ready
-.L447:
+.L454:
.align 2
-.L446:
+.L453:
.word .LANCHOR1
.fnend
.size ymtc_3d_set_tlc_rr_para, .-ymtc_3d_set_tlc_rr_para
.align 2
.global ymtc_3d_set_slc_rr_para
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ymtc_3d_set_slc_rr_para, %function
ymtc_3d_set_slc_rr_para:
.fnstart
@@ -2218,339 +2299,394 @@
str r3, [r0, #8]
mov r3, #163
str r3, [r0, #4]
- ldr r3, .L449
- ldrsb r3, [r3, r1]
+ ldr r3, .L456
+ add r1, r3, r1
+ movw r3, #1028
+ ldrsb r3, [r1, r3]
str r3, [r0]
mov r3, #0
str r3, [r0]
str r3, [r0]
str r3, [r0]
b nandc_wait_flash_ready
-.L450:
+.L457:
.align 2
-.L449:
- .word .LANCHOR1+1056
+.L456:
+ .word .LANCHOR1
.fnend
.size ymtc_3d_set_slc_rr_para, .-ymtc_3d_set_slc_rr_para
.align 2
.global flash_start_plane_read
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_start_plane_read, %function
flash_start_plane_read:
.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}
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
mov r3, #1
- ldr r7, .L479
+ ldr r4, .L487
ubfx r9, r0, #24, #2
- ldrb r2, [r7, #1189] @ zero_extendqisi2
- rsb r5, r2, #24
- mov r4, r3, asl r5
- mov r3, r3, asl r2
- sub r3, r3, #1
- sub r4, r4, #1
- and r5, r3, r0, lsr r5
- ldrb r3, [r7, #1101] @ zero_extendqisi2
- and r6, r4, r0
- and r4, r4, r1
- uxtb r5, r5
- cmp r3, r5
- bhi .L452
- ldr r1, .L479+4
+ ldrb r6, [r4, #1153] @ zero_extendqisi2
+ rsb r2, r6, #24
+ lsl r6, r3, r6
+ lsl r5, r3, r2
+ ldrb r3, [r4, #1109] @ zero_extendqisi2
+ sub r6, r6, #1
+ sub r5, r5, #1
+ and r6, r6, r0, lsr r2
+ and r7, r5, r0
+ and r5, r5, r1
+ uxtb r6, r6
+ cmp r3, r6
+ bhi .L459
movw r2, #1148
- ldr r0, .L479+8
+ ldr r1, .L487+4
+ ldr r0, .L487+8
bl printk
bl dump_stack
-.L452:
- add r5, r7, r5
- ldr r8, [r7, #1040]
- ldr fp, .L479
- ldrb r5, [r5, #1180] @ zero_extendqisi2
- mov r0, r5
- mov r10, r5, asl #8
+.L459:
+ add r6, r4, r6
+ ldr r8, [r4, #1044]
+ ldrb r6, [r6, #1144] @ zero_extendqisi2
+ mov r0, r6
bl nandc_cs
cmp r9, #0
- bne .L453
- mov r0, r6
+ lsl r10, r6, #8
+ bne .L460
+ mov r0, r7
bl slc_phy_page_address_calc
- mov r6, r0
- mov r0, r4
- bl slc_phy_page_address_calc
- ldrb r3, [fp] @ zero_extendqisi2
- cmp r3, #0
- mov r4, r0
- beq .L454
+ mov r7, r0
mov r0, r5
+ bl slc_phy_page_address_calc
+ ldrb r3, [r4] @ zero_extendqisi2
+ mov r5, r0
+ cmp r3, #0
+ beq .L461
+ mov r0, r6
bl zftl_flash_enter_slc_mode
- b .L454
-.L453:
- ldr r3, [fp, #1096]
+.L461:
+ ldrb r3, [r4, #1127] @ zero_extendqisi2
+ uxtb ip, r7
+ lsr r0, r7, #8
+ lsr r1, r7, #16
+ cmp r3, #1
+ bne .L463
+ ldrb r3, [r4, #1119] @ zero_extendqisi2
+ add r6, r8, r10
+ str r3, [r6, #2056]
+ mov r3, #0
+ str r3, [r6, #2052]
+ str r3, [r6, #2052]
+ ldrb r3, [r4, #1152] @ zero_extendqisi2
+ str ip, [r6, #2052]
+ str r0, [r6, #2052]
+ cmp r3, #0
+ ldrb r3, [r4, #1120] @ zero_extendqisi2
+ lsrne r7, r7, #24
+ str r1, [r6, #2052]
+ strne r7, [r6, #2052]
+ add r7, r8, r10
+ str r3, [r7, #2056]
+ bl nandc_wait_flash_ready
+ ldr r3, [r4, #1104]
+ cmp r9, #0
+ add r2, r8, r10
+ add r8, r8, r10
+ ldrb r3, [r3, #12] @ zero_extendqisi2
+ sub r3, r3, #3
+ clz r3, r3
+ lsr r3, r3, #5
+ moveq r3, #0
+ cmp r3, #0
+ mov r3, #0
+ strne r9, [r7, #2056]
+ str r3, [r2, #2056]
+ str r3, [r6, #2052]
+ str r3, [r6, #2052]
+ uxtb r3, r5
+ str r3, [r6, #2052]
+ lsr r3, r5, #8
+ str r3, [r6, #2052]
+ lsr r3, r5, #16
+ str r3, [r6, #2052]
+ ldrb r3, [r4, #1152] @ zero_extendqisi2
+ cmp r3, #0
+ lsrne r5, r5, #24
+ strne r5, [r6, #2052]
+.L486:
+ mov r3, #48
+ str r3, [r8, #2056]
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L460:
+ ldr r3, [r4, #1104]
ldrb r3, [r3, #12] @ zero_extendqisi2
cmp r3, #3
- bne .L455
- ldrb r3, [fp, #1196] @ zero_extendqisi2
+ bne .L462
+ ldrb r3, [r4, #1158] @ zero_extendqisi2
cmp r3, #0
- bne .L455
- ldrb r3, [fp, #1197] @ zero_extendqisi2
+ bne .L462
+ ldrb r3, [r4, #1159] @ zero_extendqisi2
cmp r3, #0
addeq r3, r8, r10
streq r9, [r3, #2056]
- beq .L454
-.L455:
- mov r0, r5
+ beq .L461
+.L462:
+ mov r0, r6
bl zftl_flash_exit_slc_mode
-.L454:
- ldrb r2, [r7, #1119] @ zero_extendqisi2
- uxtb ip, r6
- ldr r3, .L479
- mov r0, r6, lsr #8
- cmp r2, #1
- mov r1, r6, lsr #16
- bne .L456
- ldrb r2, [r3, #1111] @ zero_extendqisi2
- add r5, r8, r10
- ldrb r3, [r3, #1188] @ zero_extendqisi2
- str r2, [r5, #2056]
- mov r2, #0
- cmp r3, r2
- ldrb r3, [r7, #1112] @ zero_extendqisi2
- str r2, [r5, #2052]
- movne r6, r6, lsr #24
- str r2, [r5, #2052]
- str ip, [r5, #2052]
- str r0, [r5, #2052]
- str r1, [r5, #2052]
- strne r6, [r5, #2052]
- add r6, r8, r10
- str r3, [r6, #2056]
- bl nandc_wait_flash_ready
- ldr r3, [r7, #1096]
- ldrb r2, [r3, #12] @ zero_extendqisi2
- adds r3, r9, #0
- movne r3, #1
- cmp r2, #3
- add r2, r8, r10
- add r10, r8, r10
- movne r3, #0
- cmp r3, #0
- mov r3, #0
- strne r9, [r6, #2056]
- str r3, [r2, #2056]
- str r3, [r5, #2052]
- str r3, [r5, #2052]
- uxtb r3, r4
- str r3, [r5, #2052]
- mov r3, r4, lsr #8
- str r3, [r5, #2052]
- mov r3, r4, lsr #16
- str r3, [r5, #2052]
- ldrb r3, [r7, #1188] @ zero_extendqisi2
- cmp r3, #0
- mov r3, #48
- movne r4, r4, lsr #24
- strne r4, [r5, #2052]
- str r3, [r10, #2056]
- ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L456:
- ldr r2, [r3, #1096]
+ b .L461
+.L463:
+ ldr r2, [r4, #1104]
ldrb r3, [r2, #7] @ zero_extendqisi2
cmp r3, #1
- bne .L461
+ bne .L468
ldrb r3, [r2, #12] @ zero_extendqisi2
cmp r3, #2
addeq r3, r8, r10
moveq lr, #38
streq lr, [r3, #2056]
-.L461:
- ldrb lr, [r7, #1111] @ zero_extendqisi2
+.L468:
+ ldrb lr, [r4, #1119] @ zero_extendqisi2
add r3, r8, r10
+ cmp r9, #0
add r8, r8, r10
str lr, [r3, #2056]
str ip, [r3, #2052]
str r0, [r3, #2052]
str r1, [r3, #2052]
- ldrb r1, [r2, #12] @ zero_extendqisi2
- adds r2, r9, #0
- movne r2, #1
- cmp r1, #3
- movne r2, #0
+ ldrb r2, [r2, #12] @ zero_extendqisi2
+ sub r2, r2, #3
+ clz r2, r2
+ lsr r2, r2, #5
+ moveq r2, #0
cmp r2, #0
- ldrb r2, [r7, #1112] @ zero_extendqisi2
+ ldrb r2, [r4, #1120] @ zero_extendqisi2
strne r9, [r3, #2056]
str r2, [r8, #2056]
- uxtb r2, r4
+ uxtb r2, r5
str r2, [r3, #2052]
- mov r2, r4, lsr #8
- mov r4, r4, lsr #16
+ lsr r2, r5, #8
+ lsr r5, r5, #16
str r2, [r3, #2052]
- str r4, [r3, #2052]
- mov r3, #48
- str r3, [r8, #2056]
- ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L480:
+ str r5, [r3, #2052]
+ b .L486
+.L488:
.align 2
-.L479:
+.L487:
.word .LANCHOR0
- .word .LANCHOR1+1068
+ .word .LANCHOR1+1038
.word .LC0
.fnend
.size flash_start_plane_read, .-flash_start_plane_read
.align 2
.global flash_set_interface_mode
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_set_interface_mode, %function
flash_set_interface_mode:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
.save {r4, r5, r6, r7, r8, r9, r10, lr}
mov r8, r0
- ldr r6, .L515
- mov r9, #0
- ldr r10, .L515+4
+ ldr r6, .L528
+ mov r10, #0
+ ldr r9, .L528+4
mov r7, r6
-.L493:
- ldr r3, .L515+8
- ldr r5, [r6, #1040]
- ldrb r4, [r3, r9, asl #3] @ zero_extendqisi2
+.L502:
+ ldrb r4, [r9, r10, lsl #3] @ zero_extendqisi2
+ ldr r5, [r6, #1044]
cmp r4, #69
- cmpne r4, #152
- beq .L482
+ beq .L490
+ add r3, r4, #119
+ sub r1, r4, #44
+ uxtb r2, r3
+ clz r1, r1
+ lsr r1, r1, #5
+ cmp r2, #18
+ ldrls r3, .L528+8
+ movhi r3, #1
+ mvnls r3, r3, lsr r2
+ and r3, r3, #1
+ eor r3, r3, #1
+ orrs r3, r1, r3
+ beq .L492
+.L490:
+ cmp r8, #1
+ ldrb r1, [r7, #1192] @ zero_extendqisi2
+ bne .L493
+ tst r1, #1
+ beq .L492
+ ldr r3, .L528+12
+ ldr r3, [r3]
+ tst r3, #4096
+ beq .L494
+ ldr r0, .L528+16
+ bl printk
+.L494:
+ lsl r2, r10, #8
cmp r4, #137
cmpne r4, #44
- moveq r3, #1
- movne r3, #0
- cmp r4, #155
- orreq r3, r3, #1
- cmp r3, #0
- beq .L483
-.L482:
- cmp r8, #1
- ldrb r1, [r7, #1232] @ zero_extendqisi2
- bne .L484
- tst r1, #1
- beq .L483
- ldr r3, [r10]
- tst r3, #4096
- beq .L485
- ldr r0, .L515+12
- bl printk
-.L485:
- mov r2, r9, asl #8
- cmp r4, #44
- cmpne r4, #137
- add r3, r5, r2
mov r1, #239
+ add r3, r5, r2
str r1, [r3, #2056]
- beq .L514
+ bne .L495
+.L527:
+ mov r1, #1
+ str r1, [r3, #2052]
+ mov r1, #5
+ b .L525
+.L495:
cmp r4, #155
movne r1, #128
strne r1, [r3, #2052]
movne r1, #1
- bne .L512
-.L514:
- mov r1, #1
- str r1, [r3, #2052]
- mov r1, #5
- b .L512
-.L484:
- tst r1, #4
- beq .L483
- ldr r3, [r10]
- tst r3, #4096
- beq .L489
- ldr r0, .L515+16
- bl printk
-.L489:
- mov r2, r9, asl #8
- cmp r4, #44
- cmpne r4, #137
- add r3, r5, r2
- mov r1, #239
- str r1, [r3, #2056]
- moveq r1, #1
- movne r1, #0
- moveq r1, #1
- streq r1, [r3, #2052]
- moveq r1, #35
- beq .L512
- cmp r4, #155
- moveq r1, #1
- streq r1, [r3, #2052]
- moveq r1, #37
- movne r0, #128
- strne r0, [r3, #2052]
-.L512:
- add r5, r5, r2
+ beq .L527
+.L525:
str r1, [r3, #2048]
+ add r5, r5, r2
mov r3, #0
str r3, [r5, #2048]
str r3, [r5, #2048]
str r3, [r5, #2048]
-.L483:
- add r9, r9, #1
- cmp r9, #4
- bne .L493
+.L492:
+ add r10, r10, #1
+ cmp r10, #4
+ bne .L502
bl nandc_wait_flash_ready
mov r0, #0
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
-.L516:
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L493:
+ tst r1, #4
+ beq .L492
+ ldr r3, .L528+12
+ ldr r3, [r3]
+ tst r3, #4096
+ beq .L498
+ ldr r0, .L528+20
+ bl printk
+.L498:
+ lsl r2, r10, #8
+ mov r1, #239
+ cmp r4, #137
+ cmpne r4, #44
+ add r3, r5, r2
+ str r1, [r3, #2056]
+ moveq r1, #1
+ moveq r1, #1
+ movne r1, #0
+ streq r1, [r3, #2052]
+ moveq r1, #35
+ beq .L525
+ cmp r4, #155
+ moveq r1, #1
+ movne r0, #128
+ streq r1, [r3, #2052]
+ moveq r1, #37
+ strne r0, [r3, #2052]
+ b .L525
+.L529:
.align 2
-.L515:
+.L528:
.word .LANCHOR0
+ .word .LANCHOR0+1160
+ .word 294913
.word .LANCHOR2
- .word .LANCHOR0+1200
- .word .LC37
- .word .LC38
+ .word .LC34
+ .word .LC35
.fnend
.size flash_set_interface_mode, .-flash_set_interface_mode
.align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type mt_auto_read_calibration_config, %function
+mt_auto_read_calibration_config:
+ .fnstart
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
+ mov r5, r1
+ mov r6, r0
+ bl nandc_wait_flash_ready
+ ldr r3, .L532
+ mov r0, #200
+ ldr r4, [r3, #1044]
+ mov r3, #239
+ add r4, r4, r6, lsl #8
+ str r3, [r4, #2056]
+ mov r3, #150
+ str r3, [r4, #2052]
+ bl ndelay
+ mov r3, #0
+ str r5, [r4, #2048]
+ str r3, [r4, #2048]
+ str r3, [r4, #2048]
+ str r3, [r4, #2048]
+ pop {r4, r5, r6, pc}
+.L533:
+ .align 2
+.L532:
+ .word .LANCHOR0
+ .fnend
+ .size mt_auto_read_calibration_config, .-mt_auto_read_calibration_config
+ .align 2
.global flash_reset
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_reset, %function
flash_reset:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L518
- mov r2, #255
- ldr r3, [r3, #1040]
- add r0, r3, r0, asl #8
- str r2, [r0, #2056]
+ ldr r3, .L535
+ ldr r3, [r3, #1044]
+ add r0, r3, r0, lsl #8
+ mov r3, #255
+ str r3, [r0, #2056]
b nandc_wait_flash_ready
-.L519:
+.L536:
.align 2
-.L518:
+.L535:
.word .LANCHOR0
.fnend
.size flash_reset, .-flash_reset
.align 2
.global flash_read_id
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_read_id, %function
flash_read_id:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r3, r4, r5, r6, lr}
+ push {r0, r1, r2, r3, r4, r5, r6, lr}
.save {r4, r5, r6, lr}
.pad #16
mov r6, r0
- ldr r3, .L523
+ ldr r3, .L540
mov r4, r1
- ldr r5, [r3, #1040]
+ ldr r5, [r3, #1044]
bl flash_reset
mov r0, r6
- add r5, r5, r6, asl #8
bl nandc_cs
+ add r5, r5, r6, lsl #8
mov r3, #144
mov r0, #200
str r3, [r5, #2056]
mov r3, #0
str r3, [r5, #2052]
- bl timer_delay_ns
+ bl ndelay
ldr r3, [r5, #2048]
- mov r0, r6
strb r3, [r4]
ldr r3, [r5, #2048]
strb r3, [r4, #1]
@@ -2566,60 +2702,63 @@
strb r3, [r4, #6]
ldr r3, [r5, #2048]
strb r3, [r4, #7]
- bl nandc_de_cs
+ bl nandc_de_cs.constprop.35
ldrb r2, [r4] @ zero_extendqisi2
sub r3, r2, #1
uxtb r3, r3
cmp r3, #253
- bhi .L520
- ldrb r1, [r4, #2] @ zero_extendqisi2
+ bhi .L537
+ ldrb r1, [r4, #5] @ zero_extendqisi2
ldrb r3, [r4, #1] @ zero_extendqisi2
- ldr r0, .L523+4
- str r1, [sp]
- ldrb r1, [r4, #3] @ zero_extendqisi2
- str r1, [sp, #4]
+ ldr r0, .L540+4
+ str r1, [sp, #12]
ldrb r1, [r4, #4] @ zero_extendqisi2
str r1, [sp, #8]
- ldrb r1, [r4, #5] @ zero_extendqisi2
- str r1, [sp, #12]
+ ldrb r1, [r4, #3] @ zero_extendqisi2
+ str r1, [sp, #4]
+ ldrb r1, [r4, #2] @ zero_extendqisi2
+ str r1, [sp]
add r1, r6, #1
bl printk
-.L520:
+.L537:
add sp, sp, #16
@ sp needed
- ldmfd sp!, {r4, r5, r6, pc}
-.L524:
+ pop {r4, r5, r6, pc}
+.L541:
.align 2
-.L523:
+.L540:
.word .LANCHOR0
- .word .LC39
+ .word .LC36
.fnend
.size flash_read_id, .-flash_read_id
.align 2
.global flash_read_spare
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_read_spare, %function
flash_read_spare:
.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}
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
mov r5, r2
- ldr r3, .L527
- ldr r2, .L527+4
+ ldr r3, .L544
+ ldr r2, .L544+4
ldrb r3, [r3, #13] @ zero_extendqisi2
- ldr r4, [r2, #1040]
+ ldr r4, [r2, #1044]
mov r2, #0
- add r4, r4, r0, asl #8
- mov r3, r3, asl #9
+ lsl r3, r3, #9
+ add r4, r4, r0, lsl #8
str r2, [r4, #2056]
str r3, [r4, #2052]
- mov r3, r3, lsr #8
+ lsr r3, r3, #8
str r3, [r4, #2052]
uxtb r3, r1
str r3, [r4, #2052]
- mov r3, r1, lsr #8
- mov r1, r1, lsr #16
+ lsr r3, r1, #8
+ lsr r1, r1, #16
str r3, [r4, #2052]
mov r3, #48
str r1, [r4, #2052]
@@ -2627,118 +2766,125 @@
bl nandc_wait_flash_ready
ldr r3, [r4, #2048]
strb r3, [r5]
- ldmfd sp!, {r3, r4, r5, pc}
-.L528:
+ pop {r4, r5, r6, pc}
+.L545:
.align 2
-.L527:
+.L544:
.word .LANCHOR2
.word .LANCHOR0
.fnend
.size flash_read_spare, .-flash_read_spare
.align 2
.global flash_read_otp_data
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_read_otp_data, %function
flash_read_otp_data:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- 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
- mov r8, r0
- ldr r7, [r3, #1040]
- mov r10, r8, asl #8
- mov r5, r1
- mov r9, r2
- add r4, r7, r10
+ ldr r3, .L550
+ push {r0, r1, r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
+ .pad #8
+ mov r9, r0
+ lsl r9, r9, #8
+ mov r6, r1
+ mov r5, r2
+ ldr r8, [r3, #1044]
+ mov r10, #144
bl nandc_cs
- mov fp, #144
mov r3, #239
mov r0, #50
+ add r4, r8, r9
+ mov r7, #0
str r3, [r4, #2056]
- str fp, [r4, #2052]
- mov r6, #0
- bl timer_delay_ns
+ str r10, [r4, #2052]
+ bl ndelay
mov r3, #1
str r3, [r4, #2048]
- str r6, [r4, #2048]
- str r6, [r4, #2048]
- str r6, [r4, #2048]
+ str r7, [r4, #2048]
+ str r7, [r4, #2048]
+ str r7, [r4, #2048]
bl nandc_wait_flash_ready
mov r3, #238
+ ldr r0, .L550+4
str r3, [r4, #2056]
- str fp, [r4, #2052]
+ str r10, [r4, #2052]
ldr r2, [r4, #2048]
ldr r3, [r4, #2048]
ldr r1, [r4, #2048]
- ldr r0, .L533+4
str r1, [sp]
- mov r1, r5
+ mov r1, r6
bl printk
bl nandc_wait_flash_ready
- str r6, [r4, #2056]
- uxtb r3, r5
- str r6, [r4, #2052]
- str r6, [r4, #2052]
+ uxtb r3, r6
+ str r7, [r4, #2056]
+ str r7, [r4, #2052]
+ str r7, [r4, #2052]
str r3, [r4, #2052]
- mov r3, r5, lsr #8
- mov r5, r5, lsr #16
+ lsr r3, r6, #8
+ lsr r6, r6, #16
str r3, [r4, #2052]
mov r3, #48
- str r5, [r4, #2052]
+ str r6, [r4, #2052]
str r3, [r4, #2056]
bl nandc_wait_flash_ready
- add r3, r9, #16384
-.L530:
- ldr r2, [r4, #2048]
- strb r2, [r9], #1
- cmp r9, r3
- bne .L530
- add r7, r7, r10
+ add r3, r5, #16384
+ mov r2, r5
+.L547:
+ ldr r1, [r4, #2048]
+ strb r1, [r2], #1
+ cmp r2, r3
+ bne .L547
+ add r8, r8, r9
mov r3, #239
- mov r0, #50
- str r3, [r7, #2056]
+ str r3, [r8, #2056]
mov r3, #144
str r3, [r4, #2052]
- bl timer_delay_ns
+ mov r0, #50
+ bl ndelay
mov r3, #0
- mov r0, r8
str r3, [r4, #2048]
str r3, [r4, #2048]
str r3, [r4, #2048]
str r3, [r4, #2048]
- add sp, sp, #12
+ add sp, sp, #8
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- b nandc_de_cs
-.L534:
+ pop {r4, r5, r6, r7, r8, r9, r10, lr}
+ b nandc_de_cs.constprop.35
+.L551:
.align 2
-.L533:
+.L550:
.word .LANCHOR0
- .word .LC40
+ .word .LC37
.fnend
.size flash_read_otp_data, .-flash_read_otp_data
.align 2
.global sandisk_prog_test_bad_block
+ .syntax unified
+ .arm
+ .fpu softvfp
.type sandisk_prog_test_bad_block, %function
sandisk_prog_test_bad_block:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- ldr r3, .L551
- stmfd sp!, {r4, r5, r6, r7, r8, lr}
+ push {r4, r5, r6, r7, r8, lr}
.save {r4, r5, r6, r7, r8, lr}
- mov r7, r0, asl #8
- ldr r6, .L551+4
+ lsl r7, r0, #8
+ ldr r3, .L568
mov r8, r1
- ldr r5, [r3, #1040]
- ldrb r4, [r6, #33] @ zero_extendqisi2
- add r3, r5, r7
- cmp r4, #0
- strne r4, [r3, #2056]
+ ldr r6, .L568+4
+ ldr r5, [r3, #1044]
+ ldrb r3, [r6, #33] @ zero_extendqisi2
add r4, r5, r7
+ cmp r3, #0
+ addne r2, r5, r7
+ addeq r3, r5, r7
moveq r2, #162
+ strne r3, [r2, #2056]
streq r2, [r3, #2056]
mov r3, #128
str r3, [r4, #2056]
@@ -2747,9 +2893,9 @@
str r3, [r4, #2052]
uxtb r3, r1
str r3, [r4, #2052]
- mov r3, r1, lsr #8
+ lsr r3, r1, #8
str r3, [r4, #2052]
- mov r3, r1, lsr #16
+ lsr r3, r1, #16
str r3, [r4, #2052]
mov r3, #16
str r3, [r4, #2056]
@@ -2757,45 +2903,48 @@
mov r3, #112
mov r0, #200
str r3, [r4, #2056]
- bl timer_delay_ns
+ bl ndelay
ldr r2, [r4, #2048]
cmp r2, #255
ldreq r2, [r4, #2048]
ands r4, r2, #5
- beq .L539
+ beq .L556
ldr r3, [r6]
tst r3, #4096
- beq .L539
- ldr r0, .L551+8
+ beq .L556
mov r1, r8
+ ldr r0, .L568+8
bl printk
-.L539:
+.L556:
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}
-.L552:
+ pop {r4, r5, r6, r7, r8, pc}
+.L569:
.align 2
-.L551:
+.L568:
.word .LANCHOR0
.word .LANCHOR2
- .word .LC41
+ .word .LC38
.fnend
.size sandisk_prog_test_bad_block, .-sandisk_prog_test_bad_block
.align 2
.global nandc_rdy_status
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nandc_rdy_status, %function
nandc_rdy_status:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L555
+ ldr r3, .L572
.pad #8
sub sp, sp, #8
- ldr r3, [r3, #1040]
+ ldr r3, [r3, #1044]
ldr r3, [r3]
str r3, [sp, #4]
ldr r0, [sp, #4]
@@ -2803,14 +2952,17 @@
add sp, sp, #8
@ sp needed
bx lr
-.L556:
+.L573:
.align 2
-.L555:
+.L572:
.word .LANCHOR0
.fnend
.size nandc_rdy_status, .-nandc_rdy_status
.align 2
.global nandc_bch_sel
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nandc_bch_sel, %function
nandc_bch_sel:
.fnstart
@@ -2824,215 +2976,207 @@
ldr r2, [sp, #4]
orr r2, r2, #1
str r2, [sp, #4]
- ldr r2, .L570
+ ldr r2, .L586
ldrb r1, [r2, #1028] @ zero_extendqisi2
- strb r0, [r2, #1172]
+ strb r0, [r2, #1193]
cmp r1, #9
- bne .L558
- ldr r1, [r2, #1040]
+ bne .L575
+ ldr r2, [r2, #1044]
cmp r0, #70
- ldr r2, [sp, #4]
- str r2, [r1, #16]
- beq .L559
+ ldr r1, [sp, #4]
+ str r1, [r2, #16]
+ beq .L576
cmp r0, #60
moveq r3, #3
- beq .L559
+ beq .L576
cmp r0, #40
moveq r3, #2
movne r3, #1
-.L559:
- mov r2, #0
- str r2, [sp]
- ldr r2, [sp]
- bic r2, r2, #234881024
- orr r3, r2, r3, asl #25
- str r3, [sp]
+.L576:
+ mov r1, #0
+ str r1, [sp]
+ ldr r1, [sp]
+ bfi r1, r3, #25, #3
+ str r1, [sp]
ldr r3, [sp]
orr r3, r3, #1
str r3, [sp]
ldr r3, [sp]
- str r3, [r1, #32]
- b .L557
-.L558:
- ldr r1, [sp, #4]
- cmp r0, #16
- ldr r2, [r2, #1040]
- str r1, [r2, #8]
- str r3, [sp]
- ldr r3, [sp]
- bic r3, r3, #65280
- orr r3, r3, #4096
- str r3, [sp]
- ldr r3, [sp]
- bic r3, r3, #262144
- str r3, [sp]
- beq .L568
- ldr r3, [sp]
- cmp r0, #24
- orreq r3, r3, #16
- beq .L569
- orr r3, r3, #262144
- str r3, [sp]
- ldr r3, [sp]
- cmp r0, #40
- orr r3, r3, #16
- str r3, [sp]
- bne .L562
-.L568:
- ldr r3, [sp]
- bic r3, r3, #16
-.L569:
- str r3, [sp]
-.L562:
- ldr r3, [sp]
- orr r3, r3, #1
- str r3, [sp]
- ldr r3, [sp]
- str r3, [r2, #12]
-.L557:
+ str r3, [r2, #32]
+.L574:
add sp, sp, #8
@ sp needed
bx lr
-.L571:
+.L575:
+ ldr r1, [r2, #1044]
+ mov ip, #16
+ ldr r2, [sp, #4]
+ cmp r0, ip
+ str r2, [r1, #8]
+ str r3, [sp]
+ ldr r2, [sp]
+ bfi r2, ip, #8, #8
+ str r2, [sp]
+ ldr r2, [sp]
+ bfi r2, r3, #18, #1
+ str r2, [sp]
+ bne .L578
+.L585:
+ ldr r2, [sp]
+ bfi r2, r3, #4, #1
+ str r2, [sp]
+ b .L579
+.L578:
+ cmp r0, #24
+ ldreq r3, [sp]
+ orreq r3, r3, #16
+ streq r3, [sp]
+ beq .L579
+ ldr r2, [sp]
+ cmp r0, #40
+ orr r2, r2, #262144
+ str r2, [sp]
+ ldr r2, [sp]
+ orr r2, r2, #16
+ str r2, [sp]
+ beq .L585
+.L579:
+ ldr r3, [sp]
+ orr r3, r3, #1
+ str r3, [sp]
+ ldr r3, [sp]
+ str r3, [r1, #12]
+ b .L574
+.L587:
.align 2
-.L570:
+.L586:
.word .LANCHOR0
.fnend
.size nandc_bch_sel, .-nandc_bch_sel
.align 2
.global zftl_flash_resume
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_flash_resume, %function
zftl_flash_resume:
.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}
- ldr r4, .L583
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
+ ldr r4, .L599
ldrb r3, [r4, #1028] @ zero_extendqisi2
- ldr r2, [r4, #1044]
- cmp r3, #9
- ldr r3, [r4, #1040]
- str r2, [r3]
ldr r2, [r4, #1048]
- ldr r3, [r4, #1040]
- str r2, [r3, #4]
+ cmp r3, #9
+ ldr r3, [r4, #1044]
+ str r2, [r3]
ldr r2, [r4, #1052]
- bne .L573
+ ldr r3, [r4, #1044]
+ str r2, [r3, #4]
+ ldr r2, [r4, #1056]
+ bne .L589
str r2, [r3, #16]
- ldr r2, [r4, #1056]
+ ldr r2, [r4, #1060]
str r2, [r3, #32]
- ldr r2, [r4, #1060]
+ ldr r2, [r4, #1064]
str r2, [r3, #80]
- ldr r2, [r4, #1064]
+ ldr r2, [r4, #1068]
str r2, [r3, #84]
- ldr r2, [r4, #1068]
+ ldr r2, [r4, #1072]
str r2, [r3, #520]
- ldr r2, [r4, #1072]
+ ldr r2, [r4, #1076]
str r2, [r3, #8]
- b .L574
-.L573:
- str r2, [r3, #8]
- ldr r2, [r4, #1056]
- str r2, [r3, #12]
- ldr r2, [r4, #1060]
- str r2, [r3, #304]
- ldr r2, [r4, #1064]
- str r2, [r3, #308]
- ldr r2, [r4, #1068]
- str r2, [r3, #336]
- ldr r2, [r4, #1072]
- str r2, [r3, #344]
-.L574:
- ldr r6, .L583+4
+.L591:
+ ldr r6, .L599+4
mov r5, #0
mov r8, #2
- sub r7, r6, #8
-.L576:
- ldrb r3, [r6, r5, asl #3] @ zero_extendqisi2
+ sub r7, r6, #6
+.L590:
+ ldrb r3, [r6, r5, lsl #3] @ zero_extendqisi2
sub r3, r3, #1
uxtb r3, r3
cmp r3, #253
- bhi .L575
+ bhi .L592
uxtb r9, r5
mov r0, r9
bl flash_reset
strb r8, [r5, r7]
mov r0, r9
bl zftl_flash_enter_slc_mode
-.L575:
+.L592:
add r5, r5, #1
cmp r5, #4
- bne .L576
- ldrb r3, [r4, #1135] @ zero_extendqisi2
+ bne .L590
+ ldrb r3, [r4, #1143] @ zero_extendqisi2
cmp r3, #0
- beq .L577
+ beq .L593
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, .L583
- ldrb r0, [r3, #1061] @ zero_extendqisi2
+ ldrb r0, [r4, #1065] @ zero_extendqisi2
bl nandc_set_ddr_para
-.L577:
- ldr r3, .L583+8
+.L593:
+ ldr r3, .L599+8
+ pop {r4, r5, r6, r7, r8, r9, r10, lr}
ldrb r0, [r3, #24] @ zero_extendqisi2
- ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
b nandc_bch_sel
-.L584:
+.L589:
+ str r2, [r3, #8]
+ ldr r2, [r4, #1060]
+ str r2, [r3, #12]
+ ldr r2, [r4, #1064]
+ str r2, [r3, #304]
+ ldr r2, [r4, #1068]
+ str r2, [r3, #308]
+ ldr r2, [r4, #1072]
+ str r2, [r3, #336]
+ ldr r2, [r4, #1076]
+ str r2, [r3, #344]
+ b .L591
+.L600:
.align 2
-.L583:
+.L599:
.word .LANCHOR0
- .word .LANCHOR0+1200
+ .word .LANCHOR0+1160
.word .LANCHOR2
.fnend
.size zftl_flash_resume, .-zftl_flash_resume
.align 2
.global rk_nandc_flash_ready
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rk_nandc_flash_ready, %function
rk_nandc_flash_ready:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L588
- ldrb r3, [r3, #1028] @ zero_extendqisi2
- cmp r3, #9
- ldreq r3, [r0, #292]
- ldrne r3, [r0, #368]
- orreq r3, r3, #2
- orrne r3, r3, #2
- streq r3, [r0, #292]
- strne r3, [r0, #368]
- ldreq r3, [r0, #288]
- ldrne r3, [r0, #364]
- biceq r3, r3, #2
- bicne r3, r3, #2
- streq r3, [r0, #288]
- strne r3, [r0, #364]
- bx lr
-.L589:
- .align 2
-.L588:
- .word .LANCHOR0
+ mov r1, #1
+ b nandc_irq_disable
.fnend
.size rk_nandc_flash_ready, .-rk_nandc_flash_ready
.align 2
.global nandc_iqr_wait_flash_ready
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nandc_iqr_wait_flash_ready, %function
nandc_iqr_wait_flash_ready:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, lr}
+ push {r4, lr}
.save {r4, lr}
- ldr r4, .L597
- ldr r0, [r4, #1040]
+ ldr r4, .L607
+ ldr r0, [r4, #1044]
bl rk_nandc_rb_irq_flag_init
ldrb r3, [r4, #1028] @ zero_extendqisi2
- ldr r0, [r4, #1040]
+ ldr r0, [r4, #1044]
cmp r3, #9
ldreq r3, [r0, #292]
ldrne r3, [r0, #368]
@@ -3048,271 +3192,258 @@
strne r3, [r0, #364]
ldr r3, [r0]
tst r3, #512
- bne .L593
- ldmfd sp!, {r4, lr}
+ bne .L605
+ pop {r4, lr}
b wait_for_nand_flash_ready
-.L593:
- ldrb r3, [r4, #1028] @ zero_extendqisi2
- cmp r3, #9
- ldreq r3, [r0, #292]
- ldrne r3, [r0, #368]
- orreq r3, r3, #2
- orrne r3, r3, #2
- streq r3, [r0, #292]
- strne r3, [r0, #368]
- ldreq r3, [r0, #288]
- ldrne r3, [r0, #364]
- biceq r3, r3, #2
- bicne r3, r3, #2
- streq r3, [r0, #288]
- strne r3, [r0, #364]
- ldmfd sp!, {r4, pc}
-.L598:
+.L605:
+ mov r1, #1
+ pop {r4, lr}
+ b nandc_irq_disable
+.L608:
.align 2
-.L597:
+.L607:
.word .LANCHOR0
.fnend
.size nandc_iqr_wait_flash_ready, .-nandc_iqr_wait_flash_ready
.align 2
.global flash_erase_duplane_block
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_erase_duplane_block, %function
flash_erase_duplane_block:
.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
- mov r8, r3
- ldr fp, .L624
+ push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ mov r10, r3
+ ldr r7, .L634
mov r4, r0
mov r5, r1
- mov r9, r2
- ldrb r3, [fp, #1101] @ zero_extendqisi2
+ mov r6, r2
+ ldrb r3, [r7, #1109] @ zero_extendqisi2
cmp r3, r0
- bhi .L600
- ldr r1, .L624+4
+ bhi .L610
movw r2, #695
- ldr r0, .L624+8
+ ldr r1, .L634+4
+ ldr r0, .L634+8
bl printk
bl dump_stack
-.L600:
- ldrb r2, [fp, #1101] @ zero_extendqisi2
- ldr r3, .L624
- cmp r2, r4
- mvnls r0, #0
- bls .L601
- add r4, r3, r4
- ldr r7, [r3, #1040]
- ldr r3, .L624+12
- ldrb r6, [r4, #1180] @ zero_extendqisi2
+.L610:
+ ldrb r3, [r7, #1109] @ zero_extendqisi2
+ cmp r3, r4
+ bls .L619
+ ldr r3, .L634+12
+ add r4, r7, r4
+ ldrb r4, [r4, #1144] @ zero_extendqisi2
+ ldr r9, [r7, #1044]
ldr r3, [r3]
- add r10, r6, #8
+ add r8, r4, #8
tst r3, #16
- add r10, r7, r10, asl #8
- beq .L602
- ldr r0, .L624+16
- mov r1, r6
- mov r2, r9
- mov r3, r8
+ add r8, r9, r8, lsl #8
+ beq .L612
+ mov r3, r10
+ mov r2, r6
+ mov r1, r4
+ ldr r0, .L634+16
bl printk
-.L602:
+.L612:
bl nandc_wait_flash_ready
- mov r0, r6
+ mov r0, r4
bl nandc_cs
cmp r5, #0
- mov r0, r6
- bne .L603
+ mov r0, r4
+ bne .L613
bl zftl_flash_enter_slc_mode
- b .L604
-.L603:
- bl zftl_flash_exit_slc_mode
-.L604:
- mov r3, r6, asl #8
- mov r2, #96
- add r4, r7, r3
- str r2, [r4, #2056]
- uxtb r2, r9
- str r2, [r4, #2052]
- mov r2, r9, lsr #8
- str r2, [r4, #2052]
- mov r2, r9, lsr #16
- str r2, [r4, #2052]
- ldrb r2, [fp, #1188] @ zero_extendqisi2
- cmp r2, #0
- movne r2, r9, lsr #24
- strne r2, [r4, #2052]
- ldrb r2, [fp, #1233] @ zero_extendqisi2
- cmp r2, #0
- movne r5, #0
- bne .L606
- add r2, r7, r3
- mov r1, #208
- str r3, [sp, #4]
- str r1, [r2, #2056]
+.L614:
+ lsl r4, r4, #8
+ mov r3, #96
+ add r5, r9, r4
+ str r3, [r5, #2056]
+ uxtb r3, r6
+ str r3, [r5, #2052]
+ lsr r3, r6, #8
+ str r3, [r5, #2052]
+ lsr r3, r6, #16
+ str r3, [r5, #2052]
+ ldrb r3, [r7, #1152] @ zero_extendqisi2
+ cmp r3, #0
+ lsrne r3, r6, #24
+ strne r3, [r5, #2052]
+ ldrb r3, [r7, #1194] @ zero_extendqisi2
+ cmp r3, #0
+ movne fp, #0
+ bne .L616
+ add r3, r9, r4
+ mov r2, #208
+ str r2, [r3, #2056]
bl nandc_wait_flash_ready
- mov r0, r10
+ mov r0, r8
bl flash_read_status
- ldr r3, [sp, #4]
- and r5, r0, #5
-.L606:
- add r2, r7, r3
- mov r1, #96
- add r7, r7, r3
+ and fp, r0, #5
+.L616:
+ mov r2, #96
+ add r3, r9, r4
+ str r2, [r3, #2056]
+ uxtb r3, r10
+ add r0, r9, r4
+ str r3, [r5, #2052]
+ lsr r3, r10, #8
+ str r3, [r5, #2052]
+ lsr r3, r10, #16
+ str r3, [r5, #2052]
+ ldrb r3, [r7, #1152] @ zero_extendqisi2
+ cmp r3, #0
mov r3, #208
- str r1, [r2, #2056]
- uxtb r2, r8
- str r2, [r4, #2052]
- mov r2, r8, lsr #8
- str r2, [r4, #2052]
- mov r2, r8, lsr #16
- str r2, [r4, #2052]
- ldrb r2, [fp, #1188] @ zero_extendqisi2
- cmp r2, #0
- movne r8, r8, lsr #24
- strne r8, [r4, #2052]
- str r3, [r7, #2056]
+ lsrne r2, r10, #24
+ strne r2, [r5, #2052]
+ str r3, [r0, #2056]
bl nandc_iqr_wait_flash_ready
bl nandc_wait_flash_ready
- mov r0, r10
+ mov r0, r8
bl flash_read_status
- mov r4, r0
- mov r0, r6
- bl nandc_de_cs
- and r3, r4, #5
- orrs r5, r3, r5
- beq .L608
- ldr r0, .L624+20
- mov r1, r9
- mov r2, r4
+ bl nandc_de_cs.constprop.35
+ and r3, r0, #5
+ orrs fp, r3, fp
+ beq .L618
+ mov r2, r0
+ mov r1, r6
+ ldr r0, .L634+20
bl printk
-.L608:
- mov r0, r5
-.L601:
- add sp, sp, #12
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L625:
+.L618:
+ mov r0, fp
+ pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L613:
+ bl zftl_flash_exit_slc_mode
+ b .L614
+.L619:
+ mvn r0, #0
+ pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L635:
.align 2
-.L624:
+.L634:
.word .LANCHOR0
- .word .LANCHOR1+1092
+ .word .LANCHOR1+1061
.word .LC0
.word .LANCHOR2
- .word .LC42
- .word .LC43
+ .word .LC39
+ .word .LC40
.fnend
.size flash_erase_duplane_block, .-flash_erase_duplane_block
.align 2
.global flash_erase_block_en
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_erase_block_en, %function
flash_erase_block_en:
.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}
+ push {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, .L645
mov r7, r0
+ ldr r5, .L655
mov fp, r1
mov r8, r2
- ldrb r3, [r5, #1189] @ zero_extendqisi2
- rsb r3, r3, #24
- bic r4, r2, r4, asl r3
- ldrb r3, [r5, #1101] @ zero_extendqisi2
+ ldrb r6, [r5, #1153] @ zero_extendqisi2
+ rsb r3, r6, #24
+ mvn r6, #0
+ bic r6, r2, r6, lsl r3
+ ldrb r3, [r5, #1109] @ zero_extendqisi2
cmp r3, r0
- bhi .L627
- ldr r1, .L645+4
+ bhi .L637
movw r2, #757
- ldr r0, .L645+8
+ ldr r1, .L655+4
+ ldr r0, .L655+8
bl printk
bl dump_stack
-.L627:
- ldrb r2, [r5, #1101] @ zero_extendqisi2
- ldr r3, .L645
- cmp r2, r7
- bls .L634
- add r2, r3, r7
- ldr r9, [r3, #1040]
- ldr r3, .L645+12
- ldrb r6, [r2, #1180] @ zero_extendqisi2
+.L637:
+ ldrb r3, [r5, #1109] @ zero_extendqisi2
+ cmp r3, r7
+ bls .L644
+ add r3, r5, r7
+ ldr r9, [r5, #1044]
+ ldrb r4, [r3, #1144] @ zero_extendqisi2
+ ldr r3, .L655+12
+ add r10, r4, #8
ldr r3, [r3]
- add r10, r6, #8
+ add r10, r9, r10, lsl #8
tst r3, #16
- add r10, r9, r10, asl #8
- beq .L629
- ldr r0, .L645+16
- mov r1, r6
- mov r2, r8
+ beq .L639
mov r3, fp
+ mov r2, r8
+ mov r1, r4
+ ldr r0, .L655+16
bl printk
-.L629:
+.L639:
bl nandc_wait_flash_ready
- mov r0, r6
+ mov r0, r4
bl nandc_cs
cmp fp, #0
- mov r0, r6
- bne .L630
+ mov r0, r4
+ bne .L640
bl zftl_flash_enter_slc_mode
- b .L631
-.L630:
- bl zftl_flash_exit_slc_mode
-.L631:
- mov r2, r6, asl #8
- mov r1, #96
- add r3, r9, r2
- add r9, r9, r2
- str r1, [r3, #2056]
- uxtb r1, r4
- str r1, [r3, #2052]
- mov r1, r4, lsr #8
- str r1, [r3, #2052]
- mov r1, r4, lsr #16
- str r1, [r3, #2052]
- ldrb r1, [r5, #1188] @ zero_extendqisi2
- cmp r1, #0
- movne r4, r4, lsr #24
- strne r4, [r3, #2052]
+.L641:
+ lsl r4, r4, #8
+ mov r2, #96
+ add r3, r9, r4
+ add r4, r9, r4
+ str r2, [r3, #2056]
+ uxtb r2, r6
+ str r2, [r3, #2052]
+ lsr r2, r6, #8
+ str r2, [r3, #2052]
+ lsr r2, r6, #16
+ str r2, [r3, #2052]
+ ldrb r2, [r5, #1152] @ zero_extendqisi2
+ cmp r2, #0
+ lsrne r6, r6, #24
+ strne r6, [r3, #2052]
mov r3, #208
- str r3, [r9, #2056]
+ str r3, [r4, #2056]
bl nandc_iqr_wait_flash_ready
bl nandc_wait_flash_ready
mov r0, r10
bl flash_read_status
- mov r4, r0
- mov r0, r6
- bl nandc_de_cs
- ands r4, r4, #5
- beq .L633
+ bl nandc_de_cs.constprop.35
+ ands r4, r0, #5
+ beq .L643
ldrh r1, [r5, #2]
mov r0, r8
bl __aeabi_uidiv
mov r3, r4
- mov r1, r7
mvn r4, #0
mov r2, r0
- ldr r0, .L645+20
+ mov r1, r7
+ ldr r0, .L655+20
bl printk
-.L633:
+.L643:
mov r0, r4
- ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L634:
+ pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L640:
+ bl zftl_flash_exit_slc_mode
+ b .L641
+.L644:
mvn r0, #0
- ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L646:
+ pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L656:
.align 2
-.L645:
+.L655:
.word .LANCHOR0
- .word .LANCHOR1+1120
+ .word .LANCHOR1+1087
.word .LC0
.word .LANCHOR2
- .word .LC44
- .word .LC45
+ .word .LC41
+ .word .LC42
.fnend
.size flash_erase_block_en, .-flash_erase_block_en
.align 2
.global flash_erase_block
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_erase_block, %function
flash_erase_block:
.fnstart
@@ -3326,117 +3457,105 @@
.size flash_erase_block, .-flash_erase_block
.align 2
.global flash_erase_all
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_erase_all, %function
flash_erase_all:
.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}
- mov r6, #0
- ldr r3, .L656
- ldr r7, .L656+4
+ ldr r3, .L664
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
+ mov r5, #0
+ ldr r7, .L664+4
ldrb r4, [r3, #17] @ zero_extendqisi2
ldrh r3, [r3, #18]
mov r8, r7
smulbb r4, r4, r3
uxth r4, r4
-.L649:
- ldrb r2, [r7, #1101] @ zero_extendqisi2
- uxth r3, r6
- cmp r2, r3
- bls .L654
- add r3, r7, r3
- mov r5, #0
- ldrb r9, [r3, #1180] @ zero_extendqisi2
-.L650:
+.L659:
+ ldrb r2, [r7, #1109] @ zero_extendqisi2
uxth r3, r5
- cmp r3, r4
- bcs .L655
+ cmp r2, r3
+ bhi .L662
+ mov r1, #0
+ ldr r0, .L664+8
+ pop {r4, r5, r6, r7, r8, r9, r10, lr}
+ b printk
+.L662:
+ uxtah r3, r7, r5
+ mov r6, #0
+ ldrb r9, [r3, #1144] @ zero_extendqisi2
+.L660:
+ uxth r3, r6
+ cmp r4, r3
+ addls r5, r5, #1
+ bls .L659
+.L661:
ldrh r1, [r8, #2]
mov r0, r9
- mul r1, r1, r5
- bl flash_erase_block
- add r5, r5, #1
- b .L650
-.L655:
+ mul r1, r6, r1
add r6, r6, #1
- b .L649
-.L654:
- ldr r0, .L656+8
- mov r1, #0
- ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
- b printk
-.L657:
+ bl flash_erase_block
+ b .L660
+.L665:
.align 2
-.L656:
+.L664:
.word .LANCHOR2
.word .LANCHOR0
- .word .LC46
+ .word .LC43
.fnend
.size flash_erase_all, .-flash_erase_all
.align 2
.global rk_nandc_flash_xfer_completed
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rk_nandc_flash_xfer_completed, %function
rk_nandc_flash_xfer_completed:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L661
- ldrb r3, [r3, #1028] @ zero_extendqisi2
- cmp r3, #9
- ldreq r3, [r0, #292]
- ldrne r3, [r0, #368]
- orreq r3, r3, #1
- orrne r3, r3, #1
- streq r3, [r0, #292]
- strne r3, [r0, #368]
- ldreq r3, [r0, #288]
- ldrne r3, [r0, #364]
- biceq r3, r3, #1
- bicne r3, r3, #1
- streq r3, [r0, #288]
- strne r3, [r0, #364]
- bx lr
-.L662:
- .align 2
-.L661:
- .word .LANCHOR0
+ mov r1, #0
+ b nandc_irq_disable
.fnend
.size rk_nandc_flash_xfer_completed, .-rk_nandc_flash_xfer_completed
.align 2
.global nandc_xfer_start
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nandc_xfer_start, %function
nandc_xfer_start:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, lr}
- .save {r4, r5, r6, r7, r8, r9, lr}
+ push {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr}
+ .save {r4, r5, r6, r7, r8, lr}
+ .pad #16
mov r5, r0
- ldr r4, .L680
+ ldr r4, .L684
mov r0, r2
- .pad #20
- sub sp, sp, #20
and r6, r5, #1
- add lr, r1, #1
+ add ip, r1, #1
ldrb r2, [r4, #1028] @ zero_extendqisi2
cmp r2, #9
- bne .L664
- mov r2, #0
- str r2, [sp, #4]
+ bne .L668
+ mov r1, #0
+ mov lr, #1
+ str r1, [sp, #4]
+ ubfx ip, ip, #1, #6
ldr r2, [sp, #4]
- ubfx lr, lr, #1, #6
- bic r2, r2, #2
- orr r2, r2, r6, asl #1
+ bfi r2, r6, #1, #1
str r2, [sp, #4]
ldr r2, [sp, #4]
orr r2, r2, #8
str r2, [sp, #4]
ldr r2, [sp, #4]
- bic r2, r2, #96
- orr r2, r2, #32
+ bfi r2, lr, #5, #2
str r2, [sp, #4]
ldr r2, [sp, #4]
orr r2, r2, #536870912
@@ -3445,199 +3564,184 @@
orr r2, r2, #1024
str r2, [sp, #4]
ldr r2, [sp, #4]
- bic r2, r2, #16
+ bfi r2, r1, #4, #1
str r2, [sp, #4]
- ldr ip, [sp, #4]
- bic ip, ip, #264241152
- orr lr, ip, lr, asl #22
- str lr, [sp, #4]
+ ldr r2, [sp, #4]
+ bfi r2, ip, #22, #6
+ str r2, [sp, #4]
ldr r2, [sp, #4]
orr r2, r2, #128
str r2, [sp, #4]
- ldrb r2, [r4, #1136] @ zero_extendqisi2
- cmp r2, #0
- beq .L665
- ldrb r2, [r4, #1168] @ zero_extendqisi2
- cmp r2, #0
+ ldrb r2, [r4, #1195] @ zero_extendqisi2
+ cmp r2, r1
+ beq .L669
+ ldrb r2, [r4, #1196] @ zero_extendqisi2
+ cmp r2, r1
ldrne r2, [sp, #4]
orrne r2, r2, #512
strne r2, [sp, #4]
-.L665:
- ldr r1, [sp, #4]
- mov r2, r5
- str r3, [r4, #1148]
- ubfx r1, r1, #22, #6
- str r0, [r4, #1144]
- mov r1, r1, asl #10
- bl rknand_dma_map_single
- mov r2, r5
- clz r5, r5
- mov r5, r5, lsr #5
- ldr r1, [sp, #4]
- str r0, [r4, #1152]
- ubfx r1, r1, #22, #6
- ldr r0, [r4, #1148]
- mov r1, r1, asl #2
- bl rknand_dma_map_single
- ldr r2, [r4, #1040]
- mov r3, #1
- str r3, [r4, #1160]
- ldr r3, [r4, #1152]
- str r3, [r2, #52]
- str r0, [r2, #56]
- ldr r3, [r2, #48]
- str r0, [r4, #1156]
- str r3, [sp, #8]
- ldr r3, [sp, #8]
- bic r3, r3, #15872
- orr r3, r3, #8192
- str r3, [sp, #8]
- ldr r3, [sp, #8]
- orr r3, r3, #448
- str r3, [sp, #8]
- ldr r3, [sp, #8]
- bic r3, r3, #56
- orr r3, r3, #16
- str r3, [sp, #8]
- ldr r3, [sp, #8]
- orr r3, r3, #4
- str r3, [sp, #8]
- ldr r3, [sp, #8]
- bic r3, r3, #2
- orr r5, r3, r5, asl #1
- str r5, [sp, #8]
- ldr r3, [sp, #8]
- orr r3, r3, #1
- str r3, [sp, #8]
- movw r3, #1170
- ldrh r1, [r4, r3]
- ldr r3, [sp, #8]
- ubfx r1, r1, #0, #11
- bic r3, r3, #133169152
- bic r3, r3, #983040
- orr r3, r3, r1, asl #16
- str r3, [sp, #8]
- ldr r3, [sp, #8]
- str r3, [r2, #48]
- ldr r3, [sp, #4]
- str r3, [r2, #16]
- ldr r3, [sp, #4]
- orr r3, r3, #4
- str r3, [sp, #4]
- ldr r3, [sp, #4]
- str r3, [r2, #16]
- b .L663
-.L664:
- ldr r2, [r4, #1040]
- mov ip, #0
- cmp r5, ip
- ubfx lr, lr, #1, #6
- ldr r2, [r2, #12]
- ldreq r3, [r4, #1140]
- str r2, [sp, #12]
- ldr r2, [sp, #12]
- bic r2, r2, #65280
- orr r2, r2, #4096
- str r2, [sp, #12]
- ldr r2, [sp, #12]
- bic r2, r2, #8
- str r2, [sp, #12]
- ldr r2, [sp, #12]
- bic r2, r2, #224
- str r2, [sp, #12]
- str ip, [sp, #4]
- ldr r2, [sp, #4]
- bic r2, r2, #2
- orr r2, r2, r6, asl #1
- str r2, [sp, #4]
- ldr r2, [sp, #4]
- orr r2, r2, #8
- str r2, [sp, #4]
- ldr r6, [sp, #4]
- bic r6, r6, #96
- orr r6, r6, #32
- str r6, [sp, #4]
- ldr r2, [sp, #4]
- orr r2, r2, #536870912
- str r2, [sp, #4]
- ldr r2, [sp, #4]
- orr r2, r2, #1024
- str r2, [sp, #4]
- ldr r2, [sp, #4]
- bic r2, r2, #16
- str r2, [sp, #4]
- ldr r6, [sp, #4]
- moveq r2, #1
- bic r6, r6, #264241152
- orr lr, r6, lr, asl #22
- str lr, [sp, #4]
- streq r2, [r3]
- 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
.L669:
- cmp r6, r1
- add r3, r3, #4
- add r8, ip, r7
- bge .L671
- ldrh lr, [r3, #-2]
- mov ip, ip, lsr #2
- ldr r9, [r4, #1140]
- add r6, r6, #1
- ldrh r2, [r3, #-4]
- orr lr, r2, lr, asl #16
- str lr, [r9, ip, asl #2]
- mov ip, r8
- b .L669
-.L671:
ldr r1, [sp, #4]
mov r2, r5
- ldr r3, [r4, #1140]
+ str r3, [r4, #1208]
+ str r0, [r4, #1204]
ubfx r1, r1, #22, #6
- str r0, [r4, #1144]
- mov r1, r1, asl #10
- str r3, [r4, #1148]
+ lsl r1, r1, #10
bl rknand_dma_map_single
+ ldr r1, [sp, #4]
mov r2, r5
+ str r0, [r4, #1212]
clz r5, r5
- mov r5, r5, lsr #5
- ldr r1, [sp, #4]
- str r0, [r4, #1152]
+ ldr r0, [r4, #1208]
+ lsr r5, r5, #5
ubfx r1, r1, #22, #6
- ldr r0, [r4, #1148]
- mov r1, r1, asl #7
+ lsl r1, r1, #2
bl rknand_dma_map_single
- ldr r2, [r4, #1152]
mov r3, #1
- str r3, [r4, #1160]
- ldr r3, [r4, #1040]
- str r2, [r3, #20]
- mov r2, #0
- str r0, [r3, #24]
+ ldr r2, [r4, #1212]
+ str r3, [r4, #1220]
+ mov r1, #16
+ ldr r3, [r4, #1044]
+ str r0, [r4, #1216]
+ str r2, [r3, #52]
+ str r0, [r3, #56]
+ ldr r2, [r3, #48]
str r2, [sp, #8]
ldr r2, [sp, #8]
- str r0, [r4, #1156]
- bic r2, r2, #15872
- orr r2, r2, #8192
+ bfi r2, r1, #9, #5
+ mov r1, #2
str r2, [sp, #8]
ldr r2, [sp, #8]
orr r2, r2, #448
str r2, [sp, #8]
ldr r2, [sp, #8]
- bic r2, r2, #56
- orr r2, r2, #16
+ bfi r2, r1, #3, #3
str r2, [sp, #8]
ldr r2, [sp, #8]
orr r2, r2, #4
str r2, [sp, #8]
ldr r2, [sp, #8]
- bic r2, r2, #2
- orr r5, r2, r5, asl #1
- str r5, [sp, #8]
+ bfi r2, r5, #1, #1
+ str r2, [sp, #8]
+ ldr r2, [sp, #8]
+ orr r2, r2, #1
+ str r2, [sp, #8]
+ movw r2, #1228
+ ldrh r1, [r4, r2]
+ ldr r2, [sp, #8]
+ bfi r2, r1, #16, #11
+ str r2, [sp, #8]
+ ldr r2, [sp, #8]
+ str r2, [r3, #48]
+ ldr r2, [sp, #4]
+ str r2, [r3, #16]
+ ldr r2, [sp, #4]
+ orr r2, r2, #4
+ str r2, [sp, #4]
+ ldr r2, [sp, #4]
+ str r2, [r3, #16]
+.L667:
+ add sp, sp, #16
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, pc}
+.L668:
+ ldr r2, [r4, #1044]
+ mov lr, #16
+ ubfx ip, ip, #1, #6
+ ldr r2, [r2, #12]
+ str r2, [sp, #12]
+ ldr r2, [sp, #12]
+ bfi r2, lr, #8, #8
+ str r2, [sp, #12]
+ ldr r2, [sp, #12]
+ bfc r2, #3, #1
+ str r2, [sp, #12]
+ ldr r2, [sp, #12]
+ bfc r2, #5, #3
+ str r2, [sp, #12]
+ mov r2, #0
+ str r2, [sp, #4]
+ cmp r5, r2
+ ldr lr, [sp, #4]
+ ldreq r3, [r4, #1200]
+ bfi lr, r6, #1, #1
+ mov r6, #1
+ str lr, [sp, #4]
+ ldr lr, [sp, #4]
+ orr lr, lr, #8
+ str lr, [sp, #4]
+ ldr lr, [sp, #4]
+ bfi lr, r6, #5, #2
+ str lr, [sp, #4]
+ ldr lr, [sp, #4]
+ orr lr, lr, #536870912
+ str lr, [sp, #4]
+ ldr lr, [sp, #4]
+ orr lr, lr, #1024
+ str lr, [sp, #4]
+ ldr lr, [sp, #4]
+ bfi lr, r2, #4, #1
+ str lr, [sp, #4]
+ ldr lr, [sp, #4]
+ bfi lr, ip, #22, #6
+ str lr, [sp, #4]
+ streq r6, [r3]
+ beq .L675
+ ldrb ip, [r4, #1193] @ zero_extendqisi2
+ lsr r1, r1, #1
+ cmp ip, #25
+ mov ip, r2
+ movcc r6, #64
+ movcs r6, #128
+.L673:
+ cmp ip, r1
+ add r7, r3, ip, lsl #2
+ add lr, r6, r2
+ blt .L674
+.L675:
+ ldr r1, [sp, #4]
+ mov r2, r5
+ ldr r3, [r4, #1200]
+ str r0, [r4, #1204]
+ ubfx r1, r1, #22, #6
+ lsl r1, r1, #10
+ str r3, [r4, #1208]
+ bl rknand_dma_map_single
+ ldr r1, [sp, #4]
+ mov r2, r5
+ str r0, [r4, #1212]
+ clz r5, r5
+ ldr r0, [r4, #1208]
+ lsr r5, r5, #5
+ ubfx r1, r1, #22, #6
+ lsl r1, r1, #7
+ bl rknand_dma_map_single
+ mov r3, #1
+ ldr r2, [r4, #1212]
+ str r3, [r4, #1220]
+ mov r1, #16
+ ldr r3, [r4, #1044]
+ str r0, [r4, #1216]
+ str r2, [r3, #20]
+ mov r2, #0
+ str r0, [r3, #24]
+ str r2, [sp, #8]
+ ldr r2, [sp, #8]
+ bfi r2, r1, #9, #5
+ mov r1, #2
+ str r2, [sp, #8]
+ ldr r2, [sp, #8]
+ orr r2, r2, #448
+ str r2, [sp, #8]
+ ldr r2, [sp, #8]
+ bfi r2, r1, #3, #3
+ str r2, [sp, #8]
+ ldr r2, [sp, #8]
+ orr r2, r2, #4
+ str r2, [sp, #8]
+ ldr r2, [sp, #8]
+ bfi r2, r5, #1, #1
+ str r2, [sp, #8]
ldr r2, [sp, #8]
orr r2, r2, #1
str r2, [sp, #8]
@@ -3652,417 +3756,402 @@
str r2, [sp, #4]
ldr r2, [sp, #4]
str r2, [r3, #8]
-.L663:
- add sp, sp, #20
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc}
-.L681:
+ b .L667
+.L674:
+ ldr r8, [r7] @ unaligned
+ bic r2, r2, #3
+ ldr r7, [r4, #1200]
+ add ip, ip, #1
+ str r8, [r7, r2]
+ mov r2, lr
+ b .L673
+.L685:
.align 2
-.L680:
+.L684:
.word .LANCHOR0
.fnend
.size nandc_xfer_start, .-nandc_xfer_start
.align 2
.global nandc_set_seed
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nandc_set_seed, %function
nandc_set_seed:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r2, .L689
+ ldr r3, .L693
and r0, r0, #127
- ldr r3, .L689+4
- mov r0, r0, asl #1
- ldrb r1, [r2, #1168] @ zero_extendqisi2
- ldrh r3, [r3, r0]
+ lsl r0, r0, #1
+ ldrh r2, [r3, r0]
+ ldr r3, .L693+4
+ ldrb r1, [r3, #1196] @ zero_extendqisi2
cmp r1, #0
- ldr r1, .L689
- ldrb r2, [r2, #1028] @ zero_extendqisi2
- orrne r3, r3, #-1073741824
- cmp r2, #9
- ldr r2, [r1, #1040]
- streq r3, [r2, #520]
- strne r3, [r2, #336]
+ ldrb r1, [r3, #1028] @ zero_extendqisi2
+ ldr r3, [r3, #1044]
+ orrne r2, r2, #-1073741824
+ cmp r1, #9
+ streq r2, [r3, #520]
+ strne r2, [r3, #336]
bx lr
-.L690:
+.L694:
.align 2
-.L689:
+.L693:
+ .word .LANCHOR1+1108
.word .LANCHOR0
- .word .LANCHOR1+1144
.fnend
.size nandc_set_seed, .-nandc_set_seed
.align 2
.global zftl_flash_de_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_flash_de_init, %function
zftl_flash_de_init:
.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}
+ push {r4, lr}
+ .save {r4, lr}
+ ldr r4, .L715
bl nandc_wait_flash_ready
- ldr r4, .L711
ldrb r3, [r4] @ zero_extendqisi2
cmp r3, #0
- beq .L692
- ldrb r0, [r4, #1102] @ zero_extendqisi2
+ beq .L696
+ ldrb r0, [r4, #1110] @ zero_extendqisi2
cmp r0, #0
- bne .L692
+ bne .L696
ldrb r3, [r4, #1028] @ zero_extendqisi2
cmp r3, #9
- beq .L692
+ beq .L696
bl zftl_flash_exit_slc_mode
-.L692:
+.L696:
mov r0, #0
- ldr r5, .L711
bl hynix_reconfig_rr_para
- ldrb r3, [r4, #1135] @ zero_extendqisi2
+ ldrb r3, [r4, #1143] @ zero_extendqisi2
cmp r3, #0
- beq .L693
- ldrb r3, [r5, #1232] @ zero_extendqisi2
+ beq .L697
+ ldrb r3, [r4, #1192] @ zero_extendqisi2
tst r3, #1
- beq .L693
+ beq .L697
mov r0, #1
bl flash_set_interface_mode
mov r0, #1
bl nandc_set_if_mode
mov r3, #0
- strb r3, [r5, #1135]
-.L693:
- ldrb r3, [r4, #1168] @ zero_extendqisi2
- ldr r5, .L711
+ strb r3, [r4, #1143]
+.L697:
+ ldrb r3, [r4, #1196] @ zero_extendqisi2
cmp r3, #0
- beq .L694
+ beq .L698
mov r0, #0
- strb r0, [r5, #1168]
+ strb r0, [r4, #1196]
bl nandc_set_seed
mov r3, #1
- strb r3, [r5, #1168]
-.L694:
+ strb r3, [r4, #1196]
+.L698:
mov r0, #0
- ldmfd sp!, {r3, r4, r5, pc}
-.L712:
+ pop {r4, pc}
+.L716:
.align 2
-.L711:
+.L715:
.word .LANCHOR0
.fnend
.size zftl_flash_de_init, .-zftl_flash_de_init
.align 2
.global nandc_randomizer_enable
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nandc_randomizer_enable, %function
nandc_randomizer_enable:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L714
- strb r0, [r3, #1168]
+ ldr r3, .L718
+ strb r0, [r3, #1196]
bx lr
-.L715:
+.L719:
.align 2
-.L714:
+.L718:
.word .LANCHOR0
.fnend
.size nandc_randomizer_enable, .-nandc_randomizer_enable
.align 2
.global nandc_get_chip_if
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nandc_get_chip_if, %function
nandc_get_chip_if:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L717
+ ldr r3, .L721
add r0, r0, #8
- ldr r3, [r3, #1040]
- add r0, r3, r0, asl #8
+ ldr r3, [r3, #1044]
+ add r0, r3, r0, lsl #8
bx lr
-.L718:
+.L722:
.align 2
-.L717:
+.L721:
.word .LANCHOR0
.fnend
.size nandc_get_chip_if, .-nandc_get_chip_if
.align 2
- .global zbuf_init
- .type zbuf_init, %function
-zbuf_init:
- .fnstart
- @ args = 0, pretend = 0, frame = 0
- @ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, lr}
- .save {r4, r5, r6, r7, r8, lr}
- mov r5, #0
- ldr r4, .L723
- mov r7, r5
- ldr r8, .L723+4
-.L720:
- ldrb r0, [r8, #2772] @ zero_extendqisi2
- uxtb r3, r5
- add r2, r3, #1
- strb r3, [r4, #1]
- strb r2, [r4]
- add r5, r5, #1
- mov r0, r0, asl #9
- strb r7, [r4, #2]
- str r7, [r4, #8]
- bl ftl_malloc
- 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 .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}
-.L724:
- .align 2
-.L723:
- .word .LANCHOR0+1236
- .word .LANCHOR0
- .fnend
- .size zbuf_init, .-zbuf_init
- .align 2
.global buf_reinit
+ .syntax unified
+ .arm
+ .fpu softvfp
.type buf_reinit, %function
buf_reinit:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r2, .L728
+ ldr r2, .L726
mov r3, #0
mov r1, r3
-.L726:
+.L724:
uxtb r0, r3
add r3, r3, #1
cmp r3, #32
+ strb r1, [r2, #2]
add ip, r0, #1
strb r0, [r2, #1]
+ strb ip, [r2]
add r2, r2, #48
- strb ip, [r2, #-48]
- strb r1, [r2, #-46]
str r1, [r2, #-40]
- bne .L726
- ldr r2, .L728+4
- mvn r1, #0
- strb r3, [r2, #2774]
- strb r1, [r2, #2724]
- mov r1, #0
- strb r1, [r2, #2773]
+ bne .L724
+ ldr r2, .L726+4
+ mvn r0, #0
+ strb r0, [r2, #2720]
+ strb r1, [r2, #2768]
+ strb r3, [r2, #2769]
bx lr
-.L729:
+.L727:
.align 2
-.L728:
- .word .LANCHOR0+1236
+.L726:
+ .word .LANCHOR0+1232
.word .LANCHOR0
.fnend
.size buf_reinit, .-buf_reinit
.align 2
.global buf_add_tail
+ .syntax unified
+ .arm
+ .fpu softvfp
.type buf_add_tail, %function
buf_add_tail:
.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}
mvn r3, #0
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
strb r3, [r1]
mov r4, r1
ldrb r3, [r0] @ zero_extendqisi2
+ cmp r3, #255
+ bne .L729
+ ldrb r3, [r1, #1] @ zero_extendqisi2
mov r5, r0
cmp r3, #255
- ldrne r2, .L738
- movne r1, #48
- bne .L736
+ bne .L730
+ mov r2, #74
+ ldr r1, .L736
+ ldr r0, .L736+4
+ bl printk
+ bl dump_stack
+.L730:
+ ldrb r3, [r4, #1] @ zero_extendqisi2
+ strb r3, [r5]
+ pop {r4, r5, r6, pc}
+.L729:
+ ldr r2, .L736+8
+ mov r1, #48
+ mov r6, r2
+.L734:
+ mov r5, r3
+ mla r3, r1, r3, r2
+ ldrb r3, [r3, #1232] @ zero_extendqisi2
+ cmp r3, #255
+ bne .L734
ldrb r3, [r4, #1] @ zero_extendqisi2
cmp r3, #255
bne .L732
- ldr r1, .L738+4
- mov r2, #74
- ldr r0, .L738+8
+ mov r2, #81
+ ldr r1, .L736
+ ldr r0, .L736+4
bl printk
bl dump_stack
.L732:
- ldrb r3, [r4, #1] @ zero_extendqisi2
- strb r3, [r5]
- ldmfd sp!, {r3, r4, r5, pc}
-.L736:
- mov r5, r3
- mla r3, r1, r3, r2
- ldrb r3, [r3, #1236] @ zero_extendqisi2
- cmp r3, #255
- bne .L736
- ldrb r3, [r4, #1] @ zero_extendqisi2
- cmp r3, #255
- bne .L734
- ldr r1, .L738+4
- mov r2, #81
- ldr r0, .L738+8
- bl printk
- bl dump_stack
-.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}
-.L739:
+ mov r3, #48
+ ldrb r2, [r4, #1] @ zero_extendqisi2
+ mla r3, r3, r5, r6
+ strb r2, [r3, #1232]
+ pop {r4, r5, r6, pc}
+.L737:
.align 2
-.L738:
- .word .LANCHOR0
- .word .LANCHOR1+1400
+.L736:
+ .word .LANCHOR1+1364
.word .LC0
+ .word .LANCHOR0
.fnend
.size buf_add_tail, .-buf_add_tail
.align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
.type queue_read_cmd, %function
queue_read_cmd:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, lr}
+ push {r4, lr}
.save {r4, lr}
mov r4, r0
- ldr r1, [r4, #24]
+ ldr r1, [r0, #24]
mov r0, #48
bl flash_start_page_read
mov r3, #1
mov r1, r4
strb r3, [r4, #42]
- ldr r0, .L742
mov r3, #0
strb r3, [r4, #43]
mvn r3, #0
strb r3, [r4]
- ldmfd sp!, {r4, lr}
+ ldr r0, .L740
+ pop {r4, lr}
b buf_add_tail
-.L743:
+.L741:
.align 2
-.L742:
- .word .LANCHOR0+2775
+.L740:
+ .word .LANCHOR0+2770
.fnend
.size queue_read_cmd, .-queue_read_cmd
.align 2
.global zbuf_free
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zbuf_free, %function
zbuf_free:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, lr}
+ push {r4, lr}
.save {r4, lr}
ldrb r3, [r0, #2] @ zero_extendqisi2
- ldr r4, .L754
+ ldr r4, .L752
and r3, r3, #8
- uxtb r3, r3
- strb r3, [r0, #2]
cmp r3, #0
- beq .L745
+ strb r3, [r0, #2]
+ beq .L743
ldr r3, [r0, #20]
cmn r3, #1
- beq .L745
+ beq .L743
mov r1, r0
- ldr r0, .L754+4
+ add r0, r4, #2768
bl buf_add_tail
- b .L746
-.L745:
- ldrb r3, [r4, #2773] @ zero_extendqisi2
+.L744:
+ ldrb r3, [r4, #2769] @ zero_extendqisi2
+ add r3, r3, #1
+ strb r3, [r4, #2769]
+ pop {r4, pc}
+.L743:
+ ldrb r3, [r4, #2768] @ zero_extendqisi2
strb r3, [r0]
ldrb r3, [r0, #1] @ zero_extendqisi2
- strb r3, [r4, #2773]
-.L746:
- ldrb r3, [r4, #2774] @ zero_extendqisi2
- add r3, r3, #1
- strb r3, [r4, #2774]
- ldmfd sp!, {r4, pc}
-.L755:
+ strb r3, [r4, #2768]
+ b .L744
+.L753:
.align 2
-.L754:
+.L752:
.word .LANCHOR0
- .word .LANCHOR0+2773
.fnend
.size zbuf_free, .-zbuf_free
.align 2
.global buf_alloc
+ .syntax unified
+ .arm
+ .fpu softvfp
.type buf_alloc, %function
buf_alloc:
.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}
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
mov r5, r0
- ldr r4, .L767
- ldrb r3, [r4, #2774] @ zero_extendqisi2
+ ldr r4, .L765
+ ldrb r3, [r4, #2769] @ zero_extendqisi2
cmp r3, #0
- beq .L757
-.L760:
- ldrb r1, [r4, #2773] @ zero_extendqisi2
+ beq .L755
+.L758:
+ ldrb ip, [r4, #2768] @ zero_extendqisi2
cmp r5, #0
- ldr r3, .L767+4
- mov r0, #48
- mla r0, r0, r1, r3
- beq .L758
- b .L759
+ ldr r3, .L765+4
+ add r0, ip, ip, lsl #1
+ mov r2, r3
+ add r0, r3, r0, lsl #4
+ beq .L756
.L757:
- ldr r1, .L767+8
+ mov r1, #48
+ mul r1, r1, ip
+ add r3, r4, r1
+ add r2, r2, r1
+ ldrb ip, [r3, #1232] @ zero_extendqisi2
+ mov r1, #0
+ strh r1, [r2, #34] @ movhi
+ str r1, [r3, #1240]
+ strb ip, [r4, #2768]
+ ldrb ip, [r4, #2769] @ zero_extendqisi2
+ strb r1, [r3, #1272]
+ strb r1, [r3, #1273]
+ sub ip, ip, #1
+ strb ip, [r4, #2769]
+ mov ip, #1
+ strb ip, [r3, #1234]
+ mvn ip, #0
+ strb ip, [r3, #1232]
+ str ip, [r3, #1252]
+ pop {r4, r5, r6, pc}
+.L755:
mov r2, #121
- ldr r0, .L767+12
+ ldr r1, .L765+8
+ ldr r0, .L765+12
bl printk
bl dump_stack
- ldrb r3, [r4, #2774] @ zero_extendqisi2
+ ldrb r3, [r4, #2769] @ zero_extendqisi2
cmp r3, #0
- bne .L760
-.L762:
+ bne .L758
+.L760:
mov r0, #0
- ldmfd sp!, {r3, r4, r5, pc}
-.L758:
- ldr r2, .L767
- ldrb r2, [r2, #2774] @ zero_extendqisi2
- cmp r2, #1
- beq .L762
-.L759:
- mov r2, #48
- mul r1, r2, r1
- add r2, r4, r1
- add r3, r3, r1
- mov r1, #0
- ldrb ip, [r2, #1236] @ zero_extendqisi2
- strh r1, [r3, #34] @ movhi
- str r1, [r2, #1244]
- strb ip, [r4, #2773]
- ldrb ip, [r4, #2774] @ zero_extendqisi2
- strb r1, [r2, #1276]
- sub ip, ip, #1
- strb r1, [r2, #1277]
- strb ip, [r4, #2774]
- mov ip, #1
- strb ip, [r2, #1238]
- mvn ip, #0
- strb ip, [r2, #1236]
- str ip, [r2, #1256]
- ldmfd sp!, {r3, r4, r5, pc}
-.L768:
+ pop {r4, r5, r6, pc}
+.L756:
+ ldrb r3, [r4, #2769] @ zero_extendqisi2
+ cmp r3, #1
+ bne .L757
+ b .L760
+.L766:
.align 2
-.L767:
+.L765:
.word .LANCHOR0
- .word .LANCHOR0+1236
- .word .LANCHOR1+1416
+ .word .LANCHOR0+1232
+ .word .LANCHOR1+1377
.word .LC0
.fnend
.size buf_alloc, .-buf_alloc
.align 2
.global buf_remove_buf
+ .syntax unified
+ .arm
+ .fpu softvfp
.type buf_remove_buf, %function
buf_remove_buf:
.fnstart
@@ -4071,236 +4160,246 @@
ldrb ip, [r1, #1] @ zero_extendqisi2
ldrb r3, [r0] @ zero_extendqisi2
cmp ip, r3
- bne .L770
+ bne .L768
ldrb r3, [r1] @ zero_extendqisi2
strb r3, [r0]
mov r0, #1
bx lr
-.L770:
- ldr r0, .L777
- str lr, [sp, #-4]!
- .save {lr}
- mov lr, #48
-.L772:
- cmp r3, #255
- beq .L776
+.L771:
mov r2, r3
mla r3, lr, r3, r0
- ldrb r3, [r3, #1236] @ zero_extendqisi2
- cmp r3, ip
- bne .L772
- ldr r0, .L777
- mov ip, #48
+ ldrb r3, [r3, #1232] @ zero_extendqisi2
+ cmp ip, r3
+ bne .L770
+ mla r2, lr, r2, r0
ldrb r3, [r1] @ zero_extendqisi2
- mla r2, ip, r2, r0
mov r0, #1
- strb r3, [r2, #1236]
+ strb r3, [r2, #1232]
mvn r3, #0
strb r3, [r1]
ldr pc, [sp], #4
-.L776:
+.L768:
+ ldr r0, .L776
+ str lr, [sp, #-4]!
+ .save {lr}
+ mov lr, #48
+.L770:
+ cmp r3, #255
+ bne .L771
mov r0, #0
ldr pc, [sp], #4
-.L778:
- .align 2
.L777:
+ .align 2
+.L776:
.word .LANCHOR0
.fnend
.size buf_remove_buf, .-buf_remove_buf
.align 2
.global buf_remove_free
+ .syntax unified
+ .arm
+ .fpu softvfp
.type buf_remove_free, %function
buf_remove_free:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- ldr r3, .L785
- stmfd sp!, {r4, r5, r6, lr}
+ push {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 .L780
- ldr r1, .L785+4
+ ldr r4, .L784
+ ldrb r3, [r4, #2769] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L779
mov r2, #172
- ldr r0, .L785+8
+ ldr r1, .L784+4
+ ldr r0, .L784+8
bl printk
bl dump_stack
-.L780:
- ldrb r3, [r4, #2774] @ zero_extendqisi2
- ldr r6, .L785
+.L779:
+ ldrb r3, [r4, #2769] @ zero_extendqisi2
cmp r3, #0
- ldmeqfd sp!, {r4, r5, r6, pc}
- ldr r0, .L785+12
+ popeq {r4, r5, r6, pc}
mov r1, r5
+ ldr r0, .L784+12
bl buf_remove_buf
cmp r0, #1
- ldreqb r3, [r6, #2774] @ zero_extendqisi2
+ ldrbeq r3, [r4, #2769] @ zero_extendqisi2
subeq r3, r3, #1
- streqb r3, [r6, #2774]
- ldreqb r3, [r5, #2] @ zero_extendqisi2
+ strbeq r3, [r4, #2769]
+ ldrbeq r3, [r5, #2] @ zero_extendqisi2
orreq r3, r3, #1
- streqb r3, [r5, #2]
- ldmfd sp!, {r4, r5, r6, pc}
-.L786:
- .align 2
+ strbeq r3, [r5, #2]
+ pop {r4, r5, r6, pc}
.L785:
+ .align 2
+.L784:
.word .LANCHOR0
- .word .LANCHOR1+1428
+ .word .LANCHOR1+1387
.word .LC0
- .word .LANCHOR0+2773
+ .word .LANCHOR0+2768
.fnend
.size buf_remove_free, .-buf_remove_free
.align 2
.global dump_buf_info
+ .syntax unified
+ .arm
+ .fpu softvfp
.type dump_buf_info, %function
dump_buf_info:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, lr}
- .save {r4, r5, lr}
- .pad #28
- sub sp, sp, #28
- ldr r4, .L791
- ldr r0, .L791+4
- ldrb r1, [r4, #2775] @ zero_extendqisi2
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
+ .pad #24
+ sub sp, sp, #24
+ ldr r5, .L790
+ ldr r0, .L790+4
+ ldrb r1, [r5, #2770] @ zero_extendqisi2
+ add r4, r5, #1232
bl printk
- ldrb r1, [r4, #2776] @ zero_extendqisi2
- ldr r0, .L791+8
+ ldrb r1, [r5, #2771] @ zero_extendqisi2
+ add r5, r5, #2768
+ ldr r0, .L790+8
bl printk
- ldrb r1, [r4, #2777] @ zero_extendqisi2
- ldr r0, .L791+12
+ ldrb r1, [r5, #4] @ zero_extendqisi2
+ ldr r0, .L790+12
bl printk
- ldrb r1, [r4, #2778] @ zero_extendqisi2
- ldr r0, .L791+16
+ ldr r6, .L790+16
+ ldrb r1, [r5, #5] @ zero_extendqisi2
+ ldr r0, .L790+20
bl printk
- ldrb r1, [r4, #2773] @ zero_extendqisi2
- ldr r0, .L791+20
+ ldrb r1, [r5] @ zero_extendqisi2
+ ldr r0, .L790+24
bl printk
- ldrb r1, [r4, #2774] @ zero_extendqisi2
- ldr r0, .L791+24
+ ldrb r1, [r5, #1] @ zero_extendqisi2
+ ldr r0, .L790+28
bl printk
- ldr r4, .L791+28
- add r5, r4, #1536
-.L788:
- ldrh r0, [r4, #34]
+.L787:
+ ldr r0, [r4, #24]
add r4, r4, #48
- ldrb r1, [r4, #-47] @ zero_extendqisi2
- ldrb r2, [r4, #-48] @ zero_extendqisi2
- str r0, [sp]
- ldrb r0, [r4, #-6] @ zero_extendqisi2
ldrb r3, [r4, #-46] @ zero_extendqisi2
- str r0, [sp, #4]
- ldr r0, [r4, #-12]
- str r0, [sp, #8]
+ ldrb r2, [r4, #-48] @ zero_extendqisi2
+ ldrb r1, [r4, #-47] @ zero_extendqisi2
+ str r0, [sp, #16]
ldr r0, [r4, #-28]
str r0, [sp, #12]
- ldr r0, [r4, #-24]
- str r0, [sp, #16]
- ldr r0, .L791+32
+ ldr r0, [r4, #-12]
+ str r0, [sp, #8]
+ ldrb r0, [r4, #-6] @ zero_extendqisi2
+ str r0, [sp, #4]
+ ldrh r0, [r4, #-14]
+ str r0, [sp]
+ mov r0, r6
bl printk
cmp r4, r5
- bne .L788
- add sp, sp, #28
+ bne .L787
+ add sp, sp, #24
@ sp needed
- ldmfd sp!, {r4, r5, pc}
-.L792:
- .align 2
+ pop {r4, r5, r6, pc}
.L791:
+ .align 2
+.L790:
.word .LANCHOR0
+ .word .LC44
+ .word .LC45
+ .word .LC46
+ .word .LC50
.word .LC47
.word .LC48
.word .LC49
- .word .LC50
- .word .LC51
- .word .LC52
- .word .LANCHOR0+1236
- .word .LC53
.fnend
.size dump_buf_info, .-dump_buf_info
.align 2
.global flash_check_bad_block
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_check_bad_block, %function
flash_check_bad_block:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L794
- ldrb r2, [r3, #17] @ zero_extendqisi2
- ldrh r3, [r3, #18]
- smulbb r3, r2, r3
- ldr r2, .L794+4
- ldr r2, [r2, #1176]
- uxth r3, r3
- add r3, r3, #31
- mov r3, r3, asr #5
- mov r3, r3, asl #2
- uxth r3, r3
- mul r0, r3, r0
- add r3, r0, #912
- mov r0, r1, lsr #5
+ ldr r2, .L793
+ lsr ip, r1, #5
and r1, r1, #31
- add r2, r2, r0, asl #2
- ldr r0, [r2, r3]
- mov r0, r0, lsr r1
+ ldrb r3, [r2, #17] @ zero_extendqisi2
+ ldrh r2, [r2, #18]
+ smulbb r3, r3, r2
+ ldr r2, .L793+4
+ uxth r3, r3
+ ldr r2, [r2, #1040]
+ add r3, r3, #31
+ asr r3, r3, #5
+ add r2, r2, ip, lsl #2
+ lsl r3, r3, #2
+ uxth r3, r3
+ mla r0, r0, r3, r2
+ ldr r0, [r0, #912]
+ lsr r0, r0, r1
and r0, r0, #1
bx lr
-.L795:
- .align 2
.L794:
+ .align 2
+.L793:
.word .LANCHOR2
.word .LANCHOR0
.fnend
.size flash_check_bad_block, .-flash_check_bad_block
.align 2
.global flash_mask_bad_block
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_mask_bad_block, %function
flash_mask_bad_block:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- ldr r3, .L798
- stmfd sp!, {r4, r5, r6, lr}
+ ldr r3, .L797
+ mov r2, r1
+ push {r4, r5, r6, lr}
.save {r4, r5, r6, lr}
- mov r5, r1
- ldrb r2, [r3, #17] @ zero_extendqisi2
- mov r6, r0
- ldrh r4, [r3, #18]
- mov r1, r6
- ldr r0, .L798+4
- smulbb r4, r2, r4
- mov r2, r5
+ mov r5, r0
+ mov r6, r1
+ mov r1, r0
+ ldrb r4, [r3, #17] @ zero_extendqisi2
+ ldrh r3, [r3, #18]
+ ldr r0, .L797+4
+ smulbb r4, r4, r3
bl printk
- ldr r3, .L798+8
- mov r2, r5, lsr #5
+ uxth r4, r4
+ ldr r3, .L797+8
mov r1, #1
- and r5, r5, #31
- ldr r3, [r3, #1176]
- uxth r4, r4
- add r4, r4, #31
- mov r4, r4, asr #5
- mov r4, r4, asl #2
- uxth r4, r4
- mul r4, r4, r6
- add r4, r4, #912
- add r4, r3, r4
- ldr r3, [r4, r2, asl #2]
- orr r5, r3, r1, asl r5
- str r5, [r4, r2, asl #2]
- ldmfd sp!, {r4, r5, r6, pc}
-.L799:
- .align 2
+ add r0, r4, #31
+ asr r0, r0, #5
+ ldr r2, [r3, #1040]
+ lsl r0, r0, #2
+ uxth r0, r0
+ mul r0, r5, r0
+ lsr r5, r6, #5
+ and r6, r6, #31
+ add r0, r0, #912
+ add r0, r0, r5, lsl #2
+ ldr r3, [r2, r0]
+ orr r6, r3, r1, lsl r6
+ str r6, [r2, r0]
+ pop {r4, r5, r6, pc}
.L798:
+ .align 2
+.L797:
.word .LANCHOR2
- .word .LC54
+ .word .LC51
.word .LANCHOR0
.fnend
.size flash_mask_bad_block, .-flash_mask_bad_block
.align 2
.global str2hex
+ .syntax unified
+ .arm
+ .fpu softvfp
.type str2hex, %function
str2hex:
.fnstart
@@ -4309,385 +4408,394 @@
@ link register save eliminated.
ldrb r3, [r0] @ zero_extendqisi2
cmp r3, #48
- bne .L801
+ bne .L800
ldrb r3, [r0, #1] @ zero_extendqisi2
and r3, r3, #223
cmp r3, #88
addeq r0, r0, #2
-.L801:
+.L800:
ldrb r3, [r0] @ zero_extendqisi2
and r3, r3, #223
cmp r3, #88
addeq r0, r0, #1
sub r3, r0, #1
mov r0, #0
-.L803:
+.L802:
ldrb r2, [r3, #1]! @ zero_extendqisi2
cmp r2, #0
- beq .L812
+ bne .L807
+ bx lr
+.L807:
sub r1, r2, #48
uxtb ip, r1
cmp ip, #9
- addls r0, r1, r0, asl #4
- bls .L803
+ addls r0, r1, r0, lsl #4
+ bls .L802
sub r1, r2, #97
cmp r1, #5
subls r2, r2, #87
- bls .L811
+ bls .L809
sub r1, r2, #65
cmp r1, #5
bxhi lr
sub r2, r2, #55
-.L811:
- add r0, r2, r0, asl #4
- b .L803
-.L812:
- bx lr
+.L809:
+ add r0, r2, r0, lsl #4
+ b .L802
.fnend
.size str2hex, .-str2hex
.align 2
.global zftl_proc_debug_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_proc_debug_init, %function
zftl_proc_debug_init:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, lr}
+ push {r0, r1, r2, lr}
.save {lr}
.pad #12
mov r2, #0
- mov r1, #292
str r2, [sp]
- ldr r3, .L815
- ldr r0, .L815+4
+ mov r1, #292
+ ldr r3, .L812
+ ldr r0, .L812+4
bl proc_create_data
add sp, sp, #12
@ sp needed
ldr pc, [sp], #4
-.L816:
+.L813:
.align 2
-.L815:
- .word .LANCHOR1+1448
- .word .LC55
+.L812:
+ .word .LANCHOR1+1404
+ .word .LC52
.fnend
.size zftl_proc_debug_init, .-zftl_proc_debug_init
.align 2
.global ftl_print_info_to_buf
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_print_info_to_buf, %function
ftl_print_info_to_buf:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r3, r4, r5, r6, lr}
+ push {r0, r1, r2, r3, r4, r5, r6, lr}
.save {r4, r5, r6, lr}
.pad #16
- mov r5, r0
- ldr r1, .L819
- ldr r2, .L819+4
+ mov r6, r0
+ ldr r2, .L816
+ ldr r1, .L816+4
bl sprintf
- ldr r1, .L819+8
- ldr r6, .L819+12
+ ldr r1, .L816+8
+ add r4, r6, r0
+ ldr r5, .L816+12
+ ldrb r0, [r1, #10] @ zero_extendqisi2
ldrb r3, [r1, #6] @ zero_extendqisi2
ldrb r2, [r1, #5] @ zero_extendqisi2
- add r4, r5, r0
- ldrb r0, [r1, #7] @ zero_extendqisi2
- str r0, [sp]
- ldrb r0, [r1, #8] @ zero_extendqisi2
- str r0, [sp, #4]
+ str r0, [sp, #12]
ldrb r0, [r1, #9] @ zero_extendqisi2
str r0, [sp, #8]
+ ldrb r0, [r1, #8] @ zero_extendqisi2
+ str r0, [sp, #4]
mov r0, r4
- ldrb r1, [r1, #10] @ zero_extendqisi2
- str r1, [sp, #12]
- ldr r1, .L819+16
+ ldrb r1, [r1, #7] @ zero_extendqisi2
+ str r1, [sp]
+ ldr r1, .L816+16
bl sprintf
- ldr r2, [r6, #1032]
- ldr r1, .L819+20
- mov r2, r2, lsr #11
+ ldr r2, [r5, #1032]
add r4, r4, r0
+ ldr r1, .L816+20
mov r0, r4
+ lsr r2, r2, #11
bl sprintf
- ldr r2, [r6, #2780]
- ldr r1, .L819+24
- mov r2, r2, lsr #11
+ ldr r2, [r5, #2776]
add r4, r4, r0
+ ldr r1, .L816+24
mov r0, r4
+ lsr r2, r2, #11
bl sprintf
- ldr r1, .L819+28
add r4, r4, r0
+ ldr r1, .L816+28
mov r0, r4
add r4, r4, #10
bl strcpy
- ldr r2, [r6, #2784]
+ ldr r2, [r5, #2780]
mov r0, r4
- ldr r1, .L819+32
+ ldr r1, .L816+32
bl sprintf
- ldr r2, [r6, #1032]
- ldr r1, .L819+36
add r4, r4, r0
+ ldr r2, [r5, #1032]
+ ldr r1, .L816+36
mov r0, r4
bl sprintf
- ldr r3, [r6, #1092]
- ldr r1, .L819+40
+ ldr r3, [r5, #1096]
+ add r4, r4, r0
+ ldr r1, .L816+40
+ mov r0, r4
ldr r2, [r3, #524]
- add r4, r4, r0
- mov r0, r4
bl sprintf
- ldr r3, [r6, #1092]
- ldr r1, .L819+44
- ldr r2, [r3, #528]
+ ldr r3, [r5, #1096]
add r4, r4, r0
+ ldr r1, .L816+44
mov r0, r4
+ ldr r2, [r3, #528]
+ bl sprintf
+ add r3, r5, #2784
+ add r4, r4, r0
+ ldrh r2, [r3]
+ mov r0, r4
+ ldr r1, .L816+48
+ bl sprintf
+ movw r3, #2786
+ add r4, r4, r0
+ ldrh r2, [r5, r3]
+ mov r0, r4
+ ldr r1, .L816+52
bl sprintf
movw r3, #2788
- ldrh r2, [r6, r3]
- ldr r1, .L819+48
add r4, r4, r0
+ ldrh r2, [r5, r3]
mov r0, r4
+ ldr r1, .L816+56
bl sprintf
movw r3, #2790
- ldrh r2, [r6, r3]
- ldr r1, .L819+52
add r4, r4, r0
+ ldrh r2, [r5, r3]
mov r0, r4
+ ldr r1, .L816+60
bl sprintf
movw r3, #2792
- ldrh r2, [r6, r3]
- ldr r1, .L819+56
add r4, r4, r0
+ ldrh r2, [r5, r3]
mov r0, r4
+ ldr r1, .L816+64
bl sprintf
movw r3, #2794
- ldrh r2, [r6, r3]
- ldr r1, .L819+60
add r4, r4, r0
+ ldrh r2, [r5, r3]
mov r0, r4
+ ldr r1, .L816+68
bl sprintf
- movw r3, #2796
- ldrh r2, [r6, r3]
- ldr r1, .L819+64
+ ldrb r1, [r5, #2797] @ zero_extendqisi2
add r4, r4, r0
+ ldrb r3, [r5, #2796] @ zero_extendqisi2
mov r0, r4
- bl sprintf
- movw r3, #2798
- ldrh r2, [r6, r3]
- ldr r1, .L819+68
- add r4, r4, r0
- mov r0, r4
- bl sprintf
- ldrb r1, [r6, #2801] @ zero_extendqisi2
- ldrb r2, [r6, #2774] @ zero_extendqisi2
- ldrb r3, [r6, #2800] @ zero_extendqisi2
- add r4, r4, r0
+ ldrb r2, [r5, #2769] @ zero_extendqisi2
str r1, [sp]
- ldr r1, .L819+72
- mov r0, r4
+ ldr r1, .L816+72
bl sprintf
- ldr r3, [r6, #2804]
- ldr r1, .L819+76
- ldrh r2, [r3, #148]
- ldrh r3, [r3, #146]
+ ldr r2, [r5, #2800]
add r4, r4, r0
+ ldr r1, .L816+76
mov r0, r4
+ ldrh r3, [r2, #146]
+ ldrh r2, [r2, #148]
bl sprintf
- ldr r3, [r6, #2804]
- ldr r1, .L819+80
+ ldr r3, [r5, #2800]
+ add r4, r4, r0
+ ldr r1, .L816+80
+ mov r0, r4
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, [r6, #2804]
- ldr r1, .L819+84
+ ldr r3, [r5, #2800]
+ add r4, r4, r0
+ ldr r1, .L816+84
+ mov r0, r4
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, [r6, #2804]
- ldr r1, .L819+88
+ ldr r3, [r5, #2800]
+ add r4, r4, r0
+ ldr r1, .L816+88
+ mov r0, r4
ldr r2, [r3, #64]
- add r4, r4, r0
- mov r0, r4
bl sprintf
- ldr r3, [r6, #2804]
- ldr r1, .L819+92
+ ldr r3, [r5, #2800]
+ add r4, r4, r0
+ ldr r1, .L816+92
+ mov r0, r4
ldr r2, [r3, #68]
- add r4, r4, r0
- mov r0, r4
bl sprintf
- 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
+ ldr r3, [r5, #1096]
add r4, r4, r0
+ ldr r1, .L816+96
mov r0, r4
+ ldr r2, [r3, #12]
+ umull r2, r3, r2, r1
+ ldr r1, .L816+100
+ lsr r2, r3, #3
bl sprintf
- ldr r3, [r6, #2804]
- ldrb r2, [r6] @ zero_extendqisi2
+ ldr r3, [r5, #2800]
+ add r4, r4, r0
+ ldrb r2, [r5] @ zero_extendqisi2
+ mov r0, r4
ldrh r1, [r3, #150]
- add r4, r4, r0
str r1, [sp]
- ldr r1, .L819+104
- mov r0, r4
+ ldr r1, .L816+104
ldr r3, [r3, #156]
bl sprintf
- ldr r3, [r6, #1092]
- ldr r1, .L819+108
+ ldr r3, [r5, #1096]
+ add r4, r4, r0
+ ldr r1, .L816+108
+ mov r0, r4
ldr r2, [r3, #556]
- add r4, r4, r0
- mov r0, r4
bl sprintf
- ldr r3, [r6, #1092]
- ldr r1, .L819+112
+ ldr r3, [r5, #1096]
+ add r4, r4, r0
+ ldr r1, .L816+112
+ mov r0, r4
ldr r2, [r3, #552]
- add r4, r4, r0
- mov r0, r4
bl sprintf
- ldr r3, [r6, #2804]
- ldr r1, .L819+116
+ ldr r3, [r5, #2800]
+ add r4, r4, r0
+ ldr r1, .L816+116
+ mov r0, r4
ldr r2, [r3, #52]
- add r4, r4, r0
- mov r0, r4
bl sprintf
- ldr r3, [r6, #2804]
- ldr r1, .L819+120
+ ldr r3, [r5, #2800]
+ add r4, r4, r0
+ ldr r1, .L816+120
+ mov r0, r4
ldr r2, [r3, #60]
- add r4, r4, r0
- mov r0, r4
bl sprintf
- ldr r3, [r6, #2804]
- ldr r1, .L819+124
+ ldr r3, [r5, #2800]
+ add r4, r4, r0
+ ldr r1, .L816+124
+ mov r0, r4
ldr r2, [r3, #76]
- add r4, r4, r0
- mov r0, r4
bl sprintf
- ldr r3, [r6, #2804]
- ldr r1, .L819+128
+ ldr r3, [r5, #2800]
+ add r4, r4, r0
+ ldr r1, .L816+128
+ mov r0, r4
ldr r2, [r3, #8]
+ bl sprintf
+ ldr r1, [r5, #1096]
add r4, r4, r0
mov r0, r4
- bl sprintf
- ldr r1, [r6, #1092]
- ldrh r2, [r1, #16]
ldrh r3, [r1, #22]
+ ldrh r2, [r1, #16]
ldrb r1, [r1, #25] @ zero_extendqisi2
- add r4, r4, r0
str r1, [sp]
- ldr r1, .L819+132
- mov r0, r4
+ ldr r1, .L816+132
bl sprintf
- ldr r1, [r6, #1092]
- ldrh r2, [r1, #48]
+ ldr r1, [r5, #1096]
+ add r4, r4, r0
+ mov r0, r4
ldrh r3, [r1, #54]
+ ldrh r2, [r1, #48]
ldrb r1, [r1, #57] @ zero_extendqisi2
- add r4, r4, r0
str r1, [sp]
- ldr r1, .L819+136
- mov r0, r4
+ ldr r1, .L816+136
bl sprintf
- ldr r1, [r6, #1092]
- ldrh r2, [r1, #80]
+ ldr r1, [r5, #1096]
+ add r4, r4, r0
+ mov r0, r4
ldrh r3, [r1, #86]
+ ldrh r2, [r1, #80]
ldrb r1, [r1, #89] @ zero_extendqisi2
- add r4, r4, r0
str r1, [sp]
- ldr r1, .L819+140
- mov r0, r4
+ ldr r1, .L816+140
bl sprintf
- ldr r3, [r6, #2804]
- ldrh r1, [r3, #88]
- ldrh r2, [r3, #74]
- str r1, [sp]
+ ldr r3, [r5, #2800]
add r4, r4, r0
- ldrh r1, [r3, #92]
mov r0, r4
- str r1, [sp, #4]
ldrh r1, [r3, #96]
+ ldrh r2, [r3, #74]
str r1, [sp, #8]
- ldr r1, .L819+144
+ ldrh r1, [r3, #92]
+ str r1, [sp, #4]
+ ldrh r1, [r3, #88]
+ str r1, [sp]
+ ldr r1, .L816+144
ldr r3, [r3, #84]
bl sprintf
- ldr r3, [r6, #2804]
- ldrh r1, [r3, #90]
- ldrh r2, [r3, #72]
- str r1, [sp]
+ ldr r3, [r5, #2800]
add r4, r4, r0
- ldrh r1, [r3, #94]
mov r0, r4
- str r1, [sp, #4]
ldrh r1, [r3, #98]
+ ldrh r2, [r3, #72]
str r1, [sp, #8]
- ldr r1, .L819+148
+ ldrh r1, [r3, #94]
+ str r1, [sp, #4]
+ ldrh r1, [r3, #90]
+ str r1, [sp]
+ ldr r1, .L816+148
ldr r3, [r3, #80]
bl sprintf
- movw r3, #2808
- ldrh r2, [r6, r3]
- ldr r1, .L819+152
+ movw r3, #2804
add r4, r4, r0
+ ldrh r2, [r5, r3]
mov r0, r4
+ ldr r1, .L816+152
bl sprintf
- movw r1, #2814
- ldrh r1, [r6, r1]
- movw r3, #2810
- ldrh r2, [r6, r3]
- movw r3, #2812
- ldrh r3, [r6, r3]
- str r1, [sp]
- add r1, r6, #2816
+ ldr r1, [r5, #2812]
add r4, r4, r0
- ldrh r1, [r1]
+ movw r3, #2806
+ movw r2, #2808
+ ldrh r3, [r5, r3]
mov r0, r4
- str r1, [sp, #4]
- ldr r1, [r6, #2820]
str r1, [sp, #8]
- ldr r1, .L819+156
- bl sprintf
- ldr r1, [r6, #1092]
- add r3, r1, #584
- ldrh r2, [r3]
- movw r3, #586
- ldrh r3, [r1, r3]
- add r4, r4, r0
- add r0, r1, #588
- ldrh r0, [r0]
- str r0, [sp]
- movw r0, #590
- ldrh r1, [r1, r0]
- mov r0, r4
+ add r1, r5, #2816
+ ldrh r1, [r1]
+ ldrh r2, [r5, r2]
str r1, [sp, #4]
- ldr r1, .L819+160
+ movw r1, #2818
+ ldrh r1, [r5, r1]
+ str r1, [sp]
+ ldr r1, .L816+156
bl sprintf
- ldr r3, [r6, #1092]
- ldr r1, .L819+164
- ldr r2, [r3, #544]
- str r2, [sp]
+ ldr r1, [r5, #1096]
add r4, r4, r0
- ldr r2, [r6, #2804]
+ movw r0, #590
+ movw r3, #586
+ ldrh r0, [r1, r0]
+ add r2, r1, #584
+ ldrh r3, [r1, r3]
+ add r1, r1, #588
+ ldrh r2, [r2]
+ str r0, [sp, #4]
mov r0, r4
- ldr r2, [r2, #44]
- str r2, [sp, #4]
- ldr r2, [r3, #548]
- str r2, [sp, #8]
- ldr r2, [r3, #536]
- ldr r3, [r3, #540]
+ ldrh r1, [r1]
+ str r1, [sp]
+ ldr r1, .L816+160
+ bl sprintf
+ ldr r2, [r5, #1096]
+ add r4, r4, r0
+ ldr r1, .L816+164
+ mov r0, r4
+ ldr r3, [r2, #548]
+ str r3, [sp, #8]
+ ldr r3, [r5, #2800]
+ ldr r3, [r3, #44]
+ str r3, [sp, #4]
+ ldr r3, [r2, #544]
+ str r3, [sp]
+ ldr r3, [r2, #540]
+ ldr r2, [r2, #536]
bl sprintf
add r0, r4, r0
- rsb r0, r5, r0
+ sub r0, r0, r6
add sp, sp, #16
@ sp needed
- ldmfd sp!, {r4, r5, r6, pc}
-.L820:
+ pop {r4, r5, r6, pc}
+.L817:
.align 2
-.L819:
+.L816:
.word .LC1
.word .LC2
.word .LANCHOR2
.word .LANCHOR0
+ .word .LC53
+ .word .LC54
+ .word .LC55
.word .LC56
.word .LC57
.word .LC58
@@ -4705,10 +4813,10 @@
.word .LC70
.word .LC71
.word .LC72
+ .word -858993459
.word .LC73
.word .LC74
.word .LC75
- .word -858993459
.word .LC76
.word .LC77
.word .LC78
@@ -4723,13 +4831,13 @@
.word .LC87
.word .LC88
.word .LC89
- .word .LC90
- .word .LC91
- .word .LC92
.fnend
.size ftl_print_info_to_buf, .-ftl_print_info_to_buf
.align 2
.global zftl_proc_ftl_read
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_proc_ftl_read, %function
zftl_proc_ftl_read:
.fnstart
@@ -4741,34 +4849,40 @@
.size zftl_proc_ftl_read, .-zftl_proc_ftl_read
.align 2
.global ftl_gc_write_buf
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_gc_write_buf, %function
ftl_gc_write_buf:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, lr}
+ push {r4, lr}
.save {r4, lr}
mov r1, r0
ldrb r3, [r0, #2] @ zero_extendqisi2
- ldr r4, .L824
+ ldr r4, .L821
orr r3, r3, #2
strb r3, [r0, #2]
add r0, r4, #2816
- add r0, r0, #8
+ add r0, r0, #4
bl buf_add_tail
- ldrb r0, [r4, #2800] @ zero_extendqisi2
+ ldrb r0, [r4, #2796] @ zero_extendqisi2
add r0, r0, #1
uxtb r0, r0
- strb r0, [r4, #2800]
- ldmfd sp!, {r4, pc}
-.L825:
+ strb r0, [r4, #2796]
+ pop {r4, pc}
+.L822:
.align 2
-.L824:
+.L821:
.word .LANCHOR0
.fnend
.size ftl_gc_write_buf, .-ftl_gc_write_buf
.align 2
.global gc_hook
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_hook, %function
gc_hook:
.fnstart
@@ -4780,6 +4894,9 @@
.size gc_hook, .-gc_hook
.align 2
.global vpn_check
+ .syntax unified
+ .arm
+ .fpu softvfp
.type vpn_check, %function
vpn_check:
.fnstart
@@ -4791,6 +4908,9 @@
.size vpn_check, .-vpn_check
.align 2
.global ftl_scan_all_data
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_scan_all_data, %function
ftl_scan_all_data:
.fnstart
@@ -4802,719 +4922,741 @@
.size ftl_scan_all_data, .-ftl_scan_all_data
.align 2
.global gc_add_sblk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_add_sblk, %function
gc_add_sblk:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, lr}
+ push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, lr}
.save {r4, r5, r6, r7, r8, r9, r10, lr}
.pad #16
mov r5, r0
- ldr r8, .L866
+ ldr r8, .L862
mov r4, r1
mov r9, r2
- ldr r7, .L866+4
+ ldr r7, .L862+4
ldr r3, [r8]
tst r3, #256
- beq .L830
- ldr r3, [r7, #1080]
- mov r1, r5
- ldr r2, [r7, #1088]
- add r3, r3, r0, asl #2
- ldrb r3, [r3, #2] @ zero_extendqisi2
- mov r3, r3, lsr #5
- str r3, [sp]
- mov r3, r0, asl #1
- ldr r0, .L866+8
- ldrh r3, [r2, r3]
- mov r2, r4
- str r3, [sp, #4]
- ldr r3, .L866+12
- ldrh r3, [r3, #52]
- str r3, [sp, #8]
- movw r3, #2814
+ beq .L827
+ movw r3, #2818
+ ldr r2, [r7, #1092]
ldrh r3, [r7, r3]
str r3, [sp, #12]
+ ldr r3, .L862+8
+ ldrh r3, [r3, #52]
+ str r3, [sp, #8]
+ lsl r3, r0, #1
+ ldrh r3, [r2, r3]
+ mov r2, r1
+ mov r1, r0
+ str r3, [sp, #4]
+ ldr r3, [r7, #1084]
+ add r3, r3, r0, lsl #2
+ ldr r0, .L862+12
+ ldrb r3, [r3, #2] @ zero_extendqisi2
+ lsr r3, r3, #5
+ str r3, [sp]
mov r3, r9
bl printk
-.L830:
- movw r3, #1076
+.L827:
+ movw r3, #1080
ldrh r3, [r7, r3]
cmp r3, r5
- bhi .L831
- ldr r1, .L866+16
+ bhi .L828
movw r2, #543
- ldr r0, .L866+20
+ ldr r1, .L862+16
+ ldr r0, .L862+20
bl printk
bl dump_stack
-.L831:
- movw r3, #1076
- ldr r1, .L866+4
+.L828:
+ movw r3, #1080
ldrh r3, [r7, r3]
cmp r3, r5
- bhi .L832
+ bhi .L829
ldr r0, [r8]
ands r0, r0, #1024
- beq .L833
- mov r1, r5
- mov r2, r4
+ beq .L826
mov r3, r9
- ldr r0, .L866+24
+ mov r2, r4
+ mov r1, r5
+ ldr r0, .L862+24
bl printk
- b .L852
-.L832:
- ldr r2, [r1, #1088]
- mov r3, r5, asl #1
+.L849:
+ mov r0, #0
+ b .L826
+.L829:
+ ldr r2, [r7, #1092]
+ lsl r3, r5, #1
ldrh r3, [r2, r3]
- ldr r2, [r1, #1080]
- add r2, r2, r5, asl #2
- ldrb ip, [r2, #2] @ zero_extendqisi2
- ands r6, ip, #224
- bne .L834
+ ldr r2, [r7, #1084]
+ add r2, r2, r5, lsl #2
+ ldrb r2, [r2, #2] @ zero_extendqisi2
+ ands r6, r2, #224
+ bne .L831
cmp r3, #0
- beq .L852
- ldr r1, .L866+16
+ beq .L849
movw r2, #553
- ldr r0, .L866+20
+ ldr r1, .L862+16
+ ldr r0, .L862+20
bl printk
bl dump_stack
- b .L852
-.L834:
- movw r2, #2828
- ldrh r2, [r1, r2]
- cmp r2, r5
- beq .L852
- ldr r2, [r1, #1092]
- ldrh r0, [r2, #48]
+ b .L849
+.L831:
+ movw r1, #2824
+ ldrh r1, [r7, r1]
+ cmp r1, r5
+ beq .L849
+ ldr r1, [r7, #1096]
+ ldrh r0, [r1, #48]
cmp r0, r5
- beq .L852
- ldrh r0, [r2, #16]
+ beq .L849
+ ldrh r0, [r1, #16]
cmp r0, r5
- beq .L852
- ldrh r0, [r2, #80]
+ beq .L849
+ ldrh r0, [r1, #80]
cmp r0, r5
- beq .L852
- ldr r0, .L866+12
- add r1, r1, #2880
- ldrh lr, [r0, #52]
- mov r0, #0
-.L835:
- cmp r0, lr
- bcs .L865
- ldrh r6, [r1, #2]!
- cmp r6, r5
- beq .L852
- add r0, r0, #1
- b .L835
-.L865:
+ beq .L849
+ ldr r0, .L862+8
+ mov ip, #0
+ ldrh r10, [r0, #52]!
+.L832:
+ cmp ip, r10
+ bcc .L833
cmp r4, #0
- bne .L840
- ldr r0, .L866+28
- ldrh r6, [r0]
- cmp r6, r5
- moveq r0, r4
- beq .L833
- add r0, r0, #4
- mov r1, r4
-.L839:
- ldrh r10, [r1, r0]
- cmp r5, r10
- bne .L838
- ldr r0, [r8]
- ands r0, r0, #256
- beq .L833
- stmia sp, {r5, r6}
+ bne .L837
+ ldr ip, .L862+28
+ mov r0, r4
+ ldrh lr, [ip, #-4]
+ cmp r5, lr
+ beq .L826
+ sub ip, ip, #2
+.L836:
+ ldrh r6, [r0, ip]
+ cmp r5, r6
+ bne .L835
+ ldr r1, [r8]
+ ands r0, r1, #256
+ beq .L826
+ stm sp, {r5, lr}
+ lsr r2, r2, #5
mov r1, r5
- mov r2, ip, lsr #5
- ldr r0, .L866+32
+ ldr r0, .L862+32
bl printk
- b .L852
+ b .L849
+.L833:
+ ldrh lr, [r0, #2]!
+ cmp lr, r5
+ beq .L849
+ add ip, ip, #1
+ b .L832
+.L835:
+ add r0, r0, #2
+ cmp r0, #16
+ bne .L836
+ add r1, r1, r9, lsl #7
+ add r6, r1, #136
.L838:
- add r1, r1, #2
- cmp r1, #16
- bne .L839
- add r6, r2, r9, asl #7
- add r6, r6, #136
- b .L841
-.L840:
- add r6, r2, #392
-.L841:
- ldr r2, [r8]
- tst r2, #256
- beq .L842
- stmia sp, {r3, lr}
- movw r3, #2814
- ldrh r3, [r7, r3]
- mov r1, r5
- ldr r0, .L866+36
+ ldr r1, [r8]
+ tst r1, #256
+ beq .L839
+ movw r1, #2818
+ stm sp, {r3, r10}
+ ldrh r1, [r7, r1]
+ lsr r3, r2, #5
+ ldr r0, .L862+36
mov r2, r4
- str r3, [sp, #8]
- mov r3, ip, lsr #5
+ str r1, [sp, #8]
+ mov r1, r5
bl printk
-.L842:
- add r1, r6, #128
+.L839:
mov r3, r6
+ add r1, r6, #128
movw r0, #65535
-.L845:
+.L842:
mov r2, r3
add r3, r3, #2
ldrh ip, [r2]
cmp ip, r0
- bne .L843
+ bne .L840
cmp r4, #0
strh r5, [r2] @ movhi
- ldreq r3, [r7, #1092]
- ldrne r2, [r7, #1092]
- addeq r9, r3, r9, asl #1
- ldrneh r3, [r2, #124]
- ldreqh r3, [r9, #120]
+ ldreq r3, [r7, #1096]
+ ldrne r2, [r7, #1096]
+ addeq r9, r3, r9, lsl #1
+ ldrhne r3, [r2, #124]
+ ldrheq r3, [r9, #120]
addne r3, r3, #1
+ strhne r3, [r2, #124] @ movhi
addeq r3, r3, #1
- strneh r3, [r2, #124] @ movhi
- streqh r3, [r9, #120] @ movhi
- b .L864
-.L843:
- cmp r3, r1
- bne .L845
-.L864:
+ strheq r3, [r9, #120] @ movhi
+.L861:
mov r0, #1
- b .L833
-.L852:
- mov r0, #0
-.L833:
+.L826:
add sp, sp, #16
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
-.L867:
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L837:
+ add r6, r1, #392
+ b .L838
+.L840:
+ cmp r3, r1
+ bne .L842
+ b .L861
+.L863:
.align 2
-.L866:
+.L862:
.word .LANCHOR2
.word .LANCHOR0
- .word .LC93
- .word .LANCHOR0+2828
- .word .LANCHOR1+1608
+ .word .LANCHOR0+2824
+ .word .LC90
+ .word .LANCHOR1+1448
.word .LC0
- .word .LC94
+ .word .LC91
.word .LANCHOR3-3152
- .word .LC95
- .word .LC96
+ .word .LC92
+ .word .LC93
.fnend
.size gc_add_sblk, .-gc_add_sblk
.align 2
.global gc_mark_bad_ppa
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_mark_bad_ppa, %function
gc_mark_bad_ppa:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- ldr r3, .L874
- stmfd sp!, {r4, r5, r6, r7, r8, lr}
- .save {r4, r5, r6, r7, r8, lr}
- sub r2, r3, #3120
- ldr r5, .L874+4
- mov r6, #1
- ldrh r1, [r2, #-12]
- mov r7, r0
+ ldr r3, .L869
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
+ mov r8, r0
+ ldr r5, .L869+4
+ mov r7, #1
+ sub r2, r3, #3136
+ ldrh r2, [r2, #-2]
+ ldrb r1, [r3, #-3136] @ zero_extendqisi2
add r5, r5, #4096
- ldrb r2, [r5, #-2907] @ zero_extendqisi2
- mov r0, r0, lsr r1
- rsb r2, r2, #24
- uxth r4, r0
- rsb r2, r1, r2
- ldrb r1, [r3, #-3130] @ zero_extendqisi2
- mov r2, r6, asl r2
- sub r2, r2, #1
- and r0, r0, r2
+ lsr r6, r0, r2
+ ldrb r0, [r5, #-2943] @ zero_extendqisi2
+ uxth r4, r6
+ rsb r0, r0, #24
+ sub r0, r0, r2
+ lsl r0, r7, r0
+ sub r0, r0, #1
+ and r0, r0, r6
bl __aeabi_uidiv
- mov r3, r7
- ldr r1, [r5, #920]
+ uxth r9, r0
+ mov r3, r8
mov r2, r4
- uxth r8, r0
- ldr r0, .L874+8
+ ldr r1, [r5, #916]
+ ldr r0, .L869+8
bl printk
- mov r1, r6
- mov r0, r8
+ mov r1, r7
mov r2, #0
+ mov r0, r9
bl gc_add_sblk
- ldr r3, [r5, #920]
- ldr r0, .L874+12
+ ldr r3, [r5, #916]
mov r1, #0
-.L869:
+ ldr r0, .L869+12
+ movw ip, #1096
+.L865:
uxth r2, r1
- cmp r2, r3
- bcs .L873
- add r2, r2, #1088
- add r1, r1, #1
- add r2, r2, #8
- mov r2, r2, asl #1
- ldrh r2, [r0, r2]
- cmp r2, r4
- bne .L869
- b .L870
-.L873:
+ cmp r3, r2
+ bhi .L867
cmp r3, #5
- bhi .L870
+ bhi .L866
add r2, r3, #1
add r3, r3, #1088
+ str r2, [r5, #916]
add r3, r3, #8
- str r2, [r5, #920]
- ldr r2, .L874+12
- mov r3, r3, asl #1
+ ldr r2, .L869+12
+ lsl r3, r3, #1
strh r4, [r2, r3] @ movhi
-.L870:
+ b .L866
+.L867:
+ add r2, r2, ip
+ add r1, r1, #1
+ lsl r2, r2, #1
+ ldrh r2, [r0, r2]
+ cmp r4, r2
+ bne .L865
+.L866:
mov r0, #0
- ldmfd sp!, {r4, r5, r6, r7, r8, pc}
-.L875:
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L870:
.align 2
-.L874:
+.L869:
.word .LANCHOR3
.word .LANCHOR0
- .word .LC97
- .word .LANCHOR0+2828
+ .word .LC94
+ .word .LANCHOR0+2824
.fnend
.size gc_mark_bad_ppa, .-gc_mark_bad_ppa
.align 2
.global gc_get_src_ppa_from_index
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_get_src_ppa_from_index, %function
gc_get_src_ppa_from_index:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L877
- ldr r3, [r3, #-3128]
- ldr r0, [r3, r0, asl #2]
+ ldr r3, .L872
+ ldr r3, [r3, #-3132]
+ ldr r0, [r3, r0, lsl #2]
bx lr
-.L878:
+.L873:
.align 2
-.L877:
+.L872:
.word .LANCHOR3
.fnend
.size gc_get_src_ppa_from_index, .-gc_get_src_ppa_from_index
.align 2
.global gc_write_completed
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_write_completed, %function
gc_write_completed:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {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, .L910
- mov r6, r5
-.L880:
- ldrb fp, [r5, #2777] @ zero_extendqisi2
+.L875:
+ ldr r7, .L902
+ ldrb fp, [r7, #2772] @ zero_extendqisi2
+ mov r6, r7
cmp fp, #255
- 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, .L910+4
- add r3, r1, r3
- ldr r1, [r2, #1272]
- cmp r1, #0
- ldrh r8, [r3, #32]
- beq .L881
- ldr r3, .L910+8
- mov r0, #1
- ldr r2, [r2, #1260]
- strh r0, [r3] @ movhi
- ldr r3, .L910+12
- ldr r0, .L910+16
- str r2, [r3, #916]
- bl printk
- ldr r1, .L910+20
- mov r2, #956
- ldr r0, .L910+24
- bl printk
- bl dump_stack
-.L881:
- ldr r7, .L910+28
- ldrb r3, [r7, #-3124] @ zero_extendqisi2
- mov r10, r7
- cmp r3, #3
- bne .L882
- ldrb r3, [r6, #1196] @ zero_extendqisi2
- cmp r3, #0
- bne .L882
- ldr r3, [r5, #1092]
- ldrb r2, [r7, #-3123] @ zero_extendqisi2
- ldrb r3, [r3, #89] @ zero_extendqisi2
- cmp r2, r3
- movhi r3, #1
- bhi .L884
- cmp r3, #3
- movcs r3, #2
-.L884:
- add r4, r3, r3, asl #1
- b .L885
-.L882:
- ldrb r3, [r7, #-3122] @ zero_extendqisi2
- cmp r3, #0
- moveq r4, #1
- beq .L885
- ldr r3, .L910+28
- ldrb r3, [r3, #-3121] @ zero_extendqisi2
- cmp r3, #0
- moveq r4, #1
- movne r4, #2
-.L885:
- mov r2, #48
- 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 .L886
- ldr r1, .L910+20
- mov r2, #976
- ldr r0, .L910+24
- bl printk
- bl dump_stack
-.L886:
- mov r2, #48
- mla fp, r2, fp, r6
- ldrb r2, [fp, #1281] @ zero_extendqisi2
- cmp r2, #3
- beq .L887
- ldrb r1, [r7, #-3124] @ zero_extendqisi2
- ldr r2, .L910+28
- cmp r1, #3
- bne .L887
- ldrb r1, [r2, #-3116] @ zero_extendqisi2
- cmp r1, #0
- bne .L887
- ldrb r1, [r5, #1196] @ zero_extendqisi2
- cmp r1, #0
- bne .L887
- ldrb r1, [r5, #1197] @ zero_extendqisi2
- cmp r1, #0
- bne .L887
- ldrb r1, [r2, #-3122] @ zero_extendqisi2
- cmp r1, #0
- beq .L888
- ldrb r2, [r2, #-3121] @ zero_extendqisi2
- cmp r2, #0
- bne .L887
-.L888:
- ldr r2, [r7, #-3120]
- mov r3, #0
- mov r1, #48
- mov r0, r3
- add ip, r2, r8
- b .L889
-.L887:
- ldr r2, .L910+32
- mvn r7, #0
- mov fp, #48
- strh r8, [r2] @ movhi
- mov r2, #0
-.L890:
- rsb r1, r8, r9
- uxth r1, r1
- cmp r1, r4
- bcs .L880
- ldr r1, [r10, #-3120]
- ldr r3, .L910+4
- str r2, [sp, #4]
- ldrb r0, [r1, r9] @ zero_extendqisi2
- strb r7, [r1, r9]
- add r9, r9, #1
- mul r0, fp, r0
- add r1, r6, r0
- add r0, r3, r0
- strb r2, [r1, #1281]
- bl zbuf_free
- ldrb r1, [r6, #2835] @ zero_extendqisi2
- sub r1, r1, #1
- strb r1, [r6, #2835]
- ldr r2, [sp, #4]
- b .L890
-.L889:
- uxth r2, r3
- cmp r2, r4
- bcs .L880
- ldrb r2, [ip, r3] @ zero_extendqisi2
- add r3, r3, #1
- mla r2, r1, r2, r6
- strb r0, [r2, #1281]
- b .L889
-.L909:
+ bne .L888
add sp, sp, #12
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L911:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L888:
+ mov r2, #48
+ add r10, r6, #1232
+ mul r2, r2, fp
+ str r10, [sp, #4]
+ add r0, r6, r2
+ add r2, r10, r2
+ ldrb r1, [r0, #1232] @ zero_extendqisi2
+ ldrh r8, [r2, #32]
+ strb r1, [r7, #2772]
+ ldr r1, [r0, #1268]
+ cmp r1, #0
+ beq .L876
+ ldr r3, .L902+4
+ mov r2, #1
+ strh r2, [r3] @ movhi
+ ldr r2, [r0, #1256]
+ add r0, r6, #4096
+ str r2, [r0, #912]
+ ldr r0, .L902+8
+ bl printk
+ mov r2, #956
+ ldr r1, .L902+12
+ ldr r0, .L902+16
+ bl printk
+ bl dump_stack
+.L876:
+ ldr r5, .L902+20
+ ldrb r2, [r5, #-3128] @ zero_extendqisi2
+ mov r10, r5
+ cmp r2, #3
+ bne .L877
+ ldrb r2, [r7, #1158] @ zero_extendqisi2
+ cmp r2, #0
+ bne .L877
+ ldr r2, [r7, #1096]
+ ldrb r4, [r2, #89] @ zero_extendqisi2
+ ldrb r2, [r5, #-3127] @ zero_extendqisi2
+ cmp r2, r4
+ movhi r4, #1
+ bhi .L878
+ cmp r4, #2
+ movcs r4, #2
+.L878:
+ add r4, r4, r4, lsl #1
+.L879:
+ mov r2, #48
+ ldr r1, [r5, #-3124]
+ mla r2, r2, fp, r6
+ ldrb r1, [r1, r8] @ zero_extendqisi2
+ mov r9, r8
+ ldrb r2, [r2, #1233] @ zero_extendqisi2
+ cmp r1, r2
+ beq .L880
+ mov r2, #976
+ ldr r1, .L902+12
+ ldr r0, .L902+16
+ bl printk
+ bl dump_stack
+.L880:
+ mov r2, #48
+ mla r3, r2, fp, r6
+ ldrb r3, [r3, #1277] @ zero_extendqisi2
+ cmp r3, #3
+ beq .L881
+ ldrb r3, [r5, #-3128] @ zero_extendqisi2
+ cmp r3, #3
+ bne .L881
+ ldrb r3, [r5, #-3120] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L881
+ ldrb r3, [r7, #1158] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L881
+ ldrb r3, [r7, #1159] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L881
+ ldrb r3, [r5, #-3126] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L882
+ ldrb r3, [r5, #-3125] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L881
+.L882:
+ ldr r2, [r5, #-3124]
+ mov r3, #0
+ mov r1, #48
+ movw r0, #1277
+ mov ip, r3
+ add r8, r2, r8
+.L883:
+ uxth r2, r3
+ cmp r4, r2
+ bls .L875
+ ldrb r2, [r8, r3] @ zero_extendqisi2
+ add r3, r3, #1
+ mla r2, r1, r2, r6
+ strb ip, [r2, r0]
+ b .L883
+.L877:
+ ldrb r2, [r5, #-3126] @ zero_extendqisi2
+ cmp r2, #0
+ moveq r4, #1
+ beq .L879
+ ldrb r2, [r5, #-3125] @ zero_extendqisi2
+ cmp r2, #0
+ moveq r4, #1
+ movne r4, #2
+ b .L879
+.L881:
+ ldr r3, .L902+24
+ mvn r5, #0
+ mov r7, #48
+ movw fp, #1277
+ strh r8, [r3] @ movhi
+.L884:
+ sub r2, r9, r8
+ uxth r2, r2
+ cmp r4, r2
+ bls .L875
+ ldr r2, [r10, #-3124]
+ mov r1, #0
+ ldr r3, [sp, #4]
+ ldrb r0, [r2, r9] @ zero_extendqisi2
+ strb r5, [r2, r9]
+ add r9, r9, #1
+ mla r2, r7, r0, r6
+ add r0, r0, r0, lsl #1
+ strb r1, [r2, fp]
+ add r0, r3, r0, lsl #4
+ bl zbuf_free
+ ldrb r2, [r6, #2831] @ zero_extendqisi2
+ sub r2, r2, #1
+ strb r2, [r6, #2831]
+ b .L884
+.L903:
.align 2
-.L910:
+.L902:
.word .LANCHOR0
- .word .LANCHOR0+1236
- .word .LANCHOR0+5010
- .word .LANCHOR0+4096
- .word .LC98
- .word .LANCHOR1+1620
+ .word .LANCHOR0+5006
+ .word .LC95
+ .word .LANCHOR1+1460
.word .LC0
.word .LANCHOR3
- .word .LANCHOR0+4932
+ .word .LANCHOR0+4928
.fnend
.size gc_write_completed, .-gc_write_completed
.align 2
.global gc_get_src_blk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_get_src_blk, %function
gc_get_src_blk:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- ldr r1, .L922
- stmfd sp!, {r4, r5, lr}
- .save {r4, r5, lr}
- ldr r3, [r1, #1092]
- ldr ip, .L922+4
+ ldr r1, .L916
+ ldr r3, [r1, #1096]
ldrh r2, [r3, #124]
- ldrb r0, [ip, #-3115] @ zero_extendqisi2
cmp r2, #0
addne r3, r3, #392
movne r2, #1
- bne .L914
- add lr, r3, r0, asl #1
- ldrh lr, [lr, #120]
- cmp lr, #0
- beq .L919
- add r3, r3, r0, asl #7
+ bne .L906
+ ldr r0, .L916+4
+ ldrb r0, [r0, #-3119] @ zero_extendqisi2
+ add ip, r3, r0, lsl #1
+ ldrh ip, [ip, #120]
+ cmp ip, #0
+ beq .L911
+ add r3, r3, r0, lsl #7
add r3, r3, #136
-.L914:
- add lr, r3, #128
- movw r4, #65535
-.L918:
- mov r5, r3
+.L906:
+ push {r4, lr}
+ .save {r4, lr}
+ add ip, r3, #128
+ movw lr, #65535
+.L910:
+ mov r4, r3
ldrh r0, [r3], #2
- cmp r0, r4
- beq .L916
+ cmp r0, lr
+ beq .L908
cmp r2, #0
mvn r3, #0
- strh r3, [r5] @ movhi
- ldreqb r2, [ip, #-3115] @ zero_extendqisi2
- ldreq r3, [r1, #1092]
- ldrne r2, [r1, #1092]
- addeq r3, r3, r2, asl #1
- ldrneh r3, [r2, #124]
- ldreqh r2, [r3, #120]
+ strh r3, [r4] @ movhi
+ ldreq r3, .L916+4
+ ldrne r2, [r1, #1096]
+ ldrbeq r2, [r3, #-3119] @ zero_extendqisi2
+ ldreq r3, [r1, #1096]
+ ldrhne r3, [r2, #124]
+ addeq r3, r3, r2, lsl #1
subne r3, r3, #1
+ strhne r3, [r2, #124] @ movhi
+ ldrheq r2, [r3, #120]
subeq r2, r2, #1
- strneh r3, [r2, #124] @ movhi
- streqh r2, [r3, #120] @ movhi
- ldmfd sp!, {r4, r5, pc}
-.L916:
- cmp r3, lr
- bne .L918
- ldmfd sp!, {r4, r5, pc}
-.L919:
+ strheq r2, [r3, #120] @ movhi
+ pop {r4, pc}
+.L908:
+ cmp r3, ip
+ bne .L910
+ pop {r4, pc}
+.L911:
movw r0, #65535
- ldmfd sp!, {r4, r5, pc}
-.L923:
+ bx lr
+.L917:
.align 2
-.L922:
+.L916:
.word .LANCHOR0
.word .LANCHOR3
.fnend
.size gc_get_src_blk, .-gc_get_src_blk
.align 2
.global gc_free_temp_buf
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_free_temp_buf, %function
gc_free_temp_buf:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, lr}
+ push {r4, r5, r6, lr}
.save {r4, r5, r6, lr}
- ldr r5, .L939
- ldrb r0, [r5, #2835] @ zero_extendqisi2
+ ldr r5, .L933
+ ldrb r0, [r5, #2831] @ zero_extendqisi2
cmp r0, #0
- ldmeqfd sp!, {r4, r5, r6, pc}
- ldrb r3, [r5, #2774] @ zero_extendqisi2
+ popeq {r4, r5, r6, pc}
+ ldrb r3, [r5, #2769] @ zero_extendqisi2
cmp r3, #1
- bhi .L931
- ldr r2, .L939+4
- movw r3, #2104
- ldr r1, .L939+8
- ldrh r4, [r2, r3]
- sub r3, r1, #3104
- mov r6, r1
- ldrh r0, [r3, #-10]
- add r2, r4, #24
- ldrb r3, [r1, #-3123] @ zero_extendqisi2
+ bhi .L925
+ ldr r2, .L933+4
+ add r3, r5, #4928
+ ldrh r4, [r3]
+ movw ip, #1277
+ sub r3, r2, #3104
+ mov r6, r2
+ ldrh r0, [r3, #-14]
+ add r1, r4, #24
+ ldrb r3, [r2, #-3127] @ zero_extendqisi2
mul r3, r3, r0
- ldr r0, [r1, #-3120]
- mov r1, #48
- cmp r3, r2
- movcs r3, r2
-.L926:
+ cmp r3, r1
+ movcs r3, r1
+ ldr r1, [r2, #-3124]
+ mov r2, #48
+.L920:
cmp r4, r3
- bcs .L931
- ldrb r2, [r0, r4] @ zero_extendqisi2
- cmp r2, #255
- beq .L927
- mul r2, r1, r2
- add ip, r5, r2
- ldrb ip, [ip, #1281] @ zero_extendqisi2
- cmp ip, #0
- bne .L927
- ldr r0, .L939+12
- add r0, r0, r2
+ bcc .L923
+.L925:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+.L923:
+ ldrb r0, [r1, r4] @ zero_extendqisi2
+ cmp r0, #255
+ beq .L921
+ mla lr, r2, r0, r5
+ ldrb lr, [lr, ip] @ zero_extendqisi2
+ cmp lr, #0
+ bne .L921
+ ldr r3, .L933+8
+ add r0, r0, r0, lsl #1
+ add r0, r3, r0, lsl #4
bl zbuf_free
- ldr r3, .L939+16
+ ldr r3, .L933+12
ldr r3, [r3]
tst r3, #256
- beq .L928
- ldr r3, [r6, #-3120]
+ beq .L922
+ ldr r3, [r6, #-3124]
mov r1, r4
- ldr r0, .L939+20
+ ldr r0, .L933+16
ldrb r2, [r3, r4] @ zero_extendqisi2
bl printk
-.L928:
- ldr r3, [r6, #-3120]
+.L922:
+ ldr r3, [r6, #-3124]
mvn r2, #0
mov r0, #1
strb r2, [r3, r4]
- ldrb r3, [r5, #2835] @ zero_extendqisi2
+ ldrb r3, [r5, #2831] @ zero_extendqisi2
add r3, r3, r2
- strb r3, [r5, #2835]
- ldmfd sp!, {r4, r5, r6, pc}
-.L927:
+ strb r3, [r5, #2831]
+ pop {r4, r5, r6, pc}
+.L921:
add r4, r4, #1
- b .L926
-.L931:
- mov r0, #0
- ldmfd sp!, {r4, r5, r6, pc}
-.L940:
+ b .L920
+.L934:
.align 2
-.L939:
+.L933:
.word .LANCHOR0
- .word .LANCHOR0+2828
.word .LANCHOR3
- .word .LANCHOR0+1236
+ .word .LANCHOR0+1232
.word .LANCHOR2
- .word .LC99
+ .word .LC96
.fnend
.size gc_free_temp_buf, .-gc_free_temp_buf
.align 2
.global get_ink_scaned_blk
+ .syntax unified
+ .arm
+ .fpu softvfp
.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
+ ldr r1, .L938
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]
+ strhne r3, [r1, ip] @ movhi
+ addne r2, r1, r2, lsl #1
+ ldrhne r0, [r2, #6]
movweq r0, #65535
bx lr
-.L945:
+.L939:
.align 2
-.L944:
- .word .LANCHOR0+2828
+.L938:
+ .word .LANCHOR0+2824
.fnend
.size get_ink_scaned_blk, .-get_ink_scaned_blk
.align 2
.global print_gc_debug_info
+ .syntax unified
+ .arm
+ .fpu softvfp
.type print_gc_debug_info, %function
print_gc_debug_info:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r3, r4, lr}
+ push {r0, r1, r2, r3, r4, lr}
.save {lr}
.pad #20
- movw r2, #2828
- ldr r0, .L948
- movw ip, #2102
- add r3, r0, r2
- ldrh r1, [r0, r2]
- ldrh r2, [r3, #2]
- ldrh r3, [r3, ip]
- ldrb ip, [r0, #2774] @ zero_extendqisi2
- str ip, [sp]
- ldrb ip, [r0, #2835] @ zero_extendqisi2
+ movw ip, #2804
+ ldr r0, .L942
+ movw r1, #2824
+ movw r3, #2102
+ ldrh ip, [r0, ip]
+ add r2, r0, r1
+ ldrh r3, [r2, r3]
+ ldrh r1, [r0, r1]
+ ldrh r2, [r2, #2]
+ str ip, [sp, #8]
+ ldrb ip, [r0, #2831] @ zero_extendqisi2
str ip, [sp, #4]
- movw ip, #2808
- ldrh r0, [r0, ip]
- str r0, [sp, #8]
- ldr r0, .L948+4
+ ldrb r0, [r0, #2769] @ zero_extendqisi2
+ str r0, [sp]
+ ldr r0, .L942+4
bl printk
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
-.L949:
+.L943:
.align 2
-.L948:
+.L942:
.word .LANCHOR0
- .word .LC100
+ .word .LC97
.fnend
.size print_gc_debug_info, .-print_gc_debug_info
.align 2
.global _list_pop_index_node
+ .syntax unified
+ .arm
+ .fpu softvfp
.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}
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
ldr r5, [r0]
cmp r5, #0
- beq .L956
- ldr r3, .L958
+ beq .L950
+ ldr r3, .L952
movw ip, #65535
mov lr, #6
ldr r4, [r3, #1036]
-.L952:
+.L946:
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
+ bne .L947
+.L949:
+ sub r4, r5, r4
+ asr r3, r4, #1
+ ldr r4, .L952+4
+ mul r4, r4, r3
+ uxth r1, r4
bl _list_remove_node
mvn r3, #0
- mov r0, r4
+ uxth r0, r4
strh r3, [r5] @ movhi
strh r3, [r5, #2] @ movhi
- ldmfd sp!, {r3, r4, r5, pc}
-.L953:
+ pop {r4, r5, r6, pc}
+.L947:
ldrh r3, [r5]
cmp r3, ip
- beq .L955
+ beq .L949
sub r1, r1, #1
mla r5, lr, r3, r4
uxth r1, r1
- b .L952
-.L956:
+ b .L946
+.L950:
movw r0, #65535
- ldmfd sp!, {r3, r4, r5, pc}
-.L959:
+ pop {r4, r5, r6, pc}
+.L953:
.align 2
-.L958:
+.L952:
.word .LANCHOR0
.word -1431655765
.fnend
.size _list_pop_index_node, .-_list_pop_index_node
.align 2
.global _list_get_gc_head_node
+ .syntax unified
+ .arm
+ .fpu softvfp
.type _list_get_gc_head_node, %function
_list_get_gc_head_node:
.fnstart
@@ -5523,712 +5665,721 @@
@ link register save eliminated.
ldr r0, [r0]
cmp r0, #0
- beq .L965
- ldr r3, .L968
+ beq .L959
+ ldr r3, .L961
+ movw r2, #65535
mov ip, #6
- ldr r2, [r3, #1036]
- movw r3, #65535
-.L962:
+ ldr r3, [r3, #1036]
+.L956:
cmp r1, #0
- beq .L963
+ beq .L957
ldrh r0, [r0]
- cmp r0, r3
- subne r1, r1, #1
- mlane r0, ip, r0, r2
- uxthne r1, r1
- bne .L962
-.L967:
+ cmp r0, r2
+ bne .L958
bx lr
-.L965:
+.L958:
+ sub r1, r1, #1
+ mla r0, ip, r0, r3
+ uxth r1, r1
+ b .L956
+.L959:
movw r0, #65535
bx lr
-.L963:
- rsb r0, r2, r0
- ldr r3, .L968+4
- mov r0, r0, asr #1
- mul r0, r3, r0
+.L957:
+ sub r0, r0, r3
+ asr r3, r0, #1
+ ldr r0, .L961+4
+ mul r0, r0, r3
uxth r0, r0
bx lr
-.L969:
+.L962:
.align 2
-.L968:
+.L961:
.word .LANCHOR0
.word -1431655765
.fnend
.size _list_get_gc_head_node, .-_list_get_gc_head_node
.align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type zftl_get_gc_node.part.10, %function
+zftl_get_gc_node.part.10:
+ .fnstart
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ @ link register save eliminated.
+ mov r1, r0
+ ldr r0, .L964
+ b _list_get_gc_head_node
+.L965:
+ .align 2
+.L964:
+ .word .LANCHOR3-3116
+ .fnend
+ .size zftl_get_gc_node.part.10, .-zftl_get_gc_node.part.10
+ .align 2
.global gc_search_src_blk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_search_src_blk, %function
gc_search_src_blk:
.fnstart
- @ args = 0, pretend = 0, frame = 24
+ @ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {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
+ .pad #44
+ sub sp, sp, #44
+ ldr r5, .L1086
+ str r1, [sp, #24]
+ ldr r1, [r5, #1096]
+ str r0, [sp, #16]
+ str r2, [sp, #12]
+ add r3, r1, r0, lsl #1
+ ldrh r3, [r3, #120]
+ cmp r3, #0
+ str r3, [sp, #20]
+ movne r0, r3
+ bne .L966
+ ldr r3, .L1086+4
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
+ ldrls r0, .L1086+8
+ ldrhls ip, [sp, #20]
+ strhls ip, [r0, #-8] @ movhi
+ strhls ip, [r0, #-6] @ movhi
+ strhls ip, [r0, #-4] @ movhi
+ ldr r0, [sp, #16]
+ cmp r0, #0
+ bne .L970
+ ldr r10, .L1086+12
mov r7, r0
- ldr ip, [sp, #20]
- add r2, r2, #1
+ ldr fp, .L1086+16
+ mov r4, r0
+.L971:
+ ldr r3, [sp, #12]
+ add r8, r3, #1
+ uxth r3, r7
+ cmp r3, r8
+ bge .L976
+ ldr r3, .L1086+20
+ mov r0, r3
+ str r3, [sp, #20]
+ ldrh r9, [r0], #6
+ mov r1, r9
+ bl _list_get_gc_head_node
+ add r2, r9, #1
+ ldr r3, [sp, #20]
+ movw r1, #65535
uxth r2, r2
- strh r2, [r10] @ movhi
- beq .L976
- ldr r3, [fp]
- mov ip, r0, asl #1
+ cmp r0, r1
+ mov r6, r0
+ strh r2, [r3] @ movhi
+ beq .L972
+ ldr r3, [r10]
+ lsl r9, r0, #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]
+ beq .L973
+ ldr r3, [r5, #1092]
+ mov r1, r0
+ mov r0, fp
+ ldrh r3, [r3, r9]
bl printk
- ldr ip, [sp, #12]
-.L977:
- ldr r3, [r6, #1088]
- ldrh r2, [r3, ip]
- ldr r3, .L1093+24
+.L973:
+ ldr r3, [r5, #1092]
+ ldrh r2, [r3, r9]
+ ldr r3, .L1086+24
ldrh r3, [r3]
cmp r2, r3
- bcs .L978
- mov r1, #0
- mov r0, r7
- mov r2, r1
+ bcs .L974
+ mov r2, #0
+ mov r0, r6
+ mov r1, r2
bl gc_add_sblk
cmp r0, #0
- beq .L979
+ beq .L975
+ add r4, r4, #1
+ ldr r3, [sp, #12]
+ uxth r4, r4
+ cmp r4, r3
+ bcc .L975
+.L976:
+ ldr r3, [sp, #24]
+ tst r3, #2
+ beq .L978
+ movw r3, #2794
+ ldrh r3, [r5, r3]
+ cmp r3, #32
+ bls .L978
+ ldr r9, .L1086+28
+ mov fp, #0
+ ldr r6, .L1086+32
+ sub r10, r9, #12
+.L979:
+ uxth r3, fp
+ cmp r8, r3
+ ble .L983
+ ldr r7, .L1086+36
+ mov r0, r10
+ ldrh r3, [r7]
+ mov r1, r3
+ str r3, [sp, #20]
+ bl _list_get_gc_head_node
+ ldr r3, [sp, #20]
+ add r3, r3, #1
+ strh r3, [r7] @ movhi
+ movw r3, #65535
+ cmp r0, r3
+ beq .L980
+ ldr r3, [r5, #1092]
+ lsl r2, r0, #1
+ ldrh r2, [r3, r2]
+ ldrh r3, [r6]
+ cmp r2, r3
+ bcs .L980
+ mov r2, #0
+ mov r1, r2
+ bl gc_add_sblk
+ cmp r0, #0
+ beq .L982
+ add r4, r4, #1
+ ldr r3, [sp, #12]
+ uxth r4, r4
+ cmp r4, r3
+ bcc .L982
+.L983:
+ ldr r3, [sp, #12]
+ cmp r4, r3
+ bcs .L985
+ ldr r0, .L1086+40
+ ldrh r1, [r9, #-8]
+ ldrh r2, [r6]
+ sub r3, r0, #3104
+ ldrh ip, [r3, #-14]
+ ldrb r3, [r0, #-3127] @ zero_extendqisi2
+ mul r3, r3, ip
+ sub r3, r3, r1, lsr #2
+ cmp r2, r3
+ addlt r2, r2, r1, lsr #3
+ strhlt r2, [r6] @ movhi
+.L978:
+ ldr r3, [sp, #24]
+ tst r3, #1
+ beq .L986
+ ldrh r6, [sp, #12]
+ cmp r4, r6
+ bcs .L986
+ mov r9, #0
+ movw r8, #65535
+.L991:
+ ldr r10, .L1086+44
+ ldrh r7, [r10]
+ mov r0, r7
+ add r7, r7, #1
+ bl zftl_get_gc_node.part.10
+ cmp r0, r8
+ strh r7, [r10] @ movhi
+ beq .L987
+ mov r2, #0
+ mov r1, r2
+ bl gc_add_sblk
+ cmp r0, #0
+ beq .L988
add r4, r4, #1
uxth r4, r4
- cmp r4, r5
- bcc .L979
- b .L980
-.L978:
- ldr r3, .L1093+8
+ cmp r6, r4
+ bhi .L988
+.L989:
+ ldr r3, .L1086+28
+ movw r2, #2818
+ ldrh r1, [r3, #-8]
+.L1085:
+ ldrh r3, [r5, r2]
+ cmp r3, r1, lsr #1
+ bls .L986
+ sub r3, r3, r1, lsr #3
+.L1082:
+ strh r3, [r5, r2] @ movhi
+ b .L986
+.L974:
+ ldr r3, .L1086+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:
+ b .L976
+.L972:
mov r2, #0
strh r2, [r3] @ movhi
- b .L994
-.L992:
+ b .L976
+.L975:
+ add r7, r7, #1
+ b .L971
+.L980:
+ mov r3, #0
+ strh r3, [r7] @ movhi
+ b .L983
+.L982:
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]
+ b .L979
+.L985:
+ ldrh r3, [r6]
+ ldrh r2, [r9, #-8]
+ cmp r3, r2
+ subhi r3, r3, r2, lsr #3
+ strhhi r3, [r6] @ movhi
+ b .L978
+.L987:
+ mov r3, #0
+ strh r3, [r10] @ movhi
+.L990:
+ cmp r4, r6
+ bcs .L989
+ ldr r1, .L1086+28
+ movw r2, #2818
+ ldrh r3, [r5, r2]
ldrh r1, [r1, #-8]
cmp r3, r1
addcc r3, r3, r1, lsr #3
- bcc .L1091
+ bcc .L1082
+.L986:
+ ldr r3, .L1086+12
+ ldr r3, [r3]
+ tst r3, #256
+ beq .L1021
+ ldr r3, [sp, #12]
+ ldr r2, [sp, #24]
+ ldr r1, [sp, #16]
+ str r3, [sp]
+ mov r3, r4
+ ldr r0, .L1086+48
+ bl printk
+.L1021:
+ mov r0, r4
+.L966:
+ add sp, sp, #44
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L988:
+ add r9, r9, #1
+ uxth r3, r9
+ cmp r6, r3
+ bhi .L991
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
+.L970:
+ ldr r4, .L1086+40
+ ldrb r7, [r4, #-3127] @ zero_extendqisi2
+ sub r4, r4, #3104
+ ldrh r0, [r4, #-14]
+ smulbb r7, r7, r0
+ ldr r0, [sp, #12]
+ cmp r0, #1
+ uxth r7, r7
+ bne .L992
cmp r2, #0
- beq .L996
- ldrh r0, [r7, #80]
+ beq .L992
+ ldrh r0, [r1, #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
+ ldrhne r1, [r3, r1]
+ subne r7, r7, r1
+ mov r1, #8
+ uxthne r7, r7
+ str r1, [sp, #12]
+.L992:
+ mov r6, #0
+ movw r1, #2180
+ strh r6, [r3, r1] @ movhi
+ ldr r3, [sp, #24]
+ ldr r1, .L1086+28
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]
+ strh r6, [r1, #-6] @ movhi
+ mov r8, r1
+ str r3, [sp, #28]
+ ldreq r6, [sp, #28]
+ moveq r4, r6
+ beq .L993
+ movw r3, #2790
+ ldrh r1, [r1, #-4]
+ ldrh r3, [r5, r3]
+ cmp r3, r1, lsr #2
+ bhi .L994
+ movw r1, #2792
+ ldrh r1, [r5, r1]
cmp r1, r3
- movcs r4, r7
- bcs .L999
-.L998:
+ movcs r4, r6
+ bcs .L995
+.L994:
cmp r2, #1
- bls .L1000
-.L1002:
+ bls .L996
+.L998:
mov r4, #0
- b .L1001
-.L1000:
- ldr r4, .L1093+8
+.L997:
+ ldr r9, .L1086+52
+ mov r6, #0
+ mov r8, #64
+ movw fp, #65535
+.L1001:
+ ldr r2, .L1086+44
+ ldrh r3, [r2]
+ str r2, [sp, #36]
+ mov r0, r3
+ str r3, [sp, #32]
+ bl zftl_get_gc_node.part.10
+ cmp r0, fp
+ mov r10, r0
+ ldr r2, [sp, #36]
+ beq .L999
+ ldr r3, [sp, #32]
mov r1, #0
- mov r3, r3, lsr #2
- strh r3, [r8, #-8] @ movhi
- add r0, r4, #12
+ add r3, r3, #1
+ strh r3, [r2] @ movhi
+ ldr r2, [sp, #16]
+ bl gc_add_sblk
+ cmp r0, #0
+ beq .L1000
+ ldr r3, [r5, #1092]
+ lsl r10, r10, #1
+ add r4, r4, #1
+ ldr r2, [sp, #12]
+ uxth r4, r4
+ ldrh r3, [r3, r10]
+ add r6, r6, r3
+ uxth r6, r6
+ cmp r7, r6
+ movcs r3, #0
+ movcc r3, #1
+ cmp r4, r2
+ orrcs r3, r3, #1
+ cmp r3, #0
+ bne .L995
+ ldr r2, .L1086+56
+ ldrh r3, [r9]
+ ldrh r2, [r2]
+ cmp r3, r2, lsl #1
+ ble .L1000
+.L995:
+ movw r3, #2792
+ ldrh r2, [r5, r3]
+ ldr r3, .L1086+28
+ ldrh r3, [r3, #-4]
+ cmp r2, r3, lsr #2
+ bhi .L1022
+ movw r3, #2790
+ ldrh r3, [r5, r3]
+ add r3, r3, #8
+ cmp r2, r3
+ ble .L993
+.L1022:
+ cmp r7, r6
+ bls .L993
+ ldrh r3, [sp, #16]
+ mov r8, #64
+ str r3, [sp, #32]
+.L1004:
+ ldr fp, .L1086+20
+ mov r0, fp
+ ldrh r9, [r0], #6
+ mov r1, r9
bl _list_get_gc_head_node
+ movw r3, #65535
+ mov r10, r0
+ cmp r0, r3
+ beq .L1002
+ add r9, r9, #1
+ ldr r2, [sp, #32]
+ mov r1, #0
+ strh r9, [fp] @ movhi
+ bl gc_add_sblk
+ cmp r0, #0
+ beq .L1003
+ ldr r3, [r5, #1092]
+ lsl r10, r10, #1
+ add r4, r4, #1
+ ldr r2, [sp, #12]
+ uxth r4, r4
+ ldrh r3, [r3, r10]
+ add r6, r6, r3
+ uxth r6, r6
+ cmp r7, r6
+ movcs r3, #0
+ movcc r3, #1
+ cmp r4, r2
+ orrcs r3, r3, #1
+ cmp r3, #0
+ beq .L1003
+.L993:
+ ldr r3, [sp, #24]
+ tst r3, #2
+ beq .L1005
+ movw r3, #2794
+ ldrh r3, [r5, r3]
+ cmp r3, #32
+ movls r3, #0
+ movhi r3, #1
+ cmp r6, r7
+ movcs r3, #0
+ cmp r3, #0
+ beq .L1005
+ ldr r10, .L1086+40
+ mov r5, #64
+ sub fp, r10, #3088
+ sub r3, fp, #12
+ str r3, [sp, #32]
+.L1011:
+ ldr r8, .L1086+8
+ ldr r0, [sp, #32]
+ ldrh r9, [r8, #-4]
+ sub r2, r8, #4
+ str r2, [sp, #36]
+ mov r1, r9
+ bl _list_get_gc_head_node
+ movw r3, #65535
+ ldr r2, [sp, #36]
+ cmp r0, r3
+ beq .L1006
+ ldr r3, [sp, #12]
+ add r9, r9, #1
+ strh r9, [r8, #-4] @ movhi
+ cmp r3, #1
+ bne .L1007
+ ldrh r2, [r8, #-14]
+ ldrb r3, [r10, #-3127] @ zero_extendqisi2
+ smulbb r3, r3, r2
+ ldrh r2, [fp, #-8]
+ sub r3, r3, r2, lsr #3
+ ldr r2, .L1086+60
+ strh r3, [r2] @ movhi
+.L1007:
+ ldr r9, .L1086
+ lsl r8, r0, #1
+ ldr r3, [r9, #1092]
+ ldrh r2, [r3, r8]
+ ldr r3, .L1086+60
+ ldrh r3, [r3]
+ cmp r2, r3
+ bcs .L1008
+ ldr r2, [sp, #16]
+ mov r1, #0
+ bl gc_add_sblk
+ cmp r0, #0
+ beq .L1009
+ ldr r3, [sp, #20]
+ add r4, r4, #1
+ ldr r2, [sp, #12]
+ uxth r4, r4
+ add r0, r3, #1
+ uxth r3, r0
+ str r3, [sp, #20]
+ ldr r3, [r9, #1092]
+ ldrh r3, [r3, r8]
+ add r6, r6, r3
+ uxth r6, r6
+ cmp r7, r6
+ movcs r3, #0
+ movcc r3, #1
+ cmp r4, r2
+ orrcs r3, r3, #1
+ cmp r3, #0
+ beq .L1009
+.L1010:
+ ldr r3, [sp, #12]
+ ldr r0, .L1086+28
+ ldr r2, .L1086
+ cmp r4, r3
+ add lr, r0, #3088
+ bcc .L1012
+ ldr r3, [sp, #20]
+ cmp r3, #0
+ bne .L1013
+ movw r3, #2794
+ ldrh r1, [r2, r3]
+ ldrh r3, [r0, #-2]
+ cmp r1, r3
+ bls .L1013
+.L1012:
+ ldr r3, .L1086+8
+ movw ip, #2808
+ ldrh r0, [r0, #-8]
+ ldrh r1, [r2, ip]
+ ldrh r5, [r3, #-14]
+ ldrb r3, [lr, #-3127] @ zero_extendqisi2
+ lsr r0, r0, #3
+ mul r3, r3, r5
+ sub r3, r3, r0
+ cmp r1, r3
+ addlt r1, r1, r0
+ strhlt r1, [r2, ip] @ movhi
+.L1005:
+ ldr r3, [sp, #28]
+ cmp r3, #0
+ beq .L986
+ ldrh r9, [sp, #12]
+ cmp r6, r7
+ cmpcc r4, r9
+ bcs .L986
+ ldr r5, .L1086
+ mov r8, #64
+.L1019:
+ ldr fp, .L1086+20
+ mov r0, fp
+ ldrh r10, [r0], #6
+ mov r1, r10
+ bl _list_get_gc_head_node
+ movw r3, #65535
+ cmp r0, r3
+ beq .L1015
+ add r10, r10, #1
+ ldr r2, [r5, #1092]
+ ldr r3, .L1086+64
+ strh r10, [fp] @ movhi
+ lsl r10, r0, #1
+ ldrh r1, [r2, r10]
+ ldrh r2, [r3]
+ cmp r1, r2
+ bcs .L1016
+ ldrh r2, [fp, #18]
+ ldrh r3, [r3, #-14]
+ cmp r3, r2, lsr #1
+ bls .L1017
+.L1016:
+ ldr r2, [sp, #16]
+ mov r1, #0
+ bl gc_add_sblk
+ cmp r0, #0
+ beq .L1018
+ ldr r3, [r5, #1092]
+ add r4, r4, #1
+ uxth r4, r4
+ ldrh r3, [r3, r10]
+ add r6, r6, r3
+ uxth r6, r6
+ cmp r7, r6
+ cmpcs r9, r4
+ bhi .L1018
+.L1017:
+ ldr r3, .L1086+28
+ cmp r4, r9
+ movw r2, #2806
+ ldrhcc r1, [r3, #-8]
+ bcc .L1085
+ ldrh r0, [r3, #-8]
+ ldr r3, .L1086+40
+ ldrh r1, [r5, r2]
+ ldrb r3, [r3, #-3127] @ zero_extendqisi2
+ mul r3, r0, r3
+ sub r3, r3, #32
+ cmp r1, r3
+ addlt r1, r1, r0, lsr #3
+ strhlt r1, [r5, r2] @ movhi
+ b .L986
+.L996:
+ lsr r3, r3, #2
+ mov r0, #0
+ strh r3, [r4, #-8] @ movhi
+ bl zftl_get_gc_node.part.10
movw r2, #65535
cmp r0, r2
- beq .L1002
- ldr r1, [r6, #1088]
- mov r3, r0, asl #1
- ldrh r2, [r4, #8]
+ beq .L998
+ ldr r1, [r5, #1092]
+ lsl r3, r0, #1
+ ldrh r2, [r8, #-8]
ldrh r3, [r1, r3]
cmp r3, r2, lsr #2
- bcs .L1002
- mov r1, #0
- ldr r2, [sp, #8]
+ bcs .L998
mov r3, #1
+ ldr r2, [sp, #16]
+ mov r1, #0
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:
+ b .L997
+.L999:
+ mov r3, #0
+ strh r3, [r2] @ movhi
+ b .L995
+.L1000:
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
+ bne .L1001
+ b .L995
+.L1002:
+ cmp r9, #64
+ movhi r3, #0
+ strhhi r3, [fp] @ movhi
+ b .L993
+.L1003:
+ sub r8, r8, #1
+ uxth r8, r8
+ cmp r8, #0
+ bne .L1004
+ b .L993
+.L1008:
+ ldr r3, .L1086+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
+ b .L1010
.L1006:
- cmp fp, #64
+ mov r3, #0
+ strh r3, [r2] @ movhi
+ b .L1010
+.L1009:
+ sub r5, r5, #1
+ uxth r5, r5
+ cmp r5, #0
+ bne .L1011
+ b .L1010
+.L1013:
+ ldrh r0, [r0, #-8]
+ movw ip, #2808
+ ldrb r1, [lr, #-3127] @ zero_extendqisi2
+ ldrh r3, [r2, ip]
+ mul r1, r0, r1
+ cmp r3, r1
+ subgt r3, r3, r0, lsr #3
+ strhgt r3, [r2, ip] @ movhi
+ b .L986
+.L1015:
+ cmp r10, #64
movhi r3, #0
- strhih r3, [r2] @ movhi
- b .L997
-.L1007:
+ strhhi r3, [fp] @ movhi
+ b .L1017
+.L1018:
sub r8, r8, #1
uxth r8, r8
cmp r8, #0
- bne .L1008
- b .L997
-.L1094:
+ bne .L1019
+ b .L1017
+.L1087:
.align 2
-.L1093:
+.L1086:
.word .LANCHOR0
- .word .LANCHOR0+2828
+ .word .LANCHOR0+2824
.word .LANCHOR3-3104
- .word .LANCHOR3-3110
.word .LANCHOR2
- .word .LC101
- .word .LANCHOR0+2814
- .word .LANCHOR3-3108
- .word .LANCHOR0+2816
+ .word .LC98
+ .word .LANCHOR3-3110
+ .word .LANCHOR0+2818
.word .LANCHOR3-3088
- .word .LANCHOR3-3112
+ .word .LANCHOR0+2816
+ .word .LANCHOR3-3108
.word .LANCHOR3
- .word .LANCHOR0+2794
- .word .LANCHOR0+2796
- .word .LANCHOR0+2810
- .word .LANCHOR0+2812
- .word .LC102
+ .word .LANCHOR3-3112
+ .word .LC99
+ .word .LANCHOR0+2792
+ .word .LANCHOR0+2790
+ .word .LANCHOR0+2808
+ .word .LANCHOR0+2806
.fnend
.size gc_search_src_blk, .-gc_search_src_blk
.align 2
.global zftl_get_gc_node
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_get_gc_node, %function
zftl_get_gc_node:
.fnstart
@@ -6237,2951 +6388,3056 @@
@ link register save eliminated.
cmp r1, #5
mov r3, r0
- ldreq r0, .L1099
- beq .L1098
+ moveq r1, r0
+ ldreq r0, .L1092
+ beq .L1091
cmp r1, #2
- ldreq r0, .L1099+4
- ldrne r0, .L1099+8
-.L1098:
- mov r1, r3
+ movne r1, r3
+ ldrne r0, .L1092+4
+ bne .L1091
+ b zftl_get_gc_node.part.10
+.L1091:
b _list_get_gc_head_node
-.L1100:
+.L1093:
.align 2
-.L1099:
+.L1092:
.word .LANCHOR3-3100
- .word .LANCHOR3-3092
.word .LANCHOR3-3104
.fnend
.size zftl_get_gc_node, .-zftl_get_gc_node
.align 2
.global zftl_insert_free_list
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_insert_free_list, %function
zftl_insert_free_list:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L1105
+ ldr r2, .L1098
mov r1, r0
- ldr r3, [r3, #1080]
- add r3, r3, r0, asl #2
+ ldr r3, [r2, #1084]
+ add r3, r3, r0, lsl #2
ldrb r3, [r3, #2] @ zero_extendqisi2
ands r3, r3, #24
- ldreq r0, .L1105+4
- ldreq r2, .L1105+8
- beq .L1104
-.L1102:
+ addeq r2, r2, #2784
+ ldreq r0, .L1098+4
+ beq .L1097
cmp r3, #16
- ldreq r0, .L1105+12
- ldreq r2, .L1105+16
- ldrne r0, .L1105+20
- ldrne r2, .L1105+24
-.L1104:
+ ldr r0, .L1098+8
+ ldreq r2, .L1098+12
+ ldrne r2, .L1098+16
+ subeq r0, r0, #12
+ subne r0, r0, #8
+.L1097:
b _insert_free_list
-.L1106:
+.L1099:
.align 2
-.L1105:
+.L1098:
.word .LANCHOR0
- .word .LANCHOR3-3080
- .word .LANCHOR0+2788
- .word .LANCHOR3-3076
- .word .LANCHOR0+2790
+ .word .LANCHOR3-3088
.word .LANCHOR3-3072
- .word .LANCHOR0+2792
+ .word .LANCHOR0+2786
+ .word .LANCHOR0+2788
.fnend
.size zftl_insert_free_list, .-zftl_insert_free_list
.align 2
.global zftl_insert_data_list
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_insert_data_list, %function
zftl_insert_data_list:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L1112
+ ldr r3, .L1105
mov r1, r0
- ldr r3, [r3, #1080]
- add r3, r3, r0, asl #2
+ ldr r3, [r3, #1084]
+ add r3, r3, r0, lsl #2
ldrb r3, [r3, #2] @ zero_extendqisi2
and r3, r3, #224
cmp r3, #64
- ldreq r0, .L1112+4
- ldreq r2, .L1112+8
- beq .L1111
-.L1108:
+ bne .L1101
+ ldr r2, .L1105+4
+ ldr r0, .L1105+8
+.L1104:
+ b _insert_data_list
+.L1101:
cmp r3, #96
- ldreq r0, .L1112+12
- ldreq r2, .L1112+16
- beq .L1111
-.L1109:
+ ldreq r2, .L1105+12
+ ldreq r0, .L1105+16
+ beq .L1104
+.L1102:
cmp r3, #160
bxne lr
- ldr r0, .L1112+20
- ldr r2, .L1112+24
-.L1111:
- b _insert_data_list
-.L1113:
+ ldr r2, .L1105+20
+ ldr r0, .L1105+24
+ b .L1104
+.L1106:
.align 2
-.L1112:
+.L1105:
.word .LANCHOR0
- .word .LANCHOR3-3092
- .word .LANCHOR0+2794
+ .word .LANCHOR0+2790
+ .word .LANCHOR3-3116
+ .word .LANCHOR0+2792
.word .LANCHOR3-3104
- .word .LANCHOR0+2796
+ .word .LANCHOR0+2794
.word .LANCHOR3-3100
- .word .LANCHOR0+2798
.fnend
.size zftl_insert_data_list, .-zftl_insert_data_list
.align 2
.global zftl_gc_get_free_sblk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_gc_get_free_sblk, %function
zftl_gc_get_free_sblk:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr}
+ push {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr}
.save {r4, r5, r6, r7, r8, lr}
.pad #16
movw r2, #65535
- ldr r8, .L1129
- mov r7, r0
- ldr r3, [r8, #1092]
+ ldr r8, .L1126
+ ldr r3, [r8, #1096]
add r3, r3, #588
ldrh r4, [r3]
clz r3, r0
+ lsr r3, r3, #5
cmp r4, r2
- mov r3, r3, lsr #5
moveq r3, #0
cmp r3, #0
- beq .L1115
- ldr r0, .L1129+4
+ beq .L1108
mov r1, r4
+ ldr r0, .L1126+4
bl printk
- ldr r3, [r8, #1092]
+ ldr r3, [r8, #1096]
mvn r2, #0
add r3, r3, #588
strh r2, [r3] @ movhi
- b .L1116
-.L1115:
- movw r3, #2790
- mov r6, r1
- ldrh r1, [r8, r3]
- movw r3, #2792
- ldrh r3, [r8, r3]
- mov r5, r8
- cmp r1, r3
- bcc .L1117
- movw r2, #2788
- ldrh r2, [r8, r2]
- cmp r3, #0
- cmpne r2, r1
- bls .L1118
-.L1117:
- cmp r7, #0
- ldr r0, .L1129+8
- rsbne r1, r1, r1, asl #3
- moveq r1, r3, lsr #2
- ubfxne r1, r1, #3, #16
- ldr r2, .L1129+12
- b .L1128
-.L1118:
- cmp r0, #0
- ldr r2, .L1129+16
- movne r1, r1, lsr #3
- moveq r1, r0
- ldr r0, .L1129+20
-.L1128:
- bl _list_pop_index_node
- movw r3, #65535
- uxth r4, r0
- cmp r4, r3
- bne .L1123
- movw r3, #2788
- ldr r0, .L1129+24
- ldrh r3, [r5, r3]
- mov r1, r4
- mov r2, r6
- str r3, [sp]
- movw r3, #2792
- ldrh r3, [r5, r3]
- str r3, [sp, #4]
- ldr r3, .L1129+28
- ldr r3, [r3, #-3080]
- bl printk
-.L1123:
- cmp r7, #0
- beq .L1116
- ldr r3, .L1129+32
- ldr r3, [r3]
- tst r3, #256
- beq .L1116
- ldr r2, [r5, #1080]
- mov r0, r4, asl #2
- add r3, r2, r0
- ldr r1, [r2, r4, asl #2]
- ldrb r3, [r3, #2] @ zero_extendqisi2
- ubfx r1, r1, #11, #8
- str r1, [sp]
- ldrh r2, [r2, r0]
- ldr r0, .L1129+36
- ubfx r2, r2, #0, #11
- str r2, [sp, #4]
- ldr r1, [r5, #1088]
- mov r2, r4, asl #1
- ldrh r2, [r1, r2]
- mov r1, r4
- str r2, [sp, #8]
- mov r2, r3, lsr #5
- ubfx r3, r3, #3, #2
- bl printk
-.L1116:
+.L1109:
mov r0, r4
add sp, sp, #16
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, pc}
-.L1130:
+ pop {r4, r5, r6, r7, r8, pc}
+.L1108:
+ movw r3, #2786
+ mov r7, r1
+ ldrh r1, [r8, r3]
+ movw r3, #2788
+ ldrh r3, [r8, r3]
+ mov r6, r0
+ mov r5, r8
+ ldr r0, .L1126+8
+ cmp r1, r3
+ bcc .L1110
+ add r2, r8, #2784
+ ldrh r2, [r2]
+ cmp r3, #0
+ cmpne r2, r1
+ bls .L1111
+.L1110:
+ cmp r6, #0
+ ldr r2, .L1126+12
+ rsbne r1, r1, r1, lsl #3
+ lsreq r1, r3, #2
+ ubfxne r1, r1, #3, #16
+ sub r0, r0, #8
+.L1125:
+ bl _list_pop_index_node
+ uxth r4, r0
+ movw r3, #65535
+ cmp r4, r3
+ bne .L1116
+ movw r3, #2788
+ mov r2, r7
+ ldrh r3, [r5, r3]
+ mov r1, r4
+ ldr r0, .L1126+16
+ str r3, [sp, #4]
+ ldr r3, .L1126+20
+ ldrh r3, [r3]
+ str r3, [sp]
+ ldr r3, .L1126+24
+ ldr r3, [r3, #-3088]
+ bl printk
+.L1116:
+ cmp r6, #0
+ beq .L1109
+ ldr r3, .L1126+28
+ ldr r3, [r3]
+ tst r3, #256
+ beq .L1109
+ ldr ip, [r5, #1092]
+ lsl r0, r4, #1
+ ldr r1, [r5, #1084]
+ lsl r3, r4, #2
+ ldrh r0, [ip, r0]
+ add r2, r1, r3
+ ldrb r2, [r2, #2] @ zero_extendqisi2
+ str r0, [sp, #8]
+ ldrh r3, [r1, r3]
+ ldr r0, .L1126+32
+ ubfx r3, r3, #0, #11
+ str r3, [sp, #4]
+ ldr r3, [r1, r4, lsl #2]
+ mov r1, r4
+ ubfx r3, r3, #11, #8
+ str r3, [sp]
+ ubfx r3, r2, #3, #2
+ lsr r2, r2, #5
+ bl printk
+ b .L1109
+.L1111:
+ cmp r6, #0
+ ldr r2, .L1126+36
+ lsrne r1, r1, #3
+ moveq r1, r6
+ sub r0, r0, #12
+ b .L1125
+.L1127:
.align 2
-.L1129:
+.L1126:
.word .LANCHOR0
- .word .LC103
+ .word .LC100
.word .LANCHOR3-3072
- .word .LANCHOR0+2792
- .word .LANCHOR0+2790
- .word .LANCHOR3-3076
- .word .LC104
+ .word .LANCHOR0+2788
+ .word .LC101
+ .word .LANCHOR0+2784
.word .LANCHOR3
.word .LANCHOR2
- .word .LC105
+ .word .LC102
+ .word .LANCHOR0+2786
.fnend
.size zftl_gc_get_free_sblk, .-zftl_gc_get_free_sblk
.align 2
.global zftl_get_free_sblk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_get_free_sblk, %function
zftl_get_free_sblk:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
cmp r1, #5
- stmfd sp!, {r0, r1, r4, r5, r6, r7, r8, lr}
+ push {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
+ ldr r5, .L1141
+ bne .L1129
+ movw r3, #2786
+ ldr r0, .L1141+4
ldrh r1, [r5, r3]
- movw r3, #2792
- ldrh r2, [r5, r3]
- cmp r1, r2
- bcc .L1133
movw r3, #2788
- ldrh r3, [r5, r3]
- cmp r2, #0
+ ldrh ip, [r5, r3]
+ cmp r1, ip
+ bcc .L1130
+ add r3, r5, #2784
+ ldrh r3, [r3]
+ cmp ip, #0
cmpne r3, r1
movhi r1, #1
movls r1, #0
- bls .L1134
-.L1133:
- ldr r0, .L1147+4
- mov r1, r2, lsr #1
- b .L1146
-.L1134:
- ldr r0, .L1147+8
- ldr r2, .L1147+12
- b .L1145
-.L1132:
- ldr r3, [r5, #1092]
+ ldrls r2, .L1141+8
+ subls r0, r0, #12
+ bls .L1140
+.L1130:
+ ldr r2, .L1141+12
+ lsr r1, ip, #1
+ sub r0, r0, #8
+.L1140:
+ bl _list_pop_index_node
+ uxth r4, r0
+ movw r3, #65535
+ cmp r4, r3
+ bne .L1134
+ movw r3, #2788
+ mov r2, r7
+ ldrh r3, [r5, r3]
+ mov r1, r4
+ ldr r0, .L1141+16
+ str r3, [sp, #4]
+ ldr r3, .L1141+20
+ ldrh r3, [r3]
+ str r3, [sp]
+ ldr r3, .L1141+24
+ ldr r3, [r3, #-3088]
+ bl printk
+ b .L1134
+.L1129:
+ ldr r3, [r5, #1096]
movw r8, #590
ldrh r4, [r3, r8]
movw r3, #65535
cmp r1, #1
cmpne r4, r3
- beq .L1136
- ldr r0, .L1147+16
+ beq .L1133
mov r1, r4
+ ldr r0, .L1141+28
bl printk
- ldr r3, [r5, #1092]
+ ldr r3, [r5, #1096]
mvn r2, #0
strh r2, [r3, r8] @ movhi
- b .L1137
-.L1136:
- 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 .L1137
- movw r3, #2788
- ldr r0, .L1147+32
- ldrh r3, [r5, r3]
- mov r1, r4
- mov r2, r7
- str r3, [sp]
- movw r3, #2792
- ldrh r3, [r5, r3]
- str r3, [sp, #4]
- ldr r3, .L1147+36
- ldr r3, [r3, #-3080]
- bl printk
-.L1137:
+.L1134:
mov r0, r4
add sp, sp, #8
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, pc}
-.L1148:
+ pop {r4, r5, r6, r7, r8, pc}
+.L1133:
+ add r3, r5, #2784
+ movw r2, #2788
+ ldrh r3, [r3]
+ mov r6, r0
+ ldrh r2, [r5, r2]
+ cmp r3, r2
+ bcc .L1135
+ movw r1, #2786
+ ldrh r1, [r5, r1]
+ cmp r2, #0
+ cmpne r1, r3
+ bls .L1136
+.L1135:
+ bl get_ink_scaned_blk
+ movw r3, #65535
+ mov r4, r0
+ cmp r0, r3
+ bne .L1134
+ cmp r7, #1
+ ldr r2, .L1141+12
+ movweq r3, #2788
+ ldr r0, .L1141+32
+ ldrheq r6, [r5, r3]
+ lsreq r6, r6, #1
+ mov r1, r6
+ b .L1140
+.L1136:
+ cmp r7, #1
+ ldr r2, .L1141+20
+ lsreq r6, r3, #1
+ ldr r0, .L1141+36
+ mov r1, r6
+ b .L1140
+.L1142:
.align 2
-.L1147:
+.L1141:
.word .LANCHOR0
.word .LANCHOR3-3072
- .word .LANCHOR3-3076
- .word .LANCHOR0+2790
- .word .LC106
- .word .LANCHOR0+2792
- .word .LANCHOR3-3080
+ .word .LANCHOR0+2786
.word .LANCHOR0+2788
- .word .LC104
+ .word .LC101
+ .word .LANCHOR0+2784
.word .LANCHOR3
+ .word .LC103
+ .word .LANCHOR3-3080
+ .word .LANCHOR3-3088
.fnend
.size zftl_get_free_sblk, .-zftl_get_free_sblk
.align 2
.global zftl_remove_data_node
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_remove_data_node, %function
zftl_remove_data_node:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L1154
+ ldr r3, .L1148
mov r1, r0
- ldr r3, [r3, #1080]
- add r3, r3, r0, asl #2
+ ldr r3, [r3, #1084]
+ add r3, r3, r0, lsl #2
ldrb r3, [r3, #2] @ zero_extendqisi2
and r3, r3, #224
cmp r3, #64
- ldreq r0, .L1154+4
- ldreq r2, .L1154+8
- beq .L1153
-.L1150:
+ bne .L1144
+ ldr r2, .L1148+4
+ ldr r0, .L1148+8
+.L1147:
+ b _list_remove_node
+.L1144:
cmp r3, #96
- ldreq r0, .L1154+12
- ldreq r2, .L1154+16
- beq .L1153
-.L1151:
+ ldreq r2, .L1148+12
+ ldreq r0, .L1148+16
+ beq .L1147
+.L1145:
cmp r3, #160
bxne lr
- ldr r0, .L1154+20
- ldr r2, .L1154+24
-.L1153:
- b _list_remove_node
-.L1155:
+ ldr r2, .L1148+20
+ ldr r0, .L1148+24
+ b .L1147
+.L1149:
.align 2
-.L1154:
+.L1148:
.word .LANCHOR0
- .word .LANCHOR3-3092
- .word .LANCHOR0+2794
+ .word .LANCHOR0+2790
+ .word .LANCHOR3-3116
+ .word .LANCHOR0+2792
.word .LANCHOR3-3104
- .word .LANCHOR0+2796
+ .word .LANCHOR0+2794
.word .LANCHOR3-3100
- .word .LANCHOR0+2798
.fnend
.size zftl_remove_data_node, .-zftl_remove_data_node
.align 2
.global zftl_remove_free_node
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_remove_free_node, %function
zftl_remove_free_node:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L1160
+ ldr r2, .L1154
mov r1, r0
- ldr r3, [r3, #1080]
- add r3, r3, r0, asl #2
+ ldr r3, [r2, #1084]
+ add r3, r3, r0, lsl #2
ldrb r3, [r3, #2] @ zero_extendqisi2
ands r3, r3, #24
- ldreq r0, .L1160+4
- ldreq r2, .L1160+8
- beq .L1159
-.L1157:
+ addeq r2, r2, #2784
+ ldreq r0, .L1154+4
+ beq .L1153
cmp r3, #16
- ldreq r0, .L1160+12
- ldreq r2, .L1160+16
- ldrne r0, .L1160+20
- ldrne r2, .L1160+24
-.L1159:
+ ldr r0, .L1154+8
+ ldreq r2, .L1154+12
+ ldrne r2, .L1154+16
+ subeq r0, r0, #12
+ subne r0, r0, #8
+.L1153:
b _list_remove_node
-.L1161:
+.L1155:
.align 2
-.L1160:
+.L1154:
.word .LANCHOR0
- .word .LANCHOR3-3080
- .word .LANCHOR0+2788
- .word .LANCHOR3-3076
- .word .LANCHOR0+2790
+ .word .LANCHOR3-3088
.word .LANCHOR3-3072
- .word .LANCHOR0+2792
+ .word .LANCHOR0+2786
+ .word .LANCHOR0+2788
.fnend
.size zftl_remove_free_node, .-zftl_remove_free_node
.align 2
.global zftl_list_update_data_list
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_list_update_data_list, %function
zftl_list_update_data_list:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L1167
+ ldr r3, .L1161
mov r1, r0
- ldr r3, [r3, #1080]
- add r3, r3, r0, asl #2
+ ldr r3, [r3, #1084]
+ add r3, r3, r0, lsl #2
ldrb r3, [r3, #2] @ zero_extendqisi2
and r3, r3, #224
cmp r3, #64
- ldreq r0, .L1167+4
- ldreq r2, .L1167+8
- beq .L1166
-.L1163:
+ bne .L1157
+ ldr r2, .L1161+4
+ ldr r0, .L1161+8
+.L1160:
+ b _list_update_data_list
+.L1157:
cmp r3, #96
- ldreq r0, .L1167+12
- ldreq r2, .L1167+16
- beq .L1166
-.L1164:
+ ldreq r2, .L1161+12
+ ldreq r0, .L1161+16
+ beq .L1160
+.L1158:
cmp r3, #160
bxne lr
- ldr r0, .L1167+20
- ldr r2, .L1167+24
-.L1166:
- b _list_update_data_list
-.L1168:
+ ldr r2, .L1161+20
+ ldr r0, .L1161+24
+ b .L1160
+.L1162:
.align 2
-.L1167:
+.L1161:
.word .LANCHOR0
- .word .LANCHOR3-3092
- .word .LANCHOR0+2794
+ .word .LANCHOR0+2790
+ .word .LANCHOR3-3116
+ .word .LANCHOR0+2792
.word .LANCHOR3-3104
- .word .LANCHOR0+2796
+ .word .LANCHOR0+2794
.word .LANCHOR3-3100
- .word .LANCHOR0+2798
.fnend
.size zftl_list_update_data_list, .-zftl_list_update_data_list
.align 2
.global print_list_info
+ .syntax unified
+ .arm
+ .fpu softvfp
.type print_list_info, %function
print_list_info:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, lr}
- .save {r4, r5, r6, r7, lr}
+ push {r4, r5, r6, r7, r8, r9, lr}
+ .save {r4, r5, r6, r7, r8, r9, lr}
mov r4, r0
ldrh r2, [r1]
.pad #36
sub sp, sp, #36
- ldr r1, [r4]
- ldr r0, .L1174
+ ldr r1, [r0]
+ ldr r0, .L1168
bl printk
ldr r4, [r4]
cmp r4, #0
- beq .L1169
- ldr r6, .L1174+4
+ beq .L1163
+ ldr r6, .L1168+4
mov r5, #0
- ldr r7, .L1174+8
-.L1172:
+ ldr r7, .L1168+8
+ ldr r8, .L1168+12
+.L1166:
ldr r2, [r6, #1036]
- ldrh r0, [r4, #2]
- rsb r2, r2, r4
- ldr r1, [r6, #1080]
+ ldr r9, [r6, #1092]
+ ldr r1, [r6, #1084]
+ sub r2, r4, r2
ldrh r3, [r4]
- mov r2, r2, asr #1
- str r0, [sp]
- ldrh r0, [r4, #4]
+ asr r2, r2, #1
mul r2, r7, r2
- str r0, [sp, #4]
uxth r2, r2
- mov ip, r2, asl #2
- add lr, r1, ip
- ldrb r0, [lr, #2] @ zero_extendqisi2
- mov r0, r0, lsr #5
- str r0, [sp, #8]
- ldrb r0, [lr, #2] @ zero_extendqisi2
- ubfx r0, r0, #3, #2
- str r0, [sp, #12]
- ldr r0, [r1, r2, asl #2]
- ubfx r0, r0, #11, #8
- str r0, [sp, #16]
- ldrh r1, [r1, ip]
- ldr r0, [r6, #1088]
- ubfx r1, r1, #0, #11
- str r1, [sp, #20]
- mov r1, r2, asl #1
- ldrh r1, [r0, r1]
- ldr r0, .L1174+12
- str r1, [sp, #24]
+ lsl lr, r2, #1
+ lsl r0, r2, #2
+ ldrh lr, [r9, lr]
+ add ip, r1, r0
+ str lr, [sp, #24]
+ ldrh r0, [r1, r0]
+ ubfx r0, r0, #0, #11
+ str r0, [sp, #20]
+ mov r0, r8
+ ldr r1, [r1, r2, lsl #2]
+ ubfx r1, r1, #11, #8
+ str r1, [sp, #16]
+ ldrb r1, [ip, #2] @ zero_extendqisi2
+ ubfx r1, r1, #3, #2
+ str r1, [sp, #12]
+ ldrb r1, [ip, #2] @ zero_extendqisi2
+ lsr r1, r1, #5
+ str r1, [sp, #8]
+ ldrh r1, [r4, #4]
+ str r1, [sp, #4]
+ ldrh r1, [r4, #2]
+ str r1, [sp]
mov r1, r5
bl printk
- ldrh r2, [r4]
+ ldrh r4, [r4]
movw r3, #65535
- cmp r2, r3
- beq .L1169
+ cmp r4, r3
+ beq .L1163
ldr r3, [r6, #1036]
- mov r4, #6
+ mov r2, #6
add r5, r5, #1
- mla r4, r4, r2, r3
- ldr r3, .L1174+16
uxth r5, r5
+ mla r4, r2, r4, r3
+ ldr r3, .L1168+16
ldrh r3, [r3]
cmp r3, r5
- bcs .L1172
-.L1169:
+ bcs .L1166
+.L1163:
add sp, sp, #36
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, pc}
-.L1175:
+ pop {r4, r5, r6, r7, r8, r9, pc}
+.L1169:
.align 2
-.L1174:
- .word .LC107
+.L1168:
+ .word .LC104
.word .LANCHOR0
.word -1431655765
- .word .LC108
- .word .LANCHOR3-3068
+ .word .LC105
+ .word .LANCHOR3-3076
.fnend
.size print_list_info, .-print_list_info
.align 2
.global dump_all_list_info
+ .syntax unified
+ .arm
+ .fpu softvfp
.type dump_all_list_info, %function
dump_all_list_info:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, lr}
- .save {r4, r5, r6, lr}
- ldr r4, .L1178
- ldr r5, .L1178+4
+ push {r4, r5, r6, r7, r8, lr}
+ .save {r4, r5, r6, r7, r8, lr}
+ ldr r5, .L1172
+ ldr r4, .L1172+4
+ sub r6, r5, #3088
+ sub r7, r5, #3072
+ mov r0, r6
+ sub r5, r5, #3104
add r1, r4, #2784
- sub r6, r5, #3072
- add r1, r1, #4
- sub r0, r6, #8
bl print_list_info
add r1, r4, #2784
- sub r0, r6, #4
+ sub r0, r7, #12
+ add r1, r1, #2
+ bl print_list_info
+ add r1, r4, #2784
+ sub r0, r7, #8
+ add r1, r1, #4
+ bl print_list_info
+ add r1, r4, #2784
+ sub r0, r5, #12
add r1, r1, #6
bl print_list_info
add r1, r4, #2784
- mov r0, r6
+ mov r0, r5
add r1, r1, #8
- bl print_list_info
- sub r6, r5, #3088
- add r1, r4, #2784
- sub r0, r6, #4
- add r1, r1, #10
- bl print_list_info
- add r1, r4, #2784
- sub r0, r5, #3104
- add r1, r1, #12
bl print_list_info
add r1, r4, #2784
sub r0, r6, #12
- add r1, r1, #14
- ldmfd sp!, {r4, r5, r6, lr}
+ add r1, r1, #10
+ pop {r4, r5, r6, r7, r8, lr}
b print_list_info
-.L1179:
+.L1173:
.align 2
-.L1178:
- .word .LANCHOR0
+.L1172:
.word .LANCHOR3
+ .word .LANCHOR0
.fnend
.size dump_all_list_info, .-dump_all_list_info
.align 2
.global ftl_tmp_into_update
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_tmp_into_update, %function
ftl_tmp_into_update:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L1185
- ldr r3, [r3, #2804]
+ ldr r3, .L1179
+ ldr r3, [r3, #2800]
ldr r2, [r3, #16]
cmp r2, #2048
- movhi r0, r2, lsr #11
ldrhi r1, [r3, #20]
- subhi r2, r2, r0, asl #11
+ addhi r1, r1, r2, lsr #11
+ ubfxhi r2, r2, #0, #11
strhi r2, [r3, #16]
ldr r2, [r3, #24]
- addhi r1, r1, r0
strhi r1, [r3, #20]
cmp r2, #2048
- movhi r0, r2, lsr #11
ldrhi r1, [r3, #28]
- subhi r2, r2, r0, asl #11
+ addhi r1, r1, r2, lsr #11
+ ubfxhi r2, r2, #0, #11
strhi r2, [r3, #24]
ldr r2, [r3, #32]
- addhi r1, r1, r0
strhi r1, [r3, #28]
cmp r2, #1024
- movhi r0, r2, lsr #10
ldrhi r1, [r3, #36]
- subhi r2, r2, r0, asl #10
+ addhi r1, r1, r2, lsr #10
+ ubfxhi r2, r2, #0, #10
strhi r2, [r3, #32]
ldr r2, [r3, #40]
- addhi r1, r1, r0
strhi r1, [r3, #36]
cmp r2, #1024
- movhi r0, r2, lsr #10
ldrhi r1, [r3, #44]
- subhi r2, r2, r0, asl #10
+ addhi r1, r1, r2, lsr #10
+ ubfxhi r2, r2, #0, #10
strhi r2, [r3, #40]
- addhi r1, r1, r0
strhi r1, [r3, #44]
bx lr
-.L1186:
+.L1180:
.align 2
-.L1185:
+.L1179:
.word .LANCHOR0
.fnend
.size ftl_tmp_into_update, .-ftl_tmp_into_update
.global __aeabi_idiv
.align 2
.global ftl_get_blk_list_in_sblk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_get_blk_list_in_sblk, %function
ftl_get_blk_list_in_sblk:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {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 r5, #0
- ldr r8, .L1197
+ ldr r9, .L1189
mov r10, r0
- ldr r9, .L1197+4
mov r6, r1
- ldr r2, .L1197+8
mov r7, r5
- ldr r4, [r8, #1080]
- add r4, r4, r0, asl #2
- ldrb r3, [r4, #3] @ zero_extendqisi2
-.L1188:
- ldrb r1, [r9, #-3123] @ zero_extendqisi2
+ ldr r8, .L1189+4
+ ldr r3, [r9, #1084]
+ add r3, r3, r0, lsl #2
+ ldrb r2, [r3, #3] @ zero_extendqisi2
+ mov r3, r8
+.L1182:
+ ldrb r1, [r8, #-3127] @ zero_extendqisi2
cmp r7, r1
- ldr r1, .L1197+4
- bge .L1195
- mov r1, r3, asr r7
+ blt .L1185
+ add r6, r6, r5, lsl #1
+ mov r2, r5
+ mvn r0, #0
+.L1186:
+ ldrb r1, [r3, #-3127] @ zero_extendqisi2
+ cmp r2, r1
+ blt .L1187
+ mov r0, r5
+ add sp, sp, #12
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L1185:
+ asr r1, r2, r7
tst r1, #1
- bne .L1189
- ldrb r4, [r9, #-3130] @ zero_extendqisi2
+ bne .L1183
+ ldrb r4, [r8, #-3136] @ zero_extendqisi2
mov r0, r7
- str r2, [sp, #4]
- mov fp, r5, asl #1
- str r3, [sp]
+ stm sp, {r2, r3}
+ lsl fp, r5, #1
add r5, r5, #1
mov r1, r4
bl __aeabi_idiv
- smulbb r4, r10, r4
- ldrb r1, [r8, #1189] @ zero_extendqisi2
+ ldr ip, .L1189+8
+ smulbb r4, r4, r10
+ ldrb r1, [r9, #1153] @ zero_extendqisi2
+ ldm sp, {r2, r3}
+ ldrh ip, [ip]
rsb r1, r1, #24
- ldr r2, [sp, #4]
- ldr r3, [sp]
- ldrh ip, [r2]
- rsb r1, ip, r1
- add r0, r4, r0, asl r1
- uxth r4, r0
- strh r4, [r6, fp] @ movhi
- ldrb r1, [r9, #-3130] @ zero_extendqisi2
+ sub r1, r1, ip
+ add r0, r4, r0, lsl r1
+ uxth r0, r0
+ strh r0, [r6, fp] @ movhi
+ ldrb r1, [r8, #-3136] @ zero_extendqisi2
cmp r1, #1
subhi r1, r1, #1
andhi r1, r1, r7
- addhi r4, r4, r1
- strhih r4, [r6, fp] @ movhi
-.L1189:
+ addhi r0, r0, r1
+ strhhi r0, [r6, fp] @ movhi
+.L1183:
add r7, r7, #1
- b .L1188
-.L1195:
- add r6, r6, r5, asl #1
- mov r0, r5
- mvn r2, #0
-.L1192:
- ldrb r3, [r1, #-3123] @ zero_extendqisi2
- cmp r5, r3
- strlth r2, [r6], #2 @ movhi
- addlt r5, r5, #1
- blt .L1192
-.L1196:
- add sp, sp, #12
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L1198:
+ b .L1182
+.L1187:
+ strh r0, [r6], #2 @ movhi
+ add r2, r2, #1
+ b .L1186
+.L1190:
.align 2
-.L1197:
+.L1189:
.word .LANCHOR0
.word .LANCHOR3
- .word .LANCHOR3-3132
+ .word .LANCHOR3-3138
.fnend
.size ftl_get_blk_list_in_sblk, .-ftl_get_blk_list_in_sblk
.align 2
.global ftl_erase_phy_blk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_erase_phy_blk, %function
ftl_erase_phy_blk:
.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}
+ ldr r2, .L1197
+ ldr r3, .L1197+4
+ push {r4, r5, r6, r7, r8, lr}
+ .save {r4, r5, r6, r7, r8, lr}
mov r6, r1
- ldr r3, .L1205
- ldrb r4, [r3, #1189] @ zero_extendqisi2
- ldr r3, .L1205+4
- rsb r4, r4, #24
- 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, #-3122] @ zero_extendqisi2
- uxtb r5, r5
+ sub r1, r2, #3136
+ sub r7, r2, #3072
+ ldrb r3, [r3, #1153] @ zero_extendqisi2
+ ldrh r4, [r1, #-2]
+ rsb r3, r3, #24
+ sub r3, r3, r4
+ mvn r4, #0
+ asr r5, r0, r3
+ bic r4, r0, r4, lsl r3
+ ldrb r3, [r2, #-3126] @ zero_extendqisi2
sxth r4, r4
- cmp r2, #0
- beq .L1200
- ldrb r3, [r3, #-3121] @ zero_extendqisi2
+ uxtb r5, r5
cmp r3, #0
- bne .L1200
- ldrh r2, [r7, #-10]
- clz r1, r1
+ beq .L1192
+ ldrb r3, [r2, #-3125] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L1192
+ ldrh r2, [r7, #-2]
+ clz r1, r6
+ lsr r1, r1, #5
mov r0, r5
- mov r1, r1, lsr #5
- mul r2, r2, r4
+ mul r2, r4, r2
bl flash_erase_block_en
-.L1200:
- ldrh r2, [r7, #-10]
- mov r0, r5
+.L1192:
+ ldrh r2, [r7, #-2]
uxtb r1, r6
- mul r2, r2, r4
- ldmfd sp!, {r3, r4, r5, r6, r7, lr}
+ mov r0, r5
+ mul r2, r4, r2
+ pop {r4, r5, r6, r7, r8, lr}
b flash_erase_block_en
-.L1206:
+.L1198:
.align 2
-.L1205:
- .word .LANCHOR0
+.L1197:
.word .LANCHOR3
+ .word .LANCHOR0
.fnend
.size ftl_erase_phy_blk, .-ftl_erase_phy_blk
.align 2
.global ftl_erase_sblk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_erase_sblk, %function
ftl_erase_sblk:
.fnstart
@ args = 0, pretend = 0, frame = 80
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {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, .L1235
- .pad #84
- sub sp, sp, #84
- ldr r9, .L1235+4
+ lsl fp, r0, #2
+ ldr r4, .L1224
mov r8, r0
mov r7, r1
mov r6, #0
- ldr r3, [r4, #1080]
- add r3, r3, r10
+ ldr r9, .L1224+4
+ .pad #84
+ sub sp, sp, #84
+ ldr r3, [r4, #1084]
+ add r3, r3, fp
ldrb r3, [r3, #3] @ zero_extendqisi2
- str r3, [sp, #12]
-.L1208:
- ldrb r3, [r9, #-3064] @ zero_extendqisi2
+ str r3, [sp, #4]
+.L1200:
+ ldr r3, .L1224+4
+ ldrb r3, [r3, #-3072] @ zero_extendqisi2
cmp r6, r3
- bge .L1219
- ldrb r2, [r9, #-3130] @ zero_extendqisi2
+ bge .L1211
+ ldr r3, .L1224+4
mov r5, #0
- sub fp, r2, #1
+ ldrb r2, [r3, #-3136] @ zero_extendqisi2
+ sub r10, r2, #1
mul r3, r2, r8
mul ip, r2, r6
- str r3, [sp, #4]
- ldr r3, .L1235+8
- ldrh r3, [r3]
str r3, [sp, #8]
+ ldr r3, .L1224+8
+ ldrh r3, [r3]
+ str r3, [sp, #12]
mov r3, r5
-.L1220:
- cmp r3, r2
- bge .L1234
- ldr lr, [sp, #12]
- add r1, r3, ip
- mov r1, lr, asr r1
+ b .L1212
+.L1202:
+ ldr lr, [sp, #4]
+ add r1, ip, r3
+ asr r1, lr, r1
tst r1, #1
- bne .L1209
- add r1, sp, #80
- ldr r0, [sp, #4]
- add lr, r1, r5, asl #2
- and r1, r3, fp
- add r1, r0, r1
+ bne .L1201
ldr r0, [sp, #8]
+ add r1, sp, #80
+ add lr, r1, r5, lsl #2
+ and r1, r3, r10
add r5, r5, #1
+ add r1, r1, r0
+ ldr r0, [sp, #12]
mul r1, r0, r1
str r1, [lr, #-64]
-.L1209:
+.L1201:
add r3, r3, #1
- b .L1220
-.L1234:
+.L1212:
+ cmp r3, r2
+ blt .L1202
cmp r2, #4
- bne .L1232
- uxtb r3, r6
- uxtb ip, r7
- mov fp, #0
-.L1211:
- cmp fp, r5
- beq .L1214
- mov r0, r3
+ bne .L1203
+ uxtb r3, r7
+ mov r10, #0
str r3, [sp, #8]
- add r3, sp, #16
- mov r1, ip
- str ip, [sp, #4]
- ldr r2, [r3, fp, asl #2]
- add fp, fp, #1
- bl flash_erase_block_en
- ldr ip, [sp, #4]
- ldr r3, [sp, #8]
- b .L1211
-.L1232:
- cmp r5, #2
- bne .L1215
- ldr r3, .L1235+4
- uxtb r5, r6
- ldrb r3, [r3, #-3122] @ zero_extendqisi2
- cmp r3, #0
- beq .L1216
- ldrb r3, [r9, #-3121] @ zero_extendqisi2
- cmp r3, #0
- 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
-.L1216:
- mov r0, r5
- uxtb r1, r7
- ldr r2, [sp, #16]
- ldr r3, [sp, #20]
- bl flash_erase_duplane_block
- b .L1214
-.L1215:
- cmp r5, #1
- 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:
+ uxtb r3, r6
+.L1204:
+ cmp r10, r5
+ bne .L1205
+.L1206:
add r6, r6, #1
- b .L1208
-.L1219:
+ b .L1200
+.L1205:
+ add r2, sp, #16
+ mov r0, r3
+ ldr r2, [r2, r10, lsl #2]
+ add r10, r10, #1
+ ldr r1, [sp, #8]
+ str r3, [sp, #12]
+ bl flash_erase_block_en
+ ldr r3, [sp, #12]
+ b .L1204
+.L1203:
+ cmp r5, #2
+ bne .L1207
+ ldrb r3, [r9, #-3126] @ zero_extendqisi2
+ uxtb r5, r6
+ cmp r3, #0
+ beq .L1208
+ ldrb r3, [r9, #-3125] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L1208
+ clz r1, r7
+ ldr r3, [sp, #20]
+ ldr r2, [sp, #16]
+ lsr r1, r1, #5
+ mov r0, r5
+ bl flash_erase_duplane_block
+.L1208:
+ ldr r3, [sp, #20]
+ uxtb r1, r7
+ ldr r2, [sp, #16]
+ mov r0, r5
+ bl flash_erase_duplane_block
+ b .L1206
+.L1207:
+ cmp r5, #1
+ bne .L1206
+ ldrb r3, [r9, #-3126] @ zero_extendqisi2
+ uxtb r5, r6
+ cmp r3, #0
+ beq .L1210
+ ldrb r3, [r9, #-3125] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L1210
+ clz r1, r7
+ ldr r2, [sp, #16]
+ lsr r1, r1, #5
+ mov r0, r5
+ bl flash_erase_block_en
+.L1210:
+ ldr r2, [sp, #16]
+ uxtb r1, r7
+ mov r0, r5
+ bl flash_erase_block_en
+ b .L1206
+.L1211:
cmp r7, #0
- ldr r1, [r4, #1080]
- bne .L1221
- ldrh r3, [r1, r10]
- ubfx r2, r3, #0, #11
- add r2, r2, #1
- bfi r3, r2, #0, #11
- strh r3, [r1, r10] @ movhi
- ldr r3, [r4, #2804]
+ bne .L1213
+ ldr r2, [r4, #1084]
+ ldrh r3, [r2, fp]
+ add r1, r3, #1
+ bfi r3, r1, #0, #11
+ strh r3, [r2, fp] @ movhi
+ ldr r3, [r4, #2800]
ldr r2, [r3, #84]
ldrh r0, [r3, #96]
add r2, r2, #1
str r2, [r3, #84]
- ldr r2, [r4, #1080]
- ldrh r2, [r2, r10]
+ ldr r2, [r4, #1084]
+ ldrh r2, [r2, fp]
ubfx r2, r2, #0, #11
uxth r1, r2
cmp r0, r1
- strlth r2, [r3, #96] @ movhi
- b .L1223
-.L1221:
- ldr r3, [r1, r8, asl #2]
+ strhlt r2, [r3, #96] @ movhi
+.L1215:
+ mov r0, #0
+ add sp, sp, #84
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L1213:
+ ldr r1, [r4, #1084]
+ ldr r3, [r1, r8, lsl #2]
ubfx r2, r3, #11, #8
add r2, r2, #1
bfi r3, r2, #11, #8
- str r3, [r1, r8, asl #2]
- ldr r3, [r4, #2804]
+ str r3, [r1, r8, lsl #2]
+ ldr r3, [r4, #2800]
ldr r2, [r3, #80]
ldrh r1, [r3, #98]
add r2, r2, #1
str r2, [r3, #80]
- ldr r2, [r4, #1080]
- ldr r2, [r2, r8, asl #2]
+ ldr r2, [r4, #1084]
+ ldr r2, [r2, r8, lsl #2]
ubfx r2, r2, #11, #8
cmp r1, r2
- strcch r2, [r3, #98] @ movhi
-.L1223:
- mov r0, #0
- add sp, sp, #84
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L1236:
+ strhcc r2, [r3, #98] @ movhi
+ b .L1215
+.L1225:
.align 2
-.L1235:
+.L1224:
.word .LANCHOR0
.word .LANCHOR3
- .word .LANCHOR3-3066
+ .word .LANCHOR3-3074
.fnend
.size ftl_erase_sblk, .-ftl_erase_sblk
.align 2
.global ftl_alloc_sys_blk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_alloc_sys_blk, %function
ftl_alloc_sys_blk:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- ldr r3, .L1248
- stmfd sp!, {r4, lr}
+ ldr r3, .L1236
+ push {r4, lr}
.save {r4, lr}
- ldr r2, [r3, #2804]
mov r4, r3
+ ldr r2, [r3, #2800]
ldrh r1, [r2, #136]
cmp r1, #63
movhi r3, #0
- strhih r3, [r2, #136] @ movhi
+ strhhi r3, [r2, #136] @ movhi
ldrh r3, [r2, #112]
cmp r3, #0
- bne .L1239
- ldr r1, .L1248+4
+ bne .L1228
movw r2, #1359
- ldr r0, .L1248+8
+ ldr r1, .L1236+4
+ ldr r0, .L1236+8
bl printk
bl dump_stack
-.L1239:
- ldr r3, [r4, #2804]
+.L1228:
+ ldr r3, [r4, #2800]
movw lr, #65535
mov ip, #0
-.L1243:
+.L1232:
ldrh r2, [r3, #136]
- add r1, r2, #79
- add r1, r3, r1, asl #1
-.L1240:
+ add r1, r3, r2, lsl #1
+ add r1, r1, #158
+.L1229:
cmp r2, #63
- bgt .L1247
+ strhgt ip, [r3, #136] @ movhi
+ bgt .L1232
+.L1231:
ldrh r0, [r1, #2]!
cmp r0, lr
- bne .L1245
- add r2, r2, #1
- b .L1240
-.L1247:
- strh ip, [r3, #136] @ movhi
- b .L1243
-.L1245:
- add r1, r3, r2, asl #1
+ addeq r2, r2, #1
+ beq .L1229
+.L1234:
+ add r1, r3, r2, lsl #1
mvn ip, #0
strh ip, [r1, #160] @ movhi
strh r2, [r3, #136] @ movhi
ldrh r2, [r3, #112]
add r2, r2, ip
strh r2, [r3, #112] @ movhi
- ldmfd sp!, {r4, pc}
-.L1249:
+ pop {r4, pc}
+.L1237:
.align 2
-.L1248:
+.L1236:
.word .LANCHOR0
- .word .LANCHOR1+1640
+ .word .LANCHOR1+1479
.word .LC0
.fnend
.size ftl_alloc_sys_blk, .-ftl_alloc_sys_blk
.align 2
.global ftl_free_sys_blk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_free_sys_blk, %function
ftl_free_sys_blk:
.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 r3, .L1247
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
mov r5, r0
- ldr r3, .L1260
- ldr r2, [r3, #2804]
mov r4, r3
+ ldr r2, [r3, #2800]
ldrh r1, [r2, #138]
cmp r1, #63
movhi r3, #0
- strhih r3, [r2, #138] @ movhi
+ strhhi r3, [r2, #138] @ movhi
ldrh r3, [r2, #112]
cmp r3, #63
- bls .L1252
- ldr r1, .L1260+4
+ bls .L1240
movw r2, #1386
- ldr r0, .L1260+8
+ ldr r1, .L1247+4
+ ldr r0, .L1247+8
bl printk
bl dump_stack
-.L1252:
- ldr r3, [r4, #2804]
+.L1240:
+ ldr r3, [r4, #2800]
movw ip, #65535
mov r0, #0
-.L1256:
+.L1244:
ldrh r2, [r3, #138]
- add r1, r2, #79
- add r1, r3, r1, asl #1
-.L1253:
+ add r1, r3, r2, lsl #1
+ add r1, r1, #158
+.L1241:
cmp r2, #63
- bgt .L1259
+ strhgt r0, [r3, #138] @ movhi
+ bgt .L1244
+.L1243:
ldrh lr, [r1, #2]!
cmp lr, ip
- bne .L1254
- add r1, r3, r2, asl #1
+ bne .L1242
+ add r1, r3, r2, lsl #1
strh r5, [r1, #160] @ movhi
strh r2, [r3, #138] @ movhi
ldrh r2, [r3, #112]
add r2, r2, #1
strh r2, [r3, #112] @ movhi
- ldmfd sp!, {r3, r4, r5, pc}
-.L1254:
+ pop {r4, r5, r6, pc}
+.L1242:
add r2, r2, #1
- b .L1253
-.L1259:
- strh r0, [r3, #138] @ movhi
- b .L1256
-.L1261:
+ b .L1241
+.L1248:
.align 2
-.L1260:
+.L1247:
.word .LANCHOR0
- .word .LANCHOR1+1660
+ .word .LANCHOR1+1497
.word .LC0
.fnend
.size ftl_free_sys_blk, .-ftl_free_sys_blk
.align 2
.global ftl_info_data_recovery
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_info_data_recovery, %function
ftl_info_data_recovery:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, lr}
+ push {r4, r5, r6, r7, r8, lr}
.save {r4, r5, r6, r7, r8, lr}
movw r3, #65535
ldrh r6, [r0]
cmp r6, r3
- ldmeqfd sp!, {r4, r5, r6, r7, r8, pc}
- ldr r4, .L1272
- mov r8, r6, asl #2
- ldr r5, [r4, #1080]
+ popeq {r4, r5, r6, r7, r8, pc}
+ ldr r4, .L1259
+ lsl r8, r6, #2
+ ldr r5, [r4, #1084]
add r7, r5, r8
ldrb r3, [r7, #2] @ zero_extendqisi2
tst r3, #224
- ldmnefd sp!, {r4, r5, r6, r7, r8, pc}
+ popne {r4, r5, r6, r7, r8, pc}
ldrb r2, [r0, #4] @ zero_extendqisi2
mov r0, r6
bfi r3, r2, #5, #3
strb r3, [r7, #2]
bl zftl_remove_free_node
ldrb r3, [r7, #2] @ zero_extendqisi2
- ldr r2, [r4, #2804]
+ ldr r2, [r4, #2800]
tst r3, #8
- ldrneh r3, [r2, #116]
+ ldrhne r3, [r2, #116]
subne r3, r3, #1
- strneh r3, [r2, #116] @ movhi
- bne .L1267
+ strhne r3, [r2, #116] @ movhi
+ bne .L1254
tst r3, #24
- ldreqh r3, [r2, #114]
- ldrneh r3, [r2, #118]
+ ldrheq r3, [r2, #114]
+ ldrhne r3, [r2, #118]
subeq r3, r3, #1
subne r3, r3, #1
- streqh r3, [r2, #114] @ movhi
- strneh r3, [r2, #118] @ movhi
-.L1267:
+ strheq r3, [r2, #114] @ movhi
+ strhne r3, [r2, #118] @ movhi
+.L1254:
ldrb r3, [r7, #2] @ zero_extendqisi2
and r3, r3, #224
cmp r3, #160
- bne .L1269
- ldr r3, [r5, r6, asl #2]
+ bne .L1256
+ ldr r3, [r5, r6, lsl #2]
ubfx r2, r3, #11, #8
add r2, r2, #1
bfi r3, r2, #11, #8
- str r3, [r5, r6, asl #2]
- ldr r2, [r4, #2804]
+ str r3, [r5, r6, lsl #2]
+ ldr r2, [r4, #2800]
ldrh r3, [r2, #120]
sub r3, r3, #1
strh r3, [r2, #120] @ movhi
- ldmfd sp!, {r4, r5, r6, r7, r8, pc}
-.L1269:
+ pop {r4, r5, r6, r7, r8, pc}
+.L1256:
ldrh r2, [r5, r8]
cmp r3, #64
- ubfx r1, r2, #0, #11
- add r1, r1, #1
+ add r1, r2, #1
bfi r2, r1, #0, #11
strh r2, [r5, r8] @ movhi
- bne .L1270
- ldr r2, [r4, #2804]
+ bne .L1257
+ ldr r2, [r4, #2800]
ldrh r3, [r2, #122]
sub r3, r3, #1
strh r3, [r2, #122] @ movhi
- ldmfd sp!, {r4, r5, r6, r7, r8, pc}
-.L1270:
+ pop {r4, r5, r6, r7, r8, pc}
+.L1257:
cmp r3, #96
- ldreq r2, [r4, #2804]
- ldreqh r3, [r2, #124]
+ ldreq r2, [r4, #2800]
+ ldrheq r3, [r2, #124]
subeq r3, r3, #1
- streqh r3, [r2, #124] @ movhi
- ldmfd sp!, {r4, r5, r6, r7, r8, pc}
-.L1273:
+ strheq r3, [r2, #124] @ movhi
+ pop {r4, r5, r6, r7, r8, pc}
+.L1260:
.align 2
-.L1272:
+.L1259:
.word .LANCHOR0
.fnend
.size ftl_info_data_recovery, .-ftl_info_data_recovery
.align 2
.global ftl_get_ppa_from_index
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_get_ppa_from_index, %function
ftl_get_ppa_from_index:
.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}
+ ldr r3, .L1266
+ push {r4, r5, r6, r7, r8, lr}
+ .save {r4, r5, r6, r7, r8, lr}
mov r4, r0
- ldr r3, .L1279
- ldr r2, .L1279+4
- ldr r5, [r3, #1092]
- sub r3, r2, #3088
- ldrb r2, [r2, #-3123] @ zero_extendqisi2
- ldrh r3, [r3, #-8]
- mul r1, r2, r3
+ ldr r5, [r3, #1096]
+ ldr r3, .L1266+4
+ sub r2, r3, #3088
+ ldrb r3, [r3, #-3127] @ zero_extendqisi2
+ ldrh r2, [r2, #-8]
+ mul r1, r3, r2
cmp r0, r1
+ smulbbge r3, r3, r2
addlt r5, r5, #16
addge r5, r5, #48
- smulbbge r3, r2, r3
ldrb r6, [r5, #9] @ zero_extendqisi2
- rsbge r4, r3, r0
- mov r1, r6
+ subge r4, r0, r3
uxthge r4, r4
+ mov r1, r6
mov r0, r4
bl __aeabi_idiv
- movw r3, #65535
smulbb r6, r0, r6
+ movw r3, #65535
mov r7, r0
- rsb r4, r6, r4
+ sub r4, r4, r6
uxth r4, r4
- add r5, r5, r4, asl #1
- ldrh r4, [r5, #16]
+ add r4, r5, r4, lsl #1
+ ldrh r4, [r4, #16]
cmp r4, r3
- bne .L1277
- ldr r1, .L1279+8
+ bne .L1264
movw r2, #1945
- ldr r0, .L1279+12
+ ldr r1, .L1266+8
+ ldr r0, .L1266+12
bl printk
bl dump_stack
-.L1277:
- ldr r3, .L1279+16
- ldrh r0, [r3, #-10]
- mla r0, r0, r4, r7
- ldmfd sp!, {r3, r4, r5, r6, r7, pc}
-.L1280:
+.L1264:
+ ldr r3, .L1266+16
+ ldrh r0, [r3, #-2]
+ mla r0, r4, r0, r7
+ pop {r4, r5, r6, r7, r8, pc}
+.L1267:
.align 2
-.L1279:
+.L1266:
.word .LANCHOR0
.word .LANCHOR3
- .word .LANCHOR1+1680
+ .word .LANCHOR1+1514
.word .LC0
- .word .LANCHOR3-3056
+ .word .LANCHOR3-3072
.fnend
.size ftl_get_ppa_from_index, .-ftl_get_ppa_from_index
.align 2
.global lpa_hash_get_ppa
+ .syntax unified
+ .arm
+ .fpu softvfp
.type lpa_hash_get_ppa, %function
lpa_hash_get_ppa:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
+ ldr r2, .L1276
uxtb r3, r0
- ldr r2, .L1287
- ldr r1, .L1287+4
- mov r3, r3, asl #1
+ lsl r3, r3, #1
+ sub r1, r2, #3056
+ ldr ip, [r2, #-2552]
+ sub r1, r1, #14
+ ldrh r3, [r1, r3]
+ ldr r1, [r2, #-2556]
+ movw r2, #65535
+ cmp r3, r2
+ bne .L1275
+ mvn r0, #0
+ bx lr
+.L1270:
+ lsl r3, r3, #1
+ ldrh r3, [ip, r3]
+ cmp r3, r2
+ bne .L1271
+ mvn r0, #0
+ ldr pc, [sp], #4
+.L1275:
str lr, [sp, #-4]!
.save {lr}
- ldrh r3, [r1, r3]
- ldr ip, [r2, #-2544]
- ldr r1, [r2, #-2548]
- movw r2, #65535
-.L1282:
- cmp r3, r2
- beq .L1286
- ldr lr, [r1, r3, asl #2]
- cmp lr, r0
- bne .L1283
+.L1271:
+ ldr lr, [r1, r3, lsl #2]
+ cmp r0, lr
+ bne .L1270
mov r0, r3
ldr lr, [sp], #4
b ftl_get_ppa_from_index
-.L1283:
- mov r3, r3, asl #1
- ldrh r3, [ip, r3]
- b .L1282
-.L1286:
- mvn r0, #0
- ldr pc, [sp], #4
-.L1288:
+.L1277:
.align 2
-.L1287:
+.L1276:
.word .LANCHOR3
- .word .LANCHOR3-3060
.fnend
.size lpa_hash_get_ppa, .-lpa_hash_get_ppa
.align 2
.global ftl_get_new_free_page
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_get_new_free_page, %function
ftl_get_new_free_page:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, lr}
+ push {r4, lr}
.save {r4, lr}
movw r3, #65535
ldrh r2, [r0]
mov r4, r0
cmp r2, r3
- bne .L1290
- ldr r1, .L1299
+ bne .L1279
movw r2, #2088
- ldr r0, .L1299+4
+ ldr r1, .L1287
+ ldr r0, .L1287+4
bl printk
bl dump_stack
-.L1290:
- ldr r3, .L1299+8
+.L1279:
+ ldr r3, .L1287+8
ldrh r2, [r4, #2]
ldrh r3, [r3, #-8]
cmp r2, r3
- bne .L1291
- ldr r1, .L1299
+ bne .L1280
movw r2, #2089
- ldr r0, .L1299+4
+ ldr r1, .L1287
+ ldr r0, .L1287+4
bl printk
bl dump_stack
-.L1291:
+.L1280:
ldrh r3, [r4, #6]
cmp r3, #0
- bne .L1292
- ldr r1, .L1299
+ bne .L1281
movw r2, #2090
- ldr r0, .L1299+4
+ ldr r1, .L1287
+ ldr r0, .L1287+4
bl printk
bl dump_stack
-.L1292:
+.L1281:
ldrb r3, [r4, #5] @ zero_extendqisi2
movw r2, #65535
- ldr r1, .L1299+12
- mov lr, #0
- add r3, r4, r3, asl #1
- ldrb r0, [r1, #-3123] @ zero_extendqisi2
- ldrh ip, [r3, #16]
-.L1293:
- cmp ip, r2
+ mov r1, #0
+ add r3, r4, r3, lsl #1
+ ldrh r0, [r3, #16]
+ ldr r3, .L1287+12
+ ldrb ip, [r3, #-3127] @ zero_extendqisi2
+.L1282:
+ cmp r0, r2
ldrb r3, [r4, #5] @ zero_extendqisi2
- bne .L1298
+ beq .L1284
+ ldr r1, .L1287+16
add r3, r3, #1
- uxtb r3, r3
- strb r3, [r4, #5]
- cmp r3, r0
- streqb lr, [r4, #5]
- ldreqh r3, [r4, #2]
- addeq r3, r3, #1
- streqh r3, [r4, #2] @ movhi
- ldrb r3, [r4, #5] @ zero_extendqisi2
- add r3, r4, r3, asl #1
- ldrh ip, [r3, #16]
- b .L1293
-.L1298:
- ldr r0, .L1299+16
- add r3, r3, #1
- ldrb r1, [r1, #-3123] @ zero_extendqisi2
uxtb r3, r3
ldrh r2, [r4, #2]
- ldrh r0, [r0, #-10]
- cmp r1, r3
+ ldrh r1, [r1, #-2]
+ cmp ip, r3
strb r3, [r4, #5]
+ addeq r3, r2, #1
+ strheq r3, [r4, #2] @ movhi
moveq r3, #0
- streqb r3, [r4, #5]
- mul r0, r0, ip
- ldrh ip, [r4, #6]
- sub ip, ip, #1
- strh ip, [r4, #6] @ movhi
- ldrh ip, [r4, #10]
+ strbeq r3, [r4, #5]
+ mul r0, r0, r1
+ ldrh r1, [r4, #6]
+ sub r1, r1, #1
+ strh r1, [r4, #6] @ movhi
orr r0, r0, r2
- addeq r2, r2, #1
- streqh r2, [r4, #2] @ movhi
- add ip, ip, #1
- strh ip, [r4, #10] @ movhi
- ldmfd sp!, {r4, pc}
-.L1300:
+ ldrh r1, [r4, #10]
+ add r1, r1, #1
+ strh r1, [r4, #10] @ movhi
+ pop {r4, pc}
+.L1284:
+ add r3, r3, #1
+ uxtb r3, r3
+ cmp r3, ip
+ strb r3, [r4, #5]
+ ldrheq r3, [r4, #2]
+ strbeq r1, [r4, #5]
+ addeq r3, r3, #1
+ strheq r3, [r4, #2] @ movhi
+ ldrb r3, [r4, #5] @ zero_extendqisi2
+ add r3, r4, r3, lsl #1
+ ldrh r0, [r3, #16]
+ b .L1282
+.L1288:
.align 2
-.L1299:
- .word .LANCHOR1+1704
+.L1287:
+ .word .LANCHOR1+1537
.word .LC0
.word .LANCHOR3-3088
.word .LANCHOR3
- .word .LANCHOR3-3056
+ .word .LANCHOR3-3072
.fnend
.size ftl_get_new_free_page, .-ftl_get_new_free_page
.align 2
.global ftl_ext_alloc_new_blk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_ext_alloc_new_blk, %function
ftl_ext_alloc_new_blk:
.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}
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
bl ftl_alloc_sys_blk
- movw r2, #65533
sub r3, r0, #1
- mov r4, r0
+ movw r2, #65533
uxth r3, r3
+ mov r4, r0
cmp r3, r2
- bls .L1302
- ldr r1, .L1304
+ bls .L1290
movw r2, #2125
- ldr r0, .L1304+4
+ ldr r1, .L1292
+ ldr r0, .L1292+4
bl printk
bl dump_stack
-.L1302:
- ldr r5, .L1304+8
+.L1290:
+ ldr r5, .L1292+8
mov r1, #0
mov r0, r4
bl ftl_erase_phy_blk
- ldr r3, [r5, #2804]
+ ldr r3, [r5, #2800]
ldrh r0, [r3, #130]
bl ftl_free_sys_blk
- ldr r3, [r5, #2804]
+ ldr r3, [r5, #2800]
mov r0, #0
strh r4, [r3, #130] @ movhi
strh r0, [r3, #140] @ movhi
- ldmfd sp!, {r3, r4, r5, pc}
-.L1305:
+ pop {r4, r5, r6, pc}
+.L1293:
.align 2
-.L1304:
- .word .LANCHOR1+1728
+.L1292:
+ .word .LANCHOR1+1559
.word .LC0
.word .LANCHOR0
.fnend
.size ftl_ext_alloc_new_blk, .-ftl_ext_alloc_new_blk
.align 2
.global ftl_total_vpn_update
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_total_vpn_update, %function
ftl_total_vpn_update:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- ldr r2, .L1319
- ldrh r3, [r2, #-12]
+ ldr r2, .L1308
+ ldrh r3, [r2, #-4]
cmp r3, #4
cmpls r0, #0
- addeq r3, r3, #1
- streqh r3, [r2, #-12] @ movhi
- bxeq lr
- ldr r3, .L1319+4
- movw ip, #1076
- stmfd sp!, {r4, r5, r6, lr}
- .save {r4, r5, r6, lr}
+ bne .L1295
+ add r3, r3, #1
+ strh r3, [r2, #-4] @ movhi
+ bx lr
+.L1295:
+ ldr r3, .L1308+4
mov r0, #0
- ldrh lr, [r3, ip]
+ movw ip, #1080
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
+ strh r0, [r2, #-4] @ movhi
movw r6, #65535
- strh r0, [r2, #-12] @ movhi
+ ldrh lr, [r3, ip]
mov ip, r0
- ldr r1, [r3, #1088]
- ldr r2, [r3, #1080]
+ ldr r2, [r3, #1084]
+ ldr r1, [r3, #1092]
+ add lr, r2, lr, lsl #2
sub r1, r1, #2
- add lr, r2, lr, asl #2
-.L1309:
+.L1297:
cmp r2, lr
- beq .L1318
+ bne .L1300
+ ldr r4, [r3, #1096]
+ ldr r3, [r3, #2800]
+ str ip, [r4, #524]
+ str r0, [r4, #528]
+ ldrh r1, [r3, #120]
+ cmp r1, #0
+ popeq {r4, r5, r6, pc}
+ bl __aeabi_uidiv
+ str r0, [r4, #532]
+ pop {r4, r5, r6, pc}
+.L1300:
ldrh r4, [r1, #2]!
cmp r4, r6
- beq .L1310
+ beq .L1298
ldrb r5, [r2, #2] @ zero_extendqisi2
and r5, r5, #224
cmp r5, #160
addeq r0, r0, r4
addne ip, ip, r4
-.L1310:
+.L1298:
add r2, r2, #4
- b .L1309
-.L1318:
- ldr r4, [r3, #1092]
- ldr r3, [r3, #2804]
- str ip, [r4, #524]
- str r0, [r4, #528]
- ldrh r1, [r3, #120]
- cmp r1, #0
- ldmeqfd sp!, {r4, r5, r6, pc}
- bl __aeabi_uidiv
- str r0, [r4, #532]
- ldmfd sp!, {r4, r5, r6, pc}
-.L1320:
+ b .L1297
+.L1309:
.align 2
-.L1319:
- .word .LANCHOR3-2528
+.L1308:
+ .word .LANCHOR3-2544
.word .LANCHOR0
.fnend
.size ftl_total_vpn_update, .-ftl_total_vpn_update
.align 2
.global ftl_debug_info_fill
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_debug_info_fill, %function
ftl_debug_info_fill:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- ldr r3, .L1326
- ldrb r3, [r3, #2772] @ zero_extendqisi2
+ ldr r3, .L1317
+ ldrb r3, [r3, #-2546] @ zero_extendqisi2
cmp r3, #8
- bls .L1325
- stmfd sp!, {r4, lr}
- .save {r4, lr}
- sub r4, r0, #2
- clz r4, r4
+ bls .L1314
+ sub r3, r0, #2
cmp r2, #0
- mov r4, r4, lsr #5
- moveq r4, #0
- cmp r4, #0
- streq r4, [r1]
- streq r4, [r1, #4]
- beq .L1322
- ldr r3, .L1326+4
- mov r4, r1
+ clz r3, r3
+ lsr r3, r3, #5
+ moveq r3, #0
+ cmp r3, #0
+ streq r3, [r1]
+ streq r3, [r1, #4]
+ beq .L1314
+ ldr r3, .L1317+4
mov r0, r2
+ push {r4, lr}
+ .save {r4, lr}
+ mov r4, r1
str r3, [r1]
mov r1, #1024
bl js_hash
str r0, [r4, #4]
-.L1322:
mov r0, #0
- ldmfd sp!, {r4, pc}
-.L1325:
+ pop {r4, pc}
+.L1314:
mov r0, #0
bx lr
-.L1327:
+.L1318:
.align 2
-.L1326:
- .word .LANCHOR0
+.L1317:
+ .word .LANCHOR3
.word 1212240712
.fnend
.size ftl_debug_info_fill, .-ftl_debug_info_fill
.align 2
.global ftl_vpn_update
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_vpn_update, %function
ftl_vpn_update:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, lr}
+ push {r4, lr}
.save {r4, lr}
mov r4, r0
bl zftl_list_update_data_list
- ldr r3, .L1332
- mov r4, r4, asl #1
- ldr r2, [r3, #1088]
+ lsl r4, r4, #1
+ ldr r3, .L1323
+ ldr r2, [r3, #1092]
ldrh r2, [r2, r4]
cmp r2, #0
moveq r0, #1
movne r0, #0
- streq r0, [r3, #2820]
- ldmfd sp!, {r4, pc}
-.L1333:
+ streq r0, [r3, #2812]
+ pop {r4, pc}
+.L1324:
.align 2
-.L1332:
+.L1323:
.word .LANCHOR0
.fnend
.size ftl_vpn_update, .-ftl_vpn_update
.align 2
.global ftl_vpn_decrement
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_vpn_decrement, %function
ftl_vpn_decrement:
.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}
movw r3, #65535
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
cmp r0, r3
mov r5, r0
- beq .L1335
- ldr r1, .L1344
- mov r3, r0, asl #1
- ldr r2, [r1, #1088]
+ beq .L1326
+ ldr r1, .L1335
+ lsl r3, r0, #1
+ ldr r2, [r1, #1092]
ldrh r4, [r2, r3]
cmp r4, #0
subne r4, r4, #1
- strneh r4, [r2, r3] @ movhi
- bne .L1335
- ldr r3, [r1, #1080]
+ strhne r4, [r2, r3] @ movhi
+ bne .L1326
+ ldr r3, [r1, #1084]
mov r2, r4
- mov r1, r5
- add r3, r3, r0, asl #2
- ldr r0, .L1344+4
+ mov r1, r0
+ add r3, r3, r0, lsl #2
+ ldr r0, .L1335+4
ldrb r3, [r3, #2] @ zero_extendqisi2
- mov r3, r3, lsr #5
+ lsr r3, r3, #5
bl printk
- mov r0, r4
- ldmfd sp!, {r3, r4, r5, pc}
-.L1335:
- ldr r3, .L1344+8
- ldrh r0, [r3]
+.L1332:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+.L1326:
+ ldr r3, .L1335+8
+ ldrh r0, [r3, #-4]
mov r4, r3
- cmp r0, r5
- beq .L1341
+ cmp r5, r0
+ beq .L1332
movw r2, #65535
cmp r0, r2
- streqh r5, [r3] @ movhi
- beq .L1341
+ strheq r5, [r3, #-4] @ movhi
+ beq .L1332
bl ftl_vpn_update
- add r3, r4, #624
- ldrh r1, [r4]
- ldrh r2, [r3, #-10]
- strh r5, [r4] @ movhi
+ add r3, r4, #608
+ adds r0, r0, #0
+ ldrh r2, [r3]
+ movne r0, #1
add r2, r2, #1
uxth r2, r2
- adds r0, r0, #0
- movne r0, #1
cmp r2, #7
movhi r2, #0
- 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}
-.L1341:
- mov r0, #0
- ldmfd sp!, {r3, r4, r5, pc}
-.L1345:
+ strh r2, [r3] @ movhi
+ ldrh r3, [r3]
+ ldrh r2, [r4, #-4]
+ strh r5, [r4, #-4] @ movhi
+ add r3, r4, r3, lsl #1
+ strh r2, [r3, #-2] @ movhi
+ pop {r4, r5, r6, pc}
+.L1336:
.align 2
-.L1344:
+.L1335:
.word .LANCHOR0
- .word .LC109
+ .word .LC106
.word .LANCHOR3-3152
- .word .LANCHOR3-3148
.fnend
.size ftl_vpn_decrement, .-ftl_vpn_decrement
.align 2
.global lpa_hash_update_ppa
+ .syntax unified
+ .arm
+ .fpu softvfp
.type lpa_hash_update_ppa, %function
lpa_hash_update_ppa:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, lr}
+ ldr r3, .L1349
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
.save {r4, r5, r6, r7, r8, r9, r10, lr}
- uxtb r6, r0
- ldr r3, .L1358
- movw r4, #65535
- ldr ip, .L1358+4
- mov r6, r6, asl #1
- mov r8, r4
- ldr r7, [r3, #-2548]
- ldrh lr, [ip, r6]
- ldr r9, [r3, #-2544]
-.L1347:
- cmp lr, r8
- beq .L1351
- ldr r5, [r7, lr, asl #2]
- add r10, r7, lr, asl #2
- cmp r5, r0
- mov r5, lr, asl #1
- bne .L1348
- mvn lr, #0
- str lr, [r10]
- movw lr, #65535
- cmp r4, lr
- 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, #-2544]
- strh r4, [lr, r5] @ movhi
- b .L1351
-.L1348:
- mov r4, lr
- ldrh lr, [r9, r5]
- b .L1347
-.L1351:
- ldr r4, [r3, #-2548]
+ uxtb r7, r0
+ movw r8, #65535
+ sub lr, r3, #3056
+ lsl r7, r7, #1
+ sub ip, lr, #14
+ ldr r6, [r3, #-2556]
+ ldrh ip, [ip, r7]
+ mov r5, r8
+ ldr r9, [r3, #-2552]
+.L1338:
+ cmp ip, r5
+ beq .L1342
+ ldr r4, [r6, ip, lsl #2]
+ add r10, r6, ip, lsl #2
+ cmp r0, r4
+ lsl r4, ip, #1
+ bne .L1339
+ mvn ip, #0
+ cmp r8, r5
+ str ip, [r10]
+ lslne r8, r8, #1
+ ldr ip, [r3, #-2552]
+ ldrh r5, [ip, r4]
+ subeq ip, lr, #14
+ strheq r5, [ip, r7] @ movhi
+ strhne r5, [ip, r8] @ movhi
+ mvn r5, #0
+ ldr ip, [r3, #-2552]
+ strh r5, [ip, r4] @ movhi
+.L1342:
+ ldr ip, [r3, #-2556]
cmn r1, #1
- ldr lr, .L1358
- str r0, [r4, r2, asl #2]
- ldrh r0, [ip, r6]
- ldr r3, [r3, #-2544]
- strh r2, [ip, r6] @ movhi
- mov r2, r2, asl #1
- strh r0, [r3, r2] @ movhi
- 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
+ str r0, [ip, r2, lsl #2]
+ sub ip, lr, #14
+ ldrh lr, [ip, r7]
+ ldr r0, [r3, #-2552]
+ strh r2, [ip, r7] @ movhi
+ lsl r2, r2, #1
+ strh lr, [r0, r2] @ movhi
+ beq .L1344
+ ldr r0, .L1349+4
+ ldr r2, .L1349+8
+ ldrb ip, [r0, #1153] @ zero_extendqisi2
mvn r0, #0
- bic r0, r1, r0, asl r3
- ldrb r1, [lr, #-3130] @ zero_extendqisi2
+ ldrh r2, [r2, #-2]
+ rsb ip, ip, #24
+ sub ip, ip, r2
+ lsr r2, r1, r2
+ ldrb r1, [r3, #-3136] @ zero_extendqisi2
+ bic r0, r2, r0, lsl ip
bl __aeabi_uidiv
uxth r0, r0
bl ftl_vpn_decrement
-.L1353:
+.L1344:
mvn r0, #0
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
-.L1359:
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L1339:
+ mov r8, ip
+ ldrh ip, [r9, r4]
+ b .L1338
+.L1350:
.align 2
-.L1358:
+.L1349:
.word .LANCHOR3
- .word .LANCHOR3-3060
.word .LANCHOR0
+ .word .LANCHOR3-3136
.fnend
.size lpa_hash_update_ppa, .-lpa_hash_update_ppa
.align 2
.global ftl_mask_bad_block
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_mask_bad_block, %function
ftl_mask_bad_block:
.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, lr}
- .save {r4, r5, r6, r7, r8, r9, lr}
- .pad #12
+ push {r0, r1, r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
+ .pad #8
mov r3, #1
- 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, #-12]
- rsb r2, r4, #24
- mov r4, r3, asl r4
+ ldr r7, .L1359
+ ldr ip, .L1359+4
+ ldrb r4, [r7, #1153] @ zero_extendqisi2
+ ldrb r5, [ip, #-3136]! @ zero_extendqisi2
+ rsb r1, r4, #24
+ lsl r4, r3, r4
sub r4, r4, #1
- and r4, r4, r0, lsr r2
- rsb r2, r1, r2
- mov r3, r3, asl r2
- sub r3, r3, #1
+ and r4, r4, r0, lsr r1
uxtb r4, r4
- and r0, r3, r0, lsr r1
+ smulbb r2, r4, r5
+ uxtb r9, r2
+ ldrh r2, [ip, #-2]
+ sub r1, r1, r2
+ lsl r3, r3, r1
mov r1, r5
- smulbb r6, r4, r5
- uxth r9, r0
+ sub r3, r3, #1
+ and r0, r3, r0, lsr r2
+ uxth r10, r0
bl __aeabi_uidiv
+ ldr r3, .L1359+8
cmp r5, #1
- subhi r3, r5, #1
- uxtb r6, r6
- andhi r3, r3, r9
+ subhi r2, r5, #1
+ mov r6, r0
+ andhi r2, r2, r10
uxth r8, r0
- addhi r3, r6, r3
- uxtbhi r6, r3
- ldr r3, .L1368+8
ldr r3, [r3]
+ addhi r2, r9, r2
+ uxtbhi r9, r2
tst r3, #16384
- beq .L1362
- str r9, [sp]
+ beq .L1353
+ uxth r3, r0
+ str r10, [sp]
+ mov r2, r9
+ ldr r0, .L1359+12
mov r1, r4
- ldr r0, .L1368+12
- mov r2, r6
- mov r3, r8
bl printk
-.L1362:
- movw r3, #1076
+.L1353:
+ movw r3, #1080
ldrh r3, [r7, r3]
cmp r3, r8
- 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]
-.L1360:
- add sp, sp, #12
+ bls .L1351
+ ldr r3, [r7, #1084]
+ uxth r6, r6
+ add r6, r3, r6, lsl #2
+ mov r3, #1
+ ldrb r2, [r6, #3] @ zero_extendqisi2
+ orr r2, r2, r3, lsl r9
+ strb r2, [r6, #3]
+.L1351:
+ add sp, sp, #8
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc}
-.L1369:
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L1360:
.align 2
-.L1368:
- .word .LANCHOR3
+.L1359:
.word .LANCHOR0
+ .word .LANCHOR3
.word .LANCHOR2
- .word .LC110
+ .word .LC107
.fnend
.size ftl_mask_bad_block, .-ftl_mask_bad_block
.align 2
.global gc_free_bad_sblk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_free_bad_sblk, %function
gc_free_bad_sblk:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {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, .L1391
- str r0, [sp]
- ldr r3, [r4, #920]
+ ldr r6, .L1382
+ ldr r3, [r6, #916]
cmp r3, #0
- movne r5, #0
- ldrne r7, .L1391+4
- beq .L1387
-.L1371:
- ldrb r3, [r7, #-3123] @ zero_extendqisi2
- uxth r0, r5
- cmp r3, r0
- bls .L1387
- ldrb r9, [r7, #-3130] @ zero_extendqisi2
- mov fp, #0
- ldr r6, .L1391+8
- mov r1, r9
- uxth r8, r9
- bl __aeabi_idiv
- ldr r2, .L1391+12
- ldrb r3, [r6, #1189] @ zero_extendqisi2
- cmp r9, #1
- subhi r1, r8, #1
- ldrh r2, [r2]
- rsb r3, r3, #24
- rsb r3, r2, r3
- ldrh r2, [sp]
- andhi r1, r1, r5
- smulbb r2, r2, r8
- ldr r8, .L1391+16
- add r0, r2, r0, asl r3
- mov r9, r8
- uxth r2, r0
- addhi r2, r2, r1
- uxthhi r2, r2
-.L1373:
- ldr r1, [r4, #920]
- uxth r10, fp
- cmp r10, r1
- bcs .L1389
- add r1, r10, #1088
- add r1, r1, #8
- mov r1, r1, asl #1
- ldrh r1, [r8, r1]
- cmp r1, r2
- bne .L1374
- mov r1, r2
- ldr r0, .L1391+20
- str r2, [sp, #4]
- bl printk
- ldr r3, .L1391+4
- ldrb r1, [r3, #-2536] @ zero_extendqisi2
- cmp r1, #0
- ldr r2, [sp, #4]
- bne .L1375
- ldrb r1, [r7, #-3122] @ zero_extendqisi2
- cmp r1, #0
- beq .L1376
-.L1375:
- ldr r1, [r6, #2804]
- ldr r3, .L1391+24
- ldr r1, [r1, #156]
- cmp r1, r3
- 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]
-.L1377:
- ldr r0, [r4, #920]
+ beq .L1378
+ ldr r8, .L1382+4
+ mov r7, #0
+ str r0, [sp, #4]
+.L1363:
+ ldrb r2, [r8, #-3127] @ zero_extendqisi2
+ uxth r3, r7
+ cmp r2, r3
+ bhi .L1373
.L1378:
- cmp r10, r0
- bcs .L1390
- add r1, r10, #1088
- add r3, r10, #1
- add r1, r1, #9
- mov r1, r1, asl #1
- ldrh lr, [r9, r1]
- add r1, r10, #1088
- add r1, r1, #8
- uxth r10, r3
- mov r1, r1, asl #1
- strh lr, [r9, r1] @ movhi
- b .L1378
-.L1390:
- sub r0, r0, #1
- str r0, [r4, #920]
-.L1374:
- add fp, fp, #1
- b .L1373
-.L1389:
- add r5, r5, #1
- b .L1371
-.L1387:
mov r0, #0
add sp, sp, #12
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L1392:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L1373:
+ ldrb r9, [r8, #-3136] @ zero_extendqisi2
+ uxth r0, r7
+ ldr r10, .L1382+8
+ ldr fp, .L1382+12
+ mov r1, r9
+ bl __aeabi_idiv
+ ldrb r3, [r10, #1153] @ zero_extendqisi2
+ uxth r5, r9
+ ldrh r2, [sp, #4]
+ cmp r9, #1
+ ldrh r4, [fp], #2
+ mov r9, #0
+ rsb r3, r3, #24
+ str r10, [sp]
+ ldr r10, .L1382+16
+ sub r3, r3, r4
+ smulbb r4, r2, r5
+ subhi r5, r5, #1
+ andhi r5, r5, r7
+ add r4, r4, r0, lsl r3
+ uxth r4, r4
+ addhi r4, r4, r5
+ uxthhi r4, r4
+.L1365:
+ ldr r1, [r6, #916]
+ uxth r5, r9
+ mov r3, r5
+ cmp r1, r5
+ addls r7, r7, #1
+ bls .L1363
+.L1372:
+ add r3, r3, #1088
+ add r3, r3, #8
+ lsl r3, r3, #1
+ ldrh r3, [r10, r3]
+ cmp r3, r4
+ bne .L1366
+ mov r1, r4
+ ldr r0, .L1382+20
+ bl printk
+ ldrb r3, [r8, #-2542] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L1367
+ ldrb r3, [r8, #-3126] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L1368
+.L1367:
+ ldr r3, [sp]
+ ldr r2, .L1382+24
+ ldr r3, [r3, #2800]
+ ldr r3, [r3, #156]
+ cmp r3, r2
+ beq .L1369
+.L1368:
+ ldrh r0, [fp, #-2]
+ lsl r0, r4, r0
+ bl ftl_mask_bad_block
+.L1369:
+ ldr r3, [r6, #916]
+ movw r0, #1097
+ movw ip, #1096
+.L1370:
+ cmp r5, r3
+ bcc .L1371
+ sub r3, r3, #1
+ str r3, [r6, #916]
+.L1366:
+ add r9, r9, #1
+ b .L1365
+.L1371:
+ add r1, r5, r0
+ lsl r1, r1, #1
+ ldrh lr, [r10, r1]
+ add r1, r5, ip
+ lsl r1, r1, #1
+ add r5, r5, #1
+ uxth r5, r5
+ strh lr, [r10, r1] @ movhi
+ b .L1370
+.L1383:
.align 2
-.L1391:
+.L1382:
.word .LANCHOR0+4096
.word .LANCHOR3
.word .LANCHOR0
- .word .LANCHOR3-3132
- .word .LANCHOR0+2828
- .word .LC111
+ .word .LANCHOR3-3138
+ .word .LANCHOR0+2824
+ .word .LC108
.word 1145785929
.fnend
.size gc_free_bad_sblk, .-gc_free_bad_sblk
.align 2
.global ftl_free_sblk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_free_sblk, %function
ftl_free_sblk:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {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, .L1417
+ lsl r10, r0, #2
+ ldr r5, .L1407
.pad #20
sub sp, sp, #20
mov r7, r0
- ldr r6, [r5, #1080]
+ ldr r6, [r5, #1084]
add r8, r6, r10
ldrb r4, [r8, #2] @ zero_extendqisi2
tst r4, #8
- mov r3, r4, lsr #5
- str r3, [sp]
- beq .L1394
- ldr r9, [r5, #2804]
- movw r1, #1084
- ldrh r2, [r6, r10]
- ldr fp, [r6, r0, asl #2]
- ldrh r3, [r9, #74]
- ubfx r2, r2, #0, #11
- ldrh ip, [r9, #72]
- ubfx fp, fp, #11, #8
- add r3, r2, r3
- ldrh r9, [r5, r1]
- add ip, fp, ip
- str r2, [sp, #12]
- uxth r3, r3
+ lsr r3, r4, #5
str r3, [sp, #4]
- mov r1, r9
- uxth ip, ip
+ beq .L1385
+ ldr r1, [r5, #2800]
+ ldrh r3, [r6, r10]
+ ldr fp, [r6, r0, lsl #2]
+ ldrh r2, [r1, #74]
+ ubfx r3, r3, #0, #11
+ str r3, [sp, #12]
+ ubfx fp, fp, #11, #8
+ add r2, r3, r2
+ uxth r3, r2
+ ldrh r2, [r1, #72]
+ add r1, r5, #1088
+ ldrh r9, [r1]
mov r0, r3
- str ip, [sp, #8]
- bl __aeabi_uidiv
- 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 .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, #-12]
- add r3, r3, #8
- cmp r0, r3
- blt .L1401
- movw r3, #2794
- movw r0, #2788
- ldrh r0, [r5, r0]
- ldrh r3, [r5, r3]
- add r3, r3, r0
- movw r0, #2796
- ldrh ip, [r5, r0]
- add ip, r3, ip
- ldrh r3, [r1, #-14]
- add r3, r3, #8
- cmp ip, r3
- b .L1416
-.L1395:
- mla r3, r9, ip, r3
- ldrh r0, [r1, #-4]
- cmp r3, r0
- ble .L1397
- movw r3, #2794
- movw r0, #2788
- ldrh r0, [r5, r0]
- ldrh r3, [r5, r3]
- add r3, r3, r0
- movw r0, #2796
- ldrh ip, [r5, r0]
- add ip, r3, ip
- sub r3, r1, #544
- ldrh r1, [r3, #-14]
- add r0, r1, #8
- cmp ip, r0
- blt .L1414
- movw r0, #2798
- movw lr, #2790
- ldrh r0, [r5, r0]
- ldrh lr, [r5, lr]
- ldrh r3, [r3, #-12]
- add r0, r0, lr
- add r3, r3, #8
- cmp r0, r3
- blt .L1401
- add r1, r1, #24
- cmp ip, r1
-.L1416:
- bge .L1401
-.L1414:
- bfc r4, #3, #2
- b .L1412
-.L1401:
- mov r3, #2
- bfi r4, r3, #3, #2
-.L1412:
- strb r4, [r8, #2]
-.L1397:
- ldrb r3, [r8, #2] @ zero_extendqisi2
- ands r3, r3, #24
- bne .L1402
- mul r9, r9, fp
- ldrh r3, [r6, r10]
- mov fp, fp, lsr #3
- add r9, r9, r9, asl #1
- add r2, r2, r9, asr #2
- bfi r3, r2, #0, #11
- strh r3, [r6, r10] @ movhi
- ldr r4, [r6, r7, asl #2]
- bfi r4, fp, #11, #8
- str r4, [r6, r7, asl #2]
- b .L1403
-.L1402:
- cmp r3, #16
- bne .L1403
- mov r0, r2
+ add r2, r2, fp
+ str r3, [sp]
+ uxth r2, r2
mov r1, r9
- str r2, [sp, #4]
- bl __aeabi_idiv
- ldr r3, [r6, r7, asl #2]
- add r0, r0, r0, asl #1
- add fp, fp, r0, asr #2
- bfi r3, fp, #11, #8
- str r3, [r6, r7, asl #2]
- ldr r2, [sp, #4]
- ldrh r3, [r6, r10]
- mov r2, r2, asr #5
- bfi r3, r2, #0, #11
- b .L1413
-.L1394:
- tst r4, #24
- bne .L1403
- movw r3, #2792
- ldrh r3, [r5, r3]
- cmp r3, #0
- bne .L1403
- movw r3, #2790
- ldrh r1, [r5, r3]
- cmp r1, #15
- bhi .L1403
- movw r3, #2794
- movw r2, #2788
+ str r2, [sp, #8]
+ bl __aeabi_uidiv
+ ldr ip, .L1407+4
+ ldr r2, [sp, #8]
+ ldr r3, [sp, #12]
+ ldrh r1, [ip, #-12]
+ uxtah r0, r2, r0
+ cmp r0, r1
+ ble .L1386
+ movw r2, #2794
+ ldrh r0, [r5, r2]
+ movw r2, #2786
ldrh r2, [r5, r2]
- ldrh r3, [r5, r3]
- ldr r0, .L1417+8
- add r3, r3, r2
- movw r2, #2796
+ add r0, r0, r2
+ sub r2, ip, #560
+ ldrh r1, [r2, #-2]
+ add r1, r1, #8
+ cmp r0, r1
+ bge .L1387
+.L1392:
+ mov r2, #2
+ bfi r4, r2, #3, #2
+ b .L1403
+.L1387:
+ movw r1, #2790
+ add r0, r5, #2784
+ ldrh r0, [r0]
+ ldrh r1, [r5, r1]
+ ldrh r2, [r2, #-4]
+ add r1, r1, r0
+ movw r0, #2792
+ ldrh r0, [r5, r0]
+ add r2, r2, #8
+ add r1, r1, r0
+ cmp r1, r2
+.L1406:
+ bge .L1392
+ b .L1404
+.L1386:
+ ldr r1, [sp]
+ mla r2, r2, r9, r1
+ ldrh r1, [ip, #-10]
+ cmp r2, r1
+ ble .L1388
+ movw r2, #2790
+ ldrh r1, [r5, r2]
+ add r2, r5, #2784
+ ldrh r2, [r2]
+ add r1, r1, r2
+ movw r2, #2792
ldrh r2, [r5, r2]
- add r3, r3, r2
- ldrh r2, [r0, #-14]
- add r2, r2, #16
- cmp r3, r2
- ble .L1403
- movw r3, #2798
- ldrh r2, [r5, r3]
- ldrh r3, [r0, #-12]
- add r2, r2, r1
- add r3, r3, #8
- cmp r2, r3
- bge .L1403
- mov r3, #2
- bfi r4, r3, #3, #2
- strb r4, [r8, #2]
- movw r3, #1084
- ldrh r4, [r6, r10]
- ldrh r1, [r5, r3]
- ubfx r4, r4, #0, #11
- mov r0, r4
- mov r4, r4, asr #5
- bl __aeabi_idiv
- ldr r3, [r6, r7, asl #2]
- ubfx r2, r3, #11, #8
- add r0, r0, r0, asl #1
- add r0, r2, r0, asr #2
- bfi r3, r0, #11, #8
- str r3, [r6, r7, asl #2]
- ldrh r3, [r6, r10]
- bfi r3, r4, #0, #11
-.L1413:
- strh r3, [r6, r10] @ movhi
+ add r1, r1, r2
+ sub r2, ip, #560
+ ldrh r0, [r2, #-4]
+ add ip, r0, #8
+ cmp r1, ip
+ bge .L1390
+.L1404:
+ bfc r4, #3, #2
.L1403:
+ strb r4, [r8, #2]
+.L1388:
+ ldrb r2, [r8, #2] @ zero_extendqisi2
+ ands r2, r2, #24
+ bne .L1393
+ mul r9, r9, fp
+ ldrh r2, [r6, r10]
+ lsr fp, fp, #3
+ add r9, r9, r9, lsl #1
+ add r3, r3, r9, asr #2
+ bfi r2, r3, #0, #11
+ strh r2, [r6, r10] @ movhi
+ ldr r3, [r6, r7, lsl #2]
+ bfi r3, fp, #11, #8
+ str r3, [r6, r7, lsl #2]
+.L1394:
mov r0, r7
bl zftl_remove_data_node
- ldr r3, .L1417
+ ldr r3, .L1407
mov r0, #0
- ldr r2, [r3, #1080]
+ ldr r2, [r3, #1084]
mov r4, r3
add r10, r2, r10
ldrb r2, [r10, #2] @ zero_extendqisi2
bfc r2, #5, #3
strb r2, [r10, #2]
- ldr r1, [r3, #1088]
- mov r2, r7, asl #1
+ lsl r2, r7, #1
+ ldr r1, [r3, #1092]
strh r0, [r1, r2] @ movhi
- ldr r2, [sp]
+ ldr r2, [sp, #4]
add r2, r2, #6
and r2, r2, #7
cmp r2, #4
- bhi .L1406
+ bhi .L1397
mov r0, r7
bl gc_free_bad_sblk
-.L1406:
+.L1397:
ldrb r3, [r8, #2] @ zero_extendqisi2
tst r3, #8
- beq .L1407
- ldr r3, [r4, #1092]
+ beq .L1398
+ ldr r3, [r4, #1096]
movw r2, #586
ldrh r1, [r3, r2]
cmp r1, r7
- bne .L1407
+ bne .L1398
mvn r1, #0
strh r1, [r3, r2] @ movhi
movw r2, #590
- movw r1, #65535
ldrh r0, [r3, r2]
+ movw r1, #65535
cmp r0, r1
- bne .L1407
+ bne .L1398
strh r7, [r3, r2] @ movhi
mov r1, r7
- ldr r0, .L1417+12
+ ldr r0, .L1407+8
add sp, sp, #20
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, lr}
b printk
-.L1407:
+.L1390:
+ movw ip, #2794
+ movw lr, #2786
+ ldrh ip, [r5, ip]
+ ldrh lr, [r5, lr]
+ ldrh r2, [r2, #-2]
+ add ip, ip, lr
+ add r2, r2, #8
+ cmp ip, r2
+ blt .L1392
+ add r0, r0, #24
+ cmp r1, r0
+ b .L1406
+.L1393:
+ cmp r2, #16
+ bne .L1394
+ mov r0, r3
+ mov r1, r9
+ str r3, [sp]
+ bl __aeabi_idiv
+ add r0, r0, r0, lsl #1
+ ldr r2, [r6, r7, lsl #2]
+ add fp, fp, r0, asr #2
+ bfi r2, fp, #11, #8
+ str r2, [r6, r7, lsl #2]
+ ldr r3, [sp]
+ ldrh r2, [r6, r10]
+ asr r3, r3, #5
+ bfi r2, r3, #0, #11
+ strh r2, [r6, r10] @ movhi
+ b .L1394
+.L1385:
+ tst r4, #24
+ bne .L1394
+ movw r3, #2788
+ ldrh r3, [r5, r3]
+ cmp r3, #0
+ bne .L1394
+ movw r3, #2786
+ ldrh r0, [r5, r3]
+ cmp r0, #15
+ bhi .L1394
+ movw r3, #2790
+ add r2, r5, #2784
+ ldrh r2, [r2]
+ ldrh r3, [r5, r3]
+ ldr ip, .L1407+12
+ add r3, r3, r2
+ movw r2, #2792
+ ldrh r2, [r5, r2]
+ ldrh r1, [ip, #-4]
+ add r3, r3, r2
+ add r1, r1, #16
+ cmp r3, r1
+ ble .L1394
+ movw r3, #2794
+ ldrh r2, [r5, r3]
+ ldrh r3, [ip, #-2]
+ add r2, r2, r0
+ add r3, r3, #8
+ cmp r2, r3
+ bge .L1394
+ mov r3, #2
+ add r5, r5, #1088
+ bfi r4, r3, #3, #2
+ ldrh r1, [r5]
+ strb r4, [r8, #2]
+ ldrh r4, [r6, r10]
+ ubfx r4, r4, #0, #11
+ mov r0, r4
+ asr r4, r4, #5
+ bl __aeabi_idiv
+ ldr r3, [r6, r7, lsl #2]
+ add r0, r0, r0, lsl #1
+ ubfx r2, r3, #11, #8
+ add r0, r2, r0, asr #2
+ bfi r3, r0, #11, #8
+ str r3, [r6, r7, lsl #2]
+ ldrh r3, [r6, r10]
+ bfi r3, r4, #0, #11
+ strh r3, [r6, r10] @ movhi
+ b .L1394
+.L1398:
mov r0, r7
add sp, sp, #20
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, lr}
b zftl_insert_free_list
-.L1418:
+.L1408:
.align 2
-.L1417:
+.L1407:
.word .LANCHOR0
.word .LANCHOR3-2528
- .word .LANCHOR3-3072
- .word .LC112
+ .word .LC109
+ .word .LANCHOR3-3088
.fnend
.size ftl_free_sblk, .-ftl_free_sblk
.align 2
.global gc_free_src_blk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_free_src_blk, %function
gc_free_src_blk:
.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}
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
mov r5, #0
- ldr r6, .L1458
- ldr r8, .L1458+4
- mov r7, r6
-.L1420:
- ldrh r2, [r8, #52]
+ ldr r8, .L1447
+ ldr r7, .L1447+4
+ mov r6, r8
+.L1410:
+ ldrh r2, [r7, #52]
uxth r3, r5
cmp r2, r3
- bls .L1457
- add r3, r8, r3, asl #1
+ bhi .L1424
+ mov r3, #0
+ strh r3, [r7, #52] @ movhi
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L1424:
+ uxth r3, r5
+ add r3, r7, r3, lsl #1
ldrh r4, [r3, #54]
- ldr r3, [r6, #1088]
- mov r9, r4, asl #1
+ ldr r3, [r8, #1092]
+ lsl r9, r4, #1
ldrh r2, [r3, r9]
cmp r2, #0
- beq .L1421
- ldr r0, .L1458+8
+ beq .L1411
mov r1, r4
+ ldr r0, .L1447+8
bl printk
-.L1421:
- ldr r3, [r7, #1088]
+.L1411:
+ ldr r3, [r6, #1092]
mov r2, #0
strh r2, [r3, r9] @ movhi
- ldr r3, [r7, #1088]
+ ldr r3, [r6, #1092]
ldrh r3, [r3, r9]
cmp r3, r2
- bne .L1422
- ldr r3, .L1458+12
- ldr r9, [r6, #1080]
+ bne .L1412
+ ldr r3, .L1447+12
+ ldr r9, [r6, #1084]
ldr r3, [r3]
- add r9, r9, r4, asl #2
+ add r9, r9, r4, lsl #2
tst r3, #256
- beq .L1423
+ beq .L1413
ldrb r2, [r9, #2] @ zero_extendqisi2
mov r1, r4
- ldr r0, .L1458+16
- mov r2, r2, lsr #5
+ ldr r0, .L1447+16
+ lsr r2, r2, #5
bl printk
-.L1423:
+.L1413:
ldrb r3, [r9, #2] @ zero_extendqisi2
- tst r3, #192
- and r3, r3, #224
- moveq r2, #1
- movne r2, #0
- cmp r3, #224
- movne r3, r2
- orreq r3, r2, #1
+ and r2, r3, #224
+ and r3, r3, #192
cmp r3, #0
- beq .L1424
- ldr r1, .L1458+20
+ cmpne r2, #224
+ bne .L1414
movw r2, #1363
- ldr r0, .L1458+24
+ ldr r1, .L1447+20
+ ldr r0, .L1447+24
bl printk
bl dump_stack
-.L1424:
+.L1414:
mov r0, r4
bl ftl_free_sblk
- ldr r3, [r7, #1092]
+ ldr r3, [r6, #1096]
ldrh r1, [r3, #124]
cmp r1, #0
- beq .L1425
- add r0, r3, #388
+ beq .L1415
+ add r0, r3, #392
mov r2, #0
- add r0, r0, #2
-.L1427:
- ldrh ip, [r0, #2]!
- cmp ip, r4
- bne .L1426
+.L1417:
+ ldrh ip, [r0], #2
+ cmp r4, ip
+ bne .L1416
add r2, r2, #196
mvn r0, #0
+ lsl r2, r2, #1
add r1, r1, r0
- mov r2, r2, asl #1
strh r0, [r3, r2] @ movhi
strh r1, [r3, #124] @ movhi
- b .L1425
-.L1426:
- add r2, r2, #1
- cmp r2, #64
- bne .L1427
-.L1425:
+.L1415:
ldrh r1, [r3, #120]
cmp r1, #0
- beq .L1428
- add r0, r3, #134
+ beq .L1418
+ add r0, r3, #136
mov r2, #0
-.L1430:
- ldrh ip, [r0, #2]!
- cmp ip, r4
- bne .L1429
- add r2, r3, r2, asl #1
+.L1420:
+ ldrh ip, [r0], #2
+ cmp r4, ip
+ bne .L1419
mvn r0, #0
+ add r2, r3, r2, lsl #1
add r1, r1, r0
strh r0, [r2, #136] @ movhi
strh r1, [r3, #120] @ movhi
- b .L1428
-.L1429:
- add r2, r2, #1
- cmp r2, #64
- bne .L1430
-.L1428:
- ldrh r0, [r3, #122]
- cmp r0, #0
- beq .L1431
- add r1, r3, #260
+.L1418:
+ ldrh r1, [r3, #122]
+ cmp r1, #0
+ beq .L1421
+ add r0, r3, #264
mov r2, #0
- add r1, r1, #2
-.L1433:
- ldrh ip, [r1, #2]!
- cmp ip, r4
- bne .L1432
+.L1423:
+ ldrh ip, [r0], #2
+ cmp r4, ip
+ bne .L1422
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 .L1431
-.L1432:
+ mvn r0, #0
+ lsl r2, r2, #1
+ add r1, r1, r0
+ strh r0, [r3, r2] @ movhi
+ strh r1, [r3, #122] @ movhi
+.L1421:
+ add r5, r5, #1
+ b .L1410
+.L1416:
add r2, r2, #1
cmp r2, #64
- bne .L1433
- b .L1431
+ bne .L1417
+ b .L1415
+.L1419:
+ add r2, r2, #1
+ cmp r2, #64
+ bne .L1420
+ b .L1418
.L1422:
- mov r0, r4
+ add r2, r2, #1
+ cmp r2, #64
+ bne .L1423
+ b .L1421
+.L1412:
mov r1, #1
+ mov r0, r4
bl gc_add_sblk
-.L1431:
- add r5, r5, #1
- 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}
-.L1459:
+ b .L1421
+.L1448:
.align 2
-.L1458:
+.L1447:
.word .LANCHOR0
- .word .LANCHOR0+2828
- .word .LC113
+ .word .LANCHOR0+2824
+ .word .LC110
.word .LANCHOR2
- .word .LC114
- .word .LANCHOR1+1752
+ .word .LC111
+ .word .LANCHOR1+1581
.word .LC0
.fnend
.size gc_free_src_blk, .-gc_free_src_blk
.align 2
.global print_ftl_debug_info
+ .syntax unified
+ .arm
+ .fpu softvfp
.type print_ftl_debug_info, %function
print_ftl_debug_info:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, lr}
+ push {r4, lr}
.save {r4, lr}
- movw ip, #2790
- ldr r4, .L1462
.pad #32
sub sp, sp, #32
- ldr r3, [r4, #2804]
- ldrh ip, [r4, ip]
- ldr r0, [r4, #1092]
- ldrh r1, [r3, #148]
- ldrh r2, [r3, #146]
- movw r3, #2788
- str ip, [sp]
- movw ip, #2792
- ldrh ip, [r4, ip]
- ldrh r3, [r4, r3]
- str ip, [sp, #4]
- movw ip, #2794
- ldrh ip, [r4, ip]
- str ip, [sp, #8]
- movw ip, #2796
- ldrh ip, [r4, ip]
- str ip, [sp, #12]
- movw ip, #2798
- ldrh ip, [r4, ip]
- str ip, [sp, #16]
- ldr ip, [r0, #524]
- str ip, [sp, #20]
- ldr r0, [r0, #528]
- str r0, [sp, #24]
- ldr r0, [r4, #2784]
- str r0, [sp, #28]
- ldr r0, .L1462+4
- bl printk
- ldr r2, [r4, #2804]
- ldrb r3, [r4, #2801] @ zero_extendqisi2
- ldr r0, .L1462+8
- ldr r1, [r2, #8]
- str r1, [sp]
- ldr r1, [r2, #64]
- str r1, [sp, #4]
- ldr r1, [r2, #20]
- ldr r2, [r2, #28]
- bl printk
- ldr r2, [r4, #2804]
- ldr r0, .L1462+12
- ldr r3, [r2, #16]
- ldr r1, [r2, #52]
- ldr r2, [r2, #60]
- mov r3, r3, lsr #11
- bl printk
- ldr r2, [r4, #2804]
- ldrh r0, [r2, #92]
- ldrh r1, [r2, #74]
- ldrh r3, [r2, #88]
- str r0, [sp]
- ldrh r0, [r2, #96]
- str r0, [sp, #4]
- ldrh r0, [r2, #72]
- str r0, [sp, #8]
- ldr r0, [r2, #80]
- str r0, [sp, #12]
- ldrh r0, [r2, #90]
- str r0, [sp, #16]
- ldrh r0, [r2, #94]
+ ldr r4, .L1451
+ ldr r1, [r4, #2800]
+ add r3, r4, #2784
+ ldr r0, [r4, #1096]
+ ldr ip, [r4, #2780]
+ ldrh r2, [r1, #146]
+ ldrh r3, [r3]
+ ldrh r1, [r1, #148]
+ str ip, [sp, #28]
+ ldr ip, [r0, #528]
+ str ip, [sp, #24]
+ ldr r0, [r0, #524]
str r0, [sp, #20]
- ldrh r0, [r2, #98]
- str r0, [sp, #24]
- ldr r0, .L1462+16
- ldr r2, [r2, #84]
- bl printk
- add r0, r4, #2816
- movw r3, #2810
- ldrh r0, [r0]
- ldrh r1, [r4, r3]
- movw r3, #2812
- ldrh r2, [r4, r3]
- movw r3, #2814
- ldrh r3, [r4, r3]
- str r0, [sp]
- movw r0, #2808
+ movw r0, #2794
+ ldrh r0, [r4, r0]
+ str r0, [sp, #16]
+ movw r0, #2792
+ ldrh r0, [r4, r0]
+ str r0, [sp, #12]
+ movw r0, #2790
+ ldrh r0, [r4, r0]
+ str r0, [sp, #8]
+ movw r0, #2788
ldrh r0, [r4, r0]
str r0, [sp, #4]
- ldr r0, .L1462+20
- bl printk
- ldr r0, [r4, #1092]
- movw lr, #590
- ldr ip, [r4, #2804]
- add r3, r0, #584
- ldrh r1, [r3]
- movw r3, #586
- ldrh r2, [r0, r3]
- add r3, r0, #588
- ldrh r0, [r0, lr]
- ldrh r3, [r3]
+ movw r0, #2786
+ ldrh r0, [r4, r0]
str r0, [sp]
- ldr r0, [ip, #156]
- str r0, [sp, #4]
- ldrh r0, [ip, #150]
+ ldr r0, .L1451+4
+ bl printk
+ ldr r1, [r4, #2800]
+ ldrb r3, [r4, #2797] @ zero_extendqisi2
+ ldr r0, .L1451+8
+ ldr r2, [r1, #64]
+ str r2, [sp, #4]
+ ldr r2, [r1, #8]
+ str r2, [sp]
+ ldr r2, [r1, #28]
+ ldr r1, [r1, #20]
+ bl printk
+ ldr r1, [r4, #2800]
+ ldr r0, .L1451+12
+ ldr r3, [r1, #16]
+ ldr r2, [r1, #60]
+ ldr r1, [r1, #52]
+ lsr r3, r3, #11
+ bl printk
+ ldr r2, [r4, #2800]
+ ldrh r0, [r2, #98]
+ ldrh r3, [r2, #88]
+ ldrh r1, [r2, #74]
+ str r0, [sp, #24]
+ ldrh r0, [r2, #94]
+ str r0, [sp, #20]
+ ldrh r0, [r2, #90]
+ str r0, [sp, #16]
+ ldr r0, [r2, #80]
+ str r0, [sp, #12]
+ ldrh r0, [r2, #72]
str r0, [sp, #8]
- ldr r0, .L1462+24
+ ldrh r0, [r2, #96]
+ str r0, [sp, #4]
+ ldrh r0, [r2, #92]
+ str r0, [sp]
+ ldr r0, .L1451+16
+ ldr r2, [r2, #84]
+ bl printk
+ movw r0, #2804
+ movw r3, #2818
+ ldrh r0, [r4, r0]
+ movw r2, #2806
+ movw r1, #2808
+ ldrh r3, [r4, r3]
+ ldrh r2, [r4, r2]
+ str r0, [sp, #4]
+ add r0, r4, #2816
+ ldrh r0, [r0]
+ ldrh r1, [r4, r1]
+ str r0, [sp]
+ ldr r0, .L1451+20
+ bl printk
+ ldr ip, [r4, #2800]
+ movw r2, #586
+ ldr r0, [r4, #1096]
+ ldrh lr, [ip, #150]
+ add r3, r0, #588
+ add r1, r0, #584
+ ldrh r2, [r0, r2]
+ ldrh r3, [r3]
+ ldrh r1, [r1]
+ str lr, [sp, #8]
+ ldr ip, [ip, #156]
+ str ip, [sp, #4]
+ movw ip, #590
+ ldrh r0, [r0, ip]
+ str r0, [sp]
+ ldr r0, .L1451+24
bl printk
add sp, sp, #32
@ sp needed
- ldmfd sp!, {r4, pc}
-.L1463:
+ pop {r4, pc}
+.L1452:
.align 2
-.L1462:
+.L1451:
.word .LANCHOR0
+ .word .LC112
+ .word .LC113
+ .word .LC114
.word .LC115
.word .LC116
.word .LC117
- .word .LC118
- .word .LC119
- .word .LC120
.fnend
.size print_ftl_debug_info, .-print_ftl_debug_info
.align 2
.global ftl_write_buf
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_write_buf, %function
ftl_write_buf:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, lr}
+ push {r4, r5, r6, lr}
.save {r4, r5, r6, lr}
subs r4, r0, #0
- bne .L1465
- ldr r1, .L1476
- movw r2, #810
- ldr r0, .L1476+4
+ bne .L1454
+ movw r2, #811
+ ldr r1, .L1464
+ ldr r0, .L1464+4
bl printk
bl dump_stack
bl print_ftl_debug_info
mvn r0, #0
- ldmfd sp!, {r4, r5, r6, pc}
-.L1465:
- ldr r5, .L1476+8
- ldrb r2, [r4, #40] @ zero_extendqisi2
- ldrb r3, [r5, #2772] @ zero_extendqisi2
- cmp r2, r3
- bls .L1470
- ldr r1, .L1476
- movw r2, #817
- ldr r0, .L1476+4
- bl printk
- bl dump_stack
-.L1470:
- ldrb r3, [r4, #40] @ zero_extendqisi2
- cmp r3, #0
- beq .L1467
- ldrb r2, [r5, #2772] @ zero_extendqisi2
- ldr r6, .L1476+8
- cmp r2, r3
- bcs .L1468
-.L1467:
- mov r0, r4
- bl zbuf_free
- ldrb r0, [r5, #2800] @ zero_extendqisi2
- ldmfd sp!, {r4, r5, r6, pc}
-.L1468:
+ pop {r4, r5, r6, pc}
+.L1457:
mov r1, r4
- ldr r0, .L1476+12
+ ldr r0, .L1464+8
bl buf_add_tail
- ldr r3, [r6, #2804]
+ ldr r3, [r6, #2800]
ldrb r1, [r4, #40] @ zero_extendqisi2
- ldrb r0, [r6, #2800] @ zero_extendqisi2
+ ldrb r0, [r6, #2796] @ zero_extendqisi2
ldr r2, [r3, #16]
add r0, r0, #1
add r2, r2, r1
+ uxtb r0, r0
str r2, [r3, #16]
ldr r2, [r3, #32]
- uxtb r0, r0
- strb r0, [r6, #2800]
+ strb r0, [r6, #2796]
add r2, r2, #1
str r2, [r3, #32]
- ldmfd sp!, {r4, r5, r6, pc}
-.L1477:
+ pop {r4, r5, r6, pc}
+.L1454:
+ ldr r3, .L1464+12
+ ldrb r1, [r4, #40] @ zero_extendqisi2
+ ldrb r2, [r3, #-2546] @ zero_extendqisi2
+ mov r5, r3
+ cmp r1, r2
+ bls .L1459
+ movw r2, #818
+ ldr r1, .L1464
+ ldr r0, .L1464+4
+ bl printk
+ bl dump_stack
+.L1459:
+ ldrb r3, [r4, #40] @ zero_extendqisi2
+ ldr r6, .L1464+16
+ cmp r3, #0
+ beq .L1456
+ ldrb r2, [r5, #-2546] @ zero_extendqisi2
+ cmp r2, r3
+ bcs .L1457
+.L1456:
+ mov r0, r4
+ bl zbuf_free
+ ldrb r0, [r6, #2796] @ zero_extendqisi2
+ pop {r4, r5, r6, pc}
+.L1465:
.align 2
-.L1476:
- .word .LANCHOR1+1768
+.L1464:
+ .word .LANCHOR1+1597
.word .LC0
+ .word .LANCHOR0+2820
+ .word .LANCHOR3
.word .LANCHOR0
- .word .LANCHOR0+2824
.fnend
.size ftl_write_buf, .-ftl_write_buf
.align 2
.global ftl_write_completed
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_write_completed, %function
ftl_write_completed:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
.save {r4, r5, r6, r7, r8, r9, r10, lr}
- mov r5, #0
- ldr r8, .L1496
- ldr r9, .L1496+4
+ mov r10, #0
+ ldr r8, .L1483
+ ldr r9, .L1483+4
mov r6, r8
-.L1479:
- ldrb r10, [r8, #2778] @ zero_extendqisi2
- cmp r10, #255
- beq .L1495
- mov r4, #48
- ldr r7, .L1496+8
- mul r4, r4, r10
- add r7, r7, r4
- add r4, r8, r4
- ldrb r3, [r4, #1236] @ zero_extendqisi2
- strb r3, [r8, #2778]
- ldr r3, [r4, #1272]
- cmn r3, #1
- bne .L1480
- ldr r4, .L1496+12
- ldrb r3, [r4, #-2536] @ zero_extendqisi2
+.L1467:
+ ldrb r5, [r8, #2773] @ zero_extendqisi2
+ cmp r5, #255
+ bne .L1478
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L1478:
+ mov r2, #48
+ ldr r3, .L1483+8
+ mul r2, r2, r5
+ add r7, r5, r5, lsl #1
+ add r7, r3, r7, lsl #4
+ add r4, r8, r2
+ ldrb r1, [r4, #1232] @ zero_extendqisi2
+ strb r1, [r8, #2773]
+ ldr r1, [r4, #1268]
+ cmn r1, #1
+ bne .L1468
+ ldr r1, .L1483+12
+ ldrb r3, [r1, #-2542] @ zero_extendqisi2
cmp r3, #0
- bne .L1481
- ldrb r3, [r4, #-3122] @ zero_extendqisi2
+ bne .L1469
+ ldrb r3, [r1, #-3126] @ zero_extendqisi2
cmp r3, #0
- beq .L1482
-.L1481:
- ldr r3, [r6, #2804]
+ beq .L1470
+.L1469:
+ ldr r3, [r6, #2800]
ldr r3, [r3, #156]
cmp r3, r9
- beq .L1483
-.L1482:
- mov r5, #48
- ldr r3, .L1496+16
- mla r5, r5, r10, r6
- ldrb r1, [r4, #-3130] @ zero_extendqisi2
+ beq .L1471
+.L1470:
+ mov r10, #48
+ ldr r3, .L1483+16
+ mla r10, r10, r5, r6
+ ldrb r1, [r1, #-3136] @ zero_extendqisi2
ldrh r0, [r3]
- ldrb r3, [r6, #1189] @ zero_extendqisi2
+ ldrb r3, [r6, #1153] @ zero_extendqisi2
+ ldr r2, [r10, #1256]
rsb r3, r3, #24
- ldr r2, [r5, #1260]
- rsb r3, r0, r3
- mov r2, r2, lsr r0
+ sub r3, r3, r0
+ lsr r2, r2, r0
mvn r0, #0
- bic r0, r2, r0, asl r3
+ bic r0, r2, r0, lsl r3
bl __aeabi_uidiv
- ldr r3, [r6, #1092]
+ ldr r3, [r6, #1096]
+ uxth r4, r0
movw r2, #65535
+ ldr r0, .L1483+20
ldr r1, [r3, #560]
cmp r1, r2
- uxth r4, r0
- streq r4, [r3, #560]
- ldreq r2, [r5, #1260]
- ldr r0, .L1496+20
mov r1, r4
+ streq r4, [r3, #560]
+ ldreq r2, [r10, #1256]
streq r2, [r3, #564]
mov r3, #48
- mla r10, r3, r10, r6
- ldr r2, [r10, #1256]
- ldr r3, [r10, #1260]
+ mla r5, r3, r5, r6
+ ldr r3, [r5, #1256]
+ ldr r2, [r5, #1252]
bl printk
- ldr r3, [r6, #1092]
+ ldr r3, [r6, #1096]
ldr r2, [r3, #556]
add r2, r2, #1
str r2, [r3, #556]
ldrh r2, [r3, #16]
cmp r2, r4
moveq r2, #0
- streqh r2, [r3, #22] @ movhi
- beq .L1483
+ strheq r2, [r3, #22] @ movhi
+ beq .L1471
ldrh r2, [r3, #48]
cmp r2, r4
moveq r2, #0
- streqh r2, [r3, #54] @ movhi
-.L1483:
+ strheq r2, [r3, #54] @ movhi
+.L1471:
mov r0, r7
- mov r5, #1
+ mov r10, #1
bl ftl_write_buf
- b .L1479
-.L1480:
- cmp r5, #1
- add r3, r4, #1248
- add r3, r3, #12
- bne .L1488
- ldr r1, [r4, #1256]
- ldr r2, [r4, #1260]
- ldr r0, .L1496+24
+ b .L1467
+.L1468:
+ cmp r10, #1
+ bne .L1476
+ ldr r2, [r4, #1256]
+ ldr r1, [r4, #1252]
+ ldr r0, .L1483+24
bl printk
mov r0, r7
bl ftl_write_buf
- b .L1479
-.L1488:
- ldr r1, [r3, #4]
- ldr r0, [r4, #1256]
- ldrh r2, [r7, #32]
+ b .L1467
+.L1476:
+ add r3, r3, r2
+ ldr r1, [r4, #1260]
+ ldrh r2, [r3, #32]
+ ldr r0, [r4, #1252]
bl lpa_hash_update_ppa
- ldrb r3, [r4, #1238] @ zero_extendqisi2
- and r5, r3, #4
- ands r5, r5, #255
+ ldrb r3, [r4, #1234] @ zero_extendqisi2
+ tst r3, #4
bicne r3, r3, #2
- strneb r3, [r4, #1238]
- movne r5, #0
- bne .L1479
+ strbne r3, [r4, #1234]
+ bne .L1467
mov r0, r7
bl zbuf_free
- b .L1479
-.L1495:
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
-.L1497:
+ b .L1467
+.L1484:
.align 2
-.L1496:
+.L1483:
.word .LANCHOR0
.word 1145785929
- .word .LANCHOR0+1236
+ .word .LANCHOR0+1232
.word .LANCHOR3
- .word .LANCHOR3-3132
- .word .LC121
- .word .LC122
+ .word .LANCHOR3-3138
+ .word .LC118
+ .word .LC119
.fnend
.size ftl_write_completed, .-ftl_write_completed
.align 2
.global zftl_add_read_buf
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_add_read_buf, %function
zftl_add_read_buf:
.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}
- subs r4, r0, #0
- bne .L1499
- ldr r1, .L1504
- movw r2, #1150
- ldr r0, .L1504+4
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
+ subs r5, r0, #0
+ bne .L1486
+ movw r2, #1151
+ ldr r1, .L1491
+ ldr r0, .L1491+4
bl printk
bl dump_stack
- ldmfd sp!, {r3, r4, r5, lr}
+ pop {r4, r5, r6, lr}
b print_ftl_debug_info
-.L1499:
- ldr r3, .L1504+8
- ldrb r2, [r4, #40] @ zero_extendqisi2
- ldrb r3, [r3, #2772] @ zero_extendqisi2
+.L1486:
+ ldr r4, .L1491+8
+ ldrb r2, [r5, #40] @ zero_extendqisi2
+ ldrb r3, [r4, #-2546] @ zero_extendqisi2
cmp r2, r3
- bls .L1501
- ldr r1, .L1504
- movw r2, #1157
- ldr r0, .L1504+4
+ bls .L1488
+ movw r2, #1158
+ ldr r1, .L1491
+ ldr r0, .L1491+4
bl printk
bl dump_stack
-.L1501:
- ldr r5, .L1504+12
- mov r1, r4
- ldr r0, .L1504+16
+.L1488:
+ mov r1, r5
+ ldr r0, .L1491+12
bl buf_add_tail
- ldrb r3, [r5, #-2529] @ zero_extendqisi2
+ ldrb r3, [r4, #-2535] @ zero_extendqisi2
add r3, r3, #1
- strb r3, [r5, #-2529]
- ldmfd sp!, {r3, r4, r5, pc}
-.L1505:
+ strb r3, [r4, #-2535]
+ pop {r4, r5, r6, pc}
+.L1492:
.align 2
-.L1504:
- .word .LANCHOR1+1784
+.L1491:
+ .word .LANCHOR1+1611
.word .LC0
- .word .LANCHOR0
.word .LANCHOR3
- .word .LANCHOR3-2530
+ .word .LANCHOR3-2536
.fnend
.size zftl_add_read_buf, .-zftl_add_read_buf
.align 2
.global sblk_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type sblk_init, %function
sblk_init:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L1507
+ ldr r3, .L1494
mvn r2, #0
mov r0, #0
- strb r2, [r3, #2775]
- strb r2, [r3, #2778]
- strb r2, [r3, #2776]
- strb r2, [r3, #2777]
+ strb r2, [r3, #2770]
+ strb r2, [r3, #2773]
+ strb r2, [r3, #2771]
+ strb r2, [r3, #2772]
bx lr
-.L1508:
+.L1495:
.align 2
-.L1507:
+.L1494:
.word .LANCHOR0
.fnend
.size sblk_init, .-sblk_init
.align 2
.global dump_sblk_queue
+ .syntax unified
+ .arm
+ .fpu softvfp
.type dump_sblk_queue, %function
dump_sblk_queue:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, lr}
+ push {r4, r5, r6, lr}
.save {r4, r5, r6, lr}
- ldr r4, .L1519
- ldr r0, .L1519+4
- ldrb r1, [r4, #2775] @ zero_extendqisi2
+ ldr r5, .L1506
+ ldr r0, .L1506+4
+ ldrb r1, [r5, #2770] @ zero_extendqisi2
bl printk
- ldrb r4, [r4, #2775] @ zero_extendqisi2
+ ldrb r4, [r5, #2770] @ zero_extendqisi2
cmp r4, #255
- ldmeqfd sp!, {r4, r5, r6, pc}
- ldr r3, .L1519+8
- mov r2, #48
- mov r6, r2
- mla r4, r2, r4, r3
- mov r5, r3
-.L1511:
- ldrb r1, [r4, #1] @ zero_extendqisi2
- ldrb r2, [r4, #42] @ zero_extendqisi2
+ popeq {r4, r5, r6, pc}
+ add r4, r4, r4, lsl #1
+ add r5, r5, #1232
+ ldr r6, .L1506+8
+ add r4, r5, r4, lsl #4
+.L1498:
ldr r3, [r4, #24]
- ldr r0, .L1519+12
+ mov r0, r6
+ ldrb r2, [r4, #42] @ zero_extendqisi2
+ ldrb r1, [r4, #1] @ zero_extendqisi2
bl printk
ldrb r4, [r4] @ zero_extendqisi2
cmp r4, #255
- ldmeqfd sp!, {r4, r5, r6, pc}
- mla r4, r6, r4, r5
- b .L1511
-.L1520:
+ popeq {r4, r5, r6, pc}
+ add r4, r4, r4, lsl #1
+ add r4, r5, r4, lsl #4
+ b .L1498
+.L1507:
.align 2
-.L1519:
+.L1506:
.word .LANCHOR0
- .word .LC123
- .word .LANCHOR0+1236
- .word .LC124
+ .word .LC120
+ .word .LC121
.fnend
.size dump_sblk_queue, .-dump_sblk_queue
.align 2
.global queue_lun_state
+ .syntax unified
+ .arm
+ .fpu softvfp
.type queue_lun_state, %function
queue_lun_state:
.fnstart
- @ args = 0, pretend = 0, frame = 0
+ @ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- ldr lr, .L1537
- ldrb ip, [lr, #2775] @ zero_extendqisi2
+ .pad #12
+ ldr lr, .L1520
+ ldrb ip, [lr, #2770] @ zero_extendqisi2
cmp ip, #255
- beq .L1529
- ldr r4, .L1537+4
+ beq .L1516
+ ldrb r3, [lr, #1153] @ zero_extendqisi2
mov r2, #1
- ldrb r3, [lr, #1189] @ zero_extendqisi2
- mov r9, #48
- sub r5, r4, #3120
- rsb r7, r3, #24
- ldrb r4, [r4, #-3130] @ zero_extendqisi2
- ldrh r8, [r5, #-12]
- mov r3, r2, asl r3
- sub r4, r4, #1
+ mov r8, #48
+ movw r10, #1274
+ rsb r6, r3, #24
+ lsl r3, r2, r3
sub r3, r3, #1
- rsb r5, r8, r7
- mov r2, r2, asl r5
- uxth r4, r4
- sub r2, r2, #1
uxth r3, r3
- and r5, r4, r0, asr r8
- and r10, r3, r0, asr r7
+ and r4, r3, r0, asr r6
+ str r4, [sp]
+ ldr r4, .L1520+4
+ sub r5, r4, #3136
+ ldrb r4, [r4, #-3136] @ zero_extendqisi2
+ ldrh r7, [r5, #-2]
+ sub r4, r4, #1
+ sub r5, r6, r7
+ uxth r4, r4
+ lsl r2, r2, r5
+ and r0, r4, r0, asr r7
+ sub r2, r2, #1
uxth r2, r2
+ and r0, r0, r2
+ str r0, [sp, #4]
+.L1515:
+ mla r0, r8, ip, lr
+ ldr r9, [sp]
+ movw r5, #1256
+ ldr r5, [r0, r5]
+ and fp, r3, r5, lsr r6
+ cmp r9, fp
+ bne .L1510
+ and r5, r4, r5, lsr r7
+ ldr r9, [sp, #4]
+ ldrb r0, [r0, r10] @ zero_extendqisi2
and r5, r5, r2
-.L1528:
- mla r0, r9, ip, lr
- ldr r6, [r0, #1260]
- and fp, r3, r6, lsr r7
- cmp fp, r10
- bne .L1523
- and r6, r4, r6, lsr r8
- ldrb r0, [r0, #1278] @ zero_extendqisi2
- and r6, r6, r2
- cmp r6, r5
- bne .L1524
+ cmp r9, r5
+ bne .L1511
cmp r1, #1
- ldmnefd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
- sub r6, r0, #7
- tst r6, #253
- beq .L1523
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L1524:
+ bne .L1508
+.L1513:
+ sub r5, r0, #7
+ tst r5, #253
+ beq .L1510
+.L1508:
+ add sp, sp, #12
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L1511:
cmp r1, #3
ldrls pc, [pc, r1, asl #2]
- b .L1523
-.L1525:
- .word .L1522
- .word .L1526
- .word .L1527
- .word .L1522
-.L1526:
- sub r6, r0, #7
- tst r6, #253
- beq .L1523
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L1527:
+ b .L1510
+.L1512:
+ .word .L1508
+ .word .L1513
+ .word .L1514
+ .word .L1508
+.L1514:
cmp r0, #11
- ldmnefd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L1523:
- mla ip, r9, ip, lr
- ldrb ip, [ip, #1236] @ zero_extendqisi2
+ bne .L1508
+.L1510:
+ mla ip, r8, ip, lr
+ ldrb ip, [ip, #1232] @ zero_extendqisi2
cmp ip, #255
- bne .L1528
-.L1529:
+ bne .L1515
+.L1516:
mov r0, #0
-.L1522:
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L1538:
+ b .L1508
+.L1521:
.align 2
-.L1537:
+.L1520:
.word .LANCHOR0
.word .LANCHOR3
.fnend
.size queue_lun_state, .-queue_lun_state
.align 2
.global queue_remove_completed_req
+ .syntax unified
+ .arm
+ .fpu softvfp
.type queue_remove_completed_req, %function
queue_remove_completed_req:
.fnstart
- @ args = 0, pretend = 0, frame = 8
+ @ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
- ldr r3, .L1566
+ ldr r3, .L1548
mov ip, #0
- stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- .pad #12
+ .pad #20
+ sub sp, sp, #20
+ ldr r7, .L1548+4
mov r0, #48
- ldrb r1, [r3, #2777] @ zero_extendqisi2
- mov r8, r3
- ldrb r2, [r3, #2775] @ zero_extendqisi2
- mvn r9, #0
- ldrb r6, [r3, #2776] @ zero_extendqisi2
- mov r4, r3
- ldrb r7, [r3, #2778] @ zero_extendqisi2
- mov r5, r0
- ldr r10, .L1566+4
+ mvn r4, #0
+ movw r5, #1275
+ ldrb r1, [r3, #2771] @ zero_extendqisi2
+ movw r6, #1233
+ ldrb r2, [r3, #2770] @ zero_extendqisi2
+ add r8, r3, #1232
+ add r9, r7, #1
+ add r10, r7, #2
+ str r1, [sp, #8]
+ ldrb r1, [r3, #2773] @ zero_extendqisi2
+ str r1, [sp, #12]
+ ldrb r1, [r3, #2772] @ zero_extendqisi2
str r1, [sp, #4]
-.L1540:
+.L1523:
cmp r2, #255
- beq .L1541
+ beq .L1524
mla fp, r0, r2, r3
+ movw lr, #1274
mov r1, r2
- ldrb lr, [fp, #1278] @ zero_extendqisi2
+ ldrb lr, [fp, lr] @ zero_extendqisi2
sub lr, lr, #12
cmp lr, #1
- bls .L1542
+ bls .L1525
cmp ip, #0
- ldrne r3, .L1566
- beq .L1539
- b .L1564
-.L1542:
+ beq .L1522
+.L1547:
+ strb r2, [r3, #2770]
+ b .L1522
+.L1525:
mul ip, r0, r1
- ldrb r2, [fp, #1236] @ zero_extendqisi2
- add lr, r8, ip
- ldrb fp, [lr, #1279] @ zero_extendqisi2
- strb r9, [lr, #1236]
+ ldrb r2, [fp, #1232] @ zero_extendqisi2
+ add lr, r3, ip
+ ldrb fp, [lr, r5] @ zero_extendqisi2
+ strb r4, [lr, #1232]
cmp fp, #1
- bne .L1545
- add ip, r10, ip
+ bne .L1528
+ add ip, r8, ip
ldrh ip, [ip, #34]
cmp ip, #0
- moveq ip, r7
- ldreq lr, .L1566+8
+ ldreq ip, [sp, #12]
+ moveq lr, r10
ldrne ip, [sp, #4]
- ldrne lr, .L1566+12
- b .L1546
-.L1545:
- cmp fp, #0
- beq .L1565
-.L1547:
- mov ip, #1
- b .L1540
-.L1565:
- ldr ip, [lr, #1256]
- cmn ip, #1
- movne ip, r6
- ldrne lr, .L1566+16
- beq .L1547
-.L1546:
+ movne lr, r9
+.L1529:
cmp ip, #255
- bne .L1551
- strb r2, [r3, #2775]
+ bne .L1534
+ strb r2, [r3, #2770]
mov r2, #48
- mla r1, r2, r1, r3
- ldrb r3, [r1, #1237] @ zero_extendqisi2
+ mla r3, r2, r1, r3
+ ldrb r3, [r3, #1233] @ zero_extendqisi2
strb r3, [lr]
- b .L1539
-.L1551:
+.L1522:
+ add sp, sp, #20
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L1528:
+ cmp fp, #0
+ bne .L1530
+ ldr ip, [lr, #1252]
+ cmn ip, #1
+ ldrne ip, [sp, #8]
+ movne lr, r7
+ bne .L1529
+.L1530:
+ mov ip, #1
+ b .L1523
+.L1534:
mov lr, ip
mla ip, r0, ip, r3
- ldrb ip, [ip, #1236] @ zero_extendqisi2
+ ldrb ip, [ip, #1232] @ zero_extendqisi2
cmp ip, #255
- bne .L1551
- mla r1, r5, r1, r4
- mla lr, r5, lr, r4
- ldrb r1, [r1, #1237] @ zero_extendqisi2
- strb r1, [lr, #1236]
- b .L1547
-.L1541:
+ bne .L1534
+ mla r1, r0, r1, r3
+ mla lr, r0, lr, r3
+ ldrb r1, [r1, r6] @ zero_extendqisi2
+ strb r1, [lr, #1232]
+ b .L1530
+.L1524:
cmp ip, #0
- beq .L1539
+ beq .L1522
mvn r2, #0
-.L1564:
- strb r2, [r3, #2775]
-.L1539:
- add sp, sp, #12
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L1567:
+ b .L1547
+.L1549:
.align 2
-.L1566:
+.L1548:
.word .LANCHOR0
- .word .LANCHOR0+1236
- .word .LANCHOR0+2778
- .word .LANCHOR0+2777
- .word .LANCHOR0+2776
+ .word .LANCHOR0+2771
.fnend
.size queue_remove_completed_req, .-queue_remove_completed_req
.align 2
.global pm_select_ram_region
+ .syntax unified
+ .arm
+ .fpu softvfp
.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, .L1583
+ ldr r1, .L1561
mov r3, #0
- movw r1, #65535
-.L1570:
- mov ip, r3, asl #3
- uxth r0, r3
- ldrh ip, [ip, r2]
- cmp ip, r1
- ldr ip, .L1583
- bxeq lr
+ movw r0, #65535
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
+ add r2, r1, #4
+.L1552:
+ lsl ip, r3, #3
+ uxth r4, r3
+ ldrh ip, [ip, r1]
+ cmp ip, r0
+ beq .L1551
add r3, r3, #1
cmp r3, #32
- bne .L1570
- mov r2, #0
- mov r0, r3
- mov r1, #32768
- stmfd sp!, {r4, r5, r6, lr}
- .save {r4, r5, r6, lr}
-.L1572:
- add r3, ip, r2, asl #3
- uxth lr, r2
- ldrh r3, [r3, #2]
- tst r3, #32768
- bne .L1571
- cmp r3, r1
- movcc r1, r3
- movcc r0, lr
-.L1571:
- add r2, r2, #1
- cmp r2, #32
- bne .L1572
- cmp r0, #32
- mov r4, r0
- ldmnefd sp!, {r4, r5, r6, pc}
- ldr r2, .L1583+4
- mov r3, #0
+ bne .L1552
+ mov r4, r3
+ mov r1, #0
+ mov r3, #32768
+ sub ip, r2, #4
+.L1554:
+ add r0, ip, r1, lsl #3
+ uxth lr, r1
+ ldrh r0, [r0, #2]
+ tst r0, #32768
+ bne .L1553
+ cmp r0, r3
+ movcc r3, r0
+ movcc r4, lr
+.L1553:
+ add r1, r1, #1
+ cmp r1, #32
+ bne .L1554
+ cmp r4, #32
+ bne .L1551
+ ldr r3, .L1561+4
mvn r1, #0
- sub r2, r2, #2528
- ldrb r5, [r2, #256] @ zero_extendqisi2
-.L1574:
- mov lr, r3, asl #3
- uxth r6, r3
- add r0, ip, lr
+ sub r2, r2, #4
+ ldrb lr, [r3, #-2276] @ zero_extendqisi2
+ mov r3, #0
+.L1556:
+ lsl ip, r3, #3
+ uxth r5, r3
+ add r0, r2, ip
ldrh r0, [r0, #2]
cmp r0, r1
- bcs .L1573
- ldrh lr, [lr, r2]
- cmp lr, r5
+ bcs .L1555
+ ldrh ip, [ip, r2]
+ cmp ip, lr
movne r1, r0
- movne r4, r6
-.L1573:
+ movne r4, r5
+.L1555:
add r3, r3, #1
cmp r3, #32
- bne .L1574
+ bne .L1556
cmp r4, #32
- bne .L1575
- ldr r1, .L1583+8
+ bne .L1551
movw r2, #377
- ldr r0, .L1583+12
+ ldr r1, .L1561+8
+ ldr r0, .L1561+12
bl printk
bl dump_stack
-.L1575:
+.L1551:
mov r0, r4
- ldmfd sp!, {r4, r5, r6, pc}
-.L1584:
+ pop {r4, r5, r6, pc}
+.L1562:
.align 2
-.L1583:
- .word .LANCHOR3-2528
+.L1561:
+ .word .LANCHOR3-2532
.word .LANCHOR3
- .word .LANCHOR1+1804
+ .word .LANCHOR1+1629
.word .LC0
.fnend
.size pm_select_ram_region, .-pm_select_ram_region
.align 2
.global ftl_memset
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_memset, %function
ftl_memset:
.fnstart
@@ -9193,518 +9449,503 @@
.size ftl_memset, .-ftl_memset
.align 2
.global flash_lsb_page_tbl_build
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_lsb_page_tbl_build, %function
flash_lsb_page_tbl_build:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, lr}
+ push {r4, r5, r6, lr}
.save {r4, r5, r6, lr}
mov r6, r0
- ldr r4, .L1630
+ ldr r5, .L1618
mov r0, #1024
- ldr r3, [r4, #1096]
+ ldr r3, [r5, #1104]
ldrb r1, [r3, #12] @ zero_extendqisi2
bl __aeabi_idiv
cmp r6, #0
- uxth r5, r0
- bne .L1587
- add r4, r4, #4
-.L1588:
- mov r3, r6, asl #1
- strh r6, [r3, r4] @ movhi
+ uxth r4, r0
+ bne .L1565
+ add r5, r5, #4
+.L1566:
+ lsl r3, r6, #1
+ strh r6, [r3, r5] @ movhi
add r6, r6, #1
cmp r6, #512
- bne .L1588
-.L1592:
- mov r1, #255
- ldr r0, .L1630+4
+ bne .L1566
+.L1572:
mov r2, #2048
+ mov r1, #255
+ ldr r0, .L1618+4
bl ftl_memset
+ ldr ip, .L1618+8
mov r3, #0
- ldr r1, .L1630+8
- ldr r0, .L1630+4
- b .L1589
-.L1587:
+ ldr r0, .L1618+4
+.L1567:
+ lsl r2, r3, #1
+ add r3, r3, #1
+ ldrh r2, [r2, ip]
+ lsl r1, r2, #1
+ strh r2, [r0, r1] @ movhi
+ uxth r2, r3
+ cmp r2, r4
+ bcc .L1567
+ pop {r4, r5, r6, pc}
+.L1565:
cmp r6, #1
- bne .L1590
- add r4, r4, #4
+ bne .L1568
mov r3, #0
-.L1591:
+ add r5, r5, #4
+.L1571:
+ cmp r3, #3
uxth r2, r3
- mov ip, r3, asl #1
- cmp r2, #3
- movls r0, #0
- movhi r0, #1
- bics r1, r0, r3
+ bls .L1569
+ tst r2, #1
+ movne r1, #3
+ moveq r1, #2
+ rsb r2, r1, r2, lsl #1
+ uxth r2, r2
+.L1569:
+ lsl r1, r3, #1
add r3, r3, #1
- movne r1, #2
- moveq r1, #3
- cmp r0, #0
- rsb r1, r1, r2, asl #1
- movne r2, r1
cmp r3, #512
- strh r2, [ip, r4] @ movhi
- bne .L1591
- b .L1592
-.L1590:
+ strh r2, [r1, r5] @ movhi
+ bne .L1571
+ b .L1572
+.L1568:
cmp r6, #2
- bne .L1593
- add r4, r4, #4
- mov r3, #0
-.L1594:
- uxth r2, r3
- mov r1, r3, asl #1
+ bne .L1573
+ mov r2, #0
+ add r5, r5, #4
+.L1575:
+ uxth r3, r2
cmp r2, #1
- add r3, r3, #1
- mov r0, r2, asl #1
- subhi r2, r0, #1
- cmp r3, #512
- strh r2, [r1, r4] @ movhi
- bne .L1594
- b .L1592
-.L1593:
+ lsl r1, r2, #1
+ add r2, r2, #1
+ lslhi r3, r3, #1
+ subhi r3, r3, #1
+ uxthhi r3, r3
+ cmp r2, #512
+ strh r3, [r1, r5] @ movhi
+ bne .L1575
+ b .L1572
+.L1573:
cmp r6, #3
- bne .L1595
- add r4, r4, #4
+ bne .L1576
mov r3, #0
-.L1596:
+ add r5, r5, #4
+.L1579:
+ cmp r3, #5
uxth r2, r3
- mov ip, r3, asl #1
- cmp r2, #5
- movls r0, #0
- movhi r0, #1
- bics r1, r0, r3
+ bls .L1577
+ tst r2, #1
+ movne r1, #5
+ moveq r1, #4
+ rsb r2, r1, r2, lsl #1
+ uxth r2, r2
+.L1577:
+ lsl r1, r3, #1
add r3, r3, #1
- movne r1, #4
- moveq r1, #5
- cmp r0, #0
- rsb r1, r1, r2, asl #1
- movne r2, r1
cmp r3, #512
- strh r2, [ip, r4] @ movhi
- bne .L1596
- b .L1592
-.L1595:
+ strh r2, [r1, r5] @ movhi
+ bne .L1579
+ b .L1572
+.L1576:
cmp r6, #4
+ mov r2, r5
mov r3, #0
- bne .L1597
- strh r3, [r4, #4] @ movhi
+ bne .L1580
+ strh r3, [r5, #4] @ movhi
mov r3, #1
- strh r6, [r4, #12] @ movhi
- strh r3, [r4, #6] @ movhi
+ strh r3, [r5, #6] @ movhi
mov r3, #2
- strh r3, [r4, #8] @ movhi
+ strh r3, [r5, #8] @ movhi
mov r3, #3
- strh r3, [r4, #10] @ movhi
+ strh r3, [r5, #10] @ movhi
mov r3, #5
- strh r3, [r4, #14] @ movhi
+ strh r3, [r5, #14] @ movhi
mov r3, #7
- strh r3, [r4, #16] @ movhi
+ strh r3, [r5, #16] @ movhi
mov r3, #8
- strh r3, [r4, #18]! @ movhi
-.L1598:
+ strh r6, [r5, #12] @ movhi
+ strh r3, [r5, #18]! @ movhi
+.L1582:
tst r3, #1
movne r2, #7
moveq r2, #6
- rsb r2, r2, r3, asl #1
+ rsb r2, r2, r3, lsl #1
add r3, r3, #1
- strh r2, [r4, #2]! @ movhi
uxth r3, r3
+ strh r2, [r5, #2]! @ movhi
cmp r3, #512
- bne .L1598
- b .L1592
-.L1597:
+ bne .L1582
+ b .L1572
+.L1580:
cmp r6, #5
- bne .L1599
- add r4, r4, #4
-.L1600:
- mov r2, r3, asl #1
- strh r3, [r2, r4] @ movhi
+ bne .L1583
+ add r1, r5, #4
+.L1584:
+ lsl r0, r3, #1
+ strh r3, [r0, r1] @ movhi
add r3, r3, #1
cmp r3, #16
- bne .L1600
- ldr r2, .L1630+12
-.L1601:
+ bne .L1584
+ add r2, r2, #34
+.L1585:
strh r3, [r2, #2]! @ movhi
add r3, r3, #2
uxth r3, r3
cmp r3, #1008
- bne .L1601
- b .L1592
-.L1599:
+ bne .L1585
+ b .L1572
+.L1583:
cmp r6, #8
- bne .L1602
- add r4, r4, #4
-.L1603:
- strh r3, [r3, r4] @ movhi
+ bne .L1586
+ add r5, r5, #4
+.L1587:
+ strh r3, [r3, r5] @ movhi
add r3, r3, #2
cmp r3, #1024
- bne .L1603
- b .L1592
-.L1602:
+ bne .L1587
+ b .L1572
+.L1586:
cmp r6, #9
- bne .L1604
- strh r3, [r4, #4] @ movhi
- movw r2, #1021
+ bne .L1588
+ strh r3, [r5, #4] @ movhi
mov r3, #1
- strh r3, [r4, #6] @ movhi
+ strh r3, [r5, #6] @ movhi
mov r3, #2
- strh r3, [r4, #8]! @ movhi
+ strh r3, [r5, #8]! @ movhi
+ movw r2, #1021
mov r3, #3
-.L1605:
- strh r3, [r4, #2]! @ movhi
+.L1589:
+ strh r3, [r5, #2]! @ movhi
add r3, r3, #2
uxth r3, r3
cmp r3, r2
- bne .L1605
- b .L1592
-.L1604:
+ bne .L1589
+ b .L1572
+.L1588:
cmp r6, #10
- bne .L1606
- add r4, r4, #4
-.L1607:
- mov r2, r3, asl #1
- strh r3, [r2, r4] @ movhi
+ bne .L1590
+ add r1, r5, #4
+.L1591:
+ lsl r0, r3, #1
+ strh r3, [r0, r1] @ movhi
add r3, r3, #1
cmp r3, #63
- bne .L1607
- ldr r2, .L1630+16
+ bne .L1591
+ add r2, r2, #128
movw r1, #961
-.L1608:
+.L1592:
strh r3, [r2, #2]! @ movhi
add r3, r3, #2
uxth r3, r3
cmp r3, r1
- bne .L1608
- b .L1592
-.L1606:
+ bne .L1592
+ b .L1572
+.L1590:
cmp r6, #11
- bne .L1609
- ldr r2, .L1630+8
+ bne .L1593
+ ldr r1, .L1618+8
mov r3, #0
-.L1610:
- mov r1, r3, asl #1
- strh r3, [r1, r2] @ movhi
+.L1594:
+ lsl r0, r3, #1
+ strh r3, [r0, r1] @ movhi
add r3, r3, #1
cmp r3, #8
- bne .L1610
- ldr r1, .L1630+20
-.L1611:
+ bne .L1594
+ add r2, r2, #18
+.L1596:
tst r3, #1
- movne r2, #7
- moveq r2, #6
- rsb r2, r2, r3, asl #1
+ movne r1, #7
+ moveq r1, #6
+ rsb r1, r1, r3, lsl #1
add r3, r3, #1
- strh r2, [r1, #2]! @ movhi
uxth r3, r3
+ strh r1, [r2, #2]! @ movhi
cmp r3, #512
- bne .L1611
- b .L1592
-.L1609:
+ bne .L1596
+ b .L1572
+.L1593:
cmp r6, #13
- bne .L1592
- ldr r2, .L1630+24
+ bne .L1572
+ ldr r2, .L1618+12
mov r3, #0
-.L1612:
+.L1597:
strh r3, [r2, #2]! @ movhi
add r3, r3, #3
uxth r3, r3
cmp r3, #1536
- bne .L1612
- b .L1592
-.L1589:
- uxth r2, r3
- cmp r2, r5
- 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 .L1589
-.L1629:
- ldmfd sp!, {r4, r5, r6, pc}
-.L1631:
+ bne .L1597
+ b .L1572
+.L1619:
.align 2
-.L1630:
+.L1618:
.word .LANCHOR0
- .word .LANCHOR3-2268
+ .word .LANCHOR3-2272
.word .LANCHOR0+4
- .word .LANCHOR0+34
- .word .LANCHOR0+128
- .word .LANCHOR0+18
.word .LANCHOR0+2
.fnend
.size flash_lsb_page_tbl_build, .-flash_lsb_page_tbl_build
.align 2
.global flash_die_info_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_die_info_init, %function
flash_die_info_init:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {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, .L1663
- ldr r3, [r5]
+ ldr r4, .L1638
+ ldr r3, [r4]
tst r3, #4096
- beq .L1633
- ldr r0, .L1663+4
- ldr r1, .L1663+8
+ beq .L1621
+ ldr r1, .L1638+4
+ ldr r0, .L1638+8
bl printk
-.L1633:
- ldrh r3, [r5, #30]
+.L1621:
+ ldrh r3, [r4, #30]
mov r7, #0
- ldr r4, .L1663+12
- ldrb r1, [r5, #16] @ zero_extendqisi2
- ldrh r0, [r5, #14]
- add r10, r4, #1200
- strh r3, [r4, #2] @ movhi
- strb r7, [r4, #1101]
+ ldr r5, .L1638+12
+ ldr r9, .L1638+16
+ ldr r6, .L1638+20
+ strh r3, [r5, #2] @ movhi
+ ldrb r1, [r4, #16] @ zero_extendqisi2
+ add r8, r9, #6
+ ldrh r0, [r4, #14]
+ mov r10, r8
+ strb r7, [r5, #1109]
bl __aeabi_idiv
- ldr r6, .L1663+16
- mov r1, r7
mov r2, #8
- ldr r9, .L1663+20
- strh r0, [r6, #-220] @ movhi
- ldr r0, .L1663+24
- bl ftl_memset
- sub r0, r6, #216
+ strh r0, [r6, #-224] @ movhi
mov r1, r7
- mov r2, #32
+ ldr r0, .L1638+24
bl ftl_memset
-.L1638:
- ldrb r2, [r5, #4] @ zero_extendqisi2
- add r1, r10, r7, asl #3
- ldr r8, .L1663+28
+ mov r2, #32
+ mov r1, r7
+ sub r0, r6, #220
+ bl ftl_memset
+.L1623:
mov r3, #2
- ldr r0, .L1663+32
+ ldrb r2, [r4, #4] @ zero_extendqisi2
strb r3, [r7, r9]
- mov r3, #0
-.L1634:
- cmp r3, r2
- bcs .L1661
- add ip, r0, r3
- ldrb lr, [ip, #1] @ zero_extendqisi2
- ldrb ip, [r1, r3] @ zero_extendqisi2
- cmp lr, ip
- bne .L1635
- add r3, r3, #1
- b .L1634
-.L1661:
- ldrb r3, [r4, #1101] @ zero_extendqisi2
- mov r1, #0
+ add r1, r8, r7, lsl #3
+ ldr r0, .L1638+28
+ bl flash_mem_cmp8
+ cmp r0, #0
+ ldr fp, .L1638+28
+ bne .L1622
+ ldrb r3, [r5, #1109] @ zero_extendqisi2
+ add r2, r6, r3, lsl #2
+ str r0, [r2, #-220]
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]
+ add r3, r5, r3
+ strb r2, [r5, #1109]
+ strb r0, [r3, #1144]
bl zftl_flash_enter_slc_mode
-.L1635:
+.L1622:
add r7, r7, #1
cmp r7, #4
- bne .L1638
- ldrb r2, [r5, #12] @ zero_extendqisi2
- ldr r3, .L1663
- cmp r2, #2
- 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
- strh r3, [r6, #-184] @ movhi
+ bne .L1623
+ ldrb r3, [r4, #12] @ zero_extendqisi2
+ cmp r3, #2
+ beq .L1624
+.L1628:
+ ldrb r2, [r4, #17] @ zero_extendqisi2
+ ldrb r3, [r5, #1109] @ zero_extendqisi2
+ smulbb r3, r3, r2
+ ldrh r2, [r4, #18]
+ smulbb r3, r3, r2
+ strh r3, [r6, #-188] @ movhi
add sp, sp, #12
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.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
- ldrb r7, [r3] @ zero_extendqisi2
- mul r2, r2, ip
- ldrb ip, [r3, #13] @ 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
-.L1644:
- add r9, r8, r2, asl #3
- mov r0, #0
-.L1640:
- cmp r0, r7
- bcs .L1662
- add r10, r3, r0
- ldrb fp, [r10, #1] @ zero_extendqisi2
- ldrb r10, [r9, r0] @ zero_extendqisi2
- cmp fp, r10
- bne .L1641
- add r0, r0, #1
- b .L1640
-.L1662:
- ldmia sp, {r9, lr}
- mov r0, r1
- add r1, r6, r1, asl #2
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L1624:
+ ldrb r3, [r4, #4] @ zero_extendqisi2
+ mov r7, #0
+ ldrh r8, [r5, #2]
+ ldrb r9, [r4, #27] @ zero_extendqisi2
+ str r3, [sp]
+ ldrh r3, [r4, #18]
+ and r3, r3, #65280
+ mul r3, r8, r3
+ ldrb r8, [r4, #17] @ zero_extendqisi2
+ mul r8, r8, r3
+ lsl r3, r8, #1
+.L1627:
+ ldr r2, [sp]
+ add r1, r10, r7, lsl #3
+ mov r0, fp
+ str r3, [sp, #4]
+ bl flash_mem_cmp8
+ cmp r0, #0
+ ldr r3, [sp, #4]
+ bne .L1625
+ ldrb r2, [r5, #1109] @ zero_extendqisi2
cmp r9, #0
- moveq lr, ip
- str lr, [r1, #-216]
- add r1, r0, #1
- add r0, r4, r0
- mov lr, #1
- uxtb r1, r1
- strb r2, [r0, #1180]
-.L1641:
- add r2, r2, #1
- cmp r2, #4
- bne .L1644
- cmp lr, #0
- strneb r1, [r4, #1101]
- b .L1646
-.L1664:
+ moveq r0, r8
+ movne r0, r3
+ add r1, r6, r2, lsl #2
+ str r0, [r1, #-220]
+ add r1, r2, #1
+ add r2, r5, r2
+ strb r1, [r5, #1109]
+ strb r7, [r2, #1144]
+.L1625:
+ add r7, r7, #1
+ cmp r7, #4
+ bne .L1627
+ b .L1628
+.L1639:
.align 2
-.L1663:
+.L1638:
.word .LANCHOR2
+ .word .LANCHOR1+1650
.word .LC4
- .word .LANCHOR1+1828
.word .LANCHOR0
+ .word .LANCHOR0+1154
.word .LANCHOR3
- .word .LANCHOR0+1192
- .word .LANCHOR0+1180
- .word .LANCHOR0+1200
- .word .LANCHOR2+4
+ .word .LANCHOR0+1144
+ .word .LANCHOR2+5
.fnend
.size flash_die_info_init, .-flash_die_info_init
.align 2
.global lpa_hash_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type lpa_hash_init, %function
lpa_hash_init:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, lr}
+ push {r4, lr}
.save {r4, lr}
- mov r1, #255
- ldr r4, .L1667
mov r2, #512
+ ldr r4, .L1642
+ mov r1, #255
sub r0, r4, #3056
- sub r0, r0, #4
+ sub r0, r0, #14
bl ftl_memset
sub r3, r4, #3088
- ldr r0, [r4, #-2544]
+ ldrb r2, [r4, #-3127] @ zero_extendqisi2
+ ldrh r3, [r3, #-8]
mov r1, #255
- ldrh r2, [r3, #-8]
- ldrb r3, [r4, #-3123] @ zero_extendqisi2
- mul r2, r3, r2
- mov r2, r2, asl #2
- ldmfd sp!, {r4, lr}
+ ldr r0, [r4, #-2552]
+ pop {r4, lr}
+ mul r2, r2, r3
+ lsl r2, r2, #2
b ftl_memset
-.L1668:
+.L1643:
.align 2
-.L1667:
+.L1642:
.word .LANCHOR3
.fnend
.size lpa_hash_init, .-lpa_hash_init
.align 2
.global lpa_rebuild_hash
+ .syntax unified
+ .arm
+ .fpu softvfp
.type lpa_rebuild_hash, %function
lpa_rebuild_hash:
.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 r3, .L1682
+ ldr r3, .L1656
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
ldr r3, [r3]
tst r3, #4096
- beq .L1670
- ldr r0, .L1682+4
- mov r2, #239
- ldr r1, .L1682+8
+ beq .L1645
mov r3, #0
+ mov r2, #239
+ ldr r1, .L1656+4
+ ldr r0, .L1656+8
bl printk
-.L1670:
- ldr r4, .L1682+12
- mov r1, #255
+.L1645:
+ ldr r4, .L1656+12
mov r2, #512
- ldr r0, .L1682+16
- sub r5, r4, #3088
- bl ftl_memset
- ldrb r3, [r4, #-3123] @ zero_extendqisi2
mov r1, #255
- ldrh r2, [r5, #-8]
- ldr r0, [r4, #-2544]
- mul r2, r3, r2
- mov r2, r2, asl #2
+ sub r5, r4, #3056
+ sub r6, r4, #3088
+ sub r5, r5, #14
+ mov r0, r5
bl ftl_memset
- sub lr, r5, #8
- add r5, r5, #28
- mov r0, #0
- mov ip, r4
-.L1671:
- ldrh r1, [lr]
- uxth r2, r0
- ldrb r3, [r4, #-3123] @ zero_extendqisi2
- mul r3, r3, r1
- cmp r2, r3, asl #1
- bge .L1681
- ldr r3, [ip, #-2548]
- ldr r3, [r3, r2, asl #2]
+ ldrh r3, [r6, #-8]
+ mov r1, #255
+ ldrb r2, [r4, #-3127] @ zero_extendqisi2
+ ldr r0, [r4, #-2552]
+ mul r2, r2, r3
+ lsl r2, r2, #2
+ bl ftl_memset
+ mov r1, #0
+.L1646:
+ ldrh r0, [r6, #-8]
+ uxth ip, r1
+ ldrb r3, [r4, #-3127] @ zero_extendqisi2
+ mov r2, ip
+ mul r3, r3, r0
+ cmp ip, r3, lsl #1
+ blt .L1648
+ pop {r4, r5, r6, pc}
+.L1648:
+ ldr r3, [r4, #-2556]
+ ldr r3, [r3, r2, lsl #2]
cmn r3, #1
- beq .L1672
+ beq .L1647
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, #-2544]
- strh r1, [r3, r2] @ movhi
-.L1672:
- add r0, r0, #1
- b .L1671
-.L1681:
- ldmfd sp!, {r3, r4, r5, pc}
-.L1683:
+ lsl r2, r2, #1
+ lsl r3, r3, #1
+ ldrh r0, [r5, r3]
+ strh ip, [r5, r3] @ movhi
+ ldr r3, [r4, #-2552]
+ strh r0, [r3, r2] @ movhi
+.L1647:
+ add r1, r1, #1
+ b .L1646
+.L1657:
.align 2
-.L1682:
+.L1656:
.word .LANCHOR2
- .word .LC125
- .word .LANCHOR1+1848
+ .word .LANCHOR1+1670
+ .word .LC122
.word .LANCHOR3
- .word .LANCHOR3-3060
.fnend
.size lpa_rebuild_hash, .-lpa_rebuild_hash
.align 2
.global zftl_read_flash_info
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_read_flash_info, %function
zftl_read_flash_info:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, lr}
+ push {r4, lr}
.save {r4, lr}
- mov r1, #0
mov r2, #11
+ mov r1, #0
mov r4, r0
bl ftl_memset
- ldr r2, .L1689
- ldr r3, .L1689+4
+ ldr r2, .L1662
mov ip, #1
- ldrh r1, [r2, #2]
- ldrb r0, [r3, #13] @ zero_extendqisi2
- smulbb r1, r0, r1
- ldr r0, .L1689+8
+ ldr r3, .L1662+4
+ ldrh r0, [r2, #2]
+ ldrb r1, [r3, #13] @ zero_extendqisi2
+ smulbb r1, r1, r0
+ ldr r0, .L1662+8
strh r1, [r4, #4] @ unaligned
- ldrb r1, [r2, #1172] @ zero_extendqisi2
+ ldrb r1, [r2, #1193] @ zero_extendqisi2
strb r1, [r4, #7]
ldr r1, [r2, #1032]
str r1, [r4] @ unaligned
@@ -9713,1348 +9954,1251 @@
mov r1, #32
ldrb r3, [r3, #11] @ zero_extendqisi2
strb r1, [r4, #8]
- ldrb r1, [r2, #1101] @ zero_extendqisi2
+ ldrb r1, [r2, #1109] @ zero_extendqisi2
strb r3, [r4, #9]
mov r3, #0
strb r3, [r4, #10]
-.L1685:
+.L1659:
uxtb r2, r3
- cmp r2, r1
- bcs .L1688
+ cmp r1, r2
+ bhi .L1660
+ pop {r4, pc}
+.L1660:
ldrb lr, [r3, r0] @ zero_extendqisi2
add r3, r3, #1
ldrb r2, [r4, #10] @ zero_extendqisi2
- orr r2, r2, ip, asl lr
+ orr r2, r2, ip, lsl lr
strb r2, [r4, #10]
- b .L1685
-.L1688:
- ldmfd sp!, {r4, pc}
-.L1690:
+ b .L1659
+.L1663:
.align 2
-.L1689:
+.L1662:
.word .LANCHOR0
.word .LANCHOR2
- .word .LANCHOR0+1180
+ .word .LANCHOR0+1144
.fnend
.size zftl_read_flash_info, .-zftl_read_flash_info
.align 2
- .global gc_init
- .type gc_init, %function
-gc_init:
- .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}
- movw r9, #2828
- ldr r6, .L1693
- mov r5, #0
- ldr r4, .L1693+4
- mov r1, r5
- 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, r9] @ movhi
- movw ip, #2812
- str r5, [r6, #2836]
- mov r3, r2, lsr #1
- strh r3, [r7, #34] @ movhi
- ldrb r3, [r4, #-3123] @ zero_extendqisi2
- mov r0, r2, lsr #2
- 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
- movw ip, #2810
- strh r1, [r6, ip] @ movhi
- add r1, r6, #2816
- strh r2, [r1] @ movhi
- mov r2, #4
- strh r2, [r4, #-176] @ movhi
- movw r2, #2814
- strh r0, [r6, r2] @ movhi
- sub r4, r4, #3072
- ldrh r0, [r7, #-10]
- mul r0, r3, r0
- mov r0, r0, asl #2
- bl ftl_malloc
- 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, #-10]
- str r0, [r4, #2904]
- ldrb r0, [r4, #-51] @ zero_extendqisi2
- mul r0, r0, r3
- bl ftl_malloc
- 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, #-51] @ zero_extendqisi2
- str r0, [r4, #-56]
- ldrh r0, [r7, #-10]
- mul r0, r3, r0
- mov r0, r0, asl #2
- bl ftl_malloc
- movw r2, #2808
- str r0, [r4, #2908]
- ldrh r3, [r4, #-14]
- mov r3, r3, lsr #2
- strh r3, [r6, r2] @ movhi
- ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
-.L1694:
- .align 2
-.L1693:
- .word .LANCHOR0
- .word .LANCHOR3
- .fnend
- .size gc_init, .-gc_init
- .align 2
.global gc_static_wearleveling
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_static_wearleveling, %function
gc_static_wearleveling:
.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}
+ ldr r0, .L1779
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.pad #44
sub sp, sp, #44
- ldr r4, .L1814
- ldr r3, [r4, #2804]
+ ldr r3, [r0, #2800]
ldr r3, [r3, #32]
cmp r3, #10240
- bls .L1696
+ bls .L1665
bl ftl_tmp_into_update
-.L1696:
- ldr r3, [r4, #1092]
+.L1665:
+ ldr r3, [r0, #1096]
ldr r2, [r3, #568]
- ldr r0, [r3, #12]
- add r1, r2, #35840
- add r1, r1, #160
- cmp r0, r1
- bcs .L1697
- ldr r1, .L1814
- ldr ip, [r1, #2804]
- ldr r1, [r3, #572]
- ldr ip, [ip, #36]
- add r1, r1, #256
- cmp ip, r1
+ ldr r1, [r3, #12]
+ add ip, r2, #35840
+ add ip, ip, #160
+ cmp r1, ip
+ bcs .L1666
+ ldr lr, [r0, #2800]
+ ldr ip, [r3, #572]
+ ldr lr, [lr, #36]
+ add ip, ip, #256
+ cmp lr, ip
movcc r0, #0
- bcc .L1806
-.L1697:
+ bcc .L1664
+.L1666:
add r2, r2, #860160
add r2, r2, #3840
- cmp r0, r2
- bhi .L1699
- ldr r1, [r4, #2804]
- ldr r2, [r3, #572]
- ldr r1, [r1, #36]
- add r2, r2, #32
cmp r1, r2
+ bhi .L1668
+ ldr ip, [r0, #2800]
+ ldr r2, [r3, #572]
+ ldr ip, [ip, #36]
+ add r2, r2, #32
+ cmp ip, r2
movls r7, #0
- movls r9, r7
- bls .L1700
-.L1699:
- ldr r2, [r4, #2804]
- mov r8, #0
- ldr ip, .L1814
- movw r5, #65535
- mov fp, r8
- mov r9, r8
- ldr r1, [r2, #36]
- mov r10, r8
- str r0, [r3, #568]
- mov r6, r5
- str r8, [sp, #32]
- str r1, [r3, #572]
+ movls r5, r7
+ bls .L1669
+.L1668:
+ ldr r2, [r0, #2800]
+ mov r4, #0
+ ldr r5, .L1779
+ movw r10, #65535
+ ldr r8, .L1779+4
+ mov r6, r4
+ ldr r0, [r2, #36]
+ mov fp, r10
+ str r1, [r3, #568]
+ ldr r9, .L1779+8
+ str r0, [r3, #572]
ldrh r7, [r2, #134]
- str r8, [sp, #28]
- str r8, [sp, #24]
- str r8, [sp, #20]
-.L1701:
- ldr r2, .L1814+4
- ldr r3, .L1814
- ldrh r2, [r2]
- cmp r2, r7
- 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 .L1702
- tst r3, #8
- ldrneh r3, [r0, r1]
- ldrne r4, [r0, r1]
- ubfxne r3, r3, #0, #11
- ubfxne r4, r4, #11, #8
- bne .L1704
-.L1703:
- tst r3, #24
- ldreqh r3, [r0, r1]
- movweq r4, #65535
- ldrne r4, [r0, r1]
- movwne r3, #65535
- ubfxeq r3, r3, #0, #11
- ubfxne r4, r4, #11, #8
- bne .L1706
-.L1704:
- ldr r2, [sp, #32]
- add r9, r9, #1
- cmp r5, r3
- add r2, r2, r3
- uxth r9, r9
- str r2, [sp, #32]
- ldrhi r2, [ip, #1092]
- movhi r5, r3
- addhi r2, r2, #584
- strhih r7, [r2, #2] @ movhi
-.L1748:
- ldr r2, [sp, #20]
- cmp r2, r3
- movw r2, #65535
- strcc r3, [sp, #20]
- movcc r8, r7
- cmp r4, r2
- beq .L1708
-.L1706:
- ldr r2, [sp, #24]
- cmp r6, r4
- add r2, r2, #1
- movhi r6, r4
- uxth r2, r2
- str r2, [sp, #24]
- ldr r2, [sp, #28]
- add r2, r2, r4
- str r2, [sp, #28]
- ldrhi r2, [ip, #1092]
- addhi r2, r2, #584
- strhih r7, [r2] @ movhi
- cmp r10, r4
- movcc fp, r7
- movcc r10, r4
-.L1708:
- cmp r4, #9
- cmphi r3, #9
- bhi .L1702
- ldr r3, .L1814+8
- ldr r3, [r3]
- tst r3, #256
- beq .L1702
- ldrh r2, [r0, r1]
- ldr r3, [r0, r1]
- ldrb r1, [lr, #2] @ zero_extendqisi2
- ubfx r2, r2, #0, #11
- ubfx r3, r3, #11, #8
- str ip, [sp, #36]
- ubfx r1, r1, #3, #2
- str r1, [sp]
- ldrb r1, [lr, #2] @ zero_extendqisi2
- mov r1, r1, lsr #5
- str r1, [sp, #4]
- ldrb r1, [lr, #3] @ zero_extendqisi2
- str r1, [sp, #8]
- mov r1, r7, asl #1
- ldr r0, [ip, #1088]
- ldrh r1, [r0, r1]
- ldr r0, .L1814+12
- str r1, [sp, #12]
- mov r1, r7
- bl printk
- ldr ip, [sp, #36]
-.L1702:
- add r7, r7, #1
- uxth r7, r7
- b .L1701
-.L1811:
- ldr r0, [r3, #1092]
- mov r2, #0
- mov r1, #255
- str r3, [sp, #36]
- add r0, r0, #264
- strh r2, [r0, #-142] @ movhi
+ str r4, [sp, #36]
+ str r4, [sp, #32]
+ str r4, [sp, #28]
+ str r4, [sp, #24]
+ str r4, [sp, #16]
+ str r4, [sp, #20]
+.L1670:
+ ldrh r3, [r8]
+ cmp r3, r7
+ bhi .L1679
+ ldr r0, [r5, #1096]
+ mov r3, #0
mov r2, #128
+ mov r1, #255
+ strh r3, [r0, #122] @ movhi
+ add r0, r0, #264
bl ftl_memset
- movw r2, #586
- ldr r3, [sp, #36]
- ldr r1, [r3, #1092]
- ldr r7, [r3, #1080]
- ldrh r1, [r1, r2]
- ldr r2, .L1814+8
- mov ip, r1, asl #2
- ldr r2, [r2]
- add r4, r7, ip
- tst r2, #1024
- beq .L1711
- ldrb r0, [r4, #2] @ zero_extendqisi2
- ldrh r2, [r7, ip]
- ldr lr, [r7, r1, asl #2]
+ ldr r2, [r5, #1096]
+ movw r3, #586
+ ldr r8, [r5, #1084]
+ ldrh r1, [r2, r3]
+ ldr r3, .L1779+8
+ ldr r3, [r3]
+ lsl r9, r1, #2
+ add r7, r8, r9
+ tst r3, #1024
+ beq .L1680
+ ldr ip, [r5, #1092]
+ lsl r0, r1, #1
+ ldr r3, [r8, r1, lsl #2]
+ ldrh r2, [r8, r9]
+ ldrh r0, [ip, r0]
+ ubfx r3, r3, #11, #8
+ ubfx r2, r2, #0, #11
+ str r0, [sp, #12]
+ ldrb r0, [r7, #3] @ zero_extendqisi2
+ str r0, [sp, #8]
+ ldrb r0, [r7, #2] @ zero_extendqisi2
+ lsr r0, r0, #5
+ str r0, [sp, #4]
+ ldrb r0, [r7, #2] @ zero_extendqisi2
ubfx r0, r0, #3, #2
str r0, [sp]
- ubfx r2, r2, #0, #11
- ldrb r0, [r4, #2] @ zero_extendqisi2
- str ip, [sp, #36]
- mov r0, r0, lsr #5
- str r0, [sp, #4]
- ldrb r0, [r4, #3] @ zero_extendqisi2
- str r0, [sp, #8]
- ldr r0, [r3, #1088]
- mov r3, r1, asl #1
- ldrh r3, [r0, r3]
- ldr r0, .L1814+16
- str r3, [sp, #12]
- ubfx r3, lr, #11, #8
+ ldr r0, .L1779+12
bl printk
- ldr ip, [sp, #36]
-.L1711:
- ldrb r3, [r4, #2] @ zero_extendqisi2
- ldr r1, .L1814
+.L1680:
+ ldrb r3, [r7, #2] @ zero_extendqisi2
and r3, r3, #224
cmp r3, #32
- bne .L1712
- ldr r3, [r1, #2804]
+ bne .L1681
+ ldr r3, .L1779
+ ldr r3, [r3, #2800]
add r3, r3, #688
ldrh r3, [r3]
cmp r3, #2
- ldrhi r3, .L1814+20
+ ldrhi r3, .L1779+16
movhi r2, #1
- strhi r2, [r3, #-160]
-.L1712:
- ldrb r2, [r4, #2] @ zero_extendqisi2
+ strhi r2, [r3, #-184]
+.L1681:
+ ldrb r2, [r7, #2] @ zero_extendqisi2
tst r2, #8
- beq .L1713
- ldr r3, [r1, #2804]
- ldr r0, .L1814+20
- ldr r4, .L1814
+ beq .L1682
+ ldr r5, .L1779
+ ldr r3, [r5, #2800]
ldrh r1, [r3, #96]
- ldrh r0, [r0, #-156]
- ldrh r3, [r7, ip]
+ ldr r3, .L1779+16
+ ldrh r0, [r3, #-180]
+ ldrh r3, [r8, r9]
ubfx r3, r3, #0, #11
add r3, r3, r0, lsr #2
cmp r1, r3
- ble .L1713
+ ble .L1682
and r3, r2, #192
cmp r3, #64
- bne .L1714
- ldr r2, [r4, #1092]
+ bne .L1683
+ ldr r0, [r5, #1096]
movw r3, #586
- mov r1, #0
- ldrh r0, [r2, r3]
mov r2, #1
+ mov r1, #0
+ ldrh r0, [r0, r3]
bl gc_add_sblk
- ldr r2, .L1814+24
- movw r3, #2180
+ ldr r2, .L1779+20
mov r1, #1
+ movw r3, #2180
strh r1, [r2, r3] @ movhi
- b .L1713
-.L1714:
+.L1682:
+ ldr r1, .L1779
+ ldr r3, [r1, #1096]
+ ldr r7, [r1, #1084]
+ add r3, r3, #584
+ ldrh r5, [r3]
+ ldr r3, .L1779+8
+ ldr r3, [r3]
+ lsl r2, r5, #2
+ add r8, r7, r2
+ tst r3, #1024
+ beq .L1684
+ ldr r0, [r1, #1092]
+ lsl r1, r5, #1
+ ldr r3, [r7, r5, lsl #2]
+ ldrh r2, [r7, r2]
+ ldrh r1, [r0, r1]
+ ubfx r3, r3, #11, #8
+ ldr r0, .L1779+24
+ ubfx r2, r2, #0, #11
+ str r1, [sp, #12]
+ ldrb r1, [r8, #3] @ zero_extendqisi2
+ str r1, [sp, #8]
+ ldrb r1, [r8, #2] @ zero_extendqisi2
+ lsr r1, r1, #5
+ str r1, [sp, #4]
+ ldrb r1, [r8, #2] @ zero_extendqisi2
+ ubfx r1, r1, #3, #2
+ str r1, [sp]
+ mov r1, r5
+ bl printk
+.L1684:
+ ldrb r3, [r8, #2] @ zero_extendqisi2
+ tst r3, #8
+ beq .L1685
+ ldr r8, .L1779
+ ldr r2, [r8, #2800]
+ ldrh r1, [r2, #98]
+ ldr r2, .L1779+16
+ ldrh r0, [r2, #-178]
+ ldr r2, [r7, r5, lsl #2]
+ ubfx r2, r2, #11, #8
+ add r2, r2, r0, lsr #2
+ cmp r1, r2
+ ble .L1685
+ and r2, r3, #192
+ cmp r2, #64
+ bne .L1686
+ ldr r3, [r8, #1096]
+ mov r2, #1
+ mov r1, #0
+ add r3, r3, #584
+ ldrh r0, [r3]
+ bl gc_add_sblk
+ ldr r2, .L1779+20
+ mov r1, #1
+ movw r3, #2180
+ strh r1, [r2, r3] @ movhi
+.L1685:
+ ldr r3, .L1779+8
+ ldr r3, [r3]
+ tst r3, #1024
+ beq .L1687
+ ldr r1, .L1779
+ lsl ip, r4, #2
+ ldr r2, [r1, #1084]
+ add r0, r2, ip
+ ldr r3, [r2, r4, lsl #2]
+ ldrh r2, [r2, ip]
+ ldr ip, [r1, #1092]
+ lsl r1, r4, #1
+ ubfx r3, r3, #11, #8
+ ubfx r2, r2, #0, #11
+ ldrh r1, [ip, r1]
+ str r1, [sp, #12]
+ ldrb r1, [r0, #3] @ zero_extendqisi2
+ str r1, [sp, #8]
+ ldrb r1, [r0, #2] @ zero_extendqisi2
+ lsr r1, r1, #5
+ str r1, [sp, #4]
+ ldrb r1, [r0, #2] @ zero_extendqisi2
+ ldr r0, .L1779+28
+ ubfx r1, r1, #3, #2
+ str r1, [sp]
+ mov r1, r4
+ bl printk
+.L1687:
+ ldr r3, .L1779+8
+ ldr r3, [r3]
+ tst r3, #1024
+ beq .L1688
+ ldr r1, .L1779
+ lsl ip, r6, #2
+ ldr r2, [r1, #1084]
+ add r0, r2, ip
+ ldr r3, [r2, r6, lsl #2]
+ ldrh r2, [r2, ip]
+ ldr ip, [r1, #1092]
+ lsl r1, r6, #1
+ ubfx r3, r3, #11, #8
+ ubfx r2, r2, #0, #11
+ ldrh r1, [ip, r1]
+ str r1, [sp, #12]
+ ldrb r1, [r0, #3] @ zero_extendqisi2
+ str r1, [sp, #8]
+ ldrb r1, [r0, #2] @ zero_extendqisi2
+ lsr r1, r1, #5
+ str r1, [sp, #4]
+ ldrb r1, [r0, #2] @ zero_extendqisi2
+ ldr r0, .L1779+32
+ ubfx r1, r1, #3, #2
+ str r1, [sp]
+ mov r1, r6
+ bl printk
+.L1688:
+ ldr r5, .L1779
+ ldrh r3, [sp, #16]
+ ldr r1, [sp, #24]
+ ldr r4, [r5, #2800]
+ ldr r0, [sp, #36]
+ strh r3, [r4, #96] @ movhi
+ ldrh r3, [sp, #20]
+ strh r10, [r4, #92] @ movhi
+ strh fp, [r4, #94] @ movhi
+ strh r3, [r4, #98] @ movhi
+ bl __aeabi_uidiv
+ strh r0, [r4, #88] @ movhi
+ mov r6, r0
+ ldr r1, [sp, #28]
+ ldr r0, [sp, #32]
+ bl __aeabi_uidiv
+ strh r0, [r4, #90] @ movhi
+ ldr r4, .L1779+8
+ ldr r3, [r4]
+ tst r3, #1024
+ beq .L1689
+ uxth r0, r0
+ uxth r3, r6
+ ldr r2, [sp, #28]
+ str r0, [sp]
+ ldr r1, [sp, #24]
+ ldr r0, .L1779+36
+ bl printk
+.L1689:
+ ldr r3, [r4]
+ ldr r4, .L1779+16
+ tst r3, #1024
+ beq .L1690
+ ldrh r3, [r4, #-178]
+ mov r2, fp
+ mov r1, r10
+ ldr r0, .L1779+40
+ str r3, [sp, #8]
+ ldrh r3, [r4, #-180]
+ str r3, [sp, #4]
+ ldr r3, [sp, #20]
+ str r3, [sp]
+ ldr r3, [sp, #16]
+ bl printk
+.L1690:
+ ldr r3, [sp, #20]
+ sub r3, r3, fp
+ str r3, [sp, #24]
+ ldr r2, [sp, #24]
+ ldrh r3, [r4, #-178]
+ cmp r2, r3
+ bgt .L1691
+ ldr r3, [sp, #16]
+ ldrh r2, [r4, #-180]
+ sub r3, r3, r10
+ cmp r3, r2
+ movle r7, #0
+ movle r5, r7
+ ble .L1692
+.L1691:
+ ldr r3, [r5, #1096]
+ mov r7, #0
+ ldr r4, [r3, #580]
+ ldr r3, [r5, #2800]
+ mov r5, r7
+ ldrh r9, [r3, #134]
+ uxth r4, r4
+ ldr r3, .L1779+20
+ add r3, r3, #2176
+ add r3, r3, #4
+ str r3, [sp, #20]
+.L1693:
+ ldr r3, .L1779+4
+ ldrh r3, [r3]
+ cmp r9, r3
+ bcc .L1703
+.L1702:
+ ldr r3, .L1779
+ ldr r3, [r3, #1096]
+ str r4, [r3, #580]
+.L1692:
+ cmp fp, #0
+ beq .L1705
+ ldr r2, .L1779
+ ldr r4, .L1779+4
+ ldr r3, [r2, #2800]
+ mov r0, r2
+ ldrh r3, [r3, #134]
+.L1706:
+ ldrh r2, [r4]
+ cmp r2, r3
+ bhi .L1708
+ ldr r3, [r0, #2800]
+ ldrh r2, [r3, #72]
+ add r2, fp, r2
+ strh r2, [r3, #72] @ movhi
+ ldrh r2, [r3, #98]
+ cmp fp, r2
+ subcc r2, r2, fp
+ strhcc r2, [r3, #98] @ movhi
+.L1705:
+ cmp r10, #0
+ beq .L1711
+ ldr r3, .L1779
+ ldr r6, .L1779+4
+ ldr r2, [r3, #2800]
+ mov ip, r3
+ ldrh r0, [r2, #134]
+.L1712:
+ ldrh r3, [r6]
+ cmp r3, r0
+ bhi .L1714
+ ldr r3, [ip, #2800]
+ ldrh r2, [r3, #74]
+ add r2, r10, r2
+ strh r2, [r3, #74] @ movhi
+ ldrh r2, [r3, #96]
+ cmp r10, r2
+ subcc r2, r2, r10
+ strhcc r2, [r3, #96] @ movhi
+.L1711:
+ ldr r4, .L1779+44
+ mov r1, #0
+ sub r0, r4, #12
+ bl _list_get_gc_head_node
+ movw r2, #65535
+ cmp r0, r2
+ beq .L1669
+ ldr r2, .L1779
+ lsl r3, r0, #1
+ ldr r1, [r2, #1092]
+ ldrh r2, [r4, #-8]
+ ldrh r3, [r1, r3]
+ cmp r3, r2, lsr #1
+ bhi .L1669
+ add r5, r5, #1
+ mov r2, #1
+ mov r1, #0
+ bl gc_add_sblk
+.L1669:
+ add r0, r5, r7
+.L1664:
+ add sp, sp, #44
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L1679:
+ ldr r0, [r5, #1084]
+ lsl r1, r7, #2
+ add ip, r0, r1
+ ldrb r3, [ip, #2] @ zero_extendqisi2
+ and r2, r3, #224
+ cmp r2, #224
+ beq .L1671
+ tst r3, #8
+ beq .L1672
+ ldrh r2, [r0, r1]
+ ldr r3, [r0, r1]
+ ubfx r2, r2, #0, #11
+ ubfx r3, r3, #11, #8
+.L1673:
+ ldr lr, [sp, #24]
+ cmp r10, r2
+ add lr, lr, #1
+ uxth lr, lr
+ str lr, [sp, #24]
+ ldr lr, [sp, #36]
+ add lr, lr, r2
+ str lr, [sp, #36]
+ ldrhi r10, [r5, #1096]
+ movwhi lr, #586
+ strhhi r7, [r10, lr] @ movhi
+ movhi r10, r2
+.L1717:
+ ldr lr, [sp, #16]
+ cmp lr, r2
+ movcc lr, r2
+ movcc r4, r7
+ str lr, [sp, #16]
+ movw lr, #65535
+ cmp r3, lr
+ bne .L1675
+.L1677:
+ cmp r2, #9
+ cmphi r3, #9
+ bhi .L1671
+ ldr r3, [r9]
+ tst r3, #256
+ beq .L1671
+ ldr r3, [r0, r1]
+ ldrh r2, [r0, r1]
+ lsl r1, r7, #1
+ ldr r0, [r5, #1092]
+ ubfx r3, r3, #11, #8
+ ubfx r2, r2, #0, #11
+ ldrh r1, [r0, r1]
+ ldr r0, .L1779+48
+ str r1, [sp, #12]
+ ldrb r1, [ip, #3] @ zero_extendqisi2
+ str r1, [sp, #8]
+ ldrb r1, [ip, #2] @ zero_extendqisi2
+ lsr r1, r1, #5
+ str r1, [sp, #4]
+ ldrb r1, [ip, #2] @ zero_extendqisi2
+ ubfx r1, r1, #3, #2
+ str r1, [sp]
+ mov r1, r7
+ bl printk
+.L1671:
+ add r7, r7, #1
+ uxth r7, r7
+ b .L1670
+.L1672:
+ tst r3, #24
+ ldrheq r2, [r0, r1]
+ movweq r3, #65535
+ ldrne r3, [r0, r1]
+ movwne r2, #65535
+ ubfxeq r2, r2, #0, #11
+ ubfxne r3, r3, #11, #8
+ beq .L1673
+.L1675:
+ ldr lr, [sp, #28]
+ cmp fp, r3
+ movhi fp, r3
+ add lr, lr, #1
+ uxth lr, lr
+ str lr, [sp, #28]
+ ldr lr, [sp, #32]
+ add lr, lr, r3
+ str lr, [sp, #32]
+ ldrhi lr, [r5, #1096]
+ addhi lr, lr, #584
+ strhhi r7, [lr] @ movhi
+ ldr lr, [sp, #20]
+ cmp lr, r3
+ movcc lr, r3
+ movcc r6, r7
+ str lr, [sp, #20]
+ b .L1677
+.L1683:
tst r2, #224
- bne .L1713
- ldr r3, [r4, #1092]
- movw r2, #590
- movw r1, #65535
- ldrh r0, [r3, r2]
- cmp r0, r1
- bne .L1713
+ bne .L1682
+ ldr r3, [r5, #1096]
+ movw r8, #590
+ movw r2, #65535
+ ldrh r1, [r3, r8]
+ cmp r1, r2
+ bne .L1682
movw r7, #586
- str r2, [sp, #36]
ldrh r0, [r3, r7]
add r3, r3, #588
ldrh r3, [r3]
cmp r3, r0
- beq .L1713
+ beq .L1682
bl zftl_remove_free_node
- ldr r3, [r4, #1092]
- ldrh r1, [r3, r7]
- ldr r2, [sp, #36]
- strh r1, [r3, r2] @ movhi
+ ldr r3, [r5, #1096]
+ ldrh r2, [r3, r7]
+ strh r2, [r3, r8] @ movhi
mvn r2, #0
strh r2, [r3, r7] @ movhi
-.L1713:
- ldr r1, .L1814
- ldr r2, .L1814+8
- ldr r3, [r1, #1092]
- ldr r2, [r2]
- add r3, r3, #584
- ldr ip, [r1, #1080]
- tst r2, #1024
- ldrh r7, [r3]
- mov r3, r7, asl #2
- add r4, ip, r3
- beq .L1715
- ldrb r0, [r4, #2] @ zero_extendqisi2
- ldrh r2, [ip, r3]
- ubfx r0, r0, #3, #2
- ldr r3, [ip, r7, asl #2]
- str r0, [sp]
- ubfx r2, r2, #0, #11
- ldrb r0, [r4, #2] @ zero_extendqisi2
- ubfx r3, r3, #11, #8
- str ip, [sp, #36]
- mov r0, r0, lsr #5
- str r0, [sp, #4]
- ldrb r0, [r4, #3] @ zero_extendqisi2
- str r0, [sp, #8]
- ldr r0, [r1, #1088]
- mov r1, r7, asl #1
- ldrh r1, [r0, r1]
- ldr r0, .L1814+28
- str r1, [sp, #12]
- mov r1, r7
- bl printk
- ldr ip, [sp, #36]
-.L1715:
- ldrb r3, [r4, #2] @ zero_extendqisi2
- ldr r4, .L1814
- tst r3, #8
- beq .L1716
- ldr r2, [r4, #2804]
- ldr r0, .L1814+20
- ldrh r1, [r2, #98]
- 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 .L1716
- and r2, r3, #192
- cmp r2, #64
- 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, .L1814+24
- movw r3, #2180
- mov r1, #1
- strh r1, [r2, r3] @ movhi
- b .L1716
-.L1717:
+ b .L1682
+.L1686:
and r3, r3, #248
cmp r3, #16
- bne .L1716
- ldr r3, [r4, #1092]
+ bne .L1685
+ ldr r3, [r8, #1096]
add r2, r3, #588
ldrh r1, [r2]
movw r2, #65535
cmp r1, r2
- bne .L1716
+ bne .L1685
add r2, r3, #584
ldrh r0, [r2]
movw r2, #590
ldrh r3, [r3, r2]
cmp r3, r0
- beq .L1716
+ beq .L1685
bl zftl_remove_free_node
- ldr r3, [r4, #1092]
+ ldr r3, [r8, #1096]
add r2, r3, #588
add r3, r3, #584
ldrh r1, [r3]
strh r1, [r2] @ movhi
mvn r2, #0
strh r2, [r3] @ movhi
-.L1716:
- ldr r3, .L1814+8
- ldr r0, [r4, #1080]
- ldr r3, [r3]
- tst r3, #1024
- beq .L1718
- mov r3, r8, asl #2
- add r1, r0, r3
- ldrh r2, [r0, r3]
- ldr r3, [r0, r8, asl #2]
- ldrb r0, [r1, #2] @ zero_extendqisi2
- ubfx r2, r2, #0, #11
- ubfx r3, r3, #11, #8
- ubfx r0, r0, #3, #2
- str r0, [sp]
- ldrb r0, [r1, #2] @ zero_extendqisi2
- mov r0, r0, lsr #5
- str r0, [sp, #4]
- ldrb r1, [r1, #3] @ zero_extendqisi2
- str r1, [sp, #8]
- ldr r1, .L1814
- ldr r0, [r1, #1088]
- mov r1, r8, asl #1
- ldrh r1, [r0, r1]
- ldr r0, .L1814+32
- str r1, [sp, #12]
- mov r1, r8
- bl printk
-.L1718:
- ldr r3, .L1814+8
- ldr ip, .L1814
- ldr r3, [r3]
- ldr r0, [ip, #1080]
- tst r3, #1024
- beq .L1719
- mov r3, fp, asl #2
- add r1, r0, r3
- ldrh r2, [r0, r3]
- ldr r3, [r0, fp, asl #2]
- ldrb r0, [r1, #2] @ zero_extendqisi2
- ubfx r2, r2, #0, #11
- ubfx r3, r3, #11, #8
- ubfx r0, r0, #3, #2
- str r0, [sp]
- ldrb r0, [r1, #2] @ zero_extendqisi2
- mov r0, r0, lsr #5
- str r0, [sp, #4]
- ldrb r1, [r1, #3] @ zero_extendqisi2
- str r1, [sp, #8]
- mov r1, fp, asl #1
- ldr r0, [ip, #1088]
- ldrh r1, [r0, r1]
- ldr r0, .L1814+36
- str r1, [sp, #12]
- mov r1, fp
- bl printk
-.L1719:
- ldr r4, [r4, #2804]
- mov r1, r9
- ldrh r3, [sp, #20]
- ldr r0, [sp, #32]
- strh r10, [r4, #98] @ movhi
- strh r3, [r4, #96] @ movhi
- strh r5, [r4, #92] @ movhi
- strh r6, [r4, #94] @ movhi
- bl __aeabi_uidiv
- strh r0, [r4, #88] @ movhi
- mov r7, r0
- ldr r1, [sp, #24]
- ldr r0, [sp, #28]
- bl __aeabi_uidiv
- strh r0, [r4, #90] @ movhi
- ldr r4, .L1814+8
- ldr r3, [r4]
- tst r3, #1024
- beq .L1720
- uxth r0, r0
- mov r1, r9
- str r0, [sp]
- uxth r3, r7
- ldr r0, .L1814+40
- ldr r2, [sp, #24]
- bl printk
-.L1720:
- ldr r3, [r4]
- ldr r4, .L1814+20
- tst r3, #1024
- beq .L1721
- str r10, [sp]
- mov r1, r5
- ldrh r3, [r4, #-156]
- mov r2, r6
- ldr r0, .L1814+44
- str r3, [sp, #4]
- ldrh r3, [r4, #-154]
- str r3, [sp, #8]
- ldr r3, [sp, #20]
- bl printk
-.L1721:
- rsb r3, r6, r10
- str r3, [sp, #24]
- ldr r2, [sp, #24]
- ldrh r3, [r4, #-154]
- cmp r2, r3
- bgt .L1722
- ldr r2, .L1814+20
- ldr r3, [sp, #20]
- ldrh r2, [r2, #-156]
- rsb r3, r5, r3
- cmp r3, r2
- movle r7, #0
- movle r9, r7
- ble .L1723
-.L1722:
- ldr ip, .L1814
- mov r7, #0
- mov r9, r7
- ldr r3, [ip, #1092]
- mov fp, ip
- ldr r4, [r3, #580]
- ldr r3, [ip, #2804]
- uxth r4, r4
- ldrh r10, [r3, #134]
-.L1724:
- ldr r3, .L1814+4
- ldrh r3, [r3]
- cmp r10, r3
- bcs .L1733
+ b .L1685
+.L1703:
add r4, r4, #1
uxth r4, r4
- cmp r4, r3
- ldr r3, [fp, #1080]
- movcs r4, #0
- mov r8, r4, asl #2
- add r2, r3, r8
+ cmp r3, r4
+ ldr r3, .L1779
+ movls r4, #0
+ lsl r6, r4, #2
+ ldr r8, [r3, #1084]
+ add r2, r8, r6
ldrb r2, [r2, #2] @ zero_extendqisi2
- tst r2, #192
- and r0, r2, #224
- moveq r1, #1
- movne r1, #0
- cmp r0, #224
- orreq r1, r1, #1
+ and ip, r2, #224
+ and r1, r2, #192
cmp r1, #0
- bne .L1726
+ cmpne ip, #224
+ beq .L1695
ubfx r2, r2, #3, #2
+ ldr r0, .L1779+16
ands r1, r2, #1
- beq .L1727
- cmp r0, #160
- b .L1809
-.L1727:
- cmp r2, #2
-.L1809:
- bne .L1729
- ldr r2, .L1814+20
+ beq .L1696
+ cmp ip, #160
+.L1777:
+ bne .L1698
+ ldrh r2, [r0, #-178]
ldr r0, [sp, #24]
- ldrh r2, [r2, #-154]
cmp r0, r2
- ble .L1730
- ldr r2, [r3, r8]
+ ble .L1699
+ ldr r2, [r8, r6]
ubfx r2, r2, #11, #8
- cmp r2, r6
- bls .L1731
+ cmp r2, fp
+ bls .L1700
cmp r1, #0
- beq .L1730
- ldrh r2, [r3, r8]
+ beq .L1699
+ ldrh r2, [r8, r6]
ubfx r2, r2, #0, #11
- cmp r2, r5
- bgt .L1730
-.L1731:
- mov r1, #0
+ cmp r2, r10
+ bgt .L1699
+.L1700:
mov r2, #1
+ mov r1, #0
mov r0, r4
str r3, [sp, #28]
bl gc_add_sblk
- ldr r2, .L1814+48
- mov r1, #1
- add r9, r9, r1
- strh r1, [r2] @ movhi
- ldr r2, .L1814+8
+ ldr r3, [sp, #20]
+ mov r2, #1
+ add r5, r5, r2
+ strh r2, [r3] @ movhi
+ ldr r2, .L1779+8
+ ldr r3, [sp, #28]
ldr r2, [r2]
tst r2, #1024
- ldr r3, [sp, #28]
- 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, .L1814+24
- ldrb r2, [r2, #2] @ zero_extendqisi2
- ldr r0, .L1814+52
- ldrh r1, [r1, #52]
- str r1, [sp]
- ldrh r1, [r3, r8]
+ beq .L1699
+ ldr r1, [r3, #1092]
+ lsl r2, r4, #1
+ ldr r3, [r3, #1084]
+ ldrh r0, [r1, r2]
+ ldr r1, [r8, r6]
+ add r3, r3, r6
+ ldrb r2, [r3, #2] @ zero_extendqisi2
+ ldr r3, .L1779+20
+ ubfx r1, r1, #11, #8
+ str r1, [sp, #8]
+ ldrh r1, [r8, r6]
+ lsr r2, r2, #5
ubfx r1, r1, #0, #11
str r1, [sp, #4]
- ldr r3, [r3, r8]
- ubfx r3, r3, #11, #8
- str r3, [sp, #8]
- b .L1810
-.L1729:
- ldr r0, .L1814+20
- ldr r2, [sp, #20]
- ldrh r0, [r0, #-156]
- rsb r2, r5, r2
+ mov r1, r4
+ ldrh r3, [r3, #52]
+ str r3, [sp]
+ mov r3, r0
+ ldr r0, .L1779+52
+.L1778:
+ bl printk
+.L1699:
+ cmp r7, #4
+ cmpls r5, #4
+ bhi .L1702
+.L1695:
+ add r9, r9, #1
+ uxth r9, r9
+ b .L1693
+.L1696:
+ cmp r2, #2
+ b .L1777
+.L1698:
+ ldr r2, [sp, #16]
+ ldrh r0, [r0, #-180]
+ sub r2, r2, r10
cmp r2, r0
- ble .L1730
- ldrh r2, [r3, r8]
- add r0, r5, #8
+ ble .L1699
+ ldrh r2, [r8, r6]
+ add r0, r10, #8
ubfx r2, r2, #0, #11
cmp r2, r0
- ble .L1732
+ ble .L1701
cmp r1, #0
- beq .L1730
- ldr r2, [r3, r8]
- add r1, r6, #4
+ beq .L1699
+ ldr r2, [r8, r6]
+ add r1, fp, #4
ubfx r2, r2, #11, #8
cmp r2, r1
- bgt .L1730
-.L1732:
- mov r1, #0
+ bgt .L1699
+.L1701:
mov r2, #1
+ mov r1, #0
mov r0, r4
str r3, [sp, #28]
bl gc_add_sblk
- ldr r2, .L1814+48
- mov r1, #1
- add r7, r7, r1
- strh r1, [r2] @ movhi
- ldr r2, .L1814+8
+ ldr r3, [sp, #20]
+ mov r2, #1
+ add r7, r7, r2
+ strh r2, [r3] @ movhi
+ ldr r2, .L1779+8
+ ldr r3, [sp, #28]
ldr r2, [r2]
tst r2, #1024
- ldr r3, [sp, #28]
- 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, .L1814+24
- ldrb r2, [r2, #2] @ zero_extendqisi2
- ldr r0, .L1814+56
- ldrh r1, [r1, #52]
- str r1, [sp]
- ldrh r1, [r3, r8]
+ beq .L1699
+ ldr r1, [r3, #1092]
+ lsl r2, r4, #1
+ ldr r3, [r3, #1084]
+ ldrh r0, [r1, r2]
+ ldr r1, [r8, r6]
+ add r3, r3, r6
+ ldrb r2, [r3, #2] @ zero_extendqisi2
+ ldr r3, .L1779+20
+ ubfx r1, r1, #11, #8
+ str r1, [sp, #8]
+ ldrh r1, [r8, r6]
+ lsr r2, r2, #5
ubfx r1, r1, #0, #11
str r1, [sp, #4]
- ldr r3, [r3, r8]
- ubfx r3, r3, #11, #8
- str r3, [sp, #8]
-.L1810:
mov r1, r4
- mov r2, r2, lsr #5
- mov r3, lr
- bl printk
-.L1730:
- cmp r9, #4
- cmpls r7, #4
- bhi .L1733
-.L1726:
- add r10, r10, #1
- uxth r10, r10
- b .L1724
-.L1733:
- ldr r3, .L1814
- ldr r3, [r3, #1092]
- str r4, [r3, #580]
-.L1723:
- cmp r6, #0
- beq .L1736
- ldr r0, .L1814
- ldr r4, .L1814+4
- ldr r3, [r0, #2804]
- ldrh r3, [r3, #134]
-.L1737:
- ldrh r2, [r4]
- cmp r2, r3
- bls .L1812
- ldr ip, [r0, #1080]
- mov lr, r3, asl #2
- add r8, ip, lr
- ldr r2, [ip, r3, asl #2]
+ ldrh r3, [r3, #52]
+ str r3, [sp]
+ mov r3, r0
+ ldr r0, .L1779+56
+ b .L1778
+.L1708:
+ ldr ip, [r0, #1084]
+ lsl lr, r3, #2
+ ldr r2, [ip, r3, lsl #2]
+ add r6, ip, lr
ubfx r1, r2, #11, #8
- cmp r1, r6
- bcc .L1738
- ldrb r8, [r8, #2] @ zero_extendqisi2
- tst r8, #24
- rsbne r1, r6, r1
+ cmp fp, r1
+ bhi .L1707
+ ldrb r6, [r6, #2] @ zero_extendqisi2
+ tst r6, #24
+ subne r1, r1, fp
bfine r2, r1, #11, #8
strne r2, [ip, lr]
-.L1738:
+.L1707:
add r3, r3, #1
uxth r3, r3
- b .L1737
-.L1812:
- ldr r3, .L1814
- ldr r3, [r3, #2804]
- ldrh r2, [r3, #72]
- add r2, r6, r2
- strh r2, [r3, #72] @ movhi
- ldrh r2, [r3, #98]
- cmp r2, r6
- rsbhi r2, r6, r2
- strhih r2, [r3, #98] @ movhi
-.L1736:
- cmp r5, #0
- beq .L1742
- ldr ip, .L1814
- ldr r6, .L1814+4
- ldr r3, [ip, #2804]
- ldrh r3, [r3, #134]
-.L1743:
- ldrh r2, [r6]
- cmp r2, r3
- 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 .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
-.L1744:
- add r3, r3, #1
- uxth r3, r3
- b .L1743
-.L1813:
- ldr r3, .L1814
- ldr r3, [r3, #2804]
- ldrh r2, [r3, #74]
- add r2, r5, r2
- strh r2, [r3, #74] @ movhi
- ldrh r2, [r3, #96]
- cmp r2, r5
- rsbhi r2, r5, r2
- strhih r2, [r3, #96] @ movhi
-.L1742:
- ldr r4, .L1814+60
- mov r1, #0
- sub r0, r4, #12
- bl _list_get_gc_head_node
- movw r2, #65535
- cmp r0, r2
- beq .L1700
- ldr r2, .L1814
- mov r3, r0, asl #1
- ldr r1, [r2, #1088]
- ldrh r2, [r4, #-8]
- ldrh r3, [r1, r3]
- cmp r3, r2, lsr #1
- bhi .L1700
- mov r1, #0
- mov r2, #1
- bl gc_add_sblk
- add r9, r9, #1
-.L1700:
- add r0, r7, r9
-.L1806:
- add sp, sp, #44
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L1815:
+ b .L1706
+.L1714:
+ ldr r4, [ip, #1084]
+ lsl lr, r0, #2
+ ldrh r3, [r4, lr]
+ add r1, r4, lr
+ ubfx r2, r3, #0, #11
+ cmp r2, r10
+ blt .L1713
+ ldrb r1, [r1, #2] @ zero_extendqisi2
+ and r1, r1, #24
+ cmp r1, #16
+ subne r2, r2, r10
+ bfine r3, r2, #0, #11
+ strhne r3, [r4, lr] @ movhi
+.L1713:
+ add r0, r0, #1
+ uxth r0, r0
+ b .L1712
+.L1780:
.align 2
-.L1814:
+.L1779:
.word .LANCHOR0
- .word .LANCHOR0+1076
+ .word .LANCHOR0+1080
.word .LANCHOR2
+ .word .LC124
+ .word .LANCHOR3
+ .word .LANCHOR0+2824
+ .word .LC125
.word .LC126
.word .LC127
- .word .LANCHOR3
- .word .LANCHOR0+2828
.word .LC128
.word .LC129
+ .word .LANCHOR3-3088
+ .word .LC123
.word .LC130
.word .LC131
- .word .LC132
- .word .LANCHOR0+5008
- .word .LC133
- .word .LC134
- .word .LANCHOR3-3088
.fnend
.size gc_static_wearleveling, .-gc_static_wearleveling
.align 2
.global zftl_sblk_list_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_sblk_list_init, %function
zftl_sblk_list_init:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- movw r3, #1076
- ldr r5, .L1849
+ movw r3, #1080
+ ldr r4, .L1813
mov r2, #6
- ldr r6, .L1849+4
mov r1, #0
.pad #20
sub sp, sp, #20
- mov fp, #0
- ldrh r3, [r5, r3]
- mov r4, fp
- ldr r0, [r5, #1036]
- mov r8, r5
- ldr r10, .L1849+8
+ ldr r7, .L1813+4
+ mov r5, #0
+ ldrh r3, [r4, r3]
+ add r10, r4, #2784
+ ldr r0, [r4, #1036]
+ sub r8, r7, #3072
+ sub r9, r7, #3104
mul r2, r2, r3
bl ftl_memset
- sub r3, r6, #3056
- mov r2, #32
- str fp, [r6, #-3080]
- strh r2, [r3, #-12] @ movhi
+ mov r3, #32
+ ldrh r1, [r9, #-14]
+ strh r3, [r8, #-4] @ movhi
+ movw r3, #2786
+ strh r5, [r4, r3] @ movhi
movw r3, #2788
- strh fp, [r5, r3] @ movhi
+ strh r5, [r4, r3] @ movhi
movw r3, #2790
- strh fp, [r5, r3] @ movhi
- movw r3, #2792
- strh fp, [r5, r3] @ movhi
+ strh r5, [r4, r3] @ movhi
movw r3, #2794
- strh fp, [r5, r3] @ movhi
- sub r2, r6, #3104
- movw r3, #2798
- str fp, [r6, #-3076]
- strh fp, [r5, r3] @ movhi
- movw r3, #2796
- strh fp, [r5, r3] @ movhi
+ strh r5, [r4, r3] @ movhi
+ movw r3, #2792
+ strh r5, [r4, r3] @ movhi
mov r0, #32768
- ldrb r3, [r6, #-3123] @ zero_extendqisi2
- ldrh r1, [r2, #-10]
- str fp, [r6, #-3072]
- str fp, [r6, #-3104]
+ ldrb r3, [r7, #-3127] @ zero_extendqisi2
+ str r5, [r7, #-3088]
+ str r5, [r7, #-3084]
+ str r5, [r7, #-3080]
mul r1, r1, r3
- str fp, [r6, #-3092]
- str fp, [r6, #-3100]
+ str r5, [r7, #-3104]
+ str r5, [r7, #-3116]
+ str r5, [r7, #-3100]
+ strh r5, [r10] @ movhi
bl __aeabi_idiv
- uxth r3, r0
+ sxth r3, r0
+ str r7, [sp, #8]
+ str r10, [sp, #12]
str r3, [sp, #4]
- ldr r3, [r5, #2804]
- str r6, [sp, #8]
- ldrh r7, [r3, #134]
- strh fp, [r3, #146] @ movhi
-.L1817:
- ldr r2, .L1849+12
- sxth ip, r7
- ldr r3, .L1849
+ ldr r3, [r4, #2800]
+ ldrsh r6, [r3, #134]
+ strh r5, [r3, #146] @ movhi
+.L1782:
+ ldr r3, .L1813+8
+ ldrh r3, [r3]
+ cmp r6, r3
+ blt .L1799
+ ldr r2, [sp, #12]
+ ldr r3, [r4, #2800]
ldrh r2, [r2]
- cmp ip, r2
- bge .L1847
- ldr r6, [r8, #1080]
- add r6, r6, ip, asl #2
- ldrb r3, [r6, #3] @ zero_extendqisi2
+ strh r2, [r3, #114] @ movhi
+ movw r2, #2786
+ ldrh r2, [r4, r2]
+ strh r2, [r3, #118] @ movhi
+ movw r2, #2788
+ ldrh r2, [r4, r2]
+ strh r2, [r3, #116] @ movhi
+ movw r2, #2790
+ ldrh r2, [r4, r2]
+ strh r2, [r3, #122] @ movhi
+ movw r2, #2794
+ ldrh r2, [r4, r2]
+ strh r2, [r3, #120] @ movhi
+ movw r2, #2792
+ ldrh r2, [r4, r2]
+ strh r2, [r3, #124] @ movhi
+ add sp, sp, #20
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L1799:
+ ldr r7, [r4, #1084]
+ add r7, r7, r6, lsl #2
+ ldrb r3, [r7, #3] @ zero_extendqisi2
cmp r3, #0
ldreq r1, [sp, #4]
- beq .L1818
+ beq .L1783
ldr r3, [sp, #8]
- ldrh fp, [r10]
- ldr r0, [r8, #2804]
- ldrb lr, [r3, #-3123] @ zero_extendqisi2
+ ldr ip, [r4, #2800]
+ ldrh r10, [r9, #-14]
+ ldrb lr, [r3, #-3127] @ zero_extendqisi2
mov r3, #0
mov r1, r3
-.L1819:
+.L1784:
cmp r3, lr
- bge .L1848
- ldrb r2, [r6, #3] @ zero_extendqisi2
- mov r2, r2, asr r3
+ blt .L1787
+ cmp r1, #0
+ beq .L1788
+ mov r0, #32768
+ bl __aeabi_idiv
+ add r1, r0, #1
+ sxth r1, r1
+.L1783:
+ lsl fp, r6, #1
+ ldr r0, [r4, #1036]
+ add r2, fp, r6
+ lsl r2, r2, #1
+ add ip, r0, r2
+ strh r1, [ip, #4] @ movhi
+ mvn r1, #0
+ strh r1, [ip, #2] @ movhi
+ strh r1, [r0, r2] @ movhi
+ ldrb r2, [r7, #2] @ zero_extendqisi2
+ and r2, r2, #224
+ cmp r2, #224
+ cmpne r2, #32
+ moveq r10, #1
+ movne r10, #0
+ beq .L1789
+ ldr r1, [r4, #1096]
+ ldrh r0, [r1, #16]
+ cmp r6, r0
+ beq .L1789
+ ldrh r0, [r1, #48]
+ cmp r6, r0
+ beq .L1789
+ ldrh r1, [r1, #80]
+ cmp r6, r1
+ beq .L1789
+ cmp r2, #64
+ bne .L1790
+ uxth r7, r6
+ ldr r2, .L1813+12
+ sub r0, r9, #12
+ mov r1, r7
+.L1811:
+ bl _insert_data_list
+ ldr r2, [r4, #1092]
+ ldrh r3, [r2, fp]
+ cmp r3, #7
+ movls r2, r10
+ movls r1, #1
+ movls r0, r7
+ bls .L1809
+.L1789:
+ add r6, r6, #1
+ sxth r6, r6
+ b .L1782
+.L1787:
+ ldrb r2, [r7, #3] @ zero_extendqisi2
+ asr r2, r2, r3
add r3, r3, #1
tst r2, #1
- addeq r1, fp, r1
- ldrneh r2, [r0, #146]
- uxtheq r1, r1
+ ldrhne r2, [ip, #146]
+ addeq r1, r10, r1
+ sxtheq r1, r1
addne r2, r2, #1
- strneh r2, [r0, #146] @ movhi
- b .L1819
-.L1848:
- cmp r1, #0
- beq .L1823
- sxth r1, r1
- mov r0, #32768
- str ip, [sp, #12]
- bl __aeabi_idiv
- add r0, r0, #1
- ldr ip, [sp, #12]
- uxth r1, r0
- b .L1818
-.L1823:
- ldrb r3, [r6, #2] @ zero_extendqisi2
+ strhne r2, [ip, #146] @ movhi
+ b .L1784
+.L1788:
+ ldrb r3, [r7, #2] @ zero_extendqisi2
mvn r0, #0
orr r3, r3, #224
- strb r3, [r6, #2]
- ldr r2, [r5, #1088]
- mov r3, ip, asl #1
+ strb r3, [r7, #2]
+ lsl r3, r6, #1
+ ldr r2, [r4, #1092]
strh r0, [r2, r3] @ movhi
-.L1818:
- mov r9, ip, asl #1
- ldr r0, [r5, #1036]
- add r2, r9, ip
- mov r2, r2, asl #1
- add lr, r0, r2
- strh r1, [lr, #4] @ movhi
- mvn r1, #0
- strh r1, [lr, #2] @ movhi
- strh r1, [r0, r2] @ movhi
- ldrb r2, [r6, #2] @ zero_extendqisi2
- and r2, r2, #224
- cmp r2, #32
- cmpne r2, #224
- moveq fp, #1
- movne fp, #0
- beq .L1824
- ldr r1, [r8, #1092]
- ldrh r0, [r1, #16]
- cmp ip, r0
- beq .L1824
- ldrh r0, [r1, #48]
- cmp ip, r0
- beq .L1824
- ldrh r1, [r1, #80]
- cmp ip, r1
- beq .L1824
- cmp r2, #64
- uxtheq r6, r7
- ldreq r0, .L1849+16
- ldreq r2, .L1849+20
- moveq r1, r6
- beq .L1845
-.L1825:
+ b .L1783
+.L1790:
cmp r2, #96
- uxtheq r6, r7
- ldreq r0, .L1849+24
- ldreq r2, .L1849+28
- moveq r1, r6
- beq .L1845
-.L1826:
+ uxtheq r7, r6
+ ldreq r2, .L1813+16
+ ldreq r0, .L1813+20
+ moveq r1, r7
+ beq .L1811
+.L1791:
cmp r2, #160
- bne .L1827
- uxth r6, r7
- ldr r0, .L1849+32
- ldr r2, .L1849+36
+ uxtheq r7, r6
+ ldreq r2, .L1813+24
+ ldreq r0, .L1813+28
+ moveq r1, r7
+ beq .L1811
+.L1792:
+ cmp r2, #0
+ bne .L1789
+ ldr r2, [r4, #1092]
+ uxth r10, r6
+ ldrh r2, [r2, fp]
+ cmp r2, #0
+ beq .L1793
+ cmp r5, #2
+ bgt .L1794
mov r1, r6
-.L1845:
- bl _insert_data_list
- ldr r2, [r8, #1088]
- ldrh r3, [r2, r9]
- cmp r3, #7
- movls r0, r6
- movls r1, #1
- movls r2, fp
- bhi .L1824
- b .L1843
-.L1827:
- cmp r2, #0
- bne .L1824
- ldr r2, [r8, #1088]
- uxth fp, r7
- ldrh r2, [r2, r9]
- cmp r2, #0
- beq .L1828
- sxth r3, r4
- cmp r3, #2
- bgt .L1829
- mov r1, ip
- ldr r0, .L1849+40
+ ldr r0, .L1813+32
bl printk
- ldrb r3, [r6, #2] @ zero_extendqisi2
- add r4, r4, #1
- mov r0, fp
- tst r3, #16
+ ldrb r3, [r7, #2] @ zero_extendqisi2
+ add r5, r5, #1
+ sxth r5, r5
mov r1, #1
- uxth r4, r4
+ mov r0, r10
+ tst r3, #16
movne r2, #5
moveq r2, #2
bfi r3, r2, #5, #3
mov r2, #0
- strb r3, [r6, #2]
-.L1843:
+ strb r3, [r7, #2]
+.L1809:
bl gc_add_sblk
- b .L1824
-.L1829:
- ldr r1, .L1849+44
+ b .L1789
+.L1794:
mov r2, #656
- ldr r0, .L1849+48
+ ldr r1, .L1813+36
+ ldr r0, .L1813+40
bl printk
bl dump_stack
-.L1828:
- ldrb r3, [r6, #2] @ zero_extendqisi2
+.L1793:
+ ldrb r3, [r7, #2] @ zero_extendqisi2
ands r3, r3, #24
- ldreq r0, .L1849+52
- moveq r1, fp
- ldreq r2, .L1849+56
- beq .L1841
-.L1831:
- cmp r3, #16
- ldreq r0, .L1849+60
- moveq r1, fp
- ldreq r2, .L1849+64
- movne r1, fp
- ldrne r0, .L1849+68
- ldrne r2, .L1849+72
-.L1841:
+ bne .L1797
+ ldr r2, .L1813+44
+ mov r1, r10
+ ldr r0, .L1813+48
+.L1807:
bl _insert_free_list
-.L1824:
- add r7, r7, #1
- uxth r7, r7
- b .L1817
-.L1847:
- movw r1, #2788
- ldr r2, [r3, #2804]
- ldrh r1, [r3, r1]
- strh r1, [r2, #114] @ movhi
- movw r1, #2790
- ldrh r1, [r3, r1]
- strh r1, [r2, #118] @ movhi
- movw r1, #2792
- ldrh r1, [r3, r1]
- strh r1, [r2, #116] @ movhi
- movw r1, #2794
- ldrh r1, [r3, r1]
- strh r1, [r2, #122] @ movhi
- movw r1, #2798
- ldrh r1, [r3, r1]
- strh r1, [r2, #120] @ movhi
- movw r1, #2796
- ldrh r3, [r3, r1]
- strh r3, [r2, #124] @ movhi
- add sp, sp, #20
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L1850:
+ b .L1789
+.L1797:
+ cmp r3, #16
+ ldreq r2, .L1813+52
+ moveq r1, r10
+ subeq r0, r8, #12
+ ldrne r2, .L1813+56
+ movne r1, r10
+ subne r0, r8, #8
+ b .L1807
+.L1814:
.align 2
-.L1849:
+.L1813:
.word .LANCHOR0
.word .LANCHOR3
- .word .LANCHOR3-3114
- .word .LANCHOR0+1076
- .word .LANCHOR3-3092
- .word .LANCHOR0+2794
- .word .LANCHOR3-3104
- .word .LANCHOR0+2796
- .word .LANCHOR3-3100
- .word .LANCHOR0+2798
- .word .LC135
- .word .LANCHOR1+1868
- .word .LC0
- .word .LANCHOR3-3080
- .word .LANCHOR0+2788
- .word .LANCHOR3-3076
+ .word .LANCHOR0+1080
.word .LANCHOR0+2790
- .word .LANCHOR3-3072
.word .LANCHOR0+2792
+ .word .LANCHOR3-3104
+ .word .LANCHOR0+2794
+ .word .LANCHOR3-3100
+ .word .LC132
+ .word .LANCHOR1+1687
+ .word .LC0
+ .word .LANCHOR0+2784
+ .word .LANCHOR3-3088
+ .word .LANCHOR0+2786
+ .word .LANCHOR0+2788
.fnend
.size zftl_sblk_list_init, .-zftl_sblk_list_init
.align 2
.global pm_free_sblk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type pm_free_sblk, %function
pm_free_sblk:
.fnstart
@ args = 0, pretend = 0, frame = 272
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.pad #284
sub sp, sp, #284
- ldr r5, .L1881
- ldrh r3, [r5, #-152]
+ ldr r5, .L1843
+ ldrh r3, [r5, #-176]
cmp r3, #128
- bls .L1852
- ldr r1, .L1881+4
+ bls .L1816
mov r2, #94
- ldr r0, .L1881+8
+ ldr r1, .L1843+4
+ ldr r0, .L1843+8
bl printk
bl dump_stack
-.L1852:
- ldr r4, .L1881+12
- mov r1, #0
- ldrh lr, [r5, #-152]
- mov r0, r1
- movw r6, #65535
- ldr r2, [r4, #2804]
- add r3, r2, #688
- add r2, r2, #412
- add r2, r2, #2
- ldrh ip, [r3]
-.L1855:
- ldrh r7, [r2, #2]!
- uxth r3, r1
- cmp r7, r6
- addne r0, r0, #1
- uxthne r0, r0
- cmp r0, ip
- bcs .L1854
- cmp r0, lr
- bcs .L1854
- add r1, r1, #1
- cmp r1, #128
- bne .L1855
- mov r3, r1
-.L1854:
+.L1816:
+ ldr r4, .L1843+12
+ mov r2, #0
+ ldrh ip, [r5, #-176]
+ movw lr, #65535
+ ldr r1, [r4, #2800]
+ add r3, r1, #688
+ add r1, r1, #416
+ ldrh r0, [r3]
+ mov r3, r2
+.L1819:
+ ldrh r6, [r1], #2
+ cmp r6, lr
+ addne r2, r2, #1
+ uxthne r2, r2
+ cmp r2, r0
+ bcs .L1818
+ cmp r2, ip
+ bcs .L1818
add r3, r3, #1
- add r0, sp, #24
- mov r1, #0
- mov r2, #256
uxth r3, r3
- mvn r8, #0
cmp r3, #128
- mov r6, #0
- movcs r3, #128
- str r3, [sp, #8]
- bl ftl_memset
- ldr r7, [r4, #2804]
- movw r3, #698
- ldrb ip, [r5, #-3130] @ zero_extendqisi2
- add r10, r7, #700
- ldrh fp, [r7, r3]
- 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
-.L1856:
- uxth r3, r6
- cmp r3, fp
- bcs .L1878
- ldr r0, [r10, #4]!
- mov r1, ip
- str ip, [sp, #16]
- and r0, r8, r0, lsr r9
- bl __aeabi_uidiv
+ bne .L1819
+.L1818:
+ add r3, r3, #1
+ mov r2, #256
+ uxth fp, r3
mov r1, #0
- uxth r3, r0
- ldr ip, [sp, #16]
- str r3, [sp, #12]
- add r3, r7, #412
- add r3, r3, #2
- add r2, sp, #24
-.L1857:
- ldr r0, [sp, #8]
- uxth lr, r1
- cmp lr, r0
- bcs .L1879
- ldrh lr, [r3, #2]!
- add r1, r1, #1
- ldr r0, [sp, #12]
- add r2, r2, #2
- cmp lr, r0
- ldreqh lr, [r2, #-2]
- addeq lr, lr, #1
- streqh lr, [r2, #-2] @ movhi
- b .L1857
-.L1879:
- add r6, r6, #1
- b .L1856
-.L1878:
- ldr r2, .L1881+20
+ add r0, sp, #24
+ cmp fp, #129
mov r6, #0
- ldrb fp, [r5, #-3123] @ zero_extendqisi2
- add r8, sp, #24
- movw r10, #65535
- mov r9, r6
- ldrh r3, [r2, #-8]
- smulbb fp, fp, r3
- add r3, r2, #3088
+ moveq fp, #128
+ bl ftl_memset
+ ldr r7, [r4, #2800]
+ movw r3, #698
+ ldrb r8, [r4, #1153] @ zero_extendqisi2
+ ldrb r2, [r5, #-3136] @ zero_extendqisi2
+ ldrh r3, [r7, r3]
+ add r10, r7, #704
+ rsb r8, r8, #24
str r3, [sp, #12]
- uxth r7, fp
-.L1861:
- ldr r3, [sp, #8]
- uxth fp, r6
- cmp fp, r3
- bcs .L1880
+ ldr r3, .L1843+16
+ ldrh r9, [r3, #-2]
+ sub r3, r8, r9
+ mvn r8, #0
+ mvn r8, r8, lsl r3
+.L1821:
+ ldr r1, [sp, #12]
+ uxth r3, r6
+ cmp r1, r3
+ bhi .L1824
+ ldr r3, .L1843+20
+ add r8, sp, #24
+ ldrb r7, [r5, #-3127] @ zero_extendqisi2
+ movw r10, #65535
+ mov r6, #0
+ ldrh r3, [r3, #-8]
+ str r6, [sp, #12]
+ smulbb r7, r7, r3
+ uxth r7, r7
+.L1830:
+ ldr r2, [r4, #2800]
add r3, r6, #208
- ldr ip, [r4, #2804]
- ldrb r1, [r5, #-3130] @ zero_extendqisi2
- mov r3, r3, asl #1
- add r2, ip, #692
- str ip, [sp, #16]
- ldrh r3, [ip, r3]
- ldrh r0, [r2]
+ lsl r3, r3, #1
+ ldrb r1, [r5, #-3136] @ zero_extendqisi2
+ uxth r9, r6
+ ldrh r3, [r2, r3]
+ add r0, r2, #692
+ ldrh r0, [r0]
+ str r2, [sp, #16]
str r3, [sp, #20]
bl __aeabi_idiv
ldr r3, [sp, #20]
- ldr ip, [sp, #16]
+ ldr r2, [sp, #16]
cmp r0, r3
- movw r0, #65535
- ldreq r2, [sp, #12]
- ldreqb r1, [r2, #-3123] @ zero_extendqisi2
- ldreq r2, .L1881+24
- ldreqh r2, [r2]
- smulbbeq r2, r1, r2
- streqh r2, [r8] @ movhi
- ldrh r2, [r8]
- cmp r2, #0
- cmpne r7, r2
- movhi r1, #1
- movls r1, #0
+ ldreq r0, .L1843+24
+ ldrbeq r1, [r5, #-3127] @ zero_extendqisi2
+ ldrheq r0, [r0]
+ smulbbeq r1, r1, r0
+ strheq r1, [r8] @ movhi
+ ldrh r1, [r8]
+ ldrh ip, [r2, #74]
cmp r1, #0
- ldrh r1, [ip, #74]
- movne r9, fp
- movne r7, r2
+ cmpne r1, r7
+ movcc r0, #1
+ movcs r0, #0
+ cmp r0, #0
+ ldr r0, [sp, #12]
+ movne r0, r9
+ movne r7, r1
+ str r0, [sp, #16]
+ str r0, [sp, #12]
+ movw r0, #65535
cmp r3, r0
- cmpne r1, #2
- bls .L1864
- ldr r0, [r4, #1080]
- mov r1, r3, asl #2
- ldrh r1, [r0, r1]
- ldrh r0, [ip, #92]
- ubfx r1, r1, #0, #11
- add r0, r0, #4
- cmp r1, r0
- bgt .L1864
- str r1, [sp]
+ cmpne ip, #2
+ bls .L1827
+ ldr ip, [r4, #1084]
+ lsl r0, r3, #2
+ ldrh r2, [r2, #92]
+ ldrh r0, [ip, r0]
+ add r2, r2, #4
+ ubfx r0, r0, #0, #11
+ cmp r0, r2
+ bgt .L1827
+ mov r10, r9
+ str r0, [sp]
+ mov r2, r1
+ ldr r0, .L1843+28
mov r1, r6
- ldr r0, .L1881+28
- mov r10, fp
bl printk
-.L1864:
+.L1827:
ldrh r2, [r8]
cmp r2, #0
- bne .L1865
- add fp, r6, #208
- ldr r1, [r4, #2804]
+ bne .L1828
+ ldr r1, [r4, #2800]
+ add r9, r6, #208
+ lsl r3, r9, #1
movw r0, #65535
- mov r3, fp, asl #1
ldrh r3, [r1, r3]
cmp r3, r0
- beq .L1865
- ldr r0, .L1881+32
+ beq .L1828
+ ldr r0, .L1843+32
ldr r0, [r0]
tst r0, #4096
- beq .L1866
+ beq .L1829
add r1, r1, #688
- ldr r0, .L1881+36
+ ldr r0, .L1843+36
ldrh r1, [r1]
str r1, [sp]
mov r1, r6
bl printk
-.L1866:
- ldr r3, [r4, #2804]
- mov fp, fp, asl #1
- ldrh r0, [r3, fp]
+.L1829:
+ ldr r3, [r4, #2800]
+ lsl r9, r9, #1
+ ldrh r0, [r3, r9]
bl ftl_free_sblk
- ldr r3, [r4, #2804]
+ ldr r3, [r4, #2800]
mvn r2, #0
- strh r2, [r3, fp] @ movhi
+ strh r2, [r3, r9] @ movhi
add r3, r3, #688
ldrh r2, [r3]
sub r2, r2, #1
strh r2, [r3] @ movhi
-.L1865:
+.L1828:
add r6, r6, #1
add r8, r8, #2
- b .L1861
-.L1880:
+ uxth r3, r6
+ cmp fp, r3
+ bhi .L1830
+ ldr r3, [sp, #16]
movw r0, #65535
cmp r10, r0
- movne r0, r10
- moveq r0, r9
+ movne r3, r10
+ mov r0, r3
add sp, sp, #284
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L1882:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L1824:
+ ldr r0, [r10], #4
+ mov r1, r2
+ str r2, [sp, #16]
+ and r0, r8, r0, lsr r9
+ bl __aeabi_uidiv
+ ldr r2, [sp, #16]
+ uxth r0, r0
+ add lr, r7, #416
+ add r1, sp, #24
+ mov r3, #0
+.L1823:
+ ldrh ip, [lr], #2
+ add r3, r3, #1
+ uxth r3, r3
+ add r1, r1, #2
+ cmp r0, ip
+ ldrheq ip, [r1, #-2]
+ addeq ip, ip, #1
+ strheq ip, [r1, #-2] @ movhi
+ cmp fp, r3
+ bne .L1823
+ add r6, r6, #1
+ b .L1821
+.L1844:
.align 2
-.L1881:
+.L1843:
.word .LANCHOR3
- .word .LANCHOR1+1888
+ .word .LANCHOR1+1707
.word .LC0
.word .LANCHOR0
- .word .LANCHOR3-3120
+ .word .LANCHOR3-3136
.word .LANCHOR3-3088
.word .LANCHOR3-3096
- .word .LC136
+ .word .LC133
.word .LANCHOR2
- .word .LC137
+ .word .LC134
.fnend
.size pm_free_sblk, .-pm_free_sblk
.align 2
.global ftl_memcpy
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_memcpy, %function
ftl_memcpy:
.fnstart
@@ -11066,59 +11210,65 @@
.size ftl_memcpy, .-ftl_memcpy
.align 2
.global flash_info_data_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_info_data_init, %function
flash_info_data_init:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- ldr r3, .L1890
- stmfd sp!, {r4, lr}
+ ldr r3, .L1852
+ push {r4, lr}
.save {r4, lr}
ldr r3, [r3]
tst r3, #4096
- beq .L1885
- ldr r0, .L1890+4
+ beq .L1847
+ ldr r2, .L1852+4
mov r1, #120
- ldr r2, .L1890+8
+ ldr r0, .L1852+8
bl printk
-.L1885:
- ldr r4, .L1890+12
- mov r1, #0
+.L1847:
+ ldr r4, .L1852+12
mov r2, #2048
- ldr r0, [r4, #1176]
+ mov r1, #0
+ ldr r0, [r4, #1040]
bl ftl_memset
- ldr r3, [r4, #1176]
- ldr r2, .L1890+16
- ldr r1, .L1890+20
+ ldr r3, [r4, #1040]
+ ldr r2, .L1852+16
+ ldr r1, .L1852+20
str r2, [r3]
mov r3, #2032
- ldr r0, [r4, #1176]
+ ldr r0, [r4, #1040]
mov r2, #32
- add r0, r0, #80
- str r3, [r0, #-72]
+ str r3, [r0, #8]
mov r3, #1
- strh r3, [r0, #-64] @ movhi
+ strh r3, [r0, #16] @ movhi
+ add r0, r0, #80
bl ftl_memcpy
- ldr r0, [r4, #1176]
- ldr r1, .L1890+24
+ ldr r0, [r4, #1040]
mov r2, #32
+ ldr r1, .L1852+24
+ pop {r4, lr}
add r0, r0, #48
- ldmfd sp!, {r4, lr}
b ftl_memcpy
-.L1891:
+.L1853:
.align 2
-.L1890:
+.L1852:
.word .LANCHOR2
- .word .LC138
- .word .LANCHOR1+1904
+ .word .LANCHOR1+1720
+ .word .LC135
.word .LANCHOR0
.word 1398362953
- .word .LANCHOR0+1103
+ .word .LANCHOR0+1111
.word .LANCHOR2+4
.fnend
.size flash_info_data_init, .-flash_info_data_init
.align 2
.global ftl_memcpy32
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_memcpy32, %function
ftl_memcpy32:
.fnstart
@@ -11126,18 +11276,22 @@
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
mov r3, #0
-.L1893:
+.L1855:
cmp r3, r2
- ldrne ip, [r1, r3, asl #2]
- strne ip, [r0, r3, asl #2]
- addne r3, r3, #1
- bne .L1893
-.L1895:
+ bne .L1856
bx lr
+.L1856:
+ ldr ip, [r1, r3, lsl #2]
+ str ip, [r0, r3, lsl #2]
+ add r3, r3, #1
+ b .L1855
.fnend
.size ftl_memcpy32, .-ftl_memcpy32
.align 2
.global ftl_memcmp
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_memcmp, %function
ftl_memcmp:
.fnstart
@@ -11149,178 +11303,198 @@
.size ftl_memcmp, .-ftl_memcmp
.align 2
.global timer_get_time
+ .syntax unified
+ .arm
+ .fpu softvfp
.type timer_get_time, %function
timer_get_time:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L1898
+ ldr r3, .L1859
ldr r0, [r3]
- ldr r3, .L1898+4
- ldr r3, [r3, #-144]
- rsb r0, r3, r0
+ ldr r3, .L1859+4
+ ldr r3, [r3, #-168]
+ sub r0, r0, r3
b jiffies_to_msecs
-.L1899:
+.L1860:
.align 2
-.L1898:
+.L1859:
.word jiffies
.word .LANCHOR3
.fnend
.size timer_get_time, .-timer_get_time
.align 2
.global StorageSysDataLoad
+ .syntax unified
+ .arm
+ .fpu softvfp
.type StorageSysDataLoad, %function
StorageSysDataLoad:
.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}
- mov r2, #512
- mov r5, r0
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
mov r4, r1
- mov r0, r1
+ mov r5, r0
+ mov r2, #512
mov r1, #0
+ mov r0, r4
bl ftl_memset
bl rknand_device_lock
- ldr r3, .L1902
+ ldr r3, .L1863
mov r2, r4
mov r1, #1
mov r0, r5
- ldr r3, [r3, #-136]
+ ldr r3, [r3, #-160]
ldr r3, [r3, #12]
blx r3
mov r4, r0
bl rknand_device_unlock
mov r0, r4
- ldmfd sp!, {r3, r4, r5, pc}
-.L1903:
+ pop {r4, r5, r6, pc}
+.L1864:
.align 2
-.L1902:
+.L1863:
.word .LANCHOR3
.fnend
.size StorageSysDataLoad, .-StorageSysDataLoad
.align 2
.global StorageSysDataStore
+ .syntax unified
+ .arm
+ .fpu softvfp
.type StorageSysDataStore, %function
StorageSysDataStore:
.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}
- mov r4, r1
- mov r5, r0
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
+ mov r5, r1
+ mov r4, r0
bl rknand_device_lock
- ldr r3, .L1906
- mov r2, r4
+ ldr r3, .L1867
+ mov r2, r5
mov r1, #1
- mov r0, r5
- ldr r3, [r3, #-136]
+ mov r0, r4
+ ldr r3, [r3, #-160]
ldr r3, [r3, #16]
blx r3
mov r4, r0
bl rknand_device_unlock
mov r0, r4
- ldmfd sp!, {r3, r4, r5, pc}
-.L1907:
+ pop {r4, r5, r6, pc}
+.L1868:
.align 2
-.L1906:
+.L1867:
.word .LANCHOR3
.fnend
.size StorageSysDataStore, .-StorageSysDataStore
.align 2
.global FlashBootVendorRead
+ .syntax unified
+ .arm
+ .fpu softvfp
.type FlashBootVendorRead, %function
FlashBootVendorRead:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, lr}
+ push {r4, r5, r6, lr}
.save {r4, r5, r6, lr}
- mov r6, r0
+ mov r4, r0
mov r5, r1
- mov r4, r2
+ mov r6, r2
bl rknand_device_lock
- ldr r3, .L1910
- mov r2, r4
+ ldr r3, .L1871
+ mov r2, r6
mov r1, r5
- mov r0, r6
- ldr r3, [r3, #-136]
+ mov r0, r4
+ ldr r3, [r3, #-160]
ldr r3, [r3, #4]
blx r3
mov r4, r0
bl rknand_device_unlock
mov r0, r4
- ldmfd sp!, {r4, r5, r6, pc}
-.L1911:
+ pop {r4, r5, r6, pc}
+.L1872:
.align 2
-.L1910:
+.L1871:
.word .LANCHOR3
.fnend
.size FlashBootVendorRead, .-FlashBootVendorRead
.align 2
.global FlashBootVendorWrite
+ .syntax unified
+ .arm
+ .fpu softvfp
.type FlashBootVendorWrite, %function
FlashBootVendorWrite:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, lr}
+ push {r4, r5, r6, lr}
.save {r4, r5, r6, lr}
- mov r6, r0
+ mov r4, r0
mov r5, r1
- mov r4, r2
+ mov r6, r2
bl rknand_device_lock
- ldr r3, .L1914
- mov r2, r4
+ ldr r3, .L1875
+ mov r2, r6
mov r1, r5
- mov r0, r6
- ldr r3, [r3, #-136]
+ mov r0, r4
+ ldr r3, [r3, #-160]
ldr r3, [r3, #8]
blx r3
mov r4, r0
bl rknand_device_unlock
mov r0, r4
- ldmfd sp!, {r4, r5, r6, pc}
-.L1915:
+ pop {r4, r5, r6, pc}
+.L1876:
.align 2
-.L1914:
+.L1875:
.word .LANCHOR3
.fnend
.size FlashBootVendorWrite, .-FlashBootVendorWrite
.align 2
.global flash_sram_load_store
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_sram_load_store, %function
flash_sram_load_store:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- ldr ip, .L1920
+ ldr ip, .L1882
cmp r2, #0
moveq r2, r3
- ldr ip, [ip, #-132]
+ ldr ip, [ip, #-156]
add ip, ip, #4096
- add r1, ip, r1
- beq .L1919
- str lr, [sp, #-4]!
+ add ip, ip, r1
+ moveq r1, ip
+ strne lr, [sp, #-4]!
.save {lr}
- mov lr, r0
- mov r0, r1
- mov r1, lr
- ldr lr, [sp], #4
- mov r2, r3
-.L1919:
+ movne r1, r0
+ ldrne lr, [sp], #4
+ movne r2, r3
+ movne r0, ip
+.L1881:
b ftl_memcpy
-.L1921:
+.L1883:
.align 2
-.L1920:
+.L1882:
.word .LANCHOR3
.fnend
.size flash_sram_load_store, .-flash_sram_load_store
.align 2
.global FlashCs123Init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type FlashCs123Init, %function
FlashCs123Init:
.fnstart
@@ -11331,312 +11505,699 @@
.fnend
.size FlashCs123Init, .-FlashCs123Init
.align 2
+ .global ftl_dma32_malloc
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type ftl_dma32_malloc, %function
+ftl_dma32_malloc:
+ .fnstart
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ cmp r0, #8192
+ ble .L1886
+ b ftl_malloc
+.L1886:
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
+ add r4, r0, #63
+ ldr r5, .L1890
+ bic r4, r4, #63
+ ldr r3, [r5, #-152]
+ cmp r4, r3
+ ble .L1887
+ mov r0, #16384
+ bl ftl_malloc
+ mov r3, #16384
+ str r0, [r5, #-148]
+ str r3, [r5, #-152]
+.L1887:
+ ldr r3, [r5, #-152]
+ ldr r0, [r5, #-148]
+ sub r3, r3, r4
+ add r4, r0, r4
+ str r3, [r5, #-152]
+ str r4, [r5, #-148]
+ pop {r4, r5, r6, pc}
+.L1891:
+ .align 2
+.L1890:
+ .word .LANCHOR3
+ .fnend
+ .size ftl_dma32_malloc, .-ftl_dma32_malloc
+ .align 2
+ .global nandc_init
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type nandc_init, %function
+nandc_init:
+ .fnstart
+ @ args = 0, pretend = 0, frame = 8
+ @ frame_needed = 0, uses_anonymous_args = 0
+ push {r0, r1, r2, r3, r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
+ .pad #16
+ mov r3, #0
+ ldr r5, .L1912
+ mov r6, r0
+ str r3, [sp, #12]
+ ldr r3, [r5]
+ tst r3, #4096
+ beq .L1893
+ mov r2, r0
+ ldr r1, .L1912+4
+ ldr r0, .L1912+8
+ bl printk
+.L1893:
+ ldr r4, .L1912+12
+ mov r3, #6
+ ldr r2, [r6, #352]
+ strb r3, [r4, #1028]
+ ldr r3, .L1912+16
+ str r6, [r4, #1044]
+ cmp r2, r3
+ ldr r2, [r6, #128]
+ moveq r3, #8
+ strbeq r3, [r4, #1028]
+ ldr r3, .L1912+20
+ cmp r2, r3
+ ldr r2, .L1912+24
+ moveq r3, #9
+ strbeq r3, [r4, #1028]
+ ldrb r3, [r4, #1028] @ zero_extendqisi2
+ cmp r3, #9
+ bne .L1896
+ mov r3, #1
+ mov r1, #2
+ strb r3, [r4, #1195]
+ ldr r3, [sp, #12]
+ orr r3, r3, #256
+ str r3, [sp, #12]
+ ldr r3, [sp, #12]
+ bfi r3, r1, #18, #3
+ str r3, [sp, #12]
+ ldr r3, [sp, #12]
+ str r3, [r6]
+ mov r3, #0
+ ldr r0, [r4, #1044]
+ str r3, [r0, #520]
+ movw r3, #4161
+ str r3, [r0, #4]
+ movw r3, #8321
+ str r3, [r0, #8]
+ mov r3, #38
+ str r2, [r0, #80]
+ str r3, [r0, #84]
+ mov r3, #39
+ str r3, [r0, #84]
+ ldr r3, [r5]
+ tst r3, #4096
+ beq .L1898
+ ldr r1, [r0]
+ ldr r2, [r0, #8]
+ ldr r3, [r0, #80]
+ ldr ip, [r0, #84]
+ ldr r0, [r0, #88]
+.L1911:
+ str r0, [sp, #4]
+ str ip, [sp]
+ ldr r0, .L1912+28
+ bl printk
+.L1898:
+ mov r3, #1
+ movw r2, #1228
+ strb r3, [r4, #1196]
+ mov r3, #0
+ strh r3, [r4, r2] @ movhi
+ strb r3, [r4, #1193]
+ ldr r3, [r5]
+ tst r3, #4096
+ beq .L1892
+ ldrb r1, [r4, #1028] @ zero_extendqisi2
+ ldr r0, .L1912+32
+ bl printk
+.L1892:
+ add sp, sp, #16
+ @ sp needed
+ pop {r4, r5, r6, pc}
+.L1896:
+ ldr r3, [sp, #12]
+ mov r0, #1
+ mov r1, #0
+ strb r1, [r4, #1195]
+ orr r3, r3, #256
+ str r3, [sp, #12]
+ ldr r3, [sp, #12]
+ bfi r3, r0, #24, #3
+ mov r0, #2048
+ str r3, [sp, #12]
+ ldr r3, [sp, #12]
+ str r3, [r6]
+ ldr r3, [r4, #1044]
+ str r1, [r3, #336]
+ movw r1, #4193
+ str r1, [r3, #4]
+ movw r1, #8321
+ str r1, [r3, #344]
+ str r2, [r3, #304]
+ mov r2, #38
+ str r2, [r3, #308]
+ mov r2, #39
+ str r2, [r3, #308]
+ bl ftl_dma32_malloc
+ ldr r3, [r5]
+ str r0, [r4, #1200]
+ tst r3, #4096
+ beq .L1898
+ ldr r0, [r4, #1044]
+ ldr r1, [r0]
+ ldr r2, [r0, #344]
+ ldr r3, [r0, #304]
+ ldr ip, [r0, #308]
+ ldr r0, [r0, #312]
+ b .L1911
+.L1913:
+ .align 2
+.L1912:
+ .word .LANCHOR2
+ .word .LANCHOR1+1741
+ .word .LC136
+ .word .LANCHOR0
+ .word 1446522928
+ .word 1446588464
+ .word 1052675
+ .word .LC137
+ .word .LC138
+ .fnend
+ .size nandc_init, .-nandc_init
+ .align 2
+ .global zbuf_init
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type zbuf_init, %function
+zbuf_init:
+ .fnstart
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ push {r4, r5, r6, r7, r8, lr}
+ .save {r4, r5, r6, r7, r8, lr}
+ mov r5, #0
+ ldr r4, .L1918
+ mov r6, r5
+ ldr r7, .L1918+4
+.L1915:
+ ldrb r0, [r7, #-2546] @ zero_extendqisi2
+ uxtb r3, r5
+ strb r6, [r4, #2]
+ add r5, r5, #1
+ add r2, r3, #1
+ strb r3, [r4, #1]
+ strb r2, [r4]
+ add r4, r4, #48
+ lsl r0, r0, #9
+ str r6, [r4, #-40]
+ bl ftl_dma32_malloc
+ str r0, [r4, #-44]
+ mov r0, #64
+ bl ftl_dma32_malloc
+ cmp r5, #32
+ str r0, [r4, #-36]
+ bne .L1915
+ ldr r3, .L1918+8
+ mvn r2, #0
+ strb r2, [r3, #2720]
+ strb r6, [r3, #2768]
+ strb r5, [r3, #2769]
+ pop {r4, r5, r6, r7, r8, pc}
+.L1919:
+ .align 2
+.L1918:
+ .word .LANCHOR0+1232
+ .word .LANCHOR3
+ .word .LANCHOR0
+ .fnend
+ .size zbuf_init, .-zbuf_init
+ .align 2
+ .global gc_init
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type gc_init, %function
+gc_init:
+ .fnstart
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
+ movw r9, #2824
+ ldr r6, .L1922
+ mov r5, #0
+ movw r2, #2204
+ mov r1, r5
+ ldr r4, .L1922+4
+ add r7, r6, r9
+ mov r0, r7
+ sub r8, r4, #3088
+ strb r5, [r4, #-3119]
+ strb r5, [r4, #-144]
+ str r5, [r4, #-140]
+ strh r5, [r8, #-6] @ movhi
+ bl ftl_memset
+ mvn r3, #0
+ ldrb r0, [r4, #-3127] @ zero_extendqisi2
+ strh r3, [r6, r9] @ movhi
+ movw ip, #2806
+ ldrh r3, [r8, #-8]
+ str r5, [r6, #2832]
+ lsr r2, r3, #1
+ lsr r1, r3, #2
+ strh r2, [r7, #34] @ movhi
+ smulbb r2, r0, r3
+ strh r1, [r7, #32] @ movhi
+ sub r7, r4, #3104
+ strh r5, [r7, #-8] @ movhi
+ uxth r2, r2
+ strh r5, [r7, #-6] @ movhi
+ strh r5, [r7, #-4] @ movhi
+ sub lr, r2, #32
+ strh lr, [r6, ip] @ movhi
+ movw ip, #2808
+ strh r2, [r6, ip] @ movhi
+ add r2, r6, #2816
+ strh r3, [r2] @ movhi
+ mov r3, #4
+ strh r3, [r4, #-136] @ movhi
+ movw r3, #2818
+ strh r1, [r6, r3] @ movhi
+ ldrh r3, [r7, #-14]
+ mul r0, r0, r3
+ lsl r0, r0, #2
+ bl ftl_dma32_malloc
+ ldrh r3, [r7, #-14]
+ str r0, [r4, #-132]
+ ldrb r0, [r4, #-3127] @ zero_extendqisi2
+ mul r0, r0, r3
+ lsl r0, r0, #2
+ bl ftl_dma32_malloc
+ ldrh r3, [r7, #-14]
+ str r0, [r4, #-128]
+ ldrb r0, [r4, #-3127] @ zero_extendqisi2
+ mul r0, r0, r3
+ bl ftl_dma32_malloc
+ ldrh r3, [r7, #-14]
+ str r0, [r4, #-3124]
+ ldrb r0, [r4, #-3127] @ zero_extendqisi2
+ mul r0, r0, r3
+ lsl r0, r0, #2
+ bl ftl_dma32_malloc
+ ldrh r3, [r7, #-14]
+ str r0, [r4, #-3132]
+ ldrb r0, [r4, #-3127] @ zero_extendqisi2
+ mul r0, r0, r3
+ lsl r0, r0, #2
+ bl ftl_dma32_malloc
+ ldrh r3, [r8, #-4]
+ movw r2, #2804
+ str r0, [r4, #-124]
+ lsr r3, r3, #2
+ strh r3, [r6, r2] @ movhi
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L1923:
+ .align 2
+.L1922:
+ .word .LANCHOR0
+ .word .LANCHOR3
+ .fnend
+ .size gc_init, .-gc_init
+ .align 2
.global rk_ftl_de_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rk_ftl_de_init, %function
rk_ftl_de_init:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, lr}
+ push {r4, lr}
.save {r4, lr}
mov r1, #0
- ldr r0, .L1925
+ ldr r0, .L1926
bl printk
- ldr r3, .L1925+4
- ldr r3, [r3, #-136]
+ ldr r3, .L1926+4
+ pop {r4, lr}
+ ldr r3, [r3, #-160]
ldr r3, [r3, #40]
- ldmfd sp!, {r4, lr}
bx r3 @ indirect register sibling call
-.L1926:
+.L1927:
.align 2
-.L1925:
+.L1926:
.word .LC139
.word .LANCHOR3
.fnend
.size rk_ftl_de_init, .-rk_ftl_de_init
.align 2
.global rk_ftl_cache_write_back
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rk_ftl_cache_write_back, %function
rk_ftl_cache_write_back:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L1928
+ ldr r3, .L1929
mov r0, #0
- ldr r3, [r3, #-136]
+ ldr r3, [r3, #-160]
ldr r3, [r3, #32]
bx r3 @ indirect register sibling call
-.L1929:
+.L1930:
.align 2
-.L1928:
+.L1929:
.word .LANCHOR3
.fnend
.size rk_ftl_cache_write_back, .-rk_ftl_cache_write_back
.align 2
.global rk_nand_suspend
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rk_nand_suspend, %function
rk_nand_suspend:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L1931
- ldr r3, [r3, #-136]
+ ldr r3, .L1932
+ ldr r3, [r3, #-160]
ldr r3, [r3, #44]
bx r3 @ indirect register sibling call
-.L1932:
+.L1933:
.align 2
-.L1931:
+.L1932:
.word .LANCHOR3
.fnend
.size rk_nand_suspend, .-rk_nand_suspend
.align 2
.global rk_nand_resume
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rk_nand_resume, %function
rk_nand_resume:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L1934
- ldr r3, [r3, #-136]
+ ldr r3, .L1935
+ ldr r3, [r3, #-160]
ldr r3, [r3, #48]
bx r3 @ indirect register sibling call
-.L1935:
+.L1936:
.align 2
-.L1934:
+.L1935:
.word .LANCHOR3
.fnend
.size rk_nand_resume, .-rk_nand_resume
.align 2
.global rk_ftl_get_capacity
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rk_ftl_get_capacity, %function
rk_ftl_get_capacity:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L1937
+ ldr r3, .L1938
mov r0, #0
- ldr r3, [r3, #-136]
+ ldr r3, [r3, #-160]
ldr r3, [r3, #36]
bx r3
-.L1938:
+.L1939:
.align 2
-.L1937:
+.L1938:
.word .LANCHOR3
.fnend
.size rk_ftl_get_capacity, .-rk_ftl_get_capacity
.align 2
.global rk_nandc_get_irq_status
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rk_nandc_get_irq_status, %function
rk_nandc_get_irq_status:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L1940
- ldr r3, [r3, #-136]
+ ldr r3, .L1941
+ ldr r3, [r3, #-160]
ldr r3, [r3, #60]
bx r3
-.L1941:
+.L1942:
.align 2
-.L1940:
+.L1941:
.word .LANCHOR3
.fnend
.size rk_nandc_get_irq_status, .-rk_nandc_get_irq_status
.align 2
.global rknand_proc_ftlread
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rknand_proc_ftlread, %function
rknand_proc_ftlread:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L1943
- ldr r3, [r3, #-136]
+ ldr r3, .L1944
+ ldr r3, [r3, #-160]
ldr r3, [r3, #64]
bx r3
-.L1944:
+.L1945:
.align 2
-.L1943:
+.L1944:
.word .LANCHOR3
.fnend
.size rknand_proc_ftlread, .-rknand_proc_ftlread
.align 2
.global FtlRead
+ .syntax unified
+ .arm
+ .fpu softvfp
.type FtlRead, %function
FtlRead:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- @ link register save eliminated.
- ldr ip, .L1946
- ldr ip, [ip, #-136]
- ldr ip, [ip, #20]
+ ldr ip, .L1948
+ str lr, [sp, #-4]!
+ .save {lr}
+ ldr ip, [ip, #-160]
+ ldr lr, [ip, #20]
+ mov ip, lr
+ ldr lr, [sp], #4
bx ip
-.L1947:
+.L1949:
.align 2
-.L1946:
+.L1948:
.word .LANCHOR3
.fnend
.size FtlRead, .-FtlRead
.align 2
.global FtlDiscard
+ .syntax unified
+ .arm
+ .fpu softvfp
.type FtlDiscard, %function
FtlDiscard:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L1949
- ldr r3, [r3, #-136]
+ ldr r3, .L1951
+ ldr r3, [r3, #-160]
ldr r3, [r3, #28]
bx r3
-.L1950:
+.L1952:
.align 2
-.L1949:
+.L1951:
.word .LANCHOR3
.fnend
.size FtlDiscard, .-FtlDiscard
.align 2
.global rk_ftl_garbage_collect
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rk_ftl_garbage_collect, %function
rk_ftl_garbage_collect:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L1952
- ldr r3, [r3, #-136]
+ ldr r3, .L1954
+ ldr r3, [r3, #-160]
ldr r3, [r3, #52]
bx r3
-.L1953:
+.L1955:
.align 2
-.L1952:
+.L1954:
.word .LANCHOR3
.fnend
.size rk_ftl_garbage_collect, .-rk_ftl_garbage_collect
.align 2
.global ReadFlashInfo
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ReadFlashInfo, %function
ReadFlashInfo:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L1955
- ldr r3, [r3, #-136]
+ ldr r3, .L1957
+ ldr r3, [r3, #-160]
ldr r3, [r3, #56]
bx r3 @ indirect register sibling call
-.L1956:
+.L1958:
.align 2
-.L1955:
+.L1957:
.word .LANCHOR3
.fnend
.size ReadFlashInfo, .-ReadFlashInfo
.align 2
.global rknand_print_hex
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rknand_print_hex, %function
rknand_print_hex:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r3, r4, lr}
+ mov ip, r2
+ push {r0, r1, r2, r3, r4, lr}
.save {lr}
.pad #20
- mov ip, r0
- mul r3, r3, r2
- str r2, [sp]
- str r1, [sp, #4]
+ mul r3, r3, ip
mov r2, #0
- ldr r0, .L1959
- mov r1, ip
str r2, [sp, #12]
- str r3, [sp, #8]
+ str ip, [sp]
+ stmib sp, {r1, r3}
+ mov r1, r0
mov r3, #16
+ ldr r0, .L1961
bl print_hex_dump
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
-.L1960:
+.L1962:
.align 2
-.L1959:
+.L1961:
.word .LC140
.fnend
.size rknand_print_hex, .-rknand_print_hex
.align 2
.global hynix_get_read_retry_default
+ .syntax unified
+ .arm
+ .fpu softvfp
.type hynix_get_read_retry_default, %function
hynix_get_read_retry_default:
.fnstart
- @ args = 0, pretend = 0, frame = 32
+ @ args = 0, pretend = 0, frame = 48
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- cmp r0, #2
- ldr r8, .L2072
- .pad #36
- sub sp, sp, #36
- mvn r7, #81
- mvn r6, #80
mov r5, r0
- ldr r4, [r8, #1176]
- add r3, r4, #128
- str r3, [sp]
- strb r0, [r4, #112]
+ ldr r6, .L2074
mvn r3, #83
- strb r7, [r4, #130]
+ cmp r5, #2
+ mvn r2, #81
+ .pad #52
+ sub sp, sp, #52
+ ldr r4, [r6, #1040]
+ strb r0, [r4, #112]
+ mvn r0, #82
strb r3, [r4, #128]
- mvn r3, #82
- strb r6, [r4, #131]
- strb r3, [r4, #129]
- bne .L1962
- mvn r3, #88
- strb r3, [r4, #128]
- ldr r3, .L2072+4
- mvn r1, #8
- mov r6, #7
- strb r1, [r3, #413]
- b .L2023
-.L1962:
- cmp r0, #3
+ mvn r3, #80
+ add r1, r4, #128
+ strb r0, [r4, #129]
+ strb r2, [r4, #130]
+ strb r3, [r4, #131]
bne .L1964
- add r1, r4, #127
+ mvn r3, #88
+ mov r10, #7
+ strb r3, [r4, #128]
+ mvn r2, #8
+ ldr r3, .L2074+4
+ strb r2, [r3, #407]
+.L2068:
+ mov fp, #4
+ b .L1965
+.L1964:
+ cmp r5, #3
+ bne .L1966
+ add r2, r4, #127
mov r3, #176
-.L1965:
- strb r3, [r1, #1]!
+.L1967:
+ strb r3, [r2, #1]!
add r3, r3, #1
uxtb r3, r3
cmp r3, #184
- bne .L1965
- b .L2066
-.L1964:
- cmp r0, #4
- bne .L1966
- mvn r1, #51
- strb r3, [r4, #133]
- strb r1, [r4, #128]
- mvn r1, #64
- strb r7, [r4, #134]
- strb r1, [r4, #129]
- mvn r1, #85
- strb r6, [r4, #135]
- strb r1, [r4, #130]
- mvn r1, #84
- strb r1, [r4, #131]
- mvn r1, #50
- strb r1, [r4, #132]
-.L2066:
- mov r6, #8
- mov fp, r6
- b .L1963
-.L1966:
- cmp r0, #5
bne .L1967
+.L2069:
+ mov r10, #8
+ mov fp, r10
+.L1965:
+ sub r3, r5, #1
+ cmp r3, #1
+ bhi .L1973
+ sub r9, fp, #1
+ mov r8, #0
+ uxtab r3, r1, r9
+ str r3, [sp, #4]
+.L1974:
+ ldrb r2, [r6, #1109] @ zero_extendqisi2
+ uxtb r3, r8
+ cmp r2, r3
+ bhi .L1979
+.L1980:
+ strb fp, [r4, #113]
+ strb r10, [r4, #114]
+ add sp, sp, #52
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L1966:
+ cmp r5, #4
+ bne .L1968
+ mvn ip, #51
+ strb r0, [r4, #133]
+ strb ip, [r4, #128]
+ mvn ip, #64
+ strb ip, [r4, #129]
+ mvn ip, #85
+ strb ip, [r4, #130]
+ mvn ip, #84
+ strb ip, [r4, #131]
+ mvn ip, #50
+ strb ip, [r4, #132]
+ strb r2, [r4, #134]
+ strb r3, [r4, #135]
+ b .L2069
+.L1968:
+ cmp r5, #5
+ bne .L1969
mov r3, #56
- mov r6, #8
+ mov r10, #8
strb r3, [r4, #128]
mov r3, #57
strb r3, [r4, #129]
@@ -11644,12 +12205,12 @@
strb r3, [r4, #130]
mov r3, #59
strb r3, [r4, #131]
- b .L2023
-.L1967:
- cmp r0, #6
- bne .L1968
+ b .L2068
+.L1969:
+ cmp r5, #6
+ bne .L1970
mov r3, #14
- mov r6, #12
+ mov r10, #12
strb r3, [r4, #128]
mov r3, #15
strb r3, [r4, #129]
@@ -11657,105 +12218,87 @@
strb r3, [r4, #130]
mov r3, #17
strb r3, [r4, #131]
- b .L2023
-.L1968:
- cmp r0, #7
- bne .L1969
- add r1, r4, #127
- mov r3, #176
+ b .L2068
.L1970:
- strb r3, [r1, #1]!
+ cmp r5, #7
+ bne .L1971
+ add r2, r4, #127
+ mov r3, #176
+.L1972:
+ strb r3, [r2, #1]!
add r3, r3, #1
uxtb r3, r3
cmp r3, #184
- bne .L1970
+ bne .L1972
mvn r3, #43
- mov r6, #12
+ mov r10, #12
strb r3, [r4, #136]
- mov fp, #10
mvn r3, #42
strb r3, [r4, #137]
- b .L1963
-.L1969:
- cmp r0, #8
- mov r6, #7
- bne .L2023
- mov r3, #6
- strb r6, [r4, #129]
- strb r3, [r4, #128]
- mov r6, #50
- mov r3, #9
- strb r0, [r4, #130]
- strb r3, [r4, #131]
- mov fp, #5
- mov r3, #10
- strb r3, [r4, #132]
- b .L1963
-.L2023:
- mov fp, #4
-.L1963:
- sub r3, r5, #1
- cmp r3, #1
- bhi .L2062
- ldr r1, .L2072+8
- mov r9, #0
+ mov fp, #10
+ b .L1965
.L1971:
- ldrb ip, [r8, #1101] @ zero_extendqisi2
- uxtb r3, r9
- ldr r0, .L2072
- cmp ip, r3
- bls .L1978
- add r3, r0, r3
+ cmp r5, #8
+ mov r3, #7
+ movne r10, r3
+ bne .L2068
+ strb r3, [r4, #129]
+ mov r3, #9
+ mov r2, #6
+ strb r3, [r4, #131]
+ mov r3, #10
+ strb r2, [r4, #128]
+ strb r5, [r4, #130]
+ mov r10, #50
+ strb r3, [r4, #132]
+ mov fp, #5
+ b .L1965
+.L1979:
+ add r3, r6, r3
mov r5, #160
- ldr r0, [r0, #1040]
- sub r10, fp, #1
- ldrb r7, [r3, #1180] @ zero_extendqisi2
- add r2, r4, #127
- ldr ip, [sp]
- mla r5, r5, r7, r4
- add r7, r0, r7, asl #8
- uxtab r10, ip, r10
- mov ip, #55
+ ldrb r3, [r3, #1144] @ zero_extendqisi2
+ add r1, r4, #127
+ ldr r7, [r6, #1044]
+ mla r5, r5, r3, r4
+ add r7, r7, r3, lsl #8
+ mov r3, #55
add r5, r5, #144
- sub r3, r5, #1
-.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, #200
- str ip, [sp, #8]
- str r2, [sp, #4]
- str r2, [sp, #20]
- bl timer_delay_ns
- ldr r0, [r7, #2048]
- ldr r2, [sp, #4]
- ldr r3, [sp, #12]
- cmp r2, r10
- ldr ip, [sp, #8]
- ldr r1, [sp, #16]
- strb r0, [r3, #1]!
- bne .L1973
- mov ip, r5
- mov r0, #0
-.L1974:
- add r7, r1, r0
- mov r3, #1
+ sub r9, r5, #1
.L1975:
- ldrb lr, [r7, r3, asl #2] @ zero_extendqisi2
- ldrb r10, [ip] @ zero_extendqisi2
- add lr, lr, r10
- strb lr, [ip, r3, asl #3]
+ str r3, [r7, #2056]
+ mov r0, #200
+ ldrb r2, [r1, #1]! @ zero_extendqisi2
+ str r3, [sp, #12]
+ str r2, [r7, #2052]
+ str r1, [sp, #8]
+ bl ndelay
+ ldr r3, [sp, #4]
+ ldr r1, [sp, #8]
+ ldr r2, [r7, #2048]
+ cmp r3, r1
+ ldr r3, [sp, #12]
+ strb r2, [r9, #1]!
+ bne .L1975
+ ldr lr, .L2074+8
+ mov r1, r5
+ mov r2, #0
+.L1976:
+ mov r3, #1
+ add ip, lr, r2
+.L1977:
+ ldrb r0, [ip, r3, lsl #2] @ zero_extendqisi2
+ ldrb r7, [r1] @ zero_extendqisi2
+ add r0, r0, r7
+ strb r0, [r1, r3, lsl #3]
add r3, r3, #1
cmp r3, #7
- bne .L1975
- add r0, r0, #1
- add ip, ip, #1
- cmp r0, #4
- bne .L1974
+ bne .L1977
+ add r2, r2, #1
+ add r1, r1, #1
+ cmp r2, #4
+ bne .L1976
mov r3, #0
- add r9, r9, #1
+ add r8, r8, #1
strb r3, [r5, #16]
strb r3, [r5, #24]
strb r3, [r5, #32]
@@ -11763,384 +12306,383 @@
strb r3, [r5, #48]
strb r3, [r5, #41]
strb r3, [r5, #49]
- b .L1971
-.L2062:
+ b .L1974
+.L1973:
sub r3, r5, #3
cmp r3, #5
- bhi .L1978
- smulbb r2, fp, r6
- mov r3, r2, asl #4
- mov r2, r2, asr #1
- str r3, [sp, #28]
- mov r3, r2, asl #1
- str r3, [sp, #8]
+ bhi .L1980
+ smulbb r3, fp, r10
+ asr r2, r3, #1
+ lsl r3, r3, #4
+ str r3, [sp, #44]
+ lsl r3, r2, #2
+ str r2, [sp, #4]
+ str r3, [sp, #36]
+ lsl r3, r2, #1
+ str r3, [sp, #20]
mov r3, #0
-.L2070:
- str r3, [sp, #12]
- ldr r3, .L2072
- ldrb r2, [r3, #1101] @ zero_extendqisi2
- ldrb r3, [sp, #12] @ zero_extendqisi2
+.L2073:
+ str r3, [sp, #16]
+ ldr r3, .L2074
+ ldrb r2, [r3, #1109] @ zero_extendqisi2
+ ldrb r3, [sp, #16] @ zero_extendqisi2
cmp r2, r3
- 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}
-.L2022:
- ldr r2, .L2072
- mov r10, #160
- mov r9, #255
+ bls .L1980
+ ldr r2, .L2074
+ mov r7, #255
add r3, r2, r3
- ldrb r3, [r3, #1180] @ zero_extendqisi2
- mov r0, r3
- str r3, [sp]
+ ldrb r8, [r3, #1144] @ zero_extendqisi2
+ mov r0, r8
bl zftl_flash_exit_slc_mode
- ldr r3, [sp]
- mla r10, r10, r3, r4
- add r3, r10, #144
- str r3, [sp, #24]
- ldr r3, .L2072
- ldr r3, [r3, #1040]
- str r3, [sp, #4]
- ldr r3, [sp]
- mov r8, r3, asl #8
- ldr r3, [sp, #4]
- add r7, r3, r8
- str r9, [r7, #2056]
+ mov r0, #160
+ mla r0, r0, r8, r4
+ add r3, r0, #144
+ str r3, [sp, #32]
+ ldr r3, .L2074
+ ldr r9, [r3, #1044]
+ add r6, r9, r8, lsl #8
+ str r7, [r6, #2056]
bl nandc_wait_flash_ready
cmp r5, #8
- bne .L1980
+ bne .L1982
add r3, r4, #144
mov r2, #23
- mov r1, #25
- str r3, [sp, #24]
+ str r3, [sp, #32]
mov r3, #120
- str r3, [r7, #2056]
+ str r3, [r6, #2056]
mov r3, #0
- str r3, [r7, #2052]
- str r3, [r7, #2052]
- str r3, [r7, #2052]
- str r2, [r7, #2056]
+ str r3, [r6, #2052]
+ mov r1, #25
+ str r3, [r6, #2052]
+ str r3, [r6, #2052]
+ str r2, [r6, #2056]
mov r2, #4
- str r2, [r7, #2056]
- str r1, [r7, #2056]
+ str r2, [r6, #2056]
+ str r1, [r6, #2056]
mov r1, #218
- str r1, [r7, #2056]
+ str r1, [r6, #2056]
mov r1, #21
- str r3, [r7, #2056]
- str r3, [r7, #2052]
- str r3, [r7, #2052]
- str r1, [r7, #2052]
- str r2, [r7, #2052]
- str r3, [r7, #2052]
- b .L1981
-.L1980:
- cmp r5, #4
- mov r3, #54
- str r3, [r7, #2056]
- moveq r3, #64
- streq r9, [r7, #2052]
- streq r3, [r7, #2048]
- moveq r3, #204
- beq .L2067
-.L1982:
- sub r3, r5, #5
- cmp r3, #1
- ldrlsb r3, [r4, #128] @ zero_extendqisi2
- strls r3, [r7, #2052]
- movls r3, #82
- bls .L2068
- cmp r5, #7
- bne .L1983
- mov r3, #174
- str r3, [r7, #2052]
- mov r3, #0
- str r3, [r7, #2048]
- mov r3, #176
-.L2067:
- str r3, [r7, #2052]
- mov r3, #77
-.L2068:
- str r3, [r7, #2048]
+ str r3, [r6, #2056]
+ str r3, [r6, #2052]
+ str r3, [r6, #2052]
+ str r1, [r6, #2052]
+ str r2, [r6, #2052]
+ str r3, [r6, #2052]
.L1983:
- ldr r3, [sp, #4]
- cmp r5, #6
- add r8, r3, r8
- mov r3, #22
- str r3, [r8, #2056]
- mov r3, #23
- str r3, [r8, #2056]
- mov r3, #4
- str r3, [r8, #2056]
- mov r3, #25
- str r3, [r8, #2056]
- mov r3, #0
- str r3, [r8, #2056]
- str r3, [r8, #2052]
- str r3, [r8, #2052]
- moveq r3, #31
- str r3, [r8, #2052]
- mov r3, #2
- str r3, [r8, #2052]
- mov r3, #0
- str r3, [r8, #2052]
-.L1981:
- ldmia sp, {r2, r3}
- sub r10, r5, #8
- sub r8, r5, #5
- clz r10, r10
- add r3, r3, r2, asl #8
+ add r3, r9, r8, lsl #8
mov r2, #48
- mov r10, r10, lsr #5
str r2, [r3, #2056]
bl nandc_wait_flash_ready
- cmp r8, #1
- movhi r3, #0
- movls r3, #1
- str r3, [sp, #16]
- orrs r3, r3, r10
- movne ip, #16
- bne .L1987
+ sub r3, r5, #5
+ cmp r5, #8
+ cmpne r3, #1
+ str r3, [sp, #40]
+ movls r2, #16
+ bls .L1989
cmp r5, #7
- movne ip, #2
- moveq ip, #32
-.L1987:
- ldr r3, .L2072+12
- ldmia sp, {r1, r2}
- ldr r3, [r3, #-128]
- add r1, r2, r1, asl #8
- mov r0, r3
-.L1988:
- ldr r2, [r1, #2048]
- strb r2, [r0], #1
- rsb r2, r3, r0
- uxtb r2, r2
- cmp r2, ip
- bcc .L1988
- cmp r10, #0
- beq .L1989
- mov r2, #0
-.L1991:
- ldrb ip, [r3, r2, asl #2] @ zero_extendqisi2
- uxtb r0, r2
- cmp ip, #50
- beq .L1990
- add ip, r3, r2, asl #2
- ldrb ip, [ip, #1] @ zero_extendqisi2
- cmp ip, #5
- beq .L1990
- add r2, r2, #1
- cmp r2, #8
- bne .L1991
- b .L1992
-.L1990:
- cmp r0, #7
- bne .L1993
-.L1992:
- ldr r0, .L2072+16
- mov r1, #0
- bl printk
-.L1994:
- b .L1994
+ movne r2, #2
+ moveq r2, #32
.L1989:
- cmp r5, #7
- bne .L1995
- mov r2, r10
-.L1997:
- ldrb ip, [r3, r2, asl #2] @ zero_extendqisi2
- uxtb r0, r2
- cmp ip, #12
- beq .L1996
- add ip, r3, r2, asl #2
- ldrb ip, [ip, #1] @ zero_extendqisi2
- cmp ip, #10
- beq .L1996
+ ldr r3, .L2074+12
+ sub r2, r2, #1
+ add r6, r9, r8, lsl #8
+ ldr r3, [r3, #-120]
+ sub r1, r3, #1
+ uxtab r2, r3, r2
+ mov r0, r1
+.L1990:
+ ldr ip, [r6, #2048]
+ strb ip, [r0, #1]!
+ cmp r0, r2
+ bne .L1990
+ cmp r5, #8
+ bne .L1991
+ mov r2, #0
+.L1993:
+ ldrb r0, [r3, r2, lsl #2] @ zero_extendqisi2
+ uxtb r1, r2
+ cmp r0, #50
+ beq .L1992
+ add r0, r3, r2, lsl #2
+ ldrb r0, [r0, #1] @ zero_extendqisi2
+ cmp r0, #5
+ beq .L1992
add r2, r2, #1
cmp r2, #8
- bne .L1997
- b .L1998
+ bne .L1993
+.L1994:
+ mov r1, #0
+ ldr r0, .L2074+16
+ bl printk
.L1996:
- cmp r0, #7
- bne .L1993
-.L1998:
- ldr r0, .L2072+16
- mov r1, #0
- bl printk
-.L1999:
- b .L1999
-.L1995:
- cmp r5, #6
- bne .L1993
- sub r2, r3, #1
- add r3, r3, #7
-.L2000:
- ldrb r0, [r2, #1]! @ zero_extendqisi2
- cmp r0, #12
- beq .L1993
- ldrb r0, [r2, #8] @ zero_extendqisi2
- cmp r0, #4
- beq .L1993
- cmp r2, r3
- bne .L2000
- ldr r0, .L2072+16
- mov r1, #0
- bl printk
-.L2002:
- b .L2002
-.L1993:
- ldr r3, .L2072+12
- ldr r0, [sp, #28]
- ldr r2, [r3, #-128]
- add r0, r2, r0
- mov r3, r2
-.L2003:
- cmp r3, r0
- ldrne ip, [r1, #2048]
- strneb ip, [r3], #1
- bne .L2003
+ b .L1996
+.L1982:
+ cmp r5, #4
+ mov r3, #54
+ str r3, [r6, #2056]
+ bne .L1984
+ mov r3, #64
+ str r7, [r6, #2052]
+ str r3, [r6, #2048]
+ mov r3, #204
+.L2070:
+ str r3, [r6, #2052]
+ mov r3, #77
.L2071:
- ldr r3, .L2072+12
- mov r0, #8
- ldr r1, [sp, #8]
- ldr r3, [r3, #-128]
- add r1, r3, r1
- str r1, [sp, #20]
-.L2006:
- ldr ip, [sp, #8]
- add lr, r1, ip
+ str r3, [r6, #2048]
+.L1985:
+ add r3, r9, r8, lsl #8
+ mov r2, #22
+ cmp r5, #6
+ str r2, [r3, #2056]
+ mov r2, #23
+ str r2, [r3, #2056]
+ mov r2, #4
+ str r2, [r3, #2056]
+ mov r2, #25
+ str r2, [r3, #2056]
+ mov r2, #0
+ str r2, [r3, #2056]
+ str r2, [r3, #2052]
+ str r2, [r3, #2052]
+ moveq r2, #31
+ str r2, [r3, #2052]
+ mov r2, #2
+ str r2, [r3, #2052]
+ mov r2, #0
+ str r2, [r3, #2052]
+ b .L1983
+.L1984:
+ sub r3, r5, #5
+ cmp r3, #1
+ ldrbls r3, [r4, #128] @ zero_extendqisi2
+ strls r3, [r6, #2052]
+ movls r3, #82
+ bls .L2071
+ cmp r5, #7
+ bne .L1985
+ mov r3, #174
+ str r3, [r6, #2052]
+ mov r3, #0
+ str r3, [r6, #2048]
+ mov r3, #176
+ b .L2070
+.L1992:
+ cmp r1, #6
+ bhi .L1994
+.L1995:
+ ldr r3, .L2074+12
+ ldr r2, [r3, #-120]
+ mov r3, r2
.L2005:
- ldrh ip, [r1]
- mvn ip, ip
- strh ip, [r1], #2 @ movhi
- cmp r1, lr
- bne .L2005
- ldr ip, [sp, #8]
- subs r0, r0, #1
- add r1, r1, ip
- bne .L2006
+ ldr r0, [sp, #44]
+ sub r1, r3, r2
+ cmp r0, r1
+ bgt .L2006
+ ldr r3, .L2074+12
+ ldr r1, [r3, #-120]
+ ldr r3, [sp, #20]
+ add r0, r1, r3
+ mov r3, #8
+.L2008:
+ mov lr, r0
+ mov ip, #0
.L2007:
+ ldrh r7, [lr]
+ add ip, ip, #1
+ mvn r7, r7
+ strh r7, [lr], #2 @ movhi
+ ldr r7, [sp, #4]
+ cmp r7, ip
+ bgt .L2007
+ ldr ip, [sp, #36]
+ subs r3, r3, #1
+ add r0, r0, ip
+ bne .L2008
+ str r1, [sp, #8]
+ str r3, [sp, #12]
+.L2009:
mov ip, #0
mov r0, ip
-.L2010:
- mov r1, #1
- mov lr, #0
- mov r1, r1, asl r0
- mov r8, #16
- mov r7, lr
-.L2008:
- ldrh r9, [r3, lr]
- and r9, r9, r1
- cmp r9, r1
+.L2013:
+ mov lr, #1
+ mov r7, #16
+ lsl lr, lr, r0
+ str r7, [sp, #28]
+ mov r7, #0
+ str lr, [sp, #24]
+ ldr lr, [sp, #8]
+.L2011:
+ ldrh r3, [lr]
+ mov r1, r3
+ ldr r3, [sp, #24]
+ bics r3, r3, r1
+ ldr r3, [sp, #20]
addeq r7, r7, #1
- ldr r9, [sp, #8]
- subs r8, r8, #1
- add lr, lr, r9
- bne .L2008
+ add lr, lr, r3
+ ldr r3, [sp, #28]
+ subs r3, r3, #1
+ str r3, [sp, #28]
+ bne .L2011
cmp r7, #8
add r0, r0, #1
- orrhi ip, ip, r1
+ ldrhi r3, [sp, #24]
+ orrhi ip, ip, r3
uxthhi ip, ip
cmp r0, #16
- bne .L2010
- ldr r1, [sp, #20]
+ bne .L2013
+ ldr r3, [sp, #8]
strh ip, [r3], #2 @ movhi
+ str r3, [sp, #8]
+ ldr r3, [sp, #12]
+ add r3, r3, #1
+ str r3, [sp, #12]
+ ldr r1, [sp, #12]
+ ldr r3, [sp, #4]
cmp r3, r1
- bne .L2007
- ldr r3, .L2072+12
- ldr r1, [r3, #-128]
+ bgt .L2009
+ ldr r3, .L2074+12
+ ldr r1, [r3, #-120]
mov r3, #0
sub r0, r1, #4
add ip, r1, #28
-.L2012:
+.L2016:
ldr lr, [r0, #4]!
cmp lr, #0
addeq r3, r3, #1
- cmp r0, ip
- bne .L2012
+ cmp ip, r0
+ bne .L2016
cmp r3, #7
- ble .L2013
- ldr r0, .L2072+20
- mov r2, #1
+ ble .L2017
+ ldr r0, .L2074+20
mov r3, #1024
+ mov r2, #1
bl rknand_print_hex
- ldr r0, .L2072+16
mov r1, #0
+ ldr r0, .L2074+16
bl printk
-.L2014:
- b .L2014
-.L2013:
- cmp r5, #6
- moveq r0, #4
- beq .L2015
+.L2018:
+ b .L2018
+.L1991:
cmp r5, #7
- moveq r0, #10
- beq .L2015
- cmp r10, #0
- moveq r0, #8
- movne r0, #5
-.L2015:
- sub r9, fp, #1
- ldr r1, [sp, #24]
- mov ip, #0
- uxtb r9, r9
- add r9, r9, #1
-.L2016:
- mov r7, r1
- mov r3, r2
+ bne .L1997
+ mov r2, #0
+.L1999:
+ ldrb r0, [r3, r2, lsl #2] @ zero_extendqisi2
+ uxtb r1, r2
+ cmp r0, #12
+ beq .L1998
+ add r0, r3, r2, lsl #2
+ ldrb r0, [r0, #1] @ zero_extendqisi2
+ cmp r0, #10
+ beq .L1998
+ add r2, r2, #1
+ cmp r2, #8
+ bne .L1999
+.L2000:
+ mov r1, #0
+ ldr r0, .L2074+16
+ bl printk
+.L2001:
+ b .L2001
+.L1998:
+ cmp r1, #6
+ bls .L1995
+ b .L2000
+.L1997:
+ cmp r5, #6
+ bne .L1995
+ add r3, r3, #7
+.L2002:
+ ldrb r2, [r1, #1]! @ zero_extendqisi2
+ cmp r2, #12
+ beq .L1995
+ ldrb r2, [r1, #8] @ zero_extendqisi2
+ cmp r2, #4
+ beq .L1995
+ cmp r1, r3
+ bne .L2002
+ mov r1, #0
+ ldr r0, .L2074+16
+ bl printk
+.L2004:
+ b .L2004
+.L2006:
+ ldr r1, [r6, #2048]
+ strb r1, [r3], #1
+ b .L2005
.L2017:
- ldrb lr, [r3], #1 @ zero_extendqisi2
- strb lr, [r7], #1
- rsb lr, r2, r3
- uxtb lr, lr
- cmp lr, fp
- bcc .L2017
- add ip, ip, #1
- add r2, r2, r9
- cmp ip, r6
- add r1, r1, r0
- blt .L2016
- ldmia sp, {r2, r3}
+ cmp r5, #6
+ moveq ip, #4
+ beq .L2019
+ cmp r5, #7
+ moveq ip, #10
+ beq .L2019
+ cmp r5, #8
+ movne ip, #8
+ moveq ip, #5
+.L2019:
+ sub r3, fp, #1
+ ldr r0, [sp, #32]
+ uxtb r3, r3
+ mov lr, #0
+ add r3, r3, #1
+ str r3, [sp, #8]
+.L2020:
+ mov r3, r0
+ mov r1, r2
+.L2021:
+ ldrb r7, [r1], #1 @ zero_extendqisi2
+ strb r7, [r3], #1
+ sub r7, r1, r2
+ uxtb r7, r7
+ cmp fp, r7
+ bhi .L2021
+ ldr r3, [sp, #8]
+ add lr, lr, #1
+ cmp r10, lr
+ add r0, r0, ip
+ add r2, r2, r3
+ bgt .L2020
+ add r7, r9, r8, lsl #8
mov r8, #255
- add r7, r3, r2, asl #8
str r8, [r7, #2056]
bl nandc_wait_flash_ready
- ldr r3, [sp, #16]
- cmp r3, #0
- beq .L2019
+ ldr r3, [sp, #40]
+ cmp r3, #1
+ bhi .L2023
mov r3, #54
+ mov r2, #22
str r3, [r7, #2056]
ldrb r3, [r4, #128] @ zero_extendqisi2
- mov r2, #22
- str r3, [r7, #2052]
+ str r3, [r6, #2052]
mov r3, #0
- str r3, [r7, #2048]
+ str r3, [r6, #2048]
str r2, [r7, #2056]
str r3, [r7, #2056]
- str r3, [r7, #2052]
- str r3, [r7, #2052]
+ str r3, [r6, #2052]
+ str r3, [r6, #2052]
mov r3, #48
- str r8, [r7, #2052]
- str r8, [r7, #2052]
- str r8, [r7, #2052]
- b .L2069
-.L2019:
- cmp r10, #0
- movne r3, #190
- moveq r3, #56
-.L2069:
+ str r8, [r6, #2052]
+ str r8, [r6, #2052]
+ str r8, [r6, #2052]
+.L2072:
str r3, [r7, #2056]
bl nandc_wait_flash_ready
- ldr r3, [sp, #12]
+ ldr r3, [sp, #16]
add r3, r3, #1
- b .L2070
-.L2073:
+ b .L2073
+.L2023:
+ cmp r5, #8
+ moveq r3, #190
+ movne r3, #56
+ b .L2072
+.L2075:
.align 2
-.L2072:
+.L2074:
.word .LANCHOR0
.word .LANCHOR2
- .word .LANCHOR2+396
+ .word .LANCHOR2+390
.word .LANCHOR3
.word .LC141
.word .LC142
@@ -12148,495 +12690,494 @@
.size hynix_get_read_retry_default, .-hynix_get_read_retry_default
.align 2
.global flash_get_read_retry_tbl
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_get_read_retry_tbl, %function
flash_get_read_retry_tbl:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- ldr r3, .L2076
+ ldr r3, .L2078
ldrb r0, [r3, #23] @ zero_extendqisi2
sub r3, r0, #1
cmp r3, #7
bxhi lr
b hynix_get_read_retry_default
-.L2077:
+.L2079:
.align 2
-.L2076:
+.L2078:
.word .LANCHOR2
.fnend
.size flash_get_read_retry_tbl, .-flash_get_read_retry_tbl
.align 2
.global nandc_xfer_done
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nandc_xfer_done, %function
nandc_xfer_done:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- 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, .L2127+4
- cmp r2, #9
- strb r5, [r7, #-124]
- bne .L2079
- ldr r6, [r3, #1040]
+ push {r0, r1, r4, r5, r6, r7, r8, lr}
+ .save {r4, r5, r6, r7, r8, lr}
+ .pad #8
+ mov r1, #0
+ ldr r4, .L2129
+ ldr r7, .L2129+4
+ ldrb r3, [r4, #1028] @ zero_extendqisi2
+ ldr r6, [r4, #1044]
+ strb r1, [r7, #-116]
+ cmp r3, #9
+ bne .L2081
ldr r3, [r6, #16]
str r3, [sp]
- ldr r3, [r6, #48]
- ubfx r3, r3, #1, #1
- cmp r3, r5
- moveq r5, r3
- moveq r7, r4
- beq .L2081
-.L2080:
+ ldr r5, [r6, #48]
+ ubfx r5, r5, #1, #1
+ cmp r5, r1
+ bne .L2082
+ ldr r7, .L2129+8
+ ldr r8, .L2129+12
+.L2083:
+ ldr r3, [sp]
+ tst r3, #1048576
+ beq .L2093
+ ldr r3, [r4, #1220]
+ cmp r3, #0
+ beq .L2091
+ ldr r1, [sp]
+ mov r2, #1
+ ldr r0, [r4, #1212]
+ ubfx r1, r1, #22, #6
+ lsl r1, r1, #10
+ bl rknand_dma_unmap_single
+ ldr r1, [sp]
+ mov r2, #1
+ ubfx r1, r1, #22, #6
+ b .L2128
+.L2082:
+ mov r5, r1
+.L2084:
ldr r2, [r6, #64]
ldr r3, [sp]
ubfx r2, r2, #16, #6
ubfx r3, r3, #22, #6
cmp r2, r3
- bge .L2083
- ldr r3, [r4, #1040]
+ bge .L2086
+ ldr r3, [r4, #1044]
ldr r3, [r3]
str r3, [sp, #4]
ldr r3, [sp, #4]
tst r3, #8192
- beq .L2082
+ beq .L2085
ldr r3, [sp, #4]
tst r3, #131072
- beq .L2082
+ beq .L2085
ldr r1, [sp, #4]
- ldr r0, .L2127+8
+ ldr r0, .L2129+16
ubfx r1, r1, #17, #1
bl printk
- b .L2083
-.L2082:
+.L2086:
+ ldr r3, [r4, #1220]
+ cmp r3, #0
+ beq .L2091
+ ldr r1, [sp]
+ mov r2, #0
+ ldr r0, [r4, #1212]
+ ubfx r1, r1, #22, #6
+ lsl r1, r1, #10
+ bl rknand_dma_unmap_single
+ ldr r1, [sp]
+ mov r2, #0
+ ubfx r1, r1, #22, #6
+.L2128:
+ lsl r1, r1, #2
+.L2126:
+ ldr r0, [r4, #1216]
+ bl rknand_dma_unmap_single
+.L2091:
+ mov r3, #0
+ str r3, [r4, #1220]
+ add sp, sp, #8
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, pc}
+.L2085:
ldr r3, [sp]
add r5, r5, #1
ubfx r3, r3, #22, #6
- cmp r5, r3, asl #12
- bne .L2084
+ cmp r5, r3, lsl #12
+ bne .L2087
ldr r2, [r6, #64]
mov r1, r5
ldr r3, [sp]
- ldr r0, .L2127+12
+ ldr r0, .L2129+20
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, #-124]
- bne .L2083
- ldr r3, .L2127+16
- ldr r0, .L2127+20
+ strb r3, [r7, #-116]
+ bne .L2086
+ ldr r3, .L2129+24
+ ldr r0, .L2129+28
ldr r3, [r3, #4]
blx r3
- b .L2083
-.L2084:
- mov r0, #5
+ b .L2086
+.L2087:
mov r1, #10
+ mov r0, #5
bl usleep_range
- b .L2080
-.L2083:
- ldr r3, [r4, #1160]
- ldr r5, .L2127
- cmp r3, #0
- beq .L2088
- ldr r1, [sp]
- mov r2, #0
- ldr r0, [r5, #1152]
- ubfx r1, r1, #22, #6
- mov r1, r1, asl #10
- bl rknand_dma_unmap_single
- ldr r0, [r5, #1156]
- ldr r1, [sp]
- ubfx r1, r1, #22, #6
- mov r1, r1, asl #2
- b .L2126
-.L2090:
- ldr r3, [r4, #1040]
+ b .L2084
+.L2093:
+ ldr r3, [r4, #1044]
add r5, r5, #1
ldr r3, [r3, #16]
str r3, [sp]
- bic r3, r5, #-16777216
- cmp r3, #0
- bne .L2089
+ bics r3, r5, #-16777216
+ bne .L2092
ldr r2, [sp]
mov r1, r5
ldr r3, [r6, #64]
- ldr r0, .L2127+24
+ mov r0, r7
ubfx r3, r3, #16, #6
bl printk
- ldr r0, .L2127+28
- ldr r1, [r7, #1040]
- mov r2, #4
mov r3, #64
+ mov r2, #4
+ ldr r1, [r4, #1044]
+ mov r0, r8
bl rknand_print_hex
-.L2089:
- mov r0, #5
+.L2092:
mov r1, #10
+ mov r0, #5
bl usleep_range
+ b .L2083
.L2081:
+ ldr r3, [r6, #8]
+ str r3, [sp]
+ ldr r5, [r6, #16]
+ ubfx r5, r5, #1, #1
+ cmp r5, #0
+ bne .L2095
+ ldr r7, .L2129+8
+ ldr r8, .L2129+12
+.L2096:
ldr r3, [sp]
tst r3, #1048576
- beq .L2090
- ldr r3, [r4, #1160]
- ldr r5, .L2127
+ beq .L2103
+ ldr r3, [r4, #1220]
cmp r3, #0
- beq .L2088
+ beq .L2091
ldr r1, [sp]
mov r2, #1
- ldr r0, [r5, #1152]
+ ldr r0, [r4, #1212]
ubfx r1, r1, #22, #6
- mov r1, r1, asl #10
+ lsl r1, r1, #10
bl rknand_dma_unmap_single
- ldr r0, [r5, #1156]
ldr r1, [sp]
+ mov r2, #1
ubfx r1, r1, #22, #6
- mov r1, r1, asl #2
- b .L2125
-.L2079:
- ldr r7, [r3, #1040]
- ldr r3, [r7, #8]
- str r3, [sp]
- ldr r6, [r7, #16]
- ubfx r6, r6, #1, #1
- cmp r6, #0
- moveq r5, r4
- beq .L2093
-.L2092:
- ldr r2, [r7, #28]
+ b .L2127
+.L2095:
+ ldr r7, .L2129+20
+ mov r5, r1
+ ldr r8, .L2129+12
+.L2097:
+ ldr r2, [r6, #28]
ldr r3, [sp]
ubfx r2, r2, #16, #5
ubfx r3, r3, #22, #6
cmp r2, r3
- bge .L2095
- ldr r3, [r4, #1040]
+ bge .L2099
+ ldr r3, [r4, #1044]
ldr r3, [r3]
str r3, [sp, #4]
ldr r3, [sp, #4]
tst r3, #8192
- beq .L2094
+ beq .L2098
ldr r3, [sp, #4]
tst r3, #131072
- beq .L2094
+ beq .L2098
ldr r1, [sp, #4]
- ldr r0, .L2127+32
+ ldr r0, .L2129+32
bl printk
- b .L2095
-.L2094:
- add r5, r5, #1
- bic r3, r5, #-16777216
+.L2099:
+ ldr r3, [r4, #1220]
cmp r3, #0
- bne .L2096
- ldr r2, [r7, #28]
+ beq .L2091
+ ldr r1, [sp]
+ mov r2, #0
+ ldr r0, [r4, #1212]
+ ubfx r1, r1, #22, #6
+ lsl r1, r1, #10
+ bl rknand_dma_unmap_single
+ ldr r1, [sp]
+ mov r2, #0
+ ubfx r1, r1, #22, #6
+.L2127:
+ lsl r1, r1, #7
+ b .L2126
+.L2098:
+ add r5, r5, #1
+ bics r3, r5, #-16777216
+ bne .L2100
+ ldr r2, [r6, #28]
mov r1, r5
ldr r3, [sp]
+ mov r0, r7
ubfx r2, r2, #16, #5
- ldr r0, .L2127+12
ubfx r3, r3, #22, #6
bl printk
- ldr r0, .L2127+28
- ldr r1, [r4, #1040]
- mov r2, #4
mov r3, #64
+ mov r2, #4
+ ldr r1, [r4, #1044]
+ mov r0, r8
bl rknand_print_hex
-.L2096:
- mov r0, #5
+.L2100:
mov r1, #10
+ mov r0, #5
bl usleep_range
- b .L2092
-.L2095:
- ldr r3, [r4, #1160]
- ldr r5, .L2127
- cmp r3, #0
- beq .L2088
- ldr r1, [sp]
- mov r2, #0
- ldr r0, [r5, #1152]
- ubfx r1, r1, #22, #6
- mov r1, r1, asl #10
- bl rknand_dma_unmap_single
- ldr r0, [r5, #1156]
- ldr r1, [sp]
- ubfx r1, r1, #22, #6
- mov r1, r1, asl #7
-.L2126:
- mov r2, #0
- b .L2124
-.L2099:
- ldr r3, [r4, #1040]
- add r6, r6, #1
+ b .L2097
+.L2103:
+ ldr r3, [r4, #1044]
+ add r5, r5, #1
ldr r3, [r3, #8]
str r3, [sp]
- bic r3, r6, #-16777216
- cmp r3, #0
- bne .L2098
+ bics r3, r5, #-16777216
+ bne .L2102
ldr r2, [sp]
- mov r1, r6
- ldr r3, [r7, #28]
- ldr r0, .L2127+24
+ mov r1, r5
+ ldr r3, [r6, #28]
+ mov r0, r7
ubfx r3, r3, #16, #5
bl printk
- ldr r0, .L2127+28
- ldr r1, [r5, #1040]
- mov r2, #4
mov r3, #64
+ mov r2, #4
+ ldr r1, [r4, #1044]
+ mov r0, r8
bl rknand_print_hex
-.L2098:
- mov r0, #5
+.L2102:
mov r1, #10
+ mov r0, #5
bl usleep_range
-.L2093:
- ldr r3, [sp]
- tst r3, #1048576
- beq .L2099
- ldr r3, [r4, #1160]
- ldr r5, .L2127
- cmp r3, #0
- beq .L2088
- ldr r1, [sp]
- mov r2, #1
- ldr r0, [r5, #1152]
- ubfx r1, r1, #22, #6
- mov r1, r1, asl #10
- bl rknand_dma_unmap_single
- ldr r0, [r5, #1156]
- ldr r1, [sp]
- ubfx r1, r1, #22, #6
- mov r1, r1, asl #7
-.L2125:
- mov r2, #1
-.L2124:
- bl rknand_dma_unmap_single
-.L2088:
- mov r3, #0
- str r3, [r4, #1160]
- add sp, sp, #12
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, pc}
-.L2128:
+ b .L2096
+.L2130:
.align 2
-.L2127:
+.L2129:
.word .LANCHOR0
.word .LANCHOR3
+ .word .LC145
+ .word .LC146
.word .LC143
.word .LC144
.word arm_delay_ops
.word 644245000
- .word .LC145
- .word .LC146
.word .LC147
.fnend
.size nandc_xfer_done, .-nandc_xfer_done
.align 2
.global nandc_xfer
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nandc_xfer, %function
nandc_xfer:
.fnstart
@ args = 4, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r4, r5, r6, r7, r8, lr}
+ push {r0, r1, r4, r5, r6, r7, r8, lr}
.save {r4, r5, r6, r7, r8, lr}
.pad #8
mov r4, r1
- ldr r7, [sp, #32]
- mov r0, r1
+ ldr r5, [sp, #32]
mov r8, r2
- mov r1, r2
mov r6, r3
- mov r2, r3
- mov r3, r7
+ mov r1, r8
+ mov r2, r6
+ mov r0, r4
+ mov r3, r5
bl nandc_xfer_start
mov r0, r4
bl nandc_xfer_done
cmp r4, #0
movne r0, #0
- bne .L2159
- ldr r5, .L2172
- ldrb r3, [r5, #1028] @ zero_extendqisi2
+ bne .L2132
+ ldr r7, .L2170
+ ldrb r3, [r7, #1028] @ zero_extendqisi2
cmp r3, #9
- bne .L2131
- ldr ip, [r5, #1040]
- mov r2, r8, lsr #2
- mov r1, #1
- mov lr, r4
+ bne .L2133
+ ldr r1, [r7, #1044]
+ lsr r8, r8, #2
+ mov r2, #1
mov r0, r4
+.L2134:
+ cmp r4, r8
+ bcc .L2138
+ ldr r4, [r1]
+ cmp r2, #0
+ movne r0, #512
+ and r3, r4, #139264
+ cmp r3, #139264
+ bne .L2140
+ mov r1, r4
+ ldr r0, .L2170+4
+ bl printk
+ ldr r3, [r7, #1044]
+ mvn r0, #0
+ orr r4, r4, #131072
+ str r4, [r3]
+.L2140:
+ tst r4, #8192
+ beq .L2141
+ ldr r3, .L2170+8
+ ldrb r3, [r3, #-116] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L2141
+ mov r1, r4
+ ldr r0, .L2170+12
+ bl printk
+ ldr r3, [r7, #1044]
+ mov r2, #1
+ str r2, [r3, #16]
+.L2169:
+ mvn r0, #0
.L2132:
- cmp lr, r2
- bcs .L2169
- add r3, lr, #84
- ldr r3, [ip, r3, asl #2]
+ add sp, sp, #8
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, pc}
+.L2138:
+ add r3, r4, #84
+ ldr r3, [r1, r3, lsl #2]
str r3, [sp, #4]
+ ldr ip, [sp, #4]
ldr r3, [sp, #4]
- ldr r4, [sp, #4]
- ubfx r4, r4, #26, #1
- and r4, r4, r3, lsr #10
+ ubfx r3, r3, #26, #1
+ and r3, r3, ip, lsr #10
+ and r2, r2, r3
ldr r3, [sp, #4]
- and r1, r1, r4
tst r3, #4
- bne .L2151
+ bne .L2152
ldr r3, [sp, #4]
tst r3, #262144
- bne .L2151
- ldr r4, [sp, #4]
+ bne .L2152
+ ldr ip, [sp, #4]
ldr r3, [sp, #4]
- ubfx r4, r4, #3, #7
+ ubfx ip, ip, #3, #7
ubfx r3, r3, #19, #7
- cmp r4, r3
+ cmp ip, r3
ldr r3, [sp, #4]
ubfxgt r3, r3, #3, #7
ubfxle r3, r3, #19, #7
cmp r0, r3
movcc r0, r3
- b .L2133
-.L2151:
+.L2135:
+ add r4, r4, #1
+ b .L2134
+.L2152:
mvn r0, #0
+ b .L2135
.L2133:
- add lr, lr, #1
- b .L2132
-.L2169:
- ldr r3, [r5, #1040]
- cmp r1, #0
- movne r0, #512
- ldr r4, [r3]
+ ldrb r3, [r7, #1193] @ zero_extendqisi2
+ lsr r0, r8, #1
+ mov r2, r5
+ mov r1, r4
+ cmp r3, #25
+ movcc lr, #64
+ movcs lr, #128
+.L2143:
+ cmp r1, r0
+ add ip, lr, r4
+ add r2, r2, #4
+ bcc .L2144
+ ldr r1, [r7, #1044]
+ mov r2, #0
+ lsr r8, r8, #2
+ mov r0, r2
+.L2145:
+ cmp r2, r8
+ bcc .L2149
+ mov r3, #0
+ str r3, [r1, #16]
+ ldr r4, [r1]
and r3, r4, #139264
cmp r3, #139264
- bne .L2138
+ bne .L2141
mov r1, r4
- ldr r0, .L2172+4
+ ldr r0, .L2170+16
bl printk
- ldr r3, [r5, #1040]
- mvn r0, #0
+ ldr r3, [r7, #1044]
orr r4, r4, #131072
str r4, [r3]
-.L2138:
- tst r4, #8192
- beq .L2139
- ldr r3, .L2172+8
- ldrb r3, [r3, #-124] @ zero_extendqisi2
- cmp r3, #0
- beq .L2139
- ldr r0, .L2172+12
- mov r1, r4
- bl printk
- ldr r3, [r5, #1040]
- mov r2, #1
- str r2, [r3, #16]
- b .L2140
-.L2131:
- ldrb r3, [r5, #1172] @ zero_extendqisi2
- mov r1, r8, lsr #1
- mov r2, r4
- cmp r3, #25
- mov r3, r7
- movcc ip, #64
- movcs ip, #128
-.L2142:
- cmp r2, r1
- add r0, r4, ip
- add r3, r3, #4
- bcs .L2170
- ldr lr, [r5, #1140]
- mov r4, r4, lsr #2
- add r2, r2, #1
- ldr r4, [lr, r4, asl #2]
- mov lr, r4, lsr #8
- strb r4, [r3, #-4]
- strb lr, [r3, #-3]
- mov lr, r4, lsr #16
- mov r4, r4, lsr #24
- strb lr, [r3, #-2]
- strb r4, [r3, #-1]
- mov r4, r0
- b .L2142
-.L2170:
- ldr ip, [r5, #1040]
- mov r1, #0
- mov r2, r8, lsr #2
- mov r0, r1
+ b .L2169
.L2144:
- cmp r1, r2
- bcs .L2171
- add r3, r1, #8
- ldr r3, [ip, r3, asl #2]
+ ldr r3, [r7, #1200]
+ bic r4, r4, #3
+ add r1, r1, #1
+ ldr r3, [r3, r4]
+ strb r3, [r2, #-4]
+ lsr r4, r3, #8
+ strb r4, [r2, #-3]
+ lsr r4, r3, #16
+ lsr r3, r3, #24
+ strb r4, [r2, #-2]
+ mov r4, ip
+ strb r3, [r2, #-1]
+ b .L2143
+.L2149:
+ add r3, r2, #8
+ ldr r3, [r1, r3, lsl #2]
str r3, [sp, #4]
ldr r3, [sp, #4]
tst r3, #4
- bne .L2154
+ bne .L2155
ldr r3, [sp, #4]
tst r3, #32768
- bne .L2154
- ldr lr, [sp, #4]
- ldr r8, [sp, #4]
- ldr r3, [sp, #4]
- ubfx lr, lr, #3, #5
+ bne .L2155
+ ldr ip, [sp, #4]
ldr r4, [sp, #4]
- ubfx r8, r8, #27, #1
- ubfx r3, r3, #16, #5
- ubfx r4, r4, #29, #1
- orr lr, lr, r8, asl #5
- orr r3, r3, r4, asl #5
- cmp lr, r3
ldr r3, [sp, #4]
- ldrhi r4, [sp, #4]
+ ldr lr, [sp, #4]
+ ubfx ip, ip, #3, #5
+ ubfx r4, r4, #27, #1
+ ubfx r3, r3, #16, #5
+ orr ip, ip, r4, lsl #5
+ ubfx lr, lr, #29, #1
+ orr r3, r3, lr, lsl #5
+ cmp ip, r3
+ ldr r3, [sp, #4]
+ ldrhi ip, [sp, #4]
+ ldrls ip, [sp, #4]
ubfxhi r3, r3, #3, #5
- ldrls r4, [sp, #4]
ubfxls r3, r3, #16, #5
- ubfxhi r4, r4, #27, #1
- ubfxls r4, r4, #29, #1
- orr r4, r3, r4, asl #5
- cmp r0, r4
- movcc r0, r4
+ ubfxhi ip, ip, #27, #1
+ ubfxls ip, ip, #29, #1
+ orr r3, r3, ip, lsl #5
+ cmp r0, r3
+ movcc r0, r3
+.L2146:
+ add r2, r2, #1
b .L2145
-.L2154:
+.L2155:
mvn r0, #0
-.L2145:
- add r1, r1, #1
- 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 .L2139
- mov r1, r4
- ldr r0, .L2172+16
- bl printk
- ldr r3, .L2172
- orr r4, r4, #131072
- ldr r3, [r3, #1040]
- str r4, [r3]
- b .L2140
-.L2139:
+ b .L2146
+.L2141:
cmn r0, #1
- beq .L2159
- ldr r3, [r7]
+ beq .L2132
+ ldr r3, [r5]
cmn r3, #1
- bne .L2159
- ldr r3, [r7, #4]
+ bne .L2132
+ ldr r3, [r5, #4]
cmn r3, #1
- bne .L2159
+ bne .L2132
ldr r3, [r6]
cmn r3, #1
moveq r0, #512
- b .L2159
-.L2140:
- mvn r0, #0
-.L2159:
- add sp, sp, #8
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, pc}
-.L2173:
+ b .L2132
+.L2171:
.align 2
-.L2172:
+.L2170:
.word .LANCHOR0
.word .LC148
.word .LANCHOR3
@@ -12646,712 +13187,670 @@
.size nandc_xfer, .-nandc_xfer
.align 2
.global flash_read_page
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_read_page, %function
flash_read_page:
.fnstart
@ args = 4, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
mov r6, r0
- ldr r10, .L2190
+ ldr r7, .L2188
.pad #20
sub sp, sp, #20
- mvn r4, #0
ubfx r9, r1, #24, #2
- str r2, [sp, #12]
mov r8, r3
- ldrb r0, [r10, #1189] @ zero_extendqisi2
- mov r7, r10
- ldr r5, [r10, #1040]
- mov r10, r6, asl #8
- rsb r0, r0, #24
- bic r4, r1, r4, asl r0
+ str r2, [sp, #12]
+ lsl r10, r6, #8
+ ldrb r4, [r7, #1153] @ zero_extendqisi2
+ ldr r5, [r7, #1044]
+ rsb r0, r4, #24
+ mvn r4, #0
+ bic r4, r1, r4, lsl r0
bl nandc_wait_flash_ready
mov r0, r6
bl nandc_cs
cmp r9, #0
- bne .L2175
+ bne .L2173
mov r0, r6
bl zftl_flash_enter_slc_mode
- b .L2176
-.L2175:
- ldr r2, [r7, #1096]
- ldrb r2, [r2, #12] @ zero_extendqisi2
- cmp r2, #3
- bne .L2177
- ldrb r2, [r7, #1196] @ zero_extendqisi2
- cmp r2, #0
- bne .L2177
- ldrb r2, [r7, #1197] @ zero_extendqisi2
- cmp r2, #0
- addeq r2, r5, r10
- streq r9, [r2, #2056]
- beq .L2176
-.L2177:
- mov r0, r6
- bl zftl_flash_exit_slc_mode
-.L2176:
- ldr r2, [r7, #1096]
+.L2174:
+ ldr r2, [r7, #1104]
ldrb r1, [r2, #7] @ zero_extendqisi2
cmp r1, #1
- bne .L2178
+ bne .L2176
ldrb r1, [r2, #12] @ zero_extendqisi2
cmp r1, #2
addeq r1, r5, r10
moveq r0, #38
streq r0, [r1, #2056]
-.L2178:
+.L2176:
add fp, r5, r10
mov r1, #0
- mov r0, #48
str r1, [fp, #2056]
+ mov r0, #48
str r1, [fp, #2052]
str r1, [fp, #2052]
uxtb r1, r4
str r1, [fp, #2052]
- mov r1, r4, lsr #8
+ lsr r1, r4, #8
str r1, [fp, #2052]
- mov r1, r4, lsr #16
+ lsr r1, r4, #16
str r1, [fp, #2052]
- ldrb r1, [r7, #1188] @ zero_extendqisi2
+ ldrb r1, [r7, #1152] @ zero_extendqisi2
cmp r1, #0
- movne r1, r4, lsr #24
+ lsrne r1, r4, #24
strne r1, [fp, #2052]
add r1, r5, r10
str r0, [r1, #2056]
- ldrb r1, [r2, #12] @ zero_extendqisi2
- adds r2, r9, #0
- movne r2, #1
- cmp r1, #3
- movne r2, #0
+ cmp r9, #0
+ ldrb r2, [r2, #12] @ zero_extendqisi2
+ sub r2, r2, #3
+ clz r2, r2
+ lsr r2, r2, #5
+ moveq r2, #0
cmp r2, #0
- beq .L2180
- ldrb r3, [r7, #1196] @ zero_extendqisi2
+ beq .L2178
+ ldrb r2, [r7, #1158] @ zero_extendqisi2
+ cmp r2, #0
+ bne .L2178
+ ldrb r3, [r7, #1159] @ zero_extendqisi2
cmp r3, #0
- bne .L2180
- ldr r3, .L2190
- ldrb r3, [r3, #1197] @ zero_extendqisi2
- cmp r3, #0
- addeq r4, r4, r4, asl #1
+ addeq r4, r4, r4, lsl #1
subeq r0, r4, #1
addeq r0, r0, r9
- beq .L2189
-.L2180:
+ beq .L2187
+.L2178:
mov r0, r4
-.L2189:
+.L2187:
bl nandc_set_seed
- mov r4, #0
bl nandc_wait_flash_ready
add r3, r5, r10
- mov r1, r4
mov r2, #5
- mov r0, r6
str r2, [r3, #2056]
- str r4, [fp, #2052]
+ mov r1, #0
mov r2, #224
- str r4, [fp, #2052]
+ str r1, [fp, #2052]
+ mov r0, r6
+ str r1, [fp, #2052]
str r2, [r3, #2056]
- ldrb r2, [sp, #56] @ zero_extendqisi2
ldr r3, [sp, #12]
+ ldrb r2, [sp, #56] @ zero_extendqisi2
str r8, [sp]
bl nandc_xfer
- mov r5, r0
- mov r0, r4
- bl nandc_de_cs
- mov r0, r5
+ bl nandc_de_cs.constprop.35
add sp, sp, #20
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L2191:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2173:
+ ldr r2, [r7, #1104]
+ ldrb r2, [r2, #12] @ zero_extendqisi2
+ cmp r2, #3
+ bne .L2175
+ ldrb r2, [r7, #1158] @ zero_extendqisi2
+ cmp r2, #0
+ bne .L2175
+ ldrb r2, [r7, #1159] @ zero_extendqisi2
+ cmp r2, #0
+ addeq r2, r5, r10
+ streq r9, [r2, #2056]
+ beq .L2174
+.L2175:
+ mov r0, r6
+ bl zftl_flash_exit_slc_mode
+ b .L2174
+.L2189:
.align 2
-.L2190:
+.L2188:
.word .LANCHOR0
.fnend
.size flash_read_page, .-flash_read_page
.align 2
.global micron_read_retrial
+ .syntax unified
+ .arm
+ .fpu softvfp
.type micron_read_retrial, %function
micron_read_retrial:
.fnstart
- @ args = 4, pretend = 0, frame = 24
+ @ args = 4, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {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 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, .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]
+ .pad #28
+ sub sp, sp, #28
+ ldr r4, .L2219
+ mov r6, r0
+ mov r10, r1
+ mov r9, #0
str r3, [sp, #16]
-.L2193:
- mov r0, r5
+ ldrb r3, [r4, #1193] @ zero_extendqisi2
+ str r2, [sp, #12]
+ add r3, r3, r3, lsl #1
+ asr r3, r3, #2
+ str r3, [sp, #8]
+ bl nandc_wait_flash_ready
+ ldr r5, [r4, #1044]
+ add r5, r5, r6, lsl #8
+.L2191:
+ ldr fp, .L2219+4
+ mov r0, r6
mov r7, #0
- bl zftl_flash_enter_slc_mode
- mov r0, r5
- bl zftl_flash_exit_slc_mode
mvn r4, #0
- ldr r3, [sp, #16]
- add r6, r3, r5, asl #8
-.L2194:
- ldrb r3, [r10, #-116] @ zero_extendqisi2
+ bl zftl_flash_enter_slc_mode
+ mov r0, r6
+ bl zftl_flash_exit_slc_mode
+.L2192:
+ ldrb r3, [fp, #-108] @ zero_extendqisi2
cmp r7, r3
- bcs .L2198
+ bcc .L2197
+.L2196:
mov r3, #239
mov r0, #200
- str r3, [r6, #2056]
+ str r3, [r5, #2056]
mov r3, #137
- str r3, [r6, #2052]
- add fp, r7, #1
- bl timer_delay_ns
- str fp, [r6, #2048]
+ str r3, [r5, #2052]
+ bl ndelay
mov r3, #0
- str r3, [r6, #2048]
- str r3, [r6, #2048]
- mov r0, r5
- str r3, [r6, #2048]
- mov r1, r9
- ldr r3, [sp, #72]
- ldr r2, [sp, #20]
+ str r3, [r5, #2048]
+ str r3, [r5, #2048]
+ str r3, [r5, #2048]
+ str r3, [r5, #2048]
+ ldr r3, [sp, #8]
+ cmp r4, r3
+ bcc .L2198
+ cmn r4, #1
+ movne r4, #256
+.L2198:
+ cmn r4, #1
+ movne r8, #0
+ moveq r8, #1
+ cmp r4, #256
+ movne r1, r8
+ orreq r1, r8, #1
+ cmp r1, #0
+ beq .L2199
+ mov r1, r6
+ str r4, [sp]
+ mov r3, r7
+ mov r2, r10
+ ldr r0, .L2219+8
+ bl printk
+ eor r1, r9, #1
+ ands r1, r8, r1
+ beq .L2200
+ mov r1, #3
+ mov r0, r6
+ bl mt_auto_read_calibration_config
+ mov r9, #1
+ b .L2191
+.L2197:
+ mov r3, #239
+ mov r0, #200
+ str r3, [r5, #2056]
+ mov r3, #137
+ str r3, [r5, #2052]
+ bl ndelay
+ add r3, r7, #1
+ ldr r2, [sp, #12]
+ str r3, [r5, #2048]
+ mov r1, r10
+ str r3, [sp, #20]
+ mov r3, #0
+ str r3, [r5, #2048]
+ mov r0, r6
+ str r3, [r5, #2048]
+ str r3, [r5, #2048]
+ ldr r3, [sp, #64]
str r3, [sp]
- ldr r3, [sp, #24]
+ ldr r3, [sp, #16]
bl flash_read_page
- ldr r3, .L2220+8
+ ldr r3, .L2219+12
+ mov r8, r0
ldr r3, [r3]
tst r3, #4096
- mov ip, r0
- beq .L2195
+ beq .L2193
str r0, [sp]
- mov r1, r7
- str r0, [sp, #28]
- mov r2, r9
- ldr r0, .L2220+12
mov r3, r4
+ mov r2, r10
+ mov r1, r7
+ ldr r0, .L2219+16
bl printk
- ldr ip, [sp, #28]
-.L2195:
- cmn ip, #1
- beq .L2196
- ldr r3, [r10, #-128]
+.L2193:
+ cmn r8, #1
+ beq .L2194
+ ldr r3, [fp, #-120]
cmn r4, #1
- moveq r4, ip
- str r3, [sp, #20]
- ldr r3, [r10, #-120]
- str r3, [sp, #24]
- ldr r3, [sp, #12]
- cmp ip, r3
- bcc .L2205
-.L2196:
- mov r7, fp
- b .L2194
-.L2205:
- mov r4, ip
-.L2198:
- ldr r3, [sp, #16]
- mov r6, r5, asl #8
- mov r0, #200
- add fp, r3, r6
- mov r3, #239
- str r3, [fp, #2056]
- mov r3, #137
- str r3, [fp, #2052]
- bl timer_delay_ns
- mov r3, #0
- str r3, [fp, #2048]
- str r3, [fp, #2048]
- str r3, [fp, #2048]
- str r3, [fp, #2048]
- ldr r3, [sp, #12]
- cmp r4, r3
- bcc .L2200
- cmn r4, #1
- movne r4, #256
-.L2200:
- cmn r4, #1
- movne fp, #0
- moveq fp, #1
- cmp r4, #256
- movne r3, fp
- orreq r3, fp, #1
- cmp r3, #0
- beq .L2201
- mov r3, r7
- str r4, [sp]
- ldr r0, .L2220+16
- mov r1, r5
- mov r2, r9
- eor r7, r8, #1
- bl printk
- ands r7, fp, r7
- beq .L2202
- bl nandc_wait_flash_ready
- ldr r3, .L2220
- mov r0, #200
- mov r8, #1
- ldr r3, [r3, #1040]
- add r6, r3, r6
- mov r3, #239
- str r3, [r6, #2056]
- mov r3, #150
- str r3, [r6, #2052]
- bl timer_delay_ns
- mov r3, #3
- str r3, [r6, #2048]
- mov r3, #0
- str r3, [r6, #2048]
- str r3, [r6, #2048]
- str r3, [r6, #2048]
- b .L2193
-.L2202:
- cmp r8, #0
- beq .L2203
- bl nandc_wait_flash_ready
- ldr r3, .L2220
- mov r0, #200
- ldr r9, [r3, #1040]
- mov r3, #239
- add r5, r9, r5, asl #8
- add r6, r9, r6
- str r3, [r6, #2056]
- mov r3, #150
- str r3, [r5, #2052]
- bl timer_delay_ns
- cmn r4, #1
- str r7, [r5, #2048]
- movne r4, #256
- str r7, [r5, #2048]
- str r7, [r5, #2048]
- str r7, [r5, #2048]
- b .L2203
-.L2201:
- cmp r8, #0
- beq .L2203
+ moveq r4, r8
str r3, [sp, #12]
- bl nandc_wait_flash_ready
- ldr r2, .L2220
- mov r0, #200
- mov r4, #256
- ldr r9, [r2, #1040]
- mov r2, #239
- add r5, r9, r5, asl #8
- add r6, r9, r6
- str r2, [r6, #2056]
- mov r2, #150
- str r2, [r5, #2052]
- bl timer_delay_ns
- ldr r3, [sp, #12]
- str r3, [r5, #2048]
- str r3, [r5, #2048]
- str r3, [r5, #2048]
- str r3, [r5, #2048]
+ ldr r3, [fp, #-112]
+ str r3, [sp, #16]
+ ldr r3, [sp, #8]
+ cmp r8, r3
+ bcc .L2203
+.L2194:
+ ldr r7, [sp, #20]
+ b .L2192
.L2203:
+ mov r4, r8
+ b .L2196
+.L2200:
+ cmp r9, #0
+ beq .L2201
+ mov r0, r6
+ bl mt_auto_read_calibration_config
+ cmn r4, #1
+ movne r4, #256
+.L2201:
bl nandc_wait_flash_ready
mov r0, r4
- add sp, sp, #36
+ add sp, sp, #28
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L2221:
- .align 2
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2199:
+ cmp r9, #0
+ beq .L2201
+ mov r0, r6
+ mov r4, #256
+ bl mt_auto_read_calibration_config
+ b .L2201
.L2220:
+ .align 2
+.L2219:
.word .LANCHOR0
.word .LANCHOR3
+ .word .LC152
.word .LANCHOR2
.word .LC151
- .word .LC152
.fnend
.size micron_read_retrial, .-micron_read_retrial
.align 2
.global toshiba_3d_read_retrial
+ .syntax unified
+ .arm
+ .fpu softvfp
.type toshiba_3d_read_retrial, %function
toshiba_3d_read_retrial:
.fnstart
- @ args = 4, pretend = 0, frame = 16
+ @ args = 4, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- .pad #28
- sub sp, sp, #28
- ubfx r4, r1, #24, #2
+ .pad #36
+ sub sp, sp, #36
+ ldr r7, .L2269
mov r8, r0
- mov fp, r3
- mov r10, r1
- str r2, [sp, #12]
- bl nandc_wait_flash_ready
- ldr r7, .L2270
+ ubfx r4, r1, #24, #2
+ mov r9, r1
+ str r3, [sp, #20]
add r6, r8, #8
- ldr r3, [r7, #1040]
- add r6, r3, r6, asl #8
- str r3, [sp, #8]
- ldrb r3, [r7, #1173] @ zero_extendqisi2
+ str r2, [sp, #16]
+ mov r5, #1
+ bl nandc_wait_flash_ready
+ ldr r3, [r7, #1044]
+ str r3, [sp, #12]
+ add r6, r3, r6, lsl #8
+ ldrb r3, [r7, #1100] @ zero_extendqisi2
cmp r3, #36
movne r3, #56
moveq r3, #46
- movne r5, #10
- moveq r5, #26
+ str r3, [sp, #28]
+ movne r3, #10
+ moveq r3, #26
cmp r4, #0
- str r3, [sp, #16]
+ str r3, [sp, #24]
mvn r4, #0
- bne .L2224
- ldr r3, [sp, #8]
- mov r9, #1
- add r3, r3, r8, asl #8
- str r3, [sp, #16]
-.L2231:
- ldr r3, .L2270
- mov r0, r6
- ldrb r3, [r3, #1173] @ zero_extendqisi2
- cmp r3, #36
- bne .L2225
- mov r2, #0
- mov r1, r9
- bl toshiba_tlc_set_rr_para
- mov r3, #93
- ldr r2, [sp, #16]
- str r3, [r2, #2056]
- b .L2226
-.L2225:
- uxtb r1, r9
- bl toshiba_3d_set_slc_rr_para
-.L2226:
- ldr r3, [sp, #64]
- mov r0, r8
- mov r1, r10
- ldr r2, [sp, #12]
- str r3, [sp]
- mov r3, fp
- bl flash_read_page
- ldr r3, .L2270+4
- ldr r3, [r3]
- tst r3, #16
- mov ip, r0
- beq .L2227
- mov r3, ip
- ldr r0, .L2270+8
- mov r1, r9
- mov r2, r10
- str ip, [sp, #20]
- bl printk
- ldr ip, [sp, #20]
-.L2227:
- cmn ip, #1
- beq .L2228
- ldr r3, .L2270+12
- cmn r4, #1
- moveq r4, ip
- 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 .L2246
-.L2228:
- add r9, r9, #1
- cmp r9, r5
- bne .L2231
- b .L2230
-.L2246:
- mov r5, r9
- mov r4, ip
+ ldr r3, [sp, #12]
+ add fp, r3, r8, lsl #8
+ bne .L2239
.L2230:
- ldr r3, .L2270
- mov r1, #0
- mov r0, r6
- ldrb r3, [r3, #1173] @ zero_extendqisi2
+ ldr r3, .L2269
+ ldrb r3, [r3, #1100] @ zero_extendqisi2
cmp r3, #36
- moveq r2, r1
- beq .L2269
- bl toshiba_3d_set_slc_rr_para
- b .L2233
-.L2224:
- ldr r3, [sp, #8]
- mov r5, #1
- add r9, r3, r8, asl #8
-.L2240:
- ldr r3, .L2270
- mov r0, r6
- ldrb r3, [r3, #1173] @ zero_extendqisi2
- cmp r3, #36
- bne .L2234
+ bne .L2224
+ mov r2, #0
mov r1, r5
- mov r2, #1
+ mov r0, r6
bl toshiba_tlc_set_rr_para
mov r3, #93
- b .L2268
-.L2234:
- uxtb r1, r5
- bl toshiba_3d_set_tlc_rr_para
- mov r3, #38
-.L2268:
- str r3, [r9, #2056]
+ str r3, [fp, #2056]
+.L2225:
+ ldr r3, [sp, #72]
+ mov r1, r9
+ ldr r2, [sp, #16]
mov r0, r8
- ldr r3, [sp, #64]
- mov r1, r10
- ldr r2, [sp, #12]
str r3, [sp]
- mov r3, fp
+ ldr r3, [sp, #20]
bl flash_read_page
- ldr r3, .L2270+4
+ ldr r3, .L2269+4
+ mov r10, r0
ldr r3, [r3]
tst r3, #16
- mov ip, r0
- beq .L2236
- mov r3, ip
- ldr r0, .L2270+16
+ beq .L2226
+ mov r3, r0
+ mov r2, r9
mov r1, r5
- mov r2, r10
- str ip, [sp, #20]
+ ldr r0, .L2269+8
bl printk
- ldr ip, [sp, #20]
-.L2236:
- cmn ip, #1
- beq .L2237
- ldr r3, .L2270+12
+.L2226:
+ cmn r10, #1
+ beq .L2227
+ ldr r3, .L2269+12
cmn r4, #1
- moveq r4, ip
- 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 .L2247
-.L2237:
- ldr r3, [sp, #16]
+ moveq r4, r10
+ ldr r2, [r3, #-120]
+ ldr r3, [r3, #-112]
+ str r2, [sp, #16]
+ str r3, [sp, #20]
+ ldrb r3, [r7, #1193] @ zero_extendqisi2
+ add r3, r3, r3, lsl #1
+ cmp r10, r3, asr #2
+ bcc .L2245
+.L2227:
+ ldr r3, [sp, #24]
add r5, r5, #1
- cmp r5, r3
- bne .L2240
- b .L2239
-.L2247:
- mov r4, ip
-.L2239:
- ldr r3, .L2270
- mov r0, r6
+ cmp r3, r5
+ bne .L2230
+.L2229:
+ ldr r3, .L2269
+ ldrb r3, [r3, #1100] @ zero_extendqisi2
+ cmp r3, #36
+ moveq r2, #0
+ beq .L2268
mov r1, #0
- ldrb r3, [r3, #1173] @ zero_extendqisi2
+ mov r0, r6
+ bl toshiba_3d_set_slc_rr_para
+.L2232:
+ ldr r3, .L2269
+ ldrb r3, [r3, #1100] @ zero_extendqisi2
cmp r3, #36
bne .L2241
- mov r2, #1
-.L2269:
- bl toshiba_tlc_set_rr_para
- b .L2233
-.L2241:
- bl toshiba_3d_set_tlc_rr_para
-.L2233:
- ldr r3, .L2270
- ldrb r3, [r3, #1173] @ zero_extendqisi2
- cmp r3, #36
- bne .L2242
- ldr r3, [sp, #8]
+ ldr r3, [sp, #12]
mov r2, #85
- add r3, r3, r8, asl #8
+ add r3, r3, r8, lsl #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
+.L2241:
+ ldrb r3, [r7, #1193] @ zero_extendqisi2
+ add r3, r3, r3, lsl #1
cmp r4, r3, asr #2
- bcc .L2243
+ bcc .L2242
cmn r4, #1
movne r4, #256
-.L2243:
+.L2242:
cmn r4, #1
cmpne r4, #256
- bne .L2244
+ bne .L2243
str r4, [sp]
- mov r1, r8
- ldr r0, .L2270+20
- mov r2, r10
mov r3, r5
+ mov r2, r9
+ mov r1, r8
+ ldr r0, .L2269+16
bl printk
-.L2244:
+.L2243:
bl nandc_wait_flash_ready
mov r0, r4
- add sp, sp, #28
+ add sp, sp, #36
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L2271:
- .align 2
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2224:
+ uxtb r1, r5
+ mov r0, r6
+ bl toshiba_3d_set_slc_rr_para
+ b .L2225
+.L2245:
+ mov r4, r10
+ b .L2229
+.L2239:
+ ldr r3, .L2269
+ ldrb r3, [r3, #1100] @ zero_extendqisi2
+ cmp r3, #36
+ bne .L2233
+ mov r2, #1
+ mov r1, r5
+ mov r0, r6
+ bl toshiba_tlc_set_rr_para
+ mov r3, #93
+.L2267:
+ str r3, [fp, #2056]
+ mov r1, r9
+ ldr r3, [sp, #72]
+ mov r0, r8
+ ldr r2, [sp, #16]
+ str r3, [sp]
+ ldr r3, [sp, #20]
+ bl flash_read_page
+ ldr r3, .L2269+4
+ mov r10, r0
+ ldr r3, [r3]
+ tst r3, #16
+ beq .L2235
+ mov r3, r0
+ mov r2, r9
+ mov r1, r5
+ ldr r0, .L2269+20
+ bl printk
+.L2235:
+ cmn r10, #1
+ beq .L2236
+ ldr r3, .L2269+12
+ cmn r4, #1
+ moveq r4, r10
+ ldr r2, [r3, #-120]
+ ldr r3, [r3, #-112]
+ str r2, [sp, #16]
+ str r3, [sp, #20]
+ ldrb r3, [r7, #1193] @ zero_extendqisi2
+ add r3, r3, r3, lsl #1
+ cmp r10, r3, asr #2
+ bcc .L2246
+.L2236:
+ ldr r3, [sp, #28]
+ add r5, r5, #1
+ cmp r3, r5
+ bne .L2239
+.L2238:
+ ldr r3, .L2269
+ ldrb r3, [r3, #1100] @ zero_extendqisi2
+ cmp r3, #36
+ bne .L2240
+ mov r2, #1
+.L2268:
+ mov r1, #0
+ mov r0, r6
+ bl toshiba_tlc_set_rr_para
+ b .L2232
+.L2233:
+ uxtb r1, r5
+ mov r0, r6
+ bl toshiba_3d_set_tlc_rr_para
+ mov r3, #38
+ b .L2267
+.L2246:
+ mov r4, r10
+ b .L2238
+.L2240:
+ mov r1, #0
+ mov r0, r6
+ bl toshiba_3d_set_tlc_rr_para
+ b .L2232
.L2270:
+ .align 2
+.L2269:
.word .LANCHOR0
.word .LANCHOR2
.word .LC153
.word .LANCHOR3
- .word .LC154
.word .LC155
+ .word .LC154
.fnend
.size toshiba_3d_read_retrial, .-toshiba_3d_read_retrial
.align 2
.global toshiba_read_retrial
+ .syntax unified
+ .arm
+ .fpu softvfp
.type toshiba_read_retrial, %function
toshiba_read_retrial:
.fnstart
@ args = 4, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ mov r6, r0
.pad #36
sub sp, sp, #36
- mov r5, r0
- ldr r4, .L2305
+ ldr r5, .L2303
+ add r9, r6, #8
str r3, [sp, #20]
- add r9, r5, #8
str r1, [sp, #12]
str r2, [sp, #16]
bl nandc_wait_flash_ready
- mov r0, r5
+ mov r0, r6
bl zftl_flash_enter_slc_mode
- mov r0, r5
+ mov r0, r6
bl zftl_flash_exit_slc_mode
- ldrb r3, [r4, #1173] @ zero_extendqisi2
- ldr r7, [r4, #1040]
+ ldrb r3, [r5, #1100] @ zero_extendqisi2
+ ldr r7, [r5, #1044]
sub r3, r3, #67
cmp r3, #1
- add r9, r7, r9, asl #8
- mov r3, r5, asl #8
+ lsl r3, r6, #8
+ add r9, r7, r9, lsl #8
str r3, [sp, #24]
movls r3, #0
strls r3, [sp, #8]
- bls .L2273
- ldrb r6, [r4, #1135] @ zero_extendqisi2
- cmp r6, #0
- streq r6, [sp, #8]
- beq .L2274
+ bls .L2272
+ ldrb r3, [r5, #1143] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L2290
mov r0, #1
bl nandc_set_if_mode
mov r3, #1
+.L2290:
str r3, [sp, #8]
-.L2274:
- ldr r3, [sp, #24]
+ lsl r3, r6, #8
mov r2, #92
add r3, r7, r3
str r2, [r3, #2056]
mov r2, #197
str r2, [r3, #2056]
-.L2273:
- ldr fp, .L2305+4
+.L2272:
+ ldr fp, .L2303+4
+ lsl r3, r6, #8
mov r8, #1
mvn r10, #0
- mov r3, r5, asl #8
str r3, [sp, #28]
-.L2275:
- ldrb r3, [fp, #-116] @ zero_extendqisi2
+.L2274:
+ ldrb r3, [fp, #-108] @ zero_extendqisi2
add r3, r3, #1
cmp r8, r3
- bcs .L2304
- ldrb r3, [r4, #1173] @ zero_extendqisi2
+ bcc .L2283
+ mov r4, r10
+.L2282:
+ ldrb r3, [r5, #1100] @ zero_extendqisi2
+ mov r1, #0
+ mov r0, r9
+ sub r3, r3, #67
+ cmp r3, #1
+ bhi .L2284
+ bl sandisk_set_rr_para
+.L2285:
+ add r6, r7, r6, lsl #8
+ mov r3, #255
+ str r3, [r6, #2056]
+ ldrb r3, [r5, #1193] @ zero_extendqisi2
+ add r3, r3, r3, lsl #1
+ cmp r4, r3, asr #2
+ bcc .L2286
+ cmn r4, #1
+ movne r4, #256
+.L2286:
+ cmn r4, #1
+ cmpne r4, #256
+ bne .L2287
+ str r4, [sp]
+ mov r3, r8
+ ldr r2, [sp, #12]
+ mov r1, r8
+ ldr r0, .L2303+8
+ bl printk
+.L2287:
+ bl nandc_wait_flash_ready
+ ldr r3, [sp, #8]
+ cmp r3, #0
+ beq .L2271
+ mov r0, #4
+ bl nandc_set_if_mode
+.L2271:
+ mov r0, r4
+ add sp, sp, #36
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2283:
+ ldrb r3, [r5, #1100] @ zero_extendqisi2
mov r0, r9
uxtb r1, r8
sub r3, r3, #67
cmp r3, #1
- bhi .L2276
+ bhi .L2275
bl sandisk_set_rr_para
- b .L2277
.L2276:
- bl toshiba_set_rr_para
-.L2277:
- ldrb r3, [r4, #1173] @ zero_extendqisi2
+ ldrb r3, [r5, #1100] @ zero_extendqisi2
cmp r3, #34
- bne .L2278
- ldr r3, .L2305+4
- ldrb r3, [r3, #-116] @ zero_extendqisi2
+ bne .L2277
+ ldr r3, .L2303+4
+ ldrb r3, [r3, #-108] @ zero_extendqisi2
sub r3, r3, #3
cmp r8, r3
ldreq r3, [sp, #28]
moveq r2, #179
addeq r3, r7, r3
streq r2, [r3, #2056]
-.L2278:
+.L2277:
ldr r3, [sp, #24]
mov r2, #38
add r1, sp, #12
- mov r0, r5
+ mov r0, r6
add r3, r7, r3
str r2, [r3, #2056]
mov r2, #93
str r2, [r3, #2056]
ldr r3, [sp, #72]
str r3, [sp]
- ldmia r1, {r1, r2, r3}
+ ldm r1, {r1, r2, r3}
bl flash_read_page
cmn r0, #1
- mov r6, r0
- beq .L2281
- ldr r3, [fp, #-128]
+ mov r4, r0
+ beq .L2280
+ ldr r3, [fp, #-120]
cmn r10, #1
moveq r10, r0
str r3, [sp, #16]
- ldr r3, [fp, #-120]
+ ldr r3, [fp, #-112]
str r3, [sp, #20]
- ldrb r3, [r4, #1172] @ zero_extendqisi2
- add r3, r3, r3, asl #1
+ ldrb r3, [r5, #1193] @ zero_extendqisi2
+ add r3, r3, r3, lsl #1
cmp r0, r3, asr #2
- bcc .L2283
-.L2281:
+ bcc .L2282
+.L2280:
add r8, r8, #1
- b .L2275
-.L2304:
- mov r6, r10
-.L2283:
- ldrb r3, [r4, #1173] @ zero_extendqisi2
- mov r0, r9
- mov r1, #0
- sub r3, r3, #67
- cmp r3, #1
- bhi .L2285
- bl sandisk_set_rr_para
- b .L2286
-.L2285:
+ b .L2274
+.L2275:
bl toshiba_set_rr_para
-.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 .L2287
- cmn r6, #1
- movne r6, #256
-.L2287:
- cmn r6, #1
- cmpne r6, #256
- bne .L2288
- str r6, [sp]
- mov r1, r8
- ldr r0, .L2305+8
- mov r3, r8
- ldr r2, [sp, #12]
- bl printk
-.L2288:
- bl nandc_wait_flash_ready
- ldr r3, [sp, #8]
- cmp r3, #0
- beq .L2289
- mov r0, #4
- bl nandc_set_if_mode
-.L2289:
- mov r0, r6
- add sp, sp, #36
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L2306:
+ b .L2276
+.L2284:
+ bl toshiba_set_rr_para
+ b .L2285
+.L2304:
.align 2
-.L2305:
+.L2303:
.word .LANCHOR0
.word .LANCHOR3
.word .LC155
@@ -13359,129 +13858,131 @@
.size toshiba_read_retrial, .-toshiba_read_retrial
.align 2
.global ymtc_3d_read_retrial
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ymtc_3d_read_retrial, %function
ymtc_3d_read_retrial:
.fnstart
@ args = 4, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- mov r8, r0
+ mov r7, r0
.pad #20
sub sp, sp, #20
- ldr r6, .L2337
- mov r9, r1
- mov fp, r3
- mov r10, r2
+ mov r8, r1
+ mov r9, r2
+ mov r10, r3
bl nandc_wait_flash_ready
- mov r0, r8
- add r7, r8, #8
- bl zftl_flash_enter_slc_mode
- mov r0, r8
- bl zftl_flash_exit_slc_mode
- ldr r3, [r6, #1040]
- tst r9, #50331648
- mvn r4, #0
- add r7, r3, r7, asl #8
- mov r5, #1
- ldr ip, .L2337+4
- bne .L2317
-.L2312:
mov r0, r7
+ mvn r4, #0
+ bl zftl_flash_enter_slc_mode
+ mov r0, r7
+ mov r5, #1
+ bl zftl_flash_exit_slc_mode
+ ldr r3, .L2334
+ tst r8, #50331648
+ add r2, r7, #8
+ ldr fp, .L2334+4
+ ldr r6, [r3, #1044]
+ str r3, [sp, #12]
+ add r6, r6, r2, lsl #8
+ bne .L2315
+.L2310:
uxtb r1, r5
- str ip, [sp, #12]
+ mov r0, r6
bl ymtc_3d_set_slc_rr_para
- mov r0, r8
- mov r1, r9
- mov r2, r10
ldr r3, [sp, #56]
+ mov r2, r9
+ mov r1, r8
+ mov r0, r7
str r3, [sp]
- mov r3, fp
+ mov r3, r10
bl flash_read_page
cmn r0, #1
- ldr ip, [sp, #12]
- beq .L2309
- ldrb r3, [r6, #1172] @ zero_extendqisi2
+ beq .L2307
+ ldr r3, [sp, #12]
cmn r4, #1
- ldr r10, [ip, #-128]
moveq r4, r0
- ldr fp, [ip, #-120]
- add r3, r3, r3, asl #1
+ ldr r9, [fp, #-120]
+ ldr r10, [fp, #-112]
+ ldrb r3, [r3, #1193] @ zero_extendqisi2
+ add r3, r3, r3, lsl #1
cmp r0, r3, asr #2
- bcc .L2320
-.L2309:
+ bcc .L2318
+.L2307:
add r5, r5, #1
cmp r5, #10
- bne .L2312
- b .L2311
-.L2320:
- mov r4, r0
-.L2311:
- mov r0, r7
+ bne .L2310
+.L2309:
mov r1, #0
+ mov r0, r6
bl ymtc_3d_set_slc_rr_para
- b .L2313
-.L2336:
- ldrb r3, [r6, #1172] @ zero_extendqisi2
- cmn r4, #1
- ldr r10, [ip, #-128]
- moveq r4, r0
- ldr fp, [ip, #-120]
- add r3, r3, r3, asl #1
- cmp r0, r3, asr #2
- bcc .L2321
-.L2314:
- add r5, r5, #1
- cmp r5, #51
- beq .L2316
-.L2317:
- mov r0, r7
- uxtb r1, r5
- str ip, [sp, #12]
- bl ymtc_3d_set_tlc_rr_para
- mov r0, r8
- mov r1, r9
- mov r2, r10
- ldr r3, [sp, #56]
- str r3, [sp]
- mov r3, fp
- bl flash_read_page
- cmn r0, #1
- ldr ip, [sp, #12]
- bne .L2336
- b .L2314
-.L2321:
- mov r4, r0
-.L2316:
- mov r0, r7
- mov r1, #0
- bl ymtc_3d_set_tlc_rr_para
-.L2313:
- ldrb r3, [r6, #1172] @ zero_extendqisi2
- add r3, r3, r3, asl #1
+.L2311:
+ ldr r3, [sp, #12]
+ ldrb r3, [r3, #1193] @ zero_extendqisi2
+ add r3, r3, r3, lsl #1
cmp r4, r3, asr #2
- bcc .L2318
+ bcc .L2316
cmn r4, #1
movne r4, #256
-.L2318:
+.L2316:
cmn r4, #1
cmpne r4, #256
- bne .L2319
+ bne .L2317
str r4, [sp]
- mov r1, r5
- ldr r0, .L2337+8
- mov r2, r9
mov r3, r5
+ mov r2, r8
+ mov r1, r5
+ ldr r0, .L2334+8
bl printk
-.L2319:
+.L2317:
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}
-.L2338:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2318:
+ mov r4, r0
+ b .L2309
+.L2315:
+ uxtb r1, r5
+ mov r0, r6
+ bl ymtc_3d_set_tlc_rr_para
+ ldr r3, [sp, #56]
+ mov r2, r9
+ mov r1, r8
+ mov r0, r7
+ str r3, [sp]
+ mov r3, r10
+ bl flash_read_page
+ cmn r0, #1
+ beq .L2312
+ ldr r3, [sp, #12]
+ cmn r4, #1
+ moveq r4, r0
+ ldr r9, [fp, #-120]
+ ldr r10, [fp, #-112]
+ ldrb r3, [r3, #1193] @ zero_extendqisi2
+ add r3, r3, r3, lsl #1
+ cmp r0, r3, asr #2
+ bcc .L2319
+.L2312:
+ add r5, r5, #1
+ cmp r5, #51
+ bne .L2315
+.L2314:
+ mov r1, #0
+ mov r0, r6
+ bl ymtc_3d_set_tlc_rr_para
+ b .L2311
+.L2319:
+ mov r4, r0
+ b .L2314
+.L2335:
.align 2
-.L2337:
+.L2334:
.word .LANCHOR0
.word .LANCHOR3
.word .LC156
@@ -13489,425 +13990,408 @@
.size ymtc_3d_read_retrial, .-ymtc_3d_read_retrial
.align 2
.global samsung_read_retrial
+ .syntax unified
+ .arm
+ .fpu softvfp
.type samsung_read_retrial, %function
samsung_read_retrial:
.fnstart
@ args = 4, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ mov r9, r0
.pad #28
sub sp, sp, #28
- mov r7, r0
- mov r8, r1
- str r3, [sp, #12]
- str r2, [sp, #8]
- bl nandc_wait_flash_ready
- mov r0, r7
- bl zftl_flash_enter_slc_mode
- mov r0, r7
- bl zftl_flash_exit_slc_mode
- ldr r3, .L2377
- tst r8, #50331648
- ldr r4, [r3, #1040]
- str r3, [sp, #16]
- bne .L2340
- mov r10, r7, asl #8
- mvn r5, #0
- add r9, r4, r10
- mov r6, #1
- mov fp, #239
-.L2345:
- str fp, [r9, #2056]
- mov r3, #141
- str r3, [r9, #2052]
- ldr r3, .L2377+4
- ldrsb r3, [r6, r3]
- str r3, [r9, #2048]
- mov r3, #0
- str r3, [r9, #2048]
- str r3, [r9, #2048]
- str r3, [r9, #2048]
- bl nandc_wait_flash_ready
- mov r0, r7
- mov r1, r8
- ldr r3, [sp, #64]
- ldr r2, [sp, #8]
- str r3, [sp]
- ldr r3, [sp, #12]
- bl flash_read_page
- ldr r3, .L2377+8
- ldr r3, [r3]
- tst r3, #16
- mov ip, r0
- beq .L2341
- mov r3, ip
- ldr r0, .L2377+12
- mov r1, r6
- mov r2, r8
- str ip, [sp, #20]
- bl printk
- ldr ip, [sp, #20]
-.L2341:
- cmn ip, #1
- beq .L2342
- ldr r3, .L2377+16
- cmn r5, #1
- moveq r5, ip
- 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 .L2354
-.L2342:
- add r6, r6, #1
- cmp r6, #26
- bne .L2345
- b .L2344
-.L2354:
- mov r5, ip
-.L2344:
- add r10, r4, r10
- mov r3, #239
- add r4, r4, r7, asl #8
- str r3, [r10, #2056]
- mov r3, #141
- b .L2376
-.L2340:
- mov r3, r7, asl #8
- ldr r9, .L2377+20
- add r10, r4, r3
- mvn r5, #0
- mov r6, #1
- str r3, [sp, #20]
-.L2351:
- mov r3, #239
- str r3, [r10, #2056]
- mov r3, #137
- str r3, [r10, #2052]
- ldrb r3, [r9, #4] @ zero_extendqisi2
- str r3, [r10, #2048]
- ldrb r3, [r9, #5] @ zero_extendqisi2
- str r3, [r10, #2048]
- ldrb r3, [r9, #6] @ zero_extendqisi2
- str r3, [r10, #2048]
- ldrb r3, [r9, #7] @ zero_extendqisi2
- str r3, [r10, #2048]
- bl nandc_wait_flash_ready
- mov r0, r7
- mov r1, r8
- ldr r3, [sp, #64]
- ldr r2, [sp, #8]
- str r3, [sp]
- ldr r3, [sp, #12]
- bl flash_read_page
- ldr r3, .L2377+8
- ldr r3, [r3]
- tst r3, #16
- mov fp, r0
- beq .L2347
- ldr r0, .L2377+24
- mov r1, r6
- mov r2, r8
- mov r3, fp
- bl printk
-.L2347:
- cmn fp, #1
- beq .L2348
- ldr r3, .L2377+16
- cmn r5, #1
- moveq r5, fp
- 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 .L2355
-.L2348:
- add r6, r6, #1
- add r9, r9, #4
- cmp r6, #26
- bne .L2351
- b .L2350
-.L2355:
- mov r5, fp
-.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
-.L2376:
- str r3, [r4, #2052]
- mov r3, #0
- str r3, [r4, #2048]
- str r3, [r4, #2048]
- str r3, [r4, #2048]
- str r3, [r4, #2048]
- bl nandc_wait_flash_ready
- ldr r3, [sp, #16]
- ldrb r3, [r3, #1172] @ zero_extendqisi2
- add r3, r3, r3, asl #1
- cmp r5, r3, asr #2
- bcc .L2352
- cmn r5, #1
- movne r5, #256
-.L2352:
- cmn r5, #1
- cmpne r5, #256
- bne .L2353
- str r5, [sp]
- mov r1, r6
- ldr r0, .L2377+28
- mov r2, r8
- mov r3, r6
- bl printk
-.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}
-.L2378:
- .align 2
-.L2377:
- .word .LANCHOR0
- .word .LANCHOR1+1928
- .word .LANCHOR2
- .word .LC157
- .word .LANCHOR3
- .word .LANCHOR1+1956
- .word .LC158
- .word .LC159
- .fnend
- .size samsung_read_retrial, .-samsung_read_retrial
- .align 2
- .global hynix_read_retrial
- .type hynix_read_retrial, %function
-hynix_read_retrial:
- .fnstart
- @ args = 4, pretend = 0, frame = 16
- @ 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}
+ mov r7, r1
mov fp, r3
- ldr r3, .L2398
- .pad #28
- sub sp, sp, #28
- mov r10, r2
- mov r6, r0
- mov r8, r1
- mov r7, #0
- ldr r2, [r3, #1176]
- mvn r4, #0
- str r3, [sp, #16]
- add r3, r2, r0
- str r3, [sp, #12]
- ldrb r9, [r2, #114] @ zero_extendqisi2
- ldrb r5, [r3, #120] @ zero_extendqisi2
+ str r2, [sp, #16]
bl nandc_wait_flash_ready
- mov r0, r6
+ mov r0, r9
bl zftl_flash_enter_slc_mode
- mov r0, r6
+ mov r0, r9
bl zftl_flash_exit_slc_mode
- ldr ip, .L2398+4
-.L2380:
- cmp r7, r9
- bcs .L2384
- add r5, r5, #1
- mov r0, r6
- str ip, [sp, #20]
- uxtb r5, r5
- cmp r5, r9
- movcs r5, #0
- mov r1, r5
- bl hynix_set_rr_para
- mov r0, r6
- mov r1, r8
- mov r2, r10
+ ldr r3, .L2374
+ tst r7, #50331648
+ ldr r2, [r3, #1044]
+ str r3, [sp, #20]
+ str r2, [sp, #12]
+ bne .L2337
+ lsl r10, r9, #8
+ mvn r4, #0
+ mov r5, #1
+ add r6, r2, r10
+.L2342:
+ mov r3, #239
+ str r3, [r6, #2056]
+ mov r3, #141
+ str r3, [r6, #2052]
+ ldr r3, .L2374+4
+ ldrsb r3, [r5, r3]
+ str r3, [r6, #2048]
+ mov r3, #0
+ str r3, [r6, #2048]
+ str r3, [r6, #2048]
+ str r3, [r6, #2048]
+ bl nandc_wait_flash_ready
ldr r3, [sp, #64]
+ mov r1, r7
+ ldr r2, [sp, #16]
+ mov r0, r9
str r3, [sp]
mov r3, fp
bl flash_read_page
- cmn r0, #1
- ldr ip, [sp, #20]
- beq .L2382
- ldr r3, [sp, #16]
+ ldr r3, .L2374+8
+ mov r8, r0
+ ldr r3, [r3]
+ tst r3, #16
+ beq .L2338
+ mov r3, r0
+ mov r2, r7
+ mov r1, r5
+ ldr r0, .L2374+12
+ bl printk
+.L2338:
+ cmn r8, #1
+ beq .L2339
+ ldr r3, .L2374+16
cmn r4, #1
- ldr r10, [ip, #-128]
- moveq r4, r0
- ldr fp, [ip, #-120]
- ldrb r3, [r3, #1172] @ zero_extendqisi2
- add r3, r3, r3, asl #1
- cmp r0, r3, asr #2
- bcc .L2388
-.L2382:
- add r7, r7, #1
- b .L2380
-.L2388:
- mov r4, r0
-.L2384:
+ moveq r4, r8
+ ldr r2, [r3, #-120]
+ ldr fp, [r3, #-112]
+ ldr r3, [sp, #20]
+ str r2, [sp, #16]
+ ldrb r3, [r3, #1193] @ zero_extendqisi2
+ add r3, r3, r3, lsl #1
+ cmp r8, r3, asr #2
+ bcc .L2351
+.L2339:
+ add r5, r5, #1
+ cmp r5, #26
+ bne .L2342
+.L2341:
ldr r3, [sp, #12]
- strb r5, [r3, #120]
- ldr r3, [sp, #16]
- ldrb r3, [r3, #1172] @ zero_extendqisi2
- add r3, r3, r3, asl #1
+ add r10, r3, r10
+ mov r3, #239
+ str r3, [r10, #2056]
+ mov r3, #141
+.L2373:
+ str r3, [r6, #2052]
+ mov r3, #0
+ str r3, [r6, #2048]
+ str r3, [r6, #2048]
+ str r3, [r6, #2048]
+ str r3, [r6, #2048]
+ bl nandc_wait_flash_ready
+ ldr r3, .L2374
+ ldrb r3, [r3, #1193] @ zero_extendqisi2
+ add r3, r3, r3, lsl #1
cmp r4, r3, asr #2
- bcc .L2386
+ bcc .L2349
cmn r4, #1
movne r4, #256
-.L2386:
+.L2349:
cmn r4, #1
cmpne r4, #256
- bne .L2387
+ bne .L2350
str r4, [sp]
- mov r1, r7
- ldr r0, .L2398+8
- mov r2, r8
- mov r3, r7
+ mov r3, r5
+ mov r2, r7
+ mov r1, r5
+ ldr r0, .L2374+20
bl printk
-.L2387:
+.L2350:
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}
-.L2399:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2351:
+ mov r4, r8
+ b .L2341
+.L2337:
+ lsl r3, r9, #8
+ lsl r2, r9, #8
+ ldr r8, .L2374+24
+ str r3, [sp, #20]
+ mvn r4, #0
+ ldr r3, [sp, #12]
+ mov r5, #1
+ add r6, r3, r2
+.L2348:
+ mov r3, #239
+ str r3, [r6, #2056]
+ mov r3, #137
+ str r3, [r6, #2052]
+ ldrb r3, [r8, #4] @ zero_extendqisi2
+ str r3, [r6, #2048]
+ ldrb r3, [r8, #5] @ zero_extendqisi2
+ str r3, [r6, #2048]
+ ldrb r3, [r8, #6] @ zero_extendqisi2
+ str r3, [r6, #2048]
+ ldrb r3, [r8, #7] @ zero_extendqisi2
+ str r3, [r6, #2048]
+ bl nandc_wait_flash_ready
+ ldr r3, [sp, #64]
+ mov r1, r7
+ ldr r2, [sp, #16]
+ mov r0, r9
+ str r3, [sp]
+ mov r3, fp
+ bl flash_read_page
+ ldr r3, .L2374+8
+ mov r10, r0
+ ldr r3, [r3]
+ tst r3, #16
+ beq .L2344
+ mov r3, r0
+ mov r2, r7
+ mov r1, r5
+ ldr r0, .L2374+28
+ bl printk
+.L2344:
+ cmn r10, #1
+ beq .L2345
+ ldr r3, .L2374+16
+ cmn r4, #1
+ moveq r4, r10
+ ldr r2, [r3, #-120]
+ ldr fp, [r3, #-112]
+ ldr r3, .L2374
+ str r2, [sp, #16]
+ ldrb r3, [r3, #1193] @ zero_extendqisi2
+ add r3, r3, r3, lsl #1
+ cmp r10, r3, asr #2
+ bcc .L2352
+.L2345:
+ add r5, r5, #1
+ add r8, r8, #4
+ cmp r5, #26
+ bne .L2348
+.L2347:
+ ldr r3, [sp, #12]
+ ldr r2, [sp, #20]
+ add r10, r3, r2
+ mov r3, #239
+ str r3, [r10, #2056]
+ mov r3, #137
+ b .L2373
+.L2352:
+ mov r4, r10
+ b .L2347
+.L2375:
.align 2
-.L2398:
+.L2374:
.word .LANCHOR0
+ .word .LANCHOR1+1752
+ .word .LANCHOR2
+ .word .LC157
.word .LANCHOR3
+ .word .LC159
+ .word .LANCHOR1+1778
+ .word .LC158
+ .fnend
+ .size samsung_read_retrial, .-samsung_read_retrial
+ .align 2
+ .global hynix_read_retrial
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type hynix_read_retrial, %function
+hynix_read_retrial:
+ .fnstart
+ @ args = 4, pretend = 0, frame = 8
+ @ frame_needed = 0, uses_anonymous_args = 0
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ mov r10, r3
+ ldr fp, .L2395
+ mov r9, r2
+ .pad #20
+ sub sp, sp, #20
+ mov r6, r0
+ mov r8, r1
+ mov r7, #0
+ ldr r3, [fp, #1040]
+ mvn r4, #0
+ add r2, r3, r0
+ ldrb r3, [r3, #114] @ zero_extendqisi2
+ str r2, [sp, #12]
+ ldrb r5, [r2, #120] @ zero_extendqisi2
+ str r3, [sp, #8]
+ bl nandc_wait_flash_ready
+ mov r0, r6
+ bl zftl_flash_enter_slc_mode
+ mov r0, r6
+ bl zftl_flash_exit_slc_mode
+.L2377:
+ ldr r3, [sp, #8]
+ cmp r7, r3
+ bcc .L2382
+.L2381:
+ ldr r3, [sp, #12]
+ strb r5, [r3, #120]
+ ldrb r3, [fp, #1193] @ zero_extendqisi2
+ add r3, r3, r3, lsl #1
+ cmp r4, r3, asr #2
+ bcc .L2383
+ cmn r4, #1
+ movne r4, #256
+.L2383:
+ cmn r4, #1
+ cmpne r4, #256
+ bne .L2384
+ str r4, [sp]
+ mov r3, r7
+ mov r2, r8
+ mov r1, r7
+ ldr r0, .L2395+4
+ bl printk
+.L2384:
+ bl nandc_wait_flash_ready
+ mov r0, r4
+ add sp, sp, #20
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2382:
+ ldr r3, [sp, #8]
+ add r5, r5, #1
+ uxtb r5, r5
+ mov r0, r6
+ cmp r3, r5
+ movls r5, #0
+ mov r1, r5
+ bl hynix_set_rr_para
+ ldr r3, [sp, #56]
+ mov r2, r9
+ mov r1, r8
+ mov r0, r6
+ str r3, [sp]
+ mov r3, r10
+ bl flash_read_page
+ cmn r0, #1
+ beq .L2379
+ ldr r3, .L2395+8
+ cmn r4, #1
+ moveq r4, r0
+ ldr r9, [r3, #-120]
+ ldr r10, [r3, #-112]
+ ldrb r3, [fp, #1193] @ zero_extendqisi2
+ add r3, r3, r3, lsl #1
+ cmp r0, r3, asr #2
+ bcc .L2385
+.L2379:
+ add r7, r7, #1
+ b .L2377
+.L2385:
+ mov r4, r0
+ b .L2381
+.L2396:
+ .align 2
+.L2395:
+ .word .LANCHOR0
.word .LC160
+ .word .LANCHOR3
.fnend
.size hynix_read_retrial, .-hynix_read_retrial
.align 2
.global flash_ddr_tuning_read
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_ddr_tuning_read, %function
flash_ddr_tuning_read:
.fnstart
@ args = 4, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {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
- mov r8, r0
- mov r10, r1
- mov fp, r2
- str r3, [sp, #16]
- bl nandc_get_ddr_para
mov r4, #0
mov r5, r4
mov r6, #1024
mov r7, #6
- mvn r9, #0
- str r0, [sp, #24]
- str r4, [sp, #20]
+ mvn r10, #0
+ .pad #36
+ sub sp, sp, #36
+ mov r8, r0
+ mov fp, r1
+ str r2, [sp, #16]
+ str r3, [sp, #20]
+ bl nandc_get_ddr_para
+ str r0, [sp, #28]
+ str r4, [sp, #24]
str r4, [sp, #12]
-.L2406:
+.L2403:
uxtb r0, r7
bl nandc_set_ddr_para
- mov r0, r8
- mov r1, r10
- mov r2, fp
ldr r3, [sp, #72]
+ mov r1, fp
+ ldr r2, [sp, #16]
+ mov r0, r8
str r3, [sp]
- ldr r3, [sp, #16]
+ ldr r3, [sp, #20]
bl flash_read_page
- ldr r3, .L2427
+ ldr r3, .L2424
+ mov r9, r0
ldr r3, [r3]
tst r3, #16
- mov ip, r0
- beq .L2401
- mov r3, ip
- ldr r0, .L2427+4
+ beq .L2398
+ mov r3, r0
+ mov r2, fp
mov r1, r7
- mov r2, r10
- str ip, [sp, #28]
+ ldr r0, .L2424+4
bl printk
- ldr ip, [sp, #28]
-.L2401:
+.L2398:
add r3, r6, #1
- cmp ip, r3
- bhi .L2402
- ldr r3, .L2427+8
- ldr fp, [r3, #-128]
+ cmp r9, r3
+ bhi .L2399
+ ldr r3, .L2424+8
ldr r3, [r3, #-120]
str r3, [sp, #16]
- ldr r3, .L2427+12
- ldrb r3, [r3, #1172] @ zero_extendqisi2
- cmp ip, r3, lsr #2
- bcs .L2412
+ ldr r3, .L2424+8
+ ldr r3, [r3, #-112]
+ str r3, [sp, #20]
+ ldr r3, .L2424+12
+ ldrb r3, [r3, #1193] @ zero_extendqisi2
+ cmp r9, r3, lsr #2
+ bcs .L2409
add r5, r5, #1
cmp r5, #7
- bls .L2412
- rsb r4, r5, r7
- mov r6, ip
- mov r9, #0
- b .L2404
-.L2402:
- ldr r3, [sp, #12]
- cmp r3, r5
- bcs .L2413
- cmp r5, #7
- rsb r3, r5, r4
- str r3, [sp, #20]
- bhi .L2405
- str r5, [sp, #12]
- b .L2413
-.L2412:
- mov r4, r7
- mov r6, ip
- mov r9, #0
- b .L2403
-.L2413:
- mov r5, #0
-.L2403:
- add r7, r7, #2
- cmp r7, #50
- bne .L2406
-.L2404:
+ bls .L2409
+ sub r4, r7, r5
+ mov r6, r9
+ mov r10, #0
+.L2401:
ldr r2, [sp, #12]
- ldr r3, [sp, #20]
- cmp r2, r5
- movhi r4, r3
-.L2405:
+ ldr r3, [sp, #24]
+ cmp r5, r2
+ movcc r4, r3
+.L2402:
cmp r4, #0
- beq .L2407
- ldr r3, .L2427+12
- ldr r2, .L2427+16
- ldrb r3, [r3, #1172] @ zero_extendqisi2
- umull r2, r3, r3, r2
+ beq .L2404
+ ldr r3, .L2424+12
+ ldrb r2, [r3, #1193] @ zero_extendqisi2
+ ldr r3, .L2424+16
+ umull r2, r3, r2, r3
ubfx r3, r3, #1, #8
- cmp r6, r3
- bcs .L2407
- ldr r0, .L2427+20
+ cmp r3, r6
+ bls .L2404
mov r1, r4
+ ldr r0, .L2424+20
bl printk
uxtb r0, r4
- b .L2426
-.L2407:
- ldrb r0, [sp, #24] @ zero_extendqisi2
-.L2426:
+.L2423:
bl nandc_set_ddr_para
- cmn r9, #1
- bne .L2409
- ldr r5, .L2427+12
- ldrb r3, [r5, #1232] @ zero_extendqisi2
- mov r4, r5
+ cmn r10, #1
+ bne .L2397
+ ldr r4, .L2424+12
+ ldrb r3, [r4, #1192] @ zero_extendqisi2
+ mov r5, r4
tst r3, #1
- beq .L2409
+ beq .L2397
mov r1, r8
- mov r2, r10
- ldr r0, .L2427+24
+ mov r2, fp
+ ldr r0, .L2424+24
bl printk
mov r0, r8
bl flash_reset
@@ -13915,51 +14399,75 @@
bl flash_set_interface_mode
mov r0, #1
bl nandc_set_if_mode
- add r3, r5, r8
- mov r0, r8
+ add r3, r4, r8
mov r2, #2
- strb r2, [r3, #1192]
- bl zftl_flash_enter_slc_mode
- mov r1, r10
- mov r2, fp
mov r0, r8
+ strb r2, [r3, #1154]
+ bl zftl_flash_enter_slc_mode
ldr r3, [sp, #72]
+ mov r1, fp
+ ldr r2, [sp, #16]
+ mov r0, r8
str r3, [sp]
- ldr r3, [sp, #16]
+ ldr r3, [sp, #20]
bl flash_read_page
- mov r1, r8
- mov r2, r10
+ mov r2, fp
+ mov r3, r0
mov r6, r0
- ldr r0, .L2427+28
- mov r3, r6
+ mov r1, r8
+ ldr r0, .L2424+28
bl printk
- ldrb r3, [r5, #1172] @ zero_extendqisi2
+ ldrb r3, [r4, #1193] @ zero_extendqisi2
cmp r6, r3
- bhi .L2414
- ldr r2, .L2427+8
- ldr r3, [r2, #-112]
+ bhi .L2411
+ ldr r2, .L2424+8
+ ldr r3, [r2, #-104]
add r3, r3, #1
- str r3, [r2, #-112]
cmp r3, #100
+ str r3, [r2, #-104]
movhi r3, #0
- strhib r3, [r5, #1135]
- bls .L2410
- b .L2409
-.L2414:
- mov r6, r9
-.L2410:
- ldrb r0, [r4, #1232] @ zero_extendqisi2
+ strbhi r3, [r4, #1143]
+ bhi .L2397
+.L2407:
+ ldrb r0, [r5, #1192] @ zero_extendqisi2
bl flash_set_interface_mode
- ldrb r0, [r4, #1232] @ zero_extendqisi2
+ ldrb r0, [r5, #1192] @ zero_extendqisi2
bl nandc_set_if_mode
-.L2409:
+.L2397:
mov r0, r6
add sp, sp, #36
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L2428:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2399:
+ ldr r3, [sp, #12]
+ cmp r5, r3
+ bls .L2410
+ cmp r5, #7
+ sub r3, r4, r5
+ str r3, [sp, #24]
+ bhi .L2402
+ str r5, [sp, #12]
+.L2410:
+ mov r5, #0
+ b .L2400
+.L2409:
+ mov r4, r7
+ mov r6, r9
+ mov r10, #0
+.L2400:
+ add r7, r7, #2
+ cmp r7, #50
+ bne .L2403
+ b .L2401
+.L2404:
+ ldrb r0, [sp, #28] @ zero_extendqisi2
+ b .L2423
+.L2411:
+ mov r6, r10
+ b .L2407
+.L2425:
.align 2
-.L2427:
+.L2424:
.word .LANCHOR2
.word .LC161
.word .LANCHOR3
@@ -13972,141 +14480,145 @@
.size flash_ddr_tuning_read, .-flash_ddr_tuning_read
.align 2
.global flash_read_page_en
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_read_page_en, %function
flash_read_page_en:
.fnstart
@ args = 4, 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}
+ push {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 r7, r3
- ldr r5, .L2460
+ mov r8, r3
+ ldr r5, .L2454
mov r10, r0
mov r4, r1
- mov r8, r2
+ mov r7, r2
ldr r9, [sp, #48]
- ldrb r3, [r5, #1101] @ zero_extendqisi2
+ ldrb r3, [r5, #1109] @ zero_extendqisi2
cmp r3, r0
- bhi .L2430
- ldr r1, .L2460+4
+ bhi .L2427
movw r2, #431
- ldr r0, .L2460+8
+ ldr r1, .L2454+4
+ ldr r0, .L2454+8
bl printk
bl dump_stack
-.L2430:
- add r2, r5, r10
- ldr r3, .L2460
- ldrb r6, [r2, #1180] @ zero_extendqisi2
- ldrb r2, [r5, #1101] @ zero_extendqisi2
- cmp r10, r2
- bcc .L2431
- ldr r3, .L2460+12
- ldr r3, [r3]
- tst r3, #64
- beq .L2459
- str r2, [sp]
- mov r1, r6
- ldr r0, .L2460+16
+.L2427:
+ add r3, r5, r10
+ ldrb r6, [r3, #1144] @ zero_extendqisi2
+ ldrb r3, [r5, #1109] @ zero_extendqisi2
+ cmp r10, r3
+ bcc .L2428
+ ldr r2, .L2454+12
+ ldr r2, [r2]
+ tst r2, #64
+ bne .L2429
+.L2453:
+ mvn r0, #0
+.L2426:
+ add sp, sp, #12
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2429:
+ str r3, [sp]
mov r2, r10
mov r3, r4
+ mov r1, r6
+ ldr r0, .L2454+16
bl printk
-.L2459:
- mvn r0, #0
- b .L2456
-.L2431:
+ b .L2453
+.L2428:
tst r4, #50331648
- bne .L2434
- ldrb r2, [r3] @ zero_extendqisi2
- cmp r2, #0
- beq .L2435
- ldrb r3, [r3, #1] @ zero_extendqisi2
+ bne .L2431
+ ldrb r3, [r5] @ zero_extendqisi2
cmp r3, #0
- beq .L2434
-.L2435:
+ beq .L2432
+ ldrb r3, [r5, #1] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L2431
+.L2432:
ldrh r10, [r5, #2]
mov r0, r4
mov r1, r10
bl __aeabi_uidiv
+ mov r1, r10
+ mul fp, r10, r0
+ mov r0, r4
+ bl __aeabi_uidivmod
ldrb r3, [r5, #1] @ zero_extendqisi2
+ lsl r1, r1, #1
cmp r3, #0
- 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
-.L2434:
+ addeq r1, r5, r1
+ addne r4, r1, fp
+ ldrheq r4, [r1, #4]
+ addeq r4, r4, fp
+.L2431:
str r9, [sp]
- mov r0, r6
+ mov r3, r8
+ mov r2, r7
mov r1, r4
- mov r2, r8
- mov r3, r7
+ mov r0, r6
bl flash_read_page
cmn r0, #1
- bne .L2456
- ldrb fp, [r5, #1168] @ zero_extendqisi2
- ldr r10, .L2460
- cmp fp, #0
- bne .L2438
-.L2441:
- ldr r3, .L2460+20
- ldr ip, [r3, #-108]
- cmp ip, #0
- bne .L2439
- b .L2440
-.L2438:
- mov r3, #0
- mov r0, r6
- strb r3, [r10, #1168]
- mov r1, r4
- str r9, [sp]
- mov r2, r8
- mov r3, r7
- bl flash_read_page
- strb fp, [r10, #1168]
- cmn r0, #1
- beq .L2441
- b .L2456
-.L2439:
- str r9, [sp]
- mov r0, r6
- mov r1, r4
- mov r2, r8
- mov r3, r7
- blx ip
- cmn r0, #1
- bne .L2456
-.L2440:
- ldrb r3, [r5, #1168] @ zero_extendqisi2
- mov r1, #0
- ldr r0, .L2460+24
+ bne .L2426
+ ldrb r10, [r5, #1196] @ zero_extendqisi2
+ cmp r10, #0
+ bne .L2434
+.L2437:
+ ldr r3, .L2454+20
+ ldr r10, [r3, #-100]
+ cmp r10, #0
+ bne .L2435
+.L2436:
+ ldrb r3, [r5, #1196] @ zero_extendqisi2
mov r2, r4
+ mov r1, #0
+ ldr r0, .L2454+24
str r3, [sp]
mvn r3, #0
bl printk
- ldrb r3, [r5, #1135] @ zero_extendqisi2
+ ldrb r3, [r5, #1143] @ zero_extendqisi2
cmp r3, #0
- beq .L2459
+ beq .L2453
str r9, [sp, #48]
- mov r0, r6
+ mov r3, r8
+ mov r2, r7
mov r1, r4
- mov r2, r8
- mov r3, r7
+ mov r0, r6
add sp, sp, #12
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, lr}
b flash_ddr_tuning_read
-.L2456:
- add sp, sp, #12
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L2461:
+.L2434:
+ mov r3, #0
+ str r9, [sp]
+ strb r3, [r5, #1196]
+ mov r2, r7
+ mov r3, r8
+ mov r1, r4
+ mov r0, r6
+ bl flash_read_page
+ cmn r0, #1
+ strb r10, [r5, #1196]
+ beq .L2437
+ b .L2426
+.L2435:
+ str r9, [sp]
+ mov r3, r8
+ mov r2, r7
+ mov r1, r4
+ mov r0, r6
+ blx r10
+ cmn r0, #1
+ bne .L2426
+ b .L2436
+.L2455:
.align 2
-.L2460:
+.L2454:
.word .LANCHOR0
- .word .LANCHOR1+2060
+ .word .LANCHOR1+1882
.word .LC0
.word .LANCHOR2
.word .LC165
@@ -14116,74 +14628,75 @@
.size flash_read_page_en, .-flash_read_page_en
.align 2
.global flash_get_last_written_page
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_get_last_written_page, %function
flash_get_last_written_page:
.fnstart
@ args = 4, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- mov r9, r1
- ldr r6, .L2473
+ mov r8, r1
+ ldr r5, .L2467
.pad #20
sub sp, sp, #20
- ldr r1, .L2473+4
mov r10, r0
mov fp, r2
- mov r8, r3
- ldrh r7, [r6, #30]
- ldrh r4, [r1, #-220]
+ ldr r1, .L2467+4
+ mov r9, r3
+ ldrh r6, [r5, #30]
+ ldrh r4, [r1, #-224]
ldr r1, [sp, #56]
+ mul r6, r8, r6
sub r4, r4, #1
- mul r7, r7, r9
- uxth r4, r4
- str r1, [sp]
- sxtah r1, r7, r4
- bl flash_read_page_en
- cmp r0, #512
- moveq ip, #0
- bne .L2463
-.L2464:
- sxth r3, ip
- sxth r2, r4
- cmp r3, r2
- bgt .L2463
- add r3, r3, r2
- mov r0, r10
- mov r2, fp
- str ip, [sp, #12]
- add r3, r3, r3, lsr #31
- mov r5, r3, asr #1
- ldr r3, [sp, #56]
- sxtah r1, r7, r5
- str r3, [sp]
- mov r3, r8
- bl flash_read_page_en
- cmp r0, #512
- ldr ip, [sp, #12]
- subeq r5, r5, #1
- addne ip, r5, #1
- uxtheq r4, r5
- uxthne ip, ip
- b .L2464
-.L2463:
- ldr r3, [r6]
sxth r4, r4
+ str r1, [sp]
+ add r1, r4, r6
+ bl flash_read_page_en
+ cmp r0, #512
+ str r5, [sp, #12]
+ moveq r7, #0
+ beq .L2458
+.L2457:
+ ldr r3, [sp, #12]
+ ldr r3, [r3]
tst r3, #4096
- beq .L2468
- ldr r0, .L2473+8
- mov r1, r9
+ beq .L2462
+ ldr r3, [r9]
mov r2, r4
- ldr r3, [r8]
+ mov r1, r8
+ ldr r0, .L2467+8
bl printk
-.L2468:
+.L2462:
mov r0, r4
add sp, sp, #20
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L2474:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2461:
+ add r5, r7, r4
+ ldr r3, [sp, #56]
+ add r5, r5, r5, lsr #31
+ mov r2, fp
+ mov r0, r10
+ asr r5, r5, #1
+ str r3, [sp]
+ mov r3, r9
+ sxtah r1, r6, r5
+ bl flash_read_page_en
+ cmp r0, #512
+ subeq r4, r5, #1
+ addne r5, r5, #1
+ sxtheq r4, r4
+ sxthne r7, r5
+.L2458:
+ cmp r7, r4
+ ble .L2461
+ b .L2457
+.L2468:
.align 2
-.L2473:
+.L2467:
.word .LANCHOR2
.word .LANCHOR3
.word .LC167
@@ -14191,471 +14704,273 @@
.size flash_get_last_written_page, .-flash_get_last_written_page
.align 2
.global flash_get_last_written_page_ext
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_get_last_written_page_ext, %function
flash_get_last_written_page_ext:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r4, lr}
- .save {r4, lr}
- .pad #8
- mov lr, r2
- ldr r2, .L2477
- mov r4, r1
- ldr r1, .L2477+4
- mov ip, r0
- ldrb r2, [r2, #1189] @ zero_extendqisi2
- ldrh r1, [r1, #-12]
- rsb r2, r2, #24
+ ldr ip, .L2471
+ push {r0, r1, r2, lr}
+ .save {lr}
+ .pad #12
+ ldr lr, .L2471+4
+ ldrb ip, [ip, #1153] @ zero_extendqisi2
+ ldrh lr, [lr, #-2]
str r3, [sp]
- rsb r2, r1, r2
+ mov r3, r2
+ rsb ip, ip, #24
+ mov r2, r1
+ sub ip, ip, lr
mvn r1, #0
- mov r0, r0, asr r2
- bic r1, ip, r1, asl r2
- mov r3, lr
- mov r2, r4
- uxtb r0, r0
+ asr lr, r0, ip
+ bic r1, r0, r1, lsl ip
+ uxtb r0, lr
bl flash_get_last_written_page
- add sp, sp, #8
+ add sp, sp, #12
@ sp needed
- ldmfd sp!, {r4, pc}
-.L2478:
+ ldr pc, [sp], #4
+.L2472:
.align 2
-.L2477:
+.L2471:
.word .LANCHOR0
- .word .LANCHOR3-3120
+ .word .LANCHOR3-3136
.fnend
.size flash_get_last_written_page_ext, .-flash_get_last_written_page_ext
.align 2
.global flash_ddr_para_scan
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_ddr_para_scan, %function
flash_ddr_para_scan:
.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, lr}
+ push {r0, r1, r2, r4, r5, r6, r7, r8, r9, lr}
.save {r4, r5, r6, r7, r8, r9, lr}
.pad #12
- mov r8, r0
- ldr r4, .L2486
- mov r7, r1
+ mov r7, r0
+ ldr r4, .L2480
mov r6, #1
- ldr r5, .L2486+4
+ mov r8, r1
mov r9, #4
- ldrb r0, [r4, #1232] @ zero_extendqisi2
- strb r6, [r4, #1135]
+ ldr r5, .L2480+4
+ ldrb r0, [r4, #1192] @ zero_extendqisi2
+ strb r6, [r4, #1143]
bl flash_set_interface_mode
- ldrb r0, [r4, #1232] @ zero_extendqisi2
+ ldrb r0, [r4, #1192] @ zero_extendqisi2
bl nandc_set_if_mode
- mov r1, r7
- ldr r2, [r5, #-104]
- mov r0, r8
- ldr r3, [r5, #-100]
+ ldr r3, [r5, #-96]
+ mov r1, r8
+ ldr r2, [r5, #-92]
+ mov r0, r7
str r9, [sp]
bl flash_ddr_tuning_read
- ldr r3, [r5, #-100]
- mov r0, r8
- mov r1, r7
- ldr r2, [r5, #-104]
+ ldr r3, [r5, #-96]
+ mov r1, r8
str r9, [sp]
+ mov r0, r7
+ ldr r2, [r5, #-92]
bl flash_read_page
- mov r3, r4
cmn r0, #1
- bne .L2480
- ldrb r2, [r4, #1232] @ zero_extendqisi2
+ mov r3, r4
+ bne .L2474
+ ldrb r2, [r4, #1192] @ zero_extendqisi2
tst r2, #1
- beq .L2480
+ beq .L2474
mov r0, r6
bl flash_set_interface_mode
mov r0, r6
bl nandc_set_if_mode
mov r3, #0
- strb r3, [r4, #1135]
- b .L2481
-.L2480:
- mov r2, #1
- strb r2, [r3, #1135]
-.L2481:
+ strb r3, [r4, #1143]
+.L2475:
mov r0, #0
add sp, sp, #12
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc}
-.L2487:
+ pop {r4, r5, r6, r7, r8, r9, pc}
+.L2474:
+ mov r2, #1
+ strb r2, [r3, #1143]
+ b .L2475
+.L2481:
.align 2
-.L2486:
+.L2480:
.word .LANCHOR0
.word .LANCHOR3
.fnend
.size flash_ddr_para_scan, .-flash_ddr_para_scan
- .global __aeabi_uidivmod
- .section .text.unlikely
- .align 2
- .type id_block_read_data.constprop.31, %function
-id_block_read_data.constprop.31:
- .fnstart
- @ args = 0, pretend = 0, frame = 112
- @ frame_needed = 0, uses_anonymous_args = 0
- 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, .L2519+4
- mov r6, r2
- str r1, [sp, #24]
- mov r5, #0
- ldrb r2, [r3, #13] @ zero_extendqisi2
- mov r7, #4
- ldrh r1, [r3, #30]
- mov r10, r5
- ldrb r3, [r4, #1168] @ zero_extendqisi2
- str r0, [sp, #40]
- mul r1, r1, r2
- str r3, [sp, #44]
- str r2, [sp, #28]
- strb r5, [r4, #1168]
- bl __aeabi_uidivmod
- ldr r3, [sp, #40]
- str r1, [sp, #12]
- rsb r3, r1, r3
- str r3, [sp, #32]
- and r3, r1, #3
- str r3, [sp, #16]
-.L2489:
- ldr r3, [sp, #24]
- cmp r5, r3
- bcs .L2518
- ldr r3, [sp, #16]
- mov r1, r7
- rsb r3, r3, r7
- uxth r3, r3
- str r3, [sp, #20]
- ldr r3, [sp, #12]
- add r0, r5, r3
- bl __aeabi_uidiv
- ldrb r1, [r4, #1102] @ zero_extendqisi2
- cmp r1, #0
- uxth r0, r0
- mov r3, r0, asl #1
- add r2, r4, r3
- ldrh r2, [r2, #4]
- moveq r0, r2
- beq .L2491
- ldrb r2, [r4, #1] @ zero_extendqisi2
- cmp r2, #0
- movne r0, r3
-.L2491:
- ldr r2, [sp, #32]
- ldr r3, [sp, #28]
- ldr r1, [sp, #16]
- mla r3, r3, r0, r2
- str r3, [sp, #36]
- 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, .L2519+4
- ldrb r3, [r3, #1172] @ zero_extendqisi2
- mov fp, r0
- mov r0, r9
- str r3, [sp, #48]
- bl nandc_bch_sel
-.L2492:
- str r7, [sp]
- mov r0, #0
- mov r1, fp
- mov r2, r6
- add r3, sp, #56
- bl flash_read_page
- cmn r0, #1
- mov r8, r0
- bne .L2499
- ldrb ip, [r4, #1168] @ zero_extendqisi2
- cmp ip, #0
- bne .L2494
-.L2497:
- ldr r3, .L2519+8
- ldr ip, [r3, #-108]
- cmp ip, #0
- bne .L2495
- b .L2496
-.L2494:
- mov r0, #0
- str r7, [sp]
- mov r1, fp
- mov r2, r6
- add r3, sp, #56
- str ip, [sp, #52]
- strb r0, [r4, #1168]
- bl flash_read_page
- ldr ip, [sp, #52]
- cmn r0, #1
- strb ip, [r4, #1168]
- beq .L2497
- b .L2517
-.L2495:
- str r7, [sp]
- mov r0, #0
- mov r1, fp
- mov r2, r6
- add r3, sp, #56
- blx ip
- cmn r0, #1
- bne .L2517
-.L2496:
- ldrb r3, [r4, #1135] @ zero_extendqisi2
- cmp r3, #0
- beq .L2499
- str r7, [sp]
- mov r0, #0
- mov r1, fp
- mov r2, r6
- add r3, sp, #56
- bl flash_ddr_tuning_read
-.L2517:
- mov r8, r0
-.L2499:
- subs r9, r9, #16
- movne r9, #1
- cmn r8, #1
- movne r9, #0
- cmp r9, #0
- beq .L2500
- mov r0, #16
- mov r9, #16
- bl nandc_bch_sel
- b .L2492
-.L2500:
- ldr r0, [sp, #48]
- bl nandc_bch_sel
- cmn r8, #1
- mvneq r10, #0
- ldr r3, [sp, #32]
- ldr r2, [sp, #40]
- cmp r5, #0
- cmpeq r3, r2
- moveq r3, #1
- movne r3, #0
- cmp r10, #0
- movne r3, #0
- andeq r3, r3, #1
- cmp r3, #0
- beq .L2502
- ldr r3, [r6]
- ldr r2, .L2519+12
- cmp r3, r2
- 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 .L2503
-.L2502:
- ldr r3, [sp, #20]
- mov r2, r5
- ldr r0, .L2519+16
- ldr r1, [sp, #36]
- add r6, r6, r3, asl #9
- ldr r3, [sp, #60]
- str r3, [sp]
- ldr r3, [sp, #56]
- bl printk
- mov r3, #0
- str r3, [sp, #16]
-.L2503:
- ldr r3, [sp, #20]
- add r5, r3, r5
- uxth r5, r5
- 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}
-.L2520:
- .align 2
-.L2519:
- .word .LANCHOR2
- .word .LANCHOR0
- .word .LANCHOR3
- .word 1179535694
- .word .LC168
- .fnend
- .size id_block_read_data.constprop.31, .-id_block_read_data.constprop.31
- .text
.align 2
.global flash_prog_page
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_prog_page, %function
flash_prog_page:
.fnstart
@ args = 4, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
mov fp, r3
- ldr r7, .L2533
- mov r4, r0
+ ldr r6, .L2494
.pad #20
sub sp, sp, #20
- mvn r5, #0
- mov r8, r1
- mov r10, r2
- ldrb r3, [r7, #1189] @ zero_extendqisi2
- add r9, r0, #8
- ldr r6, [r7, #1040]
+ mov r4, r0
+ mov r7, r1
+ str r2, [sp, #12]
+ mvn r2, #0
+ ldrb r3, [r6, #1153] @ zero_extendqisi2
+ add r8, r0, #8
+ ldr r5, [r6, #1044]
rsb r3, r3, #24
- bic r5, r1, r5, asl r3
+ bic r10, r1, r2, lsl r3
+ add r8, r5, r8, lsl #8
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
- tst r8, #50331648
+ tst r7, #50331648
mov r0, r4
- bne .L2522
+ bne .L2483
bl zftl_flash_enter_slc_mode
- b .L2523
-.L2522:
- bl zftl_flash_exit_slc_mode
-.L2523:
- mov ip, r4, asl #8
- mov r2, #128
- add r3, r6, ip
- mov r0, r5
- str ip, [sp, #12]
- str r2, [r3, #2056]
- mov r2, #0
- str r2, [r3, #2052]
- str r2, [r3, #2052]
- uxtb r2, r5
- str r2, [r3, #2052]
- mov r2, r5, lsr #8
- str r2, [r3, #2052]
- mov r2, r5, lsr #16
- str r2, [r3, #2052]
- ldrb r2, [r7, #1188] @ zero_extendqisi2
- cmp r2, #0
- movne r2, r5, lsr #24
- strne r2, [r3, #2052]
+.L2484:
+ lsl r9, r4, #8
+ mov r1, #128
+ mov r0, r10
+ add r2, r5, r9
+ add r5, r5, r9
+ str r1, [r2, #2056]
+ mov r1, #0
+ str r1, [r2, #2052]
+ str r1, [r2, #2052]
+ uxtb r1, r10
+ str r1, [r2, #2052]
+ lsr r1, r10, #8
+ str r1, [r2, #2052]
+ lsr r1, r10, #16
+ str r1, [r2, #2052]
+ ldrb r1, [r6, #1152] @ zero_extendqisi2
+ cmp r1, #0
+ lsrne r1, r10, #24
+ strne r1, [r2, #2052]
bl nandc_set_seed
- ldr r3, .L2533+4
+ ldr r3, .L2494+4
mov r1, #1
mov r0, r4
ldrb r2, [r3, #13] @ zero_extendqisi2
- mov r3, r10
+ ldr r3, [sp, #12]
str fp, [sp]
bl nandc_xfer
mov r3, #16
- ldr ip, [sp, #12]
- add ip, r6, ip
- str r3, [ip, #2056]
+ str r3, [r5, #2056]
bl nandc_iqr_wait_flash_ready
bl nandc_wait_flash_ready
- mov r0, r9
+ mov r0, r8
bl flash_read_status
- mov r5, r0
- mov r0, r4
- bl nandc_de_cs
- ands r2, r5, #4
- beq .L2525
- ldr r0, .L2533+8
- mov r1, r8
+ bl nandc_de_cs.constprop.35
+ ands r0, r0, #4
+ beq .L2482
+ mov r2, r0
+ mov r1, r7
+ ldr r0, .L2494+8
bl printk
- mvn r2, #0
-.L2525:
- mov r0, r2
+ mvn r0, #0
+.L2482:
add sp, sp, #20
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L2534:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2483:
+ bl zftl_flash_exit_slc_mode
+ b .L2484
+.L2495:
.align 2
-.L2533:
+.L2494:
.word .LANCHOR0
.word .LANCHOR2
- .word .LC169
+ .word .LC168
.fnend
.size flash_prog_page, .-flash_prog_page
.align 2
.global flash_test_blk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_test_blk, %function
flash_test_blk:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, lr}
+ push {r0, r1, r2, r4, r5, r6, r7, lr}
.save {r4, r5, r6, r7, lr}
.pad #12
mov r6, r0
- ldr r4, .L2546
+ ldr r4, .L2507
mov r5, r1
mov r2, #32
mov r1, #165
- ldr r0, [r4, #-128]
- bl ftl_memset
- mov r1, #90
- mov r2, #8
ldr r0, [r4, #-120]
bl ftl_memset
- ldr r3, .L2546+4
+ mov r2, #8
+ mov r1, #90
+ ldr r0, [r4, #-112]
+ bl ftl_memset
+ ldr r3, .L2507+4
mov r0, r6
ldrh r3, [r3, #2]
- mul r5, r3, r5
+ mul r5, r5, r3
mov r1, r5
bl flash_erase_block
cmn r0, #1
- bne .L2536
-.L2538:
+ bne .L2497
+.L2499:
mvn r4, #0
- b .L2537
-.L2536:
- ldr r7, .L2546+8
- mov r0, r6
+.L2498:
mov r1, r5
- ldrb r3, [r7, #13] @ zero_extendqisi2
- str r3, [sp]
- ldr r2, [r4, #-128]
- ldr r3, [r4, #-120]
- bl flash_prog_page
- cmn r0, #1
- beq .L2538
- ldrb r3, [r7, #13] @ zero_extendqisi2
mov r0, r6
- mov r1, r5
- str r3, [sp]
- ldr r2, [r4, #-128]
- ldr r3, [r4, #-120]
- bl flash_read_page_en
- cmn r0, #1
- beq .L2538
- ldr r3, [r4, #-128]
- ldr r2, [r3]
- ldr r3, .L2546+12
- cmp r2, r3
- bne .L2538
- ldr r3, [r4, #-120]
- ldr r4, .L2546+16
- ldr r3, [r3]
- subs r4, r3, r4
- mvnne r4, #0
-.L2537:
- mov r0, r6
- mov r1, r5
bl flash_erase_block
mov r0, r4
add sp, sp, #12
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, pc}
-.L2547:
+ pop {r4, r5, r6, r7, pc}
+.L2497:
+ ldr r7, .L2507+8
+ mov r1, r5
+ mov r0, r6
+ ldrb r3, [r7, #13] @ zero_extendqisi2
+ str r3, [sp]
+ ldr r3, [r4, #-112]
+ ldr r2, [r4, #-120]
+ bl flash_prog_page
+ cmn r0, #1
+ beq .L2499
+ ldrb r3, [r7, #13] @ zero_extendqisi2
+ mov r1, r5
+ mov r0, r6
+ str r3, [sp]
+ ldr r3, [r4, #-112]
+ ldr r2, [r4, #-120]
+ bl flash_read_page_en
+ cmn r0, #1
+ beq .L2499
+ ldr r3, [r4, #-120]
+ ldr r2, [r3]
+ ldr r3, .L2507+12
+ cmp r2, r3
+ bne .L2499
+ ldr r3, [r4, #-112]
+ ldr r4, [r3]
+ ldr r3, .L2507+16
+ subs r4, r4, r3
+ mvnne r4, #0
+ b .L2498
+.L2508:
.align 2
-.L2546:
+.L2507:
.word .LANCHOR3
.word .LANCHOR0
.word .LANCHOR2
@@ -14665,48 +14980,51 @@
.size flash_test_blk, .-flash_test_blk
.align 2
.global flash_start_one_pass_page_prog
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_start_one_pass_page_prog, %function
flash_start_one_pass_page_prog:
.fnstart
@ args = 12, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r4, r5, r6, r7, r8, r9, r10, lr}
+ push {r0, r1, r4, r5, r6, r7, r8, r9, r10, lr}
.save {r4, r5, r6, r7, r8, r9, r10, lr}
.pad #8
+ mov r9, r3
+ ldr r6, .L2519
mov r10, r0
- ldr r6, .L2558
+ lsl r7, r9, #8
mov r0, r3
ldr r5, [sp, #40]
- mov r9, r3
mov r8, r2
- mov r7, r9, asl #8
- ldr r4, [r6, #1040]
+ ldr r4, [r6, #1044]
bl nandc_cs
cmp r10, #0
- mov r0, r5
- add r2, r4, r7
+ mov r2, #128
addne r3, r4, r7
- add r4, r4, r7
+ mov r0, r5
strne r10, [r3, #2056]
- mov r3, #128
- str r3, [r2, #2056]
- mov r3, #0
- str r3, [r2, #2052]
- str r3, [r2, #2052]
- uxtb r3, r5
- str r3, [r2, #2052]
- mov r3, r5, lsr #8
- str r3, [r2, #2052]
- mov r3, r5, lsr #16
- str r3, [r2, #2052]
- ldrb r3, [r6, #1188] @ zero_extendqisi2
- cmp r3, #0
- movne r3, r5, lsr #24
- strne r3, [r2, #2052]
+ add r3, r4, r7
+ str r2, [r3, #2056]
+ mov r2, #0
+ str r2, [r3, #2052]
+ add r4, r4, r7
+ str r2, [r3, #2052]
+ uxtb r2, r5
+ str r2, [r3, #2052]
+ lsr r2, r5, #8
+ str r2, [r3, #2052]
+ lsr r2, r5, #16
+ str r2, [r3, #2052]
+ ldrb r2, [r6, #1152] @ zero_extendqisi2
+ cmp r2, #0
+ lsrne r2, r5, #24
+ strne r2, [r3, #2052]
bl nandc_set_seed
- ldr r3, .L2558+4
- mov r0, r9
+ ldr r3, .L2519+4
mov r1, #1
+ mov r0, r9
ldrb r2, [r3, #13] @ zero_extendqisi2
ldr r3, [sp, #48]
str r3, [sp]
@@ -14715,129 +15033,132 @@
str r8, [r4, #2056]
add sp, sp, #8
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
-.L2559:
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L2520:
.align 2
-.L2558:
+.L2519:
.word .LANCHOR0
.word .LANCHOR2
.fnend
.size flash_start_one_pass_page_prog, .-flash_start_one_pass_page_prog
.align 2
.global flash_dual_page_prog
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_dual_page_prog, %function
flash_dual_page_prog:
.fnstart
@ args = 12, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- mov r9, r3
- ldr r4, .L2573
- add r8, r0, #8
- ldr r6, .L2573+4
+ mov r10, r3
+ ldr r3, .L2534
+ mov r9, r2
+ add r2, r0, #8
.pad #20
sub sp, sp, #20
- mov r5, r0
+ ldr r6, .L2534+4
+ mov r4, r0
+ ldrb r5, [r3, #1153] @ zero_extendqisi2
mov r7, r1
- ldr r3, [r4, #1040]
- mov r10, r2
+ ldr r8, [r3, #1044]
ubfx fp, r1, #24, #2
- add r8, r3, r8, asl #8
- ldrb r3, [r4, #1189] @ zero_extendqisi2
- mvn r4, #0
- rsb r3, r3, #24
- bic r4, r1, r4, asl r3
+ rsb r3, r5, #24
+ mvn r5, #0
+ bic r5, r1, r5, lsl r3
ldr r3, [r6]
+ add r8, r8, r2, lsl #8
tst r3, #16
- beq .L2561
- ldr r0, .L2573+8
- mov r2, fp
+ beq .L2522
ldr r3, [sp, #64]
+ mov r2, fp
+ ldr r0, .L2534+8
bl printk
-.L2561:
+.L2522:
bl nandc_wait_flash_ready
- mov r0, r5
+ mov r0, r4
bl nandc_cs
cmp fp, #0
- mov r0, r5
- bne .L2562
+ mov r0, r4
+ bne .L2523
bl zftl_flash_enter_slc_mode
- b .L2563
-.L2562:
- bl zftl_flash_exit_slc_mode
-.L2563:
- mov r0, #0
+.L2524:
+ mov r1, #0
+ mov r3, r4
mov r2, #16
- mov r1, r0
- mov r3, r5
- stmia sp, {r4, r10}
- add r4, r4, #1
- str r9, [sp, #8]
+ mov r0, r1
+ stm sp, {r5, r9, r10}
+ add r5, r5, #1
bl flash_start_one_pass_page_prog
bl nandc_wait_flash_ready
- mov r0, #0
- mov r2, #16
- mov r1, r0
- ldr r3, [sp, #56]
- str r4, [sp]
- str r3, [sp, #4]
ldr r3, [sp, #60]
+ mov r1, #0
+ mov r2, #16
+ mov r0, r1
+ str r5, [sp]
str r3, [sp, #8]
- mov r3, r5
+ ldr r3, [sp, #56]
+ str r3, [sp, #4]
+ mov r3, r4
bl flash_start_one_pass_page_prog
bl nandc_wait_flash_ready
mov r0, r8
bl flash_read_status
- mov r4, r0
- mov r0, r5
- bl nandc_de_cs
- ands r2, r4, #4
- beq .L2564
+ bl nandc_de_cs.constprop.35
+ ands r0, r0, #4
+ beq .L2521
ldr r3, [r6]
tst r3, #4096
- beq .L2565
- ldr r0, .L2573+12
+ beq .L2526
+ mov r2, r0
mov r1, r7
+ ldr r0, .L2534+12
bl printk
-.L2565:
- mvn r2, #0
-.L2564:
- mov r0, r2
+.L2526:
+ mvn r0, #0
+.L2521:
add sp, sp, #20
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L2574:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2523:
+ bl zftl_flash_exit_slc_mode
+ b .L2524
+.L2535:
.align 2
-.L2573:
+.L2534:
.word .LANCHOR0
.word .LANCHOR2
- .word .LC170
.word .LC169
+ .word .LC168
.fnend
.size flash_dual_page_prog, .-flash_dual_page_prog
.align 2
.global ymtc_flash_tlc_page_prog
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ymtc_flash_tlc_page_prog, %function
ymtc_flash_tlc_page_prog:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, lr}
+ push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, lr}
.save {r4, r5, r6, r7, r8, r9, r10, lr}
.pad #16
- mov r8, r3
- ldr r4, .L2582
+ mov r10, r3
+ ldr r3, .L2543
mov r6, #1
- add r7, r0, #8
mov r5, r0
- mov r9, r2
- mov r10, r1
- ldr r3, [r4, #1040]
- ldrb r4, [r4, #1189] @ zero_extendqisi2
- add r7, r3, r7, asl #8
+ mov r8, r2
+ add r2, r0, #8
+ mov r9, r1
+ ldrb r4, [r3, #1153] @ zero_extendqisi2
+ ldr r7, [r3, #1044]
rsb r4, r4, #24
- mov r4, r6, asl r4
+ lsl r4, r6, r4
+ add r7, r7, r2, lsl #8
sub r4, r4, #1
and r4, r4, r1
bl nandc_wait_flash_ready
@@ -14845,179 +15166,180 @@
bl nandc_cs
mov r0, r5
bl zftl_flash_exit_slc_mode
- mov r1, r6
- mov r2, #26
mov r3, r5
+ mov r2, #26
+ mov r1, r6
+ stm sp, {r4, r8, r10}
mov r0, #0
- stmia sp, {r4, r9}
- str r8, [sp, #8]
bl flash_start_one_pass_page_prog
bl nandc_wait_flash_ready
add r3, r4, r6
- mov r1, r6
mov r2, #26
+ mov r1, r6
+ str r3, [sp]
mov r0, #0
- add r4, r4, #2
- stmia sp, {r3, r9}
mov r3, r5
- str r8, [sp, #8]
+ stmib sp, {r8, r10}
+ add r4, r4, #2
bl flash_start_one_pass_page_prog
bl nandc_wait_flash_ready
+ mov r3, r5
mov r2, #16
mov r1, r6
- mov r3, r5
mov r0, #0
- stmia sp, {r4, r9}
- str r8, [sp, #8]
+ stmib sp, {r8, r10}
+ str r4, [sp]
bl flash_start_one_pass_page_prog
bl nandc_iqr_wait_flash_ready
bl nandc_wait_flash_ready
mov r0, r7
bl flash_read_status
- mov r4, r0
- mov r0, r5
- bl nandc_de_cs
- ands r2, r4, #4
- beq .L2576
- ldr r3, .L2582+4
+ bl nandc_de_cs.constprop.35
+ ands r0, r0, #4
+ beq .L2536
+ ldr r3, .L2543+4
ldr r3, [r3]
tst r3, #4096
- beq .L2577
- ldr r0, .L2582+8
- mov r1, r10
+ beq .L2538
+ mov r2, r0
+ mov r1, r9
+ ldr r0, .L2543+8
bl printk
-.L2577:
- mvn r2, #0
-.L2576:
- mov r0, r2
+.L2538:
+ mvn r0, #0
+.L2536:
add sp, sp, #16
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
-.L2583:
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L2544:
.align 2
-.L2582:
+.L2543:
.word .LANCHOR0
.word .LANCHOR2
- .word .LC171
+ .word .LC170
.fnend
.size ymtc_flash_tlc_page_prog, .-ymtc_flash_tlc_page_prog
.section .text.unlikely
.align 2
- .type fw_flash_page_prog.constprop.30, %function
-fw_flash_page_prog.constprop.30:
+ .syntax unified
+ .arm
+ .fpu softvfp
+ .type fw_flash_page_prog.constprop.29, %function
+fw_flash_page_prog.constprop.29:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, lr}
+ push {r4, r5, r6, r7, r8, r9, lr}
.save {r4, r5, r6, r7, r8, r9, lr}
mov r6, r1
- ldr r4, .L2590
+ ldr r4, .L2551
.pad #20
sub sp, sp, #20
- mov r5, r2
- ldr r3, [r4, #1096]
+ mov r7, r2
+ ldr r3, [r4, #1104]
ldrb r1, [r3, #9] @ zero_extendqisi2
bl __aeabi_uidiv
- ldrb r8, [r4, #1172] @ zero_extendqisi2
- mov r7, r0
- ldrb r0, [r4, #1100] @ zero_extendqisi2
+ mov r5, r0
+ ldrb r0, [r4, #1108] @ zero_extendqisi2
+ ldrb r8, [r4, #1193] @ zero_extendqisi2
bl nandc_bch_sel
- ldr r3, .L2590+4
+ ldr r3, .L2551+4
ldrb r2, [r3, #11] @ zero_extendqisi2
cmp r2, #9
- bne .L2585
- ldrb r4, [r4, #1102] @ zero_extendqisi2
+ bne .L2546
+ ldrb r4, [r4, #1110] @ zero_extendqisi2
cmp r4, #0
- bne .L2585
+ bne .L2546
ldrb r3, [r3, #16] @ zero_extendqisi2
cmp r3, #3
- bne .L2586
- mov r0, r4
- mov r1, r7
+ bne .L2547
+ mov r3, r7
mov r2, r6
- mov r3, r5
+ mov r1, r5
+ mov r0, r4
bl ymtc_flash_tlc_page_prog
- b .L2589
-.L2586:
- ldr r9, .L2590+8
- mov r1, #255
- mov r2, #16384
- ldr r0, [r9, #-128]
- bl ftl_memset
- ldr r3, [r9, #-128]
- mov r0, r4
- mov r1, r7
- mov r2, r6
- str r3, [sp]
- str r3, [sp, #4]
- mov r3, #4
- str r3, [sp, #8]
- mov r3, r5
- bl flash_dual_page_prog
- b .L2589
-.L2585:
- mov r3, #4
- mov r0, #0
- str r3, [sp]
- mov r1, r7
- mov r2, r6
- mov r3, r5
- bl flash_prog_page
-.L2589:
+.L2550:
mov r4, r0
mov r0, r8
bl nandc_bch_sel
mov r0, r4
add sp, sp, #20
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc}
-.L2591:
+ pop {r4, r5, r6, r7, r8, r9, pc}
+.L2547:
+ ldr r9, .L2551+8
+ mov r2, #16384
+ mov r1, #255
+ ldr r0, [r9, #-120]
+ bl ftl_memset
+ ldr r3, [r9, #-120]
+ mov r2, #4
+ str r2, [sp, #8]
+ mov r1, r5
+ mov r2, r6
+ mov r0, r4
+ str r3, [sp, #4]
+ str r3, [sp]
+ mov r3, r7
+ bl flash_dual_page_prog
+ b .L2550
+.L2546:
+ mov r3, #4
+ mov r2, r6
+ str r3, [sp]
+ mov r1, r5
+ mov r3, r7
+ mov r0, #0
+ bl flash_prog_page
+ b .L2550
+.L2552:
.align 2
-.L2590:
+.L2551:
.word .LANCHOR0
.word .LANCHOR2
.word .LANCHOR3
.fnend
- .size fw_flash_page_prog.constprop.30, .-fw_flash_page_prog.constprop.30
+ .size fw_flash_page_prog.constprop.29, .-fw_flash_page_prog.constprop.29
.text
.align 2
.global flash_start_tlc_page_prog
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_start_tlc_page_prog, %function
flash_start_tlc_page_prog:
.fnstart
@ args = 12, 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}
+ push {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 r4, r3
- ldr r3, .L2600
- mov r8, r2
+ mov r6, r3
+ ldr r4, .L2561
add r5, sp, #48
mov fp, r0
mov r7, r1
- ldrb r2, [r3, #1101] @ zero_extendqisi2
- mov r6, r3
- ldmia r5, {r5, r9, r10}
- cmp r2, r4
- bhi .L2593
- ldr r1, .L2600+4
+ mov r8, r2
+ ldm r5, {r5, r9, r10}
+ ldrb r3, [r4, #1109] @ zero_extendqisi2
+ cmp r3, r6
+ bhi .L2554
mov r2, #868
- ldr r0, .L2600+8
+ ldr r1, .L2561+4
+ ldr r0, .L2561+8
bl printk
bl dump_stack
-.L2593:
- ldrb r2, [r6, #1101] @ zero_extendqisi2
- ldr r3, .L2600
- cmp r2, r4
- bls .L2592
- add r4, r3, r4
- ldrb r6, [r4, #1180] @ zero_extendqisi2
- ldr r4, [r3, #1040]
+.L2554:
+ ldrb r3, [r4, #1109] @ zero_extendqisi2
+ cmp r3, r6
+ bls .L2553
+ add r6, r4, r6
+ ldr r4, [r4, #1044]
+ ldrb r6, [r6, #1144] @ zero_extendqisi2
mov r0, r6
bl nandc_cs
+ lsl r3, r6, #8
cmp fp, #0
- mov r3, r6, asl #8
addne r2, r4, r3
add r4, r4, r3
mov r3, #128
@@ -15029,153 +15351,116 @@
str r3, [r4, #2052]
uxtb r3, r5
str r3, [r4, #2052]
- mov r3, r5, lsr #8
+ lsr r3, r5, #8
str r3, [r4, #2052]
- mov r3, r5, lsr #16
- add r5, r5, r5, asl #1
+ lsr r3, r5, #16
+ add r5, r5, r5, lsl #1
str r3, [r4, #2052]
sub r0, r5, #1
add r0, r0, r7
bl nandc_set_seed
- ldr r3, .L2600+12
- mov r0, r6
+ ldr r3, .L2561+12
mov r1, #1
+ mov r0, r6
ldrb r2, [r3, #13] @ zero_extendqisi2
mov r3, r9
str r10, [sp]
bl nandc_xfer
str r8, [r4, #2056]
- mov r0, r6
add sp, sp, #12
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- b nandc_de_cs
-.L2592:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ b nandc_de_cs.constprop.35
+.L2553:
add sp, sp, #12
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L2601:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2562:
.align 2
-.L2600:
+.L2561:
.word .LANCHOR0
- .word .LANCHOR1+2080
+ .word .LANCHOR1+1901
.word .LC0
.word .LANCHOR2
.fnend
.size flash_start_tlc_page_prog, .-flash_start_tlc_page_prog
.align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
.type queue_tlc_prog_cmd, %function
queue_tlc_prog_cmd:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr}
+ push {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr}
.save {r4, r5, r6, r7, r8, lr}
.pad #16
- mov r8, #1
- ldr r2, .L2607
+ mov r8, r1
+ ldr r1, .L2568
+ mov r7, #1
mov r6, r0
- ldr r3, [r0]
- mov r7, r1
- ldrb r4, [r2, #1189] @ zero_extendqisi2
- ldr r0, [r3, #24]
- rsb r1, r4, #24
- ldrb r2, [r2, #1197] @ zero_extendqisi2
- mov r4, r8, asl r4
- mov r5, r8, asl r1
+ ldr r2, [r0]
+ ldrb r3, [r1, #1153] @ zero_extendqisi2
+ ldr ip, [r2, #24]
+ rsb r0, r3, #24
+ lsl r4, r7, r3
+ ldrb r3, [r1, #1159] @ zero_extendqisi2
+ lsl r5, r7, r0
sub r4, r4, #1
- cmp r2, #0
- and r4, r4, r0, lsr r1
+ and r4, r4, ip, lsr r0
+ cmp r3, #0
sub r5, r5, #1
- and r5, r5, r0
+ and r5, r5, ip
uxtb r4, r4
- beq .L2603
+ beq .L2564
mov r0, r4
bl zftl_flash_exit_slc_mode
ldr r3, [r6]
- mov r1, r8
+ mov r1, r7
mov r0, #0
- str r5, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
mov r2, #26
- ldr r3, [r3, #12]
- str r3, [sp, #8]
+ ldr r3, [r3, #4]
+ str r5, [sp]
+ str r3, [sp, #4]
mov r3, r4
bl flash_start_one_pass_page_prog
bl nandc_iqr_wait_flash_ready
bl nandc_wait_flash_ready
ldr r3, [r6, #4]
- add r2, r5, r8
- mov r1, r8
+ mov r1, r7
mov r0, #0
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
+ mov r2, #26
+ ldr r3, [r3, #4]
+ str r3, [sp, #4]
+ add r3, r5, r7
+ str r3, [sp]
+ mov r3, r4
+ bl flash_start_one_pass_page_prog
+ bl nandc_iqr_wait_flash_ready
+ bl nandc_wait_flash_ready
+ ldr r3, [r6, #8]
add r5, r5, #2
- str r2, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
- mov r2, #26
- ldr r3, [r3, #12]
- str r3, [sp, #8]
- mov r3, r4
- bl flash_start_one_pass_page_prog
- bl nandc_iqr_wait_flash_ready
- bl nandc_wait_flash_ready
- ldr r3, [r6, #8]
+ mov r1, r7
mov r0, #0
- mov r1, r8
- str r5, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
mov r2, #16
- ldr r3, [r3, #12]
- str r3, [sp, #8]
+ ldr r3, [r3, #4]
+ str r5, [sp]
+ str r3, [sp, #4]
mov r3, r4
bl flash_start_one_pass_page_prog
- b .L2604
-.L2603:
- ldrb r0, [r3, #44] @ zero_extendqisi2
- mov r1, r8
- str r5, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
- mov r2, #26
- ldr r3, [r3, #12]
- str r3, [sp, #8]
- mov r3, r4
- bl flash_start_tlc_page_prog
- bl nandc_iqr_wait_flash_ready
- bl nandc_wait_flash_ready
- ldmia r6, {r2, r3}
- mov r1, #2
- ldrb r0, [r2, #44] @ zero_extendqisi2
- str r5, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
- mov r2, #26
- ldr r3, [r3, #12]
- str r3, [sp, #8]
- mov r3, r4
- bl flash_start_tlc_page_prog
- bl nandc_iqr_wait_flash_ready
- bl nandc_wait_flash_ready
- ldr r3, [r6, #8]
- ldr r2, [r6]
- mov r1, #3
- ldrb r0, [r2, #44] @ zero_extendqisi2
- str r5, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
- mov r2, #16
- ldr r3, [r3, #12]
- str r3, [sp, #8]
- mov r3, r4
- bl flash_start_tlc_page_prog
-.L2604:
- cmp r7, #0
- beq .L2602
+.L2565:
+ cmp r8, #0
+ beq .L2563
ldr r1, [r6]
mov r3, #4
- ldr r0, .L2607+4
+ ldr r0, .L2568+4
strb r3, [r1, #42]
mov r3, #1
strb r3, [r1, #43]
@@ -15183,242 +15468,288 @@
strb r3, [r1]
add sp, sp, #16
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, lr}
+ pop {r4, r5, r6, r7, r8, lr}
b buf_add_tail
-.L2602:
+.L2564:
+ ldr r3, [r2, #12]
+ mov r1, r7
+ ldrb r0, [r2, #44] @ zero_extendqisi2
+ str r3, [sp, #8]
+ ldr r3, [r2, #4]
+ mov r2, #26
+ str r5, [sp]
+ str r3, [sp, #4]
+ mov r3, r4
+ bl flash_start_tlc_page_prog
+ bl nandc_iqr_wait_flash_ready
+ bl nandc_wait_flash_ready
+ ldm r6, {r2, r3}
+ mov r1, #2
+ ldrb r0, [r2, #44] @ zero_extendqisi2
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
+ mov r2, #26
+ ldr r3, [r3, #4]
+ str r5, [sp]
+ str r3, [sp, #4]
+ mov r3, r4
+ bl flash_start_tlc_page_prog
+ bl nandc_iqr_wait_flash_ready
+ bl nandc_wait_flash_ready
+ ldr r3, [r6, #8]
+ mov r1, #3
+ ldr r2, [r6]
+ ldrb r0, [r2, #44] @ zero_extendqisi2
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
+ mov r2, #16
+ ldr r3, [r3, #4]
+ str r5, [sp]
+ str r3, [sp, #4]
+ mov r3, r4
+ bl flash_start_tlc_page_prog
+ b .L2565
+.L2563:
add sp, sp, #16
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, pc}
-.L2608:
+ pop {r4, r5, r6, r7, r8, pc}
+.L2569:
.align 2
-.L2607:
+.L2568:
.word .LANCHOR0
- .word .LANCHOR0+2775
+ .word .LANCHOR0+2770
.fnend
.size queue_tlc_prog_cmd, .-queue_tlc_prog_cmd
.align 2
.global sblk_3d_tlc_dump_prog
+ .syntax unified
+ .arm
+ .fpu softvfp
.type sblk_3d_tlc_dump_prog, %function
sblk_3d_tlc_dump_prog:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr}
+ push {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr}
.save {r4, r5, r6, r7, r8, lr}
.pad #16
mov r7, #1
- ldr r3, .L2613
+ ldr r2, .L2574
mov r5, r0
- ldr r1, [r0, #24]
- ldrb r4, [r3, #1189] @ zero_extendqisi2
- ldrb r8, [r3, #1197] @ zero_extendqisi2
- rsb r2, r4, #24
- mov r4, r7, asl r4
+ ldr r0, [r0, #24]
+ ldrb r3, [r2, #1153] @ zero_extendqisi2
+ ldrb r8, [r2, #1159] @ zero_extendqisi2
+ rsb r1, r3, #24
+ lsl r4, r7, r3
+ lsl r6, r7, r1
sub r4, r4, #1
- mov r6, r7, asl r2
- and r4, r4, r1, lsr r2
cmp r8, #0
+ and r4, r4, r0, lsr r1
sub r6, r6, #1
- and r6, r6, r1
+ and r6, r6, r0
uxtb r4, r4
- beq .L2610
+ beq .L2571
mov r0, r4
bl zftl_flash_exit_slc_mode
- ldr r3, [r5, #4]
- mov r1, r7
- mov r2, #26
- mov r0, #0
- str r3, [sp, #4]
ldr r3, [r5, #12]
+ mov r2, #26
+ mov r1, r7
+ mov r0, #0
str r6, [sp]
str r3, [sp, #8]
+ ldr r3, [r5, #4]
+ str r3, [sp, #4]
mov r3, r4
bl flash_start_one_pass_page_prog
bl nandc_iqr_wait_flash_ready
bl nandc_wait_flash_ready
+ ldr r3, [r5, #12]
+ mov r2, #26
+ mov r1, r7
+ mov r0, #0
+ str r3, [sp, #8]
+ ldr r3, [r5, #4]
+ str r3, [sp, #4]
add r3, r6, r7
- mov r1, r7
- mov r2, #26
- mov r0, #0
- add r6, r6, #2
str r3, [sp]
- ldr r3, [r5, #4]
- str r3, [sp, #4]
- ldr r3, [r5, #12]
- str r3, [sp, #8]
mov r3, r4
bl flash_start_one_pass_page_prog
bl nandc_iqr_wait_flash_ready
bl nandc_wait_flash_ready
- ldr r3, [r5, #4]
+ ldr r3, [r5, #12]
+ add r6, r6, #2
+ str r6, [sp]
+ mov r2, #16
+ mov r1, r7
mov r0, #0
- mov r1, r7
- mov r2, #16
- str r3, [sp, #4]
- ldr r3, [r5, #12]
- str r6, [sp]
str r3, [sp, #8]
+ ldr r3, [r5, #4]
+ str r3, [sp, #4]
mov r3, r4
bl flash_start_one_pass_page_prog
- b .L2611
-.L2610:
- str r6, [sp]
- mov r1, r7
- ldr r3, [r0, #4]
- mov r2, #26
- str r3, [sp, #4]
- ldr r3, [r0, #12]
- mov r0, r8
- str r3, [sp, #8]
- mov r3, r4
- bl flash_start_tlc_page_prog
+.L2572:
bl nandc_iqr_wait_flash_ready
bl nandc_wait_flash_ready
- ldr r3, [r5, #4]
- mov r1, #2
- mov r2, #26
- mov r0, r8
- str r3, [sp, #4]
- ldr r3, [r5, #12]
- str r6, [sp]
- str r3, [sp, #8]
- mov r3, r4
- bl flash_start_tlc_page_prog
- bl nandc_iqr_wait_flash_ready
- bl nandc_wait_flash_ready
- ldr r3, [r5, #4]
- mov r0, r8
- mov r1, #3
- mov r2, #16
- str r3, [sp, #4]
- ldr r3, [r5, #12]
- str r6, [sp]
- str r3, [sp, #8]
- mov r3, r4
- bl flash_start_tlc_page_prog
-.L2611:
- bl nandc_iqr_wait_flash_ready
- bl nandc_wait_flash_ready
- ldr r0, [r5, #24]
mov r1, #64
+ ldr r0, [r5, #24]
add sp, sp, #16
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, lr}
+ pop {r4, r5, r6, r7, r8, lr}
b flash_wait_device_ready
-.L2614:
+.L2571:
+ ldr r3, [r5, #12]
+ mov r1, r7
+ mov r2, #26
+ mov r0, r8
+ str r6, [sp]
+ str r3, [sp, #8]
+ ldr r3, [r5, #4]
+ str r3, [sp, #4]
+ mov r3, r4
+ bl flash_start_tlc_page_prog
+ bl nandc_iqr_wait_flash_ready
+ bl nandc_wait_flash_ready
+ ldr r3, [r5, #12]
+ mov r2, #26
+ mov r1, #2
+ mov r0, r8
+ str r6, [sp]
+ str r3, [sp, #8]
+ ldr r3, [r5, #4]
+ str r3, [sp, #4]
+ mov r3, r4
+ bl flash_start_tlc_page_prog
+ bl nandc_iqr_wait_flash_ready
+ bl nandc_wait_flash_ready
+ ldr r3, [r5, #12]
+ mov r2, #16
+ str r6, [sp]
+ mov r1, #3
+ mov r0, r8
+ str r3, [sp, #8]
+ ldr r3, [r5, #4]
+ str r3, [sp, #4]
+ mov r3, r4
+ bl flash_start_tlc_page_prog
+ b .L2572
+.L2575:
.align 2
-.L2613:
+.L2574:
.word .LANCHOR0
.fnend
.size sblk_3d_tlc_dump_prog, .-sblk_3d_tlc_dump_prog
.align 2
.global flash_start_3d_mlc_page_prog
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_start_3d_mlc_page_prog, %function
flash_start_3d_mlc_page_prog:
.fnstart
@ args = 4, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r4, r5, r6, r7, r8, lr}
+ push {r0, r1, r4, r5, r6, r7, r8, lr}
.save {r4, r5, r6, r7, r8, lr}
.pad #8
mov r8, r3
- ldr r3, .L2619
- mov r5, r2
+ ldr r4, .L2580
mov r7, r0
- mov r4, r1
- ldrb r2, [r3, #1101] @ zero_extendqisi2
- mov r6, r3
- cmp r2, r1
- bhi .L2616
- ldr r1, .L2619+4
+ mov r5, r1
+ mov r6, r2
+ ldrb r3, [r4, #1109] @ zero_extendqisi2
+ cmp r3, r1
+ bhi .L2577
movw r2, #903
- ldr r0, .L2619+8
+ ldr r1, .L2580+4
+ ldr r0, .L2580+8
bl printk
bl dump_stack
-.L2616:
- ldrb r2, [r6, #1101] @ zero_extendqisi2
- ldr r3, .L2619
- cmp r2, r4
- bls .L2615
- add r4, r3, r4
- ldrb r6, [r4, #1180] @ zero_extendqisi2
- ldr r4, [r3, #1040]
- add r4, r4, r6, asl #8
- mov r0, r6
+.L2577:
+ ldrb r3, [r4, #1109] @ zero_extendqisi2
+ cmp r3, r5
+ bls .L2576
+ add r5, r4, r5
+ ldr r4, [r4, #1044]
+ ldrb r5, [r5, #1144] @ zero_extendqisi2
+ mov r0, r5
+ add r4, r4, r5, lsl #8
bl nandc_cs
mov r3, #128
- mov r0, r5
+ mov r0, r6
str r3, [r4, #2056]
mov r3, #0
str r3, [r4, #2052]
str r3, [r4, #2052]
- uxtb r3, r5
+ uxtb r3, r6
str r3, [r4, #2052]
- mov r3, r5, lsr #8
+ lsr r3, r6, #8
str r3, [r4, #2052]
- mov r3, r5, lsr #16
+ lsr r3, r6, #16
str r3, [r4, #2052]
bl nandc_set_seed
- ldr r3, .L2619+12
- mov r0, r6
+ ldr r3, .L2580+12
mov r1, #1
+ mov r0, r5
ldrb r2, [r3, #13] @ zero_extendqisi2
ldr r3, [sp, #32]
str r3, [sp]
mov r3, r8
bl nandc_xfer
str r7, [r4, #2056]
-.L2615:
+.L2576:
add sp, sp, #8
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, pc}
-.L2620:
+ pop {r4, r5, r6, r7, r8, pc}
+.L2581:
.align 2
-.L2619:
+.L2580:
.word .LANCHOR0
- .word .LANCHOR1+2108
+ .word .LANCHOR1+1927
.word .LC0
.word .LANCHOR2
.fnend
.size flash_start_3d_mlc_page_prog, .-flash_start_3d_mlc_page_prog
.align 2
.global sblk_mlc_dump_prog
+ .syntax unified
+ .arm
+ .fpu softvfp
.type sblk_mlc_dump_prog, %function
sblk_mlc_dump_prog:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- ldr r3, .L2627
- stmfd sp!, {r0, r1, r4, r5, r6, lr}
+ ldr r3, .L2588
+ push {r0, r1, r4, r5, r6, lr}
.save {r4, r5, r6, lr}
.pad #8
- mov r4, #1
- ldrb r1, [r3, #1189] @ zero_extendqisi2
mov r5, r0
- ldr r2, [r0, #24]
- rsb r3, r1, #24
- mov r6, r4, asl r3
- mov r4, r4, asl r1
+ ldr r1, [r0, #24]
+ ldrb r4, [r3, #1153] @ zero_extendqisi2
+ mov r3, #1
+ rsb r2, r4, #24
+ lsl r4, r3, r4
+ lsl r6, r3, r2
sub r4, r4, #1
sub r6, r6, #1
- and r4, r4, r2, lsr r3
- and r6, r6, r2
+ and r4, r4, r1, lsr r2
+ and r6, r6, r1
uxtb r4, r4
mov r0, r4
bl zftl_flash_exit_slc_mode
- ldr r3, .L2627+4
+ ldr r3, .L2588+4
ldr r3, [r3]
tst r3, #4096
- beq .L2622
+ beq .L2583
ldr r2, [r5, #24]
mov r1, r6
- ldr r0, .L2627+8
+ ldr r0, .L2588+8
add r3, r2, #1
bl printk
-.L2622:
+.L2583:
ldr r3, [r5, #12]
- mov r1, r4
mov r2, r6
+ mov r1, r4
mov r0, #16
str r3, [sp]
ldr r3, [r5, #4]
@@ -15437,100 +15768,87 @@
mov r1, #64
ldr r0, [r5, #24]
bl flash_wait_device_ready
- mov r5, r0
- mov r0, r4
- bl nandc_de_cs
- mov r0, r5
+ bl nandc_de_cs.constprop.35
add sp, sp, #8
@ sp needed
- ldmfd sp!, {r4, r5, r6, pc}
-.L2628:
+ pop {r4, r5, r6, pc}
+.L2589:
.align 2
-.L2627:
+.L2588:
.word .LANCHOR0
.word .LANCHOR2
- .word .LC172
+ .word .LC171
.fnend
.size sblk_mlc_dump_prog, .-sblk_mlc_dump_prog
.align 2
.global flash_start_page_prog
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_start_page_prog, %function
flash_start_page_prog:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- mov fp, r3
- ldr r6, .L2644
- mvn r3, #0
mov r10, r2
+ ldr r5, .L2605
+ mov fp, r3
+ mov r8, r1
.pad #20
sub sp, sp, #20
- mov r8, r1
- ldrb r4, [r6, #1189] @ zero_extendqisi2
- ldrb r2, [r6, #1101] @ zero_extendqisi2
- rsb r7, r4, #24
- str r0, [sp, #8]
- mvn r4, r3, asl r4
- and r5, r4, r1, lsr r7
- uxtb r9, r5
+ str r0, [sp, #12]
+ ldrb r2, [r5, #1153] @ zero_extendqisi2
+ rsb r4, r2, #24
+ lsr r3, r1, r4
+ mvn r1, #0
+ bic r3, r3, r1, lsl r2
+ ldrb r2, [r5, #1109] @ zero_extendqisi2
+ uxtb r9, r3
cmp r2, r9
- bhi .L2630
- ldr r1, .L2644+4
+ bhi .L2591
mov r2, #956
- ldr r0, .L2644+8
+ ldr r1, .L2605+4
+ ldr r0, .L2605+8
bl printk
bl dump_stack
-.L2630:
- ldrb r1, [r6, #1101] @ zero_extendqisi2
- ldr r2, .L2644
- cmp r1, r9
- bls .L2629
- add r1, r2, r9
- mvn r4, #0
- str r2, [sp, #12]
- bic r4, r8, r4, asl r7
- ldrb r5, [r1, #1180] @ zero_extendqisi2
- ldr r7, [r2, #1040]
+.L2591:
+ ldrb r2, [r5, #1109] @ zero_extendqisi2
+ cmp r2, r9
+ bls .L2590
+ mvn r2, #0
+ ldr r7, [r5, #1044]
+ bic r4, r8, r2, lsl r4
+ add r2, r5, r9
+ ldrb r6, [r2, #1144] @ zero_extendqisi2
bl nandc_rdy_status
cmp r0, #0
- ldr r2, [sp, #12]
- bne .L2632
- ldrb r2, [r2, #1101] @ zero_extendqisi2
+ bne .L2593
+ ldrb r2, [r5, #1109] @ zero_extendqisi2
cmp r2, #1
- bne .L2633
+ bne .L2594
bl nandc_wait_flash_ready
- b .L2632
-.L2633:
- mov r0, r9
- mov r1, r4
- mov r2, #64
- bl flash_wait_device_ready_raw
-.L2632:
- mov r0, r5
+.L2593:
+ mov r0, r6
bl hynix_reconfig_rr_para
- mov r0, r5
+ mov r0, r6
bl nandc_cs
tst r8, #50331648
- bne .L2634
+ bne .L2595
mov r0, r4
bl slc_phy_page_address_calc
- ldrb r3, [r6] @ zero_extendqisi2
- cmp r3, #0
+ ldrb r3, [r5] @ zero_extendqisi2
mov r4, r0
- beq .L2635
- mov r0, r5
+ cmp r3, #0
+ beq .L2596
+ mov r0, r6
bl zftl_flash_enter_slc_mode
- b .L2635
-.L2634:
- mov r0, r5
- bl zftl_flash_exit_slc_mode
-.L2635:
- mov r8, r5, asl #8
+.L2596:
+ lsl r8, r6, #8
mov r2, #128
- add r3, r7, r8
mov r0, r4
+ add r3, r7, r8
add r7, r7, r8
str r2, [r3, #2056]
mov r2, #0
@@ -15538,1909 +15856,1919 @@
str r2, [r3, #2052]
uxtb r2, r4
str r2, [r3, #2052]
- mov r2, r4, lsr #8
+ lsr r2, r4, #8
str r2, [r3, #2052]
- mov r2, r4, lsr #16
+ lsr r2, r4, #16
str r2, [r3, #2052]
- ldrb r2, [r6, #1188] @ zero_extendqisi2
+ ldrb r2, [r5, #1152] @ zero_extendqisi2
cmp r2, #0
- movne r2, r4, lsr #24
+ lsrne r2, r4, #24
strne r2, [r3, #2052]
bl nandc_set_seed
- ldr r3, .L2644+12
- mov r0, r5
+ ldr r3, .L2605+12
mov r1, #1
+ mov r0, r6
ldrb r2, [r3, #13] @ zero_extendqisi2
mov r3, r10
str fp, [sp]
bl nandc_xfer
- mov r0, r5
- ldr r3, [sp, #8]
+ ldr r3, [sp, #12]
str r3, [r7, #2056]
add sp, sp, #20
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- b nandc_de_cs
-.L2629:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ b nandc_de_cs.constprop.35
+.L2594:
+ mov r2, #64
+ mov r1, r4
+ mov r0, r9
+ bl flash_wait_device_ready_raw
+ b .L2593
+.L2595:
+ mov r0, r6
+ bl zftl_flash_exit_slc_mode
+ b .L2596
+.L2590:
add sp, sp, #20
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L2645:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2606:
.align 2
-.L2644:
+.L2605:
.word .LANCHOR0
- .word .LANCHOR1+2140
+ .word .LANCHOR1+1956
.word .LC0
.word .LANCHOR2
.fnend
.size flash_start_page_prog, .-flash_start_page_prog
.align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
.type queue_prog_cmd, %function
queue_prog_cmd:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, lr}
- .save {r4, r5, r6, lr}
+ push {r4, r5, r6, r7, r8, lr}
+ .save {r4, r5, r6, r7, r8, lr}
mov r4, r0
- ldr r2, [r4, #4]
+ ldr r3, [r0, #12]
+ ldr r2, [r0, #4]
+ ldr r1, [r0, #24]
mov r0, #16
- ldr r3, [r4, #12]
- ldr r1, [r4, #24]
bl flash_start_page_prog
- ldr r2, .L2655
+ ldr r2, .L2616
ldr r0, [r4, #24]
- ldrb r3, [r2, #2775] @ zero_extendqisi2
+ ldrb r3, [r2, #2770] @ zero_extendqisi2
cmp r3, #255
- beq .L2647
- ldrb ip, [r2, #1189] @ zero_extendqisi2
+ beq .L2608
+ ldrb ip, [r2, #1153] @ zero_extendqisi2
mvn r1, #0
mov r5, #48
- rsb r6, ip, #24
- mvn r1, r1, asl ip
+ movw r8, #1256
+ movw r6, #1274
+ rsb r7, ip, #24
+ mvn r1, r1, lsl ip
uxth r1, r1
- and r0, r1, r0, asr r6
-.L2649:
- mla lr, r5, r3, r2
- ldr ip, [lr, #1260]
- and ip, r1, ip, lsr r6
- cmp r0, ip
- 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 .L2647
-.L2648:
- mla r3, r5, r3, r2
- ldrb r3, [r3, #1236] @ zero_extendqisi2
- cmp r3, #255
- bne .L2649
-.L2647:
+ and r0, r1, r0, asr r7
+.L2610:
+ mla ip, r5, r3, r2
+ ldr lr, [ip, r8]
+ and lr, r1, lr, lsr r7
+ cmp r0, lr
+ bne .L2609
+ add lr, ip, r6
+ ldrb ip, [ip, r6] @ zero_extendqisi2
+ cmp ip, #7
+ bne .L2609
+ mov r3, #3
+ strb r3, [lr]
+.L2608:
mov r3, #3
mov r1, r4
strb r3, [r4, #42]
mov r3, #1
- ldr r0, .L2655+4
strb r3, [r4, #43]
mvn r3, #0
strb r3, [r4]
- ldmfd sp!, {r4, r5, r6, lr}
+ ldr r0, .L2616+4
+ pop {r4, r5, r6, r7, r8, lr}
b buf_add_tail
-.L2656:
+.L2609:
+ mla r3, r5, r3, r2
+ ldrb r3, [r3, #1232] @ zero_extendqisi2
+ cmp r3, #255
+ bne .L2610
+ b .L2608
+.L2617:
.align 2
-.L2655:
+.L2616:
.word .LANCHOR0
- .word .LANCHOR0+2775
+ .word .LANCHOR0+2770
.fnend
.size queue_prog_cmd, .-queue_prog_cmd
.align 2
.global flash_complete_plane_page_read
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_complete_plane_page_read, %function
flash_complete_plane_page_read:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r4, r5, r6, r7, r8, r9, r10, lr}
+ push {r0, r1, r4, r5, r6, r7, r8, r9, r10, lr}
.save {r4, r5, r6, r7, r8, r9, r10, lr}
.pad #8
- mvn r3, #0
- ldr r8, .L2687
- mov r10, r0
- mov r6, r1
- mov r7, r2
- ldrb r4, [r8, #1189] @ zero_extendqisi2
- rsb r9, r4, #24
- mvn r4, r3, asl r4
- and r4, r4, r0, lsr r9
- ldrb r3, [r8, #1101] @ zero_extendqisi2
- uxtb r5, r4
- cmp r3, r5
- bhi .L2658
- ldr r1, .L2687+4
+ mov r10, r2
+ ldr r5, .L2649
+ mvn r2, #0
+ mov r6, r0
+ mov r9, r1
+ ldrb r3, [r5, #1153] @ zero_extendqisi2
+ rsb r4, r3, #24
+ lsr r7, r0, r4
+ bic r7, r7, r2, lsl r3
+ ldrb r3, [r5, #1109] @ zero_extendqisi2
+ uxtb r7, r7
+ cmp r3, r7
+ bhi .L2619
movw r2, #1070
- ldr r0, .L2687+8
+ ldr r1, .L2649+4
+ ldr r0, .L2649+8
bl printk
bl dump_stack
-.L2658:
- ldrb r2, [r8, #1101] @ zero_extendqisi2
- ldr r3, .L2687
- cmp r2, r5
- mvnls r0, #0
- bls .L2659
- add r5, r3, r5
- mvn r4, #0
- bic r4, r10, r4, asl r9
- ubfx r10, r10, #24, #2
- ldrb r9, [r5, #1180] @ zero_extendqisi2
- ldr r5, [r3, #1040]
- mov r0, r9
+.L2619:
+ ldrb r3, [r5, #1109] @ zero_extendqisi2
+ mvn r0, #0
+ cmp r3, r7
+ bls .L2618
+ add r7, r5, r7
+ bic r4, r6, r0, lsl r4
+ ldrb r8, [r7, #1144] @ zero_extendqisi2
+ ubfx r6, r6, #24, #2
+ ldr r7, [r5, #1044]
+ mov r0, r8
bl nandc_cs
- cmp r10, #0
- bne .L2660
+ cmp r6, #0
+ bne .L2621
mov r0, r4
bl slc_phy_page_address_calc
mov r4, r0
-.L2660:
- ldrb r3, [r8, #1119] @ zero_extendqisi2
- uxtb ip, r4
- mov r0, r4, lsr #8
- ldrb r1, [r8, #1188] @ zero_extendqisi2
+.L2621:
+ ldrb r3, [r5, #1127] @ zero_extendqisi2
+ uxtb lr, r4
+ lsr ip, r4, #8
+ ldrb r0, [r5, #1152] @ zero_extendqisi2
cmp r3, #1
- mov r3, r9, asl #8
- addeq r2, r5, r3
- moveq lr, #6
- beq .L2686
- ldr r2, .L2687
- ldr r2, [r2, #1096]
+ lsl r3, r8, #8
+ moveq r1, #6
+ addeq r2, r7, r3
+ beq .L2648
+ ldr r2, [r5, #1104]
ldrb r2, [r2, #12] @ zero_extendqisi2
cmp r2, #3
- add r2, r5, r3
- bne .L2664
- mov lr, #5
-.L2686:
- add r3, r5, r3
- str lr, [r2, #2056]
- mov lr, #0
- cmp r1, lr
- str lr, [r2, #2052]
- movne r1, r4, lsr #24
- str lr, [r2, #2052]
- str ip, [r2, #2052]
- str r0, [r2, #2052]
- mov r0, r4, lsr #16
- str r0, [r2, #2052]
- strne r1, [r2, #2052]
- mov r2, #224
- str r2, [r3, #2056]
- b .L2663
-.L2664:
- add r5, r5, r3
- mov lr, #0
- cmp r1, lr
- str lr, [r2, #2056]
- mov r3, #5
- str lr, [r2, #2052]
- movne r1, r4, lsr #24
- str lr, [r2, #2052]
- str ip, [r2, #2052]
- str r0, [r2, #2052]
- mov r0, r4, lsr #16
- str r0, [r2, #2052]
- strne r1, [r2, #2052]
- str r3, [r5, #2056]
- mov r3, #0
- str r3, [r2, #2052]
- str r3, [r2, #2052]
- mov r3, #224
- str r3, [r5, #2056]
-.L2663:
- ldr r2, [r8, #1096]
- 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 .L2667
- ldrb r2, [r3, #1196] @ zero_extendqisi2
- cmp r2, #0
- 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 .L2683
-.L2667:
- mov r0, r4
-.L2683:
- bl nandc_set_seed
- ldr r3, .L2687+12
+ add r2, r7, r3
+ bne .L2625
+ mov r1, #5
+.L2648:
+ str r1, [r2, #2056]
mov r1, #0
- mov r0, r9
- ldrb r2, [r3, #13] @ zero_extendqisi2
- mov r3, r6
- str r7, [sp]
- bl nandc_xfer
- mov r4, r0
- mov r0, r9
- bl nandc_de_cs
+ str r1, [r2, #2052]
+ cmp r0, #0
+ str r1, [r2, #2052]
+ lsr r1, r4, #16
+ str lr, [r2, #2052]
+ add r3, r7, r3
+ str ip, [r2, #2052]
+ str r1, [r2, #2052]
+ lsrne r1, r4, #24
+ strne r1, [r2, #2052]
+.L2644:
+ mov r2, #224
+ cmp r6, #0
+ str r2, [r3, #2056]
+ ldr r3, [r5, #1104]
+ ldrb r3, [r3, #12] @ zero_extendqisi2
+ sub r3, r3, #3
+ clz r3, r3
+ lsr r3, r3, #5
+ moveq r3, #0
+ cmp r3, #0
+ beq .L2628
+ ldrb r3, [r5, #1158] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L2628
+ ldrb r3, [r5, #1159] @ zero_extendqisi2
+ cmp r3, #0
+ addeq r4, r4, r4, lsl #1
+ subeq r6, r6, #1
+ addeq r0, r4, r6
+ beq .L2645
+.L2628:
mov r0, r4
-.L2659:
+.L2645:
+ bl nandc_set_seed
+ ldr r3, .L2649+12
+ mov r1, #0
+ mov r0, r8
+ ldrb r2, [r3, #13] @ zero_extendqisi2
+ mov r3, r9
+ str r10, [sp]
+ bl nandc_xfer
+ bl nandc_de_cs.constprop.35
+.L2618:
add sp, sp, #8
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
-.L2688:
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L2625:
+ mov r1, #0
+ cmp r0, #0
+ str r1, [r2, #2056]
+ add r3, r7, r3
+ str r1, [r2, #2052]
+ str r1, [r2, #2052]
+ lsr r1, r4, #16
+ str lr, [r2, #2052]
+ str ip, [r2, #2052]
+ str r1, [r2, #2052]
+ lsrne r1, r4, #24
+ strne r1, [r2, #2052]
+ mov r1, #5
+ str r1, [r3, #2056]
+ mov r1, #0
+ str r1, [r2, #2052]
+ str r1, [r2, #2052]
+ b .L2644
+.L2650:
.align 2
-.L2687:
+.L2649:
.word .LANCHOR0
- .word .LANCHOR1+2164
+ .word .LANCHOR1+1978
.word .LC0
.word .LANCHOR2
.fnend
.size flash_complete_plane_page_read, .-flash_complete_plane_page_read
.align 2
.global flash_complete_page_read
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_complete_page_read, %function
flash_complete_page_read:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- mov r6, #1
- ldr r5, .L2724
+ mov r3, #1
+ ldr r4, .L2683
+ mov fp, r2
.pad #20
sub sp, sp, #20
- mov r9, r0
mov r10, r1
- mov fp, r2
- ldrb r7, [r5, #1189] @ zero_extendqisi2
- rsb r3, r7, #24
- mov r7, r6, asl r7
- sub r7, r7, #1
- mov r4, r6, asl r3
- and r7, r7, r0, lsr r3
- ldrb r3, [r5, #1101] @ zero_extendqisi2
- sub r4, r4, #1
+ str r0, [sp, #12]
ubfx r6, r0, #24, #2
+ ldrb r7, [r4, #1153] @ zero_extendqisi2
+ rsb r2, r7, #24
+ lsl r7, r3, r7
+ lsl r5, r3, r2
+ ldrb r3, [r4, #1109] @ zero_extendqisi2
+ sub r7, r7, #1
+ sub r5, r5, #1
+ and r7, r7, r0, lsr r2
+ and r5, r5, r0
uxtb r7, r7
- and r4, r4, r0
cmp r3, r7
- bhi .L2690
- ldr r1, .L2724+4
+ bhi .L2652
mov r2, #1232
- ldr r0, .L2724+8
+ ldr r1, .L2683+4
+ ldr r0, .L2683+8
bl printk
bl dump_stack
-.L2690:
- add r7, r5, r7
- ldr r3, [r5, #1040]
- ldrb r8, [r7, #1180] @ zero_extendqisi2
- str r3, [sp, #12]
- mov r0, r8
+.L2652:
+ add r7, r4, r7
+ ldrb r9, [r7, #1144] @ zero_extendqisi2
+ ldr r7, [r4, #1044]
+ mov r0, r9
bl nandc_cs
cmp r6, #0
- bne .L2691
- mov r0, r4
+ bne .L2653
+ mov r0, r5
bl slc_phy_page_address_calc
- mov r4, r0
-.L2691:
- ldr r7, .L2724+12
- ldrb r3, [r7, #16] @ zero_extendqisi2
+ mov r5, r0
+.L2653:
+ ldr r8, .L2683+12
+ ldrb r3, [r8, #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]
- ldr r3, .L2724
- ldrb r1, [r2, #12] @ zero_extendqisi2
- adds r2, r6, #0
- movne r2, #1
- cmp r1, #3
- movne r2, #0
- cmp r2, #0
- beq .L2693
- ldrb r2, [r3, #1196] @ zero_extendqisi2
- cmp r2, #0
- bne .L2693
- ldrb r3, [r3, #1197] @ zero_extendqisi2
+ bne .L2654
+ add r7, r7, r9, lsl #8
+ mov r3, #5
+ str r3, [r7, #2056]
+ mov r3, #0
+ str r3, [r7, #2052]
+ str r3, [r7, #2052]
+ uxtb r3, r5
+ str r3, [r7, #2052]
+ lsr r3, r5, #8
+ str r3, [r7, #2052]
+ lsr r3, r5, #16
+ str r3, [r7, #2052]
+ mov r3, #224
+ str r3, [r7, #2056]
+.L2654:
+ ldr r3, [r4, #1104]
+ cmp r6, #0
+ ldrb r3, [r3, #12] @ zero_extendqisi2
+ sub r3, r3, #3
+ clz r3, r3
+ lsr r3, r3, #5
+ moveq r3, #0
cmp r3, #0
+ beq .L2655
+ ldrb r3, [r4, #1158] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L2655
+ ldrb r3, [r4, #1159] @ zero_extendqisi2
+ cmp r3, #0
+ addeq r3, r5, r5, lsl #1
subeq r0, r6, #1
- addeq r3, r4, r4, asl #1
addeq r0, r0, r3
- beq .L2723
-.L2693:
- mov r0, r4
-.L2723:
+ beq .L2682
+.L2655:
+ mov r0, r5
+.L2682:
bl nandc_set_seed
- ldrb r2, [r7, #13] @ zero_extendqisi2
- mov r0, r8
- mov r1, #0
+ ldrb r2, [r8, #13] @ zero_extendqisi2
mov r3, r10
str fp, [sp]
+ mov r1, #0
+ mov r0, r9
bl nandc_xfer
cmn r0, #1
- bne .L2695
- ldrb ip, [r5, #1168] @ zero_extendqisi2
- cmp ip, #0
- beq .L2696
- ldr r2, .L2724
+ bne .L2657
+ ldrb r7, [r4, #1196] @ zero_extendqisi2
+ cmp r7, #0
+ beq .L2658
mov r3, #0
- mov r0, r8
- orr r1, r4, r6, asl #24
- str ip, [sp, #12]
- strb r3, [r2, #1168]
mov r2, r10
- ldr r3, .L2724+12
- ldrb r3, [r3, #13] @ zero_extendqisi2
+ strb r3, [r4, #1196]
+ orr r1, r5, r6, lsl #24
+ ldrb r3, [r8, #13] @ zero_extendqisi2
+ mov r0, r9
str r3, [sp]
mov r3, fp
bl flash_read_page
- ldr r3, .L2724
cmp r6, #0
- ldr ip, [sp, #12]
- strb ip, [r3, #1168]
- bne .L2697
-.L2704:
- ldrb r3, [r5] @ zero_extendqisi2
+ strb r7, [r4, #1196]
+ bne .L2659
+.L2664:
+ ldrb r3, [r4] @ zero_extendqisi2
cmp r3, #0
- beq .L2697
- ldr r3, .L2724
- ldrb r3, [r3, #1172] @ zero_extendqisi2
- add r3, r3, r3, asl #1
+ beq .L2659
+ ldrb r3, [r4, #1193] @ zero_extendqisi2
+ add r3, r3, r3, lsl #1
cmp r0, r3, asr #2
- blt .L2697
- ldrb r3, [r7, #23] @ zero_extendqisi2
+ blt .L2659
+ ldrb r3, [r8, #23] @ zero_extendqisi2
sub r3, r3, #4
cmp r3, #4
movls r0, #256
- b .L2711
-.L2697:
+.L2651:
+ add sp, sp, #20
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2659:
cmn r0, #1
- bne .L2711
-.L2705:
- ldr r3, .L2724+16
- ldr ip, [r3, #-108]
- cmp ip, #0
- bne .L2700
-.L2703:
- ldrb r3, [r5, #1168] @ zero_extendqisi2
+ bne .L2651
+.L2665:
+ ldr r3, .L2683+16
+ ldr r7, [r3, #-100]
+ cmp r7, #0
+ bne .L2661
+.L2663:
+ ldrb r3, [r4, #1196] @ zero_extendqisi2
mov r1, #0
- ldr r0, .L2724+20
- mov r2, r9
+ ldr r2, [sp, #12]
+ ldr r0, .L2683+20
str r3, [sp]
mvn r3, #0
bl printk
- ldrb r3, [r5, #1135] @ zero_extendqisi2
+ ldrb r3, [r4, #1143] @ zero_extendqisi2
cmp r3, #0
mvneq r0, #0
- beq .L2711
- ldrb r3, [r7, #13] @ zero_extendqisi2
- mov r0, r8
- orr r1, r4, r6, asl #24
+ beq .L2651
+ ldrb r3, [r8, #13] @ zero_extendqisi2
mov r2, r10
+ orr r1, r5, r6, lsl #24
+ mov r0, r9
str r3, [sp]
mov r3, fp
bl flash_ddr_tuning_read
- b .L2711
-.L2700:
- ldrb r3, [r7, #13] @ zero_extendqisi2
- mov r0, r8
- orr r1, r4, r6, asl #24
+ b .L2651
+.L2661:
+ ldrb r3, [r8, #13] @ zero_extendqisi2
mov r2, r10
+ orr r1, r5, r6, lsl #24
+ mov r0, r9
str r3, [sp]
mov r3, fp
- blx ip
+ blx r7
cmn r0, #1
- bne .L2711
- b .L2703
-.L2695:
+ bne .L2651
+ b .L2663
+.L2658:
cmp r6, #0
- beq .L2704
- b .L2711
-.L2696:
+ beq .L2664
+ b .L2665
+.L2657:
cmp r6, #0
- beq .L2704
- b .L2705
-.L2711:
- add sp, sp, #20
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L2725:
+ bne .L2651
+ b .L2664
+.L2684:
.align 2
-.L2724:
+.L2683:
.word .LANCHOR0
- .word .LANCHOR1+2196
+ .word .LANCHOR1+2009
.word .LC0
.word .LANCHOR2
.word .LANCHOR3
- .word .LC173
+ .word .LC172
.fnend
.size flash_complete_page_read, .-flash_complete_page_read
.align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
.type queue_wait_first_req_completed, %function
queue_wait_first_req_completed:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {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 r4, .L2816
- ldrb r5, [r4, #2775] @ zero_extendqisi2
+ ldr r4, .L2779
+ ldrb r5, [r4, #2770] @ 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]
+ bne .L2686
+.L2719:
+ mov r7, #0
+ b .L2685
+.L2686:
+ mov r8, #48
+ mla r2, r8, r5, r4
+ ldrb r3, [r2, #1274] @ zero_extendqisi2
+ ldr r7, [r2, #1256]
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
+ b .L2719
+.L2689:
+ .word .L2688
+ .word .L2690
+ .word .L2691
+ .word .L2691
+ .word .L2691
+ .word .L2691
+ .word .L2692
+ .word .L2693
+ .word .L2694
+ .word .L2691
+ .word .L2694
+.L2688:
+ mla r8, r8, r5, r4
bl nandc_wait_flash_ready
- ldr r3, [r7, #1244]
- ldr r1, [r7, #1240]
+ ldr r3, [r8, #1240]
+ ldr r1, [r8, #1236]
cmp r3, #0
- beq .L2736
- ldr r2, .L2816
- ldrb r0, [r7, #1276] @ zero_extendqisi2
- ldrb r2, [r2, #2772] @ zero_extendqisi2
+ beq .L2695
+ ldr r2, .L2779+4
+ ldrb r0, [r8, #1272] @ zero_extendqisi2
+ ldrb r2, [r2, #-2546] @ zero_extendqisi2
cmp r0, r2
moveq r1, r3
-.L2736:
+.L2695:
mov r3, #48
- mov r0, r6
- mla r5, r3, r5, r4
- ldr r2, [r5, #1248]
+ mov r0, r7
+ mla r4, r3, r5, r4
+ ldr r2, [r4, #1244]
bl flash_complete_page_read
+ str r0, [r4, #1268]
+.L2778:
mov r3, #13
- strb r3, [r5, #1278]
- ldrb r3, [r5, #1238] @ zero_extendqisi2
+ strb r3, [r4, #1274]
+ ldrb r3, [r4, #1234] @ zero_extendqisi2
orr r3, r3, #8
- strb r3, [r5, #1238]
- str r0, [r5, #1272]
- b .L2760
-.L2731:
+ strb r3, [r4, #1234]
+ b .L2719
+.L2690:
bl nandc_wait_flash_ready
- mla r3, r7, r5, r4
- ldrb r6, [r3, #1236] @ zero_extendqisi2
- ldr r2, [r3, #1244]
- ldr r10, [r3, #1240]
- mla r7, r7, r6, r4
+ mla r3, r8, r5, r4
+ ldrb r6, [r3, #1232] @ zero_extendqisi2
+ ldr r2, [r3, #1240]
+ ldr r9, [r3, #1236]
+ mla r8, r8, r6, r4
cmp r2, #0
- ldr r8, [r7, #1240]
- beq .L2737
- ldrb r1, [r3, #1276] @ zero_extendqisi2
- ldr r3, .L2816
- ldrb r3, [r3, #2772] @ zero_extendqisi2
+ ldr r10, [r8, #1236]
+ beq .L2696
+ ldrb r1, [r3, #1272] @ zero_extendqisi2
+ ldr r3, .L2779+4
+ ldrb r3, [r3, #-2546] @ zero_extendqisi2
+ cmp r1, r3
+ moveq r9, r2
+.L2696:
+ mov r3, #48
+ mla r3, r3, r6, r4
+ ldr r2, [r3, #1240]
+ cmp r2, #0
+ beq .L2697
+ ldrb r1, [r3, #1272] @ zero_extendqisi2
+ ldr r3, .L2779+4
+ ldrb r3, [r3, #-2546] @ zero_extendqisi2
cmp r1, r3
moveq r10, r2
-.L2737:
- mov r3, #48
- mla r3, r3, r6, r4
+.L2697:
+ mov r7, #48
+ mov r1, r9
+ mla r3, r7, r5, r4
+ mla r7, r7, r6, r4
ldr r2, [r3, #1244]
- cmp r2, #0
- beq .L2738
- ldrb r1, [r3, #1276] @ zero_extendqisi2
- ldr r3, .L2816
- ldrb r3, [r3, #2772] @ zero_extendqisi2
- cmp r1, r3
- moveq r8, r2
-.L2738:
- mov r9, #48
- mov r1, r10
- mla r3, r9, r5, r4
- mla r9, r9, r6, r4
- add fp, r3, #1232
- add fp, fp, #12
- ldr r2, [r3, #1248]
- ldr r0, [r3, #1260]
+ ldr r0, [r3, #1256]
str r3, [sp, #12]
bl flash_complete_plane_page_read
- ldr r2, [r9, #1248]
- mov r1, r8
- mov r7, r0
- ldr r0, [r9, #1260]
+ ldr r2, [r7, #1244]
+ mov r8, r0
+ mov r1, r10
+ ldr r0, [r7, #1256]
bl flash_complete_plane_page_read
- cmn r7, #1
- mov r9, r0
- beq .L2739
+ cmn r8, #1
+ mov fp, r0
+ beq .L2698
ldr r3, [sp, #12]
- ldr r3, [r3, #1256]
- cmn r3, #1
- beq .L2740
- ldr r2, [fp, #4]
- ldr r2, [r2, #4]
- cmp r3, r2
- beq .L2740
-.L2739:
- mov fp, #48
- 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
- add ip, fp, #1232
- add ip, ip, #12
- str ip, [sp, #12]
- ldr r2, [fp, #1260]
- str lr, [sp]
- and r0, r3, r2, lsr r1
- bic r1, r2, r3, asl r1
- mov r2, r10
- ldr r3, [fp, #1248]
- uxtb r0, r0
- bl flash_read_page_en
- ldr r2, [fp, #1256]
+ ldr r2, [r3, #1252]
cmn r2, #1
- mov r7, r0
- beq .L2741
- ldr ip, [sp, #12]
- ldr r3, [ip, #4]
+ beq .L2699
+ ldr r3, [r3, #1244]
+ ldr r3, [r3, #4]
+ cmp r2, r3
+ beq .L2699
+.L2698:
+ mov r7, #48
+ ldrb r3, [r4, #1153] @ zero_extendqisi2
+ mla r7, r7, r5, r4
+ mvn ip, #0
+ mvn ip, ip, lsl r3
+ rsb r1, r3, #24
+ ldr lr, [r7, #1256]
+ mov r2, r9
+ ldr r3, .L2779+4
+ ldrb r3, [r3, #-2546] @ zero_extendqisi2
+ and r0, ip, lr, lsr r1
+ bic r1, lr, ip, lsl r1
+ uxtb r0, r0
+ str r3, [sp]
+ ldr r3, [r7, #1244]
+ bl flash_read_page_en
+ ldr r2, [r7, #1252]
+ mov r8, r0
+ cmn r2, #1
+ beq .L2700
+ ldr r3, [r7, #1244]
ldr r1, [r3, #4]
cmp r2, r1
- beq .L2741
- ldr r0, .L2816+4
+ beq .L2700
+ ldr r0, .L2779+8
ldr r0, [r0]
tst r0, #64
- beq .L2741
+ beq .L2700
str r1, [sp]
- ldr r0, .L2816+8
- ldr r1, [fp, #1260]
+ ldr r0, .L2779+12
ldr r3, [r3]
+ ldr r1, [r7, #1256]
bl printk
-.L2741:
+.L2700:
mov r3, #48
mla r3, r3, r5, r4
- ldr r2, [r3, #1256]
+ ldr r2, [r3, #1252]
cmn r2, #1
- beq .L2740
- ldr r3, [r3, #1248]
+ beq .L2699
+ ldr r3, [r3, #1244]
ldr r3, [r3, #4]
cmp r2, r3
- beq .L2740
- ldr r1, .L2816+12
+ beq .L2699
movw r2, #431
- ldr r0, .L2816+16
+ ldr r1, .L2779+16
+ ldr r0, .L2779+20
bl printk
bl dump_stack
-.L2740:
+.L2699:
mov r3, #48
mov r2, #13
mla r5, r3, r5, r4
- cmn r9, #1
- strb r2, [r5, #1278]
- ldrb r2, [r5, #1238] @ zero_extendqisi2
- str r7, [r5, #1272]
+ cmn fp, #1
+ strb r2, [r5, #1274]
+ ldrb r2, [r5, #1234] @ zero_extendqisi2
+ str r8, [r5, #1268]
orr r2, r2, #8
- strb r2, [r5, #1238]
- beq .L2742
- ldr r2, .L2816
- mla r3, r3, r6, r2
- ldr r2, [r3, #1256]
+ strb r2, [r5, #1234]
+ beq .L2701
+ mla r3, r3, r6, r4
+ ldr r2, [r3, #1252]
cmn r2, #1
- beq .L2744
- ldr r3, [r3, #1248]
+ beq .L2703
+ ldr r3, [r3, #1244]
ldr r3, [r3, #4]
cmp r2, r3
- beq .L2744
-.L2742:
+ beq .L2703
+.L2701:
mov r5, #48
- ldrb r0, [r4, #1189] @ zero_extendqisi2
+ ldrb r3, [r4, #1153] @ zero_extendqisi2
mla r5, r5, r6, r4
- rsb r1, r0, #24
- ldrb ip, [r4, #2772] @ zero_extendqisi2
- mvn r3, #0
- mvn r3, r3, asl r0
- add r9, r5, #1232
- add r9, r9, #12
- ldr r2, [r5, #1260]
- str ip, [sp]
- and r0, r3, r2, lsr r1
- bic r1, r2, r3, asl r1
- mov r2, r8
- ldr r3, [r5, #1248]
+ mvn ip, #0
+ mvn ip, ip, lsl r3
+ rsb r1, r3, #24
+ ldr lr, [r5, #1256]
+ mov r2, r10
+ ldr r3, .L2779+4
+ ldrb r3, [r3, #-2546] @ zero_extendqisi2
+ and r0, ip, lr, lsr r1
+ bic r1, lr, ip, lsl r1
uxtb r0, r0
+ str r3, [sp]
+ ldr r3, [r5, #1244]
bl flash_read_page_en
- ldr r2, [r5, #1256]
+ ldr r2, [r5, #1252]
cmn r2, #1
- beq .L2746
- ldr r3, [r9, #4]
+ beq .L2705
+ ldr r3, [r5, #1244]
ldr r1, [r3, #4]
cmp r2, r1
- beq .L2746
- ldr r0, .L2816+4
+ beq .L2705
+ ldr r0, .L2779+8
ldr r0, [r0]
tst r0, #64
- beq .L2746
+ beq .L2705
str r1, [sp]
- ldr r0, .L2816+8
- ldr r1, [r5, #1260]
+ ldr r0, .L2779+12
ldr r3, [r3]
+ ldr r1, [r5, #1256]
bl printk
-.L2746:
+.L2705:
mov r3, #48
mla r3, r3, r6, r4
- ldr r2, [r3, #1256]
+ ldr r2, [r3, #1252]
cmn r2, #1
- beq .L2744
- ldr r3, [r3, #1248]
+ beq .L2703
+ ldr r3, [r3, #1244]
ldr r3, [r3, #4]
cmp r2, r3
- beq .L2744
- ldr r1, .L2816+12
+ beq .L2703
movw r2, #450
- ldr r0, .L2816+16
+ ldr r1, .L2779+16
+ ldr r0, .L2779+20
bl printk
bl dump_stack
-.L2744:
+.L2703:
mov r3, #48
mla r4, r3, r6, r4
- mov r3, #13
- strb r3, [r4, #1278]
- ldrb r3, [r4, #1238] @ zero_extendqisi2
- str r7, [r4, #1272]
- orr r3, r3, #8
- strb r3, [r4, #1238]
- b .L2760
-.L2732:
+ str r8, [r4, #1268]
+ b .L2778
+.L2691:
bl nandc_iqr_wait_flash_ready
- mov r0, r6
+ mov r0, r7
mov r1, #64
bl flash_wait_device_ready
tst r0, #64
mov r7, r0
- beq .L2760
- ands r6, r0, #5
+ beq .L2719
+ ands r2, r0, #5
mov r3, #48
- beq .L2748
- mla r5, r3, r5, r4
- ldr r0, .L2816+20
+ beq .L2707
+ mla r4, r3, r5, r4
mov r3, #12
- mov r2, r7
- mov r6, r7
- strb r3, [r5, #1278]
- ldrb r1, [r5, #1237] @ zero_extendqisi2
+ mov r2, r0
+ ldr r0, .L2779+24
+ strb r3, [r4, #1274]
+ ldrb r1, [r4, #1233] @ zero_extendqisi2
str r3, [sp]
- ldr r3, [r5, #1260]
+ ldr r3, [r4, #1256]
bl printk
+.L2777:
mvn r3, #0
- str r3, [r5, #1272]
- b .L2728
-.L2748:
+ str r3, [r4, #1268]
+ b .L2685
+.L2707:
mul r3, r3, r5
- mov r2, #13
- ldr ip, .L2816
- add r7, r4, r3
- strb r2, [r7, #1278]
- ldr r2, [r4, #2804]
- str r6, [r7, #1272]
- ldr r1, [r2, #156]
- ldr r2, .L2816+24
- cmp r1, r2
- bne .L2760
- ldr r2, .L2816+28
- add r3, r3, r2
- ldrh r3, [r3, #2]
- cmp r3, #0
- bne .L2760
- ldrb r0, [ip, #1189] @ zero_extendqisi2
- mvn r3, #0
- ldr r2, [r7, #1260]
- rsb r1, r0, #24
- 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, #-100]
- ldr r2, [r8, #-104]
- bl flash_read_page_en
- cmn r0, #1
- mov r3, r0
- beq .L2749
- ldr r1, [r7, #1248]
- ldr r2, [r8, #-100]
- ldr r1, [r1]
- ldr r2, [r2]
- cmp r1, r2
- beq .L2760
-.L2749:
- mov r2, #48
- 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, [r5, #1260]
- bl printk
- mvn r3, #0
- 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, 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
-.L2751:
- ldrb r8, [ip] @ zero_extendqisi2
- cmp r8, #255
- beq .L2815
- mul r3, r1, r8
- ldr r7, .L2816
- add ip, r2, r3
- add r3, r4, r3
- ldrb fp, [r3, #1278] @ zero_extendqisi2
- cmp fp, r9
- bne .L2751
- ldr r3, [r3, #1260]
- and r3, r10, r3, lsr lr
- cmp r0, r3
- 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 .L2814
- ands r2, r0, #15
- mov r3, #48
- mul r3, r3, r5
- beq .L2755
- add r7, r7, r3
- mov r9, #12
- ldr r0, .L2816+44
- mov r2, r6
- ldrb r1, [r7, #1237] @ zero_extendqisi2
- str r9, [sp]
- ldr r3, [r7, #1260]
- bl printk
- mvn r3, #0
- strb r9, [r7, #1278]
- str r3, [r7, #1272]
- b .L2754
-.L2755:
- add r6, r7, r3
mov r1, #13
- str r2, [r6, #1272]
- ldr r2, [r7, #2804]
- strb r1, [r6, #1278]
+ add r7, r4, r3
+ str r2, [r7, #1268]
+ ldr r2, [r4, #2800]
+ strb r1, [r7, #1274]
ldr r1, [r2, #156]
- ldr r2, .L2816+24
+ ldr r2, .L2779+28
cmp r1, r2
- bne .L2814
- ldr r2, .L2816+40
+ bne .L2719
+ ldr r2, .L2779+32
add r3, r2, r3
ldrh r3, [r3, #34]
cmp r3, #0
- bne .L2814
- ldr r2, [r6, #1260]
- mvn r3, #0
- ldrb r0, [r7, #1189] @ zero_extendqisi2
- ldr r9, .L2816+32
- rsb r1, r0, #24
- ldrb ip, [r7, #2772] @ zero_extendqisi2
- mvn r3, r3, asl r0
- and r0, r3, r2, lsr r1
- bic r1, r2, r3, asl r1
- str ip, [sp]
+ bne .L2719
+ ldrb r3, [r4, #1153] @ zero_extendqisi2
+ mvn ip, #0
+ ldr lr, [r7, #1256]
+ ldr r6, .L2779+4
+ rsb r1, r3, #24
+ mvn ip, ip, lsl r3
+ ldrb r3, [r6, #-2546] @ zero_extendqisi2
+ and r0, ip, lr, lsr r1
+ bic r1, lr, ip, lsl r1
+ str r3, [sp]
uxtb r0, r0
- ldr r3, [r9, #-100]
- ldr r2, [r9, #-104]
+ ldr r3, [r6, #-96]
+ ldr r2, [r6, #-92]
bl flash_read_page_en
cmn r0, #1
mov r3, r0
- beq .L2757
- ldr r1, [r6, #1248]
- ldr r2, [r9, #-100]
+ beq .L2708
+ ldr r1, [r7, #1244]
+ ldr r2, [r6, #-96]
ldr r1, [r1]
ldr r2, [r2]
cmp r1, r2
- beq .L2814
-.L2757:
- mov r6, #48
- ldrb r2, [r4, #1168] @ zero_extendqisi2
- mla r6, r6, r5, r4
- ldr r0, .L2816+48
- ldrb r1, [r6, #1237] @ zero_extendqisi2
+ beq .L2719
+.L2708:
+ mov r2, #48
+ ldr r0, .L2779+36
+ mla r5, r2, r5, r4
+ ldrb r2, [r4, #1196] @ zero_extendqisi2
+ ldrb r1, [r5, #1233] @ zero_extendqisi2
str r2, [sp]
- ldr r2, [r6, #1260]
+ ldr r2, [r5, #1256]
bl printk
mvn r3, #0
- str r3, [r6, #1272]
-.L2814:
- mov r6, #0
-.L2754:
- mov r3, #48
- 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 .L2728
-.L2733:
- mov r0, r6
- mov r1, #32
- bl flash_wait_device_ready
- tst r0, #32
- beq .L2760
- ands r6, r0, #15
- mov r3, #48
- mlaeq r5, r3, r5, r4
- movne r2, #12
- mlane r3, r3, r5, r4
- moveq r3, #13
- movne r6, r0
- streqb r3, [r5, #1278]
- streq r6, [r5, #1272]
- strneb r2, [r3, #1278]
- mvnne r2, #0
- strne r2, [r3, #1272]
- b .L2728
-.L2734:
- mov r0, r6
+ str r3, [r5, #1268]
+ b .L2719
+.L2694:
+ ldrb r1, [r4, #1153] @ zero_extendqisi2
+ mvn r2, #0
+ cmp r3, #11
+ ldr r9, .L2779+32
+ moveq r3, #10
+ movne r3, #3
+ rsb r0, r1, #24
+ mov lr, r3
+ mvn r2, r2, lsl r1
+ add r3, r5, r5, lsl #1
+ and r1, r2, r7, lsr r0
+ add r3, r9, r3, lsl #4
+ uxth r1, r1
+ mov r6, #48
+ movw r10, #1256
+.L2710:
+ ldrb r8, [r3] @ zero_extendqisi2
+ cmp r8, #255
+ mvneq r7, #0
+ beq .L2685
+.L2717:
+ mla ip, r6, r8, r4
+ movw fp, #1274
+ add r3, r8, r8, lsl #1
+ ldrb fp, [ip, fp] @ zero_extendqisi2
+ add r3, r9, r3, lsl #4
+ cmp fp, lr
+ bne .L2710
+ ldr ip, [ip, r10]
+ and ip, r2, ip, lsr r0
+ cmp r1, ip
+ bne .L2710
+ bl nandc_iqr_wait_flash_ready
+ mov r0, r7
mov r1, #64
bl flash_wait_device_ready
tst r0, #64
- movne r3, #48
- mlane r5, r3, r5, r4
- movne r3, #7
- strne r0, [r5, #1272]
- strneb r3, [r5, #1278]
-.L2760:
- mov r6, #0
-.L2728:
- mov r0, r6
+ mov r7, r0
+ bne .L2712
+.L2776:
+ mov r7, #0
+ b .L2713
+.L2712:
+ ands r3, r0, #15
+ mul r6, r6, r5
+ beq .L2714
+ add r6, r4, r6
+ mov r9, #12
+ ldrb r1, [r6, #1233] @ zero_extendqisi2
+ mov r2, r0
+ str r9, [sp]
+ ldr r0, .L2779+40
+ ldr r3, [r6, #1256]
+ bl printk
+ mvn r3, #0
+ strb r9, [r6, #1274]
+ str r3, [r6, #1268]
+.L2713:
+ mov r3, #48
+ mla r5, r3, r5, r4
+ mla r8, r3, r8, r4
+ ldrb r2, [r5, #1274] @ zero_extendqisi2
+ ldr r3, [r5, #1268]
+ strb r2, [r8, #1274]
+ str r3, [r8, #1268]
+.L2685:
+ mov r0, r7
add sp, sp, #20
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L2817:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2714:
+ add r7, r4, r6
+ mov r2, #13
+ str r3, [r7, #1268]
+ ldr r3, [r4, #2800]
+ strb r2, [r7, #1274]
+ ldr r2, [r3, #156]
+ ldr r3, .L2779+28
+ cmp r2, r3
+ bne .L2776
+ add r6, r9, r6
+ ldrh r3, [r6, #34]
+ cmp r3, #0
+ bne .L2776
+ ldrb r3, [r4, #1153] @ zero_extendqisi2
+ mvn ip, #0
+ ldr lr, [r7, #1256]
+ ldr r6, .L2779+4
+ rsb r1, r3, #24
+ mvn ip, ip, lsl r3
+ ldrb r3, [r6, #-2546] @ zero_extendqisi2
+ and r0, ip, lr, lsr r1
+ bic r1, lr, ip, lsl r1
+ str r3, [sp]
+ uxtb r0, r0
+ ldr r3, [r6, #-96]
+ ldr r2, [r6, #-92]
+ bl flash_read_page_en
+ cmn r0, #1
+ mov r3, r0
+ beq .L2716
+ ldr r1, [r7, #1244]
+ ldr r2, [r6, #-96]
+ ldr r1, [r1]
+ ldr r2, [r2]
+ cmp r1, r2
+ beq .L2776
+.L2716:
+ mov r6, #48
+ ldrb r2, [r4, #1196] @ zero_extendqisi2
+ mla r6, r6, r5, r4
+ ldr r0, .L2779+44
+ ldrb r1, [r6, #1233] @ zero_extendqisi2
+ str r2, [sp]
+ ldr r2, [r6, #1256]
+ bl printk
+ mvn r3, #0
+ str r3, [r6, #1268]
+ b .L2776
+.L2692:
+ mov r0, r7
+ mov r1, #32
+ bl flash_wait_device_ready
+ tst r0, #32
+ mov r7, r0
+ beq .L2719
+ ands r2, r0, #15
+ mov r3, #48
+ mla r4, r3, r5, r4
+ movne r3, #12
+ strbne r3, [r4, #1274]
+ bne .L2777
+.L2718:
+ mov r3, #13
+ str r2, [r4, #1268]
+ strb r3, [r4, #1274]
+ b .L2719
+.L2693:
+ mov r1, #64
+ mov r0, r7
+ bl flash_wait_device_ready
+ tst r0, #64
+ movne r3, #48
+ mlane r4, r3, r5, r4
+ movne r3, #7
+ strne r0, [r4, #1268]
+ strbne r3, [r4, #1274]
+ b .L2719
+.L2780:
.align 2
-.L2816:
+.L2779:
.word .LANCHOR0
- .word .LANCHOR2
- .word .LC174
- .word .LANCHOR1+2224
- .word .LC0
- .word .LC175
- .word 1145785929
- .word .LANCHOR0+1268
.word .LANCHOR3
+ .word .LANCHOR2
+ .word .LC173
+ .word .LANCHOR1+2034
+ .word .LC0
+ .word .LC174
+ .word 1145785929
+ .word .LANCHOR0+1232
+ .word .LC175
.word .LC176
- .word .LANCHOR0+1236
.word .LC177
- .word .LC178
.fnend
.size queue_wait_first_req_completed, .-queue_wait_first_req_completed
.align 2
.global sblk_prog_page
+ .syntax unified
+ .arm
+ .fpu softvfp
.type sblk_prog_page, %function
sblk_prog_page:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {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 r4, r0
ldrh r3, [r0, #34]
mov r5, r1
cmp r3, #0
- beq .L2819
- ldr r3, .L2850
+ beq .L2782
+ ldr r3, .L2812
ldr r3, [r3]
tst r3, #256
- beq .L2819
- ldr r0, .L2850+4
- mov r2, r5
- ldr r1, [r4, #24]
+ beq .L2782
+ mov r2, r1
+ ldr r1, [r0, #24]
+ ldr r0, .L2812+4
bl printk
-.L2819:
- ldr r8, .L2850+8
+.L2782:
+ ldr r8, .L2812+8
mov r6, #0
- mov r9, r8
-.L2820:
+ ldr fp, .L2812+12
+.L2783:
cmp r5, #0
- beq .L2847
- ldrb r3, [r4] @ zero_extendqisi2
- ldr r7, [r4, #24]
- str r3, [sp, #4]
-.L2821:
- mov r0, r7
- mov r1, #1
- bl queue_lun_state
- cmp r0, #0
- beq .L2849
- bl queue_wait_first_req_completed
- bl queue_remove_completed_req
- b .L2821
-.L2849:
- cmp r5, #1
- beq .L2823
- ldrb r3, [r8, #1233] @ zero_extendqisi2
- cmp r3, #0
- beq .L2823
- ldrb r3, [r8, #1197] @ zero_extendqisi2
- cmp r3, #0
- beq .L2824
-.L2823:
- mov r0, r4
- bl queue_prog_cmd
- b .L2825
-.L2824:
- ldrb r3, [r8, #1189] @ zero_extendqisi2
- mvn fp, #0
- rsb ip, r3, #24
- mov ip, r7, lsr ip
- bic fp, ip, fp, asl r3
- ldrb r3, [r4] @ zero_extendqisi2
- cmp r3, #255
- uxth fp, fp
- bne .L2826
- ldr r1, .L2850+12
- movw r2, #697
- ldr r0, .L2850+16
- bl printk
- bl dump_stack
-.L2826:
- ldrb r3, [r4] @ zero_extendqisi2
- mov r2, #48
- mov r10, #1
- mla r3, r2, r3, r9
- ldrb r2, [r9, #1189] @ zero_extendqisi2
- ldr ip, [r3, #1260]
- rsb r3, r2, #24
- mov r2, r10, asl r2
- sub r2, r2, #1
- and r2, r2, ip, lsr r3
- uxth r2, r2
- cmp fp, r2
- bne .L2827
- ldr r2, .L2850+20
- ldrh fp, [r2]
- 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, #-3130] @ zero_extendqisi2
- sub r3, r3, #1
- uxth r0, r0
- sub lr, lr, #1
- uxth r3, r3
- uxth r1, lr
- and r2, r1, r7, lsr fp
- and r1, r1, ip, lsr fp
- and r2, r2, r3
- and r3, r3, r1
- subs fp, r2, r3
- and r7, r7, r0
- and ip, ip, r0
- movne fp, #1
- cmp r7, ip
- movne fp, #0
- cmp fp, #0
- beq .L2828
- cmp r6, lr
- beq .L2827
- mov r0, #17
- ldr r1, [r4, #24]
- ldr r2, [r4, #4]
- add r6, r6, r10
- ldr r3, [r4, #12]
- bl flash_start_page_prog
- mov r3, #9
- strb r10, [r4, #43]
- mov r1, r4
- strb r3, [r4, #42]
- mvn r3, #0
- ldr r0, .L2850+28
- strb r3, [r4]
- bl buf_add_tail
- b .L2825
-.L2828:
- mov r0, r4
- mov r6, fp
- bl queue_prog_cmd
- b .L2825
-.L2827:
- mov r0, r4
- mov r6, #0
- bl queue_prog_cmd
-.L2825:
- subs r5, r5, #1
- ldrne r3, .L2850+32
- movne r4, #48
- ldrne r2, [sp, #4]
- mlane r4, r4, r2, r3
- bne .L2820
-.L2847:
+ bne .L2794
+.L2810:
mov r0, #0
add sp, sp, #12
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L2851:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2794:
+ ldrb r9, [r4] @ zero_extendqisi2
+ ldr r7, [r4, #24]
+.L2784:
+ mov r1, #1
+ mov r0, r7
+ bl queue_lun_state
+ cmp r0, #0
+ bne .L2785
+ cmp r5, #1
+ beq .L2786
+ ldrb r3, [r8, #1194] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L2786
+ ldrb r3, [r8, #1159] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L2787
+.L2786:
+ mov r0, r4
+ bl queue_prog_cmd
+.L2788:
+ subs r5, r5, #1
+ beq .L2810
+ ldr r4, .L2812+16
+ add r9, r9, r9, lsl #1
+ add r4, r4, r9, lsl #4
+ b .L2783
+.L2785:
+ bl queue_wait_first_req_completed
+ bl queue_remove_completed_req
+ b .L2784
+.L2787:
+ ldrb r2, [r8, #1153] @ zero_extendqisi2
+ mvn r3, #0
+ rsb r1, r2, #24
+ mvn r3, r3, lsl r2
+ ldrb r2, [r4] @ zero_extendqisi2
+ and r3, r3, r7, lsr r1
+ cmp r2, #255
+ uxth r3, r3
+ bne .L2789
+ movw r2, #697
+ ldr r1, .L2812+20
+ ldr r0, .L2812+24
+ str r3, [sp, #4]
+ bl printk
+ bl dump_stack
+ ldr r3, [sp, #4]
+.L2789:
+ ldrb r2, [r4] @ zero_extendqisi2
+ mov r1, #48
+ mov r10, #1
+ mla r2, r1, r2, r8
+ ldrb r1, [r8, #1153] @ zero_extendqisi2
+ ldr r0, [r2, #1256]
+ rsb r2, r1, #24
+ lsl r1, r10, r1
+ sub r1, r1, #1
+ and r1, r1, r0, lsr r2
+ uxth r1, r1
+ cmp r3, r1
+ bne .L2790
+ ldr r3, .L2812+28
+ ldrb lr, [fp, #-3136] @ zero_extendqisi2
+ ldrh ip, [r3, #-2]
+ sub lr, lr, #1
+ sub r3, r2, ip
+ lsl r3, r10, r3
+ lsl r2, r10, ip
+ sub r3, r3, #1
+ sub r2, r2, #1
+ and r3, r3, lr
+ uxth r2, r2
+ uxth r3, r3
+ and r1, r3, r7, lsr ip
+ and r3, r3, r0, lsr ip
+ and ip, r2, r7
+ subs r7, r1, r3
+ and r2, r2, r0
+ movne r7, #1
+ cmp ip, r2
+ movne r7, #0
+ cmp r7, #0
+ beq .L2790
+ cmp r6, lr
+ beq .L2790
+ ldr r3, [r4, #12]
+ mov r0, #17
+ ldr r2, [r4, #4]
+ add r6, r6, r10
+ ldr r1, [r4, #24]
+ bl flash_start_page_prog
+ mov r3, #9
+ strb r10, [r4, #43]
+ strb r3, [r4, #42]
+ mvn r3, #0
+ strb r3, [r4]
+ mov r1, r4
+ ldr r0, .L2812+32
+ bl buf_add_tail
+ b .L2788
+.L2790:
+ mov r0, r4
+ mov r6, #0
+ bl queue_prog_cmd
+ b .L2788
+.L2813:
.align 2
-.L2850:
+.L2812:
.word .LANCHOR2
- .word .LC179
+ .word .LC178
.word .LANCHOR0
- .word .LANCHOR1+2256
- .word .LC0
- .word .LANCHOR3-3132
.word .LANCHOR3
- .word .LANCHOR0+2775
- .word .LANCHOR0+1236
+ .word .LANCHOR0+1232
+ .word .LANCHOR1+2065
+ .word .LC0
+ .word .LANCHOR3-3136
+ .word .LANCHOR0+2770
.fnend
.size sblk_prog_page, .-sblk_prog_page
.align 2
.global sblk_wait_write_queue_completed
+ .syntax unified
+ .arm
+ .fpu softvfp
.type sblk_wait_write_queue_completed, %function
sblk_wait_write_queue_completed:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, lr}
+ push {r4, lr}
.save {r4, lr}
- ldr r4, .L2857
-.L2853:
- ldrb r3, [r4, #2775] @ zero_extendqisi2
+ ldr r4, .L2818
+.L2815:
+ ldrb r3, [r4, #2770] @ zero_extendqisi2
cmp r3, #255
- beq .L2856
+ bne .L2816
+ pop {r4, pc}
+.L2816:
bl queue_wait_first_req_completed
bl queue_remove_completed_req
- b .L2853
-.L2856:
- ldmfd sp!, {r4, pc}
-.L2858:
+ b .L2815
+.L2819:
.align 2
-.L2857:
+.L2818:
.word .LANCHOR0
.fnend
.size sblk_wait_write_queue_completed, .-sblk_wait_write_queue_completed
.align 2
.global ftl_flush
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_flush, %function
ftl_flush:
.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 r3, .L2865
- ldr r5, .L2865+4
- ldrb r1, [r3, #2801] @ zero_extendqisi2
- mov r4, r3
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
+ ldr r4, .L2826
+ ldr r5, .L2826+4
+ ldrb r1, [r4, #2797] @ zero_extendqisi2
cmp r1, #0
- beq .L2860
- ldrb r2, [r5, #-96] @ zero_extendqisi2
- mov r0, #48
- ldr r3, .L2865+8
- mla r0, r0, r2, r3
+ beq .L2821
+ ldrb r3, [r5, #-88] @ zero_extendqisi2
+ add r0, r4, #1232
+ add r3, r3, r3, lsl #1
+ add r0, r0, r3, lsl #4
bl sblk_prog_page
-.L2860:
+.L2821:
mvn r3, #0
- strb r3, [r5, #-96]
+ strb r3, [r5, #-88]
mov r3, #0
- strb r3, [r4, #2801]
+ strb r3, [r4, #2797]
bl sblk_wait_write_queue_completed
bl ftl_write_completed
movw r0, #65535
- ldmfd sp!, {r3, r4, r5, lr}
+ pop {r4, r5, r6, lr}
b ftl_vpn_decrement
-.L2866:
+.L2827:
.align 2
-.L2865:
+.L2826:
.word .LANCHOR0
.word .LANCHOR3
- .word .LANCHOR0+1236
.fnend
.size ftl_flush, .-ftl_flush
.align 2
.global zftl_cache_flush
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_cache_flush, %function
zftl_cache_flush:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r3, lr}
- .save {r3, lr}
- ldr r3, .L2872
- ldrb r3, [r3, #2801] @ zero_extendqisi2
+ ldr r3, .L2836
+ ldrb r3, [r3, #2797] @ zero_extendqisi2
cmp r3, #0
- ldmeqfd sp!, {r3, pc}
+ bxeq lr
+ push {r4, lr}
+ .save {r4, lr}
bl timer_get_time
- ldr r3, .L2872+4
- ldr r3, [r3, #-92]
+ ldr r3, .L2836+4
+ ldr r3, [r3, #-84]
add r3, r3, #100
cmp r0, r3
- ldmlsfd sp!, {r3, pc}
- ldmfd sp!, {r3, lr}
+ popls {r4, pc}
+ pop {r4, lr}
b ftl_flush
-.L2873:
+.L2837:
.align 2
-.L2872:
+.L2836:
.word .LANCHOR0
.word .LANCHOR3
.fnend
.size zftl_cache_flush, .-zftl_cache_flush
.align 2
.global ftl_read_page
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_read_page, %function
ftl_read_page:
.fnstart
@ args = 4, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, lr}
+ push {r4, r5, r6, r7, r8, lr}
.save {r4, r5, r6, r7, r8, lr}
- mov r7, r0
- mov r6, r1
- mov r5, r2
- mov r4, r3
+ mov r4, r0
ldr r8, [sp, #24]
+ mov r5, r1
+ mov r6, r2
+ mov r7, r3
bl sblk_wait_write_queue_completed
- mov r0, r7
- mov r1, r6
- mov r2, r5
- mov r3, r4
+ mov r3, r7
str r8, [sp, #24]
- ldmfd sp!, {r4, r5, r6, r7, r8, lr}
+ mov r2, r6
+ mov r1, r5
+ mov r0, r4
+ pop {r4, r5, r6, r7, r8, lr}
b flash_read_page_en
.fnend
.size ftl_read_page, .-ftl_read_page
.align 2
.global ftl_read_ppa_page
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_read_ppa_page, %function
ftl_read_ppa_page:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r4, r5, r6, r7, r8, lr}
+ push {r0, r1, r4, r5, r6, r7, r8, lr}
.save {r4, r5, r6, r7, r8, lr}
.pad #8
mov r8, r3
- ldr r3, .L2878
- mov r7, r1
- mov r6, r2
- mvn r2, #0
+ ldr r3, .L2842
mov r5, r0
- ldrb r1, [r3, #1189] @ zero_extendqisi2
- rsb r4, r1, #24
- mvn r2, r2, asl r1
- and r4, r2, r0, lsr r4
- bl sblk_wait_write_queue_completed
- mov r1, r5
+ mvn r4, #0
+ mov r6, r1
+ mov r7, r2
+ ldrb r0, [r3, #1153] @ zero_extendqisi2
+ rsb r3, r0, #24
+ mvn r4, r4, lsl r0
+ and r4, r4, r5, lsr r3
uxtb r4, r4
- mov r2, r7
- mov r3, r6
- mov r0, r4
+ bl sblk_wait_write_queue_completed
+ mov r3, r7
str r8, [sp]
+ mov r2, r6
+ mov r1, r5
+ mov r0, r4
bl flash_read_page_en
add sp, sp, #8
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, pc}
-.L2879:
+ pop {r4, r5, r6, r7, r8, pc}
+.L2843:
.align 2
-.L2878:
+.L2842:
.word .LANCHOR0
.fnend
.size ftl_read_ppa_page, .-ftl_read_ppa_page
.align 2
.global sblk_read_page
+ .syntax unified
+ .arm
+ .fpu softvfp
.type sblk_read_page, %function
sblk_read_page:
.fnstart
- @ args = 0, pretend = 0, frame = 16
+ @ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r0, r1, r2, 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 r10, .L2908
- mov r8, r0
- mov r6, r1
+ .pad #12
+ mov r10, r0
+ mov r7, r1
mov r4, r0
mov r5, r1
-.L2881:
+.L2845:
cmp r5, #0
- beq .L2904
- ldrb fp, [r4] @ zero_extendqisi2
- ldr r9, [r4, #24]
-.L2882:
- mov r0, r9
+ bne .L2855
+.L2868:
+ ldr r4, .L2870
+.L2856:
+ cmp r7, #0
+ bne .L2858
+ mov r0, r7
+ add sp, sp, #12
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2855:
+ ldrb r8, [r4] @ zero_extendqisi2
+ ldr fp, [r4, #24]
+.L2846:
mov r1, #0
+ mov r0, fp
bl queue_lun_state
cmp r0, #0
- beq .L2906
- bl queue_wait_first_req_completed
- bl queue_remove_completed_req
- b .L2882
-.L2906:
+ bne .L2847
cmp r5, #1
- beq .L2888
- ldr r3, .L2908+4
- ldrb r3, [r3, #-88] @ zero_extendqisi2
+ beq .L2852
+ ldr r3, .L2870+4
+ ldrb r3, [r3, #-80] @ zero_extendqisi2
cmp r3, #0
- beq .L2888
- ldr r3, .L2908
- mvn lr, #0
- ldrb r2, [r3, #1189] @ zero_extendqisi2
- rsb r3, r2, #24
- mov r3, r9, lsr r3
- bic lr, r3, lr, asl r2
- uxth r3, lr
- str r3, [sp, #4]
- ldrb r3, [r4] @ zero_extendqisi2
- cmp r3, #255
- bne .L2887
- ldr r1, .L2908+8
- movw r2, #782
- ldr r0, .L2908+12
- bl printk
- bl dump_stack
-.L2887:
- ldrb r3, [r4] @ zero_extendqisi2
- mov r2, #48
- ldrb r0, [r10, #1189] @ zero_extendqisi2
- mvn ip, #0
- mul r3, r2, r3
- rsb r2, r0, #24
- add r7, r10, r3
- ldr r1, [r7, #1260]
- mov r2, r1, lsr r2
- bic r2, r2, ip, asl r0
- ldr r0, [sp, #4]
- uxth r2, r2
- cmp r0, r2
- bne .L2888
- ldr r2, .L2908+16
- ldrh r2, [r2]
- add r9, r2, r9
- cmp r1, r9
- bne .L2888
- ldr r0, [r4, #24]
- mvn r9, #0
- str r3, [sp, #12]
- add r5, r5, r9
- ldrb fp, [r7, #1236] @ zero_extendqisi2
- bl flash_start_plane_read
- mov ip, #2
- mov r2, #0
- strb ip, [r4, #42]
- mov r1, r4
- strb r2, [r4, #43]
- ldr r0, .L2908+20
- strb r9, [r4]
- str ip, [sp, #8]
- str r2, [sp, #4]
- bl buf_add_tail
- ldr r1, .L2908+24
- strb r9, [r7, #1236]
- ldr r0, .L2908+20
- ldr ip, [sp, #8]
- ldr r2, [sp, #4]
- ldr r3, [sp, #12]
- strb ip, [r7, #1278]
- strb r2, [r7, #1279]
- add r1, r1, r3
- bl buf_add_tail
- b .L2886
-.L2888:
+ bne .L2849
+.L2852:
mov r0, r4
bl queue_read_cmd
-.L2886:
- subs r5, r5, #1
- ldrne r3, .L2908+24
- movne r4, #48
- mlane r4, r4, fp, r3
- bne .L2881
-.L2904:
- ldr r4, .L2908+24
- mov r5, #48
-.L2892:
- cmp r6, #0
- beq .L2907
- ldrb r3, [r8, #42] @ zero_extendqisi2
- cmp r3, #13
- bne .L2893
- ldrb r3, [r8] @ zero_extendqisi2
- sub r6, r6, #1
- cmp r3, #255
- mlane r8, r5, r3, r4
-.L2893:
+ b .L2850
+.L2847:
bl queue_wait_first_req_completed
bl queue_remove_completed_req
- b .L2892
-.L2907:
- mov r0, r6
- add sp, sp, #20
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L2909:
+ b .L2846
+.L2849:
+ ldr r3, .L2870+8
+ ldrb r2, [r3, #1153] @ zero_extendqisi2
+ mvn r3, #0
+ rsb r1, r2, #24
+ mvn r3, r3, lsl r2
+ ldrb r2, [r4] @ zero_extendqisi2
+ and r3, r3, fp, lsr r1
+ cmp r2, #255
+ uxth r3, r3
+ bne .L2851
+ movw r2, #782
+ ldr r1, .L2870+12
+ ldr r0, .L2870+16
+ str r3, [sp]
+ bl printk
+ bl dump_stack
+ ldr r3, [sp]
+.L2851:
+ ldr r2, .L2870+8
+ mov r6, #48
+ ldrb r9, [r4] @ zero_extendqisi2
+ ldrb ip, [r2, #1153] @ zero_extendqisi2
+ mla r6, r6, r9, r2
+ mvn r2, #0
+ mvn r2, r2, lsl ip
+ rsb r0, ip, #24
+ ldr r1, [r6, #1256]
+ and r2, r2, r1, lsr r0
+ uxth r2, r2
+ cmp r3, r2
+ bne .L2852
+ ldr r3, .L2870+20
+ ldrh r3, [r3]
+ add fp, r3, fp
+ cmp r1, fp
+ bne .L2852
+ ldr r0, [r4, #24]
+ mvn fp, #0
+ ldrb r8, [r6, #1232] @ zero_extendqisi2
+ add r9, r9, r9, lsl #1
+ add r5, r5, fp
+ bl flash_start_plane_read
+ mov r2, #2
+ mov r3, #0
+ strb r2, [r4, #42]
+ mov r1, r4
+ strb r3, [r4, #43]
+ ldr r0, .L2870+24
+ strb fp, [r4]
+ str r2, [sp, #4]
+ str r3, [sp]
+ bl buf_add_tail
+ ldr r1, .L2870
+ ldr r2, [sp, #4]
+ ldr r3, [sp]
+ strb fp, [r6, #1232]
+ strb r2, [r6, #1274]
+ add r1, r1, r9, lsl #4
+ strb r3, [r6, #1275]
+ ldr r0, .L2870+24
+ bl buf_add_tail
+.L2850:
+ subs r5, r5, #1
+ beq .L2868
+ ldr r4, .L2870
+ add r8, r8, r8, lsl #1
+ add r4, r4, r8, lsl #4
+ b .L2845
+.L2858:
+ ldrb r3, [r10, #42] @ zero_extendqisi2
+ cmp r3, #13
+ bne .L2857
+ ldrb r3, [r10] @ zero_extendqisi2
+ sub r7, r7, #1
+ cmp r3, #255
+ addne r3, r3, r3, lsl #1
+ addne r10, r4, r3, lsl #4
+.L2857:
+ bl queue_wait_first_req_completed
+ bl queue_remove_completed_req
+ b .L2856
+.L2871:
.align 2
-.L2908:
- .word .LANCHOR0
+.L2870:
+ .word .LANCHOR0+1232
.word .LANCHOR3
- .word .LANCHOR1+2272
+ .word .LANCHOR0
+ .word .LANCHOR1+2080
.word .LC0
- .word .LANCHOR3-3066
- .word .LANCHOR0+2775
- .word .LANCHOR0+1236
+ .word .LANCHOR3-3074
+ .word .LANCHOR0+2770
.fnend
.size sblk_read_page, .-sblk_read_page
.align 2
.global gc_check_data_one_wl
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_check_data_one_wl, %function
gc_check_data_one_wl:
.fnstart
- @ args = 0, pretend = 0, frame = 8
+ @ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {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, .L2946
- ldr r3, [r6, #2836]
- ldr r9, [r6, #1092]
+ .pad #28
+ sub sp, sp, #28
+ ldr r5, .L2906
+ ldr r3, [r5, #2832]
+ ldr r10, [r5, #1096]
cmp r3, #0
- bne .L2911
+ bne .L2873
mov r0, #1
bl buf_alloc
- str r0, [r6, #2836]
-.L2911:
- ldr r4, [r6, #2836]
+ str r0, [r5, #2832]
+.L2873:
+ ldr r4, [r5, #2832]
cmp r4, #0
- bne .L2912
- ldr r1, .L2946+4
+ bne .L2874
movw r2, #729
- ldr r0, .L2946+8
+ ldr r1, .L2906+4
+ ldr r0, .L2906+8
bl printk
bl dump_stack
-.L2912:
- ldr fp, .L2946+12
- add r10, r9, #96
- mov r8, #0
- mov ip, fp
-.L2913:
- ldrb r3, [r9, #89] @ zero_extendqisi2
- ldr r5, .L2946+16
- cmp r8, r3
- bge .L2944
- mov r7, #1
-.L2924:
- ldrh r3, [r5, #16]
- cmp r7, r3
- bgt .L2945
- ldr r2, .L2946+20
- ldrb r1, [fp, #-3124] @ zero_extendqisi2
- ldrh r3, [r10]
- ldrh r2, [r2]
+.L2874:
+ ldr r7, .L2906+12
+ add fp, r10, #96
+ mov r9, #0
+.L2875:
+ ldrb r3, [r10, #89] @ zero_extendqisi2
+ ldr r6, .L2906+16
+ cmp r9, r3
+ bge .L2886
+ mov r8, #1
+ b .L2887
+.L2885:
+ ldr r2, .L2906+20
+ ldrb r1, [r7, #-3128] @ zero_extendqisi2
+ ldrh r3, [fp]
+ ldrh r2, [r2, #-2]
cmp r1, #2
mul r2, r2, r3
- beq .L2914
- ldr r3, .L2946
- ldrb r3, [r3, #1196] @ zero_extendqisi2
+ beq .L2876
+ ldrb r3, [r5, #1158] @ zero_extendqisi2
cmp r3, #0
- beq .L2915
-.L2914:
- ldrh r3, [r5, #12]
+ beq .L2877
+.L2876:
+ ldrh r3, [r6, #12]
sub r3, r3, #1
add r3, r3, r2
- add r3, r3, r7
- orr r3, r3, r1, asl #24
- b .L2943
-.L2915:
- ldr r3, .L2946+16
- cmp r1, #3
- ldrh r3, [r3, #12]
- addne r2, r2, r3
- strne r2, [r4, #24]
- bne .L2916
- ldr r1, .L2946
- ldrb r1, [r1, #1197] @ zero_extendqisi2
- cmp r1, #0
- addne r3, r3, r3, asl #1
- addeq r3, r2, r3
- subne r3, r3, #1
- orreq r3, r3, r7, asl #24
- addne r3, r3, r2
- addne r3, r3, r7
- orrne r3, r3, #50331648
-.L2943:
+ add r3, r3, r8
+ orr r3, r3, r1, lsl #24
+.L2905:
str r3, [r4, #24]
-.L2916:
- mov r0, r4
mov r1, #1
- str ip, [sp, #28]
+ mov r0, r4
bl sblk_read_page
ldr r2, [r4, #36]
cmn r2, #1
- ldr ip, [sp, #28]
- beq .L2919
- ldr r0, [ip, #-172]
- ldrh r1, [r5, #18]
+ beq .L2881
+ ldr r0, [r7, #-132]
+ ldrh r1, [r6, #18]
ldr r3, [r4, #12]
- ldr lr, [r0, r1, asl #2]
+ ldr ip, [r0, r1, lsl #2]
ldr r0, [r3, #4]
- cmp lr, r0
- bne .L2919
- ldr r0, [fp, #-168]
+ cmp ip, r0
+ bne .L2881
+ ldr r0, [r7, #-128]
ldr r3, [r3, #8]
- ldr r1, [r0, r1, asl #2]
+ ldr r1, [r0, r1, lsl #2]
cmp r1, r3
- beq .L2920
-.L2919:
- ldrh r3, [r5, #18]
- ldr r1, [ip, #-172]
- mov r0, r3, asl #2
- ldr r3, [r1, r3, asl #2]
+ beq .L2882
+.L2881:
+ ldrh r3, [r6, #18]
+ ldr r1, [r7, #-132]
+ lsl r0, r3, #2
+ ldr r3, [r1, r3, lsl #2]
cmn r3, #1
- beq .L2920
- ldr r1, .L2946+24
+ beq .L2882
+ ldr r1, .L2906+24
ldr r1, [r1]
tst r1, #1024
- beq .L2921
- ldr ip, .L2946+12
+ beq .L2883
ldr r1, [r4, #12]
- ldr ip, [ip, #-168]
- ldr r0, [ip, r0]
- str r0, [sp]
- ldr r0, [r1]
- str r0, [sp, #4]
- ldr r0, [r1, #4]
- str r0, [sp, #8]
- ldr r0, [r1, #8]
- str r0, [sp, #12]
- ldr r1, [r1, #12]
- ldr r0, .L2946+28
- str r1, [sp, #16]
+ ldr ip, [r1, #12]
+ str ip, [sp, #16]
+ ldr ip, [r1, #8]
+ str ip, [sp, #12]
+ ldr ip, [r1, #4]
+ str ip, [sp, #8]
+ ldr r1, [r1]
+ str r1, [sp, #4]
+ ldr r1, [r7, #-128]
+ ldr r1, [r1, r0]
+ ldr r0, .L2906+28
+ str r1, [sp]
ldr r1, [r4, #24]
bl printk
-.L2921:
- ldrh r3, [r9, #80]
+.L2883:
+ ldrh r3, [r10, #80]
mov r1, #0
- ldr r2, [r6, #1088]
- mov r3, r3, asl #1
+ ldr r2, [r5, #1092]
+ lsl r3, r3, #1
strh r1, [r2, r3] @ movhi
- ldr r2, [r6, #1092]
+ ldr r2, [r5, #1096]
ldr r3, [r2, #556]
add r3, r3, #1
str r3, [r2, #556]
- ldr r3, [r6, #2804]
+ ldr r3, [r5, #2800]
ldr r2, [r3, #156]
- ldr r3, .L2946+32
+ ldr r3, .L2906+32
cmp r2, r3
- bne .L2927
- ldr r3, .L2946+12
- ldrb r3, [r3, #-2536] @ zero_extendqisi2
+ bne .L2890
+ ldrb r3, [r7, #-2542] @ zero_extendqisi2
cmp r3, r1
- bne .L2927
- ldr r3, .L2946+12
- ldrb r3, [r3, #-3122] @ zero_extendqisi2
+ bne .L2890
+ ldrb r3, [r7, #-3126] @ zero_extendqisi2
cmp r3, r1
- bne .L2927
+ bne .L2890
ldr r0, [r4, #24]
bl ftl_mask_bad_block
- b .L2927
-.L2920:
- ldrh r3, [r5, #18]
- add r7, r7, #1
- add r3, r3, #1
- strh r3, [r5, #18] @ movhi
- b .L2924
-.L2945:
- add r8, r8, #1
- add r10, r10, #2
- b .L2913
-.L2944:
- ldrh r3, [r5, #12]
- add r2, r3, #1
- strh r2, [r5, #12] @ movhi
- 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 .L2922
-.L2927:
+.L2890:
mvn r0, #0
-.L2922:
- add sp, sp, #36
+ b .L2872
+.L2877:
+ ldrh r3, [r6, #12]
+ cmp r1, #3
+ addne r3, r3, r2
+ bne .L2905
+ ldrb r1, [r5, #1159] @ zero_extendqisi2
+ cmp r1, #0
+ addne r3, r3, r3, lsl #1
+ addeq r3, r3, r2
+ orreq r3, r3, r8, lsl #24
+ subne r3, r3, #1
+ addne r3, r3, r2
+ addne r3, r3, r8
+ orrne r3, r3, #50331648
+ b .L2905
+.L2882:
+ ldrh r3, [r6, #18]
+ add r8, r8, #1
+ add r3, r3, #1
+ strh r3, [r6, #18] @ movhi
+.L2887:
+ ldrh r3, [r6, #16]
+ cmp r8, r3
+ ble .L2885
+ add r9, r9, #1
+ add fp, fp, #2
+ b .L2875
+.L2886:
+ ldrh r3, [r6, #12]
+ add r2, r3, #1
+ strh r2, [r6, #12] @ movhi
+ ldr r2, .L2906+12
+ ldrb r0, [r2, #-3126] @ zero_extendqisi2
+ cmp r0, #0
+ movne r0, #0
+ addne r3, r3, #2
+ strhne r3, [r6, #12] @ movhi
+.L2884:
+.L2872:
+ add sp, sp, #28
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L2947:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2907:
.align 2
-.L2946:
+.L2906:
.word .LANCHOR0
- .word .LANCHOR1+2288
+ .word .LANCHOR1+2095
.word .LC0
.word .LANCHOR3
- .word .LANCHOR0+2828
- .word .LANCHOR3-3066
+ .word .LANCHOR0+2824
+ .word .LANCHOR3-3072
.word .LANCHOR2
- .word .LC180
+ .word .LC179
.word 1145785929
.fnend
.size gc_check_data_one_wl, .-gc_check_data_one_wl
.align 2
.global sblk_tlc_prog_one_page
+ .syntax unified
+ .arm
+ .fpu softvfp
.type sblk_tlc_prog_one_page, %function
sblk_tlc_prog_one_page:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, lr}
+ push {r4, r5, r6, lr}
.save {r4, r5, r6, lr}
mov r4, r0
ldr r3, [r0]
ldr r6, [r3, #24]
-.L2949:
- mov r0, r6
+.L2909:
mov r1, #1
+ mov r0, r6
bl queue_lun_state
subs r5, r0, #0
- beq .L2952
- bl queue_wait_first_req_completed
- bl queue_remove_completed_req
- b .L2949
-.L2952:
+ bne .L2910
mov r0, r4
mov r1, #1
bl queue_tlc_prog_cmd
mov r0, r5
- ldmfd sp!, {r4, r5, r6, pc}
+ pop {r4, r5, r6, pc}
+.L2910:
+ bl queue_wait_first_req_completed
+ bl queue_remove_completed_req
+ b .L2909
.fnend
.size sblk_tlc_prog_one_page, .-sblk_tlc_prog_one_page
.align 2
.global sblk_xlc_prog_pages
+ .syntax unified
+ .arm
+ .fpu softvfp
.type sblk_xlc_prog_pages, %function
sblk_xlc_prog_pages:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ mov r5, r0
+ ldr r3, [r0]
.pad #20
sub sp, sp, #20
- ldr r3, [r0]
- mov r5, r0
mov r7, r1
- mov r10, r2
+ mov fp, r2
ldr r4, [r3, #24]
-.L2954:
- mov r0, r4
+.L2913:
mov r1, #1
+ mov r0, r4
bl queue_lun_state
- subs r9, r0, #0
- beq .L2966
- bl queue_wait_first_req_completed
- bl queue_remove_completed_req
- b .L2954
-.L2966:
- cmp r10, #2
- bne .L2956
- ldr r2, .L2968
+ subs r10, r0, #0
+ bne .L2914
+ cmp fp, #2
+ bne .L2915
+ ldr r1, .L2925
ldr lr, [r7]
- ldrb r3, [r2, #1233] @ zero_extendqisi2
+ ldrb r3, [r1, #1194] @ zero_extendqisi2
cmp r3, #0
ldreq r4, [lr, #24]
- beq .L2961
- ldr r3, [r5]
- mov fp, #1
- ldrb r4, [r2, #1189] @ zero_extendqisi2
- ldrb r2, [r2, #1197] @ zero_extendqisi2
- ldr r0, [r3, #24]
- rsb r1, r4, #24
- mov r4, fp, asl r4
- mov ip, fp, asl r1
+ beq .L2920
+ ldrb r3, [r1, #1153] @ zero_extendqisi2
+ mov r9, #1
+ ldr r2, [r5]
+ ldr lr, [lr, #24]
+ rsb r0, r3, #24
+ ldr ip, [r2, #24]
+ lsl r4, r9, r3
+ ldrb r3, [r1, #1159] @ zero_extendqisi2
+ lsl r6, r9, r0
sub r4, r4, #1
- ldr r6, [lr, #24]
- and r4, r4, r0, lsr r1
- cmp r2, #0
- sub ip, ip, #1
- and r8, ip, r0
- and r6, r6, ip
+ sub r6, r6, #1
+ and r4, r4, ip, lsr r0
+ cmp r3, #0
+ and r8, ip, r6
uxtb r4, r4
- beq .L2958
+ and r6, r6, lr
+ beq .L2917
mov r0, r4
bl zftl_flash_exit_slc_mode
ldr r3, [r5]
- mov r1, fp
- mov r0, r9
- str r8, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
+ mov r1, r9
+ mov r0, r10
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
mov r2, #17
- ldr r3, [r3, #12]
- str r3, [sp, #8]
+ ldr r3, [r3, #4]
+ str r8, [sp]
+ str r3, [sp, #4]
mov r3, r4
bl flash_start_one_pass_page_prog
bl nandc_wait_flash_ready
ldr r3, [r7]
- mov r1, fp
- mov r0, r9
- str r6, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
+ mov r1, r9
+ mov r0, r10
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
mov r2, #26
- ldr r3, [r3, #12]
- str r3, [sp, #8]
+ ldr r3, [r3, #4]
+ str r6, [sp]
+ str r3, [sp, #4]
mov r3, r4
bl flash_start_one_pass_page_prog
bl nandc_wait_flash_ready
ldr r3, [r5, #4]
- add r2, r8, fp
- mov r1, r10
- mov r0, r9
+ mov r1, fp
+ mov r0, r10
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
+ mov r2, #17
+ ldr r3, [r3, #4]
+ str r3, [sp, #4]
+ add r3, r8, r9
+ str r3, [sp]
+ mov r3, r4
+ bl flash_start_one_pass_page_prog
+ bl nandc_wait_flash_ready
+ ldr r3, [r7, #4]
+ mov r1, fp
+ mov r0, r10
add r8, r8, #2
- str r2, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
- mov r2, #17
- ldr r3, [r3, #12]
- str r3, [sp, #8]
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
+ mov r2, #26
+ ldr r3, [r3, #4]
+ str r3, [sp, #4]
+ add r3, r6, r9
+ str r3, [sp]
mov r3, r4
bl flash_start_one_pass_page_prog
bl nandc_wait_flash_ready
- ldr r3, [r7, #4]
- add r2, r6, fp
- mov r1, r10
- mov r0, r9
+ ldr r3, [r5, #8]
+ mov r1, #3
+ mov r0, r10
add r6, r6, #2
- str r2, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
- mov r2, #26
- ldr r3, [r3, #12]
- str r3, [sp, #8]
- mov r3, r4
- bl flash_start_one_pass_page_prog
- bl nandc_wait_flash_ready
- ldr r3, [r5, #8]
- mov r0, r9
- mov r1, #3
- str r8, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
mov r2, #17
- ldr r3, [r3, #12]
- str r3, [sp, #8]
+ ldr r3, [r3, #4]
+ str r8, [sp]
+ str r3, [sp, #4]
mov r3, r4
bl flash_start_one_pass_page_prog
bl nandc_wait_flash_ready
ldr r3, [r7, #8]
- mov r0, r9
mov r1, #3
- str r6, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
+ mov r0, r10
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
mov r2, #16
- ldr r3, [r3, #12]
- str r3, [sp, #8]
+ ldr r3, [r3, #4]
+ str r6, [sp]
+ str r3, [sp, #4]
mov r3, r4
bl flash_start_one_pass_page_prog
- b .L2959
-.L2958:
- ldrb r0, [r3, #44] @ zero_extendqisi2
- mov r1, fp
- str r8, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
- mov r2, #17
- ldr r3, [r3, #12]
- str r3, [sp, #8]
- mov r3, r4
- bl flash_start_tlc_page_prog
- bl nandc_wait_flash_ready
- ldr r3, [r7]
- ldr r2, [r5]
- mov r1, fp
- ldrb r0, [r2, #44] @ zero_extendqisi2
- str r6, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
- mov r2, #26
- ldr r3, [r3, #12]
- str r3, [sp, #8]
- mov r3, r4
- bl flash_start_tlc_page_prog
- bl nandc_wait_flash_ready
- ldmia r5, {r2, r3}
- mov r1, r10
- ldrb r0, [r2, #44] @ zero_extendqisi2
- str r8, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
- mov r2, #17
- ldr r3, [r3, #12]
- str r3, [sp, #8]
- mov r3, r4
- bl flash_start_tlc_page_prog
- bl nandc_wait_flash_ready
- ldr r3, [r7, #4]
- ldr r2, [r5]
- mov r1, r10
- ldrb r0, [r2, #44] @ zero_extendqisi2
- str r6, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
- mov r2, #26
- ldr r3, [r3, #12]
- str r3, [sp, #8]
- mov r3, r4
- bl flash_start_tlc_page_prog
- bl nandc_wait_flash_ready
- ldr r3, [r5, #8]
- ldr r2, [r5]
- mov r1, #3
- ldrb r0, [r2, #44] @ zero_extendqisi2
- str r8, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
- mov r2, #17
- ldr r3, [r3, #12]
- str r3, [sp, #8]
- mov r3, r4
- bl flash_start_tlc_page_prog
- bl nandc_wait_flash_ready
- ldr r3, [r7, #8]
- ldr r2, [r5]
- mov r1, #3
- ldrb r0, [r2, #44] @ zero_extendqisi2
- str r6, [sp]
- ldr r2, [r3, #4]
- str r2, [sp, #4]
- mov r2, #16
- ldr r3, [r3, #12]
- str r3, [sp, #8]
- mov r3, r4
- bl flash_start_tlc_page_prog
-.L2959:
+.L2918:
ldr r1, [r5]
mov r3, #5
- ldr r0, .L2968+4
+ ldr r0, .L2925+4
strb r3, [r1, #42]
mov r3, #1
strb r3, [r1, #43]
mvn r3, #0
strb r3, [r1]
bl buf_add_tail
- b .L2960
-.L2961:
- mov r0, r4
- mov r1, #1
- bl queue_lun_state
- subs r6, r0, #0
- beq .L2967
- bl queue_wait_first_req_completed
- bl queue_remove_completed_req
- 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
-.L2963:
- mov r0, r4
- mov r1, #1
- bl queue_lun_state
- cmp r0, #0
- beq .L2960
- bl queue_wait_first_req_completed
- bl queue_remove_completed_req
- b .L2963
-.L2956:
- mov r0, r5
- mov r1, #1
- bl queue_tlc_prog_cmd
-.L2960:
+.L2919:
mov r0, #0
add sp, sp, #20
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L2969:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2914:
+ bl queue_wait_first_req_completed
+ bl queue_remove_completed_req
+ b .L2913
+.L2917:
+ ldr r3, [r2, #12]
+ mov r1, r9
+ ldrb r0, [r2, #44] @ zero_extendqisi2
+ str r3, [sp, #8]
+ ldr r3, [r2, #4]
+ mov r2, #17
+ str r8, [sp]
+ str r3, [sp, #4]
+ mov r3, r4
+ bl flash_start_tlc_page_prog
+ bl nandc_wait_flash_ready
+ ldr r3, [r7]
+ mov r1, r9
+ ldr r2, [r5]
+ ldrb r0, [r2, #44] @ zero_extendqisi2
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
+ mov r2, #26
+ ldr r3, [r3, #4]
+ str r6, [sp]
+ str r3, [sp, #4]
+ mov r3, r4
+ bl flash_start_tlc_page_prog
+ bl nandc_wait_flash_ready
+ ldm r5, {r2, r3}
+ mov r1, fp
+ ldrb r0, [r2, #44] @ zero_extendqisi2
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
+ mov r2, #17
+ ldr r3, [r3, #4]
+ str r8, [sp]
+ str r3, [sp, #4]
+ mov r3, r4
+ bl flash_start_tlc_page_prog
+ bl nandc_wait_flash_ready
+ ldr r3, [r7, #4]
+ mov r1, fp
+ ldr r2, [r5]
+ ldrb r0, [r2, #44] @ zero_extendqisi2
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
+ mov r2, #26
+ ldr r3, [r3, #4]
+ str r6, [sp]
+ str r3, [sp, #4]
+ mov r3, r4
+ bl flash_start_tlc_page_prog
+ bl nandc_wait_flash_ready
+ ldr r3, [r5, #8]
+ mov r1, #3
+ ldr r2, [r5]
+ ldrb r0, [r2, #44] @ zero_extendqisi2
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
+ mov r2, #17
+ ldr r3, [r3, #4]
+ str r8, [sp]
+ str r3, [sp, #4]
+ mov r3, r4
+ bl flash_start_tlc_page_prog
+ bl nandc_wait_flash_ready
+ ldr r3, [r7, #8]
+ mov r1, #3
+ ldr r2, [r5]
+ ldrb r0, [r2, #44] @ zero_extendqisi2
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
+ mov r2, #16
+ ldr r3, [r3, #4]
+ str r6, [sp]
+ str r3, [sp, #4]
+ mov r3, r4
+ bl flash_start_tlc_page_prog
+ b .L2918
+.L2921:
+ bl queue_wait_first_req_completed
+ bl queue_remove_completed_req
+.L2920:
+ mov r1, #1
+ mov r0, r4
+ bl queue_lun_state
+ subs r6, r0, #0
+ bne .L2921
+ mov r1, #1
+ mov r0, r5
+ bl queue_tlc_prog_cmd
+ mov r1, r6
+ mov r0, r7
+ bl queue_tlc_prog_cmd
+.L2922:
+ mov r1, #1
+ mov r0, r4
+ bl queue_lun_state
+ cmp r0, #0
+ beq .L2919
+ bl queue_wait_first_req_completed
+ bl queue_remove_completed_req
+ b .L2922
+.L2915:
+ mov r1, #1
+ mov r0, r5
+ bl queue_tlc_prog_cmd
+ b .L2919
+.L2926:
.align 2
-.L2968:
+.L2925:
.word .LANCHOR0
- .word .LANCHOR0+2775
+ .word .LANCHOR0+2770
.fnend
.size sblk_xlc_prog_pages, .-sblk_xlc_prog_pages
.align 2
.global sblk_3d_mlc_prog_pages
+ .syntax unified
+ .arm
+ .fpu softvfp
.type sblk_3d_mlc_prog_pages, %function
sblk_3d_mlc_prog_pages:
.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, lr}
- .save {r4, r5, r6, r7, r8, r9, lr}
- .pad #12
- add r5, r0, #8
- ldr r9, .L2978
+ push {r0, r1, r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
+ .pad #8
mov r7, r1
+ ldr r9, .L2933
+ add r5, r0, #8
mov r8, #1
-.L2971:
+ ldr r10, .L2933+4
+.L2928:
cmp r7, #0
- beq .L2976
+ bne .L2931
+ mov r0, r7
+ add sp, sp, #8
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L2931:
ldr r3, [r5, #-8]
ldr r4, [r3, #24]
-.L2972:
- mov r0, r4
+.L2929:
mov r1, #1
+ mov r0, r4
bl queue_lun_state
cmp r0, #0
- beq .L2977
- bl queue_wait_first_req_completed
- bl queue_remove_completed_req
- b .L2972
-.L2977:
+ bne .L2930
ldr r3, [r5, #-8]
sub r7, r7, #1
- ldrb r4, [r9, #1189] @ zero_extendqisi2
add r5, r5, #8
- ldr r2, [r3, #24]
- rsb r3, r4, #24
- mov r4, r8, asl r4
- mov r6, r8, asl r3
+ ldr r1, [r3, #24]
+ ldrb r3, [r9, #1153] @ zero_extendqisi2
+ rsb r2, r3, #24
+ lsl r4, r8, r3
+ lsl r6, r8, r2
sub r4, r4, #1
sub r6, r6, #1
- and r4, r4, r2, lsr r3
- and r6, r6, r2
+ and r4, r4, r1, lsr r2
+ and r6, r6, r1
uxtb r4, r4
mov r0, r4
bl zftl_flash_exit_slc_mode
@@ -17461,638 +17789,642 @@
add r2, r6, #1
ldr r3, [r3, #4]
bl flash_start_3d_mlc_page_prog
- mov r0, r4
- bl nandc_de_cs
+ bl nandc_de_cs.constprop.35
ldr r1, [r5, #-16]
mov r3, #4
- ldr r0, .L2978+4
+ mov r0, r10
strb r3, [r1, #42]
mvn r3, #0
strb r8, [r1, #43]
strb r3, [r1]
bl buf_add_tail
- b .L2971
-.L2976:
- mov r0, r7
- add sp, sp, #12
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc}
-.L2979:
+ b .L2928
+.L2930:
+ bl queue_wait_first_req_completed
+ bl queue_remove_completed_req
+ b .L2929
+.L2934:
.align 2
-.L2978:
+.L2933:
.word .LANCHOR0
- .word .LANCHOR0+2775
+ .word .LANCHOR0+2770
.fnend
.size sblk_3d_mlc_prog_pages, .-sblk_3d_mlc_prog_pages
.align 2
.global flash_prog_page_en
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_prog_page_en, %function
flash_prog_page_en:
.fnstart
@ args = 8, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.pad #28
sub sp, sp, #28
- mov r8, r3
- ldr r6, .L3010
- ldrb r3, [sp, #68] @ zero_extendqisi2
- mov r7, r0
+ mov r10, r3
+ ldr r4, .L2966
+ mov r8, r0
mov r5, r1
- mov r9, r2
- ubfx r4, r1, #24, #2
- str r3, [sp, #16]
- ldrb r3, [r6, #1101] @ zero_extendqisi2
+ ldrb r3, [sp, #68] @ zero_extendqisi2
+ mov fp, r2
+ ubfx r7, r1, #24, #2
+ str r3, [sp, #20]
+ ldrb r3, [r4, #1109] @ zero_extendqisi2
cmp r3, r0
- bhi .L2981
- ldr r1, .L3010+4
+ bhi .L2936
movw r2, #642
- ldr r0, .L3010+8
+ ldr r1, .L2966+4
+ ldr r0, .L2966+8
bl printk
bl dump_stack
-.L2981:
- ldrb r2, [r6, #1101] @ zero_extendqisi2
- ldr r3, .L3010
- cmp r2, r7
+.L2936:
+ ldrb r3, [r4, #1109] @ zero_extendqisi2
+ cmp r3, r8
mvnls r0, #0
- bls .L2982
- add r2, r3, r7
- cmp r4, #0
- ldrb r10, [r2, #1180] @ zero_extendqisi2
- bne .L2994
- ldrb r2, [r3] @ zero_extendqisi2
- cmp r2, #0
- beq .L2984
- ldrb r3, [r3, #1] @ zero_extendqisi2
- cmp r3, #0
- 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, .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 .L2983
-.L2994:
- mov r4, r5
-.L2983:
- ldr fp, .L3010+12
- ldr r6, .L3010+16
-.L2989:
- ldr r3, [fp]
- tst r3, #16
- beq .L2986
- ldr r0, .L3010+20
- mov r1, r10
- mov r2, r5
- mov r3, r4
- bl printk
-.L2986:
- ldr r3, [sp, #64]
- mov r0, r10
- mov r1, r4
- mov r2, r9
- str r3, [sp]
- mov r3, r8
- bl flash_prog_page
- ldr r3, [sp, #16]
- mov ip, r0
- cmp r3, #0
- beq .L2987
- ldr r3, [sp, #64]
- mov r1, r5
- str r0, [sp, #20]
- mov r0, r7
- str r3, [sp]
- ldr r3, [r6, #-100]
- ldr r2, [r6, #-104]
- bl flash_read_page_en
- sub r3, r0, #512
- cmp r0, #512
- cmnne r0, #1
- clz r3, r3
- mov r3, r3, lsr #5
+ bls .L2935
+ add r3, r4, r8
+ cmp r7, #0
+ ldrb r3, [r3, #1144] @ zero_extendqisi2
str r3, [sp, #12]
- beq .L2988
- ldr r3, [r6, #-104]
- ldr r2, [r9]
- ldr ip, [sp, #20]
- ldr r3, [r3]
- cmp r2, r3
- bne .L2988
- ldr r3, [r6, #-100]
- ldr r2, [r8]
- ldr r3, [r3]
- cmp r2, r3
- beq .L2987
-.L2988:
- mov r2, #4
- ldr r0, .L3010+24
- mov r3, r2
- mov r1, r9
- bl rknand_print_hex
- mov r2, #4
- mov r3, r2
- ldr r0, .L3010+28
- mov r1, r8
- bl rknand_print_hex
- mov r2, #4
- mov r3, r2
- ldr r0, .L3010+32
- ldr r1, [r6, #-100]
- bl rknand_print_hex
- mov r2, #4
- mov r3, r2
- ldr r0, .L3010+36
- ldr r1, [r6, #-104]
- bl rknand_print_hex
- ldr r3, [sp, #12]
+ bne .L2949
+ ldrb r3, [r4] @ zero_extendqisi2
cmp r3, #0
- bne .L2989
-.L2991:
- mov r1, r5
- ldr r0, .L3010+40
+ beq .L2939
+ ldrb r3, [r4, #1] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L2949
+.L2939:
+ ldrh r7, [r4, #2]
+ mov r0, r5
+ mov r1, r7
+ bl __aeabi_uidiv
+ mov r1, r7
+ mul r6, r7, r0
+ mov r0, r5
+ bl __aeabi_uidivmod
+ ldrb r3, [r4, #1] @ zero_extendqisi2
+ lsl r1, r1, #1
+ cmp r3, #0
+ addeq r4, r4, r1
+ ldrheq r1, [r4, #4]
+ add r6, r1, r6
+.L2938:
+ ldr r4, .L2966+12
+ ldr r7, .L2966+16
+.L2944:
+ ldr r3, [r4]
+ tst r3, #16
+ beq .L2941
+ mov r3, r6
+ mov r2, r5
+ ldr r1, [sp, #12]
+ ldr r0, .L2966+20
bl printk
- ldr r1, .L3010+4
+.L2941:
+ ldr r3, [sp, #64]
+ mov r2, fp
+ mov r1, r6
+ ldr r0, [sp, #12]
+ str r3, [sp]
+ mov r3, r10
+ bl flash_prog_page
+ ldr r3, [sp, #20]
+ str r0, [sp, #16]
+ cmp r3, #0
+ beq .L2942
+ ldr r3, [sp, #64]
+ mov r1, r5
+ mov r0, r8
+ str r3, [sp]
+ ldr r3, [r7, #-96]
+ ldr r2, [r7, #-92]
+ bl flash_read_page_en
+ cmn r0, #1
+ cmpne r0, #512
+ mov r9, r0
+ beq .L2943
+ ldr r3, [r7, #-92]
+ ldr r2, [fp]
+ ldr r3, [r3]
+ cmp r2, r3
+ bne .L2943
+ ldr r3, [r7, #-96]
+ ldr r2, [r10]
+ ldr r3, [r3]
+ cmp r2, r3
+ beq .L2942
+.L2943:
+ mov r3, #4
+ mov r1, fp
+ mov r2, r3
+ ldr r0, .L2966+24
+ bl rknand_print_hex
+ mov r3, #4
+ mov r1, r10
+ mov r2, r3
+ ldr r0, .L2966+28
+ bl rknand_print_hex
+ mov r3, #4
+ ldr r1, [r7, #-96]
+ mov r2, r3
+ ldr r0, .L2966+32
+ bl rknand_print_hex
+ mov r3, #4
+ ldr r1, [r7, #-92]
+ mov r2, r3
+ ldr r0, .L2966+36
+ bl rknand_print_hex
+ cmp r9, #512
+ beq .L2944
+.L2946:
+ mov r1, r5
+ ldr r0, .L2966+40
+ bl printk
+ mvn r4, #0
movw r2, #685
- ldr r0, .L3010+8
+ ldr r1, .L2966+4
+ ldr r0, .L2966+8
bl printk
bl dump_stack
- mvn ip, #0
- b .L2990
-.L2987:
- cmn ip, #1
- beq .L2991
-.L2990:
- mov r0, ip
-.L2982:
+.L2945:
+ mov r0, r4
+.L2935:
add sp, sp, #28
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3011:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2949:
+ mov r6, r5
+ b .L2938
+.L2942:
+ ldr r4, [sp, #16]
+ cmn r4, #1
+ bne .L2945
+ b .L2946
+.L2967:
.align 2
-.L3010:
+.L2966:
.word .LANCHOR0
- .word .LANCHOR1+2312
+ .word .LANCHOR1+2116
.word .LC0
.word .LANCHOR2
.word .LANCHOR3
+ .word .LC180
.word .LC181
.word .LC182
.word .LC183
.word .LC184
.word .LC185
- .word .LC186
.fnend
.size flash_prog_page_en, .-flash_prog_page_en
.align 2
.global ftl_prog_page
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_prog_page, %function
ftl_prog_page:
.fnstart
@ args = 4, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, lr}
+ push {r0, r1, r2, r4, r5, r6, r7, lr}
.save {r4, r5, r6, r7, lr}
.pad #12
- mov r4, r3
- mov r7, r0
+ mov r4, r0
+ mov r7, r3
mov r5, r1
mov r6, r2
bl sblk_wait_write_queue_completed
- mov r0, r7
- mov r1, r5
+ mov r3, #1
+ mov r0, r4
+ str r3, [sp, #4]
mov r2, r6
ldr r3, [sp, #32]
+ mov r1, r5
str r3, [sp]
- mov r3, #1
- str r3, [sp, #4]
- mov r3, r4
+ mov r3, r7
bl flash_prog_page_en
cmn r0, #1
mov r4, r0
- bne .L3013
- ldr r1, .L3015
+ bne .L2968
+ ldr r1, .L2971
movw r2, #2678
- ldr r0, .L3015+4
+ ldr r0, .L2971+4
bl printk
bl dump_stack
- ldr r0, .L3015+8
mov r1, r5
+ ldr r0, .L2971+8
bl printk
-.L3013:
+.L2968:
mov r0, r4
add sp, sp, #12
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, pc}
-.L3016:
+ pop {r4, r5, r6, r7, pc}
+.L2972:
.align 2
-.L3015:
- .word .LANCHOR1+2332
+.L2971:
+ .word .LANCHOR1+2135
.word .LC0
- .word .LC186
+ .word .LC185
.fnend
.size ftl_prog_page, .-ftl_prog_page
.align 2
.global ftl_info_flush
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_info_flush, %function
ftl_info_flush:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
mov r1, #0
- ldr r6, .L3052
+ ldr r4, .L3010
.pad #20
sub sp, sp, #20
- mov r10, r0
- ldr r0, .L3052+4
- ldr r4, .L3052+8
+ mov r9, r0
mov r8, #0
- ldrb r2, [r6, #2772] @ zero_extendqisi2
- ldr r9, .L3052+12
- mov r7, r4
- mov r2, r2, asl #1
+ ldr r6, .L3010+4
+ ldrb r2, [r4, #-2546] @ zero_extendqisi2
+ ldr r0, [r4, #-76]
+ ldr r10, .L3010+8
+ ldr r7, .L3010+12
+ lsl r2, r2, #1
bl ftl_memset
- ldr r3, [r6, #2804]
+ ldr r3, [r6, #2800]
ldrh r2, [r3, #74]
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]
+ strhhi r2, [r3, #150] @ movhi
+.L2987:
+ ldr r3, .L3010+16
+ ldr r2, [r6, #2800]
+ ldrb r5, [r4, #-56] @ zero_extendqisi2
+ ldrh fp, [r3]
+ ldrh r3, [r4, #-54]
+ str r3, [sp, #8]
ldr r3, [r2, #4]
- ldr r0, [r4, #204]
- mov r1, r1, asl #9
add r3, r3, #1
str r3, [r2, #4]
- ldrb r5, [r4, #200] @ zero_extendqisi2
- str r3, [r4, #-52]
- ldrh fp, [r9]
- str r10, [r4, #-56]
+ ldr r3, [r4, #-76]
+ str r9, [r3]
+ ldr r2, [r6, #2800]
+ ldrb r1, [r4, #-2546] @ zero_extendqisi2
+ ldr r3, [r4, #-76]
+ ldr r2, [r2, #4]
+ ldr r0, [r4, #-52]
+ lsl r1, r1, #9
+ str r3, [sp, #12]
+ str r2, [r3, #4]
bl js_hash
- ldr r3, .L3052+16
- ldr r3, [r3]
+ ldr r3, [sp, #12]
+ str r0, [r3, #8]
+ ldr r3, [r10]
tst r3, #4096
- 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, #202]
+ beq .L2975
+ ldr r3, [r6, #2800]
+ ldrh r2, [r4, #-54]
+ ldrb r1, [r4, #-56] @ zero_extendqisi2
ldr r3, [r3, #4]
+ ldr r0, .L3010+20
bl printk
-.L3019:
- ldr r3, .L3052+24
- ldrh r0, [r7, #202]
+.L2975:
+ ldr r3, .L3010+24
+ ldrh r0, [r4, #-54]
ldrh r3, [r3]
cmp r3, r0
- bhi .L3020
-.L3025:
- ldrb r3, [r7, #201] @ zero_extendqisi2
+ bhi .L2976
+ ldr fp, .L3010+28
+ ldr r5, .L3010+32
+.L2983:
+ ldrb r3, [r4, #-55] @ zero_extendqisi2
add r3, r3, #1
uxtb r3, r3
- strb r3, [r7, #201]
cmp r3, #7
- bls .L3021
+ strb r3, [r4, #-55]
+ bls .L2977
mov r3, #8
-.L3024:
- ldr r2, [r6, #1176]
- sub r5, r3, #8
+.L2982:
+ ldr r2, [r6, #1040]
+ sub r8, r3, #8
+ uxth r8, r8
add r2, r2, r3
- uxth r5, r5
ldrb r1, [r2, #32] @ zero_extendqisi2
add r2, r1, #127
uxtb r2, r2
cmp r2, #125
- bhi .L3022
- ldr r1, .L3052+28
+ bhi .L2978
movw r2, #846
- ldr r0, .L3052+32
+ mov r1, fp
+ mov r0, r5
bl printk
bl dump_stack
- b .L3023
-.L3022:
- cmp r1, #255
- bne .L3023
- add r3, r3, #1
- cmp r3, #16
- bne .L3024
- mov r5, #8
-.L3023:
+.L2981:
+ strb r8, [r4, #-55]
mov r8, #1
- strb r5, [r7, #201]
-.L3021:
- ldr r3, [r6, #1176]
- ldrb r2, [r7, #201] @ zero_extendqisi2
+.L2977:
+ ldr r3, [r6, #1040]
+ ldrb r2, [r4, #-55] @ zero_extendqisi2
add r3, r3, r2
ldrb r3, [r3, #40] @ zero_extendqisi2
cmp r3, #255
- strb r3, [r7, #200]
- beq .L3025
- ldrh r5, [r9]
+ strb r3, [r4, #-56]
+ beq .L2983
+ ldrh r5, [r7, #-2]
mov r0, #0
- mul r5, r5, r3
+ mul r5, r3, r5
mov r1, r5
bl flash_erase_block
- ldr r3, .L3052
+ ldrb r3, [r4, #-2546] @ zero_extendqisi2
mov r1, r5
+ ldr r2, [r4, #-52]
mov r0, #0
- ldrb r3, [r3, #2772] @ zero_extendqisi2
str r3, [sp]
- ldr r3, .L3052+4
- ldr r2, [r4, #204]
+ ldr r3, [r4, #-76]
bl ftl_prog_page
mov r3, #1
- strh r3, [r4, #202] @ movhi
add r5, r5, r3
- b .L3026
-.L3020:
- ldr r3, [sp, #12]
+ strh r3, [r4, #-54] @ movhi
+.L2984:
+ ldrb r3, [r4, #-2546] @ zero_extendqisi2
+ mov r1, r5
+ ldr r2, [r4, #-52]
+ mov r0, #0
+ str r3, [sp]
+ ldr r3, [r4, #-76]
+ bl ftl_prog_page
+ ldrh r3, [r4, #-54]
+ cmn r0, #1
+ add r3, r3, #1
+ strh r3, [r4, #-54] @ movhi
+ beq .L2985
+ ldrb r3, [r4, #-48] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L2986
+.L2985:
+ mov r3, #0
+ strb r3, [r4, #-48]
+ b .L2987
+.L2978:
+ cmp r1, #255
+ bne .L2981
+ add r3, r3, #1
+ cmp r3, #16
+ bne .L2982
+ mov r8, #8
+ b .L2981
+.L2976:
+ ldr r3, [sp, #8]
cmp r0, #0
mla r5, fp, r5, r3
- bne .L3026
+ bne .L2984
mov r1, r5
bl flash_erase_block
-.L3026:
- ldrb r3, [r6, #2772] @ zero_extendqisi2
- mov r0, #0
- ldr fp, .L3052+8
- mov r1, r5
- str r3, [sp]
- sub r3, fp, #56
- ldr r2, [r7, #204]
- bl ftl_prog_page
- ldrh r3, [r7, #202]
- add r3, r3, #1
- strh r3, [r7, #202] @ movhi
- cmn r0, #1
- beq .L3027
- ldrb r3, [r4, #208] @ zero_extendqisi2
- cmp r3, #0
- beq .L3028
-.L3027:
- mov r3, #0
- strb r3, [r7, #208]
- b .L3029
-.L3028:
+ b .L2984
+.L2986:
cmp r8, #1
- beq .L3030
-.L3038:
- ldr r3, .L3052+8
- ldrb r3, [r3, #200] @ zero_extendqisi2
+ beq .L2988
+.L2996:
+ ldrb r3, [r4, #-56] @ zero_extendqisi2
cmp r3, #255
- bne .L3032
- ldr r1, .L3052+28
+ bne .L2990
movw r2, #890
- ldr r0, .L3052+32
+ ldr r1, .L3010+28
+ ldr r0, .L3010+32
bl printk
bl dump_stack
- b .L3032
-.L3030:
- ldrb r4, [fp, #201] @ zero_extendqisi2
- add r4, r4, #1
-.L3033:
- cmp r4, #7
- 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 .L3034
- ldr r1, .L3052+28
- movw r2, #881
- ldr r0, .L3052+32
- bl printk
- bl dump_stack
- b .L3035
-.L3034:
- cmp r5, #255
- beq .L3036
-.L3035:
- ldr r3, .L3052+12
- mov r0, #0
- ldrh r1, [r3]
- mul r1, r1, r5
- bl flash_erase_block
-.L3036:
- add r4, r4, #1
- uxth r4, r4
- b .L3033
-.L3032:
+.L2990:
mov r0, #0
add sp, sp, #20
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3053:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L2988:
+ ldrb r5, [r4, #-55] @ zero_extendqisi2
+ ldr r8, .L3010+28
+ ldr r9, .L3010+32
+ add r5, r5, #1
+.L2991:
+ cmp r5, #7
+ bhi .L2996
+ ldr r3, [r6, #1040]
+ add r3, r3, r5
+ ldrb r10, [r3, #40] @ zero_extendqisi2
+ add r3, r10, #127
+ uxtb r3, r3
+ cmp r3, #125
+ bhi .L2992
+ movw r2, #881
+ mov r1, r8
+ mov r0, r9
+ bl printk
+ bl dump_stack
+.L2993:
+ ldrh r1, [r7, #-2]
+ mov r0, #0
+ mul r1, r10, r1
+ bl flash_erase_block
+ b .L2994
+.L2992:
+ cmp r10, #255
+ bne .L2993
+.L2994:
+ add r5, r5, #1
+ uxth r5, r5
+ b .L2991
+.L3011:
.align 2
-.L3052:
- .word .LANCHOR0
- .word .LANCHOR3-56
+.L3010:
.word .LANCHOR3
- .word .LANCHOR3-3066
+ .word .LANCHOR0
.word .LANCHOR2
- .word .LC187
+ .word .LANCHOR3-3072
+ .word .LANCHOR3-3074
+ .word .LC186
.word .LANCHOR3-3096
- .word .LANCHOR1+2348
+ .word .LANCHOR1+2149
.word .LC0
.fnend
.size ftl_info_flush, .-ftl_info_flush
.align 2
.global ftl_info_blk_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_info_blk_init, %function
ftl_info_blk_init:
.fnstart
- @ args = 0, pretend = 0, frame = 16
+ @ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
mov r3, #1
- ldr r4, .L3087
+ ldr r4, .L3043
mov r6, #0
- ldr r5, .L3087+4
mov r1, r6
mov r2, #16384
- .pad #28
- sub sp, sp, #28
- strb r3, [r4, #208]
- mov r10, r4
- strb r3, [r4, #210]
- movw r3, #1076
- ldr r0, [r4, #204]
+ ldr r5, .L3043+4
+ .pad #20
+ sub sp, sp, #20
+ strb r3, [r4, #-48]
+ strb r3, [r4, #-46]
+ movw r3, #1080
+ ldr r0, [r4, #-52]
ldrh r3, [r5, r3]
- strb r6, [r4, #209]
- str r0, [r5, #1080]
- add r3, r0, r3, asl #2
- str r3, [r5, #2804]
+ strb r6, [r4, #-47]
+ str r0, [r5, #1084]
+ ldr r10, .L3043+8
+ add r3, r0, r3, lsl #2
+ ldr r9, .L3043+12
+ str r3, [r5, #2800]
bl ftl_memset
mov r1, r6
- ldr r0, [r4, #212]
mov r2, #16384
+ ldr r0, [r4, #-44]
bl ftl_memset
- ldr r3, [r5, #1176]
- ldr fp, .L3087+8
- strb r6, [r4, #201]
- ldrb r3, [r3, #40] @ zero_extendqisi2
- strh r6, [r4, #202] @ movhi
+ ldr r3, [r5, #1040]
+ strb r6, [r4, #-55]
+ strh r6, [r4, #-54] @ movhi
mov r6, #7
- strb r3, [r4, #200]
-.L3059:
- ldr r3, [r5, #1176]
- uxth r7, r6
- ldr ip, .L3087+4
- add r3, r3, r6
ldrb r3, [r3, #40] @ zero_extendqisi2
- cmp r3, #255
- beq .L3055
- ldr r2, .L3087+12
+ strb r3, [r4, #-56]
+.L3014:
+ ldr r3, [r5, #1040]
+ sxth r8, r6
+ add r3, r3, r6
+ ldrb r7, [r3, #40] @ zero_extendqisi2
+ cmp r7, #255
+ bne .L3013
+.L3018:
+ subs r6, r6, #1
+ bcs .L3014
+ mov r7, r6
+ mov r8, #0
+.L3015:
+ ldr r6, .L3043+8
+ ldr r3, [r6]
+ tst r3, #4096
+ beq .L3019
+ ldr r3, [r5, #2800]
+ mov r2, #4800
+ mov r1, r7
+ ldr r0, .L3043+16
+ ldr r3, [r3]
+ bl printk
+.L3019:
+ cmn r7, #1
+ bne .L3020
+ mov r2, #16384
+ mov r1, #0
+ ldr r0, [r4, #-52]
+ bl ftl_memset
+ ldr r3, [r5, #2800]
+ ldr r2, .L3043+12
+ str r2, [r3]
+ ldr r2, .L3043+20
+ ldr r3, [r5, #2800]
+ str r2, [r3, #12]
+.L3042:
+ mov r0, r7
+.L3012:
+ add sp, sp, #20
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3013:
+ ldr r3, .L3043+24
mov r0, #0
- str ip, [sp, #12]
- ldrh r9, [r2]
- ldr r2, [r4, #204]
- mul r9, r9, r3
- ldrb r3, [ip, #2772] @ zero_extendqisi2
+ ldr r2, [r4, #-52]
+ ldrh r3, [r3]
+ mul r7, r7, r3
+ ldrb r3, [r4, #-2546] @ zero_extendqisi2
str r3, [sp]
- ldr r3, .L3087+16
- mov r1, r9
+ mov r1, r7
+ ldr r3, [r4, #-76]
bl ftl_read_page
cmn r0, #1
- mov r8, r0
- ldr ip, [sp, #12]
- bne .L3056
- ldrb r3, [ip, #2772] @ zero_extendqisi2
+ mov fp, r0
+ bne .L3016
+ ldrb r3, [r4, #-2546] @ zero_extendqisi2
+ add r1, r7, #1
+ ldr r2, [r4, #-52]
mov r0, #0
- add r1, r9, #1
str r3, [sp]
- ldr r3, .L3087+16
- ldr r2, [r10, #204]
+ ldr r3, [r4, #-76]
bl ftl_read_page
- mov r8, r0
-.L3056:
- ldr r3, .L3087+20
- ldr r3, [r3]
+ mov fp, r0
+.L3016:
+ ldr r3, [r10]
tst r3, #4096
- beq .L3057
- ldr r3, [r5, #2804]
+ beq .L3017
+ ldr r3, [r5, #2800]
+ mov r2, fp
mov r1, r6
- ldr r0, .L3087+24
- mov r2, r8
+ ldr r0, .L3043+28
ldr r3, [r3]
str r3, [sp]
movw r3, #749
bl printk
-.L3057:
- cmn r8, #1
- beq .L3055
- ldr r3, [r5, #2804]
+.L3017:
+ cmn fp, #1
+ beq .L3018
+ ldr r3, [r5, #2800]
ldr r3, [r3]
- cmp r3, fp
- beq .L3069
-.L3055:
- subs r6, r6, #1
- bcs .L3059
- movw r6, #65535
- mov r7, #0
- b .L3058
-.L3069:
- mov r6, r7
-.L3058:
- ldr r3, .L3087+20
- sxth r6, r6
- ldr r2, [r3]
- str r3, [sp, #16]
- tst r2, #4096
- beq .L3060
- ldr r3, [r5, #2804]
- mov r1, r6
- ldr r0, .L3087+28
- mov r2, #4800
- ldr r3, [r3]
- bl printk
-.L3060:
- cmn r6, #1
- bne .L3061
- mov r2, #16384
- ldr r0, [r4, #204]
- mov r1, #0
- bl ftl_memset
- ldr r3, [r5, #2804]
- ldr r2, .L3087+8
- mov r0, r6
- str r2, [r3]
- ldr r2, .L3087+32
- ldr r3, [r5, #2804]
- str r2, [r3, #12]
- b .L3062
-.L3061:
- ldr r3, [r5, #1176]
+ cmp r3, r9
+ bne .L3018
+ mov r7, r8
+ b .L3015
+.L3020:
+ ldr r3, [r5, #1040]
mov r0, #0
- ldr r2, [r4, #204]
- sxtah r3, r3, r7
- strb r7, [r4, #201]
- ldr r6, .L3087+36
+ ldr r2, [r4, #-52]
mov r7, #0
+ strb r8, [r4, #-55]
+ add r3, r3, r8
+ ldr r10, .L3043+12
ldrb r1, [r3, #40] @ zero_extendqisi2
mov r3, #4
str r3, [sp]
- ldr r3, .L3087+16
- strb r1, [r4, #200]
+ ldr r3, [r4, #-76]
+ strb r1, [r4, #-56]
bl flash_get_last_written_page
- ldrh r8, [r6, #-10]
- add r6, r6, #3056
- ldr fp, .L3087+8
uxth r9, r0
- mov r10, r0
+ ldrb r8, [r4, #-56] @ zero_extendqisi2
+ ldr fp, .L3043+32
add r3, r9, #1
uxth r3, r3
- str r3, [sp, #12]
- ldrb r3, [r4, #200] @ zero_extendqisi2
- mul r8, r8, r3
-.L3063:
- rsb r3, r7, r9
+ str r3, [sp, #8]
+ ldr r3, .L3043+36
+ ldrh r3, [r3, #-2]
+ mla r8, r3, r8, r0
+.L3022:
+ sub r3, r9, r7
tst r3, #32768
- bne .L3067
- ldrb r3, [r5, #2772] @ zero_extendqisi2
- add r1, r10, r8
- ldr ip, .L3087+4
+ bne .L3026
+ ldrb r3, [r4, #-2546] @ zero_extendqisi2
+ sub r1, r8, r7
+ ldr r2, [r4, #-52]
mov r0, #0
- rsb r1, r7, r1
- ldr r2, [r4, #204]
str r3, [sp]
- ldr r3, .L3087+16
- str ip, [sp, #20]
+ ldr r3, [r4, #-76]
bl ftl_read_page
cmn r0, #1
- beq .L3064
- ldr ip, [sp, #20]
- ldr r3, [ip, #2804]
+ beq .L3023
+ ldr r3, [r5, #2800]
ldr r3, [r3]
- cmp r3, fp
- bne .L3064
- ldr r3, [r6, #-48]
+ cmp r3, r10
+ bne .L3023
+ ldr r3, [r4, #-76]
+ ldr r3, [r3, #8]
cmp r3, #0
- bne .L3065
-.L3067:
- ldrh r3, [sp, #12]
- strh r3, [r4, #202] @ movhi
+ bne .L3024
+.L3026:
+ ldrh r3, [sp, #8]
+ strh r3, [r4, #-54] @ movhi
bl ftl_tmp_into_update
- ldr r2, [r5, #2804]
+ ldr r2, [r5, #2800]
mov r0, #0
ldr r3, [r2, #64]
add r3, r3, #1
@@ -18100,301 +18432,282 @@
bl ftl_info_flush
mov r0, #0
bl ftl_info_flush
- ldr r3, [sp, #16]
- ldr r0, [r3]
- ands r0, r0, #16384
- beq .L3062
- ldr r3, .L3087+4
- ldr r0, .L3087+40
- ldr r3, [r3, #2804]
+ ldr r7, [r6]
+ ands r7, r7, #16384
+ beq .L3042
+ ldr r3, [r5, #2800]
+ ldr r0, .L3043+40
ldr r1, [r3, #156]
bl printk
mov r0, #0
- b .L3062
-.L3065:
- ldrb r1, [ip, #2772] @ zero_extendqisi2
- ldr r0, [r6, #204]
- str r3, [sp, #20]
- mov r1, r1, asl #9
+ b .L3012
+.L3024:
+ ldrb r1, [r4, #-2546] @ zero_extendqisi2
+ ldr r0, [r4, #-52]
+ str r3, [sp, #12]
+ lsl r1, r1, #9
bl js_hash
- ldr r3, [sp, #20]
+ ldr r3, [sp, #12]
cmp r3, r0
- beq .L3067
- ldr r0, .L3087+44
- ldr r1, [r6, #-48]
+ beq .L3026
+ ldr r3, [r4, #-76]
+ mov r0, fp
+ ldr r1, [r3, #8]
bl printk
-.L3064:
+.L3023:
add r7, r7, #1
- b .L3063
-.L3062:
- add sp, sp, #28
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3088:
+ b .L3022
+.L3044:
.align 2
-.L3087:
+.L3043:
.word .LANCHOR3
.word .LANCHOR0
- .word 1229739078
- .word .LANCHOR3-3066
- .word .LANCHOR3-56
.word .LANCHOR2
+ .word 1229739078
.word .LC188
- .word .LC189
.word 393252
- .word .LANCHOR3-3056
- .word .LC191
+ .word .LANCHOR3-3074
+ .word .LC187
+ .word .LC189
+ .word .LANCHOR3-3072
.word .LC190
.fnend
.size ftl_info_blk_init, .-ftl_info_blk_init
.align 2
.global ftl_ext_info_flush
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_ext_info_flush, %function
ftl_ext_info_flush:
.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, lr}
+ push {r0, r1, r2, r4, r5, r6, r7, r8, r9, lr}
.save {r4, r5, r6, r7, r8, r9, lr}
.pad #12
bl timer_get_time
- ldr r3, .L3105
- ldr r4, .L3105+4
+ ldr r3, .L3061
+ ldr r5, .L3061+4
umull r0, r1, r0, r3
- ldr r3, [r4, #1092]
+ ldr r3, [r5, #1096]
ldr r0, [r3, #520]
- mov r1, r1, lsr #5
+ lsr r1, r1, #5
cmp r1, r0
- ldrhi r2, [r3, #12]
- rsbhi r2, r0, r2
- addhi r2, r2, r1
- strhi r2, [r3, #12]
- bhi .L3104
-.L3090:
- bcs .L3091
-.L3104:
+ bls .L3046
+ ldr r2, [r3, #12]
+ sub r2, r2, r0
+ add r2, r2, r1
+ str r2, [r3, #12]
+.L3060:
str r1, [r3, #520]
-.L3091:
+ b .L3047
+.L3046:
+ bcc .L3060
+.L3047:
+ ldr r4, .L3061+8
mov r0, #0
- ldr r7, .L3105+8
bl ftl_total_vpn_update
- ldr r6, .L3105+12
-.L3095:
- ldr r3, [r4, #2804]
+ sub r7, r4, #3136
+.L3051:
+ ldr r3, [r5, #2800]
ldr r2, [r3, #56]
add r2, r2, #1
str r2, [r3, #56]
ldrh r2, [r3, #140]
- ldrh r3, [r7]
+ ldr r3, .L3061+12
+ ldrh r3, [r3]
cmp r2, r3
- bcc .L3093
+ bcc .L3049
bl ftl_ext_alloc_new_blk
-.L3093:
- ldr r3, [r4, #2804]
+.L3049:
+ ldr r3, [r5, #2800]
ldrh r2, [r3, #130]
movw r3, #65535
cmp r2, r3
- bne .L3094
- ldr r1, .L3105+16
+ bne .L3050
movw r2, #2211
- ldr r0, .L3105+20
+ ldr r1, .L3061+16
+ ldr r0, .L3061+20
bl printk
bl dump_stack
-.L3094:
- ldr r1, [r4, #2804]
- ldr r0, .L3105+24
- ldrb r2, [r4, #1189] @ zero_extendqisi2
- ldrh r3, [r1, #130]
- ldrh r0, [r0]
- rsb r2, r2, #24
- ldr r8, .L3105+12
- rsb r2, r0, r2
- mvn r0, #0
- mov r9, r3, asr r2
- bic r3, r3, r0, asl r2
- ldr r2, .L3105+28
- sub r0, r8, #56
- sxth r3, r3
- ldrh r5, [r2]
- ldrh r2, [r1, #140]
+.L3050:
+ ldr r2, [r5, #2800]
+ ldrb r6, [r5, #1153] @ zero_extendqisi2
+ ldrh r1, [r7, #-2]
+ ldrh r3, [r2, #130]
+ rsb r6, r6, #24
+ ldr r0, [r4, #-76]
+ sub r6, r6, r1
+ mvn r1, #0
+ asr r8, r3, r6
+ bic r6, r3, r1, lsl r6
+ ldr r3, .L3061+24
+ sxth r6, r6
+ ldrh r1, [r3, #-2]
+ ldrh r3, [r2, #140]
+ ldrb r2, [r4, #-2546] @ zero_extendqisi2
+ mla r6, r1, r6, r3
+ lsl r2, r2, #1
mov r1, #0
- mla r5, r5, r3, r2
- ldrb r2, [r4, #2772] @ zero_extendqisi2
- mov r2, r2, asl #1
bl ftl_memset
- mov r3, #0
- str r3, [r6, #-56]
- ldr r3, [r4, #2804]
- ldrb r1, [r4, #2772] @ zero_extendqisi2
- ldr r0, [r6, #212]
+ ldr r3, [r4, #-76]
+ mov r2, #0
+ str r2, [r3]
+ ldr r3, [r5, #2800]
+ ldrb r1, [r4, #-2546] @ zero_extendqisi2
+ ldr r9, [r4, #-76]
ldr r3, [r3, #56]
- mov r1, r1, asl #9
- str r3, [r6, #-52]
+ ldr r0, [r4, #-44]
+ lsl r1, r1, #9
+ str r3, [r9, #4]
bl js_hash
- ldrb r3, [r4, #2772] @ zero_extendqisi2
- mov r1, r5
- ldr r2, [r6, #212]
- str r0, [r6, #-48]
- uxtb r0, r9
+ ldrb r3, [r4, #-2546] @ zero_extendqisi2
+ mov r1, r6
+ str r0, [r9, #8]
+ uxtb r0, r8
+ ldr r2, [r4, #-44]
str r3, [sp]
- sub r3, r8, #56
+ ldr r3, [r4, #-76]
bl ftl_prog_page
- ldr r2, [r4, #2804]
+ ldr r2, [r5, #2800]
ldrh r3, [r2, #140]
add r3, r3, #1
uxth r3, r3
- strh r3, [r2, #140] @ movhi
cmp r3, #1
- beq .L3095
+ strh r3, [r2, #140] @ movhi
+ beq .L3051
cmn r0, #1
- beq .L3096
- ldrb r0, [r8, #210] @ zero_extendqisi2
+ beq .L3052
+ ldrb r0, [r4, #-46] @ zero_extendqisi2
cmp r0, #0
- beq .L3097
-.L3096:
-.L3092:
+ beq .L3053
+.L3052:
+.L3048:
mov r3, #0
- strb r3, [r8, #210]
- b .L3095
-.L3097:
+ strb r3, [r4, #-46]
+ b .L3051
+.L3053:
add sp, sp, #12
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc}
-.L3106:
+ pop {r4, r5, r6, r7, r8, r9, pc}
+.L3062:
.align 2
-.L3105:
+.L3061:
.word 1374389535
.word .LANCHOR0
- .word .LANCHOR3-3096
.word .LANCHOR3
- .word .LANCHOR1+2364
+ .word .LANCHOR3-3096
+ .word .LANCHOR1+2164
.word .LC0
- .word .LANCHOR3-3132
- .word .LANCHOR3-3066
+ .word .LANCHOR3-3072
.fnend
.size ftl_ext_info_flush, .-ftl_ext_info_flush
.align 2
.global ftl_ext_info_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_ext_info_init, %function
ftl_ext_info_init:
.fnstart
- @ args = 0, pretend = 0, frame = 16
+ @ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- ldr ip, .L3127
- mov r2, #0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- sub r3, ip, #2528
- ldr r4, .L3127+4
- mvn r5, #0
- 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, #-12]
- ldrh r3, [r3, #130]
- rsb r8, r9, #24
- rsb r6, r6, r8
- str ip, [sp, #12]
- bic r5, r3, r5, asl r6
- mov fp, r3, asr r6
+ mov r2, #0
+ ldr r4, .L3083
+ .pad #20
+ sub sp, sp, #20
+ ldr r5, .L3083+4
+ sub r3, r4, #2544
+ strh r2, [r3, #-4] @ movhi
+ sub r2, r4, #3136
+ ldr r3, [r5, #2800]
+ ldrh r2, [r2, #-2]
+ ldrh r6, [r3, #130]
+ ldrb r3, [r5, #1153] @ zero_extendqisi2
+ rsb r3, r3, #24
+ sub r3, r3, r2
+ mvn r2, #0
+ asr r7, r6, r3
+ bic r6, r6, r2, lsl r3
+ uxtb r10, r7
mov r3, #4
- mov r1, r5
str r3, [sp]
- uxtb r10, fp
- ldr r2, [ip, #212]
- sub r3, ip, #56
+ mov r1, r6
+ ldr r3, [r4, #-76]
mov r0, r10
+ ldr r2, [r4, #-44]
bl flash_get_last_written_page
- ldr r3, .L3127+8
+ ldr r3, .L3083+8
+ mov r8, r0
ldr r2, [r3]
+ str r3, [sp, #8]
tst r2, #4096
- mov r7, r0
- str r3, [sp, #16]
- beq .L3108
- uxth fp, fp
- str fp, [sp]
- ldr r3, [r4, #2804]
+ beq .L3064
+ ldr r3, [r5, #2800]
+ uxth r7, r7
mov r2, #2256
- ldr r0, .L3127+12
- ldr r1, .L3127+16
+ ldr r1, .L3083+12
ldrh r3, [r3, #130]
+ str r7, [sp]
str r3, [sp, #4]
- mov r3, r7
+ mov r3, r0
+ ldr r0, .L3083+16
bl printk
-.L3108:
- ldr r9, .L3127
- mov r8, #0
- ldr fp, .L3127+20
-.L3109:
- uxth r6, r7
- rsb r3, r8, r6
+.L3064:
+ ldr fp, .L3083+20
+ mov r9, #0
+.L3065:
+ uxth r7, r8
+ sub r3, r7, r9
tst r3, #32768
- bne .L3114
- ldr r3, .L3127+24
- rsb r1, r8, r7
- ldrb r2, [r4, #2772] @ zero_extendqisi2
+ bne .L3070
+ ldr r3, .L3083+24
+ sub r1, r8, r9
+ ldrh r0, [r3]
+ ldrb r3, [r4, #-2546] @ zero_extendqisi2
+ mla r1, r6, r0, r1
+ str r3, [sp]
+ ldr r3, [r4, #-76]
+ ldr r2, [r4, #-44]
mov r0, r10
- 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, #212]
- ldr r3, .L3127+28
bl flash_read_page_en
cmp r0, #512
cmnne r0, #1
- ldr ip, [sp, #20]
- beq .L3110
- ldr r3, [ip, #1092]
+ beq .L3066
+ ldr r3, [r5, #1096]
+ ldr r2, .L3083+28
ldr r3, [r3]
- cmp r3, fp
- bne .L3110
- ldr r3, [r9, #-48]
+ cmp r3, r2
+ bne .L3066
+ ldr r3, [r4, #-76]
+ ldr r3, [r3, #8]
cmp r3, #0
- bne .L3111
-.L3114:
+ bne .L3067
+.L3070:
bl zftl_sblk_list_init
- ldr r3, [r4, #2804]
+ ldr r3, [r5, #2800]
ldrh r2, [r3, #140]
- cmp r2, r7
- bgt .L3113
- add r6, r6, #1
- strh r6, [r3, #140] @ movhi
+ cmp r2, r8
+ bgt .L3069
+ add r7, r7, #1
+ strh r7, [r3, #140] @ movhi
bl ftl_ext_info_flush
- b .L3113
-.L3111:
- ldrb r1, [ip, #2772] @ zero_extendqisi2
- ldr r0, [r9, #212]
- str r3, [sp, #20]
- mov r1, r1, asl #9
- bl js_hash
- ldr r3, [sp, #20]
- cmp r3, r0
- beq .L3114
- ldr r0, .L3127+32
- ldr r1, [r9, #-48]
- bl printk
-.L3110:
- add r8, r8, #1
- b .L3109
-.L3113:
- ldr r5, [r4, #1092]
+.L3069:
+ ldr r4, [r5, #1096]
bl timer_get_time
- ldr r3, .L3127+36
+ ldr r3, .L3083+32
umull r0, r1, r0, r3
- mov r3, r1, lsr #5
- str r3, [r5, #520]
- ldr r5, [r4, #1092]
+ lsr r3, r1, #5
+ str r3, [r4, #520]
+ ldr r4, [r5, #1096]
bl timer_get_time
- ldr r3, [r4, #1092]
+ ldr r3, [r5, #1096]
mov r2, #0
+ str r0, [r4, #604]
add r1, r3, #584
- str r0, [r5, #604]
str r2, [r3, #608]
mvn r2, #0
strh r2, [r1] @ movhi
@@ -18406,2066 +18719,2053 @@
strh r2, [r3, r1] @ movhi
movw r1, #65535
str r2, [r3, #564]
- ldr r2, [sp, #16]
+ ldr r2, [sp, #8]
str r1, [r3, #560]
ldr r2, [r2]
tst r2, #4096
- beq .L3116
- ldr r5, [r3, #520]
- ldr r4, [r3, #12]
+ beq .L3072
+ ldr r4, [r3, #520]
+ ldr r5, [r3, #12]
bl timer_get_time
- ldr r1, .L3127+16
- mov r2, r5
- mov r3, r4
+ mov r2, r4
str r0, [sp]
- ldr r0, .L3127+40
+ mov r3, r5
+ ldr r1, .L3083+12
+ ldr r0, .L3083+36
bl printk
-.L3116:
- ldr r3, .L3127+44
+.L3072:
+ ldr r3, .L3083+40
mvn r2, #0
mov r0, #0
- strh r2, [r3] @ movhi
- add sp, sp, #28
+ strh r2, [r3, #-4] @ movhi
+ add sp, sp, #20
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3128:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3067:
+ ldrb r1, [r4, #-2546] @ zero_extendqisi2
+ ldr r0, [r4, #-44]
+ str r3, [sp, #12]
+ lsl r1, r1, #9
+ bl js_hash
+ ldr r3, [sp, #12]
+ cmp r3, r0
+ beq .L3070
+ ldr r3, [r4, #-76]
+ mov r0, fp
+ ldr r1, [r3, #8]
+ bl printk
+.L3066:
+ add r9, r9, #1
+ b .L3065
+.L3084:
.align 2
-.L3127:
+.L3083:
.word .LANCHOR3
.word .LANCHOR0
.word .LANCHOR2
+ .word .LANCHOR1+2183
+ .word .LC191
.word .LC192
- .word .LANCHOR1+2384
+ .word .LANCHOR3-3074
.word 1162432070
- .word .LANCHOR3-3066
- .word .LANCHOR3-56
- .word .LC193
.word 1374389535
- .word .LC194
+ .word .LC193
.word .LANCHOR3-3152
.fnend
.size ftl_ext_info_init, .-ftl_ext_info_init
.align 2
.global ftl_prog_ppa_page
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_prog_ppa_page, %function
ftl_prog_ppa_page:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r4, lr}
- .save {r4, lr}
- .pad #8
- mov lr, r2
- ldr r2, .L3131
- mov ip, r0
- mov r4, r1
- ldrb r0, [r2, #1189] @ zero_extendqisi2
- mov r2, #1
+ ldr ip, .L3087
+ push {r0, r1, r2, r4, r5, lr}
+ .save {r4, r5, lr}
+ .pad #12
+ ldrb r5, [ip, #1153] @ zero_extendqisi2
+ mov ip, #1
str r3, [sp]
- mov r3, lr
- rsb r1, r0, #24
- mov r0, r2, asl r0
- sub r0, r0, #1
- and r0, r0, ip, lsr r1
- mov r1, r2, asl r1
- sub r1, r1, #1
- mov r2, r4
- and r1, r1, ip
- uxtb r0, r0
+ mov r3, r2
+ mov r2, r1
+ rsb r4, r5, #24
+ lsl lr, ip, r4
+ lsl ip, ip, r5
+ sub ip, ip, #1
+ sub lr, lr, #1
+ and ip, ip, r0, lsr r4
+ and r1, lr, r0
+ uxtb r0, ip
bl ftl_prog_page
- add sp, sp, #8
+ add sp, sp, #12
@ sp needed
- ldmfd sp!, {r4, pc}
-.L3132:
+ pop {r4, r5, pc}
+.L3088:
.align 2
-.L3131:
+.L3087:
.word .LANCHOR0
.fnend
.size ftl_prog_ppa_page, .-ftl_prog_ppa_page
.align 2
.global ftl_write_last_log_page
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_write_last_log_page, %function
ftl_write_last_log_page:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, lr}
+ ldrh r3, [r0, #6]
+ cmp r3, #1
+ bne .L3091
+ push {r4, r5, r6, r7, r8, lr}
.save {r4, r5, r6, r7, r8, lr}
mov r4, r0
- ldrh r3, [r0, #6]
- ldr r5, .L3138
- cmp r3, #1
+ ldr r5, .L3097
ldrh r8, [r0, #12]
- ldr r6, [r5, #-2548]
- bne .L3135
+ ldr r6, [r5, #-2556]
bl ftl_get_new_free_page
cmn r0, #1
mov r7, r0
- beq .L3136
+ beq .L3092
ldrh r0, [r4]
- add r6, r6, r8, asl #2
+ add r6, r6, r8, lsl #2
bl ftl_vpn_decrement
- ldr r3, .L3138+4
+ ldr r3, [r5, #-40]
mov r0, r6
- mov r4, #0
- str r3, [r5, #264]
+ ldr r2, .L3097+4
+ str r2, [r3]
sub r3, r5, #3088
- ldrh r1, [r3, #-8]
- ldrb r3, [r5, #-3123] @ zero_extendqisi2
- mul r1, r3, r1
- mov r1, r1, asl #2
+ ldrh r3, [r3, #-8]
+ ldrb r1, [r5, #-3127] @ zero_extendqisi2
+ ldr r4, [r5, #-40]
+ mul r1, r1, r3
+ lsl r1, r1, #2
bl js_hash
- mov r1, r5
- str r4, [r1, #280]!
+ ldr r1, [r5, #-40]
+ str r0, [r4, #4]
+ mov r4, #0
mov r2, r4
- str r4, [r5, #272]
- str r4, [r5, #276]
- str r0, [r5, #268]
mov r0, #2
+ str r4, [r1, #8]
+ str r4, [r1, #12]
+ str r4, [r1, #16]!
bl ftl_debug_info_fill
- ldr r3, .L3138+8
- mov r0, r7
+ ldrb r3, [r5, #-2546] @ zero_extendqisi2
mov r1, r6
- add r2, r5, #264
- ldrb r3, [r3, #2772] @ zero_extendqisi2
+ ldr r2, [r5, #-40]
+ mov r0, r7
bl ftl_prog_ppa_page
- b .L3136
-.L3135:
- mvn r0, #0
- ldmfd sp!, {r4, r5, r6, r7, r8, pc}
-.L3136:
+.L3092:
mov r0, #0
- ldmfd sp!, {r4, r5, r6, r7, r8, pc}
-.L3139:
+ pop {r4, r5, r6, r7, r8, pc}
+.L3091:
+ mvn r0, #0
+ bx lr
+.L3098:
.align 2
-.L3138:
+.L3097:
.word .LANCHOR3
.word -178307901
- .word .LANCHOR0
.fnend
.size ftl_write_last_log_page, .-ftl_write_last_log_page
.align 2
.global ftl_dump_write_open_sblk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_dump_write_open_sblk, %function
ftl_dump_write_open_sblk:
.fnstart
- @ args = 0, pretend = 0, frame = 72
+ @ args = 0, pretend = 0, frame = 64
@ frame_needed = 0, uses_anonymous_args = 0
- ldr r3, .L3182
- movw r2, #1076
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- mov r6, r0
- ldrh r2, [r3, r2]
- .pad #116
- sub sp, sp, #116
- cmp r2, r0
- bls .L3140
- mov fp, r3
- ldr r3, .L3182+4
- ldrb r2, [r3, #-3116] @ zero_extendqisi2
+ movw r3, #1080
+ ldr r4, .L3138
+ .pad #108
+ sub sp, sp, #108
+ ldrh r3, [r4, r3]
+ cmp r3, r0
+ bls .L3099
+ ldr r3, .L3138+4
+ ldrb r2, [r3, #-3120] @ zero_extendqisi2
cmp r2, #0
- bne .L3142
- ldrb r2, [r3, #-3122] @ zero_extendqisi2
+ bne .L3101
+ ldrb r2, [r3, #-3126] @ zero_extendqisi2
cmp r2, #0
- beq .L3140
-.L3142:
- ldrb r2, [fp, #1196] @ zero_extendqisi2
+ beq .L3099
+.L3101:
+ ldrb r2, [r4, #1158] @ zero_extendqisi2
cmp r2, #0
- bne .L3140
- ldr r2, .L3182
- mov r4, r6, asl #2
- add r1, sp, #96
- mov r0, r6
- strh r6, [sp, #80] @ movhi
- mov r5, #0
- ldr r2, [r2, #1080]
- mov r7, r5
- ldr r8, .L3182+8
- mov r9, r5
- add r2, r2, r4
+ bne .L3099
+ ldr r2, [r4, #1084]
+ lsl r7, r0, #2
+ ldr r5, .L3138+8
+ add r1, sp, #88
+ mov r10, r0
+ strh r0, [sp, #72] @ movhi
+ add r2, r2, r7
+ mov r6, #0
ldrb r2, [r2, #2] @ zero_extendqisi2
and r2, r2, #224
cmp r2, #160
- ldreqb r10, [r3, #-3124] @ zero_extendqisi2
- movne r10, #1
+ ldrbeq r8, [r3, #-3128] @ zero_extendqisi2
+ movne r8, #1
bl ftl_get_blk_list_in_sblk
- mov r2, r8
- ldrh r3, [r2, #-8]!
+ ldrh r3, [r5, #-8]
uxtb r0, r0
- strb r0, [sp, #89]
- str r2, [sp, #44]
+ strh r6, [sp, #74] @ movhi
+ strb r0, [sp, #81]
+ strb r6, [sp, #77]
smulbb r0, r3, r0
- ldr r2, [fp, #1080]
- strh r5, [sp, #82] @ movhi
- add r3, r2, r4
- strb r5, [sp, #85]
- strh r5, [sp, #90] @ movhi
- strh r0, [sp, #86] @ movhi
- ldrh r1, [r2, r4]
- ldrb r3, [r3, #2] @ zero_extendqisi2
- ubfx r1, r1, #0, #11
- str r1, [sp]
- ldr r2, [r2, r6, asl #2]
- mov r1, r6
- ldr r0, .L3182+12
- ubfx r2, r2, #11, #8
- str r2, [sp, #4]
- mov r2, r3, lsr #5
- ubfx r3, r3, #3, #2
+ ldr r3, [r4, #1084]
+ strh r6, [sp, #82] @ movhi
+ strh r0, [sp, #78] @ movhi
+ add r2, r3, r7
+ ldr r1, [r3, r10, lsl #2]
+ ldrb r2, [r2, #2] @ zero_extendqisi2
+ ldr r0, .L3138+12
+ ubfx r1, r1, #11, #8
+ str r1, [sp, #4]
+ mov r1, r10
+ ldrh r3, [r3, r7]
+ mov r7, r6
+ ubfx r3, r3, #0, #11
+ str r3, [sp]
+ ubfx r3, r2, #3, #2
+ lsr r2, r2, #5
bl printk
mov r0, #1
bl buf_alloc
- add r3, r8, #3088
mov r4, r0
- str r3, [sp, #48]
-.L3144:
- ldr r3, [sp, #44]
- uxth r8, r5
- ldrh r3, [r3]
- cmp r3, r8
- bls .L3167
- mov r3, r8, asl #1
- mov ip, #0
- add r2, r3, r8
- sub r3, r3, #1
- sub r2, r2, #1
- str r3, [sp, #60]
- str r2, [sp, #52]
-.L3155:
- ldrb r3, [sp, #89] @ zero_extendqisi2
- uxth r9, ip
- cmp r3, r9
- bls .L3179
- add r3, r9, #8
- mov r7, #1
- mov r3, r3, asl r7
+ add r3, r5, #16
+ str r6, [sp, #44]
str r3, [sp, #64]
-.L3154:
- cmp r7, r10
- 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 .L3146
- ldr r3, .L3182+16
- cmp r10, #3
+.L3103:
+ ldr r3, .L3138+16
+ uxth r5, r6
ldrh r3, [r3]
- mul r3, r3, r2
- 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 .L3149
- b .L3178
-.L3147:
- cmp r10, #2
- uxtahne r3, r3, r5
- bne .L3149
- ldr r1, [sp, #60]
-.L3178:
- add r3, r3, r1
- ldr r1, [sp, #48]
- add r3, r3, r7
- ldrb r1, [r1, #-3124] @ zero_extendqisi2
- orr r3, r3, r1, asl #24
-.L3149:
- str r3, [r4, #24]
- mov r0, r4
- mov r1, #1
- str ip, [sp, #76]
- str r2, [sp, #72]
- str r3, [sp, #68]
- bl sblk_read_page
- ldr lr, [r4, #36]
- sub r3, lr, #512
- cmp lr, #512
- cmnne lr, #1
- clz r3, r3
- mov r3, r3, lsr #5
- ldr r2, [sp, #72]
+ cmp r3, r5
+ bls .L3111
+ lsl r3, r5, #1
+ str r5, [sp, #52]
+ mov fp, #0
+ sub r2, r3, #1
+ add r3, r3, r5
+ sub r3, r3, #1
+ str r2, [sp, #48]
str r3, [sp, #56]
- ldr ip, [sp, #76]
- ldr r3, [sp, #68]
- bne .L3146
- ldr r0, [r4, #4]
- ldr r1, [r4, #12]
- str lr, [sp]
- ldr lr, [r0]
- str ip, [sp, #68]
- str lr, [sp, #4]
- ldr lr, [r0, #4]
- str lr, [sp, #8]
- ldr lr, [r0, #8]
- str lr, [sp, #12]
- ldr r0, [r0, #12]
- str r0, [sp, #16]
- ldr r0, [r1]
- str r0, [sp, #20]
- ldr r0, [r1, #4]
- str r0, [sp, #24]
- ldr r0, [r1, #8]
- str r0, [sp, #28]
- ldr r1, [r1, #12]
- ldr r0, .L3182+20
- str r1, [sp, #32]
- mov r1, r2
- mov r2, r8
- bl printk
- ldr r3, [sp, #56]
- ldr ip, [sp, #68]
- cmp r3, #0
- bne .L3167
-.L3146:
+ b .L3114
+.L3112:
+ ldr r2, [sp, #60]
+ add r3, sp, #104
+ add r3, r3, r2
+ ldrh r3, [r3, #-32]
+ str r3, [sp, #40]
+ movw r3, #65535
+ ldr r2, [sp, #40]
+ cmp r2, r3
+ bne .L3104
+.L3110:
add r7, r7, #1
uxth r7, r7
- b .L3154
-.L3180:
- add ip, ip, #1
- b .L3155
-.L3179:
- add r5, r5, #1
- b .L3144
-.L3167:
-.L3152:
- str r7, [sp]
- mov r3, r9
- ldr r7, .L3182
- mov r1, r6
- mov r2, r8
- ldr r0, .L3182+24
- bl printk
- mov r1, #0
- ldrb r2, [r7, #2772] @ zero_extendqisi2
- mov r5, r8
- ldr r0, [r4, #4]
- ldr r10, .L3182+28
- mov r2, r2, asl #9
- 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
-.L3156:
- ldrh r3, [r10]
- cmp r3, r5
- bls .L3162
- ldr r8, .L3182+4
- mov r7, #0
- mov r3, r5, asl #1
+.L3105:
+ cmp r8, r7
+ bcs .L3112
+ add fp, fp, #1
+.L3114:
+ uxth r3, fp
+ uxth r2, fp
str r3, [sp, #44]
-.L3163:
- ldrb r2, [sp, #89] @ zero_extendqisi2
- uxth r3, r7
- cmp r2, r3
- bls .L3181
- ldr r2, [r9]
- tst r2, #4096
- beq .L3157
- mov r2, r3
- ldr r0, .L3182+36
- mov r1, r5
- str r3, [sp, #48]
- bl printk
- ldr r3, [sp, #48]
-.L3157:
- ldrb ip, [r8, #-3116] @ zero_extendqisi2
- cmp ip, #0
- beq .L3158
- add r2, sp, #112
+ ldrb r3, [sp, #81] @ zero_extendqisi2
+ cmp r3, r2
+ bls .L3113
+ mov r7, #1
+ add r3, r2, #8
+ lsl r3, r3, r7
+ str r3, [sp, #60]
+ b .L3105
+.L3104:
+ ldr r3, [sp, #64]
+ cmp r8, #3
+ ldr r2, [sp, #40]
+ ldrh r3, [r3, #-2]
+ mul r3, r2, r3
+ bne .L3106
+ ldr r2, .L3138
+ ldrb r2, [r2, #1159] @ zero_extendqisi2
+ cmp r2, #0
+ uxtaheq r3, r3, r6
+ ldrne r2, [sp, #56]
+ orreq r3, r3, r7, lsl #24
+ beq .L3108
+.L3137:
+ add r3, r2, r3
+ ldr r2, .L3138+4
+ add r3, r3, r7
+ ldrb r2, [r2, #-3128] @ zero_extendqisi2
+ orr r3, r3, r2, lsl #24
+.L3108:
+ str r3, [r4, #24]
+ mov r1, #1
mov r0, r4
- add r3, r2, r3, asl #1
+ str r3, [sp, #68]
+ bl sblk_read_page
+ ldr r9, [r4, #36]
+ ldr r3, [sp, #68]
+ cmn r9, #1
+ cmpne r9, #512
+ bne .L3110
+ ldr r1, [r4, #12]
+ ldr r2, [r4, #4]
+ ldr r0, [r1, #12]
+ str r0, [sp, #32]
+ ldr r0, [r1, #8]
+ str r0, [sp, #28]
+ ldr r0, [r1, #4]
+ str r0, [sp, #24]
+ ldr r1, [r1]
+ ldr r0, .L3138+20
+ str r1, [sp, #20]
+ ldr r1, [r2, #12]
+ str r1, [sp, #16]
+ ldr r1, [r2, #8]
+ str r1, [sp, #12]
+ ldr r1, [r2, #4]
+ str r1, [sp, #8]
+ ldr r2, [r2]
+ ldr r1, [sp, #40]
+ str r9, [sp]
+ str r2, [sp, #4]
+ ldr r2, [sp, #52]
+ bl printk
+ cmp r9, #512
+ bne .L3110
+.L3111:
+ uxth r2, r6
+ ldr r6, .L3138+4
+ ldr r3, [sp, #44]
+ mov r1, r10
+ str r7, [sp]
+ ldr r0, .L3138+24
+ bl printk
+ ldrb r2, [r6, #-2546] @ zero_extendqisi2
+ mov r1, #0
+ ldr r0, [r4, #4]
+ ldr fp, .L3138+28
+ lsl r2, r2, #9
+ bl ftl_memset
+ ldrb r2, [r6, #-2546] @ zero_extendqisi2
+ mov r1, #0
+ ldr r0, [r4, #12]
+ lsl r2, r2, #1
+ bl ftl_memset
+.L3115:
+ ldr r7, .L3138+16
+ ldrh r3, [r7]
+ cmp r3, r5
+ bls .L3121
+ lsl r3, r5, #1
+ mov r8, #0
+ ldr r9, .L3138+32
+ add r7, r7, #24
+ str r3, [sp, #40]
+ b .L3122
+.L3106:
+ cmp r8, #2
+ uxtahne r3, r3, r6
+ bne .L3108
+ ldr r2, [sp, #48]
+ b .L3137
+.L3113:
+ add r6, r6, #1
+ b .L3103
+.L3120:
+ ldr r3, [fp]
+ tst r3, #4096
+ uxth r3, r8
+ beq .L3116
+ mov r2, r3
+ mov r1, r5
+ mov r0, r9
+ str r3, [sp, #44]
+ bl printk
+ ldr r3, [sp, #44]
+.L3116:
+ ldrb r2, [r6, #-3120] @ zero_extendqisi2
+ cmp r2, #0
+ beq .L3117
+ add r2, sp, #104
+ mov r0, r4
+ add r3, r2, r3, lsl #1
ldrh r2, [r3, #-16]
- ldr r3, .L3182+16
- ldrh r3, [r3]
+ ldrh r3, [r7, #-2]
mul r3, r3, r2
orr r3, r3, r5
str r3, [r4, #24]
bl sblk_3d_tlc_dump_prog
- 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, .L3182+16
- ldrh r3, [r3]
- mul r3, r3, r2
- bne .L3160
- ldr r2, [sp, #44]
+.L3118:
+ add r8, r8, #1
+.L3122:
+ ldrb r2, [sp, #81] @ zero_extendqisi2
+ uxth r3, r8
+ cmp r2, r3
+ bhi .L3120
+ add r5, r5, #1
+ uxth r5, r5
+ b .L3115
+.L3117:
+ ldrb r1, [r6, #-3128] @ zero_extendqisi2
+ cmp r1, #2
+ bne .L3119
+ add r2, sp, #104
mov r0, r4
+ add r3, r2, r3, lsl #1
+ ldrh r2, [r3, #-16]
+ ldrh r3, [r7, #-2]
+ mul r3, r3, r2
+ ldr r2, [sp, #40]
orr r3, r3, r2
orr r3, r3, #33554432
str r3, [r4, #24]
bl sblk_mlc_dump_prog
- b .L3159
-.L3160:
- ldrb r2, [fp, #1189] @ zero_extendqisi2
- orr r3, r3, r5
- mvn r0, #0
- ldrb lr, [fp, #2772] @ zero_extendqisi2
- rsb r1, r2, #24
- str r3, [r4, #24]
- mvn r2, r0, asl r2
- and r0, r2, r3, lsr r1
- str lr, [sp]
- bic r1, r3, r2, asl r1
- str ip, [sp, #4]
+ b .L3118
+.L3119:
+ add r1, sp, #104
+ ldrh ip, [r7, #-2]
+ add r3, r1, r3, lsl #1
+ ldrh r1, [r3, #-16]
+ ldr r3, .L3138
+ mul ip, ip, r1
+ ldrb r1, [r3, #1153] @ zero_extendqisi2
+ mvn r3, #0
+ rsb lr, r1, #24
+ orr ip, ip, r5
+ mvn r1, r3, lsl r1
+ str ip, [r4, #24]
+ str r2, [sp, #4]
+ and r0, r1, ip, lsr lr
+ ldrb r3, [r6, #-2546] @ zero_extendqisi2
+ bic r1, ip, r1, lsl lr
uxtb r0, r0
- ldr r2, [r4, #4]
+ str r3, [sp]
ldr r3, [r4, #12]
+ ldr r2, [r4, #4]
bl flash_prog_page_en
-.L3159:
- add r7, r7, #1
- b .L3163
-.L3181:
- add r5, r5, #1
- uxth r5, r5
- b .L3156
-.L3162:
+ b .L3118
+.L3121:
mov r0, r4
bl zbuf_free
- ldr r0, .L3182+40
- mov r1, r6
+ mov r1, r10
+ ldr r0, .L3138+36
bl printk
-.L3140:
- add sp, sp, #116
+.L3099:
+ add sp, sp, #108
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3183:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3139:
.align 2
-.L3182:
+.L3138:
.word .LANCHOR0
.word .LANCHOR3
.word .LANCHOR3-3088
- .word .LC195
- .word .LANCHOR3-3066
- .word .LC196
- .word .LC197
+ .word .LC194
.word .LANCHOR3-3096
+ .word .LC195
+ .word .LC196
.word .LANCHOR2
+ .word .LC197
.word .LC198
- .word .LC199
.fnend
.size ftl_dump_write_open_sblk, .-ftl_dump_write_open_sblk
.align 2
.global gc_ink_check_sblk
+ .syntax unified
+ .arm
+ .fpu softvfp
.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
+ push {r0, r1, r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
+ .pad #8
+ movw r3, #2106
+ ldr r4, .L3169
+ ldr r5, .L3169+4
+ ldrh r2, [r4, r3]
+ ldr r6, [r5, #904]
+ cmp r2, #3
+ ldrls pc, [pc, r2, asl #2]
+ b .L3141
+.L3143:
+ .word .L3142
+ .word .L3144
+ .word .L3145
+ .word .L3146
+.L3142:
+ ldr r8, .L3169+8
+ movw r3, #2788
ldrh r3, [r8, r3]
cmp r3, #7
- bls .L3184
- ldrb r3, [r8, #2774] @ zero_extendqisi2
+ bls .L3140
+ ldrb r3, [r8, #2769] @ zero_extendqisi2
cmp r3, #2
- bls .L3184
- ldr r0, .L3213+12
+ bls .L3140
+ ldr r7, .L3169+12
mov r1, #0
- bl _list_get_gc_head_node
movw r9, #65535
+ sub r6, r7, #3072
+ sub r6, r6, #8
+ mov r0, r6
+ bl _list_get_gc_head_node
cmp r0, r9
- beq .L3184
- ldr r3, [r8, #1080]
- mov r0, r0, asl #2
+ beq .L3140
+ ldr r3, [r8, #1084]
+ lsl r0, r0, #2
ldrh r3, [r3, r0]
ubfx r3, r3, #0, #11
cmp r3, #2
- bgt .L3184
+ bgt .L3140
mov r0, #1
- add r6, r8, #4096
bl buf_alloc
cmp r0, #0
- str r0, [r7, #908]
- beq .L3184
- ldr r0, .L3213+12
+ str r0, [r5, #904]
+ beq .L3140
+ mov r0, r6
+ ldr r2, .L3169+16
mov r1, #0
- ldr r2, .L3213+16
bl _list_pop_index_node
- uxth r5, r0
- cmp r5, r9
- bne .L3194
- ldr r0, [r6, #908]
+ uxth r10, r0
+ mov r6, r0
+ cmp r10, r9
+ bne .L3150
+ ldr r0, [r5, #904]
bl zbuf_free
mov r3, #0
- str r3, [r6, #908]
- b .L3184
-.L3194:
- ldr r1, .L3213+20
- mov r0, r5
+ str r3, [r5, #904]
+.L3140:
+ add sp, sp, #8
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L3150:
+ add r1, r4, #2144
+ mov r0, r10
+ add r1, r1, #14
+ uxth r6, r6
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 r10, [r4, r3] @ movhi
+ add r3, r4, #2144
strh r2, [r3] @ movhi
- movw r3, #2106
mov r2, #1
+ movw r3, #2106
+ lsl r6, r6, #2
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]
+ ldr r3, [r8, #1084]
+ strb r0, [r5, #879]
+ ldrb r2, [r7, #-2546] @ zero_extendqisi2
+ ldrh r3, [r3, r6]
tst r3, #1
- ldr r3, [r6, #908]
+ ldr r3, [r5, #904]
+ lsl r2, r2, #9
movne r1, #85
moveq r1, #170
ldr r0, [r3, #4]
- add sp, sp, #12
+ add sp, sp, #8
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ pop {r4, r5, r6, r7, r8, r9, r10, lr}
b ftl_memset
-.L3188:
+.L3144:
movw r3, #2142
mov r1, #0
ldrh r0, [r4, r3]
bl ftl_erase_sblk
- movw r3, #2106
mov r2, #2
+.L3168:
+ movw r3, #2106
+.L3166:
strh r2, [r4, r3] @ movhi
- b .L3184
-.L3189:
+ b .L3140
+.L3145:
+ ldr r8, .L3169+12
+ mov r7, #0
+ ldr r10, .L3169+20
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]
+ sub r9, r8, #3072
+.L3152:
+ ldrb r2, [r5, #879] @ zero_extendqisi2
+ uxth r3, r7
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
+ bhi .L3154
+ add r2, r4, #2144
+ ldr r1, .L3169+24
ldrh r3, [r2]
- ldrh r0, [r0, #-8]
+ ldrh r1, [r1, #-8]
+ add r3, r3, #1
+ uxth r3, r3
+ cmp r1, r3
+ strh r3, [r2] @ movhi
+ bhi .L3140
+ mov r3, #0
+ strh r3, [r2] @ movhi
+ mov r2, #3
+ b .L3168
+.L3154:
+ uxth r2, r7
+ add r3, r4, #2128
+ add r3, r3, #14
+ add r3, r3, r2, lsl #1
+ ldrh r1, [r3, #16]
+ movw r3, #65535
+ cmp r1, r3
+ beq .L3153
+ add r3, r4, #2144
+ ldrh ip, [r9, #-2]
+ ldrh r3, [r3]
+ mla ip, r1, ip, r3
+ ldr r3, [r6, #4]
+ str ip, [r3]
+ ldr r3, [r6, #4]
+ str r10, [r3, #4]
+ mov r3, #0
+ ldr r2, [r6, #12]
+ str r3, [r2]
+ ldr r2, .L3169+8
+ ldrb r1, [r2, #1153] @ zero_extendqisi2
+ mvn r2, #0
+ str r3, [sp, #4]
+ ldrb r3, [r8, #-2546] @ zero_extendqisi2
+ rsb lr, r1, #24
+ mvn r1, r2, lsl r1
+ str r3, [sp]
+ and r0, r1, ip, lsr lr
+ ldr r3, [r6, #12]
+ ldr r2, [r6, #4]
+ bic r1, ip, r1, lsl lr
+ uxtb r0, r0
+ bl flash_prog_page_en
+.L3153:
+ add r7, r7, #1
+ b .L3152
+.L3146:
+ add r10, r4, #2128
+ mov r9, #0
+ add r10, r10, #14
+ bl sblk_wait_write_queue_completed
+.L3155:
+ ldrb r2, [r5, #879] @ zero_extendqisi2
+ uxth r3, r9
+ cmp r2, r3
+ bhi .L3159
+ add r2, r4, #2144
+ ldrh r3, [r2]
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
+ ldr r2, .L3169+24
+ ldrh r2, [r2, #-8]
+ cmp r2, r3
+ bhi .L3140
+ movw r3, #2106
+ mov r6, #0
+ ldr r0, [r5, #904]
+ strh r6, [r4, r3] @ movhi
+ bl zbuf_free
+ movw r2, #2108
+ str r6, [r5, #904]
+ ldrh r3, [r4, r2]
+ cmp r3, #15
+ bhi .L3160
+ add r1, r3, #1
+ add r3, r3, #1040
+ strh r1, [r4, r2] @ movhi
+ movw r2, #2142
+ add r3, r3, #12
+ ldrh r2, [r4, r2]
+ add r3, r4, r3, lsl #1
+ strh r2, [r3, #6] @ movhi
+.L3161:
+ movw r3, #2108
+ ldr r0, .L3169+28
+ ldrh r2, [r4, r3]
+ movw r3, #2142
+ ldrh r1, [r4, r3]
+ add sp, sp, #8
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, lr}
+ b printk
+.L3159:
+ uxth r7, r9
movw r2, #65535
- add r5, r5, #2144
- add r5, r5, #14
- ldrh r3, [r5]
+ add r7, r7, #8
+ lsl r7, r7, #1
+ ldrh r3, [r10, r7]
cmp r3, r2
- beq .L3201
- ldrh r2, [r10]
- mov r0, r6
- ldrh r8, [r9]
+ beq .L3157
+ ldr r2, .L3169+32
mov r1, #1
- mla r8, r8, r3, r2
+ mov r0, r6
+ ldrh r8, [r2]
+ add r2, r4, #2144
+ ldrh r2, [r2]
+ mla r8, r3, r8, r2
str r8, [r6, #24]
bl sblk_read_page
ldr r3, [r6, #4]
ldr r3, [r3]
- cmp r3, r8
- beq .L3201
+ cmp r8, r3
+ beq .L3157
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:
+ strh r3, [r10, r7] @ movhi
+.L3157:
+ add r9, r9, #1
+ b .L3155
+.L3160:
movw r3, #2142
- ldrh r0, [r5, r3]
+ ldrh r0, [r4, 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:
+ b .L3161
+.L3141:
+ mov r2, #0
+ b .L3166
+.L3170:
.align 2
-.L3213:
- .word .LANCHOR0+2828
+.L3169:
+ .word .LANCHOR0+2824
.word .LANCHOR0+4096
.word .LANCHOR0
- .word .LANCHOR3-3072
- .word .LANCHOR0+2792
- .word .LANCHOR0+4986
- .word .LANCHOR0+4972
- .word .LANCHOR3-3066
+ .word .LANCHOR3
+ .word .LANCHOR0+2788
.word 1437269760
.word .LANCHOR3-3088
- .word .LC200
+ .word .LC199
+ .word .LANCHOR3-3074
.fnend
.size gc_ink_check_sblk, .-gc_ink_check_sblk
.align 2
.global ftl_ink_check_sblk
+ .syntax unified
+ .arm
+ .fpu softvfp
.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}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ lsl r9, r0, #2
+ ldr r6, .L3190
+ mov r5, r0
+ mov r1, r0
.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
+ ldr r2, [r6, #1084]
+ ldr r3, [r2, r0, lsl #2]
+ ldrh r2, [r2, r9]
+ ldr r0, .L3190+4
ubfx r3, r3, #11, #8
+ ubfx r2, r2, #0, #11
bl printk
movw r3, #65535
cmp r5, r3
- beq .L3215
- movw r3, #1076
+ beq .L3171
+ movw r3, #1080
ldrh r3, [r6, r3]
cmp r3, r5
- bls .L3215
+ bls .L3171
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
+ mov r8, #0
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]
+ ldr r3, [r6, #1084]
mov r4, r0
+ ldr r10, .L3190+8
+ ldr fp, .L3190+12
+ ldrh r3, [r3, r9]
+ ldrb r2, [r10, #-2546] @ zero_extendqisi2
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
+ lsl r2, r2, #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
+.L3175:
+ ldr r3, .L3190+16
+ ldrh r2, [r3]
+ uxth r3, r8
cmp r2, r3
- bls .L3235
+ bls .L3178
+ mov r7, #0
+ b .L3179
+.L3177:
+ uxth r3, r7
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]
+ add r3, r2, r3, lsl #1
+ ldrh r1, [r3, #-16]
+ movw r3, #65535
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
+ beq .L3176
+ ldr r3, .L3190+20
+ ldrh ip, [r3]
+ uxth r3, r8
+ mla ip, r1, ip, r3
+ ldr r3, [r4, #4]
+ str ip, [r3]
+ ldr r3, [r4, #4]
+ str fp, [r3, #4]
+ mov r3, #0
+ ldr r2, [r4, #12]
+ str r3, [r2]
+ mvn r2, #0
+ ldrb r1, [r6, #1153] @ zero_extendqisi2
+ str r3, [sp, #4]
+ ldrb r3, [r10, #-2546] @ zero_extendqisi2
+ rsb lr, r1, #24
+ mvn r1, r2, lsl r1
+ str r3, [sp]
+ and r0, r1, ip, lsr lr
+ ldr r3, [r4, #12]
+ ldr r2, [r4, #4]
+ bic r1, ip, r1, lsl lr
+ uxtb r0, r0
+ bl flash_prog_page_en
+.L3176:
+ add r7, r7, #1
+.L3179:
+ ldrb r2, [sp, #25] @ zero_extendqisi2
+ uxth r3, r7
+ cmp r2, r3
+ bhi .L3177
+ add r8, r8, #1
+ b .L3175
+.L3178:
+ mov r10, #0
+.L3180:
+ ldr r3, .L3190+24
+ uxth r2, r10
+ ldrh r1, [r3, #-8]
+ cmp r1, r2
+ bls .L3185
+ mov fp, #0
+ str r2, [sp, #12]
+ b .L3186
+.L3184:
+ uxth r7, fp
add r3, sp, #48
- add r7, r3, r7, asl #1
+ add r7, r7, #8
+ add r7, r3, r7, lsl #1
movw r3, #65535
ldrh r1, [r7, #-32]
cmp r1, r3
- beq .L3225
- ldr r3, .L3238+16
- mov r0, r4
- ldrh r8, [r3]
+ beq .L3182
+ ldr r0, .L3190+20
ldr r3, [sp, #12]
- mla r8, r8, r1, r3
+ ldrh r8, [r0]
+ mov r0, r4
+ mla r8, r1, r8, r3
mov r1, #1
str r8, [r4, #24]
bl sblk_read_page
ldr r1, [r4, #4]
ldr r1, [r1]
- cmp r1, r8
- beq .L3225
+ cmp r8, r1
+ beq .L3182
mov r0, r8
bl ftl_mask_bad_block
mvn r1, #0
strh r1, [r7, #-32] @ movhi
-.L3225:
- add r9, r9, #1
- b .L3228
-.L3237:
+.L3182:
+ add fp, fp, #1
+.L3186:
+ ldrb r0, [sp, #25] @ zero_extendqisi2
+ uxth r1, fp
+ cmp r0, r1
+ bhi .L3184
add r10, r10, #1
- b .L3223
-.L3236:
+ b .L3180
+.L3185:
mov r0, r4
bl zbuf_free
- ldr r3, [r6, #1080]
- ldr r0, .L3238+20
+ ldr r2, [r6, #1084]
mov r1, r5
- ldr r2, [sp, #8]
- ldrh r2, [r3, r2]
- ldr r3, [r3, r5, asl #2]
- ubfx r2, r2, #0, #11
+ ldr r0, .L3190+28
+ ldr r3, [r2, r5, lsl #2]
+ ldrh r2, [r2, r9]
ubfx r3, r3, #11, #8
+ ubfx r2, r2, #0, #11
bl printk
-.L3215:
+.L3171:
add sp, sp, #52
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3239:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3191:
.align 2
-.L3238:
+.L3190:
.word .LANCHOR0
- .word .LC201
- .word .LANCHOR3-3096
+ .word .LC200
+ .word .LANCHOR3
.word 1437269760
- .word .LANCHOR3-3066
- .word .LC202
+ .word .LANCHOR3-3096
+ .word .LANCHOR3-3074
+ .word .LANCHOR3-3088
+ .word .LC201
.fnend
.size ftl_ink_check_sblk, .-ftl_ink_check_sblk
.align 2
.global ftl_alloc_sblk
+ .syntax unified
+ .arm
+ .fpu softvfp
.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}
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
uxth r5, r0
cmp r0, #5
mov r9, r0
mov r1, r5
mov r0, #0
- movne r7, #0
- moveq r7, #2
+ movne r8, #0
+ moveq r8, #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
+ cmp r0, r3
+ beq .L3194
+ ldr r6, .L3212
+ lsl r7, r0, #2
+ ldr r5, [r6, #1084]
+ add r5, r5, r7
ldrb r3, [r5, #2] @ zero_extendqisi2
tst r3, #224
- beq .L3243
- ldr r1, .L3256+4
+ beq .L3195
mov r2, #1012
- ldr r0, .L3256+8
+ ldr r1, .L3212+4
+ ldr r0, .L3212+8
bl printk
bl dump_stack
-.L3243:
+.L3195:
ldrb r3, [r5, #2] @ zero_extendqisi2
bfi r3, r9, #5, #3
uxtb r3, r3
ubfx r2, r3, #3, #2
- orr r2, r7, r2
+ orr r2, r8, r2
bfi r3, r2, #3, #2
+ clz r2, r8
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]
+ lsr r2, r2, #5
+ and r1, r3, #24
+ cmp r1, #24
+ cmpeq r8, #0
+ moveq r1, #1
+ bfieq r3, r1, #3, #2
+ strbeq r3, [r5, #2]
+ ldr r3, [r6, #2800]
ldrh r3, [r3, #150]
cmp r3, #0
- beq .L3247
- ldr r3, .L3256
- mov r0, r4
- ldr r3, [r3, #1080]
- ldrh r3, [r3, r8]
+ beq .L3197
+ ldr r3, [r6, #1084]
+ ldrh r3, [r3, r7]
ubfx r3, r3, #0, #11
- orrs r3, r7, r3
- bne .L3248
+ cmp r3, #0
+ movne r2, #0
+ andeq r2, r2, #1
+ cmp r2, #0
+ beq .L3197
+ mov r0, r4
bl ftl_ink_check_sblk
- b .L3247
-.L3242:
+.L3197:
+ mov r0, r4
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L3194:
bl print_ftl_debug_info
- mov r1, r4
mov r2, r9
- ldr r0, .L3256+12
+ mov r1, r4
+ ldr r0, .L3212+12
bl printk
mov r1, r5
mov r0, #0
bl zftl_get_free_sblk
mov r2, r9
+ mov r1, r0
mov r4, r0
- ldr r0, .L3256+12
- mov r1, r4
+ ldr r0, .L3212+12
bl printk
bl dump_all_list_info
- ldr r1, .L3256+4
movw r2, #1031
- ldr r0, .L3256+8
+ ldr r1, .L3212+4
+ ldr r0, .L3212+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:
+ b .L3197
+.L3213:
.align 2
-.L3256:
+.L3212:
.word .LANCHOR0
- .word .LANCHOR1+2404
+ .word .LANCHOR1+2201
.word .LC0
- .word .LC203
+ .word .LC202
.fnend
.size ftl_alloc_sblk, .-ftl_alloc_sblk
.align 2
.global ftl_open_sblk_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.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}
+ push {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:
+ ldr r5, .L3222
+ mov r6, r1
+ mov r7, #0
+ sub r8, r5, #3088
+.L3215:
movw r10, #65535
-.L3260:
- mov r0, r5
+.L3216:
+ mov r0, r6
bl ftl_alloc_sblk
cmp r0, r10
mov r9, r0
- beq .L3260
+ beq .L3216
mov r1, #0
- ldr fp, .L3266+8
+ ldr fp, .L3222+4
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
+ cmp r6, #2
+ ldrh r2, [r8, #-8]
+ uxtb r0, r0
+ ldrbne r3, [r5, #-3127] @ zero_extendqisi2
+ moveq r3, #0
+ ldrb r1, [r5, #-3127] @ zero_extendqisi2
+ lsl r10, r9, #1
+ strb r0, [r4, #9]
+ smulbb r0, r0, r2
+ strh r7, [r4, #2] @ movhi
+ smulbbne r3, r3, r2
+ strb r7, [r4, #5]
+ mul r2, r2, r1
+ strh r7, [r4, #10] @ movhi
+ strh r0, [r4, #6] @ movhi
mov r1, #255
+ ldr r0, [r5, #-2556]
+ uxthne r3, r3
+ strb r6, [r4, #4]
+ strh r3, [r4, #12] @ movhi
+ lsl r2, r2, #2
+ add r0, r0, r3, lsl #2
bl ftl_memset
- ldr r3, [fp, #1088]
+ ldr r3, [fp, #1092]
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
+ popne {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
mov r1, r9
+ ldr r0, .L3222+8
bl printk
- ldr r3, [fp, #1088]
+ ldr r3, [fp, #1092]
mvn r2, #0
strh r2, [r3, r10] @ movhi
mov r3, #7
strb r3, [r4, #4]
- b .L3259
-.L3267:
+ b .L3215
+.L3223:
.align 2
-.L3266:
+.L3222:
.word .LANCHOR3
- .word .LANCHOR3-3096
.word .LANCHOR0
- .word .LC204
+ .word .LC203
.fnend
.size ftl_open_sblk_init, .-ftl_open_sblk_init
.align 2
.global pm_alloc_new_blk
+ .syntax unified
+ .arm
+ .fpu softvfp
.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}
+ push {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]
+ movw r1, #690
+ ldr r4, .L3242
+ ldr r7, .L3242+4
+ ldr r2, [r4, #2800]
+ ldrh r3, [r2, r1]
add r3, r3, #1
uxth r3, r3
- strh r3, [r4, r2] @ movhi
- ldrb r2, [r7, #-3123] @ zero_extendqisi2
- cmp r2, r3
- bls .L3269
+ strh r3, [r2, r1] @ movhi
+ ldrb r1, [r7, #-3127] @ zero_extendqisi2
+ cmp r1, r3
+ bls .L3225
add r3, r3, #336
- mov r3, r3, asl #1
- ldrh r2, [r4, r3]
+ lsl r3, r3, #1
+ ldrh r2, [r2, r3]
movw r3, #65535
cmp r2, r3
- bne .L3270
-.L3269:
- ldr r4, .L3286
+ bne .L3226
+.L3225:
+ ldr r5, .L3242+8
movw r8, #65535
-.L3271:
+.L3227:
mov r0, #1
bl ftl_alloc_sblk
cmp r0, r8
mov r6, r0
- beq .L3271
+ beq .L3227
mov r1, #0
bl ftl_erase_sblk
- ldr r1, [r5, #2804]
+ ldr r1, [r4, #2800]
mov r0, r6
add r1, r1, #672
bl ftl_get_blk_list_in_sblk
uxth r0, r0
cmp r0, #0
- bne .L3272
+ bne .L3228
mov r1, r6
- ldr r0, .L3286+8
+ mov r0, r5
bl printk
- ldr r3, [r4, #1080]
- add r6, r3, r6, asl #2
+ ldr r3, [r4, #1084]
+ add r6, r3, r6, lsl #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
+ b .L3227
+.L3228:
+ ldr r2, [r4, #2800]
+ movw r3, #690
+ mov r5, #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
+ strh r5, [r2, r3] @ movhi
+ add r2, r2, #416
+ mov r3, #1
+ str r3, [r7, #-36]
+.L3230:
+ ldrh r0, [r2], #2
+ uxth r3, r5
cmp r0, r1
- beq .L3273
- add r4, r4, #1
- cmp r4, #128
- bne .L3274
+ beq .L3229
+ add r5, r5, #1
+ cmp r5, #128
+ bne .L3230
mov r2, #264
- ldr r1, .L3286+12
- ldr r0, .L3286+16
+ ldr r1, .L3242+12
+ ldr r0, .L3242+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
+ mov r3, r5
+.L3229:
+ ldr r2, [r4, #2800]
+ add r3, r3, #208
+ lsl r3, r3, #1
+ strh r6, [r2, r3] @ movhi
+ add r3, r2, #688
ldrh r2, [r3]
add r2, r2, #1
strh r2, [r3] @ movhi
-.L3270:
- ldr r2, [r5, #2804]
+.L3226:
+ ldr r2, [r4, #2800]
movw r3, #690
ldrh r3, [r2, r3]
add r3, r3, #336
- mov r3, r3, asl #1
- ldrh r4, [r2, r3]
+ lsl r3, r3, #1
+ ldrh r5, [r2, r3]
movw r2, #65533
- sub r3, r4, #1
+ sub r3, r5, #1
uxth r3, r3
cmp r3, r2
- bls .L3276
- ldr r1, .L3286+12
+ bls .L3232
movw r2, #270
- ldr r0, .L3286+16
+ ldr r1, .L3242+12
+ ldr r0, .L3242+16
bl printk
bl dump_stack
-.L3276:
- ldr r1, [r5, #2804]
+.L3232:
+ ldr r1, [r4, #2800]
mov r2, #0
+ movw r0, #694
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
+ ldr r3, .L3242+20
+ ldrb r2, [r4, #1153] @ zero_extendqisi2
+ ldrh r3, [r3, #-2]
+ rsb r2, r2, #24
+ sub r2, r2, r3
+ asr r3, r5, r2
+ strh r3, [r1, r0] @ movhi
add r1, r1, #692
- strh r4, [r1] @ movhi
- ldr r2, [r2]
- tst r2, #4096
- beq .L3280
- mvn r2, #0
+ strh r5, [r1] @ movhi
+ ldr r1, .L3242+24
+ ldr r1, [r1]
+ tst r1, #4096
+ beq .L3236
uxth r3, r3
- ldr r0, .L3286+28
- mov r1, r4
+ mvn r1, #0
+ mvn r2, r1, lsl r2
+ ldr r0, .L3242+28
str r3, [sp]
- mvn r2, r2, asl r5
- mov r3, r4
+ mov r1, r5
+ mov r3, r5
bl printk
-.L3280:
+.L3236:
mov r0, #0
add sp, sp, #8
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, pc}
-.L3287:
+ pop {r4, r5, r6, r7, r8, pc}
+.L3243:
.align 2
-.L3286:
+.L3242:
.word .LANCHOR0
.word .LANCHOR3
- .word .LC204
- .word .LANCHOR1+2420
+ .word .LC203
+ .word .LANCHOR1+2216
.word .LC0
- .word .LANCHOR3-3120
+ .word .LANCHOR3-3136
.word .LANCHOR2
- .word .LC205
+ .word .LC204
.fnend
.size pm_alloc_new_blk, .-pm_alloc_new_blk
.align 2
.global pm_write_page
+ .syntax unified
+ .arm
+ .fpu softvfp
.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]
+ push {r0, r1, r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
+ .pad #8
+ mov r5, r0
+ ldr r9, .L3258
+ mov r8, r1
+ mov r7, r9
+.L3245:
+ ldr r3, [r9, #2800]
ldr r2, [r3, #48]
add r2, r2, #1
str r2, [r3, #48]
add r2, r3, #696
ldrh r1, [r2]
- ldrh r2, [r9]
+ ldr r2, .L3258+4
+ ldrh r2, [r2]
cmp r1, r2
- bcs .L3290
+ bcs .L3246
add r3, r3, #692
ldrh r2, [r3]
movw r3, #65535
cmp r2, r3
- bne .L3291
-.L3290:
+ bne .L3247
+.L3246:
bl pm_alloc_new_blk
mov r0, #0
bl ftl_info_flush
-.L3291:
- ldr r3, [r4, #2804]
+.L3247:
+ ldr r3, [r7, #2800]
add r3, r3, #692
ldrh r2, [r3]
movw r3, #65535
cmp r2, r3
- bne .L3292
- ldr r1, .L3302+8
+ bne .L3248
movw r2, #303
- ldr r0, .L3302+12
+ ldr r1, .L3258+8
+ ldr r0, .L3258+12
bl printk
bl dump_stack
-.L3292:
- ldr r3, [r4, #2804]
- ldr r5, .L3302+16
+.L3248:
+ ldr r3, [r7, #2800]
+ mov r1, #0
+ ldr r4, .L3258+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
+ ldrh r6, [r2]
+ sub r2, r4, #3072
+ ldrh r2, [r2, #-2]
+ ldrh r3, [r3]
+ ldr r0, [r4, #-32]
+ mla r6, r2, r6, r3
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, [r4, #-32]
+ mov r0, r8
+ str r5, [r3]
+ ldr r3, [r7, #2800]
+ ldrb r1, [r4, #-2546] @ zero_extendqisi2
+ ldr r10, [r4, #-32]
ldr r3, [r3, #48]
- mov r1, r1, asl #9
- str r3, [fp, #4]
+ lsl r1, r1, #9
+ str r3, [r10, #4]
bl js_hash
- ldr r3, [r4, #2804]
- mov r1, r10
- mov r2, r7
- str r0, [fp, #8]
+ ldr r3, [r7, #2800]
+ mov r2, r8
+ str r0, [r10, #8]
+ mov r1, r6
ldrb r0, [r3, #694] @ zero_extendqisi2
- ldrb r3, [r4, #2772] @ zero_extendqisi2
+ ldrb r3, [r4, #-2546] @ zero_extendqisi2
str r3, [sp]
- ldr r3, [r5, #524]
+ ldr r3, [r4, #-32]
bl ftl_prog_page
- ldr r2, [r4, #2804]
+ ldr r2, [r7, #2800]
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
+ strh r3, [r1] @ movhi
+ beq .L3249
+ ldrb r3, [r4, #-28] @ zero_extendqisi2
cmp r3, #0
- beq .L3294
-.L3293:
+ beq .L3250
+.L3249:
mov r3, #0
- strb r3, [r5, #528]
- b .L3289
-.L3294:
+ strb r3, [r4, #-28]
+ b .L3245
+.L3250:
cmn r0, #1
- bne .L3296
- mov r1, r10
- ldr r0, .L3302+24
+ bne .L3252
+ mov r1, r6
+ ldr r0, .L3258+20
bl printk
- b .L3289
-.L3296:
+ b .L3245
+.L3252:
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
+ cmp r5, r3
+ addcc r5, r5, #176
+ strcc r6, [r2, r5, lsl #2]
+ add sp, sp, #8
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3303:
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L3259:
.align 2
-.L3302:
+.L3258:
.word .LANCHOR0
.word .LANCHOR3-3096
- .word .LANCHOR1+2440
+ .word .LANCHOR1+2233
.word .LC0
.word .LANCHOR3
- .word .LANCHOR3-3066
- .word .LC206
+ .word .LC205
.fnend
.size pm_write_page, .-pm_write_page
.align 2
.global flash_info_flush
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_info_flush, %function
flash_info_flush:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- ldr r3, .L3318
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ ldr r3, .L3273
+ push {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 .L3305
- ldr r0, .L3318+4
+ beq .L3261
+ ldr r2, .L3273+4
movw r1, #365
- ldr r2, .L3318+8
+ ldr r0, .L3273+8
bl printk
-.L3305:
- ldr r5, .L3318+12
- mov r1, #0
- ldr r6, .L3318+16
+.L3261:
+ ldr r4, .L3273+12
mov r2, #64
- add r8, r5, #536
- mov r9, #0
- ldr r0, [r5, #532]
- mov r7, r5
+ ldr r5, .L3273+16
+ mov r1, #0
+ ldr r9, .L3273+20
+ mov r7, #0
+ ldr r0, [r4, #-24]
+ mov r10, r7
bl ftl_memset
- ldr r0, .L3318+20
- ldr r1, [r6, #1176]
- mov r2, #4
mov r3, #16
- mov r10, r8
+ mov r2, #4
+ ldr r1, [r5, #1040]
+ ldr r0, .L3273+24
bl rknand_print_hex
- ldr r4, [r6, #1176]
- add r0, r4, #16
- ldr r1, [r4, #8]
+ ldr r8, .L3273+28
+ ldr r6, [r5, #1040]
+ ldr r1, [r6, #8]
+ add r0, r6, #16
bl js_hash
- str r0, [r4, #12]
-.L3306:
- ldrb r3, [r5, #536] @ zero_extendqisi2
- ldrh r4, [r8, #2]
- ldrh ip, [r6, #2]
- mov r1, r3
- ldr r0, .L3318+24
- mov r2, r4
- str r3, [sp, #8]
- str ip, [sp, #12]
+ str r0, [r6, #12]
+.L3262:
+ ldrb r6, [r4, #-20] @ zero_extendqisi2
+ mov r0, r9
+ ldrh fp, [r4, #-18]
+ ldrh r3, [r5, #2]
+ mov r1, r6
+ mov r2, fp
+ str r3, [sp, #12]
bl printk
- ldrh r2, [r5, #-220]
- ldrh r0, [r8, #2]
+ ldrh r2, [r4, #-224]
+ ldrh r0, [r4, #-18]
+ ldr r3, [sp, #12]
sub r2, r2, #1
- ldr fp, .L3318+16
cmp r0, r2
- ldr r3, [sp, #8]
- ldr ip, [sp, #12]
- blt .L3307
- ldr r4, [fp, #1176]
- ldrb r2, [r7, #537] @ zero_extendqisi2
- ldr r3, [r4, #4]
- mov r0, r4
+ blt .L3263
+ ldr r6, [r5, #1040]
+ ldrb r2, [r4, #-19] @ zero_extendqisi2
+ strh r10, [r4, #-18] @ movhi
+ ldr r3, [r6, #4]
+ mov r0, r6
add r3, r3, #1
- str r3, [r4, #4]
- ldrb r3, [r7, #536] @ zero_extendqisi2
- strb r2, [r7, #536]
- ldrh r2, [r4, #16]
- strb r3, [r7, #537]
- mov r3, #0
- add r2, r2, #1
- strh r2, [r0, #16]! @ movhi
- ldr r1, [r4, #8]
- strh r3, [r8, #2] @ movhi
- str r3, [sp, #8]
+ str r3, [r6, #4]
+ ldrb r3, [r4, #-20] @ zero_extendqisi2
+ strb r2, [r4, #-20]
+ strb r3, [r4, #-19]
+ ldrh r3, [r6, #16]
+ add r3, r3, #1
+ strh r3, [r0, #16]! @ movhi
+ ldr r1, [r6, #8]
bl js_hash
- 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 .L3316
-.L3307:
- cmp r0, #0
- mla r4, ip, r3, r4
- bne .L3308
-.L3316:
- mov r1, r4
- bl flash_erase_block
-.L3308:
- ldr r2, [r6, #1176]
- mov fp, #1
- ldr r3, [r5, #532]
+ ldrb r3, [r4, #-20] @ zero_extendqisi2
+ str r0, [r6, #12]
mov r0, #0
- mov r1, r4
+ ldrh r6, [r5, #2]
+ mul r6, r6, r3
+ mov r1, r6
+.L3272:
+ bl flash_erase_block
+.L3264:
+ ldr r2, [r5, #1040]
+ mov fp, #1
+ ldr r3, [r4, #-24]
+ mov r1, r6
+ mov r0, #0
ldr r2, [r2, #4]
str r2, [r3]
- ldr r2, .L3318+28
- ldr r3, [r5, #532]
- str r2, [r3, #4]
mov r2, #4
- stmia sp, {r2, fp}
- ldr r2, [r6, #1176]
+ ldr r3, [r4, #-24]
+ str r8, [r3, #4]
+ stm sp, {r2, fp}
+ ldr r2, [r5, #1040]
bl flash_prog_page_en
- ldrh r3, [r10, #2]
- add r3, r3, fp
- strh r3, [r10, #2] @ movhi
+ ldrh r3, [r4, #-18]
cmn r0, #1
- bne .L3309
- mov r1, r4
- ldr r0, .L3318+32
+ add r3, r3, fp
+ strh r3, [r4, #-18] @ movhi
+ bne .L3265
+ mov r1, r6
+ ldr r0, .L3273+32
bl printk
- b .L3306
-.L3309:
- cmp r9, #0
- moveq r9, fp
- beq .L3306
-.L3317:
+ b .L3262
+.L3267:
+ mov r7, fp
+ b .L3262
+.L3263:
+ cmp r0, #0
+ mla r6, r6, r3, fp
+ bne .L3264
+ mov r1, r6
+ b .L3272
+.L3265:
+ cmp r7, #0
+ beq .L3267
mov r0, #0
add sp, sp, #20
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3319:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3274:
.align 2
-.L3318:
+.L3273:
.word .LANCHOR2
- .word .LC138
- .word .LANCHOR1+2456
+ .word .LANCHOR1+2247
+ .word .LC135
.word .LANCHOR3
.word .LANCHOR0
.word .LC207
- .word .LC208
+ .word .LC206
.word 1398362953
- .word .LC209
+ .word .LC208
.fnend
.size flash_info_flush, .-flash_info_flush
.align 2
.global flash_info_blk_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flash_info_blk_init, %function
flash_info_blk_init:
.fnstart
- @ args = 0, pretend = 0, frame = 8
+ @ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- ldr r3, .L3353
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ ldr r3, .L3307
+ push {r0, r1, r2, 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
+ .pad #12
+ ldr r4, .L3307+4
ldr r3, [r3]
- ldr r6, .L3353+4
tst r3, #4096
- beq .L3321
- ldr r3, [r6, #1176]
+ beq .L3276
+ ldr r3, [r4, #1040]
mov r1, #50
- ldr r0, .L3353+8
- ldr r2, .L3353+12
+ ldr r2, .L3307+8
+ ldr r0, .L3307+12
str r3, [sp]
mov r3, #2048
bl printk
-.L3321:
- ldr ip, .L3353+4
+.L3276:
+ ldr r5, .L3307+16
mov r7, #4
- ldr fp, .L3353+16
-.L3322:
- mov r5, #0
-.L3325:
- ldrh r1, [r6, #2]
- mov r8, #4
- ldr r4, .L3353+20
+ ldr r8, .L3307+20
+.L3280:
+ mov r6, #0
+.L3279:
+ ldrh r1, [r4, #2]
+ mov r9, #4
+ str r9, [sp]
mov r0, #0
- str r8, [sp]
- mla r1, r1, r7, r5
- ldr r2, [r6, #1176]
- ldr r3, [r4, #532]
- str ip, [sp, #12]
+ ldr r3, [r5, #-24]
+ ldr r2, [r4, #1040]
+ mla r1, r7, r1, r6
bl flash_read_page_en
- ldr r9, .L3353+4
cmn r0, #1
- ldr ip, [sp, #12]
- beq .L3323
- ldr r2, [ip, #1176]
- ldr r10, .L3353+16
+ beq .L3277
+ ldr r2, [r4, #1040]
ldr r3, [r2]
- cmp r3, fp
- beq .L3324
-.L3323:
- add r5, r5, #1
- cmp r5, #4
- bne .L3325
+ cmp r3, r8
+ beq .L3278
+.L3277:
+ add r6, r6, #1
+ cmp r6, #4
+ bne .L3279
add r7, r7, #1
cmp r7, #16
- bne .L3322
- b .L3334
-.L3324:
- ldrb r1, [r2, #37] @ zero_extendqisi2
+ bne .L3280
+.L3306:
+ mvn r0, #0
+.L3275:
+ add sp, sp, #12
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3287:
+ str r9, [sp]
+ sub r1, r10, r7
+ ldr r3, [r5, #-24]
mov r0, #0
- ldrb r3, [r2, #36] @ zero_extendqisi2
- strb r1, [r4, #537]
- ldrh r1, [r9, #2]
- strb r3, [r4, #536]
- str r8, [sp]
- mul r1, r1, r3
- ldr r3, [r4, #532]
+ ldr r2, [r4, #1040]
bl flash_read_page_en
cmn r0, #1
- beq .L3335
- ldr r3, [r9, #1176]
+ beq .L3285
+ ldr r3, [r4, #1040]
+ ldr r3, [r3]
+ cmp r3, r8
+ beq .L3286
+.L3285:
+ add r7, r7, #1
+ b .L3284
+.L3286:
+ cmp r7, #1
+ bls .L3290
+ bl flash_info_flush
+.L3290:
+ mov r0, #0
+ b .L3275
+.L3278:
+ ldrb r1, [r2, #36] @ zero_extendqisi2
+ ldrh r0, [r4, #2]
+ ldrb r3, [r2, #37] @ zero_extendqisi2
+ strb r1, [r5, #-20]
+ str r9, [sp]
+ strb r3, [r5, #-19]
+ mul r1, r1, r0
+ ldr r3, [r5, #-24]
+ mov r0, #0
+ bl flash_read_page_en
+ cmn r0, #1
+ beq .L3289
+ ldr r3, [r4, #1040]
ldr r2, [r3]
- cmp r2, fp
- ldreq r5, [r3, #4]
- bne .L3335
-.L3327:
- ldrb r3, [r4, #537] @ zero_extendqisi2
- mov r2, #4
- ldrh r1, [r6, #2]
+ cmp r2, r8
+ ldreq r6, [r3, #4]
+ beq .L3282
+.L3289:
+ mov r6, #0
+.L3282:
+ ldrh r0, [r4, #2]
+ mov r3, #4
+ ldrb r1, [r5, #-19] @ zero_extendqisi2
+ str r3, [sp]
+ ldr r2, [r4, #1040]
+ ldr r3, [r5, #-24]
+ mul r1, r0, r1
mov r0, #0
- str r2, [sp]
- ldr r2, [r6, #1176]
- mul r1, r1, r3
- ldr r3, [r4, #532]
bl flash_read_page_en
- ldr r7, .L3353+20
cmn r0, #1
- bne .L3352
-.L3328:
- ldr r2, [r6, #1176]
- mov r8, #4
- ldr r3, [r4, #532]
+ beq .L3283
+ ldr r3, [r4, #1040]
+ ldr r2, [r3]
+ cmp r2, r8
+ bne .L3283
+ ldr r2, [r3, #4]
+ cmp r6, r2
+ ldrbcc r2, [r3, #37] @ zero_extendqisi2
+ ldrbcc r3, [r3, #36] @ zero_extendqisi2
+ strbcc r2, [r5, #-20]
+ strbcc r3, [r5, #-19]
+.L3283:
+ mov r9, #4
+ ldr r3, [r5, #-24]
+ ldrb r1, [r5, #-20] @ zero_extendqisi2
mov r0, #0
- ldrb r1, [r4, #536] @ zero_extendqisi2
+ str r9, [sp]
mov r7, #0
- str r8, [sp]
+ ldr r2, [r4, #1040]
bl flash_get_last_written_page
- ldr r3, .L3353+24
- ldrh r9, [r6, #2]
- ldr ip, .L3353+4
uxth fp, r0
- add r2, fp, #1
- strh r2, [r3, #2] @ movhi
- ldrb r3, [r4, #536] @ zero_extendqisi2
- mla r9, r9, r3, r0
-.L3329:
- rsb r5, r7, fp
- sxth r5, r5
- cmp r5, #0
- bge .L3332
- cmn r5, #1
- bne .L3331
- ldr r3, [r6, #1176]
- ldr r0, .L3353+28
+ ldrb r10, [r5, #-20] @ zero_extendqisi2
+ add r3, fp, #1
+ strh r3, [r5, #-18] @ movhi
+ ldrh r3, [r4, #2]
+ mla r10, r3, r10, r0
+.L3284:
+ sub r0, fp, r7
+ sxth r6, r0
+ cmp r6, #0
+ bge .L3287
+ cmn r6, #1
+ bne .L3286
+ ldr r3, [r4, #1040]
+ ldr r0, .L3307+24
ldr r1, [r3]
bl printk
-.L3334:
- mvn r0, #0
- b .L3350
-.L3335:
- mov r5, #0
- b .L3327
-.L3352:
- ldr r3, .L3353+4
- ldr r3, [r3, #1176]
- ldr r2, [r3]
- cmp r2, r10
- bne .L3328
- ldr r2, [r3, #4]
- cmp r5, r2
- ldrccb r2, [r3, #37] @ zero_extendqisi2
- ldrccb r3, [r3, #36] @ zero_extendqisi2
- 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, #532]
- str ip, [sp, #12]
- bl flash_read_page_en
- cmn r0, #1
- ldr ip, [sp, #12]
- beq .L3330
- ldr r3, [ip, #1176]
- ldr r3, [r3]
- cmp r3, r10
- beq .L3331
-.L3330:
- add r7, r7, #1
- b .L3329
-.L3331:
- cmp r7, #1
- bls .L3336
- bl flash_info_flush
-.L3336:
- mov r0, #0
-.L3350:
- add sp, sp, #20
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3354:
+ b .L3306
+.L3308:
.align 2
-.L3353:
+.L3307:
.word .LANCHOR2
.word .LANCHOR0
- .word .LC210
- .word .LANCHOR1+2476
- .word 1398362953
+ .word .LANCHOR1+2264
+ .word .LC209
.word .LANCHOR3
- .word .LANCHOR3+536
- .word .LC211
+ .word 1398362953
+ .word .LC210
.fnend
.size flash_info_blk_init, .-flash_info_blk_init
.align 2
.global nand_flash_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type nand_flash_init, %function
nand_flash_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}
+ push {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, .L3451
+ ldr r6, .L3395
ldr r3, [r6]
tst r3, #4096
- beq .L3356
- ldr r0, .L3451+4
+ beq .L3310
+ ldr r2, .L3395+4
movw r1, #3450
- ldr r2, .L3451+8
+ ldr r0, .L3395+8
bl printk
-.L3356:
- ldr r5, .L3451+12
- mov r0, r4
+.L3310:
+ ldr r5, .L3395+12
mov r7, #0
- ldr r4, .L3451+16
- str r7, [r5, #-112]
+ mov r0, r4
+ ldr r4, .L3395+16
+ ldr r9, .L3395+20
+ mov fp, #44
+ str r7, [r5, #-104]
bl nandc_init
- ldr r3, .L3451+20
- mov r1, r7
+ ldr r3, .L3395+24
mov r2, #8
- ldr r0, .L3451+24
- add r10, r4, #1200
- mov r9, r4
- str r3, [r4, #1096]
- mov r3, #1
- strb r3, [r4, #1101]
- mov r3, #3
- strb r3, [r4, #1189]
- bl ftl_memset
- sub r0, r5, #216
mov r1, r7
- mov r2, #32
- mov fp, r10
+ ldr r0, .L3395+28
+ mov r10, r9
+ str r3, [r4, #1104]
+ mov r3, #1
+ strb r3, [r4, #1109]
+ mov r3, #3
+ strb r3, [r4, #1153]
bl ftl_memset
-.L3362:
- mov r8, r7, asl #3
+ mov r2, #32
+ mov r1, r7
+ sub r0, r5, #220
+ bl ftl_memset
+.L3316:
+ lsl r8, r7, #3
uxtb r0, r7
- add r1, r10, r8
+ add r1, r9, r8
bl flash_read_id
cmp r7, #0
- ldr r1, .L3451+28
- bne .L3357
- ldrb r3, [r9, #1200] @ zero_extendqisi2
+ bne .L3311
+ ldrb r3, [r4, #1160] @ zero_extendqisi2
sub r3, r3, #1
uxtb r3, r3
cmp r3, #253
- bls .L3358
-.L3360:
+ bls .L3312
+.L3314:
mvn r7, #1
- b .L3440
-.L3358:
- ldrb r3, [r9, #1201] @ zero_extendqisi2
+.L3309:
+ mov r0, r7
+ pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3312:
+ ldrb r3, [r4, #1161] @ zero_extendqisi2
cmp r3, #255
- beq .L3360
-.L3357:
- ldrb r3, [fp, r8] @ zero_extendqisi2
+ beq .L3314
+.L3311:
+ ldrb r3, [r8, r10] @ zero_extendqisi2
add r7, r7, #1
cmp r3, #181
- ldreq r3, .L3451+28
- moveq r2, #44
- streqb r2, [r8, r3]
+ strbeq fp, [r8, r10]
cmp r7, #4
- bne .L3362
- ldr ip, .L3451+32
- mov r3, #0
-.L3400:
- mov r0, r3, asl #5
- ldrb r8, [ip, r3, asl #5] @ zero_extendqisi2
- add r7, r0, #1
- ldr lr, .L3451+32
- add r7, ip, r7
- mov r2, #0
-.L3363:
- cmp r2, r8
- bcs .L3450
- ldrb r10, [r7, r2] @ zero_extendqisi2
- ldrb r9, [r1, r2] @ zero_extendqisi2
- cmp r10, r9
- bne .L3364
- add r2, r2, #1
- b .L3363
-.L3450:
- adds r8, lr, r0
- beq .L3360
- ldr r3, .L3451
- ldr r2, .L3451+36
- add r0, r3, r0
- mov r3, #0
- ldrb r1, [r0, #446] @ zero_extendqisi2
-.L3368:
- ldrb r0, [r2, r3, asl #5] @ zero_extendqisi2
- cmp r0, r1
- beq .L3367
- add r3, r3, #1
- cmp r3, #4
- bne .L3368
-.L3367:
- ldr r1, .L3451+36
+ bne .L3316
+ ldr r9, .L3395+32
+ mov r7, #0
+ ldr r10, .L3395+20
+.L3319:
+ lsl r8, r7, #5
+ ldrb r2, [r9, r7, lsl #5] @ zero_extendqisi2
+ mov r1, r10
+ add r0, r8, #1
+ add r0, r9, r0
+ bl flash_mem_cmp8
+ cmp r0, #0
+ bne .L3317
+ add r9, r9, r8
+ ldr r3, .L3395+36
+ add r8, r6, r8
+ ldrb r2, [r8, #440] @ zero_extendqisi2
+ mov r1, r3
+.L3318:
+ ldrb ip, [r3, r0, lsl #5] @ zero_extendqisi2
+ cmp ip, r2
+ beq .L3320
+ add r0, r0, #1
+ cmp r0, #4
+ bne .L3318
+.L3320:
+ add r1, r1, r0, lsl #5
mov r2, #32
- ldr r7, .L3451
- add r1, r1, r3, asl #5
- ldr r0, .L3451+40
+ ldr r0, .L3395+40
bl ftl_memcpy
- add r0, r7, #4
- mov r1, r8
mov r2, #32
+ mov r1, r9
+ ldr r0, .L3395+24
bl ftl_memcpy
ldrb r3, [r4, #1028] @ zero_extendqisi2
cmp r3, #8
- bhi .L3369
- ldrb r2, [r7, #24] @ zero_extendqisi2
+ bhi .L3321
+ ldrb r2, [r6, #24] @ zero_extendqisi2
cmp r2, #60
movhi r2, #60
- strhib r2, [r7, #24]
+ strbhi r2, [r6, #24]
cmp r3, #6
- beq .L3360
-.L3369:
+ beq .L3314
+.L3321:
ldr r3, [r6]
tst r3, #4096
- beq .L3371
- ldr r0, .L3451+4
+ beq .L3323
+ ldr r2, .L3395+4
movw r1, #3480
- ldr r2, .L3451+8
+ ldr r0, .L3395+8
bl printk
-.L3371:
- ldr r3, [r4, #1096]
+.L3323:
+ ldr r3, [r4, #1104]
mov r0, #16384
mov r7, #0
ldrh r3, [r3, #10]
cmp r3, #1024
- ldrcs r3, .L3451+16
- movcs r2, #2
- strcsb r2, [r3, #1189]
+ movcs r3, #2
+ strbcs r3, [r4, #1153]
bl ftl_malloc
- str r0, [r5, #-104]
+ str r0, [r5, #-92]
mov r0, #16384
bl ftl_malloc
- str r0, [r5, #-128]
- mov r0, #2048
- bl ftl_malloc
- str r0, [r4, #1176]
- mov r0, #64
- bl ftl_malloc
- str r0, [r5, #-100]
- mov r0, #64
- bl ftl_malloc
str r0, [r5, #-120]
+ mov r0, #2048
+ bl ftl_dma32_malloc
+ str r0, [r4, #1040]
mov r0, #64
- bl ftl_malloc
- strb r7, [r5, #540]
- str r0, [r5, #532]
+ bl ftl_dma32_malloc
+ str r0, [r5, #-96]
+ mov r0, #64
+ bl ftl_dma32_malloc
+ str r0, [r5, #-112]
+ mov r0, #64
+ bl ftl_dma32_malloc
+ strb r7, [r5, #-16]
+ str r0, [r5, #-24]
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, #-108]
+ ldr r1, [r4, #1104]
+ str r7, [r5, #-100]
ldrh r3, [r1, #16]
ubfx r2, r3, #8, #3
- strb r2, [r4, #1232]
+ strb r2, [r4, #1192]
ubfx r2, r3, #3, #1
- strb r2, [r5, #-88]
+ strb r2, [r5, #-80]
ubfx r2, r3, #4, #1
- strb r2, [r4, #1233]
+ strb r2, [r4, #1194]
ubfx r2, r3, #12, #1
- strb r2, [r5, #-3116]
+ strb r2, [r5, #-3120]
ubfx r2, r3, #13, #1
- strb r2, [r5, #-3122]
+ strb r2, [r5, #-3126]
ubfx r2, r3, #11, #1
- strb r2, [r4, #1196]
+ strb r2, [r4, #1158]
ldrb r2, [r1, #31] @ zero_extendqisi2
ldrb r1, [r1, #28] @ zero_extendqisi2
ubfx r0, r2, #1, #1
- strb r0, [r5, #-2536]
+ strb r0, [r5, #-2542]
ubfx r0, r2, #2, #1
- strb r0, [r5, #541]
+ strb r0, [r5, #-15]
ubfx r0, r3, #14, #1
- mov r3, r3, lsr #15
- strb r3, [r5, #-3121]
+ lsr r3, r3, #15
+ strb r0, [r4, #1]
+ strb r1, [r4]
+ strb r3, [r5, #-3125]
ubfx r3, r2, #3, #1
- strb r3, [r4, #1188]
+ strb r3, [r4, #1152]
mov r3, #60
- strb r3, [r4, #1100]
+ strb r3, [r4, #1108]
ubfx r2, r2, #4, #1
ldrb r3, [r4, #1028] @ zero_extendqisi2
- strb r2, [r4, #1197]
+ strb r2, [r4, #1159]
+ strb r1, [r4, #1110]
cmp r3, #9
- strb r1, [r4]
- strb r1, [r4, #1102]
- ldreq r2, .L3451+16
- ldrb r1, [r6, #35] @ zero_extendqisi2
- strb r0, [r4, #1]
- moveq r0, #70
- streqb r0, [r2, #1100]
- tst r1, #1
- ldr r2, .L3451+16
- beq .L3374
- ldr r1, .L3451
- ldrb r1, [r1, #33] @ zero_extendqisi2
- cmp r1, #0
- movne r1, #2
- moveq r1, #3
- strb r1, [r2, #1102]
-.L3374:
+ moveq r2, #70
+ strbeq r2, [r4, #1108]
+ ldrb r2, [r6, #35] @ zero_extendqisi2
+ tst r2, #1
+ beq .L3326
+ ldrb r2, [r6, #33] @ zero_extendqisi2
+ cmp r2, #0
+ movne r2, #2
+ moveq r2, #3
+ strb r2, [r4, #1110]
+.L3326:
cmp r3, #8
- bne .L3376
- ldrb r3, [r4, #1200] @ zero_extendqisi2
- cmp r3, #44
- cmpne r3, #137
- bne .L3376
+ bne .L3328
+ ldrb r3, [r4, #1160] @ zero_extendqisi2
+ cmp r3, #137
+ cmpne r3, #44
+ bne .L3328
ldrb r3, [r6, #32] @ zero_extendqisi2
cmp r3, #3
- ldreq r3, .L3451+16
- moveq r2, #0
- streqb r2, [r3, #1102]
-.L3376:
+ moveq r3, #0
+ strbeq r3, [r4, #1110]
+.L3328:
ldrh r2, [r6, #20]
ldrb r3, [r6, #23] @ zero_extendqisi2
tst r2, #64
- ldr r0, .L3451+16
- strb r3, [r4, #1173]
- beq .L3378
+ strb r3, [r4, #1100]
+ beq .L3330
sub r2, r3, #17
- sub r1, r3, #21
- clz r1, r1
cmp r3, #21
cmpne r2, #2
- mov r1, r1, lsr #5
- bhi .L3379
- ldr r2, .L3451+44
- cmp r1, #0
- ldr r3, .L3451+12
- str r2, [r5, #-108]
- moveq r2, #15
- movne r2, #4
- strb r2, [r3, #-116]
- b .L3378
-.L3379:
- sub r2, r3, #65
- cmp r3, #33
- cmpne r2, #1
- ldrls r3, .L3451+48
- strls r3, [r5, #-108]
- movls r3, #4
- strlsb r3, [r0, #1174]
- bls .L3449
-.L3382:
- sub r1, r3, #67
- sub r2, r3, #34
- cmp r1, #1
- sub ip, r3, #35
- sub lr, r3, #68
- clz ip, ip
- movhi r1, #0
- movls r1, #1
- cmp r2, #1
- movhi r2, r1
- orrls r2, r1, #1
- clz lr, lr
- cmp r2, #0
- mov ip, ip, lsr #5
- mov lr, lr, lsr #5
- beq .L3383
- ldr r2, .L3451+48
- ldr r3, .L3451+12
- str r2, [r5, #-108]
- orrs r2, lr, ip
- moveq r2, #7
- movne r2, #17
- cmp r1, #0
- strb r2, [r3, #-116]
- movne r3, #4
- moveq r3, #5
- strb r3, [r4, #1174]
- b .L3378
-.L3383:
- sub r1, r3, #36
- cmp r1, #1
- bhi .L3387
- ldr r3, .L3451+52
- str r3, [r5, #-108]
-.L3449:
- mov r3, #7
- b .L3447
-.L3387:
- cmp r3, #50
- bne .L3388
- ldr r3, .L3451+56
- str r3, [r5, #-108]
- mov r3, #25
-.L3447:
- strb r3, [r5, #-116]
- b .L3378
-.L3388:
- cmp r3, #81
- streqb r2, [r0, #1136]
- ldreq r3, .L3451+60
- streq r3, [r5, #-108]
- moveq r3, #7
- streqb r3, [r5, #-116]
-.L3378:
+ bhi .L3331
+ cmp r3, #21
+ ldr r2, .L3395+44
+ movne r3, #15
+ moveq r3, #4
+ str r2, [r5, #-100]
+.L3391:
+ strb r3, [r5, #-108]
+.L3330:
ldr r3, [r6]
tst r3, #4096
- beq .L3389
- ldr r0, .L3451+4
+ beq .L3341
+ ldr r2, .L3395+4
movw r1, #3573
- ldr r2, .L3451+8
+ ldr r0, .L3395+8
bl printk
-.L3389:
+.L3341:
mov r3, #0
- strb r3, [r4, #1135]
- ldrb r3, [r4, #1232] @ zero_extendqisi2
+ strb r3, [r4, #1143]
+ ldrb r3, [r4, #1192] @ zero_extendqisi2
tst r3, #1
moveq r0, #4
- beq .L3448
- ldr r3, .L3451+16
- ldrb r3, [r3, #1200] @ zero_extendqisi2
+ beq .L3393
+ ldrb r3, [r4, #1160] @ zero_extendqisi2
cmp r3, #155
- beq .L3391
+ beq .L3343
mov r0, #4
bl flash_set_interface_mode
mov r0, #4
bl nandc_set_if_mode
-.L3391:
+.L3343:
mov r0, #1
bl flash_set_interface_mode
mov r0, #1
-.L3448:
+.L3393:
bl nandc_set_if_mode
bl flash_info_blk_init
cmn r0, #1
mov r7, r0
- bne .L3393
- ldr r3, [r4, #1176]
+ bne .L3345
+ ldr r3, [r4, #1040]
mov r2, #17
mov r0, #0
- strb r0, [r4, #1192]
+ strb r0, [r4, #1154]
strb r2, [r3, #32]
bl zftl_flash_exit_slc_mode
- b .L3440
-.L3393:
+ b .L3309
+.L3317:
+ add r7, r7, #1
+ cmp r7, #49
+ bne .L3319
+ b .L3314
+.L3331:
+ sub r2, r3, #65
+ cmp r3, #33
+ cmpne r2, #1
+ bhi .L3334
+ ldr r3, .L3395+48
+ str r3, [r5, #-100]
+ mov r3, #4
+ strb r3, [r4, #1101]
+.L3394:
+ mov r3, #7
+ b .L3391
+.L3334:
+ sub r2, r3, #67
+ sub r1, r3, #34
+ uxtb r2, r2
+ cmp r2, #1
+ cmphi r1, #1
+ movls r1, #1
+ movhi r1, #0
+ bhi .L3335
+ cmp r3, #68
+ cmpne r3, #35
+ ldr r1, .L3395+48
+ movne r3, #7
+ moveq r3, #17
+ cmp r2, #1
+ strb r3, [r5, #-108]
+ movls r3, #4
+ movhi r3, #5
+ str r1, [r5, #-100]
+ strb r3, [r4, #1101]
+ b .L3330
+.L3335:
+ sub r2, r3, #36
+ cmp r2, #1
+ ldrls r3, .L3395+52
+ strls r3, [r5, #-100]
+ bls .L3394
+.L3339:
+ cmp r3, #50
+ ldreq r3, .L3395+56
+ streq r3, [r5, #-100]
+ moveq r3, #25
+ beq .L3391
+.L3340:
+ cmp r3, #81
+ ldreq r3, .L3395+60
+ strbeq r1, [r4, #1195]
+ streq r3, [r5, #-100]
+ moveq r3, #7
+ strbeq r3, [r5, #-108]
+ b .L3330
+.L3345:
ldrb r3, [r6, #11] @ zero_extendqisi2
cmp r3, #9
- bne .L3394
- ldr r3, [r4, #1176]
+ bne .L3346
+ ldr r3, [r4, #1040]
ldrb r3, [r3, #20] @ zero_extendqisi2
cmp r3, #1
- ldrne r3, .L3451+16
- movne r2, #0
- strneb r2, [r3, #1102]
-.L3394:
- ldrb r3, [r4, #1173] @ zero_extendqisi2
- ldr r7, .L3451+16
+ movne r3, #0
+ strbne r3, [r4, #1110]
+.L3346:
+ ldrb r3, [r4, #1100] @ zero_extendqisi2
sub r3, r3, #1
cmp r3, #7
- ldrls r3, .L3451+64
- strls r3, [r5, #-108]
- ldrb r3, [r4, #1232] @ zero_extendqisi2
+ ldrls r3, .L3395+64
+ strls r3, [r5, #-100]
+ ldrb r3, [r4, #1192] @ zero_extendqisi2
tst r3, #4
- beq .L3397
- ldr r3, [r7, #1176]
+ beq .L3349
+ ldr r3, [r4, #1040]
ldrb r3, [r3, #19] @ zero_extendqisi2
cmp r3, #0
- beq .L3397
- ldrb r3, [r5, #536] @ zero_extendqisi2
+ beq .L3349
+ ldrb r3, [r5, #-20] @ zero_extendqisi2
mov r0, #0
- ldrh r1, [r7, #2]
+ ldrh r1, [r4, #2]
mul r1, r1, r3
bl flash_ddr_para_scan
- ldrb r3, [r7, #1135] @ zero_extendqisi2
+ ldrb r3, [r4, #1143] @ zero_extendqisi2
cmp r3, #0
- bne .L3397
- ldr r2, [r7, #1176]
+ bne .L3349
+ ldr r2, [r4, #1040]
strb r3, [r2, #19]
bl flash_info_flush
-.L3397:
+.L3349:
ldr r3, [r6]
tst r3, #4096
- beq .L3399
- ldr r0, .L3451+4
+ beq .L3351
+ ldr r2, .L3395+4
movw r1, #3676
- ldr r2, .L3451+8
+ ldr r0, .L3395+8
bl printk
-.L3399:
+.L3351:
bl nand_flash_print_info
mov r7, #0
- b .L3440
-.L3364:
- add r3, r3, #1
- cmp r3, #49
- bne .L3400
- b .L3360
-.L3440:
- mov r0, r7
- ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3452:
+ b .L3309
+.L3396:
.align 2
-.L3451:
+.L3395:
.word .LANCHOR2
- .word .LC138
- .word .LANCHOR1+2496
+ .word .LANCHOR1+2284
+ .word .LC135
.word .LANCHOR3
.word .LANCHOR0
+ .word .LANCHOR0+1160
.word .LANCHOR2+4
- .word .LANCHOR0+1180
- .word .LANCHOR0+1200
- .word .LANCHOR2+424
- .word .LANCHOR2+1992
- .word .LANCHOR0+1103
+ .word .LANCHOR0+1144
+ .word .LANCHOR2+418
+ .word .LANCHOR2+1986
+ .word .LANCHOR0+1111
.word micron_read_retrial
.word toshiba_read_retrial
.word toshiba_3d_read_retrial
@@ -20476,408 +20776,397 @@
.size nand_flash_init, .-nand_flash_init
.align 2
.global ftl_sysblk_dump
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_sysblk_dump, %function
ftl_sysblk_dump:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- mov fp, r0
+ mov r9, r0
.pad #52
sub sp, sp, #52
mov r0, #1
+ mov r5, #0
+ ldr r10, .L3408
+ mov r6, r5
bl buf_alloc
- ldr r10, .L3465
- mov r6, #0
- mov r5, r6
- ldr ip, [r0, #4]
+ ldr r3, [r0, #4]
mov r4, r0
-.L3454:
- ldrh r3, [r10]
- uxth r8, r6
- cmp r3, r8
- bls .L3464
- ldr r3, .L3465+4
- add r6, r6, #1
- ldr r1, [r4, #4]
- ldr r2, [r4, #12]
- ldrh r7, [r3]
- ldr r3, .L3465+8
- str ip, [sp, #44]
- mla r7, r7, fp, r8
- ldrb r3, [r3, #2772] @ zero_extendqisi2
- mov r0, r7
- bl ftl_read_ppa_page
- ldr r2, [r4, #4]
- ldr r3, [r4, #12]
- str r0, [sp]
- mov r9, r0
- ldr r1, [r2]
- ldr r0, .L3465+12
- str r1, [sp, #4]
- ldr r1, [r2, #4]
- str r1, [sp, #8]
- ldr r1, [r2, #8]
- str r1, [sp, #12]
- mov r1, fp
- ldr r2, [r2, #12]
- str r2, [sp, #16]
- ldr r2, [r3]
- str r2, [sp, #20]
- ldr r2, [r3, #4]
- str r2, [sp, #24]
- ldr r2, [r3, #8]
- str r2, [sp, #28]
- mov r2, r8
- ldr r3, [r3, #12]
- str r3, [sp, #32]
- mov r3, r7
- bl printk
- cmn r9, #1
- cmpne r9, #512
- moveq r5, #1
- ldr ip, [sp, #44]
- b .L3454
-.L3464:
- ldr r0, .L3465+16
- add r1, ip, #704
- mov r2, #4
+ str r3, [sp, #44]
+.L3398:
+ ldr r3, .L3408+4
+ ldrh r2, [r3, #-8]
+ uxth r3, r5
+ cmp r2, r3
+ bhi .L3400
+ ldr r1, [sp, #44]
mov r3, #32
+ mov r2, #4
+ ldr r0, .L3408+8
+ add r1, r1, #704
bl rknand_print_hex
mov r0, r4
bl zbuf_free
- cmp r5, #0
- beq .L3457
- ldr r1, .L3465+20
+ cmp r6, #0
+ beq .L3401
movw r2, #1619
- ldr r0, .L3465+24
+ ldr r1, .L3408+12
+ ldr r0, .L3408+16
bl printk
bl dump_stack
-.L3457:
- mov r0, r5
+.L3401:
+ mov r0, r6
add sp, sp, #52
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3466:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3400:
+ ldr r3, .L3408+20
+ uxth fp, r5
+ ldr r2, [r4, #12]
+ add r5, r5, #1
+ ldr r1, [r4, #4]
+ ldrh r7, [r3]
+ ldrb r3, [r10, #-2546] @ zero_extendqisi2
+ mla r7, r9, r7, fp
+ mov r0, r7
+ bl ftl_read_ppa_page
+ ldr r2, [r4, #12]
+ mov r8, r0
+ ldr r3, [r4, #4]
+ ldr r1, [r2, #12]
+ str r1, [sp, #32]
+ ldr r1, [r2, #8]
+ str r1, [sp, #28]
+ ldr r1, [r2, #4]
+ str r1, [sp, #24]
+ mov r1, r9
+ ldr r2, [r2]
+ str r2, [sp, #20]
+ ldr r2, [r3, #12]
+ str r2, [sp, #16]
+ ldr r2, [r3, #8]
+ str r2, [sp, #12]
+ ldr r2, [r3, #4]
+ str r2, [sp, #8]
+ mov r2, fp
+ ldr r3, [r3]
+ str r0, [sp]
+ ldr r0, .L3408+24
+ str r3, [sp, #4]
+ mov r3, r7
+ bl printk
+ cmn r8, #1
+ cmpne r8, #512
+ moveq r6, #1
+ b .L3398
+.L3409:
.align 2
-.L3465:
- .word .LANCHOR3-3096
- .word .LANCHOR3-3066
- .word .LANCHOR0
- .word .LC196
- .word .LC212
- .word .LANCHOR1+2512
+.L3408:
+ .word .LANCHOR3
+ .word .LANCHOR3-3088
+ .word .LC211
+ .word .LANCHOR1+2300
.word .LC0
+ .word .LANCHOR3-3074
+ .word .LC195
.fnend
.size ftl_sysblk_dump, .-ftl_sysblk_dump
.align 2
.global ftl_open_sblk_recovery
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_open_sblk_recovery, %function
ftl_open_sblk_recovery:
.fnstart
@ args = 0, pretend = 0, frame = 216
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.pad #228
sub sp, sp, #228
- ldr r5, .L3606
+ ldr r5, .L3532
mov r4, r0
str r1, [sp, #28]
ldr r3, [r5]
tst r3, #4096
- beq .L3468
- ldr r0, .L3606+4
- ldrh r1, [r4, #2]
+ beq .L3411
+ ldrh r1, [r0, #2]
+ ldr r0, .L3532+4
bl printk
-.L3468:
+.L3411:
ldr r3, [r5]
tst r3, #4096
- beq .L3469
- ldr r0, .L3606+8
+ beq .L3412
ldrb r1, [r4, #5] @ zero_extendqisi2
+ ldr r0, .L3532+8
bl printk
-.L3469:
+.L3412:
ldr r3, [r5]
tst r3, #4096
- beq .L3470
- ldr r0, .L3606+12
+ beq .L3413
ldrh r1, [r4]
+ ldr r0, .L3532+12
bl printk
-.L3470:
+.L3413:
ldr r3, [r5]
tst r3, #4096
- beq .L3471
- ldr r0, .L3606+16
- ldrh r1, [r4, #16]
+ beq .L3414
ldrh r2, [r4, #18]
+ ldrh r1, [r4, #16]
+ ldr r0, .L3532+16
bl printk
-.L3471:
+.L3414:
ldr r3, [r5]
tst r3, #4096
- beq .L3472
- ldr r0, .L3606+20
+ beq .L3415
ldrb r1, [r4, #9] @ zero_extendqisi2
+ ldr r0, .L3532+20
bl printk
-.L3472:
+.L3415:
ldrh r3, [r4, #10]
- ldr r6, .L3606+24
+ ldr r1, .L3532+24
ldrh r2, [r4]
strh r3, [r4, #14] @ movhi
- movw r3, #1076
- ldrh r3, [r6, r3]
+ movw r3, #1080
+ ldrh r3, [r1, r3]
cmp r2, r3
- bcs .L3467
+ bcs .L3410
mov r0, #1
bl buf_alloc
- ldrb r3, [r6, #2772] @ zero_extendqisi2
+ ldr r3, .L3532+28
mov r1, #255
- sub r3, r3, #2
ldr r2, [r0, #4]
mov r5, r0
add r0, sp, #32
- add r3, r2, r3, asl #9
+ ldrb r3, [r3, #-2546] @ zero_extendqisi2
+ sub r3, r3, #2
+ add r3, r2, r3, lsl #9
mov r2, #64
str r3, [sp, #16]
bl ftl_memset
- mov r1, #255
mov r2, #64
+ mov r1, #255
add r0, sp, #96
bl ftl_memset
- mov r1, #255
mov r2, #64
+ mov r1, #255
add r0, sp, #160
bl ftl_memset
- ldrb r6, [r4, #5] @ zero_extendqisi2
- ldrh r7, [r4, #2]
+ ldrb r10, [r4, #5] @ zero_extendqisi2
mov r3, #2
+ ldrh r9, [r4, #2]
str r3, [sp, #12]
mov r3, #0
str r3, [sp, #24]
-.L3474:
- ldr r3, .L3606+28
+.L3417:
+ ldr r3, .L3532+32
ldrh r3, [r3]
- cmp r3, r7
- bls .L3477
- ldrb r6, [r4, #5] @ zero_extendqisi2
- ldr r8, .L3606+24
-.L3475:
+ cmp r3, r9
+ bhi .L3434
+.L3420:
+ ldrh r3, [r4, #10]
+ ldr r1, .L3532+36
+ ldrh r2, [r4, #6]
+ ldrb r0, [r4, #9] @ zero_extendqisi2
+ strh r9, [r4, #2] @ movhi
+ add r2, r2, r3
+ ldrh r3, [r1, #-8]
+ strb r10, [r4, #5]
+ str r1, [sp, #16]
+ mul r3, r3, r0
+ cmp r2, r3
+ beq .L3435
+ movw r2, #1802
+ ldr r1, .L3532+40
+ ldr r0, .L3532+44
+ bl printk
+ bl dump_stack
+.L3435:
+ ldr r6, .L3532+28
+ mov r7, #0
+ ldrh r0, [r4, #10]
+ mov r2, r7
+ ldr r3, [r6, #-2556]
+.L3436:
+ cmp r2, r0
+ bcc .L3438
+ ldr r2, [sp, #16]
ldrb r3, [r4, #9] @ zero_extendqisi2
- cmp r3, r6
- bls .L3602
- add r3, r4, r6, asl #1
- ldrh r10, [r3, #16]
+ ldr r9, .L3532
+ ldrh r2, [r2, #-8]
+ ldr r10, .L3532+24
+ smulbb r3, r3, r2
+ sub r3, r3, r0
+ add r7, r7, r3
+ ldr r3, [r9]
+ uxth r7, r7
+ tst r3, #4096
+ beq .L3439
+ ldrh r1, [r4]
+ ldr r2, [r10, #1092]
+ ldr r0, .L3532+48
+ lsl r3, r1, #1
+ ldrh r3, [r2, r3]
+ mov r2, r7
+ bl printk
+.L3439:
+ ldrh r3, [r4]
+ ldr r2, [r10, #1092]
+ lsl r3, r3, #1
+ strh r7, [r2, r3] @ movhi
+ ldr r3, [r9]
+ tst r3, #16384
+ beq .L3440
+ ldr r3, [sp, #44]
+ add r1, sp, #32
+ ldr r0, .L3532+52
+ str r3, [sp]
+ ldm r1, {r1, r2, r3}
+ bl printk
+.L3440:
+ ldrb r2, [r6, #-2546] @ zero_extendqisi2
+ mov r8, #0
+ mov r1, #0
+ ldr r0, [r5, #4]
+ lsl r2, r2, #9
+ bl ftl_memset
+.L3441:
+ ldrb r3, [r6, #-3127] @ zero_extendqisi2
+ ldr r2, [sp, #12]
+ mul r3, r2, r3
+ cmp r8, r3
+ bcc .L3453
+ ldr fp, .L3532+56
+ mov r7, #0
+ add r8, sp, #32
+.L3454:
+ ldrb r3, [r6, #-3127] @ zero_extendqisi2
+ ldr r2, [sp, #12]
+ mul r3, r2, r3
+ cmp r7, r3
+ bcc .L3460
+ mov r0, r5
+ bl zbuf_free
+ ldr r3, [sp, #16]
+ ldrh r2, [r4, #12]
+ ldrb r1, [r4, #9] @ zero_extendqisi2
+ ldrh r3, [r3, #-8]
+ mla r3, r1, r3, r2
+ ldr r2, [r6, #-2556]
+ sub r3, r3, #-1073741823
+ ldr r3, [r2, r3, lsl #2]
+ cmn r3, #1
+ beq .L3461
+ movw r2, #1917
+ ldr r1, .L3532+40
+ ldr r0, .L3532+44
+ bl printk
+ bl dump_stack
+.L3461:
+ ldrh r3, [r4, #6]
+ cmp r3, #1
+ bne .L3410
+ mov r0, r4
+ bl ftl_write_last_log_page
+.L3410:
+ add sp, sp, #228
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3434:
+ ldrb r10, [r4, #5] @ zero_extendqisi2
+ ldr r6, .L3532+28
+.L3418:
+ ldrb r3, [r4, #9] @ zero_extendqisi2
+ cmp r3, r10
+ movls r3, #0
+ strbls r3, [r4, #5]
+ addls r3, r9, #1
+ uxthls r9, r3
+ bls .L3417
+.L3433:
+ add r3, r4, r10, lsl #1
+ ldrh r8, [r3, #16]
movw r3, #65535
- cmp r10, r3
- beq .L3476
- ldr r3, .L3606+32
- ldr r1, [r5, #4]
+ cmp r8, r3
+ beq .L3419
+ ldr r3, .L3532+60
ldr r2, [r5, #12]
- ldrh r3, [r3]
- mla r3, r3, r10, r7
+ ldr r1, [r5, #4]
+ ldrh r3, [r3, #-2]
+ mla r3, r8, r3, r9
str r3, [sp, #20]
- mov r0, r3
- ldrb r3, [r8, #2772] @ zero_extendqisi2
+ ldr r0, [sp, #20]
+ ldrb r3, [r6, #-2546] @ zero_extendqisi2
bl ftl_read_ppa_page
cmp r0, #512
- mov r9, r0
- beq .L3477
+ mov r7, r0
+ beq .L3420
cmn r0, #1
- beq .L3478
+ beq .L3421
ldr r3, [r5, #12]
ldr r2, [r3]
cmn r2, #1
- bne .L3478
+ bne .L3421
ldr r3, [r3, #4]
cmn r3, #1
- bne .L3478
+ bne .L3421
ldr r3, [r5, #4]
ldr r3, [r3]
cmn r3, #1
- beq .L3477
-.L3478:
- ldr r3, .L3606+36
- mov r2, #1
- strb r2, [r3, #209]
- ldrb r3, [r4, #9] @ zero_extendqisi2
+ beq .L3420
+.L3421:
+ mov r3, #1
ldrh r2, [r4, #10]
- mla r3, r3, r7, r6
+ strb r3, [r6, #-47]
+ ldrb r3, [r4, #9] @ zero_extendqisi2
+ mla r3, r9, r3, r10
cmp r2, r3
- beq .L3479
- ldr r1, .L3606+40
+ beq .L3422
movw r2, #1694
- ldr r0, .L3606+44
+ ldr r1, .L3532+40
+ ldr r0, .L3532+44
bl printk
bl dump_stack
-.L3479:
- ldrh r3, [r4, #6]
- ldrh r2, [r4, #10]
- add r2, r3, r2
- ldr r3, .L3606+28
+.L3422:
+ ldrh r3, [r4, #10]
+ ldrh r2, [r4, #6]
+ add r2, r2, r3
+ ldr r3, .L3532+32
ldrh r1, [r3]
ldrb r3, [r4, #9] @ zero_extendqisi2
mul r3, r3, r1
cmp r2, r3
- beq .L3480
- ldr r1, .L3606+40
+ beq .L3423
movw r2, #1695
- ldr r0, .L3606+44
+ ldr r1, .L3532+40
+ ldr r0, .L3532+44
bl printk
bl dump_stack
-.L3480:
- ldr r3, .L3606+24
- ldrb r3, [r3, #2772] @ zero_extendqisi2
+.L3423:
+ ldrb r3, [r6, #-2546] @ zero_extendqisi2
cmp r3, #8
- bls .L3481
+ bls .L3424
ldr r3, [r5, #12]
- ldr r1, .L3606+48
+ ldr r1, .L3532+64
ldr r2, [r3]
cmp r2, r1
- beq .L3481
- cmn r9, #1
- beq .L3486
+ beq .L3424
+ cmn r7, #1
+ beq .L3426
ldr r2, [r3, #4]
cmn r2, #1
- beq .L3519
- ldr r2, [r3, #16]
- ldr r1, .L3606+52
- cmp r2, r1
- bne .L3519
- ldr r0, [sp, #16]
- mov r1, #1024
- ldr fp, [r3, #20]
- bl js_hash
- cmp fp, r0
- beq .L3519
- mov r1, #1024
- ldr r0, [sp, #16]
- bl js_hash
- mov r1, r10
- mov r2, r7
- str r9, [sp]
- str r0, [sp, #4]
- ldr r3, [sp, #20]
- ldr r0, .L3606+56
- bl printk
- ldr r0, .L3606+60
- mov r2, #4
- mov r3, #16
- ldr r1, [sp, #16]
- bl rknand_print_hex
- ldrb r3, [r8, #2772] @ zero_extendqisi2
- ldr r0, .L3606+64
- mov r2, #4
- ldr r1, [r5, #12]
- mov r3, r3, lsr #1
- bl rknand_print_hex
- b .L3486
-.L3481:
- cmn r9, #1
- beq .L3486
-.L3519:
+ bne .L3427
+.L3430:
ldr r3, [r5, #12]
ldr r0, [r3, #4]
cmn r0, #1
- beq .L3486
- ldr r3, [r3]
- ldr r2, .L3606+48
- cmp r3, r2
- beq .L3486
- bl lpa_hash_get_ppa
- ldr r2, [sp, #28]
- mov r3, r0
- cmp r2, #0
- beq .L3485
- ldr r2, [r5, #12]
- ldr r1, [r2, #8]
- str r2, [sp, #24]
- cmp r0, r1
- cmnne r0, #1
- beq .L3485
- ldr r2, .L3606+24
- mov r9, #1
- ldr fp, .L3606+68
- ldr r10, .L3606+36
- ldrb r1, [r2, #1189] @ zero_extendqisi2
- ldrh r0, [fp]
- rsb r1, r1, #24
- str r3, [sp, #12]
- rsb r1, r0, r1
- mov r1, r9, asl r1
- sub r1, r1, #1
- and r0, r1, r3, lsr r0
- ldrb r1, [r10, #-3130] @ zero_extendqisi2
- bl __aeabi_uidiv
- ldr r3, [sp, #28]
- uxth r0, r0
- ldr r2, [sp, #24]
- ldrh r1, [r3]
- ldr r3, [sp, #12]
- cmp r1, r0
- bne .L3485
- ldr ip, [r2]
- mov r0, r3
- ldr r1, [r5, #4]
- sub r2, r10, #56
- ldrb r3, [r8, #2772] @ zero_extendqisi2
- str ip, [sp, #12]
- bl ftl_read_ppa_page
- ldr r3, [r10, #-56]
- ldr ip, [sp, #12]
- cmp r3, ip
- bcc .L3485
- ldr r3, [r5, #12]
- ldr r0, [r3, #8]
- cmn r0, #1
- beq .L3486
- ldrb r3, [r8, #1189] @ zero_extendqisi2
- ldrh r2, [fp]
- rsb r3, r3, #24
- ldrb r1, [r10, #-3130] @ zero_extendqisi2
- rsb r3, r2, r3
- mov r9, r9, asl r3
- sub r9, r9, #1
- and r0, r9, r0, lsr r2
- bl __aeabi_uidiv
- uxth r0, r0
- bl ftl_vpn_decrement
- b .L3486
-.L3485:
- ldr r2, [r5, #12]
- ldr r3, [r8, #2784]
- ldr r1, [r2, #4]
- cmp r1, r3
- bcs .L3486
- ldr r3, .L3606+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 .L3486
- ldr r3, [r8, #2804]
- ldr r2, [r2]
- ldr r1, [r3, #8]
- cmp r2, r1
- strhi r2, [r3, #8]
- ldrh r3, [r4, #12]
- ldrh r2, [r4, #10]
- ldr r1, [r5, #12]
- add r2, r3, r2
- ldmib r1, {r0, r1}
- uxth r2, r2
- bl lpa_hash_update_ppa
- ldr r3, [sp, #36]
- str r3, [sp, #32]
- ldr r3, [sp, #40]
- str r3, [sp, #36]
- ldr r3, [sp, #44]
- str r3, [sp, #40]
- ldr r3, [sp, #20]
- str r3, [sp, #44]
-.L3486:
+ bne .L3428
+.L3426:
ldrh r3, [r4, #6]
sub r3, r3, #1
strh r3, [r4, #6] @ movhi
@@ -20888,114 +21177,133 @@
str r3, [sp, #12]
mov r3, #1
str r3, [sp, #24]
-.L3476:
- add r6, r6, #1
- uxth r6, r6
- b .L3475
-.L3602:
- add r7, r7, #1
- mov r3, #0
- strb r3, [r4, #5]
- uxth r7, r7
- b .L3474
-.L3477:
- ldrh r3, [r4, #6]
- strb r6, [r4, #5]
- ldrh r6, [r4, #10]
- ldrb fp, [r4, #9] @ zero_extendqisi2
- add r6, r3, r6
- ldr r3, .L3606+72
- strh r7, [r4, #2] @ movhi
- ldrh ip, [r3, #-8]
- str r3, [sp, #16]
- mul fp, ip, fp
- cmp r6, fp
- beq .L3490
- ldr r1, .L3606+40
- movw r2, #1802
- ldr r0, .L3606+44
+.L3419:
+ add r3, r10, #1
+ uxth r10, r3
+ b .L3418
+.L3427:
+ ldr r2, [r3, #16]
+ ldr r1, .L3532+68
+ cmp r2, r1
+ bne .L3430
+ ldr fp, [r3, #20]
+ mov r1, #1024
+ ldr r0, [sp, #16]
+ bl js_hash
+ cmp fp, r0
+ beq .L3430
+ mov r1, #1024
+ ldr r0, [sp, #16]
+ bl js_hash
+ mov r2, r9
+ mov r1, r8
+ str r0, [sp, #4]
+ str r7, [sp]
+ ldr r3, [sp, #20]
+ ldr r0, .L3532+72
bl printk
- bl dump_stack
-.L3490:
- ldr r9, .L3606+36
- mov r8, #0
- ldrh r6, [r4, #10]
- mov r7, r8
- ldr r10, [r9, #-2548]
-.L3491:
- cmp r7, r6
- bcs .L3603
- ldrh r3, [r4, #12]
- add r3, r7, r3
- add r7, r7, #1
- ldr r3, [r10, r3, asl #2]
- cmn r3, #1
- addne r8, r8, #1
- uxthne r8, r8
- b .L3491
-.L3603:
- ldr r2, [sp, #16]
- ldrb r3, [r4, #9] @ zero_extendqisi2
- ldrh r10, [r2, #-8]
- smulbb r3, r3, r10
- ldr r10, .L3606+24
- rsb r6, r6, r3
- add r6, r8, r6
- ldr r8, .L3606
- uxth r6, r6
- ldr r3, [r8]
- tst r3, #4096
- beq .L3494
- ldrh r1, [r4]
- mov r2, r6
- ldr ip, [r10, #1088]
- ldr r0, .L3606+76
- mov r3, r1, asl #1
- ldrh r3, [ip, r3]
- bl printk
-.L3494:
- ldrh r3, [r4]
- ldr r2, [r10, #1088]
- mov r3, r3, asl #1
- strh r6, [r2, r3] @ movhi
- ldr r3, [r8]
- tst r3, #16384
- beq .L3495
- ldr r3, [sp, #44]
- add r1, sp, #32
- ldr r0, .L3606+80
- str r3, [sp]
- ldmia r1, {r1, r2, r3}
- bl printk
-.L3495:
- ldrb r2, [r10, #2772] @ zero_extendqisi2
- mov r1, #0
- ldr r0, [r5, #4]
- mov r7, #0
- mov r2, r2, asl #9
- bl ftl_memset
-.L3496:
- ldrb r3, [r9, #-3123] @ zero_extendqisi2
- ldr r2, [sp, #12]
- mul r3, r3, r2
- cmp r7, r3
- bcs .L3604
- add ip, sp, #32
- ldr r0, [ip, r7, asl #2]
+ mov r3, #16
+ mov r2, #4
+ ldr r1, [sp, #16]
+ ldr r0, .L3532+76
+ bl rknand_print_hex
+ ldrb r3, [r6, #-2546] @ zero_extendqisi2
+ mov r2, #4
+ ldr r1, [r5, #12]
+ ldr r0, .L3532+80
+ lsr r3, r3, #1
+ bl rknand_print_hex
+ b .L3426
+.L3424:
+ cmn r7, #1
+ bne .L3430
+ b .L3426
+.L3428:
+ ldr r3, [r3]
+ ldr r2, .L3532+64
+ cmp r3, r2
+ beq .L3426
+ bl lpa_hash_get_ppa
+ ldr r3, [sp, #28]
+ mov r8, r0
+ cmp r3, #0
+ beq .L3431
+ ldr fp, [r5, #12]
+ ldr r3, [fp, #8]
+ cmp r3, r0
+ cmnne r0, #1
+ beq .L3431
+ ldr r3, .L3532+84
+ mov r7, #1
+ ldrb r1, [r6, #-3136] @ zero_extendqisi2
+ ldrh r0, [r3]
+ ldr r3, .L3532+24
+ ldrb r3, [r3, #1153] @ zero_extendqisi2
+ rsb r3, r3, #24
+ sub r3, r3, r0
+ lsl r3, r7, r3
+ sub r3, r3, #1
+ and r0, r3, r8, lsr r0
+ bl __aeabi_uidiv
+ ldr r3, [sp, #28]
+ uxth r0, r0
+ ldrh r3, [r3]
+ cmp r3, r0
+ bne .L3431
+ ldrb r3, [r6, #-2546] @ zero_extendqisi2
+ mov r0, r8
+ ldr r2, [r6, #-76]
+ ldr r1, [r5, #4]
+ ldr fp, [fp]
+ bl ftl_read_ppa_page
+ ldr r3, [r6, #-76]
+ ldr r3, [r3]
+ cmp fp, r3
+ bhi .L3431
+ ldr r3, [r5, #12]
+ ldr r0, [r3, #8]
cmn r0, #1
- bne .L3497
-.L3501:
- ldr r2, [r10, #2804]
- mvn r6, #0
+ beq .L3426
+ ldr r3, .L3532+84
+ ldrb r1, [r6, #-3136] @ zero_extendqisi2
+ ldrh r2, [r3]
+ ldr r3, .L3532+24
+ ldrb r3, [r3, #1153] @ zero_extendqisi2
+ rsb r3, r3, #24
+ sub r3, r3, r2
+ lsl r7, r7, r3
+ sub r7, r7, #1
+ and r0, r7, r0, lsr r2
+ bl __aeabi_uidiv
+ uxth r0, r0
+ bl ftl_vpn_decrement
+ b .L3426
+.L3438:
+ ldrh r1, [r4, #12]
+ add r1, r1, r2
+ add r2, r2, #1
+ ldr r1, [r3, r1, lsl #2]
+ cmn r1, #1
+ addne r7, r7, #1
+ uxthne r7, r7
+ b .L3436
+.L3453:
+ add r3, sp, #32
+ ldr r0, [r3, r8, lsl #2]
+ cmn r0, #1
+ bne .L3442
+.L3446:
+ ldr r2, [r10, #2800]
+ mvn r7, #0
ldr r3, [r5, #12]
mov r0, #2
ldr r2, [r2, #8]
str r2, [r3]
mov r2, #0
ldr r3, [r5, #12]
- str r6, [r3, #4]
+ str r7, [r3, #4]
ldr r3, [r5, #12]
- str r6, [r3, #8]
+ str r7, [r3, #8]
ldr r3, [r5, #12]
str r2, [r3, #12]
ldr r3, [r5, #12]
@@ -21005,37 +21313,91 @@
ldr r1, [r5, #12]
add r1, r1, #16
bl ftl_debug_info_fill
- b .L3498
-.L3497:
- ldr r3, .L3606+24
- ldr r1, [r5, #4]
+.L3443:
+ ldr r3, [sp, #24]
+ cmp r3, #1
+ bne .L3448
+ ldrh r3, [r4, #6]
+ cmp r3, #1
+ bls .L3448
+.L3507:
+ mov r0, r4
+ bl ftl_get_new_free_page
+ ldr r3, [r9]
+ mov fp, r0
+ tst r3, #16384
+ beq .L3450
+ ldrh r2, [r4, #12]
+ mov r1, r0
+ ldrh r3, [r4, #10]
+ ldr r0, .L3532+88
+ add r3, r3, r2
ldr r2, [r5, #12]
- ldrb r3, [r3, #2772] @ zero_extendqisi2
- str ip, [sp, #20]
+ sub r3, r3, #1
+ ldr r2, [r2, #4]
+ bl printk
+.L3450:
+ ldrb r3, [r6, #-3127] @ zero_extendqisi2
+ ldr r1, [sp, #12]
+ ldrh r2, [r4, #6]
+ mul r3, r1, r3
+ add r3, r3, #1
+ sub r3, r3, r8
+ cmp r2, r3
+ bls .L3448
+ ldrb r3, [r6, #-2546] @ zero_extendqisi2
+ mov r0, fp
+ ldr r2, [r5, #12]
+ ldr r1, [r5, #4]
+ bl ftl_prog_ppa_page
+ str r0, [sp, #20]
+ ldrh r0, [r4]
+ bl ftl_vpn_decrement
+ ldr r2, [sp, #20]
+ adds r3, r7, #1
+ movne r3, #1
+ cmn r2, #1
+ cmnne r7, #1
+ beq .L3451
+ add r3, sp, #96
+ ldrh r2, [r4, #12]
+ str fp, [r3, r8, lsl #2]
+ ldrh r3, [r4, #10]
+ add r3, r3, r2
+ add r2, sp, #160
+ sub r3, r3, #1
+ str r3, [r2, r8, lsl #2]
+.L3448:
+ add r8, r8, #1
+ b .L3441
+.L3442:
+ ldrb r3, [r6, #-2546] @ zero_extendqisi2
+ ldr r2, [r5, #12]
+ ldr r1, [r5, #4]
bl ftl_read_ppa_page
ldr r3, [r5, #12]
- mov r6, r0
+ mov r7, r0
ldr r0, [r3, #4]
bl lpa_hash_get_ppa
- ldr r3, [r8]
- tst r3, #16384
+ ldr r3, [r9]
mov fp, r0
- ldr ip, [sp, #20]
- beq .L3499
+ tst r3, #16384
+ beq .L3444
ldr r3, [r5, #12]
- mov r1, fp
- ldr r0, .L3606+84
- ldr r2, [ip, r7, asl #2]
+ add r2, sp, #32
+ mov r1, r0
+ ldr r2, [r2, r8, lsl #2]
+ ldr r0, .L3532+92
ldr r3, [r3, #4]
bl printk
-.L3499:
+.L3444:
add r3, sp, #32
mov r2, #1
+ ldr r3, [r3, r8, lsl #2]
mov r0, #2
- ldr r3, [r3, r7, asl #2]
cmp fp, r3
ldr r3, [r5, #12]
- mvnne r6, #0
+ mvnne r7, #0
str fp, [r3, #8]
ldr r3, [r5, #12]
str r2, [r3, #12]
@@ -21045,298 +21407,243 @@
ldr r1, [r5, #12]
add r1, r1, #16
bl ftl_debug_info_fill
- cmn r6, #1
- beq .L3501
-.L3498:
- ldr r3, [sp, #24]
- cmp r3, #1
- bne .L3503
- ldrh r3, [r4, #6]
- cmp r3, #1
- bls .L3503
-.L3573:
- mov r0, r4
- bl ftl_get_new_free_page
- ldr r3, [r8]
- tst r3, #16384
- mov fp, r0
- beq .L3505
- ldrh r1, [r4, #12]
- ldr r2, [r5, #12]
- ldrh r3, [r4, #10]
- ldr r0, .L3606+88
- add r3, r3, r1
- ldr r2, [r2, #4]
- mov r1, fp
- sub r3, r3, #1
- bl printk
-.L3505:
- 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 .L3503
- ldr r3, .L3606+24
- mov r0, fp
- ldr r2, [r5, #12]
- ldr r1, [r5, #4]
- ldrb r3, [r3, #2772] @ zero_extendqisi2
- bl ftl_prog_ppa_page
- str r0, [sp, #20]
- ldrh r0, [r4]
- bl ftl_vpn_decrement
- adds r3, r6, #1
- movne r3, #1
- ldr r2, [sp, #20]
- cmn r2, #1
- cmnne r6, #1
- beq .L3506
- add r3, sp, #96
- ldrh r2, [r4, #12]
- str fp, [r3, r7, asl #2]
- ldrh r3, [r4, #10]
- add r3, r3, r2
- add r2, sp, #160
- sub r3, r3, #1
- str r3, [r2, r7, asl #2]
- b .L3503
-.L3506:
+ cmn r7, #1
+ bne .L3443
+ b .L3446
+.L3451:
ldrh r2, [r4, #6]
cmp r2, #1
movls r3, #0
andhi r3, r3, #1
cmp r3, #0
- bne .L3573
-.L3503:
- add r7, r7, #1
- b .L3496
-.L3604:
- ldr r10, .L3606+24
- mov r6, #0
-.L3509:
- ldrb r3, [r9, #-3123] @ zero_extendqisi2
- ldr r2, [sp, #12]
- mul r3, r3, r2
- cmp r6, r3
- bcs .L3605
- add fp, sp, #96
- ldr r3, [fp, r6, asl #2]
+ bne .L3507
+ b .L3448
+.L3460:
+ add r10, sp, #96
+ ldr r3, [r10, r7, lsl #2]
cmn r3, #1
- beq .L3511
- add r7, sp, #32
- ldr r1, [r5, #4]
+ beq .L3456
+ ldrb r3, [r6, #-2546] @ zero_extendqisi2
ldr r2, [r5, #12]
- ldr r0, [r7, r6, asl #2]
- ldrb r3, [r10, #2772] @ zero_extendqisi2
+ ldr r1, [r5, #4]
+ ldr r0, [r8, r7, lsl #2]
bl ftl_read_ppa_page
cmn r0, #1
cmpne r0, #256
- bne .L3511
- ldr r0, [fp, r6, asl #2]
- ldrb r3, [r10, #2772] @ zero_extendqisi2
- ldr r1, [r5, #4]
+ bne .L3456
+ ldrb r3, [r6, #-2546] @ zero_extendqisi2
+ ldr r0, [r10, r7, lsl #2]
ldr r2, [r5, #12]
+ ldr r1, [r5, #4]
bl ftl_read_ppa_page
- ldr r3, [r8]
+ ldr r3, [r9]
+ mov r10, r0
tst r3, #16384
- mov fp, r0
- beq .L3513
- ldr r3, [r5, #12]
- mov r1, fp
- ldr r0, .L3606+88
- ldr r2, [r3, #8]
- ldr r3, [r7, r6, asl #2]
+ beq .L3458
+ ldr r2, [r5, #12]
+ mov r1, r0
+ ldr r3, [r8, r7, lsl #2]
+ ldr r0, .L3532+88
+ ldr r2, [r2, #8]
bl printk
-.L3513:
- cmn fp, #1
- beq .L3511
- ldr r3, [r5, #12]
- ldr r2, [r7, r6, asl #2]
- ldr r1, [r3, #8]
- cmp r2, r1
- bne .L3511
- ldr r1, [r8]
- add r7, sp, #160
- tst r1, #16384
- beq .L3514
- ldr r1, [r3, #4]
- ldr r0, .L3606+92
- ldr r3, [r7, r6, asl #2]
+.L3458:
+ cmn r10, #1
+ beq .L3456
+ ldr r1, [r5, #12]
+ ldr r2, [r8, r7, lsl #2]
+ ldr r3, [r1, #8]
+ cmp r2, r3
+ bne .L3456
+ ldr r3, [r9]
+ add r10, sp, #160
+ tst r3, #16384
+ beq .L3459
+ ldr r3, [r10, r7, lsl #2]
+ mov r0, fp
+ ldr r1, [r1, #4]
bl printk
-.L3514:
+.L3459:
+ ldr r2, [r10, r7, lsl #2]
ldr r3, [r5, #12]
- ldr r2, [r7, r6, asl #2]
- ldmib r3, {r0, r1}
uxth r2, r2
+ ldmib r3, {r0, r1}
bl lpa_hash_update_ppa
-.L3511:
- add r6, r6, #1
- b .L3509
-.L3605:
- mov r0, r5
- bl zbuf_free
- ldrh r3, [r4, #12]
- ldrb r1, [r4, #9] @ zero_extendqisi2
- ldr r2, [sp, #16]
- ldrh r2, [r2, #-8]
- mla r3, r1, r2, r3
- ldr r2, .L3606+36
- ldr r2, [r2, #-2548]
- sub r3, r3, #-1073741823
- ldr r3, [r2, r3, asl #2]
- cmn r3, #1
- beq .L3516
- ldr r1, .L3606+40
- movw r2, #1917
- ldr r0, .L3606+44
- bl printk
- bl dump_stack
-.L3516:
- ldrh r3, [r4, #6]
- cmp r3, #1
- bne .L3467
- mov r0, r4
- bl ftl_write_last_log_page
-.L3467:
- add sp, sp, #228
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3607:
+.L3456:
+ add r7, r7, #1
+ b .L3454
+.L3431:
+ ldr r1, [r5, #12]
+ ldr r2, .L3532+24
+ ldr r0, [r1, #4]
+ ldr r3, [r2, #2780]
+ cmp r0, r3
+ bcs .L3426
+ ldr r3, .L3532+32
+ ldrb ip, [r4, #9] @ zero_extendqisi2
+ ldrh r0, [r4, #10]
+ ldrh r3, [r3]
+ mul r3, r3, ip
+ sub r3, r3, #1
+ cmp r0, r3
+ bge .L3426
+ ldr r3, [r2, #2800]
+ ldr r1, [r1]
+ ldr r2, [r3, #8]
+ cmp r1, r2
+ strhi r1, [r3, #8]
+ ldrh r1, [r4, #12]
+ ldrh r2, [r4, #10]
+ ldr r3, [r5, #12]
+ add r2, r2, r1
+ uxth r2, r2
+ ldmib r3, {r0, r1}
+ bl lpa_hash_update_ppa
+ ldr r3, [sp, #36]
+ str r3, [sp, #32]
+ ldr r3, [sp, #40]
+ str r3, [sp, #36]
+ ldr r3, [sp, #44]
+ str r3, [sp, #40]
+ ldr r3, [sp, #20]
+ str r3, [sp, #44]
+ b .L3426
+.L3533:
.align 2
-.L3606:
+.L3532:
.word .LANCHOR2
+ .word .LC212
.word .LC213
.word .LC214
.word .LC215
.word .LC216
- .word .LC217
.word .LANCHOR0
- .word .LANCHOR3-3096
- .word .LANCHOR3-3066
.word .LANCHOR3
- .word .LANCHOR1+2528
+ .word .LANCHOR3-3096
+ .word .LANCHOR3-3088
+ .word .LANCHOR1+2316
.word .LC0
+ .word .LC219
+ .word .LC220
+ .word .LC223
+ .word .LANCHOR3-3072
.word -178307901
.word 1212240712
+ .word .LC217
.word .LC218
- .word .LC219
- .word .LC184
- .word .LANCHOR3-3132
- .word .LANCHOR3-3088
- .word .LC220
- .word .LC221
+ .word .LC183
+ .word .LANCHOR3-3138
.word .LC222
- .word .LC223
- .word .LC224
+ .word .LC221
.fnend
.size ftl_open_sblk_recovery, .-ftl_open_sblk_recovery
.align 2
.global dump_ftl_info
+ .syntax unified
+ .arm
+ .fpu softvfp
.type dump_ftl_info, %function
dump_ftl_info:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, lr}
+ push {r0, r1, r2, r4, r5, r6, r7, lr}
.save {r4, r5, r6, r7, lr}
.pad #12
- movw r7, #1076
- ldr r4, .L3610
- ldr r5, .L3610+4
- ldr r0, .L3610+8
- ldrb r1, [r4, #2774] @ zero_extendqisi2
+ movw r7, #1080
+ ldr r4, .L3536
+ ldr r5, .L3536+4
+ ldrb r1, [r4, #2769] @ zero_extendqisi2
+ ldr r0, .L3536+8
+ bl printk
+ ldrh r3, [r5, #-54]
sub r6, r5, #3088
+ ldrb r2, [r5, #-55] @ zero_extendqisi2
+ ldrb r1, [r5, #-56] @ zero_extendqisi2
+ ldr r0, .L3536+12
bl printk
- ldrb r1, [r5, #200] @ zero_extendqisi2
- ldrb r2, [r5, #201] @ zero_extendqisi2
- ldrh r3, [r5, #202]
- ldr r0, .L3610+12
- bl printk
- ldr r3, [r4, #2804]
- ldr r0, .L3610+16
- ldrh r1, [r3, #130]
+ ldr r3, [r4, #2800]
+ ldr r0, .L3536+16
ldrh r2, [r3, #140]
+ ldrh r1, [r3, #130]
bl printk
- ldr r0, [r4, #1092]
- ldrh ip, [r0, #22]
- ldrh r1, [r0, #16]
- ldrh r2, [r0, #18]
+ ldr r0, [r4, #1096]
+ ldrh ip, [r0, #26]
ldrb r3, [r0, #21] @ zero_extendqisi2
- str ip, [sp]
- ldrh r0, [r0, #26]
- str r0, [sp, #4]
- ldr r0, .L3610+20
+ ldrh r2, [r0, #18]
+ ldrh r1, [r0, #16]
+ str ip, [sp, #4]
+ ldrh r0, [r0, #22]
+ str r0, [sp]
+ ldr r0, .L3536+20
bl printk
- ldr r0, [r4, #1092]
- ldrh ip, [r0, #54]
- ldrh r1, [r0, #48]
- ldrh r2, [r0, #50]
+ ldr r0, [r4, #1096]
+ ldrh ip, [r0, #58]
ldrb r3, [r0, #53] @ zero_extendqisi2
- str ip, [sp]
- ldrh r0, [r0, #58]
- str r0, [sp, #4]
- ldr r0, .L3610+24
+ ldrh r2, [r0, #50]
+ ldrh r1, [r0, #48]
+ str ip, [sp, #4]
+ ldrh r0, [r0, #54]
+ str r0, [sp]
+ ldr r0, .L3536+24
bl printk
- ldr r0, [r4, #1092]
- ldrh ip, [r0, #86]
- ldrh r1, [r0, #80]
- ldrh r2, [r0, #82]
+ ldr r0, [r4, #1096]
+ ldrh ip, [r0, #90]
ldrb r3, [r0, #85] @ zero_extendqisi2
- str ip, [sp]
- ldrh r0, [r0, #90]
- str r0, [sp, #4]
- ldr r0, .L3610+28
+ ldrh r2, [r0, #82]
+ ldrh r1, [r0, #80]
+ str ip, [sp, #4]
+ ldrh r0, [r0, #86]
+ str r0, [sp]
+ ldr r0, .L3536+28
bl printk
ldrh r2, [r6, #-8]
- ldrb r3, [r5, #-3123] @ zero_extendqisi2
- ldr r1, [r5, #-2548]
- ldr r0, .L3610+32
+ ldrb r3, [r5, #-3127] @ zero_extendqisi2
+ ldr r1, [r5, #-2556]
+ ldr r0, .L3536+32
mul r3, r3, r2
mov r2, #4
- mov r3, r3, asl #1
+ lsl r3, r3, #1
bl rknand_print_hex
- ldr r1, [r4, #1088]
ldrh r3, [r4, r7]
mov r2, #2
- ldr r0, .L3610+36
+ ldr r1, [r4, #1092]
+ ldr r0, .L3536+36
bl rknand_print_hex
- ldr r3, [r4, #2804]
- movw ip, #698
- ldr r0, .L3610+40
- add r1, r3, #704
+ ldr r1, [r4, #2800]
+ movw r3, #698
mov r2, #4
- ldrh r3, [r3, ip]
+ ldr r0, .L3536+40
+ ldrh r3, [r1, r3]
+ add r1, r1, #704
bl rknand_print_hex
- ldr r1, [r4, #1080]
ldrh r3, [r4, r7]
mov r2, #4
- ldr r0, .L3610+44
+ ldr r1, [r4, #1084]
+ ldr r0, .L3536+44
bl rknand_print_hex
sub r1, r5, #3056
- ldr r0, .L3610+48
- sub r1, r1, #4
- mov r2, #2
mov r3, #256
+ mov r2, #2
+ sub r1, r1, #14
+ ldr r0, .L3536+48
bl rknand_print_hex
ldrh r2, [r6, #-8]
- ldrb r3, [r5, #-3123] @ zero_extendqisi2
- ldr r0, .L3610+52
- ldr r1, [r5, #-2544]
+ ldrb r3, [r5, #-3127] @ zero_extendqisi2
+ ldr r1, [r5, #-2552]
+ ldr r0, .L3536+52
mul r3, r3, r2
mov r2, #2
- mov r3, r3, asl #1
+ lsl r3, r3, #1
add sp, sp, #12
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, lr}
+ pop {r4, r5, r6, r7, lr}
b rknand_print_hex
-.L3611:
+.L3537:
.align 2
-.L3610:
+.L3536:
.word .LANCHOR0
.word .LANCHOR3
+ .word .LC224
.word .LC225
.word .LC226
.word .LC227
@@ -21344,2197 +21651,2185 @@
.word .LC229
.word .LC230
.word .LC231
+ .word .LC211
.word .LC232
- .word .LC212
.word .LC233
.word .LC234
- .word .LC235
.fnend
.size dump_ftl_info, .-dump_ftl_info
.align 2
.global pm_ppa_update_check
+ .syntax unified
+ .arm
+ .fpu softvfp
.type pm_ppa_update_check, %function
pm_ppa_update_check:
.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}
- mov r4, r2
- ldr r3, .L3616
- mov r6, r0
- ldr r7, .L3616+4
+ ldr r3, .L3542
+ push {r4, r5, r6, r7, r8, lr}
+ .save {r4, r5, r6, r7, r8, lr}
+ mov r6, r2
+ ldr r7, .L3542+4
+ mov r4, r0
+ sub r2, r3, #3136
mov r5, r1
- sub r2, r3, #3120
- mvn r1, #0
- 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, #-3130] @ zero_extendqisi2
+ ldrh r0, [r2, #-2]
+ ldrb ip, [r7, #1153] @ zero_extendqisi2
+ ldrb r1, [r3, #-3136] @ zero_extendqisi2
+ mvn r3, #0
+ rsb ip, ip, #24
+ sub ip, ip, r0
+ lsr r0, r6, r0
+ bic r0, r0, r3, lsl ip
bl __aeabi_uidiv
- ldr r3, [r7, #1080]
+ ldr r3, [r7, #1084]
uxth r0, r0
- add r0, r3, r0, asl #2
+ add r0, r3, r0, lsl #2
ldrb r0, [r0, #2] @ zero_extendqisi2
- mov r0, r0, lsr #5
- cmp r0, #1
- cmpne r0, #7
+ lsr r0, r0, #5
+ cmp r0, #7
+ cmpne r0, #1
moveq r0, #1
movne r0, #0
- ldmnefd sp!, {r3, r4, r5, r6, r7, pc}
- mov r1, r6
+ popne {r4, r5, r6, r7, r8, pc}
+ mov r3, r6
mov r2, r5
- mov r3, r4
- ldr r0, .L3616+8
+ mov r1, r4
+ ldr r0, .L3542+8
bl printk
bl dump_ftl_info
mvn r0, #0
- ldmfd sp!, {r3, r4, r5, r6, r7, pc}
-.L3617:
+ pop {r4, r5, r6, r7, r8, pc}
+.L3543:
.align 2
-.L3616:
+.L3542:
.word .LANCHOR3
.word .LANCHOR0
- .word .LC236
+ .word .LC235
.fnend
.size pm_ppa_update_check, .-pm_ppa_update_check
.align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
.type load_l2p_region, %function
load_l2p_region:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
cmp r1, #31
- stmfd sp!, {r0, r1, r4, r5, r6, r7, r8, r9, r10, lr}
+ push {r0, r1, r4, r5, r6, r7, r8, r9, r10, lr}
.save {r4, r5, r6, r7, r8, r9, r10, lr}
.pad #8
- mov r6, r0
- mov r5, r1
- bls .L3619
- ldr r1, .L3633
+ mov r7, r0
+ mov r6, r1
+ bls .L3545
mov r2, #32
- ldr r0, .L3633+4
+ ldr r1, .L3559
+ ldr r0, .L3559+4
bl printk
bl dump_stack
-.L3619:
- ldr r9, .L3633+8
+.L3545:
+ ldr r8, .L3559+8
movw r10, #698
- ldr r7, .L3633+12
- ldr r3, [r9, #2804]
- mov r8, r9
+ ldr r5, .L3559+12
+ ldr r3, [r8, #2800]
+ mov r9, r8
ldrh r2, [r3, r10]
- cmp r6, r2
- bls .L3620
- mov r1, r6
- ldr r0, .L3633+16
- bl printk
+ cmp r2, r7
+ bcs .L3546
+ mov r1, r7
+ ldr r0, .L3559+16
mov r4, #0
- movw r3, #542
- ldr r0, [r4, #4]
- ldrh r2, [r7, r3]
+ bl printk
+ ldrh r2, [r5, #-14]
mov r1, #255
+ ldr r0, [r4, #4]
bl ftl_memset
- ldr r3, [r9, #2804]
+ ldr r3, [r8, #2800]
ldrh r3, [r3, r10]
- cmp r3, r6
- bcs .L3631
- ldr r0, .L3633+4
+ cmp r3, r7
+ bcc .L3547
+.L3557:
+ mov r0, #0
+.L3544:
+ add sp, sp, #8
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L3547:
mov r2, #37
- ldr r1, .L3633
- b .L3632
-.L3620:
- add r2, r6, #176
- mov r5, r5, asl #3
- add r9, r7, r5
- ldr r4, [r3, r2, asl #2]
- sub r3, r7, #2528
- add r2, r3, r5
- strh r6, [r3, r5] @ movhi
+.L3558:
+ ldr r1, .L3559
+ ldr r0, .L3559+4
+ bl printk
+ bl dump_stack
+ b .L3557
+.L3546:
+ add r2, r7, #176
+ lsl r6, r6, #3
+ ldr r4, [r3, r2, lsl #2]
+ ldr r3, .L3559+20
+ add r8, r5, r6
+ add r2, r3, r6
+ strh r7, [r3, r6] @ movhi
mov r3, #0
cmp r4, r3
strh r3, [r2, #2] @ movhi
- bne .L3623
- mov r1, r6
+ bne .L3549
mov r2, r4
- ldr r0, .L3633+20
+ mov r1, r7
+ ldr r0, .L3559+24
bl printk
- movw r3, #542
- ldr r0, [r9, #-2524]
+ ldrh r2, [r5, #-14]
mov r1, #255
- ldrh r2, [r7, r3]
+ ldr r0, [r8, #-2528]
bl ftl_memset
- b .L3631
-.L3623:
- ldr r2, [r7, #524]
+ b .L3557
+.L3549:
+ ldrb r3, [r5, #-2546] @ zero_extendqisi2
mov r0, r4
- ldrb r3, [r8, #2772] @ zero_extendqisi2
- ldr r1, [r9, #-2524]
+ ldr r2, [r5, #-32]
+ ldr r1, [r8, #-2528]
bl ftl_read_ppa_page
- ldr r2, [r7, #524]
- ldr r2, [r2]
- cmp r2, r6
+ ldr r2, [r5, #-32]
mov r3, r0
- bne .L3624
+ ldr r2, [r2]
+ cmp r2, r7
+ bne .L3550
cmn r0, #1
cmpne r0, #512
- beq .L3624
-.L3628:
- ldr r3, [r7, #524]
+ beq .L3550
+.L3554:
+ ldr r3, [r5, #-32]
ldr r3, [r3]
- cmp r3, r6
- beq .L3631
- ldr r0, .L3633+4
+ cmp r7, r3
+ beq .L3557
mov r2, #73
- ldr r1, .L3633
- b .L3632
-.L3624:
- mov r1, r6
+ b .L3558
+.L3550:
+ mov r1, r7
str r4, [sp]
- ldr r0, .L3633+24
- add r5, r7, r5
+ ldr r0, .L3559+28
+ add r6, r5, r6
bl printk
- ldr r3, [r8, #2804]
- movw ip, #698
- ldr r0, .L3633+28
- add r1, r3, #704
+ ldr r1, [r9, #2800]
+ movw r3, #698
mov r2, #4
- ldrh r3, [r3, ip]
+ ldr r0, .L3559+32
+ ldrh r3, [r1, r3]
+ add r1, r1, #704
bl rknand_print_hex
- ldrb r3, [r8, #2772] @ zero_extendqisi2
- ldr r0, .L3633+32
+ ldrb r3, [r5, #-2546] @ zero_extendqisi2
mov r2, #4
- ldr r1, [r5, #-2524]
- mov r3, r3, asl #7
- ldr r9, .L3633+12
+ ldr r1, [r6, #-2528]
+ ldr r0, .L3559+36
+ lsl r3, r3, #7
bl rknand_print_hex
- ldr r0, .L3633+36
- ldr r1, [r7, #524]
- mov r2, #4
mov r3, #16
+ mov r2, #4
+ ldr r1, [r5, #-32]
+ ldr r0, .L3559+40
bl rknand_print_hex
+ ldrb r3, [r5, #-2546] @ zero_extendqisi2
mov r0, r4
- ldr r1, [r5, #-2524]
- ldr r2, [r7, #524]
- ldrb r3, [r8, #2772] @ zero_extendqisi2
+ ldr r2, [r5, #-32]
+ ldr r1, [r6, #-2528]
bl ftl_read_ppa_page
cmn r0, #1
cmpne r0, #512
- bne .L3627
- movw r3, #542
- ldr r0, [r5, #-2524]
+ bne .L3553
+ ldrh r2, [r5, #-14]
mov r1, #255
- ldrh r2, [r9, r3]
+ ldr r0, [r6, #-2528]
bl ftl_memset
- b .L3629
-.L3627:
- ldr r3, [r9, #524]
- ldr r3, [r3]
- cmp r3, r6
- beq .L3628
- b .L3629
-.L3632:
- bl printk
- bl dump_stack
-.L3631:
- mov r0, #0
- b .L3622
-.L3629:
+.L3555:
mvn r0, #0
-.L3622:
- add sp, sp, #8
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
-.L3634:
+ b .L3544
+.L3553:
+ ldr r3, [r5, #-32]
+ ldr r3, [r3]
+ cmp r7, r3
+ beq .L3554
+ b .L3555
+.L3560:
.align 2
-.L3633:
- .word .LANCHOR1+2552
+.L3559:
+ .word .LANCHOR1+2339
.word .LC0
.word .LANCHOR0
.word .LANCHOR3
+ .word .LC236
+ .word .LANCHOR3-2532
.word .LC237
.word .LC238
.word .LC239
+ .word .LC218
.word .LC240
- .word .LC219
- .word .LC241
.fnend
.size load_l2p_region, .-load_l2p_region
.align 2
.global pm_gc
+ .syntax unified
+ .arm
+ .fpu softvfp
.type pm_gc, %function
pm_gc:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {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, .L3654
- ldr r4, [r5, #2804]
- add r4, r4, #688
- ldrh r2, [r4]
- ldr r4, .L3654+4
- ldrh r3, [r4, #-152]
+ ldr r6, .L3579
+ ldr r4, .L3579+4
+ ldr r3, [r6, #2800]
+ add r3, r3, #688
+ ldrh r2, [r3]
+ ldrh r3, [r4, #-176]
sub r3, r3, #1
cmp r2, r3
- bge .L3636
- ldr r3, [r4, #-160]
+ bge .L3562
+ ldr r3, [r4, #-184]
cmp r3, #0
- beq .L3637
-.L3636:
+ beq .L3563
+.L3562:
bl pm_free_sblk
- ldr r2, [r5, #2804]
+ ldr r2, [r6, #2800]
add r3, r2, #688
ldrh r1, [r3]
- ldrh r3, [r4, #-152]
+ ldrh r3, [r4, #-176]
sub r3, r3, #1
cmp r1, r3
- bge .L3638
- ldr r3, .L3654+4
- ldr r3, [r3, #-160]
+ bge .L3564
+ ldr r3, [r4, #-184]
cmp r3, #0
- beq .L3637
-.L3638:
+ beq .L3563
+.L3564:
uxth r0, r0
- movw r6, #65535
- add r0, r0, #208
+ movw r5, #65535
mov r3, #0
- str r3, [r4, #-160]
- mov r0, r0, asl #1
- ldrh r7, [r2, r0]
- cmp r7, r6
- bne .L3640
- ldr r1, .L3654+8
+ add r0, r0, #208
+ str r3, [r4, #-184]
+ lsl r0, r0, #1
+ ldrh r9, [r2, r0]
+ cmp r9, r5
+ bne .L3566
mov r2, #182
- ldr r0, .L3654+12
+ ldr r1, .L3579+8
+ ldr r0, .L3579+12
bl printk
bl dump_stack
bl pm_free_sblk
- ldr r3, [r5, #2804]
uxth r0, r0
+ ldr r3, [r6, #2800]
add r0, r0, #208
- mov r0, r0, asl #1
- ldrh r7, [r3, r0]
- cmp r7, r6
- beq .L3637
-.L3640:
+ lsl r0, r0, #1
+ ldrh r9, [r3, r0]
+ cmp r9, r5
+ beq .L3563
+.L3566:
+ ldr r5, .L3579+16
bl pm_select_ram_region
- ldr r8, .L3654+4
- movw r2, #65535
- sub r3, r8, #2528
- mov r6, r0, asl #3
+ lsl r7, r0, #3
mov r10, r0
- add r9, r3, r6
- str r3, [sp]
- ldrh r0, [r3, r6]
- cmp r0, r2
- beq .L3641
- add r8, r8, r6
- ldr r1, [r8, #-2524]
+ movw r3, #65535
+ ldrh r0, [r5, r7]
+ add r8, r5, r7
+ add r5, r5, #4
+ cmp r0, r3
+ beq .L3567
+ add r3, r4, r7
+ ldr r1, [r3, #-2528]
cmp r1, #0
- beq .L3641
- ldrsh r3, [r9, #2]
+ beq .L3567
+ ldrsh r3, [r8, #2]
cmp r3, #0
- bge .L3641
+ bge .L3567
bl pm_write_page
- ldrh r3, [r9, #2]
+ ldrh r3, [r8, #2]
ubfx r3, r3, #0, #15
- strh r3, [r9, #2] @ movhi
-.L3641:
- ldr fp, .L3654
+ strh r3, [r8, #2] @ movhi
+.L3567:
+ sub r5, r5, #4
mov r8, #0
- ldr r9, .L3654+4
- add r3, r9, r6
- str r3, [sp, #4]
-.L3642:
- ldr r0, [r5, #2804]
- uxth r9, r8
- add r3, r0, #696
- add r3, r3, #2
- ldrh r3, [r3]
- cmp r3, r9
- bls .L3653
- ldr r3, .L3654+16
- ldrh r1, [r3]
- add r3, r9, #176
- ldr ip, [r0, r3, asl #2]
- mvn r0, #0
- ldrb r3, [fp, #1189] @ zero_extendqisi2
- rsb r3, r3, #24
- rsb r3, r1, r3
- mvn r0, r0, asl r3
- and r0, r0, ip, lsr r1
- ldrb r1, [r4, #-3130] @ zero_extendqisi2
- bl __aeabi_uidiv
- uxth r0, r0
- cmp r0, r7
- bne .L3643
- mov r0, r9
- mov r1, r10
- bl load_l2p_region
- cmp r0, #0
- bne .L3644
- ldr r3, [sp, #4]
- mov r0, r9
- ldr r1, [r3, #-2524]
- bl pm_write_page
-.L3644:
- ldr r2, [sp]
- mvn r3, #0
- strh r3, [r2, r6] @ movhi
-.L3643:
- add r8, r8, #1
- b .L3642
-.L3653:
+ add r5, r5, r7
+.L3568:
+ ldr r3, [r6, #2800]
+ movw r1, #698
+ uxth r2, r8
+ ldrh r1, [r3, r1]
+ cmp r1, r2
+ bhi .L3571
bl pm_free_sblk
-.L3637:
+.L3563:
mov r0, #0
add sp, sp, #12
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3655:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3571:
+ ldr r1, .L3579+20
+ uxth fp, r8
+ ldrb r0, [r6, #1153] @ zero_extendqisi2
+ add ip, fp, #176
+ str r2, [sp, #4]
+ ldrh r1, [r1]
+ ldr r3, [r3, ip, lsl #2]
+ rsb r0, r0, #24
+ mvn ip, #0
+ sub r0, r0, r1
+ lsr r3, r3, r1
+ ldrb r1, [r4, #-3136] @ zero_extendqisi2
+ bic r0, r3, ip, lsl r0
+ bl __aeabi_uidiv
+ uxth r0, r0
+ ldr r2, [sp, #4]
+ cmp r9, r0
+ bne .L3569
+ mov r1, r10
+ mov r0, r2
+ bl load_l2p_region
+ cmp r0, #0
+ bne .L3570
+ add r3, r4, r7
+ mov r0, fp
+ ldr r1, [r3, #-2528]
+ bl pm_write_page
+.L3570:
+ mvn r3, #0
+ strh r3, [r5] @ movhi
+.L3569:
+ add r8, r8, #1
+ b .L3568
+.L3580:
.align 2
-.L3654:
+.L3579:
.word .LANCHOR0
.word .LANCHOR3
- .word .LANCHOR1+2568
+ .word .LANCHOR1+2355
.word .LC0
- .word .LANCHOR3-3132
+ .word .LANCHOR3-2532
+ .word .LANCHOR3-3138
.fnend
.size pm_gc, .-pm_gc
.align 2
.global pm_flush_id
+ .syntax unified
+ .arm
+ .fpu softvfp
.type pm_flush_id, %function
pm_flush_id:
.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}
- mov r0, r0, asl #3
- ldr r4, .L3662
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
+ lsl r0, r0, #3
+ ldr r4, .L3587
sub r3, r4, #2528
add r2, r4, r0
+ sub r3, r3, #4
+ ldr r1, [r2, #-2528]
add r5, r3, r0
- 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, #520]
+ ldr r3, [r4, #-36]
cmp r3, #0
- beq .L3657
+ beq .L3582
bl pm_gc
mov r3, #0
- str r3, [r4, #520]
-.L3657:
+ str r3, [r4, #-36]
+.L3582:
mov r0, #0
- ldmfd sp!, {r3, r4, r5, pc}
-.L3663:
+ pop {r4, r5, r6, pc}
+.L3588:
.align 2
-.L3662:
+.L3587:
.word .LANCHOR3
.fnend
.size pm_flush_id, .-pm_flush_id
.align 2
.global pm_flush
+ .syntax unified
+ .arm
+ .fpu softvfp
.type pm_flush, %function
pm_flush:
.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}
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
mov r4, #0
- ldr r5, .L3669
-.L3666:
- add r3, r5, r4, asl #3
+ ldr r5, .L3594
+.L3591:
+ add r3, r5, r4, lsl #3
uxth r0, r4
ldrsh r3, [r3, #2]
cmp r3, #0
- bge .L3665
+ bge .L3590
bl pm_flush_id
-.L3665:
+.L3590:
add r4, r4, #1
cmp r4, #32
- bne .L3666
+ bne .L3591
mov r0, #0
- ldmfd sp!, {r3, r4, r5, pc}
-.L3670:
+ pop {r4, r5, r6, pc}
+.L3595:
.align 2
-.L3669:
- .word .LANCHOR3-2528
+.L3594:
+ .word .LANCHOR3-2532
.fnend
.size pm_flush, .-pm_flush
.align 2
.global flt_sys_flush
+ .syntax unified
+ .arm
+ .fpu softvfp
.type flt_sys_flush, %function
flt_sys_flush:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r3, lr}
- .save {r3, lr}
+ push {r4, lr}
+ .save {r4, lr}
bl ftl_flush
bl pm_flush
bl ftl_ext_info_flush
mov r0, #0
- ldmfd sp!, {r3, lr}
+ pop {r4, lr}
b ftl_info_flush
.fnend
.size flt_sys_flush, .-flt_sys_flush
.align 2
.global zftl_deinit
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_deinit, %function
zftl_deinit:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r3, lr}
- .save {r3, lr}
+ push {r4, lr}
+ .save {r4, lr}
bl zftl_flash_de_init
bl flt_sys_flush
- ldmfd sp!, {r3, lr}
+ pop {r4, lr}
b zftl_flash_de_init
.fnend
.size zftl_deinit, .-zftl_deinit
.align 2
.global pm_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type pm_init, %function
pm_init:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- mov r7, r0
- ldr r4, .L3699
+ mov r5, #0
+ ldr r8, .L3623
+ mvn r9, #0
+ mov r10, r5
+ mov r3, #1
+ ldr r4, .L3623+4
.pad #20
sub sp, sp, #20
+ mov r7, r0
mov r0, #64
- mov r5, #0
- mov r3, #1
- ldr r10, .L3699+4
- str r5, [r4, #-160]
- sub r8, r4, #2528
- str r5, [r4, #520]
- mvn r9, #0
- strb r3, [r4, #528]
- bl ftl_malloc
- str r0, [r4, #524]
-.L3677:
- mov r3, #0
- cmp r7, r3
+ str r5, [r4, #-184]
+ str r5, [r4, #-36]
+ strb r3, [r4, #-28]
+ bl ftl_dma32_malloc
+ str r0, [r4, #-32]
+.L3602:
+ cmp r7, #0
mov r6, r8
strh r9, [r6, r5]! @ movhi
- strh r3, [r6, #2] @ movhi
- beq .L3676
- ldrb r0, [r10, #2772] @ zero_extendqisi2
- mov r0, r0, asl #9
- bl ftl_malloc
+ strh r10, [r6, #2] @ movhi
+ beq .L3601
+ ldrb r0, [r4, #-2546] @ zero_extendqisi2
+ lsl r0, r0, #9
+ bl ftl_dma32_malloc
str r0, [r6, #4]
-.L3676:
+.L3601:
add r5, r5, #8
cmp r5, #256
- bne .L3677
- ldr r5, .L3699+4
- ldr r10, [r4, #-2524]
- ldr r6, [r4, #524]
- ldr r3, [r5, #2804]
- mov r2, r10
- add r3, r3, #692
- ldrb r0, [r3, #2] @ zero_extendqisi2
- ldrh r1, [r3]
+ bne .L3602
+ ldr r5, .L3623+8
+ ldr r9, [r4, #-2528]
+ ldr r6, [r4, #-32]
+ ldr r3, [r5, #2800]
+ add r2, r3, #692
+ ldrb r0, [r3, #694] @ zero_extendqisi2
mov r3, #4
+ ldrh r1, [r2]
str r3, [sp]
+ mov r2, r9
mov r3, r6
bl flash_get_last_written_page
- ldr r3, [r5, #2804]
+ ldr r3, [r5, #2800]
+ mov r8, r0
add r2, r3, #696
ldrh r2, [r2]
cmp r2, r0
- mov r7, r0
- bgt .L3678
- add r3, r3, #692
- ldr r0, .L3699+8
- mov fp, r5
- ldrh r1, [r3]
- mov r3, r7
- bl printk
- ldr r3, [r5, #2804]
- add r7, r7, #1
- add r3, r3, #696
- ldrh r9, [r3]
-.L3679:
- sxth r3, r9
- cmp r3, r7
- bge .L3698
- ldr r2, [r5, #2804]
- ldr r0, .L3699+12
- add r1, r2, #692
- ldrh r8, [r0]
+ bgt .L3603
+ add r1, r3, #692
+ mov r3, r0
ldrh r1, [r1]
- ldrb r0, [r2, #694] @ zero_extendqisi2
- mov r2, r10
- mla r8, r8, r1, r3
- ldrb r3, [r5, #2772] @ zero_extendqisi2
- str r3, [sp]
- mov r3, r6
- mov r1, r8
- bl flash_read_page_en
- ldr r3, [r5, #2804]
- add r3, r3, #692
- ldr r2, [r3, #-644]
- add r2, r2, #1
- str r2, [r3, #-644]
- add r3, r3, #2
- ldr r1, [r6]
- mov r2, r8
- ldrh r3, [r3]
- str r0, [sp, #12]
- ldr r0, .L3699+16
+ ldr r0, .L3623+12
bl printk
- ldr ip, [sp, #12]
- cmp ip, #512
- cmnne ip, #1
- beq .L3680
- ldr r3, [fp, #2804]
- ldr r2, [r6]
+ ldr r3, [r5, #2800]
add r3, r3, #696
- add r3, r3, #2
- ldrh r3, [r3]
- cmp r2, r3
- bcs .L3680
- ldr r3, [r6, #8]
- cmp r3, #0
- beq .L3681
- ldrb r1, [fp, #2772] @ zero_extendqisi2
- mov r0, r10
+ ldrsh r7, [r3]
+ add r3, r8, #1
str r3, [sp, #12]
- mov r1, r1, asl #9
- bl js_hash
+.L3604:
ldr r3, [sp, #12]
- cmp r3, r0
- beq .L3681
- ldr r1, [r6, #8]
- ldr r0, .L3699+20
- bl printk
- b .L3680
-.L3681:
- ldr r3, [r6]
- ldr r2, [r5, #2804]
- add r3, r3, #176
- str r8, [r2, r3, asl #2]
-.L3680:
- add r9, r9, #1
- uxth r9, r9
- b .L3679
-.L3698:
+ cmp r7, r3
+ blt .L3607
mov r3, #1
- strb r3, [r4, #209]
- ldr r3, [r5, #2804]
+ ldrh r2, [sp, #12]
+ strb r3, [r4, #-47]
+ ldr r3, [r5, #2800]
add r3, r3, #696
- strh r7, [r3] @ movhi
+ strh r2, [r3] @ movhi
bl pm_free_sblk
-.L3678:
- movw r3, #542
+.L3603:
+ ldrh r2, [r4, #-14]
mov r1, #255
- ldrh r2, [r4, r3]
- ldr r0, [r4, #-2524]
+ ldr r0, [r4, #-2528]
bl ftl_memset
+ ldr r1, [r4, #-2528]
mvn r0, #0
- ldr r1, [r4, #-2524]
bl pm_write_page
- ldrb r3, [r4, #209] @ zero_extendqisi2
- ldr r5, .L3699
+ ldrb r3, [r4, #-47] @ zero_extendqisi2
cmp r3, #0
- beq .L3683
- ldr r1, [r5, #-2524]
+ beq .L3608
+ ldr r1, [r4, #-2528]
mvn r0, #0
bl pm_write_page
- ldr r1, [r5, #-2524]
+ ldr r1, [r4, #-2528]
mvn r0, #0
bl pm_write_page
+ ldr r1, [r4, #-2528]
mvn r0, #0
- ldr r1, [r5, #-2524]
bl pm_write_page
-.L3683:
+.L3608:
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}
-.L3700:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3607:
+ ldr r3, [r5, #2800]
+ movw fp, #694
+ add r2, r3, #692
+ ldrb r0, [r3, fp] @ zero_extendqisi2
+ ldrh r8, [r2]
+ ldr r2, .L3623+16
+ ldrb r3, [r4, #-2546] @ zero_extendqisi2
+ ldrh r2, [r2]
+ str r3, [sp]
+ mov r3, r6
+ mla r8, r2, r8, r7
+ mov r2, r9
+ mov r1, r8
+ bl flash_read_page_en
+ ldr r3, [r5, #2800]
+ mov r10, r0
+ ldr r0, .L3623+20
+ ldr r2, [r3, #48]
+ add r2, r2, #1
+ str r2, [r3, #48]
+ mov r2, r8
+ ldrh r3, [r3, fp]
+ ldr r1, [r6]
+ bl printk
+ cmp r10, #512
+ cmnne r10, #1
+ beq .L3605
+ ldr r2, [r5, #2800]
+ movw r3, #698
+ ldrh r3, [r2, r3]
+ ldr r2, [r6]
+ cmp r2, r3
+ bcs .L3605
+ ldr r10, [r6, #8]
+ cmp r10, #0
+ beq .L3606
+ ldrb r1, [r4, #-2546] @ zero_extendqisi2
+ mov r0, r9
+ lsl r1, r1, #9
+ bl js_hash
+ cmp r10, r0
+ beq .L3606
+ ldr r1, [r6, #8]
+ ldr r0, .L3623+24
+ bl printk
+.L3605:
+ add r7, r7, #1
+ sxth r7, r7
+ b .L3604
+.L3606:
+ ldr r3, [r6]
+ ldr r2, [r5, #2800]
+ add r3, r3, #176
+ str r8, [r2, r3, lsl #2]
+ b .L3605
+.L3624:
.align 2
-.L3699:
+.L3623:
+ .word .LANCHOR3-2532
.word .LANCHOR3
.word .LANCHOR0
+ .word .LC241
+ .word .LANCHOR3-3074
.word .LC242
- .word .LANCHOR3-3066
.word .LC243
- .word .LC244
.fnend
.size pm_init, .-pm_init
.align 2
.global pm_log2phys
+ .syntax unified
+ .arm
+ .fpu softvfp
.type pm_log2phys, %function
pm_log2phys:
.fnstart
- @ args = 0, pretend = 0, frame = 0
+ @ args = 0, pretend = 0, frame = 8
@ 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 r6, r1
- ldr r9, .L3720
- mov r10, r0
- mov r8, r2
- ldrb r4, [r9, #2772] @ zero_extendqisi2
- mov r1, r4, asl #7
- mov r5, r4, asl #7
+ push {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 r7, r1
+ ldr r8, .L3641
+ mov r6, r0
+ mov r9, r2
+ ldr r10, .L3641+4
+ ldrb r4, [r8, #-2546] @ zero_extendqisi2
+ lsl r1, r4, #7
+ lsl r4, r4, #7
bl __aeabi_uidiv
- ldr r2, [r9, #2784]
- cmp r10, r2
- movcc r3, #0
- ldrcc r2, .L3720+4
- uxth fp, r0
- mov r7, r0
- smulbb r5, r5, fp
- rsb r5, r5, r10
- uxth r5, r5
- bcc .L3702
- mov r1, r10
- ldr r0, .L3720+8
+ str r0, [sp, #4]
+ ldrh fp, [sp, #4]
+ ldr r2, [r10, #2780]
+ smulbb r4, r4, fp
+ cmp r6, r2
+ sub r4, r6, r4
+ bcc .L3626
+ mov r1, r6
+ ldr r0, .L3641+8
bl printk
+ cmp r9, #0
mvn r0, #0
- cmp r8, #0
- streq r0, [r6]
- ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3718:
- ldrh r1, [r1, r2]
- cmp r1, fp
- beq .L3705
-.L3704:
- add r3, r3, #1
- cmp r3, #32
- beq .L3717
-.L3702:
- mov r1, r3, asl #3
- uxth r4, r3
- add r0, r2, r1
- ldr r10, .L3720+4
- ldr r0, [r0, #4]
- cmp r0, #0
- bne .L3718
- b .L3704
-.L3717:
- bl pm_select_ram_region
- mov r3, r0, asl #3
- mov r4, r0
- add r2, r10, r3
- ldrh r1, [r10, r3]
- movw r3, #65535
- cmp r1, r3
- bne .L3719
-.L3708:
- ldr r3, .L3720+12
- mov r0, fp
- mov r1, r4
- strb r4, [r3, #544]
- bl load_l2p_region
-.L3705:
- cmp r8, #0
- ldr r1, .L3720+12
- mov r4, r4, asl #3
- bne .L3706
- add r3, r1, r4
+ streq r0, [r7]
+.L3625:
+ add sp, sp, #12
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3626:
+ ldr r1, .L3641+12
+ uxth r4, r4
+ mov r2, #0
+ sub r6, r8, #2528
+.L3632:
+ lsl r0, r2, #3
+ uxth r5, r2
+ add ip, r1, r0
+ ldr ip, [ip, #4]
+ cmp ip, #0
+ beq .L3628
+ ldrh r0, [r0, r1]
+ cmp r0, fp
+ bne .L3628
+.L3629:
+ cmp r9, #0
+ lsl r5, r5, #3
+ bne .L3630
+ add r2, r8, r5
+ ldr r2, [r2, #-2528]
+ ldr r1, [r2, r4, lsl #2]
mvn r2, #0
- ldr r3, [r3, #-2524]
- ldr r3, [r3, r5, asl #2]
- str r3, [r6]
- ldrb r0, [r9, #1189] @ zero_extendqisi2
+ str r1, [r7]
+ ldrb r0, [r10, #1153] @ zero_extendqisi2
+ ldrb r3, [r8, #-3072] @ zero_extendqisi2
rsb ip, r0, #24
- mvn r2, r2, asl r0
- and r3, r2, r3, lsr ip
- ldrb r2, [r1, #-3064] @ zero_extendqisi2
- cmp r3, r2
+ mvn r2, r2, lsl r0
+ and r2, r2, r1, lsr ip
+ cmp r2, r3
mvncs r3, #0
- strcs r3, [r6]
- b .L3707
-.L3706:
- add r3, r1, r4
- ldr r2, [r6]
- ldr r3, [r3, #-2524]
- str r2, [r3, r5, asl #2]
- add r2, r10, r4
- strb r7, [r1, #-2272]
- ldrh r3, [r2, #2]
- mvn r3, r3, asl #17
- mvn r3, r3, lsr #17
- strh r3, [r2, #2] @ movhi
-.L3707:
- add r4, r10, r4
+ strcs r3, [r7]
+.L3631:
+ sub r6, r6, #4
movw r2, #32767
+ add r6, r6, r5
mov r0, #0
- ldrh r3, [r4, #2]
+ ldrh r3, [r6, #2]
ubfx r1, r3, #0, #15
cmp r1, r2
addne r3, r3, #1
- strneh r3, [r4, #2] @ movhi
- ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3719:
- ldrsh r3, [r2, #2]
- cmp r3, #0
- bge .L3708
+ strhne r3, [r6, #2] @ movhi
+ b .L3625
+.L3630:
+ add r2, r8, r5
+ ldr r1, [r7]
+ ldr r2, [r2, #-2528]
+ ldrb r3, [sp, #4] @ zero_extendqisi2
+ str r1, [r2, r4, lsl #2]
+ sub r1, r6, #4
+ add r1, r1, r5
+ strb r3, [r8, #-2276]
+ ldrh r2, [r1, #2]
+ mvn r2, r2, lsl #17
+ mvn r2, r2, lsr #17
+ strh r2, [r1, #2] @ movhi
+ b .L3631
+.L3628:
+ add r2, r2, #1
+ cmp r2, #32
+ bne .L3632
+ bl pm_select_ram_region
+ lsl r1, r0, #3
+ sub r2, r6, #4
+ mov r5, r0
+ add ip, r2, r1
+ ldrh r1, [r2, r1]
+ movw r2, #65535
+ cmp r1, r2
+ beq .L3633
+ ldrsh r2, [ip, #2]
+ cmp r2, #0
+ bge .L3633
bl pm_flush_id
- b .L3708
-.L3721:
+.L3633:
+ mov r1, r5
+ mov r0, fp
+ strb r5, [r8, #-12]
+ bl load_l2p_region
+ b .L3629
+.L3642:
.align 2
-.L3720:
- .word .LANCHOR0
- .word .LANCHOR3-2528
- .word .LC245
+.L3641:
.word .LANCHOR3
+ .word .LANCHOR0
+ .word .LC244
+ .word .LANCHOR3-2532
.fnend
.size pm_log2phys, .-pm_log2phys
.align 2
.global gc_recovery
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_recovery, %function
gc_recovery:
.fnstart
- @ args = 0, pretend = 0, frame = 32
+ @ args = 0, pretend = 0, frame = 40
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
movw r3, #65535
- ldr r7, .L3822
- mov r6, #0
- ldr r8, .L3822+4
- .pad #68
- sub sp, sp, #68
- ldr r5, [r7, #1092]
- strb r6, [r8, #-3115]
- strb r6, [r8, #-182]
- ldrh r4, [r5, #80]
- cmp r4, r3
- beq .L3723
+ ldr r8, .L3744
+ mov r5, #0
+ .pad #76
+ sub sp, sp, #76
+ ldr r7, .L3744+4
+ ldr r4, [r8, #1096]
+ strb r5, [r7, #-3119]
+ ldrh r2, [r4, #80]
+ strb r5, [r7, #-144]
+ cmp r2, r3
+ beq .L3644
mvn r3, #0
mov r0, #1
- strh r3, [r5, #130] @ movhi
+ strh r3, [r4, #130] @ movhi
bl buf_alloc
- ldrb r3, [r5, #89] @ zero_extendqisi2
- add r3, r5, r3, asl #1
- ldrh r1, [r3, #94]
- sub r3, r8, #3056
- ldrh r3, [r3, #-10]
- mul r1, r3, r1
- ldrb r3, [r8, #-3124] @ zero_extendqisi2
- cmp r3, #2
- mov r4, r0
- str r1, [sp, #56]
- beq .L3724
- ldrb r2, [r7, #1196] @ zero_extendqisi2
- cmp r2, r6
- bne .L3724
- ldrb r2, [r7, #1197] @ zero_extendqisi2
- cmp r2, r6
- beq .L3725
-.L3724:
- ldr r2, .L3822+8
- ldrh r2, [r2, #-10]
- sub r2, r2, #1
- add r2, r2, r1
- orr r3, r2, r3, asl #24
- b .L3814
-.L3725:
- cmp r3, #3
- bne .L3726
- sub r3, r8, #3088
- ldrh r3, [r3, #-8]
- sub r3, r3, #1
- add r3, r3, r1
- orr r3, r3, #50331648
-.L3814:
- str r3, [r4, #24]
-.L3726:
- mov r0, r4
- mov r1, #1
- bl sblk_read_page
- ldr r3, [r4, #36]
- cmn r3, #1
- cmpne r3, #512
- beq .L3727
- ldr r3, [r4, #12]
- ldr r6, .L3822+12
- ldr r3, [r3]
- cmp r3, r6
- beq .L3728
-.L3727:
- mov r0, r4
- bl zbuf_free
- ldr r3, [r4, #4]
- ldr r2, [r4, #12]
- ldr r0, .L3822+16
- ldr r1, [r3, #4]
- str r1, [sp]
- ldr r1, [r3, #8]
- str r1, [sp, #4]
- ldr r1, [r3, #12]
- str r1, [sp, #8]
- ldr r1, [r2]
- str r1, [sp, #12]
- ldr r1, [r2, #4]
- str r1, [sp, #16]
- ldr r1, [r2, #8]
- str r1, [sp, #20]
- ldr r2, [r2, #12]
- str r2, [sp, #24]
- ldr r1, [r4, #24]
- ldr r2, [r4, #36]
- ldr r3, [r3]
- bl printk
- b .L3818
-.L3728:
- ldrb r3, [r8, #545] @ zero_extendqisi2
- ldr r10, .L3822+4
- cmp r3, #2
- sub r9, r10, #3104
- bne .L3730
- ldrb r3, [r10, #-3124] @ zero_extendqisi2
- cmp r3, #3
- bne .L3730
- ldrh r2, [r9, #-10]
- movw r3, #542
- ldrb ip, [r10, #-3123] @ zero_extendqisi2
- ldrh r3, [r10, r3]
- mov r2, r2, asl #2
- 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 .L3731
- ldr r3, .L3822
- ldrb r3, [r3, #1197] @ zero_extendqisi2
- cmp r3, #0
- beq .L3732
-.L3731:
- ldr r3, [r4, #24]
- sub r3, r3, #1
- b .L3733
-.L3732:
- sub r10, r10, #3088
- ldr r3, [sp, #56]
- ldrh r2, [r10, #-8]
+ ldrb r3, [r4, #89] @ zero_extendqisi2
+ mov r6, r0
+ ldrb r1, [r7, #-3128] @ zero_extendqisi2
+ add r3, r4, r3, lsl #1
+ cmp r1, #2
+ ldrh r2, [r3, #94]
+ sub r3, r7, #3072
+ ldrh r3, [r3, #-2]
+ mul r2, r3, r2
+ str r2, [sp, #64]
+ beq .L3645
+ ldrb r3, [r8, #1158] @ zero_extendqisi2
+ cmp r3, r5
+ bne .L3645
+ ldrb r3, [r8, #1159] @ zero_extendqisi2
+ cmp r3, r5
+ beq .L3646
+.L3645:
+ ldr r3, .L3744+8
+ ldrh r3, [r3, #-14]
sub r3, r3, #1
add r3, r3, r2
- orr r3, r3, #33554432
-.L3733:
- str r3, [r4, #24]
- mov r0, r4
+ orr r3, r3, r1, lsl #24
+.L3734:
+ str r3, [r6, #24]
+.L3647:
mov r1, #1
+ mov r0, r6
bl sblk_read_page
- ldr r3, [r4, #36]
+ ldr r3, [r6, #36]
cmn r3, #1
cmpne r3, #512
- beq .L3734
- ldr r3, [r4, #12]
+ beq .L3648
+ ldr r3, [r6, #12]
+ ldr r9, .L3744+12
ldr r3, [r3]
- cmp r3, r6
- beq .L3735
-.L3734:
- mov r0, r4
+ cmp r3, r9
+ beq .L3649
+.L3648:
+ mov r0, r6
bl zbuf_free
-.L3818:
- ldrh r4, [r5, #80]
- mov r6, #0
- ldr r3, [r7, #1088]
- mov r4, r4, asl #1
- strh r6, [r3, r4] @ movhi
- ldrh r2, [r5, #80]
- ldr r3, [r7, #1092]
- strh r2, [r3, #130] @ movhi
- b .L3729
-.L3735:
- movw r3, #542
- ldr r0, [r8, #-172]
- ldr r1, [r4, #4]
- ldrh r2, [r8, r3]
- b .L3815
-.L3730:
- 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
-.L3815:
- bl ftl_memcpy
- ldrb r3, [r8, #-3123] @ zero_extendqisi2
- ldrh r2, [r9, #-10]
- ldr r10, .L3822+4
- mul r2, r3, r2
- ldrb r3, [r7, #2772] @ zero_extendqisi2
- sub r6, r10, #3104
- cmp r3, r2, asr #6
- mov r2, r2, asl #2
- bge .L3737
- ldr r0, [r10, #-168]
- mov r1, #0
- bl ftl_memset
- ldrb r9, [r10, #545] @ zero_extendqisi2
- cmp r9, #1
- movne r9, #1
- movne r6, #0
- bne .L3738
- 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 .L3738
-.L3737:
- ldr r1, [r4, #4]
- mov r9, #0
- ldr r0, [r10, #-168]
- mov r6, r9
- add r1, r1, r2
- bl ftl_memcpy
-.L3738:
- ldr r3, .L3822+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 .L3739
- ldrb r3, [r3, #-3122] @ zero_extendqisi2
- cmp r3, #0
- beq .L3740
-.L3739:
- ldrb r3, [r7, #1196] @ zero_extendqisi2
- cmp r3, #0
- beq .L3741
-.L3740:
- ldr r3, [sp, #32]
- ldr r2, [sp, #36]
- mul r3, r3, r2
- str r3, [sp, #36]
- mov r3, #1
- str r3, [sp, #32]
-.L3741:
- ldr r10, .L3822+4
- mov r7, #0
- str r7, [sp, #40]
-.L3742:
- ldr r3, [sp, #36]
- cmp r7, r3
- bcs .L3755
- 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]
-.L3756:
- ldrb r3, [r5, #89] @ zero_extendqisi2
- ldr r2, [sp, #44]
- cmp r2, r3
- bge .L3752
- ldr r3, [sp, #40]
- mov fp, #1
- mov r8, r3, asl #2
-.L3753:
- ldr r3, [sp, #32]
- cmp fp, r3
- bhi .L3820
- ldr r3, .L3822+20
- ldrh r2, [ip]
- ldrb r1, [r10, #-3124] @ zero_extendqisi2
- ldrh r3, [r3]
- cmp r1, #2
- mul r3, r3, r2
- str r3, [sp, #56]
- beq .L3743
- ldr r2, .L3822
- ldrb r2, [r2, #1196] @ zero_extendqisi2
- cmp r2, #0
- beq .L3744
-.L3743:
- sub r2, r7, #1
- add r3, r2, r3
- add r3, r3, fp
- orr r3, r3, r1, asl #24
- b .L3816
-.L3744:
- cmp r1, #3
- addne r3, r3, r7
- bne .L3816
- ldr r2, .L3822
- ldrb r2, [r2, #1197] @ zero_extendqisi2
- cmp r2, #0
- addeq r3, r3, r7
- ldrne r2, [sp, #48]
- orreq r3, r3, fp, asl #24
- addne r3, r3, r2
- addne r3, r3, fp
- orrne r3, r3, #50331648
-.L3816:
- str r3, [r4, #24]
- mov r0, r4
- mov r1, #1
- str ip, [sp, #52]
- bl sblk_read_page
- cmp r9, #0
- ldr ip, [sp, #52]
- beq .L3748
- ldr r3, [r10, #-168]
- ldr r2, [r3, r8]
- cmp r2, #0
- ldreq r2, [r4, #12]
- ldreq r2, [r2, #8]
- streq r2, [r3, r8]
-.L3748:
- ldr r3, [r10, #-172]
- ldr r2, [r4, #12]
- ldr r3, [r3, r8]
- ldr r1, [r2, #4]
- cmp r3, r1
- bne .L3749
- ldr r0, [r10, #-168]
- ldr lr, [r0, r8]
- ldr r0, [r2, #8]
- cmp lr, r0
- beq .L3779
-.L3749:
- ldr r0, [r10, #-168]
- str ip, [sp, #52]
- ldr r0, [r0, r8]
- str r0, [sp]
- ldr r0, [r2]
- stmib sp, {r0, r1}
+ ldr r2, [r6, #12]
+ ldr r3, [r6, #4]
+ ldr r0, .L3744+16
+ ldr r1, [r2, #12]
+ str r1, [sp, #24]
ldr r1, [r2, #8]
- ldr r0, .L3822+24
- str r1, [sp, #12]
- ldr r2, [r2, #12]
- str r2, [sp, #16]
- ldr r1, [r4, #24]
- ldr r2, [r4, #36]
+ str r1, [sp, #20]
+ ldr r1, [r2, #4]
+ str r1, [sp, #16]
+ ldr r2, [r2]
+ str r2, [sp, #12]
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
+ ldr r2, [r3, #8]
+ str r2, [sp, #4]
+ ldr r2, [r3, #4]
+ str r2, [sp]
+ ldr r3, [r3]
+ ldr r2, [r6, #36]
+ ldr r1, [r6, #24]
bl printk
- ldr r3, [r10, #-172]
- ldr r3, [r3, r8]
- cmn r3, #1
- ldr ip, [sp, #52]
- beq .L3779
- mov r0, r4
- bl zbuf_free
- ldr r2, .L3822
- ldrh r3, [r5, #80]
- mov r0, #0
- ldr r1, [r2, #1088]
- mov r3, r3, asl #1
- strh r0, [r1, r3] @ movhi
- ldrh r1, [r5, #80]
- ldr r3, [r2, #1092]
- strh r1, [r3, #130] @ movhi
- b .L3729
-.L3779:
- ldr r3, [sp, #40]
- add fp, fp, #1
- add r8, r8, #4
- add r3, r3, #1
- str r3, [sp, #40]
- b .L3753
-.L3820:
- ldr r3, [sp, #44]
- add ip, ip, #2
- add r3, r3, #1
- str r3, [sp, #44]
- b .L3756
-.L3752:
- ldrb r3, [r10, #-3122] @ zero_extendqisi2
- cmp r3, #0
- addne r7, r7, #1
- add r7, r7, #1
- b .L3742
-.L3755:
- mov r0, r4
- mov r6, #0
- bl zbuf_free
- ldr ip, .L3822+8
- ldrb r8, [r5, #89] @ zero_extendqisi2
- mov r7, r6
- ldr r3, .L3822
- 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
-.L3757:
- ldr r3, [sp, #36]
- cmp r9, r3
- bcs .L3771
- add r2, r9, r9, asl #1
- sub r3, r2, #1
- str r3, [sp, #48]
- add r3, r5, #96
- str r3, [sp, #44]
- mov r3, #0
- str r3, [sp, #40]
-.L3772:
- ldrb r2, [r5, #89] @ zero_extendqisi2
- ldr r3, [sp, #40]
- cmp r3, r2
- bge .L3768
- mov r4, #1
-.L3769:
- ldr r3, [sp, #32]
- cmp r4, r3
- bhi .L3821
- ldr r2, [r10, #-172]
- ldr r8, [r2, r7, asl #2]
- cmn r8, #1
- beq .L3758
- 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 .L3759
- mov r0, r8
- add r1, sp, #60
- mov r2, #0
- bl pm_log2phys
-.L3759:
- ldr r3, [sp, #44]
- ldrh r2, [r3]
- ldr r3, .L3822+20
- ldrh r1, [r3]
- ldr r3, .L3822+4
- mul r2, r1, r2
- ldrb r1, [r3, #-3124] @ zero_extendqisi2
- cmp r1, #2
- beq .L3760
- ldr r0, .L3822
- ldrb lr, [r0, #1196] @ zero_extendqisi2
- cmp lr, #0
- beq .L3761
-.L3760:
- sub r0, r9, #1
- add r2, r0, r2
- add r2, r2, r4
- orr r2, r2, r1, asl #24
- b .L3817
-.L3761:
- cmp r1, #3
- addne r2, r2, r9
- bne .L3817
- ldrb r1, [r0, #1197] @ zero_extendqisi2
- cmp r1, #0
- mov r1, r4, asl #24
- addeq r2, r2, r9
- ldrne r3, [sp, #48]
- addne r2, r2, r3
- addne r2, r2, r4
- orr r2, r1, r2
-.L3817:
- str r2, [sp, #56]
- ldr r2, .L3822+28
- ldrh r0, [r2]
- ldr r2, .L3822
- ldrb r1, [r2, #1189] @ zero_extendqisi2
- mov r2, #1
- str r2, [sp, #52]
- rsb r1, r1, #24
- rsb r1, r0, r1
- mov r1, r2, asl r1
- sub r1, r1, #1
- and r0, r1, fp, lsr r0
- ldrb r1, [r10, #-3130] @ zero_extendqisi2
- bl __aeabi_uidiv
- ldr r1, [sp, #60]
- ldr r2, [sp, #52]
- cmp r1, fp
- uxth fp, r0
- bne .L3765
- mov r0, r8
- add r1, sp, #56
- bl pm_log2phys
- mov r0, fp
- add r6, r6, #1
- bl ftl_vpn_decrement
- b .L3766
-.L3765:
- ldr r2, [sp, #56]
- cmp r1, r2
- addeq r6, r6, #1
-.L3766:
- ldr r1, .L3822
- 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 .L3758
- ldr r8, [r1, #1088]
- mov fp, fp, asl #1
- ldrh r1, [r8, fp]
- cmp r1, #0
- strneh r2, [r8, fp] @ movhi
-.L3758:
- add r4, r4, #1
- b .L3769
-.L3821:
- 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 .L3772
-.L3768:
- ldrb r2, [r10, #-3122] @ zero_extendqisi2
- cmp r2, #0
- addne r9, r9, #1
- add r9, r9, #1
- b .L3757
-.L3771:
- ldr r2, .L3822
- 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
-.L3729:
- ldr r4, .L3822
- ldrh r0, [r5, #80]
- ldr r2, [r4, #1088]
- mov r3, r0, asl #1
+.L3742:
+ ldrh r3, [r4, #80]
+ mov r5, #0
+ ldr r2, [r8, #1092]
+ lsl r3, r3, #1
+ strh r5, [r2, r3] @ movhi
+ ldrh r2, [r4, #80]
+ ldr r3, [r8, #1096]
+ strh r2, [r3, #130] @ movhi
+.L3650:
+ ldrh r0, [r4, #80]
+ ldr r6, .L3744
+ ldr r2, [r6, #1092]
+ lsl r3, r0, #1
ldrh r3, [r2, r3]
cmp r3, #0
- bne .L3773
+ bne .L3694
bl ftl_dump_write_open_sblk
-.L3773:
- mov r2, r6
- ldrh r1, [r5, #80]
- ldr r0, .L3822+32
+.L3694:
+ mov r2, r5
+ ldrh r1, [r4, #80]
+ ldr r0, .L3744+20
bl printk
mvn r3, #0
- strh r3, [r5, #80] @ movhi
+ strh r3, [r4, #80] @ movhi
bl pm_flush
bl ftl_ext_info_flush
- ldr r3, [r4, #1092]
+ ldr r3, [r6, #1096]
movw r2, #65535
ldrh r3, [r3, #130]
cmp r3, r2
- beq .L3774
- ldr r1, .L3822
- movw r2, #1076
- ldrh r2, [r1, r2]
+ beq .L3695
+ movw r2, #1080
+ ldrh r2, [r6, r2]
cmp r2, r3
- bhi .L3775
- ldr r1, .L3822+36
+ bhi .L3696
movw r2, #517
- ldr r0, .L3822+40
+ ldr r1, .L3744+24
+ ldr r0, .L3744+28
bl printk
bl dump_stack
-.L3775:
- ldr r3, [r4, #1092]
+.L3696:
+ ldr r3, [r6, #1096]
ldrh r0, [r3, #130]
bl ftl_free_sblk
-.L3774:
- ldr r2, [r4, #2804]
+.L3695:
+ ldr r2, [r6, #2800]
mvn r3, #0
mov r0, #0
strh r3, [r2, #126] @ movhi
- ldr r2, [r4, #1092]
+ ldr r2, [r6, #1096]
strh r3, [r2, #130] @ movhi
bl ftl_info_flush
- b .L3722
-.L3723:
- ldrh r3, [r5, #130]
- cmp r3, r4
- beq .L3722
- ldr r2, [r7, #2804]
+.L3643:
+ add sp, sp, #76
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3646:
+ cmp r1, #3
+ bne .L3647
+ sub r3, r7, #3088
+ ldrh r3, [r3, #-8]
+ sub r3, r3, #1
+ add r3, r3, r2
+ orr r3, r3, #50331648
+ b .L3734
+.L3649:
+ ldrb r3, [r7, #-11] @ zero_extendqisi2
+ ldr r5, .L3744+8
+ cmp r3, #2
+ bne .L3651
+ ldrb r3, [r7, #-3128] @ zero_extendqisi2
+ cmp r3, #3
+ bne .L3651
+ ldrh r2, [r5, #-14]
+ ldrh r0, [r7, #-14]
+ ldr r1, [r6, #4]
+ lsl r3, r2, #2
+ ldrb r2, [r7, #-3127] @ zero_extendqisi2
+ smulbb r2, r2, r3
+ ldr r3, [r7, #-132]
+ sub r2, r2, r0
+ lsr r0, r0, #2
+ uxth r2, r2
+ add r0, r3, r0, lsl #2
+ bl ftl_memcpy
+ ldrb r3, [r8, #1158] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L3652
+ ldrb r3, [r8, #1159] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L3653
+.L3652:
+ ldr r3, [r6, #24]
+ sub r3, r3, #1
+.L3735:
+ str r3, [r6, #24]
+ mov r1, #1
+ mov r0, r6
+ bl sblk_read_page
+ ldr r3, [r6, #36]
+ cmn r3, #1
+ cmpne r3, #512
+ beq .L3655
+ ldr r3, [r6, #12]
+ ldr r3, [r3]
+ cmp r3, r9
+ beq .L3656
+.L3655:
+ mov r0, r6
+ bl zbuf_free
+ b .L3742
+.L3653:
+ ldr r3, [sp, #64]
+ ldrh r2, [r5, #8]
+ sub r3, r3, #1
+ add r3, r3, r2
+ orr r3, r3, #33554432
+ b .L3735
+.L3656:
+ ldrh r2, [r7, #-14]
+.L3736:
+ ldr r1, [r6, #4]
+ ldr r0, [r7, #-132]
+ bl ftl_memcpy
+ ldrh r3, [r5, #-14]
+ ldrb r2, [r7, #-3127] @ zero_extendqisi2
+ mul r2, r2, r3
+ ldrb r3, [r7, #-2546] @ zero_extendqisi2
+ cmp r3, r2, asr #6
+ lsl r2, r2, #2
+ bge .L3658
+ mov r1, #0
+ ldr r0, [r7, #-128]
+ bl ftl_memset
+ ldrb r10, [r7, #-11] @ zero_extendqisi2
+ cmp r10, #1
+ movne r10, #1
+ bne .L3737
+ ldrh r1, [r5, #-14]
+ ldrb r3, [r7, #-3127] @ zero_extendqisi2
+ ldrh r5, [r7, #-14]
+ ldr r0, [r7, #-128]
+ mul r3, r3, r1
+ ldr r1, [r6, #4]
+ lsl r3, r3, #2
+ sub r5, r5, r3
+ add r1, r1, r3
+ mov r2, r5
+ bl ftl_memcpy
+.L3659:
+ ldr r3, .L3744+32
+ ldrh r3, [r3, #-8]
+ str r3, [sp, #44]
+ ldrb r3, [r7, #-3128] @ zero_extendqisi2
+ cmp r3, #2
+ str r3, [sp, #36]
+ bne .L3660
+ ldrb r3, [r7, #-3126] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L3661
+.L3660:
+ ldrb r3, [r8, #1158] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L3662
+.L3661:
+ ldr r3, [sp, #36]
+ ldr r2, [sp, #44]
+ mul r3, r3, r2
+ str r3, [sp, #44]
+ mov r3, #1
+ str r3, [sp, #36]
+.L3662:
+ ldr r8, .L3744+4
+ mov r7, #0
+ str r7, [sp, #48]
+.L3663:
+ ldr r3, [sp, #44]
+ cmp r3, r7
+ bls .L3676
+ add r3, r7, r7, lsl #1
+ sub r3, r3, #1
+ str r3, [sp, #52]
+ mov r3, #0
+ b .L3739
+.L3651:
+ ldrh r3, [r5, #-14]
+ ldrb r2, [r7, #-3127] @ zero_extendqisi2
+ mul r2, r2, r3
+ lsl r2, r2, #2
+ b .L3736
+.L3658:
+ ldr r1, [r6, #4]
+ mov r10, #0
+ ldr r0, [r7, #-128]
+ add r1, r1, r2
+ bl ftl_memcpy
+.L3737:
+ mov r5, #0
+ b .L3659
+.L3672:
+ ldr r3, [sp, #56]
+ ldrb r1, [r8, #-3128] @ zero_extendqisi2
+ ldrh r2, [r3, #96]
+ ldr r3, .L3744+36
+ cmp r1, #2
+ ldrh r3, [r3, #-2]
+ mul r3, r3, r2
+ str r3, [sp, #64]
+ beq .L3664
+ ldr r2, .L3744
+ ldrb r2, [r2, #1158] @ zero_extendqisi2
+ cmp r2, #0
+ beq .L3665
+.L3664:
+ sub r2, r7, #1
+ add r3, r2, r3
+ add r3, r3, fp
+ orr r3, r3, r1, lsl #24
+.L3738:
+ str r3, [r6, #24]
+ mov r1, #1
+ mov r0, r6
+ bl sblk_read_page
+ cmp r10, #0
+ beq .L3669
+ ldr r3, [r8, #-128]
+ ldr r2, [r3, r9]
+ cmp r2, #0
+ ldreq r2, [r6, #12]
+ ldreq r2, [r2, #8]
+ streq r2, [r3, r9]
+.L3669:
+ ldr r3, [r8, #-132]
+ ldr r2, [r6, #12]
+ ldr r3, [r3, r9]
+ ldr r1, [r2, #4]
+ cmp r3, r1
+ bne .L3670
+ ldr r0, [r8, #-128]
+ ldr ip, [r0, r9]
+ ldr r0, [r2, #8]
+ cmp ip, r0
+ beq .L3671
+.L3670:
+ ldr r0, [r2, #12]
+ str r0, [sp, #16]
+ ldr r0, [r2, #8]
+ str r1, [sp, #8]
+ str r0, [sp, #12]
+ ldr r2, [r2]
+ ldr r0, .L3744+40
+ str r2, [sp, #4]
+ ldr r2, [r8, #-128]
+ ldr r2, [r2, r9]
+ str r2, [sp]
+ ldr r2, [r6, #36]
+ ldr r1, [r6, #24]
+ bl printk
+ ldr r3, [r8, #-132]
+ ldr r3, [r3, r9]
+ cmn r3, #1
+ beq .L3671
+ mov r0, r6
+ bl zbuf_free
+ ldrh r3, [r4, #80]
+ mov r0, #0
+ ldr r2, .L3744
+ ldr r1, [r2, #1092]
+ lsl r3, r3, #1
+ strh r0, [r1, r3] @ movhi
+ ldrh r1, [r4, #80]
+ ldr r3, [r2, #1096]
+ strh r1, [r3, #130] @ movhi
+ b .L3650
+.L3665:
+ cmp r1, #3
+ addne r3, r7, r3
+ bne .L3738
+ ldr r2, .L3744
+ ldrb r2, [r2, #1159] @ zero_extendqisi2
+ cmp r2, #0
+ ldrne r2, [sp, #52]
+ addeq r3, r7, r3
+ orreq r3, r3, fp, lsl #24
+ addne r3, r3, r2
+ addne r3, r3, fp
+ orrne r3, r3, #50331648
+ b .L3738
+.L3671:
+ ldr r3, [sp, #48]
+ add fp, fp, #1
+ add r9, r9, #4
+ add r3, r3, #1
+ str r3, [sp, #48]
+.L3674:
+ ldr r3, [sp, #36]
+ cmp r3, fp
+ bcs .L3672
+ ldr r3, [sp, #40]
+ add r3, r3, #1
+.L3739:
+ str r3, [sp, #40]
+ ldr r2, [sp, #40]
+ ldrb r3, [r4, #89] @ zero_extendqisi2
+ cmp r2, r3
+ bge .L3673
+ ldr r3, [sp, #48]
+ mov fp, #1
+ lsl r9, r3, #2
+ add r3, r4, r2, lsl #1
+ str r3, [sp, #56]
+ b .L3674
+.L3673:
+ ldrb r3, [r8, #-3126] @ zero_extendqisi2
+ cmp r3, #0
+ addne r7, r7, #1
+ add r7, r7, #1
+ b .L3663
+.L3676:
+ mov r0, r6
+ mov r5, #0
+ bl zbuf_free
+ ldr r3, .L3744
+ mov r6, r5
+ ldrb r1, [r4, #89] @ zero_extendqisi2
+ mov r10, r5
+ ldrh r2, [r4, #80]
+ ldr r0, [r3, #1092]
+ ldr r3, .L3744+8
+ lsl r2, r2, #1
+ ldrh ip, [r3, #-14]
+ add r9, r3, #3104
+ smulbb r1, r1, ip
+ strh r1, [r0, r2] @ movhi
+.L3678:
+ ldr r3, [sp, #44]
+ cmp r3, r6
+ bls .L3692
+ add r2, r6, r6, lsl #1
+ sub r3, r2, #1
+ str r3, [sp, #52]
+ mov r3, #0
+ b .L3741
+.L3688:
+ ldr r2, [r9, #-132]
+ ldr fp, [r2, r10, lsl #2]
+ cmn fp, #1
+ beq .L3679
+ ldr r2, [r9, #-128]
+ mov r0, fp
+ ldr r3, [r2, r10, lsl #2]
+ str r3, [sp, #48]
+ bl lpa_hash_get_ppa
+ cmn r0, #1
+ str r0, [sp, #68]
+ bne .L3680
+ mov r2, #0
+ add r1, sp, #68
+ mov r0, fp
+ bl pm_log2phys
+.L3680:
+ ldr r3, [sp, #56]
+ ldr r1, .L3744+44
+ ldrb r0, [r9, #-3128] @ zero_extendqisi2
+ ldrh r2, [r3, #96]
+ ldrh r1, [r1]
+ cmp r0, #2
+ mul r2, r1, r2
+ beq .L3681
+ ldr r1, .L3744
+ ldrb ip, [r1, #1158] @ zero_extendqisi2
+ cmp ip, #0
+ beq .L3682
+.L3681:
+ sub r1, r6, #1
+ add r2, r1, r2
+ add r2, r2, r8
+ orr r2, r2, r0, lsl #24
+.L3740:
+ str r2, [sp, #64]
+ ldr r2, .L3744+48
+ ldr r3, [sp, #48]
+ ldrb r1, [r9, #-3136] @ zero_extendqisi2
+ ldrh ip, [r2, #-2]
+ ldr r2, .L3744
+ ldrb r0, [r2, #1153] @ zero_extendqisi2
+ mov r2, #1
+ str r2, [sp, #60]
+ rsb r0, r0, #24
+ sub r0, r0, ip
+ lsl r0, r2, r0
+ sub r0, r0, #1
+ and r0, r0, r3, lsr ip
+ bl __aeabi_uidiv
+ ldr r1, [sp, #68]
+ mov r7, r0
+ ldr r3, [sp, #48]
+ ldr r2, [sp, #60]
+ cmp r3, r1
+ bne .L3686
+ add r1, sp, #64
+ mov r0, fp
+ bl pm_log2phys
+ uxth r0, r7
+ add r5, r5, #1
+ bl ftl_vpn_decrement
+.L3687:
+ ldr r1, .L3744
+ uxth r7, r7
+ add r10, r10, #1
+ ldr r2, [r1, #1084]
+ add r2, r2, r7, lsl #2
+ ldrb r2, [r2, #2] @ zero_extendqisi2
+ ands r0, r2, #224
+ bne .L3679
+ ldr r2, [r1, #1092]
+ lsl r7, r7, #1
+ ldrh r1, [r2, r7]
+ cmp r1, #0
+ strhne r0, [r2, r7] @ movhi
+.L3679:
+ add r8, r8, #1
+.L3690:
+ ldr r3, [sp, #36]
+ cmp r3, r8
+ bcs .L3688
+ ldr r3, [sp, #40]
+ add r3, r3, #1
+.L3741:
+ str r3, [sp, #40]
+ ldrb r2, [r4, #89] @ zero_extendqisi2
+ ldr r3, [sp, #40]
+ cmp r3, r2
+ bge .L3689
+ add r3, r4, r3, lsl #1
+ mov r8, #1
+ str r3, [sp, #56]
+ b .L3690
+.L3682:
+ cmp r0, #3
+ addne r2, r6, r2
+ bne .L3740
+ ldrb r1, [r1, #1159] @ zero_extendqisi2
+ cmp r1, #0
+ lsl r1, r8, #24
+ ldrne r3, [sp, #52]
+ addeq r2, r6, r2
+ addne r2, r2, r3
+ addne r2, r2, r8
+ orr r2, r2, r1
+ b .L3740
+.L3686:
+ ldr r2, [sp, #64]
+ cmp r1, r2
+ addeq r5, r5, #1
+ b .L3687
+.L3689:
+ ldrb r2, [r9, #-3126] @ zero_extendqisi2
+ cmp r2, #0
+ addne r6, r6, #1
+ add r6, r6, #1
+ b .L3678
+.L3692:
+ ldrh r3, [r4, #80]
+ ldr r2, .L3744
+ ldr r2, [r2, #1092]
+ lsl r3, r3, #1
+ strh r5, [r2, r3] @ movhi
+ ldrh r0, [r4, #80]
+ bl zftl_insert_data_list
+ b .L3650
+.L3644:
+ ldrh r3, [r4, #130]
+ cmp r3, r2
+ beq .L3643
+ ldr r2, [r8, #2800]
ldrh r2, [r2, #126]
cmp r2, r3
- bne .L3777
+ bne .L3698
bl pm_flush
- ldr r3, [r7, #1092]
+ ldr r3, [r8, #1096]
ldrh r0, [r3, #130]
bl ftl_free_sblk
- ldr r3, [r7, #2804]
+ ldr r3, [r8, #2800]
mvn r2, #0
- mov r0, r6
+ mov r0, r5
strh r2, [r3, #126] @ movhi
bl ftl_info_flush
-.L3777:
- ldr r3, [r7, #1092]
+.L3698:
+ ldr r3, [r8, #1096]
mvn r2, #0
strh r2, [r3, #130] @ movhi
-.L3722:
- add sp, sp, #68
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3823:
+ b .L3643
+.L3745:
.align 2
-.L3822:
+.L3744:
.word .LANCHOR0
.word .LANCHOR3
.word .LANCHOR3-3104
.word -178307901
- .word .LC246
- .word .LANCHOR3-3066
+ .word .LC245
.word .LC247
- .word .LANCHOR3-3132
- .word .LC248
- .word .LANCHOR1+2576
+ .word .LANCHOR1+2361
.word .LC0
+ .word .LANCHOR3-3088
+ .word .LANCHOR3-3072
+ .word .LC246
+ .word .LANCHOR3-3074
+ .word .LANCHOR3-3136
.fnend
.size gc_recovery, .-gc_recovery
.align 2
.global gc_update_l2p_map_new
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_update_l2p_map_new, %function
gc_update_l2p_map_new:
.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}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.pad #28
sub sp, sp, #28
- ldr r4, .L3860
- ldr r3, .L3860+4
- ldr r9, .L3860+8
- ldr r5, [r4, #1092]
- ldrh r3, [r3, #-10]
+ ldr r4, .L3781
+ ldr r3, .L3781+4
+ ldr r5, [r4, #1096]
+ ldrh r3, [r3, #-14]
ldrb r2, [r5, #89] @ zero_extendqisi2
mul r3, r2, r3
str r3, [sp]
- ldr r3, [r9]
- tst r3, #256
- beq .L3825
- ldr r0, .L3860+12
- ldrh r1, [r5, #80]
- bl printk
-.L3825:
- ldrh r3, [r5, #80]
- mov r8, #0
- ldr r6, .L3860+16
- mov r7, r8
- ldr r1, [r4, #1088]
- mov r3, r3, asl #1
- ldr r0, [sp]
- ldrb r2, [r6, #545] @ zero_extendqisi2
- rsb r2, r2, r0
- strh r2, [r1, r3] @ movhi
-.L3826:
- ldr r3, [sp]
- cmp r7, r3
- beq .L3859
- ldr r3, [r6, #-172]
- mov r10, r7, asl #2
- ldr fp, [r3, r7, asl #2]
- cmn fp, #1
- beq .L3827
- ldrb r1, [r4, #2772] @ zero_extendqisi2
- mov r0, fp
- mov r1, r1, asl #7
- bl __aeabi_uidiv
- uxth r3, r0
- str r3, [sp, #12]
- ldr r3, [r9]
- tst r3, #256
- beq .L3828
- ldr r0, .L3860+20
- mov r2, fp
- ldr r1, [sp, #12]
- mov r3, r7
- bl printk
-.L3828:
- str r7, [sp, #8]
-.L3834:
- ldr r3, [r6, #-172]
- ldr fp, [r3, r10]
- cmn fp, #1
- beq .L3829
- ldrb r1, [r4, #2772] @ zero_extendqisi2
- mov r0, fp
- mov r1, r1, asl #7
- bl __aeabi_uidiv
- ldr r3, [sp, #12]
- uxth r0, r0
- cmp r0, r3
- bne .L3829
- 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 .L3830
- mov r0, fp
- add r1, sp, #20
- mov r2, #0
- bl pm_log2phys
-.L3830:
- ldr r3, [sp, #20]
- ldr r2, [sp, #4]
- cmp r3, r2
- bne .L3831
- ldr r3, .L3860+16
- add r1, sp, #24
- mov r0, fp
- mov r2, #1
- add r8, r8, #1
- ldr r3, [r3, #-164]
- ldr r3, [r3, r10]
- str r3, [r1, #-8]!
- bl pm_log2phys
- ldr r3, .L3860+24
- ldrh r0, [r3]
- ldrb r3, [r4, #1189] @ zero_extendqisi2
- rsb r3, r3, #24
- rsb r3, r0, r3
- ldr r2, [sp, #4]
- mov fp, r2, lsr r0
- mvn r0, #0
- bic r0, fp, r0, asl r3
- ldr r3, .L3860+16
- ldrb r1, [r3, #-3130] @ zero_extendqisi2
- bl __aeabi_uidiv
- uxth r0, r0
- b .L3858
-.L3831:
- ldr r2, [r9]
+ ldr r3, .L3781+8
+ ldr r2, [r3]
+ mov fp, r3
tst r2, #256
- beq .L3833
- ldr r0, .L3860+28
- mov r1, fp
- ldr r2, [sp, #4]
+ beq .L3747
+ ldrh r1, [r5, #80]
+ ldr r0, .L3781+12
bl printk
-.L3833:
- ldrh r0, [r5, #80]
-.L3858:
- bl ftl_vpn_decrement
- ldr r3, [r6, #-172]
- mvn r2, #0
- str r2, [r3, r10]
-.L3829:
- ldr r3, [sp, #8]
- add r10, r10, #4
- ldr r2, [sp]
- add r3, r3, #1
- str r3, [sp, #8]
- cmp r3, r2
- bne .L3834
-.L3827:
- add r7, r7, #1
- b .L3826
-.L3859:
- ldr r3, [r9]
- tst r3, #256
- beq .L3836
+.L3747:
+ ldr r2, .L3781+16
+ mov r7, #0
ldrh r3, [r5, #80]
+ mov r6, r7
+ ldr r0, [sp]
+ ldrb r2, [r2, #-11] @ zero_extendqisi2
+ ldr r8, .L3781+16
ldr r1, [r4, #1092]
- ldr r2, [r4, #1088]
- mov r3, r3, asl #1
- ldr r0, .L3860+32
+ lsl r3, r3, #1
+ sub r2, r0, r2
+ strh r2, [r1, r3] @ movhi
+.L3748:
+ ldr r3, [sp]
+ cmp r6, r3
+ bne .L3757
+ ldr r3, [fp]
+ tst r3, #256
+ beq .L3758
+ ldrh r2, [r5, #80]
+ mov r3, r7
+ ldr r0, [r4, #1092]
+ ldr r1, [r4, #1096]
+ lsl r2, r2, #1
ldrh r1, [r1, #80]
- ldrh r2, [r2, r3]
- mov r3, r8
+ ldrh r2, [r0, r2]
+ ldr r0, .L3781+20
bl printk
-.L3836:
+.L3758:
ldrh r3, [r5, #80]
- ldr r2, [r4, #1088]
- mov r3, r3, asl #1
+ ldr r2, [r4, #1092]
+ lsl r3, r3, #1
ldrh r3, [r2, r3]
- cmp r3, r8
- beq .L3837
- ldr r1, .L3860+36
+ cmp r7, r3
+ beq .L3759
movw r2, #898
- ldr r0, .L3860+40
+ ldr r1, .L3781+24
+ ldr r0, .L3781+28
bl printk
bl dump_stack
-.L3837:
+.L3759:
ldrh r3, [r5, #80]
- ldr r2, [r4, #1088]
- mov r3, r3, asl #1
- strh r8, [r2, r3] @ movhi
+ ldr r2, [r4, #1092]
+ lsl r3, r3, #1
+ strh r7, [r2, r3] @ movhi
ldrh r0, [r5, #80]
bl zftl_insert_data_list
add sp, sp, #28
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3861:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3757:
+ ldr r3, [r8, #-132]
+ lsl r9, r6, #2
+ ldr r10, [r3, r6, lsl #2]
+ cmn r10, #1
+ beq .L3749
+ ldrb r1, [r8, #-2546] @ zero_extendqisi2
+ mov r0, r10
+ lsl r1, r1, #7
+ bl __aeabi_uidiv
+ uxth r3, r0
+ str r3, [sp, #12]
+ ldr r3, [fp]
+ tst r3, #256
+ beq .L3750
+ mov r3, r6
+ mov r2, r10
+ ldr r1, [sp, #12]
+ ldr r0, .L3781+32
+ bl printk
+.L3750:
+ str r6, [sp, #8]
+.L3756:
+ ldr r3, [r8, #-132]
+ ldr r10, [r3, r9]
+ cmn r10, #1
+ beq .L3751
+ ldrb r1, [r8, #-2546] @ zero_extendqisi2
+ mov r0, r10
+ lsl r1, r1, #7
+ bl __aeabi_uidiv
+ ldr r3, [sp, #12]
+ uxth r0, r0
+ cmp r3, r0
+ bne .L3751
+ ldr r3, [r8, #-128]
+ mov r0, r10
+ ldr r3, [r3, r9]
+ str r3, [sp, #4]
+ bl lpa_hash_get_ppa
+ cmn r0, #1
+ str r0, [sp, #20]
+ bne .L3752
+ mov r2, #0
+ add r1, sp, #20
+ mov r0, r10
+ bl pm_log2phys
+.L3752:
+ ldr r3, [sp, #20]
+ ldr r2, [sp, #4]
+ cmp r2, r3
+ bne .L3753
+ ldr r3, .L3781+16
+ add r1, sp, #24
+ mov r2, #1
+ mov r0, r10
+ add r7, r7, #1
+ ldr r3, [r3, #-124]
+ ldr r3, [r3, r9]
+ str r3, [r1, #-8]!
+ bl pm_log2phys
+ ldr r3, .L3781+36
+ ldr r2, [sp, #4]
+ ldrh r0, [r3]
+ ldrb r3, [r4, #1153] @ zero_extendqisi2
+ rsb r3, r3, #24
+ sub r3, r3, r0
+ lsr r0, r2, r0
+ ldr r2, .L3781+16
+ ldrb r1, [r2, #-3136] @ zero_extendqisi2
+ mvn r2, #0
+ bic r0, r0, r2, lsl r3
+ bl __aeabi_uidiv
+ uxth r0, r0
+.L3780:
+ bl ftl_vpn_decrement
+ ldr r3, [r8, #-132]
+ mvn r2, #0
+ str r2, [r3, r9]
+.L3751:
+ ldr r3, [sp, #8]
+ add r9, r9, #4
+ add r3, r3, #1
+ str r3, [sp, #8]
+ ldr r2, [sp, #8]
+ ldr r3, [sp]
+ cmp r3, r2
+ bne .L3756
+.L3749:
+ add r6, r6, #1
+ b .L3748
+.L3753:
+ ldr r2, [fp]
+ tst r2, #256
+ beq .L3755
+ ldr r2, [sp, #4]
+ mov r1, r10
+ ldr r0, .L3781+40
+ bl printk
+.L3755:
+ ldrh r0, [r5, #80]
+ b .L3780
+.L3782:
.align 2
-.L3860:
+.L3781:
.word .LANCHOR0
.word .LANCHOR3-3104
.word .LANCHOR2
- .word .LC249
+ .word .LC248
.word .LANCHOR3
- .word .LC250
- .word .LANCHOR3-3132
.word .LC251
- .word .LC252
- .word .LANCHOR1+2588
+ .word .LANCHOR1+2373
.word .LC0
+ .word .LC249
+ .word .LANCHOR3-3138
+ .word .LC250
.fnend
.size gc_update_l2p_map_new, .-gc_update_l2p_map_new
.align 2
.global gc_scan_src_blk_one_page
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_scan_src_blk_one_page, %function
gc_scan_src_blk_one_page:
.fnstart
- @ args = 0, pretend = 0, frame = 16
+ @ args = 0, pretend = 0, frame = 8
@ 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}
+ push {r0, r1, r4, r5, r6, r7, r8, r9, r10, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
+ .pad #8
mov r1, #0
- ldr r6, .L3891
- .pad #20
- sub sp, sp, #20
- ldr r4, .L3891+4
+ ldr r5, .L3810
mov lr, r1
- ldr r5, .L3891+8
movw r0, #65535
- ldrb r3, [r6, #2832] @ zero_extendqisi2
- ldrb ip, [r5, #-3123] @ zero_extendqisi2
- add r2, r4, r3, asl #1
- ldrh r7, [r2, #36]
+ ldr r4, .L3810+4
+ ldrb r3, [r5, #2828] @ zero_extendqisi2
+ ldr r7, .L3810+8
+ add r2, r4, r3, lsl #1
+ ldrb ip, [r7, #-3127] @ zero_extendqisi2
+ ldrh r8, [r2, #36]
ldrh r2, [r4, #2]
-.L3863:
- cmp r7, r0
- bne .L3889
+.L3784:
+ cmp r8, r0
+ beq .L3786
+ cmp lr, #0
+ mov r0, #1
+ strhne r2, [r4, #2] @ movhi
+ cmp r1, #0
+ strbne r3, [r5, #2828]
+ mov r9, #1
+ bl buf_alloc
+ mov r6, r0
+.L3789:
+ ldrb r1, [r5, #2830] @ zero_extendqisi2
+ cmp r9, r1
+ ble .L3799
+ mov r0, r6
+ bl zbuf_free
+ ldrb r3, [r5, #2828] @ zero_extendqisi2
+ ldrb r2, [r7, #-3127] @ zero_extendqisi2
+ add r3, r3, #1
+ uxtb r3, r3
+ cmp r2, r3
+ strb r3, [r5, #2828]
+ ldrheq r3, [r4, #2]
+ addeq r3, r3, #1
+ strheq r3, [r4, #2] @ movhi
+ moveq r3, #0
+ strbeq r3, [r5, #2828]
+ add sp, sp, #8
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L3786:
add r3, r3, #1
uxtb r3, r3
cmp r3, ip
- addeq r2, r2, #1
moveq r3, #0
- moveq lr, #1
- add r1, r4, r3, asl #1
+ addeq r2, r2, #1
+ add r1, r4, r3, lsl #1
uxtheq r2, r2
- ldrh r7, [r1, #36]
+ ldrh r8, [r1, #36]
+ moveq lr, #1
mov r1, #1
- b .L3863
-.L3889:
- mov r0, #1
- cmp lr, #0
- strneh r2, [r4, #2] @ movhi
- cmp r1, #0
- strneb r3, [r6, #2832]
- bl buf_alloc
- ldr r8, .L3891
- mov r9, #1
- ldr r10, .L3891+12
- mov fp, r0
-.L3868:
- ldrb r3, [r6, #2834] @ zero_extendqisi2
- ldr r2, .L3891
- cmp r9, r3
- bgt .L3890
- ldrh r2, [r10]
- cmp r3, #2
- mul r2, r2, r7
- bne .L3869
- ldrh r3, [r4, #2]
- add r3, r2, r3, asl #1
- ldr r2, .L3891+8
- sub r3, r3, #1
- add r3, r3, r9
- ldrb r2, [r2, #-3124] @ zero_extendqisi2
- b .L3887
-.L3869:
- cmp r3, #3
- ldrneh r1, [r4, #2]
- addne r2, r2, r1
- bne .L3888
- ldrb r3, [r8, #1196] @ zero_extendqisi2
+ b .L3784
+.L3799:
+ ldr r3, .L3810+12
+ cmp r1, #2
+ ldrh r3, [r3]
+ mul r2, r8, r3
+ ldrheq r3, [r4, #2]
+ addeq r3, r2, r3, lsl #1
+ subeq r3, r3, #1
+ beq .L3809
+ cmp r1, #3
+ ldrhne r3, [r4, #2]
+ addne r3, r3, r2
+ bne .L3808
+ ldrb r3, [r5, #1158] @ zero_extendqisi2
cmp r3, #0
- bne .L3872
- ldrb r3, [r8, #1197] @ zero_extendqisi2
+ bne .L3793
+ ldrb r3, [r5, #1159] @ zero_extendqisi2
cmp r3, #0
- beq .L3873
-.L3872:
+ ldrheq r3, [r4, #2]
+ addeq r3, r3, r2
+ orreq r3, r3, r9, lsl #24
+ beq .L3808
+.L3793:
ldrh r3, [r4, #2]
- add r3, r3, r3, asl #1
+ add r3, r3, r3, lsl #1
sub r3, r3, #1
add r3, r3, r2
- ldrb r2, [r5, #-3124] @ zero_extendqisi2
+.L3809:
+ ldrb r2, [r7, #-3128] @ zero_extendqisi2
add r3, r3, r9
-.L3887:
- orr r3, r3, r2, asl #24
- str r3, [fp, #24]
- b .L3870
-.L3873:
- ldrh r1, [r4, #2]
- add r2, r2, r1
- orr r2, r2, r9, asl #24
-.L3888:
- str r2, [fp, #24]
-.L3870:
- mov r0, fp
+ orr r3, r3, r2, lsl #24
+.L3808:
+ str r3, [r6, #24]
mov r1, #1
+ mov r0, r6
bl sblk_read_page
- ldr r3, [fp, #36]
+ ldr r3, [r6, #36]
cmp r3, #512
cmnne r3, #1
- beq .L3875
- ldr r3, [fp, #12]
- ldr r3, [r3, #4]
- mov r0, r3
- str r3, [sp, #4]
+ beq .L3796
+ ldr r3, [r6, #12]
+ ldr r10, [r3, #4]
+ mov r0, r10
bl lpa_hash_get_ppa
cmn r0, #1
- str r0, [sp, #12]
- ldr r3, [sp, #4]
- bne .L3876
- ldr r2, [r6, #2784]
- cmp r3, r2
- bcs .L3876
- mov r0, r3
- add r1, sp, #12
+ str r0, [sp, #4]
+ bne .L3797
+ ldr r3, [r5, #2780]
+ cmp r10, r3
+ bcs .L3797
mov r2, #0
+ add r1, sp, #4
+ mov r0, r10
bl pm_log2phys
-.L3876:
- ldr r3, [fp, #24]
- ldr r2, [sp, #12]
+.L3797:
+ ldr r3, [r6, #24]
+ ldr r2, [sp, #4]
cmp r3, r2
- ldreqh r1, [r4, #20]
- ldreq r2, [r5, #-3128]
- streq r3, [r2, r1, asl #2]
- ldreqh r3, [r4, #20]
+ ldrheq r1, [r4, #20]
+ ldreq r2, [r7, #-3132]
+ streq r3, [r2, r1, lsl #2]
+ ldrheq r3, [r4, #20]
addeq r3, r3, #1
- streqh r3, [r4, #20] @ movhi
-.L3875:
+ strheq r3, [r4, #20] @ movhi
+.L3796:
ldrh r3, [r4, #22]
add r9, r9, #1
add r3, r3, #1
strh r3, [r4, #22] @ movhi
- b .L3868
-.L3890:
- mov r0, fp
- str r2, [sp, #4]
- bl zbuf_free
- ldrb r1, [r5, #-3123] @ zero_extendqisi2
- ldr r2, [sp, #4]
- ldrb r3, [r2, #2832] @ zero_extendqisi2
- add r3, r3, #1
- uxtb r3, r3
- strb r3, [r2, #2832]
- cmp r1, r3
- ldreqh r3, [r4, #2]
- addeq r3, r3, #1
- streqh r3, [r4, #2] @ movhi
- moveq r3, #0
- streqb r3, [r2, #2832]
- add sp, sp, #20
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3892:
+ b .L3789
+.L3811:
.align 2
-.L3891:
+.L3810:
.word .LANCHOR0
- .word .LANCHOR0+2828
+ .word .LANCHOR0+2824
.word .LANCHOR3
- .word .LANCHOR3-3066
+ .word .LANCHOR3-3074
.fnend
.size gc_scan_src_blk_one_page, .-gc_scan_src_blk_one_page
.align 2
.global gc_scan_src_blk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_scan_src_blk, %function
gc_scan_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}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- movw r3, #2828
- ldr r4, .L3945
+ movw r3, #2824
+ ldr r4, .L3867
.pad #28
sub sp, sp, #28
ldrh r2, [r4, r3]
movw r3, #65535
cmp r2, r3
- bne .L3894
- ldr r1, .L3945+4
+ bne .L3813
movw r2, #1505
- ldr r0, .L3945+8
+ ldr r1, .L3867+4
+ ldr r0, .L3867+8
bl printk
bl dump_stack
-.L3894:
- movw r3, #2828
+.L3813:
+ movw r3, #2824
ldrh r1, [r4, r3]
movw r3, #65535
cmp r1, r3
moveq r0, #0
- beq .L3895
- ldr r3, .L3945+12
+ beq .L3812
+ ldr r3, .L3867+12
ldr r3, [r3]
tst r3, #256
- beq .L3896
- ldr r3, .L3945
- ldr r0, .L3945+16
- ldr r2, [r3, #1088]
- mov r3, r1, asl #1
+ beq .L3815
+ ldr r2, [r4, #1092]
+ lsl r3, r1, #1
+ ldr r0, .L3867+16
ldrh r2, [r2, r3]
bl printk
-.L3896:
- ldr r5, .L3945
- movw r7, #2828
+.L3815:
+ ldr r7, .L3867+20
+ movw r5, #2824
bl timer_get_time
- ldrh r0, [r4, r7]
- add r1, r5, #2864
- ldr r6, .L3945+20
+ ldrh r0, [r4, r5]
+ add r1, r7, #36
bl ftl_get_blk_list_in_sblk
uxtb r0, r0
- strb r0, [r4, #2833]
cmp r0, #0
+ strb r0, [r4, #2829]
mvneq r3, #0
- streqh r3, [r5, r7] @ movhi
- beq .L3895
- ldrh r3, [r5, r7]
- ldr r2, [r5, #1080]
- add r2, r2, r3, asl #2
+ strheq r3, [r4, r5] @ movhi
+ beq .L3812
+ ldrh r3, [r4, r5]
+ ldr r2, [r4, #1084]
+ add r2, r2, r3, lsl #2
ldrb r2, [r2, #2] @ zero_extendqisi2
- tst r2, #192
- and r1, r2, #224
- moveq r2, #1
- movne r2, #0
- cmp r1, #224
- orreq r2, r2, #1
+ and r2, r2, #224
+ cmp r2, #32
+ beq .L3817
cmp r2, #0
- bne .L3898
- ldr r2, [r5, #1092]
- ldrh ip, [r2, #16]
- cmp ip, r3
- beq .L3898
- ldrh ip, [r2, #48]
- cmp ip, r3
- beq .L3898
+ cmpne r2, #224
+ beq .L3818
+ ldr r2, [r4, #1096]
+ ldrh r1, [r2, #16]
+ cmp r1, r3
+ beq .L3817
+ ldrh r1, [r2, #48]
+ cmp r1, r3
+ beq .L3817
ldrh r2, [r2, #80]
cmp r2, r3
- bne .L3899
-.L3898:
- cmp r1, #0
- bne .L3900
- ldr r2, [r4, #1088]
- mov r3, r3, asl #1
- ldrh r3, [r2, r3]
- cmp r3, #0
- beq .L3901
- ldr r1, .L3945+4
- movw r2, #1530
- ldr r0, .L3945+8
- bl printk
- bl dump_stack
-.L3901:
- movw r3, #2828
- ldr r2, [r4, #1088]
- ldrh r3, [r4, r3]
- mov r1, #0
- mov r3, r3, asl #1
- strh r1, [r2, r3] @ movhi
-.L3900:
- movw r3, #2828
+ bne .L3860
+.L3817:
mvn r2, #0
+ movw r3, #2824
mov r0, #0
strh r2, [r4, r3] @ movhi
- strh r0, [r6, #20] @ movhi
- b .L3895
-.L3899:
- add r0, r6, r0, asl #1
+ strh r0, [r7, #20] @ movhi
+.L3812:
+ add sp, sp, #28
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3818:
+ cmp r2, #0
+ bne .L3817
+ ldr r2, [r4, #1092]
+ lsl r3, r3, #1
+ ldrh r3, [r2, r3]
+ cmp r3, #0
+ beq .L3820
+ movw r2, #1530
+ ldr r1, .L3867+4
+ ldr r0, .L3867+8
+ bl printk
+ bl dump_stack
+.L3820:
+ movw r3, #2824
+ ldr r2, [r4, #1092]
+ ldrh r3, [r4, r3]
+ mov r1, #0
+ lsl r3, r3, #1
+ strh r1, [r2, r3] @ movhi
+ b .L3817
+.L3860:
+ add r0, r7, r0, lsl #1
movw r3, #65535
ldrh r10, [r0, #34]
cmp r10, r3
- bne .L3902
- ldr r1, .L3945+4
+ bne .L3821
movw r2, #1540
- ldr r0, .L3945+8
+ ldr r1, .L3867+4
+ ldr r0, .L3867+8
bl printk
bl dump_stack
-.L3902:
- movw r3, #2828
- ldr r5, .L3945+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 .L3903
- ldrb r2, [r5, #-3124] @ zero_extendqisi2
+.L3821:
+ movw r2, #2824
+ ldr r8, .L3867+24
+ ldrh r0, [r4, r2]
+ ldr r2, [r4, #1084]
+ sub r1, r8, #3072
+ sub fp, r8, #3088
+ ldrh r6, [fp, #-8]
+ ldrh r3, [r1, #-2]
+ add r2, r2, r0, lsl #2
+ str r1, [sp, #4]
+ sub r6, r6, #1
+ ldrb r2, [r2, #2] @ zero_extendqisi2
+ uxth r6, r6
+ mul r3, r10, r3
+ and r2, r2, #224
+ cmp r2, #160
+ movne r9, #1
+ bne .L3822
+ ldrb r2, [r8, #-3128] @ zero_extendqisi2
cmp r2, #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 r8, r8, #1
- uxtheq r8, r8
+ uxth r9, r2
+ orr r3, r3, r2, lsl #24
+ subeq r2, r8, #3104
+ ldrheq r6, [r2, #-14]
+ ldrb r2, [r4, #1158] @ zero_extendqisi2
+ subeq r6, r6, #1
+ uxtheq r6, r6
cmp r2, #0
- bne .L3905
- ldr r2, .L3945
- ldrb r2, [r2, #1197] @ zero_extendqisi2
+ bne .L3824
+ ldrb r2, [r4, #1159] @ zero_extendqisi2
cmp r2, #0
- beq .L3903
-.L3905:
- ldr r2, .L3945+28
- ldrh r8, [r2, #-10]
- sub r8, r8, #1
- uxth r8, r8
-.L3903:
+ beq .L3822
+.L3824:
+ ldr r2, .L3867+28
+ ldrh r6, [r2, #-14]
+ sub r6, r6, #1
+ uxth r6, r6
+.L3822:
+ orr r6, r6, r3
+ strb r9, [r4, #2830]
+ mov r3, #0
mov r0, #1
- strb r3, [r4, #2834]
+ strh r3, [r7, #2] @ movhi
+ strb r3, [r4, #2828]
+ strh r3, [r7, #22] @ movhi
+ strh r3, [r7, #24] @ movhi
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
- str r7, [r0, #24]
- mov fp, r0
+ str r6, [r0, #24]
+ mov r5, r0
bl sblk_read_page
- ldr r2, [fp, #36]
- strh r8, [r6, #20] @ movhi
- cmn r2, #1
- cmpne r2, #512
ldr r3, [sp]
- beq .L3942
- ldr r0, [fp, #12]
- ldr r2, .L3945+32
- ldr r1, [r0]
- str r2, [sp, #8]
- cmp r1, r2
- beq .L3907
- ldr r0, .L3945+8
+ strh r3, [r7, #20] @ movhi
+ ldr r3, [r5, #36]
+ cmn r3, #1
+ cmpne r3, #512
+ bne .L3825
+.L3865:
+ mov r0, r5
+ bl zbuf_free
+.L3863:
+ mvn r0, #0
+ b .L3812
+.L3825:
+ ldr r1, [r5, #12]
+ ldr r3, .L3867+32
+ ldr r2, [r1]
+ str r3, [sp, #8]
+ cmp r2, r3
+ beq .L3826
movw r2, #1578
- ldr r1, .L3945+4
-.L3943:
+.L3866:
+ ldr r1, .L3867+4
+ ldr r0, .L3867+8
bl printk
bl dump_stack
-.L3942:
- mov r0, fp
- bl zbuf_free
- b .L3940
-.L3907:
- ldrb r8, [r5, #-3123] @ zero_extendqisi2
- ldrh r1, [r9, #-8]
- ldr r2, .L3945+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 .L3908
- movw r3, #542
- ldr r1, [fp, #4]
- ldrh r0, [r2, r3]
- 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
+ b .L3865
+.L3826:
+ ldrb r2, [r8, #-3127] @ zero_extendqisi2
+ ldrh r3, [fp, #-8]
+ smulbb r3, r3, r2
+ smulbb r3, r3, r9
+ uxth r3, r3
+ str r3, [sp]
+ ldrb r3, [r8, #-11] @ zero_extendqisi2
+ cmp r3, #2
+ cmpeq r9, #3
+ bne .L3827
+ ldr r3, .L3867+28
+ ldrh r0, [r8, #-14]
+ ldr r1, [r5, #4]
+ ldrh r9, [r3, #-14]
+ ldr r3, [r8, #-3132]
+ lsl r9, r9, #2
+ smulbb r9, r9, r2
+ sub r9, r9, r0
+ lsr r0, r0, #2
+ uxth r9, r9
+ add r0, r3, r0, lsl #2
+ mov r2, r9
bl ftl_memcpy
- ldr r3, [fp, #12]
+ ldr r3, [r5, #12]
ldr r3, [r3, #4]
cmp r3, #0
- beq .L3909
- ldr r0, [fp, #4]
- mov r1, r8
+ beq .L3828
+ mov r1, r9
+ ldr r0, [r5, #4]
str r3, [sp, #12]
bl js_hash
ldr r3, [sp, #12]
cmp r3, r0
- beq .L3909
- mov r0, fp
+ beq .L3828
+ mov r0, r5
bl zbuf_free
- ldr r3, [fp, #12]
- ldr r0, .L3945+36
- ldr r2, [fp, #24]
- ldr r1, [r3, #4]
- mov r3, r8
- b .L3941
-.L3909:
- ldrb r3, [r4, #1196] @ zero_extendqisi2
+ ldr r1, [r5, #12]
+ mov r3, r9
+.L3864:
+ ldr r2, [r5, #24]
+ ldr r1, [r1, #4]
+ ldr r0, .L3867+36
+ bl printk
+ b .L3863
+.L3828:
+ ldrb r3, [r4, #1158] @ zero_extendqisi2
cmp r3, #0
- bne .L3910
- ldr r3, .L3945
- ldrb r3, [r3, #1197] @ zero_extendqisi2
+ bne .L3829
+ ldrb r3, [r4, #1159] @ zero_extendqisi2
cmp r3, #0
- beq .L3911
-.L3910:
- sub r7, r7, #1
- b .L3912
-.L3911:
- 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
-.L3912:
- str r7, [fp, #24]
- mov r0, fp
+ beq .L3830
+.L3829:
+ sub r6, r6, #1
+ str r6, [r5, #24]
+.L3831:
mov r1, #1
+ mov r0, r5
bl sblk_read_page
- ldr r3, [fp, #36]
+ ldr r3, [r5, #36]
cmn r3, #1
cmpne r3, #512
- beq .L3942
- ldr r3, [fp, #12]
+ beq .L3865
+ ldr r3, [r5, #12]
ldr r2, [sp, #8]
ldr r3, [r3]
cmp r3, r2
- ldrne r0, .L3945+8
movwne r2, #1619
- ldrne r1, .L3945+4
- bne .L3943
-.L3914:
- movw r3, #542
- ldr r0, [r5, #-3128]
- ldr r1, [fp, #4]
- ldrh r2, [r5, r3]
- b .L3939
-.L3908:
- 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, #4]
- cmp r8, r0
- ldreq r1, [fp, #4]
- ldreq r0, [r2, #-3128]
- moveq r2, r7
- beq .L3939
- mov r0, fp
- bl zbuf_free
- ldr r3, [fp, #12]
- ldr r0, .L3945+36
- ldr r2, [fp, #24]
- ldr r1, [r3, #4]
- mov r3, r7
-.L3941:
- bl printk
-.L3940:
- mvn r0, #0
- b .L3895
-.L3939:
+ ldrheq r2, [r8, #-14]
+ bne .L3866
+.L3862:
+ ldr r1, [r5, #4]
+ mov r9, #0
+ ldr r0, [r8, #-3132]
+ mov r10, #1
bl ftl_memcpy
- ldr r7, [r5, #-3128]
- ldr r10, .L3945+24
- mov r8, #0
- ldr r9, .L3945+20
- sub r7, r7, #4
-.L3917:
+ ldr r6, [r8, #-3132]
+ sub r6, r6, #4
+.L3836:
ldr r3, [sp]
- cmp r8, r3
- bge .L3944
- ldr r0, [r7, #4]!
+ cmp r9, r3
+ blt .L3841
+ mov r0, r5
+ bl zbuf_free
+ movw r3, #2824
+ ldr r2, [r4, #1092]
+ ldrh r1, [r4, r3]
+ lsl r3, r1, #1
+ ldrh r2, [r2, r3]
+ ldrh r3, [r7, #20]
+ cmp r2, r3
+ beq .L3842
+ ldr r0, .L3867+40
+ bl printk
+.L3842:
+ movw r3, #2824
+ ldrh r1, [r7, #20]
+ ldrh r3, [r4, r3]
+ ldr r2, [r4, #1092]
+ lsl r3, r3, #1
+ strh r1, [r2, r3] @ movhi
+ mov r3, #0
+ strh r3, [r7, #24] @ movhi
+ ldrh r0, [r7, #20]
+ b .L3812
+.L3830:
+ ldr r2, [sp, #4]
+ ldrh r3, [fp, #-8]
+ ldrh r2, [r2, #-2]
+ sub r3, r3, #1
+ uxth r3, r3
+ mul r10, r10, r2
+ orr r3, r3, #33554432
+ orr r10, r3, r10
+ str r10, [r5, #24]
+ b .L3831
+.L3827:
+ ldr r3, [sp]
+ ldr r9, [r1, #4]
+ ldr r0, [r5, #4]
+ lsl r6, r3, #2
+ mov r1, r6
+ bl js_hash
+ cmp r9, r0
+ moveq r2, r6
+ beq .L3862
+ mov r0, r5
+ bl zbuf_free
+ ldr r1, [r5, #12]
+ mov r3, r6
+ b .L3864
+.L3841:
+ ldr r0, [r6, #4]!
cmn r0, #1
- beq .L3919
+ beq .L3838
bl lpa_hash_get_ppa
cmn r0, #1
str r0, [sp, #20]
- bne .L3920
- ldr r0, [r7]
- add r1, sp, #20
+ bne .L3839
mov r2, #0
+ add r1, sp, #20
+ ldr r0, [r6]
bl pm_log2phys
-.L3920:
- ldr r3, .L3945+40
- mvn r1, #0
- ldr r2, [sp, #20]
+.L3839:
+ ldr r3, .L3867+44
+ ldr fp, [sp, #20]
+ ldrb r1, [r8, #-3136] @ zero_extendqisi2
ldrh r0, [r3]
- ldrb r3, [r4, #1189] @ zero_extendqisi2
- str r2, [sp, #4]
+ ldrb r3, [r4, #1153] @ zero_extendqisi2
rsb r3, r3, #24
- rsb r3, r0, r3
- mov r0, r2, lsr r0
- bic r0, r0, r1, asl r3
- ldrb r1, [r5, #-3130] @ zero_extendqisi2
+ sub r3, r3, r0
+ lsl r3, r10, r3
+ sub r3, r3, #1
+ and r0, r3, fp, lsr r0
bl __aeabi_uidiv
- ldrh r3, [r6]
+ ldrh r3, [r7]
cmp r0, r3
- ldr r2, [sp, #4]
- ldreq r3, [r10, #-3128]
- ldreqh r1, [r9, #20]
- streq r2, [r3, r1, asl #2]
- ldreqh r3, [r9, #20]
+ ldreq r3, [r8, #-3132]
+ ldrheq r2, [r7, #20]
+ streq fp, [r3, r2, lsl #2]
+ ldrheq r3, [r7, #20]
addeq r3, r3, #1
- streqh r3, [r9, #20] @ movhi
-.L3919:
+ strheq r3, [r7, #20] @ movhi
+.L3838:
bl timer_get_time
- add r8, r8, #1
- b .L3917
-.L3944:
- 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, [r6, #20]
- cmp r2, r3
- beq .L3923
- ldr r0, .L3945+44
- bl printk
-.L3923:
- movw r3, #2828
- 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, [r6, #20]
- strh r3, [r6, #24] @ movhi
-.L3895:
- add sp, sp, #28
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L3946:
+ add r9, r9, #1
+ b .L3836
+.L3868:
.align 2
-.L3945:
+.L3867:
.word .LANCHOR0
- .word .LANCHOR1+2612
+ .word .LANCHOR1+2395
.word .LC0
.word .LANCHOR2
- .word .LC253
- .word .LANCHOR0+2828
+ .word .LC252
+ .word .LANCHOR0+2824
.word .LANCHOR3
.word .LANCHOR3-3104
.word -178307901
+ .word .LC253
.word .LC254
- .word .LANCHOR3-3132
- .word .LC255
+ .word .LANCHOR3-3138
.fnend
.size gc_scan_src_blk, .-gc_scan_src_blk
.align 2
.global gc_scan_static_data
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_scan_static_data, %function
gc_scan_static_data:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, lr}
- .save {r4, r5, r6, r7, r8, r9, lr}
+ push {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, .L3964
- ldr r3, [r4, #1092]
+ ldr r4, .L3886
+ ldr r3, [r4, #1096]
ldr r2, [r3, #544]
cmn r2, #1
- beq .L3948
- mov r5, #0
- mov r7, r4
-.L3949:
- ldr r3, [r4, #1092]
- add r1, sp, #4
+ beq .L3870
+ ldr r6, .L3886+4
+ mov r7, #0
+ ldr r9, .L3886+8
+ sub r10, r6, #3136
+.L3878:
+ ldr r3, [r4, #1096]
mov r2, #0
- uxth r6, r5
+ add r1, sp, #4
+ uxth r8, r7
ldr r0, [r3, #544]
bl pm_log2phys
ldr r3, [sp, #4]
cmn r3, #1
- beq .L3950
+ beq .L3871
mov r0, #1
bl buf_alloc
- mov r1, #1
ldr r3, [sp, #4]
- mov r8, r0
+ mov r5, r0
+ mov r1, #1
str r3, [r0, #24]
bl sblk_read_page
- ldr r3, [r8, #36]
+ ldr r3, [r5, #36]
cmp r3, #256
- bne .L3951
- ldr r3, .L3964+4
- mov r9, #1
+ bne .L3872
+ ldrb r3, [r4, #1153] @ zero_extendqisi2
+ mov fp, #1
+ ldrh r2, [r10, #-2]
ldr r0, [sp, #4]
- ldrh r2, [r3]
- ldrb r3, [r7, #1189] @ zero_extendqisi2
rsb r3, r3, #24
- rsb r3, r2, r3
- mov r3, r9, asl r3
+ ldrb r1, [r6, #-3136] @ zero_extendqisi2
+ sub r3, r3, r2
+ lsl r3, fp, r3
sub r3, r3, #1
and r0, r3, r0, lsr r2
- ldr r3, .L3964+8
- ldrb r1, [r3, #-3130] @ zero_extendqisi2
bl __aeabi_uidiv
- mov r1, r9
mov r2, #0
+ mov r1, fp
uxth r0, r0
bl gc_add_sblk
-.L3951:
- ldr r2, [r8, #12]
- ldr r3, [r4, #1092]
+.L3872:
+ ldr r2, [r5, #12]
+ ldr r3, [r4, #1096]
ldr r2, [r2, #4]
ldr r3, [r3, #544]
cmp r2, r3
- beq .L3952
- ldr r1, .L3964+12
+ beq .L3873
movw r2, #2163
- ldr r0, .L3964+16
+ mov r1, r9
+ ldr r0, .L3886+12
bl printk
bl dump_stack
-.L3952:
- mov r0, r8
+.L3873:
+ mov r0, r5
bl zbuf_free
-.L3950:
- ldr r3, [r4, #1092]
- ldr r1, [r4, #2784]
+.L3871:
+ ldr r3, [r4, #1096]
+ ldr r1, [r4, #2780]
ldr r2, [r3, #544]
add r2, r2, #1
- str r2, [r3, #544]
cmp r2, r1
- bcc .L3953
+ str r2, [r3, #544]
+ bcc .L3874
mvn r2, #0
str r2, [r3, #544]
ldr r2, [r3, #548]
@@ -23545,109 +23840,108 @@
bl ftl_ext_info_flush
mov r0, #0
bl ftl_info_flush
- b .L3947
-.L3953:
+.L3869:
+ add sp, sp, #12
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3874:
ldr r3, [sp, #4]
cmn r3, #1
- bne .L3947
- ldr r3, .L3964+20
- add r5, r5, #1
- ldrh r3, [r3]
- cmp r6, r3, lsr #2
- bcc .L3949
- b .L3947
-.L3948:
+ bne .L3869
+ ldrh r3, [r6, #-14]
+ add r7, r7, #1
+ cmp r8, r3, lsr #2
+ bcc .L3878
+ b .L3869
+.L3870:
ldr r2, [r3, #536]
ldr r1, [r3, #12]
add r2, r2, #12910592
add r2, r2, #49408
cmp r1, r2
- bhi .L3958
- ldr r0, [r4, #2804]
+ bhi .L3880
+ ldr r0, [r4, #2800]
ldr r2, [r3, #540]
ldr r0, [r0, #44]
add r2, r2, #4992
add r2, r2, #8
cmp r0, r2
- bls .L3947
-.L3958:
- ldr r2, [r4, #2804]
+ bls .L3869
+.L3880:
+ ldr r2, [r4, #2800]
ldr r2, [r2, #44]
str r1, [r3, #536]
str r2, [r3, #540]
mov r2, #0
str r2, [r3, #544]
-.L3947:
- add sp, sp, #12
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc}
-.L3965:
+ b .L3869
+.L3887:
.align 2
-.L3964:
+.L3886:
.word .LANCHOR0
- .word .LANCHOR3-3132
.word .LANCHOR3
- .word .LANCHOR1+2628
+ .word .LANCHOR1+2411
.word .LC0
- .word .LANCHOR3+542
.fnend
.size gc_scan_static_data, .-gc_scan_static_data
.align 2
.global gc_block_vpn_scan
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_block_vpn_scan, %function
gc_block_vpn_scan:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- movw r4, #1076
- ldr r5, .L4004
+ movw r5, #1080
+ ldr r4, .L3922
.pad #44
sub sp, sp, #44
- ldr r2, [r5, #1092]
- ldrh r3, [r5, r4]
+ ldr r2, [r4, #1096]
+ ldrh r3, [r4, r5]
ldr r2, [r2, #608]
cmp r2, r3
- bcs .L3966
+ bcs .L3888
bl timer_get_time
- ldr r6, [r5, #1092]
+ ldr r6, [r4, #1096]
ldr r3, [r6, #604]
add r3, r3, #29952
add r3, r3, #48
cmp r0, r3
- bls .L3966
+ bls .L3888
bl timer_get_time
- ldr r3, [r5, #1092]
- ldrh r1, [r5, r4]
+ ldr r3, [r4, #1096]
str r0, [r6, #604]
+ ldrh r1, [r4, r5]
ldr r2, [r3, #600]
cmp r2, r1
- bcs .L3970
- ldr r1, [r5, #2804]
+ bcs .L3890
+ ldr r1, [r4, #2800]
ldrh r1, [r1, #134]
cmp r2, r1
- bcs .L3971
-.L3970:
- ldr r2, [r5, #2804]
+ bcs .L3891
+.L3890:
+ ldr r2, [r4, #2800]
ldrh r2, [r2, #134]
str r2, [r3, #600]
-.L3971:
- ldr r4, [r3, #600]
+.L3891:
+ ldr r5, [r3, #600]
movw r3, #65535
- uxth r4, r4
- cmp r4, r3
- bne .L3972
- ldr r1, .L4004+4
+ uxth r7, r5
+ cmp r7, r3
+ bne .L3892
movw r2, #2504
- ldr r0, .L4004+8
+ ldr r1, .L3922+4
+ ldr r0, .L3922+8
bl printk
bl dump_stack
-.L3972:
- ldr r3, [r5, #1092]
- mov r0, r4
+.L3892:
+ ldr r3, [r4, #1096]
add r1, sp, #24
- ldr r6, .L4004
+ mov r0, r7
ldr r2, [r3, #600]
add r2, r2, #1
str r2, [r3, #600]
@@ -23655,1351 +23949,1362 @@
add r2, r2, #1
str r2, [r3, #608]
bl ftl_get_blk_list_in_sblk
- uxth r0, r0
- cmp r0, #0
- beq .L3966
- ldr r9, [r6, #1080]
- add r9, r9, r4, asl #2
- ldrb r3, [r9, #2] @ zero_extendqisi2
- tst r3, #192
+ uxth r3, r0
+ cmp r3, #0
+ beq .L3888
+ ldr r10, [r4, #1084]
+ uxth r5, r5
+ add r10, r10, r5, lsl #2
+ ldrb r3, [r10, #2] @ zero_extendqisi2
and r2, r3, #224
- moveq r3, #1
- movne r3, #0
- cmp r2, #224
- orreq r3, r3, #1
+ and r3, r3, #192
cmp r3, #0
- bne .L3973
- ldr r3, [r6, #1092]
+ cmpne r2, #224
+ beq .L3893
+ ldr r3, [r4, #1096]
ldrh r1, [r3, #16]
- cmp r1, r4
- beq .L3973
+ cmp r1, r7
+ beq .L3893
ldrh r1, [r3, #48]
- cmp r1, r4
- beq .L3973
+ cmp r1, r7
+ beq .L3893
ldrh r3, [r3, #80]
- cmp r3, r4
- bne .L3974
-.L3973:
+ cmp r3, r7
+ bne .L3894
+.L3893:
cmp r2, #0
- bne .L3966
- ldr r3, [r5, #1088]
- mov r4, r4, asl #1
- ldrh r3, [r3, r4]
+ bne .L3888
+ ldr r3, [r4, #1092]
+ lsl r5, r5, #1
+ ldrh r3, [r3, r5]
cmp r3, #0
- beq .L3975
- ldr r1, .L4004+4
+ beq .L3895
movw r2, #2521
- ldr r0, .L4004+8
+ ldr r1, .L3922+4
+ ldr r0, .L3922+8
bl printk
bl dump_stack
-.L3975:
- ldr r3, [r5, #1088]
+.L3895:
+ ldr r3, [r4, #1092]
mov r2, #0
- strh r2, [r3, r4] @ movhi
- b .L3966
-.L3974:
+ strh r2, [r3, r5] @ movhi
+.L3888:
+ add sp, sp, #44
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3894:
+ uxth r0, r0
add r3, sp, #40
- add r0, r3, r0, asl #1
+ add r0, r3, r0, lsl #1
movw r3, #65535
- ldrh r7, [r0, #-18]
- cmp r7, r3
- bne .L3977
- ldr r1, .L4004+4
+ ldrh r8, [r0, #-18]
+ cmp r8, r3
+ bne .L3897
movw r2, #2529
- ldr r0, .L4004+8
+ ldr r1, .L3922+4
+ ldr r0, .L3922+8
bl printk
bl dump_stack
-.L3977:
- ldr r6, .L4004+12
- ldrb r10, [r9, #2] @ zero_extendqisi2
+.L3897:
+ ldr r6, .L3922+12
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
+ ldrh r2, [fp, #-8]
+ sub r2, r2, #1
+ uxth r3, r2
+ sub r2, r6, #3072
+ ldrh r1, [r2, #-2]
+ ldrb r2, [r10, #2] @ zero_extendqisi2
+ and r2, r2, #224
+ mul r1, r8, r1
cmp r2, #160
- movne r10, #1
- bne .L3978
- 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
-.L3978:
+ sub r2, r6, #3104
+ movne r8, #1
+ bne .L3898
+ ldrb r8, [r6, #-3128] @ zero_extendqisi2
+ cmp r8, #2
+ ldrheq r3, [r2, #-14]
+ orr r1, r1, r8, lsl #24
+ uxthne r8, r8
+ subeq r3, r3, #1
+ uxtheq r3, r3
+.L3898:
+ orr r3, r3, r1
+ str r2, [sp, #12]
mov r0, #1
- str r3, [sp, #12]
+ str r3, [sp, #8]
bl buf_alloc
- orr r7, r8, r7
+ ldr r3, [sp, #8]
mov r1, #1
- str r7, [r0, #24]
- mov r8, r0
+ mov r9, r0
+ str r3, [r0, #24]
bl sblk_read_page
+ ldr r2, [sp, #12]
mov r1, #255
- ldr r0, [r6, #-3128]
- ldr r3, [sp, #12]
- ldrh r2, [r3, #-10]
- ldrb r3, [r6, #-3123] @ zero_extendqisi2
- mul r2, r3, r2
- mov r2, r2, asl #2
+ ldr r0, [r6, #-3132]
+ ldrh r3, [r2, #-14]
+ ldrb r2, [r6, #-3127] @ zero_extendqisi2
+ mul r2, r2, r3
+ lsl r2, r2, #2
bl ftl_memset
- ldr r2, [r8, #36]
+ ldr r2, [r9, #36]
cmn r2, #1
cmpne r2, #512
moveq r2, #1
movne r2, #0
- moveq r0, r4
- moveq r1, #1
moveq r2, #0
- beq .L4002
- ldr r3, [r8, #12]
+ beq .L3921
+ ldr r3, [r9, #12]
ldr r1, [r3]
- ldr r3, .L4004+16
+ ldr r3, .L3922+16
cmp r1, r3
- beq .L3980
- mov r0, r4
+ beq .L3901
+.L3921:
mov r1, #1
-.L4002:
+ mov r0, r7
bl gc_add_sblk
- mov r0, r8
+ mov r0, r9
bl zbuf_free
- b .L3966
-.L3980:
- ldr r3, .L4004+12
- mov r7, r2
- 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
+ b .L3888
+.L3901:
+ ldrh r3, [fp, #-8]
mov fp, r2
+ ldrb r1, [r6, #-3127] @ zero_extendqisi2
+ smulbb r1, r1, r3
+ smulbb r8, r1, r8
+ uxth r3, r8
+ mov r8, r2
str r3, [sp, #12]
-.L3981:
+ ldr r3, [r9, #4]
+ str r3, [sp, #8]
+.L3902:
ldr r3, [sp, #12]
cmp fp, r3
- bge .L4003
- ldr r0, [r10, fp, asl #2]
+ blt .L3905
+ mov r0, r9
+ lsl r6, r5, #1
+ bl zbuf_free
+ ldr r3, .L3922+20
+ ldr r3, [r3]
+ tst r3, #256
+ beq .L3906
+ ldr r3, [r4, #1092]
+ mov r1, r5
+ ldr r0, .L3922+24
+ ldrh r2, [r3, r6]
+ ldrb r3, [r10, #2] @ zero_extendqisi2
+ lsr r3, r3, #5
+ str r3, [sp]
+ mov r3, r8
+ bl printk
+.L3906:
+ ldr r3, [r4, #1092]
+ cmp r8, #31
+ strh r8, [r3, r6] @ movhi
+ bhi .L3888
+ mov r2, #0
+ mov r1, #1
+ mov r0, r7
+ bl gc_add_sblk
+ b .L3888
+.L3905:
+ ldr r3, [sp, #8]
+ ldr r0, [r3, fp, lsl #2]
cmn r0, #1
- beq .L3982
+ beq .L3903
bl lpa_hash_get_ppa
cmn r0, #1
str r0, [sp, #20]
- bne .L3983
- ldr r0, [r10, fp, asl #2]
+ bne .L3904
+ ldr r3, [sp, #8]
+ mov r2, #0
add r1, sp, #20
- mov r2, #0
+ ldr r0, [r3, fp, lsl #2]
bl pm_log2phys
-.L3983:
- ldr r3, .L4004+20
- ldrb r2, [r5, #1189] @ zero_extendqisi2
- ldr r0, [sp, #20]
- ldrh r1, [r3]
- rsb r2, r2, #24
+.L3904:
+ ldr r2, .L3922+28
mov r3, #1
- rsb r2, r1, r2
- mov r2, r3, asl r2
+ ldr r0, [sp, #20]
+ ldrb r1, [r6, #-3136] @ zero_extendqisi2
+ ldrh ip, [r2]
+ ldrb r2, [r4, #1153] @ zero_extendqisi2
+ rsb r2, r2, #24
+ sub r2, r2, ip
+ lsl r2, r3, r2
sub r2, r2, #1
- and r0, r2, r0, lsr r1
- ldrb r1, [r6, #-3130] @ zero_extendqisi2
+ and r0, r2, r0, lsr ip
bl __aeabi_uidiv
- cmp r0, r4
- addeq r7, r7, #1
- uxtheq r7, r7
-.L3982:
+ cmp r5, r0
+ addeq r8, r8, #1
+ uxtheq r8, r8
+.L3903:
add fp, fp, #1
- b .L3981
-.L4003:
- mov r0, r8
- mov r6, r4, asl #1
- bl zbuf_free
- ldr r3, .L4004+24
- ldr r3, [r3]
- tst r3, #256
- beq .L3985
- ldr r3, [r5, #1088]
- mov r1, r4
- ldr r0, .L4004+28
- ldrh r2, [r3, r6]
- ldrb r3, [r9, #2] @ zero_extendqisi2
- mov r3, r3, lsr #5
- str r3, [sp]
- mov r3, r7
- bl printk
-.L3985:
- ldr r3, [r5, #1088]
- cmp r7, #31
- strh r7, [r3, r6] @ movhi
- bhi .L3966
- mov r0, r4
- mov r1, #1
- mov r2, #0
- bl gc_add_sblk
-.L3966:
- add sp, sp, #44
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L4005:
+ b .L3902
+.L3923:
.align 2
-.L4004:
+.L3922:
.word .LANCHOR0
- .word .LANCHOR1+2648
+ .word .LANCHOR1+2431
.word .LC0
.word .LANCHOR3
.word -178307901
- .word .LANCHOR3-3132
.word .LANCHOR2
- .word .LC256
+ .word .LC255
+ .word .LANCHOR3-3138
.fnend
.size gc_block_vpn_scan, .-gc_block_vpn_scan
.align 2
.global ftl_sblk_dump
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_sblk_dump, %function
ftl_sblk_dump:
.fnstart
- @ args = 0, pretend = 0, frame = 88
+ @ args = 0, pretend = 0, frame = 80
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {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 r4, .L4044
- .pad #132
- sub sp, sp, #132
+ lsl r3, r0, #2
+ ldr r4, .L3961
+ .pad #124
+ sub sp, sp, #124
+ lsl r2, r0, #2
mov r7, r0
+ str r3, [sp, #68]
+ ldr r3, [r4, #1084]
str r1, [sp, #60]
- ldr r2, [r4, #1080]
- add r3, r2, fp
- ldrh r1, [r2, fp]
- ldrb r3, [r3, #2] @ zero_extendqisi2
- ubfx r1, r1, #0, #11
- str r1, [sp]
- ldr r10, [r2, r0, asl #2]
- mov r1, r7
- mov r2, r3, lsr #5
- ldr r0, .L4044+4
- ubfx r3, r3, #3, #2
- ubfx r10, r10, #11, #8
- str r10, [sp, #4]
+ ldr r1, [r3, r0, lsl #2]
+ add r2, r3, r2
+ ldrb r2, [r2, #2] @ zero_extendqisi2
+ ubfx r1, r1, #11, #8
+ str r1, [sp, #4]
+ lsl r1, r0, #2
+ ldrh r3, [r3, r1]
+ mov r1, r0
+ ldr r0, .L3961+4
+ ubfx r3, r3, #0, #11
+ str r3, [sp]
+ ubfx r3, r2, #3, #2
+ lsr r2, r2, #5
bl printk
movw r3, #65535
cmp r7, r3
- beq .L4029
- movw r3, #1076
+ beq .L3947
+ movw r3, #1080
ldrh r3, [r4, r3]
cmp r3, r7
- bls .L4029
- ldr r3, [r4, #1080]
- add r1, sp, #112
+ bls .L3947
+ ldr r3, [r4, #1084]
+ lsl r2, r7, #2
+ add r1, sp, #104
+ strh r7, [sp, #88] @ movhi
mov r0, r7
- strh r7, [sp, #96] @ movhi
- add r3, r3, fp
mov r5, #0
- mov r9, r5
+ add r3, r3, r2
+ mov fp, r5
ldrb r3, [r3, #2] @ zero_extendqisi2
and r3, r3, #224
cmp r3, #160
- ldreq r3, .L4044+8
- movne r10, #1
- ldreqb r10, [r3, #-3124] @ zero_extendqisi2
+ ldreq r3, .L3961+8
+ movne r9, #1
+ ldrbeq r9, [r3, #-3128] @ zero_extendqisi2
bl ftl_get_blk_list_in_sblk
- ldr r3, .L4044+12
- mov r1, r7
- mov r2, r3
- ldrh r3, [r2, #-8]!
+ ldr r3, .L3961+12
uxtb r0, r0
+ lsl r2, r7, #2
+ strh r5, [sp, #90] @ movhi
+ strb r0, [sp, #97]
+ mov r1, r7
+ ldrh r3, [r3, #-8]
+ strb r5, [sp, #93]
strh r5, [sp, #98] @ movhi
- strb r0, [sp, #105]
smulbb r3, r3, r0
- strb r5, [sp, #101]
- str r2, [sp, #64]
- strh r5, [sp, #106] @ movhi
- strh r3, [sp, #102] @ movhi
- ldr r3, [r4, #1080]
- add r3, r3, fp
+ strh r3, [sp, #94] @ movhi
+ ldr r3, [r4, #1084]
+ add r3, r3, r2
ldrb r2, [r3, #2] @ zero_extendqisi2
- mov r3, r10
+ mov r3, r9
str r0, [sp]
- ldr r0, .L4044+16
- mov r2, r2, lsr #5
+ ldr r0, .L3961+16
+ lsr r2, r2, #5
bl printk
mov r0, #1
bl buf_alloc
mov r6, r0
str r5, [sp, #44]
str r5, [sp, #52]
-.L4009:
- ldr r3, [sp, #64]
- uxth r2, r5
- str r2, [sp, #48]
- ldrh r3, [r3]
- cmp r3, r2
- bls .L4026
- mov r3, r2, asl #1
- add r2, r3, r2
- sub r3, r3, #1
+.L3927:
+ ldr r3, .L3961+20
+ ldrh r2, [r3]
+ uxth r3, r5
+ cmp r2, r3
+ bls .L3944
str r3, [sp, #72]
+ lsl r3, r3, #1
+ sub r2, r3, #1
+ str r2, [sp, #76]
+ uxth r2, r5
+ add r3, r3, r2
+ sub r3, r3, #1
+ str r3, [sp, #64]
mov r3, #0
- sub r2, r2, #1
- str r2, [sp, #68]
-.L4042:
+ b .L3960
+.L3941:
+ ldrh r3, [sp, #48]
+ add r2, sp, #120
+ add r3, r2, r3, lsl #1
+ ldrh r3, [r3, #-16]
str r3, [sp, #56]
- ldrb r2, [sp, #105] @ zero_extendqisi2
- ldrh r3, [sp, #56]
- cmp r2, r3
- bls .L4024
- mov r8, #1
- add r3, r3, #8
- str r3, [sp, #76]
-.L4025:
- cmp r8, r10
- bhi .L4043
- ldr r2, [sp, #76]
- add r3, sp, #128
- add r3, r3, r2, asl #1
- ldrh r2, [r3, #-32]
movw r3, #65535
+ ldr r2, [sp, #56]
cmp r2, r3
- beq .L4010
- ldr r3, .L4044+20
- cmp r10, #3
- ldrh r3, [r3]
- mul r3, r3, r2
- bne .L4011
- ldr r1, .L4044
- ldrb r0, [r1, #1196] @ zero_extendqisi2
- cmp r0, #0
- ldrne r1, [sp, #68]
- bne .L4040
- ldrb r1, [r1, #1197] @ zero_extendqisi2
- mov r4, r8, asl #24
+ beq .L3928
+ ldr r3, .L3961+24
+ cmp r9, #3
+ ldrh r4, [r3, #-2]
+ mul r3, r2, r4
+ bne .L3929
+ ldr r2, .L3961
+ ldrb r1, [r2, #1158] @ zero_extendqisi2
cmp r1, #0
+ ldrne r2, [sp, #64]
+ bne .L3958
+ ldrb r2, [r2, #1159] @ zero_extendqisi2
+ lsl r4, r8, #24
+ cmp r2, #0
+ ldrne r2, [sp, #64]
uxtaheq r3, r3, r5
- ldrne r1, [sp, #68]
- addne r3, r3, r1
+ addne r3, r3, r2
addne r3, r3, r8
orr r4, r4, r3
- b .L4013
-.L4011:
- cmp r10, #2
- uxtahne r4, r3, r5
- bne .L4013
- ldr r1, [sp, #72]
-.L4040:
- add r3, r3, r1
- ldr r1, .L4044+8
- add r3, r3, r8
- ldrb r4, [r1, #-3124] @ zero_extendqisi2
- orr r4, r3, r4, asl #24
-.L4013:
+.L3931:
mov r1, #1
str r4, [r6, #24]
mov r0, r6
- str r2, [sp, #84]
bl sblk_read_page
- ldr r1, [r6, #4]
- ldr ip, [r6, #36]
- ldr r3, [r6, #12]
- str ip, [sp]
- ldr r0, [r1]
- ldr r2, [sp, #84]
- str ip, [sp, #80]
- str r0, [sp, #4]
- ldr r0, [r1, #4]
- str r0, [sp, #8]
- ldr r0, [r1, #8]
- str r0, [sp, #12]
- ldr r1, [r1, #12]
- ldr r0, .L4044+24
- str r1, [sp, #16]
- ldr r1, [r3]
- str r1, [sp, #20]
- ldr r1, [r3, #4]
- str r1, [sp, #24]
- ldr r1, [r3, #8]
+ ldr r2, [r6, #12]
+ ldr r3, [r6, #4]
+ ldr r10, [r6, #36]
+ ldr r1, [r2, #12]
+ ldr r0, .L3961+28
+ str r1, [sp, #32]
+ ldr r1, [r2, #8]
str r1, [sp, #28]
- mov r1, r2
- ldr r3, [r3, #12]
- ldr r2, [sp, #48]
- str r3, [sp, #32]
+ ldr r1, [r2, #4]
+ str r1, [sp, #24]
+ ldr r2, [r2]
+ ldr r1, [sp, #56]
+ str r2, [sp, #20]
+ ldr r2, [r3, #12]
+ str r2, [sp, #16]
+ ldr r2, [r3, #8]
+ str r2, [sp, #12]
+ ldr r2, [r3, #4]
+ str r2, [sp, #8]
+ ldr r3, [r3]
+ ldr r2, [sp, #72]
+ str r10, [sp]
+ str r3, [sp, #4]
mov r3, r4
bl printk
- ldr r0, .L4044+28
- ldr ip, [sp, #80]
ldr r3, [sp, #52]
- cmn ip, #1
- cmpne ip, #512
+ cmn r10, #1
+ cmpne r10, #512
moveq r3, #1
+ ldr r0, .L3961+32
str r3, [sp, #52]
- ldr r3, .L4044+32
+ ldr r3, .L3961+36
ldr r3, [r3, #4]
blx r3
- ldr r3, .L4044
- ldr r3, [r3, #1080]
- add r3, r3, fp
+ ldr r3, .L3961
+ ldr r2, [sp, #68]
+ ldr r3, [r3, #1084]
+ add r3, r3, r2
ldrb r2, [r3, #2] @ zero_extendqisi2
and r2, r2, #224
- cmp r2, #224
- cmpne r2, #32
- moveq r2, #1
- movne r2, #0
- beq .L4010
+ cmp r2, #32
+ cmpne r2, #224
+ moveq r10, #1
+ movne r10, #0
+ beq .L3928
ldr r3, [r6, #12]
- str r2, [sp, #80]
ldr r0, [r3, #4]
bl lpa_hash_get_ppa
cmn r0, #1
- str r0, [sp, #92]
- ldr r2, [sp, #80]
- bne .L4017
+ str r0, [sp, #84]
+ bne .L3935
ldr r3, [r6, #12]
- add r1, sp, #92
+ mov r2, r10
+ add r1, sp, #84
ldr r0, [r3, #4]
bl pm_log2phys
-.L4017:
- ldr r3, [sp, #92]
- cmp r3, r4
- bne .L4018
+.L3935:
+ ldr r3, [sp, #84]
+ cmp r4, r3
+ bne .L3936
ldr r3, [sp, #44]
mov r1, r4
- ldr r0, .L4044+36
+ ldr r2, [r6, #12]
+ ldr r0, .L3961+40
add r3, r3, #1
+ ldr r2, [r2, #4]
str r3, [sp, #44]
- ldr r3, [r6, #12]
- ldr r2, [r3, #4]
- ldr r3, [sp, #44]
bl printk
-.L4018:
+.L3936:
ldr r3, [sp, #60]
cmp r3, #0
- beq .L4020
- ldr r2, [r3, r9, asl #2]
- mov r4, r9, asl #2
+ beq .L3938
+ ldr r2, [r3, fp, lsl #2]
+ lsl r4, fp, #2
ldr r3, [r6, #12]
ldr r3, [r3, #4]
cmp r3, r2
- beq .L4021
- ldr r3, .L4044+40
+ beq .L3939
+ ldr r3, .L3961+44
ldr r3, [r3]
tst r3, #4096
- beq .L4021
- ldr r0, .L4044+44
- mov r1, r9
+ beq .L3939
+ mov r1, fp
+ ldr r0, .L3961+48
bl printk
-.L4021:
+.L3939:
ldr r3, [sp, #60]
ldr r2, [r6, #12]
ldr r3, [r3, r4]
ldr r2, [r2, #4]
cmp r2, r3
cmnne r3, #1
- beq .L4020
- ldr r1, .L4044+48
+ beq .L3938
movw r2, #1575
- ldr r0, .L4044+52
+ ldr r1, .L3961+52
+ ldr r0, .L3961+56
bl printk
bl dump_stack
-.L4020:
- add r9, r9, #1
-.L4010:
+.L3938:
+ add fp, fp, #1
+.L3928:
add r8, r8, #1
uxth r8, r8
- b .L4025
-.L4043:
- ldr r3, [sp, #56]
+.L3943:
+ cmp r9, r8
+ bcs .L3941
+ ldr r3, [sp, #48]
add r3, r3, #1
- b .L4042
-.L4024:
+.L3960:
+ str r3, [sp, #48]
+ ldrb r2, [sp, #97] @ zero_extendqisi2
+ ldrh r3, [sp, #48]
+ cmp r2, r3
+ bls .L3942
+ mov r8, #1
+ b .L3943
+.L3929:
+ cmp r9, #2
+ uxtahne r4, r3, r5
+ bne .L3931
+ ldr r2, [sp, #76]
+.L3958:
+ add r4, r3, r2
+ ldr r2, .L3961+8
+ add r3, r4, r8
+ ldrb r4, [r2, #-3128] @ zero_extendqisi2
+ orr r4, r3, r4, lsl #24
+ b .L3931
+.L3942:
add r5, r5, #1
- b .L4009
-.L4026:
+ b .L3927
+.L3944:
mov r0, r6
bl zbuf_free
- ldr r3, .L4044
- ldr r0, .L4044+56
- mov r1, r7
- ldr r2, [r3, #1088]
- mov r3, r7, asl #1
- ldrh r2, [r2, r3]
+ ldr r3, .L3961
+ lsl r2, r7, #1
+ ldr r0, .L3961+60
+ ldr r1, [r3, #1092]
ldr r3, [sp, #44]
+ ldrh r2, [r1, r2]
+ mov r1, r7
bl printk
ldr r0, [sp, #52]
- b .L4007
-.L4029:
- mov r0, #0
-.L4007:
- add sp, sp, #132
+.L3924:
+ add sp, sp, #124
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L4045:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3947:
+ mov r0, #0
+ b .L3924
+.L3962:
.align 2
-.L4044:
+.L3961:
.word .LANCHOR0
- .word .LC257
+ .word .LC256
.word .LANCHOR3
.word .LANCHOR3-3088
- .word .LC258
- .word .LANCHOR3-3066
- .word .LC196
+ .word .LC257
+ .word .LANCHOR3-3096
+ .word .LANCHOR3-3072
+ .word .LC195
.word 644245000
.word arm_delay_ops
- .word .LC259
+ .word .LC258
.word .LANCHOR2
- .word .LC260
- .word .LANCHOR1+2668
+ .word .LC259
+ .word .LANCHOR1+2449
.word .LC0
- .word .LC261
+ .word .LC260
.fnend
.size ftl_sblk_dump, .-ftl_sblk_dump
.align 2
.global zftl_read
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_read, %function
zftl_read:
.fnstart
@ args = 0, pretend = 0, frame = 48
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- mov r6, r3
- ldr r3, .L4113
+ mov r7, r3
+ ldr r3, .L4026
.pad #76
sub sp, sp, #76
- mov r8, r0
- mov r4, r1
- mov r5, r2
+ mov r4, r0
+ mov r6, r1
+ str r2, [sp, #24]
ldr r3, [r3]
tst r3, #4096
- beq .L4047
- ldr r0, .L4113+4
- mov r1, r8
- mov r2, r4
- mov r3, r5
+ beq .L3964
+ mov r3, r2
+ mov r2, r1
+ mov r1, r0
+ ldr r0, .L4026+4
bl printk
-.L4047:
- cmp r8, #0
- ldreq r3, .L4113+8
- moveq ip, #24576
- ldreq r8, [r3, #1032]
- beq .L4049
-.L4048:
- cmp r8, #3
- bhi .L4078
- mov ip, r8, asl #13
- mov r8, #8192
-.L4049:
- cmp r5, r8
- cmpls r4, r8
- movcs r7, #1
- movcc r7, #0
- bcs .L4078
- add r3, r4, r5
- cmp r3, r8
- bhi .L4078
- ldr r2, .L4113+8
- add r3, ip, r4
+.L3964:
+ cmp r4, #0
+ bne .L3965
+ ldr r3, .L4026+8
+ mov r4, #24576
+ ldr r3, [r3, #1032]
+.L3966:
+ ldr r2, [sp, #24]
+ cmp r3, r2
+ cmpcs r3, r6
+ movls r5, #1
+ movhi r5, #0
+ bls .L3995
+ add r2, r6, r2
+ cmp r3, r2
+ bcc .L3995
+ add r3, r4, r6
+ ldr r4, .L4026+8
str r3, [sp, #28]
+ ldr r1, [sp, #24]
+ ldr r2, [r4, #2800]
ldr r0, [sp, #28]
- ldr r1, [r2, #2804]
- ldrb r4, [r2, #2772] @ zero_extendqisi2
- ldr r3, [r1, #24]
- add r3, r3, r5
- str r3, [r1, #24]
- mov r1, r4
+ ldr r3, [r2, #24]
+ add r3, r3, r1
+ str r3, [r2, #24]
+ ldr r3, .L4026+12
+ ldrb r6, [r3, #-2546] @ zero_extendqisi2
+ mov r1, r6
bl __aeabi_uidiv
- mov r1, r4
- ldr r3, [sp, #28]
+ ldr r3, [sp, #24]
+ mov r1, r6
+ ldr r2, [sp, #28]
str r0, [sp, #36]
- add r3, r3, r5
- str r3, [sp, #44]
+ add r3, r3, r2
sub r0, r3, #1
+ str r3, [sp, #44]
bl __aeabi_uidiv
ldr r3, [sp, #36]
- str r7, [sp, #40]
- ldr r4, [sp, #36]
+ str r5, [sp, #40]
+ ldr r6, [sp, #36]
+ ldr r5, .L4026+12
rsb r3, r3, #1
- ldr r7, .L4113+12
add r3, r3, r0
str r0, [sp, #48]
str r3, [sp, #32]
-.L4051:
+.L3968:
ldr r3, [sp, #32]
cmp r3, #0
- beq .L4110
+ bne .L3992
+ bl timer_get_time
+ str r0, [r5, #-8]
+ ldr r0, [sp, #40]
+.L3963:
+ add sp, sp, #76
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L3965:
+ cmp r4, #3
+ bhi .L3995
+ lsl r4, r4, #13
+ mov r3, #8192
+ b .L3966
+.L3992:
ldr r3, [sp, #36]
- ldr r8, .L4113+8
- rsb r2, r3, r4
- ldr r3, [sp, #48]
- clz r2, r2
- rsb r3, r3, r4
- ldrb r1, [r8, #2772] @ zero_extendqisi2
- clz r3, r3
- mov r2, r2, lsr #5
- mov r9, r8
- mov r3, r3, lsr #5
- uxth r10, r1
- orrs fp, r3, r2
- beq .L4052
- cmp r2, #0
- beq .L4053
+ ldr r2, [sp, #48]
+ ldrb r1, [r5, #-2546] @ zero_extendqisi2
+ cmp r6, r2
+ cmpne r6, r3
+ moveq r10, #1
+ movne r10, #0
+ uxth r8, r1
+ bne .L3969
+ cmp r6, r3
+ bne .L3970
ldr r0, [sp, #28]
bl __aeabi_uidivmod
- uxth fp, r1
- rsb r10, fp, r10
- uxth r10, r10
- cmp r10, r5
- uxthhi r10, r5
- b .L4052
-.L4053:
- cmp r3, #0
- ldrne r3, [sp, #28]
- movne fp, r2
- moveq fp, r3
- addne r3, r3, r5
- mlsne r1, r4, r1, r3
- uxtbne r10, r1
-.L4052:
- ldr r2, .L4113+16
+ uxth r10, r1
+ ldr r3, [sp, #24]
+ sub r8, r8, r10
+ uxth r8, r8
+ cmp r3, r8
+ ldrhcc r8, [sp, #24]
+.L3969:
+ ldr r2, .L4026+16
mov r3, #0
-.L4056:
+ mov r9, r2
+.L3973:
ldr r1, [r2, #20]
- cmp r1, r4
- bne .L4054
+ cmp r6, r1
+ bne .L3971
ldrb r1, [r2, #2] @ zero_extendqisi2
tst r1, #8
- beq .L4054
- ldr r1, .L4113+8
+ beq .L3971
mov r2, #48
- mov r10, r10, asl #9
- mov r0, r6
- add r6, r6, r10
- mla r3, r2, r3, r1
- mov r2, r10
- ldr r1, [r3, #1240]
- add r1, r1, fp, asl #9
+ lsl r8, r8, #9
+ mov r0, r7
+ mla r3, r2, r3, r4
+ add r7, r7, r8
+ mov r2, r8
+ ldr r1, [r3, #1236]
+ add r1, r1, r10, lsl #9
bl ftl_memcpy
- b .L4055
-.L4054:
+.L3972:
+ ldr r3, [sp, #32]
+ add r6, r6, #1
+ sub r3, r3, #1
+ str r3, [sp, #32]
+.L3979:
+ ldrb r3, [r4, #2769] @ zero_extendqisi2
+ ldr r2, [sp, #32]
+ cmp r2, #0
+ cmpne r3, #2
+ bhi .L3968
+ ldrb r1, [r5, #-2535] @ zero_extendqisi2
+ cmp r1, #0
+ beq .L3968
+ ldrb r0, [r5, #-2536] @ zero_extendqisi2
+ add r0, r0, r0, lsl #1
+ add r0, r9, r0, lsl #4
+ bl sblk_read_page
+.L3981:
+ ldrb r3, [r5, #-2535] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L3991
+ mvn r2, #0
+ strb r3, [r5, #-2535]
+ strb r2, [r5, #-2536]
+ b .L3968
+.L3970:
+ ldr r3, [sp, #28]
+ mov r10, #0
+ ldr r2, [sp, #24]
+ add r8, r3, r2
+ mls r1, r6, r1, r8
+ uxtb r8, r1
+ b .L3969
+.L3971:
add r3, r3, #1
add r2, r2, #48
cmp r3, #32
- bne .L4056
- mov r0, r4
+ bne .L3973
+ mov r0, r6
bl lpa_hash_get_ppa
cmn r0, #1
str r0, [sp, #68]
- bne .L4057
- mov r0, r4
- add r1, sp, #68
+ bne .L3974
mov r2, #0
+ add r1, sp, #68
+ mov r0, r6
bl pm_log2phys
-.L4057:
+.L3974:
ldr r3, [sp, #68]
cmn r3, #1
- moveq r10, #0
- bne .L4111
-.L4059:
- ldrb r3, [r9, #2772] @ zero_extendqisi2
- cmp r10, r3
- bcs .L4055
- mla r3, r3, r4, r10
- ldr r2, [sp, #28]
- ldr r1, [sp, #44]
- cmp r3, r2
- movcs r2, #1
- movcc r2, #0
- cmp r3, r1
- movcs r2, #0
- cmp r2, #0
- beq .L4060
- mov r0, r6
- mov r1, #0
- mov r2, #512
- add r6, r6, #512
- bl ftl_memset
-.L4060:
- add r10, r10, #1
- b .L4059
-.L4111:
+ moveq r8, #0
+ beq .L3976
mov r0, #0
bl buf_alloc
subs r3, r0, #0
- beq .L4062
- ldr r2, .L4113+8
- ldr r1, [r2, #2804]
+ beq .L3979
+ ldr r1, [r4, #2800]
ldr r2, [r1, #40]
add r2, r2, #1
str r2, [r1, #40]
ldr r2, [sp, #68]
- str r6, [r3, #8]
- add r6, r6, r10, asl #9
- str r4, [r3, #20]
+ str r7, [r3, #8]
+ add r7, r7, r8, lsl #9
+ str r6, [r3, #20]
str r2, [r3, #24]
str r2, [r3, #28]
- strb r10, [r3, #40]
- strb fp, [r3, #41]
+ strb r8, [r3, #40]
+ strb r10, [r3, #41]
bl zftl_add_read_buf
-.L4055:
- ldr r3, [sp, #32]
- add r4, r4, #1
- sub r3, r3, #1
- str r3, [sp, #32]
-.L4062:
- ldrb r3, [r8, #2774] @ zero_extendqisi2
- ldr r2, [sp, #32]
+ b .L3972
+.L3978:
+ mla r3, r3, r6, r8
+ ldr r2, [sp, #28]
+ ldr r1, [sp, #44]
+ cmp r2, r3
+ movls r2, #1
+ movhi r2, #0
+ cmp r1, r3
+ movls r2, #0
cmp r2, #0
- cmpne r3, #2
- bhi .L4051
- ldrb r1, [r7, #-2529] @ zero_extendqisi2
- cmp r1, #0
- beq .L4051
- ldrb r2, [r7, #-2530] @ zero_extendqisi2
- mov r0, #48
- ldr r3, .L4113+16
- mla r0, r0, r2, r3
- bl sblk_read_page
-.L4064:
- ldrb r3, [r7, #-2529] @ zero_extendqisi2
- cmp r3, #0
- beq .L4112
- ldrb r3, [r7, #-2530] @ zero_extendqisi2
+ beq .L3977
+ mov r0, r7
+ add r7, r7, #512
+ mov r2, #512
+ mov r1, #0
+ bl ftl_memset
+.L3977:
+ add r8, r8, #1
+.L3976:
+ ldrb r3, [r5, #-2546] @ zero_extendqisi2
+ cmp r8, r3
+ bcc .L3978
+ b .L3972
+.L3991:
+ ldrb r3, [r5, #-2536] @ zero_extendqisi2
cmp r3, #255
- bne .L4065
- ldr r1, .L4113+20
- movw r2, #1283
- ldr r0, .L4113+24
+ bne .L3982
+ movw r2, #1284
+ ldr r1, .L4026+20
+ ldr r0, .L4026+24
bl printk
bl dump_stack
-.L4065:
- ldr r3, .L4113+12
- mov ip, #48
- ldr r8, .L4113+8
- ldr r1, .L4113+12
- ldrb r10, [r3, #-2530] @ zero_extendqisi2
- ldr r3, .L4113+16
- mul ip, ip, r10
- add r2, r8, ip
- add r3, r3, ip
+.L3982:
+ ldr r3, .L4026+12
+ ldr r1, .L4026+12
+ ldrb r9, [r3, #-2536] @ zero_extendqisi2
+ ldr r3, .L4026+16
+ add r2, r9, r9, lsl #1
+ add r3, r3, r2, lsl #4
+ mov r2, #48
+ mla r2, r2, r9, r4
str r3, [sp, #52]
- ldr r9, [r2, #1272]
- ldrb r3, [r2, #1236] @ zero_extendqisi2
- cmn r9, #1
- strb r3, [r1, #-2530]
- bne .L4066
- ldr r2, [r8, #1092]
- str r9, [sp, #40]
+ ldr r10, [r2, #1268]
+ ldrb r3, [r2, #1232] @ zero_extendqisi2
+ cmn r10, #1
+ strb r3, [r1, #-2536]
+ bne .L3983
+ ldr r2, [r4, #1096]
+ str r10, [sp, #40]
ldr r3, [r2, #552]
add r3, r3, #1
str r3, [r2, #552]
- b .L4067
-.L4066:
- cmp r9, #256
- bne .L4067
- ldr r1, .L4113+28
- ldr r3, [r2, #1260]
- str r2, [sp, #60]
- ldrh r0, [r1]
- ldrb r1, [r8, #1189] @ zero_extendqisi2
- mov r8, #1
- str r3, [sp, #56]
- rsb r1, r1, #24
- rsb r1, r0, r1
- mov r1, r8, asl r1
- sub r1, r1, #1
- and r0, r1, r3, lsr r0
- 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, .L4113+32
- ldr r2, [r2, #1256]
- bl printk
- mov r0, fp
- mov r1, r8
- mov r2, #0
- bl gc_add_sblk
-.L4067:
- ldr r1, .L4113+8
- mov r0, #48
- cmn r9, #1
- mla r0, r0, r10, r1
+.L3984:
+ mov r1, #48
+ cmn r10, #1
+ mla r1, r1, r9, r4
movne r2, #0
moveq r2, #1
- ldr r3, [r0, #1248]
- ldr ip, [r0, #1256]
- ldr lr, [r3, #4]
- cmp lr, ip
+ ldr r3, [r1, #1244]
+ ldr r0, [r1, #1252]
+ ldr ip, [r3, #4]
+ cmp ip, r0
orrne r2, r2, #1
cmp r2, #0
- beq .L4068
- ldr r9, [r0, #1240]
+ beq .L3985
+ ldrb r0, [r4, #1153] @ zero_extendqisi2
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
+ ldr lr, [r1, #1256]
+ ldrb fp, [r1, #1272] @ zero_extendqisi2
+ ldrb r8, [r5, #-2546] @ zero_extendqisi2
+ mvn ip, ip, lsl r0
+ ldr r10, [r1, #1236]
+ ldr r2, [r1, #1240]
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
+ and r0, ip, lr, lsr r1
+ cmp fp, r8
+ movcc r2, r10
+ str r8, [sp]
+ bic r1, lr, ip, lsl r1
uxtb r0, r0
bl flash_read_page_en
- mov r9, r0
-.L4068:
- ldr ip, .L4113+8
+ mov r10, r0
+.L3985:
mov r8, #48
- cmn r9, #1
- mla r8, r8, r10, ip
+ cmn r10, #1
+ mla r8, r8, r9, r4
movne fp, #0
moveq fp, #1
- add r3, r8, #1232
- add r3, r3, #12
- ldr r2, [r8, #1248]
- ldr r1, [r8, #1256]
- ldr r2, [r2, #4]
- cmp r2, r1
- moveq r2, fp
- orrne r2, fp, #1
- cmp r2, #0
- beq .L4070
- ldr r1, [ip, #1092]
- ldr r0, .L4113+36
- str ip, [sp, #56]
- ldr r2, [r1, #552]
- add r2, r2, #1
- str r2, [r1, #552]
+ ldr r3, [r8, #1244]
+ ldr r2, [r8, #1252]
ldr r3, [r3, #4]
- ldr r2, [r8, #1260]
- ldrb r1, [r8, #1237] @ zero_extendqisi2
- str r2, [sp]
- ldr r2, [r3]
- str r2, [sp, #4]
- ldr r2, [r3, #4]
- str r2, [sp, #8]
+ cmp r3, r2
+ moveq r3, fp
+ orrne r3, fp, #1
+ cmp r3, #0
+ beq .L3987
+ ldr r2, [r4, #1096]
+ ldr r0, .L4026+28
+ ldr r3, [r2, #552]
+ add r3, r3, #1
+ str r3, [r2, #552]
+ ldr r3, [r8, #1244]
+ ldrb r1, [r8, #1233] @ zero_extendqisi2
+ ldr r2, [r3, #12]
+ str r2, [sp, #16]
ldr r2, [r3, #8]
str r2, [sp, #12]
- mov r2, r9
- ldr r3, [r3, #12]
- str r3, [sp, #16]
+ ldr r2, [r3, #4]
+ str r2, [sp, #8]
+ mov r2, r10
+ ldr r3, [r3]
+ str r3, [sp, #4]
ldr r3, [r8, #1256]
+ str r3, [sp]
+ ldr r3, [r8, #1252]
bl printk
- ldr r3, .L4113+28
- ldr r2, [r8, #1260]
- ldrb r1, [r7, #-3130] @ zero_extendqisi2
- ldrh r0, [r3]
- mov r2, r2, lsr r0
- ldr ip, [sp, #56]
- ldrb r3, [ip, #1189] @ zero_extendqisi2
+ ldr r3, .L4026+32
+ ldr r2, [r8, #1256]
+ ldrb r1, [r5, #-3136] @ zero_extendqisi2
+ ldrh r0, [r3, #-2]
+ ldrb r3, [r4, #1153] @ zero_extendqisi2
+ lsr r2, r2, r0
rsb r3, r3, #24
- rsb r3, r0, r3
+ sub r3, r3, r0
mvn r0, #0
- bic r0, r2, r0, asl r3
+ bic r0, r2, r0, lsl r3
bl __aeabi_uidiv
mov r1, #0
uxth r0, r0
bl ftl_sblk_dump
-.L4070:
- ldr r8, .L4113+8
+.L3987:
mov r3, #48
- mla r3, r3, r10, r8
- mov r9, r8
- ldr r2, [r3, #1248]
- ldr r3, [r3, #1256]
+ mla r3, r3, r9, r4
+ ldr r2, [r3, #1244]
+ ldr r3, [r3, #1252]
ldr r2, [r2, #4]
cmp r2, r3
orrne fp, fp, #1
cmp fp, #0
- beq .L4071
- ldr r1, .L4113+20
- movw r2, #1319
- ldr r0, .L4113+24
+ beq .L3988
+ movw r2, #1320
+ ldr r1, .L4026+20
+ ldr r0, .L4026+24
bl printk
bl dump_stack
-.L4071:
+.L3988:
mov r3, #48
- mla r10, r3, r10, r9
- ldrb r3, [r8, #2772] @ zero_extendqisi2
- ldrb r2, [r10, #1276] @ zero_extendqisi2
+ mla r9, r3, r9, r4
+ ldrb r3, [r5, #-2546] @ zero_extendqisi2
+ ldrb r2, [r9, #1272] @ zero_extendqisi2
cmp r3, r2
- ldrlsb r3, [r10, #1238] @ zero_extendqisi2
+ ldrbls r3, [r9, #1234] @ zero_extendqisi2
bicls r3, r3, #8
- strlsb r3, [r10, #1238]
- bls .L4073
- 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
+ strbls r3, [r9, #1234]
+ bls .L3990
+ ldrb r1, [r9, #1273] @ zero_extendqisi2
+ lsl r2, r2, #9
+ ldr r3, [r9, #1236]
+ ldr r0, [r9, #1240]
+ add r1, r3, r1, lsl #9
bl ftl_memcpy
-.L4073:
+.L3990:
ldr r1, [sp, #52]
- ldr r0, .L4113+40
+ ldr r0, .L4026+36
bl buf_remove_buf
ldr r0, [sp, #52]
bl zbuf_free
- ldrb r3, [r7, #-2529] @ zero_extendqisi2
+ ldrb r3, [r5, #-2535] @ zero_extendqisi2
sub r3, r3, #1
- strb r3, [r7, #-2529]
- b .L4064
-.L4112:
- ldr r1, .L4113+12
- mvn r2, #0
- strb r3, [r1, #-2529]
- strb r2, [r1, #-2530]
- b .L4051
-.L4110:
- bl timer_get_time
- ldr r3, .L4113+12
- str r0, [r3, #548]
- ldr r0, [sp, #40]
- b .L4050
-.L4078:
+ strb r3, [r5, #-2535]
+ b .L3981
+.L3983:
+ cmp r10, #256
+ bne .L3984
+ ldr r1, .L4026+40
+ mov fp, #1
+ ldrb r0, [r4, #1153] @ zero_extendqisi2
+ ldr r3, [r2, #1256]
+ ldrh ip, [r1]
+ rsb r0, r0, #24
+ str r2, [sp, #60]
+ ldr r2, .L4026+12
+ sub r0, r0, ip
+ str r3, [sp, #56]
+ lsl r0, fp, r0
+ ldrb r1, [r2, #-3136] @ zero_extendqisi2
+ sub r0, r0, #1
+ and r0, r0, r3, lsr ip
+ bl __aeabi_uidiv
+ ldr r2, [sp, #60]
+ mov r8, r0
+ uxth r1, r0
+ ldr r3, [sp, #56]
+ ldr r0, .L4026+44
+ ldr r2, [r2, #1252]
+ bl printk
+ mov r2, #0
+ mov r1, fp
+ uxth r0, r8
+ bl gc_add_sblk
+ b .L3984
+.L3995:
mvn r0, #0
-.L4050:
- add sp, sp, #76
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L4114:
+ b .L3963
+.L4027:
.align 2
-.L4113:
+.L4026:
.word .LANCHOR2
- .word .LC262
+ .word .LC261
.word .LANCHOR0
.word .LANCHOR3
- .word .LANCHOR0+1236
- .word .LANCHOR1+2684
+ .word .LANCHOR0+1232
+ .word .LANCHOR1+2463
.word .LC0
- .word .LANCHOR3-3132
.word .LC263
- .word .LC264
- .word .LANCHOR0+2776
+ .word .LANCHOR3-3136
+ .word .LANCHOR0+2771
+ .word .LANCHOR3-3138
+ .word .LC262
.fnend
.size zftl_read, .-zftl_read
.align 2
.global zftl_vendor_read
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_vendor_read, %function
zftl_vendor_read:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- mov ip, r1
mov r3, r2
+ mov r2, r1
add r1, r0, #512
- mov r2, ip
mov r0, #2
b zftl_read
.fnend
.size zftl_vendor_read, .-zftl_vendor_read
.align 2
.global zftl_sys_read
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_sys_read, %function
zftl_sys_read:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- str lr, [sp, #-4]!
- .save {lr}
- mov ip, r1
- mov lr, r0
+ @ link register save eliminated.
mov r3, r2
- mov r1, lr
+ mov r2, r1
+ mov r1, r0
mov r0, #2
- mov r2, ip
- ldr lr, [sp], #4
b zftl_read
.fnend
.size zftl_sys_read, .-zftl_sys_read
.align 2
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_debug_proc_write, %function
zftl_debug_proc_write:
.fnstart
- @ args = 0, pretend = 0, frame = 88
+ @ args = 0, pretend = 0, frame = 96
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, lr}
- .save {r4, r5, r6, r7, r8, r9, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
cmp r2, #79
- .pad #124
- sub sp, sp, #124
- mov r5, r2
- add r4, sp, #40
+ .pad #132
+ sub sp, sp, #132
mvnhi r0, #21
- str r4, [sp, #36]
- bhi .L4119
- mov r0, r4
+ add r6, sp, #48
+ str r6, [sp, #44]
+ bhi .L4030
+ mov r0, r6
+ mov r4, r2
bl rk_copy_from_user
cmp r0, #0
mvnne r0, #13
- bne .L4119
- add r3, sp, #120
- mov r1, r4
- add r3, r3, r5
+ bne .L4030
+ add r3, sp, #128
+ mov r1, r6
+ add r3, r3, r4
strb r0, [r3, #-80]
- ldr r0, .L4144
+ ldr r0, .L4056
bl printk
- ldr r0, .L4144+4
- mov r1, r4
- mov r2, #1
mov r3, #16
+ mov r2, #1
+ mov r1, r6
+ ldr r0, .L4056+4
bl rknand_print_hex
bl rknand_device_lock
- mov r0, r4
- ldr r1, .L4144+8
mov r2, #7
+ ldr r1, .L4056+8
+ mov r0, r6
bl memcmp
- subs r6, r0, #0
- bne .L4120
- ldr r4, .L4144+12
- movw ip, #698
- ldr r0, .L4144+16
+ subs r7, r0, #0
+ bne .L4032
+ ldr r5, .L4056+12
+ movw r3, #698
mov r2, #4
- ldr r7, .L4144+20
+ ldr r0, .L4056+16
+ ldr r6, .L4056+20
movw r8, #65535
- ldr r3, [r4, #2804]
- add r1, r3, #704
- ldrh r3, [r3, ip]
+ ldr r1, [r5, #2800]
+ ldrh r3, [r1, r3]
+ add r1, r1, #704
bl rknand_print_hex
- ldr r1, [r4, #2804]
- ldr r0, .L4144+24
+ ldr r1, [r5, #2800]
mov r2, #2
+ ldrh r3, [r6, #-176]
+ ldr r0, .L4056+24
add r1, r1, #416
- ldrh r3, [r7, #-152]
bl rknand_print_hex
-.L4121:
- ldrh r3, [r7, #-152]
- cmp r6, r3
- bge .L4124
+.L4033:
+ ldrh r3, [r6, #-176]
+ cmp r7, r3
+ blt .L4035
+.L4036:
+ bl rknand_device_unlock
+ mov r0, r4
+.L4030:
+ add sp, sp, #132
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L4035:
mov r0, #300
bl msleep
- add r3, r6, #208
- ldr r2, [r4, #2804]
- mov r3, r3, asl #1
+ ldr r2, [r5, #2800]
+ add r3, r7, #208
+ lsl r3, r3, #1
ldrh r0, [r2, r3]
cmp r0, r8
- beq .L4122
+ beq .L4034
mov r1, #0
bl ftl_sblk_dump
-.L4122:
- add r6, r6, #1
- b .L4121
-.L4120:
- mov r0, r4
- ldr r1, .L4144+28
+.L4034:
+ add r7, r7, #1
+ b .L4033
+.L4032:
mov r2, #7
+ ldr r1, .L4056+28
+ mov r0, r6
bl memcmp
- subs r6, r0, #0
- bne .L4125
- ldr r7, .L4144+12
- movw ip, #698
- ldr r0, .L4144+16
+ subs r5, r0, #0
+ bne .L4037
+ ldr r8, .L4056+12
+ movw r3, #698
mov r2, #4
- ldr r9, .L4144+20
- ldr r3, [r7, #2804]
- add r1, r3, #704
- ldrh r3, [r3, ip]
+ ldr r0, .L4056+16
+ ldr r7, .L4056+20
+ ldr r1, [r8, #2800]
+ ldr r10, .L4056+32
+ ldr fp, .L4056+36
+ ldrh r3, [r1, r3]
+ add r1, r1, #704
bl rknand_print_hex
- ldr r1, [r7, #2804]
- ldrh r3, [r9, #-152]
+ ldr r1, [r8, #2800]
mov r2, #2
+ ldrh r3, [r7, #-176]
+ ldr r0, .L4056+24
add r1, r1, #416
- ldr r0, .L4144+24
bl rknand_print_hex
mov r0, #50
bl msleep
- ldr r0, .L4144+32
- sub r9, r9, #2528
- add r4, sp, #120
- add r1, sp, #47
- str r1, [r4, #-84]!
+ ldr r0, .L4056+40
+ add r6, sp, #128
+ add r1, sp, #55
+ str r1, [r6, #-84]!
bl printk
- mov r1, r4
- mov r4, r6
- ldr r0, [sp, #36]
- bl rk_simple_strtoull.constprop.34
- uxth r8, r0
- str r0, [sp, #32]
-.L4127:
- add r6, r9, r4
- ldr r0, .L4144+36
- ldrh r1, [r9, r4]
- ldrh r2, [r6, #2]
- bl printk
- ldrh r3, [r4, r9]
- cmp r3, r8
- bne .L4126
- ldrb r3, [r7, #2772] @ zero_extendqisi2
- mov r2, #4
- ldr r0, .L4144+40
- ldr r1, [r6, #4]
- mov r3, r3, asl #7
- bl rknand_print_hex
- mov r0, #50
- bl msleep
-.L4126:
- add r4, r4, #8
- cmp r4, #256
- bne .L4127
- mov r0, #300
- add r8, r8, #176
- bl msleep
- mov r0, #1
- bl buf_alloc
- ldr r3, [r7, #2804]
- mov r1, #1
- ldr r3, [r3, r8, asl #2]
- str r3, [r0, #24]
- mov r4, r0
+ mov r1, r6
+ ldr r0, [sp, #44]
+ bl rk_simple_strtoull.constprop.33
+ str r8, [sp, #36]
+ uxth r3, r0
+ ldr r8, .L4056+44
+ mov r6, r0
+ str r0, [sp, #40]
str r3, [sp, #32]
- bl sblk_read_page
- ldr ip, [r4, #4]
- ldr r3, [r4, #12]
- ldr r0, .L4144+44
- ldr r2, [ip, #4]
- str r2, [sp]
- ldr r2, [ip, #8]
- ldr r1, [sp, #32]
- str r2, [sp, #4]
- ldr r2, [ip, #12]
- str r2, [sp, #8]
- ldr r2, [r3]
- str r2, [sp, #12]
- ldr r2, [r3, #4]
- str r2, [sp, #16]
- ldr r2, [r3, #8]
- str r2, [sp, #20]
- ldr r3, [r3, #12]
- str r3, [sp, #24]
- ldr r2, [r4, #36]
- ldr r3, [ip]
+.L4039:
+ add r9, r8, r5
+ ldrh r1, [r8, r5]
+ ldrh r2, [r9, #2]
+ mov r0, r10
bl printk
- ldrb r3, [r7, #2772] @ zero_extendqisi2
- ldr r0, .L4144+48
+ ldrh r3, [r5, r8]
+ ldr r2, [sp, #32]
+ cmp r3, r2
+ bne .L4038
+ ldrb r3, [r7, #-2546] @ zero_extendqisi2
+ mov r0, fp
mov r2, #4
- ldr r1, [r4, #4]
- mov r3, r3, asl #7
- b .L4143
-.L4125:
- mov r0, r4
- ldr r1, .L4144+52
- mov r2, #7
- bl memcmp
- cmp r0, #0
- bne .L4128
- bl dump_ftl_info
- b .L4124
-.L4128:
- mov r0, r4
- ldr r1, .L4144+56
- mov r2, #9
- bl memcmp
- cmp r0, #0
- bne .L4129
- add r1, sp, #120
- add r0, sp, #49
- str r0, [r1, #-84]!
- bl rk_simple_strtoull.constprop.34
- ldr r3, .L4144+60
- str r0, [sp, #32]
- strh r0, [r3, #-12] @ movhi
- bl dump_all_list_info
- b .L4124
-.L4129:
- mov r0, r4
- ldr r1, .L4144+64
- mov r2, #8
- bl memcmp
- cmp r0, #0
- beq .L4124
- mov r0, r4
- ldr r1, .L4144+68
- mov r2, #8
- bl memcmp
- cmp r0, #0
- bne .L4131
- add r4, sp, #120
- add r1, sp, #48
- ldr r0, .L4144+32
- str r1, [r4, #-84]!
- bl printk
- mov r1, r4
- ldr r6, .L4144+12
- ldr r0, [sp, #36]
- bl rk_simple_strtoull.constprop.34
- str r0, [sp, #32]
+ ldr r1, [r9, #4]
+ lsl r3, r3, #7
+ bl rknand_print_hex
+ mov r0, #50
+ bl msleep
+.L4038:
+ add r5, r5, #8
+ cmp r5, #256
+ bne .L4039
+ mov r0, #300
+ uxth r6, r6
+ bl msleep
mov r0, #1
+ add r6, r6, #176
bl buf_alloc
+ ldr r3, [sp, #36]
+ mov r5, r0
mov r1, #1
- ldr r3, [sp, #32]
- mov r4, r0
+ ldr r3, [r3, #2800]
+ ldr r3, [r3, r6, lsl #2]
str r3, [r0, #24]
+ str r3, [sp, #40]
bl sblk_read_page
- ldr r3, [r4, #4]
- ldr r2, [r4, #12]
- ldr r0, .L4144+44
- ldr r1, [r3, #4]
- str r1, [sp]
- ldr r1, [r3, #8]
- str r1, [sp, #4]
- ldr r1, [r3, #12]
- str r1, [sp, #8]
- ldr r1, [r2]
- str r1, [sp, #12]
- ldr r1, [r2, #4]
- str r1, [sp, #16]
+ ldr r2, [r5, #12]
+ ldr r3, [r5, #4]
+ ldr r0, .L4056+48
+ ldr r1, [r2, #12]
+ str r1, [sp, #24]
ldr r1, [r2, #8]
str r1, [sp, #20]
- ldr r2, [r2, #12]
- ldr r1, [sp, #32]
- str r2, [sp, #24]
- ldr r2, [r4, #36]
+ ldr r1, [r2, #4]
+ str r1, [sp, #16]
+ ldr r2, [r2]
+ ldr r1, [sp, #40]
+ str r2, [sp, #12]
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
+ ldr r2, [r3, #8]
+ str r2, [sp, #4]
+ ldr r2, [r3, #4]
+ str r2, [sp]
ldr r3, [r3]
+ ldr r2, [r5, #36]
bl printk
- ldrb r3, [r6, #2772] @ zero_extendqisi2
- ldr r0, .L4144+72
+ ldrb r3, [r7, #-2546] @ zero_extendqisi2
mov r2, #4
- ldr r1, [r4, #4]
- mov r3, r3, asl #7
+ ldr r1, [r5, #4]
+ ldr r0, .L4056+52
+ lsl r3, r3, #7
+.L4055:
bl rknand_print_hex
- ldrb r3, [r6, #2772] @ zero_extendqisi2
- ldr r0, .L4144+76
- mov r2, #4
- ldr r1, [r4, #12]
- mov r3, r3, asl #1
-.L4143:
- bl rknand_print_hex
- mov r0, r4
+ mov r0, r5
bl zbuf_free
- b .L4124
-.L4131:
- mov r0, r4
- ldr r1, .L4144+80
- mov r2, #8
- bl memcmp
- subs r6, r0, #0
- bne .L4132
- add r4, sp, #120
- add r1, sp, #48
- ldr r0, .L4144+32
- str r1, [r4, #-84]!
- bl printk
- mov r1, r4
- ldr r0, [sp, #36]
- bl rk_simple_strtoull.constprop.34
- mov r1, r6
- str r0, [sp, #32]
- uxth r0, r0
- bl ftl_sblk_dump
- b .L4124
-.L4132:
- mov r0, r4
- ldr r1, .L4144+84
- mov r2, #10
+ b .L4036
+.L4037:
+ mov r2, #7
+ ldr r1, .L4056+56
+ mov r0, r6
bl memcmp
cmp r0, #0
- bne .L4133
- add r4, sp, #120
- add r1, sp, #50
- ldr r0, .L4144+32
- str r1, [r4, #-84]!
- bl printk
- mov r1, r4
- ldr r0, [sp, #36]
- bl rk_simple_strtoull.constprop.34
- ldr r3, .L4144+88
- str r0, [sp, #32]
- str r0, [r3]
- b .L4124
-.L4133:
- mov r0, r4
- ldr r1, .L4144+92
+ bne .L4040
+ bl dump_ftl_info
+ b .L4036
+.L4040:
+ mov r2, #9
+ ldr r1, .L4056+60
+ mov r0, r6
+ bl memcmp
+ cmp r0, #0
+ bne .L4041
+ add r1, sp, #128
+ add r0, sp, #57
+ str r0, [r1, #-84]!
+ bl rk_simple_strtoull.constprop.33
+ ldr r3, .L4056+64
+ str r0, [sp, #40]
+ strh r0, [r3, #-4] @ movhi
+ bl dump_all_list_info
+ b .L4036
+.L4041:
mov r2, #8
+ ldr r1, .L4056+68
+ mov r0, r6
+ bl memcmp
+ cmp r0, #0
+ beq .L4036
+ mov r2, #8
+ ldr r1, .L4056+72
+ mov r0, r6
+ bl memcmp
+ cmp r0, #0
+ bne .L4043
+ add r5, sp, #128
+ add r1, sp, #56
+ ldr r0, .L4056+40
+ str r1, [r5, #-84]!
+ bl printk
+ mov r1, r5
+ ldr r0, [sp, #44]
+ bl rk_simple_strtoull.constprop.33
+ str r0, [sp, #40]
+ mov r0, #1
+ bl buf_alloc
+ ldr r3, [sp, #40]
+ mov r5, r0
+ mov r1, #1
+ ldr r6, .L4056+20
+ str r3, [r0, #24]
+ bl sblk_read_page
+ ldr r2, [r5, #12]
+ ldr r3, [r5, #4]
+ ldr r0, .L4056+48
+ ldr r1, [r2, #12]
+ str r1, [sp, #24]
+ ldr r1, [r2, #8]
+ str r1, [sp, #20]
+ ldr r1, [r2, #4]
+ str r1, [sp, #16]
+ ldr r2, [r2]
+ ldr r1, [sp, #40]
+ str r2, [sp, #12]
+ ldr r2, [r3, #12]
+ str r2, [sp, #8]
+ ldr r2, [r3, #8]
+ str r2, [sp, #4]
+ ldr r2, [r3, #4]
+ str r2, [sp]
+ ldr r3, [r3]
+ ldr r2, [r5, #36]
+ bl printk
+ ldrb r3, [r6, #-2546] @ zero_extendqisi2
+ mov r2, #4
+ ldr r1, [r5, #4]
+ ldr r0, .L4056+76
+ lsl r3, r3, #7
+ bl rknand_print_hex
+ ldrb r3, [r6, #-2546] @ zero_extendqisi2
+ mov r2, #4
+ ldr r1, [r5, #12]
+ ldr r0, .L4056+80
+ lsl r3, r3, #1
+ b .L4055
+.L4043:
+ mov r2, #8
+ ldr r1, .L4056+84
+ mov r0, r6
+ bl memcmp
+ subs r7, r0, #0
+ bne .L4044
+ add r5, sp, #128
+ add r1, sp, #56
+ ldr r0, .L4056+40
+ str r1, [r5, #-84]!
+ bl printk
+ mov r1, r5
+ ldr r0, [sp, #44]
+ bl rk_simple_strtoull.constprop.33
+ mov r1, r7
+ str r0, [sp, #40]
+ uxth r0, r0
+ bl ftl_sblk_dump
+ b .L4036
+.L4044:
+ mov r2, #10
+ ldr r1, .L4056+88
+ mov r0, r6
+ bl memcmp
+ cmp r0, #0
+ bne .L4045
+ add r1, sp, #58
+ add r5, sp, #128
+ ldr r0, .L4056+40
+ str r1, [r5, #-84]!
+ bl printk
+ mov r1, r5
+ ldr r0, [sp, #44]
+ bl rk_simple_strtoull.constprop.33
+ ldr r3, .L4056+92
+ str r0, [sp, #40]
+ str r0, [r3]
+ b .L4036
+.L4045:
+ mov r0, r6
+ mov r2, #8
+ ldr r1, .L4056+96
bl memcmp
subs r6, r0, #0
- bne .L4134
- add r4, sp, #120
- add r1, sp, #48
- ldr r0, .L4144+32
- str r1, [r4, #-84]!
+ bne .L4046
+ add r5, sp, #128
+ add r1, sp, #56
+ ldr r0, .L4056+40
+ str r1, [r5, #-84]!
bl printk
- mov r1, r4
- ldr r0, [sp, #36]
- bl rk_simple_strtoull.constprop.34
- mov r4, r0
+ mov r1, r5
+ ldr r0, [sp, #44]
+ bl rk_simple_strtoull.constprop.33
+ mov r5, r0
bl lpa_hash_get_ppa
cmn r0, #1
- str r0, [sp, #32]
- bne .L4135
- mov r0, r4
- add r1, sp, #32
+ str r0, [sp, #40]
+ bne .L4047
mov r2, r6
- bl pm_log2phys
-.L4135:
- mov r1, r4
- ldr r2, [sp, #32]
- ldr r0, .L4144+96
- bl printk
- b .L4124
-.L4134:
- ldr r0, .L4144+100
- bl printk
- ldr r0, .L4144+104
- bl printk
- ldr r0, .L4144+108
- bl printk
- ldr r0, .L4144+112
- bl printk
- ldr r0, .L4144+116
- bl printk
- ldr r0, .L4144+120
- bl printk
- ldr r0, .L4144+124
- bl printk
- ldr r0, .L4144+128
- bl printk
- ldr r0, .L4144+132
- bl printk
-.L4124:
- bl rknand_device_unlock
+ add r1, sp, #40
mov r0, r5
-.L4119:
- add sp, sp, #124
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc}
-.L4145:
+ bl pm_log2phys
+.L4047:
+ ldr r2, [sp, #40]
+ mov r1, r5
+ ldr r0, .L4056+100
+ bl printk
+ b .L4036
+.L4046:
+ ldr r0, .L4056+104
+ bl printk
+ ldr r0, .L4056+108
+ bl printk
+ ldr r0, .L4056+112
+ bl printk
+ ldr r0, .L4056+116
+ bl printk
+ ldr r0, .L4056+120
+ bl printk
+ ldr r0, .L4056+124
+ bl printk
+ ldr r0, .L4056+128
+ bl printk
+ ldr r0, .L4056+132
+ bl printk
+ ldr r0, .L4056+136
+ bl printk
+ b .L4036
+.L4057:
.align 2
-.L4144:
+.L4056:
+ .word .LC264
.word .LC265
.word .LC266
- .word .LC267
.word .LANCHOR0
- .word .LC268
+ .word .LC267
.word .LANCHOR3
+ .word .LC268
.word .LC269
- .word .LC270
.word .LC271
.word .LC272
+ .word .LC270
+ .word .LANCHOR3-2532
+ .word .LC245
.word .LC273
- .word .LC246
.word .LC274
.word .LC275
+ .word .LANCHOR3-3072
.word .LC276
- .word .LANCHOR3-3056
.word .LC277
+ .word .LC218
+ .word .LC240
.word .LC278
- .word .LC219
- .word .LC241
.word .LC279
- .word .LC280
.word .LANCHOR2
+ .word .LC280
.word .LC281
.word .LC282
.word .LC283
@@ -25010,418 +25315,442 @@
.word .LC288
.word .LC289
.word .LC290
- .word .LC291
.fnend
.size zftl_debug_proc_write, .-zftl_debug_proc_write
+ .global __aeabi_idivmod
.align 2
.global ftl_update_l2p_map
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_update_l2p_map, %function
ftl_update_l2p_map:
.fnstart
- @ args = 0, pretend = 0, frame = 16
+ @ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- mov r6, r0
- ldr r5, .L4177
- .pad #20
- sub sp, sp, #20
- ldrb r7, [r0, #9] @ zero_extendqisi2
- sub r3, r5, #3088
- ldrh r4, [r0, #12]
+ mov r7, r0
+ ldr r6, .L4088
+ .pad #28
+ sub sp, sp, #28
+ ldrb r8, [r0, #9] @ zero_extendqisi2
+ sub r3, r6, #3088
+ ldr r4, [r6, #-2556]
ldrh r3, [r3, #-8]
- mul r7, r7, r3
- ldr r3, [r5, #-2548]
- add r4, r3, r4, asl #2
- sub r3, r7, #-1073741823
- ldr r3, [r4, r3, asl #2]
+ mul r8, r8, r3
+ ldrh r3, [r0, #12]
+ add r4, r4, r3, lsl #2
+ sub r3, r8, #-1073741823
+ ldr r3, [r4, r3, lsl #2]
cmn r3, #1
- beq .L4147
- ldr r1, .L4177+4
+ beq .L4059
movw r2, #1998
- ldr r0, .L4177+8
+ ldr r1, .L4088+4
+ ldr r0, .L4088+8
bl printk
bl dump_stack
-.L4147:
+.L4059:
mov r5, #0
sub r4, r4, #4
- mov r9, r5
-.L4148:
- cmp r9, r7
- beq .L4176
- ldr r8, [r4, #4]!
- cmn r8, #1
- beq .L4149
- ldr r3, .L4177+12
- mov r0, r8
- ldrb r1, [r3, #2772] @ zero_extendqisi2
- mov r1, r1, asl #7
- bl __aeabi_uidiv
- ldr r3, .L4177+16
+ mov r10, r5
+.L4060:
+ cmp r10, r8
+ bne .L4066
+ ldr r3, .L4088+12
+ ldr r4, .L4088+16
ldr r3, [r3]
tst r3, #4096
- uxth fp, r0
- beq .L4150
- ldr r0, .L4177+20
- mov r1, fp
- mov r2, r8
- mov r3, r9
+ beq .L4067
+ ldrh r1, [r7]
+ ldr r2, [r4, #1092]
+ ldr r0, .L4088+20
+ lsl r3, r1, #1
+ ldrh r3, [r2, r3]
+ mov r2, r5
bl printk
-.L4150:
- mov r8, r4
- mov r10, r9
-.L4153:
- ldr r0, [r8]
- cmn r0, #1
- beq .L4151
- ldr r3, .L4177+12
- ldrb r1, [r3, #2772] @ zero_extendqisi2
- mov r1, r1, asl #7
+.L4067:
+ ldrh r3, [r7]
+ ldr r2, [r4, #1092]
+ lsl r3, r3, #1
+ strh r5, [r2, r3] @ movhi
+ add sp, sp, #28
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L4066:
+ ldr r9, [r4, #4]!
+ cmn r9, #1
+ beq .L4061
+ ldrb r1, [r6, #-2546] @ zero_extendqisi2
+ mov r0, r9
+ lsl r1, r1, #7
bl __aeabi_uidiv
- uxth r0, r0
- cmp r0, fp
- bne .L4151
- ldrb r3, [r6, #9] @ zero_extendqisi2
- mov r0, r10
- mov r1, r3
+ uxth r3, r0
str r3, [sp, #4]
- bl __aeabi_idiv
- ldr r2, .L4177+24
- ldrh r2, [r2]
+ ldr r3, .L4088+12
+ ldr r3, [r3]
+ tst r3, #4096
+ beq .L4062
+ mov r3, r10
+ mov r2, r9
+ ldr r1, [sp, #4]
+ ldr r0, .L4088+24
+ bl printk
+.L4062:
+ mov r9, r4
+ mov fp, r10
+.L4065:
+ ldr r0, [r9]
+ cmn r0, #1
+ beq .L4063
+ ldrb r1, [r6, #-2546] @ zero_extendqisi2
+ lsl r1, r1, #7
+ bl __aeabi_uidiv
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, .L4177+28
- str r2, [sp, #12]
- ldr r1, [r8]
+ uxth r0, r0
+ cmp r3, r0
+ bne .L4063
+ ldrb r3, [r7, #9] @ zero_extendqisi2
+ mov r0, fp
+ mov r1, r3
+ str r3, [sp, #12]
+ bl __aeabi_idivmod
+ ldr r2, .L4088+28
+ add r1, r7, r1, lsl #1
+ ldr r3, [sp, #12]
+ ldrh r0, [r1, #16]
+ ldrh r2, [r2]
+ mov r1, r3
+ mul r2, r2, r0
+ mov r0, fp
+ str r2, [sp, #8]
+ bl __aeabi_idiv
+ ldr r2, [sp, #8]
+ add r2, r2, r0
+ ldr r0, .L4088+32
+ str r2, [sp, #20]
+ ldr r1, [r9]
bl pm_ppa_update_check
cmp r0, #0
- beq .L4152
- ldr r3, .L4177
+ beq .L4064
+ mov r3, r8
mov r2, #4
- ldr r0, .L4177+32
- ldr r1, [r3, #-2548]
- mov r3, r7
+ ldr r1, [r6, #-2556]
+ ldr r0, .L4088+36
bl rknand_print_hex
-.L4152:
+.L4064:
add r5, r5, #1
- ldr r0, [r8]
- add r1, sp, #12
mov r2, #1
uxth r5, r5
+ add r1, sp, #20
+ ldr r0, [r9]
bl pm_log2phys
mvn r3, #0
- str r3, [r8]
-.L4151:
+ str r3, [r9]
+.L4063:
+ add fp, fp, #1
+ add r9, r9, #4
+ cmp r8, fp
+ bne .L4065
+.L4061:
add r10, r10, #1
- add r8, r8, #4
- cmp r10, r7
- bne .L4153
-.L4149:
- add r9, r9, #1
- b .L4148
-.L4176:
- ldr r3, .L4177+16
- ldr r4, .L4177+12
- ldr r3, [r3]
- tst r3, #4096
- beq .L4155
- ldrh r1, [r6]
- mov r2, r5
- ldr ip, [r4, #1088]
- ldr r0, .L4177+36
- mov r3, r1, asl #1
- ldrh r3, [ip, r3]
- bl printk
-.L4155:
- ldrh r3, [r6]
- ldr r2, [r4, #1088]
- mov r3, r3, asl #1
- strh r5, [r2, r3] @ movhi
- add sp, sp, #20
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L4178:
+ b .L4060
+.L4089:
.align 2
-.L4177:
+.L4088:
.word .LANCHOR3
- .word .LANCHOR1+2696
+ .word .LANCHOR1+2473
.word .LC0
- .word .LANCHOR0
.word .LANCHOR2
- .word .LC292
- .word .LANCHOR3-3066
- .word .LC293
+ .word .LANCHOR0
.word .LC294
- .word .LC295
+ .word .LC291
+ .word .LANCHOR3-3074
+ .word .LC292
+ .word .LC293
.fnend
.size ftl_update_l2p_map, .-ftl_update_l2p_map
.align 2
.global ftl_alloc_new_data_sblk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_alloc_new_data_sblk, %function
ftl_alloc_new_data_sblk:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, lr}
+ push {r4, r5, r6, lr}
.save {r4, r5, r6, lr}
- mov r6, r0
- ldrh r5, [r0]
+ mov r5, r0
+ ldrh r6, [r0]
bl ftl_update_l2p_map
bl pm_flush
- ldrh r0, [r6]
+ ldrh r0, [r5]
movw r3, #65535
cmp r0, r3
- beq .L4180
+ beq .L4091
bl zftl_insert_data_list
-.L4180:
- ldr r4, .L4188
- mov r0, r6
- ldr r1, [r4, #1092]
+.L4091:
+ ldr r4, .L4099
+ mov r0, r5
+ ldr r1, [r4, #1096]
add r1, r1, #16
- cmp r1, r6
- movw r6, #65535
+ cmp r5, r1
+ movw r5, #65535
moveq r1, #2
movne r1, #3
bl ftl_open_sblk_init
- ldr r3, [r4, #1092]
- cmp r5, r6
+ ldr r3, [r4, #1096]
+ cmp r6, r5
ldr r3, [r3, #560]
- rsb r3, r5, r3
+ sub r3, r3, r6
clz r3, r3
- mov r3, r3, lsr #5
+ lsr r3, r3, #5
moveq r3, #0
cmp r3, #0
- beq .L4182
- mov r1, r5
- ldr r0, .L4188+4
+ beq .L4093
+ mov r1, r6
+ ldr r0, .L4099+4
bl printk
- ldr r3, [r4, #1092]
+ ldr r3, [r4, #1096]
ldr r0, [r3, #564]
bl gc_mark_bad_ppa
- ldr r3, [r4, #1092]
+ ldr r3, [r4, #1096]
mvn r2, #0
- str r6, [r3, #560]
+ str r5, [r3, #560]
str r2, [r3, #564]
-.L4182:
+.L4093:
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}
-.L4189:
+ pop {r4, r5, r6, pc}
+.L4100:
.align 2
-.L4188:
+.L4099:
.word .LANCHOR0
- .word .LC296
+ .word .LC295
.fnend
.size ftl_alloc_new_data_sblk, .-ftl_alloc_new_data_sblk
.align 2
.global ftl_write_commit
+ .syntax unified
+ .arm
+ .fpu softvfp
.type ftl_write_commit, %function
ftl_write_commit:
.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}
+ push {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 r7, .L4258
- mov r8, r7
-.L4191:
- ldrb r2, [r7, #2800] @ zero_extendqisi2
+ ldr r8, .L4167
+ mov r9, r8
+.L4102:
+ ldrb r2, [r8, #2796] @ zero_extendqisi2
cmp r2, #0
- beq .L4193
- ldrb r3, [r7, #2824] @ zero_extendqisi2
+ beq .L4104
+ ldrb r3, [r8, #2820] @ zero_extendqisi2
sub r2, r2, #1
- strb r2, [r7, #2800]
- str r3, [sp, #16]
+ ldr r1, .L4167+4
+ strb r2, [r8, #2796]
+ str r3, [sp, #12]
+ add r3, r3, r3, lsl #1
+ add r3, r1, r3, lsl #4
+ ldr r1, [sp, #12]
+ str r3, [sp, #20]
mov r3, #48
- ldr r1, [sp, #16]
- mul r3, r3, r1
- ldr r1, .L4258+4
- add r1, r1, r3
- add r3, r7, r3
- str r1, [sp, #20]
- ldr r2, [r3, #1256]
- ldrb r1, [r3, #1236] @ zero_extendqisi2
- ldr r3, [r7, #2784]
+ mla r3, r3, r1, r8
+ ldrb r1, [r3, #1232] @ zero_extendqisi2
+ ldr r2, [r3, #1252]
+ ldr r3, [r8, #2780]
+ strb r1, [r8, #2820]
cmp r2, r3
- strb r1, [r7, #2824]
- bcc .L4194
- ldr r1, .L4258+8
- movw r2, #606
- ldr r0, .L4258+12
+ bcc .L4106
+ movw r2, #607
+ ldr r1, .L4167+8
+ ldr r0, .L4167+12
bl printk
bl dump_stack
-.L4194:
- ldr r2, [sp, #16]
+.L4106:
+ ldr r2, [sp, #12]
mov r3, #48
- ldr r1, [r8, #2784]
- mla r2, r3, r2, r8
- ldr r9, [r2, #1256]
- cmp r9, r1
- bcc .L4195
+ mla r3, r3, r2, r9
+ ldr r2, [r9, #2780]
+ ldr r7, [r3, #1252]
+ cmp r7, r2
+ bcc .L4107
ldr r0, [sp, #20]
bl zbuf_free
mvn r0, #0
- b .L4254
-.L4195:
- ldr r1, [r2, #1248]
- ldr fp, [r2, #1240]
- ldrb r5, [r2, #1277] @ zero_extendqisi2
- ldrb r2, [r2, #1276] @ zero_extendqisi2
- str r1, [sp, #8]
- str r2, [sp, #12]
- ldrb r2, [r7, #2801] @ zero_extendqisi2
- cmp r2, #0
- beq .L4197
- ldr r2, .L4258+16
- ldrb r4, [r2, #-96] @ zero_extendqisi2
- ldr r2, .L4258+4
- mla r4, r3, r4, r2
-.L4198:
- ldrb r2, [r4] @ zero_extendqisi2
- cmp r2, #255
- ldrne r1, .L4258+4
- mlane r4, r3, r2, r1
- bne .L4198
-.L4256:
+.L4101:
+ add sp, sp, #36
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L4107:
+ ldr r2, [r3, #1244]
+ ldr fp, [r3, #1236]
+ ldrb r5, [r3, #1273] @ zero_extendqisi2
+ ldrb r3, [r3, #1272] @ zero_extendqisi2
+ str r2, [sp, #8]
+ str r3, [sp, #16]
+ ldrb r3, [r9, #2797] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L4109
+ ldr r6, .L4167+16
+ ldr r3, .L4167+4
+ ldrb r4, [r6, #-88] @ zero_extendqisi2
+ add r4, r4, r4, lsl #1
+ add r4, r3, r4, lsl #4
+.L4110:
+ ldrb r3, [r4] @ zero_extendqisi2
+ cmp r3, #255
+ bne .L4111
ldr r3, [r4, #20]
- cmp r3, r9
- bne .L4197
- ldr r3, [sp, #12]
- mov r1, r5, asl #9
+ cmp r7, r3
+ bne .L4109
+ ldr r3, [sp, #16]
+ lsl r5, r5, #9
ldr r0, [r4, #4]
- mov r2, r3, asl #9
- add r0, r0, r1
- add r1, fp, r1
+ add r1, fp, r5
+ lsl r2, r3, #9
+ add r0, r0, r5
bl ftl_memcpy
- ldrb r3, [r8, #2772] @ zero_extendqisi2
- ldr r1, [r4, #12]
+ ldrb r3, [r6, #-2546] @ zero_extendqisi2
mov r0, #2
- sub r3, r3, #2
ldr r2, [r4, #4]
+ ldr r1, [r4, #12]
+ sub r3, r3, #2
+ add r2, r2, r3, lsl #9
add r1, r1, #16
- add r2, r2, r3, asl #9
bl ftl_debug_info_fill
ldr r0, [sp, #20]
bl zbuf_free
- b .L4191
-.L4197:
- mov r0, r9
+ b .L4102
+.L4111:
+ ldr r2, .L4167+4
+ add r3, r3, r3, lsl #1
+ add r4, r2, r3, lsl #4
+ b .L4110
+.L4109:
+ mov r0, r7
bl lpa_hash_get_ppa
cmn r0, #1
str r0, [sp, #28]
- bne .L4201
- mov r0, r9
- add r1, sp, #28
+ bne .L4113
mov r2, #0
+ add r1, sp, #28
+ mov r0, r7
bl pm_log2phys
-.L4201:
- ldr r6, [r8, #1092]
+.L4113:
+ ldr r6, [r9, #1096]
mov r1, #0
- ldr r3, .L4258+4
+ ldr r3, .L4167+4
mov r4, r1
ldr ip, [sp, #28]
add r6, r6, #16
add r0, r3, #1536
-.L4203:
+.L4115:
ldr r2, [r3, #20]
- cmp r2, r9
- bne .L4202
+ cmp r7, r2
+ bne .L4114
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]
-.L4202:
+ bicne r2, r2, #8
+ strbne r2, [r3, #2]
+.L4114:
add r3, r3, #48
cmp r3, r0
- bne .L4203
- ldrb r3, [r8, #2772] @ zero_extendqisi2
+ bne .L4115
+ ldr r3, .L4167+16
cmp r1, #0
- ldr r2, [sp, #12]
+ ldr r2, [sp, #16]
strne ip, [sp, #28]
+ ldrb r3, [r3, #-2546] @ zero_extendqisi2
cmp r2, r3
- bcs .L4230
+ bcs .L4142
cmp r4, #0
- beq .L4206
+ beq .L4118
cmp r5, #0
- beq .L4207
- mov r0, fp
+ beq .L4119
+ lsl r2, r5, #9
mov r1, r4
- mov r2, r5, asl #9
+ mov r0, fp
bl ftl_memcpy
- ldr r6, [r7, #1092]
+ ldr r6, [r9, #1096]
add r6, r6, #48
-.L4207:
- ldr r3, [sp, #12]
- ldrb r10, [r8, #2772] @ zero_extendqisi2
- add r2, r5, r3
- cmp r2, r10
- ldrcs r6, [r7, #1092]
+.L4119:
+ ldr r3, [sp, #16]
+ add r5, r5, r3
+ ldr r3, .L4167+16
+ ldrb r2, [r3, #-2546] @ zero_extendqisi2
+ cmp r5, r2
+ ldrcs r6, [r9, #1096]
addcs r6, r6, #16
- bcs .L4230
- mov r1, r2, asl #9
- rsb r2, r2, r10
- add r0, fp, r1
- add r1, r4, r1
- mov r2, r2, asl #9
+ bcs .L4142
+ lsl r0, r5, #9
+ sub r2, r2, r5
+ lsl r2, r2, #9
+ add r1, r4, r0
+ add r0, fp, r0
bl ftl_memcpy
- b .L4230
-.L4206:
+.L4142:
+ mov r10, #0
+ b .L4117
+.L4118:
ldr r3, [sp, #28]
cmn r3, #1
- beq .L4209
+ beq .L4121
mov r0, #1
bl buf_alloc
- mov r1, #1
ldr r3, [sp, #28]
mov r4, r0
- str r9, [r0, #20]
+ str r7, [r0, #20]
+ mov r1, #1
str r3, [r0, #24]
bl sblk_read_page
ldr r3, [r4, #12]
ldr r2, [r3, #4]
ldr r10, [r3, #12]
- cmp r2, r9
+ cmp r7, r2
add r10, r10, #1
- bne .L4210
+ bne .L4122
ldr r2, [r4, #36]
cmn r2, #1
- bne .L4211
-.L4210:
- ldr ip, [r4, #24]
- mvn r0, #0
- ldrb r2, [r8, #1189] @ zero_extendqisi2
- ldrb lr, [r8, #2772] @ zero_extendqisi2
+ bne .L4123
+.L4122:
+ ldrb r2, [r9, #1153] @ zero_extendqisi2
+ mvn ip, #0
+ ldr lr, [r4, #24]
rsb r1, r2, #24
- mvn r2, r0, asl r2
- and r0, r2, ip, lsr r1
- str lr, [sp]
- bic r1, ip, r2, asl r1
+ mvn ip, ip, lsl r2
+ ldr r2, .L4167+16
+ and r0, ip, lr, lsr r1
+ bic r1, lr, ip, lsl r1
+ ldrb r2, [r2, #-2546] @ zero_extendqisi2
uxtb r0, r0
+ str r2, [sp]
ldr r2, [r4, #4]
bl flash_read_page_en
str r0, [r4, #36]
-.L4211:
+.L4123:
ldr r3, [r4, #12]
ldr r3, [r3, #4]
- cmp r3, r9
- bne .L4212
+ cmp r7, r3
+ bne .L4124
ldr r3, [r4, #36]
cmn r3, #1
- bne .L4213
-.L4212:
- ldr r2, [r7, #1092]
- ldr r0, .L4258+20
+ bne .L4125
+.L4124:
+ ldr r2, [r8, #1096]
+ ldr r0, .L4167+20
ldr r3, [r2, #552]
add r3, r3, #1
str r3, [r2, #552]
@@ -25429,155 +25758,127 @@
ldrb r1, [r4, #1] @ zero_extendqisi2
ldr r2, [sp, #28]
str r3, [sp]
- mov r3, r9
+ mov r3, r7
bl printk
- mov r2, #4
- ldr r0, .L4258+24
- mov r3, r2
+ mov r3, #4
ldr r1, [r4, #12]
+ mov r2, r3
+ ldr r0, .L4167+24
bl rknand_print_hex
-.L4213:
+.L4125:
ldr r3, [r4, #12]
ldr r3, [r3, #4]
- cmp r3, r9
- bne .L4214
+ cmp r7, r3
+ bne .L4126
ldr r3, [r4, #36]
cmn r3, #1
- bne .L4215
-.L4214:
- ldr r1, .L4258+8
- movw r2, #698
- ldr r0, .L4258+12
+ bne .L4127
+.L4126:
+ movw r2, #699
+ ldr r1, .L4167+8
+ ldr r0, .L4167+12
bl printk
bl dump_stack
-.L4215:
+.L4127:
cmp r5, #0
- beq .L4216
+ beq .L4128
ldr r3, [sp, #28]
- mov r2, r5, asl #9
+ lsl r2, r5, #9
cmn r3, #1
- beq .L4217
- mov r0, fp
+ beq .L4129
ldr r1, [r4, #4]
- bl ftl_memcpy
- b .L4218
-.L4209:
- cmp r5, #0
- moveq r4, r5
- moveq r10, r5
- beq .L4216
- mov r2, r5, asl #9
- mov r10, r4
-.L4217:
mov r0, fp
- mov r1, #0
- bl ftl_memset
-.L4218:
- ldr r6, [r7, #1092]
+ bl ftl_memcpy
+.L4130:
+ ldr r6, [r8, #1096]
add r6, r6, #48
-.L4216:
- ldr r3, [sp, #12]
- ldrb r2, [r7, #2772] @ zero_extendqisi2
+.L4128:
+ ldr r3, [sp, #16]
add r5, r5, r3
+ ldr r3, .L4167+16
+ ldrb r2, [r3, #-2546] @ zero_extendqisi2
cmp r5, r2
- bcc .L4219
- ldrhi r6, [r7, #1092]
+ bcc .L4131
+ ldrhi r6, [r8, #1096]
addhi r6, r6, #16
- b .L4220
-.L4219:
- ldr r3, [sp, #28]
- rsb r2, r5, r2
- mov r5, r5, asl #9
- cmn r3, #1
- mov r2, r2, asl #9
- beq .L4221
- ldr r1, [r4, #4]
- add r0, fp, r5
- add r1, r1, r5
- bl ftl_memcpy
- b .L4220
-.L4221:
- add r0, fp, r5
- mov r1, #0
- bl ftl_memset
-.L4220:
+.L4132:
cmp r4, #0
- beq .L4205
+ beq .L4117
ldrb r3, [r4, #2] @ zero_extendqisi2
mov r1, r4
- ldr r0, .L4258+28
+ ldr r0, .L4167+28
bic r3, r3, #8
strb r3, [r4, #2]
bl buf_remove_buf
mov r0, r4
bl zbuf_free
- b .L4205
-.L4230:
- mov r10, #0
-.L4205:
+.L4117:
ldrh r3, [r6, #6]
cmp r3, #0
- bne .L4222
+ bne .L4134
bl ftl_flush
mov r0, r6
bl ftl_alloc_new_data_sblk
-.L4222:
+.L4134:
mov r0, r6
mov r4, #48
bl ftl_get_new_free_page
- ldr r3, [sp, #16]
- str r0, [sp, #12]
+ ldr r3, [sp, #12]
+ str r0, [sp, #16]
mov r0, #2
mul r4, r4, r3
ldr r3, [sp, #8]
- add r5, r8, r4
mov r1, r3
- ldr r2, [r5, #1252]
+ add r5, r9, r4
+ ldr r2, [r5, #1248]
str r10, [r3, #12]
- stmia r3, {r2, r9}
+ stm r3, {r2, r7}
ldr r2, [sp, #28]
- ldrb ip, [r8, #2772] @ zero_extendqisi2
str r2, [r3, #8]
mov r2, #0
+ ldr r3, .L4167+16
str r2, [r1, #16]!
- sub r2, ip, #2
- add r2, fp, r2, asl #9
+ ldrb r2, [r3, #-2546] @ zero_extendqisi2
+ sub r2, r2, #2
+ add r2, fp, r2, lsl #9
bl ftl_debug_info_fill
- ldr r3, [sp, #12]
+ ldr r3, [sp, #16]
ldr r1, [sp, #20]
- str r3, [r5, #1260]
+ ldr r0, .L4167+32
+ str r3, [r5, #1256]
ldr r3, [sp, #28]
- str r3, [r5, #1264]
+ str r3, [r5, #1260]
mvn r3, #0
- strb r3, [r5, #1236]
- ldrb r3, [r5, #1238] @ zero_extendqisi2
+ strb r3, [r5, #1232]
+ ldrb r3, [r5, #1234] @ zero_extendqisi2
orr r3, r3, #10
- strb r3, [r5, #1238]
- ldr r3, .L4258+4
- ldrh r10, [r6, #10]
- ldrh r9, [r6, #12]
+ strb r3, [r5, #1234]
+ ldr r3, .L4167+4
+ ldrh r2, [r6, #12]
add r4, r3, r4
- add r9, r10, r9
- sub r9, r9, #1
- strh r9, [r4, #32] @ movhi
- ldr r4, .L4258+16
- sub r0, r4, #96
+ ldrh r3, [r6, #10]
+ add r3, r3, r2
+ sub r3, r3, #1
+ strh r3, [r4, #32] @ movhi
bl buf_add_tail
- ldrb r3, [r8, #2801] @ zero_extendqisi2
+ ldrb r3, [r9, #2797] @ zero_extendqisi2
+ ldr r4, .L4167
add r3, r3, #1
- strb r3, [r8, #2801]
+ strb r3, [r9, #2797]
bl timer_get_time
- ldrb r3, [r8, #2801] @ zero_extendqisi2
+ ldr r3, .L4167+16
ldrh r2, [r6, #6]
+ str r0, [r3, #-84]
+ ldrb r3, [r9, #2797] @ zero_extendqisi2
cmp r3, #2
- str r0, [r4, #-92]
- bhi .L4223
+ bhi .L4135
cmp r2, #1
- bne .L4193
-.L4223:
+ bne .L4105
+.L4135:
+ ldr lr, .L4167+16
+ mov r5, #48
ldrb r1, [r6, #5] @ zero_extendqisi2
- mov lr, #48
- ldrb r0, [r4, #-96] @ zero_extendqisi2
+ ldrb r0, [lr, #-88] @ zero_extendqisi2
cmp r1, #0
mov r1, #0
moveq ip, #1
@@ -25585,1853 +25886,1822 @@
cmp r2, #1
mov r2, r0
moveq ip, r3
-.L4227:
+.L4139:
cmp r1, ip
- mlane r2, lr, r2, r7
- addne r1, r1, #1
- ldrneb r2, [r2, #1236] @ zero_extendqisi2
- bne .L4227
-.L4257:
- strb r2, [r4, #-96]
+ bne .L4140
uxtb r1, r1
- ldr r2, .L4258+4
- rsb r3, r1, r3
- strb r3, [r8, #2801]
- mov r3, #48
- mla r0, r3, r0, r2
+ add r0, r0, r0, lsl #1
+ strb r2, [lr, #-88]
+ sub r3, r3, r1
+ strb r3, [r4, #2797]
+ ldr r3, .L4167+4
+ add r0, r3, r0, lsl #4
bl sblk_prog_page
ldrh r3, [r6, #6]
cmp r3, #1
- bne .L4193
+ bne .L4105
bl sblk_wait_write_queue_completed
bl ftl_write_completed
mov r0, r6
bl ftl_write_last_log_page
mov r0, r6
bl ftl_alloc_new_data_sblk
-.L4193:
- ldrb r4, [r7, #2800] @ zero_extendqisi2
- cmp r4, #0
- bne .L4191
+.L4105:
+ ldrb r3, [r4, #2796] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L4102
+.L4104:
bl ftl_write_completed
- mov r0, r4
-.L4254:
- add sp, sp, #36
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L4259:
+ mov r0, #0
+ b .L4101
+.L4131:
+ ldr r3, [sp, #28]
+ sub r2, r2, r5
+ lsl r2, r2, #9
+ lsl r0, r5, #9
+ cmn r3, #1
+ beq .L4133
+ ldr r1, [r4, #4]
+ add r1, r1, r0
+ add r0, fp, r0
+ bl ftl_memcpy
+ b .L4132
+.L4133:
+ mov r1, #0
+ add r0, fp, r0
+ bl ftl_memset
+ b .L4132
+.L4140:
+ mla r2, r5, r2, r4
+ add r1, r1, #1
+ ldrb r2, [r2, #1232] @ zero_extendqisi2
+ b .L4139
+.L4121:
+ cmp r5, #0
+ moveq r10, r5
+ moveq r4, r5
+ beq .L4128
+ lsl r2, r5, #9
+ mov r10, r4
+.L4129:
+ mov r1, #0
+ mov r0, fp
+ bl ftl_memset
+ b .L4130
+.L4168:
.align 2
-.L4258:
+.L4167:
.word .LANCHOR0
- .word .LANCHOR0+1236
- .word .LANCHOR1+2716
+ .word .LANCHOR0+1232
+ .word .LANCHOR1+2492
.word .LC0
.word .LANCHOR3
- .word .LC297
- .word .LC241
- .word .LANCHOR0+2776
+ .word .LC296
+ .word .LC240
+ .word .LANCHOR0+2771
+ .word .LANCHOR3-88
.fnend
.size ftl_write_commit, .-ftl_write_commit
.align 2
.global gc_do_copy_back
+ .syntax unified
+ .arm
+ .fpu softvfp
.type gc_do_copy_back, %function
gc_do_copy_back:
.fnstart
- @ args = 0, pretend = 0, frame = 64
+ @ args = 0, pretend = 0, frame = 72
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- .pad #76
- sub sp, sp, #76
- ldr r8, .L4408
- ldr r5, .L4408+4
- ldrb r0, [r8, #-3115] @ zero_extendqisi2
- ldr r3, [r5, #1092]
+ .pad #84
+ sub sp, sp, #84
+ ldr r7, .L4307
+ ldrb r0, [r7, #-3119] @ zero_extendqisi2
cmp r0, #0
- str r3, [sp, #12]
- bne .L4261
+ bne .L4170
bl buf_alloc
subs r4, r0, #0
- beq .L4260
- ldr r7, .L4408+8
- ldrh r6, [r7, #22]
- mov r0, r6
- add r6, r6, #1
+ beq .L4169
+ ldr r5, .L4307+4
+ ldrh r2, [r5, #22]
+ mov r0, r2
bl gc_get_src_ppa_from_index
mov r1, #1
- strh r6, [r7, #22] @ movhi
+ add r2, r2, #1
str r0, [r4, #24]
- mov r9, r0
+ mov r6, r0
mov r0, r4
+ strh r2, [r5, #22] @ movhi
bl sblk_read_page
ldr r3, [r4, #36]
cmn r3, #1
cmpne r3, #512
- bne .L4263
- ldr r1, .L4408+12
+ bne .L4172
movw r2, #1032
- ldr r0, .L4408+16
+ ldr r1, .L4307+8
+ ldr r0, .L4307+12
bl printk
bl dump_stack
-.L4263:
+.L4172:
ldr r3, [r4, #12]
- ldr r6, [r3, #4]
- mov r0, r6
+ ldr r8, [r3, #4]
+ mov r0, r8
bl lpa_hash_get_ppa
cmn r0, #1
- str r0, [sp, #48]
- bne .L4264
- mov r0, r6
- add r1, sp, #48
+ str r0, [sp, #56]
+ bne .L4173
mov r2, #0
+ add r1, sp, #56
+ mov r0, r8
bl pm_log2phys
-.L4264:
- ldr r8, [sp, #48]
- cmp r8, r9
- bne .L4265
- ldr r1, .L4408+20
+.L4173:
+ ldr r9, [sp, #56]
+ cmp r6, r9
+ bne .L4174
+ ldr r2, .L4307+16
mov r3, #0
-.L4268:
- add r2, r1, r3
- ldr r0, [r2, #20]
- cmp r0, r6
- bne .L4266
- ldrb r2, [r2, #2] @ zero_extendqisi2
- tst r2, #2
- beq .L4266
+ sub r10, r2, #1232
+.L4177:
+ add r1, r2, r3
+ ldr r0, [r1, #20]
+ cmp r8, r0
+ bne .L4175
+ ldrb r1, [r1, #2] @ zero_extendqisi2
+ tst r1, #2
+ beq .L4175
mov r0, r4
bl zbuf_free
- ldr r3, .L4408+24
+ ldr r3, .L4307+20
ldr r3, [r3]
tst r3, #256
- beq .L4260
- mov r1, r6
- mov r2, r8
- ldrh r3, [r7, #22]
- ldr r0, .L4408+28
+ beq .L4169
+ ldrh r3, [r5, #22]
+ mov r2, r6
+ mov r1, r8
+ ldr r0, .L4307+24
bl printk
- b .L4260
-.L4266:
+.L4169:
+ add sp, sp, #84
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L4175:
add r3, r3, #48
cmp r3, #1536
- bne .L4268
- ldrb r3, [r5, #2772] @ zero_extendqisi2
+ bne .L4177
+ ldrb r3, [r7, #-2546] @ zero_extendqisi2
mov r2, #0
- str r6, [r4, #20]
+ str r8, [r4, #20]
strb r2, [r4, #41]
strb r3, [r4, #40]
ldr r3, [r4, #12]
ldr r1, [r3]
str r1, [r4, #16]
str r2, [r3, #16]
- ldr r3, .L4408+24
+ ldr r3, .L4307+20
ldr r3, [r3]
tst r3, #256
- beq .L4269
- mov r0, r6
+ beq .L4178
+ mov r0, r8
bl lpa_hash_get_ppa
- mov r1, r6
- str r8, [sp]
+ ldrh r3, [r5, #22]
+ mov r2, r9
+ str r6, [sp]
+ mov r1, r8
+ str r3, [sp, #4]
mov r3, r0
- ldrh r2, [r7, #22]
- ldr r0, .L4408+32
- str r2, [sp, #4]
- mov r2, r8
+ ldr r0, .L4307+28
bl printk
-.L4269:
+.L4178:
mov r0, r4
bl ftl_gc_write_buf
bl ftl_write_commit
- ldr r2, [r5, #2804]
+ ldr r2, [r10, #2800]
ldr r3, [r2, #60]
add r3, r3, #1
str r3, [r2, #60]
- ldrh r3, [r7, #24]
+ ldrh r3, [r5, #24]
add r3, r3, #1
- strh r3, [r7, #24] @ movhi
- b .L4260
-.L4265:
- ldr r3, .L4408+24
+ strh r3, [r5, #24] @ movhi
+ b .L4169
+.L4174:
+ ldr r3, .L4307+20
ldr r3, [r3]
tst r3, #256
- beq .L4271
- mov r0, r6
+ beq .L4179
+ mov r0, r8
bl lpa_hash_get_ppa
- mov r1, r6
- str r9, [sp]
+ ldrh r3, [r5, #22]
+ mov r2, r9
+ str r6, [sp]
+ mov r1, r8
+ str r3, [sp, #4]
mov r3, r0
- ldrh r2, [r7, #22]
- ldr r0, .L4408+32
- str r2, [sp, #4]
- mov r2, r8
+ ldr r0, .L4307+28
bl printk
-.L4271:
+.L4179:
mov r0, r4
bl zbuf_free
- b .L4260
-.L4261:
- ldr r3, [sp, #12]
+ b .L4169
+.L4170:
+ ldr r10, .L4307+32
+ ldr r3, [r10, #1096]
ldrb r9, [r3, #89] @ zero_extendqisi2
- ldrb r3, [r8, #-3123] @ zero_extendqisi2
- uxth fp, r9
- cmp r3, fp
+ str r3, [sp, #12]
+ ldrb r3, [r7, #-3127] @ zero_extendqisi2
+ uxth r8, r9
+ cmp r3, r8
movhi r6, #1
- bhi .L4273
- cmp fp, #2
- movcc r6, fp
+ bhi .L4180
+ cmp r8, #2
+ movcc r6, r8
movcs r6, #2
-.L4273:
- ldrb r4, [r8, #-3124] @ zero_extendqisi2
- ldr r10, .L4408
- cmp r4, #3
- ldr r3, .L4408+8
- bne .L4274
- ldrb r2, [r5, #1196] @ zero_extendqisi2
+.L4180:
+ ldrb r5, [r7, #-3128] @ zero_extendqisi2
+ ldr r3, .L4307+4
+ cmp r5, #3
+ bne .L4181
+ ldrb r2, [r10, #1158] @ zero_extendqisi2
cmp r2, #0
- beq .L4275
+ beq .L4182
movw r2, #2102
mov r1, r9
- ldrh r7, [r3, r2]
- mov r0, r7
+ ldrh fp, [r3, r2]
+ mov r0, fp
bl __aeabi_idiv
- ldrb r3, [r10, #-2536] @ zero_extendqisi2
+ ldrb r3, [r7, #-2542] @ zero_extendqisi2
+ uxth r4, r0
cmp r3, #0
- uxth r5, r0
- beq .L4276
- ldr r3, .L4408+36
- mov r0, r0, asl #1
+ beq .L4183
+ ldr r3, .L4307+36
+ lsl r0, r0, #1
ldrh r3, [r3, r0]
cmp r3, #0
- moveq r4, #1
- movne r4, #2
- b .L4277
-.L4276:
- ldrb r3, [r10, #541] @ zero_extendqisi2
+ moveq r5, #1
+ movne r5, #2
+.L4184:
+ smulbb r8, r8, r4
+ sub r8, fp, r8
+ uxth r3, r8
+ str r3, [sp, #20]
+.L4185:
+ mul r3, r6, r5
+ ldr r9, .L4307+36
+ mov r8, #0
+ str r3, [sp, #16]
+ add r9, r9, r4, lsl #1
+ ldr r3, .L4307+4
+.L4189:
+ ldr r1, [sp, #16]
+ uxth r0, r8
+ mov r2, r0
+ cmp r0, r1
+ bge .L4242
+ ldr r1, .L4307+40
+ add r2, fp, r2
+ ldrh ip, [r1]
+ ldr r1, [sp, #12]
+ ldrb r1, [r1, #89] @ zero_extendqisi2
+ mul r1, r1, ip
+ ldrb ip, [r7, #-11] @ zero_extendqisi2
+ sub r1, r1, ip
+ cmp r2, r1
+ blt .L4190
+ ldrb r1, [r7, #-2542] @ zero_extendqisi2
+ cmp r1, #0
+ beq .L4242
+ ldrh r1, [r9]
+ cmp r1, r4
+ bcc .L4191
+.L4242:
+ mov r3, #1
+ str r3, [sp, #24]
+ b .L4187
+.L4183:
+ ldrb r3, [r7, #-15] @ zero_extendqisi2
cmp r3, #0
- moveq r4, #1
- beq .L4277
- sub r3, r5, #62
+ moveq r5, #1
+ beq .L4184
+ sub r3, r4, #62
cmp r3, #2160
- movcs r4, #2
- bcs .L4277
- mov r1, r4
- mov r0, r5
+ movcs r5, #2
+ bcs .L4184
+ mov r1, r5
+ mov r0, r4
bl __aeabi_uidivmod
uxth r1, r1
cmp r1, #0
- movne r4, #1
- moveq r4, #2
-.L4277:
- smulbb r1, r5, fp
- rsb r1, r1, r7
- uxth r3, r1
- str r3, [sp, #16]
- b .L4280
-.L4275:
- ldrb r2, [r10, #-3116] @ zero_extendqisi2
+ movne r5, #1
+ moveq r5, #2
+ b .L4184
+.L4182:
+ ldrb r2, [r7, #-3120] @ zero_extendqisi2
cmp r2, #0
movw r2, #2102
- ldrh r7, [r3, r2]
- mov r0, r7
- beq .L4279
- add r1, r9, r9, asl #1
+ beq .L4186
+ ldrh fp, [r3, r2]
+ add r1, r9, r9, lsl #1
+ mov r0, fp
bl __aeabi_idiv
- ldr r2, .L4408+40
- mul r9, r9, r0
- uxth r5, r0
- sub r9, r9, r9, asl #2
- add r1, r7, r9
- smull r2, r3, r1, r2
- sub r1, r3, r1, asr #31
- uxth r3, r1
- str r3, [sp, #16]
- ldr r3, .L4408+4
- ldrb r3, [r3, #1197] @ zero_extendqisi2
+ mul r9, r0, r9
+ ldr r2, .L4307+44
+ uxth r4, r0
+ sub r9, r9, r9, lsl #2
+ add r9, r9, fp
+ smull r2, r3, r9, r2
+ sub r9, r3, r9, asr #31
+ uxth r3, r9
+ str r3, [sp, #20]
+ ldrb r3, [r10, #1159] @ zero_extendqisi2
cmp r3, #0
- addne r5, r5, r5, asl #1
- uxthne r5, r5
- b .L4280
-.L4279:
+ addne r4, r4, r4, lsl #1
+ uxthne r4, r4
+ b .L4185
+.L4186:
+ ldrh r10, [r3, r2]
mov r1, r9
+ mov r0, r10
bl __aeabi_idiv
- ldr r2, .L4408+44
- smulbb r1, r0, fp
- mov r3, r0, asl #1
- ldrh r2, [r2, r3]
- rsb r1, r1, r7
- and r3, r2, #7
+ ldr r2, .L4307+48
+ lsl r3, r0, #1
+ smulbb r8, r0, r8
+ ldrh r3, [r2, r3]
+ sub r10, r10, r8
+ lsr r4, r3, #3
+ and r3, r3, #7
+ str r3, [sp, #24]
+ uxth r3, r10
+ mla r9, r9, r4, r3
str r3, [sp, #20]
- mov r5, r2, lsr #3
- uxth r3, r1
- str r3, [sp, #16]
- mla r9, r9, r5, r3
- ldr r3, [sp, #20]
+ ldr r3, [sp, #24]
+ add r9, r9, r9, lsl #1
cmp r3, #1
- add r9, r9, r9, asl #1
- uxth r7, r9
- bne .L4281
- b .L4280
-.L4274:
- ldrb r2, [r10, #-3122] @ zero_extendqisi2
+ uxth fp, r9
+ beq .L4185
+.L4187:
+ mul r3, r6, r5
+ str r3, [sp, #36]
+ lsl r3, r6, #1
+ uxth r3, r3
+ str r3, [sp, #44]
+ ldrh r3, [sp, #44]
+ smulbb r3, r3, r5
+ sub r3, fp, r3
+ uxth r3, r3
+ str r3, [sp, #48]
+ mov r3, #0
+ str r3, [sp, #32]
+ ldr r3, .L4307+36
+ add r3, r3, r4, lsl #1
+ str r3, [sp, #40]
+.L4192:
+ ldrh r9, [sp, #32]
+ ldr r2, [sp, #36]
+ ldr r7, .L4307
+ str r9, [sp, #28]
+ cmp r9, r2
+ blt .L4216
+ ldrb r3, [r7, #-3128] @ zero_extendqisi2
+ cmp r3, #3
+ bne .L4217
+ ldr r3, .L4307+32
+ ldrb r1, [r3, #1158] @ zero_extendqisi2
+ cmp r1, #0
+ movne r3, r2
+ movne r1, #0
+ subne r2, r3, #1
+ bne .L4219
+ ldrb r2, [r7, #-3120] @ zero_extendqisi2
+ ldr r3, [sp, #56]
+ cmp r2, #0
+ strbne r1, [r3, #44]
+ bne .L4305
+ ldr r1, [sp, #24]
+ cmp r1, #1
+ moveq r2, #9
+ beq .L4225
+ ldr r1, [sp, #24]
+ cmp r1, #2
+ moveq r2, #13
+.L4225:
+ strb r2, [r3, #44]
+.L4305:
+ mov r2, r6
+ add r1, sp, #68
+ add r0, sp, #56
+ bl sblk_xlc_prog_pages
+.L4221:
+ ldrb r3, [r7, #-3120] @ zero_extendqisi2
+ ldr r2, .L4307+32
+ cmp r3, #0
+ addne r6, r6, r6, lsl #1
+ uxthne r6, r6
+ bne .L4231
+ ldrb r3, [r7, #-3126] @ zero_extendqisi2
+ cmp r3, #0
+ ldrne r6, [sp, #44]
+ bne .L4231
+ ldrb r3, [r2, #1158] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L4231
+ smulbb r5, r6, r5
+ ldrb r3, [r7, #-2542] @ zero_extendqisi2
+ uxth r5, r5
+ cmp r3, #0
+ moveq r6, r5
+ beq .L4231
+ ldr r1, .L4307+36
+ lsl r3, r4, #1
+ ldrh r3, [r1, r3]
+ cmp r3, r4
+ movcs r6, r5
+.L4231:
+ ldr r1, [r2, #2800]
+ ldr r0, .L4307+4
+ ldr r3, [r1, #52]
+ add r3, r3, r6
+ str r3, [r1, #52]
+ movw r1, #2102
+ ldrh r3, [r0, r1]
+ add r6, r6, r3
+ ldr r3, .L4307+52
+ uxth r6, r6
+ strh r6, [r0, r1] @ movhi
+ ldrh r1, [r3, #-14]
+ ldr r3, [sp, #12]
+ ldrb r3, [r3, #89] @ zero_extendqisi2
+ mul r3, r3, r1
+ cmp r6, r3
+ ldrge r3, [r2, #1096]
+ movge r2, #0
+ strhge r2, [r3, #86] @ movhi
+ bl gc_write_completed
+ b .L4169
+.L4181:
+ ldrb r2, [r7, #-3126] @ zero_extendqisi2
mov r1, r9
cmp r2, #0
movw r2, #2102
- ldrh r7, [r3, r2]
- mov r0, r7
- bne .L4282
+ ldrh fp, [r3, r2]
+ mov r0, fp
+ bne .L4188
bl __aeabi_idiv
- mov r4, #1
- uxth r5, r0
- smulbb r1, r5, fp
- rsb r1, r1, r7
- uxth r3, r1
- str r3, [sp, #16]
- b .L4280
-.L4282:
+ uxth r4, r0
+ mov r5, #1
+ smulbb r8, r8, r4
+ sub r8, fp, r8
+ uxth r3, r8
+ str r3, [sp, #20]
+ b .L4185
+.L4188:
bl __aeabi_idiv
- mov r4, #2
- uxth r5, r0
- smulbb r1, r5, fp
- rsb r1, r1, r7
- uxth r3, r1
- str r3, [sp, #16]
-.L4280:
- mul r3, r6, r4
- ldr r10, .L4408+36
- mov r2, #0
- ldr ip, .L4408
- add r10, r10, r5, asl #1
- ldr r1, .L4408+8
+ uxth r4, r0
+ mov r5, #2
+ smulbb r8, r8, r4
+ sub r8, fp, r8
+ uxth r3, r8
str r3, [sp, #20]
- b .L4283
-.L4403:
- ldrh r0, [r10]
- cmp r0, r5
- bcs .L4341
- tst lr, #1
- beq .L4341
-.L4284:
- ldr fp, [r8, #-168]
- ldr r0, [fp, r3, asl #2]
- cmn r0, #1
- beq .L4402
-.L4287:
- add r2, r2, #1
-.L4283:
- ldr r3, [sp, #20]
- uxth lr, r2
- cmp lr, r3
- bge .L4341
- ldr r0, .L4408+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, #545] @ zero_extendqisi2
- rsb r0, r9, r0
- cmp r3, r0
- blt .L4284
- ldrb r0, [ip, #-2536] @ zero_extendqisi2
- cmp r0, #0
- bne .L4403
-.L4341:
- mov r3, #1
- str r3, [sp, #20]
-.L4281:
- rsb r1, r6, r6, asl #15
- mul r3, r6, r4
- mov r1, r1, asl #1
- smulbb r1, r1, r4
- str r3, [sp, #24]
- add r1, r7, r1
- uxth r3, r1
- ldr r1, .L4408+36
- str r3, [sp, #36]
- mov r3, #0
- str r3, [sp, #28]
- add r3, r1, r5, asl #1
- str r3, [sp, #32]
- b .L4286
-.L4402:
- ldrh r9, [r1, #22]
- ldrh r0, [r1, #20]
- cmp r0, r9
- bls .L4260
- ldrb r0, [ip, #-2536] @ zero_extendqisi2
- cmp r0, #0
- beq .L4288
- ldrh r0, [r10]
- cmp r0, r5
- bcs .L4288
- tst lr, #1
- ldrne r0, [fp, r0, asl #2]
- strne r0, [fp, r3, asl #2]
- bne .L4287
-.L4288:
- mov r0, r9
- str r1, [sp, #36]
- str ip, [sp, #32]
- add r9, r9, #1
- str r2, [sp, #28]
+ b .L4185
+.L4191:
+ tst r0, #1
+ beq .L4242
+.L4190:
+ ldr r10, [r7, #-128]
+ ldr r1, [r10, r2, lsl #2]
+ cmn r1, #1
+ bne .L4193
+ ldrh r1, [r3, #22]
+ ldrh ip, [r3, #20]
+ cmp ip, r1
+ bls .L4169
+ ldrb ip, [r7, #-2542] @ zero_extendqisi2
+ cmp ip, #0
+ beq .L4194
+ ldrh ip, [r9]
+ cmp ip, r4
+ bcs .L4194
+ tst r0, #1
+ ldrne r1, [r10, ip, lsl #2]
+ strne r1, [r10, r2, lsl #2]
+ bne .L4193
+.L4194:
+ mov r0, r1
str r3, [sp, #24]
bl gc_get_src_ppa_from_index
- ldr r3, .L4408+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 .L4287
-.L4312:
- ldr r3, [fp, #-3120]
- add r10, r7, r9
- ldrb r3, [r3, r10] @ zero_extendqisi2
- cmp r3, #255
- beq .L4404
-.L4290:
- ldr r1, .L4408
- add r2, sp, #72
- add r2, r2, r9, asl #2
- ldr r0, .L4408+20
- ldr ip, .L4408+4
- ldr r3, [r1, #-3120]
- ldrb r8, [r3, r10] @ zero_extendqisi2
- mov r3, #48
- mul r3, r3, r8
- add r0, r0, r3
- str r0, [r2, #-24]
- ldrb r2, [sp, #20] @ zero_extendqisi2
- add r3, ip, r3
- strb r2, [r3, #1281]
- mov r2, #2
- strh r2, [r0, #34] @ movhi
- ldrb r2, [r1, #-3124] @ zero_extendqisi2
- cmp r2, #3
- bne .L4303
- ldrb r2, [ip, #1196] @ zero_extendqisi2
- cmp r2, #0
- beq .L4304
- ldrb r1, [r1, #-2536] @ zero_extendqisi2
- and r2, r9, #1
- add r3, r5, r2
- cmp r1, #0
- beq .L4305
- ldr r1, [sp, #32]
- ldrh r1, [r1]
- cmp r1, r5
- movcs r2, #0
- andcc r2, r2, #1
- cmp r2, #0
- movne r3, r1
-.L4305:
- ldr r2, .L4408+4
- mov r1, r4
- mov fp, #48
- mov r0, r9
- str r3, [sp, #40]
- mla fp, fp, r8, r2
- bl __aeabi_uidiv
- ldr r1, .L4408+52
- ldrh r1, [r1]
- ldr r3, [sp, #16]
- uxtah r0, r3, r0
- ldr r3, [sp, #12]
- add r0, r3, r0, asl #1
- ldr r3, [sp, #40]
- ldrh r2, [r0, #96]
- mla r3, r1, r2, r3
- orr r3, r3, #50331648
- str r3, [fp, #1260]
-.L4306:
- mov r3, #48
- mul r8, r3, r8
- ldr r3, .L4408+4
- add r3, r3, r8
- ldr r1, [r3, #1260]
- ldr r3, .L4408+20
- add r8, r3, r8
- ldr r3, .L4408
- ldrh r2, [r8, #32]
- ldr r3, [r3, #-164]
- str r1, [r3, r2, asl #2]
-.L4331:
- ldr r8, .L4408
- ldrb r3, [r8, #-2536] @ zero_extendqisi2
- cmp r3, #0
- bne .L4405
-.L4311:
+ add r1, r1, #1
+ strh r1, [r3, #22] @ movhi
+ str r0, [r10, r2, lsl #2]
+.L4193:
+ add r8, r8, #1
+ b .L4189
+.L4216:
ldr r3, [sp, #28]
- add r3, r3, #1
- str r3, [sp, #28]
-.L4286:
- ldrh r9, [sp, #28]
- ldr r3, [sp, #24]
- ldr fp, .L4408
- cmp r9, r3
- blt .L4312
- b .L4406
-.L4404:
+ add r3, fp, r3
+ str r3, [sp, #16]
+ ldr r2, [sp, #16]
+ ldr r3, [r7, #-3124]
+ ldrb r3, [r3, r2] @ zero_extendqisi2
+ cmp r3, #255
+ bne .L4196
mov r0, #0
bl buf_alloc
- subs r8, r0, #0
- bne .L4291
+ subs r7, r0, #0
+ bne .L4197
bl sblk_wait_write_queue_completed
bl ftl_write_completed
bl gc_write_completed
bl gc_free_temp_buf
- mov r0, r8
+ mov r0, r7
bl buf_alloc
- subs r8, r0, #0
- beq .L4260
-.L4291:
- ldrb r2, [r8, #1] @ zero_extendqisi2
- ldr r3, [fp, #-3120]
- strb r2, [r3, r10]
- ldr r2, .L4408+4
- ldrb r3, [r2, #2835] @ zero_extendqisi2
+ subs r7, r0, #0
+ beq .L4169
+.L4197:
+ ldr r2, .L4307
+ ldrb r1, [r7, #1] @ zero_extendqisi2
+ ldr r0, [sp, #16]
+ ldr r3, [r2, #-3124]
+ strb r1, [r3, r0]
+ ldr r1, .L4307+32
+ ldrb r3, [r1, #2831] @ zero_extendqisi2
add r3, r3, #1
- strb r3, [r2, #2835]
- add r3, r9, r7
- strh r3, [r8, #32] @ movhi
- ldrb r3, [sp, #20] @ zero_extendqisi2
- strb r3, [r8, #45]
- ldr r3, .L4408+48
- ldrh r2, [r3]
+ strb r3, [r1, #2831]
+ add r3, r9, fp
+ strh r3, [r7, #32] @ movhi
+ ldrb r3, [sp, #24] @ zero_extendqisi2
+ strb r3, [r7, #45]
+ sub r3, r2, #3104
+ ldrh r1, [r3, #-14]
ldr r3, [sp, #12]
ldrb r3, [r3, #89] @ zero_extendqisi2
- mul r3, r3, r2
- ldrb r2, [fp, #545] @ zero_extendqisi2
- rsb r3, r2, r3
- cmp r10, r3
- blt .L4292
- ldr r3, .L4408
- ldrb r3, [r3, #-2536] @ zero_extendqisi2
- cmp r3, #0
- beq .L4293
- ldr r3, [sp, #32]
- ldrh r3, [r3]
- cmp r3, r5
- bcs .L4293
- tst r9, #1
- bne .L4292
-.L4293:
- ldr r3, .L4408
- mvn r1, #0
- ldr fp, .L4408+56
- ldr r2, [r3, #-172]
- str r1, [r2, r10, asl #2]
- ldrb r2, [r3, #545] @ zero_extendqisi2
- cmp r2, #2
- bne .L4294
- ldr r2, .L4408+48
- ldr ip, .L4408+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 .L4295
- ldrh r2, [ip]
- ldr r1, [r3, #-172]
- ldr r0, [r8, #4]
- str ip, [sp, #44]
- bl ftl_memcpy
- ldr r3, .L4408+4
- mov r1, #0
- ldr r0, [r8, #12]
- ldrb r2, [r3, #2772] @ zero_extendqisi2
- mov r2, r2, asl #1
- str r3, [sp, #40]
- bl ftl_memset
- ldr r2, [r8, #12]
- str fp, [r2]
- ldr r0, [r8, #4]
- ldr fp, [r8, #12]
- ldr ip, [sp, #44]
- ldrh r1, [ip]
- bl js_hash
- ldr r3, [sp, #40]
- str r0, [fp, #4]
- ldr r2, [r8, #12]
- ldr r3, [r3, #1092]
- ldr r3, [r3, #132]
- str r3, [r2, #8]
- mov r2, #0
- ldr r3, [r8, #12]
- b .L4398
-.L4295:
- ldrb r2, [r3, #-3123] @ zero_extendqisi2
- ldrh r1, [ip]
- ldr r3, [r3, #-172]
- mul r0, r2, r0
- rsb ip, r1, r0, asl #2
- mov r1, r1, lsr #2
- ldr r0, [r8, #4]
- mov r2, ip
- add r1, r3, r1, asl #2
- str ip, [sp, #44]
- bl ftl_memcpy
- ldr r3, .L4408+4
- mov r1, #0
- ldr r0, [r8, #12]
- ldrb r2, [r3, #2772] @ zero_extendqisi2
- mov r2, r2, asl #1
- str r3, [sp, #40]
- bl ftl_memset
- ldr r2, [r8, #12]
- str fp, [r2]
- ldr r0, [r8, #4]
- ldr fp, [r8, #12]
- ldr ip, [sp, #44]
- mov r1, ip
- bl js_hash
- ldr r3, [sp, #40]
- str r0, [fp, #4]
- ldr r2, [r8, #12]
- ldr r3, [r3, #1092]
- ldr r3, [r3, #132]
- str r3, [r2, #8]
- mov r2, #1
- ldr r3, [r8, #12]
-.L4398:
- str r2, [r3, #12]
- b .L4296
-.L4294:
- ldr ip, .L4408+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, #-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, #-3123] @ zero_extendqisi2
- ldr ip, .L4408
mul r3, r3, r1
- ldr r1, .L4408+4
- str ip, [sp, #44]
- ldrb r1, [r1, #2772] @ zero_extendqisi2
- cmp r1, r3, asr #6
- mov r2, r3, asl #2
- ldrlt r1, .L4408+60
- mov r3, r2
- add r0, r0, r3
- ldrlth r1, [r1]
- rsblt r2, r2, r1
- ldr r1, [ip, #-168]
- bl ftl_memcpy
- ldr r3, .L4408+4
- mov r1, #0
- ldr r0, [r8, #12]
- ldrb r2, [r3, #2772] @ zero_extendqisi2
- mov r2, r2, asl #1
- str r3, [sp, #40]
- bl ftl_memset
- ldr r2, [r8, #12]
- str fp, [r2]
- ldr r2, .L4408+48
- ldr r0, [r8, #4]
- ldr fp, [r8, #12]
- ldrh r1, [r2]
- ldr ip, [sp, #44]
- ldrb r2, [ip, #-3123] @ zero_extendqisi2
- mul r1, r2, r1
- mov r1, r1, asl #2
- bl js_hash
+ ldrb r1, [r2, #-11] @ zero_extendqisi2
+ sub r3, r3, r1
+ cmp r0, r3
+ blt .L4198
+ ldrb r3, [r2, #-2542] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L4199
ldr r3, [sp, #40]
- str r0, [fp, #4]
- ldr r2, [r8, #12]
- ldr r3, [r3, #1092]
- ldr r3, [r3, #132]
- str r3, [r2, #8]
- b .L4296
-.L4292:
- ldr fp, .L4408
- mov r0, r8
+ ldrh r3, [r3]
+ cmp r3, r4
+ bcs .L4199
+ tst r9, #1
+ bne .L4198
+.L4199:
+ ldr r8, .L4307
+ mvn r2, #0
+ ldr r1, [sp, #16]
+ ldr r10, .L4307+56
+ ldr r3, [r8, #-132]
+ str r2, [r3, r1, lsl #2]
+ ldrb r3, [r8, #-11] @ zero_extendqisi2
+ cmp r3, #2
+ bne .L4200
+ sub r3, r8, #3104
+ ldr r2, [sp, #16]
+ ldrh r1, [r3, #-14]
+ ldr r3, [sp, #12]
+ ldrb r3, [r3, #89] @ zero_extendqisi2
+ mul r3, r1, r3
+ sub r3, r3, #2
+ cmp r2, r3
+ ldrh r2, [r8, #-14]
+ bne .L4201
+ ldr r1, [r8, #-132]
+ ldr r0, [r7, #4]
+ bl ftl_memcpy
+ ldrb r2, [r8, #-2546] @ zero_extendqisi2
+ mov r1, #0
+ ldr r0, [r7, #12]
+ lsl r2, r2, #1
+ bl ftl_memset
+ ldr r3, [r7, #12]
+ str r10, [r3]
+ ldrh r1, [r8, #-14]
+ ldr r0, [r7, #4]
+ ldr r10, [r7, #12]
+ bl js_hash
+ ldr r2, .L4307+32
+ str r0, [r10, #4]
+ ldr r3, [r7, #12]
+ ldr r2, [r2, #1096]
+ ldr r2, [r2, #132]
+ str r2, [r3, #8]
+ mov r2, #0
+ ldr r3, [r7, #12]
+.L4301:
+ str r2, [r3, #12]
+.L4202:
+ ldr r3, [r7, #12]
+ mov r2, #0
+ str r2, [r3, #16]
+.L4196:
+ ldr r3, .L4307
+ ldr r1, [sp, #16]
+ ldrb lr, [sp, #24] @ zero_extendqisi2
+ ldr r2, [r3, #-3124]
+ ldrb r7, [r2, r1] @ zero_extendqisi2
+ add r2, sp, #80
+ ldr r1, [sp, #28]
+ add r0, r7, r7, lsl #1
+ add ip, r2, r1, lsl #2
+ ldr r2, .L4307+32
+ add r1, r2, #1232
+ add r0, r1, r0, lsl #4
+ str r0, [ip, #-24]
+ mov ip, #48
+ mul ip, ip, r7
+ add r1, r1, ip
+ add r0, r2, ip
+ mov ip, #2
+ strb lr, [r0, #1277]
+ strh ip, [r1, #34] @ movhi
+ ldrb r1, [r3, #-3128] @ zero_extendqisi2
+ cmp r1, #3
+ bne .L4207
+ ldrb r1, [r2, #1158] @ zero_extendqisi2
+ cmp r1, #0
+ beq .L4208
+ ldrb r3, [r3, #-2542] @ zero_extendqisi2
+ and r8, r9, #1
+ add r8, r8, r4
+ cmp r3, #0
+ beq .L4209
+ ldr r3, [sp, #40]
+ ldr r2, [sp, #32]
+ ldrh r3, [r3]
+ cmp r3, r4
+ movcs r2, #0
+ andcc r2, r2, #1
+ cmp r2, #0
+ movne r8, r3
+.L4209:
+ ldr r3, .L4307+32
+ mov r10, #48
+ mov r1, r5
+ mov r0, r9
+ mla r10, r10, r7, r3
+ bl __aeabi_uidiv
+ ldr r3, [sp, #20]
+ ldr r2, .L4307+60
+ uxtah r0, r3, r0
+ ldr r3, [sp, #12]
+ ldrh r2, [r2]
+ add r0, r3, r0, lsl #1
+ ldrh r3, [r0, #96]
+ mla r8, r2, r3, r8
+ orr r8, r8, #50331648
+ str r8, [r10, #1256]
+.L4214:
+ mov r2, #48
+ ldr r3, .L4307+32
+ mul r7, r2, r7
+ add r2, r3, r7
+ add r3, r3, #1232
+ add r3, r3, r7
+ ldr r2, [r2, #1256]
+ ldrh r1, [r3, #32]
+ ldr r3, .L4307
+ ldr r3, [r3, #-124]
+ str r2, [r3, r1, lsl #2]
+ b .L4233
+.L4201:
+ ldrb r3, [r8, #-3127] @ zero_extendqisi2
+ ldr r0, [r8, #-132]
+ mul r3, r1, r3
+ lsr r1, r2, #2
+ add r1, r0, r1, lsl #2
+ ldr r0, [r7, #4]
+ rsb r3, r2, r3, lsl #2
+ mov r2, r3
+ str r3, [sp, #52]
+ bl ftl_memcpy
+ ldrb r2, [r8, #-2546] @ zero_extendqisi2
+ mov r1, #0
+ ldr r0, [r7, #12]
+ lsl r2, r2, #1
+ bl ftl_memset
+ ldr r2, [r7, #12]
+ ldr r3, [sp, #52]
+ str r10, [r2]
+ mov r1, r3
+ ldr r0, [r7, #4]
+ ldr r8, [r7, #12]
+ bl js_hash
+ ldr r2, .L4307+32
+ str r0, [r8, #4]
+ ldr r3, [r7, #12]
+ ldr r2, [r2, #1096]
+ ldr r2, [r2, #132]
+ str r2, [r3, #8]
+ mov r2, #1
+ ldr r3, [r7, #12]
+ b .L4301
+.L4200:
+ ldr r3, .L4307+52
+ ldrb r2, [r8, #-3127] @ zero_extendqisi2
+ ldr r1, [r8, #-132]
+ ldrh r3, [r3, #-14]
+ ldr r0, [r7, #4]
+ mul r2, r2, r3
+ lsl r2, r2, #2
+ bl ftl_memcpy
+ ldr r3, .L4307+52
+ ldrb r1, [r8, #-2546] @ zero_extendqisi2
+ ldr r0, [r7, #4]
+ ldrh r2, [r3, #-14]
+ ldrb r3, [r8, #-3127] @ zero_extendqisi2
+ mul r3, r3, r2
+ cmp r1, r3, asr #6
+ lsl r2, r3, #2
+ ldrhlt r1, [r8, #-14]
+ mov r3, r2
+ ldr r8, .L4307
+ add r0, r0, r3
+ sublt r2, r1, r2
+ ldr r1, [r8, #-128]
+ bl ftl_memcpy
+ ldrb r2, [r8, #-2546] @ zero_extendqisi2
+ mov r1, #0
+ ldr r0, [r7, #12]
+ lsl r2, r2, #1
+ bl ftl_memset
+ ldr r3, [r7, #12]
+ str r10, [r3]
+ sub r3, r8, #3104
+ ldrh r3, [r3, #-14]
+ ldrb r1, [r8, #-3127] @ zero_extendqisi2
+ ldr r0, [r7, #4]
+ ldr r10, [r7, #12]
+ mul r1, r1, r3
+ lsl r1, r1, #2
+ bl js_hash
+ ldr r2, .L4307+32
+ str r0, [r10, #4]
+ ldr r3, [r7, #12]
+ ldr r2, [r2, #1096]
+ ldr r2, [r2, #132]
+.L4302:
+ str r2, [r3, #8]
+ b .L4202
+.L4198:
+ ldr r8, .L4307
mov r1, #1
- ldr r3, [fp, #-168]
- ldr r3, [r3, r10, asl #2]
- str r3, [r8, #24]
+ ldr r2, [sp, #16]
+ mov r0, r7
+ ldr r3, [r8, #-128]
+ ldr r3, [r3, r2, lsl #2]
+ str r3, [r7, #24]
bl sblk_read_page
- ldr r3, [r8, #36]
+ ldr r3, [r7, #36]
cmn r3, #1
cmpne r3, #512
- bne .L4299
- ldr r3, .L4408+64
- ldr r2, [r8, #24]
- ldrb r1, [fp, #-3130] @ zero_extendqisi2
- ldrh r0, [r3]
- ldr r3, .L4408+4
- mov r2, r2, lsr r0
- ldrb r3, [r3, #1189] @ zero_extendqisi2
- rsb r3, r3, #24
- rsb r3, r0, r3
+ bne .L4205
+ ldr r3, .L4307+64
mvn r0, #0
- bic r0, r2, r0, asl r3
+ ldr r2, [r7, #24]
+ ldrh r1, [r3]
+ ldr r3, .L4307+32
+ ldrb r3, [r3, #1153] @ zero_extendqisi2
+ lsr r2, r2, r1
+ rsb r3, r3, #24
+ sub r3, r3, r1
+ ldrb r1, [r8, #-3136] @ zero_extendqisi2
+ bic r0, r2, r0, lsl r3
bl __aeabi_uidiv
mov r1, #0
uxth r0, r0
bl ftl_sblk_dump
- ldr r3, [r8, #36]
+ ldr r3, [r7, #36]
cmn r3, #1
cmpne r3, #512
- ldreq r3, [r8, #12]
- mvneq r2, #0
- streq r2, [r3, #4]
-.L4299:
- ldr r3, [r8, #36]
- cmn r3, #1
+ bne .L4205
+ ldr r3, [r7, #12]
+ mvn r2, #0
+ str r2, [r3, #4]
+ ldr r3, [r7, #36]
+ cmp r3, r2
cmpne r3, #512
- bne .L4301
- ldr r1, .L4408+12
+ bne .L4205
movw r2, #1223
- ldr r0, .L4408+16
+ ldr r1, .L4307+8
+ ldr r0, .L4307+12
bl printk
bl dump_stack
-.L4301:
- ldr r3, [r8, #12]
- ldr r2, .L4408+4
+.L4205:
+ ldr r3, [r7, #12]
+ ldr r2, .L4307+32
ldr r1, [r3, #4]
- ldr r2, [r2, #2784]
+ ldr r2, [r2, #2780]
cmp r1, r2
+ ldr r1, [sp, #16]
mvncs r2, #0
strcs r2, [r3, #4]
- ldr r3, [r8, #12]
+ ldr r3, [r7, #12]
ldr r2, [r3, #4]
- ldr r3, .L4408
- ldr r3, [r3, #-172]
- str r2, [r3, r10, asl #2]
- ldr r3, [r8, #12]
- ldr r2, [r8, #24]
- str r2, [r3, #8]
-.L4296:
- ldr r3, [r8, #12]
- mov r2, #0
- str r2, [r3, #16]
- b .L4290
-.L4304:
- ldrb r2, [ip, #1197] @ zero_extendqisi2
- cmp r2, #0
- ldr r2, .L4408+68
- umull r0, r1, r9, r2
- beq .L4307
- mov r1, r1, lsr #1
- ldr r0, [sp, #16]
+ ldr r3, .L4307
+ ldr r3, [r3, #-132]
+ str r2, [r3, r1, lsl #2]
+ ldr r3, [r7, #12]
+ ldr r2, [r7, #24]
+ b .L4302
+.L4208:
+ ldrb r3, [r2, #1159] @ zero_extendqisi2
+ ldr r1, .L4307+68
+ cmp r3, #0
+ umull r2, r3, r9, r1
+ beq .L4211
+ ldr r2, [sp, #20]
+ lsr r3, r3, #1
ldr ip, [sp, #12]
- uxtah r0, r0, r1
- add r1, r1, r1, asl #1
- rsb r1, r1, r9
- add r0, ip, r0, asl #1
- ldr ip, .L4408+52
- ldrh r0, [r0, #96]
+ uxtah r2, r2, r3
+ add r3, r3, r3, lsl #1
+ add r2, ip, r2, lsl #1
+ ldr ip, .L4307+60
+ sub r3, r9, r3
+ ldrh r2, [r2, #96]
ldrh ip, [ip]
- mla r0, ip, r0, r5
- uxtah r0, r0, r1
- str r0, [r3, #1260]
- b .L4308
-.L4307:
- 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, .L4408+52
- ldrh r1, [r1, #96]
- ldrh r0, [r0]
- mla r1, r0, r1, r5
- str r1, [r3, #1260]
- b .L4308
-.L4303:
- cmp r2, #2
- bne .L4306
- ldrb r2, [r1, #-3122] @ zero_extendqisi2
+ mla r2, ip, r2, r4
+ uxtah r3, r2, r3
+.L4306:
+ str r3, [r0, #1256]
+ mov r0, #48
+ mul r7, r0, r7
+ ldr r3, .L4307+32
+ umull r0, r1, r9, r1
+ add r2, r3, #1232
+ add r2, r2, r7
+ add r7, r3, r7
+ ldrh ip, [r2, #32]
+ ldr r2, .L4307
+ lsr r1, r1, #1
+ ldr r3, [r7, #1256]
+ add r1, r1, r1, lsl #1
+ ldr r2, [r2, #-124]
+ sub r1, r9, r1
+ lsl r1, r1, #24
+ add r1, r1, #16777216
+ orr r1, r1, r3
+ str r1, [r2, ip, lsl #2]
+.L4233:
+ ldr r3, .L4307
+ ldrb r2, [r3, #-2542] @ zero_extendqisi2
cmp r2, #0
- ldr r2, [sp, #16]
- bne .L4310
- ldr r1, [sp, #12]
- add r2, r2, r9
- add r2, r1, r2, asl #1
- ldr r1, .L4408+52
- ldrh r2, [r2, #96]
- ldrh r1, [r1]
- mla r2, r1, r2, r5
- b .L4399
-.L4310:
- ldr r1, [sp, #12]
- add r2, r2, r9, lsr #1
- add r2, r1, r2, asl #1
- ldr r1, .L4408+52
- ldrh r2, [r2, #96]
- ldrh r1, [r1]
- mla r2, r1, r2, r5
- and r1, r9, #1
- add r2, r2, r1
-.L4399:
- orr r2, r2, #33554432
- str r2, [r3, #1260]
- b .L4306
-.L4405:
- ldr r3, [sp, #32]
- ldrh r3, [r3]
- cmp r3, r5
- bcs .L4311
+ beq .L4215
+ ldr r2, [sp, #40]
+ ldrh r2, [r2]
+ cmp r2, r4
+ bcs .L4215
tst r9, #1
- beq .L4311
- ldr r2, [r8, #-3120]
- mvn r3, #0
- ldrh r1, [sp, #36]
- ldr r0, [sp, #36]
- strb r3, [r2, r10]
- add r2, sp, #72
- add r9, r2, r9, asl #2
- ldr r2, [r9, #-24]
- strh r1, [r2, #32] @ movhi
- ldrb r1, [r2, #1] @ zero_extendqisi2
- ldr r2, [r8, #-3120]
- strb r1, [r2, r0]
- ldr r2, [r8, #-168]
- str r3, [r2, r10, asl #2]
- b .L4311
-.L4406:
- ldrb r3, [fp, #-3124] @ zero_extendqisi2
- cmp r3, #3
- bne .L4313
- ldr r3, .L4408+4
- ldrb r1, [r3, #1196] @ zero_extendqisi2
- cmp r1, #0
- ldrne r3, [sp, #24]
- movne r2, #0
- subne r1, r3, #1
- beq .L4407
-.L4315:
- uxth r3, r2
- add r2, r2, #1
- cmp r3, r1
- bge .L4400
- add ip, sp, #72
- add r0, sp, #72
- add ip, ip, r3, asl #2
- add r0, r0, r3, asl #2
- ldr r3, [ip, #-20]
- ldr r0, [r0, #-24]
- ldrb r3, [r3, #1] @ zero_extendqisi2
- strb r3, [r0]
- b .L4315
-.L4407:
- ldrb r2, [fp, #-3116] @ zero_extendqisi2
- ldr r3, [sp, #48]
- cmp r2, #0
- strneb r1, [r3, #44]
- bne .L4401
- ldr r1, [sp, #20]
- cmp r1, #1
- moveq r2, #9
- beq .L4321
- ldr r1, [sp, #20]
- cmp r1, #2
- moveq r2, #13
-.L4321:
- strb r2, [r3, #44]
-.L4401:
- add r1, sp, #60
- mov r2, r6
- add r0, sp, #48
- bl sblk_xlc_prog_pages
- b .L4317
-.L4313:
- ldrb r3, [fp, #-3122] @ zero_extendqisi2
- cmp r3, #0
- beq .L4322
- ldrb r3, [fp, #-3121] @ zero_extendqisi2
- cmp r3, #0
- bne .L4323
-.L4322:
- ldr r3, [sp, #24]
- mov r2, #0
- sub r1, r3, #1
- b .L4324
-.L4323:
- mov r1, r6
- add r0, sp, #48
- bl sblk_3d_mlc_prog_pages
- b .L4317
-.L4324:
- uxth r3, r2
- add r2, r2, #1
- cmp r3, r1
- bge .L4400
- add ip, sp, #72
- add r0, sp, #72
- add ip, ip, r3, asl #2
- add r0, r0, r3, asl #2
- ldr r3, [ip, #-20]
- ldr r0, [r0, #-24]
- ldrb r3, [r3, #1] @ zero_extendqisi2
- strb r3, [r0]
- b .L4324
-.L4400:
- add r3, sp, #72
+ beq .L4215
+ ldr r1, [r3, #-3124]
mvn r2, #0
- add r1, r3, r1, asl #2
- ldr r3, [r1, #-24]
- smulbb r1, r4, r6
+ ldr r0, [sp, #16]
+ ldr ip, [sp, #48]
+ strb r2, [r1, r0]
+ add r1, sp, #80
+ ldr r0, [sp, #28]
+ add r1, r1, r0, lsl #2
+ ldrh r0, [sp, #48]
+ ldr r1, [r1, #-24]
+ strh r0, [r1, #32] @ movhi
+ ldrb r0, [r1, #1] @ zero_extendqisi2
+ ldr r1, [r3, #-3124]
+ strb r0, [r1, ip]
+ ldr r1, [sp, #16]
+ ldr r3, [r3, #-128]
+ str r2, [r3, r1, lsl #2]
+.L4215:
+ ldr r3, [sp, #32]
+ add r3, r3, #1
+ str r3, [sp, #32]
+ b .L4192
+.L4211:
+ ldr r2, [sp, #20]
+ ubfx r3, r3, #1, #16
+ add r3, r2, r3
+ ldr r2, [sp, #12]
+ add r3, r2, r3, lsl #1
+ ldr r2, .L4307+60
+ ldrh r3, [r3, #96]
+ ldrh r2, [r2]
+ mla r3, r2, r3, r4
+ b .L4306
+.L4207:
+ cmp r1, #2
+ bne .L4214
+ ldrb r3, [r3, #-3126] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L4213
+ ldr r2, [sp, #20]
+ ldr r3, [sp, #28]
+ add r3, r3, r2
+ ldr r2, [sp, #12]
+ add r3, r2, r3, lsl #1
+ ldr r2, .L4307+60
+ ldrh r3, [r3, #96]
+ ldrh r2, [r2]
+ mla r3, r2, r3, r4
+.L4303:
+ orr r3, r3, #33554432
+ str r3, [r0, #1256]
+ b .L4214
+.L4213:
+ ldr r3, [sp, #20]
+ ldr r2, [sp, #12]
+ add r3, r3, r9, lsr #1
+ add r3, r2, r3, lsl #1
+ ldr r2, .L4307+60
+ ldrh r3, [r3, #96]
+ ldrh r2, [r2]
+ mla r3, r2, r3, r4
+ and r2, r9, #1
+ add r3, r3, r2
+ b .L4303
+.L4220:
+ add r0, sp, #80
+ add ip, sp, #80
+ add r0, r0, r3, lsl #2
+ add r3, ip, r3, lsl #2
+ ldr r3, [r3, #-20]
+ ldr r0, [r0, #-24]
+ ldrb r3, [r3, #1] @ zero_extendqisi2
+ strb r3, [r0]
+.L4219:
+ uxth r3, r1
+ add r1, r1, #1
+ cmp r3, r2
+ blt .L4220
+ add r3, sp, #80
+ add r2, r3, r2, lsl #2
+ ldr r3, [r2, #-24]
+.L4304:
+ smulbb r1, r6, r5
+ mvn r2, #0
strb r2, [r3]
- ldr r0, [sp, #48]
+ ldr r0, [sp, #56]
uxtb r1, r1
bl sblk_prog_page
-.L4317:
- ldrb r3, [fp, #-3116] @ zero_extendqisi2
- ldr r2, .L4408
+ b .L4221
+.L4217:
+ ldrb r3, [r7, #-3126] @ zero_extendqisi2
cmp r3, #0
- ldr r3, .L4408+4
- addne r4, r6, r6, asl #1
- bne .L4327
- ldrb r1, [r2, #-3122] @ zero_extendqisi2
- cmp r1, #0
- movne r4, r6, asl #1
- bne .L4327
- ldrb r1, [r3, #1196] @ zero_extendqisi2
- cmp r1, #0
- moveq r4, r6
- beq .L4327
- ldrb r2, [r2, #-2536] @ zero_extendqisi2
- mul r4, r4, r6
- cmp r2, #0
- beq .L4327
- ldr r1, .L4408+36
- mov r2, r5, asl #1
- ldrh r2, [r1, r2]
- cmp r2, r5
- movcc r4, r6
-.L4327:
- ldr r2, [r3, #2804]
- ldr r3, [r2, #52]
- add r3, r3, r4
- str r3, [r2, #52]
- ldr r2, .L4408+8
- movw r3, #2102
- ldrh r1, [r2, r3]
- add r4, r4, r1
- uxth r4, r4
- strh r4, [r2, r3] @ movhi
- ldr r3, .L4408+72
- ldrh r2, [r3, #-10]
- ldr r3, [sp, #12]
- ldrb r3, [r3, #89] @ zero_extendqisi2
- mul r3, r3, r2
- cmp r4, r3
- ldrge r3, .L4408+4
- movge r2, #0
- ldrge r3, [r3, #1092]
- strgeh r2, [r3, #86] @ movhi
- bl gc_write_completed
- b .L4260
+ beq .L4226
+ ldrb r3, [r7, #-3125] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L4227
+.L4226:
+ ldr r2, [sp, #36]
+ sub r1, r2, #1
+.L4228:
+ uxth r2, r3
+ add r3, r3, #1
+ cmp r2, r1
+ blt .L4229
+ add r3, sp, #80
+ add r1, r3, r1, lsl #2
+ ldr r3, [r1, #-24]
+ b .L4304
+.L4227:
+ mov r1, r6
+ add r0, sp, #56
+ bl sblk_3d_mlc_prog_pages
+ b .L4221
+.L4229:
+ add r0, sp, #80
+ add ip, sp, #80
+ add r0, r0, r2, lsl #2
+ add r2, ip, r2, lsl #2
+ ldr r2, [r2, #-20]
+ ldr r0, [r0, #-24]
+ ldrb r2, [r2, #1] @ zero_extendqisi2
+ strb r2, [r0]
+ b .L4228
.L4308:
- mov r0, #48
- ldr r3, .L4408+20
- mul r0, r0, r8
- ldr ip, .L4408+4
- add r3, r3, r0
- add r0, ip, r0
- ldrh r1, [r3, #32]
- ldr r3, .L4408
- ldr r0, [r0, #1260]
- ldr lr, [r3, #-164]
- umull r2, r3, r9, r2
- mov r2, r3, lsr #1
- add r2, r2, r2, asl #1
- rsb r2, r2, r9
- mov r2, r2, asl #24
- add r2, r2, #16777216
- orr r2, r2, r0
- str r2, [lr, r1, asl #2]
- b .L4331
-.L4260:
- add sp, sp, #76
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L4409:
.align 2
-.L4408:
+.L4307:
.word .LANCHOR3
- .word .LANCHOR0
- .word .LANCHOR0+2828
- .word .LANCHOR1+2736
+ .word .LANCHOR0+2824
+ .word .LANCHOR1+2509
.word .LC0
- .word .LANCHOR0+1236
+ .word .LANCHOR0+1232
.word .LANCHOR2
+ .word .LC297
.word .LC298
- .word .LC299
- .word .LANCHOR2+2120
+ .word .LANCHOR0
+ .word .LANCHOR2+2114
+ .word .LANCHOR3-3118
.word 1431655766
- .word .LANCHOR2+3656
- .word .LANCHOR3-3114
- .word .LANCHOR3-3066
- .word -178307901
- .word .LANCHOR3+542
- .word .LANCHOR3-3132
- .word -1431655765
+ .word .LANCHOR2+3650
.word .LANCHOR3-3104
+ .word -178307901
+ .word .LANCHOR3-3074
+ .word .LANCHOR3-3138
+ .word -1431655765
.fnend
.size gc_do_copy_back, .-gc_do_copy_back
.align 2
.global zftl_do_gc
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_do_gc, %function
zftl_do_gc:
.fnstart
- @ args = 0, pretend = 0, frame = 16
+ @ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- movw r3, #2792
- ldr r4, .L4635+60
- cmp r0, #1
- .pad #44
- sub sp, sp, #44
- mov fp, r0
- ldr r5, .L4635+32
- ldrh r9, [r4, r3]
movw r3, #2788
- ldrh r7, [r4, r3]
- movw r3, #2790
- ldr r6, [r4, #1092]
- add r7, r9, r7
+ ldr r4, .L4535
+ cmp r0, #1
+ .pad #36
+ sub sp, sp, #36
+ mov r10, r0
+ ldr r5, .L4535+4
+ add r9, r4, #2784
ldrh r8, [r4, r3]
- uxth r7, r7
- beq .L4411
-.L4422:
- ldrb r3, [r5, #-182] @ zero_extendqisi2
+ ldrh r6, [r9]
+ movw r3, #2786
+ ldr r7, [r4, #1096]
+ ldrh fp, [r4, r3]
+ add r6, r8, r6
+ uxth r6, r6
+ beq .L4310
+.L4322:
+ ldrb r3, [r5, #-144] @ zero_extendqisi2
cmp r3, #6
ldrls pc, [pc, r3, asl #2]
- b .L4536
-.L4414:
- .word .L4413
- .word .L4415
- .word .L4416
- .word .L4417
- .word .L4418
- .word .L4537
- .word .L4420
-.L4411:
- ldr r10, [r5, #548]
- cmp r10, #0
- bne .L4421
- ldr r3, [r5, #552]
+ b .L4435
+.L4313:
+ .word .L4312
+ .word .L4314
+ .word .L4315
+ .word .L4316
+ .word .L4317
+ .word .L4318
+ .word .L4319
+.L4318:
+ ldr r8, .L4535+40
+ mov r7, #0
+.L4320:
+ bl gc_check_data_one_wl
+ subs r9, r0, #0
+ beq .L4431
+ ldr r3, [r4, #1096]
+ mov r6, #0
+ strh r6, [r8, #52] @ movhi
+ ldrh r0, [r3, #80]
+ bl ftl_free_sblk
+ ldr r2, [r4, #1096]
+ mvn r3, #0
+ ldr r1, [r4, #2800]
+ ldr r0, [r4, #2832]
+ strh r3, [r2, #80] @ movhi
+ strh r3, [r1, #126] @ movhi
+ strh r3, [r2, #130] @ movhi
+ bl zbuf_free
+ str r6, [r4, #2832]
+ strb r6, [r5, #-144]
+ b .L4532
+.L4310:
+ ldr r3, [r5, #-8]
cmp r3, #0
- beq .L4422
-.L4421:
- ldr r3, .L4635+32
- sub r2, r3, #3072
- ldrh r2, [r2, #-14]
- cmp r7, r2, lsr #2
- bls .L4422
- movw r2, #2808
+ bne .L4321
+ ldr r2, [r5, #-4]
+ cmp r2, #0
+ beq .L4322
+.L4321:
+ ldr r2, .L4535+60
+ ldrh r2, [r2, #-4]
+ cmp r6, r2, lsr #2
+ bls .L4322
+ movw r2, #2804
ldrh r2, [r4, r2]
- cmp r2, r7
- bcs .L4422
- str r3, [sp, #28]
+ cmp r2, r6
+ bcs .L4322
+ str r3, [sp, #24]
bl timer_get_time
- add r10, r10, #20
- ldr r3, [sp, #28]
- cmp r10, r0
- ldr r10, [r5, #552]
- movcc r2, #0
- strcc r2, [r3, #548]
+ ldr r3, [sp, #24]
+ add r3, r3, #20
+ cmp r3, r0
+ movcc r3, #0
+ strcc r3, [r5, #-8]
+ ldr r3, [r5, #-4]
+ add r3, r3, #20
+ str r3, [sp, #24]
bl timer_get_time
- add r10, r10, #20
- cmp r10, r0
- ldrcc r3, .L4635+32
- movcc r2, #0
- strcc r2, [r3, #552]
- ldr r3, [r4, #1092]
+ ldr r3, [sp, #24]
+ cmp r3, r0
+ movcc r3, #0
+ strcc r3, [r5, #-4]
+ ldr r3, [r4, #1096]
ldrh r3, [r3, #124]
cmp r3, #0
- beq .L4536
- b .L4422
-.L4413:
- movw r2, #2794
- movw r3, #2796
+ bne .L4322
+.L4435:
+ mov r7, #16
+ b .L4309
+.L4312:
+ movw r3, #2790
+ ldrh r2, [r7, #80]
+ ldrh r9, [r4, r3]
+ movw r3, #2792
ldrh r3, [r4, r3]
- add r8, r8, r9
- ldrh r10, [r4, r2]
- ldrh r2, [r6, #80]
+ add r8, r8, fp
uxth r8, r8
- add r10, r3, r10
+ add r9, r9, r3
movw r3, #65535
cmp r2, r3
- ldr r9, .L4635+60
- uxth r10, r10
- beq .L4425
- cmp fp, #0
- bne .L4426
- movw r3, #2808
- ldrh r3, [r9, r3]
- cmp r7, r3, asl #1
- bge .L4536
-.L4426:
- ldr fp, .L4635+32
- sub r9, fp, #3088
- sub r0, r9, #12
- ldrh r1, [r9]
+ uxth r9, r9
+ beq .L4325
+ cmp r10, #0
+ bne .L4326
+ movw r3, #2804
+ ldrh r3, [r4, r3]
+ cmp r6, r3, lsl #1
+ bge .L4435
+.L4326:
+ ldr r10, .L4535+60
+ ldrh r1, [r10, #-6]
+ sub r0, r10, #12
add r1, r1, #1
uxth r1, r1
- strh r1, [r9] @ movhi
+ strh r1, [r10, #-6] @ movhi
bl _list_get_gc_head_node
movw r3, #65535
cmp r0, r3
- beq .L4428
- ldr ip, [r4, #1088]
- mov r2, r0, asl #1
- ldr r3, [fp, #-180]
- ldr r1, .L4635+60
- ldrh r2, [ip, r2]
+ beq .L4328
+ ldr r1, [r4, #1092]
+ lsl r2, r0, #1
+ ldr r3, [r5, #-140]
+ ldrh r2, [r1, r2]
+ ldrh r1, [r10, #-8]
add r3, r3, #1
- ldrh ip, [r9, #-8]
- str r3, [fp, #-180]
- cmp ip, r2
- bcs .L4429
- movw ip, #1076
- ldrh ip, [r1, ip]
- cmp r3, ip, lsr #4
- bls .L4428
- movw r3, #2810
- ldrh r3, [r1, r3]
+ str r3, [r5, #-140]
+ cmp r1, r2
+ bcs .L4329
+ movw r1, #1080
+ ldrh r1, [r4, r1]
+ cmp r3, r1, lsr #4
+ bls .L4328
+ movw r3, #2808
+ ldrh r3, [r4, r3]
cmp r3, r2
- bls .L4428
-.L4429:
+ bls .L4328
+.L4329:
+ ldrb r2, [r5, #-3119] @ zero_extendqisi2
mov r1, #0
- ldrb r2, [r5, #-3115] @ zero_extendqisi2
bl gc_add_sblk
- ldr r9, .L4635+32
cmp r0, #0
- beq .L4430
+ beq .L4330
mov r3, #1
- strb r3, [r9, #-182]
+ strb r3, [r5, #-144]
mov r3, #0
- str r3, [r9, #-180]
- b .L4536
-.L4428:
+ str r3, [r5, #-140]
+ b .L4435
+.L4328:
mov r3, #0
- strh r3, [r9] @ movhi
-.L4430:
+ strh r3, [r10, #-6] @ movhi
+.L4330:
cmp r8, #15
movls r9, #2
- bls .L4431
- ldr r2, .L4635
- movw r3, #2798
- ldrh r3, [r4, r3]
- ldrh r2, [r2, #-12]
- cmp r3, r2
- movls r3, #0
- movhi r3, #1
- cmp r10, #0
- movne r10, r3
- orreq r10, r3, #1
- cmp r10, #0
+ bls .L4331
+ movw r3, #2794
+ clz r9, r9
+ ldrh r2, [r4, r3]
+ lsr r9, r9, #5
+ ldrh r3, [r10, #-2]
+ cmp r2, r3
+ orrhi r9, r9, #1
+ cmp r9, #0
movne r9, #2
moveq r9, #1
-.L4431:
- ldr r3, .L4635+4
+.L4331:
+ ldr r3, .L4535+8
ldr r3, [r3]
tst r3, #256
- beq .L4432
- ldr r3, [r4, #1092]
- ldrb r2, [r5, #-3115] @ zero_extendqisi2
- str r8, [sp]
- ldrh r1, [r3, #124]
- ldr r0, .L4635+8
- str r1, [sp, #4]
+ beq .L4332
+ ldrh r1, [r7, #80]
+ ldr r3, [r4, #1096]
+ ldrb r2, [r5, #-3119] @ zero_extendqisi2
+ str r1, [sp, #16]
+ ldrh r1, [r3, #122]
+ ldr r0, .L4535+12
+ str r1, [sp, #12]
ldrh r1, [r3, #120]
str r1, [sp, #8]
movw r1, #2807
- ldrh r3, [r3, #122]
- str r3, [sp, #12]
- ldrh r3, [r6, #80]
- str r3, [sp, #16]
- mov r3, r7
+ ldrh r3, [r3, #124]
+ str r8, [sp]
+ str r3, [sp, #4]
+ mov r3, r6
bl printk
-.L4432:
- ldrb r0, [r5, #-3115] @ zero_extendqisi2
+.L4332:
+ mov r2, #1
mov r1, r9
- mov r2, #1
+ ldrb r0, [r5, #-3119] @ zero_extendqisi2
bl gc_search_src_blk
cmp r0, #0
- ble .L4433
-.L4434:
+ ble .L4333
+.L4334:
mov r3, #1
- b .L4631
-.L4433:
- ldr r3, .L4635+32
- mov r1, #3
+.L4533:
+ strb r3, [r5, #-144]
+ b .L4435
+.L4333:
mov r2, #1
- ldrb r0, [r3, #-3115] @ zero_extendqisi2
+ mov r1, #3
+ ldrb r0, [r5, #-3119] @ zero_extendqisi2
bl gc_search_src_blk
cmp r0, #0
- bgt .L4434
- b .L4536
-.L4425:
- cmp fp, #1
- bne .L4435
- ldr r3, [r9, #2804]
+ bgt .L4334
+ b .L4435
+.L4325:
+ cmp r10, #1
+ bne .L4335
+ ldr r3, [r4, #2800]
ldrh r3, [r3, #150]
cmp r3, #0
- beq .L4436
- movw r3, #2792
- ldrh r3, [r9, r3]
+ beq .L4336
+ movw r3, #2788
+ ldrh r3, [r4, r3]
cmp r3, #8
- bls .L4436
+ bls .L4336
bl gc_ink_check_sblk
-.L4436:
+.L4336:
bl gc_scan_static_data
- ldr r3, [r4, #1092]
+ ldr r3, [r4, #1096]
ldrh r3, [r3, #122]
cmp r3, #0
- beq .L4437
-.L4438:
+ beq .L4337
+.L4338:
mov r3, #1
- strb r3, [r5, #-3115]
- b .L4631
-.L4437:
+ strb r3, [r5, #-3119]
+ b .L4533
+.L4337:
bl gc_static_wearleveling
- cmp r0, #0
- bne .L4438
+ subs r7, r0, #0
+ bne .L4338
bl gc_block_vpn_scan
cmp r8, #0
- beq .L4439
- cmp r7, r10
- ldr r6, .L4635
- bcs .L4440
- ldrh r3, [r6, #-14]
- cmp r3, r7
- bhi .L4441
-.L4440:
- ldrh r2, [r6, #-14]
- add r3, r7, r10
+ ldr fp, .L4535+60
+ beq .L4339
+ cmp r6, r9
+ bcs .L4340
+ ldrh r3, [fp, #-4]
+ cmp r3, r6
+ bhi .L4341
+.L4340:
+ ldrh r2, [fp, #-4]
+ add r3, r6, r9
cmp r3, r2
- blt .L4441
- movw r3, #2798
+ blt .L4341
+ movw r3, #2794
ldrh r2, [r4, r3]
- ldr r3, .L4635
- ldrh r3, [r3, #-12]
+ ldrh r3, [fp, #-2]
cmp r2, r3
- bcc .L4439
-.L4441:
- ldr r0, .L4635+12
- mov r1, #16
- mov ip, #1
- strb ip, [r5, #-3115]
- str ip, [sp, #28]
- bl _list_get_gc_head_node
+ bcc .L4339
+.L4341:
+ mov r1, #1
+ mov r0, #16
+ strb r1, [r5, #-3119]
+ str r1, [sp, #24]
+ bl zftl_get_gc_node.part.10
movw r2, #65535
- ldr r9, .L4635+32
cmp r0, r2
- beq .L4442
- ldr r2, [r4, #1088]
- mov r3, r0, asl #1
- ldr ip, [sp, #28]
+ beq .L4342
+ ldr r2, [r4, #1092]
+ lsl r3, r0, #1
+ ldr r1, [sp, #24]
ldrh r3, [r2, r3]
- ldrh r2, [r9, #-176]
+ ldrh r2, [r5, #-136]
cmp r3, r2
movcs r3, #0
movcc r3, #1
- cmp r7, #2
+ cmp r6, #2
movls r3, #0
cmp r3, #0
- beq .L4442
+ beq .L4342
mov r2, #0
- mov r1, ip
- strb r2, [r9, #-3115]
- str r2, [r9, #-180]
+ strb r2, [r5, #-3119]
+ str r2, [r5, #-140]
bl gc_add_sblk
cmp r0, #0
- bne .L4434
-.L4442:
- ldr r9, .L4635+32
+ bne .L4334
+.L4342:
mov r1, #0
- sub r0, r9, #3104
+ ldr r0, .L4535+16
bl _list_get_gc_head_node
movw r2, #65535
cmp r0, r2
- beq .L4443
- ldr r2, [r4, #1088]
- mov r3, r0, asl #1
+ beq .L4343
+ ldr r2, [r4, #1092]
+ lsl r3, r0, #1
ldrh r3, [r2, r3]
- ldrh r2, [r9, #-176]
+ ldrh r2, [r5, #-136]
cmp r3, r2
movcs r3, #0
movcc r3, #1
- cmp r7, #2
+ cmp r6, #2
movls r3, #0
cmp r3, #0
- beq .L4443
+ beq .L4343
mov r2, #0
mov r1, #1
- strb r2, [r9, #-3115]
- str r2, [r9, #-180]
+ strb r2, [r5, #-3119]
+ str r2, [r5, #-140]
bl gc_add_sblk
cmp r0, #0
- bne .L4434
-.L4443:
- ldr r1, .L4635+32
- mov r9, #0
- ldrh r3, [r5, #-176]
- sub r2, r1, #3088
- ldr ip, .L4635+60
+ bne .L4334
+.L4343:
+ ldrh r3, [r5, #-136]
+ ldrh r2, [fp, #-8]
+ ldr r0, .L4535+16
add r3, r3, #1
- ldrh r2, [r2, #-8]
+ ldr r1, [r5, #-140]
uxth r3, r3
- strh r3, [r5, #-176] @ movhi
+ str r2, [sp, #28]
cmp r3, r2, lsr #5
- movhi r3, #4
- strhih r3, [r1, #-176] @ movhi
- ldr r3, .L4635+32
- ldr r1, [r5, #-180]
- sub r0, r3, #3104
+ strh r3, [r5, #-136] @ movhi
add r1, r1, #1
- str r1, [r5, #-180]
- strh r9, [r0, #-8] @ movhi
- strh r9, [r0, #-6] @ movhi
- strh r9, [r0, #-4] @ movhi
- movw r0, #1076
+ movhi r3, #4
+ str r1, [r5, #-140]
+ strhhi r3, [r5, #-136] @ movhi
+ mov r3, #0
+ strh r3, [r0, #-8] @ movhi
+ strh r3, [r0, #-6] @ movhi
+ strh r3, [r0, #-4] @ movhi
+ movw r0, #1080
ldrh r0, [r4, r0]
cmp r1, r0, lsr #5
- bls .L4445
- movw r1, #2798
- ldrh r1, [ip, r1]
+ bls .L4345
+ movw r1, #2794
+ ldrh r1, [r4, r1]
cmp r1, r8
- bls .L4445
- mov r1, r9
- ldr r0, .L4635+16
- str ip, [sp, #36]
- str r3, [sp, #32]
- str r2, [sp, #28]
+ bls .L4345
+ mov r1, r3
+ sub r0, fp, #12
+ str r3, [sp, #24]
bl _list_get_gc_head_node
movw r1, #65535
+ ldr r3, [sp, #24]
cmp r0, r1
- beq .L4541
- 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, #-3123] @ zero_extendqisi2
- mul r2, r1, r2
- cmp r0, r2
- strle r9, [r3, #-180]
- ldrleb r0, [r3, #-3115] @ zero_extendqisi2
- movle r1, #2
- bgt .L4541
- b .L4624
-.L4445:
- movw r2, #2798
- ldr r3, .L4635+60
- ldrh r1, [r4, r2]
- ldrh r2, [r6, #-12]
+ bne .L4346
+.L4519:
+ mov r7, #16
+ b .L4347
+.L4346:
+ ldr r1, [r4, #1092]
+ lsl r0, r0, #1
+ ldrh r1, [r1, r0]
+ ldrb r0, [r5, #-3127] @ zero_extendqisi2
+ mul r2, r2, r0
cmp r1, r2
- ldrcs r3, .L4635+32
- movcs r1, #2
- movcs r2, #1
- ldrcsb r0, [r3, #-3115] @ zero_extendqisi2
- bcs .L4623
-.L4448:
- movw r2, #2794
- ldrh r2, [r3, r2]
- cmp r2, #0
- bne .L4449
- movw r2, #2796
- ldrh r3, [r3, r2]
- cmp r3, #8
- bls .L4450
-.L4449:
- ldrb r0, [r5, #-3115] @ zero_extendqisi2
- mov r1, #1
-.L4624:
- mov r2, #4
-.L4623:
+ strle r3, [r5, #-140]
+ movle r2, #4
+ bgt .L4519
+.L4527:
+ mov r1, #2
+.L4518:
+ ldrb r0, [r5, #-3119] @ zero_extendqisi2
bl gc_search_src_blk
uxth r0, r0
cmp r0, #0
- bne .L4434
- b .L4541
-.L4450:
- ldr r2, .L4635+56
+ beq .L4519
+ b .L4334
+.L4345:
+ movw r3, #2794
+ ldrh r2, [r4, r3]
+ ldrh r3, [fp, #-2]
+ cmp r2, r3
+ movcs r2, #1
+ bcs .L4527
+.L4350:
+ movw r3, #2790
+ ldrh r3, [r4, r3]
+ cmp r3, #0
+ bne .L4351
+ movw r3, #2792
+ ldrh r3, [r4, r3]
+ cmp r3, #8
+ bls .L4352
+.L4351:
+ mov r2, #4
+ mov r1, #1
+ b .L4518
+.L4352:
+ ldr r2, .L4535+40
movw r3, #2106
ldrh r3, [r2, r3]
cmp r3, #0
- movne r6, #16
- moveq r6, #0
- b .L4451
-.L4439:
- ldr r3, .L4635+32
- sub r2, r3, #3088
- ldrh r1, [r2, #-8]
- ldrh r2, [r5, #-176]
- cmp r2, r1, lsr #5
- movcs r2, #4
- strcsh r2, [r3, #-176] @ movhi
- b .L4541
-.L4435:
- movw r3, #2808
- ldrh r3, [r9, r3]
- cmp r3, r7
- bcs .L4541
- ldr r3, [r9, #1092]
- ldrh r3, [r3, #124]
+ bne .L4519
+.L4347:
+ ldr r3, [r4, #2812]
cmp r3, #0
- beq .L4536
-.L4541:
- mov r6, #16
-.L4451:
- ldr r3, [r4, #2820]
- cmp r3, #0
- beq .L4453
- ldr r3, .L4635+60
- cmp r7, #15
- mov r2, #0
- ldr r0, .L4635+16
+ beq .L4353
+ mov r3, #0
mov r1, #0
- str r2, [r3, #2820]
- movhi r3, #0
- movls r3, #1
- cmp r8, r2
- moveq r3, #0
- cmp r3, r2
+ str r3, [r4, #2812]
+ subs r3, r8, r3
movne r3, #1
- strb r3, [r5, #-3115]
+ cmp r6, #15
+ movhi r3, #0
+ ldr r0, .L4535+20
+ cmp r3, #0
+ movne r3, #1
+ strb r3, [r5, #-3119]
bl _list_get_gc_head_node
movw r2, #65535
cmp r0, r2
- beq .L4456
- ldr r2, [r4, #1088]
- mov r3, r0, asl #1
+ beq .L4356
+ ldr r2, [r4, #1092]
+ lsl r3, r0, #1
ldrh r3, [r2, r3]
cmp r3, #8
- bhi .L4456
- ldr r3, .L4635+60
- mov r2, #1
+ bhi .L4356
+ mov r3, #1
+ ldrb r2, [r5, #-3119] @ zero_extendqisi2
mov r1, #0
- str r2, [r3, #2820]
- ldr r3, .L4635+32
- ldrb r2, [r3, #-3115] @ zero_extendqisi2
+ str r3, [r4, #2812]
bl gc_add_sblk
cmp r0, #0
- bne .L4434
-.L4456:
- ldr r9, .L4635+32
+ bne .L4334
+.L4356:
mov r1, #0
- sub r0, r9, #3104
+ ldr r0, .L4535+16
bl _list_get_gc_head_node
movw r2, #65535
cmp r0, r2
- beq .L4457
- ldr r2, [r4, #1088]
- mov r3, r0, asl #1
- ldrh r3, [r2, r3]
- cmp r3, #4
- bhi .L4457
- ldr r3, .L4635+60
- mov r2, #1
- mov r1, #0
- str r2, [r3, #2820]
- ldrb r2, [r9, #-3115] @ zero_extendqisi2
- bl gc_add_sblk
- cmp r0, #0
- bne .L4434
-.L4457:
- ldr r0, .L4635+12
- mov r1, #0
- bl _list_get_gc_head_node
- movw r2, #65535
- cmp r0, r2
- beq .L4453
- ldr r2, [r4, #1088]
- mov r3, r0, asl #1
- ldrh r3, [r2, r3]
- cmp r3, #4
- bhi .L4453
- ldr r3, .L4635+60
- mov r1, #1
- str r1, [r3, #2820]
- ldr r3, .L4635+32
- ldrb r2, [r3, #-3115] @ zero_extendqisi2
- bl gc_add_sblk
- cmp r0, #0
- bne .L4434
-.L4453:
+ beq .L4357
ldr r2, [r4, #1092]
- mov r1, #1
- ldr r9, .L4635+32
- ldr r3, .L4635+60
- ldrh ip, [r2, #124]
- strb r1, [r5, #-3115]
- cmp ip, #0
- strneb r1, [r9, #-182]
- movne r3, #0
- strneb r3, [r9, #-3115]
- bne .L4459
- movw r2, #2808
- ldrh r0, [r3, r2]
- cmp r7, r0
- bcs .L4460
- cmp r8, #0
- beq .L4461
- cmp r8, #16
- bls .L4462
- sub r2, r9, #3072
- movw r0, #2798
- ldrh r0, [r3, r0]
- ldrh r2, [r2, #-12]
+ lsl r3, r0, #1
+ ldrh r3, [r2, r3]
+ cmp r3, #4
+ bhi .L4357
+ mov r3, #1
+ ldrb r2, [r5, #-3119] @ zero_extendqisi2
+ mov r1, #0
+ str r3, [r4, #2812]
+ bl gc_add_sblk
+ cmp r0, #0
+ bne .L4334
+.L4357:
+ mov r0, #0
+ bl zftl_get_gc_node.part.10
+ movw r2, #65535
cmp r0, r2
- bhi .L4462
- mov r0, r1
+ beq .L4353
+ ldr r2, [r4, #1092]
+ lsl r3, r0, #1
+ ldrh r3, [r2, r3]
+ cmp r3, #4
+ bhi .L4353
+ mov r1, #1
+ ldrb r2, [r5, #-3119] @ zero_extendqisi2
+ str r1, [r4, #2812]
+ bl gc_add_sblk
+ cmp r0, #0
+ bne .L4334
+.L4353:
+ ldr r3, [r4, #1096]
+ mov r1, #1
+ strb r1, [r5, #-3119]
+ ldrh fp, [r3, #124]
+ cmp fp, #0
+ movne r3, #0
+ strbne r1, [r5, #-144]
+ strbne r3, [r5, #-3119]
+ bne .L4309
+ movw r3, #2804
+ ldrh r2, [r4, r3]
+ cmp r6, r2
+ bcs .L4359
+ cmp r8, #0
+ beq .L4360
+ cmp r8, #16
+ bls .L4361
+ ldr r6, .L4535+60
+ movw r3, #2794
+ ldrh r2, [r4, r3]
+ ldrh r3, [r6, #-2]
+ cmp r2, r3
+ bhi .L4361
mov r2, #4
- str ip, [sp, #32]
- str r3, [sp, #28]
+ mov r0, r1
bl gc_search_src_blk
uxth r0, r0
- ldr r3, [sp, #28]
cmp r0, #0
- ldr ip, [sp, #32]
- beq .L4628
- sub r7, r9, #3088
- mov r1, ip
- sub r0, r7, #12
- str r3, [sp, #28]
+ bne .L4362
+.L4523:
+ ldrb r0, [r5, #-3119] @ zero_extendqisi2
+ mov r2, #4
+ mov r1, #3
+.L4525:
+ bl gc_search_src_blk
+ uxth r0, r0
+.L4363:
+ cmp r0, #0
+ bne .L4365
+ b .L4309
+.L4339:
+ ldrh r3, [r5, #-136]
+ ldrh r2, [fp, #-8]
+ cmp r3, r2, lsr #5
+ movcs r3, #4
+ strhcs r3, [r5, #-136] @ movhi
+ b .L4519
+.L4335:
+ movw r3, #2804
+ ldrh r3, [r4, r3]
+ cmp r3, r6
+ bcs .L4519
+ ldr r3, [r4, #1096]
+ ldrh r3, [r3, #124]
+ cmp r3, #0
+ beq .L4435
+ b .L4519
+.L4362:
+ mov r1, fp
+ sub r0, r6, #12
bl _list_get_gc_head_node
- movw r2, #65535
- cmp r0, r2
- beq .L4534
- ldr r3, [sp, #28]
- mov r1, r0, asl #1
- ldr r2, [r9, #-180]
- ldr ip, [r3, #1088]
- add r2, r2, #1
- str r2, [r9, #-180]
- ldrh r1, [ip, r1]
- ldrh ip, [r7, #-8]
- cmp ip, r1
- bcs .L4466
- movw ip, #1076
- ldrh ip, [r3, ip]
- cmp r2, ip, lsr #4
- bls .L4534
- movw r2, #2810
- ldrh r3, [r3, r2]
- cmp r3, r1
- bls .L4534
-.L4466:
+ movw r3, #65535
+ cmp r0, r3
+ beq .L4365
+ ldr r1, [r4, #1092]
+ lsl r2, r0, #1
+ ldr r3, [r5, #-140]
+ ldrh r2, [r1, r2]
+ ldrh r1, [r6, #-8]
+ add r3, r3, #1
+ str r3, [r5, #-140]
+ cmp r1, r2
+ bcs .L4366
+ movw r1, #1080
+ ldrh r1, [r4, r1]
+ cmp r3, r1, lsr #4
+ bls .L4365
+ movw r3, #2808
+ ldrh r3, [r4, r3]
+ cmp r3, r2
+ bls .L4365
+.L4366:
+ ldrb r2, [r5, #-3119] @ zero_extendqisi2
mov r1, #0
- ldrb r2, [r5, #-3115] @ zero_extendqisi2
bl gc_add_sblk
mov r3, #1
- str r3, [r4, #2820]
+ str r3, [r4, #2812]
mov r3, #0
- str r3, [r5, #-180]
- b .L4534
-.L4462:
- mov r0, #1
+ str r3, [r5, #-140]
+.L4365:
+ mov r3, #1
+ b .L4526
+.L4361:
+ mov r2, #1
mov r1, #2
- mov r2, r0
+ mov r0, r2
+.L4529:
bl gc_search_src_blk
uxth r0, r0
cmp r0, #0
- ldreqb r0, [r5, #-3115] @ zero_extendqisi2
- bne .L4534
- b .L4627
-.L4461:
- cmp r7, #16
- strb r8, [r9, #-3115]
- mov r0, r8
- bhi .L4627
+ bne .L4365
+ b .L4523
+.L4360:
+ cmp r6, #16
+ strb r8, [r5, #-3119]
+ movhi r2, #4
+ movhi r1, #3
+ movhi r0, r8
+ bhi .L4525
mov r2, r1
- bl gc_search_src_blk
- uxth r0, r0
- cmp r0, #0
- bne .L4534
-.L4628:
- ldrb r0, [r9, #-3115] @ zero_extendqisi2
-.L4627:
- mov r1, #3
- mov r2, #4
- bl gc_search_src_blk
- uxth r0, r0
- b .L4464
-.L4460:
- cmp fp, #1
- bne .L4459
- cmp r7, r0, asl #1
- bge .L4469
- cmp r10, r8, lsr #1
- bcs .L4470
- sub r9, r9, #3072
- movw r1, #2798
- ldrh r0, [r3, r1]
- ldrh r1, [r9, #-12]
+ mov r0, r8
+ b .L4529
+.L4359:
+ cmp r10, #1
+ bne .L4309
+ cmp r6, r2, lsl #1
+ bge .L4369
+ cmp r9, r8, lsr #1
+ bcs .L4370
+ ldr r2, .L4535+60
+ movw r1, #2794
+ ldrh r0, [r4, r1]
+ ldrh r1, [r2, #-2]
cmp r0, r1
- ldrcch r1, [r9, #-14]
- movcc r1, r1, lsr #2
- strcch r1, [r3, r2] @ movhi
- bcc .L4459
-.L4470:
- ldr r0, .L4635+12
- mov r1, #8
- bl _list_get_gc_head_node
+ ldrhcc r2, [r2, #-4]
+ lsrcc r2, r2, #2
+ strhcc r2, [r4, r3] @ movhi
+ bcc .L4309
+.L4370:
+ mov r0, #8
+ bl zftl_get_gc_node.part.10
movw r2, #65535
- ldr r9, .L4635+32
cmp r0, r2
- beq .L4471
- ldr r2, [r4, #1088]
- mov r3, r0, asl #1
+ beq .L4371
+ ldr r2, [r4, #1092]
+ lsl r3, r0, #1
ldrh r3, [r2, r3]
cmp r3, #3
movhi r3, #0
movls r3, #1
- cmp r7, #0
+ cmp r6, #0
moveq r3, #0
cmp r3, #0
- beq .L4471
+ beq .L4371
mov r2, #0
mov r1, #1
- strb r2, [r9, #-3115]
+ strb r2, [r5, #-3119]
bl gc_add_sblk
cmp r0, #0
- bne .L4634
-.L4471:
- ldr r0, .L4635+16
+ bne .L4365
+.L4371:
mov r1, #0
+ ldr r0, .L4535+20
bl _list_get_gc_head_node
movw r3, #65535
- ldr r9, .L4635+32
- cmp r0, r3
mov fp, r0
- bne .L4472
-.L4477:
+ cmp r0, r3
+ ldr r10, .L4535+60
+ bne .L4372
+.L4377:
cmp r8, #1
- bhi .L4473
- b .L4474
-.L4472:
- movw r1, #1076
- ldr r3, [r9, #-180]
- ldrh r1, [r4, r1]
- mov ip, r0, asl #1
- add r3, r3, #1
- ldr r2, .L4635+60
- str r3, [r9, #-180]
- cmp r3, r1, lsr #4
- bls .L4475
- ldr r3, [r2, #1088]
- mov r1, #0
- str r1, [r9, #-180]
- ldrh lr, [r3, ip]
- movw r3, #2810
- ldrh r3, [r2, r3]
- cmp lr, r3
- bcs .L4475
- mov r3, #1
- str ip, [sp, #32]
- mov r2, r3
- strb r3, [r9, #-3115]
- str r3, [sp, #28]
- bl gc_add_sblk
- cmp r0, #0
- ldr r3, [sp, #28]
- ldr ip, [sp, #32]
- bne .L4633
-.L4475:
- ldr r2, [r4, #1088]
- ldr r9, .L4635+32
- ldr r3, .L4635+60
- ldrh r1, [r2, ip]
- sub r2, r9, #3088
- ldrh r2, [r2, #-8]
- cmp r1, r2, lsr #1
- bhi .L4476
- mov r0, fp
- mov r1, #1
- mov r2, #0
- bl gc_add_sblk
-.L4634:
- mov r3, #1
-.L4633:
- strb r3, [r9, #-182]
- b .L4459
-.L4476:
- movw r2, #2794
- movw r0, #2796
- 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 .L4477
- movw r2, #2810
- ldrh r3, [r3, r2]
- cmp r3, r1
- bcc .L4474
- b .L4477
-.L4473:
- ldr r9, .L4635+32
- cmp r8, #16
- mov r0, #1
- strb r0, [r5, #-3115]
- sub r8, r9, #3072
- bls .L4478
- movw r3, #2798
- ldrh r2, [r4, r3]
- ldrh r3, [r8, #-12]
- cmp r2, r3
- bhi .L4478
- mov r1, r0
- mov r2, #4
- bl gc_search_src_blk
- uxth r0, r0
- cmp r0, #0
- ldreqb r0, [r9, #-3115] @ zero_extendqisi2
- bne .L4479
- b .L4626
-.L4478:
- mov r0, #1
- mov r1, #2
- mov r2, r0
- bl gc_search_src_blk
- uxth r0, r0
- cmp r0, #0
- bne .L4479
- ldrb r0, [r5, #-3115] @ zero_extendqisi2
-.L4626:
- mov r1, #3
- mov r2, #4
- bl gc_search_src_blk
- uxth r0, r0
-.L4479:
- 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 .L4464
-.L4474:
- cmp r7, r10
- ldr r8, .L4635
- bcs .L4481
- sub r0, r8, #20
- mov r1, #4
- mov r9, #0
- strb r9, [r5, #-3115]
- bl _list_get_gc_head_node
+ bhi .L4373
+.L4374:
+ cmp r6, r9
+ bcs .L4381
+ mov r6, #0
+ mov r0, #4
+ strb r6, [r5, #-3119]
+ bl zftl_get_gc_node.part.10
movw r3, #65535
cmp r0, r3
- beq .L4481
- ldr r3, [r4, #1088]
- mov r0, r0, asl #1
- ldrh r1, [r8, #-24]
- ldr r7, .L4635+60
+ beq .L4381
+ ldr r3, [r4, #1092]
+ lsl r0, r0, #1
+ ldrh r1, [r10, #-8]
ldrh r2, [r3, r0]
- ldrb r3, [r8, #-51] @ zero_extendqisi2
+ ldrb r3, [r5, #-3127] @ zero_extendqisi2
mul r3, r3, r1
cmp r2, r3, asr #1
- ldrgth r3, [r8, #-14]
- movwgt r2, #2808
- movgt r3, r3, lsr #2
- strgth r3, [r7, r2] @ movhi
- bgt .L4459
-.L4483:
- mov r2, #4
- mov r0, r9
- mov r1, #3
- bl gc_search_src_blk
- ldrh r3, [r8, #-14]
- movw r2, #2808
- mov r3, r3, lsr #1
- strh r3, [r7, r2] @ movhi
- uxth r0, r0
- b .L4464
-.L4481:
- ldrh r3, [r8, #-14]
- movw r2, #2808
- mov r3, r3, lsr #2
+ ble .L4383
+.L4381:
+ ldrh r3, [r10, #-4]
+ movw r2, #2804
+ lsr r3, r3, #2
strh r3, [r4, r2] @ movhi
- b .L4459
-.L4469:
- sub r9, r9, #3072
- ldrh r1, [r9, #-14]
- mov r1, r1, lsr #2
- strh r1, [r3, r2] @ movhi
- ldr r2, .L4635+56
+.L4309:
+ mov r0, r7
+ add sp, sp, #36
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L4372:
+ movw r2, #1080
+ ldr r3, [r5, #-140]
+ ldrh r2, [r4, r2]
+ add r3, r3, #1
+ str r3, [r5, #-140]
+ cmp r3, r2, lsr #4
+ lsl r3, r0, #1
+ str r3, [sp, #24]
+ bls .L4375
+ ldr r3, [r4, #1092]
+ lsl r2, r0, #1
+ mov r1, #0
+ str r1, [r5, #-140]
+ ldrh r2, [r3, r2]
+ movw r3, #2808
+ ldrh r3, [r4, r3]
+ cmp r2, r3
+ bcs .L4375
+ mov r3, #1
+ mov r2, r3
+ strb r3, [r5, #-3119]
+ str r3, [sp, #24]
+ bl gc_add_sblk
+ cmp r0, #0
+ ldr r3, [sp, #24]
+ beq .L4375
+.L4526:
+ strb r3, [r5, #-144]
+ b .L4309
+.L4375:
+ ldr r3, [r4, #1092]
+ lsl r2, fp, #1
+ ldrh r2, [r3, r2]
+ ldrh r3, [r10, #-8]
+ cmp r2, r3, lsr #1
+ bhi .L4376
+ mov r2, #0
+ mov r1, #1
+ mov r0, fp
+ bl gc_add_sblk
+ b .L4365
+.L4376:
+ movw r3, #2790
+ movw r1, #2792
+ ldrh r1, [r4, r1]
+ ldrh r3, [r4, r3]
+ add r3, r3, r1
+ ldrh r1, [r10, #-4]
+ cmp r3, r1, lsl #1
+ ble .L4377
+ movw r3, #2808
+ ldrh r3, [r4, r3]
+ cmp r3, r2
+ bcc .L4374
+ b .L4377
+.L4373:
+ cmp r8, #16
+ mov r1, #1
+ strb r1, [r5, #-3119]
+ bls .L4378
+ movw r3, #2794
+ ldrh r2, [r4, r3]
+ ldrh r3, [r10, #-2]
+ cmp r2, r3
+ movls r2, #4
+ movls r0, r1
+ bls .L4531
+.L4378:
+ mov r2, #1
+ mov r1, #2
+ mov r0, r2
+.L4531:
+ bl gc_search_src_blk
+ uxth r0, r0
+ cmp r0, #0
+ bne .L4379
+ mov r2, #4
+ mov r1, #3
+ ldrb r0, [r5, #-3119] @ zero_extendqisi2
+ bl gc_search_src_blk
+ uxth r0, r0
+.L4379:
+ ldrh r3, [r10, #-4]
+ cmp r6, r9, lsr #1
+ movw r2, #2804
+ lsrhi r3, r3, #2
+ lsrls r3, r3, #1
+.L4524:
+ strh r3, [r4, r2] @ movhi
+ b .L4363
+.L4383:
+ mov r2, #4
+ mov r1, #3
+ mov r0, r6
+ bl gc_search_src_blk
+ ldrh r3, [r10, #-4]
+ uxth r0, r0
+ movw r2, #2804
+ lsr r3, r3, #1
+ b .L4524
+.L4369:
+ ldr r2, .L4535+60
+ ldrh r2, [r2, #-4]
+ lsr r2, r2, #2
+ strh r2, [r4, r3] @ movhi
movw r3, #2106
+ ldr r2, .L4535+40
ldrh r3, [r2, r3]
cmp r3, #0
- moveq r6, #0
- b .L4459
-.L4464:
- cmp r0, #0
- beq .L4459
-.L4534:
- mov r3, #1
- strb r3, [r5, #-182]
- b .L4459
-.L4415:
- movw r6, #2828
+ moveq r7, #0
+ b .L4309
+.L4314:
+ movw r6, #2824
movw r3, #65535
ldrh r2, [r4, r6]
cmp r2, r3
- bne .L4484
+ bne .L4384
bl gc_get_src_blk
- ldr r3, .L4635+60
- strh r0, [r3, r6] @ movhi
-.L4484:
- movw r3, #2828
- movw r0, #65535
- ldrh r1, [r4, r3]
- ldr r2, .L4635+60
- cmp r1, r0
- beq .L4485
- movw r0, #1076
- ldrh r0, [r2, r0]
- cmp r0, r1
- mvnls r1, #0
- strlsh r1, [r2, r3] @ movhi
-.L4485:
- movw r3, #2828
+ strh r0, [r4, r6] @ movhi
+.L4384:
+ movw r3, #2824
+ movw r1, #65535
+ ldrh r2, [r4, r3]
+ cmp r2, r1
+ beq .L4385
+ movw r1, #1080
+ ldrh r1, [r4, r1]
+ cmp r1, r2
+ mvnls r2, #0
+ strhls r2, [r4, r3] @ movhi
+.L4385:
+ movw r3, #2824
movw r1, #65535
ldrh r3, [r4, r3]
- ldr r2, .L4635+60
+ ldr r2, .L4535+40
cmp r3, r1
- beq .L4632
- ldr r0, .L4635+56
- ldr r1, [r2, #1080]
- ldrh ip, [r0, #52]
- add r1, r1, r3, asl #2
+ beq .L4534
+ ldrh ip, [r2, #52]
+ ldr r1, [r4, #1084]
cmp ip, #0
- addne r2, r2, #2880
+ addne r2, r2, #52
movne r0, #0
- beq .L4487
-.L4488:
- uxth lr, r0
- cmp lr, ip
- bcs .L4487
- ldrh lr, [r2, #2]!
- add r0, r0, #1
- cmp lr, r3
- bne .L4488
-.L4492:
- movw r3, #2828
- mvn r2, #0
- strh r2, [r4, r3] @ movhi
- b .L4536
-.L4487:
+ add r1, r1, r3, lsl #2
+ bne .L4388
+.L4387:
ldrb r2, [r1, #2] @ zero_extendqisi2
tst r2, #192
and r2, r2, #224
@@ -27441,216 +27711,201 @@
movne r2, r1
orreq r2, r1, #1
cmp r2, #0
- beq .L4490
- ldr r2, [r4, #1088]
- mov r3, r3, asl #1
+ beq .L4390
+ ldr r2, [r4, #1092]
+ lsl r3, r3, #1
ldrh r3, [r2, r3]
cmp r3, #0
- beq .L4492
- ldr r1, .L4635+64
+ beq .L4392
movw r2, #3306
- ldr r0, .L4635+68
+ ldr r1, .L4535+64
+ ldr r0, .L4535+68
bl printk
bl dump_stack
- b .L4492
-.L4490:
+ b .L4392
+.L4388:
+ uxth lr, r0
+ cmp lr, ip
+ bcs .L4387
+ ldrh lr, [r2, #2]!
+ add r0, r0, #1
+ cmp lr, r3
+ bne .L4388
+.L4392:
+ mvn r2, #0
+ movw r3, #2824
+ strh r2, [r4, r3] @ movhi
+ b .L4435
+.L4390:
mov r3, #2
- b .L4631
-.L4416:
+ b .L4533
+.L4315:
bl gc_scan_src_blk
cmn r0, #1
moveq r3, #3
- beq .L4631
- movw r3, #2828
- ldr r2, .L4635+56
+ beq .L4533
+ movw r3, #2824
+ ldr r2, .L4535+40
ldrh r3, [r4, r3]
movw r1, #65535
- cmp r3, r1
mov r6, r2
- beq .L4434
+ cmp r3, r1
+ beq .L4334
ldrh r1, [r2, #20]
cmp r1, #0
movne r3, #4
- strneb r3, [r5, #-182]
+ strbne r3, [r5, #-144]
movne r3, #0
- strneh r3, [r2, #22] @ movhi
- bne .L4536
-.L4494:
+ strhne r3, [r2, #22] @ movhi
+ bne .L4435
+.L4394:
mov r2, #1
- strb r2, [r5, #-182]
- ldr r2, .L4635+60
- mov r3, r3, asl #1
- ldr r2, [r2, #1088]
+ lsl r3, r3, #1
+ strb r2, [r5, #-144]
+ ldr r2, [r4, #1092]
ldrh r3, [r2, r3]
cmp r3, #0
- beq .L4495
- ldr r1, .L4635+64
+ beq .L4395
movw r2, #3336
- ldr r0, .L4635+68
+ ldr r1, .L4535+64
+ ldr r0, .L4535+68
bl printk
bl dump_stack
-.L4495:
- movw r5, #2828
- ldr r7, .L4635+56
+.L4395:
+ movw r5, #2824
ldrh r0, [r4, r5]
bl ftl_free_sblk
ldrh r3, [r4, r5]
- ldr r2, [r4, #1088]
mov r5, #0
- mov r3, r3, asl #1
+ ldr r2, [r4, #1092]
+ lsl r3, r3, #1
strh r5, [r2, r3] @ movhi
ldrh r3, [r6, #26]
add r3, r3, #1
uxth r3, r3
cmp r3, #8
- strlsh r3, [r7, #26] @ movhi
- bls .L4492
- strh r5, [r7, #26] @ movhi
+ strhls r3, [r6, #26] @ movhi
+ bls .L4392
+ strh r5, [r6, #26] @ movhi
bl ftl_flush
bl pm_flush
bl ftl_ext_info_flush
mov r0, r5
bl ftl_info_flush
- b .L4492
-.L4417:
- ldr r6, .L4635+56
-.L4594:
+ b .L4392
+.L4316:
+ ldr r7, .L4535+40
+ mov r8, r7
+.L4489:
bl gc_scan_src_blk_one_page
- ldr r3, .L4635+20
- ldrh r1, [r6, #2]
- ldr r0, .L4635+60
+ ldr r3, .L4535+24
+ ldrh r2, [r7, #2]
ldrh r3, [r3]
- ldr r2, .L4635+32
- cmp r1, r3
- ldr r5, .L4635+56
- bcs .L4498
- cmp r7, #7
- bls .L4594
- b .L4536
-.L4498:
- ldrh r3, [r5, #20]
- ldrh r1, [r5]
- cmp r3, #0
- beq .L4499
- ldr r0, [r0, #1088]
- mov ip, #4
- 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 .L4500
- ldr r0, .L4635+4
+ bcs .L4398
+ cmp r6, #7
+ bls .L4489
+ b .L4435
+.L4398:
+ ldrh r3, [r7, #20]
+ ldrh r1, [r7]
+ cmp r3, #0
+ beq .L4399
+ mov r2, #4
+ ldr r0, [r4, #1092]
+ strb r2, [r5, #-144]
+ mov r2, #0
+ strh r2, [r7, #22] @ movhi
+ lsl r2, r1, #1
+ ldrh r2, [r0, r2]
+ cmp r3, r2
+ beq .L4400
+ ldr r0, .L4535+8
ldr r0, [r0]
tst r0, #1024
- beq .L4500
- ldr r0, .L4635+24
+ beq .L4400
+ ldr r0, .L4535+28
bl printk
-.L4500:
- movw r3, #2828
- ldr r2, [r4, #1088]
+.L4400:
+ movw r3, #2824
+ ldr r2, [r4, #1092]
ldrh r3, [r4, r3]
- mov r3, r3, asl #1
+ lsl r3, r3, #1
ldrh r2, [r2, r3]
- ldrh r3, [r5, #20]
+ ldrh r3, [r8, #20]
cmp r2, r3
- beq .L4501
- ldr r1, .L4635+64
+ beq .L4401
movw r2, #3379
- ldr r0, .L4635+68
+ ldr r1, .L4535+64
+ ldr r0, .L4535+68
bl printk
bl dump_stack
-.L4501:
- movw r3, #2828
- ldrh r1, [r5, #20]
+.L4401:
+ movw r3, #2824
+ ldrh r1, [r8, #20]
ldrh r3, [r4, r3]
- ldr r2, [r4, #1088]
- mov r3, r3, asl #1
+ ldr r2, [r4, #1092]
+ lsl r3, r3, #1
strh r1, [r2, r3] @ movhi
- b .L4536
-.L4499:
+ b .L4435
+.L4399:
mov r3, #1
- strb r3, [r2, #-182]
- ldr r3, .L4635+4
- ldr r6, [r0, #1080]
+ ldr r6, [r4, #1084]
+ strb r3, [r5, #-144]
+ ldr r3, .L4535+8
+ add r6, r6, r1, lsl #2
ldr r3, [r3]
- add r6, r6, r1, asl #2
tst r3, #256
- beq .L4502
+ beq .L4402
ldrb r2, [r6, #2] @ zero_extendqisi2
- ldr r0, .L4635+28
- mov r2, r2, lsr #5
+ ldr r0, .L4535+32
+ lsr r2, r2, #5
bl printk
-.L4502:
+.L4402:
ldrb r3, [r6, #2] @ zero_extendqisi2
- tst r3, #192
- and r3, r3, #224
- moveq r2, #1
- movne r2, #0
- cmp r3, #224
- movne r3, r2
- orreq r3, r2, #1
+ and r2, r3, #224
+ and r3, r3, #192
cmp r3, #0
- beq .L4503
- ldr r1, .L4635+64
+ cmpne r2, #224
+ bne .L4403
movw r2, #3389
- ldr r0, .L4635+68
+ ldr r1, .L4535+64
+ ldr r0, .L4535+68
bl printk
bl dump_stack
-.L4503:
- movw r7, #2828
- ldr r6, .L4635+56
- ldrh r0, [r4, r7]
+.L4403:
+ movw r5, #2824
+ ldrh r0, [r4, r5]
bl ftl_free_sblk
mvn r3, #0
- strh r3, [r4, r7] @ movhi
- ldrh r3, [r5, #26]
+ strh r3, [r4, r5] @ movhi
+ ldrh r3, [r8, #26]
add r3, r3, #1
uxth r3, r3
cmp r3, #8
- strlsh r3, [r6, #26] @ movhi
movhi r3, #0
- strhih r3, [r6, #26] @ movhi
- bls .L4536
- b .L4630
-.L4636:
- .align 2
-.L4635:
- .word .LANCHOR3-3072
- .word .LANCHOR2
- .word .LC300
- .word .LANCHOR3-3092
- .word .LANCHOR3-3100
- .word .LANCHOR3-3096
- .word .LC301
- .word .LC302
- .word .LANCHOR3
- .word .LANCHOR0+5010
- .word .LANCHOR0+4096
- .word 1145785929
- .word .LANCHOR3-3120
- .word .LANCHOR3-3088
- .word .LANCHOR0+2828
- .word .LANCHOR0
- .word .LANCHOR1+2752
- .word .LC0
-.L4418:
- cmp fp, #0
- bne .L4505
- movw r3, #2808
+ strhls r3, [r8, #26] @ movhi
+ strhhi r3, [r8, #26] @ movhi
+ bls .L4435
+.L4532:
+ bl flt_sys_flush
+ b .L4435
+.L4317:
+ cmp r10, #0
+ bne .L4405
+ movw r3, #2804
ldrh r3, [r4, r3]
- cmp r3, r7
- bcc .L4536
-.L4505:
- ldrh r2, [r6, #80]
+ cmp r3, r6
+ bcc .L4435
+.L4405:
+ ldrh r2, [r7, #80]
movw r3, #65535
cmp r2, r3
- bne .L4506
- ldrb r8, [r5, #-3115] @ zero_extendqisi2
+ bne .L4406
+ ldrb r8, [r5, #-3119] @ zero_extendqisi2
cmp r8, #1
- bne .L4506
- ldr r9, .L4635+56
+ bne .L4406
+ ldr r9, .L4535+40
bl ftl_flush
movw r3, #2180
mov r1, #5
@@ -27659,774 +27914,734 @@
movne r0, r8
bl zftl_gc_get_free_sblk
movw r3, #65535
+ mov r6, r0
cmp r0, r3
- mov r7, r0
- beq .L4509
- ldr r8, [r4, #1080]
- add r8, r8, r0, asl #2
+ beq .L4409
+ ldr r8, [r4, #1084]
+ add r8, r8, r0, lsl #2
ldrb r3, [r8, #2] @ zero_extendqisi2
tst r3, #224
- beq .L4510
- ldr r1, .L4635+64
+ beq .L4410
movw r2, #3423
- ldr r0, .L4635+68
+ ldr r1, .L4535+64
+ ldr r0, .L4535+68
bl printk
bl dump_stack
-.L4510:
+.L4410:
ldrb r3, [r8, #2] @ zero_extendqisi2
and r3, r3, #15
orr r3, r3, #176
strb r3, [r8, #2]
-.L4535:
- mov r0, r7
+.L4434:
mov r1, #1
+ mov r0, r6
bl ftl_erase_sblk
mov r3, #5
- add r1, r6, #96
- strb r3, [r6, #84]
- mov r0, r7
- ldr r10, .L4635+52
+ add r1, r7, #96
+ strb r3, [r7, #84]
+ mov r0, r6
bl ftl_get_blk_list_in_sblk
- mov r8, #0
- strh r7, [r6, #80] @ movhi
- mov r1, #255
- ldrh r3, [r10, #-8]
- ldrh r2, [r10, #-26]
- strh r8, [r6, #82] @ movhi
- strb r8, [r6, #85]
- strh r8, [r6, #90] @ movhi
+ ldr r2, .L4535+60
uxtb r0, r0
- strb r0, [r6, #89]
+ mov r8, #0
+ strh r6, [r7, #80] @ movhi
+ strb r0, [r7, #89]
+ mov r1, #255
+ ldrh r3, [r2, #-8]
+ strh r8, [r7, #82] @ movhi
+ strb r8, [r7, #85]
+ strh r8, [r7, #90] @ movhi
smulbb r0, r3, r0
- ldrb r3, [r5, #-3123] @ zero_extendqisi2
- mul r2, r3, r2
- strh r0, [r6, #86] @ movhi
- ldr r0, [r5, #-172]
- mov r2, r2, asl #2
+ ldrh r3, [r2, #-30]
+ strh r0, [r7, #86] @ movhi
+ sub r7, r2, #16
+ ldrb r2, [r5, #-3127] @ zero_extendqisi2
+ ldr r0, [r5, #-132]
+ mul r2, r2, r3
+ lsl r2, r2, #2
bl ftl_memset
- ldrb r3, [r5, #-3123] @ zero_extendqisi2
- ldrh r2, [r10, #-26]
+ ldrh r3, [r7, #-14]
mov r1, #255
- ldr r0, [r5, #-168]
- mul r2, r3, r2
- mov r2, r2, asl #2
+ ldrb r2, [r5, #-3127] @ zero_extendqisi2
+ ldr r0, [r5, #-128]
+ mul r2, r2, r3
+ lsl r2, r2, #2
bl ftl_memset
- ldrh r3, [r10, #-26]
- ldrb r2, [r5, #-3123] @ zero_extendqisi2
+ ldrh r3, [r7, #-14]
mov r1, #255
- ldr r0, [r5, #-3120]
+ ldrb r2, [r5, #-3127] @ zero_extendqisi2
+ ldr r0, [r5, #-3124]
mvn r5, #0
mul r2, r2, r3
bl ftl_memset
- ldr r3, [r4, #1092]
+ ldr r3, [r4, #1096]
strh r5, [r3, #128] @ movhi
strh r5, [r3, #130] @ movhi
- str r7, [r3, #132]
+ str r6, [r3, #132]
bl pm_flush
bl ftl_ext_info_flush
- ldr r3, [r4, #2804]
+ ldr r3, [r4, #2800]
+ movw r2, #2182
mov r0, r8
strh r8, [r9, #52] @ movhi
- strh r7, [r3, #126] @ movhi
+ strh r6, [r3, #126] @ movhi
movw r3, #2102
strh r8, [r9, r3] @ movhi
- movw r3, #2104
- strh r8, [r9, r3] @ movhi
- movw r3, #2182
- strh r8, [r9, r3] @ movhi
- ldr r3, .L4635+40
- str r5, [r3, #916]
+ ldr r3, .L4535+36
+ strh r8, [r9, r2] @ movhi
+ strh r8, [r3] @ movhi
+ str r5, [r3, #80]
bl ftl_info_flush
- b .L4536
-.L4506:
- cmp fp, #1
- ldr r10, .L4635+56
- ldr r9, .L4635+36
+ b .L4435
+.L4536:
+ .align 2
+.L4535:
+ .word .LANCHOR0
+ .word .LANCHOR3
+ .word .LANCHOR2
+ .word .LC299
+ .word .LANCHOR3-3104
+ .word .LANCHOR3-3100
+ .word .LANCHOR3-3096
+ .word .LC300
+ .word .LC301
+ .word .LANCHOR0+4928
+ .word .LANCHOR0+2824
+ .word .LANCHOR0+4096
+ .word 1145785929
+ .word .LANCHOR3-3136
+ .word .LANCHOR0+1088
+ .word .LANCHOR3-3088
+ .word .LANCHOR1+2525
+ .word .LC0
+.L4406:
+ cmp r10, #1
movne r8, #1
moveq r8, #4
- cmp r7, #15
+ cmp r6, #15
+ ldr r6, .L4535+40
addls r8, r8, #4
-.L4513:
+ add r10, r6, #2176
+ add r10, r10, #6
+.L4413:
sub r8, r8, #1
uxtb r8, r8
cmp r8, #255
- beq .L4536
+ beq .L4435
bl gc_do_copy_back
- ldrb r3, [r5, #-3115] @ zero_extendqisi2
- ldr fp, .L4635+32
+ ldrb r3, [r5, #-3119] @ zero_extendqisi2
cmp r3, #0
- ldr r7, .L4635+56
- bne .L4514
- ldrb r3, [r4, #2774] @ zero_extendqisi2
+ bne .L4414
+ ldrb r3, [r4, #2769] @ zero_extendqisi2
cmp r3, #3
- bhi .L4515
+ bhi .L4415
bl ftl_write_commit
-.L4515:
- ldrh r2, [r10, #22]
- ldrh r3, [r10, #20]
+.L4415:
+ ldrh r2, [r6, #22]
+ ldrh r3, [r6, #20]
cmp r2, r3
- bcc .L4513
+ bcc .L4413
mov r3, #1
- strb r3, [r5, #-182]
+ strb r3, [r5, #-144]
bl ftl_write_commit
bl ftl_flush
- ldr r3, .L4635+56
- ldr r2, .L4635+60
- ldrh r3, [r3]
- ldr r2, [r2, #1088]
- mov r3, r3, asl #1
+ ldrh r3, [r6]
+ ldr r2, [r4, #1092]
+ lsl r3, r3, #1
ldrh r3, [r2, r3]
cmp r3, #0
- beq .L4517
- ldr r1, .L4635+64
+ beq .L4417
movw r2, #3507
- ldr r0, .L4635+68
+ ldr r1, .L4535+64
+ ldr r0, .L4535+68
bl printk
bl dump_stack
-.L4517:
- movw r3, #2828
- ldr r1, [r4, #1088]
+.L4417:
+ movw r3, #2824
+ ldr r2, [r4, #1092]
ldrh r0, [r4, r3]
- mov r2, r0, asl #1
- ldrh ip, [r1, r2]
- cmp ip, #0
- bne .L4518
- strh ip, [r1, r2] @ movhi
- ldr r2, .L4635+60
- ldrh r0, [r2, r3]
- bl ftl_free_sblk
- b .L4492
-.L4518:
- mov r1, #0
- mov r2, #1
- bl gc_add_sblk
- b .L4492
-.L4514:
- ldrh r3, [r9]
+ lsl r3, r0, #1
+ ldrh r3, [r2, r3]
cmp r3, #0
- beq .L4519
- ldr r3, .L4635+36
- mov r2, #0
- ldr r8, .L4635+40
- strh r2, [r3] @ movhi
+ bne .L4418
+ bl ftl_free_sblk
+ b .L4392
+.L4418:
+ mov r2, #1
+ mov r1, #0
+ bl gc_add_sblk
+ b .L4392
+.L4414:
+ ldrh r3, [r10]
+ cmp r3, #0
+ beq .L4419
+ ldr r8, .L4535+44
+ mov r3, #0
+ strh r3, [r10] @ movhi
bl sblk_wait_write_queue_completed
bl gc_write_completed
- ldr r0, [r8, #916]
+ ldr r0, [r8, #912]
cmn r0, #1
- beq .L4520
- ldrb r3, [fp, #-2536] @ zero_extendqisi2
+ beq .L4420
+ ldrb r3, [r5, #-2542] @ zero_extendqisi2
cmp r3, #0
- bne .L4521
- ldrb r3, [fp, #-3122] @ zero_extendqisi2
+ bne .L4421
+ ldrb r3, [r5, #-3126] @ zero_extendqisi2
cmp r3, #0
- beq .L4522
-.L4521:
- ldr r3, [r4, #2804]
- ldr r9, .L4635+60
+ beq .L4422
+.L4421:
+ ldr r3, [r4, #2800]
ldr r2, [r3, #156]
- ldr r3, .L4635+44
+ ldr r3, .L4535+48
cmp r2, r3
- bne .L4522
- ldr r10, .L4635+48
- ldrb r3, [r9, #1189] @ zero_extendqisi2
- ldrb r1, [r5, #-3130] @ zero_extendqisi2
- ldrh r2, [r10, #-12]
+ bne .L4422
+ ldr r7, .L4535+52
+ ldrb r3, [r4, #1153] @ zero_extendqisi2
+ ldrb r1, [r5, #-3136] @ zero_extendqisi2
+ ldrh r2, [r7, #-2]
rsb r3, r3, #24
- rsb r3, r2, r3
- mov r2, r0, lsr r2
+ sub r3, r3, r2
+ lsr r2, r0, r2
mvn r0, #0
- bic r0, r2, r0, asl r3
+ bic r0, r2, r0, lsl r3
bl __aeabi_uidiv
- ldr r6, [r9, #1080]
- mov ip, r0, asl #2
- add r1, r6, ip
- ldrb r3, [r1, #2] @ zero_extendqisi2
- tst r3, #8
- beq .L4520
- movw r2, #2788
- ldrh lr, [r10, #34]
- ldrh r2, [r9, r2]
- add r2, r2, #8
- cmp r2, lr
- bge .L4520
- bfc r3, #3, #2
- movw r2, #1084
- strb r3, [r1, #2]
- ldr r3, [r6, r0, asl #2]
- ldrh r2, [r9, r2]
- ubfx r3, r3, #11, #8
- 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, [r6, ip] @ movhi
- ldr r2, [r6, r0, asl #2]
- bfi r2, r3, #11, #8
- str r2, [r6, r0, asl #2]
- b .L4520
-.L4522:
- bl ftl_mask_bad_block
-.L4520:
- ldr r3, [r4, #1092]
- mov r6, #0
- str r6, [r8, #916]
- strh r6, [r7, #52] @ movhi
+ ldr r3, [r4, #1084]
+ lsl lr, r0, #2
+ add ip, r3, lr
+ ldrb r2, [ip, #2] @ zero_extendqisi2
+ tst r2, #8
+ beq .L4420
+ ldrh r1, [r9]
+ ldrh r7, [r7, #44]
+ add r1, r1, #8
+ cmp r1, r7
+ bge .L4420
+ ldr r1, .L4535+56
+ bfc r2, #3, #2
+ strb r2, [ip, #2]
+ ldr r2, [r3, r0, lsl #2]
+ ldrh r1, [r1]
+ ldrh ip, [r3, lr]
+ ubfx r2, r2, #11, #8
+ mul r1, r2, r1
+ ubfx r7, ip, #0, #11
+ lsr r2, r2, #3
+ add r1, r1, r1, lsl #1
+ add r1, r7, r1, asr #2
+ bfi ip, r1, #0, #11
+ strh ip, [r3, lr] @ movhi
+ ldr r1, [r3, r0, lsl #2]
+ bfi r1, r2, #11, #8
+ str r1, [r3, r0, lsl #2]
+.L4420:
+ ldr r3, [r4, #1096]
+ mov r7, #0
+ str r7, [r8, #912]
+ strh r7, [r6, #52] @ movhi
ldrh r0, [r3, #80]
bl ftl_free_sblk
- ldr r0, [r4, #2836]
- ldr r2, [r4, #1092]
+ ldr r0, [r4, #2832]
mvn r3, #0
- ldr r1, [r4, #2804]
- cmp r0, r6
+ ldr r2, [r4, #1096]
+ ldr r1, [r4, #2800]
+ cmp r0, r7
strh r3, [r2, #80] @ movhi
strh r3, [r1, #126] @ movhi
strh r3, [r2, #130] @ movhi
- beq .L4523
+ beq .L4423
bl zbuf_free
-.L4523:
- str r6, [r4, #2836]
+.L4423:
+ str r7, [r4, #2832]
bl flt_sys_flush
- ldr r1, .L4635+64
movw r2, #3567
- ldr r0, .L4635+68
- strb r6, [r5, #-182]
+ ldr r1, .L4535+64
+ ldr r0, .L4535+68
+ strb r7, [r5, #-144]
bl printk
bl dump_stack
- b .L4536
-.L4519:
- ldrh r3, [r6, #86]
- ldrh r2, [r10, #22]
+ b .L4435
+.L4422:
+ bl ftl_mask_bad_block
+ b .L4420
+.L4419:
+ ldrh r3, [r7, #86]
+ ldrh r2, [r6, #22]
cmp r3, #1
- ldrh r3, [r10, #20]
- bls .L4524
+ ldrh r3, [r6, #20]
+ bls .L4424
cmp r2, r3
- bcc .L4513
+ bcc .L4413
mov r3, #1
- strb r3, [fp, #-182]
- ldrh r3, [r7, #52]
+ strb r3, [r5, #-144]
+ ldrh r3, [r6, #52]
add r2, r3, #1
- strh r2, [r7, #52] @ movhi
- ldrh r2, [r7]
- add r3, r7, r3, asl #1
+ strh r2, [r6, #52] @ movhi
+ add r3, r6, r3, lsl #1
+ ldrh r2, [r6]
strh r2, [r3, #54] @ movhi
mvn r3, #0
- strh r3, [r7] @ movhi
- b .L4536
-.L4524:
+ strh r3, [r6] @ movhi
+ b .L4435
+.L4424:
cmp r2, r3
mov r1, #5
- strb r1, [fp, #-182]
- bcc .L4525
- ldrh r3, [r7, #52]
+ strb r1, [r5, #-144]
+ bcc .L4425
+ ldrh r3, [r6, #52]
add r2, r3, #1
- strh r2, [r7, #52] @ movhi
- ldrh r2, [r7]
- add r3, r7, r3, asl #1
+ strh r2, [r6, #52] @ movhi
+ add r3, r6, r3, lsl #1
+ ldrh r2, [r6]
strh r2, [r3, #54] @ movhi
mvn r3, #0
- strh r3, [r7] @ movhi
-.L4525:
+ strh r3, [r6] @ movhi
+.L4425:
bl ftl_flush
bl sblk_wait_write_queue_completed
bl gc_write_completed
- ldrh r2, [r6, #80]
- ldr r3, [r4, #1092]
+ ldrh r2, [r7, #80]
+ ldr r3, [r4, #1096]
strh r2, [r3, #128] @ movhi
bl pm_flush
bl ftl_ext_info_flush
- ldr r1, .L4635+52
- ldrb r0, [r4, #1196] @ zero_extendqisi2
+ ldr r2, .L4535+60
mov r3, #0
- strh r3, [r7, #12] @ movhi
- ldrh r3, [r1, #-8]
- cmp r0, #0
- ldr r2, .L4635+56
- ldrneh r1, [r1, #-26]
- strh r3, [r7, #14] @ movhi
- ldrb r3, [r5, #-3124] @ zero_extendqisi2
- strneh r1, [r2, #14] @ movhi
- movne r1, #1
- strh r3, [r7, #16] @ movhi
- strneh r1, [r2, #16] @ movhi
+ ldrb r1, [r4, #1158] @ zero_extendqisi2
+ strh r3, [r6, #12] @ movhi
+ ldrh r3, [r2, #-8]
+ cmp r1, #0
+ ldrhne r2, [r2, #-30]
+ strh r3, [r6, #14] @ movhi
+ ldrb r3, [r5, #-3128] @ zero_extendqisi2
+ strhne r2, [r6, #14] @ movhi
+ movne r2, #1
+ strh r3, [r6, #16] @ movhi
+ strhne r2, [r6, #16] @ movhi
cmp r3, #2
- bne .L4528
- ldrh r3, [r7, #14]
- mov r3, r3, asl #1
- strh r3, [r7, #14] @ movhi
- ldrb r3, [r5, #-3122] @ zero_extendqisi2
+ bne .L4428
+ ldrh r3, [r6, #14]
+ lsl r3, r3, #1
+ strh r3, [r6, #14] @ movhi
+ ldrb r3, [r5, #-3126] @ zero_extendqisi2
cmp r3, #0
- ldreq r3, .L4635+56
- moveq r2, #1
- streqh r2, [r3, #16] @ movhi
-.L4528:
+ moveq r3, #1
+ strheq r3, [r6, #16] @ movhi
+.L4428:
mov r3, #0
- strh r3, [r7, #18] @ movhi
- b .L4536
-.L4537:
- ldr r8, .L4635+56
- mov r6, #0
-.L4419:
- bl gc_check_data_one_wl
- subs r10, r0, #0
- beq .L4531
- ldr r3, .L4635+56
- mov r6, #0
- strh r6, [r3, #52] @ movhi
- ldr r3, [r4, #1092]
- ldrh r0, [r3, #80]
- bl ftl_free_sblk
- ldr r2, [r4, #1092]
- ldr r1, [r4, #2804]
- mvn r3, #0
- ldr r0, [r4, #2836]
- strh r3, [r2, #80] @ movhi
- strh r3, [r1, #126] @ movhi
- strh r3, [r2, #130] @ movhi
- bl zbuf_free
- str r6, [r4, #2836]
- strb r6, [r5, #-182]
-.L4630:
- bl flt_sys_flush
- b .L4536
-.L4531:
+ strh r3, [r6, #18] @ movhi
+ b .L4435
+.L4431:
ldrh r2, [r8, #12]
ldrh r3, [r8, #14]
- ldr r9, .L4635+60
cmp r2, r3
- bcc .L4532
- ldr r0, [r9, #2836]
+ bcc .L4432
mov r3, #6
- strb r3, [r5, #-182]
+ ldr r0, [r4, #2832]
+ strb r3, [r5, #-144]
bl zbuf_free
- str r10, [r9, #2836]
- b .L4536
-.L4532:
- cmp r7, #15
- bls .L4419
- cmp fp, #1
- bne .L4536
- add r6, r6, #1
- uxtb r6, r6
- cmp r6, #4
- bls .L4419
- b .L4536
-.L4420:
+ str r9, [r4, #2832]
+ b .L4435
+.L4432:
+ cmp r6, #15
+ bls .L4320
+ cmp r10, #1
+ bne .L4435
+ add r7, r7, #1
+ uxtb r7, r7
+ cmp r7, #4
+ bls .L4320
+ b .L4435
+.L4319:
bl gc_update_l2p_map_new
- mvn r7, #0
bl gc_free_src_blk
bl ftl_flush
+ mvn r6, #0
bl pm_flush
- strh r7, [r6, #80] @ movhi
+ strh r6, [r7, #80] @ movhi
bl ftl_ext_info_flush
- ldr r3, [r4, #2804]
+ ldr r3, [r4, #2800]
mov r0, #0
- strh r7, [r3, #126] @ movhi
+ strh r6, [r3, #126] @ movhi
bl ftl_info_flush
-.L4632:
+.L4534:
mov r3, #0
-.L4631:
- strb r3, [r5, #-182]
-.L4536:
- mov r0, #16
- b .L4621
-.L4459:
- mov r0, r6
- b .L4621
-.L4509:
- ldr r1, .L4635+64
+ b .L4533
+.L4409:
movw r2, #3430
- ldr r0, .L4635+68
+ ldr r1, .L4535+64
+ ldr r0, .L4535+68
bl printk
bl dump_stack
- b .L4535
-.L4621:
- add sp, sp, #44
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+ b .L4434
.fnend
.size zftl_do_gc, .-zftl_do_gc
.align 2
.global zftl_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_init, %function
zftl_init:
.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}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ mvn r3, #0
+ ldr r5, .L4617
+ mov r6, #0
.pad #28
sub sp, sp, #28
- ldr r5, .L4721
- mvn r3, #0
- ldr r4, .L4721+4
- mov r6, #0
- ldr r1, .L4721+8
- ldr r0, .L4721+12
- strb r3, [r4, #2824]
- strb r3, [r5, #-2530]
- strb r3, [r5, #-96]
- str r3, [r5, #556]
- strb r6, [r4, #2800]
- strb r6, [r5, #-2529]
- strb r6, [r4, #2801]
+ ldr r4, .L4617+4
+ ldr r9, .L4617+8
+ ldr r1, .L4617+12
+ ldr r0, .L4617+16
+ strb r3, [r4, #2820]
+ strb r3, [r5, #-2536]
+ strb r3, [r5, #-88]
+ str r3, [r5]
+ strb r6, [r4, #2796]
+ strb r6, [r5, #-2535]
+ strb r6, [r4, #2797]
bl printk
- ldr r8, .L4721+16
+ ldrb r3, [r9, #16] @ zero_extendqisi2
sub r2, r5, #3104
- ldrb r3, [r8, #16] @ zero_extendqisi2
- ldrb fp, [r8, #13] @ zero_extendqisi2
- strb fp, [r4, #2772]
- mov r9, fp, asl #9
- uxth r9, r9
+ ldrb r8, [r9, #13] @ zero_extendqisi2
str r3, [sp, #4]
ldrb r3, [sp, #4] @ zero_extendqisi2
ldr r1, [sp, #4]
- strb r3, [r5, #-3124]
- ldrh r3, [r8, #14]
- strh r3, [r2, #-10] @ movhi
+ lsl r10, r8, #9
+ strb r8, [r5, #-2546]
+ strb r3, [r5, #-3128]
+ uxth r10, r10
+ ldrh r3, [r9, #14]
+ strh r3, [r2, #-14] @ movhi
mov r0, r3
- str r3, [sp, #8]
+ str r3, [sp, #12]
bl __aeabi_idiv
- sub r1, r5, #3088
- ldrh r10, [r8, #18]
- ldrh ip, [r4, #2]
- 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, #-3130]
- mov r0, #1
- uxtb r7, r1
- movw r1, #1076
- strh r10, [r4, r1] @ movhi
- movw r1, #542
- strh r9, [r5, r1] @ movhi
- sub r1, r5, #3056
- strb r7, [r5, #-3123]
- strh ip, [r1, #-10] @ movhi
-.L4638:
- cmp r0, ip
- uxth r1, r6
- add r6, r6, #1
- movls r0, r0, asl #1
- bls .L4638
-.L4719:
- ldr r0, .L4721+20
- sub r1, r1, #1
- strh r1, [r0, #-12] @ movhi
- mov r0, #0
- mul r1, r3, fp
- mul r6, r10, r1
- str r1, [sp, #8]
+ str r0, [sp, #8]
+ sub r2, r5, #3088
+ ldrh r3, [sp, #8]
mov r1, #1
- mov ip, r6, lsr #21
-.L4640:
- cmp r1, ip
- uxth lr, r0
- add r0, r0, #1
- movls r1, r1, asl #1
- bls .L4640
-.L4720:
- ldr r1, .L4721+24
- sub lr, lr, #1
+ ldrb r7, [r4, #1109] @ zero_extendqisi2
+ ldrh fp, [r9, #18]
+ strh r3, [r2, #-8] @ movhi
+ ldrb r2, [r9, #17] @ zero_extendqisi2
+ strb r7, [r5, #-3072]
+ ldr r3, [sp, #12]
+ ldrh r0, [r4, #2]
+ smulbb r7, r7, r2
+ strb r2, [r5, #-3136]
+ movw r2, #1080
+ strh r10, [r5, #-14] @ movhi
+ strh fp, [r4, r2] @ movhi
+ sub r2, r5, #3072
+ uxtb r7, r7
+ strh r0, [r2, #-2] @ movhi
+ strb r7, [r5, #-3127]
+.L4538:
+ cmp r0, r1
+ uxth r2, r6
+ add r6, r6, #1
+ bcs .L4539
+ ldr r1, .L4617+20
+ sub r2, r2, #1
+ mov ip, #0
mov r0, #1
+ strh r2, [r1, #-2] @ movhi
+ mul r2, r3, r8
+ mul r1, r2, fp
+ str r2, [sp, #12]
+ lsr lr, r1, #21
+.L4540:
+ cmp lr, r0
+ uxth r2, ip
+ add ip, ip, #1
+ bcs .L4541
+ ldr r9, .L4617+24
+ sub r2, r2, #1
+ uxth r2, r2
+ mul r1, r7, r1
+ ldr r6, .L4617
+ lsr fp, fp, #4
str r3, [sp, #20]
- mul r6, r7, r6
- uxth lr, lr
- mul r1, r1, r7
- mov lr, r0, asl lr
- str r2, [sp, #12]
- mov r10, r10, lsr #4
- str r6, [r4, #2780]
- ldr r6, .L4721
- mul r8, lr, r1
- mov r1, fp
- add fp, r6, #564
- add ip, r8, #24576
- str ip, [r6, #560]
- str ip, [sp, #16]
- mov r0, ip
- str r8, [r4, #1032]
+ mul r0, r9, r7
+ str r1, [r4, #2776]
+ mov r1, r8
+ sub r8, r6, #3088
+ lsl r9, r0, r2
+ add r2, r9, #24576
+ str r9, [r4, #1032]
+ str r2, [r6, #4]
+ mov r0, r2
+ str r2, [sp, #16]
bl __aeabi_uidiv
- sub r1, r9, #1
- str r0, [r4, #2784]
- add r0, r1, r0, asl #2
- mov r1, r9
+ sub ip, r10, #1
+ str r0, [r4, #2780]
+ mov r1, r10
+ add r0, ip, r0, lsl #2
bl __aeabi_uidiv
- ldr r2, [sp, #12]
- strh r0, [fp] @ movhi
- uxth r0, r0
- mul r1, r7, r2
- mov r0, r0, asl #4
- bl __aeabi_idiv
- sub r2, r6, #3072
ldr r3, [sp, #8]
- ldr ip, [sp, #16]
- strh r0, [r6, #-152] @ movhi
+ strh r0, [r6, #8] @ movhi
+ uxth r0, r0
+ lsl r0, r0, #4
mul r1, r7, r3
- mov r0, ip
- str r2, [sp, #12]
+ bl __aeabi_idiv
+ ldr r3, [sp, #12]
+ ldr r2, [sp, #16]
+ strh r0, [r6, #-176] @ movhi
+ mul r1, r7, r3
+ mov r0, r2
sub r1, r1, #1
bl __aeabi_uidiv
- cmp r10, #79
- movw ip, #1084
- movls r1, #80
- ldr r2, [sp, #12]
+ cmp fp, #79
+ strh fp, [r8, #-4] @ movhi
+ movls r2, #80
+ mov r1, #2000
+ strhls r2, [r8, #-4] @ movhi
add r0, r0, #8
- ldr r3, [sp, #20]
- strh r10, [r2, #-14] @ movhi
- strlsh r1, [r2, #-14] @ movhi
- ldr r1, .L4721
- strh r0, [r2, #-12] @ movhi
- mov r0, #2000
- sub r2, r1, #2528
- strh r0, [r2, #-4] @ movhi
- mov r0, #50
- strh r0, [r2, #-6] @ movhi
- mov r0, #256
- strh r0, [r6, #-156] @ movhi
- mov r0, #48
- strh r0, [r6, #-154] @ movhi
+ ldr r2, .L4617+28
+ strh r0, [r8, #-2] @ movhi
mov r0, #32
- strh r0, [r4, ip] @ movhi
- ldr ip, [sp, #4]
- cmp ip, #2
- mov ip, r2
- beq .L4643
- ldrb lr, [r1, #-3116] @ zero_extendqisi2
- cmp lr, #0
- beq .L4644
-.L4643:
- mov r1, #150
- strh r1, [ip, #-6] @ movhi
- mov r1, #64
- strh r1, [r6, #-154] @ movhi
- movw r1, #1084
- mov lr, #12
- strh lr, [r4, r1] @ movhi
- ldrb lr, [r4] @ zero_extendqisi2
- ldr r2, .L4721
- cmp lr, #0
- sub r0, r2, #2528
- bne .L4645
- ldr lr, .L4721+4
- mov r10, #4
- strh r10, [lr, r1] @ movhi
- mov r1, #600
- strh r1, [r0, #-4] @ movhi
- mov r1, #128
- strh r1, [r2, #-156] @ movhi
-.L4645:
- ldrb r2, [r4, #1197] @ zero_extendqisi2
+ ldr r3, [sp, #20]
+ strh r1, [r2, #-10] @ movhi
+ mov r1, #50
+ strh r1, [r2, #-12] @ movhi
+ mov r1, #256
+ strh r1, [r6, #-180] @ movhi
+ mov r1, #48
+ strh r1, [r6, #-178] @ movhi
+ ldr r1, .L4617+32
+ strh r0, [r1] @ movhi
+ ldr r1, [sp, #4]
+ cmp r1, #2
+ mov r1, r2
+ beq .L4543
+ ldrb ip, [r6, #-3120] @ zero_extendqisi2
+ cmp ip, #0
+ beq .L4544
+.L4543:
+ mov r2, #150
+ mov r0, #12
+ strh r2, [r1, #-12] @ movhi
+ mov r2, #64
+ strh r2, [r6, #-178] @ movhi
+ ldr r2, .L4617+32
+ strh r0, [r2] @ movhi
+ ldrb r0, [r4] @ zero_extendqisi2
+ cmp r0, #0
+ moveq r0, #4
+ strheq r0, [r2] @ movhi
+ moveq r2, #600
+ strheq r2, [r1, #-10] @ movhi
+ moveq r2, #128
+ strheq r2, [r6, #-180] @ movhi
+ ldrb r2, [r4, #1159] @ zero_extendqisi2
cmp r2, #0
movne r2, #200
- strneh r2, [ip, #-6] @ movhi
+ strhne r2, [r1, #-12] @ movhi
movne r2, #2000
- strneh r2, [ip, #-4] @ movhi
- b .L4647
-.L4644:
- ldr ip, .L4721+4
- ldrb ip, [ip, #1196] @ zero_extendqisi2
- cmp ip, #0
- strneh r0, [r2, #-6] @ movhi
- strneh r0, [r1, #-154] @ movhi
- movne ip, #1200
- strneh ip, [r2, #-4] @ movhi
-.L4647:
- mul r3, r7, r3
- ldr r7, .L4721+16
+ strhne r2, [r1, #-10] @ movhi
+.L4547:
+ mul r7, r7, r3
mov r2, #0
- str r2, [r4, #2820]
+ str r2, [r4, #2812]
mov r2, #1
- strb r2, [r6, #545]
- cmp r9, r3, asl #2
- ldrlt r3, .L4721
- movlt r2, #2
- strltb r2, [r3, #545]
+ strb r2, [r6, #-11]
+ cmp r10, r7, lsl #2
+ ldr r7, .L4617+8
+ movlt r3, #2
+ strblt r3, [r6, #-11]
ldr r3, [r7]
tst r3, #4096
- beq .L4650
- ldr r0, .L4721+28
- mov r1, r8
+ beq .L4550
+ mov r1, r9
+ ldr r0, .L4617+36
bl printk
-.L4650:
+.L4550:
ldr r3, [r7]
tst r3, #4096
- beq .L4651
- ldr r0, .L4721+32
+ beq .L4551
+ ldr r1, [r4, #2776]
+ ldr r0, .L4617+40
+ bl printk
+.L4551:
+ ldr r3, [r7]
+ tst r3, #4096
+ beq .L4552
ldr r1, [r4, #2780]
+ ldr r0, .L4617+44
bl printk
-.L4651:
+.L4552:
ldr r3, [r7]
tst r3, #4096
- beq .L4652
- ldr r0, .L4721+36
- ldr r1, [r4, #2784]
+ beq .L4553
+ ldr r1, [r6, #4]
+ ldr r0, .L4617+48
bl printk
-.L4652:
+.L4553:
ldr r3, [r7]
tst r3, #4096
- beq .L4653
- ldr r0, .L4721+40
- ldr r1, [r6, #560]
+ beq .L4554
+ ldrh r1, [r6, #8]
+ ldr r0, .L4617+52
bl printk
-.L4653:
+.L4554:
ldr r3, [r7]
tst r3, #4096
- beq .L4654
- ldr r0, .L4721+44
- ldrh r1, [fp]
+ beq .L4555
+ ldrh r1, [r6, #-14]
+ ldr r0, .L4617+56
bl printk
-.L4654:
+.L4555:
ldr r3, [r7]
tst r3, #4096
- beq .L4655
- movw r3, #542
- ldr r0, .L4721+48
- ldrh r1, [r6, r3]
+ beq .L4556
+ ldrh r1, [r6, #-176]
+ ldr r0, .L4617+60
bl printk
-.L4655:
+.L4556:
ldr r3, [r7]
tst r3, #4096
- beq .L4656
- ldr r0, .L4721+52
- ldrh r1, [r6, #-152]
+ beq .L4557
+ ldrh r1, [r8, #-4]
+ ldr r0, .L4617+64
bl printk
-.L4656:
+.L4557:
ldr r3, [r7]
tst r3, #4096
- beq .L4657
- ldr r3, .L4721+56
- ldr r0, .L4721+60
- ldrh r1, [r3, #-14]
+ beq .L4558
+ ldrh r1, [r8, #-2]
+ ldr r0, .L4617+68
bl printk
-.L4657:
- ldr r3, [r7]
- tst r3, #4096
- beq .L4658
- ldr r3, .L4721+56
- ldr r0, .L4721+64
- ldrh r1, [r3, #-12]
- bl printk
-.L4658:
+.L4558:
bl zbuf_init
mov r0, #16384
+ movw r9, #1080
bl ftl_malloc
- movw r9, #1076
- ldr r8, .L4721+68
- str r0, [r5, #204]
+ str r0, [r5, #-52]
mov r0, #16384
bl ftl_malloc
- str r0, [r5, #212]
+ str r0, [r5, #-44]
mov r0, #16384
bl ftl_malloc
+ str r0, [r5, #12]
+ mov r0, #256
+ bl ftl_dma32_malloc
+ str r0, [r5, #-76]
+ mov r0, #256
+ bl ftl_dma32_malloc
ldrh r3, [r4, r9]
- str r0, [r5, #568]
+ str r0, [r5, #-40]
mov r0, #6
mul r0, r0, r3
- bl ftl_malloc
- ldrb r3, [r5, #-3123] @ zero_extendqisi2
+ bl ftl_dma32_malloc
+ ldrh r3, [r8, #-8]
str r0, [r4, #1036]
- ldrh r0, [r8, #-8]
- mul r0, r3, r0
- mov r0, r0, asl #2
- bl ftl_malloc
- ldrb r3, [r5, #-3123] @ zero_extendqisi2
+ ldrb r0, [r5, #-3127] @ zero_extendqisi2
+ mul r0, r0, r3
+ lsl r0, r0, #2
+ bl ftl_dma32_malloc
ldrh r1, [r8, #-8]
- ldr r2, [r5, #212]
- mul r1, r3, r1
- str r2, [r5, #-2548]
- add r3, r2, r1, asl #3
- str r3, [r4, #1088]
- str r0, [r5, #-2544]
- ldrh r5, [r4, r9]
+ str r0, [r5, #-2552]
+ ldrb r0, [r5, #-3127] @ zero_extendqisi2
+ ldr r2, [r5, #-44]
+ ldrh ip, [r4, r9]
+ mul r0, r0, r1
+ str r2, [r5, #-2556]
+ lsl r1, r0, #1
+ add r3, r2, r0, lsl #3
ldr r0, [r7]
- mov r5, r5, lsr #1
+ add r1, r1, ip, lsr #1
+ str r3, [r4, #1092]
+ add r1, r2, r1, lsl #2
tst r0, #4096
- add r1, r5, r1, asl #1
- add r1, r2, r1, asl #2
- str r1, [r4, #1092]
- beq .L4659
- ldr r0, .L4721+72
+ str r1, [r4, #1096]
+ beq .L4559
+ ldr r0, .L4617+72
bl printk
-.L4659:
- movw r3, #1076
- ldrh r5, [r8, #-8]
- ldrh r2, [r4, r3]
- ldrb r3, [r6, #-3123] @ zero_extendqisi2
- ldrh fp, [fp]
- mul r5, r3, r5
+.L4559:
+ ldrh r2, [r8, #-8]
+ movw r3, #1080
+ ldrb r5, [r6, #-3127] @ zero_extendqisi2
+ ldrh r3, [r4, r3]
+ mul r5, r5, r2
+ ldrh r2, [r6, #8]
+ lsl r8, r3, #2
+ add r5, r3, r5, lsl #2
ldr r3, [r7]
- mov fp, fp, asl #2
+ add r8, r8, r2, lsl #2
+ lsl r5, r5, #1
tst r3, #4096
- add fp, fp, r2, asl #2
- add fp, fp, #704
- add r5, r2, r5, asl #2
- mov r5, r5, asl #1
add r5, r5, #632
- beq .L4660
- ldr ip, .L4721
- movw r3, #542
- ldr r0, .L4721+76
+ add r8, r8, #704
+ beq .L4560
+ ldrh r3, [r6, #-14]
+ mov r2, r8
mov r1, r5
- mov r2, fp
- ldrh r3, [ip, r3]
+ ldr r0, .L4617+76
bl printk
-.L4660:
- movw r3, #542
- ldrh r3, [r6, r3]
- cmp fp, r3
- cmpls r5, r3
- movhi fp, #1
- movls fp, #0
- bls .L4661
-.L4717:
- b .L4717
-.L4661:
+.L4560:
+ ldrh r1, [r6, #-14]
+ cmp r8, r1
+ cmpls r5, r1
+ movhi r5, #1
+ movls r5, #0
+ bls .L4561
+.L4615:
+ b .L4615
+.L4539:
+ lsl r1, r1, #1
+ b .L4538
+.L4541:
+ lsl r0, r0, #1
+ b .L4540
+.L4544:
+ ldrb r1, [r4, #1158] @ zero_extendqisi2
+ cmp r1, #0
+ movne r1, #1200
+ strhne r0, [r2, #-12] @ movhi
+ strhne r1, [r2, #-10] @ movhi
+ strhne r0, [r6, #-178] @ movhi
+ b .L4547
+.L4561:
bl sblk_init
bl gc_init
bl ftl_info_blk_init
cmn r0, #1
- beq .L4663
+ beq .L4537
bl ftl_ext_info_init
mov r0, #1
bl pm_init
bl lpa_rebuild_hash
- ldr r0, [r4, #1092]
- mov r1, fp
+ ldr r0, [r4, #1096]
+ mov r1, r5
add r0, r0, #16
bl ftl_open_sblk_recovery
- ldr r1, [r4, #1092]
- add r0, r1, #48
- add r1, r1, #16
+ ldr r0, [r4, #1096]
+ add r1, r0, #16
+ add r0, r0, #48
bl ftl_open_sblk_recovery
- ldr r2, [r4, #2804]
- ldr r0, [r4, #1092]
+ ldr r2, [r4, #2800]
+ ldr r0, [r4, #1096]
ldr r3, [r2, #8]
add r0, r0, #16
add r3, r3, #16
str r3, [r2, #8]
bl ftl_info_data_recovery
- ldr r0, [r4, #1092]
+ ldr r0, [r4, #1096]
add r0, r0, #48
bl ftl_info_data_recovery
- ldr r0, [r4, #1092]
+ ldr r0, [r4, #1096]
add r0, r0, #80
bl ftl_info_data_recovery
bl gc_recovery
bl pm_flush
mov r0, #1
bl ftl_total_vpn_update
- ldr r3, .L4721
- ldrb r3, [r3, #209] @ zero_extendqisi2
+ ldrb r3, [r6, #-47] @ zero_extendqisi2
cmp r3, #0
- ldrne r3, .L4721+4
- ldrne r2, [r3, #2804]
+ ldrne r2, [r4, #2800]
ldrne r3, [r2, #68]
addne r3, r3, #1
strne r3, [r2, #68]
@@ -28434,63 +28649,64 @@
mov r0, #0
bl ftl_info_flush
bl print_ftl_debug_info
- ldr r3, [r4, #1092]
- ldr r2, .L4721+4
+ ldr r3, [r4, #1096]
ldrh r3, [r3, #124]
cmp r3, #0
- bne .L4669
- movw r3, #2788
- movw r1, #2792
- ldrh r3, [r2, r3]
- ldrh r2, [r2, r1]
+ bne .L4571
+ ldr r3, .L4617+80
+ movw r2, #2788
+ ldrh r2, [r4, r2]
+ ldrh r3, [r3]
add r3, r3, r2
cmp r3, #7
- ble .L4669
-.L4667:
+ ble .L4571
+.L4567:
mov r0, #0
- b .L4663
-.L4669:
- ldr r6, .L4721+80
+.L4537:
+ add sp, sp, #28
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L4571:
+ ldr r6, .L4617+80
mov r5, #16384
-.L4700:
+.L4568:
mov r1, #1
mov r0, #0
bl zftl_do_gc
- mov r0, #1
- mov r1, r0
+ mov r1, #1
+ mov r0, r1
bl zftl_do_gc
- ldr r3, [r4, #1092]
+ ldr r3, [r4, #1096]
ldrh r2, [r3, #124]
cmp r2, #0
- bne .L4666
+ bne .L4566
ldrh r2, [r3, #80]
movw r3, #65535
cmp r2, r3
- bne .L4666
- ldr r2, .L4721+84
+ bne .L4566
+ ldr r2, .L4617+84
ldrh r3, [r6]
ldrh r2, [r2]
add r3, r3, r2
cmp r3, #7
- bgt .L4667
-.L4666:
+ bgt .L4567
+.L4566:
subs r5, r5, #1
- bne .L4700
- b .L4667
-.L4663:
- add sp, sp, #28
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L4722:
+ bne .L4568
+ b .L4567
+.L4618:
.align 2
-.L4721:
+.L4617:
.word .LANCHOR3
.word .LANCHOR0
- .word .LC2
- .word .LC1
.word .LANCHOR2
- .word .LANCHOR3-3120
+ .word .LC1
+ .word .LC2
+ .word .LANCHOR3-3136
.word 1892352
+ .word .LANCHOR3-2528
+ .word .LANCHOR0+1088
+ .word .LC302
.word .LC303
.word .LC304
.word .LC305
@@ -28498,202 +28714,205 @@
.word .LC307
.word .LC308
.word .LC309
- .word .LANCHOR3-3072
.word .LC310
.word .LC311
- .word .LANCHOR3-3088
.word .LC312
- .word .LC313
+ .word .LANCHOR0+2784
.word .LANCHOR0+2788
- .word .LANCHOR0+2792
.fnend
.size zftl_init, .-zftl_init
.align 2
.global rk_ftl_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rk_ftl_init, %function
rk_ftl_init:
.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}
+ ldr r3, .L4634
mov r0, #68
- ldr r3, .L4739
+ push {r4, r5, r6, r7, r8, lr}
+ .save {r4, r5, r6, r7, r8, lr}
mov r5, #0
- ldr r4, .L4739+4
+ ldr r4, .L4634+4
ldr r3, [r3]
- str r5, [r4, #-140]
- strb r5, [r4, #572]
- str r3, [r4, #-144]
- bl ftl_malloc
+ str r5, [r4, #-164]
+ strb r5, [r4, #16]
+ str r3, [r4, #-168]
+ str r5, [r4, #-152]
+ bl ftl_dma32_malloc
cmp r0, r5
- str r0, [r4, #-136]
- bne .L4724
-.L4726:
- mvn r0, #0
- ldmfd sp!, {r3, r4, r5, r6, r7, pc}
-.L4724:
+ str r0, [r4, #-160]
+ bne .L4620
+.L4622:
+ mvn r5, #0
+.L4619:
+ mov r0, r5
+ pop {r4, r5, r6, r7, r8, pc}
+.L4620:
mov r0, #2048
- bl ftl_malloc
- add r1, r4, #580
- str r5, [r4, #-132]
- str r5, [r4, #580]
- str r0, [r4, #576]
- sub r0, r4, #132
+ bl ftl_dma32_malloc
+ mov r1, r4
+ str r0, [r4, #20]
+ str r5, [r1, #24]!
+ sub r0, r4, #156
+ str r5, [r4, #-156]
bl rknand_get_reg_addr
- ldr r3, [r4, #-132]
+ ldr r3, [r4, #-156]
cmp r3, #0
- beq .L4726
+ beq .L4622
bl rk_nandc_irq_init
- mov r1, r5
- mov r2, r5
mov r3, #2048
- ldr r0, [r4, #576]
+ mov r2, r5
+ mov r1, r5
+ ldr r0, [r4, #20]
bl flash_sram_load_store
bl rknand_flash_cs_init
- ldr r3, [r4, #-136]
- ldr r2, .L4739+8
- ldr r0, [r4, #-132]
+ ldr r3, [r4, #-160]
+ ldr r2, .L4634+8
+ ldr r0, [r4, #-156]
str r2, [r3, #40]
- ldr r2, .L4739+12
+ ldr r2, .L4634+12
str r2, [r3, #32]
- ldr r2, .L4739+16
+ ldr r2, .L4634+16
str r2, [r3, #44]
- ldr r2, .L4739+20
+ ldr r2, .L4634+20
str r2, [r3, #48]
- ldr r2, .L4739+24
+ ldr r2, .L4634+24
str r2, [r3, #36]
- ldr r2, .L4739+28
+ ldr r2, .L4634+28
str r2, [r3, #56]
- ldr r2, .L4739+32
+ ldr r2, .L4634+32
str r2, [r3, #20]
- ldr r2, .L4739+36
+ ldr r2, .L4634+36
str r2, [r3, #24]
- ldr r2, .L4739+40
+ ldr r2, .L4634+40
str r2, [r3, #12]
- ldr r2, .L4739+44
+ ldr r2, .L4634+44
str r2, [r3, #16]
- ldr r2, .L4739+48
+ ldr r2, .L4634+48
str r2, [r3, #4]
- ldr r2, .L4739+52
+ ldr r2, .L4634+52
str r2, [r3, #8]
- ldr r2, .L4739+56
+ ldr r2, .L4634+56
str r2, [r3, #60]
- ldr r2, .L4739+60
+ ldr r2, .L4634+60
str r2, [r3, #64]
- ldr r2, .L4739+64
+ ldr r2, .L4634+64
str r2, [r3, #52]
- ldr r2, .L4739+68
+ ldr r2, .L4634+68
str r2, [r3, #28]
bl nand_flash_init
subs r7, r0, #0
- bne .L4727
+ bne .L4623
bl zftl_init
mov r5, r0
bl zftl_proc_debug_init
mov r3, #1
- strb r3, [r4, #572]
- b .L4728
-.L4727:
- ldr r3, [r4, #-136]
+ strb r3, [r4, #16]
+.L4624:
+ mov r1, r5
+ ldr r0, .L4634+72
+ bl printk
+ b .L4619
+.L4623:
+ ldr r3, [r4, #-160]
mov r6, r4
- ldr r2, .L4739+72
- ldr r0, [r4, #-132]
- ldr r4, .L4739+76
+ ldr r2, .L4634+76
+ ldr r0, [r4, #-156]
+ ldr r4, .L4634+80
str r2, [r3, #40]
- ldr r2, .L4739+80
+ ldr r2, .L4634+84
str r2, [r3, #32]
- ldr r2, .L4739+84
+ ldr r2, .L4634+88
str r2, [r3, #44]
- ldr r2, .L4739+88
+ ldr r2, .L4634+92
str r2, [r3, #48]
- ldr r2, .L4739+92
+ ldr r2, .L4634+96
str r2, [r3, #36]
- ldr r2, .L4739+96
+ ldr r2, .L4634+100
str r2, [r3, #56]
- ldr r2, .L4739+100
+ ldr r2, .L4634+104
str r2, [r3, #20]
- ldr r2, .L4739+104
+ ldr r2, .L4634+108
str r2, [r3, #24]
- ldr r2, .L4739+108
+ ldr r2, .L4634+112
str r2, [r3, #12]
- ldr r2, .L4739+112
+ ldr r2, .L4634+116
str r2, [r3, #16]
- ldr r2, .L4739+116
+ ldr r2, .L4634+120
str r2, [r3, #4]
- ldr r2, .L4739+120
+ ldr r2, .L4634+124
str r2, [r3, #8]
- ldr r2, .L4739+124
+ ldr r2, .L4634+128
str r2, [r3, #60]
- ldr r2, .L4739+128
+ ldr r2, .L4634+132
str r2, [r3, #64]
- ldr r2, .L4739+132
+ ldr r2, .L4634+136
str r2, [r3, #52]
- ldr r2, .L4739+136
+ ldr r2, .L4634+140
str r2, [r3, #28]
bl FlashInit
cmn r7, #2
mov r5, r0
- bne .L4729
- ldr r1, .L4739+140
+ bne .L4625
mov r2, #32
+ ldr r1, .L4634+144
add r0, r4, #4
bl ftl_memcpy
ldrb r0, [r4, #22] @ zero_extendqisi2
bl flash_lsb_page_tbl_build
ldrh r3, [r4, #14]
strh r3, [r4, #30] @ movhi
-.L4729:
- ldr r3, .L4739+144
+.L4625:
+ ldr r3, .L4634+148
ldr r2, [r3]
- ldr r3, .L4739+148
+ ldr r3, .L4634+152
cmp r2, r3
- ldr r2, .L4739+152
- bne .L4730
- ldr r3, .L4739+156
+ ldr r2, .L4634+156
+ bne .L4626
+ ldr r3, .L4634+160
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #0
- bne .L4731
-.L4730:
+ bne .L4627
+.L4626:
mov r3, #0
- strb r3, [r2, #1102]
+ strb r3, [r2, #1110]
strb r3, [r2]
-.L4731:
- ldr r1, .L4739+160
+.L4627:
+ ldr r1, .L4634+164
mov r0, #1
ldrh ip, [r4, #14]
mov r3, #0
- str r3, [r6, #-108]
+ str r3, [r6, #-100]
ldrb r1, [r1] @ zero_extendqisi2
- strb r1, [r2, #1100]
- ldr r1, .L4739+164
+ strb r1, [r2, #1108]
+ ldr r1, .L4634+168
ldrb r1, [r1] @ zero_extendqisi2
- strb r1, [r2, #1172]
-.L4732:
- cmp r0, ip
+ strb r1, [r2, #1193]
+.L4628:
+ cmp ip, r0
uxth r1, r3
add r3, r3, #1
- movls r0, r0, asl #1
- bls .L4732
-.L4738:
- ldr r3, .L4739+168
- sub r1, r1, #1
- strh r1, [r3, #-12] @ movhi
+ bcs .L4629
+ sub r3, r1, #1
+ ldr r1, .L4634+172
+ strh r3, [r1, #-2] @ movhi
mov r3, #0
cmp r5, r3
- strb r3, [r2, #1135]
- bne .L4728
+ strb r3, [r2, #1143]
+ bne .L4624
bl FtlInit
mov r5, r0
-.L4728:
- mov r1, r5
- ldr r0, .L4739+172
- bl printk
- mov r0, r5
- ldmfd sp!, {r3, r4, r5, r6, r7, pc}
-.L4740:
+ b .L4624
+.L4629:
+ lsl r0, r0, #1
+ b .L4628
+.L4635:
.align 2
-.L4739:
+.L4634:
.word jiffies
.word .LANCHOR3
.word zftl_deinit
@@ -28712,6 +28931,7 @@
.word zftl_proc_ftl_read
.word zftl_do_gc
.word zftl_discard
+ .word .LC313
.word ftl_deinit
.word .LANCHOR2
.word ftl_cache_flush
@@ -28736,1196 +28956,1378 @@
.word gFlashSlcMode
.word gNandFlashIDBEccBits
.word gNandFlashEccBits
- .word .LANCHOR3-3120
- .word .LC314
+ .word .LANCHOR3-3136
.fnend
.size rk_ftl_init, .-rk_ftl_init
.align 2
.global zftl_write
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_write, %function
zftl_write:
.fnstart
- @ args = 0, pretend = 0, frame = 16
+ @ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- mov r9, r3
- ldr r3, .L4776
- .pad #28
- sub sp, sp, #28
- mov r5, r0
- mov r4, r1
- mov r6, r2
+ mov r10, r3
+ ldr r3, .L4666
+ .pad #36
+ sub sp, sp, #36
+ mov r4, r0
+ mov r6, r1
+ mov r5, r2
ldr r3, [r3]
tst r3, #4096
- beq .L4742
- ldr r3, [r9]
- mov r1, r5
- ldr r0, .L4776+4
- mov r2, r4
+ beq .L4637
+ ldr r3, [r10]
str r3, [sp]
- mov r3, r6
+ mov r3, r2
+ mov r2, r1
+ mov r1, r0
+ ldr r0, .L4666+4
bl printk
-.L4742:
- cmp r5, #0
- ldreq r3, .L4776+8
- moveq r5, #24576
- ldreq r3, [r3, #1032]
- beq .L4744
-.L4743:
- cmp r5, #3
- bhi .L4762
- mov r5, r5, asl #13
- mov r3, #8192
-.L4744:
- cmp r6, r3
- cmpls r4, r3
- movcs fp, #1
- movcc fp, #0
- bcs .L4762
- add r1, r4, r6
- cmp r1, r3
- bhi .L4762
- add r4, r5, r4
- ldr r5, .L4776+8
+.L4637:
+ cmp r4, #0
+ bne .L4638
+ ldr r3, .L4666+8
+ mov r4, #24576
+ ldr r2, [r3, #1032]
+.L4639:
+ cmp r2, r5
+ cmpcs r2, r6
+ movls fp, #1
+ movhi fp, #0
+ bls .L4657
+ add r1, r6, r5
+ cmp r2, r1
+ bcc .L4657
+ ldr r8, .L4666+12
+ add r4, r4, r6
mov r0, r4
- ldrb r7, [r5, #2772] @ zero_extendqisi2
- mov r1, r7
+ ldrb r6, [r8, #-2546] @ zero_extendqisi2
+ mov r1, r6
bl __aeabi_uidiv
- mov r1, r7
- mov r10, r0
- sub r0, r6, #1
+ mov r9, r0
+ sub r0, r5, #1
+ mov r1, r6
add r0, r0, r4
- mov r8, r10
bl __aeabi_uidiv
- add r3, r4, r6
- rsb r7, r10, r0
- str r0, [sp, #8]
+ str r8, [sp, #16]
+ sub r7, r0, r9
+ ldr r8, .L4666+8
add r7, r7, #1
- str fp, [sp, #12]
- str r3, [sp, #16]
-.L4746:
+ mov r6, r9
+ add r3, r4, r5
+ str r0, [sp, #12]
+ str fp, [sp, #20]
+ str r3, [sp, #24]
+.L4641:
cmp r7, #0
- beq .L4774
- ldrb r3, [r5, #2800] @ zero_extendqisi2
- cmp r3, #0
- beq .L4747
- ldr r3, .L4776+8
- ldrb r3, [r3, #2774] @ zero_extendqisi2
- cmp r3, #2
- bhi .L4747
+ bne .L4650
bl ftl_write_commit
-.L4747:
+ mov r1, #1
+ mov r0, r7
+ bl zftl_do_gc
+ ldr r3, [r8, #1096]
+ ldr r4, .L4666+16
+ ldrh r3, [r3, #124]
+ cmp r3, #0
+ bne .L4651
+ movw r2, #2788
+ ldrh r3, [r4]
+ ldrh r2, [r8, r2]
+ add r3, r3, r2
+ cmp r3, #11
+ bgt .L4652
+.L4651:
+ mov r1, #1
+ mov r0, #0
+ bl zftl_do_gc
+.L4652:
+ ldr r5, .L4666+20
+.L4653:
+ ldrh r3, [r4]
+ ldrh r2, [r5]
+ add r3, r3, r2
+ cmp r3, #7
+ ble .L4654
+ bl timer_get_time
+ ldr r3, [sp, #16]
+ str r0, [r3, #-4]
+ mov r0, #0
+.L4636:
+ add sp, sp, #36
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L4638:
+ cmp r4, #3
+ bhi .L4657
+ lsl r4, r4, #13
+ mov r2, #8192
+ b .L4639
+.L4650:
+ ldrb r3, [r8, #2796] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L4642
+ ldrb r3, [r8, #2769] @ zero_extendqisi2
+ cmp r3, #2
+ bhi .L4642
+ bl ftl_write_commit
+.L4642:
mov r0, #0
bl buf_alloc
subs fp, r0, #0
- bne .L4748
+ bne .L4643
bl ftl_write_commit
- b .L4746
-.L4748:
- ldrb r3, [sp, #12] @ zero_extendqisi2
- rsb r0, r10, r8
- clz r0, r0
- ldrb r2, [r5, #2772] @ zero_extendqisi2
+ b .L4641
+.L4643:
+ ldrb r3, [sp, #20] @ zero_extendqisi2
strb r3, [fp, #41]
- mov r0, r0, lsr #5
- ldr r3, [sp, #8]
+ ldr r3, [sp, #16]
+ ldrb r2, [r3, #-2546] @ zero_extendqisi2
+ ldr r3, [sp, #12]
strb r2, [fp, #40]
- rsb r1, r3, r8
- clz r1, r1
- mov r1, r1, lsr #5
- orrs r3, r1, r0
- beq .L4751
- cmp r0, #0
- beq .L4752
+ cmp r6, r3
+ cmpne r6, r9
+ bne .L4646
+ cmp r6, r9
+ smulbbne r2, r6, r2
+ ldrne r3, [sp, #24]
+ subne r2, r3, r2
+ bne .L4665
mov r1, r2
mov r0, r4
- str r2, [sp, #20]
+ str r2, [sp, #28]
bl __aeabi_uidivmod
- ldr r2, [sp, #20]
+ ldr r2, [sp, #28]
uxtb r1, r1
strb r1, [fp, #41]
- rsb r2, r1, r2
+ sub r2, r2, r1
uxtb r2, r2
- cmp r2, r6
- strhib r6, [fp, #40]
- bhi .L4751
- b .L4773
-.L4752:
- cmp r1, #0
- beq .L4751
- smulbb r2, r8, r2
- ldr r3, [sp, #16]
- rsb r2, r2, r3
-.L4773:
+ cmp r5, r2
+ strbcc r5, [fp, #40]
+ bcc .L4646
+.L4665:
strb r2, [fp, #40]
-.L4751:
- ldrb r0, [fp, #41] @ zero_extendqisi2
- sub r7, r7, #1
+.L4646:
+ ldrb ip, [fp, #41] @ zero_extendqisi2
+ mov r1, r10
ldrb r2, [fp, #40] @ zero_extendqisi2
- ldr r1, [fp, #4]
- mov r2, r2, asl #9
- add r0, r1, r0, asl #9
- mov r1, r9
+ sub r7, r7, #1
+ ldr r0, [fp, #4]
+ lsl r2, r2, #9
+ add r0, r0, ip, lsl #9
bl ftl_memcpy
- ldr r1, [r5, #2804]
- str r8, [fp, #20]
- add r8, r8, #1
+ ldr r1, [r8, #2800]
+ str r6, [fp, #20]
+ add r6, r6, #1
ldr r2, [r1, #8]
add r0, r2, #1
str r0, [r1, #8]
- str r2, [fp, #16]
mov r0, fp
+ str r2, [fp, #16]
bl ftl_write_buf
ldrb r3, [fp, #40] @ zero_extendqisi2
- add r9, r9, r3, asl #9
- b .L4746
-.L4774:
- bl ftl_write_commit
- mov r0, r7
- mov r1, #1
- bl zftl_do_gc
- ldr r3, [r5, #1092]
- ldr r2, .L4776+8
- ldrh r3, [r3, #124]
- cmp r3, #0
- bne .L4756
- movw r3, #2788
- movw r1, #2792
- ldrh r3, [r2, r3]
- ldrh r2, [r2, r1]
- add r3, r3, r2
- cmp r3, #11
- bgt .L4757
-.L4756:
- mov r0, #0
- mov r1, #1
- bl zftl_do_gc
-.L4757:
- ldr r4, .L4776+12
-.L4758:
- ldr r2, .L4776+16
- ldrh r3, [r4]
- ldrh r2, [r2]
- add r3, r3, r2
- cmp r3, #7
- bgt .L4775
+ add r10, r10, r3, lsl #9
+ b .L4641
+.L4654:
mov r1, #1
mov r0, #0
bl zftl_do_gc
- mov r0, #1
- mov r1, r0
+ mov r1, #1
+ mov r0, r1
bl zftl_do_gc
- b .L4758
-.L4775:
- bl timer_get_time
- ldr r3, .L4776+20
- str r0, [r3, #552]
- mov r0, #0
- b .L4745
-.L4762:
+ b .L4653
+.L4657:
mvn r0, #0
-.L4745:
- add sp, sp, #28
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L4777:
+ b .L4636
+.L4667:
.align 2
-.L4776:
+.L4666:
.word .LANCHOR2
- .word .LC315
+ .word .LC314
.word .LANCHOR0
- .word .LANCHOR0+2788
- .word .LANCHOR0+2792
.word .LANCHOR3
+ .word .LANCHOR0+2784
+ .word .LANCHOR0+2788
.fnend
.size zftl_write, .-zftl_write
.align 2
.global zftl_vendor_write
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_vendor_write, %function
zftl_vendor_write:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- mov ip, r1
mov r3, r2
+ mov r2, r1
add r1, r0, #512
- mov r2, ip
mov r0, #2
b zftl_write
.fnend
.size zftl_vendor_write, .-zftl_vendor_write
.align 2
.global zftl_sys_write
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_sys_write, %function
zftl_sys_write:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- str lr, [sp, #-4]!
- .save {lr}
- mov ip, r1
- mov lr, r0
+ @ link register save eliminated.
mov r3, r2
- mov r1, lr
+ mov r2, r1
+ mov r1, r0
mov r0, #2
- mov r2, ip
- ldr lr, [sp], #4
b zftl_write
.fnend
.size zftl_sys_write, .-zftl_sys_write
.align 2
.global zftl_discard
+ .syntax unified
+ .arm
+ .fpu softvfp
.type zftl_discard, %function
zftl_discard:
.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}
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- mov r4, r1
- ldr r6, .L4832
.pad #36
sub sp, sp, #36
- ldr r5, [r6, #1032]
- cmp r1, r5
- cmpls r0, r5
+ ldr r7, .L4720
+ ldr r3, [r7, #1032]
+ cmp r1, r3
+ cmpls r0, r3
movcs r2, #1
movcc r2, #0
- bcs .L4803
- add r3, r0, r1
- cmp r3, r5
- bhi .L4803
- ldr r3, .L4832+4
- add r7, r0, #24576
- ldr fp, .L4832+8
+ bcs .L4692
+ mov r4, r1
+ add r1, r0, r1
+ cmp r3, r1
+ bcc .L4692
+ ldr r3, .L4720+4
+ add r8, r0, #24576
+ ldr r6, .L4720+8
ldr r0, [r3]
- ldr r5, [fp, #584]
- mov r9, fp
- tst r0, #4096
+ ldr r1, [r6, #28]
str r3, [sp, #16]
- add r1, r1, r5
- str r1, [fp, #584]
- beq .L4783
+ tst r0, #4096
+ add r1, r4, r1
+ str r1, [r6, #28]
+ beq .L4672
str r2, [sp]
mov r3, r4
- ldr r0, .L4832+12
- mov r2, r7
+ mov r2, r8
+ ldr r0, .L4720+12
bl printk
-.L4783:
- ldr r3, [r6, #2804]
+.L4672:
+ ldr r3, [r7, #2800]
ldr r10, [r3, #8]
add r2, r10, #1
str r2, [r3, #8]
bl ftl_write_commit
bl ftl_flush
- ldrb r8, [r6, #2772] @ zero_extendqisi2
- mov r0, r7
- mov r1, r8
+ ldrb r9, [r6, #-2546] @ zero_extendqisi2
+ mov r0, r8
+ mov r1, r9
bl __aeabi_uidiv
- mls fp, r8, r0, r7
+ mov r1, r9
mov r5, r0
- cmp fp, #0
- beq .L4784
- rsb r8, fp, r8
- cmp r8, r4
- movcs r8, r4
+ mov r0, r8
+ bl __aeabi_uidivmod
+ subs fp, r1, #0
+ beq .L4673
+ sub r9, r9, fp
+ mov r0, r5
+ cmp r9, r4
+ movcs r9, r4
bl lpa_hash_get_ppa
cmn r0, #1
str r0, [sp, #24]
- bne .L4785
- mov r0, r5
- add r1, sp, #24
+ bne .L4674
mov r2, #0
+ add r1, sp, #24
+ mov r0, r5
bl pm_log2phys
-.L4785:
+.L4674:
ldr r3, [sp, #24]
cmn r3, #1
- uxth r3, r8
+ uxth r3, r9
str r3, [sp, #12]
- beq .L4787
+ beq .L4676
mov r0, #0
bl buf_alloc
subs r3, r0, #0
- beq .L4787
+ beq .L4676
ldr r0, [r3, #4]
mov r1, #0
str r5, [r3, #20]
strb fp, [r3, #41]
- add r0, r0, fp, asl #9
- strb r8, [r3, #40]
+ strb r9, [r3, #40]
str r10, [r3, #16]
+ add r0, r0, fp, lsl #9
str r3, [sp, #20]
ldr r3, [sp, #12]
- mov r2, r3, asl #9
+ lsl r2, r3, #9
bl ftl_memset
ldr r3, [sp, #20]
mov r0, r3
bl ftl_write_buf
bl ftl_write_commit
- ldr r2, [r6, #2804]
+ ldr r2, [r7, #2800]
ldr r3, [r2, #76]
add r3, r3, #1
str r3, [r2, #76]
-.L4787:
+.L4676:
ldr r3, [sp, #12]
add r5, r5, #1
- rsb r4, r3, r4
-.L4784:
+ sub r4, r4, r3
+.L4673:
cmp r4, #0
- beq .L4789
+ beq .L4678
bl ftl_flush
-.L4789:
- ldr r8, .L4832
+.L4678:
+ mov r9, #0
mvn r3, #0
- ldr fp, .L4832+16
str r3, [sp, #28]
-.L4790:
- ldrb r3, [r6, #2772] @ zero_extendqisi2
+.L4679:
+ ldrb r3, [r6, #-2546] @ zero_extendqisi2
cmp r4, r3
- bcc .L4831
- mov r0, r5
- bl lpa_hash_get_ppa
- cmn r0, #1
- str r0, [sp, #24]
- beq .L4791
- mov r0, #0
- bl buf_alloc
- subs r3, r0, #0
- beq .L4793
- ldrb r2, [r8, #2772] @ zero_extendqisi2
- mov r1, #0
- str r5, [r3, #20]
- strb r1, [r3, #41]
- strb r2, [r3, #40]
- mov r2, r2, asl #9
- str r10, [r3, #16]
- ldr r0, [r3, #4]
- str r3, [sp, #12]
- bl ftl_memset
- ldr r3, [sp, #12]
- mov r0, r3
- bl ftl_write_buf
- bl ftl_write_commit
- b .L4830
-.L4791:
- mov r0, r5
- add r1, sp, #24
- mov r2, #0
- bl pm_log2phys
- ldr r3, [sp, #24]
- cmn r3, #1
- beq .L4793
- add r1, sp, #28
- mov r2, #1
- mov r0, r5
- bl pm_log2phys
- ldrb r3, [r8, #1189] @ zero_extendqisi2
- ldrh r0, [fp]
- rsb r3, r3, #24
- ldrb r1, [r9, #-3130] @ zero_extendqisi2
- rsb r3, r0, r3
- ldr r2, [sp, #24]
- mov r2, r2, lsr r0
- mvn r0, #0
- bic r0, r2, r0, asl r3
- bl __aeabi_uidiv
- uxth r0, r0
- bl ftl_vpn_decrement
-.L4830:
- ldr r2, [r8, #2804]
- ldr r3, [r2, #76]
- add r3, r3, #1
- str r3, [r2, #76]
-.L4793:
- ldrb r3, [r6, #2772] @ zero_extendqisi2
- add r5, r5, #1
- rsb r4, r3, r4
- b .L4790
-.L4831:
+ bcs .L4684
cmp r4, #0
- beq .L4797
+ beq .L4686
mov r0, r5
bl lpa_hash_get_ppa
cmn r0, #1
str r0, [sp, #24]
- bne .L4798
- mov r0, r5
- add r1, sp, #24
+ bne .L4687
mov r2, #0
+ add r1, sp, #24
+ mov r0, r5
bl pm_log2phys
-.L4798:
+.L4687:
ldr r3, [sp, #24]
cmn r3, #1
- beq .L4797
+ beq .L4686
mov r0, #0
bl buf_alloc
- subs r8, r0, #0
- beq .L4797
+ subs r9, r0, #0
+ beq .L4686
mov r3, #0
- strb r3, [r8, #41]
- ldrb r3, [r6, #2772] @ zero_extendqisi2
- str r5, [r8, #20]
+ str r5, [r9, #20]
+ strb r3, [r9, #41]
+ ldrb r3, [r6, #-2546] @ zero_extendqisi2
+ strb r4, [r9, #40]
+ str r10, [r9, #16]
cmp r4, r3
- strb r4, [r8, #40]
- str r10, [r8, #16]
- bcc .L4800
- ldr r1, .L4832+20
- movw r2, #1495
- ldr r0, .L4832+24
+ bcc .L4689
+ movw r2, #1496
+ ldr r1, .L4720+16
+ ldr r0, .L4720+20
bl printk
bl dump_stack
-.L4800:
- mov r2, r4, asl #9
+.L4689:
+ lsl r2, r4, #9
mov r1, #0
- ldr r0, [r8, #4]
+ ldr r0, [r9, #4]
bl ftl_memset
- mov r0, r8
+ mov r0, r9
bl ftl_write_buf
bl ftl_write_commit
- ldr r2, [r6, #2804]
+ ldr r2, [r7, #2800]
ldr r3, [r2, #76]
add r3, r3, #1
str r3, [r2, #76]
-.L4797:
- ldr r1, [r9, #584]
+.L4686:
+ ldr r1, [r6, #28]
cmp r1, #8192
- bls .L4804
+ bls .L4693
ldr r3, [sp, #16]
ldr r3, [r3]
tst r3, #4096
- beq .L4801
+ beq .L4690
mov r3, #0
- ldr r0, .L4832+12
+ mov r2, r8
str r3, [sp]
- mov r2, r7
mov r3, r4
+ ldr r0, .L4720+12
bl printk
-.L4801:
+.L4690:
mov r4, #0
- str r4, [r9, #584]
+ str r4, [r6, #28]
bl flt_sys_flush
mov r3, #1
- str r3, [r6, #2820]
- b .L4804
-.L4803:
- mvn r0, #0
- b .L4782
-.L4804:
+ str r3, [r7, #2812]
+.L4693:
mov r0, #0
-.L4782:
+ b .L4670
+.L4684:
+ mov r0, r5
+ bl lpa_hash_get_ppa
+ cmn r0, #1
+ str r0, [sp, #24]
+ beq .L4680
+ mov r0, #0
+ bl buf_alloc
+ subs fp, r0, #0
+ beq .L4682
+ ldrb r2, [r6, #-2546] @ zero_extendqisi2
+ mov r1, #0
+ str r5, [fp, #20]
+ strb r9, [fp, #41]
+ strb r2, [fp, #40]
+ str r10, [fp, #16]
+ lsl r2, r2, #9
+ ldr r0, [fp, #4]
+ bl ftl_memset
+ mov r0, fp
+ bl ftl_write_buf
+ bl ftl_write_commit
+.L4719:
+ ldr r2, [r7, #2800]
+ ldr r3, [r2, #76]
+ add r3, r3, #1
+ str r3, [r2, #76]
+.L4682:
+ ldrb r3, [r6, #-2546] @ zero_extendqisi2
+ add r5, r5, #1
+ sub r4, r4, r3
+ b .L4679
+.L4680:
+ mov r2, #0
+ add r1, sp, #24
+ mov r0, r5
+ bl pm_log2phys
+ ldr r3, [sp, #24]
+ cmn r3, #1
+ beq .L4682
+ mov r2, #1
+ add r1, sp, #28
+ mov r0, r5
+ bl pm_log2phys
+ ldr r3, .L4720+24
+ ldr r2, [sp, #24]
+ ldrb r1, [r6, #-3136] @ zero_extendqisi2
+ ldrh r0, [r3]
+ ldrb r3, [r7, #1153] @ zero_extendqisi2
+ lsr r2, r2, r0
+ rsb r3, r3, #24
+ sub r3, r3, r0
+ mvn r0, #0
+ bic r0, r2, r0, lsl r3
+ bl __aeabi_uidiv
+ uxth r0, r0
+ bl ftl_vpn_decrement
+ b .L4719
+.L4692:
+ mvn r0, #0
+.L4670:
add sp, sp, #36
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L4833:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L4721:
.align 2
-.L4832:
+.L4720:
.word .LANCHOR0
.word .LANCHOR2
.word .LANCHOR3
- .word .LC316
- .word .LANCHOR3-3132
- .word .LANCHOR1+2764
+ .word .LC315
+ .word .LANCHOR1+2536
.word .LC0
+ .word .LANCHOR3-3138
.fnend
.size zftl_discard, .-zftl_discard
.align 2
.global dump_pm_blk
+ .syntax unified
+ .arm
+ .fpu softvfp
.type dump_pm_blk, %function
dump_pm_blk:
.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}
- movw ip, #698
- ldr r4, .L4840
+ push {r4, r5, r6, r7, r8, lr}
+ .save {r4, r5, r6, r7, r8, lr}
+ movw r3, #698
+ ldr r4, .L4727
mov r2, #4
- ldr r0, .L4840+4
- mov r6, #0
- ldr r5, .L4840+8
+ mov r5, #0
movw r7, #65535
- ldr r3, [r4, #2804]
- add r1, r3, #704
- ldrh r3, [r3, ip]
+ ldr r0, .L4727+4
+ ldr r1, [r4, #2800]
+ ldr r6, .L4727+8
+ ldrh r3, [r1, r3]
+ add r1, r1, #704
bl rknand_print_hex
- ldr r1, [r4, #2804]
- ldr r0, .L4840+12
+ ldr r1, [r4, #2800]
mov r2, #2
+ ldrh r3, [r6, #-176]
+ ldr r0, .L4727+12
add r1, r1, #416
- ldrh r3, [r5, #-152]
bl rknand_print_hex
-.L4835:
- ldrh r2, [r5, #-152]
- uxth r3, r6
+.L4723:
+ ldrh r2, [r6, #-176]
+ uxth r3, r5
cmp r2, r3
- bls .L4839
+ bhi .L4725
+ pop {r4, r5, r6, r7, r8, pc}
+.L4725:
+ uxth r3, r5
+ ldr r2, [r4, #2800]
add r3, r3, #208
- ldr r2, [r4, #2804]
- mov r3, r3, asl #1
+ lsl r3, r3, #1
ldrh r0, [r2, r3]
cmp r0, r7
- beq .L4836
+ beq .L4724
mov r1, #0
bl ftl_sblk_dump
-.L4836:
- add r6, r6, #1
- b .L4835
-.L4839:
- ldmfd sp!, {r3, r4, r5, r6, r7, pc}
-.L4841:
+.L4724:
+ add r5, r5, #1
+ b .L4723
+.L4728:
.align 2
-.L4840:
+.L4727:
.word .LANCHOR0
- .word .LC268
+ .word .LC267
.word .LANCHOR3
- .word .LC269
+ .word .LC268
.fnend
.size dump_pm_blk, .-dump_pm_blk
.align 2
.global id_block_prog_msb_ff_data
+ .syntax unified
+ .arm
+ .fpu softvfp
.type id_block_prog_msb_ff_data, %function
id_block_prog_msb_ff_data:
.fnstart
- @ args = 0, pretend = 0, frame = 8
+ @ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ push {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, .L4736
+ ldrb r3, [r5, #1110] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L4729
+ ldr r3, [r5, #1104]
mov r4, r2
- ldr r5, .L4849
- .pad #20
- sub sp, sp, #20
- ldrb r2, [r5, #1102] @ zero_extendqisi2
- ldr r3, [r5, #1096]
- cmp r2, #0
+ mov r10, r0
+ mov fp, r1
ldrb r3, [r3, #19] @ zero_extendqisi2
- bne .L4842
sub r2, r3, #5
- mov r8, r0
cmp r3, #68
cmpne r2, #2
- mov r9, r1
- bls .L4844
+ bls .L4731
sub r3, r3, #19
tst r3, #239
- bne .L4842
-.L4844:
- ldr fp, .L4849
- ldr r6, .L4849+4
- ldr r7, .L4849+8
-.L4846:
- ldr r3, [r5, #1096]
+ bne .L4729
+.L4731:
+ ldr r6, .L4736+4
+ sub r7, r6, #2272
+.L4733:
+ ldr r3, [r5, #1104]
ldrh r3, [r3, #10]
cmp r3, r4
- bls .L4842
- mov ip, r4, asl #1
- add r10, r4, r9
- ldr r0, .L4849+12
+ bhi .L4734
+.L4729:
+ add sp, sp, #12
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L4734:
+ lsl r9, r4, #1
+ add r8, r4, fp
+ mov r2, r8
+ ldr r0, .L4736+8
+ ldrh r3, [r7, r9]
mov r1, r4
- ldrh r3, [r7, ip]
- mov r2, r10
- str ip, [sp, #12]
bl printk
+ ldrh r2, [r7, r9]
movw r3, #65535
- ldr ip, [sp, #12]
- ldrh r2, [r7, ip]
cmp r2, r3
- bne .L4842
- mov r1, #255
+ bne .L4729
mov r2, #16384
- ldr r0, [r6, #-128]
+ mov r1, #255
+ ldr r0, [r6, #-120]
add r4, r4, #1
bl ftl_memset
- ldr r3, [fp, #1096]
- ldr r2, [r6, #-128]
- mov r0, r8
- mov r1, r10
+ ldr r3, [r5, #1104]
+ mov r1, r8
+ mov r0, r10
uxth r4, r4
ldrb r3, [r3, #9] @ zero_extendqisi2
str r3, [sp]
- mov r3, r2
+ ldr r3, [r6, #-120]
+ mov r2, r3
bl flash_prog_page
- b .L4846
-.L4842:
- add sp, sp, #20
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L4850:
+ b .L4733
+.L4737:
.align 2
-.L4849:
+.L4736:
.word .LANCHOR0
.word .LANCHOR3
- .word .LANCHOR3-2268
- .word .LC317
+ .word .LC316
.fnend
.size id_block_prog_msb_ff_data, .-id_block_prog_msb_ff_data
.align 2
.global write_idblock
+ .syntax unified
+ .arm
+ .fpu softvfp
.type write_idblock, %function
write_idblock:
.fnstart
- @ args = 0, pretend = 0, frame = 136
+ @ args = 0, pretend = 0, frame = 160
@ frame_needed = 0, uses_anonymous_args = 0
- ldr ip, .L4930
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, lr}
+ ldr r3, .L4848
+ push {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, .L4930+4
- ldrb r4, [r3, #9] @ zero_extendqisi2
- ldrh r9, [r3, #10]
- ldr r3, .L4930+8
- ldr fp, .L4930+12
- ldr r10, .L4930+16
- ldrh r6, [r3, #30]
- cmp r5, r8
- cmpne r5, fp
- ldrb r3, [ip] @ zero_extendqisi2
- movne r7, #1
- moveq r7, #0
- cmp r5, r10
- moveq r5, #0
- andne r5, r7, #1
- str r3, [sp, #60]
- cmp r5, #0
- ldrh r3, [sp, #60]
- str r3, [sp, #44]
- ldrb r3, [ip, #1102] @ zero_extendqisi2
- str r3, [sp, #68]
- bne .L4928
+ .pad #180
+ sub sp, sp, #180
+ ldr lr, [r1]
+ ldrb ip, [r3] @ zero_extendqisi2
+ ldr r4, .L4848+4
+ ldr r10, .L4848+8
+ str ip, [sp, #76]
+ ldrh ip, [sp, #76]
+ ldr r9, .L4848+12
+ cmp lr, r4
+ cmpne lr, r10
+ str ip, [sp, #40]
+ movne ip, #1
+ moveq ip, #0
+ cmp lr, r9
+ moveq ip, #0
+ andne ip, ip, #1
+ cmp ip, #0
+ beq .L4739
+.L4847:
+ mvn r0, #0
+.L4738:
+ add sp, sp, #180
+ @ sp needed
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L4739:
cmp r0, #15
- bls .L4928
- mov r7, r0
- mov r0, #256000
- str ip, [sp, #20]
+ bls .L4847
mov r5, r2
- str r1, [sp, #36]
+ ldr r2, [r3, #1104]
+ mov fp, r0
+ mov r0, #256000
+ str r3, [sp, #16]
+ ldrb r6, [r2, #9] @ zero_extendqisi2
+ ldrh r8, [r2, #10]
+ ldr r2, .L4848+16
+ str r1, [sp, #32]
+ ldrh r7, [r2, #30]
+ ldrb r2, [r3, #1110] @ zero_extendqisi2
+ str r2, [sp, #96]
bl ftl_malloc
subs r3, r0, #0
- str r3, [sp, #24]
- beq .L4928
- ldr r3, .L4930+20
- ldr ip, [sp, #20]
- ldrb r3, [r3, #572] @ zero_extendqisi2
- cmp r3, #0
- beq .L4927
- ldrb r3, [ip] @ zero_extendqisi2
- cmp r3, #0
- ldrb r3, [ip, #1102] @ zero_extendqisi2
+ str r3, [sp, #20]
+ beq .L4847
+ ldr r2, .L4848+20
+ ldrb r2, [r2, #16] @ zero_extendqisi2
+ cmp r2, #0
+ streq r2, [sp, #16]
+ beq .L4742
+ ldr r3, [sp, #16]
+ ldrb r2, [r3] @ zero_extendqisi2
+ ldrb r3, [r3, #1110] @ zero_extendqisi2
+ cmp r2, #0
clzne r3, r3
- movne r3, r3, lsr #5
- bne .L4927
+ lsrne r3, r3, #5
+ bne .L4844
cmp r3, #3
- streq r3, [sp, #44]
+ streq r3, [sp, #40]
moveq r3, #2
- beq .L4927
+ beq .L4844
cmp r3, #2
- ldr r3, [sp, #44]
+ ldr r3, [sp, #40]
moveq r3, #2
- str r3, [sp, #44]
+ str r3, [sp, #40]
movne r3, #0
moveq r3, #3
-.L4927:
- str r3, [sp, #20]
- ldr r3, [sp, #36]
+.L4844:
+ str r3, [sp, #16]
+.L4742:
+ add fp, fp, #508
+ add fp, fp, #3
+ lsr fp, fp, #9
+ cmp fp, #8
+ bls .L4798
+ cmp fp, #500
+ bhi .L4745
+.L4744:
+ ldr r3, [sp, #32]
ldr r3, [r3]
- cmp r3, r8
- cmpne r3, fp
- movne fp, #1
- moveq fp, #0
- cmp r3, r10
- moveq r10, #0
- andne r10, fp, #1
- cmp r10, #0
- beq .L4858
- ldr r0, [sp, #24]
+ cmp r3, r4
+ cmpne r3, r10
+ movne r4, #1
+ moveq r4, #0
+ cmp r3, r9
+ moveq r9, #0
+ andne r9, r4, #1
+ cmp r9, #0
+ beq .L4746
+.L4745:
+ ldr r0, [sp, #20]
bl ftl_free
-.L4928:
- mvn r0, #0
- b .L4853
-.L4858:
- mov r0, r10
- add r7, r7, #508
+ b .L4847
+.L4798:
+ mov fp, #8
+ b .L4744
+.L4746:
+ mov r0, r9
+ mul r8, r6, r8
bl zftl_flash_exit_slc_mode
- ldr r3, .L4930
- mul r9, r9, r4
- add r7, r7, #3
- ldrb r2, [r3, #1102] @ zero_extendqisi2
- sub r0, r9, #1
- strb r2, [r3]
- mov r3, r7, lsr #9
- cmp r3, #8
- mov r1, r9
- movcs fp, r3
- movcc fp, #8
+ ldr r3, .L4848
+ sub r0, r8, #1
+ mov r1, r8
add r0, r0, fp
+ ldrb r2, [r3, #1110] @ zero_extendqisi2
+ strb r2, [r3]
bl __aeabi_uidiv
- ldr ip, .L4930+24
+ ldr r3, [sp, #32]
movw r2, #63871
- ldr r3, [sp, #36]
- str r0, [sp, #72]
+ ldr ip, .L4848+24
+ str r0, [sp, #100]
movw r0, #4094
add r3, r3, #254976
add r3, r3, #512
-.L4864:
+.L4752:
ldr r1, [r3, #-4]!
cmp r1, #0
- bne .L4859
- cmp r10, #0
- streq ip, [r3, #512]
+ bne .L4747
+ cmp r9, #0
sub r2, r2, #1
- ldrne r1, [sp, #36]
- ldrne r1, [r1, r10, asl #2]
- add r10, r10, #1
+ ldrne r1, [sp, #32]
+ streq ip, [r3, #512]
+ ldrne r1, [r1, r9, lsl #2]
+ add r9, r9, #1
strne r1, [r3, #512]
- cmp r10, r0
- movhi r10, #0
+ cmp r9, r0
+ movhi r9, #0
cmp r2, #4096
- bne .L4864
- b .L4863
-.L4859:
- ldr r0, .L4930+28
- bl printk
-.L4863:
- mul r3, r6, r4
- ldr r0, .L4930+32
- mov r1, r5
+ bne .L4752
+.L4751:
+ mul r3, r6, r7
mov r2, #4
- ldr r4, .L4930
- str r3, [sp, #56]
+ mov r1, r5
+ ldr r0, .L4848+28
+ str r3, [sp, #72]
mov r3, #5
bl rknand_print_hex
- ldr r0, .L4930+36
- mov r1, fp
mov r2, fp
+ mov r1, fp
+ ldr r0, .L4848+32
bl printk
sub r3, r5, #4
str r3, [sp, #48]
mov r3, #0
- str r3, [sp, #40]
- str r3, [sp, #28]
-.L4889:
- ldr r3, .L4930+20
- ldrb r3, [r3, #572] @ zero_extendqisi2
+ str r3, [sp, #36]
+ str r3, [sp, #24]
+.L4792:
+ ldr r3, .L4848+20
+ ldrb r3, [r3, #16] @ zero_extendqisi2
cmp r3, #0
- bne .L4865
+ bne .L4753
ldr r3, [sp, #48]
- ldr r1, [sp, #72]
+ ldr r1, [sp, #24]
ldr r2, [r3, #4]
- ldr r3, [sp, #56]
- mul r6, r3, r2
- ldr r3, [sp, #28]
- cmp r3, #0
- cmpne r1, #1
- bls .L4866
+ ldr r3, [sp, #72]
+ mul r10, r2, r3
+ ldr r3, [sp, #100]
+ cmp r1, #0
+ cmpne r3, #1
+ bls .L4754
ldr r3, [sp, #48]
ldr r3, [r3]
add r3, r3, #1
cmp r2, r3
- bne .L4866
- b .L4867
-.L4865:
- ldr r3, [r4, #1176]
- ldr r2, [sp, #28]
- add r3, r3, r2
- ldrb r6, [r3, #32] @ zero_extendqisi2
- cmp r6, #255
- beq .L4867
- ldr r3, [sp, #56]
- mul r6, r3, r6
- ldr r3, [sp, #20]
- cmp r3, #0
- beq .L4866
- ldr r3, [sp, #20]
- and r5, r2, #1
- cmp r3, #3
- orreq r5, r5, #1
- cmp r5, #0
- ldrneb r3, [sp, #44] @ zero_extendqisi2
- strneb r3, [r4]
- strneb r3, [r4, #1102]
- bne .L4866
- mov r0, r5
+ bne .L4754
+.L4755:
+ ldr r3, [sp, #24]
+ add r3, r3, #1
+ str r3, [sp, #24]
+ ldr r3, [sp, #48]
+ add r3, r3, #4
+ str r3, [sp, #48]
+ ldr r3, [sp, #24]
+ cmp r3, #4
+ bne .L4792
+.L4794:
+ mov r0, #0
bl zftl_flash_exit_slc_mode
- strb r5, [r4]
- strb r5, [r4, #1102]
-.L4866:
+ ldr r3, .L4848
+ mov r0, #0
+ ldrb r2, [sp, #76] @ zero_extendqisi2
+ strb r2, [r3]
+ ldr r2, [sp, #16]
+ cmp r2, #0
+ ldrbne r2, [sp, #96] @ zero_extendqisi2
+ strbne r2, [r3, #1110]
+ mov r2, #2
+ strb r2, [r3, #1154]
+ bl zftl_flash_enter_slc_mode
+ ldr r0, [sp, #20]
+ bl ftl_free
+ ldr r3, [sp, #36]
+ clz r0, r3
+ lsr r0, r0, #5
+ rsb r0, r0, #0
+ b .L4738
+.L4747:
+ ldr r0, .L4848+36
+ bl printk
+ b .L4751
+.L4753:
+ ldr r5, .L4848
+ ldr r2, [sp, #24]
+ ldr r3, [r5, #1040]
+ add r3, r3, r2
+ ldrb r3, [r3, #32] @ zero_extendqisi2
+ cmp r3, #255
+ beq .L4755
+ ldr r2, [sp, #72]
+ mul r10, r2, r3
+ ldr r3, [sp, #16]
+ cmp r3, #0
+ beq .L4754
+ ldr r3, [sp, #24]
+ and r4, r3, #1
+ ldr r3, [sp, #16]
+ cmp r3, #3
+ orreq r4, r4, #1
+ cmp r4, #0
+ ldrbne r3, [sp, #40] @ zero_extendqisi2
+ strbne r3, [r5]
+ strbne r3, [r5, #1110]
+ bne .L4754
+ mov r0, r4
+ bl zftl_flash_exit_slc_mode
+ strb r4, [r5]
+ strb r4, [r5, #1110]
+.L4754:
+ ldr r5, .L4848
mov r2, #512
mov r1, #0
- ldr r0, [sp, #24]
- mov r7, #0
+ ldr r0, [sp, #20]
bl ftl_memset
- ldr r3, [r4, #1096]
- mov r0, r6
- ldrb r10, [r3, #9] @ zero_extendqisi2
- ldrh r8, [r3, #10]
- ldr r3, .L4930+8
- mov r1, r10
- mul r8, r8, r10
- ldrh r5, [r3, #30]
- ldrb r3, [r4, #1168] @ zero_extendqisi2
- strb r7, [r4, #1168]
- mul r5, r5, r10
- str r3, [sp, #76]
+ ldr r3, [r5, #1104]
+ mov r6, #0
+ mov r0, r10
+ ldrb r8, [r3, #9] @ zero_extendqisi2
+ ldrh r7, [r3, #10]
+ ldr r3, .L4848+16
+ mov r1, r8
+ ldrh r4, [r3, #30]
+ mul r7, r8, r7
+ ldrb r3, [r5, #1196] @ zero_extendqisi2
+ strb r6, [r5, #1196]
+ str r3, [sp, #104]
+ mul r4, r8, r4
bl __aeabi_uidiv
mov r1, r0
- mov r0, r7
+ mov r0, r6
bl flash_erase_block
- cmp fp, r8
- movls r0, #1
- bls .L4869
- mov r0, r7
- add r1, r6, r5
+ cmp r7, fp
+ movcs r0, #1
+ bcs .L4757
+ add r1, r10, r4
+ mov r0, r6
bl flash_erase_block
mov r0, #2
-.L4869:
- ldr r3, .L4930
- ldr r2, [r3, #1096]
+.L4757:
+ ldr r2, [r5, #1104]
ldrh r3, [r2, #10]
ldrb r1, [r2, #12] @ zero_extendqisi2
- mov r3, r3, asl #2
+ lsl r3, r3, #2
mul r0, r0, r3
bl __aeabi_idiv
- mov r1, r5
- str r0, [sp, #80]
- mov r0, r6
+ mov r1, r4
+ str r0, [sp, #64]
+ mov r0, r10
bl __aeabi_uidivmod
- rsb r3, r1, r6
- str r1, [sp, #64]
- cmp r6, r3
- str r3, [sp, #52]
- bne .L4896
- ldrb r3, [r4, #1028] @ zero_extendqisi2
+ sub r3, r10, r1
+ str r1, [sp, #56]
+ cmp r10, r3
+ str r3, [sp, #44]
+ bne .L4801
+ ldrb r3, [r5, #1028] @ zero_extendqisi2
cmp r3, #9
- bne .L4896
- ldr r3, .L4930+20
- mov r1, #0
+ bne .L4801
+ ldr r3, .L4848+20
mov r2, #1024
- ldr r5, [r3, #-104]
- mov r0, r5
+ mov r1, #0
+ ldr r4, [r3, #-92]
+ mov r0, r4
bl ftl_memset
- ldr r2, .L4930+40
+ ldr r2, .L4848+40
mov r3, #12
- stmia r5, {r2, r3}
+ stm r4, {r2, r3}
mov r3, #0
- strb r3, [r5, #16]
- str r3, [r5, #12]
- ldrb r3, [r4, #1102] @ zero_extendqisi2
+ strb r3, [r4, #16]
+ str r3, [r4, #12]
+ ldrb r3, [r5, #1110] @ zero_extendqisi2
cmp r3, #0
- ldrne r3, [r4, #1096]
- ldrneb r3, [r3, #29] @ zero_extendqisi2
- strneb r3, [r5, #16]
+ ldrne r3, [r5, #1104]
+ ldrbne r3, [r3, #29] @ zero_extendqisi2
+ strbne r3, [r4, #16]
mov r3, #4
- strb r3, [r5, #17]
- ldr r3, [r4, #1096]
+ strb r3, [r4, #17]
+ ldr r3, .L4848
+ ldr r3, [r3, #1104]
ldrb r1, [r3, #12] @ zero_extendqisi2
ldrh r0, [r3, #10]
bl __aeabi_idiv
- cmp r10, #8
+ cmp r8, #8
mov r3, #0
- mov r1, #12
- strb r3, [r5, #20]
movhi r2, #70
movls r2, #16
- strh r3, [r5, #22] @ movhi
- strh r0, [r5, #18] @ movhi
- add r0, r5, #12
- strb r2, [r5, #21]
+ mov r1, #12
+ strh r0, [r4, #18] @ movhi
+ strb r3, [r4, #20]
+ add r0, r4, r1
+ strh r3, [r4, #22] @ movhi
+ strb r2, [r4, #21]
bl js_hash
sub r3, fp, #4
- str r0, [r5, #8]
- str r3, [sp, #32]
- b .L4870
-.L4896:
- mov r5, #0
- str fp, [sp, #32]
-.L4870:
- ldr r8, [sp, #36]
- mov r9, #0
-.L4873:
- ldr r3, [sp, #80]
- cmp r9, r3
- bcs .L4929
+ str r0, [r4, #8]
+ str r3, [sp, #28]
+.L4758:
+ ldr r9, [sp, #32]
+ mov r6, #0
+ ldr r7, .L4848
+.L4761:
ldr r3, [sp, #64]
- ldrb r2, [r4, #1102] @ zero_extendqisi2
- add r7, r9, r3
- ubfx r7, r7, #2, #16
- cmp r2, #0
- add r0, r7, #1
- mov r1, r0, asl #1
- add r3, r4, r1
- ldrh r3, [r3, #4]
- beq .L4875
- ldrb ip, [r4, #1] @ zero_extendqisi2
- cmp ip, #0
- moveq r3, r0
- movne r3, r1
-.L4875:
- ldrb r1, [r4, #1028] @ zero_extendqisi2
- ldr r0, .L4930
- cmp r1, #9
- movw r1, #61424
- str r1, [sp, #92]
- mov r1, r7, asl #1
- add r0, r0, r1
- subne r3, r3, #1
- ldrh r0, [r0, #4]
- movne r3, r3, asl #2
- cmp r2, #0
- str r3, [sp, #88]
- moveq r7, r0
- beq .L4879
- ldrb r2, [r4, #1] @ zero_extendqisi2
- cmp r2, #0
- movne r7, r1
-.L4879:
- cmp r5, #0
- mul r0, r10, r7
- bne .L4880
- ldr r2, [sp, #52]
- str r8, [sp]
- add ip, r0, r2
- ldr r2, [r8]
- ldr r0, .L4930+44
- mov r1, ip
- str ip, [sp, #84]
- stmib sp, {r2, r3}
- movw r3, #61424
- mov r2, r9
- str r3, [sp, #12]
- mov r3, fp
- bl printk
- mov r1, r8
- ldr ip, [sp, #84]
- add r2, sp, #88
- mov r0, ip
- bl fw_flash_page_prog.constprop.30
- ldrb r3, [r4, #1102] @ zero_extendqisi2
+ cmp r3, r6
+ bhi .L4772
+ ldr r3, .L4848+16
+ mov r4, #0
+ strb r4, [r7, #1196]
+ mov r0, r10
+ ldr r5, .L4848
+ mov r8, #4
+ ldrb r2, [r3, #13] @ zero_extendqisi2
+ ldrh r1, [r3, #30]
+ str r2, [sp, #80]
+ mul r1, r2, r1
+ bl __aeabi_uidivmod
+ sub r3, r10, r1
+ ldr r6, [sp, #20]
+ str r3, [sp, #84]
+ and r3, r1, #3
+ str r3, [sp, #56]
+ ldr r3, [sp, #28]
+ str r1, [sp, #52]
+ str r4, [sp, #64]
+ str r3, [sp, #68]
+.L4773:
+ ldr r3, [sp, #68]
+ cmp r4, r3
+ bcc .L4787
+ ldrb r3, [sp, #104] @ zero_extendqisi2
+ ldr r4, .L4848
+ strb r3, [r4, #1196]
+ ldr r3, [sp, #16]
cmp r3, #0
- bne .L4881
- mov r1, r10
- ldr r0, [sp, #52]
- bl __aeabi_uidiv
- add r2, r7, #1
- uxth r2, r2
- mov r1, r0
- mov r0, r5
- bl id_block_prog_msb_ff_data
-.L4881:
- ldr r3, [sp, #32]
- add r8, r8, #2048
- add r3, r3, #16
- cmp r9, r3
- bcc .L4882
- ldr r3, [sp, #32]
- add r3, r3, #20
- cmp r9, r3
- ldrcc r3, [sp, #36]
- addcc r8, r3, #2048
- b .L4882
-.L4880:
- ldr r3, [sp, #52]
- mov r1, r5
- add r2, sp, #88
- add r0, r0, r3
- bl fw_flash_page_prog.constprop.30
-.L4882:
- add r9, r9, #4
- mov r5, #0
- uxth r9, r9
- b .L4873
-.L4929:
- ldr r3, .L4930
- mov r0, r6
- ldrb r2, [sp, #76] @ zero_extendqisi2
- ldr r1, [sp, #32]
- strb r2, [r3, #1168]
- ldr r2, [sp, #24]
- bl id_block_read_data.constprop.31
- ldr r3, [sp, #20]
- cmp r3, #0
- beq .L4884
+ beq .L4788
mov r0, #0
bl zftl_flash_exit_slc_mode
mov r3, #0
strb r3, [r4]
- strb r3, [r4, #1102]
-.L4884:
- ldr r3, [sp, #32]
- mov r5, #0
- mov r8, r3, asl #7
-.L4887:
- ldr r3, [sp, #24]
- ldr r2, [r3, r5, asl #2]
- ldr r3, [sp, #36]
- ldr r3, [r3, r5, asl #2]
- cmp r2, r3
- beq .L4885
- mov r1, #0
+ strb r3, [r4, #1110]
+.L4788:
+ ldr r3, [sp, #28]
+ mov r2, #0
+ lsl r3, r3, #7
+.L4790:
+ ldr r1, [sp, #20]
+ ldr r0, [r1, r2, lsl #2]
+ ldr r1, [sp, #32]
+ ldr r1, [r1, r2, lsl #2]
+ cmp r0, r1
+ beq .L4789
mov r2, #512
- ldr r0, [sp, #24]
+ mov r1, #0
+ ldr r0, [sp, #20]
bl ftl_memset
+ mov r1, r10
mov r0, #0
- mov r1, r6
bl flash_erase_block
- cmp r5, r8
- bcs .L4886
- b .L4867
-.L4885:
- add r5, r5, #1
- cmp r5, r8
- bne .L4887
-.L4886:
- ldr r3, [sp, #40]
- add r3, r3, #1
- str r3, [sp, #40]
- cmp r3, #5
- bhi .L4888
-.L4867:
- ldr r3, [sp, #28]
- add r3, r3, #1
- str r3, [sp, #28]
- ldr r3, [sp, #48]
- add r3, r3, #4
- str r3, [sp, #48]
- ldr r3, [sp, #28]
- cmp r3, #4
- bne .L4889
-.L4888:
- mov r0, #0
- bl zftl_flash_exit_slc_mode
- ldr r3, .L4930
- mov r0, #0
- ldrb r2, [sp, #60] @ zero_extendqisi2
- strb r2, [r3]
- ldr r2, [sp, #20]
+ b .L4755
+.L4801:
+ str fp, [sp, #28]
+ mov r4, #0
+ b .L4758
+.L4772:
+ ldr r3, [sp, #56]
+ ldrb r2, [r7, #1110] @ zero_extendqisi2
+ add r5, r3, r6
+ ubfx r5, r5, #2, #16
cmp r2, #0
- ldrneb r2, [sp, #68] @ zero_extendqisi2
- strneb r2, [r3, #1102]
- mov r2, #2
- strb r2, [r3, #1192]
- bl zftl_flash_enter_slc_mode
- ldr r0, [sp, #24]
- bl ftl_free
- ldr r3, [sp, #40]
- clz r0, r3
- mov r0, r0, lsr #5
- rsb r0, r0, #0
-.L4853:
- add sp, sp, #156
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L4931:
+ add r0, r5, #1
+ lsl r1, r0, #1
+ add r3, r7, r1
+ ldrh r3, [r3, #4]
+ beq .L4763
+ ldrb r3, [r7, #1] @ zero_extendqisi2
+ cmp r3, #0
+ moveq r3, r0
+ movne r3, r1
+.L4763:
+ ldrb r1, [r7, #1028] @ zero_extendqisi2
+ cmp r1, #9
+ subne r3, r3, #1
+ lslne r3, r3, #2
+ cmp r2, #0
+ str r3, [sp, #112]
+ movw r3, #61424
+ str r3, [sp, #116]
+ lsl r3, r5, #1
+ add r1, r7, r3
+ ldrh r1, [r1, #4]
+ moveq r5, r1
+ beq .L4768
+ ldrb r2, [r7, #1] @ zero_extendqisi2
+ cmp r2, #0
+ movne r5, r3
+.L4768:
+ cmp r4, #0
+ mul r0, r5, r8
+ bne .L4769
+ ldr r3, [sp, #44]
+ add r3, r0, r3
+ ldr r0, .L4848+44
+ str r3, [sp, #60]
+ movw r3, #61424
+ str r3, [sp, #12]
+ add r3, sp, #176
+ mov r2, r3
+ ldr r1, [sp, #60]
+ ldr r3, [r2, #-64]!
+ str r3, [sp, #8]
+ ldr r3, [r9]
+ str r2, [sp, #52]
+ mov r2, r6
+ str r9, [sp]
+ str r3, [sp, #4]
+ mov r3, fp
+ bl printk
+ mov r1, r9
+ ldr r2, [sp, #52]
+ ldr r0, [sp, #60]
+ bl fw_flash_page_prog.constprop.29
+ ldrb r3, [r7, #1110] @ zero_extendqisi2
+ cmp r3, #0
+ bne .L4770
+ add r5, r5, #1
+ mov r1, r8
+ uxth r5, r5
+ ldr r0, [sp, #44]
+ bl __aeabi_uidiv
+ mov r2, r5
+ mov r1, r0
+ mov r0, r4
+ bl id_block_prog_msb_ff_data
+.L4770:
+ ldr r3, [sp, #28]
+ add r9, r9, #2048
+ add r3, r3, #16
+ cmp r6, r3
+ bcc .L4771
+ ldr r3, [sp, #28]
+ add r3, r3, #20
+ cmp r6, r3
+ ldrcc r3, [sp, #32]
+ addcc r9, r3, #2048
+.L4771:
+ add r6, r6, #4
+ mov r4, #0
+ uxth r6, r6
+ b .L4761
+.L4769:
+ ldr r3, [sp, #44]
+ add r2, sp, #112
+ mov r1, r4
+ add r0, r0, r3
+ bl fw_flash_page_prog.constprop.29
+ b .L4771
+.L4787:
+ ldr r3, [sp, #56]
+ mov r1, r8
+ sub r3, r8, r3
+ uxth r3, r3
+ str r3, [sp, #60]
+ ldr r3, [sp, #52]
+ add r0, r3, r4
+ bl __aeabi_uidiv
+ uxth r0, r0
+ ldrb r1, [r5, #1110] @ zero_extendqisi2
+ lsl r3, r0, #1
+ cmp r1, #0
+ add r2, r5, r3
+ ldrh r2, [r2, #4]
+ moveq r0, r2
+ beq .L4775
+ ldrb r2, [r5, #1] @ zero_extendqisi2
+ cmp r2, #0
+ movne r0, r3
+.L4775:
+ ldr r2, [sp, #84]
+ ldr r3, [sp, #80]
+ ldrb r9, [r5, #1108] @ zero_extendqisi2
+ mla r3, r0, r3, r2
+ str r3, [sp, #88]
+ ldr r3, [r5, #1104]
+ ldr r2, [sp, #88]
+ ldrb r1, [r3, #9] @ zero_extendqisi2
+ ldr r3, [sp, #56]
+ add r0, r3, r2
+ bl __aeabi_uidiv
+ ldrb r3, [r5, #1193] @ zero_extendqisi2
+ str r0, [sp, #44]
+ mov r0, r9
+ str r3, [sp, #108]
+ bl nandc_bch_sel
+.L4776:
+ str r8, [sp]
+ add r3, sp, #112
+ mov r2, r6
+ ldr r1, [sp, #44]
+ mov r0, #0
+ bl flash_read_page
+ cmn r0, #1
+ mov r7, r0
+ bne .L4777
+ ldrb r3, [r5, #1196] @ zero_extendqisi2
+ cmp r3, #0
+ str r3, [sp, #92]
+ bne .L4778
+.L4781:
+ ldr r3, .L4848+20
+ ldr r3, [r3, #-100]
+ subs ip, r3, #0
+ bne .L4779
+.L4780:
+ ldrb r3, [r5, #1143] @ zero_extendqisi2
+ cmp r3, #0
+ beq .L4777
+ str r8, [sp]
+ add r3, sp, #112
+ mov r2, r6
+ ldr r1, [sp, #44]
+ mov r0, #0
+ bl flash_ddr_tuning_read
+ b .L4846
+.L4778:
+ mov r0, #0
+ add r3, sp, #112
+ strb r0, [r5, #1196]
+ mov r2, r6
+ str r8, [sp]
+ ldr r1, [sp, #44]
+ bl flash_read_page
+ ldrb r3, [sp, #92] @ zero_extendqisi2
+ cmn r0, #1
+ strb r3, [r5, #1196]
+ beq .L4781
+.L4846:
+ mov r7, r0
+.L4777:
+ cmn r7, #1
+ movne r7, #0
+ moveq r7, #1
+ cmp r9, #16
+ moveq r9, #0
+ andne r9, r7, #1
+ cmp r9, #0
+ beq .L4783
+ mov r0, #16
+ mov r9, #16
+ bl nandc_bch_sel
+ b .L4776
+.L4779:
+ str r8, [sp]
+ add r3, sp, #112
+ mov r2, r6
+ ldr r1, [sp, #44]
+ mov r0, #0
+ blx ip
+ cmn r0, #1
+ beq .L4780
+ b .L4846
+.L4783:
+ ldr r0, [sp, #108]
+ bl nandc_bch_sel
+ ldr r3, [sp, #64]
+ cmp r7, #0
+ mvnne r3, #0
+ str r3, [sp, #64]
+ ldr r3, [sp, #84]
+ ldr r2, [sp, #64]
+ cmp r10, r3
+ cmpeq r4, #0
+ moveq r3, #1
+ movne r3, #0
+ cmp r2, #0
+ movne r3, #0
+ andeq r3, r3, #1
+ cmp r3, #0
+ beq .L4785
+ ldr r3, [r6]
+ ldr r2, .L4848+40
+ cmp r3, r2
+ bne .L4785
+ ldr r3, [sp, #68]
+ ldr r2, [sp, #60]
+ ldrb r8, [r6, #17] @ zero_extendqisi2
+ add r3, r3, r2
+ str r3, [sp, #68]
+.L4786:
+ ldr r3, [sp, #60]
+ add r4, r3, r4
+ uxth r4, r4
+ b .L4773
+.L4785:
+ ldr r3, [sp, #60]
+ mov r2, r4
+ ldr r1, [sp, #88]
+ ldr r0, .L4848+48
+ add r6, r6, r3, lsl #9
+ ldr r3, [sp, #116]
+ str r3, [sp]
+ ldr r3, [sp, #112]
+ bl printk
+ mov r3, #0
+ str r3, [sp, #56]
+ b .L4786
+.L4789:
+ add r2, r2, #1
+ cmp r3, r2
+ bne .L4790
+ ldr r3, [sp, #36]
+ add r3, r3, #1
+ cmp r3, #5
+ str r3, [sp, #36]
+ bls .L4755
+ b .L4794
+.L4849:
.align 2
-.L4930:
+.L4848:
.word .LANCHOR0
- .word 1397640018
- .word .LANCHOR2
.word -52655045
+ .word 1397640018
.word 1397967698
+ .word .LANCHOR2
.word .LANCHOR3
.word 1314014539
.word .LC318
.word .LC319
- .word .LC320
+ .word .LC317
.word 1179535694
+ .word .LC320
.word .LC321
.fnend
.size write_idblock, .-write_idblock
.align 2
.global write_loader_lba
+ .syntax unified
+ .arm
+ .fpu softvfp
.type write_loader_lba, %function
write_loader_lba:
.fnstart
@ args = 0, pretend = 0, frame = 40
@ frame_needed = 0, uses_anonymous_args = 0
cmp r0, #64
- stmfd sp!, {r4, r5, r6, r7, r8, r9, lr}
- .save {r4, r5, r6, r7, r8, r9, lr}
- mov r4, r0
- .pad #52
- sub sp, sp, #52
+ push {r4, r5, r6, r7, r8, lr}
+ .save {r4, r5, r6, r7, r8, lr}
+ mov r5, r0
+ .pad #48
+ sub sp, sp, #48
mov r6, r1
mov r8, r2
- ldr r5, .L4958
- bne .L4933
- ldr r3, [r2]
- ldr r1, .L4958+4
- ldr r2, .L4958+8
- cmp r3, r1
- cmpne r3, r2
- ldr r1, .L4958+12
- moveq r2, #1
- movne r2, #0
- cmp r3, r1
- movne r3, r2
- orreq r3, r2, #1
+ ldr r4, .L4877
+ bne .L4851
+ ldr r3, .L4877+4
+ ldr r2, [r2]
+ ldr r1, .L4877+8
+ cmp r2, r1
+ cmpne r2, r3
+ add r1, r1, #327680
+ moveq r3, #1
+ movne r3, #0
+ cmp r2, r1
+ orreq r3, r3, #1
cmp r3, #0
- beq .L4933
- mov r0, #256000
+ beq .L4851
mov r3, #1
- strb r3, [r5, #588]
+ mov r0, #256000
+ strb r3, [r4, #32]
bl ftl_malloc
- mov r1, #0
mov r2, #256000
- str r0, [r5, #592]
+ mov r1, #0
+ str r0, [r4, #36]
bl ftl_memset
- str r4, [r5, #596]
-.L4933:
+ str r5, [r4, #40]
+.L4851:
str r6, [sp]
- mov r3, r4
- ldr r0, .L4958+16
- ldr r1, [r5, #592]
+ mov r3, r5
ldr r2, [r8]
+ ldr r1, [r4, #36]
+ ldr r0, .L4877+12
bl printk
- ldrb r3, [r5, #588] @ zero_extendqisi2
- ldr r9, .L4958
+ ldrb r3, [r4, #32] @ zero_extendqisi2
cmp r3, #0
- beq .L4932
- ldr r7, [r9, #592]
+ beq .L4850
+ ldr r7, [r4, #36]
cmp r7, #0
- beq .L4932
- sub r0, r4, #64
+ beq .L4850
+ sub r0, r5, #64
cmp r0, #500
- bcs .L4935
- rsb r2, r4, #564
- add r0, r7, r0, asl #9
- cmp r2, r6
+ bcs .L4853
+ rsb r2, r5, #564
mov r1, r8
- movcs r2, r6
- mov r2, r2, asl #9
+ cmp r6, r2
+ add r0, r7, r0, lsl #9
+ movcc r2, r6
+ lsl r2, r2, #9
bl ftl_memcpy
- b .L4936
-.L4935:
- cmp r4, #564
- bcs .L4944
-.L4936:
- ldr r3, [r5, #596]
- ldr r8, .L4958
- cmp r3, r4
- beq .L4942
+.L4854:
+ ldr r3, [r4, #40]
+ cmp r5, r3
+ beq .L4863
+ mov r8, #0
mov r0, r7
- mov r9, #0
- strb r9, [r8, #588]
+ strb r8, [r4, #32]
bl ftl_free
- str r9, [r8, #592]
-.L4942:
- add r4, r4, r6
- str r4, [r5, #596]
- b .L4932
-.L4944:
- ldr r3, .L4958+20
- ldr r0, [r9, #596]
- ldr r3, [r3, #1096]
+ str r8, [r4, #36]
+ b .L4863
+.L4853:
+ cmp r5, #564
+ bcc .L4854
+ ldr r3, .L4877+16
+ ldr r0, [r4, #40]
+ ldr r3, [r3, #1104]
sub r0, r0, #64
cmp r0, #500
ldrb r3, [r3, #9] @ zero_extendqisi2
movcs r0, #500
cmp r3, #4
- beq .L4945
+ beq .L4855
mov r3, #2
str r3, [sp, #8]
mov r3, #3
@@ -29936,650 +30338,164 @@
str r3, [sp, #20]
mov r3, #6
str r3, [sp, #24]
- b .L4938
-.L4945:
- mov r3, #0
-.L4937:
- cmp r0, #256
- add r1, sp, #8
- mov r2, r3, asl #1
- movls r2, r3
- str r2, [r1, r3, asl #2]
- add r3, r3, #1
- cmp r3, #5
- bne .L4937
-.L4938:
+.L4856:
mov r3, #61952
-.L4941:
- ldr r2, [r7, r3, asl #2]
+.L4862:
+ ldr r2, [r7, r3, lsl #2]
cmp r2, #0
- addne r3, r3, #2048
- movne r0, r3, asl #2
- bne .L4940
-.L4939:
- sub r3, r3, #1
- cmp r3, #4096
- bne .L4941
- mov r0, r0, asl #9
-.L4940:
+ beq .L4860
+ add r3, r3, #2048
+ lsl r0, r3, #2
+.L4861:
mov r1, r7
add r2, sp, #8
- bl write_idblock
- ldr r0, [r5, #592]
mov r7, #0
- strb r7, [r5, #588]
+ bl write_idblock
+ ldr r0, [r4, #36]
+ strb r7, [r4, #32]
bl ftl_free
- str r7, [r5, #592]
- b .L4942
-.L4932:
- add sp, sp, #52
+ str r7, [r4, #36]
+.L4863:
+ add r5, r5, r6
+ str r5, [r4, #40]
+.L4850:
+ add sp, sp, #48
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc}
-.L4959:
+ pop {r4, r5, r6, r7, r8, pc}
+.L4855:
+ mov r2, #0
+ add r3, sp, #8
+.L4859:
+ cmp r0, #256
+ lslhi r1, r2, #1
+ strls r2, [r3, r2, lsl #2]
+ strhi r1, [r3, r2, lsl #2]
+ add r2, r2, #1
+ cmp r2, #5
+ bne .L4859
+ b .L4856
+.L4860:
+ sub r3, r3, #1
+ cmp r3, #4096
+ bne .L4862
+ lsl r0, r0, #9
+ b .L4861
+.L4878:
.align 2
-.L4958:
+.L4877:
.word .LANCHOR3
.word -52655045
.word 1397640018
- .word 1397967698
.word .LC322
.word .LANCHOR0
.fnend
.size write_loader_lba, .-write_loader_lba
.align 2
.global FtlWrite
+ .syntax unified
+ .arm
+ .fpu softvfp
.type FtlWrite, %function
FtlWrite:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, lr}
+ push {r4, r5, r6, r7, r8, lr}
.save {r4, r5, r6, r7, r8, lr}
mov r6, r2
sub r2, r1, #64
mov r4, r1
cmp r2, #1984
- mov r5, r3
- mov r7, r0
+ mov r7, r3
movcs r2, #0
movcc r2, #1
cmp r0, #0
+ mov r5, r0
movne r2, #0
cmp r2, #0
- beq .L4961
- mov r0, r1
+ beq .L4880
mov r2, r3
mov r1, r6
+ mov r0, r4
bl write_loader_lba
-.L4961:
- ldr r3, .L4966
- mov r0, r7
- mov r1, r4
+.L4880:
+ ldr r3, .L4885
mov r2, r6
- ldr r3, [r3, #-136]
- ldr ip, [r3, #24]
- mov r3, r5
- ldmfd sp!, {r4, r5, r6, r7, r8, lr}
+ mov r1, r4
+ mov r0, r5
+ ldr r3, [r3, #-160]
+ ldr lr, [r3, #24]
+ mov r3, r7
+ mov ip, lr
+ pop {r4, r5, r6, r7, r8, lr}
bx ip
-.L4967:
+.L4886:
.align 2
-.L4966:
+.L4885:
.word .LANCHOR3
.fnend
.size FtlWrite, .-FtlWrite
.align 2
.global rknand_sys_storage_ioctl
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rknand_sys_storage_ioctl, %function
rknand_sys_storage_ioctl:
.fnstart
- @ args = 0, pretend = 0, frame = 520
+ @ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- ldr r3, .L5025
- stmfd sp!, {r4, r5, r6, r7, lr}
- .save {r4, r5, r6, r7, lr}
+ ldr r3, .L4896
cmp r1, r3
- .pad #524
- sub sp, sp, #524
- mov r4, r1
- mov r5, r2
- beq .L4970
- bhi .L4971
- sub r3, r3, #2080
- sub r3, r3, #6
- cmp r1, r3
- beq .L4972
- bhi .L4973
- sub r3, r3, #238
- cmp r1, r3
- beq .L4974
- add r3, r3, #237
- cmp r1, r3
- beq .L4975
- b .L5005
-.L4973:
- ldr r3, .L5025+4
- cmp r1, r3
- beq .L4976
- add r3, r3, #1
- cmp r1, r3
- beq .L4977
- sub r3, r3, #124
- cmp r1, r3
- bne .L5005
- b .L5023
-.L4971:
- ldr r3, .L5025+8
- cmp r1, r3
- mov r6, r3
- beq .L4979
- bhi .L4980
- sub r3, r3, #2512
- sub r3, r3, #14
- cmp r1, r3
- beq .L4970
- add r3, r3, #10
- cmp r1, r3
- beq .L4970
- b .L5005
-.L4980:
- ldr r3, .L5025+12
- cmp r1, r3
- beq .L4979
- bcc .L4981
- add r3, r3, #1
- cmp r1, r3
- beq .L4981
- b .L5005
-.L4975:
- ldr r0, .L5025+16
- bl printk
- mov r1, r5
- mov r2, #520
- mov r0, sp
- bl rk_copy_from_user
- cmp r0, #0
- beq .L4982
-.L4988:
- ldr r0, .L5025+20
- bl printk
- b .L5020
-.L4982:
- ldr r2, [sp]
- ldr r3, .L5025+24
- cmp r2, r3
- beq .L4983
-.L4985:
- mvn r4, #0
- b .L4984
-.L4983:
- ldr r3, [sp, #4]
- cmp r3, #512
- bhi .L4985
- ldr r4, .L5025+28
- mov r2, #512
- mov r0, sp
- ldr r1, [r4, #600]
- bl memcpy
- ldr r2, [r4, #604]
- ldr r3, .L5025+32
- cmp r2, r3
- beq .L4986
- mov r1, #0
- add r0, sp, #64
- mov r2, #128
- str r1, [sp, #8]
- str r1, [sp, #12]
- bl memset
-.L4986:
- mov r1, #0
- add r0, sp, #256
- mov r2, #256
- str r1, [sp, #16]
- bl memset
-.L5015:
- mov r0, r5
- mov r1, sp
- mov r2, #520
- bl rk_copy_to_user
- cmp r0, #0
- bne .L5020
- b .L5019
-.L4972:
- ldr r0, .L5025+36
- bl printk
- mov r1, r5
- mov r2, #520
- mov r0, sp
- bl rk_copy_from_user
- cmp r0, #0
- bne .L4988
- ldr r2, [sp]
- ldr r3, .L5025+24
- cmp r2, r3
- bne .L4985
- ldr r3, [sp, #4]
- cmp r3, #512
- bhi .L4985
- ldr r2, .L5025+28
- ldr r3, .L5025+32
- ldr r1, [r2, #604]
- cmp r1, r3
- mvnne r0, #1
- bne .L4969
- ldr r3, [sp, #12]
- sub r1, r3, #1
- cmp r1, #127
- mvnhi r0, #2
- bhi .L4969
- ldr r4, [r2, #600]
- add r1, sp, #64
- add r0, r4, #64
- str r3, [r4, #12]
- ldr r2, [sp, #12]
- bl memcpy
- mov r0, #1
- mov r1, r4
- b .L5018
-.L4977:
- ldr r0, .L5025+40
- bl printk
- mov r1, r5
- mov r2, #520
- mov r0, sp
- bl rk_copy_from_user
- cmp r0, #0
- bne .L4988
- ldr r2, [sp]
- ldr r3, .L5025+44
- cmp r2, r3
- bne .L4985
- ldr r3, [sp, #4]
- cmp r3, #512
- bhi .L4985
- ldr r5, .L5025+28
- ldr r3, [r5, #608]
- cmp r3, #0
- bne .L4989
-.L4992:
- mov r0, #0
- b .L4969
-.L4989:
- ldr r3, [r5, #612]
- ldr r2, .L5025+48
- ldr r1, [r3]
- cmp r1, r2
- beq .L4990
- str r2, [r3]
- mov r2, #504
- ldr r3, .L5025+28
- ldr r3, [r3, #612]
- str r2, [r3, #4]
- mov r2, #0
- str r2, [r3, #8]
- str r2, [r3, #12]
-.L4990:
- ldr r1, [r5, #612]
- mov r4, #0
- mov r0, r4
- str r4, [r1, #16]
- bl StorageSysDataStore
- ldr r3, [r5, #600]
- ldr r2, .L5025+24
- ldr r1, [r3]
- cmp r1, r2
- strne r2, [r3]
- ldr r6, [r5, #600]
- ldrne r3, .L5025+28
- movne r2, #504
- add r0, r6, #64
- ldrne r3, [r3, #600]
- stmneib r3, {r2, r4}
- mov r4, #0
- mov r1, r4
- mov r2, #128
- str r4, [r6, #12]
- bl memset
- mov r0, #1
- mov r1, r6
- bl StorageSysDataStore
- str r4, [r5, #608]
- str r4, [r5, #604]
- b .L4984
-.L4976:
- ldr r0, .L5025+52
- bl printk
- mov r1, r5
- mov r2, #520
- mov r0, sp
- bl rk_copy_from_user
- cmp r0, #0
- bne .L4988
- ldr r2, [sp]
- ldr r3, .L5025+56
- cmp r2, r3
- bne .L4985
- ldr r3, [sp, #4]
- cmp r3, #512
- bhi .L4985
- ldr r5, .L5025+28
- ldr r3, [r5, #608]
- cmp r3, #1
- beq .L4992
- ldr r2, [r5, #612]
- ldr r3, .L5025+48
- ldr r1, [r2]
- cmp r1, r3
- beq .L4993
- str r3, [r2]
- mov r2, #504
- ldr r3, [r5, #612]
- str r2, [r3, #4]
- mov r2, #0
- str r2, [r3, #8]
- str r2, [r3, #12]
-.L4993:
- ldr r1, [r5, #612]
- mov r3, #1
- mov r0, #0
- mov r4, #0
- str r3, [r1, #16]
- bl StorageSysDataStore
- ldr r3, [r5, #600]
- ldr r2, .L5025+24
- ldr r1, [r3]
- cmp r1, r2
- strne r2, [r3]
- ldr r6, [r5, #600]
- ldrne r3, .L5025+28
- movne r1, #504
- movne r2, #0
- add r0, r6, #64
- ldrne r3, [r3, #600]
- stmneib r3, {r1, r2}
- mov r1, r4
- mov r2, #128
- str r4, [r6, #12]
- bl memset
- mov r0, #1
- mov r1, r6
- bl StorageSysDataStore
- mov r3, #1
- str r3, [r5, #608]
- b .L4984
-.L5023:
- ldr r0, .L5025+60
- bl printk
- mov r1, r5
- mov r2, #520
- mov r0, sp
- bl rk_copy_from_user
- cmp r0, #0
- bne .L4988
- ldr r2, [sp]
- ldr r3, .L5025+64
- cmp r2, r3
- bne .L4985
- ldr r2, [sp, #4]
- cmp r2, #512
- addls r0, sp, #8
- ldrls r1, .L5025+68
- bls .L5021
- b .L4985
-.L4970:
- ldr r0, .L5025+72
- cmp r4, r0
- mov r7, r0
- ldreq r0, .L5025+76
- beq .L5017
- ldr r3, .L5025+80
- cmp r4, r3
- ldreq r0, .L5025+84
- ldrne r0, .L5025+88
-.L5017:
- bl printk
- mov r1, r5
- mov r2, #520
- mov r0, sp
- bl rk_copy_from_user
- cmp r0, #0
- bne .L4988
- ldr r2, [sp]
- ldr r3, .L5025+92
- cmp r2, r3
- bne .L5020
- ldr r3, .L5025+80
- ldr r6, .L5025+28
- cmp r4, r3
- bne .L4999
- ldr r3, [r6, #600]
- mov r0, r5
- mov r1, sp
- mov r2, #16
- ldr r3, [r3, #20]
- str r3, [sp, #4]
- strb r3, [sp, #8]
- bl rk_copy_to_user
- cmp r0, #0
- beq .L4969
- b .L5020
-.L4999:
- ldr r3, [r6, #1128]
- cmp r3, #10
- bhi .L5020
- 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 .L5000
- ldr r0, .L5025+96
- mov r1, r2
- bl printk
- ldr r3, [r6, #1128]
- add r3, r3, #1
- str r3, [r6, #1128]
-.L5020:
- mvn r0, #13
- b .L4969
-.L5000:
- cmp r4, r7
- str r3, [r6, #1128]
- mov r0, #1
- moveq r2, r3
- movne r3, #1
- moveq r3, r2
- str r2, [r1, #24]
- str r3, [r1, #20]
- bl StorageSysDataStore
- cmn r0, #1
- bne .L5019
- b .L5024
-.L4979:
- ldr r0, .L5025+100
- bl printk
- mov r1, r5
- mov r2, #520
- mov r0, sp
- bl rk_copy_from_user
- cmp r0, #0
- bne .L4988
- ldr r2, [sp]
- ldr r3, .L5025+104
- cmp r2, r3
- bne .L4985
- ldr r2, [sp, #4]
- cmp r2, #504
- bhi .L4985
- ldr r3, .L5025+28
- cmp r4, r6
- add r0, sp, #8
- ldreq r1, [r3, #1132]
- ldrne r1, [r3, #1136]
- add r1, r1, #8
-.L5021:
- bl memcpy
- b .L5015
-.L4981:
- ldr r0, .L5025+108
- bl printk
- mov r1, r5
- mov r2, #520
- mov r0, sp
- bl rk_copy_from_user
- cmp r0, #0
- bne .L4988
- ldr r2, [sp]
- ldr r3, .L5025+104
- cmp r2, r3
- bne .L4985
- ldr r2, [sp, #4]
- cmp r2, #504
- bhi .L4985
- ldr r3, .L5025+112
- add r2, r2, #8
- cmp r4, r3
- ldr r4, .L5025+28
- bne .L5004
- mov r1, sp
- ldr r0, [r4, #1132]
- bl memcpy
- mov r0, #2
- ldr r1, [r4, #1132]
- b .L5018
-.L5004:
- mov r1, sp
- ldr r0, [r4, #1136]
- bl memcpy
- ldr r1, [r4, #1136]
- mov r0, #3
-.L5018:
- bl StorageSysDataStore
- mov r4, r0
- b .L4984
-.L4974:
+ bne .L4891
+ push {r4, lr}
+ .save {r4, lr}
bl rknand_dev_flush
-.L5019:
- mov r4, #0
- b .L4984
-.L5024:
- mvn r4, #1
-.L4984:
- ldr r0, .L5025+116
- mov r1, r4
+ mov r1, #0
+ ldr r0, .L4896+4
bl printk
- mov r0, r4
- b .L4969
-.L5005:
+ mov r0, #0
+ pop {r4, pc}
+.L4891:
mvn r0, #21
-.L4969:
- add sp, sp, #524
- @ sp needed
- ldmfd sp!, {r4, r5, r6, r7, pc}
-.L5026:
+ bx lr
+.L4897:
.align 2
-.L5025:
- .word 1074031656
- .word 1074029694
- .word 1074034192
- .word 1074034194
+.L4896:
+ .word 1074029332
.word .LC323
- .word .LC324
- .word 1263358532
- .word .LANCHOR3
- .word -1067903959
- .word .LC325
- .word .LC326
- .word 1112753220
- .word 1146313043
- .word .LC327
- .word 1112755781
- .word .LC328
- .word 1094995539
- .word .LANCHOR3+616
- .word 1074031666
- .word .LC329
- .word 1074031676
- .word .LC330
- .word .LC331
- .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
.global rk_ftl_storage_sys_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rk_ftl_storage_sys_init, %function
rk_ftl_storage_sys_init:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, lr}
- .save {r4, r5, r6, lr}
- mvn r3, #0
- ldr r4, .L5036
- mov r2, #512
- mov r5, #0
- add r0, r4, #616
- ldr r1, [r4, #576]
- str r3, [r4, #596]
- add r3, r1, #512
- str r3, [r4, #600]
- str r1, [r4, #612]
- add r3, r1, #1024
- add r1, r1, #1536
- 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, #612]
- str r5, [r4, #604]
- str r5, [r4, #1128]
- ldr r6, [r0, #508]
- ldr r3, [r0, #16]
- cmp r6, r5
- str r3, [r4, #608]
- beq .L5029
- mov r1, #508
- bl js_hash
- cmp r6, r0
- beq .L5029
- ldr r3, [r4, #612]
- ldr r0, .L5036+4
- str r5, [r4, #608]
- str r5, [r3, #16]
- bl printk
-.L5029:
- ldr r3, [r4, #608]
- mov r0, #2
- ldr r1, [r4, #1132]
- cmp r3, #0
- ldrne r2, .L5036+8
- ldrne r3, .L5036
- strne r2, [r3, #604]
- bl StorageSysDataLoad
- ldr r1, [r4, #1136]
- mov r0, #3
- bl StorageSysDataLoad
- ldmfd sp!, {r4, r5, r6, lr}
+ @ link register save eliminated.
+ ldr r3, .L4899
+ mov r2, #0
+ mvn r1, #0
+ strb r2, [r3, #32]
+ str r1, [r3, #40]
+ str r2, [r3, #36]
+ str r2, [r3, #44]
b rknand_sys_storage_init
-.L5037:
+.L4900:
.align 2
-.L5036:
+.L4899:
.word .LANCHOR3
- .word .LC336
- .word -1067903959
.fnend
.size rk_ftl_storage_sys_init, .-rk_ftl_storage_sys_init
.align 2
.global StorageSysDataDeInit
+ .syntax unified
+ .arm
+ .fpu softvfp
.type StorageSysDataDeInit, %function
StorageSysDataDeInit:
.fnstart
@@ -30592,269 +30508,271 @@
.size StorageSysDataDeInit, .-StorageSysDataDeInit
.align 2
.global rk_ftl_vendor_storage_init
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rk_ftl_vendor_storage_init, %function
rk_ftl_vendor_storage_init:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, lr}
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
.save {r4, r5, r6, r7, r8, r9, r10, lr}
+ ldr r6, .L4913
+ ldr r3, [r6, #48]
+ cmp r3, #0
+ bne .L4903
mov r0, #65536
bl ftl_malloc
- ldr r6, .L5050
- cmp r0, #0
- str r0, [r6, #1144]
- beq .L5045
- ldr r9, .L5050+4
- mov r8, #0
- mov r4, r8
- mov r7, r8
- mov r10, r6
-.L5043:
- mov r0, r7, asl #7
+ str r0, [r6, #48]
+.L4903:
+ ldr r3, [r6, #48]
+ cmp r3, #0
+ beq .L4908
+ ldr r10, .L4913+4
+ mov r7, #0
+ ldr r9, .L4913+8
+ mov r4, r7
+ mov r8, r7
+.L4906:
+ ldr r2, [r6, #48]
mov r1, #128
- ldr r2, [r6, #1144]
+ lsl r0, r8, #7
bl FlashBootVendorRead
cmp r0, #0
- bne .L5041
- ldr r3, [r10, #1144]
- ldr r0, .L5050+8
- add r2, r3, #61440
- ldr r1, [r3]
+ bne .L4909
+ ldr r1, [r6, #48]
+ mov r0, r10
+ add r2, r1, #61440
+ ldr r3, [r1, #4]
ldr r2, [r2, #4092]
- ldr r3, [r3, #4]
+ ldr r1, [r1]
bl printk
- ldr r5, [r10, #1144]
+ ldr r5, [r6, #48]
ldr r3, [r5]
cmp r3, r9
- bne .L5042
+ bne .L4905
add r2, r5, #61440
ldr r3, [r5, #4]
- ldr r1, [r2, #4092]
- cmp r4, r3
- movcs r2, #0
- movcc r2, #1
- cmp r1, r3
- movne r2, #0
+ ldr r2, [r2, #4092]
+ cmp r3, r4
+ sub r2, r2, r3
+ clz r2, r2
+ lsr r2, r2, #5
+ movls r2, #0
cmp r2, #0
- movne r8, r7
+ movne r7, r8
movne r4, r3
-.L5042:
- cmp r7, #1
- movne r7, #1
- bne .L5043
-.L5049:
+.L4905:
+ add r8, r8, #1
+ cmp r8, #2
+ bne .L4906
cmp r4, #0
- beq .L5044
- mov r0, r8, asl #7
- mov r1, #128
+ beq .L4907
mov r2, r5
+ mov r1, #128
+ lsl r0, r7, #7
bl FlashBootVendorRead
- cmp r0, #0
- bne .L5041
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
-.L5044:
- mov r0, r5
- mov r1, r4
+ adds r0, r0, #0
+ movne r0, #1
+ rsb r0, r0, #0
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L4907:
mov r2, #65536
+ mov r1, r4
+ mov r0, r5
bl memset
- ldr r3, .L5050+4
- str r7, [r5, #4]
+ mov r3, #1
+ add r2, r5, #61440
+ str r3, [r5, #4]
mov r0, r4
- str r3, [r5]
- add r3, r5, #61440
- str r7, [r3, #4092]
- ldr r3, .L5050+12
+ str r9, [r5]
+ str r3, [r2, #4092]
+ ldr r3, .L4913+12
strh r4, [r5, #12] @ movhi
strh r3, [r5, #14] @ movhi
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
-.L5041:
- ldr r0, [r6, #1144]
- bl kfree
- mov r3, #0
- mvn r0, #0
- str r3, [r6, #1144]
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
-.L5045:
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L4908:
mvn r0, #11
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
-.L5051:
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L4909:
+ mvn r0, #0
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
+.L4914:
.align 2
-.L5050:
+.L4913:
.word .LANCHOR3
+ .word .LC324
.word 1380668996
- .word .LC337
.word -1032
.fnend
.size rk_ftl_vendor_storage_init, .-rk_ftl_vendor_storage_init
.align 2
.global rk_ftl_vendor_read
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rk_ftl_vendor_read, %function
rk_ftl_vendor_read:
.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 r3, .L5059
- ldr ip, [r3, #1144]
+ ldr r3, .L4925
+ ldr ip, [r3, #48]
cmp ip, #0
- ldrneh r4, [ip, #10]
- movne r3, #0
- beq .L5057
-.L5054:
+ beq .L4920
+ push {r4, r5, r6, lr}
+ .save {r4, r5, r6, lr}
+ mov r3, #0
+ ldrh r4, [ip, #10]
+.L4917:
cmp r3, r4
- bcs .L5057
- add lr, ip, r3, asl #3
+ bcc .L4919
+ mvn r0, #0
+ pop {r4, r5, r6, pc}
+.L4919:
+ add lr, ip, r3, lsl #3
ldrh r5, [lr, #16]
cmp r5, r0
- bne .L5055
- ldrh r3, [lr, #20]
+ bne .L4918
+ ldrh r4, [lr, #20]
mov r0, r1
ldrh r1, [lr, #18]
- mov r4, r2
- cmp r2, r3
+ cmp r4, r2
+ movcs r4, r2
add r1, r1, #1024
- movcs r4, r3
- add r1, ip, r1
mov r2, r4
+ add r1, ip, r1
bl memcpy
mov r0, r4
- ldmfd sp!, {r3, r4, r5, pc}
-.L5055:
+ pop {r4, r5, r6, pc}
+.L4918:
add r3, r3, #1
- b .L5054
-.L5057:
+ b .L4917
+.L4920:
mvn r0, #0
- ldmfd sp!, {r3, r4, r5, pc}
-.L5060:
+ bx lr
+.L4926:
.align 2
-.L5059:
+.L4925:
.word .LANCHOR3
.fnend
.size rk_ftl_vendor_read, .-rk_ftl_vendor_read
.align 2
.global rk_ftl_vendor_write
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rk_ftl_vendor_write, %function
rk_ftl_vendor_write:
.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}
+ ldr r3, .L4948
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
.save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
- mov r9, r2
- ldr r2, .L5084
.pad #28
sub sp, sp, #28
- ldr r4, [r2, #1144]
+ ldr r4, [r3, #48]
cmp r4, #0
- beq .L5076
- mov r3, r1
- add r7, r9, #63
- ldrh r1, [r4, #8]
- bic r7, r7, #63
+ beq .L4942
+ mov r8, r2
ldrh r2, [r4, #10]
- mov ip, r0
- mov r6, #0
- str r1, [sp, #4]
-.L5063:
- cmp r6, r2
- bcs .L5082
- add r5, r4, r6, asl #3
- ldrh r1, [r5, #16]
- cmp r1, ip
- bne .L5064
- ldrh r1, [r5, #20]
- add fp, r4, #1024
- add r1, r1, #63
- bic r1, r1, #63
- str r1, [sp, #8]
- cmp r9, r1
- bls .L5065
+ add r6, r8, #63
+ ldrh r3, [r4, #8]
+ mov fp, r1
+ bic r6, r6, #63
+ mov r7, #0
+ str r3, [sp, #4]
+.L4929:
+ cmp r7, r2
+ bcc .L4937
ldrh r1, [r4, #14]
- cmp r1, r7
- subcs r2, r2, #1
- strcs r2, [sp, #12]
- ldrcsh r8, [r5, #18]
- bcc .L5076
-.L5066:
- ldr r2, [sp, #12]
- add r5, r5, #8
- cmp r6, r2
- bcs .L5083
- ldrh r10, [r5, #20]
- add r0, fp, r8
- ldrh r2, [r5, #16]
- add r6, r6, #1
- ldrh r1, [r5, #18]
- strh r10, [r5, #12] @ movhi
- add r10, r10, #63
- bic r10, r10, #63
- strh r2, [r5, #8] @ movhi
- strh r8, [r5, #10] @ movhi
- add r1, fp, r1
- mov r2, r10
- str r3, [sp, #20]
- str ip, [sp, #16]
- bl memcpy
- add r8, r8, r10
- ldr r3, [sp, #20]
- ldr ip, [sp, #16]
- b .L5066
-.L5083:
- add r6, r4, r6, asl #3
- uxth r8, r8
- add r0, fp, r8
- mov r1, r3
- strh r8, [r6, #18] @ movhi
- mov r2, r9
- strh ip, [r6, #16] @ movhi
- uxth r7, r7
- strh r9, [r6, #20] @ movhi
- add r8, r8, r7
- bl memcpy
- ldrh r5, [r4, #14]
- strh r8, [r4, #12] @ movhi
- ldr r3, [sp, #8]
- add r5, r3, r5
- rsb r7, r7, r5
- strh r7, [r4, #14] @ movhi
- b .L5081
-.L5065:
- ldrh r0, [r5, #18]
- mov r1, r3
- mov r2, r9
- add r0, fp, r0
- bl memcpy
- strh r9, [r5, #20] @ movhi
- b .L5081
-.L5064:
- add r6, r6, #1
- b .L5063
-.L5082:
- ldrh r1, [r4, #14]
- cmp r1, r7
- bcc .L5076
- add r2, r4, r2, asl #3
- uxth r7, r7
- rsb r1, r7, r1
- strh ip, [r2, #16] @ movhi
- ldrh r0, [r4, #12]
- strh r9, [r2, #20] @ movhi
- strh r0, [r2, #18] @ movhi
- add r0, r7, r0
- strh r1, [r4, #14] @ movhi
- mov r1, r3
- strh r0, [r4, #12] @ movhi
- ldrh r0, [r2, #18]
- mov r2, r9
+ cmp r6, r1
+ bhi .L4942
+ add r3, r4, r2, lsl #3
+ uxth r6, r6
+ strh r0, [r3, #16] @ movhi
+ ldrh r2, [r4, #12]
+ strh r8, [r3, #20] @ movhi
+ strh r2, [r3, #18] @ movhi
+ add r2, r2, r6
+ sub r6, r1, r6
+ strh r2, [r4, #12] @ movhi
+ strh r6, [r4, #14] @ movhi
+ mov r2, r8
+ ldrh r0, [r3, #18]
+ mov r1, fp
add r0, r0, #1024
add r0, r4, r0
bl memcpy
ldrh r3, [r4, #10]
add r3, r3, #1
strh r3, [r4, #10] @ movhi
-.L5081:
+ b .L4947
+.L4937:
+ add r5, r4, r7, lsl #3
+ ldrh r3, [r5, #16]
+ cmp r3, r0
+ str r3, [sp, #8]
+ bne .L4930
+ ldrh r1, [r5, #20]
+ add r3, r4, #1024
+ add r1, r1, #63
+ bic r1, r1, #63
+ cmp r8, r1
+ str r1, [sp, #12]
+ bls .L4931
+ ldrh r1, [r4, #14]
+ cmp r6, r1
+ subls r2, r2, #1
+ ldrhls r10, [r5, #18]
+ strls r2, [sp, #16]
+ bls .L4932
+.L4942:
+ mvn r0, #0
+ b .L4927
+.L4933:
+ ldrh r9, [r5, #20]
+ add r0, r3, r10
+ ldrh r2, [r5, #16]
+ add r7, r7, #1
+ ldrh r1, [r5, #18]
+ strh r9, [r5, #12] @ movhi
+ add r9, r9, #63
+ bic r9, r9, #63
+ strh r2, [r5, #8] @ movhi
+ strh r10, [r5, #10] @ movhi
+ add r1, r3, r1
+ mov r2, r9
+ str r3, [sp, #20]
+ bl memcpy
+ ldr r3, [sp, #20]
+ add r10, r10, r9
+.L4932:
+ ldr r2, [sp, #16]
+ add r5, r5, #8
+ cmp r7, r2
+ bcc .L4933
+ ldrh r2, [sp, #8]
+ add r7, r4, r7, lsl #3
+ uxth r5, r10
+ uxtah r0, r3, r10
+ strh r8, [r7, #20] @ movhi
+ strh r2, [r7, #16] @ movhi
+ mov r1, fp
+ strh r5, [r7, #18] @ movhi
+ mov r2, r8
+ bl memcpy
+ uxth r3, r6
+ ldrh r6, [r4, #14]
+ add r5, r5, r3
+ sub r6, r6, r3
+ ldr r3, [sp, #12]
+ strh r5, [r4, #12] @ movhi
+ add r6, r6, r3
+ strh r6, [r4, #14] @ movhi
+.L4947:
ldr r3, [r4, #4]
add r2, r4, #61440
mov r1, #128
@@ -30869,112 +30787,121 @@
movhi r3, #0
strh r3, [r4, #8] @ movhi
ldr r3, [sp, #4]
- mov r0, r3, asl #7
+ lsl r0, r3, #7
bl FlashBootVendorWrite
mov r0, #0
- b .L5062
-.L5076:
- mvn r0, #0
-.L5062:
+.L4927:
add sp, sp, #28
@ sp needed
- ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, fp, pc}
-.L5085:
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
+.L4931:
+ ldrh r0, [r5, #18]
+ mov r2, r8
+ mov r1, fp
+ add r0, r3, r0
+ bl memcpy
+ strh r8, [r5, #20] @ movhi
+ b .L4947
+.L4930:
+ add r7, r7, #1
+ b .L4929
+.L4949:
.align 2
-.L5084:
+.L4948:
.word .LANCHOR3
.fnend
.size rk_ftl_vendor_write, .-rk_ftl_vendor_write
.align 2
.global rk_ftl_vendor_storage_ioctl
+ .syntax unified
+ .arm
+ .fpu softvfp
.type rk_ftl_vendor_storage_ioctl, %function
rk_ftl_vendor_storage_ioctl:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- stmfd sp!, {r4, r5, r6, lr}
+ push {r4, r5, r6, lr}
.save {r4, r5, r6, lr}
- mov r0, #4096
+ mov r0, #9216
mov r5, r2
mov r6, r1
bl ftl_malloc
subs r4, r0, #0
mvneq r5, #0
- beq .L5087
- ldr r3, .L5103
+ beq .L4950
+ ldr r3, .L4966
cmp r6, r3
- beq .L5089
+ beq .L4953
add r3, r3, #1
cmp r6, r3
- beq .L5090
- b .L5101
-.L5089:
- mov r1, r5
+ beq .L4954
+.L4964:
+ mvn r5, #13
+ b .L4952
+.L4953:
mov r2, #8
+ mov r1, r5
bl rk_copy_from_user
cmp r0, #0
- bne .L5101
+ bne .L4964
ldr r2, [r4]
- ldr r3, .L5103+4
+ ldr r3, .L4966+4
cmp r2, r3
- beq .L5092
-.L5093:
+ beq .L4956
+.L4957:
mvn r5, #0
- b .L5088
-.L5092:
- ldrh r0, [r4, #4]
- add r1, r4, #8
+.L4952:
+ mov r0, r4
+ bl kfree
+.L4950:
+ mov r0, r5
+ pop {r4, r5, r6, pc}
+.L4956:
ldrh r2, [r4, #6]
+ add r1, r4, #8
+ ldrh r0, [r4, #4]
bl rk_ftl_vendor_read
cmn r0, #1
- beq .L5093
+ beq .L4957
uxth r2, r0
strh r0, [r4, #6] @ movhi
mov r1, r4
mov r0, r5
add r2, r2, #8
bl rk_copy_to_user
- cmp r0, #0
- moveq r5, #0
- mvnne r5, #13
- b .L5088
-.L5090:
- mov r1, r5
+ subs r5, r0, #0
+ beq .L4952
+ b .L4964
+.L4954:
mov r2, #8
+ mov r1, r5
bl rk_copy_from_user
cmp r0, #0
- bne .L5101
+ bne .L4964
ldr r2, [r4]
- ldr r3, .L5103+4
+ ldr r3, .L4966+4
cmp r2, r3
- bne .L5093
+ bne .L4957
ldrh r2, [r4, #6]
movw r3, #4087
cmp r2, r3
- bhi .L5093
- mov r0, r4
- mov r1, r5
+ bhi .L4957
add r2, r2, #8
+ mov r1, r5
+ mov r0, r4
bl rk_copy_from_user
cmp r0, #0
- bne .L5101
- ldrh r0, [r4, #4]
- add r1, r4, #8
+ bne .L4964
ldrh r2, [r4, #6]
+ add r1, r4, #8
+ ldrh r0, [r4, #4]
bl rk_ftl_vendor_write
mov r5, r0
- b .L5088
-.L5101:
- mvn r5, #13
-.L5088:
- mov r0, r4
- bl kfree
-.L5087:
- mov r0, r5
- ldmfd sp!, {r4, r5, r6, pc}
-.L5104:
+ b .L4952
+.L4967:
.align 2
-.L5103:
+.L4966:
.word 1074034177
.word 1448232273
.fnend
@@ -30988,6 +30915,8 @@
.global gSnSectorData
.global gpDrmKeyInfo
.global gpBootConfig
+ .global ftl_dma32_buffer_size
+ .global ftl_dma32_buffer
.global gLoaderBootInfo
.global RK29_NANDC1_REG_BASE
.global RK29_NANDC_REG_BASE
@@ -31158,28 +31087,16 @@
.global g_flash_spare_buffer
.global g_flash_page_buffer
.section .rodata
- .align 3
-.LANCHOR1 = . + 0
- .type __func__.39677, %object
- .size __func__.39677, 18
-__func__.39677:
+ .align 2
+ .set .LANCHOR1,. + 0
+ .type __func__.42945, %object
+ .size __func__.42945, 18
+__func__.42945:
.ascii "_list_remove_node\000"
- .space 2
- .type __func__.39702, %object
- .size __func__.39702, 23
-__func__.39702:
+ .type __func__.42970, %object
+ .size __func__.42970, 23
+__func__.42970:
.ascii "_list_update_data_list\000"
- .space 1
- .type __func__.20210, %object
- .size __func__.20210, 22
-__func__.20210:
- .ascii "nand_flash_print_info\000"
- .space 2
- .type __func__.20296, %object
- .size __func__.20296, 11
-__func__.20296:
- .ascii "nandc_init\000"
- .space 1
.type toshiba_A19ref_value, %object
.size toshiba_A19ref_value, 45
toshiba_A19ref_value:
@@ -31228,7 +31145,6 @@
.byte 126
.byte 124
.byte 0
- .space 3
.type toshiba_15ref_value, %object
.size toshiba_15ref_value, 95
toshiba_15ref_value:
@@ -31327,7 +31243,6 @@
.byte 116
.byte 114
.byte 0
- .space 1
.type toshiba_ref_value, %object
.size toshiba_ref_value, 8
toshiba_ref_value:
@@ -31339,15 +31254,18 @@
.byte 8
.byte 12
.byte 112
- .type __func__.19683, %object
- .size __func__.19683, 28
-__func__.19683:
+ .type __func__.23463, %object
+ .size __func__.23463, 22
+__func__.23463:
+ .ascii "nand_flash_print_info\000"
+ .type __func__.22936, %object
+ .size __func__.22936, 28
+__func__.22936:
.ascii "flash_wait_device_ready_raw\000"
- .type __func__.19747, %object
- .size __func__.19747, 22
-__func__.19747:
+ .type __func__.23000, %object
+ .size __func__.23000, 22
+__func__.23000:
.ascii "flash_start_page_read\000"
- .space 2
.type toshiba_3D_tlc_value, %object
.size toshiba_3D_tlc_value, 399
toshiba_3D_tlc_value:
@@ -31750,7 +31668,6 @@
.byte 12
.byte 12
.byte 14
- .space 1
.type toshiba_3D_slc_value, %object
.size toshiba_3D_slc_value, 11
toshiba_3D_slc_value:
@@ -31765,7 +31682,6 @@
.byte 40
.byte -56
.byte 56
- .space 1
.type ymtc_3D_tlc_value, %object
.size ymtc_3D_tlc_value, 357
ymtc_3D_tlc_value:
@@ -32126,7 +32042,6 @@
.byte 12
.byte 12
.byte 14
- .space 3
.type ymtc_3D_slc_value, %object
.size ymtc_3D_slc_value, 10
ymtc_3D_slc_value:
@@ -32140,22 +32055,18 @@
.byte 40
.byte -12
.byte 56
- .space 2
- .type __func__.19772, %object
- .size __func__.19772, 23
-__func__.19772:
+ .type __func__.23025, %object
+ .size __func__.23025, 23
+__func__.23025:
.ascii "flash_start_plane_read\000"
- .space 1
- .type __func__.19658, %object
- .size __func__.19658, 26
-__func__.19658:
+ .type __func__.22911, %object
+ .size __func__.22911, 26
+__func__.22911:
.ascii "flash_erase_duplane_block\000"
- .space 2
- .type __func__.19669, %object
- .size __func__.19669, 21
-__func__.19669:
+ .type __func__.22922, %object
+ .size __func__.22922, 21
+__func__.22922:
.ascii "flash_erase_block_en\000"
- .space 3
.type random_seed, %object
.size random_seed, 256
random_seed:
@@ -32287,109 +32198,98 @@
.short 28406
.short 17598
.short 28087
- .type __func__.20475, %object
- .size __func__.20475, 13
-__func__.20475:
+ .type __func__.23728, %object
+ .size __func__.23728, 13
+__func__.23728:
.ascii "buf_add_tail\000"
- .space 3
- .type __func__.20488, %object
- .size __func__.20488, 10
-__func__.20488:
+ .type __func__.23741, %object
+ .size __func__.23741, 10
+__func__.23741:
.ascii "buf_alloc\000"
- .space 2
- .type __func__.20502, %object
- .size __func__.20502, 16
-__func__.20502:
+ .type __func__.23755, %object
+ .size __func__.23755, 16
+__func__.23755:
.ascii "buf_remove_free\000"
- .space 4
+ .space 1
.type zftl_debug_proc_fops, %object
- .size zftl_debug_proc_fops, 160
+ .size zftl_debug_proc_fops, 44
zftl_debug_proc_fops:
- .word 0
- .word seq_lseek
- .word seq_read
- .word zftl_debug_proc_write
- .space 36
- .word zftl_debug_proc_open
.space 4
+ .word zftl_debug_proc_open
+ .word seq_read
+ .space 4
+ .word zftl_debug_proc_write
+ .word seq_lseek
.word single_release
- .space 96
- .type __func__.39210, %object
- .size __func__.39210, 12
-__func__.39210:
+ .space 16
+ .type __func__.42478, %object
+ .size __func__.42478, 12
+__func__.42478:
.ascii "gc_add_sblk\000"
- .type __func__.39302, %object
- .size __func__.39302, 19
-__func__.39302:
+ .type __func__.42570, %object
+ .size __func__.42570, 19
+__func__.42570:
.ascii "gc_write_completed\000"
- .space 1
- .type __func__.39908, %object
- .size __func__.39908, 18
-__func__.39908:
+ .type __func__.43176, %object
+ .size __func__.43176, 18
+__func__.43176:
.ascii "ftl_alloc_sys_blk\000"
- .space 2
- .type __func__.39918, %object
- .size __func__.39918, 17
-__func__.39918:
+ .type __func__.43186, %object
+ .size __func__.43186, 17
+__func__.43186:
.ascii "ftl_free_sys_blk\000"
- .space 3
- .type __func__.40039, %object
- .size __func__.40039, 23
-__func__.40039:
+ .type __func__.43307, %object
+ .size __func__.43307, 23
+__func__.43307:
.ascii "ftl_get_ppa_from_index\000"
- .space 1
- .type __func__.40079, %object
- .size __func__.40079, 22
-__func__.40079:
+ .type __func__.43347, %object
+ .size __func__.43347, 22
+__func__.43347:
.ascii "ftl_get_new_free_page\000"
- .space 2
- .type __func__.40090, %object
- .size __func__.40090, 22
-__func__.40090:
+ .type __func__.43358, %object
+ .size __func__.43358, 22
+__func__.43358:
.ascii "ftl_ext_alloc_new_blk\000"
- .space 2
- .type __func__.39359, %object
- .size __func__.39359, 16
-__func__.39359:
+ .type __func__.42627, %object
+ .size __func__.42627, 16
+__func__.42627:
.ascii "gc_free_src_blk\000"
- .type __func__.38953, %object
- .size __func__.38953, 14
-__func__.38953:
+ .type __func__.42221, %object
+ .size __func__.42221, 14
+__func__.42221:
.ascii "ftl_write_buf\000"
- .space 2
- .type __func__.38998, %object
- .size __func__.38998, 18
-__func__.38998:
+ .type __func__.42266, %object
+ .size __func__.42266, 18
+__func__.42266:
.ascii "zftl_add_read_buf\000"
- .space 2
- .type __func__.40512, %object
- .size __func__.40512, 21
-__func__.40512:
+ .type __func__.43780, %object
+ .size __func__.43780, 21
+__func__.43780:
.ascii "pm_select_ram_region\000"
- .space 3
- .type __func__.20200, %object
- .size __func__.20200, 20
-__func__.20200:
+ .type __func__.23453, %object
+ .size __func__.23453, 20
+__func__.23453:
.ascii "flash_die_info_init\000"
- .type __func__.38885, %object
- .size __func__.38885, 17
-__func__.38885:
+ .type __func__.42153, %object
+ .size __func__.42153, 17
+__func__.42153:
.ascii "lpa_rebuild_hash\000"
- .space 3
- .type __func__.39777, %object
- .size __func__.39777, 20
-__func__.39777:
+ .type __func__.43045, %object
+ .size __func__.43045, 20
+__func__.43045:
.ascii "zftl_sblk_list_init\000"
- .type __func__.40444, %object
- .size __func__.40444, 13
-__func__.40444:
+ .type __func__.43712, %object
+ .size __func__.43712, 13
+__func__.43712:
.ascii "pm_free_sblk\000"
- .space 3
- .type __func__.20538, %object
- .size __func__.20538, 21
-__func__.20538:
+ .type __func__.23791, %object
+ .size __func__.23791, 21
+__func__.23791:
.ascii "flash_info_data_init\000"
- .space 3
+ .type __func__.23549, %object
+ .size __func__.23549, 11
+__func__.23549:
+ .ascii "nandc_init\000"
.type samsung_14nm_slc_rr, %object
.size samsung_14nm_slc_rr, 26
samsung_14nm_slc_rr:
@@ -32419,7 +32319,6 @@
.byte -125
.byte -115
.byte 100
- .space 2
.type samsung_14nm_mlc_rr, %object
.size samsung_14nm_mlc_rr, 104
samsung_14nm_mlc_rr:
@@ -32527,897 +32426,157 @@
.byte 18
.byte 9
.byte 8
- .type __func__.19581, %object
- .size __func__.19581, 19
-__func__.19581:
+ .type __func__.22834, %object
+ .size __func__.22834, 19
+__func__.22834:
.ascii "flash_read_page_en\000"
- .space 1
- .type __func__.19707, %object
- .size __func__.19707, 26
-__func__.19707:
+ .type __func__.22960, %object
+ .size __func__.22960, 26
+__func__.22960:
.ascii "flash_start_tlc_page_prog\000"
- .space 2
- .type __func__.19718, %object
- .size __func__.19718, 29
-__func__.19718:
+ .type __func__.22971, %object
+ .size __func__.22971, 29
+__func__.22971:
.ascii "flash_start_3d_mlc_page_prog\000"
- .space 3
- .type __func__.19736, %object
- .size __func__.19736, 22
-__func__.19736:
+ .type __func__.22989, %object
+ .size __func__.22989, 22
+__func__.22989:
.ascii "flash_start_page_prog\000"
- .space 2
- .type __func__.19760, %object
- .size __func__.19760, 31
-__func__.19760:
+ .type __func__.23013, %object
+ .size __func__.23013, 31
+__func__.23013:
.ascii "flash_complete_plane_page_read\000"
- .space 1
- .type __func__.19785, %object
- .size __func__.19785, 25
-__func__.19785:
+ .type __func__.23038, %object
+ .size __func__.23038, 25
+__func__.23038:
.ascii "flash_complete_page_read\000"
- .space 3
- .type __func__.40277, %object
- .size __func__.40277, 31
-__func__.40277:
+ .type __func__.43545, %object
+ .size __func__.43545, 31
+__func__.43545:
.ascii "queue_wait_first_req_completed\000"
- .space 1
- .type __func__.40331, %object
- .size __func__.40331, 15
-__func__.40331:
+ .type __func__.43599, %object
+ .size __func__.43599, 15
+__func__.43599:
.ascii "sblk_prog_page\000"
- .space 1
- .type __func__.40358, %object
- .size __func__.40358, 15
-__func__.40358:
+ .type __func__.43626, %object
+ .size __func__.43626, 15
+__func__.43626:
.ascii "sblk_read_page\000"
- .space 1
- .type __func__.39257, %object
- .size __func__.39257, 21
-__func__.39257:
+ .type __func__.42525, %object
+ .size __func__.42525, 21
+__func__.42525:
.ascii "gc_check_data_one_wl\000"
- .space 3
- .type __func__.19642, %object
- .size __func__.19642, 19
-__func__.19642:
+ .type __func__.22895, %object
+ .size __func__.22895, 19
+__func__.22895:
.ascii "flash_prog_page_en\000"
- .space 1
- .type __func__.40154, %object
- .size __func__.40154, 14
-__func__.40154:
+ .type __func__.43422, %object
+ .size __func__.43422, 14
+__func__.43422:
.ascii "ftl_prog_page\000"
- .space 2
- .type __func__.39811, %object
- .size __func__.39811, 15
-__func__.39811:
+ .type __func__.43079, %object
+ .size __func__.43079, 15
+__func__.43079:
.ascii "ftl_info_flush\000"
- .space 1
- .type __func__.40116, %object
- .size __func__.40116, 19
-__func__.40116:
+ .type __func__.43384, %object
+ .size __func__.43384, 19
+__func__.43384:
.ascii "ftl_ext_info_flush\000"
- .space 1
- .type __func__.40128, %object
- .size __func__.40128, 18
-__func__.40128:
+ .type __func__.43396, %object
+ .size __func__.43396, 18
+__func__.43396:
.ascii "ftl_ext_info_init\000"
- .space 2
- .type __func__.39866, %object
- .size __func__.39866, 15
-__func__.39866:
+ .type __func__.43134, %object
+ .size __func__.43134, 15
+__func__.43134:
.ascii "ftl_alloc_sblk\000"
- .space 1
- .type __func__.40484, %object
- .size __func__.40484, 17
-__func__.40484:
+ .type __func__.43752, %object
+ .size __func__.43752, 17
+__func__.43752:
.ascii "pm_alloc_new_blk\000"
- .space 3
- .type __func__.40494, %object
- .size __func__.40494, 14
-__func__.40494:
+ .type __func__.43762, %object
+ .size __func__.43762, 14
+__func__.43762:
.ascii "pm_write_page\000"
- .space 2
- .type __func__.20560, %object
- .size __func__.20560, 17
-__func__.20560:
+ .type __func__.23813, %object
+ .size __func__.23813, 17
+__func__.23813:
.ascii "flash_info_flush\000"
- .space 3
- .type __func__.20523, %object
- .size __func__.20523, 20
-__func__.20523:
+ .type __func__.23776, %object
+ .size __func__.23776, 20
+__func__.23776:
.ascii "flash_info_blk_init\000"
- .type __func__.20255, %object
- .size __func__.20255, 16
-__func__.20255:
+ .type __func__.23508, %object
+ .size __func__.23508, 16
+__func__.23508:
.ascii "nand_flash_init\000"
- .type __func__.39981, %object
- .size __func__.39981, 16
-__func__.39981:
+ .type __func__.43249, %object
+ .size __func__.43249, 16
+__func__.43249:
.ascii "ftl_sysblk_dump\000"
- .type __func__.40006, %object
- .size __func__.40006, 23
-__func__.40006:
+ .type __func__.43274, %object
+ .size __func__.43274, 23
+__func__.43274:
.ascii "ftl_open_sblk_recovery\000"
- .space 1
- .type __func__.40428, %object
- .size __func__.40428, 16
-__func__.40428:
+ .type __func__.43696, %object
+ .size __func__.43696, 16
+__func__.43696:
.ascii "load_l2p_region\000"
- .type __func__.40468, %object
- .size __func__.40468, 6
-__func__.40468:
+ .type __func__.43736, %object
+ .size __func__.43736, 6
+__func__.43736:
.ascii "pm_gc\000"
- .space 2
- .type __func__.39200, %object
- .size __func__.39200, 12
-__func__.39200:
+ .type __func__.42468, %object
+ .size __func__.42468, 12
+__func__.42468:
.ascii "gc_recovery\000"
- .type __func__.39289, %object
- .size __func__.39289, 22
-__func__.39289:
+ .type __func__.42557, %object
+ .size __func__.42557, 22
+__func__.42557:
.ascii "gc_update_l2p_map_new\000"
- .space 2
- .type __func__.39403, %object
- .size __func__.39403, 16
-__func__.39403:
+ .type __func__.42671, %object
+ .size __func__.42671, 16
+__func__.42671:
.ascii "gc_scan_src_blk\000"
- .type __func__.39464, %object
- .size __func__.39464, 20
-__func__.39464:
+ .type __func__.42732, %object
+ .size __func__.42732, 20
+__func__.42732:
.ascii "gc_scan_static_data\000"
- .type __func__.39527, %object
- .size __func__.39527, 18
-__func__.39527:
+ .type __func__.42795, %object
+ .size __func__.42795, 18
+__func__.42795:
.ascii "gc_block_vpn_scan\000"
- .space 2
- .type __func__.39957, %object
- .size __func__.39957, 14
-__func__.39957:
+ .type __func__.43225, %object
+ .size __func__.43225, 14
+__func__.43225:
.ascii "ftl_sblk_dump\000"
- .space 2
- .type __func__.39031, %object
- .size __func__.39031, 10
-__func__.39031:
+ .type __func__.42299, %object
+ .size __func__.42299, 10
+__func__.42299:
.ascii "zftl_read\000"
- .space 2
- .type __func__.40060, %object
- .size __func__.40060, 19
-__func__.40060:
+ .type __func__.43328, %object
+ .size __func__.43328, 19
+__func__.43328:
.ascii "ftl_update_l2p_map\000"
- .space 1
- .type __func__.38935, %object
- .size __func__.38935, 17
-__func__.38935:
+ .type __func__.42203, %object
+ .size __func__.42203, 17
+__func__.42203:
.ascii "ftl_write_commit\000"
- .space 3
- .type __func__.39332, %object
- .size __func__.39332, 16
-__func__.39332:
+ .type __func__.42600, %object
+ .size __func__.42600, 16
+__func__.42600:
.ascii "gc_do_copy_back\000"
- .type __func__.39582, %object
- .size __func__.39582, 11
-__func__.39582:
+ .type __func__.42850, %object
+ .size __func__.42850, 11
+__func__.42850:
.ascii "zftl_do_gc\000"
- .space 1
- .type __func__.39063, %object
- .size __func__.39063, 13
-__func__.39063:
+ .type __func__.42331, %object
+ .size __func__.42331, 13
+__func__.42331:
.ascii "_ftl_discard\000"
- .section .rodata.str1.1,"aMS",%progbits,1
-.LC0:
- .ascii "\012!!!!! error @ func:%s - line:%d\012\000"
-.LC1:
- .ascii "%s\012\000"
-.LC2:
- .ascii "FTL version: 6.0.24 20210315\000"
-.LC3:
- .ascii "zftl_debug:0x%x\012\000"
-.LC4:
- .ascii "...%s enter...\012\000"
-.LC5:
- .ascii "No.0 FLASH ID: %x %x %x %x %x %x\012\000"
-.LC6:
- .ascii "DiePerChip: %x\012\000"
-.LC7:
- .ascii "SectPerPage: %x\012\000"
-.LC8:
- .ascii "PagePerBlk: %x\012\000"
-.LC9:
- .ascii "Cell: %x\012\000"
-.LC10:
- .ascii "PlanePerDie: %x\012\000"
-.LC11:
- .ascii "BlkPerPlane: %x\012\000"
-.LC12:
- .ascii "die gap: %x\012\000"
-.LC13:
- .ascii "lsbMode: %x\012\000"
-.LC14:
- .ascii "ReadRetryMode: %x\012\000"
-.LC15:
- .ascii "ecc: %x\012\000"
-.LC16:
- .ascii "idb ecc: %x\012\000"
-.LC17:
- .ascii "OptMode: %x\012\000"
-.LC18:
- .ascii "g_nand_max_die: %x\012\000"
-.LC19:
- .ascii "Cache read enable: %x\012\000"
-.LC20:
- .ascii "Cache random read enable: %x\012\000"
-.LC21:
- .ascii "Cache prog enable: %x\012\000"
-.LC22:
- .ascii "multi read enable: %x\012\000"
-.LC23:
- .ascii "multi prog enable: %x\012\000"
-.LC24:
- .ascii "interleave enable: %x\012\000"
-.LC25:
- .ascii "read retry enable: %x\012\000"
-.LC26:
- .ascii "randomizer enable: %x\012\000"
-.LC27:
- .ascii "SDR enable: %x\012\000"
-.LC28:
- .ascii "ONFI enable: %x\012\000"
-.LC29:
- .ascii "TOGGLE enable: %x\012\000"
-.LC30:
- .ascii "g_flash_slc_mode: %x %x\012\000"
-.LC31:
- .ascii "MultiPlaneProgCmd: %x %x\012\000"
-.LC32:
- .ascii "MultiPlaneReadCmd: %x %x\012\000"
-.LC33:
- .ascii "g_flash_toggle_mode_en: %x\012\000"
-.LC34:
- .ascii "...%s enter... %p\012\000"
-.LC35:
- .ascii "0:%x %x %x %x %x\012\000"
-.LC36:
- .ascii "g_nandc_ver...%d\012\000"
-.LC37:
- .ascii "nand sdr mode %x\012\000"
-.LC38:
- .ascii "nand ddr mode %x\012\000"
-.LC39:
- .ascii "No.%d FLASH ID:%x %x %x %x %x %x\012\000"
-.LC40:
- .ascii "otp:%x %x %x %x\012\000"
-.LC41:
- .ascii "bad block test:%x %x\012\000"
-.LC42:
- .ascii "flash_erase_duplane_block %x %x %x\012\000"
-.LC43:
- .ascii "flash_erase_duplane_block pageadd = %x status = %x\012"
- .ascii "\000"
-.LC44:
- .ascii "flash_erase_block %x %x %x\012\000"
-.LC45:
- .ascii "flash_erase_block %d block = %x status = %x\012\000"
-.LC46:
- .ascii "erase done: %x\012\000"
-.LC47:
- .ascii "sblk_queue_head = %d\012\000"
-.LC48:
- .ascii "sblk_read_completed_queue_head = %d\012\000"
-.LC49:
- .ascii "sblk_gc_write_completed_queue_head = %d\012\000"
-.LC50:
- .ascii "sblk_write_completed_queue_head = %d\012\000"
-.LC51:
- .ascii "p_free_buf_head = %d\012\000"
-.LC52:
- .ascii "free_buf_count = %d\012\000"
-.LC53:
- .ascii "buf = %d, next=%d, flag=%d gc_write_flag=%d, lun_st"
- .ascii "ate=%d, op_status = %d lpa=%x, ppa=%x\012\000"
-.LC54:
- .ascii "flash_mask_bad_block %d %d\012\000"
-.LC55:
- .ascii "zftl_debug\000"
-.LC56:
- .ascii "FLASH ID: %x %x %x %x %x %x\012\000"
-.LC57:
- .ascii "density: %d MB\012\000"
-.LC58:
- .ascii "device density: %d MB\012\000"
-.LC59:
- .ascii "FTL INFO:\012\000"
-.LC60:
- .ascii "max_lpn = 0x%x\012\000"
-.LC61:
- .ascii "density = 0x%x\012\000"
-.LC62:
- .ascii "slc vpn = 0x%x\012\000"
-.LC63:
- .ascii "xlc vpn = 0x%x\012\000"
-.LC64:
- .ascii "free slc blk = 0x%x\012\000"
-.LC65:
- .ascii "free xlc blk = 0x%x\012\000"
-.LC66:
- .ascii "free mix blk = 0x%x\012\000"
-.LC67:
- .ascii "slc data blk = 0x%x\012\000"
-.LC68:
- .ascii "slc cache blk = 0x%x\012\000"
-.LC69:
- .ascii "xlc data blk = 0x%x\012\000"
-.LC70:
- .ascii "free buf = %d, %d, %d\012\000"
-.LC71:
- .ascii "bad blk = %d %d\012\000"
-.LC72:
- .ascii "TBW = %d MB\012\000"
-.LC73:
- .ascii "TBR = %d MB\012\000"
-.LC74:
- .ascii "POC = %d\012\000"
-.LC75:
- .ascii "PLC = %d\012\000"
-.LC76:
- .ascii "sys run time = %d S\012\000"
-.LC77:
- .ascii "slc mode = %x %x %x\012\000"
-.LC78:
- .ascii "prog err = %d\012\000"
-.LC79:
- .ascii "read err = %d\012\000"
-.LC80:
- .ascii "GC XLC page = %d\012\000"
-.LC81:
- .ascii "GC SLC page = %d\012\000"
-.LC82:
- .ascii "discard page = 0x%x\012\000"
-.LC83:
- .ascii "version = %d\012\000"
-.LC84:
- .ascii "acblk = 0x%x %d %d\012\000"
-.LC85:
- .ascii "tmblk = 0x%x %d %d\012\000"
-.LC86:
- .ascii "gcblk = 0x%x %d %d\012\000"
-.LC87:
- .ascii "slc ec = %d, %d, %d, %d, %d\012\000"
-.LC88:
- .ascii "xlc ec = %d, %d, %d, %d, %d\012\000"
-.LC89:
- .ascii "gc free blk th = %d\012\000"
-.LC90:
- .ascii "gc vpn th = %d %d %d %d %d\012\000"
-.LC91:
- .ascii "swl blk = %x %x %x %x\012\000"
-.LC92:
- .ascii "rf info = %x %x %x %x %x\012\000"
-.LC93:
- .ascii "gc_add_sblk = %d, %d, %d, %d, %d, %d, %d\012\000"
-.LC94:
- .ascii "gc_add_sblk = %d, %d, %d\012\000"
-.LC95:
- .ascii "gc_add_sblk = %d, %d, %d,last update:%d, %d\012\000"
-.LC96:
- .ascii "gc_add_sblk = %d, %d, %d, %d, %d, %d\012\000"
-.LC97:
- .ascii "gc_mark_bad_ppa %d %x %x\012\000"
-.LC98:
- .ascii "status: %x, ppa: %x\012\000"
-.LC99:
- .ascii "%d gc_free_temp_buf buf id= %x\012\000"
-.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:
- .ascii "zftl_get_free_sblk %x %d, %p %d %d\012\000"
-.LC105:
- .ascii "zftl_gc_get_free_sblk %x %x %x, %d %d %d\012\000"
-.LC106:
- .ascii "swl_slc_free_mini_ec_blk alloc sblk %x\012\000"
-.LC107:
- .ascii "list count:%p %d\012\000"
-.LC108:
- .ascii "%d: node:%x %x %x %x, %d %d %d %d %d\012\000"
-.LC109:
- .ascii "ftl_vpn_decrement %x = %d, %d\012\000"
-.LC110:
- .ascii "mask bad block:cs %x %x block: %x %x\012\000"
-.LC111:
- .ascii "gc_free_bad_sblk 0x%x\012\000"
-.LC112:
- .ascii "swl_slc_free_mini_ec_blk sblk %x\012\000"
-.LC113:
- .ascii "gc_free_src_blk = %x, vpn = %d\012\000"
-.LC114:
- .ascii "gc_free_src_blk %x, %d\012\000"
-.LC115:
- .ascii "bad blk = %x, %x free blk: s:%x,t:%x,m:%x, data blk"
- .ascii ":s:%x,%x,t%x vpn: s:%x t:%x, max_vpn: %x\012\000"
-.LC116:
- .ascii "totle w: %d MB,r: %d MB %d dv:0x%X,poc:%d\012\000"
-.LC117:
- .ascii "gc xlc page: %d,gc slc page: %d, tmp w: %d MB\012\000"
-.LC118:
- .ascii "slc ec: %d,%d,%d,%d,%d,tlc ec: %d,%d,%d,%d,%d\012\000"
-.LC119:
- .ascii "gc th: tlc_tlc: %d tlc_slc: %d slc_slc: %d slc_tlc:"
- .ascii "%d free_th: %d\012\000"
-.LC120:
- .ascii "swl : %x %x %x %x %x %x\012\000"
-.LC121:
- .ascii "ftl prog error =%x, lpa = %x, ppa= %x\012\000"
-.LC122:
- .ascii "ftl re prog: lpa = %x, ppa= %x\012\000"
-.LC123:
- .ascii "dump_sblk_queue: %d\012\000"
-.LC124:
- .ascii "buf id= %d state = %d ppa = %x\012\000"
-.LC125:
- .ascii "%s %d %d\012\000"
-.LC126:
- .ascii "gc_static_wearleveling: min blk: %x,sec=%d,xec = %d"
- .ascii " ,mode=%d, func=%x, bbt=%x vpn = %d\012\000"
-.LC127:
- .ascii "gc_static_wearleveling: min slc blk: %x,sec=%d,xec "
- .ascii "= %d ,mode=%d, func=%x, bbt=%x vpn = %d\012\000"
-.LC128:
- .ascii "gc_static_wearleveling: min tlc blk: %x,sec=%d,xec "
- .ascii "= %d ,mode=%d, func=%x, bbt=%x vpn = %d\012\000"
-.LC129:
- .ascii "gc_static_wearleveling: max slc blk: %x,sec=%d,xec "
- .ascii "= %d ,mode=%d, func=%x, bbt=%x vpn = %d\012\000"
-.LC130:
- .ascii "gc_static_wearleveling: max xlc blk: %x,sec=%d,xec "
- .ascii "= %d ,mode=%d, func=%x, bbt=%x vpn = %d\012\000"
-.LC131:
- .ascii "gc_static_wearleveling: slc blk: %x, tlc blk: %d av"
- .ascii "g slc ec: %d, avg tlc ec: %d \012\000"
-.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"
-.LC133:
- .ascii "swl add tlc gc = %x, %d, %d, %d, %d, %d\012\000"
-.LC134:
- .ascii "swl add slc gc = %x, %d, %d, %d, %d, %d\012\000"
-.LC135:
- .ascii "free blk vpn error: %x %x\012\000"
-.LC136:
- .ascii "GC PM block %x %x %x %d\012\000"
-.LC137:
- .ascii "ftl_free_no_use_map_blk %x %x %x %d\012\000"
-.LC138:
- .ascii "...%d @ %s\012\000"
-.LC139:
- .ascii "rk_ftl_de_init %x\012\000"
-.LC140:
- .ascii "\0013\000"
-.LC141:
- .ascii "otp error! %d\000"
-.LC142:
- .ascii "rr\000"
-.LC143:
- .ascii "flash_abort_clear = %d\012\000"
-.LC144:
- .ascii "%d mtrans_cnt = %d page_num = %d\012\000"
-.LC145:
- .ascii "%d flReg.d32=%x %x\012\000"
-.LC146:
- .ascii "nandc:\000"
-.LC147:
- .ascii "nandc_xfer_done read error %x\012\000"
-.LC148:
- .ascii "dqs data abort %x\012\000"
-.LC149:
- .ascii "dqs data timeout %x\012\000"
-.LC150:
- .ascii "xfer error %x\012\000"
-.LC151:
- .ascii "MT %d row=%x,last status %d,status = %d\012\000"
-.LC152:
- .ascii "MT RR %d row=%x,count %d,status=%d\012\000"
-.LC153:
- .ascii "toshiba SRR %d row=%x, status=%d\012\000"
-.LC154:
- .ascii "toshiba TRR %d row=%x, status=%d\012\000"
-.LC155:
- .ascii "toshiba RR %d row=%x,count %d,status=%d\012\000"
-.LC156:
- .ascii "YMTC RR %d row=%x,count %d,status=%d\012\000"
-.LC157:
- .ascii "samsung SRR %d row=%x, status=%d\012\000"
-.LC158:
- .ascii "samsung TRR %d row=%x, status=%d\012\000"
-.LC159:
- .ascii "samsung RR %d row=%x,count %d,status=%d\012\000"
-.LC160:
- .ascii "hynix RR %d row=%x, count %d, status=%d\012\000"
-.LC161:
- .ascii "%d flash_ddr_tuning_read %x ecc=%d\012\000"
-.LC162:
- .ascii "sync para %d\012\000"
-.LC163:
- .ascii "DDR mode Read error %x %x\012\000"
-.LC164:
- .ascii "SDR mode Read %x %x ecc:%x\012\000"
-.LC165:
- .ascii "flash_read_page_en %x %x %x %x\012\000"
-.LC166:
- .ascii "flash_read_page_en %x %x error_ecc %d %d\012\000"
-.LC167:
- .ascii "flash_get_last_written_page: %x %x %x\012\000"
-.LC168:
- .ascii "read page: %x %x %x %x\012\000"
-.LC169:
- .ascii "flash_prog_page page_addr = %x status = %x\012\000"
-.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"
-.LC172:
- .ascii "sblk_mlc_dump_prog wl_addr= %x ppa = %x ppa = %x\012"
- .ascii "\000"
-.LC173:
- .ascii "flash_complete_page_read %x %x error_ecc %d %d\012\000"
-.LC174:
- .ascii "read: %x %x %x %x\012\000"
-.LC175:
- .ascii "0set buf %d,status = %x, ppa = %x lun state = %d\012"
- .ascii "\000"
-.LC176:
- .ascii "prog end %x %x error_ecc %d %d\012\000"
-.LC177:
- .ascii "1set buf %d,status = %x, ppa = %x lun state = %d\012"
- .ascii "\000"
-.LC178:
- .ascii "dp prog end %x %x error_ecc %d %d\012\000"
-.LC179:
- .ascii "sblk_prog_page ppa = %x, count = %d\012\000"
-.LC180:
- .ascii "err: ppa = %x, status = %x, %x %x spare: %x %x %x %"
- .ascii "x\012\000"
-.LC181:
- .ascii "flash_prog_page_en:%x %x %x\012\000"
-.LC182:
- .ascii "w d:\000"
-.LC183:
- .ascii "w s:\000"
-.LC184:
- .ascii "spare\000"
-.LC185:
- .ascii "data\000"
-.LC186:
- .ascii "write error: %x\012\000"
-.LC187:
- .ascii "g_ftl_info_blk blk = %x, page = %x version = %d\012"
- .ascii "\000"
-.LC188:
- .ascii "%d %x @%d %x\012\000"
-.LC189:
- .ascii "ftl_info_blk_init %d %d %x\012\000"
-.LC190:
- .ascii "ftl info hash %x error\012\000"
-.LC191:
- .ascii "ink flag: %x\012\000"
-.LC192:
- .ascii "%s %d %d %x %x\012\000"
-.LC193:
- .ascii "ext info hash %x error\012\000"
-.LC194:
- .ascii "%s %x %x %x\012\000"
-.LC195:
- .ascii "ftl_sblk_dump_write = %x %d %d %d %d\012\000"
-.LC196:
- .ascii "blk= %x, page=%x, ppa = %x, status = %x, data:%x %x"
- .ascii " %x %x, spare: %x %x %x %x\012\000"
-.LC197:
- .ascii "ftl_sblk_dump_write2 = %x %d %d %d\012\000"
-.LC198:
- .ascii "ftl_sblk_dump_write = %x %x\012\000"
-.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 "blk %x is bad block\012\000"
-.LC205:
- .ascii "pm_alloc_new_blk: %x %x %x %x\012\000"
-.LC206:
- .ascii "pm_write_page write error: %x\012\000"
-.LC207:
- .ascii "finfo:\000"
-.LC208:
- .ascii "flash_info_flush id = %x, page = %x\012\000"
-.LC209:
- .ascii "sys_info_flush error:%x\012\000"
-.LC210:
- .ascii "...%d @ %s %d %p\012\000"
-.LC211:
- .ascii "no sys info %x\012\000"
-.LC212:
- .ascii "l2p:\000"
-.LC213:
- .ascii "saved_active_page = %x\012\000"
-.LC214:
- .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"
-.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"
-.LC223:
- .ascii "dump write = %x %x %x\012\000"
-.LC224:
- .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"
-.LC229:
- .ascii "tmp_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, pag"
- .ascii "e_index:0x%x\012\000"
-.LC230:
- .ascii "gc_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page"
- .ascii "_index:0x%x\012\000"
-.LC231:
- .ascii "lpa:\000"
-.LC232:
- .ascii "vpn:\000"
-.LC233:
- .ascii "sblk:\000"
-.LC234:
- .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"
-.LC239:
- .ascii "load_l2p_region = %x,%x,%x, %x\012\000"
-.LC240:
- .ascii "pm_ppa:\000"
-.LC241:
- .ascii "spare:\000"
-.LC242:
- .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"
-.LC247:
- .ascii "ppa = %x, status = %x, %x %x spare: %x %x %x %x\012"
- .ascii "\000"
-.LC248:
- .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"
-.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"
-.LC257:
- .ascii "ftl_sblk_dump = %x %d %d %d %d\012\000"
-.LC258:
- .ascii "ftl_sblk_dump = %x %x %x %x\012\000"
-.LC259:
- .ascii "page_addr = %x, lpa=%x vpn = %d\012\000"
-.LC260:
- .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"
-.LC265:
- .ascii "zftl debug cmd: %s\012\000"
-.LC266:
- .ascii "cmd:\000"
-.LC267:
- .ascii "dumpl2p\000"
-.LC268:
- .ascii "pm l2p:\000"
-.LC269:
- .ascii "pm blk:\000"
-.LC270:
- .ascii "dumppm:\000"
-.LC271:
- .ascii "p_cmd: %s\012\000"
-.LC272:
- .ascii "pm ram = %x, %x\012\000"
-.LC273:
- .ascii "ram:\000"
-.LC274:
- .ascii "pm:\000"
-.LC275:
- .ascii "dumpsys\000"
-.LC276:
- .ascii "dumplist:\000"
-.LC277:
- .ascii "vpncheck\000"
-.LC278:
- .ascii "dumpppa:\000"
-.LC279:
- .ascii "dumpblk:\000"
-.LC280:
- .ascii "setzdebug:\000"
-.LC281:
- .ascii "lpa2ppa:\000"
-.LC282:
- .ascii "lpa: %x--> ppa: %x\012\000"
-.LC283:
- .ascii "help:\012\000"
-.LC284:
- .ascii "1. echo dumpl2p > /proc/zftl_debug\012\000"
-.LC285:
- .ascii "2. echo dumppm:x > /proc/zftl_debug\012\000"
-.LC286:
- .ascii "3. echo dumpsys > /proc/zftl_debug\012\000"
-.LC287:
- .ascii "4. echo dumpppa:x > /proc/zftl_debug\012\000"
-.LC288:
- .ascii "5. echo vpncheck > /proc/zftl_debug\012\000"
-.LC289:
- .ascii "6. echo setzdebug:x > /proc/zftl_debug\012\000"
-.LC290:
- .ascii "7. echo dumplist:x > /proc/zftl_debug\012\000"
-.LC291:
- .ascii "8. echo lpa2ppa:x> /proc/zftl_debug\012\000"
-.LC292:
- .ascii "ftl_update_l2p_map: %x %x %x\012\000"
-.LC293:
- .ascii "ftl_update_l2p_map\000"
-.LC294:
- .ascii "lpa_tbl:\000"
-.LC295:
- .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"
-.LC300:
- .ascii "gc %d: %d %d %d %d %d %d %d\012\000"
-.LC301:
- .ascii "GC_STATE_SCAN_ALL_PAGE = %x, vpn0 = %d, vpn1 = %d\012"
- .ascii "\000"
-.LC302:
- .ascii "gc free %x, %d\012\000"
-.LC303:
- .ascii "_c_user_data_density := %d\012\000"
-.LC304:
- .ascii "_c_totle_phy_density := %d\012\000"
-.LC305:
- .ascii "_c_totle_log_page := %d\012\000"
-.LC306:
- .ascii "_c_totle_data_density := %d\012\000"
-.LC307:
- .ascii "_c_ftl_pm_page_num := %d\012\000"
-.LC308:
- .ascii "_c_ftl_byte_pre_page := %d\012\000"
-.LC309:
- .ascii "_c_max_pm_sblk := %d\012\000"
-.LC310:
- .ascii "_min_slc_super_block := %d\012\000"
-.LC311:
- .ascii "_max_xlc_super_block := %d\012\000"
-.LC312:
- .ascii "gp_ftl_ext_info %p %p %p\012\000"
-.LC313:
- .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"
-.LC318:
- .ascii "write_idblock fix data %x %x\012\000"
-.LC319:
- .ascii "idblk:\000"
-.LC320:
- .ascii "write_idblock totle_sec %x %x\012\000"
-.LC321:
- .ascii "prog page: %x %x %x, %p %x %x %x\012\000"
-.LC322:
- .ascii "wl_lba %p %x %x %x\012\000"
-.LC323:
- .ascii "RKNAND_GET_DRM_KEY\012\000"
-.LC324:
- .ascii "rk_copy_from_user error\012\000"
-.LC325:
- .ascii "RKNAND_STORE_DRM_KEY\012\000"
-.LC326:
- .ascii "RKNAND_DIASBLE_SECURE_BOOT\012\000"
-.LC327:
- .ascii "RKNAND_ENASBLE_SECURE_BOOT\012\000"
-.LC328:
- .ascii "RKNAND_GET_SN_SECTOR\012\000"
-.LC329:
- .ascii "RKNAND_LOADER_UNLOCK\012\000"
-.LC330:
- .ascii "RKNAND_LOADER_STATUS\012\000"
-.LC331:
- .ascii "RKNAND_LOADER_LOCK\012\000"
-.LC332:
- .ascii "LockKey not match %d\012\000"
-.LC333:
- .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
-.LANCHOR2 = . + 0
+ .set .LANCHOR2,. + 0
.type zftl_debug, %object
.size zftl_debug, 4
zftl_debug:
@@ -33785,7 +32944,6 @@
.byte 0
.byte -32
.byte 0
- .space 3
.type sd15_slc_rr, %object
.size sd15_slc_rr, 25
sd15_slc_rr:
@@ -33814,7 +32972,6 @@
.byte 96
.byte 104
.byte 112
- .space 3
.type hy_f26_ref_value, %object
.size hy_f26_ref_value, 28
hy_f26_ref_value:
@@ -36460,8 +35617,8 @@
.short 1019
.bss
.align 6
-.LANCHOR0 = . + 0
-.LANCHOR3 = . + 8184
+ .set .LANCHOR0,. + 0
+ .set .LANCHOR3,. + 8184
.type g_flash_slc_mode, %object
.size g_flash_slc_mode, 1
g_flash_slc_mode:
@@ -36490,6 +35647,10 @@
.type gp_sblk_list_tbl, %object
.size gp_sblk_list_tbl, 4
gp_sblk_list_tbl:
+ .space 4
+ .type gp_flash_info, %object
+ .size gp_flash_info, 4
+gp_flash_info:
.space 4
.type gp_nandc, %object
.size gp_nandc, 4
@@ -36549,6 +35710,15 @@
.size gp_ftl_ext_info, 4
gp_ftl_ext_info:
.space 4
+ .type g_retryMode, %object
+ .size g_retryMode, 1
+g_retryMode:
+ .space 1
+ .type g_maxRegNum, %object
+ .size g_maxRegNum, 1
+g_maxRegNum:
+ .space 1
+ .space 2
.type gp_nand_para_info, %object
.size gp_nand_para_info, 4
gp_nand_para_info:
@@ -36573,41 +35743,6 @@
.size g_flash_toggle_mode_en, 1
g_flash_toggle_mode_en:
.space 1
- .type nandc_hw_seed, %object
- .size nandc_hw_seed, 1
-nandc_hw_seed:
- .space 1
- .space 3
- .type g_nandc_v6_master_info, %object
- .size g_nandc_v6_master_info, 28
-g_nandc_v6_master_info:
- .space 28
- .type nandc_randomizer_en, %object
- .size nandc_randomizer_en, 1
-nandc_randomizer_en:
- .space 1
- .space 1
- .type fill_spare_size, %object
- .size fill_spare_size, 2
-fill_spare_size:
- .space 2
- .type g_nandc_ecc_bits, %object
- .size g_nandc_ecc_bits, 1
-g_nandc_ecc_bits:
- .space 1
- .type g_retryMode, %object
- .size g_retryMode, 1
-g_retryMode:
- .space 1
- .type g_maxRegNum, %object
- .size g_maxRegNum, 1
-g_maxRegNum:
- .space 1
- .space 1
- .type gp_flash_info, %object
- .size gp_flash_info, 4
-gp_flash_info:
- .space 4
.type g_die_cs_idx, %object
.size g_die_cs_idx, 8
g_die_cs_idx:
@@ -36620,7 +35755,6 @@
.size _c_ftl_cs_bits, 1
_c_ftl_cs_bits:
.space 1
- .space 2
.type g_flash_cur_mode, %object
.size g_flash_cur_mode, 4
g_flash_cur_mode:
@@ -36633,7 +35767,6 @@
.size g_flash_ymtc_3d_tlc_flag, 1
g_flash_ymtc_3d_tlc_flag:
.space 1
- .space 2
.type IDByte, %object
.size IDByte, 32
IDByte:
@@ -36642,19 +35775,36 @@
.size g_flash_interface_mode, 1
g_flash_interface_mode:
.space 1
+ .type g_nandc_ecc_bits, %object
+ .size g_nandc_ecc_bits, 1
+g_nandc_ecc_bits:
+ .space 1
.type g_flash_multi_page_prog_en, %object
.size g_flash_multi_page_prog_en, 1
g_flash_multi_page_prog_en:
.space 1
+ .type nandc_hw_seed, %object
+ .size nandc_hw_seed, 1
+nandc_hw_seed:
+ .space 1
+ .type nandc_randomizer_en, %object
+ .size nandc_randomizer_en, 1
+nandc_randomizer_en:
+ .space 1
+ .space 3
+ .type g_nandc_v6_master_info, %object
+ .size g_nandc_v6_master_info, 28
+g_nandc_v6_master_info:
+ .space 28
+ .type fill_spare_size, %object
+ .size fill_spare_size, 2
+fill_spare_size:
+ .space 2
.space 2
.type g_buf, %object
.size g_buf, 1536
g_buf:
.space 1536
- .type _c_ftl_sec_per_page, %object
- .size _c_ftl_sec_per_page, 1
-_c_ftl_sec_per_page:
- .space 1
.type p_free_buf_head, %object
.size p_free_buf_head, 1
p_free_buf_head:
@@ -36679,7 +35829,7 @@
.size sblk_write_completed_queue_head, 1
sblk_write_completed_queue_head:
.space 1
- .space 1
+ .space 2
.type _c_totle_phy_density, %object
.size _c_totle_phy_density, 4
_c_totle_phy_density:
@@ -36729,27 +35879,27 @@
.size gc_free_slc_sblk_th, 2
gc_free_slc_sblk_th:
.space 2
- .type gc_tlc_mode_tlc_vpn_th, %object
- .size gc_tlc_mode_tlc_vpn_th, 2
-gc_tlc_mode_tlc_vpn_th:
- .space 2
.type gc_tlc_mode_slc_vpn_th, %object
.size gc_tlc_mode_slc_vpn_th, 2
gc_tlc_mode_slc_vpn_th:
.space 2
- .type gc_slc_mode_vpn_th, %object
- .size gc_slc_mode_vpn_th, 2
-gc_slc_mode_vpn_th:
- .space 2
- .type gc_slc_mode_tlc_vpn_th, %object
- .size gc_slc_mode_tlc_vpn_th, 2
-gc_slc_mode_tlc_vpn_th:
+ .type gc_tlc_mode_tlc_vpn_th, %object
+ .size gc_tlc_mode_tlc_vpn_th, 2
+gc_tlc_mode_tlc_vpn_th:
.space 2
.space 2
.type _gc_after_discard_en, %object
.size _gc_after_discard_en, 4
_gc_after_discard_en:
.space 4
+ .type gc_slc_mode_tlc_vpn_th, %object
+ .size gc_slc_mode_tlc_vpn_th, 2
+gc_slc_mode_tlc_vpn_th:
+ .space 2
+ .type gc_slc_mode_vpn_th, %object
+ .size gc_slc_mode_vpn_th, 2
+gc_slc_mode_vpn_th:
+ .space 2
.type write_buf_head, %object
.size write_buf_head, 1
write_buf_head:
@@ -36763,7 +35913,6 @@
.size ftl_sblk_vpn_update_id, 2
ftl_sblk_vpn_update_id:
.space 2
- .space 2
.type ftl_sblk_update_list, %object
.size ftl_sblk_update_list, 16
ftl_sblk_update_list:
@@ -36776,7 +35925,7 @@
.size _c_ftl_planes_per_die, 1
_c_ftl_planes_per_die:
.space 1
- .space 1
+ .space 3
.type gc_valid_page_ppa, %object
.size gc_valid_page_ppa, 4
gc_valid_page_ppa:
@@ -36813,6 +35962,10 @@
.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
+gp_data_slc_data_head:
+ .space 4
.type gc_slc_data_index, %object
.size gc_slc_data_index, 2
gc_slc_data_index:
@@ -36838,11 +35991,6 @@
.size _c_ftl_page_pre_slc_blk, 2
_c_ftl_page_pre_slc_blk:
.space 2
- .space 2
- .type gp_data_slc_data_head, %object
- .size gp_data_slc_data_head, 4
-gp_data_slc_data_head:
- .space 4
.type gc_xlc_search_index, %object
.size gc_xlc_search_index, 2
gc_xlc_search_index:
@@ -36854,7 +36002,6 @@
.type _max_xlc_super_block, %object
.size _max_xlc_super_block, 2
_max_xlc_super_block:
- .space 2
.space 2
.type gp_free_slc_head, %object
.size gp_free_slc_head, 4
@@ -36880,11 +36027,12 @@
.size _c_ftl_nand_die_num, 1
_c_ftl_nand_die_num:
.space 1
- .space 3
+ .space 1
.type lpa_hash, %object
.size lpa_hash, 512
lpa_hash:
.space 512
+ .space 2
.type ftl_sblk_lpa_tbl, %object
.size ftl_sblk_lpa_tbl, 4
ftl_sblk_lpa_tbl:
@@ -36897,6 +36045,11 @@
.size ftl_vpn_update_count, 2
ftl_vpn_update_count:
.space 2
+ .type _c_ftl_sec_per_page, %object
+ .size _c_ftl_sec_per_page, 1
+_c_ftl_sec_per_page:
+ .space 1
+ .space 1
.type ftl_sblk_update_list_offset, %object
.size ftl_sblk_update_list_offset, 2
ftl_sblk_update_list_offset:
@@ -36922,6 +36075,7 @@
.size read_buf_count, 1
read_buf_count:
.space 1
+ .space 2
.type pm_ram_info, %object
.size pm_ram_info, 256
pm_ram_info:
@@ -36948,32 +36102,7 @@
.size g_totle_phy_block, 2
g_totle_phy_block:
.space 2
- .type gc_state, %object
- .size gc_state, 1
-gc_state:
- .space 1
- .space 1
- .type gc_search_count, %object
- .size gc_search_count, 4
-gc_search_count:
- .space 4
- .type gc_slc_mode_slc_vpn_th, %object
- .size gc_slc_mode_slc_vpn_th, 2
-gc_slc_mode_slc_vpn_th:
.space 2
- .space 2
- .type gc_lpa_tbl, %object
- .size gc_lpa_tbl, 4
-gc_lpa_tbl:
- .space 4
- .type gc_pre_ppa_tbl, %object
- .size gc_pre_ppa_tbl, 4
-gc_pre_ppa_tbl:
- .space 4
- .type gc_des_ppa_tbl, %object
- .size gc_des_ppa_tbl, 4
-gc_des_ppa_tbl:
- .space 4
.type pm_force_gc, %object
.size pm_force_gc, 4
pm_force_gc:
@@ -37003,6 +36132,40 @@
.size RK29_NANDC_REG_BASE, 4
RK29_NANDC_REG_BASE:
.space 4
+ .type ftl_dma32_buffer_size, %object
+ .size ftl_dma32_buffer_size, 4
+ftl_dma32_buffer_size:
+ .space 4
+ .type ftl_dma32_buffer, %object
+ .size ftl_dma32_buffer, 4
+ftl_dma32_buffer:
+ .space 4
+ .type gc_state, %object
+ .size gc_state, 1
+gc_state:
+ .space 1
+ .space 3
+ .type gc_search_count, %object
+ .size gc_search_count, 4
+gc_search_count:
+ .space 4
+ .type gc_slc_mode_slc_vpn_th, %object
+ .size gc_slc_mode_slc_vpn_th, 2
+gc_slc_mode_slc_vpn_th:
+ .space 2
+ .space 2
+ .type gc_lpa_tbl, %object
+ .size gc_lpa_tbl, 4
+gc_lpa_tbl:
+ .space 4
+ .type gc_pre_ppa_tbl, %object
+ .size gc_pre_ppa_tbl, 4
+gc_pre_ppa_tbl:
+ .space 4
+ .type gc_des_ppa_tbl, %object
+ .size gc_des_ppa_tbl, 4
+gc_des_ppa_tbl:
+ .space 4
.type g_flash_tmp_page_buffer, %object
.size g_flash_tmp_page_buffer, 4
g_flash_tmp_page_buffer:
@@ -37029,13 +36192,13 @@
.size flash_read_retry, 4
flash_read_retry:
.space 4
- .type g_flash_page_buffer, %object
- .size g_flash_page_buffer, 4
-g_flash_page_buffer:
- .space 4
.type g_flash_spare_buffer, %object
.size g_flash_spare_buffer, 4
g_flash_spare_buffer:
+ .space 4
+ .type g_flash_page_buffer, %object
+ .size g_flash_page_buffer, 4
+g_flash_page_buffer:
.space 4
.type write_commit_head, %object
.size write_commit_head, 1
@@ -37050,11 +36213,12 @@
.size g_flash_multi_page_read_en, 1
g_flash_multi_page_read_en:
.space 1
- .space 31
+ .space 3
.type ftl_info_spare, %object
- .size ftl_info_spare, 256
+ .size ftl_info_spare, 4
ftl_info_spare:
- .space 256
+ .space 4
+ .space 16
.type g_ftl_info_blk, %object
.size g_ftl_info_blk, 4
g_ftl_info_blk:
@@ -37080,11 +36244,10 @@
.size ftl_ext_info_data_buffer, 4
ftl_ext_info_data_buffer:
.space 4
- .space 48
.type ftl_tmp_spare, %object
- .size ftl_tmp_spare, 256
+ .size ftl_tmp_spare, 4
ftl_tmp_spare:
- .space 256
+ .space 4
.type pm_gc_enable, %object
.size pm_gc_enable, 4
pm_gc_enable:
@@ -37182,9 +36345,17 @@
.size idb_last_lba, 4
idb_last_lba:
.space 4
- .type gpDrmKeyInfo, %object
- .size gpDrmKeyInfo, 4
-gpDrmKeyInfo:
+ .type g_idb_buffer, %object
+ .size g_idb_buffer, 4
+g_idb_buffer:
+ .space 4
+ .type g_vendor, %object
+ .size g_vendor, 4
+g_vendor:
+ .space 4
+ .type SecureBootUnlockTryCount, %object
+ .size SecureBootUnlockTryCount, 4
+SecureBootUnlockTryCount:
.space 4
.type SecureBootCheckOK, %object
.size SecureBootCheckOK, 4
@@ -37194,33 +36365,25 @@
.size SecureBootEn, 4
SecureBootEn:
.space 4
- .type gpBootConfig, %object
- .size gpBootConfig, 4
-gpBootConfig:
- .space 4
- .type gSnSectorData, %object
- .size gSnSectorData, 512
-gSnSectorData:
- .space 512
- .type SecureBootUnlockTryCount, %object
- .size SecureBootUnlockTryCount, 4
-SecureBootUnlockTryCount:
+ .type gpVendor1Info, %object
+ .size gpVendor1Info, 4
+gpVendor1Info:
.space 4
.type gpVendor0Info, %object
.size gpVendor0Info, 4
gpVendor0Info:
.space 4
- .type gpVendor1Info, %object
- .size gpVendor1Info, 4
-gpVendor1Info:
+ .type gSnSectorData, %object
+ .size gSnSectorData, 512
+gSnSectorData:
+ .space 512
+ .type gpDrmKeyInfo, %object
+ .size gpDrmKeyInfo, 4
+gpDrmKeyInfo:
.space 4
- .type g_idb_buffer, %object
- .size g_idb_buffer, 4
-g_idb_buffer:
- .space 4
- .type g_vendor, %object
- .size g_vendor, 4
-g_vendor:
+ .type gpBootConfig, %object
+ .size gpBootConfig, 4
+gpBootConfig:
.space 4
.type ftl_low_format_cur_blk, %object
.size ftl_low_format_cur_blk, 2
@@ -37235,7 +36398,6 @@
.size _c_ftl_nand_blks_per_die, 2
_c_ftl_nand_blks_per_die:
.space 2
- .space 2
.type nandc_ecc_sts, %object
.size nandc_ecc_sts, 16
nandc_ecc_sts:
@@ -37244,3 +36406,689 @@
.size g_slc_mode_enable, 1
g_slc_mode_enable:
.space 1
+ .section .rodata.str1.1,"aMS",%progbits,1
+.LC0:
+ .ascii "\012!!!!! error @ func:%s - line:%d\012\000"
+.LC1:
+ .ascii "FTL version: 6.0.24 20210716\000"
+.LC2:
+ .ascii "%s\012\000"
+.LC3:
+ .ascii "zftl_debug:0x%x\012\000"
+.LC4:
+ .ascii "...%s enter...\012\000"
+.LC5:
+ .ascii "No.0 FLASH ID: %x %x %x %x %x %x\012\000"
+.LC6:
+ .ascii "DiePerChip: %x\012\000"
+.LC7:
+ .ascii "SectPerPage: %x\012\000"
+.LC8:
+ .ascii "PagePerBlk: %x\012\000"
+.LC9:
+ .ascii "Cell: %x\012\000"
+.LC10:
+ .ascii "PlanePerDie: %x\012\000"
+.LC11:
+ .ascii "BlkPerPlane: %x\012\000"
+.LC12:
+ .ascii "die gap: %x\012\000"
+.LC13:
+ .ascii "lsbMode: %x\012\000"
+.LC14:
+ .ascii "ReadRetryMode: %x\012\000"
+.LC15:
+ .ascii "ecc: %x\012\000"
+.LC16:
+ .ascii "idb ecc: %x\012\000"
+.LC17:
+ .ascii "OptMode: %x\012\000"
+.LC18:
+ .ascii "g_nand_max_die: %x\012\000"
+.LC19:
+ .ascii "Cache read enable: %x\012\000"
+.LC20:
+ .ascii "Cache random read enable: %x\012\000"
+.LC21:
+ .ascii "Cache prog enable: %x\012\000"
+.LC22:
+ .ascii "multi read enable: %x\012\000"
+.LC23:
+ .ascii "multi prog enable: %x\012\000"
+.LC24:
+ .ascii "interleave enable: %x\012\000"
+.LC25:
+ .ascii "read retry enable: %x\012\000"
+.LC26:
+ .ascii "randomizer enable: %x\012\000"
+.LC27:
+ .ascii "SDR enable: %x\012\000"
+.LC28:
+ .ascii "ONFI enable: %x\012\000"
+.LC29:
+ .ascii "TOGGLE enable: %x\012\000"
+.LC30:
+ .ascii "g_flash_slc_mode: %x %x\012\000"
+.LC31:
+ .ascii "MultiPlaneProgCmd: %x %x\012\000"
+.LC32:
+ .ascii "MultiPlaneReadCmd: %x %x\012\000"
+.LC33:
+ .ascii "g_flash_toggle_mode_en: %x\012\000"
+.LC34:
+ .ascii "nand sdr mode %x\012\000"
+.LC35:
+ .ascii "nand ddr mode %x\012\000"
+.LC36:
+ .ascii "No.%d FLASH ID:%x %x %x %x %x %x\012\000"
+.LC37:
+ .ascii "otp:%x %x %x %x\012\000"
+.LC38:
+ .ascii "bad block test:%x %x\012\000"
+.LC39:
+ .ascii "flash_erase_duplane_block %x %x %x\012\000"
+.LC40:
+ .ascii "flash_erase_duplane_block pageadd = %x status = %x\012"
+ .ascii "\000"
+.LC41:
+ .ascii "flash_erase_block %x %x %x\012\000"
+.LC42:
+ .ascii "flash_erase_block %d block = %x status = %x\012\000"
+.LC43:
+ .ascii "erase done: %x\012\000"
+.LC44:
+ .ascii "sblk_queue_head = %d\012\000"
+.LC45:
+ .ascii "sblk_read_completed_queue_head = %d\012\000"
+.LC46:
+ .ascii "sblk_gc_write_completed_queue_head = %d\012\000"
+.LC47:
+ .ascii "sblk_write_completed_queue_head = %d\012\000"
+.LC48:
+ .ascii "p_free_buf_head = %d\012\000"
+.LC49:
+ .ascii "free_buf_count = %d\012\000"
+.LC50:
+ .ascii "buf = %d, next=%d, flag=%d gc_write_flag=%d, lun_st"
+ .ascii "ate=%d, op_status = %d lpa=%x, ppa=%x\012\000"
+.LC51:
+ .ascii "flash_mask_bad_block %d %d\012\000"
+.LC52:
+ .ascii "zftl_debug\000"
+.LC53:
+ .ascii "FLASH ID: %x %x %x %x %x %x\012\000"
+.LC54:
+ .ascii "density: %d MB\012\000"
+.LC55:
+ .ascii "device density: %d MB\012\000"
+.LC56:
+ .ascii "FTL INFO:\012\000"
+.LC57:
+ .ascii "max_lpn = 0x%x\012\000"
+.LC58:
+ .ascii "density = 0x%x\012\000"
+.LC59:
+ .ascii "slc vpn = 0x%x\012\000"
+.LC60:
+ .ascii "xlc vpn = 0x%x\012\000"
+.LC61:
+ .ascii "free slc blk = 0x%x\012\000"
+.LC62:
+ .ascii "free xlc blk = 0x%x\012\000"
+.LC63:
+ .ascii "free mix blk = 0x%x\012\000"
+.LC64:
+ .ascii "slc data blk = 0x%x\012\000"
+.LC65:
+ .ascii "slc cache blk = 0x%x\012\000"
+.LC66:
+ .ascii "xlc data blk = 0x%x\012\000"
+.LC67:
+ .ascii "free buf = %d, %d, %d\012\000"
+.LC68:
+ .ascii "bad blk = %d %d\012\000"
+.LC69:
+ .ascii "TBW = %d MB\012\000"
+.LC70:
+ .ascii "TBR = %d MB\012\000"
+.LC71:
+ .ascii "POC = %d\012\000"
+.LC72:
+ .ascii "PLC = %d\012\000"
+.LC73:
+ .ascii "sys run time = %d S\012\000"
+.LC74:
+ .ascii "slc mode = %x %x %x\012\000"
+.LC75:
+ .ascii "prog err = %d\012\000"
+.LC76:
+ .ascii "read err = %d\012\000"
+.LC77:
+ .ascii "GC XLC page = %d\012\000"
+.LC78:
+ .ascii "GC SLC page = %d\012\000"
+.LC79:
+ .ascii "discard page = 0x%x\012\000"
+.LC80:
+ .ascii "version = %d\012\000"
+.LC81:
+ .ascii "acblk = 0x%x %d %d\012\000"
+.LC82:
+ .ascii "tmblk = 0x%x %d %d\012\000"
+.LC83:
+ .ascii "gcblk = 0x%x %d %d\012\000"
+.LC84:
+ .ascii "slc ec = %d, %d, %d, %d, %d\012\000"
+.LC85:
+ .ascii "xlc ec = %d, %d, %d, %d, %d\012\000"
+.LC86:
+ .ascii "gc free blk th = %d\012\000"
+.LC87:
+ .ascii "gc vpn th = %d %d %d %d %d\012\000"
+.LC88:
+ .ascii "swl blk = %x %x %x %x\012\000"
+.LC89:
+ .ascii "rf info = %x %x %x %x %x\012\000"
+.LC90:
+ .ascii "gc_add_sblk = %d, %d, %d, %d, %d, %d, %d\012\000"
+.LC91:
+ .ascii "gc_add_sblk = %d, %d, %d\012\000"
+.LC92:
+ .ascii "gc_add_sblk = %d, %d, %d,last update:%d, %d\012\000"
+.LC93:
+ .ascii "gc_add_sblk = %d, %d, %d, %d, %d, %d\012\000"
+.LC94:
+ .ascii "gc_mark_bad_ppa %d %x %x\012\000"
+.LC95:
+ .ascii "status: %x, ppa: %x\012\000"
+.LC96:
+ .ascii "%d gc_free_temp_buf buf id= %x\012\000"
+.LC97:
+ .ascii "gc: b:%x,p:%x,i:%x; free buf=%d %d free slc th: %d\012"
+ .ascii "\000"
+.LC98:
+ .ascii "zftl_get_gc_node cache = %x index = %d vpn = %x\012"
+ .ascii "\000"
+.LC99:
+ .ascii "gc_search_src_blk mode = %x, src mode = %x, count= "
+ .ascii "%d %d\012\000"
+.LC100:
+ .ascii "swl_tlc_free_mini_ec_blk alloc sblk %x\012\000"
+.LC101:
+ .ascii "zftl_get_free_sblk %x %d, %p %d %d\012\000"
+.LC102:
+ .ascii "zftl_gc_get_free_sblk %x %x %x, %d %d %d\012\000"
+.LC103:
+ .ascii "swl_slc_free_mini_ec_blk alloc sblk %x\012\000"
+.LC104:
+ .ascii "list count:%p %d\012\000"
+.LC105:
+ .ascii "%d: node:%x %x %x %x, %d %d %d %d %d\012\000"
+.LC106:
+ .ascii "ftl_vpn_decrement %x = %d, %d\012\000"
+.LC107:
+ .ascii "mask bad block:cs %x %x block: %x %x\012\000"
+.LC108:
+ .ascii "gc_free_bad_sblk 0x%x\012\000"
+.LC109:
+ .ascii "swl_slc_free_mini_ec_blk sblk %x\012\000"
+.LC110:
+ .ascii "gc_free_src_blk = %x, vpn = %d\012\000"
+.LC111:
+ .ascii "gc_free_src_blk %x, %d\012\000"
+.LC112:
+ .ascii "bad blk = %x, %x free blk: s:%x,t:%x,m:%x, data blk"
+ .ascii ":s:%x,%x,t%x vpn: s:%x t:%x, max_vpn: %x\012\000"
+.LC113:
+ .ascii "totle w: %d MB,r: %d MB %d dv:0x%X,poc:%d\012\000"
+.LC114:
+ .ascii "gc xlc page: %d,gc slc page: %d, tmp w: %d MB\012\000"
+.LC115:
+ .ascii "slc ec: %d,%d,%d,%d,%d,tlc ec: %d,%d,%d,%d,%d\012\000"
+.LC116:
+ .ascii "gc th: tlc_tlc: %d tlc_slc: %d slc_slc: %d slc_tlc:"
+ .ascii "%d free_th: %d\012\000"
+.LC117:
+ .ascii "swl : %x %x %x %x %x %x\012\000"
+.LC118:
+ .ascii "ftl prog error =%x, lpa = %x, ppa= %x\012\000"
+.LC119:
+ .ascii "ftl re prog: lpa = %x, ppa= %x\012\000"
+.LC120:
+ .ascii "dump_sblk_queue: %d\012\000"
+.LC121:
+ .ascii "buf id= %d state = %d ppa = %x\012\000"
+.LC122:
+ .ascii "%s %d %d\012\000"
+.LC123:
+ .ascii "gc_static_wearleveling: min blk: %x,sec=%d,xec = %d"
+ .ascii " ,mode=%d, func=%x, bbt=%x vpn = %d\012\000"
+.LC124:
+ .ascii "gc_static_wearleveling: min slc blk: %x,sec=%d,xec "
+ .ascii "= %d ,mode=%d, func=%x, bbt=%x vpn = %d\012\000"
+.LC125:
+ .ascii "gc_static_wearleveling: min tlc blk: %x,sec=%d,xec "
+ .ascii "= %d ,mode=%d, func=%x, bbt=%x vpn = %d\012\000"
+.LC126:
+ .ascii "gc_static_wearleveling: max slc blk: %x,sec=%d,xec "
+ .ascii "= %d ,mode=%d, func=%x, bbt=%x vpn = %d\012\000"
+.LC127:
+ .ascii "gc_static_wearleveling: max xlc blk: %x,sec=%d,xec "
+ .ascii "= %d ,mode=%d, func=%x, bbt=%x vpn = %d\012\000"
+.LC128:
+ .ascii "gc_static_wearleveling: slc blk: %x, tlc blk: %d av"
+ .ascii "g slc ec: %d, avg tlc ec: %d \012\000"
+.LC129:
+ .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"
+.LC130:
+ .ascii "swl add tlc gc = %x, %d, %d, %d, %d, %d\012\000"
+.LC131:
+ .ascii "swl add slc gc = %x, %d, %d, %d, %d, %d\012\000"
+.LC132:
+ .ascii "free blk vpn error: %x %x\012\000"
+.LC133:
+ .ascii "GC PM block %x %x %x %d\012\000"
+.LC134:
+ .ascii "ftl_free_no_use_map_blk %x %x %x %d\012\000"
+.LC135:
+ .ascii "...%d @ %s\012\000"
+.LC136:
+ .ascii "...%s enter... %p\012\000"
+.LC137:
+ .ascii "0:%x %x %x %x %x\012\000"
+.LC138:
+ .ascii "g_nandc_ver...%d\012\000"
+.LC139:
+ .ascii "rk_ftl_de_init %x\012\000"
+.LC140:
+ .ascii "\0013\000"
+.LC141:
+ .ascii "otp error! %d\000"
+.LC142:
+ .ascii "rr\000"
+.LC143:
+ .ascii "flash_abort_clear = %d\012\000"
+.LC144:
+ .ascii "%d mtrans_cnt = %d page_num = %d\012\000"
+.LC145:
+ .ascii "%d flReg.d32=%x %x\012\000"
+.LC146:
+ .ascii "nandc:\000"
+.LC147:
+ .ascii "nandc_xfer_done read error %x\012\000"
+.LC148:
+ .ascii "dqs data abort %x\012\000"
+.LC149:
+ .ascii "dqs data timeout %x\012\000"
+.LC150:
+ .ascii "xfer error %x\012\000"
+.LC151:
+ .ascii "MT %d row=%x,last status %d,status = %d\012\000"
+.LC152:
+ .ascii "MT RR %d row=%x,count %d,status=%d\012\000"
+.LC153:
+ .ascii "toshiba SRR %d row=%x, status=%d\012\000"
+.LC154:
+ .ascii "toshiba TRR %d row=%x, status=%d\012\000"
+.LC155:
+ .ascii "toshiba RR %d row=%x,count %d,status=%d\012\000"
+.LC156:
+ .ascii "YMTC RR %d row=%x,count %d,status=%d\012\000"
+.LC157:
+ .ascii "samsung SRR %d row=%x, status=%d\012\000"
+.LC158:
+ .ascii "samsung TRR %d row=%x, status=%d\012\000"
+.LC159:
+ .ascii "samsung RR %d row=%x,count %d,status=%d\012\000"
+.LC160:
+ .ascii "hynix RR %d row=%x, count %d, status=%d\012\000"
+.LC161:
+ .ascii "%d flash_ddr_tuning_read %x ecc=%d\012\000"
+.LC162:
+ .ascii "sync para %d\012\000"
+.LC163:
+ .ascii "DDR mode Read error %x %x\012\000"
+.LC164:
+ .ascii "SDR mode Read %x %x ecc:%x\012\000"
+.LC165:
+ .ascii "flash_read_page_en %x %x %x %x\012\000"
+.LC166:
+ .ascii "flash_read_page_en %x %x error_ecc %d %d\012\000"
+.LC167:
+ .ascii "flash_get_last_written_page: %x %x %x\012\000"
+.LC168:
+ .ascii "flash_prog_page page_addr = %x status = %x\012\000"
+.LC169:
+ .ascii "flash_prog_page %x %x %x\012\000"
+.LC170:
+ .ascii "ymtc_flash_tlc_page_prog page_addr = %x status = %x"
+ .ascii "\012\000"
+.LC171:
+ .ascii "sblk_mlc_dump_prog wl_addr= %x ppa = %x ppa = %x\012"
+ .ascii "\000"
+.LC172:
+ .ascii "flash_complete_page_read %x %x error_ecc %d %d\012\000"
+.LC173:
+ .ascii "read: %x %x %x %x\012\000"
+.LC174:
+ .ascii "0set buf %d,status = %x, ppa = %x lun state = %d\012"
+ .ascii "\000"
+.LC175:
+ .ascii "prog end %x %x error_ecc %d %d\012\000"
+.LC176:
+ .ascii "1set buf %d,status = %x, ppa = %x lun state = %d\012"
+ .ascii "\000"
+.LC177:
+ .ascii "dp prog end %x %x error_ecc %d %d\012\000"
+.LC178:
+ .ascii "sblk_prog_page ppa = %x, count = %d\012\000"
+.LC179:
+ .ascii "err: ppa = %x, status = %x, %x %x spare: %x %x %x %"
+ .ascii "x\012\000"
+.LC180:
+ .ascii "flash_prog_page_en:%x %x %x\012\000"
+.LC181:
+ .ascii "w d:\000"
+.LC182:
+ .ascii "w s:\000"
+.LC183:
+ .ascii "spare\000"
+.LC184:
+ .ascii "data\000"
+.LC185:
+ .ascii "write error: %x\012\000"
+.LC186:
+ .ascii "g_ftl_info_blk blk = %x, page = %x version = %d\012"
+ .ascii "\000"
+.LC187:
+ .ascii "%d %x @%d %x\012\000"
+.LC188:
+ .ascii "ftl_info_blk_init %d %d %x\012\000"
+.LC189:
+ .ascii "ftl info hash %x error\012\000"
+.LC190:
+ .ascii "ink flag: %x\012\000"
+.LC191:
+ .ascii "%s %d %d %x %x\012\000"
+.LC192:
+ .ascii "ext info hash %x error\012\000"
+.LC193:
+ .ascii "%s %x %x %x\012\000"
+.LC194:
+ .ascii "ftl_sblk_dump_write = %x %d %d %d %d\012\000"
+.LC195:
+ .ascii "blk= %x, page=%x, ppa = %x, status = %x, data:%x %x"
+ .ascii " %x %x, spare: %x %x %x %x\012\000"
+.LC196:
+ .ascii "ftl_sblk_dump_write2 = %x %d %d %d\012\000"
+.LC197:
+ .ascii "ftl_sblk_dump_write = %x %x\012\000"
+.LC198:
+ .ascii "ftl_sblk_dump_write done = %x\012\000"
+.LC199:
+ .ascii "%x: ink_scaned_blk_num %x\012\000"
+.LC200:
+ .ascii "ftl_ink_check_sblk = %x %d %d\012\000"
+.LC201:
+ .ascii "ftl_ink_check_sblk = %x %d %d end\012\000"
+.LC202:
+ .ascii "alloc sblk %x %d\012\000"
+.LC203:
+ .ascii "blk %x is bad block\012\000"
+.LC204:
+ .ascii "pm_alloc_new_blk: %x %x %x %x\012\000"
+.LC205:
+ .ascii "pm_write_page write error: %x\012\000"
+.LC206:
+ .ascii "finfo:\000"
+.LC207:
+ .ascii "flash_info_flush id = %x, page = %x\012\000"
+.LC208:
+ .ascii "sys_info_flush error:%x\012\000"
+.LC209:
+ .ascii "...%d @ %s %d %p\012\000"
+.LC210:
+ .ascii "no sys info %x\012\000"
+.LC211:
+ .ascii "l2p:\000"
+.LC212:
+ .ascii "saved_active_page = %x\012\000"
+.LC213:
+ .ascii "saved_active_plane = %x\012\000"
+.LC214:
+ .ascii "sblk = %x\012\000"
+.LC215:
+ .ascii "phy_blk = %x %x\012\000"
+.LC216:
+ .ascii "num_planes = %x\012\000"
+.LC217:
+ .ascii "recovery blk=%x, page=%x, ppa = %x, status = %x, ha"
+ .ascii "sh:%x\012\000"
+.LC218:
+ .ascii "data:\000"
+.LC219:
+ .ascii "sblk = %x, vpn0 = %d, vpn1 = %d\012\000"
+.LC220:
+ .ascii "dump_write_lpa = %x %x %x %x\012\000"
+.LC221:
+ .ascii "dump write new ppa = %x, last ppa = %x lpa = %x\012"
+ .ascii "\000"
+.LC222:
+ .ascii "dump write = %x %x %x\012\000"
+.LC223:
+ .ascii "dump write hash update = %x %x %x\012\000"
+.LC224:
+ .ascii "free_buf_count: %d\012\000"
+.LC225:
+ .ascii "g_ftl_info_blk blk:0x%x, index:0x%x, page:0x%x\012\000"
+.LC226:
+ .ascii "ftl_ext_info_blk blk:0x%x, page:0x%x\012\000"
+.LC227:
+ .ascii "ac_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page"
+ .ascii "_index:0x%x\012\000"
+.LC228:
+ .ascii "tmp_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, pag"
+ .ascii "e_index:0x%x\012\000"
+.LC229:
+ .ascii "gc_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page"
+ .ascii "_index:0x%x\012\000"
+.LC230:
+ .ascii "lpa:\000"
+.LC231:
+ .ascii "vpn:\000"
+.LC232:
+ .ascii "sblk:\000"
+.LC233:
+ .ascii "lpa_hash:\000"
+.LC234:
+ .ascii "lpa_hash_index:\000"
+.LC235:
+ .ascii "%s w error lpn = %x, max ppa = %d\012\000"
+.LC236:
+ .ascii "region_id = %d, pm_max_region = %d\012\000"
+.LC237:
+ .ascii "load_l2p_region no ppa = %x , %x, all setting 0xff."
+ .ascii "...\012\000"
+.LC238:
+ .ascii "load_l2p_region = %x,%x,%x, %x\012\000"
+.LC239:
+ .ascii "pm_ppa:\000"
+.LC240:
+ .ascii "spare:\000"
+.LC241:
+ .ascii "pm_init posr %x %x %x\012\000"
+.LC242:
+ .ascii "pm_init recovery %x %x %x\012\000"
+.LC243:
+ .ascii "pm_init hash %x error\012\000"
+.LC244:
+ .ascii "pm_log2phys lpn = %d, max lpn = %d\012\000"
+.LC245:
+ .ascii "ppa = %x, status = %x, data:%x %x %x %x, spare: %x "
+ .ascii "%x %x %x\012\000"
+.LC246:
+ .ascii "ppa = %x, status = %x, %x %x spare: %x %x %x %x\012"
+ .ascii "\000"
+.LC247:
+ .ascii "gc_recovery: %x vpn = %x\012\000"
+.LC248:
+ .ascii "gc_update_l2p_map_new sblk %x\012\000"
+.LC249:
+ .ascii "gc_update_l2p_map_new: %x %x %x\012\000"
+.LC250:
+ .ascii "lpa: %x %x %x\012\000"
+.LC251:
+ .ascii "gc_update_l2p_map_new: %x vpn = %x vpn1 = %x done\012"
+ .ascii "\000"
+.LC252:
+ .ascii "gc_scan_src_blk = %x, vpn = %d\012\000"
+.LC253:
+ .ascii "js hash error:%x %x %x\012\000"
+.LC254:
+ .ascii "gc_scan_src_blk = %x, s vpn0 = %d, c vpn1 = %d\012\000"
+.LC255:
+ .ascii "gc_block_vpn_scan = %x, s vpn0 = %d, c vpn1 = %d f:"
+ .ascii "%d\012\000"
+.LC256:
+ .ascii "ftl_sblk_dump = %x %d %d %d %d\012\000"
+.LC257:
+ .ascii "ftl_sblk_dump = %x %x %x %x\012\000"
+.LC258:
+ .ascii "page_addr = %x, lpa=%x vpn = %d\012\000"
+.LC259:
+ .ascii "index= %x, lpa=%x\012\000"
+.LC260:
+ .ascii "block = %x, vpn=%x check vpn = %x\012\000"
+.LC261:
+ .ascii "ftl_read %x %x %x\012\000"
+.LC262:
+ .ascii "ftl_read refresh =%x, lpa = %x, ppa= %x\012\000"
+.LC263:
+ .ascii "id=%d, status = %x, lpa = %x, ppa = %x spare = %x %"
+ .ascii "x %x %x\012\000"
+.LC264:
+ .ascii "zftl debug cmd: %s\012\000"
+.LC265:
+ .ascii "cmd:\000"
+.LC266:
+ .ascii "dumpl2p\000"
+.LC267:
+ .ascii "pm l2p:\000"
+.LC268:
+ .ascii "pm blk:\000"
+.LC269:
+ .ascii "dumppm:\000"
+.LC270:
+ .ascii "p_cmd: %s\012\000"
+.LC271:
+ .ascii "pm ram = %x, %x\012\000"
+.LC272:
+ .ascii "ram:\000"
+.LC273:
+ .ascii "pm:\000"
+.LC274:
+ .ascii "dumpsys\000"
+.LC275:
+ .ascii "dumplist:\000"
+.LC276:
+ .ascii "vpncheck\000"
+.LC277:
+ .ascii "dumpppa:\000"
+.LC278:
+ .ascii "dumpblk:\000"
+.LC279:
+ .ascii "setzdebug:\000"
+.LC280:
+ .ascii "lpa2ppa:\000"
+.LC281:
+ .ascii "lpa: %x--> ppa: %x\012\000"
+.LC282:
+ .ascii "help:\012\000"
+.LC283:
+ .ascii "1. echo dumpl2p > /proc/zftl_debug\012\000"
+.LC284:
+ .ascii "2. echo dumppm:x > /proc/zftl_debug\012\000"
+.LC285:
+ .ascii "3. echo dumpsys > /proc/zftl_debug\012\000"
+.LC286:
+ .ascii "4. echo dumpppa:x > /proc/zftl_debug\012\000"
+.LC287:
+ .ascii "5. echo vpncheck > /proc/zftl_debug\012\000"
+.LC288:
+ .ascii "6. echo setzdebug:x > /proc/zftl_debug\012\000"
+.LC289:
+ .ascii "7. echo dumplist:x > /proc/zftl_debug\012\000"
+.LC290:
+ .ascii "8. echo lpa2ppa:x> /proc/zftl_debug\012\000"
+.LC291:
+ .ascii "ftl_update_l2p_map: %x %x %x\012\000"
+.LC292:
+ .ascii "ftl_update_l2p_map\000"
+.LC293:
+ .ascii "lpa_tbl:\000"
+.LC294:
+ .ascii "sblk %x vpn: %d %d\012\000"
+.LC295:
+ .ascii "error gc_add_sblk: %x\012\000"
+.LC296:
+ .ascii "%d read error: ppa:%x, lpa:%x, status:%x\012\000"
+.LC297:
+ .ascii "gc page in buf: lpa %x ppa = %x pageindex= %x\012\000"
+.LC298:
+ .ascii "gc_do_copy_back: lpa %x des_ppa = %x %x gc_ppa= %x "
+ .ascii "page_index= %d\012\000"
+.LC299:
+ .ascii "gc %d: %d %d %d %d %d %d %d\012\000"
+.LC300:
+ .ascii "GC_STATE_SCAN_ALL_PAGE = %x, vpn0 = %d, vpn1 = %d\012"
+ .ascii "\000"
+.LC301:
+ .ascii "gc free %x, %d\012\000"
+.LC302:
+ .ascii "_c_user_data_density := %d\012\000"
+.LC303:
+ .ascii "_c_totle_phy_density := %d\012\000"
+.LC304:
+ .ascii "_c_totle_log_page := %d\012\000"
+.LC305:
+ .ascii "_c_totle_data_density := %d\012\000"
+.LC306:
+ .ascii "_c_ftl_pm_page_num := %d\012\000"
+.LC307:
+ .ascii "_c_ftl_byte_pre_page := %d\012\000"
+.LC308:
+ .ascii "_c_max_pm_sblk := %d\012\000"
+.LC309:
+ .ascii "_min_slc_super_block := %d\012\000"
+.LC310:
+ .ascii "_max_xlc_super_block := %d\012\000"
+.LC311:
+ .ascii "gp_ftl_ext_info %p %p %p\012\000"
+.LC312:
+ .ascii "flash info size: %d %d %d\012\000"
+.LC313:
+ .ascii "ftl_init %x\012\000"
+.LC314:
+ .ascii "ftlwrite %x %x %x %x\012\000"
+.LC315:
+ .ascii "ftl_discard:(%x, %x, %x, %x)\012\000"
+.LC316:
+ .ascii "id_block_prog_msb_ff_data slc page = %d pageadd=%x "
+ .ascii "%x\012\000"
+.LC317:
+ .ascii "write_idblock fix data %x %x\012\000"
+.LC318:
+ .ascii "idblk:\000"
+.LC319:
+ .ascii "write_idblock totle_sec %x %x\012\000"
+.LC320:
+ .ascii "prog page: %x %x %x, %p %x %x %x\012\000"
+.LC321:
+ .ascii "read page: %x %x %x %x\012\000"
+.LC322:
+ .ascii "wl_lba %p %x %x %x\012\000"
+.LC323:
+ .ascii "return ret = %lx\012\000"
+.LC324:
+ .ascii "\0013vendor storage %x,%x,%x\012\000"
--
Gitblit v1.6.2