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