Lines Matching refs:lwp

99 prgetprregs(klwp_t *lwp, prgregset_t prp)  in prgetprregs()  argument
101 ASSERT(MUTEX_NOT_HELD(&lwptoproc(lwp)->p_lock)); in prgetprregs()
103 getgregs(lwp, prp); in prgetprregs()
111 prsetprregs(klwp_t *lwp, prgregset_t prp, int initial) in prsetprregs() argument
114 lwptoregs(lwp)->r_ps = PSL_USER; in prsetprregs()
115 (void) setgregs(lwp, prp); in prsetprregs()
124 prgregset_32ton(klwp_t *lwp, prgregset32_t src, prgregset_t dst) in prgregset_32ton() argument
126 struct regs *rp = lwptoregs(lwp); in prgregset_32ton()
128 dst[REG_GSBASE] = lwp->lwp_pcb.pcb_gsbase; in prgregset_32ton()
129 dst[REG_FSBASE] = lwp->lwp_pcb.pcb_fsbase; in prgregset_32ton()
159 prgetprregs32(klwp_t *lwp, prgregset32_t prp) in prgetprregs32() argument
161 ASSERT(MUTEX_NOT_HELD(&lwptoproc(lwp)->p_lock)); in prgetprregs32()
162 getgregs32(lwp, prp); in prgetprregs32()
171 prgetrvals(klwp_t *lwp, long *rval1, long *rval2) in prgetrvals() argument
173 struct regs *r = lwptoregs(lwp); in prgetrvals()
177 if (lwp->lwp_eosys == JUSTRETURN) { in prgetrvals()
180 } else if (lwp_getdatamodel(lwp) != DATAMODEL_NATIVE) { in prgetrvals()
210 prgetprfpregs(klwp_t *lwp, prfpregset_t *pfp) in prgetprfpregs() argument
213 getfpregs(lwp, pfp); in prgetprfpregs()
218 prgetprfpregs32(klwp_t *lwp, prfpregset32_t *pfp) in prgetprfpregs32() argument
221 getfpregs32(lwp, pfp); in prgetprfpregs32()
230 prsetprfpregs(klwp_t *lwp, prfpregset_t *pfp) in prsetprfpregs() argument
232 setfpregs(lwp, pfp); in prsetprfpregs()
237 prsetprfpregs32(klwp_t *lwp, prfpregset32_t *pfp) in prsetprfpregs32() argument
239 setfpregs32(lwp, pfp); in prsetprfpregs32()
331 prgetprxregs(klwp_t *lwp, prxregset_t *prx) in prgetprxregs() argument
333 fpu_proc_xregs_get(lwp, prx); in prgetprxregs()
357 prsetprxregs(klwp_t *lwp, prxregset_t *prx) in prsetprxregs() argument
437 return (fpu_proc_xregs_set(lwp, prx)); in prsetprxregs()
463 prstep(klwp_t *lwp, int watchstep) in prstep() argument
465 ASSERT(MUTEX_NOT_HELD(&lwptoproc(lwp)->p_lock)); in prstep()
471 lwp->lwp_pcb.pcb_flags |= REQUEST_STEP; in prstep()
472 lwp->lwp_pcb.pcb_flags &= ~REQUEST_NOSTEP; in prstep()
475 lwp->lwp_pcb.pcb_flags |= WATCH_STEP; in prstep()
477 lwp->lwp_pcb.pcb_flags |= NORMAL_STEP; in prstep()
479 aston(lwptot(lwp)); /* let trap() set PS_T in rp->r_efl */ in prstep()
486 prnostep(klwp_t *lwp) in prnostep() argument
488 ASSERT(ttolwp(curthread) == lwp || in prnostep()
489 MUTEX_NOT_HELD(&lwptoproc(lwp)->p_lock)); in prnostep()
495 lwp->lwp_pcb.pcb_flags |= REQUEST_NOSTEP; in prnostep()
497 lwp->lwp_pcb.pcb_flags &= in prnostep()
500 aston(lwptot(lwp)); /* let trap() clear PS_T in rp->r_efl */ in prnostep()
507 prisstep(klwp_t *lwp) in prisstep() argument
509 ASSERT(MUTEX_NOT_HELD(&lwptoproc(lwp)->p_lock)); in prisstep()
511 return ((lwp->lwp_pcb.pcb_flags & in prisstep()
519 prsvaddr(klwp_t *lwp, caddr_t vaddr) in prsvaddr() argument
521 struct regs *r = lwptoregs(lwp); in prsvaddr()
523 ASSERT(MUTEX_NOT_HELD(&lwptoproc(lwp)->p_lock)); in prsvaddr()
599 klwp_t *lwp = ttolwp(curthread); in prstop() local
600 struct regs *r = lwptoregs(lwp); in prstop()
602 if (lwp->lwp_pcb.pcb_flags & PRSTOP_CALLED) in prstop()
609 ASSERT(lwp->lwp_nostop == 0); in prstop()
610 lwp->lwp_nostop = 1; in prstop()
612 if (copyin_nowatch((caddr_t)r->r_pc, &lwp->lwp_pcb.pcb_instr, in prstop()
613 sizeof (lwp->lwp_pcb.pcb_instr)) == 0) in prstop()
614 lwp->lwp_pcb.pcb_flags |= INSTR_VALID; in prstop()
616 lwp->lwp_pcb.pcb_flags &= ~INSTR_VALID; in prstop()
617 lwp->lwp_pcb.pcb_instr = 0; in prstop()
621 ASSERT(lwp->lwp_nostop == 1); in prstop()
622 lwp->lwp_nostop = 0; in prstop()
624 lwp->lwp_pcb.pcb_flags |= PRSTOP_CALLED; in prstop()
644 prfetchinstr(klwp_t *lwp, ulong_t *ip) in prfetchinstr() argument
646 *ip = (ulong_t)(instr_t)lwp->lwp_pcb.pcb_instr; in prfetchinstr()
647 return (lwp->lwp_pcb.pcb_flags & INSTR_VALID); in prfetchinstr()