1472 lines
67 KiB
ArmAsm
1472 lines
67 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
|
|
.global btu_hcif_process_event
|
|
btu_hcif_process_event:
|
|
/* 8008822C 0008406C 94 21 FF C0 */ stwu r1, -0x40(r1)
|
|
/* 80088230 00084070 7C 08 02 A6 */ mflr r0
|
|
/* 80088234 00084074 3C 80 80 4F */ lis r4, btm_cb@ha
|
|
/* 80088238 00084078 90 01 00 44 */ stw r0, 0x44(r1)
|
|
/* 8008823C 0008407C 38 84 5F 58 */ addi r4, r4, btm_cb@l
|
|
/* 80088240 00084080 93 E1 00 3C */ stw r31, 0x3c(r1)
|
|
/* 80088244 00084084 93 C1 00 38 */ stw r30, 0x38(r1)
|
|
/* 80088248 00084088 93 A1 00 34 */ stw r29, 0x34(r1)
|
|
/* 8008824C 0008408C 93 81 00 30 */ stw r28, 0x30(r1)
|
|
/* 80088250 00084090 A0 A3 00 04 */ lhz r5, 0x4(r3)
|
|
/* 80088254 00084094 88 04 06 4E */ lbz r0, 0x64e(r4)
|
|
/* 80088258 00084098 7C E3 2A 14 */ add r7, r3, r5
|
|
/* 8008825C 0008409C 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80088260 000840A0 88 67 00 08 */ lbz r3, 0x8(r7)
|
|
/* 80088264 000840A4 88 87 00 09 */ lbz r4, 0x9(r7)
|
|
/* 80088268 000840A8 40 82 00 14 */ bne lbl_8008827C
|
|
/* 8008826C 000840AC 28 03 00 0E */ cmplwi r3, 0xe
|
|
/* 80088270 000840B0 41 82 00 0C */ beq lbl_8008827C
|
|
/* 80088274 000840B4 28 03 00 0F */ cmplwi r3, 0xf
|
|
/* 80088278 000840B8 40 82 05 4C */ bne lbl_800887C4
|
|
.global lbl_8008827C
|
|
lbl_8008827C:
|
|
/* 8008827C 000840BC 2C 03 00 14 */ cmpwi r3, 0x14
|
|
/* 80088280 000840C0 41 82 03 60 */ beq lbl_800885E0
|
|
/* 80088284 000840C4 40 80 00 94 */ bge lbl_80088318
|
|
/* 80088288 000840C8 2C 03 00 0A */ cmpwi r3, 0xa
|
|
/* 8008828C 000840CC 41 82 02 60 */ beq lbl_800884EC
|
|
/* 80088290 000840D0 40 80 00 4C */ bge lbl_800882DC
|
|
/* 80088294 000840D4 2C 03 00 05 */ cmpwi r3, 0x5
|
|
/* 80088298 000840D8 41 82 01 48 */ beq lbl_800883E0
|
|
/* 8008829C 000840DC 40 80 00 28 */ bge lbl_800882C4
|
|
/* 800882A0 000840E0 2C 03 00 02 */ cmpwi r3, 0x2
|
|
/* 800882A4 000840E4 41 82 01 04 */ beq lbl_800883A8
|
|
/* 800882A8 000840E8 40 80 00 10 */ bge lbl_800882B8
|
|
/* 800882AC 000840EC 2C 03 00 01 */ cmpwi r3, 0x1
|
|
/* 800882B0 000840F0 40 80 00 EC */ bge lbl_8008839C
|
|
/* 800882B4 000840F4 48 00 05 10 */ b lbl_800887C4
|
|
.global lbl_800882B8
|
|
lbl_800882B8:
|
|
/* 800882B8 000840F8 2C 03 00 04 */ cmpwi r3, 0x4
|
|
/* 800882BC 000840FC 40 80 01 18 */ bge lbl_800883D4
|
|
/* 800882C0 00084100 48 00 01 08 */ b lbl_800883C8
|
|
.global lbl_800882C4
|
|
lbl_800882C4:
|
|
/* 800882C4 00084104 2C 03 00 08 */ cmpwi r3, 0x8
|
|
/* 800882C8 00084108 41 82 01 E4 */ beq lbl_800884AC
|
|
/* 800882CC 0008410C 40 80 04 F8 */ bge lbl_800887C4
|
|
/* 800882D0 00084110 2C 03 00 07 */ cmpwi r3, 0x7
|
|
/* 800882D4 00084114 40 80 01 74 */ bge lbl_80088448
|
|
/* 800882D8 00084118 48 00 01 50 */ b lbl_80088428
|
|
.global lbl_800882DC
|
|
lbl_800882DC:
|
|
/* 800882DC 0008411C 2C 03 00 0F */ cmpwi r3, 0xf
|
|
/* 800882E0 00084120 41 82 02 60 */ beq lbl_80088540
|
|
/* 800882E4 00084124 40 80 00 1C */ bge lbl_80088300
|
|
/* 800882E8 00084128 2C 03 00 0D */ cmpwi r3, 0xd
|
|
/* 800882EC 0008412C 41 82 02 3C */ beq lbl_80088528
|
|
/* 800882F0 00084130 40 80 02 44 */ bge lbl_80088534
|
|
/* 800882F4 00084134 2C 03 00 0C */ cmpwi r3, 0xc
|
|
/* 800882F8 00084138 40 80 02 24 */ bge lbl_8008851C
|
|
/* 800882FC 0008413C 48 00 02 14 */ b lbl_80088510
|
|
.global lbl_80088300
|
|
lbl_80088300:
|
|
/* 80088300 00084140 2C 03 00 12 */ cmpwi r3, 0x12
|
|
/* 80088304 00084144 41 82 02 70 */ beq lbl_80088574
|
|
/* 80088308 00084148 40 80 02 CC */ bge lbl_800885D4
|
|
/* 8008830C 0008414C 2C 03 00 11 */ cmpwi r3, 0x11
|
|
/* 80088310 00084150 40 80 04 B4 */ bge lbl_800887C4
|
|
/* 80088314 00084154 48 00 02 38 */ b lbl_8008854C
|
|
.global lbl_80088318
|
|
lbl_80088318:
|
|
/* 80088318 00084158 2C 03 00 21 */ cmpwi r3, 0x21
|
|
/* 8008831C 0008415C 41 82 04 A8 */ beq lbl_800887C4
|
|
/* 80088320 00084160 40 80 00 40 */ bge lbl_80088360
|
|
/* 80088324 00084164 2C 03 00 1C */ cmpwi r3, 0x1c
|
|
/* 80088328 00084168 41 82 03 CC */ beq lbl_800886F4
|
|
/* 8008832C 0008416C 40 80 00 28 */ bge lbl_80088354
|
|
/* 80088330 00084170 2C 03 00 17 */ cmpwi r3, 0x17
|
|
/* 80088334 00084174 41 82 03 78 */ beq lbl_800886AC
|
|
/* 80088338 00084178 40 80 00 10 */ bge lbl_80088348
|
|
/* 8008833C 0008417C 2C 03 00 16 */ cmpwi r3, 0x16
|
|
/* 80088340 00084180 40 80 03 28 */ bge lbl_80088668
|
|
/* 80088344 00084184 48 00 03 04 */ b lbl_80088648
|
|
.global lbl_80088348
|
|
lbl_80088348:
|
|
/* 80088348 00084188 2C 03 00 19 */ cmpwi r3, 0x19
|
|
/* 8008834C 0008418C 40 80 04 78 */ bge lbl_800887C4
|
|
/* 80088350 00084190 48 00 03 98 */ b lbl_800886E8
|
|
.global lbl_80088354
|
|
lbl_80088354:
|
|
/* 80088354 00084194 2C 03 00 1E */ cmpwi r3, 0x1e
|
|
/* 80088358 00084198 41 82 03 EC */ beq lbl_80088744
|
|
/* 8008835C 0008419C 48 00 04 68 */ b lbl_800887C4
|
|
.global lbl_80088360
|
|
lbl_80088360:
|
|
/* 80088360 000841A0 2C 03 00 EF */ cmpwi r3, 0xef
|
|
/* 80088364 000841A4 41 82 04 58 */ beq lbl_800887BC
|
|
/* 80088368 000841A8 40 80 00 28 */ bge lbl_80088390
|
|
/* 8008836C 000841AC 2C 03 00 2C */ cmpwi r3, 0x2c
|
|
/* 80088370 000841B0 41 82 03 F0 */ beq lbl_80088760
|
|
/* 80088374 000841B4 40 80 00 10 */ bge lbl_80088384
|
|
/* 80088378 000841B8 2C 03 00 23 */ cmpwi r3, 0x23
|
|
/* 8008837C 000841BC 40 80 04 48 */ bge lbl_800887C4
|
|
/* 80088380 000841C0 48 00 00 38 */ b lbl_800883B8
|
|
.global lbl_80088384
|
|
lbl_80088384:
|
|
/* 80088384 000841C4 2C 03 00 2E */ cmpwi r3, 0x2e
|
|
/* 80088388 000841C8 40 80 04 3C */ bge lbl_800887C4
|
|
/* 8008838C 000841CC 48 00 03 E0 */ b lbl_8008876C
|
|
.global lbl_80088390
|
|
lbl_80088390:
|
|
/* 80088390 000841D0 2C 03 00 FF */ cmpwi r3, 0xff
|
|
/* 80088394 000841D4 41 82 04 28 */ beq lbl_800887BC
|
|
/* 80088398 000841D8 48 00 04 2C */ b lbl_800887C4
|
|
.global lbl_8008839C
|
|
lbl_8008839C:
|
|
/* 8008839C 000841DC 88 67 00 0A */ lbz r3, 0xa(r7)
|
|
/* 800883A0 000841E0 4B FF AF B5 */ bl btm_process_inq_complete
|
|
/* 800883A4 000841E4 48 00 04 20 */ b lbl_800887C4
|
|
.global lbl_800883A8
|
|
lbl_800883A8:
|
|
/* 800883A8 000841E8 38 67 00 0A */ addi r3, r7, 0xa
|
|
/* 800883AC 000841EC 38 80 00 00 */ li r4, 0x0
|
|
/* 800883B0 000841F0 4B FF AD 2D */ bl btm_process_inq_results
|
|
/* 800883B4 000841F4 48 00 04 10 */ b lbl_800887C4
|
|
.global lbl_800883B8
|
|
lbl_800883B8:
|
|
/* 800883B8 000841F8 38 67 00 0A */ addi r3, r7, 0xa
|
|
/* 800883BC 000841FC 38 80 00 01 */ li r4, 0x1
|
|
/* 800883C0 00084200 4B FF AD 1D */ bl btm_process_inq_results
|
|
/* 800883C4 00084204 48 00 04 00 */ b lbl_800887C4
|
|
.global lbl_800883C8
|
|
lbl_800883C8:
|
|
/* 800883C8 00084208 38 67 00 0A */ addi r3, r7, 0xa
|
|
/* 800883CC 0008420C 48 00 05 A5 */ bl btu_hcif_connection_comp_evt
|
|
/* 800883D0 00084210 48 00 03 F4 */ b lbl_800887C4
|
|
.global lbl_800883D4
|
|
lbl_800883D4:
|
|
/* 800883D4 00084214 38 67 00 0A */ addi r3, r7, 0xa
|
|
/* 800883D8 00084218 48 00 06 75 */ bl btu_hcif_connection_request_evt
|
|
/* 800883DC 0008421C 48 00 03 E8 */ b lbl_800887C4
|
|
.global lbl_800883E0
|
|
lbl_800883E0:
|
|
/* 800883E0 00084220 88 07 00 0C */ lbz r0, 0xc(r7)
|
|
/* 800883E4 00084224 88 67 00 0B */ lbz r3, 0xb(r7)
|
|
/* 800883E8 00084228 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 800883EC 0008422C 8B E7 00 0D */ lbz r31, 0xd(r7)
|
|
/* 800883F0 00084230 7C 03 02 14 */ add r0, r3, r0
|
|
/* 800883F4 00084234 54 1C 05 3E */ clrlwi r28, r0, 20
|
|
/* 800883F8 00084238 7F E4 FB 78 */ mr r4, r31
|
|
/* 800883FC 0008423C 7F 83 E3 78 */ mr r3, r28
|
|
/* 80088400 00084240 48 00 A2 C5 */ bl l2c_link_hci_disc_comp
|
|
/* 80088404 00084244 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 80088408 00084248 40 82 00 10 */ bne lbl_80088418
|
|
/* 8008840C 0008424C 7F 83 E3 78 */ mr r3, r28
|
|
/* 80088410 00084250 7F E4 FB 78 */ mr r4, r31
|
|
/* 80088414 00084254 4B FF C8 85 */ bl btm_sco_removed
|
|
.global lbl_80088418
|
|
lbl_80088418:
|
|
/* 80088418 00084258 7F 83 E3 78 */ mr r3, r28
|
|
/* 8008841C 0008425C 7F E4 FB 78 */ mr r4, r31
|
|
/* 80088420 00084260 4B FF EF C5 */ bl btm_sec_disconnected
|
|
/* 80088424 00084264 48 00 03 A0 */ b lbl_800887C4
|
|
.global lbl_80088428
|
|
lbl_80088428:
|
|
/* 80088428 00084268 88 07 00 0C */ lbz r0, 0xc(r7)
|
|
/* 8008842C 0008426C 88 67 00 0B */ lbz r3, 0xb(r7)
|
|
/* 80088430 00084270 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 80088434 00084274 88 87 00 0A */ lbz r4, 0xa(r7)
|
|
/* 80088438 00084278 7C 03 02 14 */ add r0, r3, r0
|
|
/* 8008843C 0008427C 54 03 04 3E */ clrlwi r3, r0, 16
|
|
/* 80088440 00084280 4B FF E4 AD */ bl btm_sec_auth_complete
|
|
/* 80088444 00084284 48 00 03 80 */ b lbl_800887C4
|
|
.global lbl_80088448
|
|
lbl_80088448:
|
|
/* 80088448 00084288 8B C7 00 0A */ lbz r30, 0xa(r7)
|
|
/* 8008844C 0008428C 38 04 FF F9 */ addi r0, r4, -0x7
|
|
/* 80088450 00084290 88 67 00 0B */ lbz r3, 0xb(r7)
|
|
/* 80088454 00084294 3B E7 00 11 */ addi r31, r7, 0x11
|
|
/* 80088458 00084298 54 05 04 3E */ clrlwi r5, r0, 16
|
|
/* 8008845C 0008429C 7F C6 F3 78 */ mr r6, r30
|
|
/* 80088460 000842A0 98 61 00 25 */ stb r3, 0x25(r1)
|
|
/* 80088464 000842A4 7F E4 FB 78 */ mr r4, r31
|
|
/* 80088468 000842A8 38 61 00 20 */ addi r3, r1, 0x20
|
|
/* 8008846C 000842AC 88 07 00 0C */ lbz r0, 0xc(r7)
|
|
/* 80088470 000842B0 98 01 00 24 */ stb r0, 0x24(r1)
|
|
/* 80088474 000842B4 88 07 00 0D */ lbz r0, 0xd(r7)
|
|
/* 80088478 000842B8 98 01 00 23 */ stb r0, 0x23(r1)
|
|
/* 8008847C 000842BC 88 07 00 0E */ lbz r0, 0xe(r7)
|
|
/* 80088480 000842C0 98 01 00 22 */ stb r0, 0x22(r1)
|
|
/* 80088484 000842C4 88 07 00 0F */ lbz r0, 0xf(r7)
|
|
/* 80088488 000842C8 98 01 00 21 */ stb r0, 0x21(r1)
|
|
/* 8008848C 000842CC 88 07 00 10 */ lbz r0, 0x10(r7)
|
|
/* 80088490 000842D0 98 01 00 20 */ stb r0, 0x20(r1)
|
|
/* 80088494 000842D4 4B FF B1 15 */ bl btm_process_remote_name
|
|
/* 80088498 000842D8 7F E4 FB 78 */ mr r4, r31
|
|
/* 8008849C 000842DC 7F C5 F3 78 */ mr r5, r30
|
|
/* 800884A0 000842E0 38 61 00 20 */ addi r3, r1, 0x20
|
|
/* 800884A4 000842E4 4B FF E1 61 */ bl btm_sec_rmt_name_request_complete
|
|
/* 800884A8 000842E8 48 00 03 1C */ b lbl_800887C4
|
|
.global lbl_800884AC
|
|
lbl_800884AC:
|
|
/* 800884AC 000842EC 88 07 00 0C */ lbz r0, 0xc(r7)
|
|
/* 800884B0 000842F0 88 67 00 0B */ lbz r3, 0xb(r7)
|
|
/* 800884B4 000842F4 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 800884B8 000842F8 8B A7 00 0A */ lbz r29, 0xa(r7)
|
|
/* 800884BC 000842FC 7C 03 02 14 */ add r0, r3, r0
|
|
/* 800884C0 00084300 8B C7 00 0D */ lbz r30, 0xd(r7)
|
|
/* 800884C4 00084304 54 1F 04 3E */ clrlwi r31, r0, 16
|
|
/* 800884C8 00084308 7F A4 EB 78 */ mr r4, r29
|
|
/* 800884CC 0008430C 7F E3 FB 78 */ mr r3, r31
|
|
/* 800884D0 00084310 7F C5 F3 78 */ mr r5, r30
|
|
/* 800884D4 00084314 4B FF 60 09 */ bl btm_acl_encrypt_change
|
|
/* 800884D8 00084318 7F E3 FB 78 */ mr r3, r31
|
|
/* 800884DC 0008431C 7F A4 EB 78 */ mr r4, r29
|
|
/* 800884E0 00084320 7F C5 F3 78 */ mr r5, r30
|
|
/* 800884E4 00084324 4B FF E8 49 */ bl btm_sec_encrypt_change
|
|
/* 800884E8 00084328 48 00 02 DC */ b lbl_800887C4
|
|
.global lbl_800884EC
|
|
lbl_800884EC:
|
|
/* 800884EC 0008432C 88 07 00 0C */ lbz r0, 0xc(r7)
|
|
/* 800884F0 00084330 88 67 00 0B */ lbz r3, 0xb(r7)
|
|
/* 800884F4 00084334 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 800884F8 00084338 88 87 00 0A */ lbz r4, 0xa(r7)
|
|
/* 800884FC 0008433C 7C 03 02 14 */ add r0, r3, r0
|
|
/* 80088500 00084340 88 A7 00 0D */ lbz r5, 0xd(r7)
|
|
/* 80088504 00084344 54 03 04 3E */ clrlwi r3, r0, 16
|
|
/* 80088508 00084348 4B FF E7 29 */ bl btm_sec_mkey_comp_event
|
|
/* 8008850C 0008434C 48 00 02 B8 */ b lbl_800887C4
|
|
.global lbl_80088510
|
|
lbl_80088510:
|
|
/* 80088510 00084350 38 67 00 0A */ addi r3, r7, 0xa
|
|
/* 80088514 00084354 4B FF 64 C9 */ bl btm_read_remote_features_complete
|
|
/* 80088518 00084358 48 00 02 AC */ b lbl_800887C4
|
|
.global lbl_8008851C
|
|
lbl_8008851C:
|
|
/* 8008851C 0008435C 38 67 00 0A */ addi r3, r7, 0xa
|
|
/* 80088520 00084360 4B FF 64 31 */ bl btm_read_remote_version_complete
|
|
/* 80088524 00084364 48 00 02 A0 */ b lbl_800887C4
|
|
.global lbl_80088528
|
|
lbl_80088528:
|
|
/* 80088528 00084368 38 67 00 0A */ addi r3, r7, 0xa
|
|
/* 8008852C 0008436C 48 00 05 AD */ bl btu_hcif_qos_setup_comp_evt
|
|
/* 80088530 00084370 48 00 02 94 */ b lbl_800887C4
|
|
.global lbl_80088534
|
|
lbl_80088534:
|
|
/* 80088534 00084374 38 67 00 0A */ addi r3, r7, 0xa
|
|
/* 80088538 00084378 48 00 08 D9 */ bl btu_hcif_command_complete_evt
|
|
/* 8008853C 0008437C 48 00 02 88 */ b lbl_800887C4
|
|
.global lbl_80088540
|
|
lbl_80088540:
|
|
/* 80088540 00084380 38 67 00 0A */ addi r3, r7, 0xa
|
|
/* 80088544 00084384 48 00 0B E5 */ bl btu_hcif_command_status_evt
|
|
/* 80088548 00084388 48 00 02 7C */ b lbl_800887C4
|
|
.global lbl_8008854C
|
|
lbl_8008854C:
|
|
/* 8008854C 0008438C 3C 80 80 44 */ lis r4, "@2212"@ha
|
|
/* 80088550 00084390 3C 60 00 07 */ lis r3, 0x7
|
|
/* 80088554 00084394 38 84 CC 90 */ addi r4, r4, "@2212"@l
|
|
/* 80088558 00084398 4B FE F4 09 */ bl LogMsg_0
|
|
/* 8008855C 0008439C 4B FF 7F 2D */ bl BTM_IsDeviceUp
|
|
/* 80088560 000843A0 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 80088564 000843A4 41 82 02 60 */ beq lbl_800887C4
|
|
/* 80088568 000843A8 38 60 00 00 */ li r3, 0x0
|
|
/* 8008856C 000843AC 4B FF 7D D9 */ bl BTM_DeviceReset
|
|
/* 80088570 000843B0 48 00 02 54 */ b lbl_800887C4
|
|
.global lbl_80088574
|
|
lbl_80088574:
|
|
/* 80088574 000843B4 8B A7 00 0A */ lbz r29, 0xa(r7)
|
|
/* 80088578 000843B8 88 07 00 0B */ lbz r0, 0xb(r7)
|
|
/* 8008857C 000843BC 2C 1D 00 00 */ cmpwi r29, 0x0
|
|
/* 80088580 000843C0 98 01 00 1D */ stb r0, 0x1d(r1)
|
|
/* 80088584 000843C4 88 07 00 0C */ lbz r0, 0xc(r7)
|
|
/* 80088588 000843C8 98 01 00 1C */ stb r0, 0x1c(r1)
|
|
/* 8008858C 000843CC 88 07 00 0D */ lbz r0, 0xd(r7)
|
|
/* 80088590 000843D0 98 01 00 1B */ stb r0, 0x1b(r1)
|
|
/* 80088594 000843D4 88 07 00 0E */ lbz r0, 0xe(r7)
|
|
/* 80088598 000843D8 98 01 00 1A */ stb r0, 0x1a(r1)
|
|
/* 8008859C 000843DC 88 07 00 0F */ lbz r0, 0xf(r7)
|
|
/* 800885A0 000843E0 98 01 00 19 */ stb r0, 0x19(r1)
|
|
/* 800885A4 000843E4 88 07 00 10 */ lbz r0, 0x10(r7)
|
|
/* 800885A8 000843E8 98 01 00 18 */ stb r0, 0x18(r1)
|
|
/* 800885AC 000843EC 8B E7 00 11 */ lbz r31, 0x11(r7)
|
|
/* 800885B0 000843F0 40 82 00 10 */ bne lbl_800885C0
|
|
/* 800885B4 000843F4 7F E4 FB 78 */ mr r4, r31
|
|
/* 800885B8 000843F8 38 61 00 18 */ addi r3, r1, 0x18
|
|
/* 800885BC 000843FC 48 00 AC 49 */ bl l2c_link_role_changed
|
|
.global lbl_800885C0
|
|
lbl_800885C0:
|
|
/* 800885C0 00084400 7F A3 EB 78 */ mr r3, r29
|
|
/* 800885C4 00084404 7F E5 FB 78 */ mr r5, r31
|
|
/* 800885C8 00084408 38 81 00 18 */ addi r4, r1, 0x18
|
|
/* 800885CC 0008440C 4B FF 68 C9 */ bl btm_acl_role_changed
|
|
/* 800885D0 00084410 48 00 01 F4 */ b lbl_800887C4
|
|
.global lbl_800885D4
|
|
lbl_800885D4:
|
|
/* 800885D4 00084414 38 67 00 0A */ addi r3, r7, 0xa
|
|
/* 800885D8 00084418 48 00 A8 F9 */ bl l2c_link_process_num_completed_pkts
|
|
/* 800885DC 0008441C 48 00 01 E8 */ b lbl_800887C4
|
|
.global lbl_800885E0
|
|
lbl_800885E0:
|
|
/* 800885E0 00084420 88 67 00 0C */ lbz r3, 0xc(r7)
|
|
/* 800885E4 00084424 88 07 00 0F */ lbz r0, 0xf(r7)
|
|
/* 800885E8 00084428 54 64 40 2E */ slwi r4, r3, 8
|
|
/* 800885EC 0008442C 88 A7 00 0B */ lbz r5, 0xb(r7)
|
|
/* 800885F0 00084430 88 67 00 0E */ lbz r3, 0xe(r7)
|
|
/* 800885F4 00084434 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 800885F8 00084438 7C 85 22 14 */ add r4, r5, r4
|
|
/* 800885FC 0008443C 8B C7 00 0D */ lbz r30, 0xd(r7)
|
|
/* 80088600 00084440 54 9F 04 3E */ clrlwi r31, r4, 16
|
|
/* 80088604 00084444 7C 03 02 14 */ add r0, r3, r0
|
|
/* 80088608 00084448 8B 87 00 0A */ lbz r28, 0xa(r7)
|
|
/* 8008860C 0008444C 7F E4 FB 78 */ mr r4, r31
|
|
/* 80088610 00084450 7F C5 F3 78 */ mr r5, r30
|
|
/* 80088614 00084454 54 1D 04 3E */ clrlwi r29, r0, 16
|
|
/* 80088618 00084458 7F 83 E3 78 */ mr r3, r28
|
|
/* 8008861C 0008445C 4B FF C0 35 */ bl btm_sco_chk_pend_unpark
|
|
/* 80088620 00084460 7F 83 E3 78 */ mr r3, r28
|
|
/* 80088624 00084464 7F E4 FB 78 */ mr r4, r31
|
|
/* 80088628 00084468 7F C5 F3 78 */ mr r5, r30
|
|
/* 8008862C 0008446C 7F A6 EB 78 */ mr r6, r29
|
|
/* 80088630 00084470 4B FF BB D9 */ bl btm_pm_proc_mode_change
|
|
/* 80088634 00084474 7F 83 E3 78 */ mr r3, r28
|
|
/* 80088638 00084478 7F C4 F3 78 */ mr r4, r30
|
|
/* 8008863C 0008447C 7F A5 EB 78 */ mr r5, r29
|
|
/* 80088640 00084480 48 00 4C 3D */ bl hidd_pm_proc_mode_change
|
|
/* 80088644 00084484 48 00 01 80 */ b lbl_800887C4
|
|
.global lbl_80088648
|
|
lbl_80088648:
|
|
/* 80088648 00084488 88 07 00 0A */ lbz r0, 0xa(r7)
|
|
/* 8008864C 0008448C 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80088650 00084490 41 82 01 74 */ beq lbl_800887C4
|
|
/* 80088654 00084494 38 00 00 01 */ li r0, 0x1
|
|
/* 80088658 00084498 38 67 00 09 */ addi r3, r7, 0x9
|
|
/* 8008865C 0008449C 98 07 00 09 */ stb r0, 0x9(r7)
|
|
/* 80088660 000844A0 4B FF 93 71 */ bl btm_return_link_keys_evt
|
|
/* 80088664 000844A4 48 00 01 60 */ b lbl_800887C4
|
|
.global lbl_80088668
|
|
lbl_80088668:
|
|
/* 80088668 000844A8 88 07 00 0A */ lbz r0, 0xa(r7)
|
|
/* 8008866C 000844AC 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 80088670 000844B0 98 01 00 15 */ stb r0, 0x15(r1)
|
|
/* 80088674 000844B4 88 07 00 0B */ lbz r0, 0xb(r7)
|
|
/* 80088678 000844B8 98 01 00 14 */ stb r0, 0x14(r1)
|
|
/* 8008867C 000844BC 88 07 00 0C */ lbz r0, 0xc(r7)
|
|
/* 80088680 000844C0 98 01 00 13 */ stb r0, 0x13(r1)
|
|
/* 80088684 000844C4 88 07 00 0D */ lbz r0, 0xd(r7)
|
|
/* 80088688 000844C8 98 01 00 12 */ stb r0, 0x12(r1)
|
|
/* 8008868C 000844CC 88 07 00 0E */ lbz r0, 0xe(r7)
|
|
/* 80088690 000844D0 98 01 00 11 */ stb r0, 0x11(r1)
|
|
/* 80088694 000844D4 88 07 00 0F */ lbz r0, 0xf(r7)
|
|
/* 80088698 000844D8 98 01 00 10 */ stb r0, 0x10(r1)
|
|
/* 8008869C 000844DC 48 00 AD 31 */ bl l2c_pin_code_request
|
|
/* 800886A0 000844E0 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 800886A4 000844E4 4B FF F1 CD */ bl btm_sec_pin_code_request
|
|
/* 800886A8 000844E8 48 00 01 1C */ b lbl_800887C4
|
|
.global lbl_800886AC
|
|
lbl_800886AC:
|
|
/* 800886AC 000844EC 88 07 00 0A */ lbz r0, 0xa(r7)
|
|
/* 800886B0 000844F0 38 61 00 08 */ addi r3, r1, 0x8
|
|
/* 800886B4 000844F4 98 01 00 0D */ stb r0, 0xd(r1)
|
|
/* 800886B8 000844F8 88 07 00 0B */ lbz r0, 0xb(r7)
|
|
/* 800886BC 000844FC 98 01 00 0C */ stb r0, 0xc(r1)
|
|
/* 800886C0 00084500 88 07 00 0C */ lbz r0, 0xc(r7)
|
|
/* 800886C4 00084504 98 01 00 0B */ stb r0, 0xb(r1)
|
|
/* 800886C8 00084508 88 07 00 0D */ lbz r0, 0xd(r7)
|
|
/* 800886CC 0008450C 98 01 00 0A */ stb r0, 0xa(r1)
|
|
/* 800886D0 00084510 88 07 00 0E */ lbz r0, 0xe(r7)
|
|
/* 800886D4 00084514 98 01 00 09 */ stb r0, 0x9(r1)
|
|
/* 800886D8 00084518 88 07 00 0F */ lbz r0, 0xf(r7)
|
|
/* 800886DC 0008451C 98 01 00 08 */ stb r0, 0x8(r1)
|
|
/* 800886E0 00084520 4B FF EF ED */ bl btm_sec_link_key_request
|
|
/* 800886E4 00084524 48 00 00 E0 */ b lbl_800887C4
|
|
.global lbl_800886E8
|
|
lbl_800886E8:
|
|
/* 800886E8 00084528 38 67 00 0A */ addi r3, r7, 0xa
|
|
/* 800886EC 0008452C 48 00 0C BD */ bl btu_hcif_link_key_notification_evt
|
|
/* 800886F0 00084530 48 00 00 D4 */ b lbl_800887C4
|
|
.global lbl_800886F4
|
|
lbl_800886F4:
|
|
/* 800886F4 00084534 88 07 00 0A */ lbz r0, 0xa(r7)
|
|
/* 800886F8 00084538 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 800886FC 0008453C 40 82 00 C8 */ bne lbl_800887C4
|
|
/* 80088700 00084540 88 67 00 0C */ lbz r3, 0xc(r7)
|
|
/* 80088704 00084544 88 07 00 0E */ lbz r0, 0xe(r7)
|
|
/* 80088708 00084548 54 64 40 2E */ slwi r4, r3, 8
|
|
/* 8008870C 0008454C 88 A7 00 0B */ lbz r5, 0xb(r7)
|
|
/* 80088710 00084550 88 67 00 0D */ lbz r3, 0xd(r7)
|
|
/* 80088714 00084554 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 80088718 00084558 7C 85 22 14 */ add r4, r5, r4
|
|
/* 8008871C 0008455C 7C 03 02 14 */ add r0, r3, r0
|
|
/* 80088720 00084560 54 9D 05 3E */ clrlwi r29, r4, 20
|
|
/* 80088724 00084564 54 1C 04 3E */ clrlwi r28, r0, 16
|
|
/* 80088728 00084568 7F A3 EB 78 */ mr r3, r29
|
|
/* 8008872C 0008456C 7F 84 E3 78 */ mr r4, r28
|
|
/* 80088730 00084570 4B FF 66 C9 */ bl btm_process_clk_off_comp_evt
|
|
/* 80088734 00084574 7F A3 EB 78 */ mr r3, r29
|
|
/* 80088738 00084578 7F 84 E3 78 */ mr r4, r28
|
|
/* 8008873C 0008457C 4B FF F4 91 */ bl btm_sec_update_clock_offset
|
|
/* 80088740 00084580 48 00 00 84 */ b lbl_800887C4
|
|
.global lbl_80088744
|
|
lbl_80088744:
|
|
/* 80088744 00084584 88 07 00 0B */ lbz r0, 0xb(r7)
|
|
/* 80088748 00084588 88 67 00 0A */ lbz r3, 0xa(r7)
|
|
/* 8008874C 0008458C 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 80088750 00084590 7C 03 02 14 */ add r0, r3, r0
|
|
/* 80088754 00084594 54 03 05 3E */ clrlwi r3, r0, 20
|
|
/* 80088758 00084598 48 00 A0 29 */ bl l2c_link_hci_qos_violation
|
|
/* 8008875C 0008459C 48 00 00 68 */ b lbl_800887C4
|
|
.global lbl_80088760
|
|
lbl_80088760:
|
|
/* 80088760 000845A0 38 67 00 0A */ addi r3, r7, 0xa
|
|
/* 80088764 000845A4 48 00 04 75 */ bl btu_hcif_esco_connection_comp_evt
|
|
/* 80088768 000845A8 48 00 00 5C */ b lbl_800887C4
|
|
.global lbl_8008876C
|
|
lbl_8008876C:
|
|
/* 8008876C 000845AC 88 87 00 0C */ lbz r4, 0xc(r7)
|
|
/* 80088770 000845B0 88 67 00 10 */ lbz r3, 0x10(r7)
|
|
/* 80088774 000845B4 88 07 00 12 */ lbz r0, 0x12(r7)
|
|
/* 80088778 000845B8 54 86 40 2E */ slwi r6, r4, 8
|
|
/* 8008877C 000845BC 89 07 00 0B */ lbz r8, 0xb(r7)
|
|
/* 80088780 000845C0 54 63 40 2E */ slwi r3, r3, 8
|
|
/* 80088784 000845C4 88 A7 00 0F */ lbz r5, 0xf(r7)
|
|
/* 80088788 000845C8 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 8008878C 000845CC 7D 28 32 14 */ add r9, r8, r6
|
|
/* 80088790 000845D0 88 87 00 11 */ lbz r4, 0x11(r7)
|
|
/* 80088794 000845D4 7D 05 1A 14 */ add r8, r5, r3
|
|
/* 80088798 000845D8 88 67 00 0A */ lbz r3, 0xa(r7)
|
|
/* 8008879C 000845DC 7C 04 02 14 */ add r0, r4, r0
|
|
/* 800887A0 000845E0 88 A7 00 0D */ lbz r5, 0xd(r7)
|
|
/* 800887A4 000845E4 88 C7 00 0E */ lbz r6, 0xe(r7)
|
|
/* 800887A8 000845E8 55 07 04 3E */ clrlwi r7, r8, 16
|
|
/* 800887AC 000845EC 55 24 04 3E */ clrlwi r4, r9, 16
|
|
/* 800887B0 000845F0 54 08 04 3E */ clrlwi r8, r0, 16
|
|
/* 800887B4 000845F4 4B FF C8 59 */ bl btm_esco_proc_conn_chg
|
|
/* 800887B8 000845F8 48 00 00 0C */ b lbl_800887C4
|
|
.global lbl_800887BC
|
|
lbl_800887BC:
|
|
/* 800887BC 000845FC 38 67 00 0A */ addi r3, r7, 0xa
|
|
/* 800887C0 00084600 4B FF 8D 21 */ bl btm_vendor_specific_evt
|
|
.global lbl_800887C4
|
|
lbl_800887C4:
|
|
/* 800887C4 00084604 80 01 00 44 */ lwz r0, 0x44(r1)
|
|
/* 800887C8 00084608 83 E1 00 3C */ lwz r31, 0x3c(r1)
|
|
/* 800887CC 0008460C 83 C1 00 38 */ lwz r30, 0x38(r1)
|
|
/* 800887D0 00084610 83 A1 00 34 */ lwz r29, 0x34(r1)
|
|
/* 800887D4 00084614 83 81 00 30 */ lwz r28, 0x30(r1)
|
|
/* 800887D8 00084618 7C 08 03 A6 */ mtlr r0
|
|
/* 800887DC 0008461C 38 21 00 40 */ addi r1, r1, 0x40
|
|
/* 800887E0 00084620 4E 80 00 20 */ blr
|
|
.global btu_hcif_send_cmd
|
|
btu_hcif_send_cmd:
|
|
/* 800887E4 00084624 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 800887E8 00084628 7C 08 02 A6 */ mflr r0
|
|
/* 800887EC 0008462C 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800887F0 00084630 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 800887F4 00084634 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 800887F8 00084638 7C 7F 1B 78 */ mr r31, r3
|
|
/* 800887FC 0008463C 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 80088800 00084640 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 80088804 00084644 41 82 00 28 */ beq lbl_8008882C
|
|
/* 80088808 00084648 3C 60 80 4F */ lis r3, btu_cb@ha
|
|
/* 8008880C 0008464C 38 63 5A 30 */ addi r3, r3, btu_cb@l
|
|
/* 80088810 00084650 A0 03 00 6C */ lhz r0, 0x6c(r3)
|
|
/* 80088814 00084654 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80088818 00084658 41 82 00 14 */ beq lbl_8008882C
|
|
/* 8008881C 0008465C 7F E4 FB 78 */ mr r4, r31
|
|
/* 80088820 00084660 38 63 00 64 */ addi r3, r3, 0x64
|
|
/* 80088824 00084664 4B FE CB 1D */ bl GKI_enqueue
|
|
/* 80088828 00084668 3B E0 00 00 */ li r31, 0x0
|
|
.global lbl_8008882C
|
|
lbl_8008882C:
|
|
/* 8008882C 0008466C 3C 80 80 4F */ lis r4, btu_cb@ha
|
|
/* 80088830 00084670 38 84 5A 30 */ addi r4, r4, btu_cb@l
|
|
/* 80088834 00084674 A0 04 00 80 */ lhz r0, 0x80(r4)
|
|
/* 80088838 00084678 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008883C 0008467C 40 82 00 24 */ bne lbl_80088860
|
|
/* 80088840 00084680 3C 60 80 4F */ lis r3, btm_cb@ha
|
|
/* 80088844 00084684 38 63 5F 58 */ addi r3, r3, btm_cb@l
|
|
/* 80088848 00084688 88 03 06 4E */ lbz r0, 0x64e(r3)
|
|
/* 8008884C 0008468C 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80088850 00084690 40 82 00 10 */ bne lbl_80088860
|
|
/* 80088854 00084694 A0 64 00 6C */ lhz r3, 0x6c(r4)
|
|
/* 80088858 00084698 38 03 00 01 */ addi r0, r3, 0x1
|
|
/* 8008885C 0008469C B0 04 00 80 */ sth r0, 0x80(r4)
|
|
.global lbl_80088860
|
|
lbl_80088860:
|
|
/* 80088860 000846A0 3C 60 80 4F */ lis r3, btu_cb@ha
|
|
/* 80088864 000846A4 3B C3 5A 30 */ addi r30, r3, btu_cb@l
|
|
/* 80088868 000846A8 48 00 00 C4 */ b lbl_8008892C
|
|
.global lbl_8008886C
|
|
lbl_8008886C:
|
|
/* 8008886C 000846AC 2C 1F 00 00 */ cmpwi r31, 0x0
|
|
/* 80088870 000846B0 40 82 00 10 */ bne lbl_80088880
|
|
/* 80088874 000846B4 38 7E 00 64 */ addi r3, r30, 0x64
|
|
/* 80088878 000846B8 4B FE CD 49 */ bl GKI_dequeue
|
|
/* 8008887C 000846BC 7C 7F 1B 78 */ mr r31, r3
|
|
.global lbl_80088880
|
|
lbl_80088880:
|
|
/* 80088880 000846C0 2C 1F 00 00 */ cmpwi r31, 0x0
|
|
/* 80088884 000846C4 41 82 00 B4 */ beq lbl_80088938
|
|
/* 80088888 000846C8 A0 1F 00 04 */ lhz r0, 0x4(r31)
|
|
/* 8008888C 000846CC 7C 7F 02 14 */ add r3, r31, r0
|
|
/* 80088890 000846D0 88 03 00 09 */ lbz r0, 0x9(r3)
|
|
/* 80088894 000846D4 88 63 00 08 */ lbz r3, 0x8(r3)
|
|
/* 80088898 000846D8 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 8008889C 000846DC 7C 03 02 14 */ add r0, r3, r0
|
|
/* 800888A0 000846E0 54 00 04 3E */ clrlwi r0, r0, 16
|
|
/* 800888A4 000846E4 28 00 0C 03 */ cmplwi r0, 0xc03
|
|
/* 800888A8 000846E8 41 82 00 68 */ beq lbl_80088910
|
|
/* 800888AC 000846EC 28 00 0C 35 */ cmplwi r0, 0xc35
|
|
/* 800888B0 000846F0 41 82 00 60 */ beq lbl_80088910
|
|
/* 800888B4 000846F4 38 60 00 02 */ li r3, 0x2
|
|
/* 800888B8 000846F8 4B FE C5 69 */ bl GKI_getpoolbuf
|
|
/* 800888BC 000846FC 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800888C0 00084700 7C 7D 1B 78 */ mr r29, r3
|
|
/* 800888C4 00084704 41 82 00 4C */ beq lbl_80088910
|
|
/* 800888C8 00084708 7F E4 FB 78 */ mr r4, r31
|
|
/* 800888CC 0008470C 38 A0 00 08 */ li r5, 0x8
|
|
/* 800888D0 00084710 4B F7 B7 31 */ bl memcpy
|
|
/* 800888D4 00084714 A0 7D 00 04 */ lhz r3, 0x4(r29)
|
|
/* 800888D8 00084718 A0 1F 00 04 */ lhz r0, 0x4(r31)
|
|
/* 800888DC 0008471C 7C 7D 1A 14 */ add r3, r29, r3
|
|
/* 800888E0 00084720 A0 BF 00 02 */ lhz r5, 0x2(r31)
|
|
/* 800888E4 00084724 7C 9F 02 14 */ add r4, r31, r0
|
|
/* 800888E8 00084728 38 63 00 08 */ addi r3, r3, 0x8
|
|
/* 800888EC 0008472C 38 84 00 08 */ addi r4, r4, 0x8
|
|
/* 800888F0 00084730 4B F7 B7 11 */ bl memcpy
|
|
/* 800888F4 00084734 7F A4 EB 78 */ mr r4, r29
|
|
/* 800888F8 00084738 38 7E 00 70 */ addi r3, r30, 0x70
|
|
/* 800888FC 0008473C 4B FE CA 45 */ bl GKI_enqueue
|
|
/* 80088900 00084740 38 7E 00 4C */ addi r3, r30, 0x4c
|
|
/* 80088904 00084744 38 80 00 3C */ li r4, 0x3c
|
|
/* 80088908 00084748 38 A0 00 08 */ li r5, 0x8
|
|
/* 8008890C 0008474C 4B FE F5 A5 */ bl btu_start_timer
|
|
.global lbl_80088910
|
|
lbl_80088910:
|
|
/* 80088910 00084750 A0 BE 00 80 */ lhz r5, 0x80(r30)
|
|
/* 80088914 00084754 7F E3 FB 78 */ mr r3, r31
|
|
/* 80088918 00084758 38 80 20 00 */ li r4, 0x2000
|
|
/* 8008891C 0008475C 38 05 FF FF */ addi r0, r5, -0x1
|
|
/* 80088920 00084760 B0 1E 00 80 */ sth r0, 0x80(r30)
|
|
/* 80088924 00084764 4B FE EE 7D */ bl bte_hcisu_send
|
|
/* 80088928 00084768 3B E0 00 00 */ li r31, 0x0
|
|
.global lbl_8008892C
|
|
lbl_8008892C:
|
|
/* 8008892C 0008476C A0 1E 00 80 */ lhz r0, 0x80(r30)
|
|
/* 80088930 00084770 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80088934 00084774 40 82 FF 38 */ bne lbl_8008886C
|
|
.global lbl_80088938
|
|
lbl_80088938:
|
|
/* 80088938 00084778 2C 1F 00 00 */ cmpwi r31, 0x0
|
|
/* 8008893C 0008477C 41 82 00 18 */ beq lbl_80088954
|
|
/* 80088940 00084780 3C 60 80 4F */ lis r3, btu_cb@ha
|
|
/* 80088944 00084784 7F E4 FB 78 */ mr r4, r31
|
|
/* 80088948 00084788 38 63 5A 30 */ addi r3, r3, btu_cb@l
|
|
/* 8008894C 0008478C 38 63 00 64 */ addi r3, r3, 0x64
|
|
/* 80088950 00084790 4B FE C9 F1 */ bl GKI_enqueue
|
|
.global lbl_80088954
|
|
lbl_80088954:
|
|
/* 80088954 00084794 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80088958 00084798 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 8008895C 0008479C 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 80088960 000847A0 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 80088964 000847A4 7C 08 03 A6 */ mtlr r0
|
|
/* 80088968 000847A8 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8008896C 000847AC 4E 80 00 20 */ blr
|
|
.global btu_hcif_connection_comp_evt
|
|
btu_hcif_connection_comp_evt:
|
|
/* 80088970 000847B0 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 80088974 000847B4 7C 08 02 A6 */ mflr r0
|
|
/* 80088978 000847B8 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 8008897C 000847BC 93 E1 00 2C */ stw r31, 0x2c(r1)
|
|
/* 80088980 000847C0 93 C1 00 28 */ stw r30, 0x28(r1)
|
|
/* 80088984 000847C4 88 03 00 02 */ lbz r0, 0x2(r3)
|
|
/* 80088988 000847C8 8B E3 00 00 */ lbz r31, 0x0(r3)
|
|
/* 8008898C 000847CC 54 04 40 2E */ slwi r4, r0, 8
|
|
/* 80088990 000847D0 88 A3 00 01 */ lbz r5, 0x1(r3)
|
|
/* 80088994 000847D4 88 03 00 03 */ lbz r0, 0x3(r3)
|
|
/* 80088998 000847D8 7C 85 22 14 */ add r4, r5, r4
|
|
/* 8008899C 000847DC 98 01 00 0D */ stb r0, 0xd(r1)
|
|
/* 800889A0 000847E0 54 9E 05 3E */ clrlwi r30, r4, 20
|
|
/* 800889A4 000847E4 88 03 00 04 */ lbz r0, 0x4(r3)
|
|
/* 800889A8 000847E8 98 01 00 0C */ stb r0, 0xc(r1)
|
|
/* 800889AC 000847EC 88 03 00 05 */ lbz r0, 0x5(r3)
|
|
/* 800889B0 000847F0 98 01 00 0B */ stb r0, 0xb(r1)
|
|
/* 800889B4 000847F4 88 03 00 06 */ lbz r0, 0x6(r3)
|
|
/* 800889B8 000847F8 98 01 00 0A */ stb r0, 0xa(r1)
|
|
/* 800889BC 000847FC 88 03 00 07 */ lbz r0, 0x7(r3)
|
|
/* 800889C0 00084800 98 01 00 09 */ stb r0, 0x9(r1)
|
|
/* 800889C4 00084804 88 03 00 08 */ lbz r0, 0x8(r3)
|
|
/* 800889C8 00084808 98 01 00 08 */ stb r0, 0x8(r1)
|
|
/* 800889CC 0008480C 88 03 00 09 */ lbz r0, 0x9(r3)
|
|
/* 800889D0 00084810 88 C3 00 0A */ lbz r6, 0xa(r3)
|
|
/* 800889D4 00084814 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 800889D8 00084818 40 82 00 28 */ bne lbl_80088A00
|
|
/* 800889DC 0008481C 7F C4 F3 78 */ mr r4, r30
|
|
/* 800889E0 00084820 7F E5 FB 78 */ mr r5, r31
|
|
/* 800889E4 00084824 38 61 00 08 */ addi r3, r1, 0x8
|
|
/* 800889E8 00084828 4B FF E4 C1 */ bl btm_sec_connected
|
|
/* 800889EC 0008482C 7F E3 FB 78 */ mr r3, r31
|
|
/* 800889F0 00084830 7F C4 F3 78 */ mr r4, r30
|
|
/* 800889F4 00084834 38 A1 00 08 */ addi r5, r1, 0x8
|
|
/* 800889F8 00084838 48 00 99 E1 */ bl l2c_link_hci_conn_comp
|
|
/* 800889FC 0008483C 48 00 00 38 */ b lbl_80088A34
|
|
.global lbl_80088A00
|
|
lbl_80088A00:
|
|
/* 80088A00 00084840 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 80088A04 00084844 38 80 00 00 */ li r4, 0x0
|
|
/* 80088A08 00084848 38 A0 00 0E */ li r5, 0xe
|
|
/* 80088A0C 0008484C 4B F7 B9 45 */ bl memset
|
|
/* 80088A10 00084850 38 61 00 14 */ addi r3, r1, 0x14
|
|
/* 80088A14 00084854 38 81 00 08 */ addi r4, r1, 0x8
|
|
/* 80088A18 00084858 38 A0 00 06 */ li r5, 0x6
|
|
/* 80088A1C 0008485C 4B F7 B5 E5 */ bl memcpy
|
|
/* 80088A20 00084860 7F E3 FB 78 */ mr r3, r31
|
|
/* 80088A24 00084864 7F C5 F3 78 */ mr r5, r30
|
|
/* 80088A28 00084868 38 81 00 08 */ addi r4, r1, 0x8
|
|
/* 80088A2C 0008486C 38 C1 00 10 */ addi r6, r1, 0x10
|
|
/* 80088A30 00084870 4B FF BF 8D */ bl btm_sco_connected
|
|
.global lbl_80088A34
|
|
lbl_80088A34:
|
|
/* 80088A34 00084874 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 80088A38 00084878 83 E1 00 2C */ lwz r31, 0x2c(r1)
|
|
/* 80088A3C 0008487C 83 C1 00 28 */ lwz r30, 0x28(r1)
|
|
/* 80088A40 00084880 7C 08 03 A6 */ mtlr r0
|
|
/* 80088A44 00084884 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 80088A48 00084888 4E 80 00 20 */ blr
|
|
.global btu_hcif_connection_request_evt
|
|
btu_hcif_connection_request_evt:
|
|
/* 80088A4C 0008488C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80088A50 00084890 7C 08 02 A6 */ mflr r0
|
|
/* 80088A54 00084894 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80088A58 00084898 88 03 00 00 */ lbz r0, 0x0(r3)
|
|
/* 80088A5C 0008489C 98 01 00 11 */ stb r0, 0x11(r1)
|
|
/* 80088A60 000848A0 88 03 00 01 */ lbz r0, 0x1(r3)
|
|
/* 80088A64 000848A4 98 01 00 10 */ stb r0, 0x10(r1)
|
|
/* 80088A68 000848A8 88 03 00 02 */ lbz r0, 0x2(r3)
|
|
/* 80088A6C 000848AC 98 01 00 0F */ stb r0, 0xf(r1)
|
|
/* 80088A70 000848B0 88 03 00 03 */ lbz r0, 0x3(r3)
|
|
/* 80088A74 000848B4 98 01 00 0E */ stb r0, 0xe(r1)
|
|
/* 80088A78 000848B8 88 03 00 04 */ lbz r0, 0x4(r3)
|
|
/* 80088A7C 000848BC 98 01 00 0D */ stb r0, 0xd(r1)
|
|
/* 80088A80 000848C0 88 03 00 05 */ lbz r0, 0x5(r3)
|
|
/* 80088A84 000848C4 98 01 00 0C */ stb r0, 0xc(r1)
|
|
/* 80088A88 000848C8 88 03 00 06 */ lbz r0, 0x6(r3)
|
|
/* 80088A8C 000848CC 98 01 00 0A */ stb r0, 0xa(r1)
|
|
/* 80088A90 000848D0 88 03 00 07 */ lbz r0, 0x7(r3)
|
|
/* 80088A94 000848D4 98 01 00 09 */ stb r0, 0x9(r1)
|
|
/* 80088A98 000848D8 88 03 00 08 */ lbz r0, 0x8(r3)
|
|
/* 80088A9C 000848DC 98 01 00 08 */ stb r0, 0x8(r1)
|
|
/* 80088AA0 000848E0 88 A3 00 09 */ lbz r5, 0x9(r3)
|
|
/* 80088AA4 000848E4 28 05 00 01 */ cmplwi r5, 0x1
|
|
/* 80088AA8 000848E8 40 82 00 14 */ bne lbl_80088ABC
|
|
/* 80088AAC 000848EC 38 61 00 0C */ addi r3, r1, 0xc
|
|
/* 80088AB0 000848F0 38 81 00 08 */ addi r4, r1, 0x8
|
|
/* 80088AB4 000848F4 4B FF D9 15 */ bl btm_sec_conn_req
|
|
/* 80088AB8 000848F8 48 00 00 10 */ b lbl_80088AC8
|
|
.global lbl_80088ABC
|
|
lbl_80088ABC:
|
|
/* 80088ABC 000848FC 38 61 00 0C */ addi r3, r1, 0xc
|
|
/* 80088AC0 00084900 38 81 00 08 */ addi r4, r1, 0x8
|
|
/* 80088AC4 00084904 4B FF BD 19 */ bl btm_sco_conn_req
|
|
.global lbl_80088AC8
|
|
lbl_80088AC8:
|
|
/* 80088AC8 00084908 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80088ACC 0008490C 7C 08 03 A6 */ mtlr r0
|
|
/* 80088AD0 00084910 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80088AD4 00084914 4E 80 00 20 */ blr
|
|
.global btu_hcif_qos_setup_comp_evt
|
|
btu_hcif_qos_setup_comp_evt:
|
|
/* 80088AD8 00084918 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80088ADC 0008491C 7C 08 02 A6 */ mflr r0
|
|
/* 80088AE0 00084920 7C 66 1B 78 */ mr r6, r3
|
|
/* 80088AE4 00084924 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80088AE8 00084928 38 A1 00 08 */ addi r5, r1, 0x8
|
|
/* 80088AEC 0008492C 88 86 00 02 */ lbz r4, 0x2(r6)
|
|
/* 80088AF0 00084930 88 63 00 00 */ lbz r3, 0x0(r3)
|
|
/* 80088AF4 00084934 88 E6 00 01 */ lbz r7, 0x1(r6)
|
|
/* 80088AF8 00084938 54 84 40 2E */ slwi r4, r4, 8
|
|
/* 80088AFC 0008493C 88 06 00 03 */ lbz r0, 0x3(r6)
|
|
/* 80088B00 00084940 7C 87 22 14 */ add r4, r7, r4
|
|
/* 80088B04 00084944 98 01 00 08 */ stb r0, 0x8(r1)
|
|
/* 80088B08 00084948 54 84 04 3E */ clrlwi r4, r4, 16
|
|
/* 80088B0C 0008494C 88 06 00 04 */ lbz r0, 0x4(r6)
|
|
/* 80088B10 00084950 98 01 00 09 */ stb r0, 0x9(r1)
|
|
/* 80088B14 00084954 88 E6 00 08 */ lbz r7, 0x8(r6)
|
|
/* 80088B18 00084958 89 06 00 07 */ lbz r8, 0x7(r6)
|
|
/* 80088B1C 0008495C 88 06 00 06 */ lbz r0, 0x6(r6)
|
|
/* 80088B20 00084960 54 E9 C0 0E */ slwi r9, r7, 24
|
|
/* 80088B24 00084964 88 E6 00 05 */ lbz r7, 0x5(r6)
|
|
/* 80088B28 00084968 55 08 80 1E */ slwi r8, r8, 16
|
|
/* 80088B2C 0008496C 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 80088B30 00084970 7C E8 3A 14 */ add r7, r8, r7
|
|
/* 80088B34 00084974 7C 09 02 14 */ add r0, r9, r0
|
|
/* 80088B38 00084978 7C 07 02 14 */ add r0, r7, r0
|
|
/* 80088B3C 0008497C 90 01 00 0C */ stw r0, 0xc(r1)
|
|
/* 80088B40 00084980 88 E6 00 0C */ lbz r7, 0xc(r6)
|
|
/* 80088B44 00084984 89 06 00 0B */ lbz r8, 0xb(r6)
|
|
/* 80088B48 00084988 88 06 00 0A */ lbz r0, 0xa(r6)
|
|
/* 80088B4C 0008498C 54 E9 C0 0E */ slwi r9, r7, 24
|
|
/* 80088B50 00084990 88 E6 00 09 */ lbz r7, 0x9(r6)
|
|
/* 80088B54 00084994 55 08 80 1E */ slwi r8, r8, 16
|
|
/* 80088B58 00084998 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 80088B5C 0008499C 7C E8 3A 14 */ add r7, r8, r7
|
|
/* 80088B60 000849A0 7C 09 02 14 */ add r0, r9, r0
|
|
/* 80088B64 000849A4 7C 07 02 14 */ add r0, r7, r0
|
|
/* 80088B68 000849A8 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 80088B6C 000849AC 88 E6 00 10 */ lbz r7, 0x10(r6)
|
|
/* 80088B70 000849B0 89 06 00 0F */ lbz r8, 0xf(r6)
|
|
/* 80088B74 000849B4 88 06 00 0E */ lbz r0, 0xe(r6)
|
|
/* 80088B78 000849B8 54 E9 C0 0E */ slwi r9, r7, 24
|
|
/* 80088B7C 000849BC 88 E6 00 0D */ lbz r7, 0xd(r6)
|
|
/* 80088B80 000849C0 55 08 80 1E */ slwi r8, r8, 16
|
|
/* 80088B84 000849C4 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 80088B88 000849C8 7C E8 3A 14 */ add r7, r8, r7
|
|
/* 80088B8C 000849CC 7C 09 02 14 */ add r0, r9, r0
|
|
/* 80088B90 000849D0 7C 07 02 14 */ add r0, r7, r0
|
|
/* 80088B94 000849D4 90 01 00 18 */ stw r0, 0x18(r1)
|
|
/* 80088B98 000849D8 89 06 00 14 */ lbz r8, 0x14(r6)
|
|
/* 80088B9C 000849DC 88 E6 00 13 */ lbz r7, 0x13(r6)
|
|
/* 80088BA0 000849E0 88 06 00 12 */ lbz r0, 0x12(r6)
|
|
/* 80088BA4 000849E4 55 08 C0 0E */ slwi r8, r8, 24
|
|
/* 80088BA8 000849E8 88 C6 00 11 */ lbz r6, 0x11(r6)
|
|
/* 80088BAC 000849EC 54 E7 80 1E */ slwi r7, r7, 16
|
|
/* 80088BB0 000849F0 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 80088BB4 000849F4 7C C7 32 14 */ add r6, r7, r6
|
|
/* 80088BB8 000849F8 7C 08 02 14 */ add r0, r8, r0
|
|
/* 80088BBC 000849FC 7C 06 02 14 */ add r0, r6, r0
|
|
/* 80088BC0 00084A00 90 01 00 1C */ stw r0, 0x1c(r1)
|
|
/* 80088BC4 00084A04 4B FF 67 05 */ bl btm_qos_setup_complete
|
|
/* 80088BC8 00084A08 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80088BCC 00084A0C 7C 08 03 A6 */ mtlr r0
|
|
/* 80088BD0 00084A10 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80088BD4 00084A14 4E 80 00 20 */ blr
|
|
.global btu_hcif_esco_connection_comp_evt
|
|
btu_hcif_esco_connection_comp_evt:
|
|
/* 80088BD8 00084A18 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 80088BDC 00084A1C 7C 08 02 A6 */ mflr r0
|
|
/* 80088BE0 00084A20 38 A0 00 06 */ li r5, 0x6
|
|
/* 80088BE4 00084A24 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 80088BE8 00084A28 38 81 00 08 */ addi r4, r1, 0x8
|
|
/* 80088BEC 00084A2C 93 E1 00 2C */ stw r31, 0x2c(r1)
|
|
/* 80088BF0 00084A30 93 C1 00 28 */ stw r30, 0x28(r1)
|
|
/* 80088BF4 00084A34 88 03 00 02 */ lbz r0, 0x2(r3)
|
|
/* 80088BF8 00084A38 8B E3 00 00 */ lbz r31, 0x0(r3)
|
|
/* 80088BFC 00084A3C 54 06 40 2E */ slwi r6, r0, 8
|
|
/* 80088C00 00084A40 88 E3 00 01 */ lbz r7, 0x1(r3)
|
|
/* 80088C04 00084A44 88 03 00 03 */ lbz r0, 0x3(r3)
|
|
/* 80088C08 00084A48 7C C7 32 14 */ add r6, r7, r6
|
|
/* 80088C0C 00084A4C 98 01 00 0D */ stb r0, 0xd(r1)
|
|
/* 80088C10 00084A50 54 DE 04 3E */ clrlwi r30, r6, 16
|
|
/* 80088C14 00084A54 88 03 00 04 */ lbz r0, 0x4(r3)
|
|
/* 80088C18 00084A58 98 01 00 0C */ stb r0, 0xc(r1)
|
|
/* 80088C1C 00084A5C 88 03 00 05 */ lbz r0, 0x5(r3)
|
|
/* 80088C20 00084A60 98 01 00 0B */ stb r0, 0xb(r1)
|
|
/* 80088C24 00084A64 88 03 00 06 */ lbz r0, 0x6(r3)
|
|
/* 80088C28 00084A68 98 01 00 0A */ stb r0, 0xa(r1)
|
|
/* 80088C2C 00084A6C 88 03 00 07 */ lbz r0, 0x7(r3)
|
|
/* 80088C30 00084A70 98 01 00 09 */ stb r0, 0x9(r1)
|
|
/* 80088C34 00084A74 88 03 00 08 */ lbz r0, 0x8(r3)
|
|
/* 80088C38 00084A78 98 01 00 08 */ stb r0, 0x8(r1)
|
|
/* 80088C3C 00084A7C 88 03 00 09 */ lbz r0, 0x9(r3)
|
|
/* 80088C40 00084A80 98 01 00 1A */ stb r0, 0x1a(r1)
|
|
/* 80088C44 00084A84 88 03 00 0A */ lbz r0, 0xa(r3)
|
|
/* 80088C48 00084A88 98 01 00 1B */ stb r0, 0x1b(r1)
|
|
/* 80088C4C 00084A8C 88 03 00 0B */ lbz r0, 0xb(r3)
|
|
/* 80088C50 00084A90 98 01 00 1C */ stb r0, 0x1c(r1)
|
|
/* 80088C54 00084A94 88 03 00 0D */ lbz r0, 0xd(r3)
|
|
/* 80088C58 00084A98 88 C3 00 0C */ lbz r6, 0xc(r3)
|
|
/* 80088C5C 00084A9C 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 80088C60 00084AA0 7C 06 02 14 */ add r0, r6, r0
|
|
/* 80088C64 00084AA4 B0 01 00 10 */ sth r0, 0x10(r1)
|
|
/* 80088C68 00084AA8 88 03 00 0F */ lbz r0, 0xf(r3)
|
|
/* 80088C6C 00084AAC 88 C3 00 0E */ lbz r6, 0xe(r3)
|
|
/* 80088C70 00084AB0 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 80088C74 00084AB4 7C 06 02 14 */ add r0, r6, r0
|
|
/* 80088C78 00084AB8 B0 01 00 12 */ sth r0, 0x12(r1)
|
|
/* 80088C7C 00084ABC 88 03 00 10 */ lbz r0, 0x10(r3)
|
|
/* 80088C80 00084AC0 38 61 00 14 */ addi r3, r1, 0x14
|
|
/* 80088C84 00084AC4 98 01 00 1D */ stb r0, 0x1d(r1)
|
|
/* 80088C88 00084AC8 4B F7 B3 79 */ bl memcpy
|
|
/* 80088C8C 00084ACC 7F E3 FB 78 */ mr r3, r31
|
|
/* 80088C90 00084AD0 7F C5 F3 78 */ mr r5, r30
|
|
/* 80088C94 00084AD4 38 81 00 08 */ addi r4, r1, 0x8
|
|
/* 80088C98 00084AD8 38 C1 00 10 */ addi r6, r1, 0x10
|
|
/* 80088C9C 00084ADC 4B FF BD 21 */ bl btm_sco_connected
|
|
/* 80088CA0 00084AE0 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 80088CA4 00084AE4 83 E1 00 2C */ lwz r31, 0x2c(r1)
|
|
/* 80088CA8 00084AE8 83 C1 00 28 */ lwz r30, 0x28(r1)
|
|
/* 80088CAC 00084AEC 7C 08 03 A6 */ mtlr r0
|
|
/* 80088CB0 00084AF0 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 80088CB4 00084AF4 4E 80 00 20 */ blr
|
|
.global btu_hcif_hdl_command_complete
|
|
btu_hcif_hdl_command_complete:
|
|
/* 80088CB8 00084AF8 2C 03 0C 14 */ cmpwi r3, 0xc14
|
|
/* 80088CBC 00084AFC 7C 66 1B 78 */ mr r6, r3
|
|
/* 80088CC0 00084B00 41 82 01 08 */ beq lbl_80088DC8
|
|
/* 80088CC4 00084B04 40 80 00 58 */ bge lbl_80088D1C
|
|
/* 80088CC8 00084B08 2C 03 0C 05 */ cmpwi r3, 0xc05
|
|
/* 80088CCC 00084B0C 41 82 00 B0 */ beq lbl_80088D7C
|
|
/* 80088CD0 00084B10 40 80 00 28 */ bge lbl_80088CF8
|
|
/* 80088CD4 00084B14 2C 03 08 0C */ cmpwi r3, 0x80c
|
|
/* 80088CD8 00084B18 41 82 00 D0 */ beq lbl_80088DA8
|
|
/* 80088CDC 00084B1C 40 80 00 10 */ bge lbl_80088CEC
|
|
/* 80088CE0 00084B20 2C 03 04 02 */ cmpwi r3, 0x402
|
|
/* 80088CE4 00084B24 41 82 00 90 */ beq lbl_80088D74
|
|
/* 80088CE8 00084B28 48 00 01 08 */ b lbl_80088DF0
|
|
.global lbl_80088CEC
|
|
lbl_80088CEC:
|
|
/* 80088CEC 00084B2C 2C 03 0C 03 */ cmpwi r3, 0xc03
|
|
/* 80088CF0 00084B30 41 82 00 80 */ beq lbl_80088D70
|
|
/* 80088CF4 00084B34 48 00 00 FC */ b lbl_80088DF0
|
|
.global lbl_80088CF8
|
|
lbl_80088CF8:
|
|
/* 80088CF8 00084B38 2C 03 0C 11 */ cmpwi r3, 0xc11
|
|
/* 80088CFC 00084B3C 41 82 00 90 */ beq lbl_80088D8C
|
|
/* 80088D00 00084B40 40 80 00 10 */ bge lbl_80088D10
|
|
/* 80088D04 00084B44 2C 03 0C 0D */ cmpwi r3, 0xc0d
|
|
/* 80088D08 00084B48 41 82 00 7C */ beq lbl_80088D84
|
|
/* 80088D0C 00084B4C 48 00 00 E4 */ b lbl_80088DF0
|
|
.global lbl_80088D10
|
|
lbl_80088D10:
|
|
/* 80088D10 00084B50 2C 03 0C 13 */ cmpwi r3, 0xc13
|
|
/* 80088D14 00084B54 40 80 00 DC */ bge lbl_80088DF0
|
|
/* 80088D18 00084B58 48 00 00 7C */ b lbl_80088D94
|
|
.global lbl_80088D1C
|
|
lbl_80088D1C:
|
|
/* 80088D1C 00084B5C 2C 03 10 09 */ cmpwi r3, 0x1009
|
|
/* 80088D20 00084B60 41 82 00 B4 */ beq lbl_80088DD4
|
|
/* 80088D24 00084B64 40 80 00 28 */ bge lbl_80088D4C
|
|
/* 80088D28 00084B68 2C 03 10 03 */ cmpwi r3, 0x1003
|
|
/* 80088D2C 00084B6C 41 82 00 90 */ beq lbl_80088DBC
|
|
/* 80088D30 00084B70 40 80 00 10 */ bge lbl_80088D40
|
|
/* 80088D34 00084B74 2C 03 10 01 */ cmpwi r3, 0x1001
|
|
/* 80088D38 00084B78 41 82 00 64 */ beq lbl_80088D9C
|
|
/* 80088D3C 00084B7C 48 00 00 B4 */ b lbl_80088DF0
|
|
.global lbl_80088D40
|
|
lbl_80088D40:
|
|
/* 80088D40 00084B80 2C 03 10 05 */ cmpwi r3, 0x1005
|
|
/* 80088D44 00084B84 41 82 00 6C */ beq lbl_80088DB0
|
|
/* 80088D48 00084B88 48 00 00 A8 */ b lbl_80088DF0
|
|
.global lbl_80088D4C
|
|
lbl_80088D4C:
|
|
/* 80088D4C 00084B8C 2C 03 14 04 */ cmpwi r3, 0x1404
|
|
/* 80088D50 00084B90 41 82 00 A0 */ beq lbl_80088DF0
|
|
/* 80088D54 00084B94 40 80 00 10 */ bge lbl_80088D64
|
|
/* 80088D58 00084B98 2C 03 14 03 */ cmpwi r3, 0x1403
|
|
/* 80088D5C 00084B9C 40 80 00 84 */ bge lbl_80088DE0
|
|
/* 80088D60 00084BA0 48 00 00 90 */ b lbl_80088DF0
|
|
.global lbl_80088D64
|
|
lbl_80088D64:
|
|
/* 80088D64 00084BA4 2C 03 14 06 */ cmpwi r3, 0x1406
|
|
/* 80088D68 00084BA8 40 80 00 88 */ bge lbl_80088DF0
|
|
/* 80088D6C 00084BAC 48 00 00 7C */ b lbl_80088DE8
|
|
.global lbl_80088D70
|
|
lbl_80088D70:
|
|
/* 80088D70 00084BB0 4B FF 7A BC */ b btm_reset_complete
|
|
.global lbl_80088D74
|
|
lbl_80088D74:
|
|
/* 80088D74 00084BB4 38 60 00 00 */ li r3, 0x0
|
|
/* 80088D78 00084BB8 4B FF A5 DC */ b btm_process_inq_complete
|
|
.global lbl_80088D7C
|
|
lbl_80088D7C:
|
|
/* 80088D7C 00084BBC 7C 83 23 78 */ mr r3, r4
|
|
/* 80088D80 00084BC0 4B FF A1 3C */ b btm_event_filter_complete
|
|
.global lbl_80088D84
|
|
lbl_80088D84:
|
|
/* 80088D84 00084BC4 7C 83 23 78 */ mr r3, r4
|
|
/* 80088D88 00084BC8 4B FF 8B 08 */ b btm_read_stored_link_key_complete
|
|
.global lbl_80088D8C
|
|
lbl_80088D8C:
|
|
/* 80088D8C 00084BCC 7C 83 23 78 */ mr r3, r4
|
|
/* 80088D90 00084BD0 4B FF 8B 7C */ b btm_write_stored_link_key_complete
|
|
.global lbl_80088D94
|
|
lbl_80088D94:
|
|
/* 80088D94 00084BD4 7C 83 23 78 */ mr r3, r4
|
|
/* 80088D98 00084BD8 4B FF 8B D0 */ b btm_delete_stored_link_key_complete
|
|
.global lbl_80088D9C
|
|
lbl_80088D9C:
|
|
/* 80088D9C 00084BDC 7C 83 23 78 */ mr r3, r4
|
|
/* 80088DA0 00084BE0 7C A4 2B 78 */ mr r4, r5
|
|
/* 80088DA4 00084BE4 4B FF 7D 14 */ b btm_read_local_version_complete
|
|
.global lbl_80088DA8
|
|
lbl_80088DA8:
|
|
/* 80088DA8 00084BE8 7C 83 23 78 */ mr r3, r4
|
|
/* 80088DAC 00084BEC 4B FF 5A A0 */ b btm_read_link_policy_complete
|
|
.global lbl_80088DB0
|
|
lbl_80088DB0:
|
|
/* 80088DB0 00084BF0 7C 83 23 78 */ mr r3, r4
|
|
/* 80088DB4 00084BF4 7C A4 2B 78 */ mr r4, r5
|
|
/* 80088DB8 00084BF8 4B FF 7C 38 */ b btm_read_hci_buf_size_complete
|
|
.global lbl_80088DBC
|
|
lbl_80088DBC:
|
|
/* 80088DBC 00084BFC 7C 83 23 78 */ mr r3, r4
|
|
/* 80088DC0 00084C00 7C A4 2B 78 */ mr r4, r5
|
|
/* 80088DC4 00084C04 4B FF 7D B0 */ b btm_read_local_features_complete
|
|
.global lbl_80088DC8
|
|
lbl_80088DC8:
|
|
/* 80088DC8 00084C08 7C 83 23 78 */ mr r3, r4
|
|
/* 80088DCC 00084C0C 7C A4 2B 78 */ mr r4, r5
|
|
/* 80088DD0 00084C10 4B FF 83 58 */ b btm_read_local_name_complete
|
|
.global lbl_80088DD4
|
|
lbl_80088DD4:
|
|
/* 80088DD4 00084C14 7C 83 23 78 */ mr r3, r4
|
|
/* 80088DD8 00084C18 7C A4 2B 78 */ mr r4, r5
|
|
/* 80088DDC 00084C1C 4B FF 84 18 */ b btm_read_local_addr_complete
|
|
.global lbl_80088DE0
|
|
lbl_80088DE0:
|
|
/* 80088DE0 00084C20 7C 83 23 78 */ mr r3, r4
|
|
/* 80088DE4 00084C24 4B FF 69 50 */ b btm_read_link_quality_complete
|
|
.global lbl_80088DE8
|
|
lbl_80088DE8:
|
|
/* 80088DE8 00084C28 7C 83 23 78 */ mr r3, r4
|
|
/* 80088DEC 00084C2C 4B FF 68 2C */ b btm_read_rssi_complete
|
|
.global lbl_80088DF0
|
|
lbl_80088DF0:
|
|
/* 80088DF0 00084C30 54 63 04 2A */ rlwinm r3, r3, 0, 16, 21
|
|
/* 80088DF4 00084C34 3C 03 00 00 */ addis r0, r3, 0x0
|
|
/* 80088DF8 00084C38 28 00 FC 00 */ cmplwi r0, 0xfc00
|
|
/* 80088DFC 00084C3C 4C 82 00 20 */ bnelr
|
|
/* 80088E00 00084C40 7C 83 23 78 */ mr r3, r4
|
|
/* 80088E04 00084C44 7C C4 33 78 */ mr r4, r6
|
|
/* 80088E08 00084C48 4B FF 86 34 */ b btm_vsc_complete
|
|
/* 80088E0C 00084C4C 4E 80 00 20 */ blr
|
|
.global btu_hcif_command_complete_evt
|
|
btu_hcif_command_complete_evt:
|
|
/* 80088E10 00084C50 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80088E14 00084C54 7C 08 02 A6 */ mflr r0
|
|
/* 80088E18 00084C58 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80088E1C 00084C5C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 80088E20 00084C60 3F E0 80 4F */ lis r31, btu_cb@ha
|
|
/* 80088E24 00084C64 3B FF 5A 30 */ addi r31, r31, btu_cb@l
|
|
/* 80088E28 00084C68 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 80088E2C 00084C6C 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 80088E30 00084C70 7C 9D 23 78 */ mr r29, r4
|
|
/* 80088E34 00084C74 93 81 00 10 */ stw r28, 0x10(r1)
|
|
/* 80088E38 00084C78 7C 7C 1B 78 */ mr r28, r3
|
|
/* 80088E3C 00084C7C 88 03 00 00 */ lbz r0, 0x0(r3)
|
|
/* 80088E40 00084C80 B0 1F 00 80 */ sth r0, 0x80(r31)
|
|
/* 80088E44 00084C84 88 03 00 02 */ lbz r0, 0x2(r3)
|
|
/* 80088E48 00084C88 88 63 00 01 */ lbz r3, 0x1(r3)
|
|
/* 80088E4C 00084C8C 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 80088E50 00084C90 7C 03 02 14 */ add r0, r3, r0
|
|
/* 80088E54 00084C94 54 1E 04 3E */ clrlwi r30, r0, 16
|
|
/* 80088E58 00084C98 28 1E 0C 03 */ cmplwi r30, 0xc03
|
|
/* 80088E5C 00084C9C 41 82 00 90 */ beq lbl_80088EEC
|
|
/* 80088E60 00084CA0 28 1E 0C 35 */ cmplwi r30, 0xc35
|
|
/* 80088E64 00084CA4 41 82 00 88 */ beq lbl_80088EEC
|
|
/* 80088E68 00084CA8 2C 1E 00 00 */ cmpwi r30, 0x0
|
|
/* 80088E6C 00084CAC 41 82 00 80 */ beq lbl_80088EEC
|
|
/* 80088E70 00084CB0 38 7F 00 70 */ addi r3, r31, 0x70
|
|
/* 80088E74 00084CB4 4B FE C7 4D */ bl GKI_dequeue
|
|
/* 80088E78 00084CB8 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80088E7C 00084CBC 41 82 00 3C */ beq lbl_80088EB8
|
|
/* 80088E80 00084CC0 88 03 00 09 */ lbz r0, 0x9(r3)
|
|
/* 80088E84 00084CC4 28 1E FC 4C */ cmplwi r30, 0xfc4c
|
|
/* 80088E88 00084CC8 88 83 00 08 */ lbz r4, 0x8(r3)
|
|
/* 80088E8C 00084CCC 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 80088E90 00084CD0 7C 04 02 14 */ add r0, r4, r0
|
|
/* 80088E94 00084CD4 54 00 04 3E */ clrlwi r0, r0, 16
|
|
/* 80088E98 00084CD8 40 82 00 1C */ bne lbl_80088EB4
|
|
/* 80088E9C 00084CDC 7C 00 F0 40 */ cmplw r0, r30
|
|
/* 80088EA0 00084CE0 41 82 00 14 */ beq lbl_80088EB4
|
|
/* 80088EA4 00084CE4 7C 64 1B 78 */ mr r4, r3
|
|
/* 80088EA8 00084CE8 38 7F 00 70 */ addi r3, r31, 0x70
|
|
/* 80088EAC 00084CEC 4B FE C5 D5 */ bl GKI_enqueue_head
|
|
/* 80088EB0 00084CF0 48 00 00 58 */ b lbl_80088F08
|
|
.global lbl_80088EB4
|
|
lbl_80088EB4:
|
|
/* 80088EB4 00084CF4 4B FE C0 5D */ bl GKI_freebuf
|
|
.global lbl_80088EB8
|
|
lbl_80088EB8:
|
|
/* 80088EB8 00084CF8 3F E0 80 4F */ lis r31, btu_cb@ha
|
|
/* 80088EBC 00084CFC 3B FF 5A 30 */ addi r31, r31, btu_cb@l
|
|
/* 80088EC0 00084D00 38 7F 00 70 */ addi r3, r31, 0x70
|
|
/* 80088EC4 00084D04 4B FE C8 9D */ bl GKI_queue_is_empty
|
|
/* 80088EC8 00084D08 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 80088ECC 00084D0C 40 82 00 18 */ bne lbl_80088EE4
|
|
/* 80088ED0 00084D10 38 7F 00 4C */ addi r3, r31, 0x4c
|
|
/* 80088ED4 00084D14 38 80 00 3C */ li r4, 0x3c
|
|
/* 80088ED8 00084D18 38 A0 00 08 */ li r5, 0x8
|
|
/* 80088EDC 00084D1C 4B FE EF D5 */ bl btu_start_timer
|
|
/* 80088EE0 00084D20 48 00 00 0C */ b lbl_80088EEC
|
|
.global lbl_80088EE4
|
|
lbl_80088EE4:
|
|
/* 80088EE4 00084D24 38 7F 00 4C */ addi r3, r31, 0x4c
|
|
/* 80088EE8 00084D28 4B FE F0 39 */ bl btu_stop_timer
|
|
.global lbl_80088EEC
|
|
lbl_80088EEC:
|
|
/* 80088EEC 00084D2C 38 1D FF FD */ addi r0, r29, -0x3
|
|
/* 80088EF0 00084D30 7F C3 F3 78 */ mr r3, r30
|
|
/* 80088EF4 00084D34 38 9C 00 03 */ addi r4, r28, 0x3
|
|
/* 80088EF8 00084D38 54 05 04 3E */ clrlwi r5, r0, 16
|
|
/* 80088EFC 00084D3C 4B FF FD BD */ bl btu_hcif_hdl_command_complete
|
|
/* 80088F00 00084D40 38 60 00 00 */ li r3, 0x0
|
|
/* 80088F04 00084D44 4B FF F8 E1 */ bl btu_hcif_send_cmd
|
|
.global lbl_80088F08
|
|
lbl_80088F08:
|
|
/* 80088F08 00084D48 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80088F0C 00084D4C 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 80088F10 00084D50 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 80088F14 00084D54 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 80088F18 00084D58 83 81 00 10 */ lwz r28, 0x10(r1)
|
|
/* 80088F1C 00084D5C 7C 08 03 A6 */ mtlr r0
|
|
/* 80088F20 00084D60 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80088F24 00084D64 4E 80 00 20 */ blr
|
|
.global btu_hcif_hdl_command_status
|
|
btu_hcif_hdl_command_status:
|
|
/* 80088F28 00084D68 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 80088F2C 00084D6C 7C 08 02 A6 */ mflr r0
|
|
/* 80088F30 00084D70 2C 03 08 02 */ cmpwi r3, 0x802
|
|
/* 80088F34 00084D74 7C 66 1B 78 */ mr r6, r3
|
|
/* 80088F38 00084D78 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 80088F3C 00084D7C 93 E1 00 2C */ stw r31, 0x2c(r1)
|
|
/* 80088F40 00084D80 93 C1 00 28 */ stw r30, 0x28(r1)
|
|
/* 80088F44 00084D84 7C 9E 23 78 */ mr r30, r4
|
|
/* 80088F48 00084D88 41 82 00 28 */ beq lbl_80088F70
|
|
/* 80088F4C 00084D8C 40 80 00 10 */ bge lbl_80088F5C
|
|
/* 80088F50 00084D90 2C 03 08 01 */ cmpwi r3, 0x801
|
|
/* 80088F54 00084D94 40 80 00 10 */ bge lbl_80088F64
|
|
/* 80088F58 00084D98 48 00 00 18 */ b lbl_80088F70
|
|
.global lbl_80088F5C
|
|
lbl_80088F5C:
|
|
/* 80088F5C 00084D9C 2C 03 08 07 */ cmpwi r3, 0x807
|
|
/* 80088F60 00084DA0 40 80 00 10 */ bge lbl_80088F70
|
|
.global lbl_80088F64
|
|
lbl_80088F64:
|
|
/* 80088F64 00084DA4 7F C3 F3 78 */ mr r3, r30
|
|
/* 80088F68 00084DA8 4B FF B1 F1 */ bl btm_pm_proc_cmd_status
|
|
/* 80088F6C 00084DAC 48 00 01 A4 */ b lbl_80089110
|
|
.global lbl_80088F70
|
|
lbl_80088F70:
|
|
/* 80088F70 00084DB0 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 80088F74 00084DB4 41 82 01 9C */ beq lbl_80089110
|
|
/* 80088F78 00084DB8 2C 03 04 19 */ cmpwi r3, 0x419
|
|
/* 80088F7C 00084DBC 41 82 00 50 */ beq lbl_80088FCC
|
|
/* 80088F80 00084DC0 40 80 00 28 */ bge lbl_80088FA8
|
|
/* 80088F84 00084DC4 2C 03 04 01 */ cmpwi r3, 0x401
|
|
/* 80088F88 00084DC8 41 82 00 38 */ beq lbl_80088FC0
|
|
/* 80088F8C 00084DCC 40 80 00 10 */ bge lbl_80088F9C
|
|
/* 80088F90 00084DD0 2C 03 00 0D */ cmpwi r3, 0xd
|
|
/* 80088F94 00084DD4 41 82 00 60 */ beq lbl_80088FF4
|
|
/* 80088F98 00084DD8 48 00 01 58 */ b lbl_800890F0
|
|
.global lbl_80088F9C
|
|
lbl_80088F9C:
|
|
/* 80088F9C 00084DDC 2C 03 04 05 */ cmpwi r3, 0x405
|
|
/* 80088FA0 00084DE0 41 82 00 80 */ beq lbl_80089020
|
|
/* 80088FA4 00084DE4 48 00 01 4C */ b lbl_800890F0
|
|
.global lbl_80088FA8
|
|
lbl_80088FA8:
|
|
/* 80088FA8 00084DE8 2C 03 08 0B */ cmpwi r3, 0x80b
|
|
/* 80088FAC 00084DEC 41 82 00 5C */ beq lbl_80089008
|
|
/* 80088FB0 00084DF0 40 80 01 40 */ bge lbl_800890F0
|
|
/* 80088FB4 00084DF4 2C 03 04 28 */ cmpwi r3, 0x428
|
|
/* 80088FB8 00084DF8 41 82 00 D4 */ beq lbl_8008908C
|
|
/* 80088FBC 00084DFC 48 00 01 34 */ b lbl_800890F0
|
|
.global lbl_80088FC0
|
|
lbl_80088FC0:
|
|
/* 80088FC0 00084E00 7F C3 F3 78 */ mr r3, r30
|
|
/* 80088FC4 00084E04 4B FF A3 91 */ bl btm_process_inq_complete
|
|
/* 80088FC8 00084E08 48 00 01 48 */ b lbl_80089110
|
|
.global lbl_80088FCC
|
|
lbl_80088FCC:
|
|
/* 80088FCC 00084E0C 7F C6 F3 78 */ mr r6, r30
|
|
/* 80088FD0 00084E10 38 60 00 00 */ li r3, 0x0
|
|
/* 80088FD4 00084E14 38 80 00 00 */ li r4, 0x0
|
|
/* 80088FD8 00084E18 38 A0 00 00 */ li r5, 0x0
|
|
/* 80088FDC 00084E1C 4B FF A5 CD */ bl btm_process_remote_name
|
|
/* 80088FE0 00084E20 7F C5 F3 78 */ mr r5, r30
|
|
/* 80088FE4 00084E24 38 60 00 00 */ li r3, 0x0
|
|
/* 80088FE8 00084E28 38 80 00 00 */ li r4, 0x0
|
|
/* 80088FEC 00084E2C 4B FF D6 19 */ bl btm_sec_rmt_name_request_complete
|
|
/* 80088FF0 00084E30 48 00 01 20 */ b lbl_80089110
|
|
.global lbl_80088FF4
|
|
lbl_80088FF4:
|
|
/* 80088FF4 00084E34 7F C3 F3 78 */ mr r3, r30
|
|
/* 80088FF8 00084E38 38 80 00 00 */ li r4, 0x0
|
|
/* 80088FFC 00084E3C 38 A0 00 00 */ li r5, 0x0
|
|
/* 80089000 00084E40 4B FF 62 C9 */ bl btm_qos_setup_complete
|
|
/* 80089004 00084E44 48 00 01 0C */ b lbl_80089110
|
|
.global lbl_80089008
|
|
lbl_80089008:
|
|
/* 80089008 00084E48 7F C3 F3 78 */ mr r3, r30
|
|
/* 8008900C 00084E4C 38 80 00 00 */ li r4, 0x0
|
|
/* 80089010 00084E50 38 A0 00 FF */ li r5, 0xff
|
|
/* 80089014 00084E54 4B FF 5E 81 */ bl btm_acl_role_changed
|
|
/* 80089018 00084E58 48 00 A2 6D */ bl l2c_link_role_change_failed
|
|
/* 8008901C 00084E5C 48 00 00 F4 */ b lbl_80089110
|
|
.global lbl_80089020
|
|
lbl_80089020:
|
|
/* 80089020 00084E60 2C 05 00 00 */ cmpwi r5, 0x0
|
|
/* 80089024 00084E64 41 82 00 EC */ beq lbl_80089110
|
|
/* 80089028 00084E68 88 85 00 01 */ lbz r4, 0x1(r5)
|
|
/* 8008902C 00084E6C 3F E0 00 01 */ lis r31, 0x1
|
|
/* 80089030 00084E70 38 1F FF FF */ addi r0, r31, -0x1
|
|
/* 80089034 00084E74 38 61 00 08 */ addi r3, r1, 0x8
|
|
/* 80089038 00084E78 98 81 00 0D */ stb r4, 0xd(r1)
|
|
/* 8008903C 00084E7C 54 04 04 3E */ clrlwi r4, r0, 16
|
|
/* 80089040 00084E80 38 C0 00 00 */ li r6, 0x0
|
|
/* 80089044 00084E84 88 05 00 02 */ lbz r0, 0x2(r5)
|
|
/* 80089048 00084E88 98 01 00 0C */ stb r0, 0xc(r1)
|
|
/* 8008904C 00084E8C 88 05 00 03 */ lbz r0, 0x3(r5)
|
|
/* 80089050 00084E90 98 01 00 0B */ stb r0, 0xb(r1)
|
|
/* 80089054 00084E94 88 05 00 04 */ lbz r0, 0x4(r5)
|
|
/* 80089058 00084E98 98 01 00 0A */ stb r0, 0xa(r1)
|
|
/* 8008905C 00084E9C 88 05 00 05 */ lbz r0, 0x5(r5)
|
|
/* 80089060 00084EA0 98 01 00 09 */ stb r0, 0x9(r1)
|
|
/* 80089064 00084EA4 88 05 00 06 */ lbz r0, 0x6(r5)
|
|
/* 80089068 00084EA8 7F C5 F3 78 */ mr r5, r30
|
|
/* 8008906C 00084EAC 98 01 00 08 */ stb r0, 0x8(r1)
|
|
/* 80089070 00084EB0 4B FF DE 39 */ bl btm_sec_connected
|
|
/* 80089074 00084EB4 38 1F FF FF */ addi r0, r31, -0x1
|
|
/* 80089078 00084EB8 7F C3 F3 78 */ mr r3, r30
|
|
/* 8008907C 00084EBC 38 A1 00 08 */ addi r5, r1, 0x8
|
|
/* 80089080 00084EC0 54 04 04 3E */ clrlwi r4, r0, 16
|
|
/* 80089084 00084EC4 48 00 93 55 */ bl l2c_link_hci_conn_comp
|
|
/* 80089088 00084EC8 48 00 00 88 */ b lbl_80089110
|
|
.global lbl_8008908C
|
|
lbl_8008908C:
|
|
/* 8008908C 00084ECC 2C 05 00 00 */ cmpwi r5, 0x0
|
|
/* 80089090 00084ED0 41 82 00 80 */ beq lbl_80089110
|
|
/* 80089094 00084ED4 88 05 00 02 */ lbz r0, 0x2(r5)
|
|
/* 80089098 00084ED8 88 65 00 01 */ lbz r3, 0x1(r5)
|
|
/* 8008909C 00084EDC 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 800890A0 00084EE0 7C 03 02 14 */ add r0, r3, r0
|
|
/* 800890A4 00084EE4 54 1F 04 3E */ clrlwi r31, r0, 16
|
|
/* 800890A8 00084EE8 7F E3 FB 78 */ mr r3, r31
|
|
/* 800890AC 00084EEC 4B FF C0 65 */ bl btm_is_sco_active
|
|
/* 800890B0 00084EF0 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 800890B4 00084EF4 41 82 00 24 */ beq lbl_800890D8
|
|
/* 800890B8 00084EF8 7F C3 F3 78 */ mr r3, r30
|
|
/* 800890BC 00084EFC 7F E4 FB 78 */ mr r4, r31
|
|
/* 800890C0 00084F00 38 A0 00 00 */ li r5, 0x0
|
|
/* 800890C4 00084F04 38 C0 00 00 */ li r6, 0x0
|
|
/* 800890C8 00084F08 38 E0 00 00 */ li r7, 0x0
|
|
/* 800890CC 00084F0C 39 00 00 00 */ li r8, 0x0
|
|
/* 800890D0 00084F10 4B FF BF 3D */ bl btm_esco_proc_conn_chg
|
|
/* 800890D4 00084F14 48 00 00 3C */ b lbl_80089110
|
|
.global lbl_800890D8
|
|
lbl_800890D8:
|
|
/* 800890D8 00084F18 7F C3 F3 78 */ mr r3, r30
|
|
/* 800890DC 00084F1C 7F E5 FB 78 */ mr r5, r31
|
|
/* 800890E0 00084F20 38 C1 00 10 */ addi r6, r1, 0x10
|
|
/* 800890E4 00084F24 38 80 00 00 */ li r4, 0x0
|
|
/* 800890E8 00084F28 4B FF B8 D5 */ bl btm_sco_connected
|
|
/* 800890EC 00084F2C 48 00 00 24 */ b lbl_80089110
|
|
.global lbl_800890F0
|
|
lbl_800890F0:
|
|
/* 800890F0 00084F30 54 63 04 2A */ rlwinm r3, r3, 0, 16, 21
|
|
/* 800890F4 00084F34 3C 03 00 00 */ addis r0, r3, 0x0
|
|
/* 800890F8 00084F38 28 00 FC 00 */ cmplwi r0, 0xfc00
|
|
/* 800890FC 00084F3C 40 82 00 14 */ bne lbl_80089110
|
|
/* 80089100 00084F40 7C A3 2B 78 */ mr r3, r5
|
|
/* 80089104 00084F44 7C C4 33 78 */ mr r4, r6
|
|
/* 80089108 00084F48 38 A0 00 01 */ li r5, 0x1
|
|
/* 8008910C 00084F4C 4B FF 83 31 */ bl btm_vsc_complete
|
|
.global lbl_80089110
|
|
lbl_80089110:
|
|
/* 80089110 00084F50 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 80089114 00084F54 83 E1 00 2C */ lwz r31, 0x2c(r1)
|
|
/* 80089118 00084F58 83 C1 00 28 */ lwz r30, 0x28(r1)
|
|
/* 8008911C 00084F5C 7C 08 03 A6 */ mtlr r0
|
|
/* 80089120 00084F60 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 80089124 00084F64 4E 80 00 20 */ blr
|
|
.global btu_hcif_command_status_evt
|
|
btu_hcif_command_status_evt:
|
|
/* 80089128 00084F68 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8008912C 00084F6C 7C 08 02 A6 */ mflr r0
|
|
/* 80089130 00084F70 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80089134 00084F74 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 80089138 00084F78 4B F7 E2 05 */ bl lbl_8000733C
|
|
/* 8008913C 00084F7C 3C 80 80 4F */ lis r4, btu_cb@ha
|
|
/* 80089140 00084F80 8B A3 00 00 */ lbz r29, 0x0(r3)
|
|
/* 80089144 00084F84 88 03 00 01 */ lbz r0, 0x1(r3)
|
|
/* 80089148 00084F88 38 84 5A 30 */ addi r4, r4, btu_cb@l
|
|
/* 8008914C 00084F8C 3B E0 00 00 */ li r31, 0x0
|
|
/* 80089150 00084F90 3B 60 00 00 */ li r27, 0x0
|
|
/* 80089154 00084F94 B0 04 00 80 */ sth r0, 0x80(r4)
|
|
/* 80089158 00084F98 88 03 00 03 */ lbz r0, 0x3(r3)
|
|
/* 8008915C 00084F9C 88 63 00 02 */ lbz r3, 0x2(r3)
|
|
/* 80089160 00084FA0 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 80089164 00084FA4 7C 03 02 14 */ add r0, r3, r0
|
|
/* 80089168 00084FA8 54 1C 04 3E */ clrlwi r28, r0, 16
|
|
/* 8008916C 00084FAC 28 1C 0C 03 */ cmplwi r28, 0xc03
|
|
/* 80089170 00084FB0 41 82 00 A0 */ beq lbl_80089210
|
|
/* 80089174 00084FB4 28 1C 0C 35 */ cmplwi r28, 0xc35
|
|
/* 80089178 00084FB8 41 82 00 98 */ beq lbl_80089210
|
|
/* 8008917C 00084FBC 2C 1C 00 00 */ cmpwi r28, 0x0
|
|
/* 80089180 00084FC0 41 82 00 90 */ beq lbl_80089210
|
|
/* 80089184 00084FC4 38 64 00 70 */ addi r3, r4, 0x70
|
|
/* 80089188 00084FC8 4B FE C4 39 */ bl GKI_dequeue
|
|
/* 8008918C 00084FCC 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80089190 00084FD0 7C 7F 1B 78 */ mr r31, r3
|
|
/* 80089194 00084FD4 41 82 00 48 */ beq lbl_800891DC
|
|
/* 80089198 00084FD8 A0 03 00 04 */ lhz r0, 0x4(r3)
|
|
/* 8008919C 00084FDC 7C 63 02 14 */ add r3, r3, r0
|
|
/* 800891A0 00084FE0 88 03 00 09 */ lbz r0, 0x9(r3)
|
|
/* 800891A4 00084FE4 3B 63 00 0A */ addi r27, r3, 0xa
|
|
/* 800891A8 00084FE8 88 63 00 08 */ lbz r3, 0x8(r3)
|
|
/* 800891AC 00084FEC 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 800891B0 00084FF0 7C 03 02 14 */ add r0, r3, r0
|
|
/* 800891B4 00084FF4 54 06 04 3E */ clrlwi r6, r0, 16
|
|
/* 800891B8 00084FF8 7C 06 E0 40 */ cmplw r6, r28
|
|
/* 800891BC 00084FFC 41 82 00 20 */ beq lbl_800891DC
|
|
/* 800891C0 00085000 3C 60 00 07 */ lis r3, 0x7
|
|
/* 800891C4 00085004 3C 80 80 44 */ lis r4, "@2352"@ha
|
|
/* 800891C8 00085008 7F 85 E3 78 */ mr r5, r28
|
|
/* 800891CC 0008500C 3B 60 00 00 */ li r27, 0x0
|
|
/* 800891D0 00085010 38 63 00 01 */ addi r3, r3, 0x1
|
|
/* 800891D4 00085014 38 84 CC A8 */ addi r4, r4, "@2352"@l
|
|
/* 800891D8 00085018 4B FE E7 89 */ bl LogMsg_0
|
|
.global lbl_800891DC
|
|
lbl_800891DC:
|
|
/* 800891DC 0008501C 3F C0 80 4F */ lis r30, btu_cb@ha
|
|
/* 800891E0 00085020 3B DE 5A 30 */ addi r30, r30, btu_cb@l
|
|
/* 800891E4 00085024 38 7E 00 70 */ addi r3, r30, 0x70
|
|
/* 800891E8 00085028 4B FE C5 79 */ bl GKI_queue_is_empty
|
|
/* 800891EC 0008502C 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 800891F0 00085030 40 82 00 18 */ bne lbl_80089208
|
|
/* 800891F4 00085034 38 7E 00 4C */ addi r3, r30, 0x4c
|
|
/* 800891F8 00085038 38 80 00 3C */ li r4, 0x3c
|
|
/* 800891FC 0008503C 38 A0 00 08 */ li r5, 0x8
|
|
/* 80089200 00085040 4B FE EC B1 */ bl btu_start_timer
|
|
/* 80089204 00085044 48 00 00 0C */ b lbl_80089210
|
|
.global lbl_80089208
|
|
lbl_80089208:
|
|
/* 80089208 00085048 38 7E 00 4C */ addi r3, r30, 0x4c
|
|
/* 8008920C 0008504C 4B FE ED 15 */ bl btu_stop_timer
|
|
.global lbl_80089210
|
|
lbl_80089210:
|
|
/* 80089210 00085050 7F 83 E3 78 */ mr r3, r28
|
|
/* 80089214 00085054 7F A4 EB 78 */ mr r4, r29
|
|
/* 80089218 00085058 7F 65 DB 78 */ mr r5, r27
|
|
/* 8008921C 0008505C 4B FF FD 0D */ bl btu_hcif_hdl_command_status
|
|
/* 80089220 00085060 2C 1F 00 00 */ cmpwi r31, 0x0
|
|
/* 80089224 00085064 41 82 00 0C */ beq lbl_80089230
|
|
/* 80089228 00085068 7F E3 FB 78 */ mr r3, r31
|
|
/* 8008922C 0008506C 4B FE BC E5 */ bl GKI_freebuf
|
|
.global lbl_80089230
|
|
lbl_80089230:
|
|
/* 80089230 00085070 38 60 00 00 */ li r3, 0x0
|
|
/* 80089234 00085074 4B FF F5 B1 */ bl btu_hcif_send_cmd
|
|
/* 80089238 00085078 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8008923C 0008507C 4B F7 E1 4D */ bl lbl_80007388
|
|
/* 80089240 00085080 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80089244 00085084 7C 08 03 A6 */ mtlr r0
|
|
/* 80089248 00085088 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8008924C 0008508C 4E 80 00 20 */ blr
|
|
.global btu_hcif_cmd_timeout
|
|
btu_hcif_cmd_timeout:
|
|
/* 80089250 00085090 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80089254 00085094 7C 08 02 A6 */ mflr r0
|
|
/* 80089258 00085098 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8008925C 0008509C 38 00 00 01 */ li r0, 0x1
|
|
/* 80089260 000850A0 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 80089264 000850A4 3F E0 80 4F */ lis r31, btu_cb@ha
|
|
/* 80089268 000850A8 3B FF 5A 30 */ addi r31, r31, btu_cb@l
|
|
/* 8008926C 000850AC 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 80089270 000850B0 38 7F 00 70 */ addi r3, r31, 0x70
|
|
/* 80089274 000850B4 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 80089278 000850B8 B0 1F 00 80 */ sth r0, 0x80(r31)
|
|
/* 8008927C 000850BC 4B FE C3 45 */ bl GKI_dequeue
|
|
/* 80089280 000850C0 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80089284 000850C4 7C 7E 1B 78 */ mr r30, r3
|
|
/* 80089288 000850C8 40 82 00 1C */ bne lbl_800892A4
|
|
/* 8008928C 000850CC 3C 60 00 07 */ lis r3, 0x7
|
|
/* 80089290 000850D0 3C 80 80 44 */ lis r4, "@2368"@ha
|
|
/* 80089294 000850D4 38 63 00 01 */ addi r3, r3, 0x1
|
|
/* 80089298 000850D8 38 84 CC D0 */ addi r4, r4, "@2368"@l
|
|
/* 8008929C 000850DC 4B FE E6 C5 */ bl LogMsg_0
|
|
/* 800892A0 000850E0 48 00 00 EC */ b lbl_8008938C
|
|
.global lbl_800892A4
|
|
lbl_800892A4:
|
|
/* 800892A4 000850E4 38 7F 00 70 */ addi r3, r31, 0x70
|
|
/* 800892A8 000850E8 4B FE C4 B9 */ bl GKI_queue_is_empty
|
|
/* 800892AC 000850EC 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 800892B0 000850F0 40 82 00 14 */ bne lbl_800892C4
|
|
/* 800892B4 000850F4 38 7F 00 4C */ addi r3, r31, 0x4c
|
|
/* 800892B8 000850F8 38 80 00 3C */ li r4, 0x3c
|
|
/* 800892BC 000850FC 38 A0 00 08 */ li r5, 0x8
|
|
/* 800892C0 00085100 4B FE EB F1 */ bl btu_start_timer
|
|
.global lbl_800892C4
|
|
lbl_800892C4:
|
|
/* 800892C4 00085104 A0 1E 00 04 */ lhz r0, 0x4(r30)
|
|
/* 800892C8 00085108 3C 60 00 07 */ lis r3, 0x7
|
|
/* 800892CC 0008510C 3C 80 80 44 */ lis r4, "@2369"@ha
|
|
/* 800892D0 00085110 7F FE 02 14 */ add r31, r30, r0
|
|
/* 800892D4 00085114 38 63 00 01 */ addi r3, r3, 0x1
|
|
/* 800892D8 00085118 88 1F 00 09 */ lbz r0, 0x9(r31)
|
|
/* 800892DC 0008511C 38 84 CC F0 */ addi r4, r4, "@2369"@l
|
|
/* 800892E0 00085120 88 BF 00 08 */ lbz r5, 0x8(r31)
|
|
/* 800892E4 00085124 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 800892E8 00085128 7C 05 02 14 */ add r0, r5, r0
|
|
/* 800892EC 0008512C 54 1D 04 3E */ clrlwi r29, r0, 16
|
|
/* 800892F0 00085130 7F A5 EB 78 */ mr r5, r29
|
|
/* 800892F4 00085134 4B FE E6 6D */ bl LogMsg_0
|
|
/* 800892F8 00085138 2C 1D 04 19 */ cmpwi r29, 0x419
|
|
/* 800892FC 0008513C 41 82 00 4C */ beq lbl_80089348
|
|
/* 80089300 00085140 40 80 00 28 */ bge lbl_80089328
|
|
/* 80089304 00085144 2C 1D 04 01 */ cmpwi r29, 0x401
|
|
/* 80089308 00085148 41 82 00 40 */ beq lbl_80089348
|
|
/* 8008930C 0008514C 40 80 00 10 */ bge lbl_8008931C
|
|
/* 80089310 00085150 2C 1D 00 0D */ cmpwi r29, 0xd
|
|
/* 80089314 00085154 41 82 00 34 */ beq lbl_80089348
|
|
/* 80089318 00085158 48 00 00 44 */ b lbl_8008935C
|
|
.global lbl_8008931C
|
|
lbl_8008931C:
|
|
/* 8008931C 0008515C 2C 1D 04 05 */ cmpwi r29, 0x405
|
|
/* 80089320 00085160 41 82 00 28 */ beq lbl_80089348
|
|
/* 80089324 00085164 48 00 00 38 */ b lbl_8008935C
|
|
.global lbl_80089328
|
|
lbl_80089328:
|
|
/* 80089328 00085168 2C 1D 08 02 */ cmpwi r29, 0x802
|
|
/* 8008932C 0008516C 41 82 00 30 */ beq lbl_8008935C
|
|
/* 80089330 00085170 40 80 00 10 */ bge lbl_80089340
|
|
/* 80089334 00085174 2C 1D 08 01 */ cmpwi r29, 0x801
|
|
/* 80089338 00085178 40 80 00 10 */ bge lbl_80089348
|
|
/* 8008933C 0008517C 48 00 00 20 */ b lbl_8008935C
|
|
.global lbl_80089340
|
|
lbl_80089340:
|
|
/* 80089340 00085180 2C 1D 08 07 */ cmpwi r29, 0x807
|
|
/* 80089344 00085184 40 80 00 18 */ bge lbl_8008935C
|
|
.global lbl_80089348
|
|
lbl_80089348:
|
|
/* 80089348 00085188 7F A3 EB 78 */ mr r3, r29
|
|
/* 8008934C 0008518C 38 BF 00 0A */ addi r5, r31, 0xa
|
|
/* 80089350 00085190 38 80 00 1F */ li r4, 0x1f
|
|
/* 80089354 00085194 4B FF FB D5 */ bl btu_hcif_hdl_command_status
|
|
/* 80089358 00085198 48 00 00 1C */ b lbl_80089374
|
|
.global lbl_8008935C
|
|
lbl_8008935C:
|
|
/* 8008935C 0008519C 38 00 00 1F */ li r0, 0x1f
|
|
/* 80089360 000851A0 7F A3 EB 78 */ mr r3, r29
|
|
/* 80089364 000851A4 98 01 00 08 */ stb r0, 0x8(r1)
|
|
/* 80089368 000851A8 38 81 00 08 */ addi r4, r1, 0x8
|
|
/* 8008936C 000851AC 38 A0 00 01 */ li r5, 0x1
|
|
/* 80089370 000851B0 4B FF F9 49 */ bl btu_hcif_hdl_command_complete
|
|
.global lbl_80089374
|
|
lbl_80089374:
|
|
/* 80089374 000851B4 7F C3 F3 78 */ mr r3, r30
|
|
/* 80089378 000851B8 4B FE BB 99 */ bl GKI_freebuf
|
|
/* 8008937C 000851BC 38 60 00 02 */ li r3, 0x2
|
|
/* 80089380 000851C0 4B FF 87 DD */ bl btm_report_device_status
|
|
/* 80089384 000851C4 38 60 00 00 */ li r3, 0x0
|
|
/* 80089388 000851C8 4B FF F4 5D */ bl btu_hcif_send_cmd
|
|
.global lbl_8008938C
|
|
lbl_8008938C:
|
|
/* 8008938C 000851CC 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80089390 000851D0 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 80089394 000851D4 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 80089398 000851D8 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 8008939C 000851DC 7C 08 03 A6 */ mtlr r0
|
|
/* 800893A0 000851E0 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 800893A4 000851E4 4E 80 00 20 */ blr
|
|
.global btu_hcif_link_key_notification_evt
|
|
btu_hcif_link_key_notification_evt:
|
|
/* 800893A8 000851E8 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 800893AC 000851EC 7C 08 02 A6 */ mflr r0
|
|
/* 800893B0 000851F0 38 A3 00 16 */ addi r5, r3, 0x16
|
|
/* 800893B4 000851F4 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 800893B8 000851F8 38 81 00 10 */ addi r4, r1, 0x10
|
|
/* 800893BC 000851FC 88 03 00 00 */ lbz r0, 0x0(r3)
|
|
/* 800893C0 00085200 98 01 00 0D */ stb r0, 0xd(r1)
|
|
/* 800893C4 00085204 88 03 00 01 */ lbz r0, 0x1(r3)
|
|
/* 800893C8 00085208 98 01 00 0C */ stb r0, 0xc(r1)
|
|
/* 800893CC 0008520C 88 03 00 02 */ lbz r0, 0x2(r3)
|
|
/* 800893D0 00085210 98 01 00 0B */ stb r0, 0xb(r1)
|
|
/* 800893D4 00085214 88 03 00 03 */ lbz r0, 0x3(r3)
|
|
/* 800893D8 00085218 98 01 00 0A */ stb r0, 0xa(r1)
|
|
/* 800893DC 0008521C 88 03 00 04 */ lbz r0, 0x4(r3)
|
|
/* 800893E0 00085220 98 01 00 09 */ stb r0, 0x9(r1)
|
|
/* 800893E4 00085224 88 03 00 05 */ lbz r0, 0x5(r3)
|
|
/* 800893E8 00085228 98 01 00 08 */ stb r0, 0x8(r1)
|
|
/* 800893EC 0008522C 88 03 00 06 */ lbz r0, 0x6(r3)
|
|
/* 800893F0 00085230 98 01 00 1F */ stb r0, 0x1f(r1)
|
|
/* 800893F4 00085234 88 03 00 07 */ lbz r0, 0x7(r3)
|
|
/* 800893F8 00085238 98 01 00 1E */ stb r0, 0x1e(r1)
|
|
/* 800893FC 0008523C 88 03 00 08 */ lbz r0, 0x8(r3)
|
|
/* 80089400 00085240 98 01 00 1D */ stb r0, 0x1d(r1)
|
|
/* 80089404 00085244 88 03 00 09 */ lbz r0, 0x9(r3)
|
|
/* 80089408 00085248 98 01 00 1C */ stb r0, 0x1c(r1)
|
|
/* 8008940C 0008524C 88 03 00 0A */ lbz r0, 0xa(r3)
|
|
/* 80089410 00085250 98 01 00 1B */ stb r0, 0x1b(r1)
|
|
/* 80089414 00085254 88 03 00 0B */ lbz r0, 0xb(r3)
|
|
/* 80089418 00085258 98 01 00 1A */ stb r0, 0x1a(r1)
|
|
/* 8008941C 0008525C 88 03 00 0C */ lbz r0, 0xc(r3)
|
|
/* 80089420 00085260 98 01 00 19 */ stb r0, 0x19(r1)
|
|
/* 80089424 00085264 88 03 00 0D */ lbz r0, 0xd(r3)
|
|
/* 80089428 00085268 98 01 00 18 */ stb r0, 0x18(r1)
|
|
/* 8008942C 0008526C 88 03 00 0E */ lbz r0, 0xe(r3)
|
|
/* 80089430 00085270 98 01 00 17 */ stb r0, 0x17(r1)
|
|
/* 80089434 00085274 88 03 00 0F */ lbz r0, 0xf(r3)
|
|
/* 80089438 00085278 98 01 00 16 */ stb r0, 0x16(r1)
|
|
/* 8008943C 0008527C 88 03 00 10 */ lbz r0, 0x10(r3)
|
|
/* 80089440 00085280 98 01 00 15 */ stb r0, 0x15(r1)
|
|
/* 80089444 00085284 88 03 00 11 */ lbz r0, 0x11(r3)
|
|
/* 80089448 00085288 98 01 00 14 */ stb r0, 0x14(r1)
|
|
/* 8008944C 0008528C 88 03 00 12 */ lbz r0, 0x12(r3)
|
|
/* 80089450 00085290 98 01 00 13 */ stb r0, 0x13(r1)
|
|
/* 80089454 00085294 88 03 00 13 */ lbz r0, 0x13(r3)
|
|
/* 80089458 00085298 98 01 00 12 */ stb r0, 0x12(r1)
|
|
/* 8008945C 0008529C 88 03 00 14 */ lbz r0, 0x14(r3)
|
|
/* 80089460 000852A0 98 01 00 11 */ stb r0, 0x11(r1)
|
|
/* 80089464 000852A4 88 03 00 15 */ lbz r0, 0x15(r3)
|
|
/* 80089468 000852A8 38 61 00 08 */ addi r3, r1, 0x8
|
|
/* 8008946C 000852AC 98 01 00 10 */ stb r0, 0x10(r1)
|
|
/* 80089470 000852B0 88 A5 00 00 */ lbz r5, 0x0(r5)
|
|
/* 80089474 000852B4 4B FF E0 AD */ bl btm_sec_link_key_notification
|
|
/* 80089478 000852B8 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8008947C 000852BC 7C 08 03 A6 */ mtlr r0
|
|
/* 80089480 000852C0 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80089484 000852C4 4E 80 00 20 */ blr
|
|
.include "macros.inc"
|
|
|
|
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
|
|
.global "@2212"
|
|
"@2212":
|
|
|
|
.4byte 0x43746C72
|
|
.4byte 0x20482F77
|
|
.4byte 0x20657272
|
|
.4byte 0x6F722065
|
|
.4byte 0x76656E74
|
|
.4byte 0
|
|
|
|
.global "@2352"
|
|
"@2352":
|
|
|
|
.4byte 0x4576656E
|
|
.4byte 0x74206D69
|
|
.4byte 0x736D6174
|
|
.4byte 0x6368206F
|
|
.4byte 0x70636F64
|
|
.4byte 0x653D2558
|
|
.4byte 0x20636D64
|
|
.4byte 0x206F7063
|
|
.4byte 0x6F64653D
|
|
.4byte 0x25580000
|
|
|
|
.global "@2368"
|
|
"@2368":
|
|
|
|
.4byte 0x436D6420
|
|
.4byte 0x74696D65
|
|
.4byte 0x6F75743B
|
|
.4byte 0x206E6F20
|
|
.4byte 0x636D6420
|
|
.4byte 0x696E2071
|
|
.4byte 0x75657565
|
|
.4byte 0
|
|
|
|
.global "@2369"
|
|
"@2369":
|
|
|
|
.4byte 0x42545520
|
|
.4byte 0x48434920
|
|
.4byte 0x636F6D6D
|
|
.4byte 0x616E6420
|
|
.4byte 0x74696D65
|
|
.4byte 0x6F757420
|
|
.4byte 0x2D20636D
|
|
.4byte 0x64206F70
|
|
.4byte 0x636F6465
|
|
.4byte 0x203D2030
|
|
.4byte 0x78253032
|
|
.4byte 0x78000000
|