1036 lines
46 KiB
ArmAsm
1036 lines
46 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
|
|
.global BTM_PmRegister
|
|
BTM_PmRegister:
|
|
/* 8008379C 0007F5DC 54 60 07 7B */ rlwinm. r0, r3, 0, 29, 29
|
|
/* 800837A0 0007F5E0 41 82 00 38 */ beq lbl_800837D8
|
|
/* 800837A4 0007F5E4 88 04 00 00 */ lbz r0, 0x0(r4)
|
|
/* 800837A8 0007F5E8 28 00 00 02 */ cmplwi r0, 0x2
|
|
/* 800837AC 0007F5EC 41 80 00 0C */ blt lbl_800837B8
|
|
/* 800837B0 0007F5F0 38 60 00 05 */ li r3, 0x5
|
|
/* 800837B4 0007F5F4 4E 80 00 20 */ blr
|
|
.global lbl_800837B8
|
|
lbl_800837B8:
|
|
/* 800837B8 0007F5F8 3C 60 80 4F */ lis r3, btm_cb@ha
|
|
/* 800837BC 0007F5FC 54 00 1D 78 */ rlwinm r0, r0, 3, 21, 28
|
|
/* 800837C0 0007F600 38 63 5F 58 */ addi r3, r3, btm_cb@l
|
|
/* 800837C4 0007F604 38 A0 00 00 */ li r5, 0x0
|
|
/* 800837C8 0007F608 7C 83 02 14 */ add r4, r3, r0
|
|
/* 800837CC 0007F60C 98 A4 05 58 */ stb r5, 0x558(r4)
|
|
/* 800837D0 0007F610 38 60 00 00 */ li r3, 0x0
|
|
/* 800837D4 0007F614 4E 80 00 20 */ blr
|
|
.global lbl_800837D8
|
|
lbl_800837D8:
|
|
/* 800837D8 0007F618 3C C0 80 4F */ lis r6, btm_cb@ha
|
|
/* 800837DC 0007F61C 38 00 00 02 */ li r0, 0x2
|
|
/* 800837E0 0007F620 38 C6 5F 58 */ addi r6, r6, btm_cb@l
|
|
/* 800837E4 0007F624 38 E0 00 00 */ li r7, 0x0
|
|
/* 800837E8 0007F628 7C 09 03 A6 */ mtctr r0
|
|
.global lbl_800837EC
|
|
lbl_800837EC:
|
|
/* 800837EC 0007F62C 88 06 05 58 */ lbz r0, 0x558(r6)
|
|
/* 800837F0 0007F630 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 800837F4 0007F634 40 82 00 50 */ bne lbl_80083844
|
|
/* 800837F8 0007F638 54 60 07 BD */ rlwinm. r0, r3, 0, 30, 30
|
|
/* 800837FC 0007F63C 41 82 00 28 */ beq lbl_80083824
|
|
/* 80083800 0007F640 2C 05 00 00 */ cmpwi r5, 0x0
|
|
/* 80083804 0007F644 40 82 00 0C */ bne lbl_80083810
|
|
/* 80083808 0007F648 38 60 00 05 */ li r3, 0x5
|
|
/* 8008380C 0007F64C 4E 80 00 20 */ blr
|
|
.global lbl_80083810
|
|
lbl_80083810:
|
|
/* 80083810 0007F650 3C C0 80 4F */ lis r6, btm_cb@ha
|
|
/* 80083814 0007F654 54 E0 18 38 */ slwi r0, r7, 3
|
|
/* 80083818 0007F658 38 C6 5F 58 */ addi r6, r6, btm_cb@l
|
|
/* 8008381C 0007F65C 7C C6 02 14 */ add r6, r6, r0
|
|
/* 80083820 0007F660 90 A6 05 54 */ stw r5, 0x554(r6)
|
|
.global lbl_80083824
|
|
lbl_80083824:
|
|
/* 80083824 0007F664 3C A0 80 4F */ lis r5, btm_cb@ha
|
|
/* 80083828 0007F668 54 E0 18 38 */ slwi r0, r7, 3
|
|
/* 8008382C 0007F66C 38 A5 5F 58 */ addi r5, r5, btm_cb@l
|
|
/* 80083830 0007F670 7C A5 02 14 */ add r5, r5, r0
|
|
/* 80083834 0007F674 98 65 05 58 */ stb r3, 0x558(r5)
|
|
/* 80083838 0007F678 38 60 00 00 */ li r3, 0x0
|
|
/* 8008383C 0007F67C 98 E4 00 00 */ stb r7, 0x0(r4)
|
|
/* 80083840 0007F680 4E 80 00 20 */ blr
|
|
.global lbl_80083844
|
|
lbl_80083844:
|
|
/* 80083844 0007F684 38 C6 00 08 */ addi r6, r6, 0x8
|
|
/* 80083848 0007F688 38 E7 00 01 */ addi r7, r7, 0x1
|
|
/* 8008384C 0007F68C 42 00 FF A0 */ bdnz lbl_800837EC
|
|
/* 80083850 0007F690 38 60 00 03 */ li r3, 0x3
|
|
/* 80083854 0007F694 4E 80 00 20 */ blr
|
|
.global BTM_SetPowerMode
|
|
BTM_SetPowerMode:
|
|
/* 80083858 0007F698 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8008385C 0007F69C 7C 08 02 A6 */ mflr r0
|
|
/* 80083860 0007F6A0 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80083864 0007F6A4 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 80083868 0007F6A8 4B F8 3A D1 */ bl lbl_80007338
|
|
/* 8008386C 0007F6AC 28 03 00 02 */ cmplwi r3, 0x2
|
|
/* 80083870 0007F6B0 7C 7B 1B 78 */ mr r27, r3
|
|
/* 80083874 0007F6B4 7C 9A 23 78 */ mr r26, r4
|
|
/* 80083878 0007F6B8 7C BC 2B 78 */ mr r28, r5
|
|
/* 8008387C 0007F6BC 41 80 00 08 */ blt lbl_80083884
|
|
/* 80083880 0007F6C0 3B 60 00 80 */ li r27, 0x80
|
|
.global lbl_80083884
|
|
lbl_80083884:
|
|
/* 80083884 0007F6C4 2C 05 00 00 */ cmpwi r5, 0x0
|
|
/* 80083888 0007F6C8 40 82 00 0C */ bne lbl_80083894
|
|
/* 8008388C 0007F6CC 38 60 00 05 */ li r3, 0x5
|
|
/* 80083890 0007F6D0 48 00 01 80 */ b lbl_80083A10
|
|
.global lbl_80083894
|
|
lbl_80083894:
|
|
/* 80083894 0007F6D4 88 05 00 08 */ lbz r0, 0x8(r5)
|
|
/* 80083898 0007F6D8 3C 60 80 4F */ lis r3, btm_cb@ha
|
|
/* 8008389C 0007F6DC 38 63 5F 58 */ addi r3, r3, btm_cb@l
|
|
/* 800838A0 0007F6E0 3B A0 00 00 */ li r29, 0x0
|
|
/* 800838A4 0007F6E4 54 1F 07 34 */ rlwinm r31, r0, 0, 28, 26
|
|
/* 800838A8 0007F6E8 3B C3 00 34 */ addi r30, r3, 0x34
|
|
.global lbl_800838AC
|
|
lbl_800838AC:
|
|
/* 800838AC 0007F6EC 88 1E 01 19 */ lbz r0, 0x119(r30)
|
|
/* 800838B0 0007F6F0 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 800838B4 0007F6F4 41 82 00 1C */ beq lbl_800838D0
|
|
/* 800838B8 0007F6F8 7F 44 D3 78 */ mr r4, r26
|
|
/* 800838BC 0007F6FC 38 7E 00 08 */ addi r3, r30, 0x8
|
|
/* 800838C0 0007F700 38 A0 00 06 */ li r5, 0x6
|
|
/* 800838C4 0007F704 4B F8 75 AD */ bl memcmp
|
|
/* 800838C8 0007F708 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800838CC 0007F70C 41 82 00 14 */ beq lbl_800838E0
|
|
.global lbl_800838D0
|
|
lbl_800838D0:
|
|
/* 800838D0 0007F710 3B BD 00 01 */ addi r29, r29, 0x1
|
|
/* 800838D4 0007F714 3B DE 01 1C */ addi r30, r30, 0x11c
|
|
/* 800838D8 0007F718 28 1D 00 04 */ cmplwi r29, 0x4
|
|
/* 800838DC 0007F71C 41 80 FF D0 */ blt lbl_800838AC
|
|
.global lbl_800838E0
|
|
lbl_800838E0:
|
|
/* 800838E0 0007F720 57 BE 06 3E */ clrlwi r30, r29, 24
|
|
/* 800838E4 0007F724 2C 1E 00 04 */ cmpwi r30, 0x4
|
|
/* 800838E8 0007F728 40 82 00 0C */ bne lbl_800838F4
|
|
/* 800838EC 0007F72C 38 60 00 07 */ li r3, 0x7
|
|
/* 800838F0 0007F730 48 00 01 20 */ b lbl_80083A10
|
|
.global lbl_800838F4
|
|
lbl_800838F4:
|
|
/* 800838F4 0007F734 1C 1E 00 22 */ mulli r0, r30, 0x22
|
|
/* 800838F8 0007F738 3C 80 80 4F */ lis r4, btm_cb@ha
|
|
/* 800838FC 0007F73C 57 E3 06 3F */ clrlwi. r3, r31, 24
|
|
/* 80083900 0007F740 38 84 5F 58 */ addi r4, r4, btm_cb@l
|
|
/* 80083904 0007F744 7C 84 02 14 */ add r4, r4, r0
|
|
/* 80083908 0007F748 3B A4 04 CC */ addi r29, r4, 0x4cc
|
|
/* 8008390C 0007F74C 41 82 00 30 */ beq lbl_8008393C
|
|
/* 80083910 0007F750 3B 43 FF FF */ addi r26, r3, -0x1
|
|
/* 80083914 0007F754 4B FF DA 05 */ bl BTM_ReadLocalFeatures
|
|
/* 80083918 0007F758 38 82 89 C8 */ addi r4, r2, btm_pm_mode_off@sda21
|
|
/* 8008391C 0007F75C 38 A2 89 CC */ addi r5, r2, btm_pm_mode_msk@sda21
|
|
/* 80083920 0007F760 7C 04 D0 AE */ lbzx r0, r4, r26
|
|
/* 80083924 0007F764 7C 85 D0 AE */ lbzx r4, r5, r26
|
|
/* 80083928 0007F768 7C 03 00 AE */ lbzx r0, r3, r0
|
|
/* 8008392C 0007F76C 7C 80 00 39 */ and. r0, r4, r0
|
|
/* 80083930 0007F770 40 82 00 0C */ bne lbl_8008393C
|
|
/* 80083934 0007F774 38 60 00 04 */ li r3, 0x4
|
|
/* 80083938 0007F778 48 00 00 D8 */ b lbl_80083A10
|
|
.global lbl_8008393C
|
|
lbl_8008393C:
|
|
/* 8008393C 0007F77C 88 1D 00 20 */ lbz r0, 0x20(r29)
|
|
/* 80083940 0007F780 57 E3 06 3E */ clrlwi r3, r31, 24
|
|
/* 80083944 0007F784 7C 03 00 40 */ cmplw r3, r0
|
|
/* 80083948 0007F788 40 82 00 30 */ bne lbl_80083978
|
|
/* 8008394C 0007F78C 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80083950 0007F790 41 82 00 20 */ beq lbl_80083970
|
|
/* 80083954 0007F794 A0 7D 00 1E */ lhz r3, 0x1e(r29)
|
|
/* 80083958 0007F798 A0 1C 00 00 */ lhz r0, 0x0(r28)
|
|
/* 8008395C 0007F79C 7C 00 18 40 */ cmplw r0, r3
|
|
/* 80083960 0007F7A0 41 80 00 18 */ blt lbl_80083978
|
|
/* 80083964 0007F7A4 A0 1C 00 02 */ lhz r0, 0x2(r28)
|
|
/* 80083968 0007F7A8 7C 00 18 40 */ cmplw r0, r3
|
|
/* 8008396C 0007F7AC 41 81 00 0C */ bgt lbl_80083978
|
|
.global lbl_80083970
|
|
lbl_80083970:
|
|
/* 80083970 0007F7B0 38 60 00 00 */ li r3, 0x0
|
|
/* 80083974 0007F7B4 48 00 00 9C */ b lbl_80083A10
|
|
.global lbl_80083978
|
|
lbl_80083978:
|
|
/* 80083978 0007F7B8 28 1B 00 80 */ cmplwi r27, 0x80
|
|
/* 8008397C 0007F7BC 41 82 00 54 */ beq lbl_800839D0
|
|
/* 80083980 0007F7C0 3C 60 80 4F */ lis r3, btm_cb@ha
|
|
/* 80083984 0007F7C4 57 60 1D 78 */ rlwinm r0, r27, 3, 21, 28
|
|
/* 80083988 0007F7C8 38 63 5F 58 */ addi r3, r3, btm_cb@l
|
|
/* 8008398C 0007F7CC 7C 63 02 14 */ add r3, r3, r0
|
|
/* 80083990 0007F7D0 88 03 05 58 */ lbz r0, 0x558(r3)
|
|
/* 80083994 0007F7D4 54 00 07 FF */ clrlwi. r0, r0, 31
|
|
/* 80083998 0007F7D8 41 82 00 38 */ beq lbl_800839D0
|
|
/* 8008399C 0007F7DC A0 9C 00 00 */ lhz r4, 0x0(r28)
|
|
/* 800839A0 0007F7E0 1C BB 00 0A */ mulli r5, r27, 0xa
|
|
/* 800839A4 0007F7E4 A0 7C 00 02 */ lhz r3, 0x2(r28)
|
|
/* 800839A8 0007F7E8 38 00 00 01 */ li r0, 0x1
|
|
/* 800839AC 0007F7EC 7C 85 EB 6E */ sthux r4, r5, r29
|
|
/* 800839B0 0007F7F0 B0 65 00 02 */ sth r3, 0x2(r5)
|
|
/* 800839B4 0007F7F4 A0 9C 00 04 */ lhz r4, 0x4(r28)
|
|
/* 800839B8 0007F7F8 A0 7C 00 06 */ lhz r3, 0x6(r28)
|
|
/* 800839BC 0007F7FC B0 85 00 04 */ sth r4, 0x4(r5)
|
|
/* 800839C0 0007F800 B0 65 00 06 */ sth r3, 0x6(r5)
|
|
/* 800839C4 0007F804 A0 7C 00 08 */ lhz r3, 0x8(r28)
|
|
/* 800839C8 0007F808 B0 65 00 08 */ sth r3, 0x8(r5)
|
|
/* 800839CC 0007F80C 98 1D 00 21 */ stb r0, 0x21(r29)
|
|
.global lbl_800839D0
|
|
lbl_800839D0:
|
|
/* 800839D0 0007F810 88 1D 00 20 */ lbz r0, 0x20(r29)
|
|
/* 800839D4 0007F814 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 800839D8 0007F818 41 82 00 20 */ beq lbl_800839F8
|
|
/* 800839DC 0007F81C 28 00 00 04 */ cmplwi r0, 0x4
|
|
/* 800839E0 0007F820 41 82 00 18 */ beq lbl_800839F8
|
|
/* 800839E4 0007F824 3C 60 80 4F */ lis r3, btm_cb@ha
|
|
/* 800839E8 0007F828 38 63 5F 58 */ addi r3, r3, btm_cb@l
|
|
/* 800839EC 0007F82C 88 03 05 64 */ lbz r0, 0x564(r3)
|
|
/* 800839F0 0007F830 28 00 00 04 */ cmplwi r0, 0x4
|
|
/* 800839F4 0007F834 41 82 00 0C */ beq lbl_80083A00
|
|
.global lbl_800839F8
|
|
lbl_800839F8:
|
|
/* 800839F8 0007F838 38 60 00 0D */ li r3, 0xd
|
|
/* 800839FC 0007F83C 48 00 00 14 */ b lbl_80083A10
|
|
.global lbl_80083A00
|
|
lbl_80083A00:
|
|
/* 80083A00 0007F840 7F 63 DB 78 */ mr r3, r27
|
|
/* 80083A04 0007F844 7F C4 F3 78 */ mr r4, r30
|
|
/* 80083A08 0007F848 7F 85 E3 78 */ mr r5, r28
|
|
/* 80083A0C 0007F84C 48 00 05 19 */ bl btm_pm_snd_md_req
|
|
.global lbl_80083A10
|
|
lbl_80083A10:
|
|
/* 80083A10 0007F850 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 80083A14 0007F854 4B F8 39 71 */ bl lbl_80007384
|
|
/* 80083A18 0007F858 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80083A1C 0007F85C 7C 08 03 A6 */ mtlr r0
|
|
/* 80083A20 0007F860 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80083A24 0007F864 4E 80 00 20 */ blr
|
|
.global BTM_ReadPowerMode
|
|
BTM_ReadPowerMode:
|
|
/* 80083A28 0007F868 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80083A2C 0007F86C 7C 08 02 A6 */ mflr r0
|
|
/* 80083A30 0007F870 3C A0 80 4F */ lis r5, btm_cb@ha
|
|
/* 80083A34 0007F874 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80083A38 0007F878 38 A5 5F 58 */ addi r5, r5, btm_cb@l
|
|
/* 80083A3C 0007F87C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 80083A40 0007F880 3B E0 00 00 */ li r31, 0x0
|
|
/* 80083A44 0007F884 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 80083A48 0007F888 3B C5 00 34 */ addi r30, r5, 0x34
|
|
/* 80083A4C 0007F88C 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 80083A50 0007F890 7C 9D 23 78 */ mr r29, r4
|
|
/* 80083A54 0007F894 93 81 00 10 */ stw r28, 0x10(r1)
|
|
/* 80083A58 0007F898 7C 7C 1B 78 */ mr r28, r3
|
|
.global lbl_80083A5C
|
|
lbl_80083A5C:
|
|
/* 80083A5C 0007F89C 88 1E 01 19 */ lbz r0, 0x119(r30)
|
|
/* 80083A60 0007F8A0 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80083A64 0007F8A4 41 82 00 1C */ beq lbl_80083A80
|
|
/* 80083A68 0007F8A8 7F 84 E3 78 */ mr r4, r28
|
|
/* 80083A6C 0007F8AC 38 7E 00 08 */ addi r3, r30, 0x8
|
|
/* 80083A70 0007F8B0 38 A0 00 06 */ li r5, 0x6
|
|
/* 80083A74 0007F8B4 4B F8 73 FD */ bl memcmp
|
|
/* 80083A78 0007F8B8 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80083A7C 0007F8BC 41 82 00 14 */ beq lbl_80083A90
|
|
.global lbl_80083A80
|
|
lbl_80083A80:
|
|
/* 80083A80 0007F8C0 3B FF 00 01 */ addi r31, r31, 0x1
|
|
/* 80083A84 0007F8C4 3B DE 01 1C */ addi r30, r30, 0x11c
|
|
/* 80083A88 0007F8C8 28 1F 00 04 */ cmplwi r31, 0x4
|
|
/* 80083A8C 0007F8CC 41 80 FF D0 */ blt lbl_80083A5C
|
|
.global lbl_80083A90
|
|
lbl_80083A90:
|
|
/* 80083A90 0007F8D0 57 E0 06 3E */ clrlwi r0, r31, 24
|
|
/* 80083A94 0007F8D4 2C 00 00 04 */ cmpwi r0, 0x4
|
|
/* 80083A98 0007F8D8 40 82 00 0C */ bne lbl_80083AA4
|
|
/* 80083A9C 0007F8DC 38 60 00 07 */ li r3, 0x7
|
|
/* 80083AA0 0007F8E0 48 00 00 20 */ b lbl_80083AC0
|
|
.global lbl_80083AA4
|
|
lbl_80083AA4:
|
|
/* 80083AA4 0007F8E4 1C 00 00 22 */ mulli r0, r0, 0x22
|
|
/* 80083AA8 0007F8E8 3C 80 80 4F */ lis r4, btm_cb@ha
|
|
/* 80083AAC 0007F8EC 38 60 00 00 */ li r3, 0x0
|
|
/* 80083AB0 0007F8F0 38 84 5F 58 */ addi r4, r4, btm_cb@l
|
|
/* 80083AB4 0007F8F4 7C 84 02 14 */ add r4, r4, r0
|
|
/* 80083AB8 0007F8F8 88 04 04 EC */ lbz r0, 0x4ec(r4)
|
|
/* 80083ABC 0007F8FC 98 1D 00 00 */ stb r0, 0x0(r29)
|
|
.global lbl_80083AC0
|
|
lbl_80083AC0:
|
|
/* 80083AC0 0007F900 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80083AC4 0007F904 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 80083AC8 0007F908 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 80083ACC 0007F90C 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 80083AD0 0007F910 83 81 00 10 */ lwz r28, 0x10(r1)
|
|
/* 80083AD4 0007F914 7C 08 03 A6 */ mtlr r0
|
|
/* 80083AD8 0007F918 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80083ADC 0007F91C 4E 80 00 20 */ blr
|
|
.global btm_pm_reset
|
|
btm_pm_reset:
|
|
/* 80083AE0 0007F920 3C 60 80 4F */ lis r3, btm_cb@ha
|
|
/* 80083AE4 0007F924 39 80 00 00 */ li r12, 0x0
|
|
/* 80083AE8 0007F928 38 63 5F 58 */ addi r3, r3, btm_cb@l
|
|
/* 80083AEC 0007F92C 88 03 05 65 */ lbz r0, 0x565(r3)
|
|
/* 80083AF0 0007F930 28 00 00 80 */ cmplwi r0, 0x80
|
|
/* 80083AF4 0007F934 41 82 00 1C */ beq lbl_80083B10
|
|
/* 80083AF8 0007F938 54 00 1D 78 */ rlwinm r0, r0, 3, 21, 28
|
|
/* 80083AFC 0007F93C 7C 63 02 14 */ add r3, r3, r0
|
|
/* 80083B00 0007F940 88 03 05 58 */ lbz r0, 0x558(r3)
|
|
/* 80083B04 0007F944 54 00 07 BD */ rlwinm. r0, r0, 0, 30, 30
|
|
/* 80083B08 0007F948 41 82 00 08 */ beq lbl_80083B10
|
|
/* 80083B0C 0007F94C 81 83 05 54 */ lwz r12, 0x554(r3)
|
|
.global lbl_80083B10
|
|
lbl_80083B10:
|
|
/* 80083B10 0007F950 3C 60 80 4F */ lis r3, btm_cb@ha
|
|
/* 80083B14 0007F954 2C 0C 00 00 */ cmpwi r12, 0x0
|
|
/* 80083B18 0007F958 38 63 5F 58 */ addi r3, r3, btm_cb@l
|
|
/* 80083B1C 0007F95C 38 00 00 00 */ li r0, 0x0
|
|
/* 80083B20 0007F960 38 80 00 04 */ li r4, 0x4
|
|
/* 80083B24 0007F964 98 03 05 58 */ stb r0, 0x558(r3)
|
|
/* 80083B28 0007F968 98 83 05 64 */ stb r4, 0x564(r3)
|
|
/* 80083B2C 0007F96C 98 03 05 60 */ stb r0, 0x560(r3)
|
|
/* 80083B30 0007F970 4D 82 00 20 */ beqlr
|
|
/* 80083B34 0007F974 1C 04 01 1C */ mulli r0, r4, 0x11c
|
|
/* 80083B38 0007F978 38 80 00 05 */ li r4, 0x5
|
|
/* 80083B3C 0007F97C 38 A0 00 0C */ li r5, 0xc
|
|
/* 80083B40 0007F980 38 C0 00 00 */ li r6, 0x0
|
|
/* 80083B44 0007F984 7C 63 02 14 */ add r3, r3, r0
|
|
/* 80083B48 0007F988 38 63 00 3C */ addi r3, r3, 0x3c
|
|
/* 80083B4C 0007F98C 7D 89 03 A6 */ mtctr r12
|
|
/* 80083B50 0007F990 4E 80 04 20 */ bctr
|
|
/* 80083B54 0007F994 4E 80 00 20 */ blr
|
|
.global btm_pm_sm_alloc
|
|
btm_pm_sm_alloc:
|
|
/* 80083B58 0007F998 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 80083B5C 0007F99C 7C 08 02 A6 */ mflr r0
|
|
/* 80083B60 0007F9A0 38 80 00 00 */ li r4, 0x0
|
|
/* 80083B64 0007F9A4 38 A0 00 22 */ li r5, 0x22
|
|
/* 80083B68 0007F9A8 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 80083B6C 0007F9AC 1C 03 00 22 */ mulli r0, r3, 0x22
|
|
/* 80083B70 0007F9B0 3C 60 80 4F */ lis r3, btm_cb@ha
|
|
/* 80083B74 0007F9B4 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 80083B78 0007F9B8 38 63 5F 58 */ addi r3, r3, btm_cb@l
|
|
/* 80083B7C 0007F9BC 7C 63 02 14 */ add r3, r3, r0
|
|
/* 80083B80 0007F9C0 3B E3 04 CC */ addi r31, r3, 0x4cc
|
|
/* 80083B84 0007F9C4 7F E3 FB 78 */ mr r3, r31
|
|
/* 80083B88 0007F9C8 4B F8 07 C9 */ bl memset
|
|
/* 80083B8C 0007F9CC 38 00 00 00 */ li r0, 0x0
|
|
/* 80083B90 0007F9D0 98 1F 00 20 */ stb r0, 0x20(r31)
|
|
/* 80083B94 0007F9D4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 80083B98 0007F9D8 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 80083B9C 0007F9DC 7C 08 03 A6 */ mtlr r0
|
|
/* 80083BA0 0007F9E0 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 80083BA4 0007F9E4 4E 80 00 20 */ blr
|
|
.global btm_pm_compare_modes
|
|
btm_pm_compare_modes:
|
|
/* 80083BA8 0007F9E8 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80083BAC 0007F9EC 40 82 00 34 */ bne lbl_80083BE0
|
|
/* 80083BB0 0007F9F0 A0 C4 00 00 */ lhz r6, 0x0(r4)
|
|
/* 80083BB4 0007F9F4 7C 83 23 78 */ mr r3, r4
|
|
/* 80083BB8 0007F9F8 A0 04 00 02 */ lhz r0, 0x2(r4)
|
|
/* 80083BBC 0007F9FC B0 C5 00 00 */ sth r6, 0x0(r5)
|
|
/* 80083BC0 0007FA00 B0 05 00 02 */ sth r0, 0x2(r5)
|
|
/* 80083BC4 0007FA04 A0 C4 00 04 */ lhz r6, 0x4(r4)
|
|
/* 80083BC8 0007FA08 A0 04 00 06 */ lhz r0, 0x6(r4)
|
|
/* 80083BCC 0007FA0C B0 C5 00 04 */ sth r6, 0x4(r5)
|
|
/* 80083BD0 0007FA10 B0 05 00 06 */ sth r0, 0x6(r5)
|
|
/* 80083BD4 0007FA14 A0 04 00 08 */ lhz r0, 0x8(r4)
|
|
/* 80083BD8 0007FA18 B0 05 00 08 */ sth r0, 0x8(r5)
|
|
/* 80083BDC 0007FA1C 4E 80 00 20 */ blr
|
|
.global lbl_80083BE0
|
|
lbl_80083BE0:
|
|
/* 80083BE0 0007FA20 89 24 00 08 */ lbz r9, 0x8(r4)
|
|
/* 80083BE4 0007FA24 2C 09 00 00 */ cmpwi r9, 0x0
|
|
/* 80083BE8 0007FA28 41 82 00 10 */ beq lbl_80083BF8
|
|
/* 80083BEC 0007FA2C 89 03 00 08 */ lbz r8, 0x8(r3)
|
|
/* 80083BF0 0007FA30 2C 08 00 00 */ cmpwi r8, 0x0
|
|
/* 80083BF4 0007FA34 40 82 00 0C */ bne lbl_80083C00
|
|
.global lbl_80083BF8
|
|
lbl_80083BF8:
|
|
/* 80083BF8 0007FA38 38 60 00 00 */ li r3, 0x0
|
|
/* 80083BFC 0007FA3C 4E 80 00 20 */ blr
|
|
.global lbl_80083C00
|
|
lbl_80083C00:
|
|
/* 80083C00 0007FA40 55 00 06 F7 */ rlwinm. r0, r8, 0, 27, 27
|
|
/* 80083C04 0007FA44 41 82 00 40 */ beq lbl_80083C44
|
|
/* 80083C08 0007FA48 A0 83 00 00 */ lhz r4, 0x0(r3)
|
|
/* 80083C0C 0007FA4C A0 03 00 02 */ lhz r0, 0x2(r3)
|
|
/* 80083C10 0007FA50 B0 85 00 00 */ sth r4, 0x0(r5)
|
|
/* 80083C14 0007FA54 B0 05 00 02 */ sth r0, 0x2(r5)
|
|
/* 80083C18 0007FA58 A0 83 00 04 */ lhz r4, 0x4(r3)
|
|
/* 80083C1C 0007FA5C A0 03 00 06 */ lhz r0, 0x6(r3)
|
|
/* 80083C20 0007FA60 B0 85 00 04 */ sth r4, 0x4(r5)
|
|
/* 80083C24 0007FA64 B0 05 00 06 */ sth r0, 0x6(r5)
|
|
/* 80083C28 0007FA68 A0 03 00 08 */ lhz r0, 0x8(r3)
|
|
/* 80083C2C 0007FA6C 7C A3 2B 78 */ mr r3, r5
|
|
/* 80083C30 0007FA70 B0 05 00 08 */ sth r0, 0x8(r5)
|
|
/* 80083C34 0007FA74 88 05 00 08 */ lbz r0, 0x8(r5)
|
|
/* 80083C38 0007FA78 54 00 07 34 */ rlwinm r0, r0, 0, 28, 26
|
|
/* 80083C3C 0007FA7C 98 05 00 08 */ stb r0, 0x8(r5)
|
|
/* 80083C40 0007FA80 4E 80 00 20 */ blr
|
|
.global lbl_80083C44
|
|
lbl_80083C44:
|
|
/* 80083C44 0007FA84 55 20 06 F7 */ rlwinm. r0, r9, 0, 27, 27
|
|
/* 80083C48 0007FA88 41 82 00 40 */ beq lbl_80083C88
|
|
/* 80083C4C 0007FA8C A0 C4 00 00 */ lhz r6, 0x0(r4)
|
|
/* 80083C50 0007FA90 7C A3 2B 78 */ mr r3, r5
|
|
/* 80083C54 0007FA94 A0 04 00 02 */ lhz r0, 0x2(r4)
|
|
/* 80083C58 0007FA98 B0 C5 00 00 */ sth r6, 0x0(r5)
|
|
/* 80083C5C 0007FA9C B0 05 00 02 */ sth r0, 0x2(r5)
|
|
/* 80083C60 0007FAA0 A0 C4 00 04 */ lhz r6, 0x4(r4)
|
|
/* 80083C64 0007FAA4 A0 04 00 06 */ lhz r0, 0x6(r4)
|
|
/* 80083C68 0007FAA8 B0 C5 00 04 */ sth r6, 0x4(r5)
|
|
/* 80083C6C 0007FAAC B0 05 00 06 */ sth r0, 0x6(r5)
|
|
/* 80083C70 0007FAB0 A0 04 00 08 */ lhz r0, 0x8(r4)
|
|
/* 80083C74 0007FAB4 B0 05 00 08 */ sth r0, 0x8(r5)
|
|
/* 80083C78 0007FAB8 88 05 00 08 */ lbz r0, 0x8(r5)
|
|
/* 80083C7C 0007FABC 54 00 07 34 */ rlwinm r0, r0, 0, 28, 26
|
|
/* 80083C80 0007FAC0 98 05 00 08 */ stb r0, 0x8(r5)
|
|
/* 80083C84 0007FAC4 4E 80 00 20 */ blr
|
|
.global lbl_80083C88
|
|
lbl_80083C88:
|
|
/* 80083C88 0007FAC8 38 E8 FF FF */ addi r7, r8, -0x1
|
|
/* 80083C8C 0007FACC 3C C0 80 41 */ lis r6, btm_pm_md_comp_matrix@ha
|
|
/* 80083C90 0007FAD0 54 E0 10 3A */ slwi r0, r7, 2
|
|
/* 80083C94 0007FAD4 7C 07 00 50 */ subf r0, r7, r0
|
|
/* 80083C98 0007FAD8 38 C6 80 F8 */ addi r6, r6, btm_pm_md_comp_matrix@l
|
|
/* 80083C9C 0007FADC 7C E9 02 14 */ add r7, r9, r0
|
|
/* 80083CA0 0007FAE0 38 07 FF FF */ addi r0, r7, -0x1
|
|
/* 80083CA4 0007FAE4 54 00 06 3E */ clrlwi r0, r0, 24
|
|
/* 80083CA8 0007FAE8 7C 06 00 AE */ lbzx r0, r6, r0
|
|
/* 80083CAC 0007FAEC 2C 00 00 02 */ cmpwi r0, 0x2
|
|
/* 80083CB0 0007FAF0 41 82 00 4C */ beq lbl_80083CFC
|
|
/* 80083CB4 0007FAF4 40 80 00 10 */ bge lbl_80083CC4
|
|
/* 80083CB8 0007FAF8 2C 00 00 01 */ cmpwi r0, 0x1
|
|
/* 80083CBC 0007FAFC 40 80 00 14 */ bge lbl_80083CD0
|
|
/* 80083CC0 0007FB00 48 00 00 FC */ b lbl_80083DBC
|
|
.global lbl_80083CC4
|
|
lbl_80083CC4:
|
|
/* 80083CC4 0007FB04 2C 00 00 04 */ cmpwi r0, 0x4
|
|
/* 80083CC8 0007FB08 40 80 00 F4 */ bge lbl_80083DBC
|
|
/* 80083CCC 0007FB0C 48 00 00 60 */ b lbl_80083D2C
|
|
.global lbl_80083CD0
|
|
lbl_80083CD0:
|
|
/* 80083CD0 0007FB10 A0 83 00 00 */ lhz r4, 0x0(r3)
|
|
/* 80083CD4 0007FB14 A0 03 00 02 */ lhz r0, 0x2(r3)
|
|
/* 80083CD8 0007FB18 B0 85 00 00 */ sth r4, 0x0(r5)
|
|
/* 80083CDC 0007FB1C B0 05 00 02 */ sth r0, 0x2(r5)
|
|
/* 80083CE0 0007FB20 A0 83 00 04 */ lhz r4, 0x4(r3)
|
|
/* 80083CE4 0007FB24 A0 03 00 06 */ lhz r0, 0x6(r3)
|
|
/* 80083CE8 0007FB28 B0 85 00 04 */ sth r4, 0x4(r5)
|
|
/* 80083CEC 0007FB2C B0 05 00 06 */ sth r0, 0x6(r5)
|
|
/* 80083CF0 0007FB30 A0 03 00 08 */ lhz r0, 0x8(r3)
|
|
/* 80083CF4 0007FB34 B0 05 00 08 */ sth r0, 0x8(r5)
|
|
/* 80083CF8 0007FB38 4E 80 00 20 */ blr
|
|
.global lbl_80083CFC
|
|
lbl_80083CFC:
|
|
/* 80083CFC 0007FB3C A0 C4 00 00 */ lhz r6, 0x0(r4)
|
|
/* 80083D00 0007FB40 7C 83 23 78 */ mr r3, r4
|
|
/* 80083D04 0007FB44 A0 04 00 02 */ lhz r0, 0x2(r4)
|
|
/* 80083D08 0007FB48 B0 C5 00 00 */ sth r6, 0x0(r5)
|
|
/* 80083D0C 0007FB4C B0 05 00 02 */ sth r0, 0x2(r5)
|
|
/* 80083D10 0007FB50 A0 C4 00 04 */ lhz r6, 0x4(r4)
|
|
/* 80083D14 0007FB54 A0 04 00 06 */ lhz r0, 0x6(r4)
|
|
/* 80083D18 0007FB58 B0 C5 00 04 */ sth r6, 0x4(r5)
|
|
/* 80083D1C 0007FB5C B0 05 00 06 */ sth r0, 0x6(r5)
|
|
/* 80083D20 0007FB60 A0 04 00 08 */ lhz r0, 0x8(r4)
|
|
/* 80083D24 0007FB64 B0 05 00 08 */ sth r0, 0x8(r5)
|
|
/* 80083D28 0007FB68 4E 80 00 20 */ blr
|
|
.global lbl_80083D2C
|
|
lbl_80083D2C:
|
|
/* 80083D2C 0007FB6C 99 05 00 08 */ stb r8, 0x8(r5)
|
|
/* 80083D30 0007FB70 A0 C4 00 00 */ lhz r6, 0x0(r4)
|
|
/* 80083D34 0007FB74 A0 03 00 00 */ lhz r0, 0x0(r3)
|
|
/* 80083D38 0007FB78 7C 00 30 40 */ cmplw r0, r6
|
|
/* 80083D3C 0007FB7C 40 80 00 08 */ bge lbl_80083D44
|
|
/* 80083D40 0007FB80 7C 06 03 78 */ mr r6, r0
|
|
.global lbl_80083D44
|
|
lbl_80083D44:
|
|
/* 80083D44 0007FB84 B0 C5 00 00 */ sth r6, 0x0(r5)
|
|
/* 80083D48 0007FB88 A0 E4 00 02 */ lhz r7, 0x2(r4)
|
|
/* 80083D4C 0007FB8C A0 03 00 02 */ lhz r0, 0x2(r3)
|
|
/* 80083D50 0007FB90 7C 00 38 40 */ cmplw r0, r7
|
|
/* 80083D54 0007FB94 40 81 00 08 */ ble lbl_80083D5C
|
|
/* 80083D58 0007FB98 7C 07 03 78 */ mr r7, r0
|
|
.global lbl_80083D5C
|
|
lbl_80083D5C:
|
|
/* 80083D5C 0007FB9C A0 C5 00 00 */ lhz r6, 0x0(r5)
|
|
/* 80083D60 0007FBA0 54 E0 04 3E */ clrlwi r0, r7, 16
|
|
/* 80083D64 0007FBA4 B0 E5 00 02 */ sth r7, 0x2(r5)
|
|
/* 80083D68 0007FBA8 7C 06 00 40 */ cmplw r6, r0
|
|
/* 80083D6C 0007FBAC 40 80 00 0C */ bge lbl_80083D78
|
|
/* 80083D70 0007FBB0 38 60 00 00 */ li r3, 0x0
|
|
/* 80083D74 0007FBB4 4E 80 00 20 */ blr
|
|
.global lbl_80083D78
|
|
lbl_80083D78:
|
|
/* 80083D78 0007FBB8 88 05 00 08 */ lbz r0, 0x8(r5)
|
|
/* 80083D7C 0007FBBC 28 00 00 02 */ cmplwi r0, 0x2
|
|
/* 80083D80 0007FBC0 40 82 00 34 */ bne lbl_80083DB4
|
|
/* 80083D84 0007FBC4 A0 C4 00 04 */ lhz r6, 0x4(r4)
|
|
/* 80083D88 0007FBC8 A0 03 00 04 */ lhz r0, 0x4(r3)
|
|
/* 80083D8C 0007FBCC 7C 00 30 40 */ cmplw r0, r6
|
|
/* 80083D90 0007FBD0 40 81 00 08 */ ble lbl_80083D98
|
|
/* 80083D94 0007FBD4 7C 06 03 78 */ mr r6, r0
|
|
.global lbl_80083D98
|
|
lbl_80083D98:
|
|
/* 80083D98 0007FBD8 B0 C5 00 04 */ sth r6, 0x4(r5)
|
|
/* 80083D9C 0007FBDC A0 84 00 06 */ lhz r4, 0x6(r4)
|
|
/* 80083DA0 0007FBE0 A0 03 00 06 */ lhz r0, 0x6(r3)
|
|
/* 80083DA4 0007FBE4 7C 00 20 40 */ cmplw r0, r4
|
|
/* 80083DA8 0007FBE8 40 81 00 08 */ ble lbl_80083DB0
|
|
/* 80083DAC 0007FBEC 7C 04 03 78 */ mr r4, r0
|
|
.global lbl_80083DB0
|
|
lbl_80083DB0:
|
|
/* 80083DB0 0007FBF0 B0 85 00 06 */ sth r4, 0x6(r5)
|
|
.global lbl_80083DB4
|
|
lbl_80083DB4:
|
|
/* 80083DB4 0007FBF4 7C A3 2B 78 */ mr r3, r5
|
|
/* 80083DB8 0007FBF8 4E 80 00 20 */ blr
|
|
.global lbl_80083DBC
|
|
lbl_80083DBC:
|
|
/* 80083DBC 0007FBFC 38 60 00 00 */ li r3, 0x0
|
|
/* 80083DC0 0007FC00 4E 80 00 20 */ blr
|
|
.global btm_pm_get_set_mode
|
|
btm_pm_get_set_mode:
|
|
/* 80083DC4 0007FC04 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80083DC8 0007FC08 7C 08 02 A6 */ mflr r0
|
|
/* 80083DCC 0007FC0C 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80083DD0 0007FC10 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 80083DD4 0007FC14 4B F8 35 65 */ bl lbl_80007338
|
|
/* 80083DD8 0007FC18 2C 05 00 00 */ cmpwi r5, 0x0
|
|
/* 80083DDC 0007FC1C 7C 7A 1B 78 */ mr r26, r3
|
|
/* 80083DE0 0007FC20 7C BB 2B 78 */ mr r27, r5
|
|
/* 80083DE4 0007FC24 7C DC 33 78 */ mr r28, r6
|
|
/* 80083DE8 0007FC28 38 E0 00 00 */ li r7, 0x0
|
|
/* 80083DEC 0007FC2C 41 82 00 48 */ beq lbl_80083E34
|
|
/* 80083DF0 0007FC30 88 05 00 08 */ lbz r0, 0x8(r5)
|
|
/* 80083DF4 0007FC34 54 00 06 F7 */ rlwinm. r0, r0, 0, 27, 27
|
|
/* 80083DF8 0007FC38 41 82 00 3C */ beq lbl_80083E34
|
|
/* 80083DFC 0007FC3C A0 65 00 00 */ lhz r3, 0x0(r5)
|
|
/* 80083E00 0007FC40 A0 05 00 02 */ lhz r0, 0x2(r5)
|
|
/* 80083E04 0007FC44 B0 66 00 00 */ sth r3, 0x0(r6)
|
|
/* 80083E08 0007FC48 B0 06 00 02 */ sth r0, 0x2(r6)
|
|
/* 80083E0C 0007FC4C A0 65 00 04 */ lhz r3, 0x4(r5)
|
|
/* 80083E10 0007FC50 A0 05 00 06 */ lhz r0, 0x6(r5)
|
|
/* 80083E14 0007FC54 B0 66 00 04 */ sth r3, 0x4(r6)
|
|
/* 80083E18 0007FC58 B0 06 00 06 */ sth r0, 0x6(r6)
|
|
/* 80083E1C 0007FC5C A0 05 00 08 */ lhz r0, 0x8(r5)
|
|
/* 80083E20 0007FC60 B0 06 00 08 */ sth r0, 0x8(r6)
|
|
/* 80083E24 0007FC64 88 06 00 08 */ lbz r0, 0x8(r6)
|
|
/* 80083E28 0007FC68 54 03 07 34 */ rlwinm r3, r0, 0, 28, 26
|
|
/* 80083E2C 0007FC6C 98 66 00 08 */ stb r3, 0x8(r6)
|
|
/* 80083E30 0007FC70 48 00 00 DC */ b lbl_80083F0C
|
|
.global lbl_80083E34
|
|
lbl_80083E34:
|
|
/* 80083E34 0007FC74 3F E0 80 4F */ lis r31, btm_cb@ha
|
|
/* 80083E38 0007FC78 7C 9E 23 78 */ mr r30, r4
|
|
/* 80083E3C 0007FC7C 3B FF 5F 58 */ addi r31, r31, btm_cb@l
|
|
/* 80083E40 0007FC80 3B A0 00 00 */ li r29, 0x0
|
|
.global lbl_80083E44
|
|
lbl_80083E44:
|
|
/* 80083E44 0007FC84 88 1F 05 58 */ lbz r0, 0x558(r31)
|
|
/* 80083E48 0007FC88 54 00 07 FF */ clrlwi. r0, r0, 31
|
|
/* 80083E4C 0007FC8C 41 82 00 3C */ beq lbl_80083E88
|
|
/* 80083E50 0007FC90 88 1E 00 08 */ lbz r0, 0x8(r30)
|
|
/* 80083E54 0007FC94 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80083E58 0007FC98 40 82 00 0C */ bne lbl_80083E64
|
|
/* 80083E5C 0007FC9C 38 60 00 00 */ li r3, 0x0
|
|
/* 80083E60 0007FCA0 48 00 00 AC */ b lbl_80083F0C
|
|
.global lbl_80083E64
|
|
lbl_80083E64:
|
|
/* 80083E64 0007FCA4 7C E3 3B 78 */ mr r3, r7
|
|
/* 80083E68 0007FCA8 7F C4 F3 78 */ mr r4, r30
|
|
/* 80083E6C 0007FCAC 7F 85 E3 78 */ mr r5, r28
|
|
/* 80083E70 0007FCB0 4B FF FD 39 */ bl btm_pm_compare_modes
|
|
/* 80083E74 0007FCB4 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80083E78 0007FCB8 40 82 00 0C */ bne lbl_80083E84
|
|
/* 80083E7C 0007FCBC 38 60 00 00 */ li r3, 0x0
|
|
/* 80083E80 0007FCC0 48 00 00 8C */ b lbl_80083F0C
|
|
.global lbl_80083E84
|
|
lbl_80083E84:
|
|
/* 80083E84 0007FCC4 7F 87 E3 78 */ mr r7, r28
|
|
.global lbl_80083E88
|
|
lbl_80083E88:
|
|
/* 80083E88 0007FCC8 3B BD 00 01 */ addi r29, r29, 0x1
|
|
/* 80083E8C 0007FCCC 3B DE 00 0A */ addi r30, r30, 0xa
|
|
/* 80083E90 0007FCD0 2C 1D 00 02 */ cmpwi r29, 0x2
|
|
/* 80083E94 0007FCD4 3B FF 00 08 */ addi r31, r31, 0x8
|
|
/* 80083E98 0007FCD8 41 80 FF AC */ blt lbl_80083E44
|
|
/* 80083E9C 0007FCDC 2C 07 00 00 */ cmpwi r7, 0x0
|
|
/* 80083EA0 0007FCE0 40 82 00 40 */ bne lbl_80083EE0
|
|
/* 80083EA4 0007FCE4 2C 1B 00 00 */ cmpwi r27, 0x0
|
|
/* 80083EA8 0007FCE8 41 82 00 30 */ beq lbl_80083ED8
|
|
/* 80083EAC 0007FCEC A0 7B 00 00 */ lhz r3, 0x0(r27)
|
|
/* 80083EB0 0007FCF0 A0 1B 00 02 */ lhz r0, 0x2(r27)
|
|
/* 80083EB4 0007FCF4 B0 7C 00 00 */ sth r3, 0x0(r28)
|
|
/* 80083EB8 0007FCF8 B0 1C 00 02 */ sth r0, 0x2(r28)
|
|
/* 80083EBC 0007FCFC A0 7B 00 04 */ lhz r3, 0x4(r27)
|
|
/* 80083EC0 0007FD00 A0 1B 00 06 */ lhz r0, 0x6(r27)
|
|
/* 80083EC4 0007FD04 B0 7C 00 04 */ sth r3, 0x4(r28)
|
|
/* 80083EC8 0007FD08 B0 1C 00 06 */ sth r0, 0x6(r28)
|
|
/* 80083ECC 0007FD0C A0 1B 00 08 */ lhz r0, 0x8(r27)
|
|
/* 80083ED0 0007FD10 B0 1C 00 08 */ sth r0, 0x8(r28)
|
|
/* 80083ED4 0007FD14 48 00 00 34 */ b lbl_80083F08
|
|
.global lbl_80083ED8
|
|
lbl_80083ED8:
|
|
/* 80083ED8 0007FD18 38 60 00 00 */ li r3, 0x0
|
|
/* 80083EDC 0007FD1C 48 00 00 30 */ b lbl_80083F0C
|
|
.global lbl_80083EE0
|
|
lbl_80083EE0:
|
|
/* 80083EE0 0007FD20 28 1A 00 80 */ cmplwi r26, 0x80
|
|
/* 80083EE4 0007FD24 40 82 00 24 */ bne lbl_80083F08
|
|
/* 80083EE8 0007FD28 7F 63 DB 78 */ mr r3, r27
|
|
/* 80083EEC 0007FD2C 7C E4 3B 78 */ mr r4, r7
|
|
/* 80083EF0 0007FD30 7F 85 E3 78 */ mr r5, r28
|
|
/* 80083EF4 0007FD34 4B FF FC B5 */ bl btm_pm_compare_modes
|
|
/* 80083EF8 0007FD38 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80083EFC 0007FD3C 40 82 00 0C */ bne lbl_80083F08
|
|
/* 80083F00 0007FD40 38 60 00 00 */ li r3, 0x0
|
|
/* 80083F04 0007FD44 48 00 00 08 */ b lbl_80083F0C
|
|
.global lbl_80083F08
|
|
lbl_80083F08:
|
|
/* 80083F08 0007FD48 88 7C 00 08 */ lbz r3, 0x8(r28)
|
|
.global lbl_80083F0C
|
|
lbl_80083F0C:
|
|
/* 80083F0C 0007FD4C 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 80083F10 0007FD50 4B F8 34 75 */ bl lbl_80007384
|
|
/* 80083F14 0007FD54 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80083F18 0007FD58 7C 08 03 A6 */ mtlr r0
|
|
/* 80083F1C 0007FD5C 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80083F20 0007FD60 4E 80 00 20 */ blr
|
|
.global btm_pm_snd_md_req
|
|
btm_pm_snd_md_req:
|
|
/* 80083F24 0007FD64 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 80083F28 0007FD68 7C 08 02 A6 */ mflr r0
|
|
/* 80083F2C 0007FD6C 3C C0 80 4F */ lis r6, btm_cb@ha
|
|
/* 80083F30 0007FD70 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 80083F34 0007FD74 1C 04 00 22 */ mulli r0, r4, 0x22
|
|
/* 80083F38 0007FD78 38 C6 5F 58 */ addi r6, r6, btm_cb@l
|
|
/* 80083F3C 0007FD7C 93 E1 00 2C */ stw r31, 0x2c(r1)
|
|
/* 80083F40 0007FD80 3B E0 00 00 */ li r31, 0x0
|
|
/* 80083F44 0007FD84 93 C1 00 28 */ stw r30, 0x28(r1)
|
|
/* 80083F48 0007FD88 7C 9E 23 78 */ mr r30, r4
|
|
/* 80083F4C 0007FD8C 93 A1 00 24 */ stw r29, 0x24(r1)
|
|
/* 80083F50 0007FD90 7C 7D 1B 78 */ mr r29, r3
|
|
/* 80083F54 0007FD94 7C 66 02 14 */ add r3, r6, r0
|
|
/* 80083F58 0007FD98 38 C1 00 08 */ addi r6, r1, 0x8
|
|
/* 80083F5C 0007FD9C 93 81 00 20 */ stw r28, 0x20(r1)
|
|
/* 80083F60 0007FDA0 3B 83 04 CC */ addi r28, r3, 0x4cc
|
|
/* 80083F64 0007FDA4 7F A3 EB 78 */ mr r3, r29
|
|
/* 80083F68 0007FDA8 7F 84 E3 78 */ mr r4, r28
|
|
/* 80083F6C 0007FDAC 4B FF FE 59 */ bl btm_pm_get_set_mode
|
|
/* 80083F70 0007FDB0 88 9C 00 20 */ lbz r4, 0x20(r28)
|
|
/* 80083F74 0007FDB4 54 60 06 3E */ clrlwi r0, r3, 24
|
|
/* 80083F78 0007FDB8 98 61 00 10 */ stb r3, 0x10(r1)
|
|
/* 80083F7C 0007FDBC 7C 04 00 40 */ cmplw r4, r0
|
|
/* 80083F80 0007FDC0 40 82 00 34 */ bne lbl_80083FB4
|
|
/* 80083F84 0007FDC4 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80083F88 0007FDC8 41 82 00 20 */ beq lbl_80083FA8
|
|
/* 80083F8C 0007FDCC A0 9C 00 1E */ lhz r4, 0x1e(r28)
|
|
/* 80083F90 0007FDD0 A0 01 00 08 */ lhz r0, 0x8(r1)
|
|
/* 80083F94 0007FDD4 7C 00 20 40 */ cmplw r0, r4
|
|
/* 80083F98 0007FDD8 41 80 00 18 */ blt lbl_80083FB0
|
|
/* 80083F9C 0007FDDC A0 01 00 0A */ lhz r0, 0xa(r1)
|
|
/* 80083FA0 0007FDE0 7C 00 20 40 */ cmplw r0, r4
|
|
/* 80083FA4 0007FDE4 41 81 00 0C */ bgt lbl_80083FB0
|
|
.global lbl_80083FA8
|
|
lbl_80083FA8:
|
|
/* 80083FA8 0007FDE8 38 60 00 0D */ li r3, 0xd
|
|
/* 80083FAC 0007FDEC 48 00 01 8C */ b lbl_80084138
|
|
.global lbl_80083FB0
|
|
lbl_80083FB0:
|
|
/* 80083FB0 0007FDF0 3B E0 00 01 */ li r31, 0x1
|
|
.global lbl_80083FB4
|
|
lbl_80083FB4:
|
|
/* 80083FB4 0007FDF4 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 80083FB8 0007FDF8 9B FC 00 21 */ stb r31, 0x21(r28)
|
|
/* 80083FBC 0007FDFC 41 82 00 18 */ beq lbl_80083FD4
|
|
/* 80083FC0 0007FE00 88 1C 00 20 */ lbz r0, 0x20(r28)
|
|
/* 80083FC4 0007FE04 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80083FC8 0007FE08 41 82 00 0C */ beq lbl_80083FD4
|
|
/* 80083FCC 0007FE0C 38 00 00 01 */ li r0, 0x1
|
|
/* 80083FD0 0007FE10 98 1C 00 21 */ stb r0, 0x21(r28)
|
|
.global lbl_80083FD4
|
|
lbl_80083FD4:
|
|
/* 80083FD4 0007FE14 38 60 00 02 */ li r3, 0x2
|
|
/* 80083FD8 0007FE18 4B FF 0E 49 */ bl GKI_getpoolbuf
|
|
/* 80083FDC 0007FE1C 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80083FE0 0007FE20 7C 7F 1B 78 */ mr r31, r3
|
|
/* 80083FE4 0007FE24 40 82 00 0C */ bne lbl_80083FF0
|
|
/* 80083FE8 0007FE28 38 60 00 03 */ li r3, 0x3
|
|
/* 80083FEC 0007FE2C 48 00 01 4C */ b lbl_80084138
|
|
.global lbl_80083FF0
|
|
lbl_80083FF0:
|
|
/* 80083FF0 0007FE30 88 1C 00 21 */ lbz r0, 0x21(r28)
|
|
/* 80083FF4 0007FE34 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 80083FF8 0007FE38 40 82 00 0C */ bne lbl_80084004
|
|
/* 80083FFC 0007FE3C 38 00 00 00 */ li r0, 0x0
|
|
/* 80084000 0007FE40 98 01 00 10 */ stb r0, 0x10(r1)
|
|
.global lbl_80084004
|
|
lbl_80084004:
|
|
/* 80084004 0007FE44 88 01 00 10 */ lbz r0, 0x10(r1)
|
|
/* 80084008 0007FE48 3C 80 80 4F */ lis r4, btm_cb@ha
|
|
/* 8008400C 0007FE4C 38 84 5F 58 */ addi r4, r4, btm_cb@l
|
|
/* 80084010 0007FE50 2C 00 00 02 */ cmpwi r0, 0x2
|
|
/* 80084014 0007FE54 9B C4 05 64 */ stb r30, 0x564(r4)
|
|
/* 80084018 0007FE58 9B A4 05 65 */ stb r29, 0x565(r4)
|
|
/* 8008401C 0007FE5C 41 82 00 A4 */ beq lbl_800840C0
|
|
/* 80084020 0007FE60 40 80 00 14 */ bge lbl_80084034
|
|
/* 80084024 0007FE64 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80084028 0007FE68 41 82 00 18 */ beq lbl_80084040
|
|
/* 8008402C 0007FE6C 40 80 00 74 */ bge lbl_800840A0
|
|
/* 80084030 0007FE70 48 00 00 D8 */ b lbl_80084108
|
|
.global lbl_80084034
|
|
lbl_80084034:
|
|
/* 80084034 0007FE74 2C 00 00 04 */ cmpwi r0, 0x4
|
|
/* 80084038 0007FE78 40 80 00 D0 */ bge lbl_80084108
|
|
/* 8008403C 0007FE7C 48 00 00 AC */ b lbl_800840E8
|
|
.global lbl_80084040
|
|
lbl_80084040:
|
|
/* 80084040 0007FE80 88 1C 00 20 */ lbz r0, 0x20(r28)
|
|
/* 80084044 0007FE84 2C 00 00 03 */ cmpwi r0, 0x3
|
|
/* 80084048 0007FE88 41 82 00 2C */ beq lbl_80084074
|
|
/* 8008404C 0007FE8C 40 80 00 40 */ bge lbl_8008408C
|
|
/* 80084050 0007FE90 2C 00 00 02 */ cmpwi r0, 0x2
|
|
/* 80084054 0007FE94 40 80 00 08 */ bge lbl_8008405C
|
|
/* 80084058 0007FE98 48 00 00 34 */ b lbl_8008408C
|
|
.global lbl_8008405C
|
|
lbl_8008405C:
|
|
/* 8008405C 0007FE9C 1C 1E 01 1C */ mulli r0, r30, 0x11c
|
|
/* 80084060 0007FEA0 7F E3 FB 78 */ mr r3, r31
|
|
/* 80084064 0007FEA4 7C 84 02 14 */ add r4, r4, r0
|
|
/* 80084068 0007FEA8 A0 84 00 34 */ lhz r4, 0x34(r4)
|
|
/* 8008406C 0007FEAC 48 00 78 B1 */ bl btsnd_hcic_exit_sniff_mode
|
|
/* 80084070 0007FEB0 48 00 00 A8 */ b lbl_80084118
|
|
.global lbl_80084074
|
|
lbl_80084074:
|
|
/* 80084074 0007FEB4 1C 1E 01 1C */ mulli r0, r30, 0x11c
|
|
/* 80084078 0007FEB8 7F E3 FB 78 */ mr r3, r31
|
|
/* 8008407C 0007FEBC 7C 84 02 14 */ add r4, r4, r0
|
|
/* 80084080 0007FEC0 A0 84 00 34 */ lhz r4, 0x34(r4)
|
|
/* 80084084 0007FEC4 48 00 79 D1 */ bl btsnd_hcic_exit_park_mode
|
|
/* 80084088 0007FEC8 48 00 00 90 */ b lbl_80084118
|
|
.global lbl_8008408C
|
|
lbl_8008408C:
|
|
/* 8008408C 0007FECC 3C 60 80 4F */ lis r3, btm_cb@ha
|
|
/* 80084090 0007FED0 38 00 00 04 */ li r0, 0x4
|
|
/* 80084094 0007FED4 38 63 5F 58 */ addi r3, r3, btm_cb@l
|
|
/* 80084098 0007FED8 98 03 05 64 */ stb r0, 0x564(r3)
|
|
/* 8008409C 0007FEDC 48 00 00 7C */ b lbl_80084118
|
|
.global lbl_800840A0
|
|
lbl_800840A0:
|
|
/* 800840A0 0007FEE0 1C 1E 01 1C */ mulli r0, r30, 0x11c
|
|
/* 800840A4 0007FEE4 A0 A1 00 08 */ lhz r5, 0x8(r1)
|
|
/* 800840A8 0007FEE8 A0 C1 00 0A */ lhz r6, 0xa(r1)
|
|
/* 800840AC 0007FEEC 7F E3 FB 78 */ mr r3, r31
|
|
/* 800840B0 0007FEF0 7C 84 02 14 */ add r4, r4, r0
|
|
/* 800840B4 0007FEF4 A0 84 00 34 */ lhz r4, 0x34(r4)
|
|
/* 800840B8 0007FEF8 48 00 76 E5 */ bl btsnd_hcic_hold_mode
|
|
/* 800840BC 0007FEFC 48 00 00 5C */ b lbl_80084118
|
|
.global lbl_800840C0
|
|
lbl_800840C0:
|
|
/* 800840C0 0007FF00 1C 1E 01 1C */ mulli r0, r30, 0x11c
|
|
/* 800840C4 0007FF04 A0 A1 00 08 */ lhz r5, 0x8(r1)
|
|
/* 800840C8 0007FF08 A0 C1 00 0A */ lhz r6, 0xa(r1)
|
|
/* 800840CC 0007FF0C 7F E3 FB 78 */ mr r3, r31
|
|
/* 800840D0 0007FF10 A0 E1 00 0C */ lhz r7, 0xc(r1)
|
|
/* 800840D4 0007FF14 7C 84 02 14 */ add r4, r4, r0
|
|
/* 800840D8 0007FF18 A0 84 00 34 */ lhz r4, 0x34(r4)
|
|
/* 800840DC 0007FF1C A1 01 00 0E */ lhz r8, 0xe(r1)
|
|
/* 800840E0 0007FF20 48 00 77 71 */ bl btsnd_hcic_sniff_mode
|
|
/* 800840E4 0007FF24 48 00 00 34 */ b lbl_80084118
|
|
.global lbl_800840E8
|
|
lbl_800840E8:
|
|
/* 800840E8 0007FF28 1C 1E 01 1C */ mulli r0, r30, 0x11c
|
|
/* 800840EC 0007FF2C A0 A1 00 08 */ lhz r5, 0x8(r1)
|
|
/* 800840F0 0007FF30 A0 C1 00 0A */ lhz r6, 0xa(r1)
|
|
/* 800840F4 0007FF34 7F E3 FB 78 */ mr r3, r31
|
|
/* 800840F8 0007FF38 7C 84 02 14 */ add r4, r4, r0
|
|
/* 800840FC 0007FF3C A0 84 00 34 */ lhz r4, 0x34(r4)
|
|
/* 80084100 0007FF40 48 00 78 A1 */ bl btsnd_hcic_park_mode
|
|
/* 80084104 0007FF44 48 00 00 14 */ b lbl_80084118
|
|
.global lbl_80084108
|
|
lbl_80084108:
|
|
/* 80084108 0007FF48 3C 60 80 4F */ lis r3, btm_cb@ha
|
|
/* 8008410C 0007FF4C 38 00 00 04 */ li r0, 0x4
|
|
/* 80084110 0007FF50 38 63 5F 58 */ addi r3, r3, btm_cb@l
|
|
/* 80084114 0007FF54 98 03 05 64 */ stb r0, 0x564(r3)
|
|
.global lbl_80084118
|
|
lbl_80084118:
|
|
/* 80084118 0007FF58 3C 60 80 4F */ lis r3, btm_cb@ha
|
|
/* 8008411C 0007FF5C 38 63 5F 58 */ addi r3, r3, btm_cb@l
|
|
/* 80084120 0007FF60 88 03 05 64 */ lbz r0, 0x564(r3)
|
|
/* 80084124 0007FF64 28 00 00 04 */ cmplwi r0, 0x4
|
|
/* 80084128 0007FF68 40 82 00 0C */ bne lbl_80084134
|
|
/* 8008412C 0007FF6C 7F E3 FB 78 */ mr r3, r31
|
|
/* 80084130 0007FF70 4B FF 0D E1 */ bl GKI_freebuf
|
|
.global lbl_80084134
|
|
lbl_80084134:
|
|
/* 80084134 0007FF74 38 60 00 01 */ li r3, 0x1
|
|
.global lbl_80084138
|
|
lbl_80084138:
|
|
/* 80084138 0007FF78 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 8008413C 0007FF7C 83 E1 00 2C */ lwz r31, 0x2c(r1)
|
|
/* 80084140 0007FF80 83 C1 00 28 */ lwz r30, 0x28(r1)
|
|
/* 80084144 0007FF84 83 A1 00 24 */ lwz r29, 0x24(r1)
|
|
/* 80084148 0007FF88 83 81 00 20 */ lwz r28, 0x20(r1)
|
|
/* 8008414C 0007FF8C 7C 08 03 A6 */ mtlr r0
|
|
/* 80084150 0007FF90 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 80084154 0007FF94 4E 80 00 20 */ blr
|
|
.global btm_pm_proc_cmd_status
|
|
btm_pm_proc_cmd_status:
|
|
/* 80084158 0007FF98 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8008415C 0007FF9C 7C 08 02 A6 */ mflr r0
|
|
/* 80084160 0007FFA0 3C 80 80 4F */ lis r4, btm_cb@ha
|
|
/* 80084164 0007FFA4 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 80084168 0007FFA8 38 84 5F 58 */ addi r4, r4, btm_cb@l
|
|
/* 8008416C 0007FFAC 88 04 05 64 */ lbz r0, 0x564(r4)
|
|
/* 80084170 0007FFB0 28 00 00 04 */ cmplwi r0, 0x4
|
|
/* 80084174 0007FFB4 40 80 00 84 */ bge lbl_800841F8
|
|
/* 80084178 0007FFB8 1C 00 00 22 */ mulli r0, r0, 0x22
|
|
/* 8008417C 0007FFBC 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80084180 0007FFC0 7C A4 02 14 */ add r5, r4, r0
|
|
/* 80084184 0007FFC4 40 82 00 14 */ bne lbl_80084198
|
|
/* 80084188 0007FFC8 38 00 00 04 */ li r0, 0x4
|
|
/* 8008418C 0007FFCC 38 80 00 04 */ li r4, 0x4
|
|
/* 80084190 0007FFD0 98 05 04 EC */ stb r0, 0x4ec(r5)
|
|
/* 80084194 0007FFD4 48 00 00 08 */ b lbl_8008419C
|
|
.global lbl_80084198
|
|
lbl_80084198:
|
|
/* 80084198 0007FFD8 38 80 00 05 */ li r4, 0x5
|
|
.global lbl_8008419C
|
|
lbl_8008419C:
|
|
/* 8008419C 0007FFDC 3C E0 80 4F */ lis r7, btm_cb@ha
|
|
/* 800841A0 0007FFE0 38 E7 5F 58 */ addi r7, r7, btm_cb@l
|
|
/* 800841A4 0007FFE4 88 07 05 65 */ lbz r0, 0x565(r7)
|
|
/* 800841A8 0007FFE8 28 00 00 80 */ cmplwi r0, 0x80
|
|
/* 800841AC 0007FFEC 41 82 00 3C */ beq lbl_800841E8
|
|
/* 800841B0 0007FFF0 54 00 1D 78 */ rlwinm r0, r0, 3, 21, 28
|
|
/* 800841B4 0007FFF4 7C A7 02 14 */ add r5, r7, r0
|
|
/* 800841B8 0007FFF8 88 05 05 58 */ lbz r0, 0x558(r5)
|
|
/* 800841BC 0007FFFC 54 00 07 BD */ rlwinm. r0, r0, 0, 30, 30
|
|
/* 800841C0 00080000 41 82 00 28 */ beq lbl_800841E8
|
|
/* 800841C4 00080004 88 07 05 64 */ lbz r0, 0x564(r7)
|
|
/* 800841C8 00080008 7C 66 1B 78 */ mr r6, r3
|
|
/* 800841CC 0008000C 81 85 05 54 */ lwz r12, 0x554(r5)
|
|
/* 800841D0 00080010 38 A0 00 00 */ li r5, 0x0
|
|
/* 800841D4 00080014 1C 00 01 1C */ mulli r0, r0, 0x11c
|
|
/* 800841D8 00080018 7C 67 02 14 */ add r3, r7, r0
|
|
/* 800841DC 0008001C 38 63 00 3C */ addi r3, r3, 0x3c
|
|
/* 800841E0 00080020 7D 89 03 A6 */ mtctr r12
|
|
/* 800841E4 00080024 4E 80 04 21 */ bctrl
|
|
.global lbl_800841E8
|
|
lbl_800841E8:
|
|
/* 800841E8 00080028 3C 60 80 4F */ lis r3, btm_cb@ha
|
|
/* 800841EC 0008002C 38 00 00 04 */ li r0, 0x4
|
|
/* 800841F0 00080030 38 63 5F 58 */ addi r3, r3, btm_cb@l
|
|
/* 800841F4 00080034 98 03 05 64 */ stb r0, 0x564(r3)
|
|
.global lbl_800841F8
|
|
lbl_800841F8:
|
|
/* 800841F8 00080038 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 800841FC 0008003C 7C 08 03 A6 */ mtlr r0
|
|
/* 80084200 00080040 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 80084204 00080044 4E 80 00 20 */ blr
|
|
.global btm_pm_proc_mode_change
|
|
btm_pm_proc_mode_change:
|
|
/* 80084208 00080048 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 8008420C 0008004C 7C 08 02 A6 */ mflr r0
|
|
/* 80084210 00080050 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 80084214 00080054 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 80084218 00080058 4B F8 31 19 */ bl lbl_80007330
|
|
/* 8008421C 0008005C 7C 9A 23 78 */ mr r26, r4
|
|
/* 80084220 00080060 7C 79 1B 78 */ mr r25, r3
|
|
/* 80084224 00080064 7C BB 2B 78 */ mr r27, r5
|
|
/* 80084228 00080068 7C DC 33 78 */ mr r28, r6
|
|
/* 8008422C 0008006C 7F 43 D3 78 */ mr r3, r26
|
|
/* 80084230 00080070 4B FF 9B D1 */ bl btm_handle_to_acl_index
|
|
/* 80084234 00080074 54 7D 06 3E */ clrlwi r29, r3, 24
|
|
/* 80084238 00080078 2C 1D 00 04 */ cmpwi r29, 0x4
|
|
/* 8008423C 0008007C 40 80 01 DC */ bge lbl_80084418
|
|
/* 80084240 00080080 1F DD 01 1C */ mulli r30, r29, 0x11c
|
|
/* 80084244 00080084 3F 00 80 4F */ lis r24, btm_cb@ha
|
|
/* 80084248 00080088 2C 1B 00 00 */ cmpwi r27, 0x0
|
|
/* 8008424C 0008008C 3B 18 5F 58 */ addi r24, r24, btm_cb@l
|
|
/* 80084250 00080090 7F F8 F2 14 */ add r31, r24, r30
|
|
/* 80084254 00080094 40 82 00 58 */ bne lbl_800842AC
|
|
/* 80084258 00080098 A0 1F 00 38 */ lhz r0, 0x38(r31)
|
|
/* 8008425C 0008009C 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80084260 000800A0 41 82 00 4C */ beq lbl_800842AC
|
|
/* 80084264 000800A4 48 00 0F 1D */ bl btm_num_sco_links_active
|
|
/* 80084268 000800A8 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 8008426C 000800AC 40 82 00 40 */ bne lbl_800842AC
|
|
/* 80084270 000800B0 38 00 00 00 */ li r0, 0x0
|
|
/* 80084274 000800B4 B0 1F 00 38 */ sth r0, 0x38(r31)
|
|
/* 80084278 000800B8 88 18 27 C0 */ lbz r0, 0x27c0(r24)
|
|
/* 8008427C 000800BC 28 00 00 05 */ cmplwi r0, 0x5
|
|
/* 80084280 000800C0 41 80 00 20 */ blt lbl_800842A0
|
|
/* 80084284 000800C4 3C 60 00 0D */ lis r3, 0xd
|
|
/* 80084288 000800C8 3C 80 80 44 */ lis r4, "@1775"@ha
|
|
/* 8008428C 000800CC A0 DF 00 36 */ lhz r6, 0x36(r31)
|
|
/* 80084290 000800D0 7F 45 D3 78 */ mr r5, r26
|
|
/* 80084294 000800D4 38 63 00 04 */ addi r3, r3, 0x4
|
|
/* 80084298 000800D8 38 84 BF 40 */ addi r4, r4, "@1775"@l
|
|
/* 8008429C 000800DC 4B FF 36 C5 */ bl LogMsg_0
|
|
.global lbl_800842A0
|
|
lbl_800842A0:
|
|
/* 800842A0 000800E0 A0 7F 00 34 */ lhz r3, 0x34(r31)
|
|
/* 800842A4 000800E4 A0 9F 00 36 */ lhz r4, 0x36(r31)
|
|
/* 800842A8 000800E8 48 00 6E 2D */ bl btsnd_hcic_change_conn_type
|
|
.global lbl_800842AC
|
|
lbl_800842AC:
|
|
/* 800842AC 000800EC 1C 1D 00 22 */ mulli r0, r29, 0x22
|
|
/* 800842B0 000800F0 3C 60 80 4F */ lis r3, btm_cb@ha
|
|
/* 800842B4 000800F4 2C 1B 00 00 */ cmpwi r27, 0x0
|
|
/* 800842B8 000800F8 38 63 5F 58 */ addi r3, r3, btm_cb@l
|
|
/* 800842BC 000800FC 7C 83 02 14 */ add r4, r3, r0
|
|
/* 800842C0 00080100 9B 64 04 EC */ stb r27, 0x4ec(r4)
|
|
/* 800842C4 00080104 38 00 00 00 */ li r0, 0x0
|
|
/* 800842C8 00080108 B3 84 04 EA */ sth r28, 0x4ea(r4)
|
|
/* 800842CC 0008010C 40 82 00 14 */ bne lbl_800842E0
|
|
/* 800842D0 00080110 88 64 04 D4 */ lbz r3, 0x4d4(r4)
|
|
/* 800842D4 00080114 28 03 00 01 */ cmplwi r3, 0x1
|
|
/* 800842D8 00080118 40 82 00 08 */ bne lbl_800842E0
|
|
/* 800842DC 0008011C 98 04 04 D4 */ stb r0, 0x4d4(r4)
|
|
.global lbl_800842E0
|
|
lbl_800842E0:
|
|
/* 800842E0 00080120 2C 1B 00 00 */ cmpwi r27, 0x0
|
|
/* 800842E4 00080124 38 A4 04 D6 */ addi r5, r4, 0x4d6
|
|
/* 800842E8 00080128 40 82 00 14 */ bne lbl_800842FC
|
|
/* 800842EC 0008012C 88 65 00 08 */ lbz r3, 0x8(r5)
|
|
/* 800842F0 00080130 28 03 00 01 */ cmplwi r3, 0x1
|
|
/* 800842F4 00080134 40 82 00 08 */ bne lbl_800842FC
|
|
/* 800842F8 00080138 98 05 00 08 */ stb r0, 0x8(r5)
|
|
.global lbl_800842FC
|
|
lbl_800842FC:
|
|
/* 800842FC 0008013C 88 04 04 ED */ lbz r0, 0x4ed(r4)
|
|
/* 80084300 00080140 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 80084304 00080144 40 82 00 14 */ bne lbl_80084318
|
|
/* 80084308 00080148 7F A4 EB 78 */ mr r4, r29
|
|
/* 8008430C 0008014C 38 60 00 80 */ li r3, 0x80
|
|
/* 80084310 00080150 38 A0 00 00 */ li r5, 0x0
|
|
/* 80084314 00080154 4B FF FC 11 */ bl btm_pm_snd_md_req
|
|
.global lbl_80084318
|
|
lbl_80084318:
|
|
/* 80084318 00080158 3F 00 80 4F */ lis r24, btm_cb@ha
|
|
/* 8008431C 0008015C 3B A0 00 00 */ li r29, 0x0
|
|
/* 80084320 00080160 3B 18 5F 58 */ addi r24, r24, btm_cb@l
|
|
.global lbl_80084324
|
|
lbl_80084324:
|
|
/* 80084324 00080164 88 18 05 58 */ lbz r0, 0x558(r24)
|
|
/* 80084328 00080168 54 00 07 BD */ rlwinm. r0, r0, 0, 30, 30
|
|
/* 8008432C 0008016C 41 82 00 20 */ beq lbl_8008434C
|
|
/* 80084330 00080170 81 98 05 54 */ lwz r12, 0x554(r24)
|
|
/* 80084334 00080174 7F 64 DB 78 */ mr r4, r27
|
|
/* 80084338 00080178 7F 85 E3 78 */ mr r5, r28
|
|
/* 8008433C 0008017C 7F 26 CB 78 */ mr r6, r25
|
|
/* 80084340 00080180 38 7F 00 3C */ addi r3, r31, 0x3c
|
|
/* 80084344 00080184 7D 89 03 A6 */ mtctr r12
|
|
/* 80084348 00080188 4E 80 04 21 */ bctrl
|
|
.global lbl_8008434C
|
|
lbl_8008434C:
|
|
/* 8008434C 0008018C 3B BD 00 01 */ addi r29, r29, 0x1
|
|
/* 80084350 00080190 3B 18 00 08 */ addi r24, r24, 0x8
|
|
/* 80084354 00080194 2C 1D 00 02 */ cmpwi r29, 0x2
|
|
/* 80084358 00080198 41 80 FF CC */ blt lbl_80084324
|
|
/* 8008435C 0008019C 3C 60 80 4F */ lis r3, btm_cb@ha
|
|
/* 80084360 000801A0 38 63 5F 58 */ addi r3, r3, btm_cb@l
|
|
/* 80084364 000801A4 7F 83 F2 14 */ add r28, r3, r30
|
|
/* 80084368 000801A8 88 1C 01 4F */ lbz r0, 0x14f(r28)
|
|
/* 8008436C 000801AC 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 80084370 000801B0 40 82 00 A8 */ bne lbl_80084418
|
|
/* 80084374 000801B4 3B 1C 00 3C */ addi r24, r28, 0x3c
|
|
/* 80084378 000801B8 7F 03 C3 78 */ mr r3, r24
|
|
/* 8008437C 000801BC 4B FF BC 59 */ bl btm_find_dev
|
|
/* 80084380 000801C0 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80084384 000801C4 41 82 00 30 */ beq lbl_800843B4
|
|
/* 80084388 000801C8 88 03 00 76 */ lbz r0, 0x76(r3)
|
|
/* 8008438C 000801CC 54 00 07 7B */ rlwinm. r0, r0, 0, 29, 29
|
|
/* 80084390 000801D0 41 82 00 24 */ beq lbl_800843B4
|
|
/* 80084394 000801D4 7F 43 D3 78 */ mr r3, r26
|
|
/* 80084398 000801D8 38 80 00 00 */ li r4, 0x0
|
|
/* 8008439C 000801DC 48 00 6E 45 */ bl btsnd_hcic_set_conn_encrypt
|
|
/* 800843A0 000801E0 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 800843A4 000801E4 41 82 00 44 */ beq lbl_800843E8
|
|
/* 800843A8 000801E8 38 00 00 02 */ li r0, 0x2
|
|
/* 800843AC 000801EC 98 1C 01 4F */ stb r0, 0x14f(r28)
|
|
/* 800843B0 000801F0 48 00 00 68 */ b lbl_80084418
|
|
.global lbl_800843B4
|
|
lbl_800843B4:
|
|
/* 800843B4 000801F4 3C 80 80 4F */ lis r4, btm_cb@ha
|
|
/* 800843B8 000801F8 7F 03 C3 78 */ mr r3, r24
|
|
/* 800843BC 000801FC 38 84 5F 58 */ addi r4, r4, btm_cb@l
|
|
/* 800843C0 00080200 7C 84 F2 14 */ add r4, r4, r30
|
|
/* 800843C4 00080204 88 04 01 4E */ lbz r0, 0x14e(r4)
|
|
/* 800843C8 00080208 7C 00 00 34 */ cntlzw r0, r0
|
|
/* 800843CC 0008020C 54 04 DE 3E */ extrwi r4, r0, 8, 19
|
|
/* 800843D0 00080210 48 00 77 09 */ bl btsnd_hcic_switch_role
|
|
/* 800843D4 00080214 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 800843D8 00080218 41 82 00 10 */ beq lbl_800843E8
|
|
/* 800843DC 0008021C 38 00 00 00 */ li r0, 0x0
|
|
/* 800843E0 00080220 98 1C 01 4F */ stb r0, 0x14f(r28)
|
|
/* 800843E4 00080224 48 00 00 34 */ b lbl_80084418
|
|
.global lbl_800843E8
|
|
lbl_800843E8:
|
|
/* 800843E8 00080228 3B 60 00 00 */ li r27, 0x0
|
|
/* 800843EC 0008022C 3F 40 80 4F */ lis r26, btm_cb@ha
|
|
/* 800843F0 00080230 9B 7C 01 4F */ stb r27, 0x14f(r28)
|
|
/* 800843F4 00080234 3B 5A 5F 58 */ addi r26, r26, btm_cb@l
|
|
/* 800843F8 00080238 81 9A 06 2C */ lwz r12, 0x62c(r26)
|
|
/* 800843FC 0008023C 2C 0C 00 00 */ cmpwi r12, 0x0
|
|
/* 80084400 00080240 41 82 00 18 */ beq lbl_80084418
|
|
/* 80084404 00080244 9B 3A 06 24 */ stb r25, 0x624(r26)
|
|
/* 80084408 00080248 38 7A 06 24 */ addi r3, r26, 0x624
|
|
/* 8008440C 0008024C 7D 89 03 A6 */ mtctr r12
|
|
/* 80084410 00080250 4E 80 04 21 */ bctrl
|
|
/* 80084414 00080254 93 7A 06 2C */ stw r27, 0x62c(r26)
|
|
.global lbl_80084418
|
|
lbl_80084418:
|
|
/* 80084418 00080258 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 8008441C 0008025C 4B F8 2F 61 */ bl lbl_8000737C
|
|
/* 80084420 00080260 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 80084424 00080264 7C 08 03 A6 */ mtlr r0
|
|
/* 80084428 00080268 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 8008442C 0008026C 4E 80 00 20 */ blr
|
|
.include "macros.inc"
|
|
|
|
.section .rodata, "wa" # 0x80406560 - 0x80421040 ; 0x0001AAE0
|
|
.global btm_pm_md_comp_matrix
|
|
btm_pm_md_comp_matrix:
|
|
|
|
.4byte 0x03020201
|
|
.4byte 0x03010102
|
|
.4byte 0x03000000
|
|
.4byte 0
|
|
.include "macros.inc"
|
|
|
|
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
|
|
.global "@1775"
|
|
"@1775":
|
|
|
|
.4byte 0x62746D20
|
|
.4byte 0x6D6F6465
|
|
.4byte 0x20636861
|
|
.4byte 0x6E676520
|
|
.4byte 0x41465445
|
|
.4byte 0x5220756E
|
|
.4byte 0x736E6966
|
|
.4byte 0x66696E67
|
|
.4byte 0x3B206863
|
|
.4byte 0x69206864
|
|
.4byte 0x6C203078
|
|
.4byte 0x25782C20
|
|
.4byte 0x74797065
|
|
.4byte 0x73203078
|
|
.4byte 0x25303278
|
|
.4byte 0
|
|
.include "macros.inc"
|
|
|
|
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
|
|
.global btm_pm_mode_off
|
|
btm_pm_mode_off:
|
|
|
|
.4byte 0x00000100
|
|
|
|
.global btm_pm_mode_msk
|
|
btm_pm_mode_msk:
|
|
|
|
.4byte 0x40800100
|