xref: /openbmc/linux/arch/ia64/include/uapi/asm/ia64regs.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*6f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
243e40f25SDavid Howells /*
343e40f25SDavid Howells  * Copyright (C) 2002,2003 Intel Corp.
443e40f25SDavid Howells  *      Jun Nakajima <jun.nakajima@intel.com>
543e40f25SDavid Howells  *      Suresh Siddha <suresh.b.siddha@intel.com>
643e40f25SDavid Howells  */
743e40f25SDavid Howells 
843e40f25SDavid Howells #ifndef _ASM_IA64_IA64REGS_H
943e40f25SDavid Howells #define _ASM_IA64_IA64REGS_H
1043e40f25SDavid Howells 
1143e40f25SDavid Howells /*
1243e40f25SDavid Howells  * Register Names for getreg() and setreg().
1343e40f25SDavid Howells  *
1443e40f25SDavid Howells  * The "magic" numbers happen to match the values used by the Intel compiler's
1543e40f25SDavid Howells  * getreg()/setreg() intrinsics.
1643e40f25SDavid Howells  */
1743e40f25SDavid Howells 
1843e40f25SDavid Howells /* Special Registers */
1943e40f25SDavid Howells 
2043e40f25SDavid Howells #define _IA64_REG_IP		1016	/* getreg only */
2143e40f25SDavid Howells #define _IA64_REG_PSR		1019
2243e40f25SDavid Howells #define _IA64_REG_PSR_L		1019
2343e40f25SDavid Howells 
2443e40f25SDavid Howells /* General Integer Registers */
2543e40f25SDavid Howells 
2643e40f25SDavid Howells #define _IA64_REG_GP		1025	/* R1 */
2743e40f25SDavid Howells #define _IA64_REG_R8		1032	/* R8 */
2843e40f25SDavid Howells #define _IA64_REG_R9		1033	/* R9 */
2943e40f25SDavid Howells #define _IA64_REG_SP		1036	/* R12 */
3043e40f25SDavid Howells #define _IA64_REG_TP		1037	/* R13 */
3143e40f25SDavid Howells 
3243e40f25SDavid Howells /* Application Registers */
3343e40f25SDavid Howells 
3443e40f25SDavid Howells #define _IA64_REG_AR_KR0	3072
3543e40f25SDavid Howells #define _IA64_REG_AR_KR1	3073
3643e40f25SDavid Howells #define _IA64_REG_AR_KR2	3074
3743e40f25SDavid Howells #define _IA64_REG_AR_KR3	3075
3843e40f25SDavid Howells #define _IA64_REG_AR_KR4	3076
3943e40f25SDavid Howells #define _IA64_REG_AR_KR5	3077
4043e40f25SDavid Howells #define _IA64_REG_AR_KR6	3078
4143e40f25SDavid Howells #define _IA64_REG_AR_KR7	3079
4243e40f25SDavid Howells #define _IA64_REG_AR_RSC	3088
4343e40f25SDavid Howells #define _IA64_REG_AR_BSP	3089
4443e40f25SDavid Howells #define _IA64_REG_AR_BSPSTORE	3090
4543e40f25SDavid Howells #define _IA64_REG_AR_RNAT	3091
4643e40f25SDavid Howells #define _IA64_REG_AR_FCR	3093
4743e40f25SDavid Howells #define _IA64_REG_AR_EFLAG	3096
4843e40f25SDavid Howells #define _IA64_REG_AR_CSD	3097
4943e40f25SDavid Howells #define _IA64_REG_AR_SSD	3098
5043e40f25SDavid Howells #define _IA64_REG_AR_CFLAG	3099
5143e40f25SDavid Howells #define _IA64_REG_AR_FSR	3100
5243e40f25SDavid Howells #define _IA64_REG_AR_FIR	3101
5343e40f25SDavid Howells #define _IA64_REG_AR_FDR	3102
5443e40f25SDavid Howells #define _IA64_REG_AR_CCV	3104
5543e40f25SDavid Howells #define _IA64_REG_AR_UNAT	3108
5643e40f25SDavid Howells #define _IA64_REG_AR_FPSR	3112
5743e40f25SDavid Howells #define _IA64_REG_AR_ITC	3116
5843e40f25SDavid Howells #define _IA64_REG_AR_PFS	3136
5943e40f25SDavid Howells #define _IA64_REG_AR_LC		3137
6043e40f25SDavid Howells #define _IA64_REG_AR_EC		3138
6143e40f25SDavid Howells 
6243e40f25SDavid Howells /* Control Registers */
6343e40f25SDavid Howells 
6443e40f25SDavid Howells #define _IA64_REG_CR_DCR	4096
6543e40f25SDavid Howells #define _IA64_REG_CR_ITM	4097
6643e40f25SDavid Howells #define _IA64_REG_CR_IVA	4098
6743e40f25SDavid Howells #define _IA64_REG_CR_PTA	4104
6843e40f25SDavid Howells #define _IA64_REG_CR_IPSR	4112
6943e40f25SDavid Howells #define _IA64_REG_CR_ISR	4113
7043e40f25SDavid Howells #define _IA64_REG_CR_IIP	4115
7143e40f25SDavid Howells #define _IA64_REG_CR_IFA	4116
7243e40f25SDavid Howells #define _IA64_REG_CR_ITIR	4117
7343e40f25SDavid Howells #define _IA64_REG_CR_IIPA	4118
7443e40f25SDavid Howells #define _IA64_REG_CR_IFS	4119
7543e40f25SDavid Howells #define _IA64_REG_CR_IIM	4120
7643e40f25SDavid Howells #define _IA64_REG_CR_IHA	4121
7743e40f25SDavid Howells #define _IA64_REG_CR_LID	4160
7843e40f25SDavid Howells #define _IA64_REG_CR_IVR	4161	/* getreg only */
7943e40f25SDavid Howells #define _IA64_REG_CR_TPR	4162
8043e40f25SDavid Howells #define _IA64_REG_CR_EOI	4163
8143e40f25SDavid Howells #define _IA64_REG_CR_IRR0	4164	/* getreg only */
8243e40f25SDavid Howells #define _IA64_REG_CR_IRR1	4165	/* getreg only */
8343e40f25SDavid Howells #define _IA64_REG_CR_IRR2	4166	/* getreg only */
8443e40f25SDavid Howells #define _IA64_REG_CR_IRR3	4167	/* getreg only */
8543e40f25SDavid Howells #define _IA64_REG_CR_ITV	4168
8643e40f25SDavid Howells #define _IA64_REG_CR_PMV	4169
8743e40f25SDavid Howells #define _IA64_REG_CR_CMCV	4170
8843e40f25SDavid Howells #define _IA64_REG_CR_LRR0	4176
8943e40f25SDavid Howells #define _IA64_REG_CR_LRR1	4177
9043e40f25SDavid Howells 
9143e40f25SDavid Howells /* Indirect Registers for getindreg() and setindreg() */
9243e40f25SDavid Howells 
9343e40f25SDavid Howells #define _IA64_REG_INDR_CPUID	9000	/* getindreg only */
9443e40f25SDavid Howells #define _IA64_REG_INDR_DBR	9001
9543e40f25SDavid Howells #define _IA64_REG_INDR_IBR	9002
9643e40f25SDavid Howells #define _IA64_REG_INDR_PKR	9003
9743e40f25SDavid Howells #define _IA64_REG_INDR_PMC	9004
9843e40f25SDavid Howells #define _IA64_REG_INDR_PMD	9005
9943e40f25SDavid Howells #define _IA64_REG_INDR_RR	9006
10043e40f25SDavid Howells 
10143e40f25SDavid Howells #endif /* _ASM_IA64_IA64REGS_H */
102