Lines Matching refs:sig

56 int host_to_target_signal(int sig)  in host_to_target_signal()  argument
58 return sig; in host_to_target_signal()
61 int target_to_host_signal(int sig) in target_to_host_signal() argument
63 return sig; in target_to_host_signal()
166 int sig = host_to_target_signal(info->si_signo); in host_to_target_siginfo_noswap() local
186 tinfo->si_signo = sig; in host_to_target_siginfo_noswap()
233 if (has_trapno(sig)) { in host_to_target_siginfo_noswap()
242 if (sig == TARGET_SIGPOLL) { in host_to_target_siginfo_noswap()
253 if (sig == TARGET_SIGTRAP) { in host_to_target_siginfo_noswap()
345 static int core_dump_signal(int sig) in core_dump_signal() argument
347 switch (sig) { in core_dump_signal()
425 void queue_signal(CPUArchState *env, int sig, int si_type, in queue_signal() argument
431 trace_user_queue_signal(env, sig); in queue_signal()
436 ts->sync_signal.pending = sig; in queue_signal()
442 static int fatal_signal(int sig) in fatal_signal() argument
445 switch (sig) { in fatal_signal()
468 void force_sig_fault(int sig, int code, abi_ulong addr) in force_sig_fault() argument
473 info.si_signo = sig; in force_sig_fault()
477 queue_signal(cpu_env(cpu), sig, QEMU_SI_FAULT, &info); in force_sig_fault()
656 int do_sigaction(int sig, const struct target_sigaction *act, in do_sigaction() argument
664 if (sig < 1 || sig > TARGET_NSIG) { in do_sigaction()
668 if ((sig == TARGET_SIGKILL || sig == TARGET_SIGSTOP) && in do_sigaction()
677 k = &sigact_table[sig - 1]; in do_sigaction()
689 host_sig = target_to_host_signal(sig); in do_sigaction()
704 if (fatal_signal(sig)) { in do_sigaction()
736 static void setup_frame(int sig, int code, struct target_sigaction *ka, in setup_frame() argument
779 set_sigtramp_args(env, sig, frame, frame_addr, ka); in setup_frame()
874 static void handle_pending_signal(CPUArchState *env, int sig, in handle_pending_signal() argument
886 trace_user_handle_signal(env, sig); in handle_pending_signal()
890 sig = gdb_handlesig(cpu, sig, NULL, &k->info, sizeof(k->info)); in handle_pending_signal()
891 if (!sig) { in handle_pending_signal()
895 sa = &sigact_table[sig - 1]; in handle_pending_signal()
900 print_taken_signal(sig, &k->info); in handle_pending_signal()
908 if (sig == TARGET_SIGTSTP || sig == TARGET_SIGTTIN || in handle_pending_signal()
909 sig == TARGET_SIGTTOU) { in handle_pending_signal()
911 } else if (sig != TARGET_SIGCHLD && sig != TARGET_SIGURG && in handle_pending_signal()
912 sig != TARGET_SIGINFO && sig != TARGET_SIGWINCH && in handle_pending_signal()
913 sig != TARGET_SIGCONT) { in handle_pending_signal()
914 dump_core_and_abort(sig); in handle_pending_signal()
919 dump_core_and_abort(sig); in handle_pending_signal()
930 sigaddset(&set, target_to_host_signal(sig)); in handle_pending_signal()
951 setup_frame(sig, code, sa, &target_old_set, &tinfo, env); in handle_pending_signal()
953 setup_frame(sig, code, sa, &target_old_set, NULL, env); in handle_pending_signal()
964 int sig; in process_pending_signals() local
974 sig = ts->sync_signal.pending; in process_pending_signals()
975 if (sig) { in process_pending_signals()
982 if (sigismember(&ts->signal_mask, target_to_host_signal(sig)) || in process_pending_signals()
983 sigact_table[sig - 1]._sa_handler == TARGET_SIG_IGN) { in process_pending_signals()
984 sigdelset(&ts->signal_mask, target_to_host_signal(sig)); in process_pending_signals()
985 sigact_table[sig - 1]._sa_handler = TARGET_SIG_DFL; in process_pending_signals()
987 handle_pending_signal(env, sig, &ts->sync_signal); in process_pending_signals()
991 for (sig = 1; sig <= TARGET_NSIG; sig++, k++) { in process_pending_signals()
995 !sigismember(blocked_set, target_to_host_signal(sig))) { in process_pending_signals()
996 handle_pending_signal(env, sig, k); in process_pending_signals()