forked from dolphin-emu/dolphin
		
	git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3429 8ced0084-cf51-0410-be5f-012b33b47a6e
		
			
				
	
	
		
			339 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			339 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef __ASM_H__
 | |
| #define __ASM_H__
 | |
| 
 | |
| #ifdef _LANGUAGE_ASSEMBLY
 | |
| /* Condition Register Bit Fields */
 | |
| 
 | |
| #define	cr0	0
 | |
| #define	cr1	1
 | |
| #define	cr2	2
 | |
| #define	cr3	3
 | |
| #define	cr4	4
 | |
| #define	cr5	5
 | |
| #define	cr6	6
 | |
| #define	cr7	7
 | |
| 
 | |
| 
 | |
| /* General Purpose Registers (GPRs) */
 | |
| 
 | |
| #define	r0	0
 | |
| #define	r1	1
 | |
| #define	sp	1
 | |
| #define	r2	2
 | |
| #define	toc	2
 | |
| #define	r3	3
 | |
| #define	r4	4
 | |
| #define	r5	5
 | |
| #define	r6	6
 | |
| #define	r7	7
 | |
| #define	r8	8
 | |
| #define	r9	9
 | |
| #define	r10	10
 | |
| #define	r11	11
 | |
| #define	r12	12
 | |
| #define	r13	13
 | |
| #define	r14	14
 | |
| #define	r15	15
 | |
| #define	r16	16
 | |
| #define	r17	17
 | |
| #define	r18	18
 | |
| #define	r19	19
 | |
| #define	r20	20
 | |
| #define	r21	21
 | |
| #define	r22	22
 | |
| #define	r23	23
 | |
| #define	r24	24
 | |
| #define	r25	25
 | |
| #define	r26	26
 | |
| #define	r27	27
 | |
| #define	r28	28
 | |
| #define	r29	29
 | |
| #define	r30	30
 | |
| #define	r31	31
 | |
| 
 | |
| 
 | |
| /* Floating Point Registers (FPRs) */
 | |
| 
 | |
| #define	fr0		0
 | |
| #define	fr1		1
 | |
| #define	fr2		2
 | |
| #define	fr3		3
 | |
| #define	fr4		4
 | |
| #define	fr5		5
 | |
| #define	fr6		6
 | |
| #define	fr7		7
 | |
| #define	fr8		8
 | |
| #define	fr9		9
 | |
| #define	fr10	10
 | |
| #define	fr11	11
 | |
| #define	fr12	12
 | |
| #define	fr13	13
 | |
| #define	fr14	14
 | |
| #define	fr15	15
 | |
| #define	fr16	16
 | |
| #define	fr17	17
 | |
| #define	fr18	18
 | |
| #define	fr19	19
 | |
| #define	fr20	20
 | |
| #define	fr21	21
 | |
| #define	fr22	22
 | |
| #define	fr23	23
 | |
| #define	fr24	24
 | |
| #define	fr25	25
 | |
| #define	fr26	26
 | |
| #define	fr27	27
 | |
| #define	fr28	28
 | |
| #define	fr29	29
 | |
| #define	fr30	30
 | |
| #define	fr31	31
 | |
| 
 | |
| #define	vr0		0
 | |
| #define	vr1		1
 | |
| #define	vr2		2
 | |
| #define	vr3		3
 | |
| #define	vr4		4
 | |
| #define	vr5		5
 | |
| #define	vr6		6
 | |
| #define	vr7		7
 | |
| #define	vr8		8
 | |
| #define	vr9		9
 | |
| #define	vr10	10
 | |
| #define	vr11	11
 | |
| #define	vr12	12
 | |
| #define	vr13	13
 | |
| #define	vr14	14
 | |
| #define	vr15	15
 | |
| #define	vr16	16
 | |
| #define	vr17	17
 | |
| #define	vr18	18
 | |
| #define	vr19	19
 | |
| #define	vr20	20
 | |
| #define	vr21	21
 | |
| #define	vr22	22
 | |
| #define	vr23	23
 | |
| #define	vr24	24
 | |
| #define	vr25	25
 | |
| #define	vr26	26
 | |
| #define	vr27	27
 | |
| #define	vr28	28
 | |
| #define	vr29	29
 | |
| #define	vr30	30
 | |
| #define	vr31	31
 | |
| 
 | |
| #endif		//_LANGUAGE_ASSEMBLY
 | |
| 
 | |
| #define SPRG0	272
 | |
| #define SPRG1	273
 | |
| #define SPRG2	274
 | |
| #define SPRG3	275
 | |
| 
 | |
| #define PMC1    953
 | |
| #define PMC2    954
 | |
