qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/29] maintainer/next for 9.0 (testing, gdbstub, plugins, disas)
@ 2024-03-05 12:09 Alex Bennée
  2024-03-05 12:09 ` [PATCH 01/29] tests: bump QOS_PATH_MAX_ELEMENT_SIZE again Alex Bennée
                   ` (28 more replies)
  0 siblings, 29 replies; 35+ messages in thread
From: Alex Bennée @ 2024-03-05 12:09 UTC (permalink / raw)
  To: qemu-devel
  Cc: Wainer dos Santos Moschetta, Alistair Francis, Nicholas Piggin,
	Liu Zhiwei, Richard Henderson, Yanan Wang, qemu-s390x,
	Edgar E. Iglesias, Eduardo Habkost, Daniel Henrique Barboza,
	Michael Rolnik, Daniel Henrique Barboza, Alex Bennée,
	Laurent Vivier, Yoshinori Sato, Laurent Vivier, Thomas Huth,
	Peter Maydell, Mahmoud Mandour, Brad Smith, Alistair Francis,
	Brian Cain, Cleber Rosa, John Snow, Marcel Apfelbaum,
	Pierrick Bouvier, Palmer Dabbelt, Riku Voipio, qemu-arm, qemu-ppc,
	Weiwei Li, Bin Meng, Cédric Le Goater, Beraldo Leal,
	Kyle Evans, David Hildenbrand, Song Gao,
	Philippe Mathieu-Daudé, Paolo Bonzini, Alexandre Iooss,
	Warner Losh, qemu-riscv, Ilya Leoshkevich

As I'm going to be away for most of the tree stabilisation period I'm
trying to be proactive clearing my maintainer backlog before the
softfreeze. With that in mind heres what is ready to go in:

Testing

Most stuff is being directly applied as downstreams stop working (c.f.
BSD and MacOS breakage). So all I have left is a fix for qos-tests
that shows up when LTO is enabled.

GDBStub

These are Ilya's fork follow mode patches for gdbstub. I hope to
include Gustavo's signal handling stuff if it is fixed this week.

Plugins

This introduces Pierrick's work to have thread-safe inline counters
via the concept of a vcpu indexed scoreboard. There will be further
work over the next cycle to enable more efficient instrumentation and
address more of the missing pieces people have been asking for.

Finally there are a few cosmetic patches to ensure the disassembly
that plugins get don't include opcodes which plugins can get another
way. They are the only patches that need review:

  target/riscv: honour show_opcodes when disassembling
  target/loongarch: honour show_opcodes when disassembling
  disas/hppa: honour show_opcodes
  disas: introduce show_opcodes

Hopefully I can get the PR for this rolled later this week.

Alex.

Alex Bennée (5):
  tests: bump QOS_PATH_MAX_ELEMENT_SIZE again
  disas: introduce show_opcodes
  disas/hppa: honour show_opcodes
  target/loongarch: honour show_opcodes when disassembling
  target/riscv: honour show_opcodes when disassembling

Ilya Leoshkevich (12):
  gdbstub: Support disablement in a multi-threaded process
  {linux,bsd}-user: Introduce get_task_state()
  {linux,bsd}-user: Update ts_tid after fork()
  gdbstub: Introduce gdbserver_fork_start()
  {linux,bsd}-user: Pass pid to fork_end()
  {linux,bsd}-user: Pass pid to gdbserver_fork()
  gdbstub: Call gdbserver_fork() both in parent and in child
  gdbstub: Introduce gdb_handle_query_supported_user()
  gdbstub: Introduce gdb_handle_set_thread_user()
  gdbstub: Introduce gdb_handle_detach_user()
  gdbstub: Implement follow-fork-mode child
  tests/tcg: Add two follow-fork-mode tests

