Lines Matching refs:frame

430 	struct l_rt_sigframe *fp, frame;  in linux_rt_sendsig()  local
463 bzero(&frame, sizeof(frame)); in linux_rt_sendsig()
465 frame.sf_handler = catcher; in linux_rt_sendsig()
466 frame.sf_sig = sig; in linux_rt_sendsig()
467 frame.sf_siginfo = &fp->sf_si; in linux_rt_sendsig()
468 frame.sf_ucontext = &fp->sf_sc; in linux_rt_sendsig()
471 ksiginfo_to_lsiginfo(ksi, &frame.sf_si, sig); in linux_rt_sendsig()
476 frame.sf_sc.uc_flags = 0; /* XXX ??? */ in linux_rt_sendsig()
477 frame.sf_sc.uc_link = NULL; /* XXX ??? */ in linux_rt_sendsig()
479 frame.sf_sc.uc_stack.ss_sp = td->td_sigstk.ss_sp; in linux_rt_sendsig()
480 frame.sf_sc.uc_stack.ss_size = td->td_sigstk.ss_size; in linux_rt_sendsig()
481 frame.sf_sc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) in linux_rt_sendsig()
485 bsd_to_linux_sigset(mask, &frame.sf_sc.uc_sigmask); in linux_rt_sendsig()
487 frame.sf_sc.uc_mcontext.sc_mask = frame.sf_sc.uc_sigmask.__mask; in linux_rt_sendsig()
488 frame.sf_sc.uc_mcontext.sc_gs = rgs(); in linux_rt_sendsig()
489 frame.sf_sc.uc_mcontext.sc_fs = regs->tf_fs; in linux_rt_sendsig()
490 frame.sf_sc.uc_mcontext.sc_es = regs->tf_es; in linux_rt_sendsig()
491 frame.sf_sc.uc_mcontext.sc_ds = regs->tf_ds; in linux_rt_sendsig()
492 frame.sf_sc.uc_mcontext.sc_edi = regs->tf_edi; in linux_rt_sendsig()
493 frame.sf_sc.uc_mcontext.sc_esi = regs->tf_esi; in linux_rt_sendsig()
494 frame.sf_sc.uc_mcontext.sc_ebp = regs->tf_ebp; in linux_rt_sendsig()
495 frame.sf_sc.uc_mcontext.sc_ebx = regs->tf_ebx; in linux_rt_sendsig()
496 frame.sf_sc.uc_mcontext.sc_esp = regs->tf_esp; in linux_rt_sendsig()
497 frame.sf_sc.uc_mcontext.sc_edx = regs->tf_edx; in linux_rt_sendsig()
498 frame.sf_sc.uc_mcontext.sc_ecx = regs->tf_ecx; in linux_rt_sendsig()
499 frame.sf_sc.uc_mcontext.sc_eax = regs->tf_eax; in linux_rt_sendsig()
500 frame.sf_sc.uc_mcontext.sc_eip = regs->tf_eip; in linux_rt_sendsig()
501 frame.sf_sc.uc_mcontext.sc_cs = regs->tf_cs; in linux_rt_sendsig()
502 frame.sf_sc.uc_mcontext.sc_eflags = regs->tf_eflags; in linux_rt_sendsig()
503 frame.sf_sc.uc_mcontext.sc_esp_at_signal = regs->tf_esp; in linux_rt_sendsig()
504 frame.sf_sc.uc_mcontext.sc_ss = regs->tf_ss; in linux_rt_sendsig()
505 frame.sf_sc.uc_mcontext.sc_err = regs->tf_err; in linux_rt_sendsig()
506 frame.sf_sc.uc_mcontext.sc_cr2 = (register_t)ksi->ksi_addr; in linux_rt_sendsig()
507 frame.sf_sc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); in linux_rt_sendsig()
512 frame.sf_sc.uc_stack.ss_flags, td->td_sigstk.ss_sp, in linux_rt_sendsig()
513 td->td_sigstk.ss_size, frame.sf_sc.uc_mcontext.sc_mask); in linux_rt_sendsig()
516 if (copyout(&frame, fp, sizeof(frame)) != 0) { in linux_rt_sendsig()
563 struct l_sigframe *fp, frame; in linux_sendsig() local
604 bzero(&frame, sizeof(frame)); in linux_sendsig()
606 frame.sf_handler = catcher; in linux_sendsig()
607 frame.sf_sig = sig; in linux_sendsig()
614 frame.sf_sc.sc_mask = lmask.__mask; in linux_sendsig()
615 frame.sf_sc.sc_gs = rgs(); in linux_sendsig()
616 frame.sf_sc.sc_fs = regs->tf_fs; in linux_sendsig()
617 frame.sf_sc.sc_es = regs->tf_es; in linux_sendsig()
618 frame.sf_sc.sc_ds = regs->tf_ds; in linux_sendsig()
619 frame.sf_sc.sc_edi = regs->tf_edi; in linux_sendsig()
620 frame.sf_sc.sc_esi = regs->tf_esi; in linux_sendsig()
621 frame.sf_sc.sc_ebp = regs->tf_ebp; in linux_sendsig()
622 frame.sf_sc.sc_ebx = regs->tf_ebx; in linux_sendsig()
623 frame.sf_sc.sc_esp = regs->tf_esp; in linux_sendsig()
624 frame.sf_sc.sc_edx = regs->tf_edx; in linux_sendsig()
625 frame.sf_sc.sc_ecx = regs->tf_ecx; in linux_sendsig()
626 frame.sf_sc.sc_eax = regs->tf_eax; in linux_sendsig()
627 frame.sf_sc.sc_eip = regs->tf_eip; in linux_sendsig()
628 frame.sf_sc.sc_cs = regs->tf_cs; in linux_sendsig()
629 frame.sf_sc.sc_eflags = regs->tf_eflags; in linux_sendsig()
630 frame.sf_sc.sc_esp_at_signal = regs->tf_esp; in linux_sendsig()
631 frame.sf_sc.sc_ss = regs->tf_ss; in linux_sendsig()
632 frame.sf_sc.sc_err = regs->tf_err; in linux_sendsig()
633 frame.sf_sc.sc_cr2 = (register_t)ksi->ksi_addr; in linux_sendsig()
634 frame.sf_sc.sc_trapno = bsd_to_linux_trapcode(ksi->ksi_trapno); in linux_sendsig()
636 frame.sf_extramask[0] = lmask.__mask; in linux_sendsig()
638 if (copyout(&frame, fp, sizeof(frame)) != 0) { in linux_sendsig()
675 struct l_sigframe frame; in linux_sigreturn() local
693 if (copyin(args->sfp, &frame, sizeof(frame)) != 0) in linux_sigreturn()
700 eflags = frame.sf_sc.sc_eflags; in linux_sigreturn()
710 if (!CS_SECURE(frame.sf_sc.sc_cs)) { in linux_sigreturn()
720 lmask.__mask = frame.sf_sc.sc_mask; in linux_sigreturn()
728 regs->tf_fs = frame.sf_sc.sc_fs; in linux_sigreturn()
729 regs->tf_es = frame.sf_sc.sc_es; in linux_sigreturn()
730 regs->tf_ds = frame.sf_sc.sc_ds; in linux_sigreturn()
731 regs->tf_edi = frame.sf_sc.sc_edi; in linux_sigreturn()
732 regs->tf_esi = frame.sf_sc.sc_esi; in linux_sigreturn()
733 regs->tf_ebp = frame.sf_sc.sc_ebp; in linux_sigreturn()
734 regs->tf_ebx = frame.sf_sc.sc_ebx; in linux_sigreturn()
735 regs->tf_edx = frame.sf_sc.sc_edx; in linux_sigreturn()
736 regs->tf_ecx = frame.sf_sc.sc_ecx; in linux_sigreturn()
737 regs->tf_eax = frame.sf_sc.sc_eax; in linux_sigreturn()
738 regs->tf_eip = frame.sf_sc.sc_eip; in linux_sigreturn()
739 regs->tf_cs = frame.sf_sc.sc_cs; in linux_sigreturn()
741 regs->tf_esp = frame.sf_sc.sc_esp_at_signal; in linux_sigreturn()
742 regs->tf_ss = frame.sf_sc.sc_ss; in linux_sigreturn()
854 struct trapframe *frame; in linux_fetch_syscall_args() local
857 frame = td->td_frame; in linux_fetch_syscall_args()
859 sa->code = frame->tf_eax; in linux_fetch_syscall_args()
860 sa->args[0] = frame->tf_ebx; in linux_fetch_syscall_args()
861 sa->args[1] = frame->tf_ecx; in linux_fetch_syscall_args()
862 sa->args[2] = frame->tf_edx; in linux_fetch_syscall_args()
863 sa->args[3] = frame->tf_esi; in linux_fetch_syscall_args()
864 sa->args[4] = frame->tf_edi; in linux_fetch_syscall_args()
865 sa->args[5] = frame->tf_ebp; /* Unconfirmed */ in linux_fetch_syscall_args()
875 td->td_retval[1] = frame->tf_edx; in linux_fetch_syscall_args()