Changeset a5c78a18 in mainline for uspace/lib/c/arch/ia64
- Timestamp:
- 2019-02-03T14:35:44Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b4f1171
- Parents:
- 67ca359
- Location:
- uspace/lib/c/arch/ia64
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/arch/ia64/include/libarch/fibril_context.h
r67ca359 ra5c78a18 30 30 #define LIBC_ARCH_FIBRIL_CONTEXT_H_ 31 31 32 #define CONTEXT_OFFSET_AR_PFS 0x00033 #define CONTEXT_OFFSET_AR_UNAT_CALLER 0x00834 #define CONTEXT_OFFSET_AR_UNAT_CALLEE 0x01035 #define CONTEXT_OFFSET_AR_RSC 0x01836 #define CONTEXT_OFFSET_BSP 0x02037 #define CONTEXT_OFFSET_AR_RNAT 0x02838 #define CONTEXT_OFFSET_AR_LC 0x03039 #define CONTEXT_OFFSET_R1 0x03840 #define CONTEXT_OFFSET_R4 0x04041 #define CONTEXT_OFFSET_R5 0x04842 #define CONTEXT_OFFSET_R6 0x05043 #define CONTEXT_OFFSET_R7 0x05844 #define CONTEXT_OFFSET_SP 0x06045 #define CONTEXT_OFFSET_TP 0x06846 #define CONTEXT_OFFSET_PC 0x07047 #define CONTEXT_OFFSET_B1 0x07848 #define CONTEXT_OFFSET_B2 0x08049 #define CONTEXT_OFFSET_B3 0x08850 #define CONTEXT_OFFSET_B4 0x09051 #define CONTEXT_OFFSET_B5 0x09852 #define CONTEXT_OFFSET_PR 0x0a053 #define CONTEXT_OFFSET_F2 0x0b054 #define CONTEXT_OFFSET_F3 0x0c055 #define CONTEXT_OFFSET_F4 0x0d056 #define CONTEXT_OFFSET_F5 0x0e057 #define CONTEXT_OFFSET_F16 0x0f058 #define CONTEXT_OFFSET_F17 0x10059 #define CONTEXT_OFFSET_F18 0x11060 #define CONTEXT_OFFSET_F19 0x12061 #define CONTEXT_OFFSET_F20 0x13062 #define CONTEXT_OFFSET_F21 0x14063 #define CONTEXT_OFFSET_F22 0x15064 #define CONTEXT_OFFSET_F23 0x16065 #define CONTEXT_OFFSET_F24 0x17066 #define CONTEXT_OFFSET_F25 0x18067 #define CONTEXT_OFFSET_F26 0x19068 #define CONTEXT_OFFSET_F27 0x1a069 #define CONTEXT_OFFSET_F28 0x1b070 #define CONTEXT_OFFSET_F29 0x1c071 #define CONTEXT_OFFSET_F30 0x1d072 #define CONTEXT_OFFSET_F31 0x1e073 #define CONTEXT_SIZE 0x1f032 #define __CONTEXT_OFFSET_AR_PFS 0x000 33 #define __CONTEXT_OFFSET_AR_UNAT_CALLER 0x008 34 #define __CONTEXT_OFFSET_AR_UNAT_CALLEE 0x010 35 #define __CONTEXT_OFFSET_AR_RSC 0x018 36 #define __CONTEXT_OFFSET_BSP 0x020 37 #define __CONTEXT_OFFSET_AR_RNAT 0x028 38 #define __CONTEXT_OFFSET_AR_LC 0x030 39 #define __CONTEXT_OFFSET_R1 0x038 40 #define __CONTEXT_OFFSET_R4 0x040 41 #define __CONTEXT_OFFSET_R5 0x048 42 #define __CONTEXT_OFFSET_R6 0x050 43 #define __CONTEXT_OFFSET_R7 0x058 44 #define __CONTEXT_OFFSET_SP 0x060 45 #define __CONTEXT_OFFSET_TP 0x068 46 #define __CONTEXT_OFFSET_PC 0x070 47 #define __CONTEXT_OFFSET_B1 0x078 48 #define __CONTEXT_OFFSET_B2 0x080 49 #define __CONTEXT_OFFSET_B3 0x088 50 #define __CONTEXT_OFFSET_B4 0x090 51 #define __CONTEXT_OFFSET_B5 0x098 52 #define __CONTEXT_OFFSET_PR 0x0a0 53 #define __CONTEXT_OFFSET_F2 0x0b0 54 #define __CONTEXT_OFFSET_F3 0x0c0 55 #define __CONTEXT_OFFSET_F4 0x0d0 56 #define __CONTEXT_OFFSET_F5 0x0e0 57 #define __CONTEXT_OFFSET_F16 0x0f0 58 #define __CONTEXT_OFFSET_F17 0x100 59 #define __CONTEXT_OFFSET_F18 0x110 60 #define __CONTEXT_OFFSET_F19 0x120 61 #define __CONTEXT_OFFSET_F20 0x130 62 #define __CONTEXT_OFFSET_F21 0x140 63 #define __CONTEXT_OFFSET_F22 0x150 64 #define __CONTEXT_OFFSET_F23 0x160 65 #define __CONTEXT_OFFSET_F24 0x170 66 #define __CONTEXT_OFFSET_F25 0x180 67 #define __CONTEXT_OFFSET_F26 0x190 68 #define __CONTEXT_OFFSET_F27 0x1a0 69 #define __CONTEXT_OFFSET_F28 0x1b0 70 #define __CONTEXT_OFFSET_F29 0x1c0 71 #define __CONTEXT_OFFSET_F30 0x1d0 72 #define __CONTEXT_OFFSET_F31 0x1e0 73 #define __CONTEXT_SIZE 0x1f0 74 74 75 75 #ifndef __ASSEMBLER__ … … 79 79 80 80 // Only save registers that must be preserved across function calls. 81 typedef struct context {81 typedef struct __context { 82 82 // Application registers. 83 83 uint64_t ar_pfs; … … 132 132 uint128_t f30; 133 133 uint128_t f31; 134 } context_t;134 } __context_t; 135 135 136 136 #endif /* __ASSEMBLER__ */ -
uspace/lib/c/arch/ia64/src/fibril.S
r67ca359 ra5c78a18 58 58 mov loc6 = ar.lc 59 59 60 add loc8 = CONTEXT_OFFSET_AR_PFS, in061 add loc9 = CONTEXT_OFFSET_AR_UNAT_CALLER, in062 add loc10 = CONTEXT_OFFSET_AR_UNAT_CALLEE, in063 add loc11 = CONTEXT_OFFSET_AR_RSC, in064 add loc12 = CONTEXT_OFFSET_BSP, in065 add loc13 = CONTEXT_OFFSET_AR_RNAT, in066 add loc14 = CONTEXT_OFFSET_AR_LC, in067 68 add loc15 = CONTEXT_OFFSET_R1, in069 add loc16 = CONTEXT_OFFSET_R4, in070 add loc17 = CONTEXT_OFFSET_R5, in071 add loc18 = CONTEXT_OFFSET_R6, in072 add loc19 = CONTEXT_OFFSET_R7, in073 add loc20 = CONTEXT_OFFSET_SP, in074 add loc21 = CONTEXT_OFFSET_TP, in075 76 add loc22 = CONTEXT_OFFSET_PC, in077 add loc23 = CONTEXT_OFFSET_B1, in078 add loc24 = CONTEXT_OFFSET_B2, in079 add loc25 = CONTEXT_OFFSET_B3, in080 add loc26 = CONTEXT_OFFSET_B4, in081 add loc27 = CONTEXT_OFFSET_B5, in082 83 add loc28 = CONTEXT_OFFSET_PR, in084 85 add loc29 = CONTEXT_OFFSET_F2, in086 add loc30 = CONTEXT_OFFSET_F3, in087 add loc31 = CONTEXT_OFFSET_F4, in088 add loc32 = CONTEXT_OFFSET_F5, in089 90 add loc33 = CONTEXT_OFFSET_F16, in091 add loc34 = CONTEXT_OFFSET_F17, in092 add loc35 = CONTEXT_OFFSET_F18, in093 add loc36 = CONTEXT_OFFSET_F19, in094 add loc37 = CONTEXT_OFFSET_F20, in095 add loc38 = CONTEXT_OFFSET_F21, in096 add loc39 = CONTEXT_OFFSET_F22, in097 add loc40 = CONTEXT_OFFSET_F23, in098 add loc41 = CONTEXT_OFFSET_F24, in099 add loc42 = CONTEXT_OFFSET_F25, in0100 add loc43 = CONTEXT_OFFSET_F26, in0101 add loc44 = CONTEXT_OFFSET_F27, in0102 add loc45 = CONTEXT_OFFSET_F28, in0103 add loc46 = CONTEXT_OFFSET_F29, in0104 add loc47 = CONTEXT_OFFSET_F30, in0105 add loc48 = CONTEXT_OFFSET_F31, in0 ;;60 add loc8 = __CONTEXT_OFFSET_AR_PFS, in0 61 add loc9 = __CONTEXT_OFFSET_AR_UNAT_CALLER, in0 62 add loc10 = __CONTEXT_OFFSET_AR_UNAT_CALLEE, in0 63 add loc11 = __CONTEXT_OFFSET_AR_RSC, in0 64 add loc12 = __CONTEXT_OFFSET_BSP, in0 65 add loc13 = __CONTEXT_OFFSET_AR_RNAT, in0 66 add loc14 = __CONTEXT_OFFSET_AR_LC, in0 67 68 add loc15 = __CONTEXT_OFFSET_R1, in0 69 add loc16 = __CONTEXT_OFFSET_R4, in0 70 add loc17 = __CONTEXT_OFFSET_R5, in0 71 add loc18 = __CONTEXT_OFFSET_R6, in0 72 add loc19 = __CONTEXT_OFFSET_R7, in0 73 add loc20 = __CONTEXT_OFFSET_SP, in0 74 add loc21 = __CONTEXT_OFFSET_TP, in0 75 76 add loc22 = __CONTEXT_OFFSET_PC, in0 77 add loc23 = __CONTEXT_OFFSET_B1, in0 78 add loc24 = __CONTEXT_OFFSET_B2, in0 79 add loc25 = __CONTEXT_OFFSET_B3, in0 80 add loc26 = __CONTEXT_OFFSET_B4, in0 81 add loc27 = __CONTEXT_OFFSET_B5, in0 82 83 add loc28 = __CONTEXT_OFFSET_PR, in0 84 85 add loc29 = __CONTEXT_OFFSET_F2, in0 86 add loc30 = __CONTEXT_OFFSET_F3, in0 87 add loc31 = __CONTEXT_OFFSET_F4, in0 88 add loc32 = __CONTEXT_OFFSET_F5, in0 89 90 add loc33 = __CONTEXT_OFFSET_F16, in0 91 add loc34 = __CONTEXT_OFFSET_F17, in0 92 add loc35 = __CONTEXT_OFFSET_F18, in0 93 add loc36 = __CONTEXT_OFFSET_F19, in0 94 add loc37 = __CONTEXT_OFFSET_F20, in0 95 add loc38 = __CONTEXT_OFFSET_F21, in0 96 add loc39 = __CONTEXT_OFFSET_F22, in0 97 add loc40 = __CONTEXT_OFFSET_F23, in0 98 add loc41 = __CONTEXT_OFFSET_F24, in0 99 add loc42 = __CONTEXT_OFFSET_F25, in0 100 add loc43 = __CONTEXT_OFFSET_F26, in0 101 add loc44 = __CONTEXT_OFFSET_F27, in0 102 add loc45 = __CONTEXT_OFFSET_F28, in0 103 add loc46 = __CONTEXT_OFFSET_F29, in0 104 add loc47 = __CONTEXT_OFFSET_F30, in0 105 add loc48 = __CONTEXT_OFFSET_F31, in0 ;; 106 106 107 107 /* … … 185 185 alloc loc0 = ar.pfs, 2, 50, 0, 0 ;; 186 186 187 add loc9 = CONTEXT_OFFSET_AR_PFS, in0188 add loc10 = CONTEXT_OFFSET_AR_UNAT_CALLER, in0189 add loc11 = CONTEXT_OFFSET_AR_UNAT_CALLEE, in0190 add loc12 = CONTEXT_OFFSET_AR_RSC, in0191 add loc13 = CONTEXT_OFFSET_BSP, in0192 add loc14 = CONTEXT_OFFSET_AR_RNAT, in0193 add loc15 = CONTEXT_OFFSET_AR_LC, in0194 195 add loc16 = CONTEXT_OFFSET_R1, in0196 add loc17 = CONTEXT_OFFSET_R4, in0197 add loc18 = CONTEXT_OFFSET_R5, in0198 add loc19 = CONTEXT_OFFSET_R6, in0199 add loc20 = CONTEXT_OFFSET_R7, in0200 add loc21 = CONTEXT_OFFSET_SP, in0201 add loc22 = CONTEXT_OFFSET_TP, in0202 203 add loc23 = CONTEXT_OFFSET_PC, in0204 add loc24 = CONTEXT_OFFSET_B1, in0205 add loc25 = CONTEXT_OFFSET_B2, in0206 add loc26 = CONTEXT_OFFSET_B3, in0207 add loc27 = CONTEXT_OFFSET_B4, in0208 add loc28 = CONTEXT_OFFSET_B5, in0209 210 add loc29 = CONTEXT_OFFSET_PR, in0211 212 add loc30 = CONTEXT_OFFSET_F2, in0213 add loc31 = CONTEXT_OFFSET_F3, in0214 add loc32 = CONTEXT_OFFSET_F4, in0215 add loc33 = CONTEXT_OFFSET_F5, in0216 217 add loc34 = CONTEXT_OFFSET_F16, in0218 add loc35 = CONTEXT_OFFSET_F17, in0219 add loc36 = CONTEXT_OFFSET_F18, in0220 add loc37 = CONTEXT_OFFSET_F19, in0221 add loc38 = CONTEXT_OFFSET_F20, in0222 add loc39 = CONTEXT_OFFSET_F21, in0223 add loc40 = CONTEXT_OFFSET_F22, in0224 add loc41 = CONTEXT_OFFSET_F23, in0225 add loc42 = CONTEXT_OFFSET_F24, in0226 add loc43 = CONTEXT_OFFSET_F25, in0227 add loc44 = CONTEXT_OFFSET_F26, in0228 add loc45 = CONTEXT_OFFSET_F27, in0229 add loc46 = CONTEXT_OFFSET_F28, in0230 add loc47 = CONTEXT_OFFSET_F29, in0231 add loc48 = CONTEXT_OFFSET_F30, in0232 add loc49 = CONTEXT_OFFSET_F31, in0 ;;187 add loc9 = __CONTEXT_OFFSET_AR_PFS, in0 188 add loc10 = __CONTEXT_OFFSET_AR_UNAT_CALLER, in0 189 add loc11 = __CONTEXT_OFFSET_AR_UNAT_CALLEE, in0 190 add loc12 = __CONTEXT_OFFSET_AR_RSC, in0 191 add loc13 = __CONTEXT_OFFSET_BSP, in0 192 add loc14 = __CONTEXT_OFFSET_AR_RNAT, in0 193 add loc15 = __CONTEXT_OFFSET_AR_LC, in0 194 195 add loc16 = __CONTEXT_OFFSET_R1, in0 196 add loc17 = __CONTEXT_OFFSET_R4, in0 197 add loc18 = __CONTEXT_OFFSET_R5, in0 198 add loc19 = __CONTEXT_OFFSET_R6, in0 199 add loc20 = __CONTEXT_OFFSET_R7, in0 200 add loc21 = __CONTEXT_OFFSET_SP, in0 201 add loc22 = __CONTEXT_OFFSET_TP, in0 202 203 add loc23 = __CONTEXT_OFFSET_PC, in0 204 add loc24 = __CONTEXT_OFFSET_B1, in0 205 add loc25 = __CONTEXT_OFFSET_B2, in0 206 add loc26 = __CONTEXT_OFFSET_B3, in0 207 add loc27 = __CONTEXT_OFFSET_B4, in0 208 add loc28 = __CONTEXT_OFFSET_B5, in0 209 210 add loc29 = __CONTEXT_OFFSET_PR, in0 211 212 add loc30 = __CONTEXT_OFFSET_F2, in0 213 add loc31 = __CONTEXT_OFFSET_F3, in0 214 add loc32 = __CONTEXT_OFFSET_F4, in0 215 add loc33 = __CONTEXT_OFFSET_F5, in0 216 217 add loc34 = __CONTEXT_OFFSET_F16, in0 218 add loc35 = __CONTEXT_OFFSET_F17, in0 219 add loc36 = __CONTEXT_OFFSET_F18, in0 220 add loc37 = __CONTEXT_OFFSET_F19, in0 221 add loc38 = __CONTEXT_OFFSET_F20, in0 222 add loc39 = __CONTEXT_OFFSET_F21, in0 223 add loc40 = __CONTEXT_OFFSET_F22, in0 224 add loc41 = __CONTEXT_OFFSET_F23, in0 225 add loc42 = __CONTEXT_OFFSET_F24, in0 226 add loc43 = __CONTEXT_OFFSET_F25, in0 227 add loc44 = __CONTEXT_OFFSET_F26, in0 228 add loc45 = __CONTEXT_OFFSET_F27, in0 229 add loc46 = __CONTEXT_OFFSET_F28, in0 230 add loc47 = __CONTEXT_OFFSET_F29, in0 231 add loc48 = __CONTEXT_OFFSET_F30, in0 232 add loc49 = __CONTEXT_OFFSET_F31, in0 ;; 233 233 234 234 ld8 loc0 = [loc9] /* load ar.pfs */
Note:
See TracChangeset
for help on using the changeset viewer.