[PATCH v8 000/105] tests/tcg: run tests with meson

Pierrick Bouvier posted 105 patches 4 weeks, 1 day ago
Failed in applying to current master (apply log)
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>, "Daniel P. Berrangé" <berrange@redhat.com>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Philippe Mathieu-Daudé" <philmd@mailo.com>, Alexandre Iooss <erdnaxe@crans.org>, John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>, Max Filippov <jcmvbkbc@gmail.com>, Peter Maydell <peter.maydell@linaro.org>, Richard Henderson <richard.henderson@linaro.org>, Brian Cain <brian.cain@oss.qualcomm.com>, Helge Deller <deller@gmx.de>, Song Gao <17746591750@163.com>, Bibo Mao <maobibo@loongson.cn>, Xianglai Li <lixianglai@loongson.cn>, Laurent Vivier <laurent@vivier.eu>, Aurelien Jarno <aurelien@aurel32.net>, Jiaxun Yang <jiaxun.yang@flygoat.com>, Aleksandar Rikalo <arikalo@gmail.com>, Stafford Horne <shorne@gmail.com>, Nicholas Piggin <npiggin@gmail.com>, Chinmay Rath <rathc@linux.ibm.com>, Glenn Miles <milesg@linux.ibm.com>, Harsh Prateek Bora <harshpb@linux.ibm.com>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Chao Liu <chao.liu@processmission.com>, Ilya Leoshkevich <iii@linux.ibm.com>, David Hildenbrand <david@kernel.org>, Yoshinori Sato <yoshinori.sato@nifty.com>
MAINTAINERS                                   |   4 +-
configure                                     | 530 +---------
docs/devel/build-system.rst                   |   4 +-
docs/devel/testing/main.rst                   |  35 +-
meson.build                                   |  21 +-
meson_options.txt                             |  95 +-
plugins/api.c                                 |   2 +
pythondeps.toml                               |   2 +-
scripts/probe-gdb-support.py                  |   1 +
tests/Makefile.include                        |  68 +-
tests/docker/docker.py                        |   4 +-
.../dockerfiles/debian-all-test-cross.docker  |  14 +-
.../dockerfiles/debian-xtensa-cross.docker    |   4 +-
tests/lcitool/refresh                         |  14 +-
tests/meson.build                             |   2 +-
tests/tcg/Makefile.target                     | 281 -----
tests/tcg/aarch64/Makefile.softmmu-target     | 147 ---
tests/tcg/aarch64/Makefile.target             | 211 ----
tests/tcg/aarch64/meson.build                 | 210 ++++
tests/tcg/aarch64/system/gpc-test.c           |   5 -
tests/tcg/aarch64/system/meson.build          | 109 ++
tests/tcg/aarch64_be/Makefile.target          |  17 -
tests/tcg/aarch64_be/meson.build              |  22 +
tests/tcg/alpha/Makefile.softmmu-target       |  34 -
tests/tcg/alpha/Makefile.target               |  18 -
tests/tcg/alpha/float_convd.ref               | 988 ++++++++++++++++++
tests/tcg/alpha/float_convs.ref               | 748 +++++++++++++
tests/tcg/alpha/float_madds.ref               | 768 ++++++++++++++
tests/tcg/alpha/meson.build                   |  55 +
tests/tcg/alpha/system/meson.build            |  47 +
tests/tcg/arm/Makefile.softmmu-target         |  80 --
tests/tcg/arm/Makefile.target                 |  87 --
tests/tcg/arm/fcvt.c                          |   6 +-
tests/tcg/arm/meson.build                     |  80 ++
tests/tcg/arm/system/meson.build              |  69 ++
tests/tcg/hexagon/Makefile.target             | 163 ---
tests/tcg/hexagon/meson.build                 | 118 +++
tests/tcg/hexagon/overflow.c                  |   1 +
tests/tcg/hppa/Makefile.target                |  14 -
tests/tcg/hppa/float_convd.ref                | 988 ++++++++++++++++++
tests/tcg/hppa/float_convs.ref                | 748 +++++++++++++
tests/tcg/hppa/float_madds.ref                | 768 ++++++++++++++
tests/tcg/hppa/meson.build                    |  22 +
tests/tcg/i386/Makefile.softmmu-target        |  37 -
tests/tcg/i386/Makefile.target                | 102 --
tests/tcg/i386/float_convd.conf               | 988 ------------------
tests/tcg/i386/float_convd.ref                | 988 ++++++++++++++++++
tests/tcg/i386/float_madds.ref                | 768 ++++++++++++++
tests/tcg/i386/meson.build                    |  58 +
tests/tcg/i386/system/meson.build             |  49 +
tests/tcg/loongarch64/Makefile.softmmu-target |  33 -
tests/tcg/loongarch64/Makefile.target         |  20 -
tests/tcg/loongarch64/meson.build             |  32 +
tests/tcg/loongarch64/system/meson.build      |  48 +
tests/tcg/m68k/Makefile.target                |   7 -
tests/tcg/m68k/float_convd.ref                | 988 ++++++++++++++++++
tests/tcg/m68k/float_convs.ref                | 748 +++++++++++++
tests/tcg/m68k/float_madds.ref                | 768 ++++++++++++++
tests/tcg/m68k/meson.build                    |  23 +
tests/tcg/meson.build                         | 513 +++++++++
tests/tcg/minilib/Makefile.target             |  21 -
tests/tcg/mips/Makefile.target                |  19 -
tests/tcg/mips/float_convd.ref                | 988 ++++++++++++++++++
tests/tcg/mips/float_convs.ref                | 748 +++++++++++++
tests/tcg/mips/float_madds.ref                | 768 ++++++++++++++
tests/tcg/mips/meson.build                    |  25 +
tests/tcg/mips64/Makefile.target              |  20 -
tests/tcg/mips64/float_convd.ref              | 988 ++++++++++++++++++
tests/tcg/mips64/float_convs.ref              | 748 +++++++++++++
tests/tcg/mips64/float_madds.ref              | 768 ++++++++++++++
tests/tcg/mips64/meson.build                  |  27 +
tests/tcg/mips64el/Makefile.target            |   8 -
tests/tcg/mips64el/float_convd.ref            | 988 ++++++++++++++++++
tests/tcg/mips64el/float_convs.ref            | 748 +++++++++++++
tests/tcg/mips64el/float_madds.ref            | 768 ++++++++++++++
tests/tcg/mips64el/meson.build                |  14 +
tests/tcg/multiarch/Makefile.target           | 224 ----
tests/tcg/multiarch/gdbstub/prot-none.py      |  42 +-
tests/tcg/multiarch/meson.build               | 149 +++
.../multiarch/plugin/check-plugin-output.sh   |  36 -
tests/tcg/multiarch/plugin/regex-compare.sh   |  28 +
tests/tcg/multiarch/sha1.c                    |   1 +
tests/tcg/multiarch/sha1.ref                  |   1 +
.../multiarch/system/Makefile.softmmu-target  |  81 --
tests/tcg/multiarch/system/memory.c           |   3 +-
tests/tcg/multiarch/system/meson.build        |  53 +
tests/tcg/or1k/Makefile                       |  71 --
tests/tcg/or1k/float_convd.ref                | 247 +++++
tests/tcg/or1k/float_convs.ref                | 187 ++++
tests/tcg/or1k/float_madds.ref                | 192 ++++
tests/tcg/or1k/meson.build                    |  72 ++
tests/tcg/or1k/test_addic.c                   |   2 +-
tests/tcg/or1k/test_muli.c                    |   5 +-
tests/tcg/plugins/meson.build                 |  11 +-
tests/tcg/ppc64/Makefile.target               |  63 --
tests/tcg/ppc64/float_convd.ref               | 988 ++++++++++++++++++
tests/tcg/ppc64/float_convs.ref               | 748 +++++++++++++
tests/tcg/ppc64/float_madds.ref               | 768 ++++++++++++++
tests/tcg/ppc64/meson.build                   |  56 +
tests/tcg/ppc64/vector.c                      |  11 +-
tests/tcg/ppc64/vsx_f2i_nan.c                 |   7 +-
tests/tcg/ppc64le/Makefile.target             |   7 -
tests/tcg/ppc64le/float_convd.ref             | 988 ++++++++++++++++++
tests/tcg/ppc64le/meson.build                 |  14 +
tests/tcg/riscv64/Makefile.target             |  20 -
tests/tcg/riscv64/float_convd.ref             | 988 ++++++++++++++++++
tests/tcg/riscv64/float_convs.ref             | 748 +++++++++++++
tests/tcg/riscv64/float_madds.ref             | 768 ++++++++++++++
tests/tcg/riscv64/meson.build                 |  38 +
tests/tcg/riscv64/system/meson.build          |  55 +
tests/tcg/s390x/Makefile.softmmu-target       |  57 -
tests/tcg/s390x/Makefile.target               | 129 ---
tests/tcg/s390x/console.c                     |  30 +-
tests/tcg/s390x/float_convd.ref               | 988 ++++++++++++++++++
tests/tcg/s390x/float_convs.ref               | 748 +++++++++++++
tests/tcg/s390x/float_madds.ref               | 768 ++++++++++++++
tests/tcg/s390x/head64.S                      |   2 +
tests/tcg/s390x/meson.build                   | 142 +++
tests/tcg/s390x/pgm-specification.mak         |  15 -
tests/tcg/s390x/system/meson.build            |  92 ++
tests/tcg/scripts/check_plugin_output.sh      |  25 +
tests/tcg/scripts/record_replay.sh            |  16 +
.../scripts/run_and_check_forbidden_output.sh |  19 +
tests/tcg/scripts/run_and_diff.sh             |  15 +
tests/tcg/scripts/run_with_input.sh           |  12 +
tests/tcg/sh4/Makefile.target                 |  18 -
tests/tcg/sh4/float_convd.ref                 | 494 +++++++++
tests/tcg/sh4/float_convs.ref                 | 374 +++++++
tests/tcg/sh4/float_madds.ref                 | 384 +++++++
tests/tcg/sh4/meson.build                     |  25 +
tests/tcg/test_cc.c                           |   9 +
tests/tcg/tricore/Makefile.softmmu-target     |  53 -
tests/tcg/tricore/meson.build                 |  57 +
tests/tcg/x86_64/Makefile.softmmu-target      |  44 -
tests/tcg/x86_64/Makefile.target              |  41 -
tests/tcg/x86_64/float_madds.ref              | 768 ++++++++++++++
tests/tcg/x86_64/meson.build                  |  84 ++
tests/tcg/x86_64/system/meson.build           |  63 ++
tests/tcg/xtensa/Makefile.softmmu-target      |  46 -
tests/tcg/xtensa/crt.S                        |   1 +
tests/tcg/xtensa/meson.build                  | 110 ++
tests/tcg/xtensaeb/Makefile.softmmu-target    |   5 -
142 files changed, 30861 insertions(+), 3865 deletions(-)
delete mode 100644 tests/tcg/Makefile.target
delete mode 100644 tests/tcg/aarch64/Makefile.softmmu-target
delete mode 100644 tests/tcg/aarch64/Makefile.target
create mode 100644 tests/tcg/aarch64/meson.build
create mode 100644 tests/tcg/aarch64/system/meson.build
delete mode 100644 tests/tcg/aarch64_be/Makefile.target
create mode 100644 tests/tcg/aarch64_be/meson.build
delete mode 100644 tests/tcg/alpha/Makefile.softmmu-target
delete mode 100644 tests/tcg/alpha/Makefile.target
create mode 100644 tests/tcg/alpha/float_convd.ref
create mode 100644 tests/tcg/alpha/float_convs.ref
create mode 100644 tests/tcg/alpha/float_madds.ref
create mode 100644 tests/tcg/alpha/meson.build
create mode 100644 tests/tcg/alpha/system/meson.build
delete mode 100644 tests/tcg/arm/Makefile.softmmu-target
delete mode 100644 tests/tcg/arm/Makefile.target
create mode 100644 tests/tcg/arm/meson.build
create mode 100644 tests/tcg/arm/system/meson.build
delete mode 100644 tests/tcg/hexagon/Makefile.target
create mode 100644 tests/tcg/hexagon/meson.build
delete mode 100644 tests/tcg/hppa/Makefile.target
create mode 100644 tests/tcg/hppa/float_convd.ref
create mode 100644 tests/tcg/hppa/float_convs.ref
create mode 100644 tests/tcg/hppa/float_madds.ref
create mode 100644 tests/tcg/hppa/meson.build
delete mode 100644 tests/tcg/i386/Makefile.softmmu-target
delete mode 100644 tests/tcg/i386/Makefile.target
delete mode 100644 tests/tcg/i386/float_convd.conf
create mode 100644 tests/tcg/i386/float_convd.ref
create mode 100644 tests/tcg/i386/float_madds.ref
create mode 100644 tests/tcg/i386/meson.build
create mode 100644 tests/tcg/i386/system/meson.build
delete mode 100644 tests/tcg/loongarch64/Makefile.softmmu-target
delete mode 100644 tests/tcg/loongarch64/Makefile.target
create mode 100644 tests/tcg/loongarch64/meson.build
create mode 100644 tests/tcg/loongarch64/system/meson.build
delete mode 100644 tests/tcg/m68k/Makefile.target
create mode 100644 tests/tcg/m68k/float_convd.ref
create mode 100644 tests/tcg/m68k/float_convs.ref
create mode 100644 tests/tcg/m68k/float_madds.ref
create mode 100644 tests/tcg/m68k/meson.build
create mode 100644 tests/tcg/meson.build
delete mode 100644 tests/tcg/minilib/Makefile.target
delete mode 100644 tests/tcg/mips/Makefile.target
create mode 100644 tests/tcg/mips/float_convd.ref
create mode 100644 tests/tcg/mips/float_convs.ref
create mode 100644 tests/tcg/mips/float_madds.ref
create mode 100644 tests/tcg/mips/meson.build
delete mode 100644 tests/tcg/mips64/Makefile.target
create mode 100644 tests/tcg/mips64/float_convd.ref
create mode 100644 tests/tcg/mips64/float_convs.ref
create mode 100644 tests/tcg/mips64/float_madds.ref
create mode 100644 tests/tcg/mips64/meson.build
delete mode 100644 tests/tcg/mips64el/Makefile.target
create mode 100644 tests/tcg/mips64el/float_convd.ref
create mode 100644 tests/tcg/mips64el/float_convs.ref
create mode 100644 tests/tcg/mips64el/float_madds.ref
create mode 100644 tests/tcg/mips64el/meson.build
delete mode 100644 tests/tcg/multiarch/Makefile.target
create mode 100644 tests/tcg/multiarch/meson.build
delete mode 100755 tests/tcg/multiarch/plugin/check-plugin-output.sh
create mode 100755 tests/tcg/multiarch/plugin/regex-compare.sh
create mode 100644 tests/tcg/multiarch/sha1.ref
delete mode 100644 tests/tcg/multiarch/system/Makefile.softmmu-target
create mode 100644 tests/tcg/multiarch/system/meson.build
delete mode 100644 tests/tcg/or1k/Makefile
create mode 100644 tests/tcg/or1k/float_convd.ref
create mode 100644 tests/tcg/or1k/float_convs.ref
create mode 100644 tests/tcg/or1k/float_madds.ref
create mode 100644 tests/tcg/or1k/meson.build
delete mode 100644 tests/tcg/ppc64/Makefile.target
create mode 100644 tests/tcg/ppc64/float_convd.ref
create mode 100644 tests/tcg/ppc64/float_convs.ref
create mode 100644 tests/tcg/ppc64/float_madds.ref
create mode 100644 tests/tcg/ppc64/meson.build
delete mode 100644 tests/tcg/ppc64le/Makefile.target
create mode 100644 tests/tcg/ppc64le/float_convd.ref
create mode 100644 tests/tcg/ppc64le/meson.build
delete mode 100644 tests/tcg/riscv64/Makefile.target
create mode 100644 tests/tcg/riscv64/float_convd.ref
create mode 100644 tests/tcg/riscv64/float_convs.ref
create mode 100644 tests/tcg/riscv64/float_madds.ref
create mode 100644 tests/tcg/riscv64/meson.build
create mode 100644 tests/tcg/riscv64/system/meson.build
delete mode 100644 tests/tcg/s390x/Makefile.softmmu-target
delete mode 100644 tests/tcg/s390x/Makefile.target
create mode 100644 tests/tcg/s390x/float_convd.ref
create mode 100644 tests/tcg/s390x/float_convs.ref
create mode 100644 tests/tcg/s390x/float_madds.ref
create mode 100644 tests/tcg/s390x/meson.build
delete mode 100644 tests/tcg/s390x/pgm-specification.mak
create mode 100644 tests/tcg/s390x/system/meson.build
create mode 100755 tests/tcg/scripts/check_plugin_output.sh
create mode 100755 tests/tcg/scripts/record_replay.sh
create mode 100755 tests/tcg/scripts/run_and_check_forbidden_output.sh
create mode 100755 tests/tcg/scripts/run_and_diff.sh
create mode 100755 tests/tcg/scripts/run_with_input.sh
delete mode 100644 tests/tcg/sh4/Makefile.target
create mode 100644 tests/tcg/sh4/float_convd.ref
create mode 100644 tests/tcg/sh4/float_convs.ref
create mode 100644 tests/tcg/sh4/float_madds.ref
create mode 100644 tests/tcg/sh4/meson.build
create mode 100644 tests/tcg/test_cc.c
delete mode 100644 tests/tcg/tricore/Makefile.softmmu-target
create mode 100644 tests/tcg/tricore/meson.build
delete mode 100644 tests/tcg/x86_64/Makefile.softmmu-target
delete mode 100644 tests/tcg/x86_64/Makefile.target
create mode 100644 tests/tcg/x86_64/float_madds.ref
create mode 100644 tests/tcg/x86_64/meson.build
create mode 100644 tests/tcg/x86_64/system/meson.build
delete mode 100644 tests/tcg/xtensa/Makefile.softmmu-target
create mode 100644 tests/tcg/xtensa/meson.build
delete mode 100644 tests/tcg/xtensaeb/Makefile.softmmu-target
[PATCH v8 000/105] tests/tcg: run tests with meson
Posted by Pierrick Bouvier 4 weeks, 1 day ago
This series replaces TCG tests makefiles with meson, with the
goal of having something more readable and maintainable in the long term.
Also it closes the gap that tcg tests had with the rest of tests, by integrating
them with meson directly.

