* [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins)
@ 2025-12-05 16:41 Alex Bennée
2025-12-05 16:41 ` [PULL 01/14] gitlab: drop --disable-pie from aarch64-all-linux-static build Alex Bennée
` (14 more replies)
0 siblings, 15 replies; 16+ messages in thread
From: Alex Bennée @ 2025-12-05 16:41 UTC (permalink / raw)
To: qemu-devel; +Cc: Alex Bennée
The following changes since commit 864814f71b4cbb2e65bc83a502e63b3cbdd43b0f:
Merge tag 'for-upstream' of https://repo.or.cz/qemu/kevin into staging (2025-12-04 13:37:46 -0600)
are available in the Git repository at:
https://gitlab.com/stsquad/qemu.git tags/pull-10.2-final-fixes-051225-2
for you to fetch changes up to 704db3e250f5c646b3f51bfc7975b66b0f47d767:
aspeed: Deprecate the fby35 machine (2025-12-05 15:37:18 +0000)
----------------------------------------------------------------
Final fixes for 10.2 (gitlab, testing, docker, docs, plugins)
- drop out of date --disable-pie workaround for aarch64 custom job
- remove explicit pxe-test from build with no libslirp
- update the FreeBSD test image
- don't try and run check-tcg tests we haven't built qemu for
- skip iotests which need crypto if we haven't got support
- transition debian-all-test-cross to lcitool
- update build env documentation to refer to lcitool
- update MAINTAINERS entry for custom runners
- ensure discon plugins can read registers
- fix a bug on uftrace symbol helper script
- deprecate the fby35 machine
----------------------------------------------------------------
Alano Song (1):
docs/devel: Correct typo
Alex Bennée (9):
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/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
Cédric Le Goater (1):
aspeed: Deprecate the fby35 machine
Michael Tokarev (1):
gitlab-ci.d/cirrus: Update the FreeBSD job to v14.3
Sönke Holz (1):
contrib/plugins/uftrace_symbols.py: unbreak --no-prefix-symbols
Thomas Huth (1):
tests/qemu-iotests: Check for a functional "secret" object before using it
MAINTAINERS | 7 +-
docs/about/deprecated.rst | 13 +-
docs/devel/atomics.rst | 4 +-
docs/devel/build-environment.rst | 145 ++++++++++++++-------
configure | 6 +-
hw/arm/fby35.c | 1 +
plugins/core.c | 2 +
.gitlab-ci.d/buildtest.yml | 4 +-
.gitlab-ci.d/cirrus.yml | 2 +-
.../custom-runners/ubuntu-24.04-aarch64.yml | 4 +-
contrib/plugins/uftrace_symbols.py | 2 +
tests/Makefile.include | 9 ++
.../dockerfiles/debian-all-test-cross.docker | 130 ++++++++++--------
tests/lcitool/projects/qemu-minimal.yml | 1 +
tests/lcitool/refresh | 49 +++++++
tests/qemu-iotests/049 | 2 +
tests/qemu-iotests/134 | 1 +
tests/qemu-iotests/158 | 1 +
tests/qemu-iotests/common.rc | 14 ++
19 files changed, 277 insertions(+), 120 deletions(-)
--
2.47.3
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PULL 01/14] gitlab: drop --disable-pie from aarch64-all-linux-static build
2025-12-05 16:41 [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Alex Bennée
@ 2025-12-05 16:41 ` Alex Bennée
2025-12-05 16:41 ` [PULL 02/14] gitlab: drop explicit pxe-test from the build-tci job Alex Bennée
` (13 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Alex Bennée @ 2025-12-05 16:41 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Michael Tokarev, Thomas Huth,
Philippe Mathieu-Daudé
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
Suggested-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20251204194902.1340008-2-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
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] 16+ messages in thread
* [PULL 02/14] gitlab: drop explicit pxe-test from the build-tci job
2025-12-05 16:41 [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Alex Bennée
2025-12-05 16:41 ` [PULL 01/14] gitlab: drop --disable-pie from aarch64-all-linux-static build Alex Bennée
@ 2025-12-05 16:41 ` Alex Bennée
2025-12-05 16:41 ` [PULL 03/14] gitlab-ci.d/cirrus: Update the FreeBSD job to v14.3 Alex Bennée
` (12 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Alex Bennée @ 2025-12-05 16:41 UTC (permalink / raw)
To: qemu-devel; +Cc: Alex Bennée, Thomas Huth, Philippe Mathieu-Daudé
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.
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20251204194902.1340008-3-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
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] 16+ messages in thread
* [PULL 03/14] gitlab-ci.d/cirrus: Update the FreeBSD job to v14.3
2025-12-05 16:41 [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Alex Bennée
2025-12-05 16:41 ` [PULL 01/14] gitlab: drop --disable-pie from aarch64-all-linux-static build Alex Bennée
2025-12-05 16:41 ` [PULL 02/14] gitlab: drop explicit pxe-test from the build-tci job Alex Bennée
@ 2025-12-05 16:41 ` Alex Bennée
2025-12-05 16:41 ` [PULL 04/14] tests/tcg: honour the available QEMU binaries when running check-tcg Alex Bennée
` (11 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Alex Bennée @ 2025-12-05 16:41 UTC (permalink / raw)
To: qemu-devel
Cc: Michael Tokarev, Alex Bennée, Thomas Huth,
Philippe Mathieu-Daudé
From: Michael Tokarev <mjt@tls.msk.ru>
The FreeBSD 14.2 job fails since the image disappeared
from the cloud. We already bumped FreeBSD image to 14.3
in tests/vm in c8958b7eb4 (part of v10.1.0).
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20251204205025.2423326-1-mjt@tls.msk.ru>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
diff --git a/.gitlab-ci.d/cirrus.yml b/.gitlab-ci.d/cirrus.yml
index 13a0bf5bb9f..0d66a14186a 100644
--- a/.gitlab-ci.d/cirrus.yml
+++ b/.gitlab-ci.d/cirrus.yml
@@ -37,7 +37,7 @@ x64-freebsd-14-build:
NAME: freebsd-14
CIRRUS_VM_INSTANCE_TYPE: freebsd_instance
CIRRUS_VM_IMAGE_SELECTOR: image_family
- CIRRUS_VM_IMAGE_NAME: freebsd-14-2
+ CIRRUS_VM_IMAGE_NAME: freebsd-14-3
CIRRUS_VM_CPUS: 8
CIRRUS_VM_RAM: 8G
UPDATE_COMMAND: pkg update; pkg upgrade -y
--
2.47.3
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PULL 04/14] tests/tcg: honour the available QEMU binaries when running check-tcg
2025-12-05 16:41 [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Alex Bennée
` (2 preceding siblings ...)
2025-12-05 16:41 ` [PULL 03/14] gitlab-ci.d/cirrus: Update the FreeBSD job to v14.3 Alex Bennée
@ 2025-12-05 16:41 ` Alex Bennée
2025-12-05 16:41 ` [PULL 05/14] tests/qemu-iotests: Check for a functional "secret" object before using it Alex Bennée
` (10 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Alex Bennée @ 2025-12-05 16:41 UTC (permalink / raw)
To: qemu-devel; +Cc: Alex Bennée, 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.
Message-ID: <20251204194902.1340008-4-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
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] 16+ messages in thread
* [PULL 05/14] tests/qemu-iotests: Check for a functional "secret" object before using it
2025-12-05 16:41 [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Alex Bennée
` (3 preceding siblings ...)
2025-12-05 16:41 ` [PULL 04/14] tests/tcg: honour the available QEMU binaries when running check-tcg Alex Bennée
@ 2025-12-05 16:41 ` Alex Bennée
2025-12-05 16:41 ` [PULL 06/14] tests/lcitool: add bzip2 to the minimal dependency list Alex Bennée
` (9 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Alex Bennée @ 2025-12-05 16:41 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Alex Bennée, Kevin Wolf, Hanna Reitz,
open list:Block layer core
From: Thomas Huth <thuth@redhat.com>
QEMU iotests 049, 134 and 158 are currently failing if you compiled
QEMU without the crypto libraries. Thus make sure that the "secret"
object is really usable and skip the tests otherwise.
Reported-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20251205130014.693799-1-thuth@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
diff --git a/tests/qemu-iotests/049 b/tests/qemu-iotests/049
index ed12fa49d7f..a1b922060db 100755
--- a/tests/qemu-iotests/049
+++ b/tests/qemu-iotests/049
@@ -39,6 +39,8 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
+_require_secret
+
filter_test_dir()
{
diff --git a/tests/qemu-iotests/134 b/tests/qemu-iotests/134
index b2c3c03f08b..cc1e35eb161 100755
--- a/tests/qemu-iotests/134
+++ b/tests/qemu-iotests/134
@@ -39,6 +39,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow qcow2
_supported_proto file
+_require_secret
size=128M
diff --git a/tests/qemu-iotests/158 b/tests/qemu-iotests/158
index 3a9ad7eed03..8fc4e986532 100755
--- a/tests/qemu-iotests/158
+++ b/tests/qemu-iotests/158
@@ -39,6 +39,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow qcow2
_supported_proto file
+_require_secret
size=128M
diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc
index e977cb4eb61..10d83d8361b 100644
--- a/tests/qemu-iotests/common.rc
+++ b/tests/qemu-iotests/common.rc
@@ -1053,6 +1053,20 @@ _require_one_device_of()
_notrun "$* not available"
}
+_require_secret()
+{
+ if [ -e "$TEST_IMG" ]; then
+ echo "unwilling to overwrite existing file"
+ exit 1
+ fi
+ if $QEMU_IMG create -f $IMGFMT --object secret,id=sec0,data=123 \
+ -o encryption=on,encrypt.key-secret=sec0 "$TEST_IMG" 1M 2>&1 \
+ | grep "Unsupported cipher" ; then
+ _notrun "missing cipher support"
+ fi
+ rm -f "$TEST_IMG"
+}
+
_qcow2_dump_header()
{
if [[ "$1" == "--no-filter-compression" ]]; then
--
2.47.3
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PULL 06/14] tests/lcitool: add bzip2 to the minimal dependency list
2025-12-05 16:41 [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Alex Bennée
` (4 preceding siblings ...)
2025-12-05 16:41 ` [PULL 05/14] tests/qemu-iotests: Check for a functional "secret" object before using it Alex Bennée
@ 2025-12-05 16:41 ` Alex Bennée
2025-12-05 16:41 ` [PULL 07/14] tests/docker: transition debian-all-test-cross to lcitool Alex Bennée
` (8 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Alex Bennée @ 2025-12-05 16:41 UTC (permalink / raw)
To: qemu-devel; +Cc: Alex Bennée, Thomas Huth, Philippe Mathieu-Daudé
You cannot build any softmmu targets without it by default unless you
build with --disable-install-blobs.
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20251204194902.1340008-5-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
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] 16+ messages in thread
* [PULL 07/14] tests/docker: transition debian-all-test-cross to lcitool
2025-12-05 16:41 [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Alex Bennée
` (5 preceding siblings ...)
2025-12-05 16:41 ` [PULL 06/14] tests/lcitool: add bzip2 to the minimal dependency list Alex Bennée
@ 2025-12-05 16:41 ` Alex Bennée
2025-12-05 16:41 ` [PULL 08/14] tests/docker: drop --disable-[tools|system] from all-test-cross Alex Bennée
` (7 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Alex Bennée @ 2025-12-05 16:41 UTC (permalink / raw)
To: qemu-devel; +Cc: Alex Bennée, Philippe Mathieu-Daudé, 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.
Message-ID: <20251204194902.1340008-7-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
diff --git a/tests/docker/dockerfiles/debian-all-test-cross.docker b/tests/docker/dockerfiles/debian-all-test-cross.docker
index 420a4e33e60..079942a1c56 100644
--- a/tests/docker/dockerfiles/debian-all-test-cross.docker
+++ b/tests/docker/dockerfiles/debian-all-test-cross.docker
@@ -1,77 +1,97 @@
+# 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 \
+ 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] 16+ messages in thread
* [PULL 08/14] tests/docker: drop --disable-[tools|system] from all-test-cross
2025-12-05 16:41 [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Alex Bennée
` (6 preceding siblings ...)
2025-12-05 16:41 ` [PULL 07/14] tests/docker: transition debian-all-test-cross to lcitool Alex Bennée
@ 2025-12-05 16:41 ` Alex Bennée
2025-12-05 16:41 ` [PULL 09/14] docs/devel: update build environment setup documentation Alex Bennée
` (6 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Alex Bennée @ 2025-12-05 16:41 UTC (permalink / raw)
To: qemu-devel; +Cc: Alex Bennée, Thomas Huth, Philippe Mathieu-Daudé
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.
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20251204194902.1340008-8-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
diff --git a/tests/docker/dockerfiles/debian-all-test-cross.docker b/tests/docker/dockerfiles/debian-all-test-cross.docker
index 079942a1c56..1823233438a 100644
--- a/tests/docker/dockerfiles/debian-all-test-cross.docker
+++ b/tests/docker/dockerfiles/debian-all-test-cross.docker
@@ -89,7 +89,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] 16+ messages in thread
* [PULL 09/14] docs/devel: update build environment setup documentation
2025-12-05 16:41 [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Alex Bennée
` (7 preceding siblings ...)
2025-12-05 16:41 ` [PULL 08/14] tests/docker: drop --disable-[tools|system] from all-test-cross Alex Bennée
@ 2025-12-05 16:41 ` Alex Bennée
2025-12-05 16:41 ` [PULL 10/14] docs/devel: Correct typo Alex Bennée
` (5 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Alex Bennée @ 2025-12-05 16:41 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Daniel P. Berrangé, Thomas Huth,
Markus Armbruster, Philippe Mathieu-Daudé
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
Message-ID: <20251204194902.1340008-9-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
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] 16+ messages in thread
* [PULL 10/14] docs/devel: Correct typo
2025-12-05 16:41 [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Alex Bennée
` (8 preceding siblings ...)
2025-12-05 16:41 ` [PULL 09/14] docs/devel: update build environment setup documentation Alex Bennée
@ 2025-12-05 16:41 ` Alex Bennée
2025-12-05 16:41 ` [PULL 11/14] MAINTAINERS: update the custom runner entries Alex Bennée
` (4 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Alex Bennée @ 2025-12-05 16:41 UTC (permalink / raw)
To: qemu-devel
Cc: Alano Song, Christian Schoenebeck, Thomas Huth, Alex Bennée
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]
Message-ID: <20251204194902.1340008-10-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
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] 16+ messages in thread
* [PULL 11/14] MAINTAINERS: update the custom runner entries
2025-12-05 16:41 [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Alex Bennée
` (9 preceding siblings ...)
2025-12-05 16:41 ` [PULL 10/14] docs/devel: Correct typo Alex Bennée
@ 2025-12-05 16:41 ` Alex Bennée
2025-12-05 16:41 ` [PULL 12/14] plugins/core: allow reading of registers during discon events Alex Bennée
` (3 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Alex Bennée @ 2025-12-05 16:41 UTC (permalink / raw)
To: qemu-devel; +Cc: Alex Bennée, 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
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20251204194902.1340008-11-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
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] 16+ messages in thread
* [PULL 12/14] plugins/core: allow reading of registers during discon events
2025-12-05 16:41 [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Alex Bennée
` (10 preceding siblings ...)
2025-12-05 16:41 ` [PULL 11/14] MAINTAINERS: update the custom runner entries Alex Bennée
@ 2025-12-05 16:41 ` Alex Bennée
2025-12-05 16:41 ` [PULL 13/14] contrib/plugins/uftrace_symbols.py: unbreak --no-prefix-symbols Alex Bennée
` (2 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Alex Bennée @ 2025-12-05 16:41 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Pierrick Bouvier, Julian Ganz, Alexandre Iooss,
Mahmoud Mandour
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)
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Cc: Julian Ganz <neither@nut.email>
Reviewed-by: Julian Ganz <neither@nut.email>
Message-ID: <20251204194902.1340008-12-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
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] 16+ messages in thread
* [PULL 13/14] contrib/plugins/uftrace_symbols.py: unbreak --no-prefix-symbols
2025-12-05 16:41 [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Alex Bennée
` (11 preceding siblings ...)
2025-12-05 16:41 ` [PULL 12/14] plugins/core: allow reading of registers during discon events Alex Bennée
@ 2025-12-05 16:41 ` Alex Bennée
2025-12-05 16:41 ` [PULL 14/14] aspeed: Deprecate the fby35 machine Alex Bennée
2025-12-05 20:54 ` [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Richard Henderson
14 siblings, 0 replies; 16+ messages in thread
From: Alex Bennée @ 2025-12-05 16:41 UTC (permalink / raw)
To: qemu-devel
Cc: Sönke Holz, Pierrick Bouvier, Alex Bennée,
Alexandre Iooss, Mahmoud Mandour
From: Sönke Holz <sholz8530@gmail.com>
Since 8a545a336d, `name` is unbound if --no-prefix-symbols is passed,
causing this script to break when that option is set.
Signed-off-by: Sönke Holz <sholz8530@gmail.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-ID: <20251205105614.13673-1-sholz8530@gmail.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
diff --git a/contrib/plugins/uftrace_symbols.py b/contrib/plugins/uftrace_symbols.py
index 45fb79c7a58..21704541a6c 100755
--- a/contrib/plugins/uftrace_symbols.py
+++ b/contrib/plugins/uftrace_symbols.py
@@ -98,6 +98,8 @@ def generate_symbol_file(self, prefix_symbols):
size = f'{s.size:{addrx}}'
if prefix_symbols:
name = f'{binary_name}:{s.name}'
+ else:
+ name = s.name
print(addr, size, 'T', name, file=sym_file)
def generate_debug_file(self):
--
2.47.3
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PULL 14/14] aspeed: Deprecate the fby35 machine
2025-12-05 16:41 [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Alex Bennée
` (12 preceding siblings ...)
2025-12-05 16:41 ` [PULL 13/14] contrib/plugins/uftrace_symbols.py: unbreak --no-prefix-symbols Alex Bennée
@ 2025-12-05 16:41 ` Alex Bennée
2025-12-05 20:54 ` [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Richard Henderson
14 siblings, 0 replies; 16+ messages in thread
From: Alex Bennée @ 2025-12-05 16:41 UTC (permalink / raw)
To: qemu-devel
Cc: Cédric Le Goater, Peter Delevoryas, Alex Bennée,
reviewer:Incompatible changes, Cédric Le Goater,
Peter Maydell, Steven Lee, Troy Lee, Jamin Lin, Andrew Jeffery,
Joel Stanley, open list:ASPEED BMCs
From: Cédric Le Goater <clg@redhat.com>
There are no functional tests for the 'fby35' machine which makes
harder to determine when something becomes deprecated or unused.
The 'fby35' machine was originally added as an example of a multi-SoC
system, with the expectation the models would evolve over time in an
heterogeneous system. This hasn't happened and no public firmware is
available to boot it. It can be replaced by the 'ast2700fc', another
multi-SoC machine based on the newer AST2700 SoCs which are excepted
to receive better support in the future.
Cc: Peter Delevoryas <peter@pjd.dev>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Message-ID: <20251126102424.927527-1-clg@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 9386cffba26..ac31a2bce42 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -308,13 +308,24 @@ I2C devices connected to the board can be defined via the QEMU command
line.
Arm ``fp5280g2-bmc`` machine (since 10.2)
-'''''''''''''''''''''''''''''''''''''''''''
+'''''''''''''''''''''''''''''''''''''''''
The ``fp5280g2-bmc`` machine does not rely on any specific device
models, it can be replaced by the ``ast2500-evb`` machine using the
``fmc-model`` option to specify the flash type. The I2C devices
connected to the board can be defined via the QEMU command line.
+Arm ``fby35`` machine (since 10.2)
+''''''''''''''''''''''''''''''''''
+
+The ``fby35`` machine was originally added as an example of a
+multi-SoC system, with the expectation the models would evolve over
+time in an heterogeneous system. This hasn't happened and no public
+firmware is available to boot it. It can be replaced by the
+``ast2700fc``, another multi-SoC machine based on the newer AST2700
+SoCs which are excepted to receive better support in the future.
+
+
RISC-V default machine option (since 10.0)
''''''''''''''''''''''''''''''''''''''''''
diff --git a/hw/arm/fby35.c b/hw/arm/fby35.c
index 70d3a99d79e..e61a6438fef 100644
--- a/hw/arm/fby35.c
+++ b/hw/arm/fby35.c
@@ -175,6 +175,7 @@ static void fby35_class_init(ObjectClass *oc, const void *data)
MachineClass *mc = MACHINE_CLASS(oc);
mc->desc = "Meta Platforms fby35";
+ mc->deprecation_reason = "For a multi-soc machine, use 'ast2700fc' instead";
mc->init = fby35_init;
mc->no_floppy = 1;
mc->no_cdrom = 1;
--
2.47.3
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins)
2025-12-05 16:41 [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Alex Bennée
` (13 preceding siblings ...)
2025-12-05 16:41 ` [PULL 14/14] aspeed: Deprecate the fby35 machine Alex Bennée
@ 2025-12-05 20:54 ` Richard Henderson
14 siblings, 0 replies; 16+ messages in thread
From: Richard Henderson @ 2025-12-05 20:54 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
On 12/5/25 10:41, Alex Bennée wrote:
> The following changes since commit 864814f71b4cbb2e65bc83a502e63b3cbdd43b0f:
>
> Merge tag 'for-upstream' ofhttps://repo.or.cz/qemu/kevin into staging (2025-12-04 13:37:46 -0600)
>
> are available in the Git repository at:
>
> https://gitlab.com/stsquad/qemu.git tags/pull-10.2-final-fixes-051225-2
>
> for you to fetch changes up to 704db3e250f5c646b3f51bfc7975b66b0f47d767:
>
> aspeed: Deprecate the fby35 machine (2025-12-05 15:37:18 +0000)
>
> ----------------------------------------------------------------
> Final fixes for 10.2 (gitlab, testing, docker, docs, plugins)
>
> - drop out of date --disable-pie workaround for aarch64 custom job
> - remove explicit pxe-test from build with no libslirp
> - update the FreeBSD test image
> - don't try and run check-tcg tests we haven't built qemu for
> - skip iotests which need crypto if we haven't got support
> - transition debian-all-test-cross to lcitool
> - update build env documentation to refer to lcitool
> - update MAINTAINERS entry for custom runners
> - ensure discon plugins can read registers
> - fix a bug on uftrace symbol helper script
> - deprecate the fby35 machine
Applied, thanks. Please update https://wiki.qemu.org/ChangeLog/10.2 as appropriate.
r~
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2025-12-05 20:56 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-05 16:41 [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Alex Bennée
2025-12-05 16:41 ` [PULL 01/14] gitlab: drop --disable-pie from aarch64-all-linux-static build Alex Bennée
2025-12-05 16:41 ` [PULL 02/14] gitlab: drop explicit pxe-test from the build-tci job Alex Bennée
2025-12-05 16:41 ` [PULL 03/14] gitlab-ci.d/cirrus: Update the FreeBSD job to v14.3 Alex Bennée
2025-12-05 16:41 ` [PULL 04/14] tests/tcg: honour the available QEMU binaries when running check-tcg Alex Bennée
2025-12-05 16:41 ` [PULL 05/14] tests/qemu-iotests: Check for a functional "secret" object before using it Alex Bennée
2025-12-05 16:41 ` [PULL 06/14] tests/lcitool: add bzip2 to the minimal dependency list Alex Bennée
2025-12-05 16:41 ` [PULL 07/14] tests/docker: transition debian-all-test-cross to lcitool Alex Bennée
2025-12-05 16:41 ` [PULL 08/14] tests/docker: drop --disable-[tools|system] from all-test-cross Alex Bennée
2025-12-05 16:41 ` [PULL 09/14] docs/devel: update build environment setup documentation Alex Bennée
2025-12-05 16:41 ` [PULL 10/14] docs/devel: Correct typo Alex Bennée
2025-12-05 16:41 ` [PULL 11/14] MAINTAINERS: update the custom runner entries Alex Bennée
2025-12-05 16:41 ` [PULL 12/14] plugins/core: allow reading of registers during discon events Alex Bennée
2025-12-05 16:41 ` [PULL 13/14] contrib/plugins/uftrace_symbols.py: unbreak --no-prefix-symbols Alex Bennée
2025-12-05 16:41 ` [PULL 14/14] aspeed: Deprecate the fby35 machine Alex Bennée
2025-12-05 20:54 ` [PULL 00/14] Final fixes for 10.2 (gitlab, testing, docker, docs, plugins) Richard Henderson
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).