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 |