It covers all existing tests for all architectures, including
user/system/multiarch-user/multiarch-system. It implements all requirements
listed on original thread [1].

[1] https://lore.kernel.org/qemu-devel/87wlwfsay4.fsf@draig.linaro.org/

We also have for free:
- correct and complete dependencies for any test, including:
  scripts, c.inc, headers, reference files and binaries/plugins.
- catch test declaration issues at configure time vs test time.
- proper data types for variables instead of string expansion with make.

Series first introduce the meson machinery needed in tests/tcg/meson.build, step
by step. Then it adds support for all existing archs. Finally, we remove
Makefiles and configure bits, and add documentation.

Usage:

```
make check-tcg
make check-tcg-aarch64-linux-user
make check-tcg-aarch64-softmmu
make tcg-tests

ninja tcg-tests
ninja clean
./pyvenv/bin/meson test aarch64-softmmu-asid2 --verbose
```

For reviews, this is the list of maintainers per target:
alpha: Richard Henderson <richard.henderson@linaro.org>
arm: Peter Maydell <peter.maydell@linaro.org>
hexagon: Brian Cain <brian.cain@oss.qualcomm.com>
hppa: Brian Cain <brian.cain@oss.qualcomm.com>, Helge Deller <deller@gmx.de>
loongarch: Song Gao <17746591750@163.com>, Bibo Mao <maobibo@loongson.cn>
m68k: Laurent Vivier <laurent@vivier.eu>
mips: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
or1k: Stafford Horne <shorne@gmail.com>
ppc: Nicholas Piggin <npiggin@gmail.com>
riscv: Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>
s390x: Richard Henderson <richard.henderson@linaro.org>, Ilya Leoshkevich <iii@linux.ibm.com>
sh4: Yoshinori Sato <yoshinori.sato@nifty.com>
x86: Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>
xtensa: Max Filippov <jcmvbkbc@gmail.com>
tricore: orphan
multiarch: Alex Bennée <alex.bennee@linaro.org>

