[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 00/21] plugin updates (register access) for 9.0 (pre-PR?)
From: |
Alex Bennée |
Subject: |
[PATCH v3 00/21] plugin updates (register access) for 9.0 (pre-PR?) |
Date: |
Mon, 22 Jan 2024 14:55:49 +0000 |
Akihiko requested the register support not be merged in its current
state so it's time for another round of review. I've made a few tweaks
to simplify the register and CPU tracking code in execlog and removed
some stale API functions. However from my point of view its ready to
merge.
v3
--
- split from testing bits (merged)
- removed unused api funcs
- keep CPUs in a GArray instead of doing by hand
v2
--
- Review feedback for register API
- readthedocs update
- add expectation docs for plugins
The following still need review:
contrib/plugins: extend execlog to track register changes
gdbstub: expose api to find registers
Akihiko Odaki (15):
hw/riscv: Use misa_mxl instead of misa_mxl_max
target/riscv: Remove misa_mxl validation
target/riscv: Move misa_mxl_max to class
target/riscv: Validate misa_mxl_max only once
target/arm: Use GDBFeature for dynamic XML
target/ppc: Use GDBFeature for dynamic XML
target/riscv: Use GDBFeature for dynamic XML
gdbstub: Use GDBFeature for gdb_register_coprocessor
gdbstub: Use GDBFeature for GDBRegisterState
gdbstub: Change gdb_get_reg_cb and gdb_set_reg_cb
gdbstub: Simplify XML lookup
gdbstub: Infer number of core registers from XML
hw/core/cpu: Remove gdb_get_dynamic_xml member
gdbstub: Add members to identify registers to GDBFeature
plugins: Use different helpers when reading registers
Alex Bennée (6):
gdbstub: expose api to find registers
plugins: add an API to read registers
contrib/plugins: fix imatch
contrib/plugins: extend execlog to track register changes
docs/devel: lift example and plugin API sections up
docs/devel: document some plugin assumptions
docs/devel/tcg-plugins.rst | 72 +++++++-
accel/tcg/plugin-helpers.h | 3 +-
include/exec/gdbstub.h | 43 ++++-
include/hw/core/cpu.h | 7 +-
include/qemu/plugin.h | 1 +
include/qemu/qemu-plugin.h | 51 +++++-
target/arm/cpu.h | 27 ++-
target/arm/internals.h | 14 +-
target/hexagon/internal.h | 4 +-
target/microblaze/cpu.h | 4 +-
target/ppc/cpu-qom.h | 1 +
target/ppc/cpu.h | 5 +-
target/riscv/cpu.h | 9 +-
target/s390x/cpu.h | 2 -
accel/tcg/plugin-gen.c | 43 ++++-
contrib/plugins/execlog.c | 319 +++++++++++++++++++++++++++++------
gdbstub/gdbstub.c | 169 +++++++++++--------
hw/core/cpu-common.c | 5 +-
hw/riscv/boot.c | 2 +-
plugins/api.c | 123 +++++++++++++-
target/arm/cpu.c | 2 -
target/arm/cpu64.c | 1 -
target/arm/gdbstub.c | 230 ++++++++++++-------------
target/arm/gdbstub64.c | 122 +++++++-------
target/avr/cpu.c | 1 -
target/hexagon/cpu.c | 4 +-
target/hexagon/gdbstub.c | 10 +-
target/i386/cpu.c | 2 -
target/loongarch/cpu.c | 2 -
target/loongarch/gdbstub.c | 13 +-
target/m68k/cpu.c | 1 -
target/m68k/helper.c | 26 ++-
target/microblaze/cpu.c | 6 +-
target/microblaze/gdbstub.c | 9 +-
target/ppc/cpu_init.c | 7 -
target/ppc/gdbstub.c | 114 +++++++------
target/riscv/cpu.c | 193 +++++++++++----------
target/riscv/gdbstub.c | 151 +++++++++--------
target/riscv/kvm/kvm-cpu.c | 10 +-
target/riscv/machine.c | 7 +-
target/riscv/tcg/tcg-cpu.c | 44 +----
target/riscv/translate.c | 3 +-
target/rx/cpu.c | 1 -
target/s390x/cpu.c | 1 -
target/s390x/gdbstub.c | 105 +++++++-----
plugins/qemu-plugins.symbols | 2 +
scripts/feature_to_c.py | 14 +-
47 files changed, 1287 insertions(+), 698 deletions(-)
--
2.39.2
- [PATCH v3 00/21] plugin updates (register access) for 9.0 (pre-PR?),
Alex Bennée <=
[PATCH v3 04/21] target/riscv: Validate misa_mxl_max only once, Alex Bennée, 2024/01/22