xref: /OK3568_Linux_fs/u-boot/arch/mips/include/asm/reg.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * Various register offset definitions for debuggers, core file
3*4882a593Smuzhiyun  * examiners and whatnot.
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Copyright (C) 1995, 1999 by Ralf Baechle
6*4882a593Smuzhiyun  * Copyright (C) 1995, 1999 Silicon Graphics
7*4882a593Smuzhiyun  *
8*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0
9*4882a593Smuzhiyun  */
10*4882a593Smuzhiyun #ifndef __ASM_MIPS_REG_H
11*4882a593Smuzhiyun #define __ASM_MIPS_REG_H
12*4882a593Smuzhiyun 
13*4882a593Smuzhiyun #if defined(CONFIG_32BIT) || defined(WANT_COMPAT_REG_H)
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun #define EF_R0			6
16*4882a593Smuzhiyun #define EF_R1			7
17*4882a593Smuzhiyun #define EF_R2			8
18*4882a593Smuzhiyun #define EF_R3			9
19*4882a593Smuzhiyun #define EF_R4			10
20*4882a593Smuzhiyun #define EF_R5			11
21*4882a593Smuzhiyun #define EF_R6			12
22*4882a593Smuzhiyun #define EF_R7			13
23*4882a593Smuzhiyun #define EF_R8			14
24*4882a593Smuzhiyun #define EF_R9			15
25*4882a593Smuzhiyun #define EF_R10			16
26*4882a593Smuzhiyun #define EF_R11			17
27*4882a593Smuzhiyun #define EF_R12			18
28*4882a593Smuzhiyun #define EF_R13			19
29*4882a593Smuzhiyun #define EF_R14			20
30*4882a593Smuzhiyun #define EF_R15			21
31*4882a593Smuzhiyun #define EF_R16			22
32*4882a593Smuzhiyun #define EF_R17			23
33*4882a593Smuzhiyun #define EF_R18			24
34*4882a593Smuzhiyun #define EF_R19			25
35*4882a593Smuzhiyun #define EF_R20			26
36*4882a593Smuzhiyun #define EF_R21			27
37*4882a593Smuzhiyun #define EF_R22			28
38*4882a593Smuzhiyun #define EF_R23			29
39*4882a593Smuzhiyun #define EF_R24			30
40*4882a593Smuzhiyun #define EF_R25			31
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun /*
43*4882a593Smuzhiyun  * k0/k1 unsaved
44*4882a593Smuzhiyun  */
45*4882a593Smuzhiyun #define EF_R26			32
46*4882a593Smuzhiyun #define EF_R27			33
47*4882a593Smuzhiyun 
48*4882a593Smuzhiyun #define EF_R28			34
49*4882a593Smuzhiyun #define EF_R29			35
50*4882a593Smuzhiyun #define EF_R30			36
51*4882a593Smuzhiyun #define EF_R31			37
52*4882a593Smuzhiyun 
53*4882a593Smuzhiyun /*
54*4882a593Smuzhiyun  * Saved special registers
55*4882a593Smuzhiyun  */
56*4882a593Smuzhiyun #define EF_LO			38
57*4882a593Smuzhiyun #define EF_HI			39
58*4882a593Smuzhiyun 
59*4882a593Smuzhiyun #define EF_CP0_EPC		40
60*4882a593Smuzhiyun #define EF_CP0_BADVADDR		41
61*4882a593Smuzhiyun #define EF_CP0_STATUS		42
62*4882a593Smuzhiyun #define EF_CP0_CAUSE		43
63*4882a593Smuzhiyun #define EF_UNUSED0		44
64*4882a593Smuzhiyun 
65*4882a593Smuzhiyun #define EF_SIZE			180
66*4882a593Smuzhiyun 
67*4882a593Smuzhiyun #endif
68*4882a593Smuzhiyun 
69*4882a593Smuzhiyun #ifdef CONFIG_64BIT
70*4882a593Smuzhiyun 
71*4882a593Smuzhiyun #define EF_R0			 0
72*4882a593Smuzhiyun #define EF_R1			 1
73*4882a593Smuzhiyun #define EF_R2			 2
74*4882a593Smuzhiyun #define EF_R3			 3
75*4882a593Smuzhiyun #define EF_R4			 4
76*4882a593Smuzhiyun #define EF_R5			 5
77*4882a593Smuzhiyun #define EF_R6			 6
78*4882a593Smuzhiyun #define EF_R7			 7
79*4882a593Smuzhiyun #define EF_R8			 8
80*4882a593Smuzhiyun #define EF_R9			 9
81*4882a593Smuzhiyun #define EF_R10			10
82*4882a593Smuzhiyun #define EF_R11			11
83*4882a593Smuzhiyun #define EF_R12			12
84*4882a593Smuzhiyun #define EF_R13			13
85*4882a593Smuzhiyun #define EF_R14			14
86*4882a593Smuzhiyun #define EF_R15			15
87*4882a593Smuzhiyun #define EF_R16			16
88*4882a593Smuzhiyun #define EF_R17			17
89*4882a593Smuzhiyun #define EF_R18			18
90*4882a593Smuzhiyun #define EF_R19			19
91*4882a593Smuzhiyun #define EF_R20			20
92*4882a593Smuzhiyun #define EF_R21			21
93*4882a593Smuzhiyun #define EF_R22			22
94*4882a593Smuzhiyun #define EF_R23			23
95*4882a593Smuzhiyun #define EF_R24			24
96*4882a593Smuzhiyun #define EF_R25			25
97*4882a593Smuzhiyun 
98*4882a593Smuzhiyun /*
99*4882a593Smuzhiyun  * k0/k1 unsaved
100*4882a593Smuzhiyun  */
101*4882a593Smuzhiyun #define EF_R26			26
102*4882a593Smuzhiyun #define EF_R27			27
103*4882a593Smuzhiyun 
104*4882a593Smuzhiyun #define EF_R28			28
105*4882a593Smuzhiyun #define EF_R29			29
106*4882a593Smuzhiyun #define EF_R30			30
107*4882a593Smuzhiyun #define EF_R31			31
108*4882a593Smuzhiyun 
109*4882a593Smuzhiyun /*
110*4882a593Smuzhiyun  * Saved special registers
111*4882a593Smuzhiyun  */
112*4882a593Smuzhiyun #define EF_LO			32
113*4882a593Smuzhiyun #define EF_HI			33
114*4882a593Smuzhiyun 
115*4882a593Smuzhiyun #define EF_CP0_EPC		34
116*4882a593Smuzhiyun #define EF_CP0_BADVADDR		35
117*4882a593Smuzhiyun #define EF_CP0_STATUS		36
118*4882a593Smuzhiyun #define EF_CP0_CAUSE		37
119*4882a593Smuzhiyun 
120*4882a593Smuzhiyun #define EF_SIZE			304	/* size in bytes */
121*4882a593Smuzhiyun 
122*4882a593Smuzhiyun #endif /* CONFIG_64BIT */
123*4882a593Smuzhiyun 
124*4882a593Smuzhiyun #endif /* __ASM_MIPS_REG_H */
125