summaryrefslogtreecommitdiff
path: root/asm/Dolphin/os/OSReboot.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/Dolphin/os/OSReboot.s')
-rw-r--r--asm/Dolphin/os/OSReboot.s173
1 files changed, 173 insertions, 0 deletions
diff --git a/asm/Dolphin/os/OSReboot.s b/asm/Dolphin/os/OSReboot.s
new file mode 100644
index 0000000..dded641
--- /dev/null
+++ b/asm/Dolphin/os/OSReboot.s
@@ -0,0 +1,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
+