FreeCalypso > hg > freecalypso-reveng
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}