Lines Matching +full:non +full:- +full:pc
2 * safe-syscall.h: prototypes for linux-user signal-race-safe syscalls
28 * may return -1 with errno == QEMU_ERESTARTSYS if a signal was pending.
30 * Returns: the system call result, or -1 with an error code in errno
41 * (1) Non-interruptible syscalls
50 * Some non-interruptible syscalls need to be handled using block_signals()
61 * always restart (and in the kernel return -ERESTARTNOINTR), ones
62 * which only restart if there is no handler (kernel returns -ERESTARTNOHAND
63 * or -ERESTART_RESTARTBLOCK), and the most common kind which restart
65 * -ERESTARTSYS). System calls which are only interruptible in some
84 * you make in the implementation returns either -QEMU_ERESTARTSYS or
94 * handler checks the interrupted host PC against the address of that
95 * known section. If the PC is before or at the address of the syscall
96 * instruction then we change the PC to point at a "return
97 * -QEMU_ERESTARTSYS" code path instead, and then exit the signal handler
100 * the guest PC to wind it back to before the system call, and invoke
103 * This winding-back will happen in two cases:
117 * be invoked with the PC pointing just after the syscall instruction,
132 /* These are defined by the safe-syscall.inc.S file */
137 safe_syscall_base(&get_task_state(thread_cpu)->signal_pending, \