Lines Matching full:frame
159 struct l_rt_sigframe *fp, frame; in linux_rt_sendsig() local
183 bzero(&frame, sizeof(frame)); in linux_rt_sendsig()
185 frame.sf_sig = sig; in linux_rt_sendsig()
186 frame.sf_siginfo = PTROUT(&fp->sf_si); in linux_rt_sendsig()
187 frame.sf_ucontext = PTROUT(&fp->sf_uc); in linux_rt_sendsig()
190 siginfo_to_lsiginfo(&ksi->ksi_info, &frame.sf_si, sig); 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()
206 frame.sf_uc.uc_mcontext.sc_edi = regs->tf_edi; in linux_rt_sendsig()
207 frame.sf_uc.uc_mcontext.sc_esi = regs->tf_esi; in linux_rt_sendsig()
208 frame.sf_uc.uc_mcontext.sc_ebp = regs->tf_ebp; in linux_rt_sendsig()
209 frame.sf_uc.uc_mcontext.sc_ebx = regs->tf_ebx; in linux_rt_sendsig()
210 frame.sf_uc.uc_mcontext.sc_esp = regs->tf_esp; in linux_rt_sendsig()
211 frame.sf_uc.uc_mcontext.sc_edx = regs->tf_edx; in linux_rt_sendsig()
212 frame.sf_uc.uc_mcontext.sc_ecx = regs->tf_ecx; in linux_rt_sendsig()
213 frame.sf_uc.uc_mcontext.sc_eax = regs->tf_eax; in linux_rt_sendsig()
214 frame.sf_uc.uc_mcontext.sc_eip = regs->tf_eip; in linux_rt_sendsig()
215 frame.sf_uc.uc_mcontext.sc_cs = regs->tf_cs; in linux_rt_sendsig()
216 frame.sf_uc.uc_mcontext.sc_eflags = regs->tf_eflags; in linux_rt_sendsig()
217 frame.sf_uc.uc_mcontext.sc_esp_at_signal = regs->tf_esp; in linux_rt_sendsig()
218 frame.sf_uc.uc_mcontext.sc_ss = regs->tf_ss; in linux_rt_sendsig()
219 frame.sf_uc.uc_mcontext.sc_err = regs->tf_err; in linux_rt_sendsig()
220 frame.sf_uc.uc_mcontext.sc_cr2 = (register_t)ksi->ksi_addr; in linux_rt_sendsig()
221 frame.sf_uc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); in linux_rt_sendsig()
223 if (copyout(&frame, fp, sizeof(frame)) != 0) { in linux_rt_sendsig()
253 * frame pointer, it returns to the user
263 struct l_sigframe *fp, frame; in linux_sendsig() local
293 bzero(&frame, sizeof(frame)); in linux_sendsig()
295 frame.sf_sig = sig; in linux_sendsig()
296 frame.sf_sigmask = *mask; in linux_sendsig()
300 frame.sf_sc.sc_mask = lmask.__mask; in linux_sendsig()
301 frame.sf_sc.sc_gs = rgs(); in linux_sendsig()
302 frame.sf_sc.sc_fs = regs->tf_fs; in linux_sendsig()
303 frame.sf_sc.sc_es = regs->tf_es; in linux_sendsig()
304 frame.sf_sc.sc_ds = regs->tf_ds; in linux_sendsig()
305 frame.sf_sc.sc_edi = regs->tf_edi; in linux_sendsig()
306 frame.sf_sc.sc_esi = regs->tf_esi; in linux_sendsig()
307 frame.sf_sc.sc_ebp = regs->tf_ebp; in linux_sendsig()
308 frame.sf_sc.sc_ebx = regs->tf_ebx; in linux_sendsig()
309 frame.sf_sc.sc_esp = regs->tf_esp; in linux_sendsig()
310 frame.sf_sc.sc_edx = regs->tf_edx; in linux_sendsig()
311 frame.sf_sc.sc_ecx = regs->tf_ecx; in linux_sendsig()
312 frame.sf_sc.sc_eax = regs->tf_eax; in linux_sendsig()
313 frame.sf_sc.sc_eip = regs->tf_eip; in linux_sendsig()
314 frame.sf_sc.sc_cs = regs->tf_cs; in linux_sendsig()
315 frame.sf_sc.sc_eflags = regs->tf_eflags; in linux_sendsig()
316 frame.sf_sc.sc_esp_at_signal = regs->tf_esp; in linux_sendsig()
317 frame.sf_sc.sc_ss = regs->tf_ss; in linux_sendsig()
318 frame.sf_sc.sc_err = regs->tf_err; in linux_sendsig()
319 frame.sf_sc.sc_cr2 = (register_t)ksi->ksi_addr; in linux_sendsig()
320 frame.sf_sc.sc_trapno = bsd_to_linux_trapcode(ksi->ksi_trapno); in linux_sendsig()
322 if (copyout(&frame, fp, sizeof(frame)) != 0) { in linux_sendsig()
358 struct l_sigframe frame; in linux_sigreturn() local
370 if (copyin(args->sfp, &frame, sizeof(frame)) != 0) in linux_sigreturn()
375 eflags = frame.sf_sc.sc_eflags; in linux_sigreturn()
385 if (!CS_SECURE(frame.sf_sc.sc_cs)) { in linux_sigreturn()
395 kern_sigprocmask(td, SIG_SETMASK, &frame.sf_sigmask, NULL, 0); in linux_sigreturn()
399 regs->tf_fs = frame.sf_sc.sc_fs; in linux_sigreturn()
400 regs->tf_es = frame.sf_sc.sc_es; in linux_sigreturn()
401 regs->tf_ds = frame.sf_sc.sc_ds; in linux_sigreturn()
402 regs->tf_edi = frame.sf_sc.sc_edi; in linux_sigreturn()
403 regs->tf_esi = frame.sf_sc.sc_esi; in linux_sigreturn()
404 regs->tf_ebp = frame.sf_sc.sc_ebp; in linux_sigreturn()
405 regs->tf_ebx = frame.sf_sc.sc_ebx; in linux_sigreturn()
406 regs->tf_edx = frame.sf_sc.sc_edx; in linux_sigreturn()
407 regs->tf_ecx = frame.sf_sc.sc_ecx; in linux_sigreturn()
408 regs->tf_eax = frame.sf_sc.sc_eax; in linux_sigreturn()
409 regs->tf_eip = frame.sf_sc.sc_eip; in linux_sigreturn()
410 regs->tf_cs = frame.sf_sc.sc_cs; in linux_sigreturn()
412 regs->tf_esp = frame.sf_sc.sc_esp_at_signal; in linux_sigreturn()
413 regs->tf_ss = frame.sf_sc.sc_ss; in linux_sigreturn()
510 struct trapframe *frame; in linux_fetch_syscall_args() local
514 frame = td->td_frame; in linux_fetch_syscall_args()
517 sa->code = frame->tf_eax; in linux_fetch_syscall_args()
519 sa->args[0] = frame->tf_ebx; in linux_fetch_syscall_args()
520 sa->args[1] = frame->tf_ecx; in linux_fetch_syscall_args()
521 sa->args[2] = frame->tf_edx; in linux_fetch_syscall_args()
522 sa->args[3] = frame->tf_esi; in linux_fetch_syscall_args()
523 sa->args[4] = frame->tf_edi; in linux_fetch_syscall_args()
524 sa->args[5] = frame->tf_ebp; in linux_fetch_syscall_args()
533 td->td_retval[1] = frame->tf_edx; in linux_fetch_syscall_args()
541 struct trapframe *frame = td->td_frame; in linux_set_syscall_retval() local
547 frame->tf_eax = bsd_to_linux_errno(error); in linux_set_syscall_retval()
554 struct trapframe *frame = td->td_frame; in linux_set_fork_retval() local
556 frame->tf_eax = 0; in linux_set_fork_retval()