v8
--

- add new tests from upstream:
  aarch64/sve-while-ptr, x86_64/segment-prefixes
  riscv64/zicclsm,zicclsm-off,test-minstret-ecall,test-misa-w
- add comment in gdbstub-prot-none.py
- add myself as Maintainer

v7
--
- tested on MacOS hosts (x64 + aarch64) in addition to linux x64 + aarch64
- fix sha1.c for big endian simply by including endian.h
- fix meson version bump: wrongly bumped qpl which had same version than meson
- gdb probe: add mipsel
- added missing compilation flags: -ffreestanding for all system tests, -march=armv7-a+fp for arm/system tests
- host cc system test: run simple test with -ffreestanding option
- testing doc: use ./run meson instead of ./pyvenv/bin/meson
- add new tests from upstream:
  - hexagon: fp_hvx, fp_hvx_disabled, fp_hvx_cvt, fp_hvx_cmp, valid-slots
  - s390x: prno-trng, stckf

v6
--
- add description for commits adding float reference files
- cache result of tests/docker/docker.py probe for faster container run
- fixed bug to detect if host cc is working
- detect when to deactivate prot-none.c test
- delete tests/tcg/s390x/pgm-specification.mak
- move remaining bits of gdb detection from configure to meson
- implement meson summary to dump tcg tests configuration
- implement ./configure containers options
- implement ./configure -cross-cc-* options
- add new tests added since last version: hexagon/unaligned_data.c

v5
--

- remove Makefiles incrementally to ease review, as suggested by Philippe
- default timeout 120 (matching Makefile default)

v4
--

- rebase on top of master (Makefiles + Dockerfile changes)
- full CI pass on GitLab
- update documentation for tcg-tests
- check host cross cc is working (handle fedora cross compiler without runtime or
  headers)
