[PULL 00/54] testing, gdbstub, plugin and gitdm updates

Alex Bennée posted 54 patches 1 year, 6 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20221004130138.2299307-1-alex.bennee@linaro.org
Maintainers: Ed Maste <emaste@freebsd.org>, Li-Wen Hsu <lwhsu@freebsd.org>, "Alex Bennée" <alex.bennee@linaro.org>, "Philippe Mathieu-Daudé" <f4bug@amsat.org>, Thomas Huth <thuth@redhat.com>, Wainer dos Santos Moschetta <wainersm@redhat.com>, Beraldo Leal <bleal@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Alexandre Iooss <erdnaxe@crans.org>, Mahmoud Mandour <ma.mandourr@gmail.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Laurent Vivier <laurent@vivier.eu>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Markus Armbruster <armbru@redhat.com>, Christian Borntraeger <borntraeger@linux.ibm.com>, Cornelia Huck <cohuck@redhat.com>, Alexey Kardashevskiy <aik@ozlabs.ru>, "Cédric Le Goater" <clg@kaod.org>, Daniel Henrique Barboza <danielhb413@gmail.com>, David Gibson <david@gibson.dropbear.id.au>, Greg Kurz <groug@kaod.org>, Peter Maydell <peter.maydell@linaro.org>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Eduardo Habkost <eduardo@habkost.net>, David Hildenbrand <david@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>
There is a newer version of this series
docs/devel/tcg-plugins.rst                         | 175 ++++++++++++--
docs/devel/writing-monitor-commands.rst            |   2 +-
configure                                          | 258 ++++++++-------------
Makefile                                           |  12 +-
pc-bios/s390-ccw/netboot.mak                       |  27 +--
meson.build                                        |   6 +-
accel/kvm/kvm-cpus.h                               |   4 +
gdbstub/internals.h                                |  17 ++
gdbstub/trace.h                                    |   1 +
include/monitor/monitor.h                          |   1 +
include/qemu/accel.h                               |  12 +
include/qemu/plugin.h                              |  24 ++
include/sysemu/accel-ops.h                         |   7 +
include/sysemu/cpus.h                              |   3 +
include/sysemu/kvm.h                               |  36 ++-
monitor/monitor-internal.h                         |   1 -
tests/qtest/libqos/qgraph.h                        |   2 +-
accel/accel-common.c                               |  10 +
accel/kvm/kvm-accel-ops.c                          |   9 +
accel/kvm/kvm-all.c                                |  48 ++--
accel/stubs/kvm-stub.c                             |  21 --
accel/tcg/tcg-accel-ops.c                          |  98 ++++++++
accel/tcg/tcg-all.c                                |  17 ++
block/monitor/block-hmp-cmds.c                     |  10 +-
contrib/plugins/execlog.c                          |  99 ++++++--
disas.c                                            |  43 ++--
disas/capstone.c                                   |  73 +++---
gdbstub.c => gdbstub/gdbstub.c                     | 156 ++-----------
gdbstub/softmmu.c                                  |  51 ++++
gdbstub/user.c                                     |  68 ++++++
hw/misc/mos6522.c                                  |   2 +-
linux-user/main.c                                  |   2 +
monitor/hmp-cmds.c                                 |   8 +-
monitor/hmp.c                                      |   2 +-
plugins/api.c                                      |   2 +
plugins/core.c                                     |  20 ++
semihosting/arm-compat-semi.c                      |   2 +-
softmmu/cpus.c                                     |   7 +
target/i386/helper.c                               |   2 +-
tests/tcg/{ppc64le => ppc64}/bcdsub.c              |   0
tests/tcg/{ppc64le => ppc64}/byte_reverse.c        |   0
tests/tcg/{ppc64le => ppc64}/mffsce.c              |   0
tests/tcg/{ppc64le => ppc64}/mtfsf.c               |   0
tests/tcg/{ppc64le => ppc64}/non_signalling_xscv.c |   0
.../{ppc64le => ppc64}/signal_save_restore_xer.c   |   0
tests/tcg/{ppc64le => ppc64}/xxspltw.c             |   0
.gitlab-ci.d/cirrus/freebsd-12.vars                |   2 +-
.gitlab-ci.d/cirrus/freebsd-13.vars                |   2 +-
.gitlab-ci.d/cirrus/macos-11.vars                  |   2 +-
.gitlab-ci.d/windows.yml                           |   6 +-
.mailmap                                           |   1 +
MAINTAINERS                                        |   2 +-
contrib/gitdm/domain-map                           |   2 +
contrib/gitdm/group-map-academics                  |   6 +
contrib/gitdm/group-map-individuals                |   3 +
gdbstub/meson.build                                |   9 +
gdbstub/trace-events                               |  29 +++
pc-bios/optionrom/Makefile                         |  51 ++--
pc-bios/s390-ccw/Makefile                          |  43 ++--
pc-bios/vof/Makefile                               |  19 +-
scripts/ci/setup/build-environment.yml             |  15 +-
tests/Makefile.include                             |  24 +-
tests/docker/Makefile.include                      |   2 +-
tests/docker/dockerfiles/alpine.docker             |   6 +-
tests/docker/dockerfiles/centos8.docker            |   2 +
tests/docker/dockerfiles/debian-amd64-cross.docker |   3 +
tests/docker/dockerfiles/debian-amd64.docker       |   2 +
tests/docker/dockerfiles/debian-arm64-cross.docker |   3 +
tests/docker/dockerfiles/debian-armel-cross.docker |   3 +
tests/docker/dockerfiles/debian-armhf-cross.docker |   3 +
.../dockerfiles/debian-mips64el-cross.docker       |   3 +
.../docker/dockerfiles/debian-mipsel-cross.docker  |   3 +
.../docker/dockerfiles/debian-ppc64el-cross.docker |   3 +
.../docker/dockerfiles/debian-riscv64-cross.docker |   3 +
tests/docker/dockerfiles/debian-s390x-cross.docker |   3 +
tests/docker/dockerfiles/fedora-i386-cross.docker  |   2 +
tests/docker/dockerfiles/fedora-win32-cross.docker | 136 ++++++++---
tests/docker/dockerfiles/fedora-win64-cross.docker | 134 ++++++++---
tests/docker/dockerfiles/fedora.docker             |   2 +
tests/docker/dockerfiles/opensuse-leap.docker      |   2 +
tests/docker/dockerfiles/ubuntu2004.docker         |   2 +
tests/docker/run                                   |   2 +-
tests/lcitool/projects/qemu.yml                    |   3 +
tests/lcitool/refresh                              |  50 ++--
tests/tcg/Makefile.target                          |  34 ++-
tests/tcg/aarch64/Makefile.softmmu-target          |  11 +-
tests/tcg/aarch64/Makefile.target                  |  15 +-
tests/tcg/arm/Makefile.target                      |   9 +-
tests/tcg/cris/Makefile.target                     |   2 +-
tests/tcg/i386/Makefile.softmmu-target             |   3 +-
tests/tcg/i386/Makefile.target                     |  11 +-
tests/tcg/multiarch/Makefile.target                |  18 +-
tests/tcg/multiarch/system/Makefile.softmmu-target |   2 +-
tests/tcg/ppc64/Makefile.target                    |   8 +-
tests/tcg/ppc64le/Makefile.target                  |  26 +--
tests/tcg/s390x/Makefile.target                    |   2 +-
tests/tcg/x86_64/Makefile.softmmu-target           |   3 +-
trace-events                                       |  28 ---
98 files changed, 1361 insertions(+), 737 deletions(-)
create mode 100644 gdbstub/internals.h
create mode 100644 gdbstub/trace.h
rename gdbstub.c => gdbstub/gdbstub.c (95%)
create mode 100644 gdbstub/softmmu.c
create mode 100644 gdbstub/user.c
rename tests/tcg/{ppc64le => ppc64}/bcdsub.c (100%)
rename tests/tcg/{ppc64le => ppc64}/byte_reverse.c (100%)
rename tests/tcg/{ppc64le => ppc64}/mffsce.c (100%)
rename tests/tcg/{ppc64le => ppc64}/mtfsf.c (100%)
rename tests/tcg/{ppc64le => ppc64}/non_signalling_xscv.c (100%)
rename tests/tcg/{ppc64le => ppc64}/signal_save_restore_xer.c (100%)
rename tests/tcg/{ppc64le => ppc64}/xxspltw.c (100%)
create mode 100644 gdbstub/meson.build
create mode 100644 gdbstub/trace-events
[PULL 00/54] testing, gdbstub, plugin and gitdm updates
Posted by Alex Bennée 1 year, 6 months ago
The following changes since commit efbf38d73e5dcc4d5f8b98c6e7a12be1f3b91745:

  Merge tag 'for-upstream' of git://repo.or.cz/qemu/kevin into staging (2022-10-03 15:06:07 -0400)

