/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 | 1198 struct sigcontext ksc; in sendsig() local 1217 sip = scp + sizeof(ksc); in sendsig() 1221 bzero(&ksc, sizeof(ksc)); in sendsig() 1222 ksc.sc_mask = mask; in sendsig() 1223 ksc.sc_fp = scp + sss; in sendsig() 1224 ksc.sc_ps = tf->tf_ipsw; in sendsig() 1227 ksc.sc_regs[0] = tf->tf_t1; in sendsig() 1228 ksc.sc_regs[1] = tf->tf_t2; in sendsig() 1276 if (copyout(&ksc, (void *)scp, sizeof(ksc))) in sendsig() 1305 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 | 641 struct sigcontext ksc; in sendsig() local 646 memset(&ksc, 0, sizeof ksc); in sendsig() 651 ksc.sc_r8 = tf->tf_r8; in sendsig() 652 ksc.sc_r9 = tf->tf_r9; in sendsig() 663 ksc.sc_cs = tf->tf_cs; in sendsig() 666 ksc.sc_ss = tf->tf_ss; in sendsig() 667 ksc.sc_mask = mask; in sendsig() 703 if (copyout(&ksc, (void *)scp, sizeof(ksc))) in sendsig() 749 if ((error = copyin((caddr_t)scp, &ksc, sizeof ksc))) in sys_sigreturn() 758 ksc.sc_cookie = 0; in sys_sigreturn() [all …]
|
/openbsd/sys/arch/m88k/m88k/ |
H A D | sig_machdep.c | 195 struct sigcontext ksc, *scp = SCARG(uap, sigcntxp); in sys_sigreturn() local 216 if ((error = copyin((caddr_t)scp, (caddr_t)&ksc, sizeof(*scp)))) in sys_sigreturn() 219 if (ksc.sc_cookie != ((long)scp ^ p->p_p->ps_sigcookie)) { in sys_sigreturn() 225 ksc.sc_cookie = 0; in sys_sigreturn() 226 (void)copyout(&ksc.sc_cookie, (caddr_t)scp + in sys_sigreturn() 227 offsetof(struct sigcontext, sc_cookie), sizeof (ksc.sc_cookie)); in sys_sigreturn() 229 if ((((struct reg *)&ksc.sc_regs)->epsr ^ tf->tf_regs.epsr) & in sys_sigreturn() 233 bcopy((const void *)&ksc.sc_regs, (caddr_t)&tf->tf_regs, in sys_sigreturn() 234 sizeof(ksc.sc_regs)); in sys_sigreturn() 239 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 | 2490 ksc.sc_cookie = 0; in sys_sigreturn() 2504 !USERMODE(ksc.sc_cs, ksc.sc_eflags)) in sys_sigreturn() 2507 tf->tf_fs = ksc.sc_fs; in sys_sigreturn() 2508 tf->tf_gs = ksc.sc_gs; in sys_sigreturn() 2509 tf->tf_es = ksc.sc_es; in sys_sigreturn() 2510 tf->tf_ds = ksc.sc_ds; in sys_sigreturn() 2512 tf->tf_edi = ksc.sc_edi; in sys_sigreturn() 2513 tf->tf_esi = ksc.sc_esi; in sys_sigreturn() 2520 tf->tf_cs = ksc.sc_cs; in sys_sigreturn() 2522 tf->tf_ss = ksc.sc_ss; in sys_sigreturn() [all …]
|
/openbsd/sys/arch/sparc64/sparc64/ |
H A D | machdep.c | 487 struct sigcontext ksc, *scp = SCARG(uap, sigcntxp); in sys_sigreturn() local 509 if ((error = copyin((caddr_t)scp, &ksc, sizeof ksc))) in sys_sigreturn() 512 if (ksc.sc_cookie != ((long)scp ^ p->p_p->ps_sigcookie)) { in sys_sigreturn() 518 ksc.sc_cookie = 0; in sys_sigreturn() 519 (void)copyout(&ksc.sc_cookie, (caddr_t)scp + in sys_sigreturn() 520 offsetof(struct sigcontext, sc_cookie), sizeof (ksc.sc_cookie)); in sys_sigreturn() 522 scp = &ksc; in sys_sigreturn() 530 if (((ksc.sc_pc | ksc.sc_npc) & 3) != 0 || in sys_sigreturn() 531 (ksc.sc_pc == 0) || (ksc.sc_npc == 0)) { in sys_sigreturn() 534 (void *)(unsigned long)ksc.sc_pc, in sys_sigreturn() [all …]
|