Pierrick Bouvier (12):
  plugins: scoreboard API
  plugins: define qemu_plugin_u64
  plugins: implement inline operation relative to cpu_index
  plugins: add inline operation per vcpu
  tests/plugin: add test plugin for inline operations
  tests/plugin/mem: migrate to new per_vcpu API
  tests/plugin/insn: migrate to new per_vcpu API
  tests/plugin/bb: migrate to new per_vcpu API
  contrib/plugins/hotblocks: migrate to new per_vcpu API
  contrib/plugins/howvec: migrate to new per_vcpu API
  plugins: remove non per_vcpu inline operation from API
  plugins: cleanup codepath for previous inline operation

 bsd-user/bsd-file.h                           |   2 +-
 bsd-user/freebsd/os-proc.h                    |   6 +-
 bsd-user/qemu.h                               |   7 +-
 gdbstub/internals.h                           |   3 +
 include/disas/dis-asm.h                       |   8 +
 include/gdbstub/user.h                        |  10 +-
 include/qemu/plugin.h                         |   7 +
 include/qemu/qemu-plugin.h                    | 142 +++++++---
 include/user/safe-syscall.h                   |   2 +-
 linux-user/m68k/target_cpu.h                  |   2 +-
 linux-user/qemu.h                             |   5 +
 linux-user/signal-common.h                    |   2 +-
 linux-user/user-internals.h                   |   2 +-
 plugins/plugin.h                              |  17 +-
 tests/qtest/libqos/qgraph.h                   |   2 +-
 accel/tcg/plugin-gen.c                        |  69 ++++-
 bsd-user/main.c                               |   9 +-
 bsd-user/signal.c                             |  20 +-
 contrib/plugins/hotblocks.c                   |  50 ++--
 contrib/plugins/howvec.c                      |  53 ++--
 disas/disas.c                                 |   1 +
 disas/hppa.c                                  |   8 +-
 disas/riscv.c                                 |  28 +-
 gdbstub/gdbstub.c                             |  29 ++-
 gdbstub/user-target.c                         |   4 +-
 gdbstub/user.c                                | 244 +++++++++++++++++-
 linux-user/aarch64/cpu_loop.c                 |   2 +-
 linux-user/arm/cpu_loop.c                     |   4 +-
 linux-user/arm/signal.c                       |   2 +-
 linux-user/cris/cpu_loop.c                    |   2 +-
 linux-user/elfload.c                          |   2 +-
 linux-user/hppa/signal.c                      |   2 +-
 linux-user/linuxload.c                        |   2 +-
 linux-user/m68k/cpu_loop.c                    |   2 +-
 linux-user/main.c                             |   8 +-
 linux-user/mips/cpu_loop.c                    |   2 +-
 linux-user/ppc/signal.c                       |   4 +-
 linux-user/riscv/cpu_loop.c                   |   2 +-
 linux-user/signal.c                           |  30 +--
 linux-user/syscall.c                          |  32 +--
 linux-user/vm86.c                             |  18 +-
 linux-user/xtensa/signal.c                    |   2 +-
 plugins/api.c                                 | 100 +++++--
 plugins/core.c                                |  79 +++++-
 semihosting/arm-compat-semi.c                 |   8 +-
 target/loongarch/disas.c                      |  13 +-
 tests/plugin/bb.c                             |  63 ++---
 tests/plugin/inline.c                         | 186 +++++++++++++
 tests/plugin/insn.c                           | 106 ++++----
 tests/plugin/mem.c                            |  46 ++--
 tests/tcg/multiarch/follow-fork-mode.c        |  56 ++++
 plugins/qemu-plugins.symbols                  |  13 +-
 tests/plugin/meson.build                      |   2 +-
 tests/tcg/Makefile.target                     |   2 +-
 tests/tcg/multiarch/Makefile.target           |  17 +-
 .../gdbstub/follow-fork-mode-child.py         |  40 +++
 .../gdbstub/follow-fork-mode-parent.py        |  16 ++
 57 files changed, 1257 insertions(+), 338 deletions(-)
 create mode 100644 tests/plugin/inline.c
 create mode 100644 tests/tcg/multiarch/follow-fork-mode.c
 create mode 100644 tests/tcg/multiarch/gdbstub/follow-fork-mode-child.py
 create mode 100644 tests/tcg/multiarch/gdbstub/follow-fork-mode-parent.py

-- 
2.39.2



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

