Changeset 32a89bf in mainline for arch/ia64/src/context.S
- Timestamp:
- 2005-05-20T21:39:19Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 14def1f6
- Parents:
- 0cb0a72
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia64/src/context.S
r0cb0a72 r32a89bf 33 33 34 34 context_save: 35 alloc loc0 = ar.pfs, 1, 1 0, 0, 035 alloc loc0 = ar.pfs, 1, 11, 0, 0 36 36 mov loc1 = ar.unat ;; 37 37 /* loc2 */ 38 mov loc3 = ar.rsc 39 mov loc4 = ar.bsp 40 mov loc5 = ar.rnat 41 mov loc6 = ar.lc 42 mov loc7 = ar.ec 43 mov loc8 = ar.ccv 44 mov loc9 = ar.csd 45 mov loc10 = ar.ssd 46 47 /* 48 * Save application registers 49 */ 38 50 st8 [in0] = loc0, 8 ;; /* save ar.pfs */ 39 51 st8 [in0] = loc1, 8 ;; /* save ar.unat (caller) */ 40 52 mov loc2 = in0 ;; 41 53 add in0 = 8, in0 ;; /* skip ar.unat (callee) */ 42 43 /* 44 * TODO: save the rest of the context registers. 45 */ 46 54 st8 [in0] = loc3, 8 ;; /* save ar.rsc */ 55 st8 [in0] = loc4, 8 ;; /* save ar.bsp */ 56 st8 [in0] = loc5, 8 ;; /* save ar.rnat */ 57 st8 [in0] = loc6, 8 ;; /* save ar.lc */ 58 st8 [in0] = loc7, 8 ;; /* save ar.ec */ 59 st8 [in0] = loc8, 8 ;; /* save ar.ccv */ 60 st8 [in0] = loc9, 8 ;; /* save ar.csd */ 61 st8 [in0] = loc10, 8 ;; /* save ar.ssd */ 62 47 63 /* 48 64 * Save general registers including NaT bits … … 116 132 117 133 context_restore: 118 alloc loc0 = ar.pfs, 1, 10, 0, 0 ;; 119 120 /* 121 * TODO: restore the rest of the context registers. 122 */ 123 124 ld8 loc0 = [in0], 8 ;; /* load pfs */ 125 ld8 loc1 = [in0], 8 ;; /* load unat (caller) */ 126 ld8 loc2 = [in0], 8 ;; /* load unat (callee) */ 127 134 alloc loc0 = ar.pfs, 1, 11, 0, 0 ;; 135 136 ld8 loc0 = [in0], 8 ;; /* load ar.pfs */ 137 ld8 loc1 = [in0], 8 ;; /* load ar.unat (caller) */ 138 ld8 loc2 = [in0], 8 ;; /* load ar.unat (callee) */ 139 ld8 loc3 = [in0], 8 ;; /* load ar.rsc */ 140 ld8 loc4 = [in0], 8 ;; /* load ar.bsp */ 141 ld8 loc5 = [in0], 8 ;; /* load ar.rnat */ 142 ld8 loc6 = [in0], 8 ;; /* load ar.lc */ 143 ld8 loc7 = [in0], 8 ;; /* load ar.ec */ 144 ld8 loc8 = [in0], 8 ;; /* load ar.ccv */ 145 ld8 loc9 = [in0], 8 ;; /* load ar.csd */ 146 ld8 loc10 = [in0], 8 ;; /* load ar.ssd */ 147 148 /* 149 * Restore application registers 150 */ 128 151 mov ar.unat = loc2 ;; 152 /* TODO: restore ar.rsc, ar.rnat, ar.bspstore */ 153 mov ar.lc = loc6 154 mov ar.ec = loc7 155 mov ar.ccv = loc8 156 mov ar.csd = loc9 157 mov ar.ssd = loc10 129 158 130 159 /*
Note:
See TracChangeset
for help on using the changeset viewer.