On 9/15/21 10:37 AM, Daniel P. Berrangé wrote: > On Wed, Sep 15, 2021 at 09:42:48AM +0200, Thomas Huth wrote: >> On 14/09/2021 17.22, Richard Henderson wrote: >>> On 9/14/21 5:26 AM, Peter Maydell wrote: >>>> (2) RAM blocks should have a length that fits inside a >>>> signed 32-bit type on 32-bit hosts (at least I assume this >>>> is where the 2047MB limit is coming from; in theory this ought >>>> to be improveable but auditing the code for mishandling of >>>> RAMblock sizes to ensure we weren't accidentally stuffing >>>> their size into a signed 'long' somewhere would be kind >>>> of painful) >>> >>> Recalling that the win64 abi model is p64, i.e. 'long' is still 32-bit >>> while pointers are 64-bit, how close do we think we are to this being >>> fixed already? >>> >>>> Even if we did fix (2) we'd need to compromise on (3) >>>> sometimes still -- if a board has 4GB of RAM that's >>>> not going to fit in 32 bits regardless. But we would be >>>> able to let boards with 2GB have 2GB. >>> >>> I'm not opposed to deprecating 32-bit hosts... ;-) >> >> I think we should consider this again, indeed. Plain 32-bit CPUs are quite >> seldom these days, aren't they? And I think we urgently need to decrease the >> amount of things that we have to test and maintain in our CI and developer >> branches... So is there still a really really compelling reason to keep >> 32-bit host support alive? > > I think it probably depends on the architecture to some extent. > > i386 is possibly getting rare enough to consider dropping, though > IIUC, KVM in the kernel still supports it. Would feel odd to drop > it in QEMU if the kernel still thinks it is popular enough to keep > KVM support. > > armv7 feels like it is relatively common as 64-bit didn't arrive > in widespread use until relatively recent times compared to x86_64. > KVM dropped armv7, but then hardware for that was never widespread, > so armv7 was always TCG dominated > > Other 32-bit arches were/are always rare.
While I could understand there are rare uses of system emulation on 32-bit hosts, I still believe user-emulation is used, but would like to be proven to the contrary. With that in mind, I'm not sure removing sysemu on 32-bit hosts is worthful. Maybe we should ask distribution maintainers first, then eventually poll the community? Or start with a deprecation warning? >> Could we maybe also decrease the amount of targets, i.e. merge >> qemu-system-x86_64 and qemu-system-i386, merge qemu-system-ppc64 and >> qemu-system-ppc, etc. where it makes sense (i.e. where one of the binaries >> is a superset of the other)? > > Regards, > Daniel >