end of thread, other threads:[~2024-03-05 20:48 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-05 12:09 [PATCH 00/29] maintainer/next for 9.0 (testing, gdbstub, plugins, disas) Alex Bennée
2024-03-05 12:09 ` [PATCH 01/29] tests: bump QOS_PATH_MAX_ELEMENT_SIZE again Alex Bennée
2024-03-05 12:09 ` [PATCH 02/29] gdbstub: Support disablement in a multi-threaded process Alex Bennée
2024-03-05 12:09 ` [PATCH 03/29] {linux,bsd}-user: Introduce get_task_state() Alex Bennée
2024-03-05 12:09 ` [PATCH 04/29] {linux,bsd}-user: Update ts_tid after fork() Alex Bennée
2024-03-05 20:44   ` Richard Henderson
2024-03-05 12:09 ` [PATCH 05/29] gdbstub: Introduce gdbserver_fork_start() Alex Bennée
2024-03-05 12:09 ` [PATCH 06/29] {linux,bsd}-user: Pass pid to fork_end() Alex Bennée
2024-03-05 12:09 ` [PATCH 07/29] {linux,bsd}-user: Pass pid to gdbserver_fork() Alex Bennée
2024-03-05 12:09 ` [PATCH 08/29] gdbstub: Call gdbserver_fork() both in parent and in child Alex Bennée
2024-03-05 12:09 ` [PATCH 09/29] gdbstub: Introduce gdb_handle_query_supported_user() Alex Bennée
2024-03-05 12:09 ` [PATCH 10/29] gdbstub: Introduce gdb_handle_set_thread_user() Alex Bennée
2024-03-05 12:09 ` [PATCH 11/29] gdbstub: Introduce gdb_handle_detach_user() Alex Bennée
2024-03-05 12:09 ` [PATCH 12/29] gdbstub: Implement follow-fork-mode child Alex Bennée
2024-03-05 12:09 ` [PATCH 13/29] tests/tcg: Add two follow-fork-mode tests Alex Bennée
2024-03-05 12:09 ` [PATCH 14/29] plugins: scoreboard API Alex Bennée
2024-03-05 12:09 ` [PATCH 15/29] plugins: define qemu_plugin_u64 Alex Bennée
2024-03-05 12:09 ` [PATCH 16/29] plugins: implement inline operation relative to cpu_index Alex Bennée
2024-03-05 12:09 ` [PATCH 17/29] plugins: add inline operation per vcpu Alex Bennée
2024-03-05 12:09 ` [PATCH 18/29] tests/plugin: add test plugin for inline operations Alex Bennée
2024-03-05 12:09 ` [PATCH 19/29] tests/plugin/mem: migrate to new per_vcpu API Alex Bennée
2024-03-05 12:09 ` [PATCH 20/29] tests/plugin/insn: " Alex Bennée
2024-03-05 12:09 ` [PATCH 21/29] tests/plugin/bb: " Alex Bennée
2024-03-05 12:09 ` [PATCH 22/29] contrib/plugins/hotblocks: " Alex Bennée
2024-03-05 12:09 ` [PATCH 23/29] contrib/plugins/howvec: " Alex Bennée
2024-03-05 12:10 ` [PATCH 24/29] plugins: remove non per_vcpu inline operation from API Alex Bennée
2024-03-05 12:10 ` [PATCH 25/29] plugins: cleanup codepath for previous inline operation Alex Bennée
2024-03-05 12:10 ` [PATCH 26/29] disas: introduce show_opcodes Alex Bennée
2024-03-05 20:46   ` Richard Henderson
2024-03-05 12:10 ` [PATCH 27/29] disas/hppa: honour show_opcodes Alex Bennée
2024-03-05 20:46   ` Richard Henderson
2024-03-05 12:10 ` [PATCH 28/29] target/loongarch: honour show_opcodes when disassembling Alex Bennée
2024-03-05 20:47   ` Richard Henderson
2024-03-05 12:10 ` [PATCH 29/29] target/riscv: " Alex Bennée
2024-03-05 20:48   ` Richard Henderson

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).