are available in the Git repository at:

  https://github.com/stsquad/qemu.git tags/pull-testing-gdbstub-plugins-gitdm-041022-1

for you to fetch changes up to 3450eff8bef9a97121c373c60b8abf7d79bd1fe9:

  plugins: add [pre|post]fork helpers to linux-user (2022-10-04 13:52:57 +0100)

[AJB: I've run out of gitlab minutes this month to run this tag
through CI but the previous series was clean]

----------------------------------------------------------------
testing, gdbstub, plugin and gitdm updates

  - cleanup scripts/ci/setup in advance of ppc64 runner
  - ensure detected gdb reported to TCG tests
  - update hexagon container with build deps
  - generate fedora-win[32|64]-cross with lcitool
  - move alpine container to tagged release
  - fix overflow during qos-test test tree iteration
  - allow bios blobs to be built with test cross compilers
  - introduce monitor_puts for plain strings
  - share disas code between monitor and plugins
  - fix bug in execlog plugin
  - add more tcg plugin documentation, reorg
  - fix link to semihosting spec
  - re-factor gdbstub to use AccelClass/Ops
  - many gitdm updates
  - fix race with plugin mutex lock and linux-user fork()

----------------------------------------------------------------
Alex Bennée (26):
      configure: move detected gdb to TCG's config-host.mak
      tests/docker: update fedora-win[32|64]-cross with lcitool
      tests/docker: move alpine from edge to tagged release
      tests/qtest: bump up QOS_PATH_MAX_ELEMENT_SIZE
      monitor: expose monitor_puts to rest of code
      disas: generalise plugin_printf and use for monitor_disas
      disas: use result of ->read_memory_func
      plugins: extend execlog to filter matches
      docs/devel: clean-up qemu invocations in tcg-plugins
      docs/devel: move API to end of tcg-plugins.rst
      contrib/plugins: reset skip when matching in execlog
      docs/devel: document the test plugins
      semihosting: update link to spec
      gdbstub: move into its own sub directory
      gdbstub: move sstep flags probing into AccelClass
      gdbstub: move breakpoint logic to accel ops
      gdbstub: move guest debug support check to ops
      accel/kvm: move kvm_update_guest_debug to inline stub
      contrib/gitdm: add mapping for Loongson Technology
      contrib/gitdm: add Paul to individual contributors
      contrib/gitdm: add WANG Xuerui to individual contributers
      contrib/gitdm: add ISCAS to the academics group
      contrib/gitdm: add China Telecom to the domain map
      contrib/gitdm: add Simon to individual contributors
      contrib/gitdm: add Université Grenoble Alpes
      plugins: add [pre|post]fork helpers to linux-user

