Re: [PATCH] KVM: x86: disable on 32-bit unless CONFIG_BROKEN

From: Paolo Bonzini
Date: Thu Sep 29 2022 - 11:08:22 EST


On 9/29/22 15:52, Maxim Levitsky wrote:
On Thu, 2022-09-29 at 15:26 +0200, Paolo Bonzini wrote:
On 9/28/22 19:55, Sean Christopherson wrote:
As far as my opinion goes I do volunteer to test this code more often,
and I do not want to see the 32 bit KVM support be removed*yet*.

Yeah, I 100% agree that it shouldn't be removed until we have equivalent test
coverage. But I do think it should an "off-by-default" sort of thing. Maybe
BROKEN is the wrong dependency though? E.g. would EXPERT be a better option?

Yeah, maybe EXPERT is better but I'm not sure of the equivalent test
coverage. 32-bit VMX/SVM kvm-unit-tests are surely a good idea, but
what's wrong with booting an older guest?

From my point of view, using the same kernel source for host and the guest
is easier because you know that both kernels behave the same.

It is certainly easier, but it is less correct. You don't cover anything that KVM doesn't use.

About EXPERT, IMHO these days most distros already dropped 32 bit suport thus anyway
one needs to compile a recent 32 bit kernel manually - thus IMHO whoever
these days compiles a 32 bit kernel, knows what they are doing.

I personally would wait few more releases when there is a pressing reason to remove
this support.

AFAIK, it is not really possible to remove most of the legacy direct mmu
because shadowing mmu still can use it (I think Sean told me that once).

Yeah, it won't let us remove a lot of code but there are several logic cleanups that become possible if the TDP case can just assume the TDP MMU is there. For example, there is no reason to have a cpu_role (as opposed to an mmu_page_role for the root) if you are building HPA->GPA page tables.

(Which reminds me that toggling CR0.WP is still a hog with the TDP MMU).

Paolo