Il ven 31 gen 2025, 17:46 Richard Henderson <richard.hender...@linaro.org> ha scritto:
> On 1/29/25 04:47, Paolo Bonzini wrote: > > The difference with TCG of course is that TCG is in active development, > and therefore its > > 32-bit host support is not surviving passively in the same way that a > random device is. > > Still, I think we can identify at least three different parts that > should be treated > > differently: 64-on-32, 32-on-32 system-mode emulation and 32-on-32 > user-mode emulation. > > Why the user/system split for 32-on-32? > Various reasons which overall point at 32-on-32 system emulation being not used very much. 1) 32-bit has the address space size limitation, which makes it harder to test even moderately sized (2G) guests. 2) I might be wrong but user mode emulation has no equivalent of the forced-64bit hwaddr or ram_addr_t types; 32 bit is not very 32 bit anyway in the case of system emulation 3) 32-bit virtualization support only exists on x86 and possibly MIPS 4) system emulation is used mostly on development systems, whereas user mode emulation might be used on small systems to run short-lived proprietary programs 5) for those 32-bit hosts that have a completely separate TCG backend (well, that's Arm), getting rid TLB accesses does eliminate a bit of code. None of them may be compelling, or maybe deprecating only one of the two don't really make a difference in terms of maintainability, but this at least makes the case for 32-on-32 system emulation a lot weaker. More specifically, I don't believe anything other than 32-bit Arm hosts are in user and for anything but user mode emulation, but those have a nonzero chance of being in use. > We could and should remove 64-on-32, maybe even without a deprecation > period, but the rest > > I'm not so sure. I don't know enough to understand their maintenance > cost (other than the > > mere existence of the 32-bit TCG backends), but it's certainly not > comparable to 64-on-32. > > Ok, lemme see how easy it is to prohibit configuring 64-on-32. > Probably very easy, and I would really want to do that without even a deprecation period. But I also think we should still deprecate 32-bit hosts, sooner rather than > later. Even > if we have no immediate plans to remove them. I think we want interested > parties to speak > up. At some point this decade I want to be able to say: we've given you > fair warning and > time is up. > Fair enough. We have several deprecations that are in limbo and probably won't go away soon, and it makes sense for 32-bit hosts to be another. Also, I don't want this to look like stonewalling, so I will point out that we can always decide to remove only *some* 32-bit hosts (or some 32-bit TCG backends), once the deprecation countdown has ticked for some time. Paolo