comparison pirelli/fw-disasm @ 233:4cd01d1458df

pirelli/fw-disasm: main and init modules located
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 21 Dec 2017 23:12:46 +0000
parents f5ad21985e20
children 5b530eea8f4e
comparison
equal deleted inserted replaced
232:2767ff8d26d5 233:4cd01d1458df
479 406c8: e4c03001 strb r3, [r0], #1 479 406c8: e4c03001 strb r3, [r0], #1
480 406cc: e2522001 subs r2, r2, #1 480 406cc: e2522001 subs r2, r2, #1
481 406d0: 1afffffb bne 0x406c4 481 406d0: 1afffffb bne 0x406c4
482 406d4: e8bd8001 ldmia sp!, {r0, pc} 482 406d4: e8bd8001 ldmia sp!, {r0, pc}
483 483
484 $Init_Target:
485 3bb7d4: b570 push {r4, r5, r6, lr}
486 3bb7d6: b081 sub sp, #4
487 3bb7d8: 4c96 ldr r4, =0xfffef008 ; via 0x3bba34
488 3bb7da: 4897 ldr r0, =0x6050 ; via 0x3bba38
489 3bb7dc: 8020 strh r0, [r4, #0]
490 3bb7de: f025 ffed bl 0x3e17bc ; $TM_DisableWatchdog
491 3bb7e2: 4896 ldr r0, =0xfffffd02 ; via 0x3bba3c
492 3bb7e4: 2105 mov r1, #5
493 3bb7e6: 8802 ldrh r2, [r0, #0]
494 3bb7e8: 4311 orr r1, r2
495 3bb7ea: 8001 strh r1, [r0, #0]
496 3bb7ec: 4994 ldr r1, =0xff3f ; via 0x3bba40
497 3bb7ee: 8802 ldrh r2, [r0, #0]
498 3bb7f0: 4011 and r1, r2
499 3bb7f2: 8001 strh r1, [r0, #0]
500 3bb7f4: 2180 mov r1, #128 ; 0x80
501 3bb7f6: 8802 ldrh r2, [r0, #0]
502 3bb7f8: 4311 orr r1, r2
503 3bb7fa: 8001 strh r1, [r0, #0]
504 3bb7fc: 4991 ldr r1, =0xffdf ; via 0x3bba44
505 3bb7fe: 8802 ldrh r2, [r0, #0]
506 3bb800: 4011 and r1, r2
507 3bb802: 8001 strh r1, [r0, #0]
508 3bb804: 4e90 ldr r6, =0xfffff900 ; via 0x3bba48
509 3bb806: 20ff mov r0, #255 ; 0xff
510 3bb808: 0200 lsl r0, r0, #8
511 3bb80a: 8030 strh r0, [r6, #0]
512 3bb80c: 4d8f ldr r5, =0xffff9800 ; via 0x3bba4c
513 3bb80e: 4890 ldr r0, =0xfff3 ; via 0x3bba50
514 3bb810: 8829 ldrh r1, [r5, #0]
515 3bb812: 4008 and r0, r1
516 3bb814: 8028 strh r0, [r5, #0]
517 3bb816: 8828 ldrh r0, [r5, #0]
518 3bb818: 8028 strh r0, [r5, #0]
519 3bb81a: 488e ldr r0, =0xf01f ; via 0x3bba54
520 3bb81c: 8829 ldrh r1, [r5, #0]
521 3bb81e: 4008 and r0, r1
522 3bb820: 8028 strh r0, [r5, #0]
523 3bb822: 2001 mov r0, #1
524 3bb824: 0280 lsl r0, r0, #10
525 3bb826: 8829 ldrh r1, [r5, #0]
526 3bb828: 4308 orr r0, r1
527 3bb82a: 8028 strh r0, [r5, #0]
528 3bb82c: 2000 mov r0, #0
529 3bb82e: 2102 mov r1, #2
530 3bb830: 2200 mov r2, #0
531 3bb832: f027 fb45 bl 0x3e2ec0 ; $CLKM_InitARMClock
532 3bb836: 4988 ldr r1, =0xfffffb00 ; via 0x3bba58
533 3bb838: 20a4 mov r0, #164 ; 0xa4
534 3bb83a: 8008 strh r0, [r1, #0]
535 3bb83c: 8048 strh r0, [r1, #2]
536 3bb83e: 22a5 mov r2, #165 ; 0xa5
537 3bb840: 808a strh r2, [r1, #4]
538 3bb842: 80c8 strh r0, [r1, #6]
539 3bb844: 20a7 mov r0, #167 ; 0xa7
540 3bb846: 8148 strh r0, [r1, #10] ; 0xa
541 3bb848: 20c0 mov r0, #192 ; 0xc0
542 3bb84a: 8188 strh r0, [r1, #12] ; 0xc
543 3bb84c: 2040 mov r0, #64 ; 0x40
544 3bb84e: 8108 strh r0, [r1, #8]
545 3bb850: 2020 mov r0, #32 ; 0x20
546 3bb852: 8070 strh r0, [r6, #2]
547 3bb854: 2000 mov r0, #0
548 3bb856: 80b0 strh r0, [r6, #4]
549 3bb858: 2010 mov r0, #16 ; 0x10
550 3bb85a: 8829 ldrh r1, [r5, #0]
551 3bb85c: 4308 orr r0, r1
552 3bb85e: 8028 strh r0, [r5, #0]
553 3bb860: 487e ldr r0, =0xfffffa08 ; via 0x3bba5c
554 3bb862: 497f ldr r1, =0xffff ; via 0x3bba60
555 3bb864: 8001 strh r1, [r0, #0]
556 3bb866: 8041 strh r1, [r0, #2]
557 3bb868: 2103 mov r1, #3
558 3bb86a: 8181 strh r1, [r0, #12] ; 0xc
559 3bb86c: f024 f9be bl 0x3dfbec ; $IQ_SetupInterrupts
560 3bb870: 487c ldr r0, =0xfffffc00 ; via 0x3bba64
561 3bb872: 2124 mov r1, #36 ; 0x24
562 3bb874: 8001 strh r1, [r0, #0]
563 3bb876: 210d mov r1, #13 ; 0xd
564 3bb878: 8041 strh r1, [r0, #2]
565 3bb87a: 2500 mov r5, #0
566 3bb87c: 487a ldr r0, =0xfffe2016 ; via 0x3bba68
567 3bb87e: 8005 strh r5, [r0, #0]
568 3bb880: 497a ldr r1, =0xfffe2014 ; via 0x3bba6c
569 3bb882: 2002 mov r0, #2
570 3bb884: 8008 strh r0, [r1, #0]
571 3bb886: 497a ldr r1, =0xfffe2002 ; via 0x3bba70
572 3bb888: 2084 mov r0, #132 ; 0x84
573 3bb88a: 8008 strh r0, [r1, #0]
574 3bb88c: 4979 ldr r1, =0xfffe2000 ; via 0x3bba74
575 3bb88e: 487a ldr r0, =0x3de0 ; via 0x3bba78
576 3bb890: 8008 strh r0, [r1, #0]
577 3bb892: 4a7a ldr r2, =0xfffe2022 ; via 0x3bba7c
578 3bb894: 200a mov r0, #10 ; 0xa
579 3bb896: 8010 strh r0, [r2, #0] ; DIFF!
580 3bb898: 4879 ldr r0, =0xfffe2020 ; via 0x3bba80
581 3bb89a: 4a7a ldr r2, =0x45a ; via 0x3bba84
582 3bb89c: 8002 strh r2, [r0, #0]
583 3bb89e: 4a7a ldr r2, =0xfffe201e ; via 0x3bba88
584 3bb8a0: 20ff mov r0, #255 ; 0xff
585 3bb8a2: 304b add r0, #75 ; 0x4b
586 3bb8a4: 8010 strh r0, [r2, #0] ; DIFF!
587 3bb8a6: 4879 ldr r0, =0xfffe201c ; via 0x3bba8c
588 3bb8a8: 221f mov r2, #31 ; 0x1f
589 3bb8aa: 8002 strh r2, [r0, #0]
590 3bb8ac: 4878 ldr r0, =0xfffe2024 ; via 0x3bba90
591 3bb8ae: 8005 strh r5, [r0, #0]
592 3bb8b0: 4a78 ldr r2, =0xfffe2010 ; via 0x3bba94
593 3bb8b2: 2002 mov r0, #2
594 3bb8b4: 8813 ldrh r3, [r2, #0]
595 3bb8b6: 4318 orr r0, r3
596 3bb8b8: 8010 strh r0, [r2, #0]
597 3bb8ba: 2004 mov r0, #4
598 3bb8bc: 8813 ldrh r3, [r2, #0]
599 3bb8be: 4318 orr r0, r3
600 3bb8c0: 8010 strh r0, [r2, #0]
601 3bb8c2: 2027 mov r0, #39 ; 0x27
602 3bb8c4: 80a0 strh r0, [r4, #4]
603 3bb8c6: 8a08 ldrh r0, [r1, #16] ; 0x10
604 3bb8c8: 0840 lsr r0, r0, #1
605 3bb8ca: d30f bcc 0x3bb8ec
606 3bb8cc: 8a08 ldrh r0, [r1, #16] ; 0x10
607 3bb8ce: 0400 lsl r0, r0, #16
608 3bb8d0: 0c40 lsr r0, r0, #17
609 3bb8d2: 0040 lsl r0, r0, #1
610 3bb8d4: 8208 strh r0, [r1, #16] ; 0x10
611 3bb8d6: 2001 mov r0, #1
612 3bb8d8: e001 b 0x3bb8de
613 3bb8da: 9800 ldr r0, [sp, #0]
614 3bb8dc: 3001 add r0, #1
615 3bb8de: 9000 str r0, [sp, #0]
616 3bb8e0: 9800 ldr r0, [sp, #0]
617 3bb8e2: 2832 cmp r0, #50 ; 0x32
618 3bb8e4: d3f9 bcc 0x3bb8da
619 3bb8e6: 8a48 ldrh r0, [r1, #18] ; 0x12
620 3bb8e8: 2800 cmp r0, #0
621 3bb8ea: d0fc beq 0x3bb8e6
622 3bb8ec: f027 fbcd bl 0x3e308a ; $AI_ClockEnable
623 3bb8f0: f027 fbd1 bl 0x3e3096 ; $AI_InitIOConfig
624 3bb8f4: 2027 mov r0, #39 ; 0x27
625 3bb8f6: 0500 lsl r0, r0, #20
626 3bb8f8: 8005 strh r5, [r0, #0]
627 3bb8fa: 2001 mov r0, #1
628 3bb8fc: f025 ff6c bl 0x3e17d8 ; $TM_EnableTimer
629 3bb900: 2002 mov r0, #2
630 3bb902: f025 ff69 bl 0x3e17d8 ; $TM_EnableTimer
631 3bb906: b001 add sp, #4
632 3bb908: bd70 pop {r4, r5, r6, pc}
633
634 ; The following code is a different version of Init_Target(),
635 ; but does not seem to be used, probably defunct but still-compiled
636 ; code in init.c in between the functional Init_Target() and the
637 ; normally-following Init_Drivers().
638
639 3bb90a: b570 push {r4, r5, r6, lr}
640 3bb90c: 4d49 ldr r5, =0xfffef008 ; via 0x3bba34
641 3bb90e: 4862 ldr r0, =0x6040 ; via 0x3bba98
642 3bb910: 8028 strh r0, [r5, #0]
643 3bb912: f025 ff53 bl 0x3e17bc ; $TM_DisableWatchdog
644 3bb916: 4849 ldr r0, =0xfffffd02 ; via 0x3bba3c
645 3bb918: 2105 mov r1, #5
646 3bb91a: 8802 ldrh r2, [r0, #0]
647 3bb91c: 4311 orr r1, r2
648 3bb91e: 8001 strh r1, [r0, #0]
649 3bb920: 4947 ldr r1, =0xff3f ; via 0x3bba40
650 3bb922: 8802 ldrh r2, [r0, #0]
651 3bb924: 4011 and r1, r2
652 3bb926: 8001 strh r1, [r0, #0]
653 3bb928: 2180 mov r1, #128 ; 0x80
654 3bb92a: 8802 ldrh r2, [r0, #0]
655 3bb92c: 4311 orr r1, r2
656 3bb92e: 8001 strh r1, [r0, #0]
657 3bb930: 4e45 ldr r6, =0xfffff900 ; via 0x3bba48
658 3bb932: 20ff mov r0, #255 ; 0xff
659 3bb934: 0200 lsl r0, r0, #8
660 3bb936: 8030 strh r0, [r6, #0]
661 3bb938: 4c44 ldr r4, =0xffff9800 ; via 0x3bba4c
662 3bb93a: 4845 ldr r0, =0xfff3 ; via 0x3bba50
663 3bb93c: 8821 ldrh r1, [r4, #0]
664 3bb93e: 4008 and r0, r1
665 3bb940: 8020 strh r0, [r4, #0]
666 3bb942: 8820 ldrh r0, [r4, #0]
667 3bb944: 8020 strh r0, [r4, #0]
668 3bb946: 4843 ldr r0, =0xf01f ; via 0x3bba54
669 3bb948: 8821 ldrh r1, [r4, #0]
670 3bb94a: 4008 and r0, r1
671 3bb94c: 8020 strh r0, [r4, #0]
672 3bb94e: 2001 mov r0, #1
673 3bb950: 0280 lsl r0, r0, #10
674 3bb952: 8821 ldrh r1, [r4, #0]
675 3bb954: 4308 orr r0, r1
676 3bb956: 8020 strh r0, [r4, #0]
677 3bb958: 2000 mov r0, #0
678 3bb95a: 2102 mov r1, #2
679 3bb95c: 2200 mov r2, #0
680 3bb95e: f027 faaf bl 0x3e2ec0 ; $CLKM_InitARMClock
681 3bb962: 4a3d ldr r2, =0xfffffb00 ; via 0x3bba58
682 3bb964: 20a4 mov r0, #164 ; 0xa4
683 3bb966: 8010 strh r0, [r2, #0]
684 3bb968: 8050 strh r0, [r2, #2]
685 3bb96a: 2185 mov r1, #133 ; 0x85
686 3bb96c: 8091 strh r1, [r2, #4]
687 3bb96e: 80d0 strh r0, [r2, #6]
688 3bb970: 20a7 mov r0, #167 ; 0xa7
689 3bb972: 8150 strh r0, [r2, #10] ; 0xa
690 3bb974: 20c0 mov r0, #192 ; 0xc0
691 3bb976: 8190 strh r0, [r2, #12] ; 0xc
692 3bb978: 2040 mov r0, #64 ; 0x40
693 3bb97a: 8110 strh r0, [r2, #8]
694 3bb97c: 2020 mov r0, #32 ; 0x20
695 3bb97e: 8070 strh r0, [r6, #2]
696 3bb980: 2000 mov r0, #0
697 3bb982: 80b0 strh r0, [r6, #4]
698 3bb984: 2010 mov r0, #16 ; 0x10
699 3bb986: 8821 ldrh r1, [r4, #0]
700 3bb988: 4308 orr r0, r1
701 3bb98a: 8020 strh r0, [r4, #0]
702 3bb98c: f027 fb76 bl 0x3e307c
703 3bb990: 2001 mov r0, #1
704 3bb992: f027 fb50 bl 0x3e3036
705 3bb996: 4841 ldr r0, =0xfffd ; via 0x3bba9c
706 3bb998: 8829 ldrh r1, [r5, #0]
707 3bb99a: 4008 and r0, r1
708 3bb99c: 8028 strh r0, [r5, #0]
709 3bb99e: 2001 mov r0, #1
710 3bb9a0: f027 fb50 bl 0x3e3044
711 3bb9a4: 2004 mov r0, #4
712 3bb9a6: f027 fb46 bl 0x3e3036
713 3bb9aa: 2000 mov r0, #0
714 3bb9ac: f027 fb2e bl 0x3e300c
715 3bb9b0: 2004 mov r0, #4
716 3bb9b2: f027 fb47 bl 0x3e3044
717 3bb9b6: 2007 mov r0, #7
718 3bb9b8: f027 fb36 bl 0x3e3028
719 3bb9bc: 2003 mov r0, #3
720 3bb9be: f027 fb25 bl 0x3e300c
721 3bb9c2: 2007 mov r0, #7
722 3bb9c4: f027 fb3e bl 0x3e3044
723 3bb9c8: bd70 pop {r4, r5, r6, pc}
724
725 $Init_Drivers:
726 3bb9ca: b500 push {lr}
727 3bb9cc: f78d fc0f bl 0x3491ee
728 3bb9d0: f5a6 fa25 bl 0x161e1e
729 3bb9d4: f7ad fda3 bl 0x36951e
730 3bb9d8: f039 fb95 bl 0x3f5106
731 3bb9dc: f6f5 f927 bl 0x2b0c2e
732 3bb9e0: f720 fb16 bl 0x2dc010
733 3bb9e4: f7bc fa46 bl 0x377e74
734 3bb9e8: f6ca fcfa bl 0x2863e0
735 3bb9ec: f001 fd3b bl 0x3bd466
736 3bb9f0: bd00 pop {pc}
737
738 $Init_Serial_Flows:
739 3bb9f2: b500 push {lr}
740 3bb9f4: 482a ldr r0, =0x1773764 ; via 0x3bbaa0
741 3bb9f6: f793 fb8f bl 0x34f118 ; $SER_InitSerialConfig
742 3bb9fa: 2000 mov r0, #0
743 3bb9fc: 2103 mov r1, #3
744 3bb9fe: 2200 mov r2, #0
745 3bba00: f793 fc2b bl 0x34f25a ; $SER_tr_Init
746 3bba04: f793 fc85 bl 0x34f312 ; $SER_fd_Initialize
747 3bba08: bd00 pop {pc}
748
749 $Init_Unmask_IT:
750 3bba0a: b500 push {lr}
751 3bba0c: f484 fc59 bl 0x402c2 ; $INT_DisableIRQ
752 3bba10: 2004 mov r0, #4
753 3bba12: f024 f94c bl 0x3dfcae ; $IQ_Unmask
754 3bba16: 2012 mov r0, #18 ; 0x12
755 3bba18: f024 f949 bl 0x3dfcae ; $IQ_Unmask
756 3bba1c: 2007 mov r0, #7
757 3bba1e: f024 f946 bl 0x3dfcae ; $IQ_Unmask
758 3bba22: 2008 mov r0, #8
759 3bba24: f024 f943 bl 0x3dfcae ; $IQ_Unmask
760 3bba28: 200f mov r0, #15 ; 0xf
761 3bba2a: f024 f940 bl 0x3dfcae ; $IQ_Unmask
762 3bba2e: f484 fc2d bl 0x4028c ; $INT_EnableIRQ
763 3bba32: bd00 pop {pc}
764
765 $Application_Initialize:
766 3f11f8: b500 push {lr}
767 3f11fa: f7ca faeb bl 0x3bb7d4 ; $Init_Target
768 3f11fe: f7ca fbe4 bl 0x3bb9ca ; $Init_Drivers
769 3f1202: f686 f8eb bl 0x2773dc
770 3f1206: f686 f985 bl 0x277514
771 3f120a: f008 ffa7 bl 0x3fa15c
772 3f120e: f7ff ffcd bl 0x3f11ac
773 3f1212: 2801 cmp r0, #1
774 3f1214: d001 beq 0x3f121a
775 3f1216: f7b0 fa2d bl 0x3a1674
776 3f121a: f7b0 fa3e bl 0x3a169a
777 3f121e: f75e fb4d bl 0x34f8bc
778 3f1222: f7ca fbe6 bl 0x3bb9f2 ; $Init_Serial_Flows
779 3f1226: f709 fe44 bl 0x2faeb2
780 3f122a: f7ca fbee bl 0x3bba0a ; $Init_Unmask_IT
781 3f122e: bd00 pop {pc}
782
783 $INC_Initialize:
784 3f3e74: b530 push {r4, r5, lr}
785 3f3e76: 1c05 add r5, r0, #0
786 3f3e78: 4c13 ldr r4, =0x1775048 ; via 0x3f3ec8
787 3f3e7a: 2001 mov r0, #1
788 3f3e7c: 6020 str r0, [r4, #0]
789 3f3e7e: f003 f99d bl 0x3f71bc
790 3f3e82: f003 f99f bl 0x3f71c4
791 3f3e86: f003 f947 bl 0x3f7118
792 3f3e8a: f001 fe75 bl 0x3f5b78
793 3f3e8e: f7f5 ffcd bl 0x3e9e2c
794 3f3e92: f002 fb55 bl 0x3f6540
795 3f3e96: f002 fb23 bl 0x3f64e0
796 3f3e9a: f002 fb41 bl 0x3f6520
797 3f3e9e: f002 fb0f bl 0x3f64c0
798 3f3ea2: f002 fb6d bl 0x3f6580
799 3f3ea6: f002 fb2b bl 0x3f6500
800 3f3eaa: f002 fb79 bl 0x3f65a0
801 3f3eae: f7fa fc8b bl 0x3ee7c8
802 3f3eb2: f002 fb55 bl 0x3f6560
803 3f3eb6: 1c28 add r0, r5, #0
804 3f3eb8: f7fd f99e bl 0x3f11f8 ; $Application_Initialize
805 3f3ebc: 2002 mov r0, #2
806 3f3ebe: 6020 str r0, [r4, #0]
807 3f3ec0: f005 fbdc bl 0x3f967c
808 3f3ec4: bd30 pop {r4, r5, pc}
809
810 _INC_Initialize:
811 3f6b40: e92d4000 stmdb sp!, {lr}
812 3f6b44: e28fe001 add lr, pc, #1
813 3f6b48: e12fff1e bx lr
814 3f6b4c: f7fd f992 bl 0x3f3e74 ; $INC_Initialize
815 3f6b50: 4778 bx pc
816 3f6b52: 46c0 nop (mov r8, r8)
817 3f6b54: e8bd8000 ldmia sp!, {pc}
818
484 003F81AC $madc_hex_2_physical call trampoline 819 003F81AC $madc_hex_2_physical call trampoline
485 0052FB70 _RVM_SWE_GET_INFO_ARRAY 820 0052FB70 _RVM_SWE_GET_INFO_ARRAY
486 821
487 0083CAB0 $madc_hex_2_physical function body expected here 822 0083CAB0 $madc_hex_2_physical function body expected here