mirror of https://gitee.com/openkylin/qemu.git
linux-user/signal: Drop HOST_SIGNAL_PLACEHOLDER
Now that all of the linux-user hosts have been converted to host-signal.h, drop the compatibility code. Reviewed by: Warner Losh <imp@bsdimp.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
4f3bbd9cfb
commit
04de121aaf
|
@ -685,18 +685,6 @@ MMUAccessType adjust_signal_pc(uintptr_t *pc, bool is_write);
|
|||
bool handle_sigsegv_accerr_write(CPUState *cpu, sigset_t *old_set,
|
||||
uintptr_t host_pc, abi_ptr guest_addr);
|
||||
|
||||
/**
|
||||
* cpu_signal_handler
|
||||
* @signum: host signal number
|
||||
* @pinfo: host siginfo_t
|
||||
* @puc: host ucontext_t
|
||||
*
|
||||
* To be called from the SIGBUS and SIGSEGV signal handler to inform the
|
||||
* virtual cpu of exceptions. Returns true if the signal was handled by
|
||||
* the virtual CPU.
|
||||
*/
|
||||
int cpu_signal_handler(int signum, void *pinfo, void *puc);
|
||||
|
||||
#else
|
||||
static inline void mmap_lock(void) {}
|
||||
static inline void mmap_unlock(void) {}
|
||||
|
|
|
@ -780,17 +780,6 @@ static void host_signal_handler(int host_sig, siginfo_t *info, void *puc)
|
|||
ucontext_t *uc = puc;
|
||||
struct emulated_sigtable *k;
|
||||
int guest_sig;
|
||||
|
||||
#ifdef HOST_SIGNAL_PLACEHOLDER
|
||||
/* the CPU emulator uses some host signals to detect exceptions,
|
||||
we forward to it some signals */
|
||||
if ((host_sig == SIGSEGV || host_sig == SIGBUS)
|
||||
&& info->si_code > 0) {
|
||||
if (cpu_signal_handler(host_sig, info, puc)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
#else
|
||||
uintptr_t pc = 0;
|
||||
bool sync_sig = false;
|
||||
|
||||
|
@ -850,7 +839,6 @@ static void host_signal_handler(int host_sig, siginfo_t *info, void *puc)
|
|||
|
||||
sync_sig = true;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* get target signal number */
|
||||
guest_sig = host_to_target_signal(host_sig);
|
||||
|
@ -865,7 +853,6 @@ static void host_signal_handler(int host_sig, siginfo_t *info, void *puc)
|
|||
k->pending = guest_sig;
|
||||
ts->signal_pending = 1;
|
||||
|
||||
#ifndef HOST_SIGNAL_PLACEHOLDER
|
||||
/*
|
||||
* For synchronous signals, unwind the cpu state to the faulting
|
||||
* insn and then exit back to the main loop so that the signal
|
||||
|
@ -875,7 +862,6 @@ static void host_signal_handler(int host_sig, siginfo_t *info, void *puc)
|
|||
cpu->exception_index = EXCP_INTERRUPT;
|
||||
cpu_loop_exit_restore(cpu, pc);
|
||||
}
|
||||
#endif
|
||||
|
||||
rewind_if_in_safe_syscall(puc);
|
||||
|
||||
|
|
Loading…
Reference in New Issue