xref: /openbmc/linux/arch/ia64/include/uapi/asm/ia64regs.h (revision 43e40f25d2c090392fc36cb900b42972e88cc2e2)
1*43e40f25SDavid Howells /*
2*43e40f25SDavid Howells  * Copyright (C) 2002,2003 Intel Corp.
3*43e40f25SDavid Howells  *      Jun Nakajima <jun.nakajima@intel.com>
4*43e40f25SDavid Howells  *      Suresh Siddha <suresh.b.siddha@intel.com>
5*43e40f25SDavid Howells  */
6*43e40f25SDavid Howells 
7*43e40f25SDavid Howells #ifndef _ASM_IA64_IA64REGS_H
8*43e40f25SDavid Howells #define _ASM_IA64_IA64REGS_H
9*43e40f25SDavid Howells 
10*43e40f25SDavid Howells /*
11*43e40f25SDavid Howells  * Register Names for getreg() and setreg().
12*43e40f25SDavid Howells  *
13*43e40f25SDavid Howells  * The "magic" numbers happen to match the values used by the Intel compiler's
14*43e40f25SDavid Howells  * getreg()/setreg() intrinsics.
15*43e40f25SDavid Howells  */
16*43e40f25SDavid Howells 
17*43e40f25SDavid Howells /* Special Registers */
18*43e40f25SDavid Howells 
19*43e40f25SDavid Howells #define _IA64_REG_IP		1016	/* getreg only */
20*43e40f25SDavid Howells #define _IA64_REG_PSR		1019
21*43e40f25SDavid Howells #define _IA64_REG_PSR_L		1019
22*43e40f25SDavid Howells 
23*43e40f25SDavid Howells /* General Integer Registers */
24*43e40f25SDavid Howells 
25*43e40f25SDavid Howells #define _IA64_REG_GP		1025	/* R1 */
26*43e40f25SDavid Howells #define _IA64_REG_R8		1032	/* R8 */
27*43e40f25SDavid Howells #define _IA64_REG_R9		1033	/* R9 */
28*43e40f25SDavid Howells #define _IA64_REG_SP		1036	/* R12 */
29*43e40f25SDavid Howells #define _IA64_REG_TP		1037	/* R13 */
30*43e40f25SDavid Howells 
31*43e40f25SDavid Howells /* Application Registers */
32*43e40f25SDavid Howells 
33*43e40f25SDavid Howells #define _IA64_REG_AR_KR0	3072
34*43e40f25SDavid Howells #define _IA64_REG_AR_KR1	3073
35*43e40f25SDavid Howells #define _IA64_REG_AR_KR2	3074
36*43e40f25SDavid Howells #define _IA64_REG_AR_KR3	3075
37*43e40f25SDavid Howells #define _IA64_REG_AR_KR4	3076
38*43e40f25SDavid Howells #define _IA64_REG_AR_KR5	3077
39*43e40f25SDavid Howells #define _IA64_REG_AR_KR6	3078
40*43e40f25SDavid Howells #define _IA64_REG_AR_KR7	3079
41*43e40f25SDavid Howells #define _IA64_REG_AR_RSC	3088
42*43e40f25SDavid Howells #define _IA64_REG_AR_BSP	3089
43*43e40f25SDavid Howells #define _IA64_REG_AR_BSPSTORE	3090
44*43e40f25SDavid Howells #define _IA64_REG_AR_RNAT	3091
45*43e40f25SDavid Howells #define _IA64_REG_AR_FCR	3093
46*43e40f25SDavid Howells #define _IA64_REG_AR_EFLAG	3096
47*43e40f25SDavid Howells #define _IA64_REG_AR_CSD	3097
48*43e40f25SDavid Howells #define _IA64_REG_AR_SSD	3098
49*43e40f25SDavid Howells #define _IA64_REG_AR_CFLAG	3099
50*43e40f25SDavid Howells #define _IA64_REG_AR_FSR	3100
51*43e40f25SDavid Howells #define _IA64_REG_AR_FIR	3101
52*43e40f25SDavid Howells #define _IA64_REG_AR_FDR	3102
53*43e40f25SDavid Howells #define _IA64_REG_AR_CCV	3104
54*43e40f25SDavid Howells #define _IA64_REG_AR_UNAT	3108
55*43e40f25SDavid Howells #define _IA64_REG_AR_FPSR	3112
56*43e40f25SDavid Howells #define _IA64_REG_AR_ITC	3116
57*43e40f25SDavid Howells #define _IA64_REG_AR_PFS	3136
58*43e40f25SDavid Howells #define _IA64_REG_AR_LC		3137
59*43e40f25SDavid Howells #define _IA64_REG_AR_EC		3138
60*43e40f25SDavid Howells 
61*43e40f25SDavid Howells /* Control Registers */
62*43e40f25SDavid Howells 
63*43e40f25SDavid Howells #define _IA64_REG_CR_DCR	4096
64*43e40f25SDavid Howells #define _IA64_REG_CR_ITM	4097
65*43e40f25SDavid Howells #define _IA64_REG_CR_IVA	4098
66*43e40f25SDavid Howells #define _IA64_REG_CR_PTA	4104
67*43e40f25SDavid Howells #define _IA64_REG_CR_IPSR	4112
68*43e40f25SDavid Howells #define _IA64_REG_CR_ISR	4113
69*43e40f25SDavid Howells #define _IA64_REG_CR_IIP	4115
70*43e40f25SDavid Howells #define _IA64_REG_CR_IFA	4116
71*43e40f25SDavid Howells #define _IA64_REG_CR_ITIR	4117
72*43e40f25SDavid Howells #define _IA64_REG_CR_IIPA	4118
73*43e40f25SDavid Howells #define _IA64_REG_CR_IFS	4119
74*43e40f25SDavid Howells #define _IA64_REG_CR_IIM	4120
75*43e40f25SDavid Howells #define _IA64_REG_CR_IHA	4121
76*43e40f25SDavid Howells #define _IA64_REG_CR_LID	4160
77*43e40f25SDavid Howells #define _IA64_REG_CR_IVR	4161	/* getreg only */
78*43e40f25SDavid Howells #define _IA64_REG_CR_TPR	4162
79*43e40f25SDavid Howells #define _IA64_REG_CR_EOI	4163
80*43e40f25SDavid Howells #define _IA64_REG_CR_IRR0	4164	/* getreg only */
81*43e40f25SDavid Howells #define _IA64_REG_CR_IRR1	4165	/* getreg only */
82*43e40f25SDavid Howells #define _IA64_REG_CR_IRR2	4166	/* getreg only */
83*43e40f25SDavid Howells #define _IA64_REG_CR_IRR3	4167	/* getreg only */
84*43e40f25SDavid Howells #define _IA64_REG_CR_ITV	4168
85*43e40f25SDavid Howells #define _IA64_REG_CR_PMV	4169
86*43e40f25SDavid Howells #define _IA64_REG_CR_CMCV	4170
87*43e40f25SDavid Howells #define _IA64_REG_CR_LRR0	4176
88*43e40f25SDavid Howells #define _IA64_REG_CR_LRR1	4177
89*43e40f25SDavid Howells 
90*43e40f25SDavid Howells /* Indirect Registers for getindreg() and setindreg() */
91*43e40f25SDavid Howells 
92*43e40f25SDavid Howells #define _IA64_REG_INDR_CPUID	9000	/* getindreg only */
93*43e40f25SDavid Howells #define _IA64_REG_INDR_DBR	9001
94*43e40f25SDavid Howells #define _IA64_REG_INDR_IBR	9002
95*43e40f25SDavid Howells #define _IA64_REG_INDR_PKR	9003
96*43e40f25SDavid Howells #define _IA64_REG_INDR_PMC	9004
97*43e40f25SDavid Howells #define _IA64_REG_INDR_PMD	9005
98*43e40f25SDavid Howells #define _IA64_REG_INDR_RR	9006
99*43e40f25SDavid Howells 
100*43e40f25SDavid Howells #endif /* _ASM_IA64_IA64REGS_H */
101