[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 00/29] maintainer/next for 9.0 (testing, gdbstub, plugins, disas)
From: |
Alex Bennée |
Subject: |
[PATCH 00/29] maintainer/next for 9.0 (testing, gdbstub, plugins, disas) |
Date: |
Tue, 5 Mar 2024 12:09:36 +0000 |
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
- [PATCH 00/29] maintainer/next for 9.0 (testing, gdbstub, plugins, disas),
Alex Bennée <=
- [PATCH 01/29] tests: bump QOS_PATH_MAX_ELEMENT_SIZE again, Alex Bennée, 2024/03/05
- [PATCH 05/29] gdbstub: Introduce gdbserver_fork_start(), Alex Bennée, 2024/03/05
- [PATCH 02/29] gdbstub: Support disablement in a multi-threaded process, Alex Bennée, 2024/03/05
- [PATCH 04/29] {linux,bsd}-user: Update ts_tid after fork(), Alex Bennée, 2024/03/05
- [PATCH 06/29] {linux,bsd}-user: Pass pid to fork_end(), Alex Bennée, 2024/03/05
- [PATCH 12/29] gdbstub: Implement follow-fork-mode child, Alex Bennée, 2024/03/05
- [PATCH 03/29] {linux,bsd}-user: Introduce get_task_state(), Alex Bennée, 2024/03/05
- [PATCH 09/29] gdbstub: Introduce gdb_handle_query_supported_user(), Alex Bennée, 2024/03/05
- [PATCH 11/29] gdbstub: Introduce gdb_handle_detach_user(), Alex Bennée, 2024/03/05
- [PATCH 14/29] plugins: scoreboard API, Alex Bennée, 2024/03/05