All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/26] accel/tcg: Introduce translator_use_goto_tb
@ 2021-06-21  1:34 Richard Henderson
  2021-06-21  1:34 ` [PATCH 01/26] " Richard Henderson
                   ` (25 more replies)
  0 siblings, 26 replies; 44+ messages in thread
From: Richard Henderson @ 2021-06-21  1:34 UTC (permalink / raw)
  To: qemu-devel

There are a number of inconsistencies with goto_tb usage, and I
plan to make changes in order to better support breakpoints.

(1) Testing CF_LAST_IO is a hold-over from since before ba3e7926691
    ("icount: clean up cpu_can_io at the entry to the block").
    Several targets still have this test.

(2) Testing singlestep is superfluous, as it doesn't mean anything
    besides limiting max_insns to 1.

(3) Not testing page crossing for CONFIG_USER_ONLY is wrong, because
    mmap and mprotect can change page permissions.  It's a very
    uncommon case wrt executables, but it's still wrong.

(4) Not testing page crossing for non-mmu targets (where page
    permissions literally cannot change) is not currently wrong,
    but will be after the breakpoint changes.

(5) When the TB does cross two pages, considering non-page crossing
    from the second page is not currently wrong, but will be after
    the breakpoint changes.

Based on my recent avr, cris and nios2 patch sets.  The full tree is

    https://gitlab.com/rth7680/qemu/-/tree/tcg-goto-tb


r~


Richard Henderson (26):
  accel/tcg: Introduce translator_use_goto_tb
  target/alpha: Remove use_exit_tb
  target/alpha: Remove in_superpage
  target/alpha: Use translator_use_goto_tb
  target/arm: Use translator_use_goto_tb
  target/avr: Use translator_use_goto_tb
  target/avr: Mark some helpers noreturn
  target/cris: Use translator_use_goto_tb
  target/hppa: Use translator_use_goto_tb
  target/i386: Use translator_use_goto_tb
  target/m68k: Use translator_use_goto_tb
  target/microblaze: Use translator_use_goto_tb
  target/mips: Use translator_use_goto_tb
  target/mips: Fix missing else in gen_goto_tb
  target/nios2: Use translator_use_goto_tb
  target/openrisc: Use translator_use_goto_tb
  target/ppc: Use translator_use_goto_tb
  target/riscv: Use translator_use_goto_tb
  target/rx: Use translator_use_goto_tb
  target/s390x: Use translator_use_goto_tb
  target/s390x: Remove use_exit_tb
  target/sh4: Use translator_use_goto_tb
  target/sparc: Use translator_use_goto_tb
  target/tricore: Use translator_use_goto_tb
  target/tricore: Use tcg_gen_lookup_and_goto_ptr
  target/xtensa: Use translator_use_goto_tb

 include/exec/translator.h     | 10 ++++++++
 target/arm/translate.h        | 13 ++++++++++
 target/avr/helper.h           |  8 +++---
 accel/tcg/translator.c        | 11 +++++++++
 target/alpha/translate.c      | 46 ++++-------------------------------
 target/arm/translate-a64.c    | 22 +----------------
 target/arm/translate.c        | 10 --------
 target/avr/translate.c        |  9 ++++---
 target/cris/translate.c       |  5 ++--
 target/hppa/translate.c       |  5 +---
 target/i386/tcg/translate.c   | 14 ++---------
 target/m68k/translate.c       | 12 +--------
 target/microblaze/translate.c | 11 +--------
 target/mips/tcg/translate.c   | 20 +++------------
 target/nios2/translate.c      | 15 +-----------
 target/openrisc/translate.c   | 15 ++++++------
 target/ppc/translate.c        | 10 +-------
 target/riscv/translate.c      | 20 +--------------
 target/rx/translate.c         | 11 +--------
 target/s390x/translate.c      | 18 +++-----------
 target/sh4/translate.c        | 11 +++------
 target/sparc/translate.c      | 19 ++++-----------
 target/tricore/translate.c    | 20 +++------------
 target/xtensa/translate.c     |  6 +----
 24 files changed, 89 insertions(+), 252 deletions(-)

