* [PATCH v3 1/6] docs/about/deprecated: Deprecate 32-bit x86 hosts
2023-03-03 10:14 [PATCH v3 0/6] Deprecate support for 32-bit x86 and arm hosts Thomas Huth
@ 2023-03-03 10:14 ` Thomas Huth
2023-03-03 10:14 ` [PATCH v3 2/6] docs/about/deprecated: Deprecate the qemu-system-i386 binary Thomas Huth
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2023-03-03 10:14 UTC (permalink / raw)
To: qemu-devel, Peter Maydell, Daniel Berrange, Paolo Bonzini
Cc: Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
Wilfred Mallawa
Hardly anybody still uses 32-bit x86 hosts today, so we should start
deprecating them to stop wasting our time and CI minutes here.
For example, there are also still some unresolved problems with these:
When emulating 64-bit binaries in user mode, TCG does not honor atomicity
for 64-bit accesses, which is "perhaps worse than not working at all"
(quoting Richard). Let's simply make it clear that people should use
64-bit x86 hosts nowadays and we do not intend to fix/maintain the old
32-bit stuff.
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
docs/about/deprecated.rst | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 15084f7bea..f0c1e6b545 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -196,6 +196,18 @@ CI coverage support may bitrot away before the deprecation process
completes. The little endian variants of MIPS (both 32 and 64 bit) are
still a supported host architecture.
+32-bit x86 hosts (since 8.0)
+''''''''''''''''''''''''''''
+
+Support for 32-bit x86 host deployments is increasingly uncommon in
+mainstream OS distributions given the widespread availability of 64-bit
+x86 hardware. The QEMU project no longer considers 32-bit x86 support
+to be an effective use of its limited resources, and thus intends to
+discontinue it. 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.
+
+
QEMU API (QAPI) events
----------------------
--
2.31.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 2/6] docs/about/deprecated: Deprecate the qemu-system-i386 binary
2023-03-03 10:14 [PATCH v3 0/6] Deprecate support for 32-bit x86 and arm hosts Thomas Huth
2023-03-03 10:14 ` [PATCH v3 1/6] docs/about/deprecated: Deprecate 32-bit x86 hosts Thomas Huth
@ 2023-03-03 10:14 ` Thomas Huth
2023-03-03 10:14 ` [PATCH v3 3/6] gitlab-ci.d/crossbuilds: Drop the i386 jobs Thomas Huth
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2023-03-03 10:14 UTC (permalink / raw)
To: qemu-devel, Peter Maydell, Daniel Berrange, Paolo Bonzini
Cc: Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
Wilfred Mallawa
Aside from not supporting KVM on 32-bit hosts, the qemu-system-x86_64
binary is a proper superset of the qemu-system-i386 binary. With the
32-bit host support being deprecated, it is now also possible to
deprecate the qemu-system-i386 binary.
With regards to 32-bit KVM support in the x86 Linux kernel,
the developers confirmed that they do not need a recent
qemu-system-i386 binary here:
https://lore.kernel.org/kvm/Y%2ffkTs5ajFy0hP1U@google.com/
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
docs/about/deprecated.rst | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index f0c1e6b545..a30aa8dfdf 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -34,6 +34,18 @@ deprecating the build option and no longer defend it in CI. The
``--enable-gcov`` build option remains for analysis test case
coverage.
+``qemu-system-i386`` binary (since 8.0)
+'''''''''''''''''''''''''''''''''''''''
+
+The ``qemu-system-i386`` binary was mainly useful for running with KVM
+on 32-bit x86 hosts, but most Linux distributions already removed their
+support for 32-bit x86 kernels, so hardly anybody still needs this. The
+``qemu-system-x86_64`` binary is a proper superset and can be used to
+run 32-bit guests by selecting a 32-bit CPU model, including KVM support
+on x86_64 hosts. Thus users are recommended to reconfigure their systems
+to use the ``qemu-system-x86_64`` binary instead.
+
+
System emulator command line arguments
--------------------------------------
--
2.31.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 3/6] gitlab-ci.d/crossbuilds: Drop the i386 jobs
2023-03-03 10:14 [PATCH v3 0/6] Deprecate support for 32-bit x86 and arm hosts Thomas Huth
2023-03-03 10:14 ` [PATCH v3 1/6] docs/about/deprecated: Deprecate 32-bit x86 hosts Thomas Huth
2023-03-03 10:14 ` [PATCH v3 2/6] docs/about/deprecated: Deprecate the qemu-system-i386 binary Thomas Huth
@ 2023-03-03 10:14 ` Thomas Huth
2023-03-03 10:21 ` Philippe Mathieu-Daudé
2023-03-03 10:14 ` [PATCH v3 4/6] docs/about/deprecated: Deprecate 32-bit arm hosts for system emulation Thomas Huth
` (2 subsequent siblings)
5 siblings, 1 reply; 8+ messages in thread
From: Thomas Huth @ 2023-03-03 10:14 UTC (permalink / raw)
To: qemu-devel, Peter Maydell, Daniel Berrange, Paolo Bonzini
Cc: Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
Wilfred Mallawa
Hardly anybody still uses 32-bit x86 environments for running QEMU,
so let's stop wasting our scarce CI minutes with these jobs.
(There are still the 32-bit MinGW and TCI jobs around for having
some compile test coverage on 32-bit, and the dockerfile can stay
in case someone wants to reproduce a flaw locally)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
.gitlab-ci.d/crossbuilds.yml | 20 --------------------
1 file changed, 20 deletions(-)
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index d3a31a2112..b96439146f 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -43,26 +43,6 @@ cross-arm64-user:
variables:
IMAGE: debian-arm64-cross
-cross-i386-system:
- extends:
- - .cross_system_build_job
- - .cross_test_artifacts
- needs:
- job: i386-fedora-cross-container
- variables:
- IMAGE: fedora-i386-cross
- MAKE_CHECK_ARGS: check-qtest
-
-cross-i386-user:
- extends:
- - .cross_user_build_job
- - .cross_test_artifacts
- needs:
- job: i386-fedora-cross-container
- variables:
- IMAGE: fedora-i386-cross
- MAKE_CHECK_ARGS: check
-
cross-i386-tci:
extends:
- .cross_accel_build_job
--
2.31.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3 3/6] gitlab-ci.d/crossbuilds: Drop the i386 jobs
2023-03-03 10:14 ` [PATCH v3 3/6] gitlab-ci.d/crossbuilds: Drop the i386 jobs Thomas Huth
@ 2023-03-03 10:21 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 8+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-03-03 10:21 UTC (permalink / raw)
To: Thomas Huth, qemu-devel, Peter Maydell, Daniel Berrange,
Paolo Bonzini, Laurent Vivier
Cc: Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
Wilfred Mallawa
On 3/3/23 11:14, Thomas Huth wrote:
> Hardly anybody still uses 32-bit x86 environments for running QEMU,
> so let's stop wasting our scarce CI minutes with these jobs.
>
> (There are still the 32-bit MinGW and TCI jobs around for having
> some compile test coverage on 32-bit, and the dockerfile can stay
> in case someone wants to reproduce a flaw locally)
>
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> .gitlab-ci.d/crossbuilds.yml | 20 --------------------
> 1 file changed, 20 deletions(-)
>
> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
> index d3a31a2112..b96439146f 100644
> --- a/.gitlab-ci.d/crossbuilds.yml
> +++ b/.gitlab-ci.d/crossbuilds.yml
> @@ -43,26 +43,6 @@ cross-arm64-user:
> variables:
> IMAGE: debian-arm64-cross
>
> -cross-i386-system:
> - extends:
> - - .cross_system_build_job
> - - .cross_test_artifacts
> - needs:
> - job: i386-fedora-cross-container
> - variables:
> - IMAGE: fedora-i386-cross
> - MAKE_CHECK_ARGS: check-qtest
> -
> -cross-i386-user:
> - extends:
> - - .cross_user_build_job
> - - .cross_test_artifacts
> - needs:
> - job: i386-fedora-cross-container
> - variables:
> - IMAGE: fedora-i386-cross
> - MAKE_CHECK_ARGS: check
The cross-i386-user job might require an Ack from Laurent,
so cc'ing him.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 4/6] docs/about/deprecated: Deprecate 32-bit arm hosts for system emulation
2023-03-03 10:14 [PATCH v3 0/6] Deprecate support for 32-bit x86 and arm hosts Thomas Huth
` (2 preceding siblings ...)
2023-03-03 10:14 ` [PATCH v3 3/6] gitlab-ci.d/crossbuilds: Drop the i386 jobs Thomas Huth
@ 2023-03-03 10:14 ` Thomas Huth
2023-03-03 10:14 ` [PATCH v3 5/6] docs/about/deprecated: Deprecate the qemu-system-arm binary Thomas Huth
2023-03-03 10:14 ` [PATCH v3 6/6] gitlab-ci.d/crossbuilds: Drop the 32-bit arm system emulation jobs Thomas Huth
5 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2023-03-03 10:14 UTC (permalink / raw)
To: qemu-devel, Peter Maydell, Daniel Berrange, Paolo Bonzini
Cc: Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
Wilfred Mallawa
For running QEMU in system emulation mode, the user needs a rather
strong host system, i.e. not only an embedded low-frequency controller.
All recent beefy arm host machines should support 64-bit now, it's
unlikely that anybody is still seriously using QEMU on a 32-bit arm
CPU, so we deprecate the 32-bit arm hosts here to finally save use
some time and precious CI minutes.
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
docs/about/deprecated.rst | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index a30aa8dfdf..e2e908f84d 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -219,6 +219,15 @@ discontinue it. 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.
+System emulation on 32-bit arm hosts (since 8.0)
+''''''''''''''''''''''''''''''''''''''''''''''''
+
+Since QEMU needs a strong host machine for running full system emulation, and
+all recent powerful arm hosts support 64-bit, the QEMU project deprecates the
+support for running any system emulation on 32-bit arm hosts in general. Use
+64-bit arm hosts for system emulation instead. (Note: "user" mode emulation
+continuous to be supported on 32-bit arm hosts, too)
+
QEMU API (QAPI) events
----------------------
--
2.31.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 5/6] docs/about/deprecated: Deprecate the qemu-system-arm binary
2023-03-03 10:14 [PATCH v3 0/6] Deprecate support for 32-bit x86 and arm hosts Thomas Huth
` (3 preceding siblings ...)
2023-03-03 10:14 ` [PATCH v3 4/6] docs/about/deprecated: Deprecate 32-bit arm hosts for system emulation Thomas Huth
@ 2023-03-03 10:14 ` Thomas Huth
2023-03-03 10:14 ` [PATCH v3 6/6] gitlab-ci.d/crossbuilds: Drop the 32-bit arm system emulation jobs Thomas Huth
5 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2023-03-03 10:14 UTC (permalink / raw)
To: qemu-devel, Peter Maydell, Daniel Berrange, Paolo Bonzini
Cc: Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
Wilfred Mallawa
qemu-system-aarch64 is a proper superset of qemu-system-arm,
and the latter was mainly still required for 32-bit KVM support.
But this 32-bit KVM arm support has been dropped in the Linux
kernel a couple of years ago already, so we don't really need
qemu-system-arm anymore, thus deprecated it now.
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
docs/about/deprecated.rst | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index e2e908f84d..1b7b3da309 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -45,6 +45,16 @@ run 32-bit guests by selecting a 32-bit CPU model, including KVM support
on x86_64 hosts. Thus users are recommended to reconfigure their systems
to use the ``qemu-system-x86_64`` binary instead.
+``qemu-system-arm`` binary (since 8.0)
+''''''''''''''''''''''''''''''''''''''
+
+``qemu-system-aarch64`` is a proper superset of ``qemu-system-arm``. The
+latter was mainly a requirement for running KVM on 32-bit arm hosts, but
+this 32-bit KVM support has been removed three years ago already (see:
+https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=541ad0150ca4
+). Thus the QEMU project will drop the ``qemu-system-arm`` binary in a
+future release. Use ``qemu-system-aarch64`` instead.
+
System emulator command line arguments
--------------------------------------
--
2.31.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 6/6] gitlab-ci.d/crossbuilds: Drop the 32-bit arm system emulation jobs
2023-03-03 10:14 [PATCH v3 0/6] Deprecate support for 32-bit x86 and arm hosts Thomas Huth
` (4 preceding siblings ...)
2023-03-03 10:14 ` [PATCH v3 5/6] docs/about/deprecated: Deprecate the qemu-system-arm binary Thomas Huth
@ 2023-03-03 10:14 ` Thomas Huth
5 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2023-03-03 10:14 UTC (permalink / raw)
To: qemu-devel, Peter Maydell, Daniel Berrange, Paolo Bonzini
Cc: Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
Wilfred Mallawa
Hardly anybody still uses 32-bit arm environments for running QEMU,
so let's stop wasting our scarce CI minutes with these jobs.
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
.gitlab-ci.d/crossbuilds.yml | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index b96439146f..d1feca9f9f 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-system:
- extends: .cross_system_build_job
- needs:
- job: armel-debian-cross-container
- variables:
- IMAGE: debian-armel-cross
-
cross-armel-user:
extends: .cross_user_build_job
needs:
@@ -15,13 +8,6 @@ cross-armel-user:
variables:
IMAGE: debian-armel-cross
-cross-armhf-system:
- extends: .cross_system_build_job
- needs:
- job: armhf-debian-cross-container
- variables:
- IMAGE: debian-armhf-cross
-
cross-armhf-user:
extends: .cross_user_build_job
needs:
--
2.31.1
^ permalink raw reply related [flat|nested] 8+ messages in thread