summaryrefslogtreecommitdiff
path: root/asm/Dolphin/os/OSReboot.s
blob: dded641a140a3a747c14e3e79f2f6e500debc037 (plain)
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
.include "macros.inc"

.section .text

.global func_803701f4
.type func_803701f4, @function
func_803701f4:
/* 803701F4 7C0802A6 */ mflr        r0
/* 803701F8 90010004 */ stw         r0, 4(r1)
/* 803701FC 9421FFE8 */ stwu        r1, -0x18(r1)
/* 80370200 93E10014 */ stw         r31, 0x14(r1)
/* 80370204 7C7F1B78 */ mr          r31, r3
/* 80370208 4BFFE8CD */ bl          func_8036ead4
/* 8037020C 4BFFD805 */ bl          func_8036da10
/* 80370210 7C0004AC */ sync        0
/* 80370214 4C00012C */ isync       
/* 80370218 7FE803A6 */ mtlr        r31
/* 8037021C 4E800020 */ blr         
.size func_803701f4, . - func_803701f4


.global func_80370220
.type func_80370220, @function
func_80370220:
/* 80370220 8001001C */ lwz         r0, 0x1c(r1)
/* 80370224 83E10014 */ lwz         r31, 0x14(r1)
/* 80370228 38210018 */ addi        r1, r1, 0x18
/* 8037022C 7C0803A6 */ mtlr        r0
/* 80370230 4E800020 */ blr         
.size func_80370220, . - func_80370220


.global func_80370234
.type func_80370234, @function
func_80370234:
/* 80370234 38000001 */ li          r0, 0x1
/* 80370238 900DCA68 */ stw         r0, lbl_805c6888@sda21(0)
/* 8037023C 4E800020 */ blr         
.size func_80370234, . - func_80370234


