summaryrefslogtreecommitdiff
path: root/asm/nw4r/db/db_assert.s
blob: 909103725039a82b7ecb4f218248c9ee68fd9e5c (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
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
.include "macros.inc"

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

.global Assertion_Printf___Q24nw4r2dbFPCce
Assertion_Printf___Q24nw4r2dbFPCce:
/* 803626FC 0035E35C  94 21 FF 80 */	stwu r1, -0x80(r1)
/* 80362700 0035E360  7C 08 02 A6 */	mflr r0
/* 80362704 0035E364  90 01 00 84 */	stw r0, 0x84(r1)
/* 80362708 0035E368  93 E1 00 7C */	stw r31, 0x7c(r1)
/* 8036270C 0035E36C  40 86 00 24 */	bne cr1, lbl_80362730
/* 80362710 0035E370  D8 21 00 28 */	stfd f1, 0x28(r1)
/* 80362714 0035E374  D8 41 00 30 */	stfd f2, 0x30(r1)
/* 80362718 0035E378  D8 61 00 38 */	stfd f3, 0x38(r1)
/* 8036271C 0035E37C  D8 81 00 40 */	stfd f4, 0x40(r1)
/* 80362720 0035E380  D8 A1 00 48 */	stfd f5, 0x48(r1)
/* 80362724 0035E384  D8 C1 00 50 */	stfd f6, 0x50(r1)
/* 80362728 0035E388  D8 E1 00 58 */	stfd f7, 0x58(r1)
/* 8036272C 0035E38C  D9 01 00 60 */	stfd f8, 0x60(r1)
lbl_80362730:
/* 80362730 0035E390  80 0D B1 98 */	lwz r0, lbl_80640458-_SDA_BASE_(r13)
/* 80362734 0035E394  39 81 00 88 */	addi r12, r1, 0x88
/* 80362738 0035E398  39 61 00 08 */	addi r11, r1, 8
/* 8036273C 0035E39C  3F E0 01 00 */	lis r31, 0x100
/* 80362740 0035E3A0  2C 00 00 00 */	cmpwi r0, 0
/* 80362744 0035E3A4  90 61 00 08 */	stw r3, 8(r1)
/* 80362748 0035E3A8  38 01 00 68 */	addi r0, r1, 0x68
/* 8036274C 0035E3AC  90 81 00 0C */	stw r4, 0xc(r1)
/* 80362750 0035E3B0  90 A1 00 10 */	stw r5, 0x10(r1)
/* 80362754 0035E3B4  90 C1 00 14 */	stw r6, 0x14(r1)
/* 80362758 0035E3B8  90 E1 00 18 */	stw r7, 0x18(r1)
/* 8036275C 0035E3BC  91 01 00 1C */	stw r8, 0x1c(r1)
/* 80362760 0035E3C0  91 21 00 20 */	stw r9, 0x20(r1)
/* 80362764 0035E3C4  91 41 00 24 */	stw r10, 0x24(r1)
/* 80362768 0035E3C8  93 E1 00 68 */	stw r31, 0x68(r1)
/* 8036276C 0035E3CC  91 81 00 6C */	stw r12, 0x6c(r1)
/* 80362770 0035E3D0  91 61 00 70 */	stw r11, 0x70(r1)
/* 80362774 0035E3D4  40 82 00 0C */	bne lbl_80362780
/* 80362778 0035E3D8  7C 04 03 78 */	mr r4, r0
/* 8036277C 0035E3DC  4B CA 53 99 */	bl OSVReport
lbl_80362780:
/* 80362780 0035E3E0  80 01 00 84 */	lwz r0, 0x84(r1)
/* 80362784 0035E3E4  83 E1 00 7C */	lwz r31, 0x7c(r1)
/* 80362788 0035E3E8  7C 08 03 A6 */	mtlr r0
/* 8036278C 0035E3EC  38 21 00 80 */	addi r1, r1, 0x80
/* 80362790 0035E3F0  4E 80 00 20 */	blr

.global ShowStack___Q24nw4r2dbFul
ShowStack___Q24nw4r2dbFul:
/* 80362794 0035E3F4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80362798 0035E3F8  7C 08 02 A6 */	mflr r0
/* 8036279C 0035E3FC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803627A0 0035E400  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803627A4 0035E404  3F E0 80 45 */	lis r31, lbl_8044C648@ha
/* 803627A8 0035E408  3B FF C6 48 */	addi r31, r31, lbl_8044C648@l
/* 803627AC 0035E40C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803627B0 0035E410  93 A1 00 14 */	stw r29, 0x14(r1)
/* 803627B4 0035E414  7C 7D 1B 78 */	mr r29, r3
/* 803627B8 0035E418  38 7F 00 00 */	addi r3, r31, 0
/* 803627BC 0035E41C  4C C6 31 82 */	crclr 6
/* 803627C0 0035E420  4B FF FF 3D */	bl Assertion_Printf___Q24nw4r2dbFPCce
/* 803627C4 0035E424  38 7F 00 28 */	addi r3, r31, 0x28
/* 803627C8 0035E428  4C C6 31 82 */	crclr 6
/* 803627CC 0035E42C  4B FF FF 31 */	bl Assertion_Printf___Q24nw4r2dbFPCce
/* 803627D0 0035E430  3B C0 00 00 */	li r30, 0
lbl_803627D4:
/* 803627D4 0035E434  2C 1D 00 00 */	cmpwi r29, 0
/* 803627D8 0035E438  41 82 00 4C */	beq lbl_80362824
/* 803627DC 0035E43C  3C 1D 00 01 */	addis r0, r29, 1
/* 803627E0 0035E440  28 00 FF FF */	cmplwi r0, 0xffff
/* 803627E4 0035E444  41 82 00 40 */	beq lbl_80362824
/* 803627E8 0035E448  57 A0 00 01 */	rlwinm. r0, r29, 0, 0, 0
/* 803627EC 0035E44C  41 82 00 38 */	beq lbl_80362824
/* 803627F0 0035E450  80 BD 00 00 */	lwz r5, 0(r29)
/* 803627F4 0035E454  7F A4 EB 78 */	mr r4, r29
/* 803627F8 0035E458  80 DD 00 04 */	lwz r6, 4(r29)
/* 803627FC 0035E45C  38 7F 00 48 */	addi r3, r31, 0x48
/* 80362800 0035E460  4C C6 31 82 */	crclr 6
/* 80362804 0035E464  4B FF FE F9 */	bl Assertion_Printf___Q24nw4r2dbFPCce
/* 80362808 0035E468  38 6D 95 18 */	addi r3, r13, lbl_8063E7D8-_SDA_BASE_
/* 8036280C 0035E46C  4C C6 31 82 */	crclr 6
/* 80362810 0035E470  4B FF FE ED */	bl Assertion_Printf___Q24nw4r2dbFPCce
/* 80362814 0035E474  3B DE 00 01 */	addi r30, r30, 1
/* 80362818 0035E478  83 BD 00 00 */	lwz r29, 0(r29)
/* 8036281C 0035E47C  28 1E 00 10 */	cmplwi r30, 0x10
/* 80362820 0035E480  41 80 FF B4 */	blt lbl_803627D4
lbl_80362824:
/* 80362824 0035E484  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80362828 0035E488  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8036282C 0035E48C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80362830 0035E490  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80362834 0035E494  7C 08 03 A6 */	mtlr r0
/* 80362838 0035E498  38 21 00 20 */	addi r1, r1, 0x20
/* 8036283C 0035E49C  4E 80 00 20 */	blr

.global VPanic__Q24nw4r2dbFPCciPCcP16__va_list_structb
VPanic__Q24nw4r2dbFPCciPCcP16__va_list_structb:
/* 80362840 0035E4A0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80362844 0035E4A4  7C 08 02 A6 */	mflr r0
/* 80362848 0035E4A8  90 01 00 24 */	stw r0, 0x24(r1)
/* 8036284C 0035E4AC  39 61 00 20 */	addi r11, r1, 0x20
/* 80362850 0035E4B0  4B E6 48 D5 */	bl _savegpr_26
/* 80362854 0035E4B4  83 C1 00 00 */	lwz r30, 0(r1)
/* 80362858 0035E4B8  7C 7A 1B 78 */	mr r26, r3
/* 8036285C 0035E4BC  7C 9B 23 78 */	mr r27, r4
/* 80362860 0035E4C0  7C BC 2B 78 */	mr r28, r5
/* 80362864 0035E4C4  7C DF 33 78 */	mr r31, r6
/* 80362868 0035E4C8  7C FD 3B 78 */	mr r29, r7
/* 8036286C 0035E4CC  4B F0 BE F1 */	bl OSDisableInterrupts
/* 80362870 0035E4D0  4B F0 EA D5 */	bl OSDisableScheduler
/* 80362874 0035E4D4  38 60 00 00 */	li r3, 0
/* 80362878 0035E4D8  4B F1 55 C5 */	bl VISetPreRetraceCallback
/* 8036287C 0035E4DC  38 60 00 00 */	li r3, 0
/* 80362880 0035E4E0  4B F1 56 01 */	bl VISetPostRetraceCallback
/* 80362884 0035E4E4  7F C3 F3 78 */	mr r3, r30
/* 80362888 0035E4E8  4B FF FF 0D */	bl ShowStack___Q24nw4r2dbFul
/* 8036288C 0035E4EC  80 6D B1 98 */	lwz r3, lbl_80640458-_SDA_BASE_(r13)
/* 80362890 0035E4F0  2C 03 00 00 */	cmpwi r3, 0
/* 80362894 0035E4F4  41 82 00 5C */	beq lbl_803628F0
/* 80362898 0035E4F8  3C 80 80 45 */	lis r4, lbl_8044C6A8@ha
/* 8036289C 0035E4FC  7F 45 D3 78 */	mr r5, r26
/* 803628A0 0035E500  7F 66 DB 78 */	mr r6, r27
/* 803628A4 0035E504  38 84 C6 A8 */	addi r4, r4, lbl_8044C6A8@l
/* 803628A8 0035E508  4C C6 31 82 */	crclr 6
/* 803628AC 0035E50C  4B FF FD 19 */	bl Console_Printf__Q24nw4r2dbFPQ44nw4r2db6detail11ConsoleHeadPCce
/* 803628B0 0035E510  80 6D B1 98 */	lwz r3, lbl_80640458-_SDA_BASE_(r13)
/* 803628B4 0035E514  38 8D 95 18 */	addi r4, r13, lbl_8063E7D8-_SDA_BASE_
/* 803628B8 0035E518  4C C6 31 82 */	crclr 6
/* 803628BC 0035E51C  4B FF FD 09 */	bl Console_Printf__Q24nw4r2dbFPQ44nw4r2db6detail11ConsoleHeadPCce
/* 803628C0 0035E520  83 CD B1 98 */	lwz r30, lbl_80640458-_SDA_BASE_(r13)
/* 803628C4 0035E524  A3 FE 00 20 */	lhz r31, 0x20(r30)
/* 803628C8 0035E528  7F C3 F3 78 */	mr r3, r30
/* 803628CC 0035E52C  4B FF FD 61 */	bl Console_GetTotalLines__Q24nw4r2dbFPQ44nw4r2db6detail11ConsoleHead
/* 803628D0 0035E530  7C 1F 18 51 */	subf. r0, r31, r3
/* 803628D4 0035E534  40 80 00 08 */	bge lbl_803628DC
/* 803628D8 0035E538  38 00 00 00 */	li r0, 0
lbl_803628DC:
/* 803628DC 0035E53C  90 1E 00 18 */	stw r0, 0x18(r30)
/* 803628E0 0035E540  38 00 00 01 */	li r0, 1
/* 803628E4 0035E544  80 6D B1 98 */	lwz r3, lbl_80640458-_SDA_BASE_(r13)
/* 803628E8 0035E548  98 03 00 22 */	stb r0, 0x22(r3)
/* 803628EC 0035E54C  48 00 00 34 */	b lbl_80362920
lbl_803628F0:
/* 803628F0 0035E550  3C 60 80 45 */	lis r3, lbl_8044C6A8@ha
/* 803628F4 0035E554  7F 44 D3 78 */	mr r4, r26
/* 803628F8 0035E558  7F 65 DB 78 */	mr r5, r27
/* 803628FC 0035E55C  38 63 C6 A8 */	addi r3, r3, lbl_8044C6A8@l
/* 80362900 0035E560  4C C6 31 82 */	crclr 6
/* 80362904 0035E564  4B CA 51 C1 */	bl OSReport
/* 80362908 0035E568  7F 83 E3 78 */	mr r3, r28
/* 8036290C 0035E56C  7F E4 FB 78 */	mr r4, r31
/* 80362910 0035E570  4B CA 52 05 */	bl OSVReport
/* 80362914 0035E574  38 6D 95 18 */	addi r3, r13, lbl_8063E7D8-_SDA_BASE_
/* 80362918 0035E578  4C C6 31 82 */	crclr 6
/* 8036291C 0035E57C  4B CA 51 A9 */	bl OSReport
lbl_80362920:
/* 80362920 0035E580  2C 1D 00 00 */	cmpwi r29, 0
/* 80362924 0035E584  41 82 00 08 */	beq lbl_8036292C
/* 80362928 0035E588  4B F0 59 41 */	bl PPCHalt
lbl_8036292C:
/* 8036292C 0035E58C  39 61 00 20 */	addi r11, r1, 0x20
/* 80362930 0035E590  4B E6 48 41 */	bl _restgpr_26
/* 80362934 0035E594  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80362938 0035E598  7C 08 03 A6 */	mtlr r0
/* 8036293C 0035E59C  38 21 00 20 */	addi r1, r1, 0x20
/* 80362940 0035E5A0  4E 80 00 20 */	blr

.global Panic__Q24nw4r2dbFPCciPCce
Panic__Q24nw4r2dbFPCciPCce:
/* 80362944 0035E5A4  94 21 FF 80 */	stwu r1, -0x80(r1)
/* 80362948 0035E5A8  7C 08 02 A6 */	mflr r0
/* 8036294C 0035E5AC  90 01 00 84 */	stw r0, 0x84(r1)
/* 80362950 0035E5B0  93 E1 00 7C */	stw r31, 0x7c(r1)
/* 80362954 0035E5B4  40 86 00 24 */	bne cr1, lbl_80362978
/* 80362958 0035E5B8  D8 21 00 28 */	stfd f1, 0x28(r1)
/* 8036295C 0035E5BC  D8 41 00 30 */	stfd f2, 0x30(r1)
/* 80362960 0035E5C0  D8 61 00 38 */	stfd f3, 0x38(r1)
/* 80362964 0035E5C4  D8 81 00 40 */	stfd f4, 0x40(r1)
/* 80362968 0035E5C8  D8 A1 00 48 */	stfd f5, 0x48(r1)
/* 8036296C 0035E5CC  D8 C1 00 50 */	stfd f6, 0x50(r1)
/* 80362970 0035E5D0  D8 E1 00 58 */	stfd f7, 0x58(r1)
/* 80362974 0035E5D4  D9 01 00 60 */	stfd f8, 0x60(r1)
lbl_80362978:
/* 80362978 0035E5D8  39 61 00 88 */	addi r11, r1, 0x88
/* 8036297C 0035E5DC  38 01 00 08 */	addi r0, r1, 8
/* 80362980 0035E5E0  3D 80 03 00 */	lis r12, 0x300
/* 80362984 0035E5E4  90 E1 00 18 */	stw r7, 0x18(r1)
/* 80362988 0035E5E8  3B E1 00 68 */	addi r31, r1, 0x68
/* 8036298C 0035E5EC  38 E0 00 01 */	li r7, 1
/* 80362990 0035E5F0  90 C1 00 14 */	stw r6, 0x14(r1)
/* 80362994 0035E5F4  7F E6 FB 78 */	mr r6, r31
/* 80362998 0035E5F8  90 61 00 08 */	stw r3, 8(r1)
/* 8036299C 0035E5FC  90 81 00 0C */	stw r4, 0xc(r1)
/* 803629A0 0035E600  90 A1 00 10 */	stw r5, 0x10(r1)
/* 803629A4 0035E604  91 01 00 1C */	stw r8, 0x1c(r1)
/* 803629A8 0035E608  91 21 00 20 */	stw r9, 0x20(r1)
/* 803629AC 0035E60C  91 41 00 24 */	stw r10, 0x24(r1)
/* 803629B0 0035E610  91 81 00 68 */	stw r12, 0x68(r1)
/* 803629B4 0035E614  91 61 00 6C */	stw r11, 0x6c(r1)
/* 803629B8 0035E618  90 01 00 70 */	stw r0, 0x70(r1)
/* 803629BC 0035E61C  4B FF FE 85 */	bl VPanic__Q24nw4r2dbFPCciPCcP16__va_list_structb
/* 803629C0 0035E620  4B F0 58 A9 */	bl PPCHalt
/* 803629C4 0035E624  80 01 00 84 */	lwz r0, 0x84(r1)
/* 803629C8 0035E628  83 E1 00 7C */	lwz r31, 0x7c(r1)
/* 803629CC 0035E62C  7C 08 03 A6 */	mtlr r0
/* 803629D0 0035E630  38 21 00 80 */	addi r1, r1, 0x80
/* 803629D4 0035E634  4E 80 00 20 */	blr