Rev 472 | Rev 477 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 472 | Rev 473 | ||
---|---|---|---|
Line 104... | Line 104... | ||
104 | 104 | ||
105 | mov r27 = ar.rnat |
105 | mov r27 = ar.rnat |
106 | mov r28 = ar.bspstore ;; |
106 | mov r28 = ar.bspstore ;; |
107 | 107 | ||
108 | /* assume kernel backing store */ |
108 | /* assume kernel backing store */ |
109 | mov ar.bspstore = r28 ;; |
109 | /* mov ar.bspstore = r28 ;; */ |
110 | 110 | ||
111 | mov r29 = ar.bsp |
111 | mov r29 = ar.bsp |
112 | 112 | ||
113 | st8 [r31] = r27, -8 ;; /* save ar.rnat */ |
113 | st8 [r31] = r27, -8 ;; /* save ar.rnat */ |
114 | st8 [r31] = r28, -8 ;; /* save ar.bspstore */ |
114 | st8 [r31] = r28, -8 ;; /* save ar.bspstore */ |
Line 144... | Line 144... | ||
144 | ld8 r27 = [r31], +8 ;; /* load ar.rnat */ |
144 | ld8 r27 = [r31], +8 ;; /* load ar.rnat */ |
145 | ld8 r26 = [r31], +8 ;; /* load cr.ifs */ |
145 | ld8 r26 = [r31], +8 ;; /* load cr.ifs */ |
146 | ld8 r25 = [r31], +8 ;; /* load ar.pfs */ |
146 | ld8 r25 = [r31], +8 ;; /* load ar.pfs */ |
147 | ld8 r24 = [r31], +8 ;; /* load ar.rsc */ |
147 | ld8 r24 = [r31], +8 ;; /* load ar.rsc */ |
148 | 148 | ||
149 | mov ar.bspstore = r28 ;; /* (step 4) */ |
149 | /* mov ar.bspstore = r28 ;; */ /* (step 4) */ |
150 | mov ar.rnat = r27 /* (step 5) */ |
150 | /* mov ar.rnat = r27 */ /* (step 5) */ |
151 | 151 | ||
152 | mov ar.pfs = r25 /* (step 6) */ |
152 | mov ar.pfs = r25 /* (step 6) */ |
153 | mov cr.ifs = r26 |
153 | mov cr.ifs = r26 |
154 | 154 | ||
155 | mov ar.rsc = r24 /* (step 7) */ |
155 | mov ar.rsc = r24 /* (step 7) */ |
Line 245... | Line 245... | ||
245 | mov loc44 = r29 |
245 | mov loc44 = r29 |
246 | mov loc45 = r30 |
246 | mov loc45 = r30 |
247 | mov loc46 = r31 |
247 | mov loc46 = r31 |
248 | 248 | ||
249 | /* 9. skipped (will not enable interrupts) */ |
249 | /* 9. skipped (will not enable interrupts) */ |
- | 250 | /* |
|
- | 251 | * ssm PSR_I_MASK |
|
- | 252 | * ;; |
|
- | 253 | * srlz.d |
|
- | 254 | */ |
|
250 | 255 | ||
251 | /* 10. call handler */ |
256 | /* 10. call handler */ |
252 | mov b1 = loc2 |
257 | mov b1 = loc2 |
253 | br.call.sptk.many b0 = b1 |
258 | br.call.sptk.many b0 = b1 |
254 | 259 | ||
255 | /* 11. return from handler */ |
260 | /* 11. return from handler */ |
256 | 0: |
261 | 0: |
257 | 262 | ||
258 | /* 12. skipped (will not disable interrupts) */ |
263 | /* 12. skipped (will not disable interrupts) */ |
- | 264 | /* |
|
- | 265 | * rsm PSR_I_MASK |
|
- | 266 | * ;; |
|
- | 267 | * srlz.d |
|
- | 268 | */ |
|
259 | 269 | ||
260 | /* 13. restore general and floating-point registers */ |
270 | /* 13. restore general and floating-point registers */ |
261 | /* TODO: restore floating-point context */ |
271 | /* TODO: restore floating-point context */ |
262 | mov r1 = loc17 |
272 | mov r1 = loc17 |
263 | mov r2 = loc18 |
273 | mov r2 = loc18 |