[PATCH v2 0/6] tests/tcg: use x86_64 cross containers on all host architectures

Pierrick Bouvier posted 6 patches 2 days, 23 hours ago
tests/docker/dockerfiles/alpine.docker        |  2 +-
tests/docker/dockerfiles/centos9.docker       |  2 +-
.../dockerfiles/debian-all-test-cross.docker  | 39 +++++++++----------
.../dockerfiles/debian-amd64-cross.docker     |  4 +-
.../dockerfiles/debian-arm64-cross.docker     |  4 +-
.../dockerfiles/debian-armhf-cross.docker     |  4 +-
.../dockerfiles/debian-i686-cross.docker      |  4 +-
.../dockerfiles/debian-ppc64el-cross.docker   |  4 +-
.../dockerfiles/debian-riscv64-cross.docker   |  4 +-
.../dockerfiles/debian-s390x-cross.docker     |  4 +-
tests/docker/dockerfiles/debian.docker        |  4 +-
.../dockerfiles/fedora-rust-nightly.docker    |  2 +-
.../dockerfiles/fedora-win64-cross.docker     |  2 +-
tests/docker/dockerfiles/fedora.docker        |  2 +-
tests/docker/dockerfiles/opensuse-leap.docker |  2 +-
tests/docker/dockerfiles/ubuntu2404.docker    |  2 +-
tests/lcitool/libvirt-ci                      |  2 +-
tests/lcitool/refresh                         | 37 +++++++++---------
tests/tcg/aarch64/meson.build                 |  2 -
tests/tcg/aarch64/system/meson.build          |  1 -
tests/tcg/aarch64_be/meson.build              |  1 -
tests/tcg/alpha/meson.build                   |  2 -
tests/tcg/alpha/system/meson.build            |  1 -
tests/tcg/arm/meson.build                     |  2 -
tests/tcg/arm/system/meson.build              |  1 -
tests/tcg/hexagon/meson.build                 |  1 -
tests/tcg/hppa/meson.build                    |  1 -
tests/tcg/i386/meson.build                    |  2 -
tests/tcg/i386/system/meson.build             |  1 -
tests/tcg/loongarch64/meson.build             |  2 -
tests/tcg/loongarch64/system/meson.build      |  6 ++-
tests/tcg/m68k/meson.build                    |  1 -
tests/tcg/meson.build                         | 33 +++++++++-------
tests/tcg/mips/meson.build                    |  1 -
tests/tcg/mips64/meson.build                  |  1 -
tests/tcg/mips64el/meson.build                |  1 -
tests/tcg/or1k/meson.build                    |  1 -
tests/tcg/ppc64/meson.build                   |  1 -
tests/tcg/ppc64le/meson.build                 |  1 -
tests/tcg/riscv64/meson.build                 |  2 -
tests/tcg/riscv64/system/meson.build          |  1 -
tests/tcg/s390x/meson.build                   |  2 -
tests/tcg/s390x/system/meson.build            |  1 -
tests/tcg/sh4/meson.build                     |  1 -
tests/tcg/tricore/meson.build                 |  1 -
tests/tcg/x86_64/meson.build                  |  8 ++--
tests/tcg/x86_64/system/meson.build           |  1 -
tests/tcg/xtensa/meson.build                  |  3 --
48 files changed, 87 insertions(+), 120 deletions(-)
[PATCH v2 0/6] tests/tcg: use x86_64 cross containers on all host architectures
Posted by Pierrick Bouvier 2 days, 23 hours ago
To increase our testing surface on aarch64 and other hosts, and also to ease
maintenance of docker images, this series introduces x86_64 base containers.
We rely on qemu-user-binfmt (available at least on Fedora and Debian/Ubuntu) to
be installed to execute x86_64 binaries on other host arch.
With this, we can run the full tcg tests suite on any host architecture.

This series exposed an issue with on aarch64 hosts with test
loongarch64-softmmu-memory that was reported in issue:
https://gitlab.com/qemu-project/qemu/-/work_items/4567

v2
--

- Add comment in patch 1 to explain we detect x86_64 containers execution
  capability
- Replace the registry change patch with updated libvirt-ci, that now generates
  arch specific Dockerfiles by default
- Use lcitool --host-arch x86_64 to have stable refresh output on different host
  architectures
- Add a patch to speed up compilation of x86_64/test-avx.c.

