559 lines
23 KiB
ArmAsm
559 lines
23 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
|
|
.global port_select_mtu
|
|
port_select_mtu:
|
|
/* 80097750 00093590 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 80097754 00093594 7C 08 02 A6 */ mflr r0
|
|
/* 80097758 00093598 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8009775C 0009359C 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 80097760 000935A0 3F E0 80 44 */ lis r31, "@1174_8043EF80"@ha
|
|
/* 80097764 000935A4 3B FF EF 80 */ addi r31, r31, "@1174_8043EF80"@l
|
|
/* 80097768 000935A8 93 C1 00 08 */ stw r30, 0x8(r1)
|
|
/* 8009776C 000935AC 7C 7E 1B 78 */ mr r30, r3
|
|
/* 80097770 000935B0 A0 A3 00 12 */ lhz r5, 0x12(r3)
|
|
/* 80097774 000935B4 2C 05 00 00 */ cmpwi r5, 0x0
|
|
/* 80097778 000935B8 40 82 00 C0 */ bne lbl_80097838
|
|
/* 8009777C 000935BC 38 63 00 06 */ addi r3, r3, 0x6
|
|
/* 80097780 000935C0 4B FE 79 65 */ bl btm_get_max_packet_size
|
|
/* 80097784 000935C4 54 65 04 3F */ clrlwi. r5, r3, 16
|
|
/* 80097788 000935C8 40 82 00 34 */ bne lbl_800977BC
|
|
/* 8009778C 000935CC 3C 60 80 50 */ lis r3, rfc_cb@ha
|
|
/* 80097790 000935D0 38 63 98 08 */ addi r3, r3, rfc_cb@l
|
|
/* 80097794 000935D4 88 03 04 14 */ lbz r0, 0x414(r3)
|
|
/* 80097798 000935D8 28 00 00 02 */ cmplwi r0, 0x2
|
|
/* 8009779C 000935DC 41 80 00 14 */ blt lbl_800977B0
|
|
/* 800977A0 000935E0 3C 60 00 09 */ lis r3, 0x9
|
|
/* 800977A4 000935E4 38 9F 00 00 */ addi r4, r31, 0x0
|
|
/* 800977A8 000935E8 38 63 00 01 */ addi r3, r3, 0x1
|
|
/* 800977AC 000935EC 4B FE 01 B5 */ bl LogMsg_0
|
|
.global lbl_800977B0
|
|
lbl_800977B0:
|
|
/* 800977B0 000935F0 38 00 00 7F */ li r0, 0x7f
|
|
/* 800977B4 000935F4 B0 1E 00 12 */ sth r0, 0x12(r30)
|
|
/* 800977B8 000935F8 48 00 00 A4 */ b lbl_8009785C
|
|
.global lbl_800977BC
|
|
lbl_800977BC:
|
|
/* 800977BC 000935FC 28 05 06 9F */ cmplwi r5, 0x69f
|
|
/* 800977C0 00093600 41 81 00 44 */ bgt lbl_80097804
|
|
/* 800977C4 00093604 38 00 06 9F */ li r0, 0x69f
|
|
/* 800977C8 00093608 3C 80 80 50 */ lis r4, rfc_cb@ha
|
|
/* 800977CC 0009360C 7C 00 2B D6 */ divw r0, r0, r5
|
|
/* 800977D0 00093610 38 84 98 08 */ addi r4, r4, rfc_cb@l
|
|
/* 800977D4 00093614 7C 60 19 D6 */ mullw r3, r0, r3
|
|
/* 800977D8 00093618 38 A3 FF F6 */ addi r5, r3, -0xa
|
|
/* 800977DC 0009361C B0 BE 00 12 */ sth r5, 0x12(r30)
|
|
/* 800977E0 00093620 88 04 04 14 */ lbz r0, 0x414(r4)
|
|
/* 800977E4 00093624 28 00 00 05 */ cmplwi r0, 0x5
|
|
/* 800977E8 00093628 41 80 00 74 */ blt lbl_8009785C
|
|
/* 800977EC 0009362C 3C 60 00 09 */ lis r3, 0x9
|
|
/* 800977F0 00093630 38 9F 00 20 */ addi r4, r31, 0x20
|
|
/* 800977F4 00093634 38 63 00 04 */ addi r3, r3, 0x4
|
|
/* 800977F8 00093638 54 A5 04 3E */ clrlwi r5, r5, 16
|
|
/* 800977FC 0009363C 4B FE 01 65 */ bl LogMsg_0
|
|
/* 80097800 00093640 48 00 00 5C */ b lbl_8009785C
|
|
.global lbl_80097804
|
|
lbl_80097804:
|
|
/* 80097804 00093644 38 00 06 95 */ li r0, 0x695
|
|
/* 80097808 00093648 3C 60 80 50 */ lis r3, rfc_cb@ha
|
|
/* 8009780C 0009364C B0 1E 00 12 */ sth r0, 0x12(r30)
|
|
/* 80097810 00093650 38 63 98 08 */ addi r3, r3, rfc_cb@l
|
|
/* 80097814 00093654 88 03 04 14 */ lbz r0, 0x414(r3)
|
|
/* 80097818 00093658 28 00 00 05 */ cmplwi r0, 0x5
|
|
/* 8009781C 0009365C 41 80 00 40 */ blt lbl_8009785C
|
|
/* 80097820 00093660 3C 60 00 09 */ lis r3, 0x9
|
|
/* 80097824 00093664 38 9F 00 58 */ addi r4, r31, 0x58
|
|
/* 80097828 00093668 38 63 00 04 */ addi r3, r3, 0x4
|
|
/* 8009782C 0009366C 38 A0 06 95 */ li r5, 0x695
|
|
/* 80097830 00093670 4B FE 01 31 */ bl LogMsg_0
|
|
/* 80097834 00093674 48 00 00 28 */ b lbl_8009785C
|
|
.global lbl_80097838
|
|
lbl_80097838:
|
|
/* 80097838 00093678 3C 60 80 50 */ lis r3, rfc_cb@ha
|
|
/* 8009783C 0009367C 38 63 98 08 */ addi r3, r3, rfc_cb@l
|
|
/* 80097840 00093680 88 03 04 14 */ lbz r0, 0x414(r3)
|
|
/* 80097844 00093684 28 00 00 05 */ cmplwi r0, 0x5
|
|
/* 80097848 00093688 41 80 00 14 */ blt lbl_8009785C
|
|
/* 8009784C 0009368C 3C 60 00 09 */ lis r3, 0x9
|
|
/* 80097850 00093690 38 9F 00 90 */ addi r4, r31, 0x90
|
|
/* 80097854 00093694 38 63 00 04 */ addi r3, r3, 0x4
|
|
/* 80097858 00093698 4B FE 01 09 */ bl LogMsg_0
|
|
.global lbl_8009785C
|
|
lbl_8009785C:
|
|
/* 8009785C 0009369C A0 FE 00 12 */ lhz r7, 0x12(r30)
|
|
/* 80097860 000936A0 38 60 1F 40 */ li r3, 0x1f40
|
|
/* 80097864 000936A4 38 80 13 88 */ li r4, 0x1388
|
|
/* 80097868 000936A8 38 00 2E E0 */ li r0, 0x2ee0
|
|
/* 8009786C 000936AC 7C A3 3B D6 */ divw r5, r3, r7
|
|
/* 80097870 000936B0 3C 60 80 50 */ lis r3, rfc_cb@ha
|
|
/* 80097874 000936B4 38 63 98 08 */ addi r3, r3, rfc_cb@l
|
|
/* 80097878 000936B8 7C C4 3B D6 */ divw r6, r4, r7
|
|
/* 8009787C 000936BC B0 BE 00 9C */ sth r5, 0x9c(r30)
|
|
/* 80097880 000936C0 7C E0 3B D6 */ divw r7, r0, r7
|
|
/* 80097884 000936C4 B0 DE 00 9E */ sth r6, 0x9e(r30)
|
|
/* 80097888 000936C8 B0 FE 00 A0 */ sth r7, 0xa0(r30)
|
|
/* 8009788C 000936CC 88 03 04 14 */ lbz r0, 0x414(r3)
|
|
/* 80097890 000936D0 28 00 00 05 */ cmplwi r0, 0x5
|
|
/* 80097894 000936D4 41 80 00 20 */ blt lbl_800978B4
|
|
/* 80097898 000936D8 3C 60 00 09 */ lis r3, 0x9
|
|
/* 8009789C 000936DC 38 9F 00 B8 */ addi r4, r31, 0xb8
|
|
/* 800978A0 000936E0 38 63 00 04 */ addi r3, r3, 0x4
|
|
/* 800978A4 000936E4 54 A5 04 3E */ clrlwi r5, r5, 16
|
|
/* 800978A8 000936E8 54 C6 04 3E */ clrlwi r6, r6, 16
|
|
/* 800978AC 000936EC 54 E7 04 3E */ clrlwi r7, r7, 16
|
|
/* 800978B0 000936F0 4B FE 00 B1 */ bl LogMsg_0
|
|
.global lbl_800978B4
|
|
lbl_800978B4:
|
|
/* 800978B4 000936F4 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 800978B8 000936F8 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 800978BC 000936FC 83 C1 00 08 */ lwz r30, 0x8(r1)
|
|
/* 800978C0 00093700 7C 08 03 A6 */ mtlr r0
|
|
/* 800978C4 00093704 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 800978C8 00093708 4E 80 00 20 */ blr
|
|
.global port_release_port
|
|
port_release_port:
|
|
/* 800978CC 0009370C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 800978D0 00093710 7C 08 02 A6 */ mflr r0
|
|
/* 800978D4 00093714 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 800978D8 00093718 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 800978DC 0009371C 7C 7F 1B 78 */ mr r31, r3
|
|
/* 800978E0 00093720 48 00 00 08 */ b lbl_800978E8
|
|
.global lbl_800978E4
|
|
lbl_800978E4:
|
|
/* 800978E4 00093724 4B FD D6 2D */ bl GKI_freebuf
|
|
.global lbl_800978E8
|
|
lbl_800978E8:
|
|
/* 800978E8 00093728 38 7F 00 30 */ addi r3, r31, 0x30
|
|
/* 800978EC 0009372C 4B FD DC D5 */ bl GKI_dequeue
|
|
/* 800978F0 00093730 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800978F4 00093734 40 82 FF F0 */ bne lbl_800978E4
|
|
/* 800978F8 00093738 38 00 00 00 */ li r0, 0x0
|
|
/* 800978FC 0009373C 90 1F 00 40 */ stw r0, 0x40(r31)
|
|
/* 80097900 00093740 48 00 00 08 */ b lbl_80097908
|
|
.global lbl_80097904
|
|
lbl_80097904:
|
|
/* 80097904 00093744 4B FD D6 0D */ bl GKI_freebuf
|
|
.global lbl_80097908
|
|
lbl_80097908:
|
|
/* 80097908 00093748 38 7F 00 18 */ addi r3, r31, 0x18
|
|
/* 8009790C 0009374C 4B FD DC B5 */ bl GKI_dequeue
|
|
/* 80097910 00093750 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80097914 00093754 40 82 FF F0 */ bne lbl_80097904
|
|
/* 80097918 00093758 88 1F 00 68 */ lbz r0, 0x68(r31)
|
|
/* 8009791C 0009375C 38 60 00 00 */ li r3, 0x0
|
|
/* 80097920 00093760 90 7F 00 28 */ stw r3, 0x28(r31)
|
|
/* 80097924 00093764 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80097928 00093768 98 7F 00 02 */ stb r3, 0x2(r31)
|
|
/* 8009792C 0009376C 40 82 00 68 */ bne lbl_80097994
|
|
/* 80097930 00093770 3C 60 80 50 */ lis r3, rfc_cb@ha
|
|
/* 80097934 00093774 38 63 98 08 */ addi r3, r3, rfc_cb@l
|
|
/* 80097938 00093778 88 03 04 14 */ lbz r0, 0x414(r3)
|
|
/* 8009793C 0009377C 28 00 00 05 */ cmplwi r0, 0x5
|
|
/* 80097940 00093780 41 80 00 18 */ blt lbl_80097958
|
|
/* 80097944 00093784 3C 60 00 09 */ lis r3, 0x9
|
|
/* 80097948 00093788 3C 80 80 44 */ lis r4, "@1192"@ha
|
|
/* 8009794C 0009378C 38 63 00 04 */ addi r3, r3, 0x4
|
|
/* 80097950 00093790 38 84 F0 80 */ addi r4, r4, "@1192"@l
|
|
/* 80097954 00093794 4B FE 00 0D */ bl LogMsg_0
|
|
.global lbl_80097958
|
|
lbl_80097958:
|
|
/* 80097958 00093798 80 7F 00 6C */ lwz r3, 0x6c(r31)
|
|
/* 8009795C 0009379C 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80097960 000937A0 41 82 00 1C */ beq lbl_8009797C
|
|
/* 80097964 000937A4 88 1F 00 0D */ lbz r0, 0xd(r31)
|
|
/* 80097968 000937A8 38 80 00 00 */ li r4, 0x0
|
|
/* 8009796C 000937AC 7C 63 02 14 */ add r3, r3, r0
|
|
/* 80097970 000937B0 98 83 00 24 */ stb r4, 0x24(r3)
|
|
/* 80097974 000937B4 80 7F 00 6C */ lwz r3, 0x6c(r31)
|
|
/* 80097978 000937B8 48 00 4A 41 */ bl rfc_check_mcb_active
|
|
.global lbl_8009797C
|
|
lbl_8009797C:
|
|
/* 8009797C 000937BC 7F E3 FB 78 */ mr r3, r31
|
|
/* 80097980 000937C0 48 00 49 E1 */ bl rfc_port_timer_stop
|
|
/* 80097984 000937C4 7F E3 FB 78 */ mr r3, r31
|
|
/* 80097988 000937C8 38 80 00 00 */ li r4, 0x0
|
|
/* 8009798C 000937CC 38 A0 00 A4 */ li r5, 0xa4
|
|
/* 80097990 000937D0 4B F6 C9 C1 */ bl memset
|
|
.global lbl_80097994
|
|
lbl_80097994:
|
|
/* 80097994 000937D4 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 80097998 000937D8 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 8009799C 000937DC 7C 08 03 A6 */ mtlr r0
|
|
/* 800979A0 000937E0 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 800979A4 000937E4 4E 80 00 20 */ blr
|
|
.global port_find_mcb_dlci_port
|
|
port_find_mcb_dlci_port:
|
|
/* 800979A8 000937E8 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800979AC 000937EC 40 82 00 0C */ bne lbl_800979B8
|
|
/* 800979B0 000937F0 38 60 00 00 */ li r3, 0x0
|
|
/* 800979B4 000937F4 4E 80 00 20 */ blr
|
|
.global lbl_800979B8
|
|
lbl_800979B8:
|
|
/* 800979B8 000937F8 28 04 00 3D */ cmplwi r4, 0x3d
|
|
/* 800979BC 000937FC 40 81 00 0C */ ble lbl_800979C8
|
|
/* 800979C0 00093800 38 60 00 00 */ li r3, 0x0
|
|
/* 800979C4 00093804 4E 80 00 20 */ blr
|
|
.global lbl_800979C8
|
|
lbl_800979C8:
|
|
/* 800979C8 00093808 7C 63 22 14 */ add r3, r3, r4
|
|
/* 800979CC 0009380C 88 63 00 24 */ lbz r3, 0x24(r3)
|
|
/* 800979D0 00093810 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800979D4 00093814 40 82 00 0C */ bne lbl_800979E0
|
|
/* 800979D8 00093818 38 60 00 00 */ li r3, 0x0
|
|
/* 800979DC 0009381C 4E 80 00 20 */ blr
|
|
.global lbl_800979E0
|
|
lbl_800979E0:
|
|
/* 800979E0 00093820 38 03 FF FF */ addi r0, r3, -0x1
|
|
/* 800979E4 00093824 3C 60 80 50 */ lis r3, rfc_cb@ha
|
|
/* 800979E8 00093828 1C 00 00 A4 */ mulli r0, r0, 0xa4
|
|
/* 800979EC 0009382C 38 63 98 08 */ addi r3, r3, rfc_cb@l
|
|
/* 800979F0 00093830 7C 63 02 14 */ add r3, r3, r0
|
|
/* 800979F4 00093834 38 63 00 68 */ addi r3, r3, 0x68
|
|
/* 800979F8 00093838 4E 80 00 20 */ blr
|
|
.global port_find_dlci_port
|
|
port_find_dlci_port:
|
|
/* 800979FC 0009383C 3C A0 80 50 */ lis r5, rfc_cb@ha
|
|
/* 80097A00 00093840 38 00 00 05 */ li r0, 0x5
|
|
/* 80097A04 00093844 54 66 07 FE */ clrlwi r6, r3, 31
|
|
/* 80097A08 00093848 38 E3 FF FF */ addi r7, r3, -0x1
|
|
/* 80097A0C 0009384C 38 A5 98 08 */ addi r5, r5, rfc_cb@l
|
|
/* 80097A10 00093850 39 00 00 00 */ li r8, 0x0
|
|
/* 80097A14 00093854 7C 09 03 A6 */ mtctr r0
|
|
.global lbl_80097A18
|
|
lbl_80097A18:
|
|
/* 80097A18 00093858 55 00 04 3E */ clrlwi r0, r8, 16
|
|
/* 80097A1C 0009385C 1C 00 00 A4 */ mulli r0, r0, 0xa4
|
|
/* 80097A20 00093860 7C 85 02 14 */ add r4, r5, r0
|
|
/* 80097A24 00093864 88 04 00 69 */ lbz r0, 0x69(r4)
|
|
/* 80097A28 00093868 39 24 00 68 */ addi r9, r4, 0x68
|
|
/* 80097A2C 0009386C 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80097A30 00093870 41 82 00 44 */ beq lbl_80097A74
|
|
/* 80097A34 00093874 80 09 00 6C */ lwz r0, 0x6c(r9)
|
|
/* 80097A38 00093878 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80097A3C 0009387C 40 82 00 38 */ bne lbl_80097A74
|
|
/* 80097A40 00093880 88 89 00 0D */ lbz r4, 0xd(r9)
|
|
/* 80097A44 00093884 7C 04 18 40 */ cmplw r4, r3
|
|
/* 80097A48 00093888 40 82 00 0C */ bne lbl_80097A54
|
|
/* 80097A4C 0009388C 7D 23 4B 78 */ mr r3, r9
|
|
/* 80097A50 00093890 4E 80 00 20 */ blr
|
|
.global lbl_80097A54
|
|
lbl_80097A54:
|
|
/* 80097A54 00093894 2C 06 00 00 */ cmpwi r6, 0x0
|
|
/* 80097A58 00093898 41 82 00 1C */ beq lbl_80097A74
|
|
/* 80097A5C 0009389C 7C 04 38 00 */ cmpw r4, r7
|
|
/* 80097A60 000938A0 40 82 00 14 */ bne lbl_80097A74
|
|
/* 80097A64 000938A4 38 04 00 01 */ addi r0, r4, 0x1
|
|
/* 80097A68 000938A8 7D 23 4B 78 */ mr r3, r9
|
|
/* 80097A6C 000938AC 98 09 00 0D */ stb r0, 0xd(r9)
|
|
/* 80097A70 000938B0 4E 80 00 20 */ blr
|
|
.global lbl_80097A74
|
|
lbl_80097A74:
|
|
/* 80097A74 000938B4 39 08 00 01 */ addi r8, r8, 0x1
|
|
/* 80097A78 000938B8 42 00 FF A0 */ bdnz lbl_80097A18
|
|
/* 80097A7C 000938BC 38 60 00 00 */ li r3, 0x0
|
|
/* 80097A80 000938C0 4E 80 00 20 */ blr
|
|
.global port_flow_control_user
|
|
port_flow_control_user:
|
|
/* 80097A84 000938C4 88 03 00 24 */ lbz r0, 0x24(r3)
|
|
/* 80097A88 000938C8 38 A0 00 00 */ li r5, 0x0
|
|
/* 80097A8C 000938CC 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80097A90 000938D0 40 82 00 34 */ bne lbl_80097AC4
|
|
/* 80097A94 000938D4 80 83 00 6C */ lwz r4, 0x6c(r3)
|
|
/* 80097A98 000938D8 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 80097A9C 000938DC 41 82 00 28 */ beq lbl_80097AC4
|
|
/* 80097AA0 000938E0 88 04 00 71 */ lbz r0, 0x71(r4)
|
|
/* 80097AA4 000938E4 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80097AA8 000938E8 41 82 00 1C */ beq lbl_80097AC4
|
|
/* 80097AAC 000938EC 80 03 00 28 */ lwz r0, 0x28(r3)
|
|
/* 80097AB0 000938F0 28 00 1F 40 */ cmplwi r0, 0x1f40
|
|
/* 80097AB4 000938F4 41 81 00 10 */ bgt lbl_80097AC4
|
|
/* 80097AB8 000938F8 A0 03 00 20 */ lhz r0, 0x20(r3)
|
|
/* 80097ABC 000938FC 28 00 00 10 */ cmplwi r0, 0x10
|
|
/* 80097AC0 00093900 40 81 00 08 */ ble lbl_80097AC8
|
|
.global lbl_80097AC4
|
|
lbl_80097AC4:
|
|
/* 80097AC4 00093904 38 A0 00 01 */ li r5, 0x1
|
|
.global lbl_80097AC8
|
|
lbl_80097AC8:
|
|
/* 80097AC8 00093908 88 03 00 25 */ lbz r0, 0x25(r3)
|
|
/* 80097ACC 0009390C 7C 00 28 40 */ cmplw r0, r5
|
|
/* 80097AD0 00093910 40 82 00 0C */ bne lbl_80097ADC
|
|
/* 80097AD4 00093914 38 60 00 00 */ li r3, 0x0
|
|
/* 80097AD8 00093918 4E 80 00 20 */ blr
|
|
.global lbl_80097ADC
|
|
lbl_80097ADC:
|
|
/* 80097ADC 0009391C 2C 05 00 00 */ cmpwi r5, 0x0
|
|
/* 80097AE0 00093920 98 A3 00 25 */ stb r5, 0x25(r3)
|
|
/* 80097AE4 00093924 3C 60 00 03 */ lis r3, 0x3
|
|
/* 80097AE8 00093928 4D 82 00 20 */ beqlr
|
|
/* 80097AEC 0009392C 3C 60 00 01 */ lis r3, 0x1
|
|
/* 80097AF0 00093930 4E 80 00 20 */ blr
|
|
.global port_get_signal_changes
|
|
port_get_signal_changes:
|
|
/* 80097AF4 00093934 7C A4 22 78 */ xor r4, r5, r4
|
|
/* 80097AF8 00093938 38 C0 00 00 */ li r6, 0x0
|
|
/* 80097AFC 0009393C 54 80 07 FF */ clrlwi. r0, r4, 31
|
|
/* 80097B00 00093940 41 82 00 14 */ beq lbl_80097B14
|
|
/* 80097B04 00093944 54 A0 07 FF */ clrlwi. r0, r5, 31
|
|
/* 80097B08 00093948 60 C6 00 10 */ ori r6, r6, 0x10
|
|
/* 80097B0C 0009394C 41 82 00 08 */ beq lbl_80097B14
|
|
/* 80097B10 00093950 60 C6 08 00 */ ori r6, r6, 0x800
|
|
.global lbl_80097B14
|
|
lbl_80097B14:
|
|
/* 80097B14 00093954 54 80 07 BD */ rlwinm. r0, r4, 0, 30, 30
|
|
/* 80097B18 00093958 41 82 00 14 */ beq lbl_80097B2C
|
|
/* 80097B1C 0009395C 54 A0 07 BD */ rlwinm. r0, r5, 0, 30, 30
|
|
/* 80097B20 00093960 60 C6 00 08 */ ori r6, r6, 0x8
|
|
/* 80097B24 00093964 41 82 00 08 */ beq lbl_80097B2C
|
|
/* 80097B28 00093968 60 C6 04 00 */ ori r6, r6, 0x400
|
|
.global lbl_80097B2C
|
|
lbl_80097B2C:
|
|
/* 80097B2C 0009396C 54 80 07 7B */ rlwinm. r0, r4, 0, 29, 29
|
|
/* 80097B30 00093970 41 82 00 08 */ beq lbl_80097B38
|
|
/* 80097B34 00093974 60 C6 01 00 */ ori r6, r6, 0x100
|
|
.global lbl_80097B38
|
|
lbl_80097B38:
|
|
/* 80097B38 00093978 54 80 07 39 */ rlwinm. r0, r4, 0, 28, 28
|
|
/* 80097B3C 0009397C 41 82 00 14 */ beq lbl_80097B50
|
|
/* 80097B40 00093980 54 A0 07 39 */ rlwinm. r0, r5, 0, 28, 28
|
|
/* 80097B44 00093984 60 C6 00 20 */ ori r6, r6, 0x20
|
|
/* 80097B48 00093988 41 82 00 08 */ beq lbl_80097B50
|
|
/* 80097B4C 0009398C 60 C6 10 00 */ ori r6, r6, 0x1000
|
|
.global lbl_80097B50
|
|
lbl_80097B50:
|
|
/* 80097B50 00093990 80 03 00 88 */ lwz r0, 0x88(r3)
|
|
/* 80097B54 00093994 7C 03 30 38 */ and r3, r0, r6
|
|
/* 80097B58 00093998 4E 80 00 20 */ blr
|
|
.global port_flow_control_peer
|
|
port_flow_control_peer:
|
|
/* 80097B5C 0009399C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 80097B60 000939A0 7C 08 02 A6 */ mflr r0
|
|
/* 80097B64 000939A4 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 80097B68 000939A8 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 80097B6C 000939AC 7C 7F 1B 78 */ mr r31, r3
|
|
/* 80097B70 000939B0 80 C3 00 6C */ lwz r6, 0x6c(r3)
|
|
/* 80097B74 000939B4 2C 06 00 00 */ cmpwi r6, 0x0
|
|
/* 80097B78 000939B8 41 82 01 9C */ beq lbl_80097D14
|
|
/* 80097B7C 000939BC 88 06 00 72 */ lbz r0, 0x72(r6)
|
|
/* 80097B80 000939C0 28 00 00 02 */ cmplwi r0, 0x2
|
|
/* 80097B84 000939C4 40 82 00 B0 */ bne lbl_80097C34
|
|
/* 80097B88 000939C8 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 80097B8C 000939CC 41 82 00 74 */ beq lbl_80097C00
|
|
/* 80097B90 000939D0 A0 03 00 9A */ lhz r0, 0x9a(r3)
|
|
/* 80097B94 000939D4 7C 05 00 40 */ cmplw r5, r0
|
|
/* 80097B98 000939D8 40 81 00 10 */ ble lbl_80097BA8
|
|
/* 80097B9C 000939DC 38 00 00 00 */ li r0, 0x0
|
|
/* 80097BA0 000939E0 B0 03 00 9A */ sth r0, 0x9a(r3)
|
|
/* 80097BA4 000939E4 48 00 00 0C */ b lbl_80097BB0
|
|
.global lbl_80097BA8
|
|
lbl_80097BA8:
|
|
/* 80097BA8 000939E8 7C 05 00 50 */ subf r0, r5, r0
|
|
/* 80097BAC 000939EC B0 03 00 9A */ sth r0, 0x9a(r3)
|
|
.global lbl_80097BB0
|
|
lbl_80097BB0:
|
|
/* 80097BB0 000939F0 A0 83 00 9A */ lhz r4, 0x9a(r3)
|
|
/* 80097BB4 000939F4 A0 03 00 9E */ lhz r0, 0x9e(r3)
|
|
/* 80097BB8 000939F8 7C 04 00 40 */ cmplw r4, r0
|
|
/* 80097BBC 000939FC 41 81 01 58 */ bgt lbl_80097D14
|
|
/* 80097BC0 00093A00 88 03 00 3D */ lbz r0, 0x3d(r3)
|
|
/* 80097BC4 00093A04 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80097BC8 00093A08 40 82 01 4C */ bne lbl_80097D14
|
|
/* 80097BCC 00093A0C A0 03 00 9C */ lhz r0, 0x9c(r3)
|
|
/* 80097BD0 00093A10 7C 00 20 40 */ cmplw r0, r4
|
|
/* 80097BD4 00093A14 40 81 01 40 */ ble lbl_80097D14
|
|
/* 80097BD8 00093A18 7C 04 00 50 */ subf r0, r4, r0
|
|
/* 80097BDC 00093A1C 80 63 00 6C */ lwz r3, 0x6c(r3)
|
|
/* 80097BE0 00093A20 88 9F 00 0D */ lbz r4, 0xd(r31)
|
|
/* 80097BE4 00093A24 54 05 06 3E */ clrlwi r5, r0, 24
|
|
/* 80097BE8 00093A28 48 00 37 71 */ bl rfc_send_credit
|
|
/* 80097BEC 00093A2C A0 7F 00 9C */ lhz r3, 0x9c(r31)
|
|
/* 80097BF0 00093A30 38 00 00 00 */ li r0, 0x0
|
|
/* 80097BF4 00093A34 98 1F 00 3C */ stb r0, 0x3c(r31)
|
|
/* 80097BF8 00093A38 B0 7F 00 9A */ sth r3, 0x9a(r31)
|
|
/* 80097BFC 00093A3C 48 00 01 18 */ b lbl_80097D14
|
|
.global lbl_80097C00
|
|
lbl_80097C00:
|
|
/* 80097C00 00093A40 80 03 00 94 */ lwz r0, 0x94(r3)
|
|
/* 80097C04 00093A44 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80097C08 00093A48 41 82 00 10 */ beq lbl_80097C18
|
|
/* 80097C0C 00093A4C 38 00 00 01 */ li r0, 0x1
|
|
/* 80097C10 00093A50 98 03 00 3C */ stb r0, 0x3c(r3)
|
|
/* 80097C14 00093A54 48 00 01 00 */ b lbl_80097D14
|
|
.global lbl_80097C18
|
|
lbl_80097C18:
|
|
/* 80097C18 00093A58 A0 83 00 38 */ lhz r4, 0x38(r3)
|
|
/* 80097C1C 00093A5C A0 03 00 9C */ lhz r0, 0x9c(r3)
|
|
/* 80097C20 00093A60 7C 04 00 40 */ cmplw r4, r0
|
|
/* 80097C24 00093A64 41 80 00 F0 */ blt lbl_80097D14
|
|
/* 80097C28 00093A68 38 00 00 01 */ li r0, 0x1
|
|
/* 80097C2C 00093A6C 98 03 00 3C */ stb r0, 0x3c(r3)
|
|
/* 80097C30 00093A70 48 00 00 E4 */ b lbl_80097D14
|
|
.global lbl_80097C34
|
|
lbl_80097C34:
|
|
/* 80097C34 00093A74 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 80097C38 00093A78 41 82 00 50 */ beq lbl_80097C88
|
|
/* 80097C3C 00093A7C 88 03 00 3C */ lbz r0, 0x3c(r3)
|
|
/* 80097C40 00093A80 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80097C44 00093A84 41 82 00 D0 */ beq lbl_80097D14
|
|
/* 80097C48 00093A88 80 03 00 40 */ lwz r0, 0x40(r3)
|
|
/* 80097C4C 00093A8C 28 00 13 88 */ cmplwi r0, 0x1388
|
|
/* 80097C50 00093A90 40 80 00 C4 */ bge lbl_80097D14
|
|
/* 80097C54 00093A94 A0 03 00 38 */ lhz r0, 0x38(r3)
|
|
/* 80097C58 00093A98 28 00 00 08 */ cmplwi r0, 0x8
|
|
/* 80097C5C 00093A9C 40 80 00 B8 */ bge lbl_80097D14
|
|
/* 80097C60 00093AA0 88 03 00 3D */ lbz r0, 0x3d(r3)
|
|
/* 80097C64 00093AA4 38 80 00 00 */ li r4, 0x0
|
|
/* 80097C68 00093AA8 98 83 00 3C */ stb r4, 0x3c(r3)
|
|
/* 80097C6C 00093AAC 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80097C70 00093AB0 40 82 00 A4 */ bne lbl_80097D14
|
|
/* 80097C74 00093AB4 88 9F 00 0D */ lbz r4, 0xd(r31)
|
|
/* 80097C78 00093AB8 7C C3 33 78 */ mr r3, r6
|
|
/* 80097C7C 00093ABC 38 A0 00 01 */ li r5, 0x1
|
|
/* 80097C80 00093AC0 48 00 2B 49 */ bl RFCOMM_FlowReq
|
|
/* 80097C84 00093AC4 48 00 00 90 */ b lbl_80097D14
|
|
.global lbl_80097C88
|
|
lbl_80097C88:
|
|
/* 80097C88 00093AC8 80 03 00 94 */ lwz r0, 0x94(r3)
|
|
/* 80097C8C 00093ACC 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80097C90 00093AD0 41 82 00 20 */ beq lbl_80097CB0
|
|
/* 80097C94 00093AD4 38 00 00 01 */ li r0, 0x1
|
|
/* 80097C98 00093AD8 88 9F 00 0D */ lbz r4, 0xd(r31)
|
|
/* 80097C9C 00093ADC 98 03 00 3C */ stb r0, 0x3c(r3)
|
|
/* 80097CA0 00093AE0 7C C3 33 78 */ mr r3, r6
|
|
/* 80097CA4 00093AE4 38 A0 00 00 */ li r5, 0x0
|
|
/* 80097CA8 00093AE8 48 00 2B 21 */ bl RFCOMM_FlowReq
|
|
/* 80097CAC 00093AEC 48 00 00 68 */ b lbl_80097D14
|
|
.global lbl_80097CB0
|
|
lbl_80097CB0:
|
|
/* 80097CB0 00093AF0 80 03 00 40 */ lwz r0, 0x40(r3)
|
|
/* 80097CB4 00093AF4 28 00 1F 40 */ cmplwi r0, 0x1f40
|
|
/* 80097CB8 00093AF8 41 81 00 10 */ bgt lbl_80097CC8
|
|
/* 80097CBC 00093AFC A0 03 00 38 */ lhz r0, 0x38(r3)
|
|
/* 80097CC0 00093B00 28 00 00 10 */ cmplwi r0, 0x10
|
|
/* 80097CC4 00093B04 40 81 00 50 */ ble lbl_80097D14
|
|
.global lbl_80097CC8
|
|
lbl_80097CC8:
|
|
/* 80097CC8 00093B08 88 03 00 3C */ lbz r0, 0x3c(r3)
|
|
/* 80097CCC 00093B0C 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80097CD0 00093B10 40 82 00 44 */ bne lbl_80097D14
|
|
/* 80097CD4 00093B14 3C 60 80 50 */ lis r3, rfc_cb@ha
|
|
/* 80097CD8 00093B18 38 63 98 08 */ addi r3, r3, rfc_cb@l
|
|
/* 80097CDC 00093B1C 88 03 04 14 */ lbz r0, 0x414(r3)
|
|
/* 80097CE0 00093B20 28 00 00 04 */ cmplwi r0, 0x4
|
|
/* 80097CE4 00093B24 41 80 00 18 */ blt lbl_80097CFC
|
|
/* 80097CE8 00093B28 3C 60 00 09 */ lis r3, 0x9
|
|
/* 80097CEC 00093B2C 3C 80 80 44 */ lis r4, "@1272"@ha
|
|
/* 80097CF0 00093B30 38 63 00 03 */ addi r3, r3, 0x3
|
|
/* 80097CF4 00093B34 38 84 F0 98 */ addi r4, r4, "@1272"@l
|
|
/* 80097CF8 00093B38 4B FD FC 69 */ bl LogMsg_0
|
|
.global lbl_80097CFC
|
|
lbl_80097CFC:
|
|
/* 80097CFC 00093B3C 38 00 00 01 */ li r0, 0x1
|
|
/* 80097D00 00093B40 80 7F 00 6C */ lwz r3, 0x6c(r31)
|
|
/* 80097D04 00093B44 98 1F 00 3C */ stb r0, 0x3c(r31)
|
|
/* 80097D08 00093B48 38 A0 00 00 */ li r5, 0x0
|
|
/* 80097D0C 00093B4C 88 9F 00 0D */ lbz r4, 0xd(r31)
|
|
/* 80097D10 00093B50 48 00 2A B9 */ bl RFCOMM_FlowReq
|
|
.global lbl_80097D14
|
|
lbl_80097D14:
|
|
/* 80097D14 00093B54 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 80097D18 00093B58 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 80097D1C 00093B5C 7C 08 03 A6 */ mtlr r0
|
|
/* 80097D20 00093B60 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 80097D24 00093B64 4E 80 00 20 */ blr
|
|
.include "macros.inc"
|
|
|
|
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
|
|
.global "@1174_8043EF80"
|
|
"@1174_8043EF80":
|
|
|
|
.4byte 0x706F7274
|
|
.4byte 0x5F73656C
|
|
.4byte 0x6563745F
|
|
.4byte 0x6D747520
|
|
.4byte 0x62616420
|
|
.4byte 0x7061636B
|
|
.4byte 0x65742073
|
|
.4byte 0x697A6500
|
|
.4byte 0x706F7274
|
|
.4byte 0x5F73656C
|
|
.4byte 0x6563745F
|
|
.4byte 0x6D747520
|
|
.4byte 0x73656C65
|
|
.4byte 0x63746564
|
|
.4byte 0x20256420
|
|
.4byte 0x62617365
|
|
.4byte 0x64206F6E
|
|
.4byte 0x20636F6E
|
|
.4byte 0x6E656374
|
|
.4byte 0x696F6E20
|
|
.4byte 0x73706565
|
|
.4byte 0x64000000
|
|
.4byte 0x706F7274
|
|
.4byte 0x5F73656C
|
|
.4byte 0x6563745F
|
|
.4byte 0x6D747520
|
|
.4byte 0x73656C65
|
|
.4byte 0x63746564
|
|
.4byte 0x20256420
|
|
.4byte 0x62617365
|
|
.4byte 0x64206F6E
|
|
.4byte 0x206C3263
|
|
.4byte 0x61702050
|
|
.4byte 0x44552073
|
|
.4byte 0x697A6500
|
|
.4byte 0
|
|
.4byte 0x706F7274
|
|
.4byte 0x5F73656C
|
|
.4byte 0x6563745F
|
|
.4byte 0x6D747520
|
|
.4byte 0x6170706C
|
|
.4byte 0x69636174
|
|
.4byte 0x696F6E20
|
|
.4byte 0x73656C65
|
|
.4byte 0x63746564
|
|
.4byte 0x20256400
|
|
.4byte 0x706F7274
|
|
.4byte 0x5F73656C
|
|
.4byte 0x6563745F
|
|
.4byte 0x6D747520
|
|
.4byte 0x63726564
|
|
.4byte 0x69745F72
|
|
.4byte 0x785F6D61
|
|
.4byte 0x78202564
|
|
.4byte 0x2C206372
|
|
.4byte 0x65646974
|
|
.4byte 0x5F72785F
|
|
.4byte 0x6C6F7720
|
|
.4byte 0x25642C20
|
|
.4byte 0x72785F62
|
|
.4byte 0x75665F63
|
|
.4byte 0x72697469
|
|
.4byte 0x63616C20
|
|
.4byte 0x25640000
|
|
|
|
.global "@1192"
|
|
"@1192":
|
|
|
|
.4byte 0x7266635F
|
|
.4byte 0x706F7274
|
|
.4byte 0x5F636C6F
|
|
.4byte 0x73656420
|
|
.4byte 0x444F4E45
|
|
.4byte 0
|
|
|
|
.global "@1272"
|
|
"@1272":
|
|
|
|
.4byte 0x504F5254
|
|
.4byte 0x5F446174
|
|
.4byte 0x61496E64
|
|
.4byte 0x20446174
|
|
.4byte 0x61207265
|
|
.4byte 0x61636865
|
|
.4byte 0x64204857
|
|
.4byte 0x2E205365
|
|
.4byte 0x6E64696E
|
|
.4byte 0x67204643
|
|
.4byte 0x20736574
|
|
.4byte 0x2E000000
|