* QEMU requires a 64-bit CPU host architecture? @ 2026-03-20 6:45 Michael Tokarev 2026-03-20 8:54 ` Daniel P. Berrangé 2026-03-25 8:08 ` Michael Tokarev 0 siblings, 2 replies; 10+ messages in thread From: Michael Tokarev @ 2026-03-20 6:45 UTC (permalink / raw) To: QEMU Development Hi! Is it intentional that qemu does not build utilities on 32bit hosts anymore? I understand system/user emulation on a 32bit host, where there are quite some real difficulties with address space sizes. But what's wrong with building qemu-img et al on a 32bit host? It doesn't require 64bit address space.. Thanks, /mjt ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: QEMU requires a 64-bit CPU host architecture? 2026-03-20 6:45 QEMU requires a 64-bit CPU host architecture? Michael Tokarev @ 2026-03-20 8:54 ` Daniel P. Berrangé 2026-03-20 9:26 ` Helge Deller 2026-03-25 8:08 ` Michael Tokarev 1 sibling, 1 reply; 10+ messages in thread From: Daniel P. Berrangé @ 2026-03-20 8:54 UTC (permalink / raw) To: Michael Tokarev; +Cc: QEMU Development On Fri, Mar 20, 2026 at 09:45:20AM +0300, Michael Tokarev wrote: > Hi! > > Is it intentional that qemu does not build utilities on 32bit hosts > anymore? Yes, per this note: https://www.qemu.org/docs/master/about/removed-features.html#bit-host-operating-systems-removed-in-11-0 > I understand system/user emulation on a 32bit host, where there are > quite some real difficulties with address space sizes. > > But what's wrong with building qemu-img et al on a 32bit host? It > doesn't require 64bit address space.. While the acclerator burden was one big factor, there were other code removals enabled by dropping 32-bit hosts, such as removal of 64-bit atomics emulation, and removal of some back compat definitions for 32-bit kernels, and simplifying assumptions about CPU features in other code, all of which leak out into common code used by qemu-img & similar tools. Keeping an arbitrary, and continually changing, subset of QEMU supporting 32-bit while most code dropped 64-bit would not be fun situation for maintainers, even with CI to try to detect problems. With regards, Daniel -- |: https://berrange.com ~~ https://hachyderm.io/@berrange :| |: https://libvirt.org ~~ https://entangle-photo.org :| |: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :| ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: QEMU requires a 64-bit CPU host architecture? 2026-03-20 8:54 ` Daniel P. Berrangé @ 2026-03-20 9:26 ` Helge Deller 0 siblings, 0 replies; 10+ messages in thread From: Helge Deller @ 2026-03-20 9:26 UTC (permalink / raw) To: Daniel P. Berrangé, Michael Tokarev; +Cc: QEMU Development On 3/20/26 09:54, Daniel P. Berrangé wrote: > On Fri, Mar 20, 2026 at 09:45:20AM +0300, Michael Tokarev wrote: >> Is it intentional that qemu does not build utilities on 32bit hosts >> anymore? > > Yes, per this note: > > https://www.qemu.org/docs/master/about/removed-features.html#bit-host-operating-systems-removed-in-11-0 This states: "Keeping 32-bit *host support* alive was a substantial burden for the QEMU project. Thus QEMU dropped all support for all 32-bit host systems." The parts of qemu which deal with running as emulator I agree with this (e.g. removal of atomic requirements and such as you stated below). But Michael is referring to the *tools*, like qemu-img and such. There is no need to limit those to 64-bit hosts. Those tools are necessary on a lot of platforms and architectures, not just those which are officially supported by qemu. On Debian there are quite some hard dependencies of some debian packages on the qemu tools to build other things. I once had a debian bug report about this (which I would need to look up again). That said, I strongly agree with Michael that we should not pro-active prevent building the tools on 32-bit platforms (or other architectures) and restore the ability to build (the tools only) on 32-bit hosts again (even without official support). Helge >> I understand system/user emulation on a 32bit host, where there are >> quite some real difficulties with address space sizes. >> >> But what's wrong with building qemu-img et al on a 32bit host? It >> doesn't require 64bit address space.. > > While the acclerator burden was one big factor, there were other > code removals enabled by dropping 32-bit hosts, such as removal > of 64-bit atomics emulation, and removal of some back compat > definitions for 32-bit kernels, and simplifying assumptions about > CPU features in other code, all of which leak out into common > code used by qemu-img & similar tools. > > Keeping an arbitrary, and continually changing, subset of QEMU > supporting 32-bit while most code dropped 64-bit would not be > fun situation for maintainers, even with CI to try to detect > problems. > > With regards, > Daniel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: QEMU requires a 64-bit CPU host architecture? 2026-03-20 6:45 QEMU requires a 64-bit CPU host architecture? Michael Tokarev 2026-03-20 8:54 ` Daniel P. Berrangé @ 2026-03-25 8:08 ` Michael Tokarev 2026-03-25 9:18 ` Daniel P. Berrangé 1 sibling, 1 reply; 10+ messages in thread From: Michael Tokarev @ 2026-03-25 8:08 UTC (permalink / raw) To: QEMU Development Cc: Richard Henderson, Philippe Mathieu-Daudé, Pierrick Bouvier On 20.03.2026 09:45, Michael Tokarev wrote: > Hi! > > Is it intentional that qemu does not build utilities on 32bit hosts > anymore? This is commit 372ec46b9f1215f48a4717f2b7ed969f65bfadc6 Author: Richard Henderson <richard.henderson@linaro.org> Date: Thu Dec 18 09:56:27 2025 +1100 meson: Reject 32-bit hosts 32-bit hosts have been deprecated since 10.0. How would one build qemu-img and especially qemu-guest-agent, say, on i386 or armhf? I tried removing this error message from meson.build (in $subject), but it fails to build even the qga due to errors in atomic.h, - even if these aren't used by qga. That smells like a bad decision, - to drop qga and qemu-img support on 32bit architectures. Especially qga. Thanks, /mjt ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: QEMU requires a 64-bit CPU host architecture? 2026-03-25 8:08 ` Michael Tokarev @ 2026-03-25 9:18 ` Daniel P. Berrangé 2026-03-25 10:24 ` Peter Maydell 0 siblings, 1 reply; 10+ messages in thread From: Daniel P. Berrangé @ 2026-03-25 9:18 UTC (permalink / raw) To: Michael Tokarev Cc: QEMU Development, Richard Henderson, Philippe Mathieu-Daudé, Pierrick Bouvier On Wed, Mar 25, 2026 at 11:08:41AM +0300, Michael Tokarev wrote: > On 20.03.2026 09:45, Michael Tokarev wrote: > > Hi! > > > > Is it intentional that qemu does not build utilities on 32bit hosts > > anymore? > > This is > > commit 372ec46b9f1215f48a4717f2b7ed969f65bfadc6 > Author: Richard Henderson <richard.henderson@linaro.org> > Date: Thu Dec 18 09:56:27 2025 +1100 > > meson: Reject 32-bit hosts > > 32-bit hosts have been deprecated since 10.0. > > How would one build qemu-img and especially qemu-guest-agent, say, > on i386 or armhf? > > I tried removing this error message from meson.build (in $subject), > but it fails to build even the qga due to errors in atomic.h, - > even if these aren't used by qga. > > That smells like a bad decision, - to drop qga and qemu-img support > on 32bit architectures. Especially qga. IMHO dropping the block related tools is reasonable, as if you keep that, the dependencies that need to remain 32-bit compatible ripple out across a very large part of the codebase. Not having qga though feels like a pretty undesirable consequence, given our message overall is that we were dropping host support but keeping 32-bit emulation. IMHO, the qga probably ought to be a separate project, but it has a core dependancy on the QAPI code generator, and some of the related shared C code (qobject/, qapi/ and some parts of util/), but even that is quite a tangled web of deps. With regards, Daniel -- |: https://berrange.com ~~ https://hachyderm.io/@berrange :| |: https://libvirt.org ~~ https://entangle-photo.org :| |: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :| ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: QEMU requires a 64-bit CPU host architecture? 2026-03-25 9:18 ` Daniel P. Berrangé @ 2026-03-25 10:24 ` Peter Maydell 2026-03-25 11:21 ` Philippe Mathieu-Daudé 0 siblings, 1 reply; 10+ messages in thread From: Peter Maydell @ 2026-03-25 10:24 UTC (permalink / raw) To: Daniel P. Berrangé Cc: Michael Tokarev, QEMU Development, Richard Henderson, Philippe Mathieu-Daudé, Pierrick Bouvier On Wed, 25 Mar 2026 at 09:19, Daniel P. Berrangé <berrange@redhat.com> wrote: > > On Wed, Mar 25, 2026 at 11:08:41AM +0300, Michael Tokarev wrote: > > On 20.03.2026 09:45, Michael Tokarev wrote: > > > Hi! > > > > > > Is it intentional that qemu does not build utilities on 32bit hosts > > > anymore? > > > > This is > > > > commit 372ec46b9f1215f48a4717f2b7ed969f65bfadc6 > > Author: Richard Henderson <richard.henderson@linaro.org> > > Date: Thu Dec 18 09:56:27 2025 +1100 > > > > meson: Reject 32-bit hosts > > > > 32-bit hosts have been deprecated since 10.0. > > > > How would one build qemu-img and especially qemu-guest-agent, say, > > on i386 or armhf? > > > > I tried removing this error message from meson.build (in $subject), > > but it fails to build even the qga due to errors in atomic.h, - > > even if these aren't used by qga. > > > > That smells like a bad decision, - to drop qga and qemu-img support > > on 32bit architectures. Especially qga. > > IMHO dropping the block related tools is reasonable, as if you keep > that, the dependencies that need to remain 32-bit compatible ripple > out across a very large part of the codebase. > > Not having qga though feels like a pretty undesirable consequence, > given our message overall is that we were dropping host support but > keeping 32-bit emulation. Yes, I'm not sure we quite realised that we would be no longer building QGA for 32-bits. How much effort would it be to reinstate that? -- PMM ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: QEMU requires a 64-bit CPU host architecture? 2026-03-25 10:24 ` Peter Maydell @ 2026-03-25 11:21 ` Philippe Mathieu-Daudé 2026-03-25 11:31 ` Daniel P. Berrangé 2026-03-25 11:55 ` Philippe Mathieu-Daudé 0 siblings, 2 replies; 10+ messages in thread From: Philippe Mathieu-Daudé @ 2026-03-25 11:21 UTC (permalink / raw) To: Peter Maydell, Daniel P. Berrangé, qemu-block Cc: Michael Tokarev, QEMU Development, Richard Henderson, Pierrick Bouvier On 25/3/26 11:24, Peter Maydell wrote: > On Wed, 25 Mar 2026 at 09:19, Daniel P. Berrangé <berrange@redhat.com> wrote: >> >> On Wed, Mar 25, 2026 at 11:08:41AM +0300, Michael Tokarev wrote: >>> On 20.03.2026 09:45, Michael Tokarev wrote: >>>> Hi! >>>> >>>> Is it intentional that qemu does not build utilities on 32bit hosts >>>> anymore? >>> >>> This is >>> >>> commit 372ec46b9f1215f48a4717f2b7ed969f65bfadc6 >>> Author: Richard Henderson <richard.henderson@linaro.org> >>> Date: Thu Dec 18 09:56:27 2025 +1100 >>> >>> meson: Reject 32-bit hosts >>> >>> 32-bit hosts have been deprecated since 10.0. >>> >>> How would one build qemu-img and especially qemu-guest-agent, say, >>> on i386 or armhf? >>> >>> I tried removing this error message from meson.build (in $subject), >>> but it fails to build even the qga due to errors in atomic.h, - >>> even if these aren't used by qga. >>> >>> That smells like a bad decision, - to drop qga and qemu-img support >>> on 32bit architectures. Especially qga. >> >> IMHO dropping the block related tools is reasonable, as if you keep >> that, the dependencies that need to remain 32-bit compatible ripple >> out across a very large part of the codebase. >> >> Not having qga though feels like a pretty undesirable consequence, >> given our message overall is that we were dropping host support but >> keeping 32-bit emulation. > > Yes, I'm not sure we quite realised that we would be no longer > building QGA for 32-bits. How much effort would it be to > reinstate that? From the commits in 5053e0a65db...90e2e8ada7c we'd need to (partially) revert various of the buildsys ones (meson & configure). Then we'd need to check if the Stat64 API (90e2e8ada7c) was used by the block tools, and if so also revert the atomic64 patches (around 997d86a9bb1). If not some (sane) refactor is needed for some core components (disentangle qdev from qom due to the atomic uses). Still we rely heavily on atomic helpers for threads and co-routines used by the block layer (and also to reference the QOM objects...). How / where would we test that (and for how long)? ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: QEMU requires a 64-bit CPU host architecture? 2026-03-25 11:21 ` Philippe Mathieu-Daudé @ 2026-03-25 11:31 ` Daniel P. Berrangé 2026-03-25 11:55 ` Philippe Mathieu-Daudé 1 sibling, 0 replies; 10+ messages in thread From: Daniel P. Berrangé @ 2026-03-25 11:31 UTC (permalink / raw) To: Philippe Mathieu-Daudé Cc: Peter Maydell, qemu-block, Michael Tokarev, QEMU Development, Richard Henderson, Pierrick Bouvier On Wed, Mar 25, 2026 at 12:21:27PM +0100, Philippe Mathieu-Daudé wrote: > On 25/3/26 11:24, Peter Maydell wrote: > > On Wed, 25 Mar 2026 at 09:19, Daniel P. Berrangé <berrange@redhat.com> wrote: > > > > > > On Wed, Mar 25, 2026 at 11:08:41AM +0300, Michael Tokarev wrote: > > > > On 20.03.2026 09:45, Michael Tokarev wrote: > > > > > Hi! > > > > > > > > > > Is it intentional that qemu does not build utilities on 32bit hosts > > > > > anymore? > > > > > > > > This is > > > > > > > > commit 372ec46b9f1215f48a4717f2b7ed969f65bfadc6 > > > > Author: Richard Henderson <richard.henderson@linaro.org> > > > > Date: Thu Dec 18 09:56:27 2025 +1100 > > > > > > > > meson: Reject 32-bit hosts > > > > > > > > 32-bit hosts have been deprecated since 10.0. > > > > > > > > How would one build qemu-img and especially qemu-guest-agent, say, > > > > on i386 or armhf? > > > > > > > > I tried removing this error message from meson.build (in $subject), > > > > but it fails to build even the qga due to errors in atomic.h, - > > > > even if these aren't used by qga. > > > > > > > > That smells like a bad decision, - to drop qga and qemu-img support > > > > on 32bit architectures. Especially qga. > > > > > > IMHO dropping the block related tools is reasonable, as if you keep > > > that, the dependencies that need to remain 32-bit compatible ripple > > > out across a very large part of the codebase. > > > > > > Not having qga though feels like a pretty undesirable consequence, > > > given our message overall is that we were dropping host support but > > > keeping 32-bit emulation. > > > > Yes, I'm not sure we quite realised that we would be no longer > > building QGA for 32-bits. How much effort would it be to > > reinstate that? > > From the commits in 5053e0a65db...90e2e8ada7c we'd need to (partially) > revert various of the buildsys ones (meson & configure). > > Then we'd need to check if the Stat64 API (90e2e8ada7c) was used by > the block tools, and if so also revert the atomic64 patches (around > 997d86a9bb1). If not some (sane) refactor is needed for some core > components (disentangle qdev from qom due to the atomic uses). Still > we rely heavily on atomic helpers for threads and co-routines used > by the block layer (and also to reference the QOM objects...). > > How / where would we test that (and for how long)? IMHO we should not re-enable the block layer for 32-bit. Beyond the block/ directory, that also pulls in io/, crypto/, auth/, chardev/, and implies both unit testing and I/O tests too. I'd suggest we only make the guest agent work for 32-bit. aka this command line: ./configure --disable-system --disable-user --disable-tools --enable-guest-agent which limits us just to util/, qobject/, qapi/, qga/ dirs, and limited unit tests only. With regards, Daniel -- |: https://berrange.com ~~ https://hachyderm.io/@berrange :| |: https://libvirt.org ~~ https://entangle-photo.org :| |: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :| ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: QEMU requires a 64-bit CPU host architecture? 2026-03-25 11:21 ` Philippe Mathieu-Daudé 2026-03-25 11:31 ` Daniel P. Berrangé @ 2026-03-25 11:55 ` Philippe Mathieu-Daudé 2026-03-25 13:05 ` Michael Tokarev 1 sibling, 1 reply; 10+ messages in thread From: Philippe Mathieu-Daudé @ 2026-03-25 11:55 UTC (permalink / raw) To: Peter Maydell, Daniel P. Berrangé, qemu-block Cc: Michael Tokarev, QEMU Development, Richard Henderson, Pierrick Bouvier On 25/3/26 12:21, Philippe Mathieu-Daudé wrote: > On 25/3/26 11:24, Peter Maydell wrote: >> On Wed, 25 Mar 2026 at 09:19, Daniel P. Berrangé <berrange@redhat.com> >> wrote: >>> >>> On Wed, Mar 25, 2026 at 11:08:41AM +0300, Michael Tokarev wrote: >>>> On 20.03.2026 09:45, Michael Tokarev wrote: >>>>> Hi! >>>>> >>>>> Is it intentional that qemu does not build utilities on 32bit hosts >>>>> anymore? >>>> >>>> This is >>>> >>>> commit 372ec46b9f1215f48a4717f2b7ed969f65bfadc6 >>>> Author: Richard Henderson <richard.henderson@linaro.org> >>>> Date: Thu Dec 18 09:56:27 2025 +1100 >>>> >>>> meson: Reject 32-bit hosts >>>> >>>> 32-bit hosts have been deprecated since 10.0. >>>> >>>> How would one build qemu-img and especially qemu-guest-agent, say, >>>> on i386 or armhf? >>>> >>>> I tried removing this error message from meson.build (in $subject), >>>> but it fails to build even the qga due to errors in atomic.h, - >>>> even if these aren't used by qga. >>>> >>>> That smells like a bad decision, - to drop qga and qemu-img support >>>> on 32bit architectures. Especially qga. >>> >>> IMHO dropping the block related tools is reasonable, as if you keep >>> that, the dependencies that need to remain 32-bit compatible ripple >>> out across a very large part of the codebase. >>> >>> Not having qga though feels like a pretty undesirable consequence, >>> given our message overall is that we were dropping host support but >>> keeping 32-bit emulation. >> >> Yes, I'm not sure we quite realised that we would be no longer >> building QGA for 32-bits. How much effort would it be to >> reinstate that? > > From the commits in 5053e0a65db...90e2e8ada7c we'd need to (partially) > revert various of the buildsys ones (meson & configure). Assuming this buildsys part, ... > Then we'd need to check if the Stat64 API (90e2e8ada7c) was used by > the block tools, and if so also revert the atomic64 patches (around > 997d86a9bb1). If not some (sane) refactor is needed for some core > components (disentangle qdev from qom due to the atomic uses). Still > we rely heavily on atomic helpers for threads and co-routines used > by the block layer (and also to reference the QOM objects...). ... then the single issue in QOM is the object_class_property_init_all() (due to sysemu GlobalProperty) which can be stubbed, ... ... then the only problem left is what util/qsp.c defines: - qemu_mutex_lock_func() - qemu_cond_wait_func() - qemu_cond_timedwait_func() If we can provide a 32-bit version of these the qga links (not sure it makes sense although). > > How / where would we test that (and for how long)? ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: QEMU requires a 64-bit CPU host architecture? 2026-03-25 11:55 ` Philippe Mathieu-Daudé @ 2026-03-25 13:05 ` Michael Tokarev 0 siblings, 0 replies; 10+ messages in thread From: Michael Tokarev @ 2026-03-25 13:05 UTC (permalink / raw) To: Philippe Mathieu-Daudé, Peter Maydell, Daniel P. Berrangé, qemu-block Cc: QEMU Development, Richard Henderson, Pierrick Bouvier On 25.03.2026 14:55, Philippe Mathieu-Daudé wrote: ... > ... then the single issue in QOM is the object_class_property_init_all() > (due to sysemu GlobalProperty) which can be stubbed, ... qga doesn't actually need GlobalProperty, either. > ... then the only problem left is what util/qsp.c defines: > > - qemu_mutex_lock_func() > - qemu_cond_wait_func() > - qemu_cond_timedwait_func() > > If we can provide a 32-bit version of these the qga links (not sure > it makes sense although). And these aren't needed - it seems - by qga either. Both come to the qga link line using other, unrelated ways. Thanks, /mjt ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-03-25 13:06 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-03-20 6:45 QEMU requires a 64-bit CPU host architecture? Michael Tokarev 2026-03-20 8:54 ` Daniel P. Berrangé 2026-03-20 9:26 ` Helge Deller 2026-03-25 8:08 ` Michael Tokarev 2026-03-25 9:18 ` Daniel P. Berrangé 2026-03-25 10:24 ` Peter Maydell 2026-03-25 11:21 ` Philippe Mathieu-Daudé 2026-03-25 11:31 ` Daniel P. Berrangé 2026-03-25 11:55 ` Philippe Mathieu-Daudé 2026-03-25 13:05 ` Michael Tokarev
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.