Lines Matching refs:mpcb
127 struct machpcb *mpcb; in lwp_stk_init() local
136 mpcb = (struct machpcb *)stk; in lwp_stk_init()
137 bzero(mpcb, sizeof (struct machpcb)); in lwp_stk_init()
139 lwp->lwp_regs = (void *)&mpcb->mpcb_regs; in lwp_stk_init()
141 mpcb->mpcb_fpu = fp; in lwp_stk_init()
142 mpcb->mpcb_fpu->fpu_q = mpcb->mpcb_fpu_q; in lwp_stk_init()
143 mpcb->mpcb_thread = lwp->lwp_thread; in lwp_stk_init()
144 mpcb->mpcb_wbcnt = 0; in lwp_stk_init()
146 mpcb->mpcb_wstate = WSTATE_USER32; in lwp_stk_init()
147 mpcb->mpcb_wbuf = kmem_cache_alloc(wbuf32_cache, KM_SLEEP); in lwp_stk_init()
149 mpcb->mpcb_wstate = WSTATE_USER64; in lwp_stk_init()
150 mpcb->mpcb_wbuf = kmem_cache_alloc(wbuf64_cache, KM_SLEEP); in lwp_stk_init()
152 ASSERT(((uintptr_t)mpcb->mpcb_wbuf & 7) == 0); in lwp_stk_init()
153 mpcb->mpcb_wbuf_pa = va_to_pa(mpcb->mpcb_wbuf); in lwp_stk_init()
154 mpcb->mpcb_pa = va_to_pa(mpcb); in lwp_stk_init()
161 struct machpcb *mpcb = lwptompcb(lwp); in lwp_stk_fini() local
167 mpcb->mpcb_wbcnt = 0; in lwp_stk_fini()
168 if (mpcb->mpcb_wstate == WSTATE_USER32) in lwp_stk_fini()
169 kmem_cache_free(wbuf32_cache, mpcb->mpcb_wbuf); in lwp_stk_fini()
171 kmem_cache_free(wbuf64_cache, mpcb->mpcb_wbuf); in lwp_stk_fini()
172 mpcb->mpcb_wbuf = NULL; in lwp_stk_fini()
173 mpcb->mpcb_wbuf_pa = -1; in lwp_stk_fini()
184 struct machpcb *mpcb = lwptompcb(clwp); in lwp_forkregs() local
190 t = mpcb->mpcb_thread; in lwp_forkregs()
195 fp = mpcb->mpcb_fpu; in lwp_forkregs()
196 wbuf = mpcb->mpcb_wbuf; in lwp_forkregs()
197 wstate = mpcb->mpcb_wstate; in lwp_forkregs()
203 mpcb->mpcb_thread = t; in lwp_forkregs()
204 mpcb->mpcb_fpu = fp; in lwp_forkregs()
205 fp->fpu_q = mpcb->mpcb_fpu_q; in lwp_forkregs()
213 if (mpcb->mpcb_wstate != wstate) { in lwp_forkregs()
225 mpcb->mpcb_pa = va_to_pa(mpcb); in lwp_forkregs()
226 mpcb->mpcb_wbuf = wbuf; in lwp_forkregs()
227 mpcb->mpcb_wbuf_pa = va_to_pa(wbuf); in lwp_forkregs()
229 ASSERT(mpcb->mpcb_wstate == wstate); in lwp_forkregs()
231 if (mpcb->mpcb_wbcnt != 0) { in lwp_forkregs()
232 bcopy(pmpcb->mpcb_wbuf, mpcb->mpcb_wbuf, in lwp_forkregs()
233 mpcb->mpcb_wbcnt * ((mpcb->mpcb_wstate == WSTATE_USER32) ? in lwp_forkregs()