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