Rev 1852 | Rev 1860 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1852 | Rev 1855 | ||
|---|---|---|---|
| Line 79... | Line 79... | ||
| 79 | 79 | ||
| 80 | /* |
80 | /* |
| 81 | * The following needs to be in sync with the |
81 | * The following needs to be in sync with the |
| 82 | * definition of the istate structure. |
82 | * definition of the istate structure. |
| 83 | */ |
83 | */ |
| 84 | #define PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE (STACK_WINDOW_SAVE_AREA_SIZE+(4*8)) |
84 | #define PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE (STACK_WINDOW_SAVE_AREA_SIZE+(12*8)) |
| 85 | #define SAVED_TSTATE -(1*8) |
85 | #define SAVED_TSTATE -(1*8) |
| 86 | #define SAVED_TPC -(2*8) |
86 | #define SAVED_TPC -(2*8) |
| - | 87 | #define SAVED_TNPC -(3*8) /* <-- istate_t begins here */ |
|
| - | 88 | /* alignment gap */ |
|
| - | 89 | #define SAVED_I0 -(5*8) |
|
| 87 | #define SAVED_TNPC -(3*8) |
90 | #define SAVED_I1 -(6*8) |
| - | 91 | #define SAVED_I2 -(7*8) |
|
| - | 92 | #define SAVED_I3 -(8*8) |
|
| - | 93 | #define SAVED_I4 -(9*8) |
|
| - | 94 | #define SAVED_I5 -(10*8) |
|
| - | 95 | #define SAVED_I6 -(11*8) |
|
| - | 96 | #define SAVED_I7 -(12*8) |
|
| 88 | 97 | ||
| 89 | .macro PREEMPTIBLE_HANDLER f |
98 | .macro PREEMPTIBLE_HANDLER f |
| 90 | sethi %hi(\f), %g1 |
99 | sethi %hi(\f), %g1 |
| 91 | b preemptible_handler |
100 | b preemptible_handler |
| 92 | or %g1, %lo(\f), %g1 |
101 | or %g1, %lo(\f), %g1 |