Lines Matching refs:frame

386 	struct l_rt_sigframe *fp, frame;  in linux_rt_sendsig()  local
415 bzero(&frame, sizeof(frame)); in linux_rt_sendsig()
417 frame.sf_handler = catcher; in linux_rt_sendsig()
418 frame.sf_sig = sig; in linux_rt_sendsig()
419 frame.sf_siginfo = &fp->sf_si; in linux_rt_sendsig()
420 frame.sf_ucontext = &fp->sf_sc; in linux_rt_sendsig()
423 ksiginfo_to_lsiginfo(ksi, &frame.sf_si, sig); in linux_rt_sendsig()
426 frame.sf_sc.uc_flags = 0; /* XXX ??? */ in linux_rt_sendsig()
427 frame.sf_sc.uc_link = NULL; /* XXX ??? */ in linux_rt_sendsig()
429 frame.sf_sc.uc_stack.ss_sp = td->td_sigstk.ss_sp; in linux_rt_sendsig()
430 frame.sf_sc.uc_stack.ss_size = td->td_sigstk.ss_size; in linux_rt_sendsig()
431 frame.sf_sc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) in linux_rt_sendsig()
435 bsd_to_linux_sigset(mask, &frame.sf_sc.uc_sigmask); in linux_rt_sendsig()
437 frame.sf_sc.uc_mcontext.sc_mask = frame.sf_sc.uc_sigmask.__mask; in linux_rt_sendsig()
438 frame.sf_sc.uc_mcontext.sc_gs = rgs(); in linux_rt_sendsig()
439 frame.sf_sc.uc_mcontext.sc_fs = regs->tf_fs; in linux_rt_sendsig()
440 frame.sf_sc.uc_mcontext.sc_es = regs->tf_es; in linux_rt_sendsig()
441 frame.sf_sc.uc_mcontext.sc_ds = regs->tf_ds; in linux_rt_sendsig()
442 frame.sf_sc.uc_mcontext.sc_edi = regs->tf_edi; in linux_rt_sendsig()
443 frame.sf_sc.uc_mcontext.sc_esi = regs->tf_esi; in linux_rt_sendsig()
444 frame.sf_sc.uc_mcontext.sc_ebp = regs->tf_ebp; in linux_rt_sendsig()
445 frame.sf_sc.uc_mcontext.sc_ebx = regs->tf_ebx; in linux_rt_sendsig()
446 frame.sf_sc.uc_mcontext.sc_esp = regs->tf_esp; in linux_rt_sendsig()
447 frame.sf_sc.uc_mcontext.sc_edx = regs->tf_edx; in linux_rt_sendsig()
448 frame.sf_sc.uc_mcontext.sc_ecx = regs->tf_ecx; in linux_rt_sendsig()
449 frame.sf_sc.uc_mcontext.sc_eax = regs->tf_eax; in linux_rt_sendsig()
450 frame.sf_sc.uc_mcontext.sc_eip = regs->tf_eip; in linux_rt_sendsig()
451 frame.sf_sc.uc_mcontext.sc_cs = regs->tf_cs; in linux_rt_sendsig()
452 frame.sf_sc.uc_mcontext.sc_eflags = regs->tf_eflags; in linux_rt_sendsig()
453 frame.sf_sc.uc_mcontext.sc_esp_at_signal = regs->tf_esp; in linux_rt_sendsig()
454 frame.sf_sc.uc_mcontext.sc_ss = regs->tf_ss; in linux_rt_sendsig()
455 frame.sf_sc.uc_mcontext.sc_err = regs->tf_err; in linux_rt_sendsig()
456 frame.sf_sc.uc_mcontext.sc_cr2 = (register_t)ksi->ksi_addr; in linux_rt_sendsig()
457 frame.sf_sc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); in linux_rt_sendsig()
462 frame.sf_sc.uc_stack.ss_flags, td->td_sigstk.ss_sp, in linux_rt_sendsig()
463 td->td_sigstk.ss_size, frame.sf_sc.uc_mcontext.sc_mask); in linux_rt_sendsig()
466 if (copyout(&frame, fp, sizeof(frame)) != 0) { in linux_rt_sendsig()
511 struct l_sigframe *fp, frame; in linux_sendsig() local
548 bzero(&frame, sizeof(frame)); in linux_sendsig()
550 frame.sf_handler = catcher; in linux_sendsig()
551 frame.sf_sig = sig; in linux_sendsig()
556 frame.sf_sc.sc_mask = lmask.__mask; in linux_sendsig()
557 frame.sf_sc.sc_gs = rgs(); in linux_sendsig()
558 frame.sf_sc.sc_fs = regs->tf_fs; in linux_sendsig()
559 frame.sf_sc.sc_es = regs->tf_es; in linux_sendsig()
560 frame.sf_sc.sc_ds = regs->tf_ds; in linux_sendsig()
561 frame.sf_sc.sc_edi = regs->tf_edi; in linux_sendsig()
562 frame.sf_sc.sc_esi = regs->tf_esi; in linux_sendsig()
563 frame.sf_sc.sc_ebp = regs->tf_ebp; in linux_sendsig()
564 frame.sf_sc.sc_ebx = regs->tf_ebx; in linux_sendsig()
565 frame.sf_sc.sc_esp = regs->tf_esp; in linux_sendsig()
566 frame.sf_sc.sc_edx = regs->tf_edx; in linux_sendsig()
567 frame.sf_sc.sc_ecx = regs->tf_ecx; in linux_sendsig()
568 frame.sf_sc.sc_eax = regs->tf_eax; in linux_sendsig()
569 frame.sf_sc.sc_eip = regs->tf_eip; in linux_sendsig()
570 frame.sf_sc.sc_cs = regs->tf_cs; in linux_sendsig()
571 frame.sf_sc.sc_eflags = regs->tf_eflags; in linux_sendsig()
572 frame.sf_sc.sc_esp_at_signal = regs->tf_esp; in linux_sendsig()
573 frame.sf_sc.sc_ss = regs->tf_ss; in linux_sendsig()
574 frame.sf_sc.sc_err = regs->tf_err; in linux_sendsig()
575 frame.sf_sc.sc_cr2 = (register_t)ksi->ksi_addr; in linux_sendsig()
576 frame.sf_sc.sc_trapno = bsd_to_linux_trapcode(ksi->ksi_trapno); in linux_sendsig()
578 frame.sf_extramask[0] = lmask.__mask; in linux_sendsig()
580 if (copyout(&frame, fp, sizeof(frame)) != 0) { in linux_sendsig()
615 struct l_sigframe frame; in linux_sigreturn() local
633 if (copyin(args->sfp, &frame, sizeof(frame)) != 0) in linux_sigreturn()
638 eflags = frame.sf_sc.sc_eflags; in linux_sigreturn()
648 if (!CS_SECURE(frame.sf_sc.sc_cs)) { in linux_sigreturn()
658 lmask.__mask = frame.sf_sc.sc_mask; in linux_sigreturn()
664 regs->tf_fs = frame.sf_sc.sc_fs; in linux_sigreturn()
665 regs->tf_es = frame.sf_sc.sc_es; in linux_sigreturn()
666 regs->tf_ds = frame.sf_sc.sc_ds; in linux_sigreturn()
667 regs->tf_edi = frame.sf_sc.sc_edi; in linux_sigreturn()
668 regs->tf_esi = frame.sf_sc.sc_esi; in linux_sigreturn()
669 regs->tf_ebp = frame.sf_sc.sc_ebp; in linux_sigreturn()
670 regs->tf_ebx = frame.sf_sc.sc_ebx; in linux_sigreturn()
671 regs->tf_edx = frame.sf_sc.sc_edx; in linux_sigreturn()
672 regs->tf_ecx = frame.sf_sc.sc_ecx; in linux_sigreturn()
673 regs->tf_eax = frame.sf_sc.sc_eax; in linux_sigreturn()
674 regs->tf_eip = frame.sf_sc.sc_eip; in linux_sigreturn()
675 regs->tf_cs = frame.sf_sc.sc_cs; in linux_sigreturn()
677 regs->tf_esp = frame.sf_sc.sc_esp_at_signal; in linux_sigreturn()
678 regs->tf_ss = frame.sf_sc.sc_ss; in linux_sigreturn()
784 struct trapframe *frame; in linux_fetch_syscall_args() local
788 frame = td->td_frame; in linux_fetch_syscall_args()
791 sa->code = frame->tf_eax; in linux_fetch_syscall_args()
792 sa->args[0] = frame->tf_ebx; in linux_fetch_syscall_args()
793 sa->args[1] = frame->tf_ecx; in linux_fetch_syscall_args()
794 sa->args[2] = frame->tf_edx; in linux_fetch_syscall_args()
795 sa->args[3] = frame->tf_esi; in linux_fetch_syscall_args()
796 sa->args[4] = frame->tf_edi; in linux_fetch_syscall_args()
797 sa->args[5] = frame->tf_ebp; /* Unconfirmed */ in linux_fetch_syscall_args()
807 td->td_retval[1] = frame->tf_edx; in linux_fetch_syscall_args()