mbox series

[v2,00/35] maintainer tree pre-PR (testing/docs/semihosting/plugins)

Message ID 20230124180127.1881110-1-alex.bennee@linaro.org
Headers show
Series maintainer tree pre-PR (testing/docs/semihosting/plugins) | expand

Message

Alex Bennée Jan. 24, 2023, 6 p.m. UTC
Hi,

This is a roll-up of all my maintainer trees which contains fixes all
over QEMU. I'd hoped to minimise the disruption of multiple pull
requests but in the end spent a lot of time trying to re-create the
win64 cross failure which only occurs on CI. I'm not sure if the
failure is just down to some sort of weird registry issue so I'm kind
of hoping it disappears once merged. However if anyone is able to run
CI on their repo you can try:

  git push-ci -f gitlab

and then manually run:

  win64-fedora-cross-container (in containers)

and then:

  cross-win64-system (in builds)

and let me know if it hangs for you to. In which case I'll just have
to drop the Fedora 37 updates all together. Either way I'll base the
final PR of this series.

A summary of the contents:

  - some cleanups and tweaks for gitlab
  - a new playbook to install gitlab runners
  - a proposed re-org of the front about section
  - a few semihosting fixes (with docs ;-)
  - a bunch of tsan fixes touching tcg and plugins
  - fixing some plugin races
  - expunging the last vestiges of perl from the build system

The following patches need review:

  plugins: Iterate on cb_lists in qemu_plugin_user_exit
  docs: add a new section to outline emulation support (1 acks, 1 sobs)
  gitlab: add lsan suppression file to workaround tcmalloc issues
  scripts/ci: update gitlab-runner playbook to use latest runner

Alex Bennée (12):
  scripts/ci: update gitlab-runner playbook to use latest runner
  gitlab: just use plain --cc=clang for custom runner build
  tests/unit: drop hacky race avoidance in test-io-channel-command
  gitlab: add lsan suppression file to workaround tcmalloc issues
  tests/docker: drop debian-tricore-cross's partial status
  tests/tcg: skip the vma-pthread test on CI
  gitlab: wrap up test results for custom runners
  docs: add hotlinks to about preface text
  docs: add a new section to outline emulation support
  semihosting: add semihosting section to the docs
  docs: add an introduction to the system docs
  tests/tcg: add memory-sve test for aarch64

Emilio Cota (9):
  cpu: free cpu->tb_jmp_cache with RCU
  util/qht: add missing atomic_set(hashes[i])
  thread: de-const qemu_spin_destroy
  util/qht: use striped locks under TSAN
  plugins: make qemu_plugin_user_exit's locking order consistent with
    fork_start's
  plugins: fix optimization in plugin_gen_disable_mem_helpers
  translator: always pair plugin_gen_insn_{start, end} calls
  tcg: exclude non-memory effecting helpers from instrumentation
  cpu-exec: assert that plugin_mem_cbs is NULL after execution

Evgeny Iakovlev (1):
  semihosting: add O_BINARY flag in host_open for NT compatibility

Keith Packard (1):
  semihosting: Write back semihosting data before completion callback

Marc-André Lureau (7):
  build-sys: fix crlf-ending C code
  .gitlab-ci.d/windows: do not disable opengl
  meson: replace Perl usage with Python
  docs: drop texinfo options
  Update lcitool and fedora to 37
  lcitool: drop perl from QEMU project/dependencies
  lcitool: drop texinfo from QEMU project/dependencies

Mark Cave-Ayland (1):
  gitlab: add FF_SCRIPT_SECTIONS for timings

Philippe Mathieu-Daudé (1):
  tests/docker: Install flex in debian-tricore-cross

Richard Henderson (2):
  tests/tcg: Use SIGKILL for timeout
  plugins: Iterate on cb_lists in qemu_plugin_user_exit