| #define PMC3    957
 | |
| #define PMC4    958
 | |
| 
 | |
| #define MMCR0	952
 | |
| #define MMCR1	956
 | |
| 
 | |
| 
 | |
| #define LINK_REGISTER_CALLEE_UPDATE_ROOM 4
 | |
| #define EXCEPTION_NUMBER 8
 | |
| #define SRR0_OFFSET 12
 | |
| #define SRR1_OFFSET 16
 | |
| #define GPR0_OFFSET 20
 | |
| #define GPR1_OFFSET 24
 | |
| #define GPR2_OFFSET 28
 | |
| #define GPR3_OFFSET 32
 | |
| #define GPR4_OFFSET 36
 | |
| #define GPR5_OFFSET 40
 | |
| #define GPR6_OFFSET 44
 | |
| #define GPR7_OFFSET 48
 | |
| #define GPR8_OFFSET 52
 | |
| #define GPR9_OFFSET 56
 | |
| #define GPR10_OFFSET 60
 | |
| #define GPR11_OFFSET 64
 | |
| #define GPR12_OFFSET 68
 | |
| #define GPR13_OFFSET 72
 | |
| #define GPR14_OFFSET 76
 | |
| #define GPR15_OFFSET 80
 | |
| #define GPR16_OFFSET 84
 | |
| #define GPR17_OFFSET 88
 | |
| #define GPR18_OFFSET 92
 | |
| #define GPR19_OFFSET 96
 | |
| #define GPR20_OFFSET 100
 | |
| #define GPR21_OFFSET 104
 | |
| #define GPR22_OFFSET 108
 | |
| #define GPR23_OFFSET 112
 | |
| #define GPR24_OFFSET 116
 | |
| #define GPR25_OFFSET 120
 | |
| #define GPR26_OFFSET 124
 | |
| #define GPR27_OFFSET 128
 | |
| #define GPR28_OFFSET 132
 | |
| #define GPR29_OFFSET 136
 | |
| #define GPR30_OFFSET 140
 | |
| #define GPR31_OFFSET 144
 | |
| 
 | |
| #define GQR0_OFFSET 148
 | |
| #define GQR1_OFFSET 152
 | |
| #define GQR2_OFFSET 156
 | |
| #define GQR3_OFFSET 160
 | |
| #define GQR4_OFFSET 164
 | |
| #define GQR5_OFFSET 168
 | |
| #define GQR6_OFFSET 172
 | |
| #define GQR7_OFFSET 176
 | |
| 
 | |
| #define CR_OFFSET	 180
 | |
| #define LR_OFFSET	 184
 | |
| #define CTR_OFFSET	 188
 | |
| #define XER_OFFSET	 192
 | |
| #define MSR_OFFSET	 196
 | |
| #define DAR_OFFSET	 200
 | |
| 
 | |
| #define	STATE_OFFSET 204
 | |
| #define MODE_OFFSET	 206
 | |
| 	 
 | |
| #define FPR0_OFFSET	208
 | |
| #define FPR1_OFFSET 216
 | |
| #define FPR2_OFFSET 224
 | |
| #define FPR3_OFFSET 232
 | |
| #define FPR4_OFFSET 240
 | |
| #define FPR5_OFFSET 248
 | |
| #define FPR6_OFFSET 256
 | |
| #define FPR7_OFFSET 264
 | |
| #define FPR8_OFFSET 272
 | |
| #define FPR9_OFFSET 280
 | |
| #define FPR10_OFFSET 288
 | |
| #define FPR11_OFFSET 296
 | |
| #define FPR12_OFFSET 304
 | |
| #define FPR13_OFFSET 312
 | |
| #define FPR14_OFFSET 320
 | |
| #define FPR15_OFFSET 328
 | |
| #define FPR16_OFFSET 336
 | |
| #define FPR17_OFFSET 344
 | |
| #define FPR18_OFFSET 352
 | |
| #define FPR19_OFFSET 360
 | |
| #define FPR20_OFFSET 368
 | |
| #define FPR21_OFFSET 376
 | |
| #define FPR22_OFFSET 384
 | |
| #define FPR23_OFFSET 392
 | |
| #define FPR24_OFFSET 400
 | |
| #define FPR25_OFFSET 408
 | |
| #define FPR26_OFFSET 416
 | |
| #define FPR27_OFFSET 424
 | |
| #define FPR28_OFFSET 432
 | |
| #define FPR29_OFFSET 440
 | |
| #define FPR30_OFFSET 448
 | |
| #define FPR31_OFFSET 456
 | |
| 
 | |
| #define FPSCR_OFFSET 464
 | |
| 
 | |
