Lines Matching refs:frame

309 	struct l_rt_sigframe *fp, frame;
345 bzero(&frame, sizeof(frame));
347 frame.sf_handler = PTROUT(catcher);
348 frame.sf_sig = sig;
349 frame.sf_siginfo = PTROUT(&fp->sf_si);
350 frame.sf_ucontext = PTROUT(&fp->sf_sc);
353 ksiginfo_to_lsiginfo(ksi, &frame.sf_si, sig);
358 frame.sf_sc.uc_flags = 0; /* XXX ??? */
359 frame.sf_sc.uc_link = 0; /* XXX ??? */
361 frame.sf_sc.uc_stack.ss_sp = PTROUT(td->td_sigstk.ss_sp);
362 frame.sf_sc.uc_stack.ss_size = td->td_sigstk.ss_size;
363 frame.sf_sc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK)
367 bsd_to_linux_sigset(mask, &frame.sf_sc.uc_sigmask);
369 frame.sf_sc.uc_mcontext.sc_mask = frame.sf_sc.uc_sigmask.__bits[0];
370 frame.sf_sc.uc_mcontext.sc_edi = regs->tf_rdi;
371 frame.sf_sc.uc_mcontext.sc_esi = regs->tf_rsi;
372 frame.sf_sc.uc_mcontext.sc_ebp = regs->tf_rbp;
373 frame.sf_sc.uc_mcontext.sc_ebx = regs->tf_rbx;
374 frame.sf_sc.uc_mcontext.sc_edx = regs->tf_rdx;
375 frame.sf_sc.uc_mcontext.sc_ecx = regs->tf_rcx;
376 frame.sf_sc.uc_mcontext.sc_eax = regs->tf_rax;
377 frame.sf_sc.uc_mcontext.sc_eip = regs->tf_rip;
378 frame.sf_sc.uc_mcontext.sc_cs = regs->tf_cs;
379 frame.sf_sc.uc_mcontext.sc_gs = regs->tf_gs;
380 frame.sf_sc.uc_mcontext.sc_fs = regs->tf_fs;
381 frame.sf_sc.uc_mcontext.sc_es = regs->tf_es;
382 frame.sf_sc.uc_mcontext.sc_ds = regs->tf_ds;
383 frame.sf_sc.uc_mcontext.sc_eflags = regs->tf_rflags;
384 frame.sf_sc.uc_mcontext.sc_esp_at_signal = regs->tf_rsp;
385 frame.sf_sc.uc_mcontext.sc_ss = regs->tf_ss;
386 frame.sf_sc.uc_mcontext.sc_err = regs->tf_err;
387 frame.sf_sc.uc_mcontext.sc_cr2 = (u_int32_t)(uintptr_t)ksi->ksi_addr;
388 frame.sf_sc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code);
393 frame.sf_sc.uc_stack.ss_flags, td->td_sigstk.ss_sp,
394 td->td_sigstk.ss_size, frame.sf_sc.uc_mcontext.sc_mask);
397 if (copyout(&frame, fp, sizeof(frame)) != 0) {
437 * frame pointer, it returns to the user
447 struct l_sigframe *fp, frame;
491 bzero(&frame, sizeof(frame));
493 frame.sf_handler = PTROUT(catcher);
494 frame.sf_sig = sig;
501 frame.sf_sc.sc_mask = lmask.__bits[0];
502 frame.sf_sc.sc_gs = regs->tf_gs;
503 frame.sf_sc.sc_fs = regs->tf_fs;
504 frame.sf_sc.sc_es = regs->tf_es;
505 frame.sf_sc.sc_ds = regs->tf_ds;
506 frame.sf_sc.sc_edi = regs->tf_rdi;
507 frame.sf_sc.sc_esi = regs->tf_rsi;
508 frame.sf_sc.sc_ebp = regs->tf_rbp;
509 frame.sf_sc.sc_ebx = regs->tf_rbx;
510 frame.sf_sc.sc_edx = regs->tf_rdx;
511 frame.sf_sc.sc_ecx = regs->tf_rcx;
512 frame.sf_sc.sc_eax = regs->tf_rax;
513 frame.sf_sc.sc_eip = regs->tf_rip;
514 frame.sf_sc.sc_cs = regs->tf_cs;
515 frame.sf_sc.sc_eflags = regs->tf_rflags;
516 frame.sf_sc.sc_esp_at_signal = regs->tf_rsp;
517 frame.sf_sc.sc_ss = regs->tf_ss;
518 frame.sf_sc.sc_err = regs->tf_err;
519 frame.sf_sc.sc_cr2 = (u_int32_t)(uintptr_t)ksi->ksi_addr;
520 frame.sf_sc.sc_trapno = bsd_to_linux_trapcode(code);
523 frame.sf_extramask[i] = lmask.__bits[i+1];
525 if (copyout(&frame, fp, sizeof(frame)) != 0) {
565 struct l_sigframe frame;
583 if (copyin(args->sfp, &frame, sizeof(frame)) != 0)
590 eflags = frame.sf_sc.sc_eflags;
600 if (!CS_SECURE(frame.sf_sc.sc_cs)) {
610 lmask.__bits[0] = frame.sf_sc.sc_mask;
612 lmask.__bits[i+1] = frame.sf_extramask[i];
619 regs->tf_rdi = frame.sf_sc.sc_edi;
620 regs->tf_rsi = frame.sf_sc.sc_esi;
621 regs->tf_rbp = frame.sf_sc.sc_ebp;
622 regs->tf_rbx = frame.sf_sc.sc_ebx;
623 regs->tf_rdx = frame.sf_sc.sc_edx;
624 regs->tf_rcx = frame.sf_sc.sc_ecx;
625 regs->tf_rax = frame.sf_sc.sc_eax;
626 regs->tf_rip = frame.sf_sc.sc_eip;
627 regs->tf_cs = frame.sf_sc.sc_cs;
628 regs->tf_ds = frame.sf_sc.sc_ds;
629 regs->tf_es = frame.sf_sc.sc_es;
630 regs->tf_fs = frame.sf_sc.sc_fs;
631 regs->tf_gs = frame.sf_sc.sc_gs;
633 regs->tf_rsp = frame.sf_sc.sc_esp_at_signal;
634 regs->tf_ss = frame.sf_sc.sc_ss;
748 struct trapframe *frame;
751 frame = td->td_frame;
753 sa->args[0] = frame->tf_rbx;
754 sa->args[1] = frame->tf_rcx;
755 sa->args[2] = frame->tf_rdx;
756 sa->args[3] = frame->tf_rsi;
757 sa->args[4] = frame->tf_rdi;
758 sa->args[5] = frame->tf_rbp; /* Unconfirmed */
759 sa->code = frame->tf_rax;
768 td->td_retval[1] = frame->tf_rdx;