Anton Johansson (3):
      target/hexagon: add flex/bison/glib2 to qemu.yml
      target/hexagon: regenerate docker/cirrus files
      target/hexagon: manually add flex/bison/glib2 to remaining containers

Lucas Mateus Castro (alqotel) (4):
      scripts/ci/setup: ninja missing from build-environment
      scripts/ci/setup: Fix libxen requirements
      scripts/ci/setup: spice-server only on x86 aarch64
      tests/docker: run script use realpath instead of readlink

Paolo Bonzini (20):
      configure: do not invoke as/ld directly for pc-bios/optionrom
      pc-bios/optionrom: detect CC options just once
      pc-bios/s390-ccw: detect CC options just once
      vof: add distclean target
      build: add recursive distclean rules
      configure: return status code from probe_target_compiler
      configure: store container engine in config-host.mak
      tests: simplify Makefile invocation for tests/tcg
      tests/tcg: remove -f from Makefile invocation
      tests/tcg: add distclean rule
      tests/tcg: unify ppc64 and ppc64le Makefiles
      tests/tcg: clean up calls to run-test
      tests/tcg: move compiler tests to Makefiles
      configure: move tests/tcg/Makefile.prereqs to root build directory
      configure: unify creation of cross-compilation Makefiles
      configure: cleanup creation of tests/tcg target config
      configure: build ROMs with container-based cross compilers
      pc-bios/optionrom: Adopt meson style Make output
      pc-bios/s390-ccw: Adopt meson style Make output
      pc-bios/vof: Adopt meson style Make output

