[PULL 00/29] testing, gdbstub and plugin updates

Alex Bennée posted 29 patches 9 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240228115701.1416107-1-alex.bennee@linaro.org
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>, Alexandre Iooss <erdnaxe@crans.org>, Mahmoud Mandour <ma.mandourr@gmail.com>, Pierrick Bouvier <pierrick.bouvier@linaro.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Eduardo Habkost <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Yanan Wang <wangyanan55@huawei.com>, Laurent Vivier <laurent@vivier.eu>, John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>, Peter Maydell <peter.maydell@linaro.org>, Michael Rolnik <mrolnik@gmail.com>, Brian Cain <bcain@quicinc.com>, Song Gao <gaosong@loongson.cn>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Nicholas Piggin <npiggin@gmail.com>, Daniel Henrique Barboza <danielhb413@gmail.com>, "Cédric Le Goater" <clg@kaod.org>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Bin Meng <bin.meng@windriver.com>, Weiwei Li <liwei1518@gmail.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Yoshinori Sato <ysato@users.sourceforge.jp>, David Hildenbrand <david@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>, Thomas Huth <thuth@redhat.com>, Wainer dos Santos Moschetta <wainersm@redhat.com>, Beraldo Leal <bleal@redhat.com>, Warner Losh <imp@bsdimp.com>, Kyle Evans <kevans@freebsd.org>
There is a newer version of this series
docs/devel/multi-thread-tcg.rst                   |   1 +
docs/devel/tcg-plugins.rst                        |  72 ++++-
accel/tcg/plugin-helpers.h                        |   3 +-
include/exec/gdbstub.h                            |  43 ++-
include/hw/core/cpu.h                             |  18 +-
include/qemu/plugin.h                             |  14 +
include/qemu/qemu-plugin.h                        |  61 ++++-
include/qemu/typedefs.h                           |   1 +
plugins/plugin.h                                  |   6 +-
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                                |   5 +-
target/s390x/cpu.h                                |   2 -
tests/tcg/aarch64/semicall.h                      |   4 +-
tests/tcg/arm/semicall.h                          |   4 +-
tests/tcg/multiarch/float_helpers.h               |   4 +-
tests/tcg/riscv64/semicall.h                      |   4 +-
accel/tcg/plugin-gen.c                            |  46 +++-
contrib/plugins/cache.c                           |   2 +-
contrib/plugins/execlog.c                         | 318 ++++++++++++++++++----
gdbstub/gdbstub.c                                 | 169 +++++++-----
hw/core/cpu-common.c                              |  19 +-
linux-user/nios2/cpu_loop.c                       |   1 +
plugins/api.c                                     |  96 +++++--
plugins/core.c                                    |  28 +-
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                       |  14 +-
target/ppc/cpu_init.c                             |   7 -
target/ppc/gdbstub.c                              | 114 ++++----
target/riscv/cpu.c                                |  15 -
target/riscv/gdbstub.c                            | 145 +++++-----
target/rx/cpu.c                                   |   1 -
target/s390x/cpu.c                                |   1 -
target/s390x/gdbstub.c                            | 105 ++++---
tests/plugin/insn.c                               |  21 ++
tests/tcg/multiarch/arm-compat-semi/semiconsole.c |   4 +-
tests/tcg/multiarch/arm-compat-semi/semihosting.c |   4 +-
tests/tcg/multiarch/float_convd.c                 |   4 +-
tests/tcg/multiarch/float_convs.c                 |   4 +-
tests/tcg/multiarch/float_madds.c                 |   4 +-
tests/tcg/multiarch/libs/float_helpers.c          |   4 +-
plugins/qemu-plugins.symbols                      |   5 +-
scripts/feature_to_c.py                           |  14 +-
tests/tcg/Makefile.target                         |   9 +-
tests/tcg/i386/system/boot.S                      |   6 +-
tests/tcg/x86_64/system/boot.S                    |   6 +-
tests/vm/Makefile.include                         |   2 +-
tests/vm/basevm.py                                |   4 +-
tests/vm/openbsd                                  |   9 +-
65 files changed, 1237 insertions(+), 661 deletions(-)
[PULL 00/29] testing, gdbstub and plugin updates
Posted by Alex Bennée 9 months ago
The following changes since commit 158a054c4d1a40179f5e83cd7e1cfe65de457b92:

  Merge tag 'pull-target-arm-20240227-1' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2024-02-27 15:34:41 +0000)

are available in the Git repository at:

  https://gitlab.com/stsquad/qemu.git tags/pull-maintainer-updates-280224-1

for you to fetch changes up to 02ca5ec15089c8717d435d8a842360f15afa7d20:

  docs/devel: plugins can trigger a tb flush (2024-02-28 09:11:42 +0000)

----------------------------------------------------------------
Testing, gdbstub and plugin updates:

  - fix some test/tcg license headers to GPLv2+
  - bump up check-tcg timeout to 120s
  - avoid re-building VM images too often
  - update OpenBSD to 7.4
  - use GDBFeature to build gdbstub XML
  - unify plugin vcpu count under qemu_plugin_num_vcpus
  - avoid spurious idle/resume callbacks on new vCPUs
  - ensure nios2-linux-user processes async work
  - call vcpu_init plugin callback through async work
  - define plugin helpers when registers being read
  - add plugin API for reading register values
  - add support for register tracking to execlog
  - update plugin docs with assumptions
  - mention plugins can trigger tb_flush in mttcg design doc

