FreeCalypso > hg > freecalypso-reveng
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 235:78be85145f33 | 236:9ee2d1d91f7e |
|---|---|
| 846 3f11f8: b500 push {lr} | 846 3f11f8: b500 push {lr} |
| 847 3f11fa: f7ca faeb bl 0x3bb7d4 ; $Init_Target | 847 3f11fa: f7ca faeb bl 0x3bb7d4 ; $Init_Target |
| 848 3f11fe: f7ca fbe4 bl 0x3bb9ca ; $Init_Drivers | 848 3f11fe: f7ca fbe4 bl 0x3bb9ca ; $Init_Drivers |
| 849 3f1202: f686 f8eb bl 0x2773dc | 849 3f1202: f686 f8eb bl 0x2773dc |
| 850 3f1206: f686 f985 bl 0x277514 | 850 3f1206: f686 f985 bl 0x277514 |
| 851 3f120a: f008 ffa7 bl 0x3fa15c | 851 3f120a: f008 ffa7 bl 0x3fa15c ; $Cust_Init_Layer1 |
| 852 3f120e: f7ff ffcd bl 0x3f11ac | 852 3f120e: f7ff ffcd bl 0x3f11ac |
| 853 3f1212: 2801 cmp r0, #1 | 853 3f1212: 2801 cmp r0, #1 |
| 854 3f1214: d001 beq 0x3f121a | 854 3f1214: d001 beq 0x3f121a |
| 855 3f1216: f7b0 fa2d bl 0x3a1674 | 855 3f1216: f7b0 fa2d bl 0x3a1674 |
| 856 3f121a: f7b0 fa3e bl 0x3a169a | 856 3f121a: f7b0 fa3e bl 0x3a169a |
| 894 3f6b4c: f7fd f992 bl 0x3f3e74 ; $INC_Initialize | 894 3f6b4c: f7fd f992 bl 0x3f3e74 ; $INC_Initialize |
| 895 3f6b50: 4778 bx pc | 895 3f6b50: 4778 bx pc |
| 896 3f6b52: 46c0 nop (mov r8, r8) | 896 3f6b52: 46c0 nop (mov r8, r8) |
| 897 3f6b54: e8bd8000 ldmia sp!, {pc} | 897 3f6b54: e8bd8000 ldmia sp!, {pc} |
| 898 | 898 |
| 899 003F81AC $madc_hex_2_physical call trampoline | 899 $madc_hex_2_physical call trampoline |
| 900 3f81ac: b082 sub sp, #8 | |
| 901 3f81ae: 9400 str r4, [sp, #0] | |
| 902 3f81b0: 4c01 ldr r4, =0x83cab0 ; via 0x3f81b8 | |
| 903 3f81b2: 9401 str r4, [sp, #4] | |
| 904 3f81b4: bd10 pop {r4, pc} | |
| 905 3f81b6: 0000 | |
| 906 3f81b8: 0083cab0 | |
| 907 | |
| 908 $Cust_Init_Layer1 call trampoline | |
| 909 3fa15c: b082 sub sp, #8 | |
| 910 3fa15e: 9400 str r4, [sp, #0] | |
| 911 3fa160: 4c01 ldr r4, =0x83ca64 ; via 0x3fa168 | |
| 912 3fa162: 9401 str r4, [sp, #4] | |
| 913 3fa164: bd10 pop {r4, pc} | |
| 914 3fa166: 0000 | |
| 915 3fa168: 0083ca64 | |
| 916 | |
| 900 0052FB70 _RVM_SWE_GET_INFO_ARRAY | 917 0052FB70 _RVM_SWE_GET_INFO_ARRAY |
| 901 | 918 |
| 902 0083CAB0 $madc_hex_2_physical function body expected here | 919 IRAM data: |
| 920 | |
| 921 0x801550: rf | |
| 922 | |
| 923 IRAM code: | |
| 924 | |
| 925 $Cust_Init_Layer1: | |
| 926 83ca64: b500 push {lr} | |
| 927 83ca66: b084 sub sp, #16 ; 0x10 | |
| 928 83ca68: 4669 mov r1, sp | |
| 929 83ca6a: 2006 mov r0, #6 | |
| 930 83ca6c: 7008 strb r0, [r1, #0] | |
| 931 83ca6e: 4668 mov r0, sp | |
| 932 83ca70: 2101 mov r1, #1 | |
| 933 83ca72: 7101 strb r1, [r0, #4] | |
| 934 83ca74: 2000 mov r0, #0 | |
| 935 83ca76: 4669 mov r1, sp | |
| 936 83ca78: 70c8 strb r0, [r1, #3] | |
| 937 83ca7a: 7208 strb r0, [r1, #8] | |
| 938 83ca7c: 487d ldr r0, =0x5ff ; via 0x83cc74 | |
| 939 83ca7e: 9003 str r0, [sp, #12] ; 0xc | |
| 940 83ca80: 2001 mov r0, #1 | |
| 941 83ca82: 80c8 strh r0, [r1, #6] | |
| 942 83ca84: 4668 mov r0, sp | |
| 943 83ca86: f00b fff9 bl 0x848a7c ; $l1_initialize | |
| 944 83ca8a: 487c ldr r0, =0x801550 ; via 0x83cc7c | |
| 945 83ca8c: 21ff mov r1, #255 ; 0xff | |
| 946 83ca8e: 319d add r1, #157 ; 0x9d | |
| 947 83ca90: 2200 mov r2, #0 | |
| 948 83ca92: f000 f85d bl 0x83cb50 ; $get_cal_from_nvmem | |
| 949 83ca96: 4878 ldr r0, =0x801964 ; via 0x83cc78 | |
| 950 83ca98: 2102 mov r1, #2 | |
| 951 83ca9a: 2202 mov r2, #2 | |
| 952 83ca9c: f000 f858 bl 0x83cb50 ; $get_cal_from_nvmem | |
| 953 83caa0: b004 add sp, #16 ; 0x10 | |
| 954 83caa2: bd00 pop {pc} | |
| 955 | |
| 956 83caa4: 00000f22 | |
| 957 83caa8: 00000e8b | |
| 958 83caac: 00001d12 | |
| 959 | |
| 960 $madc_hex_2_physical: | |
| 961 83cab0: b5f0 push {r4, r5, r6, r7, lr} | |
| 962 83cab2: 4642 mov r2, r8 | |
| 963 83cab4: b404 push {r2} | |
| 964 83cab6: 4688 mov r8, r1 | |
| 965 83cab8: 1c01 add r1, r0, #0 | |
| 966 83caba: 4c71 ldr r4, =0x801ac8 ; via 0x83cc80 | |
| 967 83cabc: 2012 mov r0, #18 ; 0x12 | |
| 968 83cabe: 1900 add r0, r0, r4 | |
| 969 83cac0: 2212 mov r2, #18 ; 0x12 | |
| 970 83cac2: f002 feeb bl 0x83f89c ; C$MEMCPY | |
| 971 83cac6: 496f ldr r1, =0x801734 ; via 0x83cc84 | |
| 972 83cac8: 2012 mov r0, #18 ; 0x12 | |
| 973 83caca: 1842 add r2, r0, r1 | |
| 974 83cacc: 2307 mov r3, #7 | |
| 975 83cace: 8a60 ldrh r0, [r4, #18] ; 0x12 | |
| 976 83cad0: 880d ldrh r5, [r1, #0] | |
| 977 83cad2: 4368 mul r0, r5 | |
| 978 83cad4: 0a80 lsr r0, r0, #10 | |
| 979 83cad6: 2500 mov r5, #0 | |
| 980 83cad8: 5f55 ldrsh r5, [r2, r5] | |
| 981 83cada: 1828 add r0, r5, r0 | |
| 982 83cadc: 8020 strh r0, [r4, #0] | |
| 983 83cade: 3102 add r1, #2 | |
| 984 83cae0: 3402 add r4, #2 | |
| 985 83cae2: 3202 add r2, #2 | |
| 986 83cae4: 3b01 sub r3, #1 | |
| 987 83cae6: 2b00 cmp r3, #0 | |
| 988 83cae8: d1f1 bne 0x83cace | |
| 989 83caea: 4f66 ldr r7, =0x801734 ; via 0x83cc84 | |
| 990 83caec: 4964 ldr r1, =0x801ac8 ; via 0x83cc80 | |
| 991 83caee: 8c08 ldrh r0, [r1, #32] ; 0x20 | |
| 992 83caf0: 89fa ldrh r2, [r7, #14] ; 0xe | |
| 993 83caf2: 4350 mul r0, r2 | |
| 994 83caf4: 0a00 lsr r0, r0, #8 | |
| 995 83caf6: 0400 lsl r0, r0, #16 | |
| 996 83caf8: 0c06 lsr r6, r0, #16 | |
| 997 83cafa: 2200 mov r2, #0 | |
| 998 83cafc: 2382 mov r3, #130 ; 0x82 | |
| 999 83cafe: 2041 mov r0, #65 ; 0x41 | |
| 1000 83cb00: 4c61 ldr r4, =0x801758 ; via 0x83cc88 | |
| 1001 83cb02: 0085 lsl r5, r0, #2 | |
| 1002 83cb04: 5b64 ldrh r4, [r4, r5] | |
| 1003 83cb06: 42a6 cmp r6, r4 | |
| 1004 83cb08: db01 blt 0x83cb0e | |
| 1005 83cb0a: 1c02 add r2, r0, #0 | |
| 1006 83cb0c: e000 b 0x83cb10 | |
| 1007 83cb0e: 1c03 add r3, r0, #0 | |
| 1008 83cb10: 18d0 add r0, r2, r3 | |
| 1009 83cb12: 0fc4 lsr r4, r0, #31 | |
| 1010 83cb14: 1820 add r0, r4, r0 | |
| 1011 83cb16: 1040 asr r0, r0, #1 | |
| 1012 83cb18: 0400 lsl r0, r0, #16 | |
| 1013 83cb1a: 1400 asr r0, r0, #16 | |
| 1014 83cb1c: 1a9c sub r4, r3, r2 | |
| 1015 83cb1e: 2c02 cmp r4, #2 | |
| 1016 83cb20: daee bge 0x83cb00 | |
| 1017 83cb22: 4add ldr r2, =0x80175a ; via 0x83ce98 | |
| 1018 83cb24: 0080 lsl r0, r0, #2 | |
| 1019 83cb26: 5e10 ldrsh r0, [r2, r0] | |
| 1020 83cb28: 81c8 strh r0, [r1, #14] ; 0xe | |
| 1021 83cb2a: 2022 mov r0, #34 ; 0x22 | |
| 1022 83cb2c: 5fc2 ldrsh r2, [r0, r7] | |
| 1023 83cb2e: 48db ldr r0, =0x801aea ; via 0x83ce9c | |
| 1024 83cb30: 8800 ldrh r0, [r0, #0] | |
| 1025 83cb32: 8a3b ldrh r3, [r7, #16] ; 0x10 | |
| 1026 83cb34: 4358 mul r0, r3 | |
| 1027 83cb36: 0a80 lsr r0, r0, #10 | |
| 1028 83cb38: 1810 add r0, r2, r0 | |
| 1029 83cb3a: 8208 strh r0, [r1, #16] ; 0x10 | |
| 1030 83cb3c: 4640 mov r0, r8 | |
| 1031 83cb3e: 2212 mov r2, #18 ; 0x12 | |
| 1032 83cb40: f002 feac bl 0x83f89c ; C$MEMCPY | |
| 1033 83cb44: bc04 pop {r2} | |
| 1034 83cb46: 4690 mov r8, r2 | |
| 1035 83cb48: bdf0 pop {r4, r5, r6, r7, pc} |