Richard Henderson (1):
      plugins: Assert mmu_idx in range before use in qemu_plugin_get_hwaddr

 docs/devel/tcg-plugins.rst                         | 175 ++++++++++++--
 docs/devel/writing-monitor-commands.rst            |   2 +-
 configure                                          | 258 ++++++++-------------
 Makefile                                           |  12 +-
 pc-bios/s390-ccw/netboot.mak                       |  27 +--
 meson.build                                        |   6 +-
 accel/kvm/kvm-cpus.h                               |   4 +
 gdbstub/internals.h                                |  17 ++
 gdbstub/trace.h                                    |   1 +
 include/monitor/monitor.h                          |   1 +
 include/qemu/accel.h                               |  12 +
 include/qemu/plugin.h                              |  24 ++
 include/sysemu/accel-ops.h                         |   7 +
 include/sysemu/cpus.h                              |   3 +
 include/sysemu/kvm.h                               |  36 ++-
 monitor/monitor-internal.h                         |   1 -
 tests/qtest/libqos/qgraph.h                        |   2 +-
 accel/accel-common.c                               |  10 +
 accel/kvm/kvm-accel-ops.c                          |   9 +
 accel/kvm/kvm-all.c                                |  48 ++--
 accel/stubs/kvm-stub.c                             |  21 --
 accel/tcg/tcg-accel-ops.c                          |  98 ++++++++
 accel/tcg/tcg-all.c                                |  17 ++
 block/monitor/block-hmp-cmds.c                     |  10 +-
 contrib/plugins/execlog.c                          |  99 ++++++--
 disas.c                                            |  43 ++--
 disas/capstone.c                                   |  73 +++---
 gdbstub.c => gdbstub/gdbstub.c                     | 156 ++-----------
 gdbstub/softmmu.c                                  |  51 ++++
 gdbstub/user.c                                     |  68 ++++++
 hw/misc/mos6522.c                                  |   2 +-
 linux-user/main.c                                  |   2 +
 monitor/hmp-cmds.c                                 |   8 +-
 monitor/hmp.c                                      |   2 +-
 plugins/api.c                                      |   2 +
 plugins/core.c                                     |  20 ++
 semihosting/arm-compat-semi.c                      |   2 +-
 softmmu/cpus.c                                     |   7 +
 target/i386/helper.c                               |   2 +-
 tests/tcg/{ppc64le => ppc64}/bcdsub.c              |   0
 tests/tcg/{ppc64le => ppc64}/byte_reverse.c        |   0
 tests/tcg/{ppc64le => ppc64}/mffsce.c              |   0
 tests/tcg/{ppc64le => ppc64}/mtfsf.c               |   0
 tests/tcg/{ppc64le => ppc64}/non_signalling_xscv.c |   0
 .../{ppc64le => ppc64}/signal_save_restore_xer.c   |   0
 tests/tcg/{ppc64le => ppc64}/xxspltw.c             |   0
 .gitlab-ci.d/cirrus/freebsd-12.vars                |   2 +-
 .gitlab-ci.d/cirrus/freebsd-13.vars                |   2 +-
 .gitlab-ci.d/cirrus/macos-11.vars                  |   2 +-
 .gitlab-ci.d/windows.yml                           |   6 +-
 .mailmap                                           |   1 +
 MAINTAINERS                                        |   2 +-
 contrib/gitdm/domain-map                           |   2 +
 contrib/gitdm/group-map-academics                  |   6 +
 contrib/gitdm/group-map-individuals                |   3 +
 gdbstub/meson.build                                |   9 +
 gdbstub/trace-events                               |  29 +++
 pc-bios/optionrom/Makefile                         |  51 ++--
 pc-bios/s390-ccw/Makefile                          |  43 ++--
 pc-bios/vof/Makefile                               |  19 +-
 scripts/ci/setup/build-environment.yml             |  15 +-
 tests/Makefile.include                             |  24 +-
 tests/docker/Makefile.include                      |   2 +-
 tests/docker/dockerfiles/alpine.docker             |   6 +-
 tests/docker/dockerfiles/centos8.docker            |   2 +
 tests/docker/dockerfiles/debian-amd64-cross.docker |   3 +
 tests/docker/dockerfiles/debian-amd64.docker       |   2 +
 tests/docker/dockerfiles/debian-arm64-cross.docker |   3 +
 tests/docker/dockerfiles/debian-armel-cross.docker |   3 +
 tests/docker/dockerfiles/debian-armhf-cross.docker |   3 +
 .../dockerfiles/debian-mips64el-cross.docker       |   3 +
 .../docker/dockerfiles/debian-mipsel-cross.docker  |   3 +
 .../docker/dockerfiles/debian-ppc64el-cross.docker |   3 +
 .../docker/dockerfiles/debian-riscv64-cross.docker |   3 +
 tests/docker/dockerfiles/debian-s390x-cross.docker |   3 +
 tests/docker/dockerfiles/fedora-i386-cross.docker  |   2 +
 tests/docker/dockerfiles/fedora-win32-cross.docker | 136 ++++++++---
 tests/docker/dockerfiles/fedora-win64-cross.docker | 134 ++++++++---
 tests/docker/dockerfiles/fedora.docker             |   2 +
 tests/docker/dockerfiles/opensuse-leap.docker      |   2 +
 tests/docker/dockerfiles/ubuntu2004.docker         |   2 +
 tests/docker/run                                   |   2 +-
 tests/lcitool/projects/qemu.yml                    |   3 +
 tests/lcitool/refresh                              |  50 ++--
 tests/tcg/Makefile.target                          |  34 ++-
 tests/tcg/aarch64/Makefile.softmmu-target          |  11 +-
 tests/tcg/aarch64/Makefile.target                  |  15 +-
 tests/tcg/arm/Makefile.target                      |   9 +-
 tests/tcg/cris/Makefile.target                     |   2 +-
 tests/tcg/i386/Makefile.softmmu-target             |   3 +-
 tests/tcg/i386/Makefile.target                     |  11 +-
 tests/tcg/multiarch/Makefile.target                |  18 +-
 tests/tcg/multiarch/system/Makefile.softmmu-target |   2 +-
 tests/tcg/ppc64/Makefile.target                    |   8 +-
 tests/tcg/ppc64le/Makefile.target                  |  26 +--
 tests/tcg/s390x/Makefile.target                    |   2 +-
 tests/tcg/x86_64/Makefile.softmmu-target           |   3 +-
 trace-events                                       |  28 ---
 98 files changed, 1361 insertions(+), 737 deletions(-)
 create mode 100644 gdbstub/internals.h
 create mode 100644 gdbstub/trace.h
 rename gdbstub.c => gdbstub/gdbstub.c (95%)
 create mode 100644 gdbstub/softmmu.c
 create mode 100644 gdbstub/user.c
 rename tests/tcg/{ppc64le => ppc64}/bcdsub.c (100%)
 rename tests/tcg/{ppc64le => ppc64}/byte_reverse.c (100%)
 rename tests/tcg/{ppc64le => ppc64}/mffsce.c (100%)
 rename tests/tcg/{ppc64le => ppc64}/mtfsf.c (100%)
 rename tests/tcg/{ppc64le => ppc64}/non_signalling_xscv.c (100%)
 rename tests/tcg/{ppc64le => ppc64}/signal_save_restore_xer.c (100%)
 rename tests/tcg/{ppc64le => ppc64}/xxspltw.c (100%)
 create mode 100644 gdbstub/meson.build
 create mode 100644 gdbstub/trace-events

