Commit 5a279842 authored by Sean Christopherson's avatar Sean Christopherson Committed by Paolo Bonzini
Browse files

KVM: x86: Clean up documentation for KVM_X86_QUIRK_SLOT_ZAP_ALL



Massage the documentation for KVM_X86_QUIRK_SLOT_ZAP_ALL to call out that
it applies to moved memslots as well as deleted memslots, to avoid KVM's
"fast zap" terminology (which has no meaning for userspace), and to reword
the documented targeted zap behavior to specifically say that KVM _may_
zap a subset of all SPTEs.  As evidenced by the fix to zap non-leafs SPTEs
with gPTEs, formally documenting KVM's exact internal behavior is risky
and unnecessary.

Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
Message-ID: <20241009192345.1148353-4-seanjc@google.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 28cf4978
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -8098,13 +8098,15 @@ KVM_X86_QUIRK_MWAIT_NEVER_UD_FAULTS By default, KVM emulates MONITOR/MWAIT (if
                                    KVM_X86_QUIRK_MISC_ENABLE_NO_MWAIT is
                                    disabled.

KVM_X86_QUIRK_SLOT_ZAP_ALL          By default, KVM invalidates all SPTEs in
                                    fast way for memslot deletion when VM type
                                    is KVM_X86_DEFAULT_VM.
                                    When this quirk is disabled or when VM type
                                    is other than KVM_X86_DEFAULT_VM, KVM zaps
                                    only leaf SPTEs that are within the range of
                                    the memslot being deleted.
KVM_X86_QUIRK_SLOT_ZAP_ALL          By default, for KVM_X86_DEFAULT_VM VMs, KVM
                                    invalidates all SPTEs in all memslots and
                                    address spaces when a memslot is deleted or
                                    moved.  When this quirk is disabled (or the
                                    VM type isn't KVM_X86_DEFAULT_VM), KVM only
                                    ensures the backing memory of the deleted
                                    or moved memslot isn't reachable, i.e KVM
                                    _may_ invalidate only SPTEs related to the
                                    memslot.
=================================== ============================================

7.32 KVM_CAP_MAX_VCPU_ID