Rev 1880 | Rev 2071 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1880 | Rev 1882 | ||
|---|---|---|---|
| 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 | rdpr %pstate, %g1 ! save PSTATE.PEF |
|
| 230 | wrpr %g0, (\bit | PSTATE_PRIV_BIT), %pstate |
231 | wrpr %g0, (\bit | PSTATE_PRIV_BIT), %pstate |
| 231 | mov %o0, \reg |
232 | mov %o0, \reg |
| 232 | retl |
- | |
| 233 | wrpr %g0, PSTATE_PRIV_BIT, %pstate |
233 | wrpr %g0, PSTATE_PRIV_BIT, %pstate |
| - | 234 | retl |
|
| - | 235 | wrpr %g1, 0, %pstate ! restore PSTATE.PEF |
|
| 234 | .endm |
236 | .endm |
| 235 | 237 | ||
| 236 | .macro READ_ALTERNATE_REGISTER reg, bit |
238 | .macro READ_ALTERNATE_REGISTER reg, bit |
| - | 239 | rdpr %pstate, %g1 ! save PSTATE.PEF |
|
| 237 | wrpr %g0, (\bit | PSTATE_PRIV_BIT), %pstate |
240 | wrpr %g0, (\bit | PSTATE_PRIV_BIT), %pstate |
| 238 | mov \reg, %o0 |
241 | mov \reg, %o0 |
| 239 | retl |
- | |
| 240 | wrpr %g0, PSTATE_PRIV_BIT, %pstate |
242 | wrpr %g0, PSTATE_PRIV_BIT, %pstate |
| - | 243 | retl |
|
| - | 244 | wrpr %g1, 0, %pstate ! restore PSTATE.PEF |
|
| 241 | .endm |
245 | .endm |
| 242 | 246 | ||
| 243 | .global write_to_ag_g6 |
247 | .global write_to_ag_g6 |
| 244 | write_to_ag_g6: |
248 | write_to_ag_g6: |
| 245 | WRITE_ALTERNATE_REGISTER %g6, PSTATE_AG_BIT |
249 | WRITE_ALTERNATE_REGISTER %g6, PSTATE_AG_BIT |