-- 
2.34.1


Re: [PULL 00/54] testing, gdbstub, plugin and gitdm updates
Posted by Stefan Hajnoczi 1 year, 6 months ago
On Tue, 4 Oct 2022 at 09:38, Alex Bennée <alex.bennee@linaro.org> wrote:
>
> The following changes since commit efbf38d73e5dcc4d5f8b98c6e7a12be1f3b91745:
>
>   Merge tag 'for-upstream' of git://repo.or.cz/qemu/kevin into staging (2022-10-03 15:06:07 -0400)
>
> are available in the Git repository at:
>
>   https://github.com/stsquad/qemu.git tags/pull-testing-gdbstub-plugins-gitdm-041022-1

Hi Alex,
Please rebase and resend. There is a merge conflict.

Thanks,
Stefan
Re: [PULL 00/54] testing, gdbstub, plugin and gitdm updates
Posted by Alex Bennée 1 year, 6 months ago
Stefan Hajnoczi <stefanha@gmail.com> writes:

> On Tue, 4 Oct 2022 at 09:38, Alex Bennée <alex.bennee@linaro.org> wrote:
>>
>> The following changes since commit efbf38d73e5dcc4d5f8b98c6e7a12be1f3b91745:
>>
>>   Merge tag 'for-upstream' of git://repo.or.cz/qemu/kevin into staging (2022-10-03 15:06:07 -0400)
>>
>> are available in the Git repository at:
>>
>>   https://github.com/stsquad/qemu.git tags/pull-testing-gdbstub-plugins-gitdm-041022-1
>
> Hi Alex,
> Please rebase and resend. There is a merge conflict.