- rename cc_docker_arch to cc_docker_host_arch
- add test added since v3: aarch64/fprcvt
- enable tricore system tests (was missing -kernel parameter)
- add xtensaeb system tests
- remove dependency from s390x/console.c to roms/SLOF submodule, which allows to
  compile those tests without requiring the submodule.
- fix meson warnings (min version for test with external program in args +
  s/source_root/project_source_root/)
- skip failing test gdb-prot-none on GitLab CI

v3
--

- add all architectures
- reduce number of plugins tests (only add one test for each plugin from
  multiarch pool)
- add depends for executable - allow to depend on a custom target for generated
  headers (x86_64 mmx, avx)
- add new tests added since last version for aarch64 (mte + gpc)
- refactor series to keep all arch files at end
- add docker host architecture selection

v2
--

- s/mispell/misspell
- moved comment about why we remove 'lib' prefix for plugins
- if user declare a wrong entry in a dictionary, list possible keys
- build tests by default (with 'all' target), as long as cross compiler is
  natively installed, to avoid triggering a container build.
- reword some comments based on reviewers feedback
- always declare all tests and avoid "per config" errors (no 'if' in arch files)
- move compiler feature and gdb version checks directly in tests/tcg/meson.build
- add support for cross containers
- add top target 'tcg-tests' to rebuild all tests

