Rev 1865 | Rev 1882 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1865 | Rev 1880 | ||
---|---|---|---|
Line 225... | Line 225... | ||
225 | b _memsetb |
225 | b _memsetb |
226 | nop |
226 | nop |
227 | 227 | ||
228 | 228 | ||
229 | .macro WRITE_ALTERNATE_REGISTER reg, bit |
229 | .macro WRITE_ALTERNATE_REGISTER reg, bit |
230 | save %sp, -STACK_WINDOW_SAVE_AREA_SIZE, %sp |
- | |
231 | rdpr %pstate, %l0 |
- | |
232 | wrpr %l0, \bit, %pstate |
230 | wrpr %g0, (\bit | PSTATE_PRIV_BIT), %pstate |
233 | mov %i0, \reg |
231 | mov %o0, \reg |
234 | wrpr %l0, 0, %pstate |
- | |
235 | ret |
232 | retl |
236 | restore |
233 | wrpr %g0, PSTATE_PRIV_BIT, %pstate |
237 | .endm |
234 | .endm |
238 | 235 | ||
239 | .macro READ_ALTERNATE_REGISTER reg, bit |
236 | .macro READ_ALTERNATE_REGISTER reg, bit |
240 | save %sp, -STACK_WINDOW_SAVE_AREA_SIZE, %sp |
- | |
241 | rdpr %pstate, %l0 |
- | |
242 | wrpr %l0, \bit, %pstate |
237 | wrpr %g0, (\bit | PSTATE_PRIV_BIT), %pstate |
243 | mov \reg, %i0 |
238 | mov \reg, %o0 |
244 | wrpr %l0, 0, %pstate |
- | |
245 | ret |
239 | retl |
246 | restore |
240 | wrpr %g0, PSTATE_PRIV_BIT, %pstate |
247 | .endm |
241 | .endm |
248 | 242 | ||
249 | .global write_to_ag_g6 |
243 | .global write_to_ag_g6 |
250 | write_to_ag_g6: |
244 | write_to_ag_g6: |
251 | WRITE_ALTERNATE_REGISTER %g6, PSTATE_AG_BIT |
245 | WRITE_ALTERNATE_REGISTER %g6, PSTATE_AG_BIT |
Line 303... | Line 297... | ||
303 | * Spills and fills will be handled by the userspace handlers. |
297 | * Spills and fills will be handled by the userspace handlers. |
304 | */ |
298 | */ |
305 | wrpr %g0, WSTATE_OTHER(0) | WSTATE_NORMAL(1), %wstate |
299 | wrpr %g0, WSTATE_OTHER(0) | WSTATE_NORMAL(1), %wstate |
306 | 300 | ||
307 | done ! jump to userspace |
301 | done ! jump to userspace |
- | 302 |