Any clue as to where - because it rebased cleanly for me.

>
> Thanks,
> Stefan


-- 
Alex Bennée
Re: [PULL 00/54] testing, gdbstub, plugin and gitdm updates
Posted by Paolo Bonzini 1 year, 6 months ago
On 10/5/22 17:23, Alex Bennée wrote:
> 
> Stefan Hajnoczi <stefanha@gmail.com> writes:
> 
>> On Tue, 4 Oct 2022 at 09:38, Alex Bennée <alex.bennee@linaro.org> wrote:
>>>
>>> The following changes since commit efbf38d73e5dcc4d5f8b98c6e7a12be1f3b91745:
>>>
>>>    Merge tag 'for-upstream' of git://repo.or.cz/qemu/kevin into staging (2022-10-03 15:06:07 -0400)
>>>
>>> are available in the Git repository at:
>>>
>>>    https://github.com/stsquad/qemu.git tags/pull-testing-gdbstub-plugins-gitdm-041022-1
>>
>> Hi Alex,
>> Please rebase and resend. There is a merge conflict.
> 
> Any clue as to where - because it rebased cleanly for me.

That's because "[PULL 12/54] configure: do not invoke as/ld directly for 
pc-bios/optionrom" was also part of my pull request.  Rebasing and 
resending will do the right thing, as it will remove your copy of that 
patch from your branch.

Paolo