Lines Matching refs:ucp

103 _sigvechandler(int sig, siginfo_t *sip, ucontext_t *ucp)  in _sigvechandler()  argument
105 ucbsigvechandler(sig, sip, ucp); in _sigvechandler()
110 ucbsigvechandler(int sig, siginfo_t *sip, ucontext_t *ucp) in ucbsigvechandler() argument
119 sc.sc_onstack = ((ucp->uc_stack.ss_flags & SS_ONSTACK) != 0); in ucbsigvechandler()
120 sc.sc_mask = set2mask(&ucp->uc_sigmask); in ucbsigvechandler()
130 ucp->uc_mcontext.gregs[REG_PC] = in ucbsigvechandler()
131 ucp->uc_mcontext.gregs[REG_nPC]; in ucbsigvechandler()
132 ucp->uc_mcontext.gregs[REG_nPC] += 4; in ucbsigvechandler()
134 sc.sc_sp = ucp->uc_mcontext.gregs[REG_SP]; in ucbsigvechandler()
135 sc.sc_pc = ucp->uc_mcontext.gregs[REG_PC]; in ucbsigvechandler()
136 sc.sc_npc = ucp->uc_mcontext.gregs[REG_nPC]; in ucbsigvechandler()
140 sc.sc_psr = ucp->uc_mcontext.gregs[REG_CCR]; in ucbsigvechandler()
142 sc.sc_psr = ucp->uc_mcontext.gregs[REG_PSR]; in ucbsigvechandler()
145 sc.sc_g1 = ucp->uc_mcontext.gregs[REG_G1]; in ucbsigvechandler()
146 sc.sc_o0 = ucp->uc_mcontext.gregs[REG_O0]; in ucbsigvechandler()
156 sc.sc_wbcnt = (int)(sizeof (*ucp)); in ucbsigvechandler()
158 sc.sc_spbuf[1] = (char *)ucp; in ucbsigvechandler()
165 if (ucp->uc_mcontext.gwins != (gwindows_t *)0) { in ucbsigvechandler()
169 sc.sc_wbcnt = ucp->uc_mcontext.gwins->wbcnt; in ucbsigvechandler()
171 for (i = 0; i < ucp->uc_mcontext.gwins; i++) { in ucbsigvechandler()
172 sc.sc_spbuf[i] = ucp->uc_mcontext.gwins->spbuf[i]; in ucbsigvechandler()
175 ucp->uc_mcontext.gwins->wbuf[i].rw_local[j]; in ucbsigvechandler()
178 ucp->uc_mcontext.gwins->wbuf[i].rw_in[j]; in ucbsigvechandler()
279 ucp->uc_stack.ss_flags |= SS_ONSTACK; in ucbsigvechandler()
281 ucp->uc_stack.ss_flags &= ~SS_ONSTACK; in ucbsigvechandler()
282 mask2set(sc.sc_mask, &ucp->uc_sigmask); in ucbsigvechandler()
285 ucp->uc_mcontext.gregs[REG_SP] = sc.sc_sp; in ucbsigvechandler()
286 ucp->uc_mcontext.gregs[REG_PC] = sc.sc_pc; in ucbsigvechandler()
287 ucp->uc_mcontext.gregs[REG_nPC] = sc.sc_npc; in ucbsigvechandler()
289 ucp->uc_mcontext.gregs[REG_CCR] = sc.sc_psr; in ucbsigvechandler()
291 ucp->uc_mcontext.gregs[REG_PSR] = sc.sc_psr; in ucbsigvechandler()
293 ucp->uc_mcontext.gregs[REG_G1] = sc.sc_g1; in ucbsigvechandler()
294 ucp->uc_mcontext.gregs[REG_O0] = sc.sc_o0; in ucbsigvechandler()
299 ucp->uc_mcontext.gwins->wbcnt = sc.sc_wbcnt; in ucbsigvechandler()
302 ucp->uc_mcontext.gwins->spbuf[i] = sc.sc_spbuf[i]; in ucbsigvechandler()
304 ucp->uc_mcontext.gwins->wbuf[i].rw_local[j] = in ucbsigvechandler()
307 ucp->uc_mcontext.gwins->wbuf[i].rw_in[j] = in ucbsigvechandler()
314 if (ucp->uc_mcontext.fpregs.fpu_qcnt > 0) { in ucbsigvechandler()
315 ucp->uc_mcontext.fpregs.fpu_qcnt--; in ucbsigvechandler()
316 ucp->uc_mcontext.fpregs.fpu_q++; in ucbsigvechandler()
321 (void) setcontext(ucp); in ucbsigvechandler()
341 ucontext_t uc, *ucp; in __sigcleanup() local
349 if (scp->sc_wbcnt == sizeof (*ucp)) { in __sigcleanup()
351 ucp = (ucontext_t *)scp->sc_spbuf[1]; in __sigcleanup()
358 ucp = &uc; in __sigcleanup()
359 (void) getcontext(ucp); in __sigcleanup()
363 ucp->uc_stack.ss_flags |= SS_ONSTACK; in __sigcleanup()
365 ucp->uc_stack.ss_flags &= ~SS_ONSTACK; in __sigcleanup()
366 mask2set(scp->sc_mask, &ucp->uc_sigmask); in __sigcleanup()
368 ucp->uc_mcontext.gregs[REG_SP] = scp->sc_sp; in __sigcleanup()
369 ucp->uc_mcontext.gregs[REG_PC] = scp->sc_pc; in __sigcleanup()
370 ucp->uc_mcontext.gregs[REG_nPC] = scp->sc_npc; in __sigcleanup()
372 ucp->uc_mcontext.gregs[REG_CCR] = scp->sc_psr; in __sigcleanup()
374 ucp->uc_mcontext.gregs[REG_PSR] = scp->sc_psr; in __sigcleanup()
376 ucp->uc_mcontext.gregs[REG_G1] = scp->sc_g1; in __sigcleanup()
377 ucp->uc_mcontext.gregs[REG_O0] = scp->sc_o0; in __sigcleanup()
380 if (ucp->uc_mcontext.fpregs.fpu_qcnt > 0) { in __sigcleanup()
381 ucp->uc_mcontext.fpregs.fpu_qcnt--; in __sigcleanup()
382 ucp->uc_mcontext.fpregs.fpu_q++; in __sigcleanup()
385 (void) setcontext(ucp); in __sigcleanup()