KVM: nSVM: Advertise support for flush-by-ASID
authorSean Christopherson <seanjc@google.com>
Wed, 18 Oct 2023 19:41:04 +0000 (12:41 -0700)
committerSean Christopherson <seanjc@google.com>
Thu, 30 Nov 2023 20:50:25 +0000 (12:50 -0800)
commit176bfc5b17fee327585583a427e2857d9dfd8f68
tree3bff93872cc6aa857523773bb65d8eb39f0c05fd
parenta484755ab2526ebdbe042397cdd6e427eb4b1a68
KVM: nSVM: Advertise support for flush-by-ASID

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@proxmox.com>
Closes: https://lkml.kernel.org/r/b9915c9c-4cf6-051a-2d91-44cc6380f455%40proxmox.com
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Link: https://lore.kernel.org/r/20231018194104.1896415-3-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/svm/svm.c