-- 
2.25.1



^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2021-06-21 22:23 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-21  1:34 [PATCH 00/26] accel/tcg: Introduce translator_use_goto_tb Richard Henderson
2021-06-21  1:34 ` [PATCH 01/26] " Richard Henderson
2021-06-21  6:24   ` Max Filippov
2021-06-21 12:50   ` Philippe Mathieu-Daudé
2021-06-21 13:47     ` Richard Henderson
2021-06-21 15:03       ` Philippe Mathieu-Daudé
2021-06-21 13:45   ` Luis Fernando Fujita Pires
2021-06-21  1:34 ` [PATCH 02/26] target/alpha: Remove use_exit_tb Richard Henderson
2021-06-21  1:34 ` [PATCH 03/26] target/alpha: Remove in_superpage Richard Henderson
2021-06-21  1:34 ` [PATCH 04/26] target/alpha: Use translator_use_goto_tb Richard Henderson
2021-06-21  1:34 ` [PATCH 05/26] target/arm: " Richard Henderson
2021-06-21 10:20   ` Peter Maydell
2021-06-21  1:34 ` [PATCH 06/26] target/avr: " Richard Henderson
2021-06-21  1:34 ` [PATCH 07/26] target/avr: Mark some helpers noreturn Richard Henderson
2021-06-21  5:39   ` Michael Rolnik
2021-06-21 12:31   ` Philippe Mathieu-Daudé
2021-06-21  1:34 ` [PATCH 08/26] target/cris: Use translator_use_goto_tb Richard Henderson
2021-06-21  1:34 ` [PATCH 09/26] target/hppa: " Richard Henderson
2021-06-21  1:34 ` [PATCH 10/26] target/i386: " Richard Henderson
2021-06-21  1:34 ` [PATCH 11/26] target/m68k: " Richard Henderson
2021-06-21  7:35   ` Laurent Vivier
2021-06-21  1:34 ` [PATCH 12/26] target/microblaze: " Richard Henderson
2021-06-21  1:34 ` [PATCH 13/26] target/mips: " Richard Henderson
2021-06-21  1:34 ` [PATCH 14/26] target/mips: Fix missing else in gen_goto_tb Richard Henderson
2021-06-21 12:25   ` Philippe Mathieu-Daudé
2021-06-21  1:34 ` [PATCH 15/26] target/nios2: Use translator_use_goto_tb Richard Henderson
2021-06-21  1:34 ` [PATCH 16/26] target/openrisc: " Richard Henderson
2021-06-21  1:34 ` [PATCH 17/26] target/ppc: " Richard Henderson
2021-06-21 13:45   ` Luis Fernando Fujita Pires
2021-06-21  1:34 ` [PATCH 18/26] target/riscv: " Richard Henderson
2021-06-21 22:22   ` Alistair Francis
2021-06-21 22:22     ` Alistair Francis
2021-06-21  1:34 ` [PATCH 19/26] target/rx: " Richard Henderson
2021-06-21  1:34 ` [PATCH 20/26] target/s390x: " Richard Henderson
2021-06-21  1:34 ` [PATCH 21/26] target/s390x: Remove use_exit_tb Richard Henderson
2021-06-21  1:34 ` [PATCH 22/26] target/sh4: Use translator_use_goto_tb Richard Henderson
2021-06-21  1:34 ` [PATCH 23/26] target/sparc: " Richard Henderson
2021-06-21  9:09   ` Mark Cave-Ayland
2021-06-21  1:34 ` [PATCH 24/26] target/tricore: " Richard Henderson
2021-06-21 14:27   ` Bastian Koppelmann
2021-06-21  1:34 ` [PATCH 25/26] target/tricore: Use tcg_gen_lookup_and_goto_ptr Richard Henderson
2021-06-21 14:32   ` Bastian Koppelmann
2021-06-21  1:34 ` [PATCH 26/26] target/xtensa: Use translator_use_goto_tb Richard Henderson
2021-06-21  6:24   ` Max Filippov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.