.global func_80370240
.type func_80370240, @function
func_80370240:
/* 80370240 7C0802A6 */ mflr        r0
/* 80370244 90010004 */ stw         r0, 4(r1)
/* 80370248 9421FCC0 */ stwu        r1, -0x340(r1)
/* 8037024C 93E1033C */ stw         r31, 0x33c(r1)
/* 80370250 93C10338 */ stw         r30, 0x338(r1)
/* 80370254 3C608054 */ lis         r3, lbl_8053ec80@ha
/* 80370258 3BC3EC80 */ addi        r30, r3, lbl_8053ec80@l
/* 8037025C 4BFFE879 */ bl          func_8036ead4
/* 80370260 80ADCA60 */ lwz         r5, lbl_805c6880@sda21(0)
/* 80370264 3C808130 */ lis         r4, 0x8130
/* 80370268 800DCA64 */ lwz         r0, lbl_805c6884@sda21(0)
/* 8037026C 38600000 */ li          r3, 0x0
/* 80370270 3FE08180 */ lis         r31, 0x8180
/* 80370274 38E00001 */ li          r7, 0x1
/* 80370278 907FFFFC */ stw         r3, -4(r31)
/* 8037027C 3CC08000 */ lis         r6, 0x8000
/* 80370280 907FFFF8 */ stw         r3, -8(r31)
/* 80370284 38610070 */ addi        r3, r1, 0x70
/* 80370288 98E630E2 */ stb         r7, 0x30e2(r6)
/* 8037028C 90A4DFF0 */ stw         r5, -0x2010(r4)
/* 80370290 9004DFEC */ stw         r0, -0x2014(r4)
/* 80370294 4BFFDFCD */ bl          func_8036e260
/* 80370298 38610070 */ addi        r3, r1, 0x70
/* 8037029C 4BFFDDFD */ bl          func_8036e098
/* 803702A0 48004E6D */ bl          func_8037510c
/* 803702A4 38600001 */ li          r3, 0x1
/* 803702A8 48006D91 */ bl          func_80377038
/* 803702AC 3C608037 */ lis         r3, func_80370234@ha
/* 803702B0 38630234 */ addi        r3, r3, func_80370234@l
/* 803702B4 480071C1 */ bl          func_80377474
/* 803702B8 480070D9 */ bl          func_80377390
/* 803702BC 2C030000 */ cmpwi       r3, 0x0
/* 803702C0 4082000C */ bne-        lbl_803702cc
/* 803702C4 807FFFFC */ lwz         r3, -4(r31)
/* 803702C8 4800022D */ bl          func_803704f4
lbl_803702cc:
/* 803702CC 3860FFE0 */ li          r3, -0x20
/* 803702D0 4BFFEBCD */ bl          func_8036ee9c
/* 803702D4 38600400 */ li          r3, 0x400
/* 803702D8 4BFFEC4D */ bl          func_8036ef24
/* 803702DC 4BFFE80D */ bl          func_8036eae8
/* 803702E0 48000004 */ b           lbl_803702e4
lbl_803702e4:
/* 803702E4 48000004 */ b           lbl_803702e8
lbl_803702e8:
/* 803702E8 800DCA68 */ lwz         r0, lbl_805c6888@sda21(0)
/* 803702EC 2C000000 */ cmpwi       r0, 0x0
/* 803702F0 4182FFF8 */ beq+        lbl_803702e8
/* 803702F4 7FC4F378 */ mr          r4, r30
/* 803702F8 38610040 */ addi        r3, r1, 0x40
/* 803702FC 38A00020 */ li          r5, 0x20
/* 80370300 38C02440 */ li          r6, 0x2440
/* 80370304 38E00000 */ li          r7, 0x0
/* 80370308 48006981 */ bl          func_80376c88
/* 8037030C 3FE08180 */ lis         r31, 0x8180
/* 80370310 48000004 */ b           lbl_80370314
lbl_80370314:
/* 80370314 48000004 */ b           lbl_80370318
lbl_80370318:
/* 80370318 8001004C */ lwz         r0, 0x4c(r1)
/* 8037031C 2C000001 */ cmpwi       r0, 0x1
/* 80370320 4182FFF8 */ beq+        lbl_80370318
/* 80370324 40800014 */ bge-        lbl_80370338
/* 80370328 2C00FFFF */ cmpwi       r0, -0x1
/* 8037032C 41820018 */ beq-        lbl_80370344
/* 80370330 40800020 */ bge-        lbl_80370350
/* 80370334 4BFFFFE4 */ b           lbl_80370318
lbl_80370338:
/* 80370338 2C00000C */ cmpwi       r0, 0xc
/* 8037033C 4080FFDC */ bge+        lbl_80370318
/* 80370340 48000004 */ b           lbl_80370344
lbl_80370344:
/* 80370344 807FFFFC */ lwz         r3, -4(r31)
/* 80370348 480001AD */ bl          func_803704f4
/* 8037034C 4BFFFFCC */ b           lbl_80370318
lbl_80370350:
/* 80370350 807E0018 */ lwz         r3, 0x18(r30)
/* 80370354 809E0014 */ lwz         r4, 0x14(r30)
/* 80370358 3803001F */ addi        r0, r3, 0x1f
/* 8037035C 38840020 */ addi        r4, r4, 0x20
/* 80370360 541E0034 */ rlwinm      r30, r0, 0, 0, 0x1a
/* 80370364 48000004 */ b           lbl_80370368
lbl_80370368:
/* 80370368 48000004 */ b           lbl_8037036c
lbl_8037036c:
/* 8037036C 800DCA68 */ lwz         r0, lbl_805c6888@sda21(0)
/* 80370370 2C000000 */ cmpwi       r0, 0x0
/* 80370374 4182FFF8 */ beq+        lbl_8037036c
/* 80370378 7FC5F378 */ mr          r5, r30
/* 8037037C 38610010 */ addi        r3, r1, 0x10
/* 80370380 38C42440 */ addi        r6, r4, 0x2440
/* 80370384 3C808130 */ lis         r4, 0x8130
/* 80370388 38E00000 */ li          r7, 0x0
/* 8037038C 480068FD */ bl          func_80376c88
/* 80370390 3FE08180 */ lis         r31, 0x8180
/* 80370394 48000004 */ b           lbl_80370398
lbl_80370398:
/* 80370398 48000004 */ b           lbl_8037039c
lbl_8037039c:
/* 8037039C 8001001C */ lwz         r0, 0x1c(r1)
/* 803703A0 2C000001 */ cmpwi       r0, 0x1
/* 803703A4 4182FFF8 */ beq+        lbl_8037039c
/* 803703A8 40800014 */ bge-        lbl_803703bc
/* 803703AC 2C00FFFF */ cmpwi       r0, -0x1
/* 803703B0 41820018 */ beq-        lbl_803703c8
/* 803703B4 40800020 */ bge-        lbl_803703d4
/* 803703B8 4BFFFFE4 */ b           lbl_8037039c
lbl_803703bc:
/* 803703BC 2C00000C */ cmpwi       r0, 0xc
/* 803703C0 4080FFDC */ bge+        lbl_8037039c
/* 803703C4 48000004 */ b           lbl_803703c8
lbl_803703c8:
/* 803703C8 807FFFFC */ lwz         r3, -4(r31)
/* 803703CC 48000129 */ bl          func_803704f4
/* 803703D0 4BFFFFCC */ b           lbl_8037039c
lbl_803703d4:
/* 803703D4 3C608130 */ lis         r3, 0x8130
/* 803703D8 7FC4F378 */ mr          r4, r30
/* 803703DC 4BFFD5FD */ bl          func_8036d9d8
/* 803703E0 3C608130 */ lis         r3, 0x8130
/* 803703E4 4BFFFE11 */ bl          func_803701f4
/* 803703E8 80010344 */ lwz         r0, 0x344(r1)
/* 803703EC 83E1033C */ lwz         r31, 0x33c(r1)
/* 803703F0 83C10338 */ lwz         r30, 0x338(r1)
/* 803703F4 38210340 */ addi        r1, r1, 0x340
/* 803703F8 7C0803A6 */ mtlr        r0
/* 803703FC 4E800020 */ blr         
.size func_80370240, . - func_80370240