On Wed, Dec 4, 2024, at 16:30, Sean Christopherson wrote: > On Wed, Dec 04, 2024, Arnd Bergmann wrote: >> From: Arnd Bergmann <arnd@xxxxxxxx> >> >> There are very few 32-bit machines that support KVM, the main exceptions >> are the "Yonah" Generation Xeon-LV and Core Duo from 2006 and the Atom >> Z5xx "Silverthorne" from 2008 that were all release just before their >> 64-bit counterparts. >> >> Using KVM as a host on a 64-bit CPU using a 32-bit kernel generally >> works fine, but is rather pointless since 64-bit kernels are much better >> supported and deal better with the memory requirements of VM guests. >> >> Drop all the 32-bit-only portions and the "#ifdef CONFIG_X86_64" checks >> of the x86 KVM code and add a Kconfig dependency to only allow building >> this on 64-bit kernels. > > While 32-bit KVM doesn't need to be a thing for x86 usage, Paolo > expressed concerns > that dropping 32-bit support on x86 would cause general 32-bit KVM > support to > bitrot horribly. 32-bit x86 doesn't get much testing, but I do at > least boot VMs > with it on a semi-regular basis. I don't think we can say the same for > other > architectures with 32-bit variants. I see. > PPC apparently still has 32-bit users[1][2], I looked at the links but only see 64-bit users there. There is KVM support for 32-bit BookE (e500v2, e500mc) in the PPC85xx and QorIQ P1/P2/P3/P4, and Crystal mentioned that there might be users, but did not point to anyone in particular. The A-EON AmigaOne X5000 and Powerboard Tyche that were mentioned in the thread as being actively used are both 64-bit QorIQ P5/T2 (e5500, e6500) based. These are the same platform ("85xx" in Linux, "e500" in qemu), so it's easy to confuse. We can probably ask again if anyone cares about removing the 32-bit side of this. > and 32-bit RISC-V is a thing, There are many 32-bit RISC-V chips, but all RISC-V SoCs supported by Linux today are in fact 64-bit. While there is still talk of adding support for 32-bit SoCs, the only usecase for those is really to allow machines with smaller amounts of physical RAM, which tends to rule out virtualization. There is one more platform that supports virtualization on 32-bit CPUs, which is the MIPS P5600 core in the Baikal T1. I still think it makes sense to just drop KVM support for all 32-bit hosts, but I agree that it also makes sense to keep x86-32 as the last one of those for testing purposes. Arnd