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
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global port_select_mtu
port_select_mtu:
/* 802DCDA4 002D8A04 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802DCDA8 002D8A08 7C 08 02 A6 */ mflr r0
/* 802DCDAC 002D8A0C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DCDB0 002D8A10 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802DCDB4 002D8A14 3F E0 80 44 */ lis r31, lbl_80444590@ha
/* 802DCDB8 002D8A18 3B FF 45 90 */ addi r31, r31, lbl_80444590@l
/* 802DCDBC 002D8A1C 93 C1 00 08 */ stw r30, 8(r1)
/* 802DCDC0 002D8A20 7C 7E 1B 78 */ mr r30, r3
/* 802DCDC4 002D8A24 A0 A3 00 12 */ lhz r5, 0x12(r3)
/* 802DCDC8 002D8A28 2C 05 00 00 */ cmpwi r5, 0
/* 802DCDCC 002D8A2C 40 82 00 C0 */ bne lbl_802DCE8C
/* 802DCDD0 002D8A30 38 63 00 06 */ addi r3, r3, 6
/* 802DCDD4 002D8A34 4B FE 79 59 */ bl btm_get_max_packet_size
/* 802DCDD8 002D8A38 54 65 04 3F */ clrlwi. r5, r3, 0x10
/* 802DCDDC 002D8A3C 40 82 00 34 */ bne lbl_802DCE10
/* 802DCDE0 002D8A40 3C 60 80 57 */ lis r3, lbl_8056C428@ha
/* 802DCDE4 002D8A44 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
/* 802DCDE8 002D8A48 88 03 04 14 */ lbz r0, 0x414(r3)
/* 802DCDEC 002D8A4C 28 00 00 02 */ cmplwi r0, 2
/* 802DCDF0 002D8A50 41 80 00 14 */ blt lbl_802DCE04
/* 802DCDF4 002D8A54 3C 60 00 09 */ lis r3, 0x00090001@ha
/* 802DCDF8 002D8A58 38 9F 00 00 */ addi r4, r31, 0
/* 802DCDFC 002D8A5C 38 63 00 01 */ addi r3, r3, 0x00090001@l
/* 802DCE00 002D8A60 4B FE 01 11 */ bl LogMsg_0
lbl_802DCE04:
/* 802DCE04 002D8A64 38 00 00 7F */ li r0, 0x7f
/* 802DCE08 002D8A68 B0 1E 00 12 */ sth r0, 0x12(r30)
/* 802DCE0C 002D8A6C 48 00 00 A4 */ b lbl_802DCEB0
lbl_802DCE10:
/* 802DCE10 002D8A70 28 05 06 9F */ cmplwi r5, 0x69f
/* 802DCE14 002D8A74 41 81 00 44 */ bgt lbl_802DCE58
/* 802DCE18 002D8A78 38 00 06 9F */ li r0, 0x69f
/* 802DCE1C 002D8A7C 3C 80 80 57 */ lis r4, lbl_8056C428@ha
/* 802DCE20 002D8A80 7C 00 2B D6 */ divw r0, r0, r5
/* 802DCE24 002D8A84 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
/* 802DCE28 002D8A88 7C 60 19 D6 */ mullw r3, r0, r3
/* 802DCE2C 002D8A8C 38 A3 FF F6 */ addi r5, r3, -10
/* 802DCE30 002D8A90 B0 BE 00 12 */ sth r5, 0x12(r30)
/* 802DCE34 002D8A94 88 04 04 14 */ lbz r0, 0x414(r4)
/* 802DCE38 002D8A98 28 00 00 05 */ cmplwi r0, 5
/* 802DCE3C 002D8A9C 41 80 00 74 */ blt lbl_802DCEB0
/* 802DCE40 002D8AA0 3C 60 00 09 */ lis r3, 0x00090004@ha
/* 802DCE44 002D8AA4 38 9F 00 20 */ addi r4, r31, 0x20
/* 802DCE48 002D8AA8 38 63 00 04 */ addi r3, r3, 0x00090004@l
/* 802DCE4C 002D8AAC 54 A5 04 3E */ clrlwi r5, r5, 0x10
/* 802DCE50 002D8AB0 4B FE 00 D9 */ bl LogMsg_1
/* 802DCE54 002D8AB4 48 00 00 5C */ b lbl_802DCEB0
lbl_802DCE58:
/* 802DCE58 002D8AB8 38 00 06 95 */ li r0, 0x695
/* 802DCE5C 002D8ABC 3C 60 80 57 */ lis r3, lbl_8056C428@ha
/* 802DCE60 002D8AC0 B0 1E 00 12 */ sth r0, 0x12(r30)
/* 802DCE64 002D8AC4 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
/* 802DCE68 002D8AC8 88 03 04 14 */ lbz r0, 0x414(r3)
/* 802DCE6C 002D8ACC 28 00 00 05 */ cmplwi r0, 5
/* 802DCE70 002D8AD0 41 80 00 40 */ blt lbl_802DCEB0
/* 802DCE74 002D8AD4 3C 60 00 09 */ lis r3, 0x00090004@ha
/* 802DCE78 002D8AD8 38 9F 00 58 */ addi r4, r31, 0x58
/* 802DCE7C 002D8ADC 38 63 00 04 */ addi r3, r3, 0x00090004@l
/* 802DCE80 002D8AE0 38 A0 06 95 */ li r5, 0x695
/* 802DCE84 002D8AE4 4B FE 00 A5 */ bl LogMsg_1
/* 802DCE88 002D8AE8 48 00 00 28 */ b lbl_802DCEB0
lbl_802DCE8C:
/* 802DCE8C 002D8AEC 3C 60 80 57 */ lis r3, lbl_8056C428@ha
/* 802DCE90 002D8AF0 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
/* 802DCE94 002D8AF4 88 03 04 14 */ lbz r0, 0x414(r3)
/* 802DCE98 002D8AF8 28 00 00 05 */ cmplwi r0, 5
/* 802DCE9C 002D8AFC 41 80 00 14 */ blt lbl_802DCEB0
/* 802DCEA0 002D8B00 3C 60 00 09 */ lis r3, 0x00090004@ha
/* 802DCEA4 002D8B04 38 9F 00 90 */ addi r4, r31, 0x90
/* 802DCEA8 002D8B08 38 63 00 04 */ addi r3, r3, 0x00090004@l
/* 802DCEAC 002D8B0C 4B FE 00 7D */ bl LogMsg_1
lbl_802DCEB0:
/* 802DCEB0 002D8B10 A0 FE 00 12 */ lhz r7, 0x12(r30)
/* 802DCEB4 002D8B14 38 60 1F 40 */ li r3, 0x1f40
/* 802DCEB8 002D8B18 38 80 13 88 */ li r4, 0x1388
/* 802DCEBC 002D8B1C 38 00 2E E0 */ li r0, 0x2ee0
/* 802DCEC0 002D8B20 7C A3 3B D6 */ divw r5, r3, r7
/* 802DCEC4 002D8B24 3C 60 80 57 */ lis r3, lbl_8056C428@ha
/* 802DCEC8 002D8B28 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
/* 802DCECC 002D8B2C 7C C4 3B D6 */ divw r6, r4, r7
/* 802DCED0 002D8B30 B0 BE 00 9C */ sth r5, 0x9c(r30)
/* 802DCED4 002D8B34 7C E0 3B D6 */ divw r7, r0, r7
/* 802DCED8 002D8B38 B0 DE 00 9E */ sth r6, 0x9e(r30)
/* 802DCEDC 002D8B3C B0 FE 00 A0 */ sth r7, 0xa0(r30)
/* 802DCEE0 002D8B40 88 03 04 14 */ lbz r0, 0x414(r3)
/* 802DCEE4 002D8B44 28 00 00 05 */ cmplwi r0, 5
/* 802DCEE8 002D8B48 41 80 00 20 */ blt lbl_802DCF08
/* 802DCEEC 002D8B4C 3C 60 00 09 */ lis r3, 0x00090004@ha
/* 802DCEF0 002D8B50 38 9F 00 B8 */ addi r4, r31, 0xb8
/* 802DCEF4 002D8B54 38 63 00 04 */ addi r3, r3, 0x00090004@l
/* 802DCEF8 002D8B58 54 A5 04 3E */ clrlwi r5, r5, 0x10
/* 802DCEFC 002D8B5C 54 C6 04 3E */ clrlwi r6, r6, 0x10
/* 802DCF00 002D8B60 54 E7 04 3E */ clrlwi r7, r7, 0x10
/* 802DCF04 002D8B64 4B FE 00 55 */ bl LogMsg_3
lbl_802DCF08:
/* 802DCF08 002D8B68 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802DCF0C 002D8B6C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802DCF10 002D8B70 83 C1 00 08 */ lwz r30, 8(r1)
/* 802DCF14 002D8B74 7C 08 03 A6 */ mtlr r0
/* 802DCF18 002D8B78 38 21 00 10 */ addi r1, r1, 0x10
/* 802DCF1C 002D8B7C 4E 80 00 20 */ blr
.global port_release_port
port_release_port:
/* 802DCF20 002D8B80 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802DCF24 002D8B84 7C 08 02 A6 */ mflr r0
/* 802DCF28 002D8B88 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DCF2C 002D8B8C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802DCF30 002D8B90 7C 7F 1B 78 */ mr r31, r3
/* 802DCF34 002D8B94 48 00 00 08 */ b lbl_802DCF3C
lbl_802DCF38:
/* 802DCF38 002D8B98 4B FD CD FD */ bl GKI_freebuf
lbl_802DCF3C:
/* 802DCF3C 002D8B9C 38 7F 00 30 */ addi r3, r31, 0x30
/* 802DCF40 002D8BA0 4B FD D4 91 */ bl GKI_dequeue
/* 802DCF44 002D8BA4 2C 03 00 00 */ cmpwi r3, 0
/* 802DCF48 002D8BA8 40 82 FF F0 */ bne lbl_802DCF38
/* 802DCF4C 002D8BAC 38 00 00 00 */ li r0, 0
/* 802DCF50 002D8BB0 90 1F 00 40 */ stw r0, 0x40(r31)
/* 802DCF54 002D8BB4 48 00 00 08 */ b lbl_802DCF5C
lbl_802DCF58:
/* 802DCF58 002D8BB8 4B FD CD DD */ bl GKI_freebuf
lbl_802DCF5C:
/* 802DCF5C 002D8BBC 38 7F 00 18 */ addi r3, r31, 0x18
/* 802DCF60 002D8BC0 4B FD D4 71 */ bl GKI_dequeue
/* 802DCF64 002D8BC4 2C 03 00 00 */ cmpwi r3, 0
/* 802DCF68 002D8BC8 40 82 FF F0 */ bne lbl_802DCF58
/* 802DCF6C 002D8BCC 88 1F 00 68 */ lbz r0, 0x68(r31)
/* 802DCF70 002D8BD0 38 60 00 00 */ li r3, 0
/* 802DCF74 002D8BD4 90 7F 00 28 */ stw r3, 0x28(r31)
/* 802DCF78 002D8BD8 2C 00 00 00 */ cmpwi r0, 0
/* 802DCF7C 002D8BDC 98 7F 00 02 */ stb r3, 2(r31)
/* 802DCF80 002D8BE0 40 82 00 68 */ bne lbl_802DCFE8
/* 802DCF84 002D8BE4 3C 60 80 57 */ lis r3, lbl_8056C428@ha
/* 802DCF88 002D8BE8 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
/* 802DCF8C 002D8BEC 88 03 04 14 */ lbz r0, 0x414(r3)
/* 802DCF90 002D8BF0 28 00 00 05 */ cmplwi r0, 5
/* 802DCF94 002D8BF4 41 80 00 18 */ blt lbl_802DCFAC
/* 802DCF98 002D8BF8 3C 60 00 09 */ lis r3, 0x00090004@ha
/* 802DCF9C 002D8BFC 3C 80 80 44 */ lis r4, lbl_80444690@ha
/* 802DCFA0 002D8C00 38 63 00 04 */ addi r3, r3, 0x00090004@l
/* 802DCFA4 002D8C04 38 84 46 90 */ addi r4, r4, lbl_80444690@l
/* 802DCFA8 002D8C08 4B FD FF 69 */ bl LogMsg_0
lbl_802DCFAC:
/* 802DCFAC 002D8C0C 80 7F 00 6C */ lwz r3, 0x6c(r31)
/* 802DCFB0 002D8C10 2C 03 00 00 */ cmpwi r3, 0
/* 802DCFB4 002D8C14 41 82 00 1C */ beq lbl_802DCFD0
/* 802DCFB8 002D8C18 88 1F 00 0D */ lbz r0, 0xd(r31)
/* 802DCFBC 002D8C1C 38 80 00 00 */ li r4, 0
/* 802DCFC0 002D8C20 7C 63 02 14 */ add r3, r3, r0
/* 802DCFC4 002D8C24 98 83 00 24 */ stb r4, 0x24(r3)
/* 802DCFC8 002D8C28 80 7F 00 6C */ lwz r3, 0x6c(r31)
/* 802DCFCC 002D8C2C 48 00 4A 45 */ bl rfc_check_mcb_active
lbl_802DCFD0:
/* 802DCFD0 002D8C30 7F E3 FB 78 */ mr r3, r31
/* 802DCFD4 002D8C34 48 00 49 E5 */ bl rfc_port_timer_stop
/* 802DCFD8 002D8C38 7F E3 FB 78 */ mr r3, r31
/* 802DCFDC 002D8C3C 38 80 00 00 */ li r4, 0
/* 802DCFE0 002D8C40 38 A0 00 A4 */ li r5, 0xa4
/* 802DCFE4 002D8C44 4B D2 71 21 */ bl memset
lbl_802DCFE8:
/* 802DCFE8 002D8C48 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802DCFEC 002D8C4C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802DCFF0 002D8C50 7C 08 03 A6 */ mtlr r0
/* 802DCFF4 002D8C54 38 21 00 10 */ addi r1, r1, 0x10
/* 802DCFF8 002D8C58 4E 80 00 20 */ blr
.global port_find_mcb_dlci_port
port_find_mcb_dlci_port:
/* 802DCFFC 002D8C5C 2C 03 00 00 */ cmpwi r3, 0
/* 802DD000 002D8C60 40 82 00 0C */ bne lbl_802DD00C
/* 802DD004 002D8C64 38 60 00 00 */ li r3, 0
/* 802DD008 002D8C68 4E 80 00 20 */ blr
lbl_802DD00C:
/* 802DD00C 002D8C6C 28 04 00 3D */ cmplwi r4, 0x3d
/* 802DD010 002D8C70 40 81 00 0C */ ble lbl_802DD01C
/* 802DD014 002D8C74 38 60 00 00 */ li r3, 0
/* 802DD018 002D8C78 4E 80 00 20 */ blr
lbl_802DD01C:
/* 802DD01C 002D8C7C 7C 63 22 14 */ add r3, r3, r4
/* 802DD020 002D8C80 88 63 00 24 */ lbz r3, 0x24(r3)
/* 802DD024 002D8C84 2C 03 00 00 */ cmpwi r3, 0
/* 802DD028 002D8C88 40 82 00 0C */ bne lbl_802DD034
/* 802DD02C 002D8C8C 38 60 00 00 */ li r3, 0
/* 802DD030 002D8C90 4E 80 00 20 */ blr
lbl_802DD034:
/* 802DD034 002D8C94 38 03 FF FF */ addi r0, r3, -1
/* 802DD038 002D8C98 3C 60 80 57 */ lis r3, lbl_8056C428@ha
/* 802DD03C 002D8C9C 1C 00 00 A4 */ mulli r0, r0, 0xa4
/* 802DD040 002D8CA0 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
/* 802DD044 002D8CA4 7C 63 02 14 */ add r3, r3, r0
/* 802DD048 002D8CA8 38 63 00 68 */ addi r3, r3, 0x68
/* 802DD04C 002D8CAC 4E 80 00 20 */ blr
.global port_find_dlci_port
port_find_dlci_port:
/* 802DD050 002D8CB0 3C A0 80 57 */ lis r5, lbl_8056C428@ha
/* 802DD054 002D8CB4 38 00 00 05 */ li r0, 5
/* 802DD058 002D8CB8 54 66 07 FE */ clrlwi r6, r3, 0x1f
/* 802DD05C 002D8CBC 38 E3 FF FF */ addi r7, r3, -1
/* 802DD060 002D8CC0 38 A5 C4 28 */ addi r5, r5, lbl_8056C428@l
/* 802DD064 002D8CC4 39 00 00 00 */ li r8, 0
/* 802DD068 002D8CC8 7C 09 03 A6 */ mtctr r0
lbl_802DD06C:
/* 802DD06C 002D8CCC 55 00 04 3E */ clrlwi r0, r8, 0x10
/* 802DD070 002D8CD0 1C 00 00 A4 */ mulli r0, r0, 0xa4
/* 802DD074 002D8CD4 7C 85 02 14 */ add r4, r5, r0
/* 802DD078 002D8CD8 88 04 00 69 */ lbz r0, 0x69(r4)
/* 802DD07C 002D8CDC 39 24 00 68 */ addi r9, r4, 0x68
/* 802DD080 002D8CE0 2C 00 00 00 */ cmpwi r0, 0
/* 802DD084 002D8CE4 41 82 00 44 */ beq lbl_802DD0C8
/* 802DD088 002D8CE8 80 09 00 6C */ lwz r0, 0x6c(r9)
/* 802DD08C 002D8CEC 2C 00 00 00 */ cmpwi r0, 0
/* 802DD090 002D8CF0 40 82 00 38 */ bne lbl_802DD0C8
/* 802DD094 002D8CF4 88 89 00 0D */ lbz r4, 0xd(r9)
/* 802DD098 002D8CF8 7C 04 18 40 */ cmplw r4, r3
/* 802DD09C 002D8CFC 40 82 00 0C */ bne lbl_802DD0A8
/* 802DD0A0 002D8D00 7D 23 4B 78 */ mr r3, r9
/* 802DD0A4 002D8D04 4E 80 00 20 */ blr
lbl_802DD0A8:
/* 802DD0A8 002D8D08 2C 06 00 00 */ cmpwi r6, 0
/* 802DD0AC 002D8D0C 41 82 00 1C */ beq lbl_802DD0C8
/* 802DD0B0 002D8D10 7C 04 38 00 */ cmpw r4, r7
/* 802DD0B4 002D8D14 40 82 00 14 */ bne lbl_802DD0C8
/* 802DD0B8 002D8D18 38 04 00 01 */ addi r0, r4, 1
/* 802DD0BC 002D8D1C 7D 23 4B 78 */ mr r3, r9
/* 802DD0C0 002D8D20 98 09 00 0D */ stb r0, 0xd(r9)
/* 802DD0C4 002D8D24 4E 80 00 20 */ blr
lbl_802DD0C8:
/* 802DD0C8 002D8D28 39 08 00 01 */ addi r8, r8, 1
/* 802DD0CC 002D8D2C 42 00 FF A0 */ bdnz lbl_802DD06C
/* 802DD0D0 002D8D30 38 60 00 00 */ li r3, 0
/* 802DD0D4 002D8D34 4E 80 00 20 */ blr
.global port_flow_control_user
port_flow_control_user:
/* 802DD0D8 002D8D38 88 03 00 24 */ lbz r0, 0x24(r3)
/* 802DD0DC 002D8D3C 38 A0 00 00 */ li r5, 0
/* 802DD0E0 002D8D40 2C 00 00 00 */ cmpwi r0, 0
/* 802DD0E4 002D8D44 40 82 00 34 */ bne lbl_802DD118
/* 802DD0E8 002D8D48 80 83 00 6C */ lwz r4, 0x6c(r3)
/* 802DD0EC 002D8D4C 2C 04 00 00 */ cmpwi r4, 0
/* 802DD0F0 002D8D50 41 82 00 28 */ beq lbl_802DD118
/* 802DD0F4 002D8D54 88 04 00 71 */ lbz r0, 0x71(r4)
/* 802DD0F8 002D8D58 2C 00 00 00 */ cmpwi r0, 0
/* 802DD0FC 002D8D5C 41 82 00 1C */ beq lbl_802DD118
/* 802DD100 002D8D60 80 03 00 28 */ lwz r0, 0x28(r3)
/* 802DD104 002D8D64 28 00 1F 40 */ cmplwi r0, 0x1f40
/* 802DD108 002D8D68 41 81 00 10 */ bgt lbl_802DD118
/* 802DD10C 002D8D6C A0 03 00 20 */ lhz r0, 0x20(r3)
/* 802DD110 002D8D70 28 00 00 10 */ cmplwi r0, 0x10
/* 802DD114 002D8D74 40 81 00 08 */ ble lbl_802DD11C
lbl_802DD118:
/* 802DD118 002D8D78 38 A0 00 01 */ li r5, 1
lbl_802DD11C:
/* 802DD11C 002D8D7C 88 03 00 25 */ lbz r0, 0x25(r3)
/* 802DD120 002D8D80 7C 00 28 40 */ cmplw r0, r5
/* 802DD124 002D8D84 40 82 00 0C */ bne lbl_802DD130
/* 802DD128 002D8D88 38 60 00 00 */ li r3, 0
/* 802DD12C 002D8D8C 4E 80 00 20 */ blr
lbl_802DD130:
/* 802DD130 002D8D90 2C 05 00 00 */ cmpwi r5, 0
/* 802DD134 002D8D94 98 A3 00 25 */ stb r5, 0x25(r3)
/* 802DD138 002D8D98 3C 60 00 03 */ lis r3, 3
/* 802DD13C 002D8D9C 4D 82 00 20 */ beqlr
/* 802DD140 002D8DA0 3C 60 00 01 */ lis r3, 1
/* 802DD144 002D8DA4 4E 80 00 20 */ blr
.global port_get_signal_changes
port_get_signal_changes:
/* 802DD148 002D8DA8 7C A4 22 78 */ xor r4, r5, r4
/* 802DD14C 002D8DAC 38 C0 00 00 */ li r6, 0
/* 802DD150 002D8DB0 54 80 07 FF */ clrlwi. r0, r4, 0x1f
/* 802DD154 002D8DB4 41 82 00 14 */ beq lbl_802DD168
/* 802DD158 002D8DB8 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
/* 802DD15C 002D8DBC 60 C6 00 10 */ ori r6, r6, 0x10
/* 802DD160 002D8DC0 41 82 00 08 */ beq lbl_802DD168
/* 802DD164 002D8DC4 60 C6 08 00 */ ori r6, r6, 0x800
lbl_802DD168:
/* 802DD168 002D8DC8 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e
/* 802DD16C 002D8DCC 41 82 00 14 */ beq lbl_802DD180
/* 802DD170 002D8DD0 54 A0 07 BD */ rlwinm. r0, r5, 0, 0x1e, 0x1e
/* 802DD174 002D8DD4 60 C6 00 08 */ ori r6, r6, 8
/* 802DD178 002D8DD8 41 82 00 08 */ beq lbl_802DD180
/* 802DD17C 002D8DDC 60 C6 04 00 */ ori r6, r6, 0x400
lbl_802DD180:
/* 802DD180 002D8DE0 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d
/* 802DD184 002D8DE4 41 82 00 08 */ beq lbl_802DD18C
/* 802DD188 002D8DE8 60 C6 01 00 */ ori r6, r6, 0x100
lbl_802DD18C:
/* 802DD18C 002D8DEC 54 80 07 39 */ rlwinm. r0, r4, 0, 0x1c, 0x1c
/* 802DD190 002D8DF0 41 82 00 14 */ beq lbl_802DD1A4
/* 802DD194 002D8DF4 54 A0 07 39 */ rlwinm. r0, r5, 0, 0x1c, 0x1c
/* 802DD198 002D8DF8 60 C6 00 20 */ ori r6, r6, 0x20
/* 802DD19C 002D8DFC 41 82 00 08 */ beq lbl_802DD1A4
/* 802DD1A0 002D8E00 60 C6 10 00 */ ori r6, r6, 0x1000
lbl_802DD1A4:
/* 802DD1A4 002D8E04 80 03 00 88 */ lwz r0, 0x88(r3)
/* 802DD1A8 002D8E08 7C 03 30 38 */ and r3, r0, r6
/* 802DD1AC 002D8E0C 4E 80 00 20 */ blr
.global port_flow_control_peer
port_flow_control_peer:
/* 802DD1B0 002D8E10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802DD1B4 002D8E14 7C 08 02 A6 */ mflr r0
/* 802DD1B8 002D8E18 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DD1BC 002D8E1C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802DD1C0 002D8E20 7C 7F 1B 78 */ mr r31, r3
/* 802DD1C4 002D8E24 80 C3 00 6C */ lwz r6, 0x6c(r3)
/* 802DD1C8 002D8E28 2C 06 00 00 */ cmpwi r6, 0
/* 802DD1CC 002D8E2C 41 82 01 9C */ beq lbl_802DD368
/* 802DD1D0 002D8E30 88 06 00 72 */ lbz r0, 0x72(r6)
/* 802DD1D4 002D8E34 28 00 00 02 */ cmplwi r0, 2
/* 802DD1D8 002D8E38 40 82 00 B0 */ bne lbl_802DD288
/* 802DD1DC 002D8E3C 2C 04 00 00 */ cmpwi r4, 0
/* 802DD1E0 002D8E40 41 82 00 74 */ beq lbl_802DD254
/* 802DD1E4 002D8E44 A0 03 00 9A */ lhz r0, 0x9a(r3)
/* 802DD1E8 002D8E48 7C 05 00 40 */ cmplw r5, r0
/* 802DD1EC 002D8E4C 40 81 00 10 */ ble lbl_802DD1FC
/* 802DD1F0 002D8E50 38 00 00 00 */ li r0, 0
/* 802DD1F4 002D8E54 B0 03 00 9A */ sth r0, 0x9a(r3)
/* 802DD1F8 002D8E58 48 00 00 0C */ b lbl_802DD204
lbl_802DD1FC:
/* 802DD1FC 002D8E5C 7C 05 00 50 */ subf r0, r5, r0
/* 802DD200 002D8E60 B0 03 00 9A */ sth r0, 0x9a(r3)
lbl_802DD204:
/* 802DD204 002D8E64 A0 83 00 9A */ lhz r4, 0x9a(r3)
/* 802DD208 002D8E68 A0 03 00 9E */ lhz r0, 0x9e(r3)
/* 802DD20C 002D8E6C 7C 04 00 40 */ cmplw r4, r0
/* 802DD210 002D8E70 41 81 01 58 */ bgt lbl_802DD368
/* 802DD214 002D8E74 88 03 00 3D */ lbz r0, 0x3d(r3)
/* 802DD218 002D8E78 2C 00 00 00 */ cmpwi r0, 0
/* 802DD21C 002D8E7C 40 82 01 4C */ bne lbl_802DD368
/* 802DD220 002D8E80 A0 03 00 9C */ lhz r0, 0x9c(r3)
/* 802DD224 002D8E84 7C 00 20 40 */ cmplw r0, r4
/* 802DD228 002D8E88 40 81 01 40 */ ble lbl_802DD368
/* 802DD22C 002D8E8C 7C 04 00 50 */ subf r0, r4, r0
/* 802DD230 002D8E90 80 63 00 6C */ lwz r3, 0x6c(r3)
/* 802DD234 002D8E94 88 9F 00 0D */ lbz r4, 0xd(r31)
/* 802DD238 002D8E98 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 802DD23C 002D8E9C 48 00 37 75 */ bl rfc_send_credit
/* 802DD240 002D8EA0 A0 7F 00 9C */ lhz r3, 0x9c(r31)
/* 802DD244 002D8EA4 38 00 00 00 */ li r0, 0
/* 802DD248 002D8EA8 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802DD24C 002D8EAC B0 7F 00 9A */ sth r3, 0x9a(r31)
/* 802DD250 002D8EB0 48 00 01 18 */ b lbl_802DD368
lbl_802DD254:
/* 802DD254 002D8EB4 80 03 00 94 */ lwz r0, 0x94(r3)
/* 802DD258 002D8EB8 2C 00 00 00 */ cmpwi r0, 0
/* 802DD25C 002D8EBC 41 82 00 10 */ beq lbl_802DD26C
/* 802DD260 002D8EC0 38 00 00 01 */ li r0, 1
/* 802DD264 002D8EC4 98 03 00 3C */ stb r0, 0x3c(r3)
/* 802DD268 002D8EC8 48 00 01 00 */ b lbl_802DD368
lbl_802DD26C:
/* 802DD26C 002D8ECC A0 83 00 38 */ lhz r4, 0x38(r3)
/* 802DD270 002D8ED0 A0 03 00 9C */ lhz r0, 0x9c(r3)
/* 802DD274 002D8ED4 7C 04 00 40 */ cmplw r4, r0
/* 802DD278 002D8ED8 41 80 00 F0 */ blt lbl_802DD368
/* 802DD27C 002D8EDC 38 00 00 01 */ li r0, 1
/* 802DD280 002D8EE0 98 03 00 3C */ stb r0, 0x3c(r3)
/* 802DD284 002D8EE4 48 00 00 E4 */ b lbl_802DD368
lbl_802DD288:
/* 802DD288 002D8EE8 2C 04 00 00 */ cmpwi r4, 0
/* 802DD28C 002D8EEC 41 82 00 50 */ beq lbl_802DD2DC
/* 802DD290 002D8EF0 88 03 00 3C */ lbz r0, 0x3c(r3)
/* 802DD294 002D8EF4 2C 00 00 00 */ cmpwi r0, 0
/* 802DD298 002D8EF8 41 82 00 D0 */ beq lbl_802DD368
/* 802DD29C 002D8EFC 80 03 00 40 */ lwz r0, 0x40(r3)
/* 802DD2A0 002D8F00 28 00 13 88 */ cmplwi r0, 0x1388
/* 802DD2A4 002D8F04 40 80 00 C4 */ bge lbl_802DD368
/* 802DD2A8 002D8F08 A0 03 00 38 */ lhz r0, 0x38(r3)
/* 802DD2AC 002D8F0C 28 00 00 08 */ cmplwi r0, 8
/* 802DD2B0 002D8F10 40 80 00 B8 */ bge lbl_802DD368
/* 802DD2B4 002D8F14 88 03 00 3D */ lbz r0, 0x3d(r3)
/* 802DD2B8 002D8F18 38 80 00 00 */ li r4, 0
/* 802DD2BC 002D8F1C 98 83 00 3C */ stb r4, 0x3c(r3)
/* 802DD2C0 002D8F20 2C 00 00 00 */ cmpwi r0, 0
/* 802DD2C4 002D8F24 40 82 00 A4 */ bne lbl_802DD368
/* 802DD2C8 002D8F28 88 9F 00 0D */ lbz r4, 0xd(r31)
/* 802DD2CC 002D8F2C 7C C3 33 78 */ mr r3, r6
/* 802DD2D0 002D8F30 38 A0 00 01 */ li r5, 1
/* 802DD2D4 002D8F34 48 00 2B 4D */ bl RFCOMM_FlowReq
/* 802DD2D8 002D8F38 48 00 00 90 */ b lbl_802DD368
lbl_802DD2DC:
/* 802DD2DC 002D8F3C 80 03 00 94 */ lwz r0, 0x94(r3)
/* 802DD2E0 002D8F40 2C 00 00 00 */ cmpwi r0, 0
/* 802DD2E4 002D8F44 41 82 00 20 */ beq lbl_802DD304
/* 802DD2E8 002D8F48 38 00 00 01 */ li r0, 1
/* 802DD2EC 002D8F4C 88 9F 00 0D */ lbz r4, 0xd(r31)
/* 802DD2F0 002D8F50 98 03 00 3C */ stb r0, 0x3c(r3)
/* 802DD2F4 002D8F54 7C C3 33 78 */ mr r3, r6
/* 802DD2F8 002D8F58 38 A0 00 00 */ li r5, 0
/* 802DD2FC 002D8F5C 48 00 2B 25 */ bl RFCOMM_FlowReq
/* 802DD300 002D8F60 48 00 00 68 */ b lbl_802DD368
lbl_802DD304:
/* 802DD304 002D8F64 80 03 00 40 */ lwz r0, 0x40(r3)
/* 802DD308 002D8F68 28 00 1F 40 */ cmplwi r0, 0x1f40
/* 802DD30C 002D8F6C 41 81 00 10 */ bgt lbl_802DD31C
/* 802DD310 002D8F70 A0 03 00 38 */ lhz r0, 0x38(r3)
/* 802DD314 002D8F74 28 00 00 10 */ cmplwi r0, 0x10
/* 802DD318 002D8F78 40 81 00 50 */ ble lbl_802DD368
lbl_802DD31C:
/* 802DD31C 002D8F7C 88 03 00 3C */ lbz r0, 0x3c(r3)
/* 802DD320 002D8F80 2C 00 00 00 */ cmpwi r0, 0
/* 802DD324 002D8F84 40 82 00 44 */ bne lbl_802DD368
/* 802DD328 002D8F88 3C 60 80 57 */ lis r3, lbl_8056C428@ha
/* 802DD32C 002D8F8C 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
/* 802DD330 002D8F90 88 03 04 14 */ lbz r0, 0x414(r3)
/* 802DD334 002D8F94 28 00 00 04 */ cmplwi r0, 4
/* 802DD338 002D8F98 41 80 00 18 */ blt lbl_802DD350
/* 802DD33C 002D8F9C 3C 60 00 09 */ lis r3, 0x00090003@ha
/* 802DD340 002D8FA0 3C 80 80 44 */ lis r4, lbl_804446A8@ha
/* 802DD344 002D8FA4 38 63 00 03 */ addi r3, r3, 0x00090003@l
/* 802DD348 002D8FA8 38 84 46 A8 */ addi r4, r4, lbl_804446A8@l
/* 802DD34C 002D8FAC 4B FD FB C5 */ bl LogMsg_0
lbl_802DD350:
/* 802DD350 002D8FB0 38 00 00 01 */ li r0, 1
/* 802DD354 002D8FB4 80 7F 00 6C */ lwz r3, 0x6c(r31)
/* 802DD358 002D8FB8 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802DD35C 002D8FBC 38 A0 00 00 */ li r5, 0
/* 802DD360 002D8FC0 88 9F 00 0D */ lbz r4, 0xd(r31)
/* 802DD364 002D8FC4 48 00 2A BD */ bl RFCOMM_FlowReq
lbl_802DD368:
/* 802DD368 002D8FC8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802DD36C 002D8FCC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802DD370 002D8FD0 7C 08 03 A6 */ mtlr r0
/* 802DD374 002D8FD4 38 21 00 10 */ addi r1, r1, 0x10
/* 802DD378 002D8FD8 4E 80 00 20 */ blr
|