Lines Matching refs:frame
401 struct l_rt_sigframe *fp, frame; in linux_rt_sendsig() local
425 bzero(&frame, sizeof(frame)); in linux_rt_sendsig()
427 frame.sf_handler = catcher; in linux_rt_sendsig()
428 frame.sf_sig = sig; in linux_rt_sendsig()
429 frame.sf_siginfo = &fp->sf_si; in linux_rt_sendsig()
430 frame.sf_ucontext = &fp->sf_sc; in linux_rt_sendsig()
433 ksiginfo_to_lsiginfo(ksi, &frame.sf_si, sig); in linux_rt_sendsig()
436 frame.sf_sc.uc_flags = 0; /* XXX ??? */ in linux_rt_sendsig()
437 frame.sf_sc.uc_link = NULL; /* XXX ??? */ in linux_rt_sendsig()
439 frame.sf_sc.uc_stack.ss_sp = td->td_sigstk.ss_sp; in linux_rt_sendsig()
440 frame.sf_sc.uc_stack.ss_size = td->td_sigstk.ss_size; in linux_rt_sendsig()
441 frame.sf_sc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) in linux_rt_sendsig()
445 bsd_to_linux_sigset(mask, &frame.sf_sc.uc_sigmask); in linux_rt_sendsig()
447 frame.sf_sc.uc_mcontext.sc_mask = frame.sf_sc.uc_sigmask.__mask; in linux_rt_sendsig()
448 frame.sf_sc.uc_mcontext.sc_gs = rgs(); in linux_rt_sendsig()
449 frame.sf_sc.uc_mcontext.sc_fs = regs->tf_fs; in linux_rt_sendsig()
450 frame.sf_sc.uc_mcontext.sc_es = regs->tf_es; in linux_rt_sendsig()
451 frame.sf_sc.uc_mcontext.sc_ds = regs->tf_ds; in linux_rt_sendsig()
452 frame.sf_sc.uc_mcontext.sc_edi = regs->tf_edi; in linux_rt_sendsig()
453 frame.sf_sc.uc_mcontext.sc_esi = regs->tf_esi; in linux_rt_sendsig()
454 frame.sf_sc.uc_mcontext.sc_ebp = regs->tf_ebp; in linux_rt_sendsig()
455 frame.sf_sc.uc_mcontext.sc_ebx = regs->tf_ebx; in linux_rt_sendsig()
456 frame.sf_sc.uc_mcontext.sc_esp = regs->tf_esp; in linux_rt_sendsig()
457 frame.sf_sc.uc_mcontext.sc_edx = regs->tf_edx; in linux_rt_sendsig()
458 frame.sf_sc.uc_mcontext.sc_ecx = regs->tf_ecx; in linux_rt_sendsig()
459 frame.sf_sc.uc_mcontext.sc_eax = regs->tf_eax; in linux_rt_sendsig()
460 frame.sf_sc.uc_mcontext.sc_eip = regs->tf_eip; in linux_rt_sendsig()
461 frame.sf_sc.uc_mcontext.sc_cs = regs->tf_cs; in linux_rt_sendsig()
462 frame.sf_sc.uc_mcontext.sc_eflags = regs->tf_eflags; in linux_rt_sendsig()
463 frame.sf_sc.uc_mcontext.sc_esp_at_signal = regs->tf_esp; in linux_rt_sendsig()
464 frame.sf_sc.uc_mcontext.sc_ss = regs->tf_ss; in linux_rt_sendsig()
465 frame.sf_sc.uc_mcontext.sc_err = regs->tf_err; in linux_rt_sendsig()
466 frame.sf_sc.uc_mcontext.sc_cr2 = (register_t)ksi->ksi_addr; in linux_rt_sendsig()
467 frame.sf_sc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); in linux_rt_sendsig()
469 if (copyout(&frame, fp, sizeof(frame)) != 0) { in linux_rt_sendsig()
508 struct l_sigframe *fp, frame; in linux_sendsig() local
539 bzero(&frame, sizeof(frame)); in linux_sendsig()
541 frame.sf_handler = catcher; in linux_sendsig()
542 frame.sf_sig = sig; in linux_sendsig()
547 frame.sf_sc.sc_mask = lmask.__mask; in linux_sendsig()
548 frame.sf_sc.sc_gs = rgs(); in linux_sendsig()
549 frame.sf_sc.sc_fs = regs->tf_fs; in linux_sendsig()
550 frame.sf_sc.sc_es = regs->tf_es; in linux_sendsig()
551 frame.sf_sc.sc_ds = regs->tf_ds; in linux_sendsig()
552 frame.sf_sc.sc_edi = regs->tf_edi; in linux_sendsig()
553 frame.sf_sc.sc_esi = regs->tf_esi; in linux_sendsig()
554 frame.sf_sc.sc_ebp = regs->tf_ebp; in linux_sendsig()
555 frame.sf_sc.sc_ebx = regs->tf_ebx; in linux_sendsig()
556 frame.sf_sc.sc_esp = regs->tf_esp; in linux_sendsig()
557 frame.sf_sc.sc_edx = regs->tf_edx; in linux_sendsig()
558 frame.sf_sc.sc_ecx = regs->tf_ecx; in linux_sendsig()
559 frame.sf_sc.sc_eax = regs->tf_eax; in linux_sendsig()
560 frame.sf_sc.sc_eip = regs->tf_eip; in linux_sendsig()
561 frame.sf_sc.sc_cs = regs->tf_cs; in linux_sendsig()
562 frame.sf_sc.sc_eflags = regs->tf_eflags; in linux_sendsig()
563 frame.sf_sc.sc_esp_at_signal = regs->tf_esp; in linux_sendsig()
564 frame.sf_sc.sc_ss = regs->tf_ss; in linux_sendsig()
565 frame.sf_sc.sc_err = regs->tf_err; in linux_sendsig()
566 frame.sf_sc.sc_cr2 = (register_t)ksi->ksi_addr; in linux_sendsig()
567 frame.sf_sc.sc_trapno = bsd_to_linux_trapcode(ksi->ksi_trapno); in linux_sendsig()
569 frame.sf_extramask[0] = lmask.__mask; in linux_sendsig()
571 if (copyout(&frame, fp, sizeof(frame)) != 0) { in linux_sendsig()
606 struct l_sigframe frame; in linux_sigreturn() local
620 if (copyin(args->sfp, &frame, sizeof(frame)) != 0) in linux_sigreturn()
625 eflags = frame.sf_sc.sc_eflags; in linux_sigreturn()
635 if (!CS_SECURE(frame.sf_sc.sc_cs)) { in linux_sigreturn()
645 lmask.__mask = frame.sf_sc.sc_mask; in linux_sigreturn()
651 regs->tf_fs = frame.sf_sc.sc_fs; in linux_sigreturn()
652 regs->tf_es = frame.sf_sc.sc_es; in linux_sigreturn()
653 regs->tf_ds = frame.sf_sc.sc_ds; in linux_sigreturn()
654 regs->tf_edi = frame.sf_sc.sc_edi; in linux_sigreturn()
655 regs->tf_esi = frame.sf_sc.sc_esi; in linux_sigreturn()
656 regs->tf_ebp = frame.sf_sc.sc_ebp; in linux_sigreturn()
657 regs->tf_ebx = frame.sf_sc.sc_ebx; in linux_sigreturn()
658 regs->tf_edx = frame.sf_sc.sc_edx; in linux_sigreturn()
659 regs->tf_ecx = frame.sf_sc.sc_ecx; in linux_sigreturn()
660 regs->tf_eax = frame.sf_sc.sc_eax; in linux_sigreturn()
661 regs->tf_eip = frame.sf_sc.sc_eip; in linux_sigreturn()
662 regs->tf_cs = frame.sf_sc.sc_cs; in linux_sigreturn()
664 regs->tf_esp = frame.sf_sc.sc_esp_at_signal; in linux_sigreturn()
665 regs->tf_ss = frame.sf_sc.sc_ss; in linux_sigreturn()
762 struct trapframe *frame; in linux_fetch_syscall_args() local
766 frame = td->td_frame; in linux_fetch_syscall_args()
769 sa->code = frame->tf_eax; in linux_fetch_syscall_args()
770 sa->args[0] = frame->tf_ebx; in linux_fetch_syscall_args()
771 sa->args[1] = frame->tf_ecx; in linux_fetch_syscall_args()
772 sa->args[2] = frame->tf_edx; in linux_fetch_syscall_args()
773 sa->args[3] = frame->tf_esi; in linux_fetch_syscall_args()
774 sa->args[4] = frame->tf_edi; in linux_fetch_syscall_args()
775 sa->args[5] = frame->tf_ebp; /* Unconfirmed */ in linux_fetch_syscall_args()
784 td->td_retval[1] = frame->tf_edx; in linux_fetch_syscall_args()
792 struct trapframe *frame = td->td_frame; in linux_set_syscall_retval() local
798 frame->tf_eax = bsd_to_linux_errno(error); in linux_set_syscall_retval()