From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org, qemu-ppc@nongnu.org,
"Richard Henderson" <richard.henderson@linaro.org>,
"Song Gao" <gaosong@loongson.cn>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"David Hildenbrand" <david@redhat.com>,
"Aurelien Jarno" <aurelien@aurel32.net>,
"Yoshinori Sato" <ysato@users.sourceforge.jp>,
"Yanan Wang" <wangyanan55@huawei.com>,
"Bin Meng" <bin.meng@windriver.com>,
"Laurent Vivier" <lvivier@redhat.com>,
"Michael Rolnik" <mrolnik@gmail.com>,
"Alexandre Iooss" <erdnaxe@crans.org>,
"David Woodhouse" <dwmw2@infradead.org>,
"Laurent Vivier" <laurent@vivier.eu>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Brian Cain" <bcain@quicinc.com>,
"Daniel Henrique Barboza" <danielhb413@gmail.com>,
"Beraldo Leal" <bleal@redhat.com>, "Paul Durrant" <paul@xen.org>,
"Mahmoud Mandour" <ma.mandourr@gmail.com>,
"Thomas Huth" <thuth@redhat.com>,
"Liu Zhiwei" <zhiwei_liu@linux.alibaba.com>,
"Cleber Rosa" <crosa@redhat.com>,
kvm@vger.kernel.org, "Peter Maydell" <peter.maydell@linaro.org>,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
qemu-arm@nongnu.org, "Weiwei Li" <liwei1518@gmail.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"John Snow" <jsnow@redhat.com>,
"Daniel Henrique Barboza" <dbarboza@ventanamicro.com>,
"Nicholas Piggin" <npiggin@gmail.com>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
"Ilya Leoshkevich" <iii@linux.ibm.com>,
"Cédric Le Goater" <clg@kaod.org>,
"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
"Eduardo Habkost" <eduardo@habkost.net>,
"Pierrick Bouvier" <pierrick.bouvier@linaro.org>,
qemu-riscv@nongnu.org,
"Alistair Francis" <alistair.francis@wdc.com>
Subject: [PATCH v2 00/43] testing and plugin updates for 9.0 (pre-PR)
Date: Wed, 3 Jan 2024 17:33:06 +0000 [thread overview]
Message-ID: <20240103173349.398526-1-alex.bennee@linaro.org> (raw)
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
next reply other threads:[~2024-01-03 17:35 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-03 17:33 Alex Bennée [this message]
2024-01-03 17:33 ` [PATCH v2 01/43] tests/avocado: Add a test for a little-endian microblaze machine Alex Bennée
2024-01-03 17:33 ` [PATCH v2 02/43] tests/avocado: use snapshot=on in kvm_xen_guest Alex Bennée
2024-01-11 13:30 ` Philippe Mathieu-Daudé
2024-01-03 17:33 ` [PATCH v2 03/43] gitlab: include microblazeel in testing Alex Bennée
2024-01-11 13:15 ` Thomas Huth
2024-01-03 17:33 ` [PATCH v2 04/43] chardev: use bool for fe_is_open Alex Bennée
2024-01-03 17:33 ` [PATCH v2 05/43] qtest: bump min meson timeout to 60 seconds Alex Bennée
2024-01-03 17:33 ` [PATCH v2 06/43] qtest: bump migration-test timeout to 8 minutes Alex Bennée
2024-01-03 17:33 ` [PATCH v2 07/43] qtest: bump qom-test timeout to 15 minutes Alex Bennée
2024-01-03 17:33 ` [PATCH v2 08/43] qtest: bump npcm7xx_pwn-test timeout to 5 minutes Alex Bennée
2024-01-03 17:40 ` Philippe Mathieu-Daudé
2024-01-08 10:50 ` Thomas Huth
2024-01-08 12:26 ` Ilya Leoshkevich
2024-01-03 17:33 ` [PATCH v2 09/43] qtest: bump test-hmp timeout to 4 minutes Alex Bennée
2024-01-03 17:33 ` [PATCH v2 10/43] qtest: bump pxe-test timeout to 10 minutes Alex Bennée
2024-01-03 17:43 ` Philippe Mathieu-Daudé
2024-01-04 9:31 ` Daniel P. Berrangé
2024-01-03 17:33 ` [PATCH v2 11/43] qtest: bump prom-env-test timeout to 6 minutes Alex Bennée
2024-01-03 17:33 ` [PATCH v2 12/43] qtest: bump boot-serial-test timeout to 3 minutes Alex Bennée
2024-01-12 15:13 ` Thomas Huth
2024-01-12 15:44 ` Daniel P. Berrangé
2024-01-12 16:46 ` Alex Bennée
2024-01-03 17:33 ` [PATCH v2 13/43] qtest: bump qos-test timeout to 2 minutes Alex Bennée
2024-01-03 17:33 ` [PATCH v2 14/43] qtest: bump aspeed_smc-test timeout to 6 minutes Alex Bennée
2024-01-03 17:33 ` [PATCH v2 15/43] qtest: bump bios-table-test timeout to 9 minutes Alex Bennée
2024-01-03 17:33 ` [PATCH v2 16/43] tests/qtest: Bump the device-introspect-test timeout to 12 minutes Alex Bennée
2024-01-03 17:33 ` [PATCH v2 17/43] tests/unit: Bump test-aio-multithread test timeout to 2 minutes Alex Bennée
2024-01-03 17:33 ` [PATCH v2 18/43] tests/unit: Bump test-crypto-block test timeout to 5 minutes Alex Bennée
2024-01-03 17:33 ` [PATCH v2 19/43] tests/fp: Bump fp-test-mulAdd test timeout to 3 minutes Alex Bennée
2024-01-03 17:33 ` [PATCH v2 20/43] mtest2make: stop disabling meson test timeouts Alex Bennée
2024-01-03 17:33 ` [PATCH v2 21/43] readthodocs: fully specify a build environment Alex Bennée
2024-01-03 17:33 ` [PATCH v2 22/43] hw/riscv: Use misa_mxl instead of misa_mxl_max Alex Bennée
2024-01-03 17:33 ` [PATCH v2 23/43] target/riscv: Remove misa_mxl validation Alex Bennée
2024-01-08 15:42 ` Alex Bennée
2024-01-11 23:29 ` Alistair Francis
2024-01-12 13:56 ` Alex Bennée
2024-01-15 11:51 ` Alex Bennée
2024-01-03 17:33 ` [PATCH v2 24/43] target/riscv: Move misa_mxl_max to class Alex Bennée
2024-01-11 23:28 ` Alistair Francis
2024-01-03 17:33 ` [PATCH v2 25/43] target/riscv: Validate misa_mxl_max only once Alex Bennée
2024-01-11 23:29 ` Alistair Francis
2024-01-03 17:33 ` [PATCH v2 26/43] target/arm: Use GDBFeature for dynamic XML Alex Bennée
2024-01-03 17:33 ` [PATCH v2 27/43] target/ppc: " Alex Bennée
2024-01-03 17:33 ` [PATCH v2 28/43] target/riscv: " Alex Bennée
2024-01-03 17:33 ` [PATCH v2 29/43] gdbstub: Use GDBFeature for gdb_register_coprocessor Alex Bennée
2024-01-03 17:33 ` [PATCH v2 30/43] gdbstub: Use GDBFeature for GDBRegisterState Alex Bennée
2024-01-03 17:50 ` Philippe Mathieu-Daudé
2024-01-03 17:33 ` [PATCH v2 31/43] gdbstub: Change gdb_get_reg_cb and gdb_set_reg_cb Alex Bennée
2024-01-03 17:33 ` [PATCH v2 32/43] gdbstub: Simplify XML lookup Alex Bennée
2024-01-03 17:33 ` [PATCH v2 33/43] gdbstub: Infer number of core registers from XML Alex Bennée
2024-01-03 17:33 ` [PATCH v2 34/43] hw/core/cpu: Remove gdb_get_dynamic_xml member Alex Bennée
2024-01-03 17:33 ` [PATCH v2 35/43] gdbstub: Add members to identify registers to GDBFeature Alex Bennée
2024-01-03 17:33 ` [PATCH v2 36/43] plugins: Use different helpers when reading registers Alex Bennée
2024-01-09 14:24 ` Pierrick Bouvier
2024-01-03 17:33 ` [PATCH v2 37/43] gdbstub: expose api to find registers Alex Bennée
2024-01-03 17:33 ` [PATCH v2 38/43] plugins: add an API to read registers Alex Bennée
2024-01-04 12:05 ` Akihiko Odaki
2024-01-04 12:22 ` Alex Bennée
2024-01-04 13:22 ` Akihiko Odaki
2024-01-09 15:05 ` Pierrick Bouvier
2024-01-11 12:34 ` Alex Bennée
2024-01-12 3:49 ` Pierrick Bouvier
2024-01-03 17:33 ` [PATCH v2 39/43] contrib/plugins: fix imatch Alex Bennée
2024-01-03 17:47 ` Philippe Mathieu-Daudé
2024-01-03 17:33 ` [PATCH v2 40/43] contrib/plugins: extend execlog to track register changes Alex Bennée
2024-01-05 10:40 ` Frédéric Pétrot
2024-01-11 12:24 ` Alex Bennée
2024-01-11 14:10 ` Frédéric Pétrot
2024-01-03 17:33 ` [PATCH v2 41/43] contrib/plugins: optimise the register value tracking Alex Bennée
2024-01-03 17:33 ` [PATCH v2 42/43] docs/devel: lift example and plugin API sections up Alex Bennée
2024-01-09 14:25 ` Pierrick Bouvier
2024-01-11 14:01 ` Philippe Mathieu-Daudé
2024-01-03 17:33 ` [PATCH v2 43/43] docs/devel: document some plugin assumptions Alex Bennée
2024-01-09 14:28 ` Pierrick Bouvier
2024-01-11 12:37 ` [PATCH v2 00/43] testing and plugin updates for 9.0 (pre-PR) Alex Bennée
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240103173349.398526-1-alex.bennee@linaro.org \
--to=alex.bennee@linaro.org \
--cc=alistair.francis@wdc.com \
--cc=aurelien@aurel32.net \
--cc=bcain@quicinc.com \
--cc=bin.meng@windriver.com \
--cc=bleal@redhat.com \
--cc=clg@kaod.org \
--cc=crosa@redhat.com \
--cc=danielhb413@gmail.com \
--cc=david@redhat.com \
--cc=dbarboza@ventanamicro.com \
--cc=dwmw2@infradead.org \
--cc=edgar.iglesias@gmail.com \
--cc=eduardo@habkost.net \
--cc=erdnaxe@crans.org \
--cc=gaosong@loongson.cn \
--cc=iii@linux.ibm.com \
--cc=jsnow@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=laurent@vivier.eu \
--cc=liwei1518@gmail.com \
--cc=lvivier@redhat.com \
--cc=ma.mandourr@gmail.com \
--cc=marcandre.lureau@redhat.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=mrolnik@gmail.com \
--cc=npiggin@gmail.com \
--cc=palmer@dabbelt.com \
--cc=paul@xen.org \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=pierrick.bouvier@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qemu-riscv@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=thuth@redhat.com \
--cc=wainersm@redhat.com \
--cc=wangyanan55@huawei.com \
--cc=ysato@users.sourceforge.jp \
--cc=zhiwei_liu@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).