Lines Matching refs:frame

276 	struct l_rt_sigframe *fp, frame;  in linux_rt_sendsig()  local
306 bzero(&frame, sizeof(frame)); in linux_rt_sendsig()
308 frame.sf_handler = PTROUT(catcher); in linux_rt_sendsig()
309 frame.sf_sig = sig; in linux_rt_sendsig()
310 frame.sf_siginfo = PTROUT(&fp->sf_si); in linux_rt_sendsig()
311 frame.sf_ucontext = PTROUT(&fp->sf_sc); in linux_rt_sendsig()
314 ksiginfo_to_lsiginfo(ksi, &frame.sf_si, sig); in linux_rt_sendsig()
319 frame.sf_sc.uc_flags = 0; /* XXX ??? */ in linux_rt_sendsig()
320 frame.sf_sc.uc_link = 0; /* XXX ??? */ in linux_rt_sendsig()
322 frame.sf_sc.uc_stack.ss_sp = PTROUT(td->td_sigstk.ss_sp); in linux_rt_sendsig()
323 frame.sf_sc.uc_stack.ss_size = td->td_sigstk.ss_size; in linux_rt_sendsig()
324 frame.sf_sc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) in linux_rt_sendsig()
328 bsd_to_linux_sigset(mask, &frame.sf_sc.uc_sigmask); in linux_rt_sendsig()
330 frame.sf_sc.uc_mcontext.sc_mask = frame.sf_sc.uc_sigmask.__mask; in linux_rt_sendsig()
331 frame.sf_sc.uc_mcontext.sc_edi = regs->tf_rdi; in linux_rt_sendsig()
332 frame.sf_sc.uc_mcontext.sc_esi = regs->tf_rsi; in linux_rt_sendsig()
333 frame.sf_sc.uc_mcontext.sc_ebp = regs->tf_rbp; in linux_rt_sendsig()
334 frame.sf_sc.uc_mcontext.sc_ebx = regs->tf_rbx; in linux_rt_sendsig()
335 frame.sf_sc.uc_mcontext.sc_esp = regs->tf_rsp; in linux_rt_sendsig()
336 frame.sf_sc.uc_mcontext.sc_edx = regs->tf_rdx; in linux_rt_sendsig()
337 frame.sf_sc.uc_mcontext.sc_ecx = regs->tf_rcx; in linux_rt_sendsig()
338 frame.sf_sc.uc_mcontext.sc_eax = regs->tf_rax; in linux_rt_sendsig()
339 frame.sf_sc.uc_mcontext.sc_eip = regs->tf_rip; in linux_rt_sendsig()
340 frame.sf_sc.uc_mcontext.sc_cs = regs->tf_cs; in linux_rt_sendsig()
341 frame.sf_sc.uc_mcontext.sc_gs = regs->tf_gs; in linux_rt_sendsig()
342 frame.sf_sc.uc_mcontext.sc_fs = regs->tf_fs; in linux_rt_sendsig()
343 frame.sf_sc.uc_mcontext.sc_es = regs->tf_es; in linux_rt_sendsig()
344 frame.sf_sc.uc_mcontext.sc_ds = regs->tf_ds; in linux_rt_sendsig()
345 frame.sf_sc.uc_mcontext.sc_eflags = regs->tf_rflags; in linux_rt_sendsig()
346 frame.sf_sc.uc_mcontext.sc_esp_at_signal = regs->tf_rsp; in linux_rt_sendsig()
347 frame.sf_sc.uc_mcontext.sc_ss = regs->tf_ss; in linux_rt_sendsig()
348 frame.sf_sc.uc_mcontext.sc_err = regs->tf_err; in linux_rt_sendsig()
349 frame.sf_sc.uc_mcontext.sc_cr2 = (u_int32_t)(uintptr_t)ksi->ksi_addr; in linux_rt_sendsig()
350 frame.sf_sc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); in linux_rt_sendsig()
355 frame.sf_sc.uc_stack.ss_flags, td->td_sigstk.ss_sp, in linux_rt_sendsig()
356 td->td_sigstk.ss_size, frame.sf_sc.uc_mcontext.sc_mask); in linux_rt_sendsig()
359 if (copyout(&frame, fp, sizeof(frame)) != 0) { in linux_rt_sendsig()
407 struct l_sigframe *fp, frame; in linux_sendsig() local
445 bzero(&frame, sizeof(frame)); in linux_sendsig()
447 frame.sf_handler = PTROUT(catcher); in linux_sendsig()
448 frame.sf_sig = sig; in linux_sendsig()
453 frame.sf_sc.sc_mask = lmask.__mask; in linux_sendsig()
454 frame.sf_sc.sc_gs = regs->tf_gs; in linux_sendsig()
455 frame.sf_sc.sc_fs = regs->tf_fs; in linux_sendsig()
456 frame.sf_sc.sc_es = regs->tf_es; in linux_sendsig()
457 frame.sf_sc.sc_ds = regs->tf_ds; in linux_sendsig()
458 frame.sf_sc.sc_edi = regs->tf_rdi; in linux_sendsig()
459 frame.sf_sc.sc_esi = regs->tf_rsi; in linux_sendsig()
460 frame.sf_sc.sc_ebp = regs->tf_rbp; in linux_sendsig()
461 frame.sf_sc.sc_ebx = regs->tf_rbx; in linux_sendsig()
462 frame.sf_sc.sc_esp = regs->tf_rsp; in linux_sendsig()
463 frame.sf_sc.sc_edx = regs->tf_rdx; in linux_sendsig()
464 frame.sf_sc.sc_ecx = regs->tf_rcx; in linux_sendsig()
465 frame.sf_sc.sc_eax = regs->tf_rax; in linux_sendsig()
466 frame.sf_sc.sc_eip = regs->tf_rip; in linux_sendsig()
467 frame.sf_sc.sc_cs = regs->tf_cs; in linux_sendsig()
468 frame.sf_sc.sc_eflags = regs->tf_rflags; in linux_sendsig()
469 frame.sf_sc.sc_esp_at_signal = regs->tf_rsp; in linux_sendsig()
470 frame.sf_sc.sc_ss = regs->tf_ss; in linux_sendsig()
471 frame.sf_sc.sc_err = regs->tf_err; in linux_sendsig()
472 frame.sf_sc.sc_cr2 = (u_int32_t)(uintptr_t)ksi->ksi_addr; in linux_sendsig()
473 frame.sf_sc.sc_trapno = bsd_to_linux_trapcode(code); in linux_sendsig()
475 frame.sf_extramask[0] = lmask.__mask; in linux_sendsig()
477 if (copyout(&frame, fp, sizeof(frame)) != 0) { in linux_sendsig()
515 struct l_sigframe frame; in linux_sigreturn() local
533 if (copyin(args->sfp, &frame, sizeof(frame)) != 0) in linux_sigreturn()
538 eflags = frame.sf_sc.sc_eflags; in linux_sigreturn()
548 if (!CS_SECURE(frame.sf_sc.sc_cs)) { in linux_sigreturn()
558 lmask.__mask = frame.sf_sc.sc_mask; in linux_sigreturn()
559 lmask.__mask = frame.sf_extramask[0]; in linux_sigreturn()
564 regs->tf_rdi = frame.sf_sc.sc_edi; in linux_sigreturn()
565 regs->tf_rsi = frame.sf_sc.sc_esi; in linux_sigreturn()
566 regs->tf_rbp = frame.sf_sc.sc_ebp; in linux_sigreturn()
567 regs->tf_rbx = frame.sf_sc.sc_ebx; in linux_sigreturn()
568 regs->tf_rdx = frame.sf_sc.sc_edx; in linux_sigreturn()
569 regs->tf_rcx = frame.sf_sc.sc_ecx; in linux_sigreturn()
570 regs->tf_rax = frame.sf_sc.sc_eax; in linux_sigreturn()
571 regs->tf_rip = frame.sf_sc.sc_eip; in linux_sigreturn()
572 regs->tf_cs = frame.sf_sc.sc_cs; in linux_sigreturn()
573 regs->tf_ds = frame.sf_sc.sc_ds; in linux_sigreturn()
574 regs->tf_es = frame.sf_sc.sc_es; in linux_sigreturn()
575 regs->tf_fs = frame.sf_sc.sc_fs; in linux_sigreturn()
576 regs->tf_gs = frame.sf_sc.sc_gs; in linux_sigreturn()
578 regs->tf_rsp = frame.sf_sc.sc_esp_at_signal; in linux_sigreturn()
579 regs->tf_ss = frame.sf_sc.sc_ss; in linux_sigreturn()
691 struct trapframe *frame; in linux32_fetch_syscall_args() local
695 frame = td->td_frame; in linux32_fetch_syscall_args()
698 sa->args[0] = frame->tf_rbx; in linux32_fetch_syscall_args()
699 sa->args[1] = frame->tf_rcx; in linux32_fetch_syscall_args()
700 sa->args[2] = frame->tf_rdx; in linux32_fetch_syscall_args()
701 sa->args[3] = frame->tf_rsi; in linux32_fetch_syscall_args()
702 sa->args[4] = frame->tf_rdi; in linux32_fetch_syscall_args()
703 sa->args[5] = frame->tf_rbp; /* Unconfirmed */ in linux32_fetch_syscall_args()
704 sa->code = frame->tf_rax; in linux32_fetch_syscall_args()
714 td->td_retval[1] = frame->tf_rdx; in linux32_fetch_syscall_args()