| #define PSR0_OFFSET 472
 | |
| #define PSR1_OFFSET 480
 | |
| #define PSR2_OFFSET 488
 | |
| #define PSR3_OFFSET 496
 | |
| #define PSR4_OFFSET 504
 | |
| #define PSR5_OFFSET 512
 | |
| #define PSR6_OFFSET 520
 | |
| #define PSR7_OFFSET 528
 | |
| #define PSR8_OFFSET 536
 | |
| #define PSR9_OFFSET 544
 | |
| #define PSR10_OFFSET 552
 | |
| #define PSR11_OFFSET 560
 | |
| #define PSR12_OFFSET 568
 | |
| #define PSR13_OFFSET 576
 | |
| #define PSR14_OFFSET 584
 | |
| #define PSR15_OFFSET 592
 | |
| #define PSR16_OFFSET 600
 | |
| #define PSR17_OFFSET 608
 | |
| #define PSR18_OFFSET 616
 | |
| #define PSR19_OFFSET 624
 | |
| #define PSR20_OFFSET 632
 | |
| #define PSR21_OFFSET 640
 | |
| #define PSR22_OFFSET 648
 | |
| #define PSR23_OFFSET 656
 | |
| #define PSR24_OFFSET 664
 | |
| #define PSR25_OFFSET 672
 | |
| #define PSR26_OFFSET 680
 | |
| #define PSR27_OFFSET 688
 | |
| #define PSR28_OFFSET 696
 | |
| #define PSR29_OFFSET 704
 | |
| #define PSR30_OFFSET 712
 | |
| #define PSR31_OFFSET 720
 | |
| /*
 | |
|  * maintain the EABI requested 8 bytes aligment
 | |
|  * As SVR4 ABI requires 16, make it 16 (as some
 | |
|  * exception may need more registers to be processed...)
 | |
|  */
 | |
| #define EXCEPTION_FRAME_END 728
 | |
| 
 | |
| #define	IBAT0U		528
 | |
| #define	IBAT0L		529	
 | |
| #define	IBAT1U		530	
 | |
| #define	IBAT1L		531	
 | |
| #define	IBAT2U		532	
 | |
| #define	IBAT2L		533	
 | |
| #define	IBAT3U		534	
 | |
| #define	IBAT3L		535	
 | |
| #define	IBAT4U		560
 | |
| #define	IBAT4L		561
 | |
| #define	IBAT5U		562
 | |
| #define	IBAT5L		563
 | |
| #define	IBAT6U		564
 | |
| #define	IBAT6L		565
 | |
| #define	IBAT7U		566
 | |
| #define	IBAT7L		567
 | |
| 
 | |
| #define	DBAT0U		536
 | |
| #define	DBAT0L		537	
 | |
| #define	DBAT1U		538	
 | |
| #define	DBAT1L		539	
 | |
| #define	DBAT2U		540	
 | |
| #define	DBAT2L		541	
 | |
| #define	DBAT3U		542	
 | |
| #define	DBAT3L		543
 | |
| #define DBAT4U		568
 | |
| #define DBAT4L		569
 | |
| #define DBAT5U		570
 | |
| #define DBAT5L		571
 | |
| #define DBAT6U		572
 | |
| #define DBAT6L		573
 | |
| #define DBAT7U		574
 | |
| #define DBAT7L		575
 | |
| 
 | |
| #define HID0		1008
 | |
| #define HID1		1009
 | |
| #define HID2		920	
 | |
| #define HID4		1011
 | |
| 
 | |
| #define GQR0		912
 | |
| #define GQR1		913
 | |
| #define GQR2		914
 | |
| #define GQR3		915
 | |
| #define GQR4		916
 | |
| #define GQR5		917
 | |
| #define GQR6		918
 | |
| #define GQR7		919
 | |
| 
 | |
| #define L2CR		1017
 | |
| 
 | |
| #define WPAR		921
 | |
| 
 | |
| #define DMAU		922
 | |
| #define DMAL		923
 | |
| 
 | |
| #define MSR_RI				0x00000002
 | |
| #define MSR_DR				0x00000010
 | |
| #define MSR_IR				0x00000020
 | |
| #define MSR_IP				0x00000040
 | |
| #define MSR_SE				0x00000400
 | |
| #define MSR_ME				0x00001000
 | |
| #define MSR_FP				0x00002000
 | |
| #define MSR_POW				0x00004000
 | |
| #define MSR_EE				0x00008000
 | |
| 
 | |
| #define PPC_ALIGNMENT		8
 | |
| 
 | |
| #define PPC_CACHE_ALIGNMENT	32
 | |
| 
 | |
| #endif		//__ASM_H__
 |