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