diff pirelli/fw-disasm @ 236:9ee2d1d91f7e

pirelli/fw-disasm: Cust_Init_Layer1() and madc_hex_2_physical() located
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 22 Dec 2017 06:10:26 +0000
parents 78be85145f33
children 452ea81450e1
line wrap: on
line diff
--- a/pirelli/fw-disasm	Fri Dec 22 02:58:33 2017 +0000
+++ b/pirelli/fw-disasm	Fri Dec 22 06:10:26 2017 +0000
@@ -848,7 +848,7 @@
   3f11fe:	f7ca fbe4	bl	0x3bb9ca	; $Init_Drivers
   3f1202:	f686 f8eb	bl	0x2773dc
   3f1206:	f686 f985	bl	0x277514
-  3f120a:	f008 ffa7	bl	0x3fa15c
+  3f120a:	f008 ffa7	bl	0x3fa15c	; $Cust_Init_Layer1
   3f120e:	f7ff ffcd	bl	0x3f11ac
   3f1212:	2801		cmp	r0, #1
   3f1214:	d001		beq	0x3f121a
@@ -896,7 +896,140 @@
   3f6b52:	46c0		nop			(mov r8, r8)
   3f6b54:	e8bd8000	ldmia	sp!, {pc}
 
-003F81AC $madc_hex_2_physical call trampoline
+$madc_hex_2_physical call trampoline
+  3f81ac:	b082		sub	sp, #8
+  3f81ae:	9400		str	r4, [sp, #0]
+  3f81b0:	4c01		ldr	r4, =0x83cab0	; via 0x3f81b8
+  3f81b2:	9401		str	r4, [sp, #4]
+  3f81b4:	bd10		pop	{r4, pc}
+  3f81b6:	0000
+  3f81b8:	0083cab0
+
+$Cust_Init_Layer1 call trampoline
+  3fa15c:	b082		sub	sp, #8
+  3fa15e:	9400		str	r4, [sp, #0]
+  3fa160:	4c01		ldr	r4, =0x83ca64	; via 0x3fa168
+  3fa162:	9401		str	r4, [sp, #4]
+  3fa164:	bd10		pop	{r4, pc}
+  3fa166:	0000
+  3fa168:	0083ca64
+
 0052FB70 _RVM_SWE_GET_INFO_ARRAY
 
-0083CAB0 $madc_hex_2_physical function body expected here
+IRAM data:
+
+0x801550:	rf
+
+IRAM code:
+
+$Cust_Init_Layer1:
+  83ca64:	b500		push	{lr}
+  83ca66:	b084		sub	sp, #16	; 0x10
+  83ca68:	4669		mov	r1, sp
+  83ca6a:	2006		mov	r0, #6
+  83ca6c:	7008		strb	r0, [r1, #0]
+  83ca6e:	4668		mov	r0, sp
+  83ca70:	2101		mov	r1, #1
+  83ca72:	7101		strb	r1, [r0, #4]
+  83ca74:	2000		mov	r0, #0
+  83ca76:	4669		mov	r1, sp
+  83ca78:	70c8		strb	r0, [r1, #3]
+  83ca7a:	7208		strb	r0, [r1, #8]
+  83ca7c:	487d		ldr	r0, =0x5ff	; via 0x83cc74
+  83ca7e:	9003		str	r0, [sp, #12]	; 0xc
+  83ca80:	2001		mov	r0, #1
+  83ca82:	80c8		strh	r0, [r1, #6]
+  83ca84:	4668		mov	r0, sp
+  83ca86:	f00b fff9	bl	0x848a7c	; $l1_initialize
+  83ca8a:	487c		ldr	r0, =0x801550	; via 0x83cc7c
+  83ca8c:	21ff		mov	r1, #255	; 0xff
+  83ca8e:	319d		add	r1, #157	; 0x9d
+  83ca90:	2200		mov	r2, #0
+  83ca92:	f000 f85d	bl	0x83cb50	; $get_cal_from_nvmem
+  83ca96:	4878		ldr	r0, =0x801964	; via 0x83cc78
+  83ca98:	2102		mov	r1, #2
+  83ca9a:	2202		mov	r2, #2
+  83ca9c:	f000 f858	bl	0x83cb50	; $get_cal_from_nvmem
+  83caa0:	b004		add	sp, #16	; 0x10
+  83caa2:	bd00		pop	{pc}
+
+  83caa4:	00000f22
+  83caa8:	00000e8b
+  83caac:	00001d12
+
+$madc_hex_2_physical:
+  83cab0:	b5f0		push	{r4, r5, r6, r7, lr}
+  83cab2:	4642		mov	r2, r8
+  83cab4:	b404		push	{r2}
+  83cab6:	4688		mov	r8, r1
+  83cab8:	1c01		add	r1, r0, #0
+  83caba:	4c71		ldr	r4, =0x801ac8	; via 0x83cc80
+  83cabc:	2012		mov	r0, #18	; 0x12
+  83cabe:	1900		add	r0, r0, r4
+  83cac0:	2212		mov	r2, #18	; 0x12
+  83cac2:	f002 feeb	bl	0x83f89c	; C$MEMCPY
+  83cac6:	496f		ldr	r1, =0x801734	; via 0x83cc84
+  83cac8:	2012		mov	r0, #18	; 0x12
+  83caca:	1842		add	r2, r0, r1
+  83cacc:	2307		mov	r3, #7
+  83cace:	8a60		ldrh	r0, [r4, #18]	; 0x12
+  83cad0:	880d		ldrh	r5, [r1, #0]
+  83cad2:	4368		mul	r0, r5
+  83cad4:	0a80		lsr	r0, r0, #10
+  83cad6:	2500		mov	r5, #0
+  83cad8:	5f55		ldrsh	r5, [r2, r5]
+  83cada:	1828		add	r0, r5, r0
+  83cadc:	8020		strh	r0, [r4, #0]
+  83cade:	3102		add	r1, #2
+  83cae0:	3402		add	r4, #2
+  83cae2:	3202		add	r2, #2
+  83cae4:	3b01		sub	r3, #1
+  83cae6:	2b00		cmp	r3, #0
+  83cae8:	d1f1		bne	0x83cace
+  83caea:	4f66		ldr	r7, =0x801734	; via 0x83cc84
+  83caec:	4964		ldr	r1, =0x801ac8	; via 0x83cc80
+  83caee:	8c08		ldrh	r0, [r1, #32]	; 0x20
+  83caf0:	89fa		ldrh	r2, [r7, #14]	; 0xe
+  83caf2:	4350		mul	r0, r2
+  83caf4:	0a00		lsr	r0, r0, #8
+  83caf6:	0400		lsl	r0, r0, #16
+  83caf8:	0c06		lsr	r6, r0, #16
+  83cafa:	2200		mov	r2, #0
+  83cafc:	2382		mov	r3, #130	; 0x82
+  83cafe:	2041		mov	r0, #65	; 0x41
+  83cb00:	4c61		ldr	r4, =0x801758	; via 0x83cc88
+  83cb02:	0085		lsl	r5, r0, #2
+  83cb04:	5b64		ldrh	r4, [r4, r5]
+  83cb06:	42a6		cmp	r6, r4
+  83cb08:	db01		blt	0x83cb0e
+  83cb0a:	1c02		add	r2, r0, #0
+  83cb0c:	e000		b	0x83cb10
+  83cb0e:	1c03		add	r3, r0, #0
+  83cb10:	18d0		add	r0, r2, r3
+  83cb12:	0fc4		lsr	r4, r0, #31
+  83cb14:	1820		add	r0, r4, r0
+  83cb16:	1040		asr	r0, r0, #1
+  83cb18:	0400		lsl	r0, r0, #16
+  83cb1a:	1400		asr	r0, r0, #16
+  83cb1c:	1a9c		sub	r4, r3, r2
+  83cb1e:	2c02		cmp	r4, #2
+  83cb20:	daee		bge	0x83cb00
+  83cb22:	4add		ldr	r2, =0x80175a	; via 0x83ce98
+  83cb24:	0080		lsl	r0, r0, #2
+  83cb26:	5e10		ldrsh	r0, [r2, r0]
+  83cb28:	81c8		strh	r0, [r1, #14]	; 0xe
+  83cb2a:	2022		mov	r0, #34	; 0x22
+  83cb2c:	5fc2		ldrsh	r2, [r0, r7]
+  83cb2e:	48db		ldr	r0, =0x801aea	; via 0x83ce9c
+  83cb30:	8800		ldrh	r0, [r0, #0]
+  83cb32:	8a3b		ldrh	r3, [r7, #16]	; 0x10
+  83cb34:	4358		mul	r0, r3
+  83cb36:	0a80		lsr	r0, r0, #10
+  83cb38:	1810		add	r0, r2, r0
+  83cb3a:	8208		strh	r0, [r1, #16]	; 0x10
+  83cb3c:	4640		mov	r0, r8
+  83cb3e:	2212		mov	r2, #18	; 0x12
+  83cb40:	f002 feac	bl	0x83f89c	; C$MEMCPY
+  83cb44:	bc04		pop	{r2}
+  83cb46:	4690		mov	r8, r2
+  83cb48:	bdf0		pop	{r4, r5, r6, r7, pc}