1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global bta_hh_find_cb
bta_hh_find_cb:
/* 802C3080 002BECE0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C3084 002BECE4 7C 08 02 A6 */ mflr r0
/* 802C3088 002BECE8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C308C 002BECEC 39 61 00 20 */ addi r11, r1, 0x20
/* 802C3090 002BECF0 4B F0 40 99 */ bl _savegpr_27
/* 802C3094 002BECF4 3F E0 80 57 */ lis r31, lbl_80568948@ha
/* 802C3098 002BECF8 3F C0 80 44 */ lis r30, lbl_80440A00@ha
/* 802C309C 002BECFC 7C 7B 1B 78 */ mr r27, r3
/* 802C30A0 002BED00 3B 80 00 00 */ li r28, 0
/* 802C30A4 002BED04 3B DE 0A 00 */ addi r30, r30, lbl_80440A00@l
/* 802C30A8 002BED08 3B FF 89 48 */ addi r31, r31, lbl_80568948@l
lbl_802C30AC:
/* 802C30AC 002BED0C 57 9D 2C F4 */ rlwinm r29, r28, 5, 0x13, 0x1a
/* 802C30B0 002BED10 7F 63 DB 78 */ mr r3, r27
/* 802C30B4 002BED14 7C 9F EA 14 */ add r4, r31, r29
/* 802C30B8 002BED18 38 84 00 18 */ addi r4, r4, 0x18
/* 802C30BC 002BED1C 4B FF A4 D9 */ bl bdcmp
/* 802C30C0 002BED20 2C 03 00 00 */ cmpwi r3, 0
/* 802C30C4 002BED24 40 82 00 44 */ bne lbl_802C3108
/* 802C30C8 002BED28 7F 63 DB 78 */ mr r3, r27
/* 802C30CC 002BED2C 38 82 AA 28 */ addi r4, r2, lbl_80643028-_SDA2_BASE_
/* 802C30D0 002BED30 4B FF A4 C5 */ bl bdcmp
/* 802C30D4 002BED34 2C 03 00 00 */ cmpwi r3, 0
/* 802C30D8 002BED38 41 82 00 30 */ beq lbl_802C3108
/* 802C30DC 002BED3C 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
/* 802C30E0 002BED40 28 00 00 05 */ cmplwi r0, 5
/* 802C30E4 002BED44 41 80 00 1C */ blt lbl_802C3100
/* 802C30E8 002BED48 7C 7F EA 14 */ add r3, r31, r29
/* 802C30EC 002BED4C 38 9E 00 00 */ addi r4, r30, 0
/* 802C30F0 002BED50 88 C3 00 26 */ lbz r6, 0x26(r3)
/* 802C30F4 002BED54 57 85 06 3E */ clrlwi r5, r28, 0x18
/* 802C30F8 002BED58 38 60 05 04 */ li r3, 0x504
/* 802C30FC 002BED5C 4B FF 9E 45 */ bl LogMsg_2
lbl_802C3100:
/* 802C3100 002BED60 7F 83 E3 78 */ mr r3, r28
/* 802C3104 002BED64 48 00 00 A0 */ b lbl_802C31A4
lbl_802C3108:
/* 802C3108 002BED68 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
/* 802C310C 002BED6C 28 00 00 05 */ cmplwi r0, 5
/* 802C3110 002BED70 41 80 00 24 */ blt lbl_802C3134
/* 802C3114 002BED74 7D 1F EA 14 */ add r8, r31, r29
/* 802C3118 002BED78 38 9E 00 24 */ addi r4, r30, 0x24
/* 802C311C 002BED7C 88 A8 00 28 */ lbz r5, 0x28(r8)
/* 802C3120 002BED80 57 86 06 3E */ clrlwi r6, r28, 0x18
/* 802C3124 002BED84 88 E8 00 26 */ lbz r7, 0x26(r8)
/* 802C3128 002BED88 38 60 05 04 */ li r3, 0x504
/* 802C312C 002BED8C 89 08 00 2C */ lbz r8, 0x2c(r8)
/* 802C3130 002BED90 4B FF 9E 41 */ bl LogMsg_4
lbl_802C3134:
/* 802C3134 002BED94 3B 9C 00 01 */ addi r28, r28, 1
/* 802C3138 002BED98 28 1C 00 10 */ cmplwi r28, 0x10
/* 802C313C 002BED9C 41 80 FF 70 */ blt lbl_802C30AC
/* 802C3140 002BEDA0 3C 80 80 57 */ lis r4, lbl_80568948@ha
/* 802C3144 002BEDA4 38 00 00 10 */ li r0, 0x10
/* 802C3148 002BEDA8 38 84 89 48 */ addi r4, r4, lbl_80568948@l
/* 802C314C 002BEDAC 3B A0 00 00 */ li r29, 0
/* 802C3150 002BEDB0 7C 09 03 A6 */ mtctr r0
lbl_802C3154:
/* 802C3154 002BEDB4 57 A0 2C F4 */ rlwinm r0, r29, 5, 0x13, 0x1a
/* 802C3158 002BEDB8 7C 64 02 14 */ add r3, r4, r0
/* 802C315C 002BEDBC 88 03 00 28 */ lbz r0, 0x28(r3)
/* 802C3160 002BEDC0 2C 00 00 00 */ cmpwi r0, 0
/* 802C3164 002BEDC4 40 82 00 14 */ bne lbl_802C3178
/* 802C3168 002BEDC8 7F 64 DB 78 */ mr r4, r27
/* 802C316C 002BEDCC 38 63 00 18 */ addi r3, r3, 0x18
/* 802C3170 002BEDD0 4B FF A3 F1 */ bl bdcpy
/* 802C3174 002BEDD4 48 00 00 0C */ b lbl_802C3180
lbl_802C3178:
/* 802C3178 002BEDD8 3B BD 00 01 */ addi r29, r29, 1
/* 802C317C 002BEDDC 42 00 FF D8 */ bdnz lbl_802C3154
lbl_802C3180:
/* 802C3180 002BEDE0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
/* 802C3184 002BEDE4 28 00 00 05 */ cmplwi r0, 5
/* 802C3188 002BEDE8 41 80 00 18 */ blt lbl_802C31A0
/* 802C318C 002BEDEC 38 9E 00 58 */ addi r4, r30, 0x58
/* 802C3190 002BEDF0 57 A5 06 3E */ clrlwi r5, r29, 0x18
/* 802C3194 002BEDF4 38 60 05 04 */ li r3, 0x504
/* 802C3198 002BEDF8 38 C0 00 10 */ li r6, 0x10
/* 802C319C 002BEDFC 4B FF 9D A5 */ bl LogMsg_2
lbl_802C31A0:
/* 802C31A0 002BEE00 7F A3 EB 78 */ mr r3, r29
lbl_802C31A4:
/* 802C31A4 002BEE04 39 61 00 20 */ addi r11, r1, 0x20
/* 802C31A8 002BEE08 4B F0 3F CD */ bl _restgpr_27
/* 802C31AC 002BEE0C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C31B0 002BEE10 7C 08 03 A6 */ mtlr r0
/* 802C31B4 002BEE14 38 21 00 20 */ addi r1, r1, 0x20
/* 802C31B8 002BEE18 4E 80 00 20 */ blr
.global bta_hh_clean_up_kdev
bta_hh_clean_up_kdev:
/* 802C31BC 002BEE1C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C31C0 002BEE20 7C 08 02 A6 */ mflr r0
/* 802C31C4 002BEE24 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C31C8 002BEE28 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C31CC 002BEE2C 93 C1 00 08 */ stw r30, 8(r1)
/* 802C31D0 002BEE30 7C 7E 1B 78 */ mr r30, r3
/* 802C31D4 002BEE34 88 A3 00 16 */ lbz r5, 0x16(r3)
/* 802C31D8 002BEE38 28 05 00 FF */ cmplwi r5, 0xff
/* 802C31DC 002BEE3C 41 82 00 18 */ beq lbl_802C31F4
/* 802C31E0 002BEE40 3C 80 80 57 */ lis r4, lbl_80568948@ha
/* 802C31E4 002BEE44 38 00 00 10 */ li r0, 0x10
/* 802C31E8 002BEE48 38 84 89 48 */ addi r4, r4, lbl_80568948@l
/* 802C31EC 002BEE4C 7C 84 2A 14 */ add r4, r4, r5
/* 802C31F0 002BEE50 98 04 02 14 */ stb r0, 0x214(r4)
lbl_802C31F4:
/* 802C31F4 002BEE54 8B E3 00 12 */ lbz r31, 0x12(r3)
/* 802C31F8 002BEE58 38 63 00 04 */ addi r3, r3, 4
/* 802C31FC 002BEE5C 4B FF AA B1 */ bl utl_freebuf
/* 802C3200 002BEE60 7F C3 F3 78 */ mr r3, r30
/* 802C3204 002BEE64 38 80 00 00 */ li r4, 0
/* 802C3208 002BEE68 38 A0 00 20 */ li r5, 0x20
/* 802C320C 002BEE6C 4B D4 0E F9 */ bl memset
/* 802C3210 002BEE70 38 60 00 01 */ li r3, 1
/* 802C3214 002BEE74 38 00 00 FF */ li r0, 0xff
/* 802C3218 002BEE78 9B FE 00 12 */ stb r31, 0x12(r30)
/* 802C321C 002BEE7C 98 7E 00 1C */ stb r3, 0x1c(r30)
/* 802C3220 002BEE80 98 1E 00 16 */ stb r0, 0x16(r30)
/* 802C3224 002BEE84 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C3228 002BEE88 83 C1 00 08 */ lwz r30, 8(r1)
/* 802C322C 002BEE8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C3230 002BEE90 7C 08 03 A6 */ mtlr r0
/* 802C3234 002BEE94 38 21 00 10 */ addi r1, r1, 0x10
/* 802C3238 002BEE98 4E 80 00 20 */ blr
.global bta_hh_add_device_to_list
bta_hh_add_device_to_list:
/* 802C323C 002BEE9C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C3240 002BEEA0 7C 08 02 A6 */ mflr r0
/* 802C3244 002BEEA4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C3248 002BEEA8 39 61 00 20 */ addi r11, r1, 0x20
/* 802C324C 002BEEAC 4B F0 3E D9 */ bl _savegpr_26
/* 802C3250 002BEEB0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
/* 802C3254 002BEEB4 7C 7A 1B 78 */ mr r26, r3
/* 802C3258 002BEEB8 7C 9B 23 78 */ mr r27, r4
/* 802C325C 002BEEBC 7C BC 2B 78 */ mr r28, r5
/* 802C3260 002BEEC0 28 00 00 05 */ cmplwi r0, 5
/* 802C3264 002BEEC4 7C DD 33 78 */ mr r29, r6
/* 802C3268 002BEEC8 7C FE 3B 78 */ mr r30, r7
/* 802C326C 002BEECC 7D 1F 43 78 */ mr r31, r8
/* 802C3270 002BEED0 41 80 00 18 */ blt lbl_802C3288
/* 802C3274 002BEED4 3C 80 80 44 */ lis r4, lbl_80440A84@ha
/* 802C3278 002BEED8 7F C5 F3 78 */ mr r5, r30
/* 802C327C 002BEEDC 38 84 0A 84 */ addi r4, r4, lbl_80440A84@l
/* 802C3280 002BEEE0 38 60 05 04 */ li r3, 0x504
/* 802C3284 002BEEE4 4B FF 9C A5 */ bl LogMsg_1
lbl_802C3288:
/* 802C3288 002BEEE8 38 00 00 01 */ li r0, 1
/* 802C328C 002BEEEC 2C 1D 00 00 */ cmpwi r29, 0
/* 802C3290 002BEEF0 9B 7A 00 16 */ stb r27, 0x16(r26)
/* 802C3294 002BEEF4 98 1A 00 18 */ stb r0, 0x18(r26)
/* 802C3298 002BEEF8 B3 9A 00 0E */ sth r28, 0xe(r26)
/* 802C329C 002BEEFC 9B DA 00 13 */ stb r30, 0x13(r26)
/* 802C32A0 002BEF00 9B FA 00 15 */ stb r31, 0x15(r26)
/* 802C32A4 002BEF04 41 82 00 3C */ beq lbl_802C32E0
/* 802C32A8 002BEF08 38 7A 00 04 */ addi r3, r26, 4
/* 802C32AC 002BEF0C 4B FF AA 01 */ bl utl_freebuf
/* 802C32B0 002BEF10 A0 7D 00 00 */ lhz r3, 0(r29)
/* 802C32B4 002BEF14 2C 03 00 00 */ cmpwi r3, 0
/* 802C32B8 002BEF18 41 82 00 28 */ beq lbl_802C32E0
/* 802C32BC 002BEF1C 4B FF 67 F1 */ bl GKI_getbuf
/* 802C32C0 002BEF20 2C 03 00 00 */ cmpwi r3, 0
/* 802C32C4 002BEF24 90 7A 00 04 */ stw r3, 4(r26)
/* 802C32C8 002BEF28 41 82 00 18 */ beq lbl_802C32E0
/* 802C32CC 002BEF2C A0 1D 00 00 */ lhz r0, 0(r29)
/* 802C32D0 002BEF30 B0 1A 00 00 */ sth r0, 0(r26)
/* 802C32D4 002BEF34 80 9D 00 04 */ lwz r4, 4(r29)
/* 802C32D8 002BEF38 A0 BD 00 00 */ lhz r5, 0(r29)
/* 802C32DC 002BEF3C 4B D4 0D 25 */ bl memcpy
lbl_802C32E0:
/* 802C32E0 002BEF40 39 61 00 20 */ addi r11, r1, 0x20
/* 802C32E4 002BEF44 4B F0 3E 8D */ bl _restgpr_26
/* 802C32E8 002BEF48 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C32EC 002BEF4C 7C 08 03 A6 */ mtlr r0
/* 802C32F0 002BEF50 38 21 00 20 */ addi r1, r1, 0x20
/* 802C32F4 002BEF54 4E 80 00 20 */ blr
.global bta_hh_tod_spt
bta_hh_tod_spt:
/* 802C32F8 002BEF58 80 ED 8A 08 */ lwz r7, lbl_8063DCC8-_SDA_BASE_(r13)
/* 802C32FC 002BEF5C 54 89 F6 BE */ rlwinm r9, r4, 0x1e, 0x1a, 0x1f
/* 802C3300 002BEF60 39 00 00 00 */ li r8, 0
/* 802C3304 002BEF64 88 A7 00 00 */ lbz r5, 0(r7)
/* 802C3308 002BEF68 48 00 00 30 */ b lbl_802C3338
lbl_802C330C:
/* 802C330C 002BEF6C 80 87 00 04 */ lwz r4, 4(r7)
/* 802C3310 002BEF70 55 06 0D FC */ rlwinm r6, r8, 1, 0x17, 0x1e
/* 802C3314 002BEF74 7C 04 30 AE */ lbzx r0, r4, r6
/* 802C3318 002BEF78 7C 09 00 40 */ cmplw r9, r0
/* 802C331C 002BEF7C 40 82 00 18 */ bne lbl_802C3334
/* 802C3320 002BEF80 7C 84 32 14 */ add r4, r4, r6
/* 802C3324 002BEF84 88 04 00 01 */ lbz r0, 1(r4)
/* 802C3328 002BEF88 98 03 00 15 */ stb r0, 0x15(r3)
/* 802C332C 002BEF8C 38 60 00 01 */ li r3, 1
/* 802C3330 002BEF90 4E 80 00 20 */ blr
lbl_802C3334:
/* 802C3334 002BEF94 39 08 00 01 */ addi r8, r8, 1
lbl_802C3338:
/* 802C3338 002BEF98 55 00 06 3E */ clrlwi r0, r8, 0x18
/* 802C333C 002BEF9C 7C 00 28 40 */ cmplw r0, r5
/* 802C3340 002BEFA0 41 80 FF CC */ blt lbl_802C330C
/* 802C3344 002BEFA4 38 60 00 00 */ li r3, 0
/* 802C3348 002BEFA8 4E 80 00 20 */ blr
.global bta_hh_trace_dev_db
bta_hh_trace_dev_db:
/* 802C334C 002BEFAC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C3350 002BEFB0 7C 08 02 A6 */ mflr r0
/* 802C3354 002BEFB4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C3358 002BEFB8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802C335C 002BEFBC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802C3360 002BEFC0 3F C0 80 44 */ lis r30, lbl_80440A00@ha
/* 802C3364 002BEFC4 3B DE 0A 00 */ addi r30, r30, lbl_80440A00@l
/* 802C3368 002BEFC8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802C336C 002BEFCC 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
/* 802C3370 002BEFD0 28 00 00 05 */ cmplwi r0, 5
/* 802C3374 002BEFD4 41 80 00 10 */ blt lbl_802C3384
/* 802C3378 002BEFD8 38 9E 01 E4 */ addi r4, r30, 0x1e4
/* 802C337C 002BEFDC 38 60 05 04 */ li r3, 0x504
/* 802C3380 002BEFE0 4B FF 9B 91 */ bl LogMsg_0
lbl_802C3384:
/* 802C3384 002BEFE4 3C 60 80 57 */ lis r3, lbl_80568948@ha
/* 802C3388 002BEFE8 3B A0 00 00 */ li r29, 0
/* 802C338C 002BEFEC 3B E3 89 48 */ addi r31, r3, lbl_80568948@l
lbl_802C3390:
/* 802C3390 002BEFF0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
/* 802C3394 002BEFF4 28 00 00 05 */ cmplwi r0, 5
/* 802C3398 002BEFF8 41 80 00 24 */ blt lbl_802C33BC
/* 802C339C 002BEFFC 57 A0 2C F4 */ rlwinm r0, r29, 5, 0x13, 0x1a
/* 802C33A0 002BF000 38 9E 02 20 */ addi r4, r30, 0x220
/* 802C33A4 002BF004 7C FF 02 14 */ add r7, r31, r0
/* 802C33A8 002BF008 57 A5 06 3E */ clrlwi r5, r29, 0x18
/* 802C33AC 002BF00C 88 C7 00 28 */ lbz r6, 0x28(r7)
/* 802C33B0 002BF010 38 60 05 04 */ li r3, 0x504
/* 802C33B4 002BF014 88 E7 00 26 */ lbz r7, 0x26(r7)
/* 802C33B8 002BF018 4B FF 9B A1 */ bl LogMsg_3
lbl_802C33BC:
/* 802C33BC 002BF01C 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
/* 802C33C0 002BF020 28 00 00 05 */ cmplwi r0, 5
/* 802C33C4 002BF024 41 80 00 28 */ blt lbl_802C33EC
/* 802C33C8 002BF028 57 A0 2C F4 */ rlwinm r0, r29, 5, 0x13, 0x1a
/* 802C33CC 002BF02C 38 9E 02 44 */ addi r4, r30, 0x244
/* 802C33D0 002BF030 7D 1F 02 14 */ add r8, r31, r0
/* 802C33D4 002BF034 38 60 05 04 */ li r3, 0x504
/* 802C33D8 002BF038 A0 A8 00 1E */ lhz r5, 0x1e(r8)
/* 802C33DC 002BF03C 88 C8 00 2C */ lbz r6, 0x2c(r8)
/* 802C33E0 002BF040 88 E8 00 23 */ lbz r7, 0x23(r8)
/* 802C33E4 002BF044 89 08 00 22 */ lbz r8, 0x22(r8)
/* 802C33E8 002BF048 4B FF 9B 89 */ bl LogMsg_4
lbl_802C33EC:
/* 802C33EC 002BF04C 3B BD 00 01 */ addi r29, r29, 1
/* 802C33F0 002BF050 28 1D 00 10 */ cmplwi r29, 0x10
/* 802C33F4 002BF054 41 80 FF 9C */ blt lbl_802C3390
/* 802C33F8 002BF058 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
/* 802C33FC 002BF05C 28 00 00 05 */ cmplwi r0, 5
/* 802C3400 002BF060 41 80 00 10 */ blt lbl_802C3410
/* 802C3404 002BF064 38 9E 02 80 */ addi r4, r30, 0x280
/* 802C3408 002BF068 38 60 05 04 */ li r3, 0x504
/* 802C340C 002BF06C 4B FF 9B 05 */ bl LogMsg_0
lbl_802C3410:
/* 802C3410 002BF070 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C3414 002BF074 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802C3418 002BF078 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802C341C 002BF07C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802C3420 002BF080 7C 08 03 A6 */ mtlr r0
/* 802C3424 002BF084 38 21 00 20 */ addi r1, r1, 0x20
/* 802C3428 002BF088 4E 80 00 20 */ blr
|