Pierrick Bouvier (105):
  tests/tcg/multiarch/system/memory.c: remove unused variable
  tests/tcg/multiarch/plugin/check-plugin-output.sh: take test output as
    input
  tests/tcg/multiarch/plugin: rename check-plugin-output to
    regex-compare
  meson: bump minimal version to 1.6.0
  tests/tcg: introduce meson.build
  tests/tcg/meson.build: introduce exe_name
  tests/tcg/meson.build: introduce test_name
  tests/tcg/meson.build: introduce cflags
  tests/tcg/meson.build: introduce qemu_args
  tests/tcg/meson.build: introduce env_var
  tests/tcg/plugins: build list of test_plugins
  tests/tcg/meson.build: introduce plugin_test
  tests/tcg/meson.build: test gdb support and introduce gdb_arch
  tests/tcg/meson.build: introduce gdb_test
  tests/tcg/meson.build: introduce wrapper
  tests/tcg/meson.build: introduce expected_output
  tests/tcg/meson.build: add wrapper run_and_check_forbidden_output
  tests/tcg/meson.build: add wrapper run_with_input
  tests/tcg/meson.build: add wrapper record_replay
  tests/tcg/meson.build: add wrapper check_plugin_output
  tests/tcg/meson.build: add logic to skip tests
  tests/tcg/meson.build: introduce cc_feat and cc_feat_cflags
  tests/tcg/meson.build: introduce gdb_feat and gdb_feat_version
  tests/tcg/meson.build: move gdb_arch support check
  tests/tcg/meson.build: let test infrastructure detect compiler
  tests/docker/docker.py: return error code if probe fails
  tests/docker/docker.py: remove "Image is up to date" info
  tests/tcg/meson.build: introduce cc_dockerfile and cc_docker_host_arch
  tests/tcg/meson.build: check host cross cc is working
  tests/tcg/meson.build: introduce depends
  tests/tcg/meson.build: use full path for QEMU binary
  tests/tcg/meson.build: add top-level 'tcg-tests' target
  tests/tcg/Makefile: skip user/system tests if target Makefile is not
    present
  tests/tcg/multiarch/gdbstub/prot-none.py: deactivate on gitlab CI
  tests/tcg/multiarch/gdbstub/prot-none.py: detect if /proc/self/mem can
    be used to access PROT_NONE pages
  tests/tcg/multiarch: declare user tests
  tests/tcg/multiarch: declare system tests
  tests/tcg/meson.build: add generic plugin tests
  tests/tcg/arm/fcvt.c: use raw opcode for FPRCVT
  tests/tcg/aarch64: user tests
  tests/tcg/aarch64/system/gpc-test.c: remove unused variables
  tests/tcg/aarch64: system tests
  tests/tcg/aarch64_be: user tests
  tests/tcg/alpha: add float reference files
  tests/tcg/alpha: user tests
  tests/tcg/alpha: system tests
  tests/tcg/arm: user tests
  tests/tcg/arm: system tests
  tests/tcg/hexagon/overflow.c: add missing include
  tests/tcg/hexagon: user tests
  tests/tcg/multiarch/sha1.c: fix big endian implementation
  tests/tcg/hppa: add float reference files
  tests/tcg/hppa: user tests
  tests/tcg/i386: add missing float reference files
  tests/tcg/i386: user tests
  tests/tcg/i386: system tests
  tests/tcg/loongarch64: user tests
  tests/tcg/loongarch64: system tests
  tests/tcg/m68k: add float reference files
  tests/tcg/m68k: user tests
  scripts/probe-gdb-support.py: add mapping for mips architecture
  tests/tcg/mips: add float reference files
  test/tcg/mips: user tests
  tests/tcg/mips64: add float reference files
  tests/tcg/mips64: user tests
  tests/tcg/mips64el: add float reference files
  tests/tcg/mips64el: user tests
  tests/docker/dockerfiles/debian-all-test-cross.docker: add or1k
    toolchain
  tests/tcg/or1k/test_addic.c: remove unused variables
  tests/tcg/or1k/test_muli.c: remove set but unused variable
  tests/tcg/or1k: add float reference files
  plugins/api.c: identify or1k pc register and mark it as read only
  tests/tcg/or1k: user tests
  tests/tcg/ppc64: add float reference files
  tests/tcg/ppc64: remove dependency on qemu/compiler.h
  tests/tcg/ppc64: user tests
  tests/tcg/ppc64le: add missing float reference file
  tests/tcg/ppc64le: user tests
  tests/tcg/riscv64: add float reference files
  tests/tcg/riscv64: user tests
  tests/tcg/riscv64: system tests
  tests/tcg/s390x/head64.S: declare _exit symbol after main
  tests/tcg/s390x: add float reference files
  tests/tcg/s390x: user tests
  tests/tcg/s390x/console.c: directly implement memcpy and memset
  tests/tcg/s390x: system tests
  tests/tcg/sh4: add float reference files
  tests/tcg/sh4: user tests
  tests/tcg/tricore: system tests
  tests/tcg/x86_64: add missing float reference file
  tests/tcg/x86_64: user tests
  tests/tcg/x86_64: system tests
  tests/tcg/xtensa/crt.S: align .text section
  tests/docker/dockerfiles/debian-xtensa-cross.docker: add test_kc705_be
    toolchain for xtensaeb
  tests/tcg/xtensa: system tests
  tests/tcg/xtensa: xtensaeb system tests
  tests: remove tcg tests machinery
  tests/tcg: remove remaining Makefiles
  configure: directly pass gdb path as a meson option
  tests/tcg/meson.build: implement ./configure containers options
  tests/tcg/meson.build: implement ./configure -cross-cc-* options
  configure: remove cross_cc and gdb detection logic
  meson.build: add summary for TCG tests
  docs/devel/testing/: update documentation
  MAINTAINERS: add maintainer for tcg/tests meson infrastructure

 MAINTAINERS                                   |   4 +-
 configure                                     | 530 +---------
 docs/devel/build-system.rst                   |   4 +-
 docs/devel/testing/main.rst                   |  35 +-
 meson.build                                   |  21 +-
 meson_options.txt                             |  95 +-
 plugins/api.c                                 |   2 +
 pythondeps.toml                               |   2 +-
 scripts/probe-gdb-support.py                  |   1 +
 tests/Makefile.include                        |  68 +-
 tests/docker/docker.py                        |   4 +-
 .../dockerfiles/debian-all-test-cross.docker  |  14 +-
 .../dockerfiles/debian-xtensa-cross.docker    |   4 +-
 tests/lcitool/refresh                         |  14 +-
 tests/meson.build                             |   2 +-
 tests/tcg/Makefile.target                     | 281 -----
 tests/tcg/aarch64/Makefile.softmmu-target     | 147 ---
 tests/tcg/aarch64/Makefile.target             | 211 ----
 tests/tcg/aarch64/meson.build                 | 210 ++++
 tests/tcg/aarch64/system/gpc-test.c           |   5 -
 tests/tcg/aarch64/system/meson.build          | 109 ++
 tests/tcg/aarch64_be/Makefile.target          |  17 -
 tests/tcg/aarch64_be/meson.build              |  22 +
 tests/tcg/alpha/Makefile.softmmu-target       |  34 -
 tests/tcg/alpha/Makefile.target               |  18 -
 tests/tcg/alpha/float_convd.ref               | 988 ++++++++++++++++++
 tests/tcg/alpha/float_convs.ref               | 748 +++++++++++++
 tests/tcg/alpha/float_madds.ref               | 768 ++++++++++++++
 tests/tcg/alpha/meson.build                   |  55 +
 tests/tcg/alpha/system/meson.build            |  47 +
 tests/tcg/arm/Makefile.softmmu-target         |  80 --
 tests/tcg/arm/Makefile.target                 |  87 --
 tests/tcg/arm/fcvt.c                          |   6 +-
 tests/tcg/arm/meson.build                     |  80 ++
 tests/tcg/arm/system/meson.build              |  69 ++
 tests/tcg/hexagon/Makefile.target             | 163 ---
 tests/tcg/hexagon/meson.build                 | 118 +++
 tests/tcg/hexagon/overflow.c                  |   1 +
 tests/tcg/hppa/Makefile.target                |  14 -
 tests/tcg/hppa/float_convd.ref                | 988 ++++++++++++++++++
 tests/tcg/hppa/float_convs.ref                | 748 +++++++++++++
 tests/tcg/hppa/float_madds.ref                | 768 ++++++++++++++
 tests/tcg/hppa/meson.build                    |  22 +
 tests/tcg/i386/Makefile.softmmu-target        |  37 -
 tests/tcg/i386/Makefile.target                | 102 --
 tests/tcg/i386/float_convd.conf               | 988 ------------------
 tests/tcg/i386/float_convd.ref                | 988 ++++++++++++++++++
 tests/tcg/i386/float_madds.ref                | 768 ++++++++++++++
 tests/tcg/i386/meson.build                    |  58 +
 tests/tcg/i386/system/meson.build             |  49 +
 tests/tcg/loongarch64/Makefile.softmmu-target |  33 -
 tests/tcg/loongarch64/Makefile.target         |  20 -
 tests/tcg/loongarch64/meson.build             |  32 +
 tests/tcg/loongarch64/system/meson.build      |  48 +
 tests/tcg/m68k/Makefile.target                |   7 -
 tests/tcg/m68k/float_convd.ref                | 988 ++++++++++++++++++
 tests/tcg/m68k/float_convs.ref                | 748 +++++++++++++
 tests/tcg/m68k/float_madds.ref                | 768 ++++++++++++++
 tests/tcg/m68k/meson.build                    |  23 +
 tests/tcg/meson.build                         | 513 +++++++++
 tests/tcg/minilib/Makefile.target             |  21 -
 tests/tcg/mips/Makefile.target                |  19 -
 tests/tcg/mips/float_convd.ref                | 988 ++++++++++++++++++
 tests/tcg/mips/float_convs.ref                | 748 +++++++++++++
 tests/tcg/mips/float_madds.ref                | 768 ++++++++++++++
 tests/tcg/mips/meson.build                    |  25 +
 tests/tcg/mips64/Makefile.target              |  20 -
 tests/tcg/mips64/float_convd.ref              | 988 ++++++++++++++++++
 tests/tcg/mips64/float_convs.ref              | 748 +++++++++++++
 tests/tcg/mips64/float_madds.ref              | 768 ++++++++++++++
 tests/tcg/mips64/meson.build                  |  27 +
 tests/tcg/mips64el/Makefile.target            |   8 -
 tests/tcg/mips64el/float_convd.ref            | 988 ++++++++++++++++++
 tests/tcg/mips64el/float_convs.ref            | 748 +++++++++++++
 tests/tcg/mips64el/float_madds.ref            | 768 ++++++++++++++
 tests/tcg/mips64el/meson.build                |  14 +
 tests/tcg/multiarch/Makefile.target           | 224 ----
 tests/tcg/multiarch/gdbstub/prot-none.py      |  42 +-
 tests/tcg/multiarch/meson.build               | 149 +++
 .../multiarch/plugin/check-plugin-output.sh   |  36 -
 tests/tcg/multiarch/plugin/regex-compare.sh   |  28 +
 tests/tcg/multiarch/sha1.c                    |   1 +
 tests/tcg/multiarch/sha1.ref                  |   1 +
 .../multiarch/system/Makefile.softmmu-target  |  81 --
 tests/tcg/multiarch/system/memory.c           |   3 +-
 tests/tcg/multiarch/system/meson.build        |  53 +
 tests/tcg/or1k/Makefile                       |  71 --
 tests/tcg/or1k/float_convd.ref                | 247 +++++
 tests/tcg/or1k/float_convs.ref                | 187 ++++
 tests/tcg/or1k/float_madds.ref                | 192 ++++
 tests/tcg/or1k/meson.build                    |  72 ++
 tests/tcg/or1k/test_addic.c                   |   2 +-
 tests/tcg/or1k/test_muli.c                    |   5 +-
 tests/tcg/plugins/meson.build                 |  11 +-
 tests/tcg/ppc64/Makefile.target               |  63 --
 tests/tcg/ppc64/float_convd.ref               | 988 ++++++++++++++++++
 tests/tcg/ppc64/float_convs.ref               | 748 +++++++++++++
 tests/tcg/ppc64/float_madds.ref               | 768 ++++++++++++++
 tests/tcg/ppc64/meson.build                   |  56 +
 tests/tcg/ppc64/vector.c                      |  11 +-
 tests/tcg/ppc64/vsx_f2i_nan.c                 |   7 +-
 tests/tcg/ppc64le/Makefile.target             |   7 -
 tests/tcg/ppc64le/float_convd.ref             | 988 ++++++++++++++++++
 tests/tcg/ppc64le/meson.build                 |  14 +
 tests/tcg/riscv64/Makefile.target             |  20 -
 tests/tcg/riscv64/float_convd.ref             | 988 ++++++++++++++++++
 tests/tcg/riscv64/float_convs.ref             | 748 +++++++++++++
 tests/tcg/riscv64/float_madds.ref             | 768 ++++++++++++++
 tests/tcg/riscv64/meson.build                 |  38 +
 tests/tcg/riscv64/system/meson.build          |  55 +
 tests/tcg/s390x/Makefile.softmmu-target       |  57 -
 tests/tcg/s390x/Makefile.target               | 129 ---
 tests/tcg/s390x/console.c                     |  30 +-
 tests/tcg/s390x/float_convd.ref               | 988 ++++++++++++++++++
 tests/tcg/s390x/float_convs.ref               | 748 +++++++++++++
 tests/tcg/s390x/float_madds.ref               | 768 ++++++++++++++
 tests/tcg/s390x/head64.S                      |   2 +
 tests/tcg/s390x/meson.build                   | 142 +++
 tests/tcg/s390x/pgm-specification.mak         |  15 -
 tests/tcg/s390x/system/meson.build            |  92 ++
 tests/tcg/scripts/check_plugin_output.sh      |  25 +
 tests/tcg/scripts/record_replay.sh            |  16 +
 .../scripts/run_and_check_forbidden_output.sh |  19 +
 tests/tcg/scripts/run_and_diff.sh             |  15 +
 tests/tcg/scripts/run_with_input.sh           |  12 +
 tests/tcg/sh4/Makefile.target                 |  18 -
 tests/tcg/sh4/float_convd.ref                 | 494 +++++++++
 tests/tcg/sh4/float_convs.ref                 | 374 +++++++
 tests/tcg/sh4/float_madds.ref                 | 384 +++++++
 tests/tcg/sh4/meson.build                     |  25 +
 tests/tcg/test_cc.c                           |   9 +
 tests/tcg/tricore/Makefile.softmmu-target     |  53 -
 tests/tcg/tricore/meson.build                 |  57 +
 tests/tcg/x86_64/Makefile.softmmu-target      |  44 -
 tests/tcg/x86_64/Makefile.target              |  41 -
 tests/tcg/x86_64/float_madds.ref              | 768 ++++++++++++++
 tests/tcg/x86_64/meson.build                  |  84 ++
 tests/tcg/x86_64/system/meson.build           |  63 ++
 tests/tcg/xtensa/Makefile.softmmu-target      |  46 -
 tests/tcg/xtensa/crt.S                        |   1 +
 tests/tcg/xtensa/meson.build                  | 110 ++
 tests/tcg/xtensaeb/Makefile.softmmu-target    |   5 -
 142 files changed, 30861 insertions(+), 3865 deletions(-)
 delete mode 100644 tests/tcg/Makefile.target
 delete mode 100644 tests/tcg/aarch64/Makefile.softmmu-target
 delete mode 100644 tests/tcg/aarch64/Makefile.target
 create mode 100644 tests/tcg/aarch64/meson.build
 create mode 100644 tests/tcg/aarch64/system/meson.build
 delete mode 100644 tests/tcg/aarch64_be/Makefile.target
 create mode 100644 tests/tcg/aarch64_be/meson.build
 delete mode 100644 tests/tcg/alpha/Makefile.softmmu-target
 delete mode 100644 tests/tcg/alpha/Makefile.target
 create mode 100644 tests/tcg/alpha/float_convd.ref
 create mode 100644 tests/tcg/alpha/float_convs.ref
 create mode 100644 tests/tcg/alpha/float_madds.ref
 create mode 100644 tests/tcg/alpha/meson.build
 create mode 100644 tests/tcg/alpha/system/meson.build
 delete mode 100644 tests/tcg/arm/Makefile.softmmu-target
 delete mode 100644 tests/tcg/arm/Makefile.target
 create mode 100644 tests/tcg/arm/meson.build
 create mode 100644 tests/tcg/arm/system/meson.build
 delete mode 100644 tests/tcg/hexagon/Makefile.target
 create mode 100644 tests/tcg/hexagon/meson.build
 delete mode 100644 tests/tcg/hppa/Makefile.target
 create mode 100644 tests/tcg/hppa/float_convd.ref
 create mode 100644 tests/tcg/hppa/float_convs.ref
 create mode 100644 tests/tcg/hppa/float_madds.ref
 create mode 100644 tests/tcg/hppa/meson.build
 delete mode 100644 tests/tcg/i386/Makefile.softmmu-target
 delete mode 100644 tests/tcg/i386/Makefile.target
 delete mode 100644 tests/tcg/i386/float_convd.conf
 create mode 100644 tests/tcg/i386/float_convd.ref
 create mode 100644 tests/tcg/i386/float_madds.ref
 create mode 100644 tests/tcg/i386/meson.build
 create mode 100644 tests/tcg/i386/system/meson.build
 delete mode 100644 tests/tcg/loongarch64/Makefile.softmmu-target
 delete mode 100644 tests/tcg/loongarch64/Makefile.target
 create mode 100644 tests/tcg/loongarch64/meson.build
 create mode 100644 tests/tcg/loongarch64/system/meson.build
 delete mode 100644 tests/tcg/m68k/Makefile.target
 create mode 100644 tests/tcg/m68k/float_convd.ref
 create mode 100644 tests/tcg/m68k/float_convs.ref
 create mode 100644 tests/tcg/m68k/float_madds.ref
 create mode 100644 tests/tcg/m68k/meson.build
 create mode 100644 tests/tcg/meson.build
 delete mode 100644 tests/tcg/minilib/Makefile.target
 delete mode 100644 tests/tcg/mips/Makefile.target
 create mode 100644 tests/tcg/mips/float_convd.ref
 create mode 100644 tests/tcg/mips/float_convs.ref
 create mode 100644 tests/tcg/mips/float_madds.ref
 create mode 100644 tests/tcg/mips/meson.build
 delete mode 100644 tests/tcg/mips64/Makefile.target
 create mode 100644 tests/tcg/mips64/float_convd.ref
 create mode 100644 tests/tcg/mips64/float_convs.ref
 create mode 100644 tests/tcg/mips64/float_madds.ref
 create mode 100644 tests/tcg/mips64/meson.build
 delete mode 100644 tests/tcg/mips64el/Makefile.target
 create mode 100644 tests/tcg/mips64el/float_convd.ref
 create mode 100644 tests/tcg/mips64el/float_convs.ref
 create mode 100644 tests/tcg/mips64el/float_madds.ref
 create mode 100644 tests/tcg/mips64el/meson.build
 delete mode 100644 tests/tcg/multiarch/Makefile.target
 create mode 100644 tests/tcg/multiarch/meson.build
 delete mode 100755 tests/tcg/multiarch/plugin/check-plugin-output.sh
 create mode 100755 tests/tcg/multiarch/plugin/regex-compare.sh
 create mode 100644 tests/tcg/multiarch/sha1.ref
 delete mode 100644 tests/tcg/multiarch/system/Makefile.softmmu-target
 create mode 100644 tests/tcg/multiarch/system/meson.build
 delete mode 100644 tests/tcg/or1k/Makefile
 create mode 100644 tests/tcg/or1k/float_convd.ref
 create mode 100644 tests/tcg/or1k/float_convs.ref
 create mode 100644 tests/tcg/or1k/float_madds.ref
 create mode 100644 tests/tcg/or1k/meson.build
 delete mode 100644 tests/tcg/ppc64/Makefile.target
 create mode 100644 tests/tcg/ppc64/float_convd.ref
 create mode 100644 tests/tcg/ppc64/float_convs.ref
 create mode 100644 tests/tcg/ppc64/float_madds.ref
 create mode 100644 tests/tcg/ppc64/meson.build
 delete mode 100644 tests/tcg/ppc64le/Makefile.target
 create mode 100644 tests/tcg/ppc64le/float_convd.ref
 create mode 100644 tests/tcg/ppc64le/meson.build
 delete mode 100644 tests/tcg/riscv64/Makefile.target
 create mode 100644 tests/tcg/riscv64/float_convd.ref
 create mode 100644 tests/tcg/riscv64/float_convs.ref
 create mode 100644 tests/tcg/riscv64/float_madds.ref
 create mode 100644 tests/tcg/riscv64/meson.build
 create mode 100644 tests/tcg/riscv64/system/meson.build
 delete mode 100644 tests/tcg/s390x/Makefile.softmmu-target
 delete mode 100644 tests/tcg/s390x/Makefile.target
 create mode 100644 tests/tcg/s390x/float_convd.ref
 create mode 100644 tests/tcg/s390x/float_convs.ref
 create mode 100644 tests/tcg/s390x/float_madds.ref
 create mode 100644 tests/tcg/s390x/meson.build
 delete mode 100644 tests/tcg/s390x/pgm-specification.mak
 create mode 100644 tests/tcg/s390x/system/meson.build
 create mode 100755 tests/tcg/scripts/check_plugin_output.sh
 create mode 100755 tests/tcg/scripts/record_replay.sh
 create mode 100755 tests/tcg/scripts/run_and_check_forbidden_output.sh
 create mode 100755 tests/tcg/scripts/run_and_diff.sh
 create mode 100755 tests/tcg/scripts/run_with_input.sh
 delete mode 100644 tests/tcg/sh4/Makefile.target
 create mode 100644 tests/tcg/sh4/float_convd.ref
 create mode 100644 tests/tcg/sh4/float_convs.ref
 create mode 100644 tests/tcg/sh4/float_madds.ref
 create mode 100644 tests/tcg/sh4/meson.build
 create mode 100644 tests/tcg/test_cc.c
 delete mode 100644 tests/tcg/tricore/Makefile.softmmu-target
 create mode 100644 tests/tcg/tricore/meson.build
 delete mode 100644 tests/tcg/x86_64/Makefile.softmmu-target
 delete mode 100644 tests/tcg/x86_64/Makefile.target
 create mode 100644 tests/tcg/x86_64/float_madds.ref
 create mode 100644 tests/tcg/x86_64/meson.build
 create mode 100644 tests/tcg/x86_64/system/meson.build
 delete mode 100644 tests/tcg/xtensa/Makefile.softmmu-target
 create mode 100644 tests/tcg/xtensa/meson.build
 delete mode 100644 tests/tcg/xtensaeb/Makefile.softmmu-target

