1 // this file was taken from libogc, see http://www.devkitpro.org/
6 #ifdef _LANGUAGE_ASSEMBLY
7 /* Condition Register Bit Fields */
19 /* General Purpose Registers (GPRs) */
57 /* Floating Point Registers (FPRs) */
125 #endif //_LANGUAGE_ASSEMBLY
141 #define LINK_REGISTER_CALLEE_UPDATE_ROOM 4
142 #define EXCEPTION_NUMBER 8
143 #define SRR0_OFFSET 12
144 #define SRR1_OFFSET 16
145 #define GPR0_OFFSET 20
146 #define GPR1_OFFSET 24
147 #define GPR2_OFFSET 28
148 #define GPR3_OFFSET 32
149 #define GPR4_OFFSET 36
150 #define GPR5_OFFSET 40
151 #define GPR6_OFFSET 44
152 #define GPR7_OFFSET 48
153 #define GPR8_OFFSET 52
154 #define GPR9_OFFSET 56
155 #define GPR10_OFFSET 60
156 #define GPR11_OFFSET 64
157 #define GPR12_OFFSET 68
158 #define GPR13_OFFSET 72
159 #define GPR14_OFFSET 76
160 #define GPR15_OFFSET 80
161 #define GPR16_OFFSET 84
162 #define GPR17_OFFSET 88
163 #define GPR18_OFFSET 92
164 #define GPR19_OFFSET 96
165 #define GPR20_OFFSET 100
166 #define GPR21_OFFSET 104
167 #define GPR22_OFFSET 108
168 #define GPR23_OFFSET 112
169 #define GPR24_OFFSET 116
170 #define GPR25_OFFSET 120
171 #define GPR26_OFFSET 124
172 #define GPR27_OFFSET 128
173 #define GPR28_OFFSET 132
174 #define GPR29_OFFSET 136
175 #define GPR30_OFFSET 140
176 #define GPR31_OFFSET 144
178 #define GQR0_OFFSET 148
179 #define GQR1_OFFSET 152
180 #define GQR2_OFFSET 156
181 #define GQR3_OFFSET 160
182 #define GQR4_OFFSET 164
183 #define GQR5_OFFSET 168
184 #define GQR6_OFFSET 172
185 #define GQR7_OFFSET 176
187 #define CR_OFFSET 180
188 #define LR_OFFSET 184
189 #define CTR_OFFSET 188
190 #define XER_OFFSET 192
191 #define MSR_OFFSET 196
192 #define DAR_OFFSET 200
194 #define STATE_OFFSET 204
195 #define MODE_OFFSET 206
197 #define FPR0_OFFSET 208
198 #define FPR1_OFFSET 216
199 #define FPR2_OFFSET 224
200 #define FPR3_OFFSET 232
201 #define FPR4_OFFSET 240
202 #define FPR5_OFFSET 248
203 #define FPR6_OFFSET 256
204 #define FPR7_OFFSET 264
205 #define FPR8_OFFSET 272
206 #define FPR9_OFFSET 280
207 #define FPR10_OFFSET 288
208 #define FPR11_OFFSET 296
209 #define FPR12_OFFSET 304
210 #define FPR13_OFFSET 312
211 #define FPR14_OFFSET 320
212 #define FPR15_OFFSET 328
213 #define FPR16_OFFSET 336
214 #define FPR17_OFFSET 344
215 #define FPR18_OFFSET 352
216 #define FPR19_OFFSET 360
217 #define FPR20_OFFSET 368
218 #define FPR21_OFFSET 376
219 #define FPR22_OFFSET 384
220 #define FPR23_OFFSET 392
221 #define FPR24_OFFSET 400
222 #define FPR25_OFFSET 408
223 #define FPR26_OFFSET 416
224 #define FPR27_OFFSET 424
225 #define FPR28_OFFSET 432
226 #define FPR29_OFFSET 440
227 #define FPR30_OFFSET 448
228 #define FPR31_OFFSET 456
230 #define FPSCR_OFFSET 464
232 #define PSR0_OFFSET 472
233 #define PSR1_OFFSET 480
234 #define PSR2_OFFSET 488
235 #define PSR3_OFFSET 496
236 #define PSR4_OFFSET 504
237 #define PSR5_OFFSET 512
238 #define PSR6_OFFSET 520
239 #define PSR7_OFFSET 528
240 #define PSR8_OFFSET 536
241 #define PSR9_OFFSET 544
242 #define PSR10_OFFSET 552
243 #define PSR11_OFFSET 560
244 #define PSR12_OFFSET 568
245 #define PSR13_OFFSET 576
246 #define PSR14_OFFSET 584
247 #define PSR15_OFFSET 592
248 #define PSR16_OFFSET 600
249 #define PSR17_OFFSET 608
250 #define PSR18_OFFSET 616
251 #define PSR19_OFFSET 624
252 #define PSR20_OFFSET 632
253 #define PSR21_OFFSET 640
254 #define PSR22_OFFSET 648
255 #define PSR23_OFFSET 656
256 #define PSR24_OFFSET 664
257 #define PSR25_OFFSET 672
258 #define PSR26_OFFSET 680
259 #define PSR27_OFFSET 688
260 #define PSR28_OFFSET 696
261 #define PSR29_OFFSET 704
262 #define PSR30_OFFSET 712
263 #define PSR31_OFFSET 720
265 * maintain the EABI requested 8 bytes aligment
266 * As SVR4 ABI requires 16, make it 16 (as some
267 * exception may need more registers to be processed...)
269 #define EXCEPTION_FRAME_END 728
326 #define MSR_RI 0x00000002
327 #define MSR_DR 0x00000010
328 #define MSR_IR 0x00000020
329 #define MSR_IP 0x00000040
330 #define MSR_SE 0x00000400
331 #define MSR_ME 0x00001000
332 #define MSR_FP 0x00002000
333 #define MSR_POW 0x00004000
334 #define MSR_EE 0x00008000
336 #define PPC_ALIGNMENT 8
338 #define PPC_CACHE_ALIGNMENT 32