/openbsd/sys/arch/mips64/mips64/ |
H A D | sendsig.c | 103 struct sigcontext ksc; in sendsig() local 123 bzero(&ksc, sizeof(ksc)); in sendsig() 124 ksc.sc_mask = mask; in sendsig() 125 ksc.sc_pc = regs->pc; in sendsig() 126 ksc.mullo = regs->mullo; in sendsig() 131 if (ksc.sc_fpused) { in sendsig() 146 if (copyout((caddr_t)&ksc, (caddr_t)&fp->sf_sc, sizeof(ksc))) in sendsig() 196 error = copyin((caddr_t)scp, (caddr_t)&ksc, sizeof(ksc)); in sys_sigreturn() 206 ksc.sc_cookie = 0; in sys_sigreturn() 214 regs->pc = ksc.sc_pc; in sys_sigreturn() [all …]
|
/openbsd/sys/arch/arm/arm/ |
H A D | sig_machdep.c | 200 ksc.sc_cookie = 0; in sys_sigreturn() 214 tf->tf_r0 = ksc.sc_r0; in sys_sigreturn() 215 tf->tf_r1 = ksc.sc_r1; in sys_sigreturn() 216 tf->tf_r2 = ksc.sc_r2; in sys_sigreturn() 217 tf->tf_r3 = ksc.sc_r3; in sys_sigreturn() 218 tf->tf_r4 = ksc.sc_r4; in sys_sigreturn() 219 tf->tf_r5 = ksc.sc_r5; in sys_sigreturn() 220 tf->tf_r6 = ksc.sc_r6; in sys_sigreturn() 221 tf->tf_r7 = ksc.sc_r7; in sys_sigreturn() 222 tf->tf_r8 = ksc.sc_r8; in sys_sigreturn() [all …]
|
/openbsd/sys/arch/hppa/hppa/ |
H A D | machdep.c | 1204 struct sigcontext ksc; in sendsig() local 1223 sip = scp + sizeof(ksc); in sendsig() 1227 bzero(&ksc, sizeof(ksc)); in sendsig() 1228 ksc.sc_mask = mask; in sendsig() 1229 ksc.sc_fp = scp + sss; in sendsig() 1230 ksc.sc_ps = tf->tf_ipsw; in sendsig() 1233 ksc.sc_regs[0] = tf->tf_t1; in sendsig() 1234 ksc.sc_regs[1] = tf->tf_t2; in sendsig() 1282 if (copyout(&ksc, (void *)scp, sizeof(ksc))) in sendsig() 1311 if ((error = copyin((caddr_t)scp, (caddr_t)&ksc, sizeof ksc))) in sys_sigreturn() [all …]
|
/openbsd/sys/arch/arm64/arm64/ |
H A D | sig_machdep.c | 191 if (copyin(scp, &ksc, sizeof(*scp)) != 0) in sys_sigreturn() 200 ksc.sc_cookie = 0; in sys_sigreturn() 201 (void)copyout(&ksc.sc_cookie, (caddr_t)scp + in sys_sigreturn() 208 if ((ksc.sc_spsr & PSR_M_MASK) != PSR_M_EL0t || in sys_sigreturn() 209 (ksc.sc_spsr & (PSR_I | PSR_F)) != 0) in sys_sigreturn() 217 tf->tf_x[i] = ksc.sc_x[i]; in sys_sigreturn() 218 tf->tf_sp = ksc.sc_sp; in sys_sigreturn() 219 tf->tf_lr = ksc.sc_lr; in sys_sigreturn() 220 tf->tf_elr = ksc.sc_elr; in sys_sigreturn() 221 tf->tf_spsr = ksc.sc_spsr; in sys_sigreturn() [all …]
|
/openbsd/sys/arch/riscv64/riscv64/ |
H A D | sig_machdep.c | 212 if (copyin(scp, &ksc, sizeof(*scp)) != 0) in sys_sigreturn() 221 ksc.sc_cookie = 0; in sys_sigreturn() 228 tf->tf_t[i] = ksc.sc_t[i]; in sys_sigreturn() 230 tf->tf_s[i] = ksc.sc_s[i]; in sys_sigreturn() 232 tf->tf_a[i] = ksc.sc_a[i]; in sys_sigreturn() 233 tf->tf_ra = ksc.sc_ra; in sys_sigreturn() 234 tf->tf_sp = ksc.sc_sp; in sys_sigreturn() 235 tf->tf_tp = ksc.sc_tp; in sys_sigreturn() 236 tf->tf_sepc = ksc.sc_sepc; in sys_sigreturn() 242 fpreg->fp_f[i] = ksc.sc_f[i]; in sys_sigreturn() [all …]
|
/openbsd/sys/arch/amd64/amd64/ |
H A D | machdep.c | 639 struct sigcontext ksc; in sendsig() local 644 memset(&ksc, 0, sizeof ksc); in sendsig() 649 ksc.sc_r8 = tf->tf_r8; in sendsig() 650 ksc.sc_r9 = tf->tf_r9; in sendsig() 661 ksc.sc_cs = tf->tf_cs; in sendsig() 664 ksc.sc_ss = tf->tf_ss; in sendsig() 665 ksc.sc_mask = mask; in sendsig() 701 if (copyout(&ksc, (void *)scp, sizeof(ksc))) in sendsig() 747 if ((error = copyin((caddr_t)scp, &ksc, sizeof ksc))) in sys_sigreturn() 756 ksc.sc_cookie = 0; in sys_sigreturn() [all …]
|
/openbsd/sys/arch/m88k/m88k/ |
H A D | sig_machdep.c | 200 struct sigcontext ksc, *scp = SCARG(uap, sigcntxp); in sys_sigreturn() local 221 if ((error = copyin((caddr_t)scp, (caddr_t)&ksc, sizeof(*scp)))) in sys_sigreturn() 224 if (ksc.sc_cookie != ((long)scp ^ p->p_p->ps_sigcookie)) { in sys_sigreturn() 230 ksc.sc_cookie = 0; in sys_sigreturn() 231 (void)copyout(&ksc.sc_cookie, (caddr_t)scp + in sys_sigreturn() 232 offsetof(struct sigcontext, sc_cookie), sizeof (ksc.sc_cookie)); in sys_sigreturn() 234 if ((((struct reg *)&ksc.sc_regs)->epsr ^ tf->tf_regs.epsr) & in sys_sigreturn() 238 bcopy((const void *)&ksc.sc_regs, (caddr_t)&tf->tf_regs, in sys_sigreturn() 239 sizeof(ksc.sc_regs)); in sys_sigreturn() 244 p->p_sigmask = ksc.sc_mask & ~sigcantmask; in sys_sigreturn()
|
/openbsd/sys/arch/alpha/alpha/ |
H A D | machdep.c | 1360 struct sigcontext ksc, *scp; in sendsig() local 1369 fsize = sizeof ksc; in sendsig() 1392 bzero(&ksc, sizeof(ksc)); in sendsig() 1393 ksc.sc_mask = mask; in sendsig() 1399 ksc.sc_regs[R_SP] = oldsp; in sendsig() 1410 ksc.sc_fp_control = 0; in sendsig() 1412 memset(ksc.sc_reserved, 0, sizeof ksc.sc_reserved); /* XXX */ in sendsig() 1413 memset(ksc.sc_xxx, 0, sizeof ksc.sc_xxx); /* XXX */ in sendsig() 1464 if ((error = copyin(scp, &ksc, sizeof(ksc))) != 0) in sys_sigreturn() 1473 ksc.sc_cookie = 0; in sys_sigreturn() [all …]
|
/openbsd/sys/arch/sh/sh/ |
H A D | sh_machdep.c | 517 struct sigcontext ksc, *scp = SCARG(uap, sigcntxp); in sys_sigreturn() local 526 if ((error = copyin(scp, &ksc, sizeof(*scp))) != 0) in sys_sigreturn() 529 if (ksc.sc_cookie != ((long)scp ^ p->p_p->ps_sigcookie)) { in sys_sigreturn() 535 ksc.sc_cookie = 0; in sys_sigreturn() 536 (void)copyout(&ksc.sc_cookie, (caddr_t)scp + in sys_sigreturn() 537 offsetof(struct sigcontext, sc_cookie), sizeof(ksc.sc_cookie)); in sys_sigreturn() 543 if (((ksc.sc_reg[1] /* ssr */ ^ tf->tf_ssr) & PSL_USERSTATIC) != 0) in sys_sigreturn() 546 memcpy(&tf->tf_spc, ksc.sc_reg, sizeof(ksc.sc_reg)); in sys_sigreturn() 550 fpu_restore((struct fpreg *)&ksc.sc_fpreg); in sys_sigreturn() 554 p->p_sigmask = ksc.sc_mask & ~sigcantmask; in sys_sigreturn()
|
/openbsd/sys/arch/powerpc64/powerpc64/ |
H A D | machdep.c | 1008 if ((error = copyin(scp, &ksc, sizeof ksc))) in sys_sigreturn() 1017 ksc.sc_cookie = 0; in sys_sigreturn() 1022 if (ksc.sc_ps != PSL_USER) in sys_sigreturn() 1027 tf->fixreg[i] = ksc.sc_reg[i]; in sys_sigreturn() 1028 tf->lr = ksc.sc_lr; in sys_sigreturn() 1029 tf->cr = ksc.sc_cr; in sys_sigreturn() 1030 tf->xer = ksc.sc_xer; in sys_sigreturn() 1031 tf->ctr = ksc.sc_ctr; in sys_sigreturn() 1032 tf->srr0 = ksc.sc_pc; in sys_sigreturn() 1033 tf->srr1 = ksc.sc_ps; in sys_sigreturn() [all …]
|
/openbsd/sys/arch/macppc/macppc/ |
H A D | machdep.c | 502 struct sigcontext ksc, *scp = SCARG(uap, sigcntxp); in sys_sigreturn() local 511 if ((error = copyin(scp, &ksc, sizeof ksc))) in sys_sigreturn() 514 if (ksc.sc_cookie != ((long)scp ^ p->p_p->ps_sigcookie)) { in sys_sigreturn() 520 ksc.sc_cookie = 0; in sys_sigreturn() 521 (void)copyout(&ksc.sc_cookie, (caddr_t)scp + in sys_sigreturn() 522 offsetof(struct sigcontext, sc_cookie), sizeof (ksc.sc_cookie)); in sys_sigreturn() 525 ksc.sc_frame.srr1 &= ~PSL_VEC; in sys_sigreturn() 526 ksc.sc_frame.srr1 |= (tf->srr1 & PSL_VEC); in sys_sigreturn() 527 if ((ksc.sc_frame.srr1 & PSL_USERSTATIC) != (tf->srr1 & PSL_USERSTATIC)) in sys_sigreturn() 529 bcopy(&ksc.sc_frame, tf, sizeof *tf); in sys_sigreturn() [all …]
|
/openbsd/sys/arch/i386/i386/ |
H A D | machdep.c | 2488 ksc.sc_cookie = 0; in sys_sigreturn() 2502 !USERMODE(ksc.sc_cs, ksc.sc_eflags)) in sys_sigreturn() 2505 tf->tf_fs = ksc.sc_fs; in sys_sigreturn() 2506 tf->tf_gs = ksc.sc_gs; in sys_sigreturn() 2507 tf->tf_es = ksc.sc_es; in sys_sigreturn() 2508 tf->tf_ds = ksc.sc_ds; in sys_sigreturn() 2510 tf->tf_edi = ksc.sc_edi; in sys_sigreturn() 2511 tf->tf_esi = ksc.sc_esi; in sys_sigreturn() 2518 tf->tf_cs = ksc.sc_cs; in sys_sigreturn() 2520 tf->tf_ss = ksc.sc_ss; in sys_sigreturn() [all …]
|
/openbsd/sys/arch/sparc64/sparc64/ |
H A D | machdep.c | 488 struct sigcontext ksc, *scp = SCARG(uap, sigcntxp); in sys_sigreturn() local 510 if ((error = copyin((caddr_t)scp, &ksc, sizeof ksc))) in sys_sigreturn() 513 if (ksc.sc_cookie != ((long)scp ^ p->p_p->ps_sigcookie)) { in sys_sigreturn() 519 ksc.sc_cookie = 0; in sys_sigreturn() 520 (void)copyout(&ksc.sc_cookie, (caddr_t)scp + in sys_sigreturn() 521 offsetof(struct sigcontext, sc_cookie), sizeof (ksc.sc_cookie)); in sys_sigreturn() 523 scp = &ksc; in sys_sigreturn() 531 if (((ksc.sc_pc | ksc.sc_npc) & 3) != 0 || in sys_sigreturn() 532 (ksc.sc_pc == 0) || (ksc.sc_npc == 0)) { in sys_sigreturn() 535 (void *)(unsigned long)ksc.sc_pc, in sys_sigreturn() [all …]
|