summaryrefslogtreecommitdiff
path: root/asm/SDK/OS/OSReboot.s
blob: fe42ffe3735fa8db0973930b1fe41d7483ffadeb (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
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global __OSReboot
__OSReboot:
/* 8026FC1C 0026B87C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8026FC20 0026B880  7C 08 02 A6 */	mflr r0
/* 8026FC24 0026B884  90 01 00 24 */	stw r0, 0x24(r1)
/* 8026FC28 0026B888  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8026FC2C 0026B88C  7C 9F 23 78 */	mr r31, r4
/* 8026FC30 0026B890  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8026FC34 0026B894  7C 7E 1B 78 */	mr r30, r3
/* 8026FC38 0026B898  4B FF EB 25 */	bl OSDisableInterrupts
/* 8026FC3C 0026B89C  3C 60 81 28 */	lis r3, 0x8128
/* 8026FC40 0026B8A0  4B FF A4 E5 */	bl OSSetArenaLo
/* 8026FC44 0026B8A4  3C 60 81 2F */	lis r3, 0x812f
/* 8026FC48 0026B8A8  4B FF A4 C5 */	bl OSSetArenaHi
/* 8026FC4C 0026B8AC  38 00 00 00 */	li r0, 0
/* 8026FC50 0026B8B0  7F E3 FB 78 */	mr r3, r31
/* 8026FC54 0026B8B4  90 01 00 08 */	stw r0, 8(r1)
/* 8026FC58 0026B8B8  67 C4 80 00 */	oris r4, r30, 0x8000
/* 8026FC5C 0026B8BC  38 A1 00 08 */	addi r5, r1, 8
/* 8026FC60 0026B8C0  4B FF CE 81 */	bl __OSBootDol
/* 8026FC64 0026B8C4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8026FC68 0026B8C8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8026FC6C 0026B8CC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8026FC70 0026B8D0  7C 08 03 A6 */	mtlr r0
/* 8026FC74 0026B8D4  38 21 00 20 */	addi r1, r1, 0x20
/* 8026FC78 0026B8D8  4E 80 00 20 */	blr

.global OSGetSaveRegion
OSGetSaveRegion:
/* 8026FC7C 0026B8DC  80 0D A8 10 */	lwz r0, lbl_8063FAD0-_SDA_BASE_(r13)
/* 8026FC80 0026B8E0  90 03 00 00 */	stw r0, 0(r3)
/* 8026FC84 0026B8E4  80 0D A8 14 */	lwz r0, lbl_8063FAD4-_SDA_BASE_(r13)
/* 8026FC88 0026B8E8  90 04 00 00 */	stw r0, 0(r4)
/* 8026FC8C 0026B8EC  4E 80 00 20 */	blr