Rev 962 | Rev 993 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 962 | Rev 979 | ||
---|---|---|---|
Line 248... | Line 248... | ||
248 | heavyweight_handler_inner: |
248 | heavyweight_handler_inner: |
249 | /* |
249 | /* |
250 | * From this point, the rest of the interrupted context |
250 | * From this point, the rest of the interrupted context |
251 | * will be preserved in stacked registers and backing store. |
251 | * will be preserved in stacked registers and backing store. |
252 | */ |
252 | */ |
253 | alloc loc0 = ar.pfs, 0, 47, 2, 0 ;; |
253 | alloc loc0 = ar.pfs, 0, 48, 2, 0 ;; |
254 | 254 | ||
255 | /* bank 0 is going to be shadowed, copy essential data from there */ |
255 | /* bank 0 is going to be shadowed, copy essential data from there */ |
256 | mov loc1 = R_RET /* b0 belonging to interrupted context */ |
256 | mov loc1 = R_RET /* b0 belonging to interrupted context */ |
257 | mov loc2 = R_HANDLER |
257 | mov loc2 = R_HANDLER |
258 | mov out0 = R_OFFS |
258 | mov out0 = R_OFFS |
Line 312... | Line 312... | ||
312 | mov loc42 = r27 |
312 | mov loc42 = r27 |
313 | mov loc43 = r28 |
313 | mov loc43 = r28 |
314 | mov loc44 = r29 |
314 | mov loc44 = r29 |
315 | mov loc45 = r30 |
315 | mov loc45 = r30 |
316 | mov loc46 = r31 |
316 | mov loc46 = r31 |
- | 317 | ||
- | 318 | /*preserve Floating point status register*/ |
|
- | 319 | mov loc47 = ar.fpsr |
|
317 | 320 | ||
318 | /* 9. skipped (will not enable interrupts) */ |
321 | /* 9. skipped (will not enable interrupts) */ |
319 | /* |
322 | /* |
320 | * ssm PSR_I_MASK |
323 | * ssm PSR_I_MASK |
321 | * ;; |
324 | * ;; |
Line 370... | Line 373... | ||
370 | mov r28 = loc43 |
373 | mov r28 = loc43 |
371 | mov r29 = loc44 |
374 | mov r29 = loc44 |
372 | mov r30 = loc45 |
375 | mov r30 = loc45 |
373 | mov r31 = loc46 |
376 | mov r31 = loc46 |
374 | 377 | ||
- | 378 | ||
- | 379 | /*restore Floating point status register*/ |
|
- | 380 | mov ar.fpsr = loc47 |
|
- | 381 | ||
375 | /* 14. restore branch and application registers */ |
382 | /* 14. restore branch and application registers */ |
376 | mov ar.unat = loc3 |
383 | mov ar.unat = loc3 |
377 | mov ar.lc = loc4 |
384 | mov ar.lc = loc4 |
378 | mov ar.ec = loc5 |
385 | mov ar.ec = loc5 |
379 | mov ar.ccv = loc6 |
386 | mov ar.ccv = loc6 |