Lines Matching refs:frame

335     pub frame: TrapFrame,   // 暂存的系统调用/中断返回时,原本要弹出的内核栈帧  field
359 frame: &TrapFrame, in setup_sigcontext()
366 self.frame = *frame; in setup_sigcontext()
385 pub fn restore_sigcontext(&mut self, frame: &mut TrapFrame) -> bool { in restore_sigcontext()
388 (*frame) = self.frame; in restore_sigcontext()
409 unsafe extern "C" fn do_signal(frame: &mut TrapFrame) { in do_signal()
410 X86_64SignalArch::do_signal(frame); in do_signal()
417 unsafe fn do_signal(frame: &mut TrapFrame) { in do_signal()
429 if siginfo_read_guard.sig_pending().signal().bits() == 0 || !frame.is_from_user() { in do_signal()
492 handle_signal(sig_number, &mut sigaction, &info.unwrap(), &oldset, frame); in do_signal()
504 let frame = (trap_frame.rsp as usize - size_of::<u64>()) as *mut SigFrame; in sys_rt_sigreturn() localVariable
507 if UserBufferWriter::new(frame, size_of::<SigFrame>(), true).is_err() { in sys_rt_sigreturn()
513 let mut sigmask: SigSet = unsafe { (*frame).context.oldmask }; in sys_rt_sigreturn()
516 if !unsafe { &mut (*frame).context }.restore_sigcontext(trap_frame) { in sys_rt_sigreturn()
541 frame: &mut TrapFrame, in handle_signal()
546 return setup_frame(sig, sigaction, info, oldset, frame); in handle_signal()
621 let frame: *mut SigFrame = get_stack(trap_frame, size_of::<SigFrame>()); in setup_frame() localVariable
625 UserBufferWriter::new(frame, size_of::<SigFrame>(), true); in setup_frame()
638 info.copy_siginfo_to_user(unsafe { &mut ((*frame).info) as *mut SigInfo }) in setup_frame()
650 (*frame) in setup_frame()
664 (*frame).ret_code_ptr = ret_code_ptr; in setup_frame()
667 unsafe { (*frame).handler = temp_handler }; in setup_frame()
670 trap_frame.rsi = unsafe { &(*frame).info as *const SigInfo as u64 }; in setup_frame()
671 trap_frame.rsp = frame as u64; in setup_frame()
672 trap_frame.rip = unsafe { (*frame).handler as u64 }; in setup_frame()
684 fn get_stack(frame: &TrapFrame, size: usize) -> *mut SigFrame { in get_stack()
689 let mut rsp: usize = (frame.rsp as usize) - 128 - size; in get_stack()