Re: [PATCH] KVM: x86: disable on 32-bit unless CONFIG_BROKEN
From: Sean Christopherson
Date: Tue Sep 27 2022 - 13:08:13 EST
On Mon, Sep 26, 2022, Paolo Bonzini wrote:
> 32-bit KVM has extra complications in the code due to:
>
> - different ways to write 64-bit values in VMCS
>
> - different handling of DS and ES selectors as well as FS/GS bases
>
> - lack of CR8 and EFER
>
> - lack of XFD
>
More for the list:
- SVM is effectively restricted to PAE kernels due to NX requirements
> - impossibility of writing 64-bit PTEs atomically
It's not impossible, just ugly. KVM could use CMPXCHG8B to do all of the accesses
for the TDP MMU, including the non-atomic reads and writes.
> The last is the big one, because it prevents from using the TDP MMU
> unconditionally.
As above, if the TDP MMU really is the sticking point, that's solvable.
The real justification for deprecating 32-bit KVM is that, outside of KVM developers,
literally no one uses 32-bit KVM. I.e. any amount of effort that is required to
continue supporting 32-bit kernels is a complete waste of resources.