Lines Matching refs:lwp
85 setfpregs(klwp_t *lwp, fpregset_t *fp) in setfpregs() argument
90 model_t model = lwp_getdatamodel(lwp); in setfpregs()
92 mpcb = lwptompcb(lwp); in setfpregs()
93 pfp = lwptofpu(lwp); in setfpregs()
150 if (lwp != ttolwp(curthread)) { in setfpregs()
193 if (lwp == ttolwp(curthread)) in setfpregs()
203 setfpregs32(klwp_t *lwp, fpregset32_t *fp) in setfpregs32() argument
208 setfpregs(lwp, &fpregs); in setfpregs32()
217 run_fpq(klwp_t *lwp, fpregset_t *fp) in run_fpq() argument
225 if (lwp == ttolwp(curthread)) { in run_fpq()
228 fp_runq(lwp->lwp_regs); in run_fpq()
239 getfpregs(klwp_t *lwp, fpregset_t *fp) in getfpregs() argument
242 model_t model = lwp_getdatamodel(lwp); in getfpregs()
244 pfp = lwptofpu(lwp); in getfpregs()
246 if (fpu_exists && ttolwp(curthread) == lwp) in getfpregs()
268 if (fpu_exists && ttolwp(curthread) == lwp) { in getfpregs()
310 getfpregs32(klwp_t *lwp, fpregset32_t *fp) in getfpregs32() argument
314 getfpregs(lwp, &fpregs); in getfpregs32()
327 setgregs(klwp_t *lwp, gregset_t grp) in setgregs() argument
329 struct regs *rp = lwptoregs(lwp); in setgregs()
330 kfpu_t *fp = lwptofpu(lwp); in setgregs()
333 int current = (lwp == curthread->t_lwp); in setgregs()
380 lwp->lwp_eosys = JUSTRETURN; in setgregs()
391 getgregs(klwp_t *lwp, gregset_t grp) in getgregs() argument
393 struct regs *rp = lwptoregs(lwp); in getgregs()
397 if (fpu_exists && ttolwp(curthread) == lwp) { in getgregs()
400 kfpu_t *fp = lwptofpu(lwp); in getgregs()
428 getgregs32(klwp_t *lwp, gregset32_t grp) in getgregs32() argument
430 struct regs *rp = lwptoregs(lwp); in getgregs32()
434 if (fpu_exists && ttolwp(curthread) == lwp) { in getgregs32()
437 kfpu_t *fp = lwptofpu(lwp); in getgregs32()
476 setgwins(klwp_t *lwp, gwindows_t *gwins) in setgwins() argument
478 struct machpcb *mpcb = lwptompcb(lwp); in setgwins()
509 setgwins32(klwp_t *lwp, gwindows32_t *gwins) in setgwins32() argument
511 struct machpcb *mpcb = lwptompcb(lwp); in setgwins32()
549 getgwins(klwp_t *lwp, gwindows_t *gwp) in getgwins() argument
551 struct machpcb *mpcb = lwptompcb(lwp); in getgwins()
581 getgwins32(klwp_t *lwp, gwindows32_t *gwp) in getgwins32() argument
583 struct machpcb *mpcb = lwptompcb(lwp); in getgwins32()
721 klwp_t *lwp = ttolwp(curthread); in copy_return_window32() local
722 struct machpcb *mpcb = lwptompcb(lwp); in copy_return_window32()
738 caddr32_t sp1_32 = (uint32_t)lwptoregs(lwp)->r_sp; in copy_return_window32()
761 klwp_t *lwp; in copy_return_window() local
769 lwp = ttolwp(curthread); in copy_return_window()
770 mpcb = lwptompcb(lwp); in copy_return_window()
773 sp1 = (caddr_t)lwptoregs(lwp)->r_sp + STACK_BIAS; in copy_return_window()
796 klwp_t *lwp = ttolwp(curthread); in setregs() local
797 kfpu_t *fpp = lwptofpu(lwp); in setregs()
798 struct machpcb *mpcb = lwptompcb(lwp); in setregs()
805 rp = lwptoregs(lwp); in setregs()
820 lwp->lwp_eosys = JUSTRETURN; in setregs()
821 lwp->lwp_pcb.pcb_trap0addr = NULL; /* no trap 0 handler */ in setregs()
891 klwp_t *lwp = ttolwp(curthread); in sendsig() local
917 if (lwp->lwp_pcb.pcb_xregstat != XREGNONE) in sendsig()
918 xregrestore(lwp, 0); in sendsig()
920 mpcb = lwptompcb(lwp); in sendsig()
921 rp = lwptoregs(lwp); in sendsig()
943 fpp = lwptofpu(lwp); in sendsig()
950 mpcb = lwptompcb(lwp); in sendsig()
971 !(lwp->lwp_sigaltstack.ss_flags & (SS_ONSTACK|SS_DISABLE))); in sendsig()
983 (SA((uintptr_t)lwp->lwp_sigaltstack.ss_sp) + in sendsig()
984 SA((int)lwp->lwp_sigaltstack.ss_size) - STACK_ALIGN - in sendsig()
994 !(lwp->lwp_sigaltstack.ss_flags & SS_ONSTACK)) in sendsig()
1024 savecontext(tuc, &lwp->lwp_sigoldmask); in sendsig()
1030 xregs_setptr(lwp, tuc, sp); in sendsig()
1032 xregs_get(lwp, xregs); in sendsig()
1075 (ulong_t)lwp->lwp_arg[i]); in sendsig()
1091 getgwins(lwp, gwp); in sendsig()
1139 lwp->lwp_oldcontext = (uintptr_t)&fp->uc; in sendsig()
1142 lwp->lwp_sigaltstack.ss_flags |= SS_ONSTACK; in sendsig()
1144 if (lwp->lwp_ustack) { in sendsig()
1145 copyout_noerr(&lwp->lwp_sigaltstack, in sendsig()
1146 (stack_t *)lwp->lwp_ustack, sizeof (stack_t)); in sendsig()
1220 klwp_t *lwp = ttolwp(curthread); in sendsig32() local
1248 if (lwp->lwp_pcb.pcb_xregstat != XREGNONE) in sendsig32()
1249 xregrestore(lwp, 0); in sendsig32()
1251 mpcb = lwptompcb(lwp); in sendsig32()
1252 rp = lwptoregs(lwp); in sendsig32()
1270 fpp = lwptofpu(lwp); in sendsig32()
1278 mpcb = lwptompcb(lwp); in sendsig32()
1300 !(lwp->lwp_sigaltstack.ss_flags & (SS_ONSTACK|SS_DISABLE))); in sendsig32()
1312 (SA32((uintptr_t)lwp->lwp_sigaltstack.ss_sp) + in sendsig32()
1313 SA32((int)lwp->lwp_sigaltstack.ss_size) - in sendsig32()
1324 !(lwp->lwp_sigaltstack.ss_flags & SS_ONSTACK)) in sendsig32()
1354 savecontext32(tuc, &lwp->lwp_sigoldmask, dfq); in sendsig32()
1360 xregs_setptr32(lwp, tuc, (caddr32_t)(uintptr_t)sp); in sendsig32()
1362 xregs_get(lwp, xregs); in sendsig32()
1403 (uint32_t)lwp->lwp_arg[i]); in sendsig32()
1419 getgwins32(lwp, gwp); in sendsig32()
1476 lwp->lwp_oldcontext = (uintptr_t)&fp->uc; in sendsig32()
1479 lwp->lwp_sigaltstack.ss_flags |= SS_ONSTACK; in sendsig32()
1480 if (lwp->lwp_ustack) { in sendsig32()
1484 (caddr32_t)(uintptr_t)lwp->lwp_sigaltstack.ss_sp; in sendsig32()
1485 stk32.ss_size = (size32_t)lwp->lwp_sigaltstack.ss_size; in sendsig32()
1486 stk32.ss_flags = (int32_t)lwp->lwp_sigaltstack.ss_flags; in sendsig32()
1488 copyout_noerr(&stk32, (stack32_t *)lwp->lwp_ustack, in sendsig32()
1550 lwp_load(klwp_t *lwp, gregset_t grp, uintptr_t thrptr) in lwp_load() argument
1552 setgregs(lwp, grp); in lwp_load()
1553 if (lwptoproc(lwp)->p_model == DATAMODEL_ILP32) in lwp_load()
1554 lwptoregs(lwp)->r_tstate = TSTATE_USER32 | TSTATE_MM_TSO; in lwp_load()
1556 lwptoregs(lwp)->r_tstate = TSTATE_USER64 | TSTATE_MM_TSO; in lwp_load()
1559 lwptoregs(lwp)->r_tstate &= ~TSTATE_PEF; in lwp_load()
1560 lwp->lwp_eosys = JUSTRETURN; in lwp_load()
1561 lwptot(lwp)->t_post_sys = 1; in lwp_load()
1568 lwp_setrval(klwp_t *lwp, int v1, int v2) in lwp_setrval() argument
1570 struct regs *rp = lwptoregs(lwp); in lwp_setrval()
1581 lwp_setsp(klwp_t *lwp, caddr_t sp) in lwp_setsp() argument
1583 struct regs *rp = lwptoregs(lwp); in lwp_setsp()
1596 klwp_t *lwp = ttolwp(curthread); in lwp_pcb_exit() local
1598 if (lwp->lwp_pcb.pcb_flags & ASYNC_HWERR) { in lwp_pcb_exit()
1599 lwp->lwp_pcb.pcb_flags &= ~ASYNC_HWERR; in lwp_pcb_exit()