* [PATCH v2 00/11] Final fixes for 10.2 (build, docs, dockerfiles, plugins)
@ 2025-12-04 19:48 Alex Bennée
2025-12-04 19:48 ` [PATCH v2 01/11] gitlab: drop --disable-pie from aarch64-all-linux-static build Alex Bennée
` (10 more replies)
0 siblings, 11 replies; 23+ messages in thread
From: Alex Bennée @ 2025-12-04 19:48 UTC (permalink / raw)
To: qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Alex Bennée, Pierrick Bouvier,
Daniel P. Berrangé, Paolo Bonzini, Thomas Huth
I'm on the fence if these are needed for 10.2. There is at least one
bug fix (plugins) but the build and documentation fixes can easily be
punted to 11.0 if we are feeling nervous.
v2
Well the list grew as I fixed up the issues caused by the transition
of debian-all-test-cross to lcitool. There is also a typo fix and a
tweak to one of the custom runner jobs that is no longer needed.
The following still need review:
MAINTAINERS: update the custom runner entries
docs/devel: update build environment setup documentation
tests/docker: drop --disable-[tools|system] from all-test-cross
tests/docker: transition debian-all-test-cross to lcitool
tests/lcitool: add nettle to the minimal deps
tests/lcitool: add bzip2 to the minimal dependency list
tests/tcg: honour the available QEMU binaries when running check-tcg
gitlab: drop explicit pxe-test from the build-tci job
gitlab: drop --disable-pie from aarch64-all-linux-static build
Alex.
Alano Song (1):
docs/devel: Correct typo
Alex Bennée (10):
gitlab: drop --disable-pie from aarch64-all-linux-static build
gitlab: drop explicit pxe-test from the build-tci job
tests/tcg: honour the available QEMU binaries when running check-tcg
tests/lcitool: add bzip2 to the minimal dependency list
tests/lcitool: add nettle to the minimal deps
tests/docker: transition debian-all-test-cross to lcitool
tests/docker: drop --disable-[tools|system] from all-test-cross
docs/devel: update build environment setup documentation
MAINTAINERS: update the custom runner entries
plugins/core: allow reading of registers during discon events
MAINTAINERS | 7 +-
docs/devel/atomics.rst | 4 +-
docs/devel/build-environment.rst | 145 ++++++++++++------
configure | 6 +-
plugins/core.c | 2 +
.gitlab-ci.d/buildtest.yml | 4 +-
.../custom-runners/ubuntu-24.04-aarch64.yml | 4 +-
tests/Makefile.include | 9 ++
.../dockerfiles/debian-all-test-cross.docker | 131 +++++++++-------
tests/lcitool/projects/qemu-minimal.yml | 2 +
tests/lcitool/refresh | 49 ++++++
11 files changed, 245 insertions(+), 118 deletions(-)
--
2.47.3
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH v2 01/11] gitlab: drop --disable-pie from aarch64-all-linux-static build
2025-12-04 19:48 [PATCH v2 00/11] Final fixes for 10.2 (build, docs, dockerfiles, plugins) Alex Bennée
@ 2025-12-04 19:48 ` Alex Bennée
2025-12-05 7:53 ` Thomas Huth
2025-12-04 19:48 ` [PATCH v2 02/11] gitlab: drop explicit pxe-test from the build-tci job Alex Bennée
` (9 subsequent siblings)
10 siblings, 1 reply; 23+ messages in thread
From: Alex Bennée @ 2025-12-04 19:48 UTC (permalink / raw)
To: qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Alex Bennée, Pierrick Bouvier,
Daniel P. Berrangé, Paolo Bonzini, Thomas Huth,
Michael Tokarev
Since we have upgraded to 24.04 with its new libc we no longer need
this workaround.
Link: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1987438
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Suggested-by: Michael Tokarev <mjt@tls.msk.ru>
---
.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml b/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml
index 98d99193457..b4c0faab15d 100644
--- a/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml
+++ b/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml
@@ -41,9 +41,7 @@
ubuntu-24.04-aarch64-all-linux-static:
extends: .ubuntu_aarch64_template
variables:
- # Disable -static-pie due to build error with system libc:
- # https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1987438
- CONFIGURE_ARGS: --enable-debug --static --disable-system --disable-pie
+ CONFIGURE_ARGS: --enable-debug --static --disable-system
MAKE_CHECK_ARGS: check-tcg
ubuntu-24.04-aarch64-all:
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 02/11] gitlab: drop explicit pxe-test from the build-tci job
2025-12-04 19:48 [PATCH v2 00/11] Final fixes for 10.2 (build, docs, dockerfiles, plugins) Alex Bennée
2025-12-04 19:48 ` [PATCH v2 01/11] gitlab: drop --disable-pie from aarch64-all-linux-static build Alex Bennée
@ 2025-12-04 19:48 ` Alex Bennée
2025-12-05 7:54 ` Thomas Huth
2025-12-04 19:48 ` [PATCH v2 03/11] tests/tcg: honour the available QEMU binaries when running check-tcg Alex Bennée
` (8 subsequent siblings)
10 siblings, 1 reply; 23+ messages in thread
From: Alex Bennée @ 2025-12-04 19:48 UTC (permalink / raw)
To: qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Alex Bennée, Pierrick Bouvier,
Daniel P. Berrangé, Paolo Bonzini, Thomas Huth
This needs libslirp to run and as debian-all-test-cross will soon be
based on qemu-minimal we won't have it in a few commits.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
.gitlab-ci.d/buildtest.yml | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index 44df116139b..dfe954fe3ce 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -656,14 +656,12 @@ build-tci:
--target-list="$(for tg in $TARGETS; do echo -n ${tg}'-softmmu '; done)"
|| { cat config.log meson-logs/meson-log.txt && exit 1; }
- make -j"$JOBS"
- - make tests/qtest/boot-serial-test tests/qtest/cdrom-test tests/qtest/pxe-test
+ - make tests/qtest/boot-serial-test tests/qtest/cdrom-test
- for tg in $TARGETS ; do
export QTEST_QEMU_BINARY="./qemu-system-${tg}" ;
./tests/qtest/boot-serial-test || exit 1 ;
./tests/qtest/cdrom-test || exit 1 ;
done
- - QTEST_QEMU_BINARY="./qemu-system-x86_64" ./tests/qtest/pxe-test
- - QTEST_QEMU_BINARY="./qemu-system-s390x" ./tests/qtest/pxe-test -m slow
- make check-tcg
# Check our reduced build configurations
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 03/11] tests/tcg: honour the available QEMU binaries when running check-tcg
2025-12-04 19:48 [PATCH v2 00/11] Final fixes for 10.2 (build, docs, dockerfiles, plugins) Alex Bennée
2025-12-04 19:48 ` [PATCH v2 01/11] gitlab: drop --disable-pie from aarch64-all-linux-static build Alex Bennée
2025-12-04 19:48 ` [PATCH v2 02/11] gitlab: drop explicit pxe-test from the build-tci job Alex Bennée
@ 2025-12-04 19:48 ` Alex Bennée
2025-12-04 19:48 ` [PATCH v2 04/11] tests/lcitool: add bzip2 to the minimal dependency list Alex Bennée
` (7 subsequent siblings)
10 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2025-12-04 19:48 UTC (permalink / raw)
To: qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Alex Bennée, Pierrick Bouvier,
Daniel P. Berrangé, Paolo Bonzini, Thomas Huth
Currently configure can identify all the targets that have
cross-compilers available from the supplied target-list. By default
this is the default_target_list which is all possible targets we can
build.
At the same time the target list passed to meson is filtered down
depending on various factors including not building 64 bit targets on
32 bit hosts. As a result make check-tcg will erroneously attempt to
run tests for which we haven't built a QEMU.
Solve this by filtering the final list of TCG_TEST_TARGETS based on
what actually was configured by meson. Rename the variable that
configure spits out to TCG_TESTS_WITH_COMPILERS for clarity and to
avoid larger churn in the Makefile.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
configure | 6 +++---
tests/Makefile.include | 9 +++++++++
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/configure b/configure
index a2f66f7ff9c..82cace1bc95 100755
--- a/configure
+++ b/configure
@@ -1801,7 +1801,7 @@ if test "$plugins" = "yes" ; then
fi
echo "PYTHON=$python" >> tests/tcg/$config_host_mak
-tcg_tests_targets=
+tcg_tests_with_compilers=
for target in $target_list; do
arch=${target%%-*}
@@ -1852,12 +1852,12 @@ for target in $target_list; do
fi
echo "run-tcg-tests-$target: $qemu\$(EXESUF)" >> Makefile.prereqs
- tcg_tests_targets="$tcg_tests_targets $target"
+ tcg_tests_with_compilers="$tcg_tests_with_compilers $target"
fi
done
if test "$tcg" = "enabled"; then
- echo "TCG_TESTS_TARGETS=$tcg_tests_targets" >> $config_host_mak
+ echo "TCG_TESTS_WITH_COMPILERS=$tcg_tests_with_compilers" >> $config_host_mak
fi
if test "$skip_meson" = no; then
diff --git a/tests/Makefile.include b/tests/Makefile.include
index d4dfbf3716d..7728098981d 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -37,6 +37,15 @@ export SRC_PATH
SPEED = quick
+
+# TCG_TESTS_WITH_COMPILERS represents the test targets we have cross compiler
+# support for, CONFIGURED_TEST_TARGETS it what meson has finally
+# configured having rejected stuff we can't build.
+CONFIGURED_TCG_TARGETS=$(patsubst %-config-target.h, %, $(wildcard *-config-target.h))
+
+# This is the intersection of what tests we can build and is configured
+TCG_TESTS_TARGETS=$(filter $(CONFIGURED_TCG_TARGETS), $(TCG_TESTS_WITH_COMPILERS))
+
# Per guest TCG tests
BUILD_TCG_TARGET_RULES=$(patsubst %,build-tcg-tests-%, $(TCG_TESTS_TARGETS))
CLEAN_TCG_TARGET_RULES=$(patsubst %,clean-tcg-tests-%, $(TCG_TESTS_TARGETS))
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 04/11] tests/lcitool: add bzip2 to the minimal dependency list
2025-12-04 19:48 [PATCH v2 00/11] Final fixes for 10.2 (build, docs, dockerfiles, plugins) Alex Bennée
` (2 preceding siblings ...)
2025-12-04 19:48 ` [PATCH v2 03/11] tests/tcg: honour the available QEMU binaries when running check-tcg Alex Bennée
@ 2025-12-04 19:48 ` Alex Bennée
2025-12-05 6:14 ` Thomas Huth
2025-12-04 19:48 ` [PATCH v2 05/11] tests/lcitool: add nettle to the minimal deps Alex Bennée
` (6 subsequent siblings)
10 siblings, 1 reply; 23+ messages in thread
From: Alex Bennée @ 2025-12-04 19:48 UTC (permalink / raw)
To: qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Alex Bennée, Pierrick Bouvier,
Daniel P. Berrangé, Paolo Bonzini, Thomas Huth
You cannot build any softmmu targets without it by default unless you
build with --disable-install-blobs.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/lcitool/projects/qemu-minimal.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/lcitool/projects/qemu-minimal.yml b/tests/lcitool/projects/qemu-minimal.yml
index 6bc232a1c3e..2a1ac51d402 100644
--- a/tests/lcitool/projects/qemu-minimal.yml
+++ b/tests/lcitool/projects/qemu-minimal.yml
@@ -4,6 +4,7 @@ packages:
- bash
- bc
- bison
+ - bzip2
- ccache
- findutils
- flex
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 05/11] tests/lcitool: add nettle to the minimal deps
2025-12-04 19:48 [PATCH v2 00/11] Final fixes for 10.2 (build, docs, dockerfiles, plugins) Alex Bennée
` (3 preceding siblings ...)
2025-12-04 19:48 ` [PATCH v2 04/11] tests/lcitool: add bzip2 to the minimal dependency list Alex Bennée
@ 2025-12-04 19:48 ` Alex Bennée
2025-12-05 6:37 ` Thomas Huth
2025-12-04 19:48 ` [PATCH v2 06/11] tests/docker: transition debian-all-test-cross to lcitool Alex Bennée
` (5 subsequent siblings)
10 siblings, 1 reply; 23+ messages in thread
From: Alex Bennée @ 2025-12-04 19:48 UTC (permalink / raw)
To: qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Alex Bennée, Pierrick Bouvier,
Daniel P. Berrangé, Paolo Bonzini, Thomas Huth
Technically we don't need a crypto library to do the base build but
I couldn't see an easy way to skip iotests which would otherwise fail.
Besides libnettle is a fairly small library even if its not the
fastest crypto implementation.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/lcitool/projects/qemu-minimal.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/lcitool/projects/qemu-minimal.yml b/tests/lcitool/projects/qemu-minimal.yml
index 2a1ac51d402..eebdc23e682 100644
--- a/tests/lcitool/projects/qemu-minimal.yml
+++ b/tests/lcitool/projects/qemu-minimal.yml
@@ -18,6 +18,7 @@ packages:
- libffi
- make
- meson
+ - nettle
- ninja
- pixman
- pkg-config
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 06/11] tests/docker: transition debian-all-test-cross to lcitool
2025-12-04 19:48 [PATCH v2 00/11] Final fixes for 10.2 (build, docs, dockerfiles, plugins) Alex Bennée
` (4 preceding siblings ...)
2025-12-04 19:48 ` [PATCH v2 05/11] tests/lcitool: add nettle to the minimal deps Alex Bennée
@ 2025-12-04 19:48 ` Alex Bennée
2025-12-04 19:48 ` [PATCH v2 07/11] tests/docker: drop --disable-[tools|system] from all-test-cross Alex Bennée
` (4 subsequent siblings)
10 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2025-12-04 19:48 UTC (permalink / raw)
To: qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Alex Bennée, Pierrick Bouvier,
Daniel P. Berrangé, Paolo Bonzini, Thomas Huth
While we are at it bump up to debian-13. As we use this container in
the CI runs this also has the benefit of ensuring our qemu-minimal
dependencies project really has just what we need to build a basic
QEMU.
We add a few extra packages so we can build with clang as well as what
we need to probe for the available cross-compilers in the image.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
v2
- add dpkg-dev, clang and libclang-rt-dev to extras
---
.../dockerfiles/debian-all-test-cross.docker | 129 ++++++++++--------
tests/lcitool/refresh | 49 +++++++
2 files changed, 124 insertions(+), 54 deletions(-)
diff --git a/tests/docker/dockerfiles/debian-all-test-cross.docker b/tests/docker/dockerfiles/debian-all-test-cross.docker
index 420a4e33e60..1b01cfe8504 100644
--- a/tests/docker/dockerfiles/debian-all-test-cross.docker
+++ b/tests/docker/dockerfiles/debian-all-test-cross.docker
@@ -1,77 +1,98 @@
+# THIS FILE WAS AUTO-GENERATED
#
-# Docker all cross-compiler target (tests only)
+# $ lcitool dockerfile --layers all debian-13 qemu-minimal
#
-# While the normal cross builds take care to setup proper multiarch
-# build environments which can cross build QEMU this just installs the
-# basic compilers for as many targets as possible. We shall use this
-# to build and run linux-user tests on GitLab
-#
-FROM docker.io/library/debian:12-slim
+# https://gitlab.com/libvirt/libvirt-ci
-# Duplicate deb line as deb-src
-RUN sed -in "s/Types: deb/Types: deb deb-src/g" /etc/apt/sources.list.d/debian.sources
+FROM docker.io/library/debian:13-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
apt-get install -y eatmydata && \
eatmydata apt-get dist-upgrade -y && \
- apt build-dep -yy --arch-only qemu
+ eatmydata apt-get install --no-install-recommends -y \
+ bash \
+ bc \
+ bison \
+ bzip2 \
+ ca-certificates \
+ ccache \
+ findutils \
+ flex \
+ gcc \
+ git \
+ libc6-dev \
+ libfdt-dev \
+ libffi-dev \
+ libglib2.0-dev \
+ libpixman-1-dev \
+ locales \
+ make \
+ nettle-dev \
+ ninja-build \
+ pkgconf \
+ python3 \
+ python3-pip \
+ python3-setuptools \
+ python3-venv \
+ python3-wheel \
+ sed \
+ tar && \
+ eatmydata apt-get autoremove -y && \
+ eatmydata apt-get autoclean -y && \
+ sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
+ dpkg-reconfigure locales && \
+ rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \
+ dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
+ mkdir -p /usr/libexec/ccache-wrappers && \
+ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
+ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
-# Add extra build tools and as many cross compilers as we can for testing
-RUN DEBIAN_FRONTEND=noninteractive eatmydata \
- apt install -y --no-install-recommends \
- bison \
- ccache \
- clang \
- dpkg-dev \
- flex \
- gcc \
- git \
- libclang-rt-dev \
- ninja-build \
- python3-pip \
- python3-setuptools \
- python3-tomli \
- python3-venv \
- python3-wheel
+RUN /usr/bin/pip3 install meson==1.8.1
-# All the generally available compilers
+ENV CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
+ENV LANG="en_US.UTF-8"
+ENV MAKE="/usr/bin/make"
+ENV NINJA="/usr/bin/ninja"
+ENV PYTHON="/usr/bin/python3"
+# extras for cross and alternate toolchains
+RUN DEBIAN_FRONTEND=noninteractive eatmydata \
+ apt install -y --no-install-recommends \
+ clang\
+ dpkg-dev\
+ libclang-rt-dev
ENV AVAILABLE_COMPILERS gcc-aarch64-linux-gnu \
- libc6-dev-arm64-cross \
- gcc-arm-linux-gnueabihf \
- libc6-dev-armhf-cross \
- gcc-mips-linux-gnu \
- libc6-dev-mips-cross \
- gcc-mips64-linux-gnuabi64 \
- libc6-dev-mips64-cross \
- gcc-mips64el-linux-gnuabi64 \
- libc6-dev-mips64el-cross \
- gcc-mipsel-linux-gnu \
- libc6-dev-mipsel-cross \
- gcc-powerpc64le-linux-gnu \
- libc6-dev-ppc64el-cross \
- gcc-riscv64-linux-gnu \
- libc6-dev-riscv64-cross \
- gcc-s390x-linux-gnu \
- libc6-dev-s390x-cross
-
+ libc6-dev-arm64-cross \
+ gcc-arm-linux-gnueabihf \
+ libc6-dev-armhf-cross \
+ gcc-mips-linux-gnu \
+ libc6-dev-mips-cross \
+ gcc-mips64-linux-gnuabi64 \
+ libc6-dev-mips64-cross \
+ gcc-mips64el-linux-gnuabi64 \
+ libc6-dev-mips64el-cross \
+ gcc-mipsel-linux-gnu \
+ libc6-dev-mipsel-cross \
+ gcc-powerpc64le-linux-gnu \
+ libc6-dev-ppc64el-cross \
+ gcc-riscv64-linux-gnu \
+ libc6-dev-riscv64-cross \
+ gcc-s390x-linux-gnu \
+ libc6-dev-s390x-cross
RUN if dpkg-architecture -e amd64; then \
export AVAILABLE_COMPILERS="${AVAILABLE_COMPILERS} gcc-hppa-linux-gnu libc6-dev-hppa-cross"; \
export AVAILABLE_COMPILERS="${AVAILABLE_COMPILERS} gcc-m68k-linux-gnu libc6-dev-m68k-cross"; \
export AVAILABLE_COMPILERS="${AVAILABLE_COMPILERS} gcc-powerpc-linux-gnu libc6-dev-powerpc-cross"; \
export AVAILABLE_COMPILERS="${AVAILABLE_COMPILERS} gcc-powerpc64-linux-gnu libc6-dev-ppc64-cross"; \
export AVAILABLE_COMPILERS="${AVAILABLE_COMPILERS} gcc-sparc64-linux-gnu libc6-dev-sparc64-cross"; \
- fi && \
- DEBIAN_FRONTEND=noninteractive eatmydata \
- apt install -y --no-install-recommends \
- ${AVAILABLE_COMPILERS} && \
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
-
-
+fi && \
+DEBIAN_FRONTEND=noninteractive eatmydata \
+apt install -y --no-install-recommends \
+${AVAILABLE_COMPILERS} && \
+dpkg-query --showformat '${Package}_${Version}_${Architecture}' --show > /packages.txt
ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools
ENV DEF_TARGET_LIST aarch64-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sparc64-linux-user
# As a final step configure the user (if env is defined)
-ENV MAKE /usr/bin/make
ARG USER
ARG UID
RUN if [ "${USER}" ]; then \
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index 3a31fcfee9c..c5e936112c6 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -161,6 +161,46 @@ ubuntu2204_rust_extras = [
'RUN cargo install bindgen-cli\n',
]
+debian_all_test_cross_compilers = [
+ "# extras for cross and alternate toolchains\n",
+ "RUN DEBIAN_FRONTEND=noninteractive eatmydata \\\n",
+ " apt install -y --no-install-recommends \\\n",
+ " clang\\\n",
+ " dpkg-dev\\\n",
+ " libclang-rt-dev\n",
+ "ENV AVAILABLE_COMPILERS gcc-aarch64-linux-gnu \\\n",
+ " libc6-dev-arm64-cross \\\n",
+ " gcc-arm-linux-gnueabihf \\\n",
+ " libc6-dev-armhf-cross \\\n",
+ " gcc-mips-linux-gnu \\\n",
+ " libc6-dev-mips-cross \\\n",
+ " gcc-mips64-linux-gnuabi64 \\\n",
+ " libc6-dev-mips64-cross \\\n",
+ " gcc-mips64el-linux-gnuabi64 \\\n",
+ " libc6-dev-mips64el-cross \\\n",
+ " gcc-mipsel-linux-gnu \\\n",
+ " libc6-dev-mipsel-cross \\\n",
+ " gcc-powerpc64le-linux-gnu \\\n",
+ " libc6-dev-ppc64el-cross \\\n",
+ " gcc-riscv64-linux-gnu \\\n",
+ " libc6-dev-riscv64-cross \\\n",
+ " gcc-s390x-linux-gnu \\\n",
+ " libc6-dev-s390x-cross\n",
+ "RUN if dpkg-architecture -e amd64; then \\\n",
+ " export AVAILABLE_COMPILERS=\"${AVAILABLE_COMPILERS} gcc-hppa-linux-gnu libc6-dev-hppa-cross\"; \\\n",
+ " export AVAILABLE_COMPILERS=\"${AVAILABLE_COMPILERS} gcc-m68k-linux-gnu libc6-dev-m68k-cross\"; \\\n",
+ " export AVAILABLE_COMPILERS=\"${AVAILABLE_COMPILERS} gcc-powerpc-linux-gnu libc6-dev-powerpc-cross\"; \\\n",
+ " export AVAILABLE_COMPILERS=\"${AVAILABLE_COMPILERS} gcc-powerpc64-linux-gnu libc6-dev-ppc64-cross\"; \\\n",
+ " export AVAILABLE_COMPILERS=\"${AVAILABLE_COMPILERS} gcc-sparc64-linux-gnu libc6-dev-sparc64-cross\"; \\\n",
+ "fi && \\\n",
+ "DEBIAN_FRONTEND=noninteractive eatmydata \\\n",
+ "apt install -y --no-install-recommends \\\n",
+ "${AVAILABLE_COMPILERS} && \\\n",
+ "dpkg-query --showformat '${Package}_${Version}_${Architecture}' --show > /packages.txt\n",
+ "ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools\n",
+ "ENV DEF_TARGET_LIST aarch64-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sparc64-linux-user\n",
+]
+
def cross_build(prefix, targets):
conf = "ENV QEMU_CONFIGURE_OPTS=--cross-prefix=%s\n" % (prefix)
targets = "ENV DEF_TARGET_LIST=%s\n" % (targets)
@@ -256,6 +296,15 @@ try:
# https://github.com/mesonbuild/meson/pull/14991
enable_rust=False)
+ # We also generate some docker files with minimal dependencies and
+ # as many cross-compilers as Debian will package for building TCG
+ # tests.
+
+ generate_dockerfile("debian-all-test-cross", "debian-13",
+ project="qemu-minimal",
+ enable_rust=False,
+ trailer="".join(debian_all_test_cross_compilers))
+
#
# Cirrus packages lists for GitLab
#
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 07/11] tests/docker: drop --disable-[tools|system] from all-test-cross
2025-12-04 19:48 [PATCH v2 00/11] Final fixes for 10.2 (build, docs, dockerfiles, plugins) Alex Bennée
` (5 preceding siblings ...)
2025-12-04 19:48 ` [PATCH v2 06/11] tests/docker: transition debian-all-test-cross to lcitool Alex Bennée
@ 2025-12-04 19:48 ` Alex Bennée
2025-12-05 6:40 ` Thomas Huth
2025-12-04 19:48 ` [PATCH v2 08/11] docs/devel: update build environment setup documentation Alex Bennée
` (3 subsequent siblings)
10 siblings, 1 reply; 23+ messages in thread
From: Alex Bennée @ 2025-12-04 19:48 UTC (permalink / raw)
To: qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Alex Bennée, Pierrick Bouvier,
Daniel P. Berrangé, Paolo Bonzini, Thomas Huth
We use this container to build system images in CI which do not honour
QEMU_CONFIGURE_OPTS. Drop the --disables from the container so
developers don not need to jump through hoops trying to replicate that
on their workstations.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/docker/dockerfiles/debian-all-test-cross.docker | 2 +-
tests/lcitool/refresh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/docker/dockerfiles/debian-all-test-cross.docker b/tests/docker/dockerfiles/debian-all-test-cross.docker
index 1b01cfe8504..04d424c1a0d 100644
--- a/tests/docker/dockerfiles/debian-all-test-cross.docker
+++ b/tests/docker/dockerfiles/debian-all-test-cross.docker
@@ -90,7 +90,7 @@ DEBIAN_FRONTEND=noninteractive eatmydata \
apt install -y --no-install-recommends \
${AVAILABLE_COMPILERS} && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}' --show > /packages.txt
-ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools
+ENV QEMU_CONFIGURE_OPTS --disable-docs
ENV DEF_TARGET_LIST aarch64-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sparc64-linux-user
# As a final step configure the user (if env is defined)
ARG USER
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index c5e936112c6..9df607a55f8 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -197,7 +197,7 @@ debian_all_test_cross_compilers = [
"apt install -y --no-install-recommends \\\n",
"${AVAILABLE_COMPILERS} && \\\n",
"dpkg-query --showformat '${Package}_${Version}_${Architecture}' --show > /packages.txt\n",
- "ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools\n",
+ "ENV QEMU_CONFIGURE_OPTS --disable-docs\n",
"ENV DEF_TARGET_LIST aarch64-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sparc64-linux-user\n",
]
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 08/11] docs/devel: update build environment setup documentation
2025-12-04 19:48 [PATCH v2 00/11] Final fixes for 10.2 (build, docs, dockerfiles, plugins) Alex Bennée
` (6 preceding siblings ...)
2025-12-04 19:48 ` [PATCH v2 07/11] tests/docker: drop --disable-[tools|system] from all-test-cross Alex Bennée
@ 2025-12-04 19:48 ` Alex Bennée
2025-12-04 19:49 ` [PATCH v2 09/11] docs/devel: Correct typo Alex Bennée
` (2 subsequent siblings)
10 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2025-12-04 19:48 UTC (permalink / raw)
To: qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Alex Bennée, Pierrick Bouvier,
Daniel P. Berrangé, Paolo Bonzini, Thomas Huth
Bring `libvirt-ci` front and centre when discussing dependencies for
QEMU. While we are at it:
- drop links to additional instructions (libvirt is more upto date)
- compress pkg installs into a table
- call out distro/upstream dep difference in a proper note
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
docs/devel/build-environment.rst | 145 ++++++++++++++++++++-----------
1 file changed, 96 insertions(+), 49 deletions(-)
diff --git a/docs/devel/build-environment.rst b/docs/devel/build-environment.rst
index 661f6ea8504..61b2dc0d1bc 100644
--- a/docs/devel/build-environment.rst
+++ b/docs/devel/build-environment.rst
@@ -4,55 +4,103 @@
Setup build environment
=======================
-QEMU uses a lot of dependencies on the host system. glib2 is used everywhere in
-the code base, and most of the other dependencies are optional.
-
-We present here simple instructions to enable native builds on most popular
-systems.
-
-You can find additional instructions on `QEMU wiki <https://wiki.qemu.org/>`_:
-
-- `Linux <https://wiki.qemu.org/Hosts/Linux>`_
-- `MacOS <https://wiki.qemu.org/Hosts/Mac>`_
-- `Windows <https://wiki.qemu.org/Hosts/W32>`_
-- `BSD <https://wiki.qemu.org/Hosts/BSD>`_
-
-Note: Installing dependencies using your package manager build dependencies may
-miss out on deps that have been newly introduced in qemu.git. In more, it misses
-deps the distribution has decided to exclude.
-
-Linux
------
-
-Fedora
-++++++
-
-::
-
- sudo dnf update && sudo dnf builddep qemu
-
-Debian/Ubuntu
-+++++++++++++
-
-You first need to enable `Sources List <https://wiki.debian.org/SourcesList>`_.
-Then, use apt to install dependencies:
-
-::
-
- sudo apt update && sudo apt build-dep qemu
-
-MacOS
------
-
-You first need to install `Homebrew <https://brew.sh/>`_. Then, use it to
-install dependencies:
-
-::
-
- brew update && brew install $(brew deps --include-build qemu)
+QEMU uses a lot of dependencies on the host system a large number of
+which are optional. At a minimum we expect to have a system C library
+(usually glibc but others can work), the glib2 library (used heavily
+in the code base) and a few other core libraries for interfacing with
+code modules and system build descriptions.
+
+We use the ``libvirt-ci`` project to handle the mapping of
+dependencies to a wide variety output formats including system install
+scripts. For example:
+
+.. code-block:: bash
+
+ # THIS FILE WAS AUTO-GENERATED
+ #
+ # $ lcitool buildenvscript debian-13 ./tests/lcitool/projects/qemu-minimal.yml
+ #
+ # https://gitlab.com/libvirt/libvirt-ci
+
+ function install_buildenv() {
+ export DEBIAN_FRONTEND=noninteractive
+ apt-get update
+ apt-get dist-upgrade -y
+ apt-get install --no-install-recommends -y \
+ bash \
+ bc \
+ bison \
+ bzip2 \
+ ca-certificates \
+ ccache \
+ findutils \
+ flex \
+ gcc \
+ git \
+ libc6-dev \
+ libfdt-dev \
+ libffi-dev \
+ libglib2.0-dev \
+ libpixman-1-dev \
+ locales \
+ make \
+ meson \
+ ninja-build \
+ pkgconf \
+ python3 \
+ python3-venv \
+ sed \
+ tar
+ sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
+ dpkg-reconfigure locales
+ rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
+ dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
+ mkdir -p /usr/libexec/ccache-wrappers
+ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc
+ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
+ }
+
+ export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
+ export LANG="en_US.UTF-8"
+ export MAKE="/usr/bin/make"
+ export NINJA="/usr/bin/ninja"
+ export PYTHON="/usr/bin/python3"
+
+If you instead select the ``qemu.yml`` project file you will get all
+the dependencies that the project can use.
+
+Using you system package manager
+--------------------------------
+
+.. note::
+
+ Installing dependencies using your package manager build dependencies may
+ miss out on deps that have been newly introduced in qemu.git. It
+ also misses deps the distribution has decided to exclude.
+
+Systems with Package Managers
++++++++++++++++++++++++++++++
+
+.. list-table:: Package Manager Commands
+ :widths: 10 50 40
+ :header-rows: 1
+
+ * - System
+ - Command
+ - Notes
+ * - Fedora
+ - ``sudo dnf update && sudo dnf builddep qemu``
+ -
+ * - Debian/Ubuntu
+ - ``sudo apt update && sudo apt build-dep qemu``
+ - Must enable `Sources List
+ <https://wiki.debian.org/SourcesList>`_ first
+ * - MacOS
+ - ``brew update && brew install $(brew deps --include-build qemu)``
+ - Using `Homebrew <https://brew.sh/>`_.
Windows
--------
++++++++
You first need to install `MSYS2 <https://www.msys2.org/>`_.
MSYS2 offers `different environments <https://www.msys2.org/docs/environments/>`_.
@@ -104,7 +152,7 @@ build QEMU in MSYS2 itself.
makepkg --syncdeps --nobuild PKGBUILD || true
Build on windows-aarch64
-++++++++++++++++++++++++
+~~~~~~~~~~~~~~~~~~~~~~~~
When trying to cross compile meson for x86_64 using UCRT64 or MINGW64 env,
configure will run into an error because the cpu detected is not correct.
@@ -115,4 +163,3 @@ and force a cross compilation (with empty prefix).
::
./configure --cpu=x86_64 --cross-prefix=
-
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 09/11] docs/devel: Correct typo
2025-12-04 19:48 [PATCH v2 00/11] Final fixes for 10.2 (build, docs, dockerfiles, plugins) Alex Bennée
` (7 preceding siblings ...)
2025-12-04 19:48 ` [PATCH v2 08/11] docs/devel: update build environment setup documentation Alex Bennée
@ 2025-12-04 19:49 ` Alex Bennée
2025-12-08 9:21 ` Philippe Mathieu-Daudé
2025-12-04 19:49 ` [PATCH v2 10/11] MAINTAINERS: update the custom runner entries Alex Bennée
2025-12-04 19:49 ` [PATCH v2 11/11] plugins/core: allow reading of registers during discon events Alex Bennée
10 siblings, 1 reply; 23+ messages in thread
From: Alex Bennée @ 2025-12-04 19:49 UTC (permalink / raw)
To: qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Alex Bennée, Pierrick Bouvier,
Daniel P. Berrangé, Paolo Bonzini, Thomas Huth, Alano Song,
Christian Schoenebeck
From: Alano Song <AlanoSong@163.com>
Correct typo in atomics.rst
Signed-off-by: Alano Song <AlanoSong@163.com>
Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
[AJB: fixed author entry]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
docs/devel/atomics.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/devel/atomics.rst b/docs/devel/atomics.rst
index 95c7b77c01e..ea4ede4b8c4 100644
--- a/docs/devel/atomics.rst
+++ b/docs/devel/atomics.rst
@@ -266,7 +266,7 @@ Splitting a loop can also be useful to reduce the number of barriers:
| n = 0; | smp_mb_release(); |
| for (i = 0; i < 10; i++) { | for (i = 0; i < 10; i++) |
| qatomic_store_release(&a[i], false); | qatomic_set(&a[i], false); |
- | smp_mb(); | smb_mb(); |
+ | smp_mb(); | smp_mb(); |
| n += qatomic_read(&b[i]); | n = 0; |
| } | for (i = 0; i < 10; i++) |
| | n += qatomic_read(&b[i]); |
@@ -283,7 +283,7 @@ as well) ``smp_wmb()``:
| | smp_mb_release(); |
| for (i = 0; i < 10; i++) { | for (i = 0; i < 10; i++) |
| qatomic_store_release(&a[i], false); | qatomic_set(&a[i], false); |
- | qatomic_store_release(&b[i], false); | smb_wmb(); |
+ | qatomic_store_release(&b[i], false); | smp_wmb(); |
| } | for (i = 0; i < 10; i++) |
| | qatomic_set(&b[i], false); |
+------------------------------------------+----------------------------------+
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 10/11] MAINTAINERS: update the custom runner entries
2025-12-04 19:48 [PATCH v2 00/11] Final fixes for 10.2 (build, docs, dockerfiles, plugins) Alex Bennée
` (8 preceding siblings ...)
2025-12-04 19:49 ` [PATCH v2 09/11] docs/devel: Correct typo Alex Bennée
@ 2025-12-04 19:49 ` Alex Bennée
2025-12-05 6:09 ` Thomas Huth
2025-12-08 9:20 ` Philippe Mathieu-Daudé
2025-12-04 19:49 ` [PATCH v2 11/11] plugins/core: allow reading of registers during discon events Alex Bennée
10 siblings, 2 replies; 23+ messages in thread
From: Alex Bennée @ 2025-12-04 19:49 UTC (permalink / raw)
To: qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Alex Bennée, Pierrick Bouvier,
Daniel P. Berrangé, Paolo Bonzini, Thomas Huth
Fix a number of issues:
- update the ubuntu references to 24.0
- add the s390x and ppc64le yml files
- replace Works on Arm with Linaro
- Also mention IBM (s390x) and OSUL (ppc64le) as HW hosts
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
MAINTAINERS | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index d007584b476..63e9ba521bc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4444,12 +4444,13 @@ R: Philippe Mathieu-Daudé <philmd@linaro.org>
S: Maintained
F: tests/tcg/Makefile.target
-GitLab custom runner (Works On Arm Sponsored)
+GitLab custom runners (HW sponsored by Linaro, OSOUL and IBM)
M: Alex Bennée <alex.bennee@linaro.org>
M: Philippe Mathieu-Daudé <philmd@linaro.org>
S: Maintained
-F: .gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml
-F: .gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml
+F: .gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml
+F: .gitlab-ci.d/custom-runners/ubuntu-24.04-s390x.yml
+F: .gitlab-ci.d/custom-runners/debian-13-ppc64le.yml
Documentation
-------------
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 11/11] plugins/core: allow reading of registers during discon events
2025-12-04 19:48 [PATCH v2 00/11] Final fixes for 10.2 (build, docs, dockerfiles, plugins) Alex Bennée
` (9 preceding siblings ...)
2025-12-04 19:49 ` [PATCH v2 10/11] MAINTAINERS: update the custom runner entries Alex Bennée
@ 2025-12-04 19:49 ` Alex Bennée
10 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2025-12-04 19:49 UTC (permalink / raw)
To: qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Alex Bennée, Pierrick Bouvier,
Daniel P. Berrangé, Paolo Bonzini, Thomas Huth, Julian Ganz
We have protections that prevent callbacks that didn't declare
themselves as wanting to access registers. However for discontinuities
the system state is fully rectified so they should always be able to
read the register values.
a1688bc86ce (plugins: add hooks for new discontinuity related callbacks)
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Cc: Julian Ganz <neither@nut.email>
---
plugins/core.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/plugins/core.c b/plugins/core.c
index 8f8bc7219c2..b4b783008f7 100644
--- a/plugins/core.c
+++ b/plugins/core.c
@@ -119,6 +119,7 @@ static void plugin_vcpu_cb__discon(CPUState *cpu,
struct qemu_plugin_cb *cb, *next;
uint64_t to = cpu->cc->get_pc(cpu);
+ qemu_plugin_set_cb_flags(cpu, QEMU_PLUGIN_CB_RW_REGS);
if (cpu->cpu_index < plugin.num_vcpus) {
/* iterate safely; plugins might uninstall themselves at any time */
QLIST_FOREACH_SAFE_RCU(cb, &plugin.cb_lists[ev], entry, next) {
@@ -127,6 +128,7 @@ static void plugin_vcpu_cb__discon(CPUState *cpu,
func(cb->ctx->id, cpu->cpu_index, type, from, to);
}
}
+ qemu_plugin_set_cb_flags(cpu, QEMU_PLUGIN_CB_NO_REGS);
}
/*
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [PATCH v2 10/11] MAINTAINERS: update the custom runner entries
2025-12-04 19:49 ` [PATCH v2 10/11] MAINTAINERS: update the custom runner entries Alex Bennée
@ 2025-12-05 6:09 ` Thomas Huth
2025-12-08 9:20 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 23+ messages in thread
From: Thomas Huth @ 2025-12-05 6:09 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Pierrick Bouvier, Daniel P. Berrangé,
Paolo Bonzini
On 04/12/2025 20.49, Alex Bennée wrote:
> Fix a number of issues:
>
> - update the ubuntu references to 24.0
> - add the s390x and ppc64le yml files
> - replace Works on Arm with Linaro
> - Also mention IBM (s390x) and OSUL (ppc64le) as HW hosts
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> MAINTAINERS | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index d007584b476..63e9ba521bc 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -4444,12 +4444,13 @@ R: Philippe Mathieu-Daudé <philmd@linaro.org>
> S: Maintained
> F: tests/tcg/Makefile.target
>
> -GitLab custom runner (Works On Arm Sponsored)
> +GitLab custom runners (HW sponsored by Linaro, OSOUL and IBM)
> M: Alex Bennée <alex.bennee@linaro.org>
> M: Philippe Mathieu-Daudé <philmd@linaro.org>
> S: Maintained
> -F: .gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml
> -F: .gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml
> +F: .gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml
> +F: .gitlab-ci.d/custom-runners/ubuntu-24.04-s390x.yml
> +F: .gitlab-ci.d/custom-runners/debian-13-ppc64le.yml
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 04/11] tests/lcitool: add bzip2 to the minimal dependency list
2025-12-04 19:48 ` [PATCH v2 04/11] tests/lcitool: add bzip2 to the minimal dependency list Alex Bennée
@ 2025-12-05 6:14 ` Thomas Huth
0 siblings, 0 replies; 23+ messages in thread
From: Thomas Huth @ 2025-12-05 6:14 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Pierrick Bouvier, Daniel P. Berrangé,
Paolo Bonzini
On 04/12/2025 20.48, Alex Bennée wrote:
> You cannot build any softmmu targets without it
I'd assume it's only the targets that use a bzipped edk2 image?
by default unless you
> build with --disable-install-blobs.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> tests/lcitool/projects/qemu-minimal.yml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tests/lcitool/projects/qemu-minimal.yml b/tests/lcitool/projects/qemu-minimal.yml
> index 6bc232a1c3e..2a1ac51d402 100644
> --- a/tests/lcitool/projects/qemu-minimal.yml
> +++ b/tests/lcitool/projects/qemu-minimal.yml
> @@ -4,6 +4,7 @@ packages:
> - bash
> - bc
> - bison
> + - bzip2
> - ccache
> - findutils
> - flex
Anyway:
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 05/11] tests/lcitool: add nettle to the minimal deps
2025-12-04 19:48 ` [PATCH v2 05/11] tests/lcitool: add nettle to the minimal deps Alex Bennée
@ 2025-12-05 6:37 ` Thomas Huth
2025-12-05 12:48 ` Alex Bennée
0 siblings, 1 reply; 23+ messages in thread
From: Thomas Huth @ 2025-12-05 6:37 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Pierrick Bouvier, Daniel P. Berrangé,
Paolo Bonzini, Qemu-block, Kevin Wolf
On 04/12/2025 20.48, Alex Bennée wrote:
> Technically we don't need a crypto library to do the base build but
> I couldn't see an easy way to skip iotests which would otherwise fail.
> Besides libnettle is a fairly small library even if its not the
> fastest crypto implementation.
I think we added checks to some of the iotests in the past already to skip
if the crypto stuff is not available? So I think it might be better to fix
the related iotests instead.
Which test is failing for you?
Thomas
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> tests/lcitool/projects/qemu-minimal.yml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tests/lcitool/projects/qemu-minimal.yml b/tests/lcitool/projects/qemu-minimal.yml
> index 2a1ac51d402..eebdc23e682 100644
> --- a/tests/lcitool/projects/qemu-minimal.yml
> +++ b/tests/lcitool/projects/qemu-minimal.yml
> @@ -18,6 +18,7 @@ packages:
> - libffi
> - make
> - meson
> + - nettle
> - ninja
> - pixman
> - pkg-config
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 07/11] tests/docker: drop --disable-[tools|system] from all-test-cross
2025-12-04 19:48 ` [PATCH v2 07/11] tests/docker: drop --disable-[tools|system] from all-test-cross Alex Bennée
@ 2025-12-05 6:40 ` Thomas Huth
0 siblings, 0 replies; 23+ messages in thread
From: Thomas Huth @ 2025-12-05 6:40 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Pierrick Bouvier, Daniel P. Berrangé,
Paolo Bonzini
On 04/12/2025 20.48, Alex Bennée wrote:
> We use this container to build system images in CI which do not honour
> QEMU_CONFIGURE_OPTS. Drop the --disables from the container so
> developers don not need to jump through hoops trying to replicate that
> on their workstations.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> tests/docker/dockerfiles/debian-all-test-cross.docker | 2 +-
> tests/lcitool/refresh | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tests/docker/dockerfiles/debian-all-test-cross.docker b/tests/docker/dockerfiles/debian-all-test-cross.docker
> index 1b01cfe8504..04d424c1a0d 100644
> --- a/tests/docker/dockerfiles/debian-all-test-cross.docker
> +++ b/tests/docker/dockerfiles/debian-all-test-cross.docker
> @@ -90,7 +90,7 @@ DEBIAN_FRONTEND=noninteractive eatmydata \
> apt install -y --no-install-recommends \
> ${AVAILABLE_COMPILERS} && \
> dpkg-query --showformat '${Package}_${Version}_${Architecture}' --show > /packages.txt
> -ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools
> +ENV QEMU_CONFIGURE_OPTS --disable-docs
> ENV DEF_TARGET_LIST aarch64-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sparc64-linux-user
> # As a final step configure the user (if env is defined)
> ARG USER
> diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
> index c5e936112c6..9df607a55f8 100755
> --- a/tests/lcitool/refresh
> +++ b/tests/lcitool/refresh
> @@ -197,7 +197,7 @@ debian_all_test_cross_compilers = [
> "apt install -y --no-install-recommends \\\n",
> "${AVAILABLE_COMPILERS} && \\\n",
> "dpkg-query --showformat '${Package}_${Version}_${Architecture}' --show > /packages.txt\n",
> - "ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools\n",
> + "ENV QEMU_CONFIGURE_OPTS --disable-docs\n",
> "ENV DEF_TARGET_LIST aarch64-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sparc64-linux-user\n",
> ]
>
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 01/11] gitlab: drop --disable-pie from aarch64-all-linux-static build
2025-12-04 19:48 ` [PATCH v2 01/11] gitlab: drop --disable-pie from aarch64-all-linux-static build Alex Bennée
@ 2025-12-05 7:53 ` Thomas Huth
0 siblings, 0 replies; 23+ messages in thread
From: Thomas Huth @ 2025-12-05 7:53 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Pierrick Bouvier, Daniel P. Berrangé,
Paolo Bonzini, Michael Tokarev
On 04/12/2025 20.48, Alex Bennée wrote:
> Since we have upgraded to 24.04 with its new libc we no longer need
> this workaround.
>
> Link: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1987438
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Suggested-by: Michael Tokarev <mjt@tls.msk.ru>
> ---
> .gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml b/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml
> index 98d99193457..b4c0faab15d 100644
> --- a/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml
> +++ b/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml
> @@ -41,9 +41,7 @@
> ubuntu-24.04-aarch64-all-linux-static:
> extends: .ubuntu_aarch64_template
> variables:
> - # Disable -static-pie due to build error with system libc:
> - # https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1987438
> - CONFIGURE_ARGS: --enable-debug --static --disable-system --disable-pie
> + CONFIGURE_ARGS: --enable-debug --static --disable-system
> MAKE_CHECK_ARGS: check-tcg
>
> ubuntu-24.04-aarch64-all:
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 02/11] gitlab: drop explicit pxe-test from the build-tci job
2025-12-04 19:48 ` [PATCH v2 02/11] gitlab: drop explicit pxe-test from the build-tci job Alex Bennée
@ 2025-12-05 7:54 ` Thomas Huth
0 siblings, 0 replies; 23+ messages in thread
From: Thomas Huth @ 2025-12-05 7:54 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: Alexandre Iooss, Philippe Mathieu-Daudé, Markus Armbruster,
Mahmoud Mandour, Pierrick Bouvier, Daniel P. Berrangé,
Paolo Bonzini
On 04/12/2025 20.48, Alex Bennée wrote:
> This needs libslirp to run and as debian-all-test-cross will soon be
> based on qemu-minimal we won't have it in a few commits.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> .gitlab-ci.d/buildtest.yml | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index 44df116139b..dfe954fe3ce 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -656,14 +656,12 @@ build-tci:
> --target-list="$(for tg in $TARGETS; do echo -n ${tg}'-softmmu '; done)"
> || { cat config.log meson-logs/meson-log.txt && exit 1; }
> - make -j"$JOBS"
> - - make tests/qtest/boot-serial-test tests/qtest/cdrom-test tests/qtest/pxe-test
> + - make tests/qtest/boot-serial-test tests/qtest/cdrom-test
> - for tg in $TARGETS ; do
> export QTEST_QEMU_BINARY="./qemu-system-${tg}" ;
> ./tests/qtest/boot-serial-test || exit 1 ;
> ./tests/qtest/cdrom-test || exit 1 ;
> done
> - - QTEST_QEMU_BINARY="./qemu-system-x86_64" ./tests/qtest/pxe-test
> - - QTEST_QEMU_BINARY="./qemu-system-s390x" ./tests/qtest/pxe-test -m slow
> - make check-tcg
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 05/11] tests/lcitool: add nettle to the minimal deps
2025-12-05 6:37 ` Thomas Huth
@ 2025-12-05 12:48 ` Alex Bennée
2025-12-08 9:11 ` Daniel P. Berrangé
0 siblings, 1 reply; 23+ messages in thread
From: Alex Bennée @ 2025-12-05 12:48 UTC (permalink / raw)
To: Thomas Huth
Cc: qemu-devel, Alexandre Iooss, Philippe Mathieu-Daudé,
Markus Armbruster, Mahmoud Mandour, Pierrick Bouvier,
Daniel P. Berrangé, Paolo Bonzini, Qemu-block, Kevin Wolf
Thomas Huth <thuth@redhat.com> writes:
> On 04/12/2025 20.48, Alex Bennée wrote:
>> Technically we don't need a crypto library to do the base build but
>> I couldn't see an easy way to skip iotests which would otherwise fail.
>> Besides libnettle is a fairly small library even if its not the
>> fastest crypto implementation.
>
> I think we added checks to some of the iotests in the past already to
> skip if the crypto stuff is not available? So I think it might be
> better to fix the related iotests instead.
>
> Which test is failing for you?
I did have 049 qcow failing and two others but I can't remember exactly
which combo it was. The error messages where all about missing crypto
functions stopping the run.
Where are the crypto library tests done? I couldn't find them.
But I'm happy to drop this patch until we find out:
https://gitlab.com/stsquad/qemu/-/pipelines/2197896632
>
> Thomas
>
>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> ---
>> tests/lcitool/projects/qemu-minimal.yml | 1 +
>> 1 file changed, 1 insertion(+)
>> diff --git a/tests/lcitool/projects/qemu-minimal.yml
>> b/tests/lcitool/projects/qemu-minimal.yml
>> index 2a1ac51d402..eebdc23e682 100644
>> --- a/tests/lcitool/projects/qemu-minimal.yml
>> +++ b/tests/lcitool/projects/qemu-minimal.yml
>> @@ -18,6 +18,7 @@ packages:
>> - libffi
>> - make
>> - meson
>> + - nettle
>> - ninja
>> - pixman
>> - pkg-config
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 05/11] tests/lcitool: add nettle to the minimal deps
2025-12-05 12:48 ` Alex Bennée
@ 2025-12-08 9:11 ` Daniel P. Berrangé
2025-12-08 9:17 ` Thomas Huth
0 siblings, 1 reply; 23+ messages in thread
From: Daniel P. Berrangé @ 2025-12-08 9:11 UTC (permalink / raw)
To: Alex Bennée
Cc: Thomas Huth, qemu-devel, Alexandre Iooss,
Philippe Mathieu-Daudé, Markus Armbruster, Mahmoud Mandour,
Pierrick Bouvier, Paolo Bonzini, Qemu-block, Kevin Wolf
On Fri, Dec 05, 2025 at 12:48:25PM +0000, Alex Bennée wrote:
> Thomas Huth <thuth@redhat.com> writes:
>
> > On 04/12/2025 20.48, Alex Bennée wrote:
> >> Technically we don't need a crypto library to do the base build but
> >> I couldn't see an easy way to skip iotests which would otherwise fail.
> >> Besides libnettle is a fairly small library even if its not the
> >> fastest crypto implementation.
> >
> > I think we added checks to some of the iotests in the past already to
> > skip if the crypto stuff is not available? So I think it might be
> > better to fix the related iotests instead.
We have _require_working_luks called by "_supported_fmt luks"
in the shell tests, and iotests.verify_working_luks called
in the python tests. Possibly we didn't call them in all the
required places ? Or there is a non-luks related test that
uses crypto we missed ?
> >
> > Which test is failing for you?
>
> I did have 049 qcow failing and two others but I can't remember exactly
> which combo it was. The error messages where all about missing crypto
> functions stopping the run.
>
> Where are the crypto library tests done? I couldn't find them.
>
> But I'm happy to drop this patch until we find out:
>
> https://gitlab.com/stsquad/qemu/-/pipelines/2197896632
Is that the right pipeline ? I'm not seeing crypto failures
in any of the 8 failed jobs in that pipeline, unless I missed
it in the noise of one of them.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 05/11] tests/lcitool: add nettle to the minimal deps
2025-12-08 9:11 ` Daniel P. Berrangé
@ 2025-12-08 9:17 ` Thomas Huth
0 siblings, 0 replies; 23+ messages in thread
From: Thomas Huth @ 2025-12-08 9:17 UTC (permalink / raw)
To: Daniel P. Berrangé, Alex Bennée
Cc: qemu-devel, Alexandre Iooss, Philippe Mathieu-Daudé,
Markus Armbruster, Mahmoud Mandour, Pierrick Bouvier,
Paolo Bonzini, Qemu-block, Kevin Wolf
On 08/12/2025 10.11, Daniel P. Berrangé wrote:
> On Fri, Dec 05, 2025 at 12:48:25PM +0000, Alex Bennée wrote:
>> Thomas Huth <thuth@redhat.com> writes:
>>
>>> On 04/12/2025 20.48, Alex Bennée wrote:
>>>> Technically we don't need a crypto library to do the base build but
>>>> I couldn't see an easy way to skip iotests which would otherwise fail.
>>>> Besides libnettle is a fairly small library even if its not the
>>>> fastest crypto implementation.
>>>
>>> I think we added checks to some of the iotests in the past already to
>>> skip if the crypto stuff is not available? So I think it might be
>>> better to fix the related iotests instead.
>
> We have _require_working_luks called by "_supported_fmt luks"
> in the shell tests, and iotests.verify_working_luks called
> in the python tests. Possibly we didn't call them in all the
> required places ? Or there is a non-luks related test that
> uses crypto we missed ?
It's about non-luks related tests, see the patch here:
https://lore.kernel.org/qemu-devel/6333f8d4-3feb-43c7-8d11-98a7c3cbe0c4@redhat.com/T/#t
Thomas
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 10/11] MAINTAINERS: update the custom runner entries
2025-12-04 19:49 ` [PATCH v2 10/11] MAINTAINERS: update the custom runner entries Alex Bennée
2025-12-05 6:09 ` Thomas Huth
@ 2025-12-08 9:20 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-12-08 9:20 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: Alexandre Iooss, Markus Armbruster, Mahmoud Mandour,
Pierrick Bouvier, Daniel P. Berrangé, Paolo Bonzini,
Thomas Huth
On 4/12/25 20:49, Alex Bennée wrote:
> Fix a number of issues:
>
> - update the ubuntu references to 24.0
> - add the s390x and ppc64le yml files
> - replace Works on Arm with Linaro
> - Also mention IBM (s390x) and OSUL (ppc64le) as HW hosts
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> MAINTAINERS | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 09/11] docs/devel: Correct typo
2025-12-04 19:49 ` [PATCH v2 09/11] docs/devel: Correct typo Alex Bennée
@ 2025-12-08 9:21 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-12-08 9:21 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: Alexandre Iooss, Markus Armbruster, Mahmoud Mandour,
Pierrick Bouvier, Daniel P. Berrangé, Paolo Bonzini,
Thomas Huth, Alano Song, Christian Schoenebeck
On 4/12/25 20:49, Alex Bennée wrote:
> From: Alano Song <AlanoSong@163.com>
>
> Correct typo in atomics.rst
>
> Signed-off-by: Alano Song <AlanoSong@163.com>
> Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> [AJB: fixed author entry]
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> docs/devel/atomics.rst | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2025-12-08 9:21 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-04 19:48 [PATCH v2 00/11] Final fixes for 10.2 (build, docs, dockerfiles, plugins) Alex Bennée
2025-12-04 19:48 ` [PATCH v2 01/11] gitlab: drop --disable-pie from aarch64-all-linux-static build Alex Bennée
2025-12-05 7:53 ` Thomas Huth
2025-12-04 19:48 ` [PATCH v2 02/11] gitlab: drop explicit pxe-test from the build-tci job Alex Bennée
2025-12-05 7:54 ` Thomas Huth
2025-12-04 19:48 ` [PATCH v2 03/11] tests/tcg: honour the available QEMU binaries when running check-tcg Alex Bennée
2025-12-04 19:48 ` [PATCH v2 04/11] tests/lcitool: add bzip2 to the minimal dependency list Alex Bennée
2025-12-05 6:14 ` Thomas Huth
2025-12-04 19:48 ` [PATCH v2 05/11] tests/lcitool: add nettle to the minimal deps Alex Bennée
2025-12-05 6:37 ` Thomas Huth
2025-12-05 12:48 ` Alex Bennée
2025-12-08 9:11 ` Daniel P. Berrangé
2025-12-08 9:17 ` Thomas Huth
2025-12-04 19:48 ` [PATCH v2 06/11] tests/docker: transition debian-all-test-cross to lcitool Alex Bennée
2025-12-04 19:48 ` [PATCH v2 07/11] tests/docker: drop --disable-[tools|system] from all-test-cross Alex Bennée
2025-12-05 6:40 ` Thomas Huth
2025-12-04 19:48 ` [PATCH v2 08/11] docs/devel: update build environment setup documentation Alex Bennée
2025-12-04 19:49 ` [PATCH v2 09/11] docs/devel: Correct typo Alex Bennée
2025-12-08 9:21 ` Philippe Mathieu-Daudé
2025-12-04 19:49 ` [PATCH v2 10/11] MAINTAINERS: update the custom runner entries Alex Bennée
2025-12-05 6:09 ` Thomas Huth
2025-12-08 9:20 ` Philippe Mathieu-Daudé
2025-12-04 19:49 ` [PATCH v2 11/11] plugins/core: allow reading of registers during discon events Alex Bennée
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).