/freebsd/sys/amd64/ia32/ |
H A D | ia32_signal.c | 463 sf.sf_uc.uc_sigmask = *mask; in freebsd4_ia32_sendsig() 464 sf.sf_uc.uc_stack.ss_sp = (uintptr_t)td->td_sigstk.ss_sp; in freebsd4_ia32_sendsig() 465 sf.sf_uc.uc_stack.ss_size = td->td_sigstk.ss_size; in freebsd4_ia32_sendsig() 466 sf.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) in freebsd4_ia32_sendsig() 468 sf.sf_uc.uc_mcontext.mc_onstack = (oonstack) ? 1 : 0; in freebsd4_ia32_sendsig() 469 sf.sf_uc.uc_mcontext.mc_edi = regs->tf_rdi; in freebsd4_ia32_sendsig() 470 sf.sf_uc.uc_mcontext.mc_esi = regs->tf_rsi; in freebsd4_ia32_sendsig() 471 sf.sf_uc.uc_mcontext.mc_ebp = regs->tf_rbp; in freebsd4_ia32_sendsig() 472 sf.sf_uc.uc_mcontext.mc_isp = regs->tf_rsp; /* XXX */ in freebsd4_ia32_sendsig() 473 sf.sf_uc.uc_mcontext.mc_ebx = regs->tf_rbx; in freebsd4_ia32_sendsig() [all …]
|
/freebsd/sys/amd64/linux/ |
H A D | linux_sysvec.c | 373 context = &sf.sf_uc.uc_mcontext; in linux_rt_sigreturn() 412 linux_to_bsd_sigset(&sf.sf_uc.uc_sigmask, &bmask); in linux_rt_sigreturn() 436 error = linux_copyin_fpstate(td, &sf.sf_uc); in linux_rt_sigreturn() 544 sf.sf_uc.uc_stack.ss_sp = PTROUT(td->td_sigstk.ss_sp); in linux_rt_sendsig() 545 sf.sf_uc.uc_stack.ss_size = td->td_sigstk.ss_size; in linux_rt_sendsig() 546 sf.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) in linux_rt_sendsig() 559 if (linux_copyout_fpstate(td, &sf.sf_uc, &sp) != 0) { in linux_rt_sendsig() 565 sf.sf_uc.uc_mcontext.sc_fpstate = (register_t)sp; in linux_rt_sendsig() 572 bsd_to_linux_sigset(mask, &sf.sf_uc.uc_sigmask); in linux_rt_sendsig() 573 sf.sf_uc.uc_mcontext.sc_mask = sf.sf_uc.uc_sigmask; in linux_rt_sendsig() [all …]
|
/freebsd/sys/arm64/linux/ |
H A D | linux_sysvec.c | 269 memcpy(tf->tf_x, sf->sf_uc.uc_sc.regs, sizeof(tf->tf_x)); in linux_rt_sigreturn() 270 tf->tf_lr = sf->sf_uc.uc_sc.regs[30]; in linux_rt_sigreturn() 271 tf->tf_sp = sf->sf_uc.uc_sc.sp; in linux_rt_sigreturn() 272 tf->tf_elr = sf->sf_uc.uc_sc.pc; in linux_rt_sigreturn() 274 if ((sf->sf_uc.uc_sc.pstate & PSR_M_MASK) != PSR_M_EL0t || in linux_rt_sigreturn() 275 (sf->sf_uc.uc_sc.pstate & PSR_AARCH32) != 0 || in linux_rt_sigreturn() 276 (sf->sf_uc.uc_sc.pstate & PSR_DAIF) != in linux_rt_sigreturn() 279 tf->tf_spsr = sf->sf_uc.uc_sc.pstate; in linux_rt_sigreturn() 281 if (!linux_parse_sigreturn_ctx(td, &sf->sf_uc.uc_sc)) in linux_rt_sigreturn() 285 linux_to_bsd_sigset(&sf->sf_uc.uc_sigmask, &bmask); in linux_rt_sigreturn() [all …]
|
H A D | linux_sigframe.h | 71 struct l_ucontext sf_uc; member
|
/freebsd/sys/i386/linux/ |
H A D | linux_sysvec.c | 187 frame.sf_ucontext = PTROUT(&fp->sf_uc); in linux_rt_sendsig() 193 frame.sf_uc.uc_stack.ss_sp = PTROUT(td->td_sigstk.ss_sp); in linux_rt_sendsig() 194 frame.sf_uc.uc_stack.ss_size = td->td_sigstk.ss_size; in linux_rt_sendsig() 195 frame.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) in linux_rt_sendsig() 199 bsd_to_linux_sigset(mask, &frame.sf_uc.uc_sigmask); in linux_rt_sendsig() 201 frame.sf_uc.uc_mcontext.sc_mask = frame.sf_uc.uc_sigmask.__mask; in linux_rt_sendsig() 202 frame.sf_uc.uc_mcontext.sc_gs = rgs(); in linux_rt_sendsig() 203 frame.sf_uc.uc_mcontext.sc_fs = regs->tf_fs; in linux_rt_sendsig() 204 frame.sf_uc.uc_mcontext.sc_es = regs->tf_es; in linux_rt_sendsig() 205 frame.sf_uc.uc_mcontext.sc_ds = regs->tf_ds; in linux_rt_sendsig() [all …]
|
/freebsd/sys/i386/i386/ |
H A D | exec_machdep.c | 278 sf.sf_uc.uc_sigmask = *mask; in freebsd4_sendsig() 279 sf.sf_uc.uc_stack = td->td_sigstk; in freebsd4_sendsig() 280 sf.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) in freebsd4_sendsig() 282 sf.sf_uc.uc_mcontext.mc_onstack = (oonstack) ? 1 : 0; in freebsd4_sendsig() 283 sf.sf_uc.uc_mcontext.mc_gs = rgs(); in freebsd4_sendsig() 284 bcopy(regs, &sf.sf_uc.uc_mcontext.mc_fs, sizeof(*regs)); in freebsd4_sendsig() 285 bzero(sf.sf_uc.uc_mcontext.mc_fpregs, in freebsd4_sendsig() 286 sizeof(sf.sf_uc.uc_mcontext.mc_fpregs)); in freebsd4_sendsig() 287 bzero(sf.sf_uc.uc_mcontext.__spare__, in freebsd4_sendsig() 288 sizeof(sf.sf_uc.uc_mcontext.__spare__)); in freebsd4_sendsig() [all …]
|
/freebsd/sys/amd64/linux32/ |
H A D | linux32_sysvec.c | 181 frame.sf_ucontext = PTROUT(&fp->sf_uc); in linux_rt_sendsig() 189 frame.sf_uc.uc_stack.ss_sp = PTROUT(td->td_sigstk.ss_sp); in linux_rt_sendsig() 190 frame.sf_uc.uc_stack.ss_size = td->td_sigstk.ss_size; in linux_rt_sendsig() 191 frame.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) in linux_rt_sendsig() 195 bsd_to_linux_sigset(mask, &frame.sf_uc.uc_sigmask); in linux_rt_sendsig() 197 frame.sf_uc.uc_mcontext.sc_mask = frame.sf_uc.uc_sigmask.__mask; in linux_rt_sendsig() 198 frame.sf_uc.uc_mcontext.sc_edi = regs->tf_rdi; in linux_rt_sendsig() 199 frame.sf_uc.uc_mcontext.sc_esi = regs->tf_rsi; in linux_rt_sendsig() 200 frame.sf_uc.uc_mcontext.sc_ebp = regs->tf_rbp; in linux_rt_sendsig() 201 frame.sf_uc.uc_mcontext.sc_ebx = regs->tf_rbx; in linux_rt_sendsig() [all …]
|
H A D | linux32_genassym.c | 12 ASSYM(LINUX_RT_SIGF_UC, offsetof(struct l_rt_sigframe, sf_uc));
|
/freebsd/sys/arm/arm/ |
H A D | exec_machdep.c | 313 get_mcontext(td, &frame.sf_uc.uc_mcontext, 0); in sendsig() 317 frame.sf_uc.uc_mcontext.mc_vfp_size = sizeof(fp->sf_vfp); in sendsig() 318 frame.sf_uc.uc_mcontext.mc_vfp_ptr = &fp->sf_vfp; in sendsig() 320 frame.sf_uc.uc_mcontext.mc_vfp_size = 0; in sendsig() 321 frame.sf_uc.uc_mcontext.mc_vfp_ptr = NULL; in sendsig() 325 frame.sf_uc.uc_sigmask = *mask; in sendsig() 326 frame.sf_uc.uc_stack = td->td_sigstk; in sendsig() 327 frame.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) != 0 ? in sendsig() 349 tf->tf_r2 = (register_t)&fp->sf_uc; in sendsig() 352 tf->tf_r5 = (register_t)&fp->sf_uc; in sendsig()
|
/freebsd/sys/arm64/arm64/ |
H A D | freebsd32_machdep.c | 390 get_mcontext32(td, &frame.sf_uc.uc_mcontext, 0); in freebsd32_sendsig() 393 frame.sf_uc.uc_mcontext.mc_vfp_size = sizeof(fp->sf_vfp); in freebsd32_sendsig() 394 frame.sf_uc.uc_mcontext.mc_vfp_ptr = (uint32_t)(uintptr_t)&fp->sf_vfp; in freebsd32_sendsig() 396 frame.sf_uc.uc_mcontext.mc_vfp_size = 0; in freebsd32_sendsig() 397 frame.sf_uc.uc_mcontext.mc_vfp_ptr = (uint32_t)NULL; in freebsd32_sendsig() 400 frame.sf_uc.uc_sigmask = *mask; in freebsd32_sendsig() 401 frame.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK ) in freebsd32_sendsig() 403 frame.sf_uc.uc_stack.ss_sp = (uintptr_t)td->td_sigstk.ss_sp; in freebsd32_sendsig() 404 frame.sf_uc.uc_stack.ss_size = td->td_sigstk.ss_size; in freebsd32_sendsig() 426 tf->tf_x[2] = (register_t)&fp->sf_uc; in freebsd32_sendsig() [all …]
|
H A D | exec_machdep.c | 769 get_mcontext(td, &frame.sf_uc.uc_mcontext, 0); in sendsig() 771 frame.sf_uc.uc_sigmask = *mask; in sendsig() 772 frame.sf_uc.uc_stack = td->td_sigstk; in sendsig() 773 frame.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) != 0 ? in sendsig() 791 frame.sf_uc.uc_mcontext.mc_ptr = addr; in sendsig() 808 tf->tf_x[2] = (register_t)&fp->sf_uc; in sendsig()
|
/freebsd/lib/libc/arm/gen/ |
H A D | signalcontext.c | 59 bcopy(ucp, &sfp->sf_uc, sizeof(*ucp)); in __signalcontext() 71 gr[_REG_R2] = (__greg_t)&sfp->sf_uc; in __signalcontext() 73 ucp->uc_link = &sfp->sf_uc; in __signalcontext()
|
/freebsd/lib/libc/i386/gen/ |
H A D | signalcontext.c | 62 sfp->sf_ucontext = (register_t)(intptr_t)&sfp->sf_uc; in __signalcontext() 64 bcopy(ucp, &sfp->sf_uc, sizeof(ucontext_t)); in __signalcontext() 75 ucp->uc_link = &sfp->sf_uc; in __signalcontext()
|
/freebsd/sys/amd64/amd64/ |
H A D | exec_machdep.c | 134 sf.sf_uc.uc_sigmask = *mask; in sendsig() 135 sf.sf_uc.uc_stack = td->td_sigstk; in sendsig() 136 sf.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) in sendsig() 138 sf.sf_uc.uc_mcontext.mc_onstack = (oonstack) ? 1 : 0; in sendsig() 139 bcopy(regs, &sf.sf_uc.uc_mcontext.mc_rdi, sizeof(*regs)); in sendsig() 140 sf.sf_uc.uc_mcontext.mc_len = sizeof(sf.sf_uc.uc_mcontext); /* magic */ in sendsig() 141 get_fpcontext(td, &sf.sf_uc.uc_mcontext, &xfpusave, &xfpusave_len); in sendsig() 143 sf.sf_uc.uc_mcontext.mc_fsbase = pcb->pcb_fsbase; in sendsig() 144 sf.sf_uc.uc_mcontext.mc_gsbase = pcb->pcb_gsbase; in sendsig() 145 bzero(sf.sf_uc.uc_mcontext.mc_spare, in sendsig() [all …]
|
/freebsd/sys/powerpc/powerpc/ |
H A D | exec_machdep.c | 119 ucontext32_t sf_uc; member 200 grab_mcontext32(td, &sf32.sf_uc.uc_mcontext, 0); in sendsig() 202 sf32.sf_uc.uc_sigmask = *mask; in sendsig() 203 sf32.sf_uc.uc_stack.ss_sp = (uintptr_t)td->td_sigstk.ss_sp; in sendsig() 204 sf32.sf_uc.uc_stack.ss_size = (uint32_t)td->td_sigstk.ss_size; in sendsig() 205 sf32.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) in sendsig() 208 sf32.sf_uc.uc_mcontext.mc_onstack = (oonstack) ? 1 : 0; in sendsig() 232 grab_mcontext(td, &sf.sf_uc.uc_mcontext, 0); in sendsig() 234 sf.sf_uc.uc_sigmask = *mask; in sendsig() 235 sf.sf_uc.uc_stack = td->td_sigstk; in sendsig() [all …]
|
/freebsd/sys/x86/include/ |
H A D | sigframe.h | 56 ucontext_t sf_uc; /* = *sf_ucontext */ member 67 ucontext_t sf_uc; /* = *sf_ucontext */ member
|
/freebsd/sys/arm64/include/ |
H A D | frame.h | 61 ucontext_t sf_uc; /* actual saved ucontext */ member 74 ucontext32_t sf_uc; member
|
/freebsd/sys/riscv/riscv/ |
H A D | exec_machdep.c | 377 get_mcontext(td, &frame.sf_uc.uc_mcontext, 0); in sendsig() 379 frame.sf_uc.uc_sigmask = *mask; in sendsig() 380 frame.sf_uc.uc_stack = td->td_sigstk; in sendsig() 381 frame.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) != 0 ? in sendsig() 396 tf->tf_a[2] = (register_t)&fp->sf_uc; in sendsig()
|
/freebsd/sys/compat/ia32/ |
H A D | ia32_genassym.c | 11 ASSYM(IA32_SIGF_UC, offsetof(struct ia32_sigframe, sf_uc)); 34 ASSYM(IA32_SIGF_UC4, offsetof(struct ia32_freebsd4_sigframe, sf_uc));
|
H A D | ia32_signal.h | 156 struct ia32_freebsd4_ucontext sf_uc; /* = *sf_ucontext */ member 167 struct ia32_ucontext sf_uc; /* = *sf_ucontext */ member
|
/freebsd/sys/x86/linux/ |
H A D | linux_x86_sigframe.h | 139 struct l_ucontext sf_uc; member 212 struct l_ucontext sf_uc; member
|
/freebsd/sys/powerpc/include/ |
H A D | sigframe.h | 35 ucontext_t sf_uc; member
|
/freebsd/sys/i386/include/ |
H A D | sigframe.h | 86 struct freebsd4_ucontext sf_uc; /* = *sf_ucontext */ member
|
/freebsd/sys/riscv/include/ |
H A D | frame.h | 69 ucontext_t sf_uc; /* actual saved ucontext */ member
|
/freebsd/sys/arm/include/ |
H A D | frame.h | 95 ucontext_t sf_uc; /* actual saved ucontext */ member
|