-- 
2.43.0


Re: [PATCH v8 000/105] tests/tcg: run tests with meson - last chance to review
Posted by Alex Bennée 3 weeks, 4 days ago
Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> writes:

> This series replaces TCG tests makefiles with meson, with the
> goal of having something more readable and maintainable in the long term.
> Also it closes the gap that tcg tests had with the rest of tests, by integrating
> them with meson directly.
>
> It covers all existing tests for all architectures, including
> user/system/multiarch-user/multiarch-system. It implements all requirements
> listed on original thread [1].
>
> [1] https://lore.kernel.org/qemu-devel/87wlwfsay4.fsf@draig.linaro.org/
>
<snip>

I think this series is ready to merge so consider this a final chance to
review any architecture related bits. I shall generate the PR on Friday.

>
> For reviews, this is the list of maintainers per target:
> alpha: Richard Henderson <richard.henderson@linaro.org>
> arm: Peter Maydell <peter.maydell@linaro.org>
> hexagon: Brian Cain <brian.cain@oss.qualcomm.com>
> hppa: Brian Cain <brian.cain@oss.qualcomm.com>, Helge Deller <deller@gmx.de>
> loongarch: Song Gao <17746591750@163.com>, Bibo Mao <maobibo@loongson.cn>
> m68k: Laurent Vivier <laurent@vivier.eu>
> mips: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
> or1k: Stafford Horne <shorne@gmail.com>
> ppc: Nicholas Piggin <npiggin@gmail.com>
> riscv: Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>
> s390x: Richard Henderson <richard.henderson@linaro.org>, Ilya Leoshkevich <iii@linux.ibm.com>
> sh4: Yoshinori Sato <yoshinori.sato@nifty.com>
> x86: Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>
> xtensa: Max Filippov <jcmvbkbc@gmail.com>
> tricore: orphan
> multiarch: Alex Bennée <alex.bennee@linaro.org>
<snip>

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro
Re: [PATCH v8 000/105] tests/tcg: run tests with meson - last chance to review
Posted by Pierrick Bouvier 3 weeks, 4 days ago
On 9/1/2026 8:44 AM, Alex Bennée wrote:
> Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> writes:
> 
>> This series replaces TCG tests makefiles with meson, with the
>> goal of having something more readable and maintainable in the long term.
>> Also it closes the gap that tcg tests had with the rest of tests, by integrating
>> them with meson directly.
>>
>> It covers all existing tests for all architectures, including
>> user/system/multiarch-user/multiarch-system. It implements all requirements
>> listed on original thread [1].
>>
>> [1] https://lore.kernel.org/qemu-devel/87wlwfsay4.fsf@draig.linaro.org/
>>
> <snip>
> 
> I think this series is ready to merge so consider this a final chance to
> review any architecture related bits. I shall generate the PR on Friday.
>

