qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: alex.bennee@linaro.org, laurent@vivier.eu
Subject: [PATCH v4 04/41] accel/tcg: Fold cpu_exit_tb_from_sighandler into caller
Date: Wed,  6 Oct 2021 10:22:30 -0700	[thread overview]
Message-ID: <20211006172307.780893-5-richard.henderson@linaro.org> (raw)
In-Reply-To: <20211006172307.780893-1-richard.henderson@linaro.org>

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



  parent reply	other threads:[~2021-10-06 17:28 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-06 17:22 [PATCH v4 00/41] linux-user: Streamline handling of SIGSEGV Richard Henderson
2021-10-06 17:22 ` [PATCH v4 01/41] accel/tcg: Split out adjust_signal_pc Richard Henderson
2021-10-06 17:22 ` [PATCH v4 02/41] accel/tcg: Move clear_helper_retaddr to cpu loop Richard Henderson
2021-10-06 17:22 ` [PATCH v4 03/41] accel/tcg: Split out handle_sigsegv_accerr_write Richard Henderson
2021-10-06 17:22 ` Richard Henderson [this message]
2021-10-06 17:22 ` [PATCH v4 05/41] configure: Merge riscv32 and riscv64 host architectures Richard Henderson
2021-10-06 17:22 ` [PATCH v4 06/41] linux-user: Reorg handling for SIGSEGV Richard Henderson
2021-10-06 17:22 ` [PATCH v4 07/41] linux-user/host/x86: Populate host_signal.h Richard Henderson
2021-10-06 17:22 ` [PATCH v4 08/41] linux-user/host/ppc: " Richard Henderson
2021-10-06 17:22 ` [PATCH v4 09/41] linux-user/host/alpha: " Richard Henderson
2021-10-06 17:22 ` [PATCH v4 10/41] linux-user/host/sparc: " Richard Henderson
2021-10-06 17:22 ` [PATCH v4 11/41] linux-user/host/arm: " Richard Henderson
2021-10-06 17:22 ` [PATCH v4 12/41] linux-user/host/aarch64: " Richard Henderson
2021-10-06 17:22 ` [PATCH v4 13/41] linux-user/host/s390: " Richard Henderson
2021-10-06 17:22 ` [PATCH v4 14/41] linux-user/host/mips: " Richard Henderson
2021-10-06 17:22 ` [PATCH v4 15/41] linux-user/host/riscv: " Richard Henderson
2021-10-06 21:33   ` Alistair Francis
2021-10-06 17:22 ` [PATCH v4 16/41] target/arm: Fixup comment re handle_cpu_signal Richard Henderson
2021-10-06 17:22 ` [PATCH v4 17/41] linux-user/host/riscv: Improve host_signal_write Richard Henderson
2021-10-06 21:35   ` Alistair Francis
2021-10-06 17:22 ` [PATCH v4 18/41] linux-user/signal: Drop HOST_SIGNAL_PLACEHOLDER Richard Henderson
2021-10-06 17:22 ` [PATCH v4 19/41] hw/core: Add TCGCPUOps.record_sigsegv Richard Henderson
2021-10-06 17:22 ` [PATCH v4 20/41] linux-user: Add cpu_loop_exit_sigsegv Richard Henderson
2021-10-06 17:22 ` [PATCH v4 21/41] target/alpha: Implement alpha_cpu_record_sigsegv Richard Henderson
2021-10-06 17:22 ` [PATCH v4 22/41] target/arm: Use cpu_loop_exit_sigsegv for mte tag lookup Richard Henderson
2021-10-06 17:22 ` [PATCH v4 23/41] target/arm: Implement arm_cpu_record_sigsegv Richard Henderson
2021-10-06 17:22 ` [PATCH v4 24/41] target/cris: Make cris_cpu_tlb_fill sysemu only Richard Henderson
2021-10-06 17:22 ` [PATCH v4 25/41] target/hexagon: Remove hexagon_cpu_tlb_fill Richard Henderson
2021-10-06 17:22 ` [PATCH v4 26/41] target/hppa: Make hppa_cpu_tlb_fill sysemu only Richard Henderson
2021-10-06 17:22 ` [PATCH v4 27/41] target/i386: Implement x86_cpu_record_sigsegv Richard Henderson
2021-10-06 17:22 ` [PATCH v4 28/41] target/m68k: Make m68k_cpu_tlb_fill sysemu only Richard Henderson
2021-10-06 17:22 ` [PATCH v4 29/41] target/microblaze: Make mb_cpu_tlb_fill " Richard Henderson
2021-10-06 17:22 ` [PATCH v4 30/41] target/mips: Make mips_cpu_tlb_fill " Richard Henderson
2021-10-06 17:22 ` [PATCH v4 31/41] target/nios2: Implement nios2_cpu_record_sigsegv Richard Henderson
2021-10-06 17:22 ` [PATCH v4 32/41] linux-user/openrisc: Adjust signal for EXCP_RANGE, EXCP_FPE Richard Henderson
2021-10-06 20:52   ` Stafford Horne
2021-10-06 17:22 ` [PATCH v4 33/41] target/openrisc: Make openrisc_cpu_tlb_fill sysemu only Richard Henderson
2021-10-06 17:23 ` [PATCH v4 34/41] target/ppc: Implement ppc_cpu_record_sigsegv Richard Henderson
2021-10-06 17:23 ` [PATCH v4 35/41] target/riscv: Make riscv_cpu_tlb_fill sysemu only Richard Henderson
2021-10-06 21:36   ` Alistair Francis
2021-10-06 17:23 ` [PATCH v4 36/41] target/s390x: Use probe_access_flags in s390_probe_access Richard Henderson
2021-10-06 17:23 ` [PATCH v4 37/41] target/s390x: Implement s390_cpu_record_sigsegv Richard Henderson
2021-10-06 17:23 ` [PATCH v4 38/41] target/sh4: Make sh4_cpu_tlb_fill sysemu only Richard Henderson
2021-10-06 17:23 ` [PATCH v4 39/41] target/sparc: Make sparc_cpu_tlb_fill " Richard Henderson
2021-10-06 17:23 ` [PATCH v4 40/41] target/xtensa: Make xtensa_cpu_tlb_fill " Richard Henderson
2021-10-06 17:23 ` [PATCH v4 41/41] accel/tcg: Restrict TCGCPUOps::tlb_fill() to sysemu Richard Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211006172307.780893-5-richard.henderson@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=alex.bennee@linaro.org \
    --cc=laurent@vivier.eu \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).