Lines Matching full:frame
152 struct l_rt_sigframe *fp, frame; in linux_rt_sendsig() local
177 bzero(&frame, sizeof(frame)); in linux_rt_sendsig()
179 frame.sf_sig = sig; in linux_rt_sendsig()
180 frame.sf_siginfo = PTROUT(&fp->sf_si); in linux_rt_sendsig()
181 frame.sf_ucontext = PTROUT(&fp->sf_uc); in linux_rt_sendsig()
184 siginfo_to_lsiginfo(&ksi->ksi_info, &frame.sf_si, sig); 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()
202 frame.sf_uc.uc_mcontext.sc_esp = regs->tf_rsp; in linux_rt_sendsig()
203 frame.sf_uc.uc_mcontext.sc_edx = regs->tf_rdx; in linux_rt_sendsig()
204 frame.sf_uc.uc_mcontext.sc_ecx = regs->tf_rcx; in linux_rt_sendsig()
205 frame.sf_uc.uc_mcontext.sc_eax = regs->tf_rax; in linux_rt_sendsig()
206 frame.sf_uc.uc_mcontext.sc_eip = regs->tf_rip; in linux_rt_sendsig()
207 frame.sf_uc.uc_mcontext.sc_cs = regs->tf_cs; in linux_rt_sendsig()
208 frame.sf_uc.uc_mcontext.sc_gs = regs->tf_gs; in linux_rt_sendsig()
209 frame.sf_uc.uc_mcontext.sc_fs = regs->tf_fs; in linux_rt_sendsig()
210 frame.sf_uc.uc_mcontext.sc_es = regs->tf_es; in linux_rt_sendsig()
211 frame.sf_uc.uc_mcontext.sc_ds = regs->tf_ds; in linux_rt_sendsig()
212 frame.sf_uc.uc_mcontext.sc_eflags = regs->tf_rflags; in linux_rt_sendsig()
213 frame.sf_uc.uc_mcontext.sc_esp_at_signal = regs->tf_rsp; in linux_rt_sendsig()
214 frame.sf_uc.uc_mcontext.sc_ss = regs->tf_ss; in linux_rt_sendsig()
215 frame.sf_uc.uc_mcontext.sc_err = regs->tf_err; in linux_rt_sendsig()
216 frame.sf_uc.uc_mcontext.sc_cr2 = (u_int32_t)(uintptr_t)ksi->ksi_addr; in linux_rt_sendsig()
217 frame.sf_uc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); in linux_rt_sendsig()
219 if (copyout(&frame, fp, sizeof(frame)) != 0) { in linux_rt_sendsig()
252 * frame pointer, it returns to the user
262 struct l_sigframe *fp, frame; in linux_sendsig() local
294 bzero(&frame, sizeof(frame)); in linux_sendsig()
296 frame.sf_sig = sig; in linux_sendsig()
297 frame.sf_sigmask = *mask; in linux_sendsig()
301 frame.sf_sc.sc_mask = lmask.__mask; in linux_sendsig()
302 frame.sf_sc.sc_gs = regs->tf_gs; in linux_sendsig()
303 frame.sf_sc.sc_fs = regs->tf_fs; in linux_sendsig()
304 frame.sf_sc.sc_es = regs->tf_es; in linux_sendsig()
305 frame.sf_sc.sc_ds = regs->tf_ds; in linux_sendsig()
306 frame.sf_sc.sc_edi = regs->tf_rdi; in linux_sendsig()
307 frame.sf_sc.sc_esi = regs->tf_rsi; in linux_sendsig()
308 frame.sf_sc.sc_ebp = regs->tf_rbp; in linux_sendsig()
309 frame.sf_sc.sc_ebx = regs->tf_rbx; in linux_sendsig()
310 frame.sf_sc.sc_esp = regs->tf_rsp; in linux_sendsig()
311 frame.sf_sc.sc_edx = regs->tf_rdx; in linux_sendsig()
312 frame.sf_sc.sc_ecx = regs->tf_rcx; in linux_sendsig()
313 frame.sf_sc.sc_eax = regs->tf_rax; in linux_sendsig()
314 frame.sf_sc.sc_eip = regs->tf_rip; in linux_sendsig()
315 frame.sf_sc.sc_cs = regs->tf_cs; in linux_sendsig()
316 frame.sf_sc.sc_eflags = regs->tf_rflags; in linux_sendsig()
317 frame.sf_sc.sc_esp_at_signal = regs->tf_rsp; in linux_sendsig()
318 frame.sf_sc.sc_ss = regs->tf_ss; in linux_sendsig()
319 frame.sf_sc.sc_err = regs->tf_err; in linux_sendsig()
320 frame.sf_sc.sc_cr2 = (u_int32_t)(uintptr_t)ksi->ksi_addr; in linux_sendsig()
321 frame.sf_sc.sc_trapno = bsd_to_linux_trapcode(code); in linux_sendsig()
323 if (copyout(&frame, fp, sizeof(frame)) != 0) { in linux_sendsig()
362 struct l_sigframe frame; in linux_sigreturn() local
374 if (copyin(args->sfp, &frame, sizeof(frame)) != 0) in linux_sigreturn()
378 eflags = frame.sf_sc.sc_eflags; in linux_sigreturn()
387 if (!CS_SECURE(frame.sf_sc.sc_cs)) { in linux_sigreturn()
397 kern_sigprocmask(td, SIG_SETMASK, &frame.sf_sigmask, NULL, 0); in linux_sigreturn()
400 regs->tf_rdi = frame.sf_sc.sc_edi; in linux_sigreturn()
401 regs->tf_rsi = frame.sf_sc.sc_esi; in linux_sigreturn()
402 regs->tf_rbp = frame.sf_sc.sc_ebp; in linux_sigreturn()
403 regs->tf_rbx = frame.sf_sc.sc_ebx; in linux_sigreturn()
404 regs->tf_rdx = frame.sf_sc.sc_edx; in linux_sigreturn()
405 regs->tf_rcx = frame.sf_sc.sc_ecx; in linux_sigreturn()
406 regs->tf_rax = frame.sf_sc.sc_eax; in linux_sigreturn()
407 regs->tf_rip = frame.sf_sc.sc_eip; in linux_sigreturn()
408 regs->tf_cs = frame.sf_sc.sc_cs; in linux_sigreturn()
409 regs->tf_ds = frame.sf_sc.sc_ds; in linux_sigreturn()
410 regs->tf_es = frame.sf_sc.sc_es; in linux_sigreturn()
411 regs->tf_fs = frame.sf_sc.sc_fs; in linux_sigreturn()
412 regs->tf_gs = frame.sf_sc.sc_gs; in linux_sigreturn()
414 regs->tf_rsp = frame.sf_sc.sc_esp_at_signal; in linux_sigreturn()
415 regs->tf_ss = frame.sf_sc.sc_ss; in linux_sigreturn()
516 struct trapframe *frame; in linux32_fetch_syscall_args() local
520 frame = td->td_frame; in linux32_fetch_syscall_args()
523 sa->args[0] = frame->tf_rbx; in linux32_fetch_syscall_args()
524 sa->args[1] = frame->tf_rcx; in linux32_fetch_syscall_args()
525 sa->args[2] = frame->tf_rdx; in linux32_fetch_syscall_args()
526 sa->args[3] = frame->tf_rsi; in linux32_fetch_syscall_args()
527 sa->args[4] = frame->tf_rdi; in linux32_fetch_syscall_args()
528 sa->args[5] = frame->tf_rbp; in linux32_fetch_syscall_args()
529 sa->code = frame->tf_rax; in linux32_fetch_syscall_args()
539 td->td_retval[1] = frame->tf_rdx; in linux32_fetch_syscall_args()
547 struct trapframe *frame = td->td_frame; in linux32_set_syscall_retval() local
553 frame->tf_rax = bsd_to_linux_errno(error); in linux32_set_syscall_retval()
560 struct trapframe *frame = td->td_frame; in linux32_set_fork_retval() local
562 frame->tf_rax = 0; in linux32_set_fork_retval()