[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 04/41] accel/tcg: Fold cpu_exit_tb_from_sighandler into caller
From: |
Richard Henderson |
Subject: |
[PATCH v4 04/41] accel/tcg: Fold cpu_exit_tb_from_sighandler into caller |
Date: |
Wed, 6 Oct 2021 10:22:30 -0700 |
Remove the comment about siglongjmp. We do use sigsetjmp
in the main cpu loop, but we do not save the signal mask
as most exits from the cpu loop do not require them.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
accel/tcg/user-exec.c | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c
index 619b572378..a5ef684b64 100644
--- a/accel/tcg/user-exec.c
+++ b/accel/tcg/user-exec.c
@@ -46,17 +46,6 @@ __thread uintptr_t helper_retaddr;
//#define DEBUG_SIGNAL
-/* exit the current TB from a signal handler. The host registers are
- restored in a state compatible with the CPU emulator
- */
-static void QEMU_NORETURN cpu_exit_tb_from_sighandler(CPUState *cpu,
- sigset_t *old_set)
-{
- /* XXX: use siglongjmp ? */
- sigprocmask(SIG_SETMASK, old_set, NULL);
- cpu_loop_exit_noexc(cpu);
-}
-
/*
* Adjust the pc to pass to cpu_restore_state; return the memop type.
*/
@@ -155,7 +144,8 @@ bool handle_sigsegv_accerr_write(CPUState *cpu, sigset_t
*old_set,
* currently executing TB was modified and must be exited
* immediately. Clear helper_retaddr for next execution.
*/
- cpu_exit_tb_from_sighandler(cpu, old_set);
+ sigprocmask(SIG_SETMASK, old_set, NULL);
+ cpu_loop_exit_noexc(cpu);
/* NORETURN */
default:
g_assert_not_reached();
--
2.25.1
- [PATCH v4 00/41] linux-user: Streamline handling of SIGSEGV, Richard Henderson, 2021/10/06
- [PATCH v4 03/41] accel/tcg: Split out handle_sigsegv_accerr_write, Richard Henderson, 2021/10/06
- [PATCH v4 04/41] accel/tcg: Fold cpu_exit_tb_from_sighandler into caller,
Richard Henderson <=
- [PATCH v4 05/41] configure: Merge riscv32 and riscv64 host architectures, Richard Henderson, 2021/10/06
- [PATCH v4 06/41] linux-user: Reorg handling for SIGSEGV, Richard Henderson, 2021/10/06
- [PATCH v4 12/41] linux-user/host/aarch64: Populate host_signal.h, Richard Henderson, 2021/10/06
- [PATCH v4 13/41] linux-user/host/s390: Populate host_signal.h, Richard Henderson, 2021/10/06
- [PATCH v4 14/41] linux-user/host/mips: Populate host_signal.h, Richard Henderson, 2021/10/06
- [PATCH v4 16/41] target/arm: Fixup comment re handle_cpu_signal, Richard Henderson, 2021/10/06
- [PATCH v4 17/41] linux-user/host/riscv: Improve host_signal_write, Richard Henderson, 2021/10/06
- [PATCH v4 10/41] linux-user/host/sparc: Populate host_signal.h, Richard Henderson, 2021/10/06
- [PATCH v4 19/41] hw/core: Add TCGCPUOps.record_sigsegv, Richard Henderson, 2021/10/06