Glad to hear, thanks Alex.

Just be aware it does not apply at the moment (since yesterday), because
of armv7 flag added to tcg/arm/Makefile.softmmu-target. You just need to
apply it an anterior commit, and do a git rm to go past the conflict. I
don't think it's worth respining just for it.

I'll be off next week FYI, so won't be able to help if anything else is
blocking.

Regards,
Pierrick

Re: [PATCH v8 000/105] tests/tcg: run tests with meson - last chance to review
Posted by Pierrick Bouvier 3 weeks, 2 days ago
On 9/1/2026 11:22 AM, Pierrick Bouvier wrote:
> On 9/1/2026 8:44 AM, Alex Bennée wrote:
>> Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> writes:
>>
>>> This series replaces TCG tests makefiles with meson, with the
>>> goal of having something more readable and maintainable in the long term.
>>> Also it closes the gap that tcg tests had with the rest of tests, by integrating
>>> them with meson directly.
>>>
>>> It covers all existing tests for all architectures, including
>>> user/system/multiarch-user/multiarch-system. It implements all requirements
>>> listed on original thread [1].
>>>
>>> [1] https://lore.kernel.org/qemu-devel/87wlwfsay4.fsf@draig.linaro.org/
>>>
>> <snip>
>>
>> I think this series is ready to merge so consider this a final chance to
>> review any architecture related bits. I shall generate the PR on Friday.
>>
> 
> Glad to hear, thanks Alex.
> 
> Just be aware it does not apply at the moment (since yesterday), because
> of armv7 flag added to tcg/arm/Makefile.softmmu-target. You just need to
> apply it an anterior commit, and do a git rm to go past the conflict. I
> don't think it's worth respining just for it.
> 
> I'll be off next week FYI, so won't be able to help if anything else is
> blocking.
> 
> Regards,
> Pierrick

A new conflict appeared today with latest hexagon PR.
If you feel like solving it and adding missing test cases, feel free to
do and send the PR.

Else, as I'll be off from tomorrow and next week, I'll rebase it when
I'm back and send directly the PR for this series to avoid having to
deal with another conflict.

Regards,
Pierrick

