mbox

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

Message ID 20221005170318.3055568-1-alex.bennee@linaro.org
State New
Headers show

Pull-request

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

Message

Alex Bennée Oct. 5, 2022, 5:03 p.m. UTC
The following changes since commit fafd35a6dab8e70a7c395aaa8e1273267cf9f3c8:

  Merge tag 'trivial-branch-for-7.2-pull-request' of https://gitlab.com/laurent_vivier/qemu into staging (2022-10-04 14:04:18 -0400)

are available in the Git repository at:

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

for you to fetch changes up to 07e60ce8a892236880e4af1f242b65d8cdc9d0b0:

  plugins: add [pre|post]fork helpers to linux-user (2022-10-05 16:22:56 +0100)

----------------------------------------------------------------
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 (19):
      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                                          | 238 ++++++++-------------
 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                         |  47 ++--
 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, 1357 insertions(+), 717 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

Comments

Stefan Hajnoczi Oct. 5, 2022, 9:25 p.m. UTC | #1
Hi Alex,
This pull request fails two CI jobs:
1. https://gitlab.com/qemu-project/qemu/-/jobs/3132270506
2. https://gitlab.com/qemu-project/qemu/-/jobs/3132270625

Maybe there is an issue with the "tests/docker: update
fedora-win[32|64]-cross with lcitool" commit (I haven't bisected)?

Thanks,
Stefan
Alex Bennée Oct. 6, 2022, 10:55 a.m. UTC | #2
Stefan Hajnoczi <stefanha@gmail.com> writes:

> Hi Alex,
> This pull request fails two CI jobs:
> 1. https://gitlab.com/qemu-project/qemu/-/jobs/3132270506
> 2. https://gitlab.com/qemu-project/qemu/-/jobs/3132270625
>
> Maybe there is an issue with the "tests/docker: update
> fedora-win[32|64]-cross with lcitool" commit (I haven't bisected)?

It appears there is a subtle difference in running:

  make docker-test-build@fedora-win64-cross 

and what is done when it hits CI. The test-mingw build has been broken
for a while but should have caught it.

I've dropped the patch and sent v3.

>
> Thanks,
> Stefan