This brings in the first batch of testing updates for the next release. The main bulk of these is Daniel and Thomas' cleanups of the qtest timeouts and allowing meson control them. There are a few minor tweaks I've made to some avocado and gitlab tests. The big update is support for reading register values in TCG plugins. After feedback from Akihiko I've left all the smarts to the plugin and made the interface a simple "all the registers" dump. There is a follow on patch to make the register code a little more efficient by checking disassembly. However we can leave the door open for future API enhancements if the translator ever learns to reliably know when registers might be touched. v2 -- - Review feedback for register API - readthedocs update - add expectation docs for plugins The following still need review: docs/devel: document some plugin assumptions docs/devel: lift example and plugin API sections up contrib/plugins: optimise the register value tracking contrib/plugins: extend execlog to track register changes contrib/plugins: fix imatch plugins: add an API to read registers gdbstub: expose api to find registers readthodocs: fully specify a build environment gitlab: include microblazeel in testing tests/avocado: use snapshot=on in kvm_xen_guest 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 (11): tests/avocado: use snapshot=on in kvm_xen_guest gitlab: include microblazeel in testing chardev: use bool for fe_is_open readthodocs: fully specify a build environment 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 contrib/plugins: optimise the register value tracking docs/devel: lift example and plugin API sections up docs/devel: document some plugin assumptions Daniel P. Berrangé (12): qtest: bump min meson timeout to 60 seconds qtest: bump migration-test timeout to 8 minutes qtest: bump qom-test timeout to 15 minutes qtest: bump npcm7xx_pwn-test timeout to 5 minutes qtest: bump test-hmp timeout to 4 minutes qtest: bump pxe-test timeout to 10 minutes qtest: bump prom-env-test timeout to 6 minutes qtest: bump boot-serial-test timeout to 3 minutes qtest: bump qos-test timeout to 2 minutes qtest: bump aspeed_smc-test timeout to 6 minutes qtest: bump bios-table-test timeout to 9 minutes mtest2make: stop disabling meson test timeouts Thomas Huth (5): tests/avocado: Add a test for a little-endian microblaze machine tests/qtest: Bump the device-introspect-test timeout to 12 minutes tests/unit: Bump test-aio-multithread test timeout to 2 minutes tests/unit: Bump test-crypto-block test timeout to 5 minutes tests/fp: Bump fp-test-mulAdd test timeout to 3 minutes docs/devel/tcg-plugins.rst | 72 ++++++- docs/requirements.txt | 2 + accel/tcg/plugin-helpers.h | 3 +- include/chardev/char-fe.h | 19 +- include/exec/gdbstub.h | 62 +++++- 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 +++- chardev/char-fe.c | 16 +- chardev/char.c | 2 +- contrib/plugins/execlog.c | 322 +++++++++++++++++++++++----- gdbstub/gdbstub.c | 198 +++++++++++------ hw/core/cpu-common.c | 5 +- hw/riscv/boot.c | 2 +- plugins/api.c | 114 +++++++++- 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 | 154 ++++++------- 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 +++++---- .gitlab-ci.d/buildtest.yml | 4 +- .readthedocs.yml | 19 +- plugins/qemu-plugins.symbols | 2 + scripts/feature_to_c.py | 14 +- scripts/mtest2make.py | 3 +- tests/avocado/kvm_xen_guest.py | 2 +- tests/avocado/machine_microblaze.py | 26 +++ tests/fp/meson.build | 2 +- tests/qtest/meson.build | 25 +-- tests/unit/meson.build | 2 + 59 files changed, 1396 insertions(+), 714 deletions(-) create mode 100644 docs/requirements.txt -- 2.39.2