Re: [PATCH v8 000/105] tests/tcg: run tests with meson - last chance to review
Posted by Pierrick Bouvier 3 weeks, 2 days ago
On 9/3/2026 9:34 AM, Pierrick Bouvier wrote:
> On 9/1/2026 11:22 AM, Pierrick Bouvier wrote:
>> On 9/1/2026 8:44 AM, Alex Bennée wrote:
>>> Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> writes:
>>>
>>>> This series replaces TCG tests makefiles with meson, with the
>>>> goal of having something more readable and maintainable in the long term.
>>>> Also it closes the gap that tcg tests had with the rest of tests, by integrating
>>>> them with meson directly.
>>>>
>>>> It covers all existing tests for all architectures, including
>>>> user/system/multiarch-user/multiarch-system. It implements all requirements
>>>> listed on original thread [1].
>>>>
>>>> [1] https://lore.kernel.org/qemu-devel/87wlwfsay4.fsf@draig.linaro.org/
>>>>
>>> <snip>
>>>
>>> I think this series is ready to merge so consider this a final chance to
>>> review any architecture related bits. I shall generate the PR on Friday.
>>>
>>
>> Glad to hear, thanks Alex.
>>
>> Just be aware it does not apply at the moment (since yesterday), because
>> of armv7 flag added to tcg/arm/Makefile.softmmu-target. You just need to
>> apply it an anterior commit, and do a git rm to go past the conflict. I
>> don't think it's worth respining just for it.
>>
>> I'll be off next week FYI, so won't be able to help if anything else is
>> blocking.
>>
>> Regards,
>> Pierrick
> 
> A new conflict appeared today with latest hexagon PR.
> If you feel like solving it and adding missing test cases, feel free to
> do and send the PR.
>

For reference, that's the change to add to conflicting commit:

diff --git a/tests/tcg/hexagon/meson.build b/tests/tcg/hexagon/meson.build
index aef9a53d773..4a2826c4276 100644
--- a/tests/tcg/hexagon/meson.build
+++ b/tests/tcg/hexagon/meson.build
@@ -49,6 +49,7 @@ tests += {
   },
   'invalid-encoding.c': {'cflags': cflags},
   'invalid-slots.c': {'cflags': cflags},
+  'icinva.c': {'cflags': cflags},
   'load_align.c': {'cflags': cflags},
   'load_unpack.c': {'cflags': cflags},
   # Build this test with -mv71 to exercise the CABAC instruction
@@ -60,6 +61,7 @@ tests += {
   'multi_result.c': {'cflags': cflags},
   'mem_noshuf.c': {'cflags': cflags},
   'mem_noshuf_exception.c': {'cflags': cflags},
+  'privileged-insn.c': {'cflags': cflags},
   'read_write_overlap.c': {'cflags': cflags},
   'reg_mut.c': {'cflags': cflags},
   'scatter_gather.c': {'cflags': [cflags, '-mhvx']},

> Else, as I'll be off from tomorrow and next week, I'll rebase it when
> I'm back and send directly the PR for this series to avoid having to
> deal with another conflict.
> 
> Regards,
> Pierrick


Re: [PATCH v8 000/105] tests/tcg: run tests with meson - last chance to review
Posted by Pierrick Bouvier 3 weeks, 2 days ago
On 9/3/2026 9:37 AM, Pierrick Bouvier wrote:
> On 9/3/2026 9:34 AM, Pierrick Bouvier wrote:
>> On 9/1/2026 11:22 AM, Pierrick Bouvier wrote:
>>> On 9/1/2026 8:44 AM, Alex Bennée wrote:
>>>> Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> writes:
>>>>
>>>>> This series replaces TCG tests makefiles with meson, with the
>>>>> goal of having something more readable and maintainable in the long term.
>>>>> Also it closes the gap that tcg tests had with the rest of tests, by integrating
>>>>> them with meson directly.
>>>>>
>>>>> It covers all existing tests for all architectures, including
>>>>> user/system/multiarch-user/multiarch-system. It implements all requirements
>>>>> listed on original thread [1].
>>>>>
>>>>> [1] https://lore.kernel.org/qemu-devel/87wlwfsay4.fsf@draig.linaro.org/
>>>>>
>>>> <snip>
>>>>
>>>> I think this series is ready to merge so consider this a final chance to
>>>> review any architecture related bits. I shall generate the PR on Friday.
>>>>
>>>
>>> Glad to hear, thanks Alex.
>>>
>>> Just be aware it does not apply at the moment (since yesterday), because
>>> of armv7 flag added to tcg/arm/Makefile.softmmu-target. You just need to
>>> apply it an anterior commit, and do a git rm to go past the conflict. I
>>> don't think it's worth respining just for it.
>>>
>>> I'll be off next week FYI, so won't be able to help if anything else is
>>> blocking.
>>>
>>> Regards,
>>> Pierrick
>>
>> A new conflict appeared today with latest hexagon PR.
>> If you feel like solving it and adding missing test cases, feel free to
>> do and send the PR.
>>
> 
> For reference, that's the change to add to conflicting commit:
> 
> diff --git a/tests/tcg/hexagon/meson.build b/tests/tcg/hexagon/meson.build
> index aef9a53d773..4a2826c4276 100644
> --- a/tests/tcg/hexagon/meson.build
> +++ b/tests/tcg/hexagon/meson.build
> @@ -49,6 +49,7 @@ tests += {
>    },
>    'invalid-encoding.c': {'cflags': cflags},
>    'invalid-slots.c': {'cflags': cflags},
> +  'icinva.c': {'cflags': cflags},
>    'load_align.c': {'cflags': cflags},
>    'load_unpack.c': {'cflags': cflags},
>    # Build this test with -mv71 to exercise the CABAC instruction
> @@ -60,6 +61,7 @@ tests += {
>    'multi_result.c': {'cflags': cflags},
>    'mem_noshuf.c': {'cflags': cflags},
>    'mem_noshuf_exception.c': {'cflags': cflags},
> +  'privileged-insn.c': {'cflags': cflags},
>    'read_write_overlap.c': {'cflags': cflags},
>    'reg_mut.c': {'cflags': cflags},
>    'scatter_gather.c': {'cflags': [cflags, '-mhvx']},
>

And, please find an updated branch for current series here:
https://github.com/qualcomm/qemu/tree/pbouvier/series/tcg_tests_meson

Regards,
Pierrick

Re: [PATCH v8 000/105] tests/tcg: run tests with meson
Posted by Pierrick Bouvier 4 weeks, 1 day ago
On 8/27/2026 3:13 PM, Pierrick Bouvier wrote:
> For reviews, this is the list of maintainers per target:
> alpha: Richard Henderson <richard.henderson@linaro.org>
> arm: Peter Maydell <peter.maydell@linaro.org>
> hexagon: Brian Cain <brian.cain@oss.qualcomm.com>
> hppa: Brian Cain <brian.cain@oss.qualcomm.com>, Helge Deller <deller@gmx.de>
> loongarch: Song Gao <17746591750@163.com>, Bibo Mao <maobibo@loongson.cn>
> m68k: Laurent Vivier <laurent@vivier.eu>
> mips: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
> or1k: Stafford Horne <shorne@gmail.com>
> ppc: Nicholas Piggin <npiggin@gmail.com>
> riscv: Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>
> s390x: Richard Henderson <richard.henderson@linaro.org>, Ilya Leoshkevich <iii@linux.ibm.com>
> sh4: Yoshinori Sato <yoshinori.sato@nifty.com>
> x86: Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>
> xtensa: Max Filippov <jcmvbkbc@gmail.com>
> tricore: orphan
> multiarch: Alex Bennée <alex.bennee@linaro.org>
>
Patches for target tests (36-96) still need review.
Series is ordered per target, in alphabetic order, you should find yours
easily.

Since tricore is orphan, I would appreciate if anyone could give a
review to patch 89, adding tricore tests.

Thanks,
Pierrick