----------------------------------------------------------------
Akihiko Odaki (11):
      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 (13):
      tests/tcg: update licenses to GPLv2 as intended
      tests/tcg: bump TCG test timeout to 120s
      tests/vm: avoid re-building the VM images all the time
      tests/vm: update openbsd image to 7.4
      linux-user: ensure nios2 processes queued work
      gdbstub: expose api to find registers
      plugins: create CPUPluginState and migrate plugin_mask
      plugins: add an API to read registers
      tests/tcg: expand insn test case to exercise register API
      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

Pierrick Bouvier (5):
      plugins: remove previous n_vcpus functions from API
      plugins: add qemu_plugin_num_vcpus function
      plugins: fix order of init/idle/resume callback
      cpu: call plugin init hook asynchronously
      docs/devel: plugins can trigger a tb flush

 docs/devel/multi-thread-tcg.rst                   |   1 +
 docs/devel/tcg-plugins.rst                        |  72 ++++-
 accel/tcg/plugin-helpers.h                        |   3 +-
 include/exec/gdbstub.h                            |  43 ++-
 include/hw/core/cpu.h                             |  18 +-
 include/qemu/plugin.h                             |  14 +
 include/qemu/qemu-plugin.h                        |  61 ++++-
 include/qemu/typedefs.h                           |   1 +
 plugins/plugin.h                                  |   6 +-
 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                                |   5 +-
 target/s390x/cpu.h                                |   2 -
 tests/tcg/aarch64/semicall.h                      |   4 +-
 tests/tcg/arm/semicall.h                          |   4 +-
 tests/tcg/multiarch/float_helpers.h               |   4 +-
 tests/tcg/riscv64/semicall.h                      |   4 +-
 accel/tcg/plugin-gen.c                            |  46 +++-
 contrib/plugins/cache.c                           |   2 +-
 contrib/plugins/execlog.c                         | 318 ++++++++++++++++++----
 gdbstub/gdbstub.c                                 | 169 +++++++-----
 hw/core/cpu-common.c                              |  19 +-
 linux-user/nios2/cpu_loop.c                       |   1 +
 plugins/api.c                                     |  96 +++++--
 plugins/core.c                                    |  28 +-
 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                       |  14 +-
 target/ppc/cpu_init.c                             |   7 -
 target/ppc/gdbstub.c                              | 114 ++++----
 target/riscv/cpu.c                                |  15 -
 target/riscv/gdbstub.c                            | 145 +++++-----
 target/rx/cpu.c                                   |   1 -
 target/s390x/cpu.c                                |   1 -
 target/s390x/gdbstub.c                            | 105 ++++---
 tests/plugin/insn.c                               |  21 ++
 tests/tcg/multiarch/arm-compat-semi/semiconsole.c |   4 +-
 tests/tcg/multiarch/arm-compat-semi/semihosting.c |   4 +-
 tests/tcg/multiarch/float_convd.c                 |   4 +-
 tests/tcg/multiarch/float_convs.c                 |   4 +-
 tests/tcg/multiarch/float_madds.c                 |   4 +-
 tests/tcg/multiarch/libs/float_helpers.c          |   4 +-
 plugins/qemu-plugins.symbols                      |   5 +-
 scripts/feature_to_c.py                           |  14 +-
 tests/tcg/Makefile.target                         |   9 +-
 tests/tcg/i386/system/boot.S                      |   6 +-
 tests/tcg/x86_64/system/boot.S                    |   6 +-
 tests/vm/Makefile.include                         |   2 +-
 tests/vm/basevm.py                                |   4 +-
 tests/vm/openbsd                                  |   9 +-
 65 files changed, 1237 insertions(+), 661 deletions(-)

-- 
2.39.2


Re: [PULL 00/29] testing, gdbstub and plugin updates
Posted by Peter Maydell 9 months ago
On Wed, 28 Feb 2024 at 11:58, Alex Bennée <alex.bennee@linaro.org> wrote:
>
> The following changes since commit 158a054c4d1a40179f5e83cd7e1cfe65de457b92:
>
>   Merge tag 'pull-target-arm-20240227-1' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2024-02-27 15:34:41 +0000)
>
> are available in the Git repository at:
>
>   https://gitlab.com/stsquad/qemu.git tags/pull-maintainer-updates-280224-1
>
> for you to fetch changes up to 02ca5ec15089c8717d435d8a842360f15afa7d20:
>
>   docs/devel: plugins can trigger a tb flush (2024-02-28 09:11:42 +0000)
>
> ----------------------------------------------------------------
> Testing, gdbstub and plugin updates:
>
>   - fix some test/tcg license headers to GPLv2+
>   - bump up check-tcg timeout to 120s
>   - avoid re-building VM images too often
>   - update OpenBSD to 7.4
>   - use GDBFeature to build gdbstub XML
>   - unify plugin vcpu count under qemu_plugin_num_vcpus
>   - avoid spurious idle/resume callbacks on new vCPUs
>   - ensure nios2-linux-user processes async work
>   - call vcpu_init plugin callback through async work
>   - define plugin helpers when registers being read
>   - add plugin API for reading register values
>   - add support for register tracking to execlog
>   - update plugin docs with assumptions
>   - mention plugins can trigger tb_flush in mttcg design doc
>
> ----------------------------------------------------------------


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/9.0
for any user-visible changes.

-- PMM