On Wed, 2023-10-18 at 12:41 -0700, Sean Christopherson wrote: > Advertise support for FLUSHBYASID when nested SVM is enabled, as KVM can > always emulate flushing TLB entries for a vmcb12 ASID, e.g. by running L2 > with a new, fresh ASID in vmcb02. Some modern hypervisors, e.g. VMWare > Workstation 17, require FLUSHBYASID support and will refuse to run if it's > not present. > > Punt on proper support, as "Honor L1's request to flush an ASID on nested > VMRUN" is one of the TODO items in the (incomplete) list of issues that > need to be addressed in order for KVM to NOT do a full TLB flush on every > nested SVM transition (see nested_svm_transition_tlb_flush()). > > Reported-by: Stefan Sterz <s.sterz@xxxxxxxxxxx> > Closes: https://lkml.kernel.org/r/b9915c9c-4cf6-051a-2d91-44cc6380f455%40proxmox.com > Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx> > --- > arch/x86/kvm/svm/svm.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c > index 1785de7dc98b..9cf7eef161ff 100644 > --- a/arch/x86/kvm/svm/svm.c > +++ b/arch/x86/kvm/svm/svm.c > @@ -5083,6 +5083,7 @@ static __init void svm_set_cpu_caps(void) > if (nested) { > kvm_cpu_cap_set(X86_FEATURE_SVM); > kvm_cpu_cap_set(X86_FEATURE_VMCBCLEAN); > + kvm_cpu_cap_set(X86_FEATURE_FLUSHBYASID); > > if (nrips) > kvm_cpu_cap_set(X86_FEATURE_NRIPS); Nitpick: if you think that this is worth it, maybe we can add a comment here on why we can 'support' the flushbyasid feature? in addition to the commit message. Other than that: Reviewed-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx> Best regards, Maxim Levitsky