Rev 4068 | Rev 4383 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4068 | Rev 4369 | ||
---|---|---|---|
Line 769... | Line 769... | ||
769 | brnz %g3, 2f |
769 | brnz %g3, 2f |
770 | nop |
770 | nop |
771 | INLINE_SPILL_TO_WBUF %g3, %g4, %g7 |
771 | INLINE_SPILL_TO_WBUF %g3, %g4, %g7 |
772 | 772 | ||
773 | 2: |
773 | 2: |
774 | get_kstack_wbuf_ptr %g3, %g4 |
774 | set SCRATCHPAD_KSTACK, %g4 |
775 | ldx [%g4], %g6 |
775 | ldxa [%g4] ASI_SCRATCHPAD, %g6 |
776 | save %g6, -PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE, %sp |
776 | save %g6, -PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE, %sp |
777 | 777 | ||
778 | .if \is_syscall |
778 | .if \is_syscall |
779 | /* Copy arguments for the syscall to the new window. */ |
779 | /* Copy arguments for the syscall to the new window. */ |
780 | mov %i0, %o0 |
780 | mov %i0, %o0 |
Line 821... | Line 821... | ||
821 | flush %g1 |
821 | flush %g1 |
822 | 822 | ||
823 | /* Restoring userspace windows: */ |
823 | /* Restoring userspace windows: */ |
824 | 824 | ||
825 | /* Save address of the userspace window buffer to the %g7 register. */ |
825 | /* Save address of the userspace window buffer to the %g7 register. */ |
826 | get_kstack_wbuf_ptr %g1, %g5 |
826 | set SCRATCHPAD_WBUF, %g5 |
827 | ldx [%g5 + 8], %g7 |
827 | ldxa [%g5] ASI_SCRATCHPAD, %g7 |
828 | 828 | ||
829 | rdpr %cwp, %g1 |
829 | rdpr %cwp, %g1 |
830 | rdpr %otherwin, %g2 |
830 | rdpr %otherwin, %g2 |
831 | 831 | ||
832 | /* |
832 | /* |
Line 872... | Line 872... | ||
872 | ba 5b |
872 | ba 5b |
873 | inc %g4 |
873 | inc %g4 |
874 | 874 | ||
875 | 6: |
875 | 6: |
876 | /* Save changes of the address of the userspace window buffer. */ |
876 | /* Save changes of the address of the userspace window buffer. */ |
877 | stx %g7, [%g5 + 8] |
877 | stxa %g7, [%g5] ASI_SCRATCHPAD |
878 | 878 | ||
879 | /* |
879 | /* |
880 | * Switch back to the proper current window and adjust |
880 | * Switch back to the proper current window and adjust |
881 | * OTHERWIN, CANRESTORE, CANSAVE and CLEANWIN. |
881 | * OTHERWIN, CANRESTORE, CANSAVE and CLEANWIN. |
882 | */ |
882 | */ |