Lines Matching refs:ucp
99 _sigvechandler(int sig, siginfo_t *sip, ucontext_t *ucp) in _sigvechandler() argument
101 ucbsigvechandler(sig, sip, ucp); in _sigvechandler()
106 ucbsigvechandler(int sig, siginfo_t *sip, ucontext_t *ucp) in ucbsigvechandler() argument
115 sc.sc_onstack = ((ucp->uc_stack.ss_flags & SS_ONSTACK) != 0); in ucbsigvechandler()
116 sc.sc_mask = set2mask(&ucp->uc_sigmask); in ucbsigvechandler()
126 ucp->uc_mcontext.gregs[REG_PC] = in ucbsigvechandler()
127 ucp->uc_mcontext.gregs[REG_nPC]; in ucbsigvechandler()
128 ucp->uc_mcontext.gregs[REG_nPC] += 4; in ucbsigvechandler()
130 sc.sc_sp = ucp->uc_mcontext.gregs[REG_SP]; in ucbsigvechandler()
131 sc.sc_pc = ucp->uc_mcontext.gregs[REG_PC]; in ucbsigvechandler()
132 sc.sc_npc = ucp->uc_mcontext.gregs[REG_nPC]; in ucbsigvechandler()
136 sc.sc_psr = ucp->uc_mcontext.gregs[REG_CCR]; in ucbsigvechandler()
138 sc.sc_psr = ucp->uc_mcontext.gregs[REG_PSR]; in ucbsigvechandler()
141 sc.sc_g1 = ucp->uc_mcontext.gregs[REG_G1]; in ucbsigvechandler()
142 sc.sc_o0 = ucp->uc_mcontext.gregs[REG_O0]; in ucbsigvechandler()
152 sc.sc_wbcnt = (int)(sizeof (*ucp)); in ucbsigvechandler()
154 sc.sc_spbuf[1] = (char *)ucp; in ucbsigvechandler()
161 if (ucp->uc_mcontext.gwins != (gwindows_t *)0) { in ucbsigvechandler()
165 sc.sc_wbcnt = ucp->uc_mcontext.gwins->wbcnt; in ucbsigvechandler()
167 for (i = 0; i < ucp->uc_mcontext.gwins; i++) { in ucbsigvechandler()
168 sc.sc_spbuf[i] = ucp->uc_mcontext.gwins->spbuf[i]; in ucbsigvechandler()
171 ucp->uc_mcontext.gwins->wbuf[i].rw_local[j]; in ucbsigvechandler()
174 ucp->uc_mcontext.gwins->wbuf[i].rw_in[j]; in ucbsigvechandler()
275 ucp->uc_stack.ss_flags |= SS_ONSTACK; in ucbsigvechandler()
277 ucp->uc_stack.ss_flags &= ~SS_ONSTACK; in ucbsigvechandler()
278 mask2set(sc.sc_mask, &ucp->uc_sigmask); in ucbsigvechandler()
281 ucp->uc_mcontext.gregs[REG_SP] = sc.sc_sp; in ucbsigvechandler()
282 ucp->uc_mcontext.gregs[REG_PC] = sc.sc_pc; in ucbsigvechandler()
283 ucp->uc_mcontext.gregs[REG_nPC] = sc.sc_npc; in ucbsigvechandler()
285 ucp->uc_mcontext.gregs[REG_CCR] = sc.sc_psr; in ucbsigvechandler()
287 ucp->uc_mcontext.gregs[REG_PSR] = sc.sc_psr; in ucbsigvechandler()
289 ucp->uc_mcontext.gregs[REG_G1] = sc.sc_g1; in ucbsigvechandler()
290 ucp->uc_mcontext.gregs[REG_O0] = sc.sc_o0; in ucbsigvechandler()
295 ucp->uc_mcontext.gwins->wbcnt = sc.sc_wbcnt; in ucbsigvechandler()
298 ucp->uc_mcontext.gwins->spbuf[i] = sc.sc_spbuf[i]; in ucbsigvechandler()
300 ucp->uc_mcontext.gwins->wbuf[i].rw_local[j] = in ucbsigvechandler()
303 ucp->uc_mcontext.gwins->wbuf[i].rw_in[j] = in ucbsigvechandler()
310 if (ucp->uc_mcontext.fpregs.fpu_qcnt > 0) { in ucbsigvechandler()
311 ucp->uc_mcontext.fpregs.fpu_qcnt--; in ucbsigvechandler()
312 ucp->uc_mcontext.fpregs.fpu_q++; in ucbsigvechandler()
317 (void) setcontext(ucp); in ucbsigvechandler()
337 ucontext_t uc, *ucp; in __sigcleanup() local
345 if (scp->sc_wbcnt == sizeof (*ucp)) { in __sigcleanup()
347 ucp = (ucontext_t *)scp->sc_spbuf[1]; in __sigcleanup()
354 ucp = &uc; in __sigcleanup()
355 (void) getcontext(ucp); in __sigcleanup()
359 ucp->uc_stack.ss_flags |= SS_ONSTACK; in __sigcleanup()
361 ucp->uc_stack.ss_flags &= ~SS_ONSTACK; in __sigcleanup()
362 mask2set(scp->sc_mask, &ucp->uc_sigmask); in __sigcleanup()
364 ucp->uc_mcontext.gregs[REG_SP] = scp->sc_sp; in __sigcleanup()
365 ucp->uc_mcontext.gregs[REG_PC] = scp->sc_pc; in __sigcleanup()
366 ucp->uc_mcontext.gregs[REG_nPC] = scp->sc_npc; in __sigcleanup()
368 ucp->uc_mcontext.gregs[REG_CCR] = scp->sc_psr; in __sigcleanup()
370 ucp->uc_mcontext.gregs[REG_PSR] = scp->sc_psr; in __sigcleanup()
372 ucp->uc_mcontext.gregs[REG_G1] = scp->sc_g1; in __sigcleanup()
373 ucp->uc_mcontext.gregs[REG_O0] = scp->sc_o0; in __sigcleanup()
376 if (ucp->uc_mcontext.fpregs.fpu_qcnt > 0) { in __sigcleanup()
377 ucp->uc_mcontext.fpregs.fpu_qcnt--; in __sigcleanup()
378 ucp->uc_mcontext.fpregs.fpu_q++; in __sigcleanup()
381 (void) setcontext(ucp); in __sigcleanup()