* [PATCH v2 00/10] Maintainer updates (testing, gdbstub) pre-PR
@ 2024-09-10 17:38 Alex Bennée
2024-09-10 17:38 ` [PATCH v2 01/10] tests/docker: remove debian-armel-cross Alex Bennée
` (9 more replies)
0 siblings, 10 replies; 15+ messages in thread
From: Alex Bennée @ 2024-09-10 17:38 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Zhao Liu, Peter Maydell, Paolo Bonzini,
Marcel Apfelbaum, qemu-arm, devel, Pierrick Bouvier,
Alexandre Iooss, Alex Bennée, Philippe Mathieu-Daudé,
Jiaxun Yang, Beraldo Leal, Eduardo Habkost, Richard Henderson,
Mahmoud Mandour, Yanan Wang, Wainer dos Santos Moschetta
Hi,
Testing
I've updated a number of the docker containers to deal with breakages
in the crossdev environments as bullseye moves to LTS. I've dropped
the armel environment which doesn't really add much to the armhf cross
build we have that works. i686 and mipsel cross containers are bumped
up to bookworm. Currently mips64el is still broken.
gdbstub
This brings in Gustavo's patches to support MTE for system mode
expanding on the previously implemented user mode support.
plugins
I've dropped the TCG plugins from the series so as not to make the
pull request too large. I'll roll a new series once I've sent the PR
for this.
Changes
- moved mips64le TCG tests to use the debian-all-test-cross
- fixed some --disable-tcg failures for the MTE patches
The following still need review:
tests/docker: use debian-all-test-cross for mips64el tests
Alex Bennée (5):
tests/docker: remove debian-armel-cross
tests/docker: update debian i686 and mipsel images to bookworm
tests/docker: use debian-all-test-cross for mips64el tests
docs/devel: fix duplicate line
scripts/ci: update the gitlab-runner playbook
Gustavo Romero (5):
gdbstub: Use specific MMU index when probing MTE addresses
gdbstub: Add support for MTE in system mode
tests/guest-debug: Support passing arguments to the GDB test script
tests/tcg/aarch64: Improve linker script organization
tests/tcg/aarch64: Extend MTE gdbstub tests to system mode
docs/devel/testing/main.rst | 6 -
configure | 7 +-
target/arm/gdbstub64.c | 23 ++-
.gitlab-ci.d/container-cross.yml | 6 -
.gitlab-ci.d/crossbuilds.yml | 7 -
scripts/ci/setup/gitlab-runner.yml | 39 +++-
.../dockerfiles/debian-armel-cross.docker | 179 ------------------
.../dockerfiles/debian-i686-cross.docker | 10 +-
.../dockerfiles/debian-mipsel-cross.docker | 10 +-
tests/guest-debug/run-test.py | 6 +
tests/guest-debug/test_gdbstub.py | 5 +
tests/lcitool/refresh | 10 +-
tests/tcg/aarch64/Makefile.softmmu-target | 49 ++++-
tests/tcg/aarch64/Makefile.target | 3 +-
tests/tcg/aarch64/gdbstub/test-mte.py | 71 ++++---
tests/tcg/aarch64/system/boot.S | 11 ++
tests/tcg/aarch64/system/kernel.ld | 33 ++--
tests/tcg/aarch64/system/mte.S | 109 +++++++++++
18 files changed, 310 insertions(+), 274 deletions(-)
delete mode 100644 tests/docker/dockerfiles/debian-armel-cross.docker
create mode 100644 tests/tcg/aarch64/system/mte.S
--
2.39.2
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 01/10] tests/docker: remove debian-armel-cross
2024-09-10 17:38 [PATCH v2 00/10] Maintainer updates (testing, gdbstub) pre-PR Alex Bennée
@ 2024-09-10 17:38 ` Alex Bennée
2024-09-10 18:16 ` Philippe Mathieu-Daudé
2024-09-10 20:41 ` Richard Henderson
2024-09-10 17:38 ` [PATCH v2 02/10] tests/docker: update debian i686 and mipsel images to bookworm Alex Bennée
` (8 subsequent siblings)
9 siblings, 2 replies; 15+ messages in thread
From: Alex Bennée @ 2024-09-10 17:38 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Zhao Liu, Peter Maydell, Paolo Bonzini,
Marcel Apfelbaum, qemu-arm, devel, Pierrick Bouvier,
Alexandre Iooss, Alex Bennée, Philippe Mathieu-Daudé,
Jiaxun Yang, Beraldo Leal, Eduardo Habkost, Richard Henderson,
Mahmoud Mandour, Yanan Wang, Wainer dos Santos Moschetta
As debian-11 transitions to LTS we are starting to have problems
building the image. While we could update to a later Debian building a
32 bit QEMU without modern floating point is niche host amongst the
few remaining 32 bit hosts we regularly build for. For now we still
have armhf-debian-cross-container which is currently built from the
more recent debian-12.
Message-Id: <20240910140733.4007719-2-alex.bennee@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
.gitlab-ci.d/container-cross.yml | 6 -
.gitlab-ci.d/crossbuilds.yml | 7 -
.../dockerfiles/debian-armel-cross.docker | 179 ------------------
tests/lcitool/refresh | 6 -
4 files changed, 198 deletions(-)
delete mode 100644 tests/docker/dockerfiles/debian-armel-cross.docker
diff --git a/.gitlab-ci.d/container-cross.yml b/.gitlab-ci.d/container-cross.yml
index e3103940a0..9a3ebd885e 100644
--- a/.gitlab-ci.d/container-cross.yml
+++ b/.gitlab-ci.d/container-cross.yml
@@ -22,12 +22,6 @@ arm64-debian-cross-container:
variables:
NAME: debian-arm64-cross
-armel-debian-cross-container:
- extends: .container_job_template
- stage: containers
- variables:
- NAME: debian-armel-cross
-
armhf-debian-cross-container:
extends: .container_job_template
stage: containers
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index cb499e4ee0..459273f9da 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -1,13 +1,6 @@
include:
- local: '/.gitlab-ci.d/crossbuild-template.yml'
-cross-armel-user:
- extends: .cross_user_build_job
- needs:
- job: armel-debian-cross-container
- variables:
- IMAGE: debian-armel-cross
-
cross-armhf-user:
extends: .cross_user_build_job
needs:
diff --git a/tests/docker/dockerfiles/debian-armel-cross.docker b/tests/docker/dockerfiles/debian-armel-cross.docker
deleted file mode 100644
index 8476fc8cce..0000000000
--- a/tests/docker/dockerfiles/debian-armel-cross.docker
+++ /dev/null
@@ -1,179 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool dockerfile --layers all --cross-arch armv6l debian-11 qemu
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM docker.io/library/debian:11-slim
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- apt-get update && \
- apt-get install -y eatmydata && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y \
- bash \
- bc \
- bison \
- bsdextrautils \
- bzip2 \
- ca-certificates \
- ccache \
- dbus \
- debianutils \
- diffutils \
- exuberant-ctags \
- findutils \
- flex \
- gcc \
- gcovr \
- gettext \
- git \
- hostname \
- libglib2.0-dev \
- libgtk-vnc-2.0-dev \
- libpcre2-dev \
- libsndio-dev \
- libspice-protocol-dev \
- llvm \
- locales \
- make \
- meson \
- mtools \
- ncat \
- ninja-build \
- openssh-client \
- pkgconf \
- python3 \
- python3-numpy \
- python3-opencv \
- python3-pillow \
- python3-pip \
- python3-setuptools \
- python3-sphinx \
- python3-sphinx-rtd-theme \
- python3-venv \
- python3-wheel \
- python3-yaml \
- rpm2cpio \
- sed \
- socat \
- sparse \
- tar \
- tesseract-ocr \
- tesseract-ocr-eng \
- xorriso \
- zstd && \
- 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
-
-RUN /usr/bin/pip3 install tomli
-
-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"
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- dpkg --add-architecture armel && \
- eatmydata apt-get update && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
- eatmydata apt-get install --no-install-recommends -y \
- gcc-arm-linux-gnueabi \
- libaio-dev:armel \
- libasan6:armel \
- libasound2-dev:armel \
- libattr1-dev:armel \
- libbpf-dev:armel \
- libbrlapi-dev:armel \
- libbz2-dev:armel \
- libc6-dev:armel \
- libcacard-dev:armel \
- libcap-ng-dev:armel \
- libcapstone-dev:armel \
- libcmocka-dev:armel \
- libcurl4-gnutls-dev:armel \
- libdaxctl-dev:armel \
- libdrm-dev:armel \
- libepoxy-dev:armel \
- libfdt-dev:armel \
- libffi-dev:armel \
- libfuse3-dev:armel \
- libgbm-dev:armel \
- libgcrypt20-dev:armel \
- libglib2.0-dev:armel \
- libglusterfs-dev:armel \
- libgnutls28-dev:armel \
- libgtk-3-dev:armel \
- libibverbs-dev:armel \
- libiscsi-dev:armel \
- libjemalloc-dev:armel \
- libjpeg62-turbo-dev:armel \
- libjson-c-dev:armel \
- liblttng-ust-dev:armel \
- liblzo2-dev:armel \
- libncursesw5-dev:armel \
- libnfs-dev:armel \
- libnuma-dev:armel \
- libpam0g-dev:armel \
- libpipewire-0.3-dev:armel \
- libpixman-1-dev:armel \
- libpng-dev:armel \
- libpulse-dev:armel \
- librbd-dev:armel \
- librdmacm-dev:armel \
- libsasl2-dev:armel \
- libsdl2-dev:armel \
- libsdl2-image-dev:armel \
- libseccomp-dev:armel \
- libselinux1-dev:armel \
- libslirp-dev:armel \
- libsnappy-dev:armel \
- libspice-server-dev:armel \
- libssh-gcrypt-dev:armel \
- libsystemd-dev:armel \
- libtasn1-6-dev:armel \
- libubsan1:armel \
- libudev-dev:armel \
- liburing-dev:armel \
- libusb-1.0-0-dev:armel \
- libusbredirhost-dev:armel \
- libvdeplug-dev:armel \
- libvirglrenderer-dev:armel \
- libvte-2.91-dev:armel \
- libzstd-dev:armel \
- nettle-dev:armel \
- systemtap-sdt-dev:armel \
- zlib1g-dev:armel && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- mkdir -p /usr/local/share/meson/cross && \
- printf "[binaries]\n\
-c = '/usr/bin/arm-linux-gnueabi-gcc'\n\
-ar = '/usr/bin/arm-linux-gnueabi-gcc-ar'\n\
-strip = '/usr/bin/arm-linux-gnueabi-strip'\n\
-pkgconfig = '/usr/bin/arm-linux-gnueabi-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'arm'\n\
-cpu = 'arm'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabi && \
- 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/arm-linux-gnueabi-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-gcc
-
-ENV ABI "arm-linux-gnueabi"
-ENV MESON_OPTS "--cross-file=arm-linux-gnueabi"
-ENV QEMU_CONFIGURE_OPTS --cross-prefix=arm-linux-gnueabi-
-ENV DEF_TARGET_LIST arm-softmmu,arm-linux-user,armeb-linux-user
-# As a final step configure the user (if env is defined)
-ARG USER
-ARG UID
-RUN if [ "${USER}" ]; then \
- id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index ac803e34f1..199d5fad87 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -154,12 +154,6 @@ try:
trailer=cross_build("aarch64-linux-gnu-",
"aarch64-softmmu,aarch64-linux-user"))
- # migration to bookworm stalled: https://lists.debian.org/debian-arm/2023/09/msg00006.html
- generate_dockerfile("debian-armel-cross", "debian-11",
- cross="armv6l",
- trailer=cross_build("arm-linux-gnueabi-",
- "arm-softmmu,arm-linux-user,armeb-linux-user"))
-
generate_dockerfile("debian-armhf-cross", "debian-12",
cross="armv7l",
trailer=cross_build("arm-linux-gnueabihf-",
--
2.39.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 02/10] tests/docker: update debian i686 and mipsel images to bookworm
2024-09-10 17:38 [PATCH v2 00/10] Maintainer updates (testing, gdbstub) pre-PR Alex Bennée
2024-09-10 17:38 ` [PATCH v2 01/10] tests/docker: remove debian-armel-cross Alex Bennée
@ 2024-09-10 17:38 ` Alex Bennée
2024-09-10 20:42 ` Richard Henderson
2024-09-10 17:38 ` [PATCH v2 03/10] tests/docker: use debian-all-test-cross for mips64el tests Alex Bennée
` (7 subsequent siblings)
9 siblings, 1 reply; 15+ messages in thread
From: Alex Bennée @ 2024-09-10 17:38 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Zhao Liu, Peter Maydell, Paolo Bonzini,
Marcel Apfelbaum, qemu-arm, devel, Pierrick Bouvier,
Alexandre Iooss, Alex Bennée, Philippe Mathieu-Daudé,
Jiaxun Yang, Beraldo Leal, Eduardo Habkost, Richard Henderson,
Mahmoud Mandour, Yanan Wang, Wainer dos Santos Moschetta
Whatever issues there were which stopped these being updates when the
rest were have now been resolved. However mips64el continues to be
broken so don't update it here.
Message-Id: <20240910140733.4007719-3-alex.bennee@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/docker/dockerfiles/debian-i686-cross.docker | 10 ++++------
tests/docker/dockerfiles/debian-mipsel-cross.docker | 10 ++++------
tests/lcitool/refresh | 4 ++--
3 files changed, 10 insertions(+), 14 deletions(-)
diff --git a/tests/docker/dockerfiles/debian-i686-cross.docker b/tests/docker/dockerfiles/debian-i686-cross.docker
index 3fe8ee623d..2328ee1732 100644
--- a/tests/docker/dockerfiles/debian-i686-cross.docker
+++ b/tests/docker/dockerfiles/debian-i686-cross.docker
@@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED
#
-# $ lcitool dockerfile --layers all --cross-arch i686 debian-11 qemu
+# $ lcitool dockerfile --layers all --cross-arch i686 debian-12 qemu
#
# https://gitlab.com/libvirt/libvirt-ci
-FROM docker.io/library/debian:11-slim
+FROM docker.io/library/debian:12-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
@@ -48,16 +48,15 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \
python3-pillow \
python3-pip \
- python3-setuptools \
python3-sphinx \
python3-sphinx-rtd-theme \
python3-venv \
- python3-wheel \
python3-yaml \
rpm2cpio \
sed \
socat \
sparse \
+ swtpm \
tar \
tesseract-ocr \
tesseract-ocr-eng \
@@ -69,8 +68,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
dpkg-reconfigure locales && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
-RUN /usr/bin/pip3 install tomli
-
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
@@ -145,6 +142,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libvdeplug-dev:i386 \
libvirglrenderer-dev:i386 \
libvte-2.91-dev:i386 \
+ libxdp-dev:i386 \
libzstd-dev:i386 \
nettle-dev:i386 \
systemtap-sdt-dev:i386 \
diff --git a/tests/docker/dockerfiles/debian-mipsel-cross.docker b/tests/docker/dockerfiles/debian-mipsel-cross.docker
index 0d559ae4ba..4ac314e22e 100644
--- a/tests/docker/dockerfiles/debian-mipsel-cross.docker
+++ b/tests/docker/dockerfiles/debian-mipsel-cross.docker
@@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED
#
-# $ lcitool dockerfile --layers all --cross-arch mipsel debian-11 qemu
+# $ lcitool dockerfile --layers all --cross-arch mipsel debian-12 qemu
#
# https://gitlab.com/libvirt/libvirt-ci
-FROM docker.io/library/debian:11-slim
+FROM docker.io/library/debian:12-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
@@ -48,16 +48,15 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \
python3-pillow \
python3-pip \
- python3-setuptools \
python3-sphinx \
python3-sphinx-rtd-theme \
python3-venv \
- python3-wheel \
python3-yaml \
rpm2cpio \
sed \
socat \
sparse \
+ swtpm \
tar \
tesseract-ocr \
tesseract-ocr-eng \
@@ -69,8 +68,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
dpkg-reconfigure locales && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
-RUN /usr/bin/pip3 install tomli
-
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
@@ -143,6 +140,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libvdeplug-dev:mipsel \
libvirglrenderer-dev:mipsel \
libvte-2.91-dev:mipsel \
+ libxdp-dev:mipsel \
libzstd-dev:mipsel \
nettle-dev:mipsel \
systemtap-sdt-dev:mipsel \
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index 199d5fad87..c60490a7fa 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -159,7 +159,7 @@ try:
trailer=cross_build("arm-linux-gnueabihf-",
"arm-softmmu,arm-linux-user"))
- generate_dockerfile("debian-i686-cross", "debian-11",
+ generate_dockerfile("debian-i686-cross", "debian-12",
cross="i686",
trailer=cross_build("i686-linux-gnu-",
"x86_64-softmmu,"
@@ -171,7 +171,7 @@ try:
trailer=cross_build("mips64el-linux-gnuabi64-",
"mips64el-softmmu,mips64el-linux-user"))
- generate_dockerfile("debian-mipsel-cross", "debian-11",
+ generate_dockerfile("debian-mipsel-cross", "debian-12",
cross="mipsel",
trailer=cross_build("mipsel-linux-gnu-",
"mipsel-softmmu,mipsel-linux-user"))
--
2.39.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 03/10] tests/docker: use debian-all-test-cross for mips64el tests
2024-09-10 17:38 [PATCH v2 00/10] Maintainer updates (testing, gdbstub) pre-PR Alex Bennée
2024-09-10 17:38 ` [PATCH v2 01/10] tests/docker: remove debian-armel-cross Alex Bennée
2024-09-10 17:38 ` [PATCH v2 02/10] tests/docker: update debian i686 and mipsel images to bookworm Alex Bennée
@ 2024-09-10 17:38 ` Alex Bennée
2024-09-10 20:43 ` Richard Henderson
2024-09-10 17:38 ` [PATCH v2 04/10] docs/devel: fix duplicate line Alex Bennée
` (6 subsequent siblings)
9 siblings, 1 reply; 15+ messages in thread
From: Alex Bennée @ 2024-09-10 17:38 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Zhao Liu, Peter Maydell, Paolo Bonzini,
Marcel Apfelbaum, qemu-arm, devel, Pierrick Bouvier,
Alexandre Iooss, Alex Bennée, Philippe Mathieu-Daudé,
Jiaxun Yang, Beraldo Leal, Eduardo Habkost, Richard Henderson,
Mahmoud Mandour, Yanan Wang, Wainer dos Santos Moschetta
While the mips64el cross compilation environment is busted in Debian
we can use the debian-all-test-cross image for building TCG tests like
we do in the CI.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index d08b71f14b..39a284ddfe 100755
--- a/configure
+++ b/configure
@@ -1328,7 +1328,7 @@ probe_target_compiler() {
container_cross_prefix=microblaze-linux-musl-
;;
mips64el)
- container_image=debian-mips64el-cross
+ container_image=debian-all-test-cross
container_cross_prefix=mips64el-linux-gnuabi64-
;;
tricore)
--
2.39.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 04/10] docs/devel: fix duplicate line
2024-09-10 17:38 [PATCH v2 00/10] Maintainer updates (testing, gdbstub) pre-PR Alex Bennée
` (2 preceding siblings ...)
2024-09-10 17:38 ` [PATCH v2 03/10] tests/docker: use debian-all-test-cross for mips64el tests Alex Bennée
@ 2024-09-10 17:38 ` Alex Bennée
2024-09-10 17:38 ` [PATCH v2 05/10] scripts/ci: update the gitlab-runner playbook Alex Bennée
` (5 subsequent siblings)
9 siblings, 0 replies; 15+ messages in thread
From: Alex Bennée @ 2024-09-10 17:38 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Zhao Liu, Peter Maydell, Paolo Bonzini,
Marcel Apfelbaum, qemu-arm, devel, Pierrick Bouvier,
Alexandre Iooss, Alex Bennée, Philippe Mathieu-Daudé,
Jiaxun Yang, Beraldo Leal, Eduardo Habkost, Richard Henderson,
Mahmoud Mandour, Yanan Wang, Wainer dos Santos Moschetta
I guess the same change came in via two patch series. Remove the
repetition.
Fixes: 2a851fca9f (docs/devel: remind developers to run CI container pipeline when updating images)
Message-Id: <20240910140733.4007719-4-alex.bennee@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
docs/devel/testing/main.rst | 6 ------
1 file changed, 6 deletions(-)
diff --git a/docs/devel/testing/main.rst b/docs/devel/testing/main.rst
index e9921a4b10..09725e8ea9 100644
--- a/docs/devel/testing/main.rst
+++ b/docs/devel/testing/main.rst
@@ -500,12 +500,6 @@ first to contribute the mapping to the ``libvirt-ci`` project:
`CI <https://www.qemu.org/docs/master/devel/ci.html>`__ documentation
page on how to trigger gitlab CI pipelines on your change.
- * Please also trigger gitlab container generation pipelines on your change
- for as many OS distros as practical to make sure that there are no
- obvious breakages when adding the new pre-requisite. Please see
- `CI <https://www.qemu.org/docs/master/devel/ci.html>`__ documentation
- page on how to trigger gitlab CI pipelines on your change.
-
For enterprise distros that default to old, end-of-life versions of the
Python runtime, QEMU uses a separate set of mappings that work with more
recent versions. These can be found in ``tests/lcitool/mappings.yml``.
--
2.39.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 05/10] scripts/ci: update the gitlab-runner playbook
2024-09-10 17:38 [PATCH v2 00/10] Maintainer updates (testing, gdbstub) pre-PR Alex Bennée
` (3 preceding siblings ...)
2024-09-10 17:38 ` [PATCH v2 04/10] docs/devel: fix duplicate line Alex Bennée
@ 2024-09-10 17:38 ` Alex Bennée
2024-09-10 17:38 ` [PATCH v2 06/10] gdbstub: Use specific MMU index when probing MTE addresses Alex Bennée
` (4 subsequent siblings)
9 siblings, 0 replies; 15+ messages in thread
From: Alex Bennée @ 2024-09-10 17:38 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Zhao Liu, Peter Maydell, Paolo Bonzini,
Marcel Apfelbaum, qemu-arm, devel, Pierrick Bouvier,
Alexandre Iooss, Alex Bennée, Philippe Mathieu-Daudé,
Jiaxun Yang, Beraldo Leal, Eduardo Habkost, Richard Henderson,
Mahmoud Mandour, Yanan Wang, Wainer dos Santos Moschetta
The upstream install instructions:
https://docs.gitlab.com/runner/install/linux-repository.html
Now refer to repositories and a setup script. Modernise the playbook
to use the preferred delivery method.
Message-Id: <20240910140733.4007719-5-alex.bennee@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
scripts/ci/setup/gitlab-runner.yml | 39 +++++++++++++++++++++++-------
1 file changed, 30 insertions(+), 9 deletions(-)
diff --git a/scripts/ci/setup/gitlab-runner.yml b/scripts/ci/setup/gitlab-runner.yml
index 7bdafab511..57e7faebf1 100644
--- a/scripts/ci/setup/gitlab-runner.yml
+++ b/scripts/ci/setup/gitlab-runner.yml
@@ -49,30 +49,51 @@
- debug:
msg: gitlab-runner arch is {{ gitlab_runner_arch }}
- - name: Download the matching gitlab-runner (DEB)
+ # Debian/Ubuntu setup
+ - name: Get gitlab-runner repo setup script (DEB)
get_url:
dest: "/root/"
- url: "https://gitlab-runner-downloads.s3.amazonaws.com/latest/deb/gitlab-runner_{{ gitlab_runner_arch }}.deb"
+ url: "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh"
+ mode: 0755
when:
- ansible_facts['distribution'] == 'Ubuntu'
- - name: Download the matching gitlab-runner (RPM)
+ - name: Run gitlab-runner repo setup script (DEB)
+ shell: "/root/script.deb.sh"
+ when:
+ - ansible_facts['distribution'] == 'Ubuntu'
+
+ - name: Install gitlab-runner (DEB)
+ ansible.builtin.apt:
+ name: gitlab-runner
+ update_cache: yes
+ state: present
+ when:
+ - ansible_facts['distribution'] == 'Ubuntu'
+
+ # RPM setup
+ - name: Get gitlab-runner repo setup script (RPM)
get_url:
dest: "/root/"
- url: "https://gitlab-runner-downloads.s3.amazonaws.com/latest/rpm/gitlab-runner_{{ gitlab_runner_arch }}.rpm"
+ url: "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh"
+ mode: 0755
when:
- ansible_facts['distribution'] == 'CentOS'
- - name: Install gitlab-runner via package manager (DEB)
- apt: deb="/root/gitlab-runner_{{ gitlab_runner_arch }}.deb"
+ - name: Run gitlab-runner repo setup script (RPM)
+ shell: "/root/script.rpm.sh"
when:
- - ansible_facts['distribution'] == 'Ubuntu'
+ - ansible_facts['distribution'] == 'CentOS'
- - name: Install gitlab-runner via package manager (RPM)
- yum: name="/root/gitlab-runner_{{ gitlab_runner_arch }}.rpm"
+ - name: Install gitlab-runner (RPM)
+ yum:
+ name: gitlab-runner
+ update_cache: yes
+ state: present
when:
- ansible_facts['distribution'] == 'CentOS'
+ # Register Runners
- name: Register the gitlab-runner
command: "/usr/bin/gitlab-runner register --non-interactive --url {{ gitlab_runner_server_url }} --registration-token {{ gitlab_runner_registration_token }} --executor shell --tag-list {{ ansible_facts[\"architecture\"] }},{{ ansible_facts[\"distribution\"]|lower }}_{{ ansible_facts[\"distribution_version\"] }} --description '{{ ansible_facts[\"distribution\"] }} {{ ansible_facts[\"distribution_version\"] }} {{ ansible_facts[\"architecture\"] }} ({{ ansible_facts[\"os_family\"] }})'"
--
2.39.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 06/10] gdbstub: Use specific MMU index when probing MTE addresses
2024-09-10 17:38 [PATCH v2 00/10] Maintainer updates (testing, gdbstub) pre-PR Alex Bennée
` (4 preceding siblings ...)
2024-09-10 17:38 ` [PATCH v2 05/10] scripts/ci: update the gitlab-runner playbook Alex Bennée
@ 2024-09-10 17:38 ` Alex Bennée
2024-09-10 17:38 ` [PATCH v2 07/10] gdbstub: Add support for MTE in system mode Alex Bennée
` (3 subsequent siblings)
9 siblings, 0 replies; 15+ messages in thread
From: Alex Bennée @ 2024-09-10 17:38 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Zhao Liu, Peter Maydell, Paolo Bonzini,
Marcel Apfelbaum, qemu-arm, devel, Pierrick Bouvier,
Alexandre Iooss, Alex Bennée, Philippe Mathieu-Daudé,
Jiaxun Yang, Beraldo Leal, Eduardo Habkost, Richard Henderson,
Mahmoud Mandour, Yanan Wang, Wainer dos Santos Moschetta,
Gustavo Romero
From: Gustavo Romero <gustavo.romero@linaro.org>
Use cpu_mmu_index() to determine the specific translation regime (MMU
index) before probing addresses using allocation_tag_mem_probe().
Currently, the MMU index is hardcoded to 0 and only works for user mode.
By obtaining the specific MMU index according to the translation regime,
future use of the stubs relying on allocation_tag_mem_probe in other
regimes will be possible, like in EL1.
This commit also changes the ptr_size value passed to
allocation_tag_mem_probe() from 8 to 1. The ptr_size parameter actually
represents the number of bytes in the memory access (which can be as
small as 1 byte), rather than the number of bits used in the address
space pointed to by ptr.
Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240906143316.657436-2-gustavo.romero@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
target/arm/gdbstub64.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/target/arm/gdbstub64.c b/target/arm/gdbstub64.c
index 5221381cc8..85a19c14c7 100644
--- a/target/arm/gdbstub64.c
+++ b/target/arm/gdbstub64.c
@@ -435,6 +435,7 @@ static void handle_q_memtag(GArray *params, void *user_ctx)
{
ARMCPU *cpu = ARM_CPU(user_ctx);
CPUARMState *env = &cpu->env;
+ uint32_t mmu_index;
uint64_t addr = gdb_get_cmd_param(params, 0)->val_ull;
uint64_t len = gdb_get_cmd_param(params, 1)->val_ul;
@@ -458,8 +459,10 @@ static void handle_q_memtag(GArray *params, void *user_ctx)
gdb_put_packet("E03");
}
+ /* Find out the current translation regime for probe. */
+ mmu_index = cpu_mmu_index(env_cpu(env), false);
/* Note that tags are packed here (2 tags packed in one byte). */
- tags = allocation_tag_mem_probe(env, 0, addr, MMU_DATA_LOAD, 8 /* 64-bit */,
+ tags = allocation_tag_mem_probe(env, mmu_index, addr, MMU_DATA_LOAD, 1,
MMU_DATA_LOAD, true, 0);
if (!tags) {
/* Address is not in a tagged region. */
@@ -478,13 +481,16 @@ static void handle_q_isaddresstagged(GArray *params, void *user_ctx)
{
ARMCPU *cpu = ARM_CPU(user_ctx);
CPUARMState *env = &cpu->env;
+ uint32_t mmu_index;
uint64_t addr = gdb_get_cmd_param(params, 0)->val_ull;
uint8_t *tags;
const char *reply;
- tags = allocation_tag_mem_probe(env, 0, addr, MMU_DATA_LOAD, 8 /* 64-bit */,
+ /* Find out the current translation regime for probe. */
+ mmu_index = cpu_mmu_index(env_cpu(env), false);
+ tags = allocation_tag_mem_probe(env, mmu_index, addr, MMU_DATA_LOAD, 1,
MMU_DATA_LOAD, true, 0);
reply = tags ? "01" : "00";
@@ -495,6 +501,7 @@ static void handle_Q_memtag(GArray *params, void *user_ctx)
{
ARMCPU *cpu = ARM_CPU(user_ctx);
CPUARMState *env = &cpu->env;
+ uint32_t mmu_index;
uint64_t start_addr = gdb_get_cmd_param(params, 0)->val_ull;
uint64_t len = gdb_get_cmd_param(params, 1)->val_ul;
@@ -527,8 +534,10 @@ static void handle_Q_memtag(GArray *params, void *user_ctx)
* Get all tags in the page starting from the tag of the start address.
* Note that there are two tags packed into a single byte here.
*/
- tags = allocation_tag_mem_probe(env, 0, start_addr, MMU_DATA_STORE,
- 8 /* 64-bit */, MMU_DATA_STORE, true, 0);
+ /* Find out the current translation regime for probe. */
+ mmu_index = cpu_mmu_index(env_cpu(env), false);
+ tags = allocation_tag_mem_probe(env, mmu_index, start_addr, MMU_DATA_STORE,
+ 1, MMU_DATA_STORE, true, 0);
if (!tags) {
/* Address is not in a tagged region. */
gdb_put_packet("E04");
--
2.39.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 07/10] gdbstub: Add support for MTE in system mode
2024-09-10 17:38 [PATCH v2 00/10] Maintainer updates (testing, gdbstub) pre-PR Alex Bennée
` (5 preceding siblings ...)
2024-09-10 17:38 ` [PATCH v2 06/10] gdbstub: Use specific MMU index when probing MTE addresses Alex Bennée
@ 2024-09-10 17:38 ` Alex Bennée
2024-09-10 17:38 ` [PATCH v2 08/10] tests/guest-debug: Support passing arguments to the GDB test script Alex Bennée
` (2 subsequent siblings)
9 siblings, 0 replies; 15+ messages in thread
From: Alex Bennée @ 2024-09-10 17:38 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Zhao Liu, Peter Maydell, Paolo Bonzini,
Marcel Apfelbaum, qemu-arm, devel, Pierrick Bouvier,
Alexandre Iooss, Alex Bennée, Philippe Mathieu-Daudé,
Jiaxun Yang, Beraldo Leal, Eduardo Habkost, Richard Henderson,
Mahmoud Mandour, Yanan Wang, Wainer dos Santos Moschetta,
Gustavo Romero
From: Gustavo Romero <gustavo.romero@linaro.org>
This commit makes handle_q_memtag, handle_q_isaddresstagged, and
handle_Q_memtag stubs build for system mode, allowing all GDB
'memory-tag' subcommands to work with QEMU gdbstub on aarch64 system
mode.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/620
Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240906143316.657436-3-gustavo.romero@linaro.org>
[AJB: add #ifdef CONFIG_TCG guards]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
v2
- while we enable system mode it is still TCG only so added guards
to handle the --disable-tcg case (native KVM and Xen builds)
---
target/arm/gdbstub64.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/target/arm/gdbstub64.c b/target/arm/gdbstub64.c
index 85a19c14c7..1a4dbec567 100644
--- a/target/arm/gdbstub64.c
+++ b/target/arm/gdbstub64.c
@@ -430,7 +430,9 @@ int aarch64_gdb_set_tag_ctl_reg(CPUState *cs, uint8_t *buf, int reg)
return 0;
#endif
}
+#endif /* CONFIG_USER_ONLY */
+#ifdef CONFIG_TCG
static void handle_q_memtag(GArray *params, void *user_ctx)
{
ARMCPU *cpu = ARM_CPU(user_ctx);
@@ -600,13 +602,13 @@ static const GdbCmdParseEntry cmd_handler_table[NUM_CMDS] = {
.need_cpu_context = true
},
};
-#endif /* CONFIG_USER_ONLY */
+#endif /* CONFIG_TCG */
void aarch64_cpu_register_gdb_commands(ARMCPU *cpu, GString *qsupported,
GPtrArray *qtable, GPtrArray *stable)
{
-#ifdef CONFIG_USER_ONLY
/* MTE */
+#ifdef CONFIG_TCG
if (cpu_isar_feature(aa64_mte, cpu)) {
g_string_append(qsupported, ";memory-tagging+");
--
2.39.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 08/10] tests/guest-debug: Support passing arguments to the GDB test script
2024-09-10 17:38 [PATCH v2 00/10] Maintainer updates (testing, gdbstub) pre-PR Alex Bennée
` (6 preceding siblings ...)
2024-09-10 17:38 ` [PATCH v2 07/10] gdbstub: Add support for MTE in system mode Alex Bennée
@ 2024-09-10 17:38 ` Alex Bennée
2024-09-10 17:38 ` [PATCH v2 09/10] tests/tcg/aarch64: Improve linker script organization Alex Bennée
2024-09-10 17:39 ` [PATCH v2 10/10] tests/tcg/aarch64: Extend MTE gdbstub tests to system mode Alex Bennée
9 siblings, 0 replies; 15+ messages in thread
From: Alex Bennée @ 2024-09-10 17:38 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Zhao Liu, Peter Maydell, Paolo Bonzini,
Marcel Apfelbaum, qemu-arm, devel, Pierrick Bouvier,
Alexandre Iooss, Alex Bennée, Philippe Mathieu-Daudé,
Jiaxun Yang, Beraldo Leal, Eduardo Habkost, Richard Henderson,
Mahmoud Mandour, Yanan Wang, Wainer dos Santos Moschetta,
Gustavo Romero
From: Gustavo Romero <gustavo.romero@linaro.org>
This commit adds support for passing arguments to the GDB test scripts
so it's possible to parse the args in an "argparse way" in the test
scripts launched by the runner. The arguments should be preceded by --
when passed to the runner. For example, passing "--help" arg to the
GDB_TEST_SCRIPT:
run-test.py [...] --test <GDB_TEST_SCRIPT> -- --help
The test script should not use the argparse module directly but import
arg_parser from test_gdbstub module. arg_parser then can be used just
like the argparse.ArgumentParser class:
from test_gdbstub import arg_parser
p = arg_parser(prog="test-mytest.py", description="My test.")
p.add_argument("--vowel", help="Select vowel",
required=True, choices=['a','e','i','o','u'])
[...]
The arg_parser allows a smooth and informative exit if, for instance,
the caller of the runner script passes an invalid argument or misses a
required argument by the test script.
Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240906143316.657436-4-gustavo.romero@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/guest-debug/run-test.py | 6 ++++++
tests/guest-debug/test_gdbstub.py | 5 +++++
2 files changed, 11 insertions(+)
diff --git a/tests/guest-debug/run-test.py b/tests/guest-debug/run-test.py
index 368ff8a890..5a091db8be 100755
--- a/tests/guest-debug/run-test.py
+++ b/tests/guest-debug/run-test.py
@@ -27,6 +27,10 @@ def get_args():
parser.add_argument("--binary", help="Binary to debug",
required=True)
parser.add_argument("--test", help="GDB test script")
+ parser.add_argument('test_args', nargs='*',
+ help="Additional args for GDB test script. "
+ "The args should be preceded by -- to avoid confusion "
+ "with flags for runner script")
parser.add_argument("--gdb", help="The gdb binary to use",
default=None)
parser.add_argument("--gdb-args", help="Additional gdb arguments")
@@ -91,6 +95,8 @@ def log(output, msg):
gdb_cmd += " -ex 'target remote %s'" % (socket_name)
# finally the test script itself
if args.test:
+ if args.test_args:
+ gdb_cmd += f" -ex \"py sys.argv={args.test_args}\""
gdb_cmd += " -x %s" % (args.test)
diff --git a/tests/guest-debug/test_gdbstub.py b/tests/guest-debug/test_gdbstub.py
index 46fbf98f0c..a715c0e3f5 100644
--- a/tests/guest-debug/test_gdbstub.py
+++ b/tests/guest-debug/test_gdbstub.py
@@ -2,6 +2,7 @@
"""
from __future__ import print_function
+import argparse
import gdb
import os
import sys
@@ -9,6 +10,10 @@
fail_count = 0
+class arg_parser(argparse.ArgumentParser):
+ def exit(self, status=None, message=""):
+ print("Wrong GDB script test argument! " + message)
+ gdb.execute("exit 1")
def report(cond, msg):
"""Report success/fail of a test"""
--
2.39.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 09/10] tests/tcg/aarch64: Improve linker script organization
2024-09-10 17:38 [PATCH v2 00/10] Maintainer updates (testing, gdbstub) pre-PR Alex Bennée
` (7 preceding siblings ...)
2024-09-10 17:38 ` [PATCH v2 08/10] tests/guest-debug: Support passing arguments to the GDB test script Alex Bennée
@ 2024-09-10 17:38 ` Alex Bennée
2024-09-10 17:39 ` [PATCH v2 10/10] tests/tcg/aarch64: Extend MTE gdbstub tests to system mode Alex Bennée
9 siblings, 0 replies; 15+ messages in thread
From: Alex Bennée @ 2024-09-10 17:38 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Zhao Liu, Peter Maydell, Paolo Bonzini,
Marcel Apfelbaum, qemu-arm, devel, Pierrick Bouvier,
Alexandre Iooss, Alex Bennée, Philippe Mathieu-Daudé,
Jiaxun Yang, Beraldo Leal, Eduardo Habkost, Richard Henderson,
Mahmoud Mandour, Yanan Wang, Wainer dos Santos Moschetta,
Gustavo Romero
From: Gustavo Romero <gustavo.romero@linaro.org>
Improve kernel.ld linker script organization by using MEMORY command.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org>
Message-Id: <20240906143316.657436-5-gustavo.romero@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/tcg/aarch64/system/kernel.ld | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/tests/tcg/aarch64/system/kernel.ld b/tests/tcg/aarch64/system/kernel.ld
index 7b3a76dcbf..5f39258d32 100644
--- a/tests/tcg/aarch64/system/kernel.ld
+++ b/tests/tcg/aarch64/system/kernel.ld
@@ -1,23 +1,23 @@
ENTRY(__start)
-SECTIONS
-{
- /* virt machine, RAM starts at 1gb */
- . = (1 << 30);
+MEMORY {
+ /* On virt machine RAM starts at 1 GiB. */
+
+ /* Align text and rodata to the 1st 2 MiB chunk. */
+ TXT (rx) : ORIGIN = 1 << 30, LENGTH = 2M
+ /* Align r/w data to the 2nd 2 MiB chunk. */
+ DAT (rw) : ORIGIN = (1 << 30) + 2M, LENGTH = 2M
+}
+
+SECTIONS {
.text : {
*(.text)
- }
- .rodata : {
*(.rodata)
- }
- /* align r/w section to next 2mb */
- . = ALIGN(1 << 21);
+ } >TXT
.data : {
*(.data)
- }
- .bss : {
*(.bss)
- }
+ } >DAT
/DISCARD/ : {
*(.ARM.attributes)
}
--
2.39.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 10/10] tests/tcg/aarch64: Extend MTE gdbstub tests to system mode
2024-09-10 17:38 [PATCH v2 00/10] Maintainer updates (testing, gdbstub) pre-PR Alex Bennée
` (8 preceding siblings ...)
2024-09-10 17:38 ` [PATCH v2 09/10] tests/tcg/aarch64: Improve linker script organization Alex Bennée
@ 2024-09-10 17:39 ` Alex Bennée
9 siblings, 0 replies; 15+ messages in thread
From: Alex Bennée @ 2024-09-10 17:39 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Zhao Liu, Peter Maydell, Paolo Bonzini,
Marcel Apfelbaum, qemu-arm, devel, Pierrick Bouvier,
Alexandre Iooss, Alex Bennée, Philippe Mathieu-Daudé,
Jiaxun Yang, Beraldo Leal, Eduardo Habkost, Richard Henderson,
Mahmoud Mandour, Yanan Wang, Wainer dos Santos Moschetta,
Gustavo Romero
From: Gustavo Romero <gustavo.romero@linaro.org>
Extend MTE gdbstub tests to also run in system mode (share tests between
user mode and system mode). The tests will only run if a version of GDB
that supports MTE on baremetal is available in the test environment and
if available compiler supports the 'memtag' flag
(-march=armv8.5-a+memtag).
For the tests running in system mode, a page that supports MTE ops. is
necessary. Therefore, an MTE-enabled page is made available (mapped) in
the third 2 MB chunk of the second 1 GB space in the flat mapping set in
boot.S. A new binary, mte.S, is also introduced for the tests. It links
against boot.S and is executed by QEMU in system mode.
Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org>
Message-Id: <20240906143316.657436-6-gustavo.romero@linaro.org>
[AJB: fix stray _]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
v2
fixed stray underline causing tests to be skipped
---
configure | 5 +
tests/tcg/aarch64/Makefile.softmmu-target | 49 +++++++++-
tests/tcg/aarch64/Makefile.target | 3 +-
tests/tcg/aarch64/gdbstub/test-mte.py | 71 +++++++++-----
tests/tcg/aarch64/system/boot.S | 11 +++
tests/tcg/aarch64/system/kernel.ld | 9 ++
tests/tcg/aarch64/system/mte.S | 109 ++++++++++++++++++++++
7 files changed, 229 insertions(+), 28 deletions(-)
create mode 100644 tests/tcg/aarch64/system/mte.S
diff --git a/configure b/configure
index 39a284ddfe..7f6eb6b331 100755
--- a/configure
+++ b/configure
@@ -1679,6 +1679,11 @@ for target in $target_list; do
echo "GDB_HAS_MTE=y" >> $config_target_mak
fi
+ if test "${gdb_arches#*aarch64}" != "$gdb_arches" && version_ge $gdb_version 16.0; then
+ # GDB has to support MTE in baremetal to allow debugging MTE in QEMU system mode
+ echo "GDB_SUPPORTS_MTE_IN_BAREMETAL=y" >> $config_target_mak
+ fi
+
echo "run-tcg-tests-$target: $qemu\$(EXESUF)" >> Makefile.prereqs
tcg_tests_targets="$tcg_tests_targets $target"
fi
diff --git a/tests/tcg/aarch64/Makefile.softmmu-target b/tests/tcg/aarch64/Makefile.softmmu-target
index 139e04d15f..d08d9b01de 100644
--- a/tests/tcg/aarch64/Makefile.softmmu-target
+++ b/tests/tcg/aarch64/Makefile.softmmu-target
@@ -2,14 +2,22 @@
# Aarch64 system tests
#
-AARCH64_SYSTEM_SRC=$(SRC_PATH)/tests/tcg/aarch64/system
+AARCH64_SRC=$(SRC_PATH)/tests/tcg/aarch64
+AARCH64_SYSTEM_SRC=$(AARCH64_SRC)/system
+
VPATH+=$(AARCH64_SYSTEM_SRC)
# These objects provide the basic boot code and helper functions for all tests
CRT_OBJS=boot.o
-AARCH64_TEST_SRCS=$(wildcard $(AARCH64_SYSTEM_SRC)/*.c)
-AARCH64_TESTS = $(patsubst $(AARCH64_SYSTEM_SRC)/%.c, %, $(AARCH64_TEST_SRCS))
+AARCH64_TEST_C_SRCS=$(wildcard $(AARCH64_SYSTEM_SRC)/*.c)
+AARCH64_TEST_S_SRCS=$(AARCH64_SYSTEM_SRC)/mte.S
+
+AARCH64_C_TESTS = $(patsubst $(AARCH64_SYSTEM_SRC)/%.c, %, $(AARCH64_TEST_C_SRCS))
+AARCH64_S_TESTS = $(patsubst $(AARCH64_SYSTEM_SRC)/%.S, %, $(AARCH64_TEST_S_SRCS))
+
+AARCH64_TESTS = $(AARCH64_C_TESTS)
+AARCH64_TESTS += $(AARCH64_S_TESTS)
CRT_PATH=$(AARCH64_SYSTEM_SRC)
LINK_SCRIPT=$(AARCH64_SYSTEM_SRC)/kernel.ld
@@ -21,7 +29,8 @@ LDFLAGS+=-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc
config-cc.mak: Makefile
$(quiet-@)( \
- $(call cc-option,-march=armv8.3-a, CROSS_CC_HAS_ARMV8_3)) 3> config-cc.mak
+ $(call cc-option,-march=armv8.3-a, CROSS_CC_HAS_ARMV8_3); \
+ $(call cc-option,-march=armv8.5-a+memtag, CROSS_CC_HAS_ARMV8_MTE)) 3> config-cc.mak
-include config-cc.mak
# building head blobs
@@ -88,3 +97,35 @@ pauth-3:
run-pauth-3:
$(call skip-test, "RUN of pauth-3", "not built")
endif
+
+ifneq ($(CROSS_CC_HAS_ARMV8_MTE),)
+QEMU_MTE_ENABLED_MACHINE=-M virt,mte=on -cpu max -display none
+QEMU_OPTS_WITH_MTE_ON = $(QEMU_MTE_ENABLED_MACHINE) $(QEMU_BASE_ARGS) -kernel
+mte: CFLAGS+=-march=armv8.5-a+memtag
+mte: mte.S $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS)
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
+
+run-mte: QEMU_OPTS=$(QEMU_OPTS_WITH_MTE_ON)
+run-mte: mte
+
+ifeq ($(GDB_SUPPORTS_MTE_IN_BAREMETAL),y)
+run-gdbstub-mte: QEMU_OPTS=$(QEMU_OPTS_WITH_MTE_ON)
+run-gdbstub-mte: mte
+ $(call run-test, $@, $(GDB_SCRIPT) \
+ --output run-gdbstub-mte.out \
+ --gdb $(GDB) \
+ --qemu $(QEMU) --qargs "-chardev null$(COMMA)id=output $(QEMU_OPTS)" \
+ --bin $< --test $(AARCH64_SRC)/gdbstub/test-mte.py -- --mode=system, \
+ gdbstub MTE support)
+
+EXTRA_RUNS += run-gdbstub-mte
+else # !GDB_SUPPORTS_MTE_IN_BAREMETAL
+run-gdbstub-mte:
+ $(call skip-test "RUN of gdbstub-mte", "GDB does not support MTE in baremetal!")
+endif
+else # !CROSS_CC_HAS_ARMV8_MTE
+mte:
+ $(call skip-test, "BUILD of $@", "missing compiler support")
+run-mte:
+ $(call skip-test, "RUN of mte", "not build")
+endif
diff --git a/tests/tcg/aarch64/Makefile.target b/tests/tcg/aarch64/Makefile.target
index 8cc62eb456..9efe2f81ad 100644
--- a/tests/tcg/aarch64/Makefile.target
+++ b/tests/tcg/aarch64/Makefile.target
@@ -138,7 +138,8 @@ run-gdbstub-mte: mte-8
$(call run-test, $@, $(GDB_SCRIPT) \
--gdb $(GDB) \
--qemu $(QEMU) --qargs "$(QEMU_OPTS)" \
- --bin $< --test $(AARCH64_SRC)/gdbstub/test-mte.py, \
+ --bin $< --test $(AARCH64_SRC)/gdbstub/test-mte.py \
+ -- --mode=user, \
gdbstub MTE support)
EXTRA_RUNS += run-gdbstub-mte
diff --git a/tests/tcg/aarch64/gdbstub/test-mte.py b/tests/tcg/aarch64/gdbstub/test-mte.py
index 66f9c25f8a..a4cae6caa0 100644
--- a/tests/tcg/aarch64/gdbstub/test-mte.py
+++ b/tests/tcg/aarch64/gdbstub/test-mte.py
@@ -1,21 +1,26 @@
from __future__ import print_function
#
# Test GDB memory-tag commands that exercise the stubs for the qIsAddressTagged,
-# qMemTag, and QMemTag packets. Logical tag-only commands rely on local
-# operations, hence don't exercise any stub.
+# qMemTag, and QMemTag packets, which are used for manipulating allocation tags.
+# Logical tags-related commands rely on local operations, hence don't exercise
+# any stub and so are not used in this test.
#
-# The test consists in breaking just after a atag() call (which sets the
-# allocation tag -- see mte-8.c for details) and setting/getting tags in
-# different memory locations and ranges starting at the address of the array
-# 'a'.
+# The test consists in breaking just after a tag is set in a specific memory
+# chunk, and then using the GDB 'memory-tagging' subcommands to set/get tags in
+# different memory locations and ranges in the MTE-enabled memory chunk.
#
# This is launched via tests/guest-debug/run-test.py
#
-import gdb
+try:
+ import gdb
+except ModuleNotFoundError:
+ from sys import exit
+ exit("This script must be launched via tests/guest-debug/run-test.py!")
import re
-from test_gdbstub import main, report
+from sys import argv
+from test_gdbstub import arg_parser, main, report
PATTERN_0 = "Memory tags for address 0x[0-9a-f]+ match \\(0x[0-9a-f]+\\)."
@@ -23,12 +28,32 @@
def run_test():
- gdb.execute("break 95", False, True)
+ p = arg_parser(prog="test-mte.py", description="TCG MTE tests.")
+ p.add_argument("--mode", help="Run test for QEMU system or user mode.",
+ required=True, choices=['system','user'])
+
+ args = p.parse_args(args=argv)
+
+ if args.mode == "system":
+ # Break address: where to break before performing the tests
+ # See mte.S for details about this label.
+ ba = "main_end"
+ # Tagged address: the start of the MTE-enabled memory chunk to be tested
+ # 'tagged_addr' (x1) is a pointer to the MTE-enabled page. See mte.S.
+ ta = "$x1"
+ else: # mode="user"
+ # Line 95 in mte-8.c
+ ba = "95"
+ # 'a' array. See mte-8.c
+ ta = "a"
+
+ gdb.execute(f"break {ba}", False, True)
gdb.execute("continue", False, True)
+
try:
- # Test if we can check correctly that the allocation tag for
- # array 'a' matches the logical tag after atag() is called.
- co = gdb.execute("memory-tag check a", False, True)
+ # Test if we can check correctly that the allocation tag for the address
+ # in {ta} matches the logical tag in {ta}.
+ co = gdb.execute(f"memory-tag check {ta}", False, True)
tags_match = re.findall(PATTERN_0, co, re.MULTILINE)
if tags_match:
report(True, f"{tags_match[0]}")
@@ -39,20 +64,20 @@ def run_test():
# tags rely on local operation and so don't exercise any stub.
# Set the allocation tag for the first granule (16 bytes) of
- # address starting at 'a' address to a known value, i.e. 0x04.
- gdb.execute("memory-tag set-allocation-tag a 1 04", False, True)
+ # address starting at {ta} address to a known value, i.e. 0x04.
+ gdb.execute(f"memory-tag set-allocation-tag {ta} 1 04", False, True)
# Then set the allocation tag for the second granule to a known
# value, i.e. 0x06. This tests that contiguous tag granules are
- # set correct and don't run over each other.
- gdb.execute("memory-tag set-allocation-tag a+16 1 06", False, True)
+ # set correctly and don't run over each other.
+ gdb.execute(f"memory-tag set-allocation-tag {ta}+16 1 06", False, True)
# Read the known values back and check if they remain the same.
- co = gdb.execute("memory-tag print-allocation-tag a", False, True)
+ co = gdb.execute(f"memory-tag print-allocation-tag {ta}", False, True)
first_tag = re.match(PATTERN_1, co)[1]
- co = gdb.execute("memory-tag print-allocation-tag a+16", False, True)
+ co = gdb.execute(f"memory-tag print-allocation-tag {ta}+16", False, True)
second_tag = re.match(PATTERN_1, co)[1]
if first_tag == "0x4" and second_tag == "0x6":
@@ -61,15 +86,15 @@ def run_test():
report(False, "Can't set/print allocation tags!")
# Now test fill pattern by setting a whole page with a pattern.
- gdb.execute("memory-tag set-allocation-tag a 4096 0a0b", False, True)
+ gdb.execute(f"memory-tag set-allocation-tag {ta} 4096 0a0b", False, True)
# And read back the tags of the last two granules in page so
# we also test if the pattern is set correctly up to the end of
# the page.
- co = gdb.execute("memory-tag print-allocation-tag a+4096-32", False, True)
+ co = gdb.execute(f"memory-tag print-allocation-tag {ta}+4096-32", False, True)
tag = re.match(PATTERN_1, co)[1]
- co = gdb.execute("memory-tag print-allocation-tag a+4096-16", False, True)
+ co = gdb.execute(f"memory-tag print-allocation-tag {ta}+4096-16", False, True)
last_tag = re.match(PATTERN_1, co)[1]
if tag == "0xa" and last_tag == "0xb":
@@ -78,8 +103,8 @@ def run_test():
report(False, "Fill pattern failed!")
except gdb.error:
- # This usually happens because a GDB version that does not
- # support memory tagging was used to run the test.
+ # This usually happens because a GDB version that does not support
+ # memory tagging was used to run the test.
report(False, "'memory-tag' command failed!")
diff --git a/tests/tcg/aarch64/system/boot.S b/tests/tcg/aarch64/system/boot.S
index 501685d0ec..4eb1b35b88 100644
--- a/tests/tcg/aarch64/system/boot.S
+++ b/tests/tcg/aarch64/system/boot.S
@@ -135,6 +135,17 @@ __start:
orr x1, x1, x3
str x1, [x2] /* 2nd 2mb (.data & .bss)*/
+ /* Third block: at 'mte_page', set in kernel.ld */
+ adrp x1, mte_page
+ add x1, x1, :lo12:mte_page
+ bic x1, x1, #(1 << 21) - 1
+ and x4, x1, x5
+ add x2, x0, x4, lsr #(21 - 3)
+ /* attr(AF, NX, block, AttrIndx=Attr1) */
+ ldr x3, =(3 << 53) | 0x401 | (1 << 2)
+ orr x1, x1, x3
+ str x1, [x2]
+
/* Setup/enable the MMU. */
/*
diff --git a/tests/tcg/aarch64/system/kernel.ld b/tests/tcg/aarch64/system/kernel.ld
index 5f39258d32..aef043e31d 100644
--- a/tests/tcg/aarch64/system/kernel.ld
+++ b/tests/tcg/aarch64/system/kernel.ld
@@ -7,6 +7,8 @@ MEMORY {
TXT (rx) : ORIGIN = 1 << 30, LENGTH = 2M
/* Align r/w data to the 2nd 2 MiB chunk. */
DAT (rw) : ORIGIN = (1 << 30) + 2M, LENGTH = 2M
+ /* Align the MTE-enabled page to the 3rd 2 MiB chunk. */
+ TAG (rw) : ORIGIN = (1 << 30) + 4M, LENGTH = 2M
}
SECTIONS {
@@ -18,6 +20,13 @@ SECTIONS {
*(.data)
*(.bss)
} >DAT
+ .tag : {
+ /*
+ * Symbol 'mte_page' is used in boot.S to setup the PTE and in the mte.S
+ * test as the address that the MTE instructions operate on.
+ */
+ mte_page = .;
+ } >TAG
/DISCARD/ : {
*(.ARM.attributes)
}
diff --git a/tests/tcg/aarch64/system/mte.S b/tests/tcg/aarch64/system/mte.S
new file mode 100644
index 0000000000..b611240a95
--- /dev/null
+++ b/tests/tcg/aarch64/system/mte.S
@@ -0,0 +1,109 @@
+/*
+ * Code to help test the MTE gdbstubs in system mode.
+ *
+ * Copyright (c) 2024 Linaro Limited
+ *
+ * Author: Gustavo Romero <gustavo.romero@linaro.org>
+ *
+ * SPDX-License-Identifier: LGPL-2.1-or-later
+ */
+
+#define addr x0 /* Ptr to the start of the MTE-enabled page. */
+#define tagged_addr x1 /* 'addr' ptr with a random-generated tag added. */
+#define tmp0 x2 /* Scratch register. */
+#define tmp1 x3 /* Scratch register. */
+#define tmp2 x4 /* Scratch register. */
+#define tmp3 x5 /* Sctatch register. */
+
+ .file "mte.S"
+
+ .text
+ .align 4
+
+ .globl main
+ .type main, @function
+
+main:
+ /*
+ * Set MAIR_EL1 (Memory Attribute Index Register). In boot.S, the
+ * attribute index for .mte_page is set to point to MAILR_EL field Attr1
+ * (AttrIndx=Attr1), so set Attr1 as Tagged Normal (MTE) to enable MTE
+ * on this page.
+ *
+ * Attr1 = 0xF0 => Tagged Normal (MTE)
+ */
+ mrs tmp0, mair_el1
+ orr tmp0, tmp0, (0xF0 << 8)
+ msr mair_el1, tmp0
+
+ /*
+ * Set TCR_EL1 (Translation Control Registers) to ignore the top byte
+ * in the translated addresses so it can be used to keep the tags.
+ *
+ * TBI0[37] = 0b1 => Top Byte ignored and used for tagged addresses
+ */
+ mrs tmp1, tcr_el1
+ orr tmp1, tmp1, (1 << 37)
+ msr tcr_el1, tmp1
+
+ /*
+ * Set SCTLR_EL1 (System Control Register) to enable the use of MTE
+ * insns., like stg & friends, and to enable synchronous exception in
+ * case of a tag mismatch, i.e., when the logical tag in 'tagged_addr'
+ * is different from the allocation tag related to 'addr' address.
+ *
+ * ATA[43] = 0b1 => Enable access to allocation tags at EL1
+ * TCF[41:40] = 0b01 => Tag Check Faults cause a synchronous exception
+ *
+ */
+ mrs tmp2, sctlr_el1
+ mov tmp3, (1 << 43) | (1 << 40)
+ orr tmp2, tmp2, tmp3
+ msr sctlr_el1, tmp2
+
+ isb
+
+ /*
+ * MTE-enabled page resides at the 3rd 2MB chunk in the second 1GB
+ * block, i.e., at 0x40400000 address. See .mte_page section in boot.S
+ * and kernel.ld (where the address is effectively computed).
+ *
+ * Load .mte_page address into 'addr' register.
+ */
+ adrp addr, mte_page
+ add addr, addr, :lo12:mte_page
+
+ /*
+ * Set GCR for random tag generation. 0xA5 is just a random value to set
+ * GCR != 0 so the tag generated by 'irg' insn. is not zero, which is
+ * more interesting for the tests than when tag is zero.
+ */
+ mov tmp0, 0xA5
+ msr gcr_el1, tmp0
+
+ /*
+ * Generate a logical tag, add it to 'addr' address and put it into
+ * 'tagged_addr'.
+ */
+ irg tagged_addr, addr
+
+ /*
+ * Store the generated tag to memory region pointed to by 'addr', i.e.
+ * set the allocation tag for granule at 'addr'. The tag is extracted
+ * by stg from tagged_addr pointer.
+ */
+ stg tagged_addr, [addr]
+
+ /*
+ * Store a random value (0xdeadbeef) to tagged_addr address. This must
+ * not cause any Tag Check Fault since logical tag in tagged_addr and
+ * allocation tag associated with the memory pointed by tagged_addr are
+ * set the same, otherwise something is off and the test fails -- an
+ * exception is generated.
+ */
+ ldr tmp1, =0xdeadbeef
+ str tmp1, [tagged_addr]
+
+ /* This label is used by GDB Python script test-mte.py. */
+main_end:
+ ret
--
2.39.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v2 01/10] tests/docker: remove debian-armel-cross
2024-09-10 17:38 ` [PATCH v2 01/10] tests/docker: remove debian-armel-cross Alex Bennée
@ 2024-09-10 18:16 ` Philippe Mathieu-Daudé
2024-09-10 20:41 ` Richard Henderson
1 sibling, 0 replies; 15+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-09-10 18:16 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: Thomas Huth, Zhao Liu, Peter Maydell, Paolo Bonzini,
Marcel Apfelbaum, qemu-arm, devel, Pierrick Bouvier,
Alexandre Iooss, Jiaxun Yang, Beraldo Leal, Eduardo Habkost,
Richard Henderson, Mahmoud Mandour, Yanan Wang,
Wainer dos Santos Moschetta
On 10/9/24 19:38, Alex Bennée wrote:
> As debian-11 transitions to LTS we are starting to have problems
> building the image. While we could update to a later Debian building a
> 32 bit QEMU without modern floating point is niche host amongst the
> few remaining 32 bit hosts we regularly build for. For now we still
> have armhf-debian-cross-container which is currently built from the
> more recent debian-12.
Indeed I can't remember a armel build failure that wasn't also
happening on the armhf container.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Message-Id: <20240910140733.4007719-2-alex.bennee@linaro.org>
> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> .gitlab-ci.d/container-cross.yml | 6 -
> .gitlab-ci.d/crossbuilds.yml | 7 -
> .../dockerfiles/debian-armel-cross.docker | 179 ------------------
> tests/lcitool/refresh | 6 -
> 4 files changed, 198 deletions(-)
> delete mode 100644 tests/docker/dockerfiles/debian-armel-cross.docker
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 01/10] tests/docker: remove debian-armel-cross
2024-09-10 17:38 ` [PATCH v2 01/10] tests/docker: remove debian-armel-cross Alex Bennée
2024-09-10 18:16 ` Philippe Mathieu-Daudé
@ 2024-09-10 20:41 ` Richard Henderson
1 sibling, 0 replies; 15+ messages in thread
From: Richard Henderson @ 2024-09-10 20:41 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
On 9/10/24 10:38, Alex Bennée wrote:
> As debian-11 transitions to LTS we are starting to have problems
> building the image. While we could update to a later Debian building a
> 32 bit QEMU without modern floating point is niche host amongst the
> few remaining 32 bit hosts we regularly build for. For now we still
> have armhf-debian-cross-container which is currently built from the
> more recent debian-12.
>
> Message-Id:<20240910140733.4007719-2-alex.bennee@linaro.org>
> Reviewed-by: Pierrick Bouvier<pierrick.bouvier@linaro.org>
> Signed-off-by: Alex Bennée<alex.bennee@linaro.org>
> ---
> .gitlab-ci.d/container-cross.yml | 6 -
> .gitlab-ci.d/crossbuilds.yml | 7 -
> .../dockerfiles/debian-armel-cross.docker | 179 ------------------
> tests/lcitool/refresh | 6 -
> 4 files changed, 198 deletions(-)
> delete mode 100644 tests/docker/dockerfiles/debian-armel-cross.docker
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 02/10] tests/docker: update debian i686 and mipsel images to bookworm
2024-09-10 17:38 ` [PATCH v2 02/10] tests/docker: update debian i686 and mipsel images to bookworm Alex Bennée
@ 2024-09-10 20:42 ` Richard Henderson
0 siblings, 0 replies; 15+ messages in thread
From: Richard Henderson @ 2024-09-10 20:42 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
On 9/10/24 10:38, Alex Bennée wrote:
> Whatever issues there were which stopped these being updates when the
> rest were have now been resolved. However mips64el continues to be
> broken so don't update it here.
>
> Message-Id:<20240910140733.4007719-3-alex.bennee@linaro.org>
> Reviewed-by: Pierrick Bouvier<pierrick.bouvier@linaro.org>
> Signed-off-by: Alex Bennée<alex.bennee@linaro.org>
> ---
> tests/docker/dockerfiles/debian-i686-cross.docker | 10 ++++------
> tests/docker/dockerfiles/debian-mipsel-cross.docker | 10 ++++------
> tests/lcitool/refresh | 4 ++--
> 3 files changed, 10 insertions(+), 14 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 03/10] tests/docker: use debian-all-test-cross for mips64el tests
2024-09-10 17:38 ` [PATCH v2 03/10] tests/docker: use debian-all-test-cross for mips64el tests Alex Bennée
@ 2024-09-10 20:43 ` Richard Henderson
0 siblings, 0 replies; 15+ messages in thread
From: Richard Henderson @ 2024-09-10 20:43 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
On 9/10/24 10:38, Alex Bennée wrote:
> While the mips64el cross compilation environment is busted in Debian
> we can use the debian-all-test-cross image for building TCG tests like
> we do in the CI.
>
> Signed-off-by: Alex Bennée<alex.bennee@linaro.org>
> ---
> configure | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2024-09-10 20:44 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-10 17:38 [PATCH v2 00/10] Maintainer updates (testing, gdbstub) pre-PR Alex Bennée
2024-09-10 17:38 ` [PATCH v2 01/10] tests/docker: remove debian-armel-cross Alex Bennée
2024-09-10 18:16 ` Philippe Mathieu-Daudé
2024-09-10 20:41 ` Richard Henderson
2024-09-10 17:38 ` [PATCH v2 02/10] tests/docker: update debian i686 and mipsel images to bookworm Alex Bennée
2024-09-10 20:42 ` Richard Henderson
2024-09-10 17:38 ` [PATCH v2 03/10] tests/docker: use debian-all-test-cross for mips64el tests Alex Bennée
2024-09-10 20:43 ` Richard Henderson
2024-09-10 17:38 ` [PATCH v2 04/10] docs/devel: fix duplicate line Alex Bennée
2024-09-10 17:38 ` [PATCH v2 05/10] scripts/ci: update the gitlab-runner playbook Alex Bennée
2024-09-10 17:38 ` [PATCH v2 06/10] gdbstub: Use specific MMU index when probing MTE addresses Alex Bennée
2024-09-10 17:38 ` [PATCH v2 07/10] gdbstub: Add support for MTE in system mode Alex Bennée
2024-09-10 17:38 ` [PATCH v2 08/10] tests/guest-debug: Support passing arguments to the GDB test script Alex Bennée
2024-09-10 17:38 ` [PATCH v2 09/10] tests/tcg/aarch64: Improve linker script organization Alex Bennée
2024-09-10 17:39 ` [PATCH v2 10/10] tests/tcg/aarch64: Extend MTE gdbstub tests to system mode 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).