Thomas Huth (1):
  MAINTAINERS: Fix the entry for tests/tcg/nios2

 MAINTAINERS                                   |   2 +-
 docs/about/emulation.rst                      | 192 +++++++++++++++
 docs/about/index.rst                          |  17 +-
 docs/conf.py                                  |  13 --
 docs/devel/tcg-plugins.rst                    |   2 +
 docs/interop/live-block-operations.rst        |   2 +
 docs/interop/qemu-qmp-ref.rst                 |   2 +
 docs/system/arm/emulation.rst                 |   2 +
 docs/system/index.rst                         |   4 +-
 docs/system/introduction.rst                  | 220 ++++++++++++++++++
 docs/system/multi-process.rst                 |   2 +
 docs/system/quickstart.rst                    |  21 --
 docs/tools/index.rst                          |   2 +
 docs/user/index.rst                           |   2 +
 meson.build                                   |   2 +-
 accel/tcg/plugin-helpers.h                    |   4 +-
 accel/tcg/tb-jmp-cache.h                      |   1 +
 include/qemu/plugin.h                         |  11 +
 include/qemu/thread.h                         |   5 +-
 include/tcg/tcg.h                             |   2 +
 accel/tcg/cpu-exec.c                          |   5 +-
 accel/tcg/plugin-gen.c                        |  26 ++-
 accel/tcg/translator.c                        |  15 +-
 cpu.c                                         |  11 +-
 plugins/core.c                                |  23 +-
 semihosting/syscalls.c                        |  28 +--
 tcg/tcg.c                                     |   6 +-
 tests/unit/test-io-channel-command.c          |  14 +-
 util/qht.c                                    |  97 ++++++--
 .gitlab-ci.d/base.yml                         |   5 +
 .gitlab-ci.d/buildtest.yml                    |   1 +
 .gitlab-ci.d/cirrus/freebsd-12.vars           |   2 +-
 .gitlab-ci.d/cirrus/freebsd-13.vars           |   2 +-
 .gitlab-ci.d/cirrus/macos-12.vars             |   2 +-
 .gitlab-ci.d/custom-runners.yml               |  11 +
 .../custom-runners/ubuntu-20.04-s390x.yml     |  13 +-
 .../custom-runners/ubuntu-22.04-aarch32.yml   |   2 +-
 .../custom-runners/ubuntu-22.04-aarch64.yml   |  15 +-
 .gitlab-ci.d/windows.yml                      |   5 +-
 qemu-options.hx                               |  30 ++-
 scripts/ci/setup/build-environment.yml        |   1 -
 scripts/ci/setup/gitlab-runner.yml            |  56 ++---
 scripts/ci/setup/vars.yml.template            |   2 -
 scripts/oss-fuzz/lsan_suppressions.txt        |   2 +
 scripts/shaderinclude.pl                      |  16 --
 scripts/shaderinclude.py                      |  26 +++
 tests/docker/Makefile.include                 |   1 -
 tests/docker/dockerfiles/alpine.docker        |   2 -
 tests/docker/dockerfiles/centos8.docker       |   2 -
 .../dockerfiles/debian-amd64-cross.docker     |   4 +-
 tests/docker/dockerfiles/debian-amd64.docker  |   2 -
 .../dockerfiles/debian-arm64-cross.docker     |   4 +-
 .../dockerfiles/debian-armel-cross.docker     |   4 +-
 .../dockerfiles/debian-armhf-cross.docker     |   4 +-
 .../dockerfiles/debian-mips64el-cross.docker  |   4 +-
 .../dockerfiles/debian-mipsel-cross.docker    |   4 +-
 .../dockerfiles/debian-ppc64el-cross.docker   |   4 +-
 .../dockerfiles/debian-s390x-cross.docker     |   4 +-
 .../dockerfiles/debian-toolchain.docker       |   1 -
 .../dockerfiles/debian-tricore-cross.docker   |   2 +-
 .../dockerfiles/fedora-win32-cross.docker     |   6 +-
 .../dockerfiles/fedora-win64-cross.docker     |   6 +-
 tests/docker/dockerfiles/fedora.docker        |   6 +-
 tests/docker/dockerfiles/opensuse-leap.docker |   2 -
 tests/docker/dockerfiles/ubuntu2004.docker    |   2 -
 tests/lcitool/libvirt-ci                      |   2 +-
 tests/lcitool/projects/qemu.yml               |   2 -
 tests/lcitool/refresh                         |   6 +-
 tests/qapi-schema/meson.build                 |   7 +-
 tests/tcg/Makefile.target                     |   4 +-
 tests/tcg/aarch64/Makefile.softmmu-target     |   7 +
 tests/tcg/aarch64/system/boot.S               |   3 +-
 tests/tcg/multiarch/Makefile.target           |   9 +
 tests/vm/centos.aarch64                       |   2 +-
 74 files changed, 758 insertions(+), 272 deletions(-)
 create mode 100644 docs/about/emulation.rst
 create mode 100644 docs/system/introduction.rst
 delete mode 100644 docs/system/quickstart.rst
 create mode 100644 scripts/oss-fuzz/lsan_suppressions.txt
 delete mode 100644 scripts/shaderinclude.pl
 create mode 100644 scripts/shaderinclude.py