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
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global __OSLoadFPUContext
__OSLoadFPUContext:
/* 8026AC14 00266874 A0 A4 01 A2 */ lhz r5, 0x1a2(r4)
/* 8026AC18 00266878 54 A5 07 FF */ clrlwi. r5, r5, 0x1f
/* 8026AC1C 0026687C 41 82 01 18 */ beq lbl_8026AD34
/* 8026AC20 00266880 C8 04 01 90 */ lfd f0, 0x190(r4)
/* 8026AC24 00266884 FD FE 05 8E */ mtfsf 0xff, f0
/* 8026AC28 00266888 7C B8 E2 A6 */ mfspr r5, 0x398
/* 8026AC2C 0026688C 54 A5 1F FF */ rlwinm. r5, r5, 3, 0x1f, 0x1f
/* 8026AC30 00266890 41 82 00 84 */ beq lbl_8026ACB4
/* 8026AC34 00266894 E0 04 01 C8 */ psq_l f0, 456(r4), 0, qr0
/* 8026AC38 00266898 E0 24 01 D0 */ psq_l f1, 464(r4), 0, qr0
/* 8026AC3C 0026689C E0 44 01 D8 */ psq_l f2, 472(r4), 0, qr0
/* 8026AC40 002668A0 E0 64 01 E0 */ psq_l f3, 480(r4), 0, qr0
/* 8026AC44 002668A4 E0 84 01 E8 */ psq_l f4, 488(r4), 0, qr0
/* 8026AC48 002668A8 E0 A4 01 F0 */ psq_l f5, 496(r4), 0, qr0
/* 8026AC4C 002668AC E0 C4 01 F8 */ psq_l f6, 504(r4), 0, qr0
/* 8026AC50 002668B0 E0 E4 02 00 */ psq_l f7, 512(r4), 0, qr0
/* 8026AC54 002668B4 E1 04 02 08 */ psq_l f8, 520(r4), 0, qr0
/* 8026AC58 002668B8 E1 24 02 10 */ psq_l f9, 528(r4), 0, qr0
/* 8026AC5C 002668BC E1 44 02 18 */ psq_l f10, 536(r4), 0, qr0
/* 8026AC60 002668C0 E1 64 02 20 */ psq_l f11, 544(r4), 0, qr0
/* 8026AC64 002668C4 E1 84 02 28 */ psq_l f12, 552(r4), 0, qr0
/* 8026AC68 002668C8 E1 A4 02 30 */ psq_l f13, 560(r4), 0, qr0
/* 8026AC6C 002668CC E1 C4 02 38 */ psq_l f14, 568(r4), 0, qr0
/* 8026AC70 002668D0 E1 E4 02 40 */ psq_l f15, 576(r4), 0, qr0
/* 8026AC74 002668D4 E2 04 02 48 */ psq_l f16, 584(r4), 0, qr0
/* 8026AC78 002668D8 E2 24 02 50 */ psq_l f17, 592(r4), 0, qr0
/* 8026AC7C 002668DC E2 44 02 58 */ psq_l f18, 600(r4), 0, qr0
/* 8026AC80 002668E0 E2 64 02 60 */ psq_l f19, 608(r4), 0, qr0
/* 8026AC84 002668E4 E2 84 02 68 */ psq_l f20, 616(r4), 0, qr0
/* 8026AC88 002668E8 E2 A4 02 70 */ psq_l f21, 624(r4), 0, qr0
/* 8026AC8C 002668EC E2 C4 02 78 */ psq_l f22, 632(r4), 0, qr0
/* 8026AC90 002668F0 E2 E4 02 80 */ psq_l f23, 640(r4), 0, qr0
/* 8026AC94 002668F4 E3 04 02 88 */ psq_l f24, 648(r4), 0, qr0
/* 8026AC98 002668F8 E3 24 02 90 */ psq_l f25, 656(r4), 0, qr0
/* 8026AC9C 002668FC E3 44 02 98 */ psq_l f26, 664(r4), 0, qr0
/* 8026ACA0 00266900 E3 64 02 A0 */ psq_l f27, 672(r4), 0, qr0
/* 8026ACA4 00266904 E3 84 02 A8 */ psq_l f28, 680(r4), 0, qr0
/* 8026ACA8 00266908 E3 A4 02 B0 */ psq_l f29, 688(r4), 0, qr0
/* 8026ACAC 0026690C E3 C4 02 B8 */ psq_l f30, 696(r4), 0, qr0
/* 8026ACB0 00266910 E3 E4 02 C0 */ psq_l f31, 704(r4), 0, qr0
lbl_8026ACB4:
/* 8026ACB4 00266914 C8 04 00 90 */ lfd f0, 0x90(r4)
/* 8026ACB8 00266918 C8 24 00 98 */ lfd f1, 0x98(r4)
/* 8026ACBC 0026691C C8 44 00 A0 */ lfd f2, 0xa0(r4)
/* 8026ACC0 00266920 C8 64 00 A8 */ lfd f3, 0xa8(r4)
/* 8026ACC4 00266924 C8 84 00 B0 */ lfd f4, 0xb0(r4)
/* 8026ACC8 00266928 C8 A4 00 B8 */ lfd f5, 0xb8(r4)
/* 8026ACCC 0026692C C8 C4 00 C0 */ lfd f6, 0xc0(r4)
/* 8026ACD0 00266930 C8 E4 00 C8 */ lfd f7, 0xc8(r4)
/* 8026ACD4 00266934 C9 04 00 D0 */ lfd f8, 0xd0(r4)
/* 8026ACD8 00266938 C9 24 00 D8 */ lfd f9, 0xd8(r4)
/* 8026ACDC 0026693C C9 44 00 E0 */ lfd f10, 0xe0(r4)
/* 8026ACE0 00266940 C9 64 00 E8 */ lfd f11, 0xe8(r4)
/* 8026ACE4 00266944 C9 84 00 F0 */ lfd f12, 0xf0(r4)
/* 8026ACE8 00266948 C9 A4 00 F8 */ lfd f13, 0xf8(r4)
/* 8026ACEC 0026694C C9 C4 01 00 */ lfd f14, 0x100(r4)
/* 8026ACF0 00266950 C9 E4 01 08 */ lfd f15, 0x108(r4)
/* 8026ACF4 00266954 CA 04 01 10 */ lfd f16, 0x110(r4)
/* 8026ACF8 00266958 CA 24 01 18 */ lfd f17, 0x118(r4)
/* 8026ACFC 0026695C CA 44 01 20 */ lfd f18, 0x120(r4)
/* 8026AD00 00266960 CA 64 01 28 */ lfd f19, 0x128(r4)
/* 8026AD04 00266964 CA 84 01 30 */ lfd f20, 0x130(r4)
/* 8026AD08 00266968 CA A4 01 38 */ lfd f21, 0x138(r4)
/* 8026AD0C 0026696C CA C4 01 40 */ lfd f22, 0x140(r4)
/* 8026AD10 00266970 CA E4 01 48 */ lfd f23, 0x148(r4)
/* 8026AD14 00266974 CB 04 01 50 */ lfd f24, 0x150(r4)
/* 8026AD18 00266978 CB 24 01 58 */ lfd f25, 0x158(r4)
/* 8026AD1C 0026697C CB 44 01 60 */ lfd f26, 0x160(r4)
/* 8026AD20 00266980 CB 64 01 68 */ lfd f27, 0x168(r4)
/* 8026AD24 00266984 CB 84 01 70 */ lfd f28, 0x170(r4)
/* 8026AD28 00266988 CB A4 01 78 */ lfd f29, 0x178(r4)
/* 8026AD2C 0026698C CB C4 01 80 */ lfd f30, 0x180(r4)
/* 8026AD30 00266990 CB E4 01 88 */ lfd f31, 0x188(r4)
lbl_8026AD34:
/* 8026AD34 00266994 4E 80 00 20 */ blr
.global __OSSaveFPUContext
__OSSaveFPUContext:
/* 8026AD38 00266998 A0 65 01 A2 */ lhz r3, 0x1a2(r5)
/* 8026AD3C 0026699C 60 63 00 01 */ ori r3, r3, 1
/* 8026AD40 002669A0 B0 65 01 A2 */ sth r3, 0x1a2(r5)
/* 8026AD44 002669A4 D8 05 00 90 */ stfd f0, 0x90(r5)
/* 8026AD48 002669A8 D8 25 00 98 */ stfd f1, 0x98(r5)
/* 8026AD4C 002669AC D8 45 00 A0 */ stfd f2, 0xa0(r5)
/* 8026AD50 002669B0 D8 65 00 A8 */ stfd f3, 0xa8(r5)
/* 8026AD54 002669B4 D8 85 00 B0 */ stfd f4, 0xb0(r5)
/* 8026AD58 002669B8 D8 A5 00 B8 */ stfd f5, 0xb8(r5)
/* 8026AD5C 002669BC D8 C5 00 C0 */ stfd f6, 0xc0(r5)
/* 8026AD60 002669C0 D8 E5 00 C8 */ stfd f7, 0xc8(r5)
/* 8026AD64 002669C4 D9 05 00 D0 */ stfd f8, 0xd0(r5)
/* 8026AD68 002669C8 D9 25 00 D8 */ stfd f9, 0xd8(r5)
/* 8026AD6C 002669CC D9 45 00 E0 */ stfd f10, 0xe0(r5)
/* 8026AD70 002669D0 D9 65 00 E8 */ stfd f11, 0xe8(r5)
/* 8026AD74 002669D4 D9 85 00 F0 */ stfd f12, 0xf0(r5)
/* 8026AD78 002669D8 D9 A5 00 F8 */ stfd f13, 0xf8(r5)
/* 8026AD7C 002669DC D9 C5 01 00 */ stfd f14, 0x100(r5)
/* 8026AD80 002669E0 D9 E5 01 08 */ stfd f15, 0x108(r5)
/* 8026AD84 002669E4 DA 05 01 10 */ stfd f16, 0x110(r5)
/* 8026AD88 002669E8 DA 25 01 18 */ stfd f17, 0x118(r5)
/* 8026AD8C 002669EC DA 45 01 20 */ stfd f18, 0x120(r5)
/* 8026AD90 002669F0 DA 65 01 28 */ stfd f19, 0x128(r5)
/* 8026AD94 002669F4 DA 85 01 30 */ stfd f20, 0x130(r5)
/* 8026AD98 002669F8 DA A5 01 38 */ stfd f21, 0x138(r5)
/* 8026AD9C 002669FC DA C5 01 40 */ stfd f22, 0x140(r5)
/* 8026ADA0 00266A00 DA E5 01 48 */ stfd f23, 0x148(r5)
/* 8026ADA4 00266A04 DB 05 01 50 */ stfd f24, 0x150(r5)
/* 8026ADA8 00266A08 DB 25 01 58 */ stfd f25, 0x158(r5)
/* 8026ADAC 00266A0C DB 45 01 60 */ stfd f26, 0x160(r5)
/* 8026ADB0 00266A10 DB 65 01 68 */ stfd f27, 0x168(r5)
/* 8026ADB4 00266A14 DB 85 01 70 */ stfd f28, 0x170(r5)
/* 8026ADB8 00266A18 DB A5 01 78 */ stfd f29, 0x178(r5)
/* 8026ADBC 00266A1C DB C5 01 80 */ stfd f30, 0x180(r5)
/* 8026ADC0 00266A20 DB E5 01 88 */ stfd f31, 0x188(r5)
/* 8026ADC4 00266A24 FC 00 04 8E */ mffs f0
/* 8026ADC8 00266A28 D8 05 01 90 */ stfd f0, 0x190(r5)
/* 8026ADCC 00266A2C C8 05 00 90 */ lfd f0, 0x90(r5)
/* 8026ADD0 00266A30 7C 78 E2 A6 */ mfspr r3, 0x398
/* 8026ADD4 00266A34 54 63 1F FF */ rlwinm. r3, r3, 3, 0x1f, 0x1f
/* 8026ADD8 00266A38 41 82 00 84 */ beq lbl_8026AE5C
/* 8026ADDC 00266A3C F0 05 01 C8 */ psq_st f0, 456(r5), 0, qr0
/* 8026ADE0 00266A40 F0 25 01 D0 */ psq_st f1, 464(r5), 0, qr0
/* 8026ADE4 00266A44 F0 45 01 D8 */ psq_st f2, 472(r5), 0, qr0
/* 8026ADE8 00266A48 F0 65 01 E0 */ psq_st f3, 480(r5), 0, qr0
/* 8026ADEC 00266A4C F0 85 01 E8 */ psq_st f4, 488(r5), 0, qr0
/* 8026ADF0 00266A50 F0 A5 01 F0 */ psq_st f5, 496(r5), 0, qr0
/* 8026ADF4 00266A54 F0 C5 01 F8 */ psq_st f6, 504(r5), 0, qr0
/* 8026ADF8 00266A58 F0 E5 02 00 */ psq_st f7, 512(r5), 0, qr0
/* 8026ADFC 00266A5C F1 05 02 08 */ psq_st f8, 520(r5), 0, qr0
/* 8026AE00 00266A60 F1 25 02 10 */ psq_st f9, 528(r5), 0, qr0
/* 8026AE04 00266A64 F1 45 02 18 */ psq_st f10, 536(r5), 0, qr0
/* 8026AE08 00266A68 F1 65 02 20 */ psq_st f11, 544(r5), 0, qr0
/* 8026AE0C 00266A6C F1 85 02 28 */ psq_st f12, 552(r5), 0, qr0
/* 8026AE10 00266A70 F1 A5 02 30 */ psq_st f13, 560(r5), 0, qr0
/* 8026AE14 00266A74 F1 C5 02 38 */ psq_st f14, 568(r5), 0, qr0
/* 8026AE18 00266A78 F1 E5 02 40 */ psq_st f15, 576(r5), 0, qr0
/* 8026AE1C 00266A7C F2 05 02 48 */ psq_st f16, 584(r5), 0, qr0
/* 8026AE20 00266A80 F2 25 02 50 */ psq_st f17, 592(r5), 0, qr0
/* 8026AE24 00266A84 F2 45 02 58 */ psq_st f18, 600(r5), 0, qr0
/* 8026AE28 00266A88 F2 65 02 60 */ psq_st f19, 608(r5), 0, qr0
/* 8026AE2C 00266A8C F2 85 02 68 */ psq_st f20, 616(r5), 0, qr0
/* 8026AE30 00266A90 F2 A5 02 70 */ psq_st f21, 624(r5), 0, qr0
/* 8026AE34 00266A94 F2 C5 02 78 */ psq_st f22, 632(r5), 0, qr0
/* 8026AE38 00266A98 F2 E5 02 80 */ psq_st f23, 640(r5), 0, qr0
/* 8026AE3C 00266A9C F3 05 02 88 */ psq_st f24, 648(r5), 0, qr0
/* 8026AE40 00266AA0 F3 25 02 90 */ psq_st f25, 656(r5), 0, qr0
/* 8026AE44 00266AA4 F3 45 02 98 */ psq_st f26, 664(r5), 0, qr0
/* 8026AE48 00266AA8 F3 65 02 A0 */ psq_st f27, 672(r5), 0, qr0
/* 8026AE4C 00266AAC F3 85 02 A8 */ psq_st f28, 680(r5), 0, qr0
/* 8026AE50 00266AB0 F3 A5 02 B0 */ psq_st f29, 688(r5), 0, qr0
/* 8026AE54 00266AB4 F3 C5 02 B8 */ psq_st f30, 696(r5), 0, qr0
/* 8026AE58 00266AB8 F3 E5 02 C0 */ psq_st f31, 704(r5), 0, qr0
lbl_8026AE5C:
/* 8026AE5C 00266ABC 4E 80 00 20 */ blr
.global OSSaveFPUContext
OSSaveFPUContext:
/* 8026AE60 00266AC0 38 A3 00 00 */ addi r5, r3, 0
/* 8026AE64 00266AC4 4B FF FE D4 */ b __OSSaveFPUContext
.global OSSetCurrentContext
OSSetCurrentContext:
/* 8026AE68 00266AC8 3C 80 80 00 */ lis r4, 0x800000D4@ha
/* 8026AE6C 00266ACC 90 64 00 D4 */ stw r3, 0x800000D4@l(r4)
/* 8026AE70 00266AD0 54 65 00 BE */ clrlwi r5, r3, 2
/* 8026AE74 00266AD4 90 A4 00 C0 */ stw r5, 0xc0(r4)
/* 8026AE78 00266AD8 80 A4 00 D8 */ lwz r5, 0xd8(r4)
/* 8026AE7C 00266ADC 7C 05 18 00 */ cmpw r5, r3
/* 8026AE80 00266AE0 40 82 00 20 */ bne lbl_8026AEA0
/* 8026AE84 00266AE4 80 C3 01 9C */ lwz r6, 0x19c(r3)
/* 8026AE88 00266AE8 60 C6 20 00 */ ori r6, r6, 0x2000
/* 8026AE8C 00266AEC 90 C3 01 9C */ stw r6, 0x19c(r3)
/* 8026AE90 00266AF0 7C C0 00 A6 */ mfmsr r6
/* 8026AE94 00266AF4 60 C6 00 02 */ ori r6, r6, 2
/* 8026AE98 00266AF8 7C C0 01 24 */ mtmsr r6
/* 8026AE9C 00266AFC 4E 80 00 20 */ blr
lbl_8026AEA0:
/* 8026AEA0 00266B00 80 C3 01 9C */ lwz r6, 0x19c(r3)
/* 8026AEA4 00266B04 54 C6 04 E2 */ rlwinm r6, r6, 0, 0x13, 0x11
/* 8026AEA8 00266B08 90 C3 01 9C */ stw r6, 0x19c(r3)
/* 8026AEAC 00266B0C 7C C0 00 A6 */ mfmsr r6
/* 8026AEB0 00266B10 54 C6 04 E2 */ rlwinm r6, r6, 0, 0x13, 0x11
/* 8026AEB4 00266B14 60 C6 00 02 */ ori r6, r6, 2
/* 8026AEB8 00266B18 7C C0 01 24 */ mtmsr r6
/* 8026AEBC 00266B1C 4C 00 01 2C */ isync
/* 8026AEC0 00266B20 4E 80 00 20 */ blr
.global OSGetCurrentContext
OSGetCurrentContext:
/* 8026AEC4 00266B24 3C 60 80 00 */ lis r3, 0x800000D4@ha
/* 8026AEC8 00266B28 80 63 00 D4 */ lwz r3, 0x800000D4@l(r3)
/* 8026AECC 00266B2C 4E 80 00 20 */ blr
.global OSSaveContext
OSSaveContext:
/* 8026AED0 00266B30 BD A3 00 34 */ stmw r13, 0x34(r3)
/* 8026AED4 00266B34 7C 11 E2 A6 */ mfspr r0, 0x391
/* 8026AED8 00266B38 90 03 01 A8 */ stw r0, 0x1a8(r3)
/* 8026AEDC 00266B3C 7C 12 E2 A6 */ mfspr r0, 0x392
/* 8026AEE0 00266B40 90 03 01 AC */ stw r0, 0x1ac(r3)
/* 8026AEE4 00266B44 7C 13 E2 A6 */ mfspr r0, 0x393
/* 8026AEE8 00266B48 90 03 01 B0 */ stw r0, 0x1b0(r3)
/* 8026AEEC 00266B4C 7C 14 E2 A6 */ mfspr r0, 0x394
/* 8026AEF0 00266B50 90 03 01 B4 */ stw r0, 0x1b4(r3)
/* 8026AEF4 00266B54 7C 15 E2 A6 */ mfspr r0, 0x395
/* 8026AEF8 00266B58 90 03 01 B8 */ stw r0, 0x1b8(r3)
/* 8026AEFC 00266B5C 7C 16 E2 A6 */ mfspr r0, 0x396
/* 8026AF00 00266B60 90 03 01 BC */ stw r0, 0x1bc(r3)
/* 8026AF04 00266B64 7C 17 E2 A6 */ mfspr r0, 0x397
/* 8026AF08 00266B68 90 03 01 C0 */ stw r0, 0x1c0(r3)
/* 8026AF0C 00266B6C 7C 00 00 26 */ mfcr r0
/* 8026AF10 00266B70 90 03 00 80 */ stw r0, 0x80(r3)
/* 8026AF14 00266B74 7C 08 02 A6 */ mflr r0
/* 8026AF18 00266B78 90 03 00 84 */ stw r0, 0x84(r3)
/* 8026AF1C 00266B7C 90 03 01 98 */ stw r0, 0x198(r3)
/* 8026AF20 00266B80 7C 00 00 A6 */ mfmsr r0
/* 8026AF24 00266B84 90 03 01 9C */ stw r0, 0x19c(r3)
/* 8026AF28 00266B88 7C 09 02 A6 */ mfctr r0
/* 8026AF2C 00266B8C 90 03 00 88 */ stw r0, 0x88(r3)
/* 8026AF30 00266B90 7C 01 02 A6 */ mfxer r0
/* 8026AF34 00266B94 90 03 00 8C */ stw r0, 0x8c(r3)
/* 8026AF38 00266B98 90 23 00 04 */ stw r1, 4(r3)
/* 8026AF3C 00266B9C 90 43 00 08 */ stw r2, 8(r3)
/* 8026AF40 00266BA0 38 00 00 01 */ li r0, 1
/* 8026AF44 00266BA4 90 03 00 0C */ stw r0, 0xc(r3)
/* 8026AF48 00266BA8 38 60 00 00 */ li r3, 0
/* 8026AF4C 00266BAC 4E 80 00 20 */ blr
.global OSLoadContext
OSLoadContext:
/* 8026AF50 00266BB0 3C 80 80 27 */ lis r4, OSDisableInterrupts@ha
/* 8026AF54 00266BB4 80 C3 01 98 */ lwz r6, 0x198(r3)
/* 8026AF58 00266BB8 38 A4 E7 5C */ addi r5, r4, OSDisableInterrupts@l
/* 8026AF5C 00266BBC 7C 06 28 40 */ cmplw r6, r5
/* 8026AF60 00266BC0 40 81 00 18 */ ble lbl_8026AF78
/* 8026AF64 00266BC4 3C 80 80 27 */ lis r4, __RAS_OSDisableInterrupts_end@ha
/* 8026AF68 00266BC8 38 04 E7 68 */ addi r0, r4, __RAS_OSDisableInterrupts_end@l
/* 8026AF6C 00266BCC 7C 06 00 40 */ cmplw r6, r0
/* 8026AF70 00266BD0 40 80 00 08 */ bge lbl_8026AF78
/* 8026AF74 00266BD4 90 A3 01 98 */ stw r5, 0x198(r3)
lbl_8026AF78:
/* 8026AF78 00266BD8 80 03 00 00 */ lwz r0, 0(r3)
/* 8026AF7C 00266BDC 80 23 00 04 */ lwz r1, 4(r3)
/* 8026AF80 00266BE0 80 43 00 08 */ lwz r2, 8(r3)
/* 8026AF84 00266BE4 A0 83 01 A2 */ lhz r4, 0x1a2(r3)
/* 8026AF88 00266BE8 54 85 07 BD */ rlwinm. r5, r4, 0, 0x1e, 0x1e
/* 8026AF8C 00266BEC 41 82 00 14 */ beq lbl_8026AFA0
/* 8026AF90 00266BF0 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d
/* 8026AF94 00266BF4 B0 83 01 A2 */ sth r4, 0x1a2(r3)
/* 8026AF98 00266BF8 B8 A3 00 14 */ lmw r5, 0x14(r3)
/* 8026AF9C 00266BFC 48 00 00 08 */ b lbl_8026AFA4
lbl_8026AFA0:
/* 8026AFA0 00266C00 B9 A3 00 34 */ lmw r13, 0x34(r3)
lbl_8026AFA4:
/* 8026AFA4 00266C04 80 83 01 A8 */ lwz r4, 0x1a8(r3)
/* 8026AFA8 00266C08 7C 91 E3 A6 */ mtspr 0x391, r4
/* 8026AFAC 00266C0C 80 83 01 AC */ lwz r4, 0x1ac(r3)
/* 8026AFB0 00266C10 7C 92 E3 A6 */ mtspr 0x392, r4
/* 8026AFB4 00266C14 80 83 01 B0 */ lwz r4, 0x1b0(r3)
/* 8026AFB8 00266C18 7C 93 E3 A6 */ mtspr 0x393, r4
/* 8026AFBC 00266C1C 80 83 01 B4 */ lwz r4, 0x1b4(r3)
/* 8026AFC0 00266C20 7C 94 E3 A6 */ mtspr 0x394, r4
/* 8026AFC4 00266C24 80 83 01 B8 */ lwz r4, 0x1b8(r3)
/* 8026AFC8 00266C28 7C 95 E3 A6 */ mtspr 0x395, r4
/* 8026AFCC 00266C2C 80 83 01 BC */ lwz r4, 0x1bc(r3)
/* 8026AFD0 00266C30 7C 96 E3 A6 */ mtspr 0x396, r4
/* 8026AFD4 00266C34 80 83 01 C0 */ lwz r4, 0x1c0(r3)
/* 8026AFD8 00266C38 7C 97 E3 A6 */ mtspr 0x397, r4
/* 8026AFDC 00266C3C 80 83 00 80 */ lwz r4, 0x80(r3)
/* 8026AFE0 00266C40 7C 8F F1 20 */ mtcrf 0xff, r4
/* 8026AFE4 00266C44 80 83 00 84 */ lwz r4, 0x84(r3)
/* 8026AFE8 00266C48 7C 88 03 A6 */ mtlr r4
/* 8026AFEC 00266C4C 80 83 00 88 */ lwz r4, 0x88(r3)
/* 8026AFF0 00266C50 7C 89 03 A6 */ mtctr r4
/* 8026AFF4 00266C54 80 83 00 8C */ lwz r4, 0x8c(r3)
/* 8026AFF8 00266C58 7C 81 03 A6 */ mtxer r4
/* 8026AFFC 00266C5C 7C 80 00 A6 */ mfmsr r4
/* 8026B000 00266C60 54 84 04 5E */ rlwinm r4, r4, 0, 0x11, 0xf
/* 8026B004 00266C64 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d
/* 8026B008 00266C68 7C 80 01 24 */ mtmsr r4
/* 8026B00C 00266C6C 80 83 01 98 */ lwz r4, 0x198(r3)
/* 8026B010 00266C70 7C 9A 03 A6 */ mtspr 0x1a, r4
/* 8026B014 00266C74 80 83 01 9C */ lwz r4, 0x19c(r3)
/* 8026B018 00266C78 7C 9B 03 A6 */ mtspr 0x1b, r4
/* 8026B01C 00266C7C 80 83 00 10 */ lwz r4, 0x10(r3)
/* 8026B020 00266C80 80 63 00 0C */ lwz r3, 0xc(r3)
/* 8026B024 00266C84 4C 00 00 64 */ rfi
.global OSGetStackPointer
OSGetStackPointer:
/* 8026B028 00266C88 7C 23 0B 78 */ mr r3, r1
/* 8026B02C 00266C8C 4E 80 00 20 */ blr
.global OSSwitchFiber
OSSwitchFiber:
/* 8026B030 00266C90 7C 08 02 A6 */ mflr r0
/* 8026B034 00266C94 7C 25 0B 78 */ mr r5, r1
/* 8026B038 00266C98 94 A4 FF F8 */ stwu r5, -8(r4)
/* 8026B03C 00266C9C 7C 81 23 78 */ mr r1, r4
/* 8026B040 00266CA0 90 05 00 04 */ stw r0, 4(r5)
/* 8026B044 00266CA4 7C 68 03 A6 */ mtlr r3
/* 8026B048 00266CA8 4E 80 00 21 */ blrl
/* 8026B04C 00266CAC 80 A1 00 00 */ lwz r5, 0(r1)
/* 8026B050 00266CB0 80 05 00 04 */ lwz r0, 4(r5)
/* 8026B054 00266CB4 7C 08 03 A6 */ mtlr r0
/* 8026B058 00266CB8 7C A1 2B 78 */ mr r1, r5
/* 8026B05C 00266CBC 4E 80 00 20 */ blr
.global OSSwitchFiberEx
OSSwitchFiberEx:
/* 8026B060 00266CC0 7C 08 02 A6 */ mflr r0
/* 8026B064 00266CC4 7C 29 0B 78 */ mr r9, r1
/* 8026B068 00266CC8 95 28 FF F8 */ stwu r9, -8(r8)
/* 8026B06C 00266CCC 7D 01 43 78 */ mr r1, r8
/* 8026B070 00266CD0 90 09 00 04 */ stw r0, 4(r9)
/* 8026B074 00266CD4 7C E8 03 A6 */ mtlr r7
/* 8026B078 00266CD8 4E 80 00 21 */ blrl
/* 8026B07C 00266CDC 80 A1 00 00 */ lwz r5, 0(r1)
/* 8026B080 00266CE0 80 05 00 04 */ lwz r0, 4(r5)
/* 8026B084 00266CE4 7C 08 03 A6 */ mtlr r0
/* 8026B088 00266CE8 7C A1 2B 78 */ mr r1, r5
/* 8026B08C 00266CEC 4E 80 00 20 */ blr
.global OSClearContext
OSClearContext:
/* 8026B090 00266CF0 38 A0 00 00 */ li r5, 0
/* 8026B094 00266CF4 3C 80 80 00 */ lis r4, 0x800000D8@ha
/* 8026B098 00266CF8 B0 A3 01 A0 */ sth r5, 0x1a0(r3)
/* 8026B09C 00266CFC B0 A3 01 A2 */ sth r5, 0x1a2(r3)
/* 8026B0A0 00266D00 80 04 00 D8 */ lwz r0, 0x800000D8@l(r4)
/* 8026B0A4 00266D04 7C 03 00 40 */ cmplw r3, r0
/* 8026B0A8 00266D08 4C 82 00 20 */ bnelr
/* 8026B0AC 00266D0C 90 A4 00 D8 */ stw r5, 0xd8(r4)
/* 8026B0B0 00266D10 4E 80 00 20 */ blr
.global OSInitContext
OSInitContext:
/* 8026B0B4 00266D14 90 83 01 98 */ stw r4, 0x198(r3)
/* 8026B0B8 00266D18 90 A3 00 04 */ stw r5, 4(r3)
/* 8026B0BC 00266D1C 39 60 00 00 */ li r11, 0
/* 8026B0C0 00266D20 61 6B 90 32 */ ori r11, r11, 0x9032
/* 8026B0C4 00266D24 91 63 01 9C */ stw r11, 0x19c(r3)
/* 8026B0C8 00266D28 38 00 00 00 */ li r0, 0
/* 8026B0CC 00266D2C 90 03 00 80 */ stw r0, 0x80(r3)
/* 8026B0D0 00266D30 90 03 00 8C */ stw r0, 0x8c(r3)
/* 8026B0D4 00266D34 90 43 00 08 */ stw r2, 8(r3)
/* 8026B0D8 00266D38 91 A3 00 34 */ stw r13, 0x34(r3)
/* 8026B0DC 00266D3C 90 03 00 0C */ stw r0, 0xc(r3)
/* 8026B0E0 00266D40 90 03 00 10 */ stw r0, 0x10(r3)
/* 8026B0E4 00266D44 90 03 00 14 */ stw r0, 0x14(r3)
/* 8026B0E8 00266D48 90 03 00 18 */ stw r0, 0x18(r3)
/* 8026B0EC 00266D4C 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8026B0F0 00266D50 90 03 00 20 */ stw r0, 0x20(r3)
/* 8026B0F4 00266D54 90 03 00 24 */ stw r0, 0x24(r3)
/* 8026B0F8 00266D58 90 03 00 28 */ stw r0, 0x28(r3)
/* 8026B0FC 00266D5C 90 03 00 2C */ stw r0, 0x2c(r3)
/* 8026B100 00266D60 90 03 00 30 */ stw r0, 0x30(r3)
/* 8026B104 00266D64 90 03 00 38 */ stw r0, 0x38(r3)
/* 8026B108 00266D68 90 03 00 3C */ stw r0, 0x3c(r3)
/* 8026B10C 00266D6C 90 03 00 40 */ stw r0, 0x40(r3)
/* 8026B110 00266D70 90 03 00 44 */ stw r0, 0x44(r3)
/* 8026B114 00266D74 90 03 00 48 */ stw r0, 0x48(r3)
/* 8026B118 00266D78 90 03 00 4C */ stw r0, 0x4c(r3)
/* 8026B11C 00266D7C 90 03 00 50 */ stw r0, 0x50(r3)
/* 8026B120 00266D80 90 03 00 54 */ stw r0, 0x54(r3)
/* 8026B124 00266D84 90 03 00 58 */ stw r0, 0x58(r3)
/* 8026B128 00266D88 90 03 00 5C */ stw r0, 0x5c(r3)
/* 8026B12C 00266D8C 90 03 00 60 */ stw r0, 0x60(r3)
/* 8026B130 00266D90 90 03 00 64 */ stw r0, 0x64(r3)
/* 8026B134 00266D94 90 03 00 68 */ stw r0, 0x68(r3)
/* 8026B138 00266D98 90 03 00 6C */ stw r0, 0x6c(r3)
/* 8026B13C 00266D9C 90 03 00 70 */ stw r0, 0x70(r3)
/* 8026B140 00266DA0 90 03 00 74 */ stw r0, 0x74(r3)
/* 8026B144 00266DA4 90 03 00 78 */ stw r0, 0x78(r3)
/* 8026B148 00266DA8 90 03 00 7C */ stw r0, 0x7c(r3)
/* 8026B14C 00266DAC 90 03 01 A4 */ stw r0, 0x1a4(r3)
/* 8026B150 00266DB0 90 03 01 A8 */ stw r0, 0x1a8(r3)
/* 8026B154 00266DB4 90 03 01 AC */ stw r0, 0x1ac(r3)
/* 8026B158 00266DB8 90 03 01 B0 */ stw r0, 0x1b0(r3)
/* 8026B15C 00266DBC 90 03 01 B4 */ stw r0, 0x1b4(r3)
/* 8026B160 00266DC0 90 03 01 B8 */ stw r0, 0x1b8(r3)
/* 8026B164 00266DC4 90 03 01 BC */ stw r0, 0x1bc(r3)
/* 8026B168 00266DC8 90 03 01 C0 */ stw r0, 0x1c0(r3)
/* 8026B16C 00266DCC 4B FF FF 24 */ b OSClearContext
.global OSDumpContext
OSDumpContext:
/* 8026B170 00266DD0 94 21 FD 10 */ stwu r1, -0x2f0(r1)
/* 8026B174 00266DD4 7C 08 02 A6 */ mflr r0
/* 8026B178 00266DD8 90 01 02 F4 */ stw r0, 0x2f4(r1)
/* 8026B17C 00266DDC 39 61 02 F0 */ addi r11, r1, 0x2f0
/* 8026B180 00266DE0 4B F5 BF A1 */ bl _savegpr_25
/* 8026B184 00266DE4 3F 80 80 42 */ lis r28, lbl_80426C98@ha
/* 8026B188 00266DE8 7C 7E 1B 78 */ mr r30, r3
/* 8026B18C 00266DEC 3B 9C 6C 98 */ addi r28, r28, lbl_80426C98@l
/* 8026B190 00266DF0 7F C4 F3 78 */ mr r4, r30
/* 8026B194 00266DF4 38 7C 00 00 */ addi r3, r28, 0
/* 8026B198 00266DF8 4C C6 31 82 */ crclr 6
/* 8026B19C 00266DFC 4B D9 C9 29 */ bl OSReport
/* 8026B1A0 00266E00 7F DA F3 78 */ mr r26, r30
/* 8026B1A4 00266E04 3B 20 00 00 */ li r25, 0
lbl_8026B1A8:
/* 8026B1A8 00266E08 81 1A 00 40 */ lwz r8, 0x40(r26)
/* 8026B1AC 00266E0C 7F 24 CB 78 */ mr r4, r25
/* 8026B1B0 00266E10 80 BA 00 00 */ lwz r5, 0(r26)
/* 8026B1B4 00266E14 38 7C 00 48 */ addi r3, r28, 0x48
/* 8026B1B8 00266E18 7D 09 43 78 */ mr r9, r8
/* 8026B1BC 00266E1C 38 F9 00 10 */ addi r7, r25, 0x10
/* 8026B1C0 00266E20 7C A6 2B 78 */ mr r6, r5
/* 8026B1C4 00266E24 4C C6 31 82 */ crclr 6
/* 8026B1C8 00266E28 4B D9 C8 FD */ bl OSReport
/* 8026B1CC 00266E2C 3B 39 00 01 */ addi r25, r25, 1
/* 8026B1D0 00266E30 3B 5A 00 04 */ addi r26, r26, 4
/* 8026B1D4 00266E34 28 19 00 10 */ cmplwi r25, 0x10
/* 8026B1D8 00266E38 41 80 FF D0 */ blt lbl_8026B1A8
/* 8026B1DC 00266E3C 80 9E 00 84 */ lwz r4, 0x84(r30)
/* 8026B1E0 00266E40 38 7C 00 78 */ addi r3, r28, 0x78
/* 8026B1E4 00266E44 80 BE 00 80 */ lwz r5, 0x80(r30)
/* 8026B1E8 00266E48 4C C6 31 82 */ crclr 6
/* 8026B1EC 00266E4C 4B D9 C8 D9 */ bl OSReport
/* 8026B1F0 00266E50 80 9E 01 98 */ lwz r4, 0x198(r30)
/* 8026B1F4 00266E54 38 7C 00 A8 */ addi r3, r28, 0xa8
/* 8026B1F8 00266E58 80 BE 01 9C */ lwz r5, 0x19c(r30)
/* 8026B1FC 00266E5C 4C C6 31 82 */ crclr 6
/* 8026B200 00266E60 4B D9 C8 C5 */ bl OSReport
/* 8026B204 00266E64 38 7C 00 D8 */ addi r3, r28, 0xd8
/* 8026B208 00266E68 4C C6 31 82 */ crclr 6
/* 8026B20C 00266E6C 4B D9 C8 B9 */ bl OSReport
/* 8026B210 00266E70 7F DA F3 78 */ mr r26, r30
/* 8026B214 00266E74 3B 20 00 00 */ li r25, 0
lbl_8026B218:
/* 8026B218 00266E78 80 BA 01 A4 */ lwz r5, 0x1a4(r26)
/* 8026B21C 00266E7C 7F 24 CB 78 */ mr r4, r25
/* 8026B220 00266E80 80 FA 01 B4 */ lwz r7, 0x1b4(r26)
/* 8026B224 00266E84 38 7C 00 EC */ addi r3, r28, 0xec
/* 8026B228 00266E88 38 D9 00 04 */ addi r6, r25, 4
/* 8026B22C 00266E8C 4C C6 31 82 */ crclr 6
/* 8026B230 00266E90 4B D9 C8 95 */ bl OSReport
/* 8026B234 00266E94 3B 39 00 01 */ addi r25, r25, 1
/* 8026B238 00266E98 3B 5A 00 04 */ addi r26, r26, 4
/* 8026B23C 00266E9C 28 19 00 04 */ cmplwi r25, 4
/* 8026B240 00266EA0 41 80 FF D8 */ blt lbl_8026B218
/* 8026B244 00266EA4 A0 1E 01 A2 */ lhz r0, 0x1a2(r30)
/* 8026B248 00266EA8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8026B24C 00266EAC 41 82 01 18 */ beq lbl_8026B364
/* 8026B250 00266EB0 48 00 35 0D */ bl OSDisableInterrupts
/* 8026B254 00266EB4 3C C0 80 00 */ lis r6, 0x800000D4@ha
/* 8026B258 00266EB8 38 A0 00 00 */ li r5, 0
/* 8026B25C 00266EBC 83 66 00 D4 */ lwz r27, 0x800000D4@l(r6)
/* 8026B260 00266EC0 38 81 00 08 */ addi r4, r1, 8
/* 8026B264 00266EC4 7C 7F 1B 78 */ mr r31, r3
/* 8026B268 00266EC8 B0 A1 01 A8 */ sth r5, 0x1a8(r1)
/* 8026B26C 00266ECC B0 A1 01 AA */ sth r5, 0x1aa(r1)
/* 8026B270 00266ED0 80 06 00 D8 */ lwz r0, 0xd8(r6)
/* 8026B274 00266ED4 7C 04 00 40 */ cmplw r4, r0
/* 8026B278 00266ED8 40 82 00 08 */ bne lbl_8026B280
/* 8026B27C 00266EDC 90 A6 00 D8 */ stw r5, 0xd8(r6)
lbl_8026B280:
/* 8026B280 00266EE0 38 61 00 08 */ addi r3, r1, 8
/* 8026B284 00266EE4 4B FF FB E5 */ bl OSSetCurrentContext
/* 8026B288 00266EE8 38 7C 01 10 */ addi r3, r28, 0x110
/* 8026B28C 00266EEC 4C C6 31 82 */ crclr 6
/* 8026B290 00266EF0 4B D9 C8 35 */ bl OSReport
/* 8026B294 00266EF4 7F DA F3 78 */ mr r26, r30
/* 8026B298 00266EF8 3B 20 00 00 */ li r25, 0
lbl_8026B29C:
/* 8026B29C 00266EFC C8 3A 00 98 */ lfd f1, 0x98(r26)
/* 8026B2A0 00266F00 4B F5 BD 61 */ bl __cvt_fp2unsigned
/* 8026B2A4 00266F04 C8 3A 00 90 */ lfd f1, 0x90(r26)
/* 8026B2A8 00266F08 7C 7D 1B 78 */ mr r29, r3
/* 8026B2AC 00266F0C 4B F5 BD 55 */ bl __cvt_fp2unsigned
/* 8026B2B0 00266F10 7C 65 1B 78 */ mr r5, r3
/* 8026B2B4 00266F14 7F 24 CB 78 */ mr r4, r25
/* 8026B2B8 00266F18 7F A7 EB 78 */ mr r7, r29
/* 8026B2BC 00266F1C 38 7C 01 24 */ addi r3, r28, 0x124
/* 8026B2C0 00266F20 38 D9 00 01 */ addi r6, r25, 1
/* 8026B2C4 00266F24 4C C6 31 82 */ crclr 6
/* 8026B2C8 00266F28 4B D9 C7 FD */ bl OSReport
/* 8026B2CC 00266F2C 3B 39 00 02 */ addi r25, r25, 2
/* 8026B2D0 00266F30 3B 5A 00 10 */ addi r26, r26, 0x10
/* 8026B2D4 00266F34 28 19 00 20 */ cmplwi r25, 0x20
/* 8026B2D8 00266F38 41 80 FF C4 */ blt lbl_8026B29C
/* 8026B2DC 00266F3C 38 7C 01 40 */ addi r3, r28, 0x140
/* 8026B2E0 00266F40 4C C6 31 82 */ crclr 6
/* 8026B2E4 00266F44 4B D9 C7 E1 */ bl OSReport
/* 8026B2E8 00266F48 7F DA F3 78 */ mr r26, r30
/* 8026B2EC 00266F4C 3B 20 00 00 */ li r25, 0
lbl_8026B2F0:
/* 8026B2F0 00266F50 C8 3A 01 D0 */ lfd f1, 0x1d0(r26)
/* 8026B2F4 00266F54 4B F5 BD 0D */ bl __cvt_fp2unsigned
/* 8026B2F8 00266F58 C8 3A 01 C8 */ lfd f1, 0x1c8(r26)
/* 8026B2FC 00266F5C 7C 7D 1B 78 */ mr r29, r3
/* 8026B300 00266F60 4B F5 BD 01 */ bl __cvt_fp2unsigned
/* 8026B304 00266F64 7C 65 1B 78 */ mr r5, r3
/* 8026B308 00266F68 7F 24 CB 78 */ mr r4, r25
/* 8026B30C 00266F6C 7F A7 EB 78 */ mr r7, r29
/* 8026B310 00266F70 38 7C 01 54 */ addi r3, r28, 0x154
/* 8026B314 00266F74 38 D9 00 01 */ addi r6, r25, 1
/* 8026B318 00266F78 4C C6 31 82 */ crclr 6
/* 8026B31C 00266F7C 4B D9 C7 A9 */ bl OSReport
/* 8026B320 00266F80 3B 39 00 02 */ addi r25, r25, 2
/* 8026B324 00266F84 3B 5A 00 10 */ addi r26, r26, 0x10
/* 8026B328 00266F88 28 19 00 20 */ cmplwi r25, 0x20
/* 8026B32C 00266F8C 41 80 FF C4 */ blt lbl_8026B2F0
/* 8026B330 00266F90 38 A0 00 00 */ li r5, 0
/* 8026B334 00266F94 3C 60 80 00 */ lis r3, 0x800000D8@ha
/* 8026B338 00266F98 B0 A1 01 A8 */ sth r5, 0x1a8(r1)
/* 8026B33C 00266F9C 38 81 00 08 */ addi r4, r1, 8
/* 8026B340 00266FA0 B0 A1 01 AA */ sth r5, 0x1aa(r1)
/* 8026B344 00266FA4 80 03 00 D8 */ lwz r0, 0x800000D8@l(r3)
/* 8026B348 00266FA8 7C 04 00 40 */ cmplw r4, r0
/* 8026B34C 00266FAC 40 82 00 08 */ bne lbl_8026B354
/* 8026B350 00266FB0 90 A3 00 D8 */ stw r5, 0xd8(r3)
lbl_8026B354:
/* 8026B354 00266FB4 7F 63 DB 78 */ mr r3, r27
/* 8026B358 00266FB8 4B FF FB 11 */ bl OSSetCurrentContext
/* 8026B35C 00266FBC 7F E3 FB 78 */ mr r3, r31
/* 8026B360 00266FC0 48 00 34 25 */ bl OSRestoreInterrupts
lbl_8026B364:
/* 8026B364 00266FC4 38 7C 01 74 */ addi r3, r28, 0x174
/* 8026B368 00266FC8 4C C6 31 82 */ crclr 6
/* 8026B36C 00266FCC 4B D9 C7 59 */ bl OSReport
/* 8026B370 00266FD0 83 3E 00 04 */ lwz r25, 4(r30)
/* 8026B374 00266FD4 3B 40 00 00 */ li r26, 0
/* 8026B378 00266FD8 48 00 00 20 */ b lbl_8026B398
lbl_8026B37C:
/* 8026B37C 00266FDC 80 B9 00 00 */ lwz r5, 0(r25)
/* 8026B380 00266FE0 7F 24 CB 78 */ mr r4, r25
/* 8026B384 00266FE4 80 D9 00 04 */ lwz r6, 4(r25)
/* 8026B388 00266FE8 38 7C 01 9C */ addi r3, r28, 0x19c
/* 8026B38C 00266FEC 4C C6 31 82 */ crclr 6
/* 8026B390 00266FF0 4B D9 C7 35 */ bl OSReport
/* 8026B394 00266FF4 83 39 00 00 */ lwz r25, 0(r25)
lbl_8026B398:
/* 8026B398 00266FF8 2C 19 00 00 */ cmpwi r25, 0
/* 8026B39C 00266FFC 41 82 00 1C */ beq lbl_8026B3B8
/* 8026B3A0 00267000 3C 19 00 01 */ addis r0, r25, 1
/* 8026B3A4 00267004 28 00 FF FF */ cmplwi r0, 0xffff
/* 8026B3A8 00267008 41 82 00 10 */ beq lbl_8026B3B8
/* 8026B3AC 0026700C 28 1A 00 10 */ cmplwi r26, 0x10
/* 8026B3B0 00267010 3B 5A 00 01 */ addi r26, r26, 1
/* 8026B3B4 00267014 41 80 FF C8 */ blt lbl_8026B37C
lbl_8026B3B8:
/* 8026B3B8 00267018 39 61 02 F0 */ addi r11, r1, 0x2f0
/* 8026B3BC 0026701C 4B F5 BD B1 */ bl _restgpr_25
/* 8026B3C0 00267020 80 01 02 F4 */ lwz r0, 0x2f4(r1)
/* 8026B3C4 00267024 7C 08 03 A6 */ mtlr r0
/* 8026B3C8 00267028 38 21 02 F0 */ addi r1, r1, 0x2f0
/* 8026B3CC 0026702C 4E 80 00 20 */ blr
.global OSSwitchFPUContext
OSSwitchFPUContext:
/* 8026B3D0 00267030 7C A0 00 A6 */ mfmsr r5
/* 8026B3D4 00267034 60 A5 20 00 */ ori r5, r5, 0x2000
/* 8026B3D8 00267038 7C A0 01 24 */ mtmsr r5
/* 8026B3DC 0026703C 4C 00 01 2C */ isync
/* 8026B3E0 00267040 80 A4 01 9C */ lwz r5, 0x19c(r4)
/* 8026B3E4 00267044 60 A5 20 00 */ ori r5, r5, 0x2000
/* 8026B3E8 00267048 7C BB 03 A6 */ mtspr 0x1b, r5
/* 8026B3EC 0026704C 3C 60 80 00 */ lis r3, 0x800000D8@ha
/* 8026B3F0 00267050 80 A3 00 D8 */ lwz r5, 0x800000D8@l(r3)
/* 8026B3F4 00267054 90 83 00 D8 */ stw r4, 0xd8(r3)
/* 8026B3F8 00267058 7C 05 20 00 */ cmpw r5, r4
/* 8026B3FC 0026705C 41 82 00 14 */ beq lbl_8026B410
/* 8026B400 00267060 2C 05 00 00 */ cmpwi r5, 0
/* 8026B404 00267064 41 82 00 08 */ beq lbl_8026B40C
/* 8026B408 00267068 4B FF F9 31 */ bl __OSSaveFPUContext
lbl_8026B40C:
/* 8026B40C 0026706C 4B FF F8 09 */ bl __OSLoadFPUContext
lbl_8026B410:
/* 8026B410 00267070 80 64 00 80 */ lwz r3, 0x80(r4)
/* 8026B414 00267074 7C 6F F1 20 */ mtcrf 0xff, r3
/* 8026B418 00267078 80 64 00 84 */ lwz r3, 0x84(r4)
/* 8026B41C 0026707C 7C 68 03 A6 */ mtlr r3
/* 8026B420 00267080 80 64 01 98 */ lwz r3, 0x198(r4)
/* 8026B424 00267084 7C 7A 03 A6 */ mtspr 0x1a, r3
/* 8026B428 00267088 80 64 00 88 */ lwz r3, 0x88(r4)
/* 8026B42C 0026708C 7C 69 03 A6 */ mtctr r3
/* 8026B430 00267090 80 64 00 8C */ lwz r3, 0x8c(r4)
/* 8026B434 00267094 7C 61 03 A6 */ mtxer r3
/* 8026B438 00267098 A0 64 01 A2 */ lhz r3, 0x1a2(r4)
/* 8026B43C 0026709C 54 63 07 FA */ rlwinm r3, r3, 0, 0x1f, 0x1d
/* 8026B440 002670A0 B0 64 01 A2 */ sth r3, 0x1a2(r4)
/* 8026B444 002670A4 80 A4 00 14 */ lwz r5, 0x14(r4)
/* 8026B448 002670A8 80 64 00 0C */ lwz r3, 0xc(r4)
/* 8026B44C 002670AC 80 84 00 10 */ lwz r4, 0x10(r4)
/* 8026B450 002670B0 4C 00 00 64 */ rfi
.global __OSContextInit
__OSContextInit:
/* 8026B454 002670B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8026B458 002670B8 7C 08 02 A6 */ mflr r0
/* 8026B45C 002670BC 3C 80 80 27 */ lis r4, OSSwitchFPUContext@ha
/* 8026B460 002670C0 38 60 00 07 */ li r3, 7
/* 8026B464 002670C4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8026B468 002670C8 38 84 B3 D0 */ addi r4, r4, OSSwitchFPUContext@l
/* 8026B46C 002670CC 4B FF E0 69 */ bl __OSSetExceptionHandler
/* 8026B470 002670D0 38 00 00 00 */ li r0, 0
/* 8026B474 002670D4 3C 80 80 00 */ lis r4, 0x800000D8@ha
/* 8026B478 002670D8 3C 60 80 42 */ lis r3, lbl_80426E50@ha
/* 8026B47C 002670DC 90 04 00 D8 */ stw r0, 0x800000D8@l(r4)
/* 8026B480 002670E0 38 63 6E 50 */ addi r3, r3, lbl_80426E50@l
/* 8026B484 002670E4 4C C6 31 82 */ crclr 6
/* 8026B488 002670E8 48 00 BF C1 */ bl DBPrintf
/* 8026B48C 002670EC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8026B490 002670F0 7C 08 03 A6 */ mtlr r0
/* 8026B494 002670F4 38 21 00 10 */ addi r1, r1, 0x10
/* 8026B498 002670F8 4E 80 00 20 */ blr
|