Pierrick Bouvier (6):
  tests/tcg/meson.build: force use of linux/amd64 platform for
    containers
  tests/lcitool/refresh: generate dockerfiles using --host-arch x86_64
  tests/docker/dockerfiles/debian-all-test: remove arch specific bits
  tests/tcg/meson.build: remove cc_docker_host_arch
  tests/tcg/loongarch64/system: deactivate loongarch64-softmmu-memory
    (hang on aarch64 host)
  tests/tcg/x86_64: speed up compilation of avx, mmx and 3dnow tests

 tests/docker/dockerfiles/alpine.docker        |  2 +-
 tests/docker/dockerfiles/centos9.docker       |  2 +-
 .../dockerfiles/debian-all-test-cross.docker  | 39 +++++++++----------
 .../dockerfiles/debian-amd64-cross.docker     |  4 +-
 .../dockerfiles/debian-arm64-cross.docker     |  4 +-
 .../dockerfiles/debian-armhf-cross.docker     |  4 +-
 .../dockerfiles/debian-i686-cross.docker      |  4 +-
 .../dockerfiles/debian-ppc64el-cross.docker   |  4 +-
 .../dockerfiles/debian-riscv64-cross.docker   |  4 +-
 .../dockerfiles/debian-s390x-cross.docker     |  4 +-
 tests/docker/dockerfiles/debian.docker        |  4 +-
 .../dockerfiles/fedora-rust-nightly.docker    |  2 +-
 .../dockerfiles/fedora-win64-cross.docker     |  2 +-
 tests/docker/dockerfiles/fedora.docker        |  2 +-
 tests/docker/dockerfiles/opensuse-leap.docker |  2 +-
 tests/docker/dockerfiles/ubuntu2404.docker    |  2 +-
 tests/lcitool/libvirt-ci                      |  2 +-
 tests/lcitool/refresh                         | 37 +++++++++---------
 tests/tcg/aarch64/meson.build                 |  2 -
 tests/tcg/aarch64/system/meson.build          |  1 -
 tests/tcg/aarch64_be/meson.build              |  1 -
 tests/tcg/alpha/meson.build                   |  2 -
 tests/tcg/alpha/system/meson.build            |  1 -
 tests/tcg/arm/meson.build                     |  2 -
 tests/tcg/arm/system/meson.build              |  1 -
 tests/tcg/hexagon/meson.build                 |  1 -
 tests/tcg/hppa/meson.build                    |  1 -
 tests/tcg/i386/meson.build                    |  2 -
 tests/tcg/i386/system/meson.build             |  1 -
 tests/tcg/loongarch64/meson.build             |  2 -
 tests/tcg/loongarch64/system/meson.build      |  6 ++-
 tests/tcg/m68k/meson.build                    |  1 -
 tests/tcg/meson.build                         | 33 +++++++++-------
 tests/tcg/mips/meson.build                    |  1 -
 tests/tcg/mips64/meson.build                  |  1 -
 tests/tcg/mips64el/meson.build                |  1 -
 tests/tcg/or1k/meson.build                    |  1 -
 tests/tcg/ppc64/meson.build                   |  1 -
 tests/tcg/ppc64le/meson.build                 |  1 -
 tests/tcg/riscv64/meson.build                 |  2 -
 tests/tcg/riscv64/system/meson.build          |  1 -
 tests/tcg/s390x/meson.build                   |  2 -
 tests/tcg/s390x/system/meson.build            |  1 -
 tests/tcg/sh4/meson.build                     |  1 -
 tests/tcg/tricore/meson.build                 |  1 -
 tests/tcg/x86_64/meson.build                  |  8 ++--
 tests/tcg/x86_64/system/meson.build           |  1 -
 tests/tcg/xtensa/meson.build                  |  3 --
 48 files changed, 87 insertions(+), 120 deletions(-)

-- 
2.47.3
Re: [PATCH v2 0/6] tests/tcg: use x86_64 cross containers on all host architectures
Posted by Pierrick Bouvier 2 days, 1 hour ago
On 9/23/2026 11:57 AM, Pierrick Bouvier wrote:
> To increase our testing surface on aarch64 and other hosts, and also to ease
> maintenance of docker images, this series introduces x86_64 base containers.
> We rely on qemu-user-binfmt (available at least on Fedora and Debian/Ubuntu) to
> be installed to execute x86_64 binaries on other host arch.
> With this, we can run the full tcg tests suite on any host architecture.
> 
> This series exposed an issue with on aarch64 hosts with test
> loongarch64-softmmu-memory that was reported in issue:
> https://gitlab.com/qemu-project/qemu/-/work_items/4567
> 
> v2
> --
> 
> - Add comment in patch 1 to explain we detect x86_64 containers execution
>   capability
> - Replace the registry change patch with updated libvirt-ci, that now generates
>   arch specific Dockerfiles by default
> - Use lcitool --host-arch x86_64 to have stable refresh output on different host
>   architectures
> - Add a patch to speed up compilation of x86_64/test-avx.c.
>

I'll send this series in a PR tomorrow, unless there are additional
comments on patches 4, 5, 6.

