* [PATCH v2 1/3] docs: Document that 32-bit Windows is unsupported
2024-02-22 13:09 [PATCH v2 0/3] Drop 32-bit Windows as a supported platform Peter Maydell
@ 2024-02-22 13:09 ` Peter Maydell
2024-02-22 13:09 ` [PATCH v2 2/3] .gitlab-ci.d: Drop cross-win32-system job Peter Maydell
2024-02-22 13:09 ` [PATCH v2 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction Peter Maydell
2 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2024-02-22 13:09 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Daniel P. Berrangé, Thomas Huth,
Yonggang Luo
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
docs/about/build-platforms.rst | 2 ++
docs/about/removed-features.rst | 15 +++++++++++++++
2 files changed, 17 insertions(+)
diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst
index f2a7aec56ff..8fd7da140a3 100644
--- a/docs/about/build-platforms.rst
+++ b/docs/about/build-platforms.rst
@@ -139,6 +139,8 @@ unprivileged accounts can create symlinks if Developer Mode is enabled.
When Developer Mode is not available/enabled, the SeCreateSymbolicLinkPrivilege
privilege is required, or the process must be run as an administrator.
+Only 64-bit Windows is supported.
+
.. _Homebrew: https://brew.sh/
.. _MacPorts: https://www.macports.org/
.. _MSYS2: https://www.msys2.org/
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index 54081a6c196..417a0e4fa1d 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -659,6 +659,21 @@ This command didn't produce any output already. Removed with no replacement.
The ``singlestep`` command has been replaced by the ``one-insn-per-tb``
command, which has the same behaviour but a less misleading name.
+Host Architectures
+------------------
+
+System emulation on 32-bit Windows hosts (removed in 9.0)
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+
+Windows 11 has no support for 32-bit host installs, and Windows 10 did
+not support new 32-bit installs, only upgrades. 32-bit Windows support
+has now been dropped by the MSYS2 project. QEMU also is deprecating
+and dropping support for 32-bit x86 host deployments in
+general. 32-bit Windows is therefore no longer a supported host for
+QEMU. Since all recent x86 hardware from the past >10 years is
+capable of the 64-bit x86 extensions, a corresponding 64-bit OS should
+be used instead.
+
Guest Emulator ISAs
-------------------
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 2/3] .gitlab-ci.d: Drop cross-win32-system job
2024-02-22 13:09 [PATCH v2 0/3] Drop 32-bit Windows as a supported platform Peter Maydell
2024-02-22 13:09 ` [PATCH v2 1/3] docs: Document that 32-bit Windows is unsupported Peter Maydell
@ 2024-02-22 13:09 ` Peter Maydell
2024-02-22 13:09 ` [PATCH v2 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction Peter Maydell
2 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2024-02-22 13:09 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Daniel P. Berrangé, Thomas Huth,
Yonggang Luo
We don't support 32-bit Windows any more, so we don't need to defend it
with this CI job.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
---
.gitlab-ci.d/container-cross.yml | 5 -
.gitlab-ci.d/crossbuilds.yml | 14 ---
.../dockerfiles/fedora-win32-cross.docker | 111 ------------------
tests/lcitool/refresh | 5 -
4 files changed, 135 deletions(-)
delete mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker
diff --git a/.gitlab-ci.d/container-cross.yml b/.gitlab-ci.d/container-cross.yml
index 8d235cbea01..e3103940a0e 100644
--- a/.gitlab-ci.d/container-cross.yml
+++ b/.gitlab-ci.d/container-cross.yml
@@ -101,11 +101,6 @@ cris-fedora-cross-container:
variables:
NAME: fedora-cris-cross
-win32-fedora-cross-container:
- extends: .container_job_template
- variables:
- NAME: fedora-win32-cross
-
win64-fedora-cross-container:
extends: .container_job_template
variables:
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index d19d98cde05..987ba9694ba 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -159,20 +159,6 @@ cross-mips64el-kvm-only:
IMAGE: debian-mips64el-cross
EXTRA_CONFIGURE_OPTS: --disable-tcg --target-list=mips64el-softmmu
-cross-win32-system:
- extends: .cross_system_build_job
- needs:
- job: win32-fedora-cross-container
- variables:
- IMAGE: fedora-win32-cross
- EXTRA_CONFIGURE_OPTS: --enable-fdt=internal
- CROSS_SKIP_TARGETS: alpha-softmmu avr-softmmu hppa-softmmu m68k-softmmu
- microblazeel-softmmu mips64el-softmmu nios2-softmmu
- artifacts:
- when: on_success
- paths:
- - build/qemu-setup*.exe
-
cross-win64-system:
extends: .cross_system_build_job
needs:
diff --git a/tests/docker/dockerfiles/fedora-win32-cross.docker b/tests/docker/dockerfiles/fedora-win32-cross.docker
deleted file mode 100644
index 08799219f98..00000000000
--- a/tests/docker/dockerfiles/fedora-win32-cross.docker
+++ /dev/null
@@ -1,111 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool dockerfile --layers all --cross-arch mingw32 fedora-38 qemu
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM registry.fedoraproject.org/fedora:38
-
-RUN dnf install -y nosync && \
- printf '#!/bin/sh\n\
-if test -d /usr/lib64\n\
-then\n\
- export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
-else\n\
- export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
-fi\n\
-exec "$@"\n' > /usr/bin/nosync && \
- chmod +x /usr/bin/nosync && \
- nosync dnf update -y && \
- nosync dnf install -y \
- bash \
- bc \
- bison \
- bzip2 \
- ca-certificates \
- ccache \
- ctags \
- dbus-daemon \
- diffutils \
- findutils \
- flex \
- gcc \
- gcovr \
- git \
- glib2-devel \
- glibc-langpack-en \
- hostname \
- llvm \
- make \
- meson \
- mtools \
- ninja-build \
- nmap-ncat \
- openssh-clients \
- pcre-static \
- python3 \
- python3-PyYAML \
- python3-numpy \
- python3-opencv \
- python3-pillow \
- python3-pip \
- python3-sphinx \
- python3-sphinx_rtd_theme \
- sed \
- socat \
- sparse \
- spice-protocol \
- swtpm \
- tar \
- tesseract \
- tesseract-langpack-eng \
- util-linux \
- which \
- xorriso \
- zstd && \
- nosync dnf autoremove -y && \
- nosync dnf clean all -y
-
-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 nosync dnf install -y \
- mingw32-SDL2 \
- mingw32-SDL2_image \
- mingw32-bzip2 \
- mingw32-curl \
- mingw32-gcc \
- mingw32-gcc-c++ \
- mingw32-gettext \
- mingw32-glib2 \
- mingw32-gnutls \
- mingw32-gtk3 \
- mingw32-libepoxy \
- mingw32-libgcrypt \
- mingw32-libjpeg-turbo \
- mingw32-libpng \
- mingw32-libtasn1 \
- mingw32-nettle \
- mingw32-nsis \
- mingw32-pixman \
- mingw32-pkg-config && \
- nosync dnf clean all -y && \
- rpm -qa | sort > /packages.txt && \
- mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-c++ && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-g++ && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-gcc
-
-ENV ABI "i686-w64-mingw32"
-ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
-ENV QEMU_CONFIGURE_OPTS --cross-prefix=i686-w64-mingw32-
-ENV DEF_TARGET_LIST i386-softmmu
-# 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 0c93557ad67..fe7692c5006 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -192,11 +192,6 @@ try:
trailer=cross_build("s390x-linux-gnu-",
"s390x-softmmu,s390x-linux-user"))
- generate_dockerfile("fedora-win32-cross", "fedora-38",
- cross="mingw32",
- trailer=cross_build("i686-w64-mingw32-",
- "i386-softmmu"))
-
generate_dockerfile("fedora-win64-cross", "fedora-38",
cross="mingw64",
trailer=cross_build("x86_64-w64-mingw32-",
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v2 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction
2024-02-22 13:09 [PATCH v2 0/3] Drop 32-bit Windows as a supported platform Peter Maydell
2024-02-22 13:09 ` [PATCH v2 1/3] docs: Document that 32-bit Windows is unsupported Peter Maydell
2024-02-22 13:09 ` [PATCH v2 2/3] .gitlab-ci.d: Drop cross-win32-system job Peter Maydell
@ 2024-02-22 13:09 ` Peter Maydell
2024-02-22 13:11 ` Daniel P. Berrangé
2024-02-22 13:12 ` Philippe Mathieu-Daudé
2 siblings, 2 replies; 6+ messages in thread
From: Peter Maydell @ 2024-02-22 13:09 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Daniel P. Berrangé, Thomas Huth,
Yonggang Luo
Now we don't build msys2-32bit we don't need the abstraction out of the
common msys2 handling from the 32-vs-64-bit specifics. Collapse it
down into the msys2-64bit job definition.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
v2:
- drop now-unused MINGW_TARGET variable
- document why we need to set MSYSTEM
- restore comment text truncated in commit 11961d08fcbddf
---
.gitlab-ci.d/windows.yml | 85 +++++++++++++++++++---------------------
1 file changed, 41 insertions(+), 44 deletions(-)
diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml
index 8fc08218d28..f116b8012db 100644
--- a/.gitlab-ci.d/windows.yml
+++ b/.gitlab-ci.d/windows.yml
@@ -1,4 +1,4 @@
-.shared_msys2_builder:
+msys2-64bit:
extends: .base_job_template
tags:
- shared-windows
@@ -14,9 +14,20 @@
stage: build
timeout: 100m
variables:
+ # Select the "64 bit, gcc and MSVCRT" MSYS2 environment
+ MSYSTEM: MINGW64
# This feature doesn't (currently) work with PowerShell, it stops
# the echo'ing of commands being run and doesn't show any timing
FF_SCRIPT_SECTIONS: 0
+ # do not remove "--without-default-devices"!
+ # commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices"
+ # changed to compile QEMU with the --without-default-devices switch
+ # for this job, because otherwise the build could not complete within
+ # the project timeout.
+ CONFIGURE_ARGS: --target-list=x86_64-softmmu --without-default-devices -Ddebug=false -Doptimization=0
+ # qTests don't run successfully with "--without-default-devices",
+ # so let's exclude the qtests from CI for now.
+ TEST_ARGS: --no-suite qtest
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
expire_in: 7 days
@@ -72,33 +83,35 @@
- .\msys64\usr\bin\bash -lc "pacman -Sy --noconfirm --needed
bison diffutils flex
git grep make sed
- $MINGW_TARGET-binutils
- $MINGW_TARGET-capstone
- $MINGW_TARGET-ccache
- $MINGW_TARGET-curl
- $MINGW_TARGET-cyrus-sasl
- $MINGW_TARGET-dtc
- $MINGW_TARGET-gcc
- $MINGW_TARGET-glib2
- $MINGW_TARGET-gnutls
- $MINGW_TARGET-gtk3
- $MINGW_TARGET-libgcrypt
- $MINGW_TARGET-libjpeg-turbo
- $MINGW_TARGET-libnfs
- $MINGW_TARGET-libpng
- $MINGW_TARGET-libssh
- $MINGW_TARGET-libtasn1
- $MINGW_TARGET-lzo2
- $MINGW_TARGET-nettle
- $MINGW_TARGET-ninja
- $MINGW_TARGET-pixman
- $MINGW_TARGET-pkgconf
- $MINGW_TARGET-python
- $MINGW_TARGET-SDL2
- $MINGW_TARGET-SDL2_image
- $MINGW_TARGET-snappy
- $MINGW_TARGET-zstd
- $EXTRA_PACKAGES "
+ mingw-w64-x86_64-binutils
+ mingw-w64-x86_64-capstone
+ mingw-w64-x86_64-ccache
+ mingw-w64-x86_64-curl
+ mingw-w64-x86_64-cyrus-sasl
+ mingw-w64-x86_64-dtc
+ mingw-w64-x86_64-gcc
+ mingw-w64-x86_64-glib2
+ mingw-w64-x86_64-gnutls
+ mingw-w64-x86_64-gtk3
+ mingw-w64-x86_64-libgcrypt
+ mingw-w64-x86_64-libjpeg-turbo
+ mingw-w64-x86_64-libnfs
+ mingw-w64-x86_64-libpng
+ mingw-w64-x86_64-libssh
+ mingw-w64-x86_64-libtasn1
+ mingw-w64-x86_64-libusb
+ mingw-w64-x86_64-lzo2
+ mingw-w64-x86_64-nettle
+ mingw-w64-x86_64-ninja
+ mingw-w64-x86_64-pixman
+ mingw-w64-x86_64-pkgconf
+ mingw-w64-x86_64-python
+ mingw-w64-x86_64-SDL2
+ mingw-w64-x86_64-SDL2_image
+ mingw-w64-x86_64-snappy
+ mingw-w64-x86_64-spice
+ mingw-w64-x86_64-usbredir
+ mingw-w64-x86_64-zstd"
- Write-Output "Running build at $(Get-Date -Format u)"
- $env:CHERE_INVOKING = 'yes' # Preserve the current working directory
- $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink
@@ -115,19 +128,3 @@
- ..\msys64\usr\bin\bash -lc "make check MTESTARGS='$TEST_ARGS' || { cat meson-logs/testlog.txt; exit 1; } ;"
- ..\msys64\usr\bin\bash -lc "ccache --show-stats"
- Write-Output "Finished build at $(Get-Date -Format u)"
-
-msys2-64bit:
- extends: .shared_msys2_builder
- variables:
- MINGW_TARGET: mingw-w64-x86_64
- MSYSTEM: MINGW64
- # msys2 only ship these packages for 64-bit, not 32-bit
- EXTRA_PACKAGES: $MINGW_TARGET-libusb $MINGW_TARGET-usbredir $MINGW_TARGET-spice
- # do not remove "--without-default-devices"!
- # commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices"
- # changed to compile QEMU with the --without-default-devices switch
- # for the msys2 64-bit job, due to the build could not complete within
- CONFIGURE_ARGS: --target-list=x86_64-softmmu --without-default-devices -Ddebug=false -Doptimization=0
- # qTests don't run successfully with "--without-default-devices",
- # so let's exclude the qtests from CI for now.
- TEST_ARGS: --no-suite qtest
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH v2 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction
2024-02-22 13:09 ` [PATCH v2 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction Peter Maydell
@ 2024-02-22 13:11 ` Daniel P. Berrangé
2024-02-22 13:12 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 6+ messages in thread
From: Daniel P. Berrangé @ 2024-02-22 13:11 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-devel, Alex Bennée, Thomas Huth, Yonggang Luo
On Thu, Feb 22, 2024 at 01:09:20PM +0000, Peter Maydell wrote:
> Now we don't build msys2-32bit we don't need the abstraction out of the
> common msys2 handling from the 32-vs-64-bit specifics. Collapse it
> down into the msys2-64bit job definition.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> v2:
> - drop now-unused MINGW_TARGET variable
> - document why we need to set MSYSTEM
> - restore comment text truncated in commit 11961d08fcbddf
> ---
> .gitlab-ci.d/windows.yml | 85 +++++++++++++++++++---------------------
> 1 file changed, 41 insertions(+), 44 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction
2024-02-22 13:09 ` [PATCH v2 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction Peter Maydell
2024-02-22 13:11 ` Daniel P. Berrangé
@ 2024-02-22 13:12 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 6+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-02-22 13:12 UTC (permalink / raw)
To: Peter Maydell, qemu-devel
Cc: Alex Bennée, Daniel P. Berrangé, Thomas Huth,
Yonggang Luo
On 22/2/24 14:09, Peter Maydell wrote:
> Now we don't build msys2-32bit we don't need the abstraction out of the
> common msys2 handling from the 32-vs-64-bit specifics. Collapse it
> down into the msys2-64bit job definition.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> v2:
> - drop now-unused MINGW_TARGET variable
> - document why we need to set MSYSTEM
> - restore comment text truncated in commit 11961d08fcbddf
> ---
> .gitlab-ci.d/windows.yml | 85 +++++++++++++++++++---------------------
> 1 file changed, 41 insertions(+), 44 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 6+ messages in thread