Rev 4377 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4377 | Rev 4692 | ||
---|---|---|---|
Line 275... | Line 275... | ||
275 | * %o1 Userspace stack pointer address. |
275 | * %o1 Userspace stack pointer address. |
276 | * %o2 Userspace address of uarg structure. |
276 | * %o2 Userspace address of uarg structure. |
277 | */ |
277 | */ |
278 | .global switch_to_userspace |
278 | .global switch_to_userspace |
279 | switch_to_userspace: |
279 | switch_to_userspace: |
280 | save %o1, -STACK_WINDOW_SAVE_AREA_SIZE, %sp |
280 | save %o1, -(STACK_WINDOW_SAVE_AREA_SIZE + STACK_ARG_SAVE_AREA_SIZE), %sp |
281 | flushw |
281 | flushw |
282 | wrpr %g0, 0, %cleanwin ! avoid information leak |
282 | wrpr %g0, 0, %cleanwin ! avoid information leak |
283 | 283 | ||
284 | mov %i2, %o0 ! uarg |
284 | mov %i2, %o0 ! uarg |
285 | xor %o1, %o1, %o1 ! %o1 is defined to hold pcb_ptr |
285 | xor %o1, %o1, %o1 ! %o1 is defined to hold pcb_ptr |