Regards,
Pierrick
Re: [PATCH v2 0/6] tests/tcg: use x86_64 cross containers on all host architectures
Posted by Pierrick Bouvier 20 hours ago
On 9/23/2026 11:57 AM, Pierrick Bouvier wrote:
> To increase our testing surface on aarch64 and other hosts, and also to ease
> maintenance of docker images, this series introduces x86_64 base containers.
> We rely on qemu-user-binfmt (available at least on Fedora and Debian/Ubuntu) to
> be installed to execute x86_64 binaries on other host arch.
> With this, we can run the full tcg tests suite on any host architecture.
> 
> This series exposed an issue with on aarch64 hosts with test
> loongarch64-softmmu-memory that was reported in issue:
> https://gitlab.com/qemu-project/qemu/-/work_items/4567
> 
> v2
> --
> 
> - Add comment in patch 1 to explain we detect x86_64 containers execution
>   capability
> - Replace the registry change patch with updated libvirt-ci, that now generates
>   arch specific Dockerfiles by default
> - Use lcitool --host-arch x86_64 to have stable refresh output on different host
>   architectures
> - Add a patch to speed up compilation of x86_64/test-avx.c.
> 
> Pierrick Bouvier (6):
>   tests/tcg/meson.build: force use of linux/amd64 platform for
>     containers
>   tests/lcitool/refresh: generate dockerfiles using --host-arch x86_64
>   tests/docker/dockerfiles/debian-all-test: remove arch specific bits
>   tests/tcg/meson.build: remove cc_docker_host_arch
>   tests/tcg/loongarch64/system: deactivate loongarch64-softmmu-memory
>     (hang on aarch64 host)
>   tests/tcg/x86_64: speed up compilation of avx, mmx and 3dnow tests
> 
>  tests/docker/dockerfiles/alpine.docker        |  2 +-
>  tests/docker/dockerfiles/centos9.docker       |  2 +-
>  .../dockerfiles/debian-all-test-cross.docker  | 39 +++++++++----------
>  .../dockerfiles/debian-amd64-cross.docker     |  4 +-
>  .../dockerfiles/debian-arm64-cross.docker     |  4 +-
>  .../dockerfiles/debian-armhf-cross.docker     |  4 +-
>  .../dockerfiles/debian-i686-cross.docker      |  4 +-
>  .../dockerfiles/debian-ppc64el-cross.docker   |  4 +-
>  .../dockerfiles/debian-riscv64-cross.docker   |  4 +-
>  .../dockerfiles/debian-s390x-cross.docker     |  4 +-
>  tests/docker/dockerfiles/debian.docker        |  4 +-
>  .../dockerfiles/fedora-rust-nightly.docker    |  2 +-
>  .../dockerfiles/fedora-win64-cross.docker     |  2 +-
>  tests/docker/dockerfiles/fedora.docker        |  2 +-
>  tests/docker/dockerfiles/opensuse-leap.docker |  2 +-
>  tests/docker/dockerfiles/ubuntu2404.docker    |  2 +-
>  tests/lcitool/libvirt-ci                      |  2 +-
>  tests/lcitool/refresh                         | 37 +++++++++---------
>  tests/tcg/aarch64/meson.build                 |  2 -
>  tests/tcg/aarch64/system/meson.build          |  1 -
>  tests/tcg/aarch64_be/meson.build              |  1 -
>  tests/tcg/alpha/meson.build                   |  2 -
>  tests/tcg/alpha/system/meson.build            |  1 -
>  tests/tcg/arm/meson.build                     |  2 -
>  tests/tcg/arm/system/meson.build              |  1 -
>  tests/tcg/hexagon/meson.build                 |  1 -
>  tests/tcg/hppa/meson.build                    |  1 -
>  tests/tcg/i386/meson.build                    |  2 -
>  tests/tcg/i386/system/meson.build             |  1 -
>  tests/tcg/loongarch64/meson.build             |  2 -
>  tests/tcg/loongarch64/system/meson.build      |  6 ++-
>  tests/tcg/m68k/meson.build                    |  1 -
>  tests/tcg/meson.build                         | 33 +++++++++-------
>  tests/tcg/mips/meson.build                    |  1 -
>  tests/tcg/mips64/meson.build                  |  1 -
>  tests/tcg/mips64el/meson.build                |  1 -
>  tests/tcg/or1k/meson.build                    |  1 -
>  tests/tcg/ppc64/meson.build                   |  1 -
>  tests/tcg/ppc64le/meson.build                 |  1 -
>  tests/tcg/riscv64/meson.build                 |  2 -
>  tests/tcg/riscv64/system/meson.build          |  1 -
>  tests/tcg/s390x/meson.build                   |  2 -
>  tests/tcg/s390x/system/meson.build            |  1 -
>  tests/tcg/sh4/meson.build                     |  1 -
>  tests/tcg/tricore/meson.build                 |  1 -
>  tests/tcg/x86_64/meson.build                  |  8 ++--
>  tests/tcg/x86_64/system/meson.build           |  1 -
>  tests/tcg/xtensa/meson.build                  |  3 --
>  48 files changed, 87 insertions(+), 120 deletions(-)
> 

This was merged into master (efa3b9d5ac8024078225e1ab434411fdfe53b457).

Regards,
Pierrick