Lines Matching refs:frame

267 	struct l_rt_sigframe *fp, frame;  in linux_rt_sendsig()  local
292 bzero(&frame, sizeof(frame)); in linux_rt_sendsig()
294 frame.sf_handler = PTROUT(catcher); in linux_rt_sendsig()
295 frame.sf_sig = sig; in linux_rt_sendsig()
296 frame.sf_siginfo = PTROUT(&fp->sf_si); in linux_rt_sendsig()
297 frame.sf_ucontext = PTROUT(&fp->sf_sc); in linux_rt_sendsig()
300 ksiginfo_to_lsiginfo(ksi, &frame.sf_si, sig); in linux_rt_sendsig()
305 frame.sf_sc.uc_flags = 0; /* XXX ??? */ in linux_rt_sendsig()
306 frame.sf_sc.uc_link = 0; /* XXX ??? */ in linux_rt_sendsig()
308 frame.sf_sc.uc_stack.ss_sp = PTROUT(td->td_sigstk.ss_sp); in linux_rt_sendsig()
309 frame.sf_sc.uc_stack.ss_size = td->td_sigstk.ss_size; in linux_rt_sendsig()
310 frame.sf_sc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) in linux_rt_sendsig()
314 bsd_to_linux_sigset(mask, &frame.sf_sc.uc_sigmask); in linux_rt_sendsig()
316 frame.sf_sc.uc_mcontext.sc_mask = frame.sf_sc.uc_sigmask.__mask; in linux_rt_sendsig()
317 frame.sf_sc.uc_mcontext.sc_edi = regs->tf_rdi; in linux_rt_sendsig()
318 frame.sf_sc.uc_mcontext.sc_esi = regs->tf_rsi; in linux_rt_sendsig()
319 frame.sf_sc.uc_mcontext.sc_ebp = regs->tf_rbp; in linux_rt_sendsig()
320 frame.sf_sc.uc_mcontext.sc_ebx = regs->tf_rbx; in linux_rt_sendsig()
321 frame.sf_sc.uc_mcontext.sc_esp = regs->tf_rsp; in linux_rt_sendsig()
322 frame.sf_sc.uc_mcontext.sc_edx = regs->tf_rdx; in linux_rt_sendsig()
323 frame.sf_sc.uc_mcontext.sc_ecx = regs->tf_rcx; in linux_rt_sendsig()
324 frame.sf_sc.uc_mcontext.sc_eax = regs->tf_rax; in linux_rt_sendsig()
325 frame.sf_sc.uc_mcontext.sc_eip = regs->tf_rip; in linux_rt_sendsig()
326 frame.sf_sc.uc_mcontext.sc_cs = regs->tf_cs; in linux_rt_sendsig()
327 frame.sf_sc.uc_mcontext.sc_gs = regs->tf_gs; in linux_rt_sendsig()
328 frame.sf_sc.uc_mcontext.sc_fs = regs->tf_fs; in linux_rt_sendsig()
329 frame.sf_sc.uc_mcontext.sc_es = regs->tf_es; in linux_rt_sendsig()
330 frame.sf_sc.uc_mcontext.sc_ds = regs->tf_ds; in linux_rt_sendsig()
331 frame.sf_sc.uc_mcontext.sc_eflags = regs->tf_rflags; in linux_rt_sendsig()
332 frame.sf_sc.uc_mcontext.sc_esp_at_signal = regs->tf_rsp; in linux_rt_sendsig()
333 frame.sf_sc.uc_mcontext.sc_ss = regs->tf_ss; in linux_rt_sendsig()
334 frame.sf_sc.uc_mcontext.sc_err = regs->tf_err; in linux_rt_sendsig()
335 frame.sf_sc.uc_mcontext.sc_cr2 = (u_int32_t)(uintptr_t)ksi->ksi_addr; in linux_rt_sendsig()
336 frame.sf_sc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); in linux_rt_sendsig()
338 if (copyout(&frame, fp, sizeof(frame)) != 0) { in linux_rt_sendsig()
380 struct l_sigframe *fp, frame; in linux_sendsig() local
412 bzero(&frame, sizeof(frame)); in linux_sendsig()
414 frame.sf_handler = PTROUT(catcher); in linux_sendsig()
415 frame.sf_sig = sig; in linux_sendsig()
420 frame.sf_sc.sc_mask = lmask.__mask; in linux_sendsig()
421 frame.sf_sc.sc_gs = regs->tf_gs; in linux_sendsig()
422 frame.sf_sc.sc_fs = regs->tf_fs; in linux_sendsig()
423 frame.sf_sc.sc_es = regs->tf_es; in linux_sendsig()
424 frame.sf_sc.sc_ds = regs->tf_ds; in linux_sendsig()
425 frame.sf_sc.sc_edi = regs->tf_rdi; in linux_sendsig()
426 frame.sf_sc.sc_esi = regs->tf_rsi; in linux_sendsig()
427 frame.sf_sc.sc_ebp = regs->tf_rbp; in linux_sendsig()
428 frame.sf_sc.sc_ebx = regs->tf_rbx; in linux_sendsig()
429 frame.sf_sc.sc_esp = regs->tf_rsp; in linux_sendsig()
430 frame.sf_sc.sc_edx = regs->tf_rdx; in linux_sendsig()
431 frame.sf_sc.sc_ecx = regs->tf_rcx; in linux_sendsig()
432 frame.sf_sc.sc_eax = regs->tf_rax; in linux_sendsig()
433 frame.sf_sc.sc_eip = regs->tf_rip; in linux_sendsig()
434 frame.sf_sc.sc_cs = regs->tf_cs; in linux_sendsig()
435 frame.sf_sc.sc_eflags = regs->tf_rflags; in linux_sendsig()
436 frame.sf_sc.sc_esp_at_signal = regs->tf_rsp; in linux_sendsig()
437 frame.sf_sc.sc_ss = regs->tf_ss; in linux_sendsig()
438 frame.sf_sc.sc_err = regs->tf_err; in linux_sendsig()
439 frame.sf_sc.sc_cr2 = (u_int32_t)(uintptr_t)ksi->ksi_addr; in linux_sendsig()
440 frame.sf_sc.sc_trapno = bsd_to_linux_trapcode(code); in linux_sendsig()
442 frame.sf_extramask[0] = lmask.__mask; in linux_sendsig()
444 if (copyout(&frame, fp, sizeof(frame)) != 0) { in linux_sendsig()
482 struct l_sigframe frame; in linux_sigreturn() local
496 if (copyin(args->sfp, &frame, sizeof(frame)) != 0) in linux_sigreturn()
501 eflags = frame.sf_sc.sc_eflags; in linux_sigreturn()
511 if (!CS_SECURE(frame.sf_sc.sc_cs)) { in linux_sigreturn()
521 lmask.__mask = frame.sf_sc.sc_mask; in linux_sigreturn()
522 lmask.__mask = frame.sf_extramask[0]; in linux_sigreturn()
527 regs->tf_rdi = frame.sf_sc.sc_edi; in linux_sigreturn()
528 regs->tf_rsi = frame.sf_sc.sc_esi; in linux_sigreturn()
529 regs->tf_rbp = frame.sf_sc.sc_ebp; in linux_sigreturn()
530 regs->tf_rbx = frame.sf_sc.sc_ebx; in linux_sigreturn()
531 regs->tf_rdx = frame.sf_sc.sc_edx; in linux_sigreturn()
532 regs->tf_rcx = frame.sf_sc.sc_ecx; in linux_sigreturn()
533 regs->tf_rax = frame.sf_sc.sc_eax; in linux_sigreturn()
534 regs->tf_rip = frame.sf_sc.sc_eip; in linux_sigreturn()
535 regs->tf_cs = frame.sf_sc.sc_cs; in linux_sigreturn()
536 regs->tf_ds = frame.sf_sc.sc_ds; in linux_sigreturn()
537 regs->tf_es = frame.sf_sc.sc_es; in linux_sigreturn()
538 regs->tf_fs = frame.sf_sc.sc_fs; in linux_sigreturn()
539 regs->tf_gs = frame.sf_sc.sc_gs; in linux_sigreturn()
541 regs->tf_rsp = frame.sf_sc.sc_esp_at_signal; in linux_sigreturn()
542 regs->tf_ss = frame.sf_sc.sc_ss; in linux_sigreturn()
645 struct trapframe *frame; in linux32_fetch_syscall_args() local
649 frame = td->td_frame; in linux32_fetch_syscall_args()
652 sa->args[0] = frame->tf_rbx; in linux32_fetch_syscall_args()
653 sa->args[1] = frame->tf_rcx; in linux32_fetch_syscall_args()
654 sa->args[2] = frame->tf_rdx; in linux32_fetch_syscall_args()
655 sa->args[3] = frame->tf_rsi; in linux32_fetch_syscall_args()
656 sa->args[4] = frame->tf_rdi; in linux32_fetch_syscall_args()
657 sa->args[5] = frame->tf_rbp; /* Unconfirmed */ in linux32_fetch_syscall_args()
658 sa->code = frame->tf_rax; in linux32_fetch_syscall_args()
667 td->td_retval[1] = frame->tf_rdx; in linux32_fetch_syscall_args()
675 struct trapframe *frame = td->td_frame; in linux32_set_syscall_retval() local
681 frame->tf_rax = bsd_to_linux_errno(error); in linux32_set_syscall_retval()