Rev 2071 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2071 | Rev 2610 | ||
|---|---|---|---|
| Line 75... | Line 75... | ||
| 75 | mov %l6, %g6 |
75 | mov %l6, %g6 |
| 76 | mov %l7, %g7 |
76 | mov %l7, %g7 |
| 77 | .endm |
77 | .endm |
| 78 | 78 | ||
| 79 | /* |
79 | /* |
| 80 | * The following needs to be in sync with the |
80 | * The following needs to be in sync with the definition of the istate |
| - | 81 | * structure. The one STACK_ITEM_SIZE is counted for space holding the 7th |
|
| - | 82 | * argument to syscall_handler (i.e. syscall number) and the other |
|
| 81 | * definition of the istate structure. |
83 | * STACK_ITEM_SIZE is counted because of the required alignment. |
| 82 | */ |
84 | */ |
| 83 | #define PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE (STACK_WINDOW_SAVE_AREA_SIZE+(12*8)) |
85 | #define PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE \ |
| - | 86 | (STACK_WINDOW_SAVE_AREA_SIZE + STACK_ARG_SAVE_AREA_SIZE + \ |
|
| - | 87 | (2 * STACK_ITEM_SIZE) + (12 * 8)) |
|
| 84 | #define SAVED_TSTATE -(1*8) |
88 | #define SAVED_TSTATE -(1 * 8) |
| 85 | #define SAVED_TPC -(2*8) |
89 | #define SAVED_TPC -(2 * 8) |
| 86 | #define SAVED_TNPC -(3*8) /* <-- istate_t begins here */ |
90 | #define SAVED_TNPC -(3 * 8) /* <-- istate_t begins here */ |
| 87 | #define SAVED_Y -(4*8) |
91 | #define SAVED_Y -(4 * 8) |
| 88 | #define SAVED_I0 -(5*8) |
92 | #define SAVED_I0 -(5 * 8) |
| 89 | #define SAVED_I1 -(6*8) |
93 | #define SAVED_I1 -(6 * 8) |
| 90 | #define SAVED_I2 -(7*8) |
94 | #define SAVED_I2 -(7 * 8) |
| 91 | #define SAVED_I3 -(8*8) |
95 | #define SAVED_I3 -(8 * 8) |
| 92 | #define SAVED_I4 -(9*8) |
96 | #define SAVED_I4 -(9 * 8) |
| 93 | #define SAVED_I5 -(10*8) |
97 | #define SAVED_I5 -(10 * 8) |
| 94 | #define SAVED_I6 -(11*8) |
98 | #define SAVED_I6 -(11 * 8) |
| 95 | #define SAVED_I7 -(12*8) |
99 | #define SAVED_I7 -(12 * 8) |
| 96 | 100 | ||
| 97 | .macro PREEMPTIBLE_HANDLER f |
101 | .macro PREEMPTIBLE_HANDLER f |
| 98 | sethi %hi(\f), %g1 |
102 | sethi %hi(\f), %g1 |
| 99 | b preemptible_handler |
103 | b preemptible_handler |
| 100 | or %g1, %lo(\f), %g1 |
104 | or %g1, %lo(\f), %g1 |