Lines Matching full:signal
34 #include "signal-common.h"
35 #include "host-signal.h"
39 #include "user/signal.h"
56 * defines TARGET_NSIG as TARGET_SIGRTMAX and the first signal is 1.
57 * Signal number 0 is reserved for use as kill(pid, 0), to test whether
58 * a process exists without sending it a signal.
198 * are host signal set, not guest ones. Returns -QEMU_ERESTARTSYS if
199 * a signal was already pending and the syscall must be restarted, or
243 /* Just set the guest's signal mask to the specified value; the
274 * This is the X/Open sanctioned signal stack switching. in target_sigsp()
300 /* ELF V2 for PPC64 has a 4K minimum stack size for signal handlers */ in target_restore_altstack()
384 /* Everything else is spoofable. Make best guess based on signal */ in host_to_target_siginfo_noswap()
503 /* returns 1 if given signal should dump core if not handled */
537 fprintf(stderr, "Malformed target signal in QEMU_RTSIG_MAP\n"); in signal_table_init()
541 fprintf(stderr, "Malformed host signal in QEMU_RTSIG_MAP\n"); in signal_table_init()
545 fprintf(stderr, "Malformed signal count in QEMU_RTSIG_MAP\n"); in signal_table_init()
551 fprintf(stderr, "%d is not a target rt signal\n", tsig); in signal_table_init()
555 fprintf(stderr, "%d is not a host rt signal\n", hsig); in signal_table_init()
574 * Default host-to-target RT signal mapping. in signal_table_init()
580 * To fix this properly we would need to do manual signal delivery in signal_table_init()
581 * multiplexed over a single host signal. in signal_table_init()
598 * from guest abort. When the guest registers a signal handler or in signal_table_init()
601 * so that the parent (native or emulated) sees the correct signal. in signal_table_init()
659 /* initialize signal conversion tables */ in signal_init()
662 /* Set the signal mask from the host mask. */ in signal_init()
673 * host signal handler so that we may invoke dump_core_and_abort. in signal_init()
674 * This includes SIGSEGV and SIGBUS, which are also need our signal in signal_init()
703 /* Force a synchronously taken signal. The kernel force_sig() function
704 * also forces the signal to "not blocked, not ignored", but for QEMU
721 * Force a synchronously taken QEMU_SI_FAULT signal. For QEMU the
737 * up the signal frame. oldsig is the signal we were trying to handle
744 /* Make sure we don't try to deliver the signal again; this will in force_sigsegv()
783 /* abort execution with signal */
792 * The proper exit code for dying from an uncaught signal is -<signal>. in die_with_signal()
795 * signal. Here the default signal handler is installed, we send in die_with_signal()
796 * the signal and we wait for it to arrive. in die_with_signal()
803 /* Make sure the signal isn't masked (reusing the mask inside of act). */ in die_with_signal()
840 (void) fprintf(stderr, "qemu: uncaught target signal %d (%s) - %s\n", in dump_core_and_abort()
848 /* queue a signal so that it will be send to the virtual CPU as soon
862 /* signal that a new signal is pending */ in queue_signal()
867 /* Adjust the signal context to rewind out of safe-syscall if we're in it */
1056 * handling wrt signal blocking and unwinding. Non-spoofed SIGILL, in host_signal_handler()
1076 /* get target signal number */ in host_signal_handler()
1091 * insn and then exit back to the main loop so that the signal in host_signal_handler()
1102 * Block host signals until target signal handler entered. We in host_signal_handler()
1124 /* compare linux/kernel/signal.c:do_sigaltstack() */
1209 /* we update the host linux signal state */ in do_sigaction()
1214 qemu_log_mask(LOG_UNIMP, "Unsupported target signal #%d, ignored\n", in do_sigaction()
1221 * to not have the signal available later. in do_sigaction()
1235 * It is important to update the host kernel signal ignore in do_sigaction()
1269 /* dequeue signal */ in handle_pending_signal()
1297 /* default handler : ignore some signal. The other are job control or fatal */ in handle_pending_signal()
1315 /* SA_NODEFER indicates that the current signal should not be in handle_pending_signal()
1320 /* save the previous blocked signal state to restore it at the in handle_pending_signal()
1321 end of the signal execution (see do_sigreturn) */ in handle_pending_signal()
1375 * to block a synchronous signal since it could then just end up in process_pending_signals()
1396 * might have resulted in a new synchronous signal (eg SIGSEGV). in process_pending_signals()
1402 /* if no signal is pending, unblock signals and recheck (the act in process_pending_signals()
1403 * of unblocking might cause us to take another host signal which in process_pending_signals()