summaryrefslogtreecommitdiff
path: root/Documentation/virt/kvm/x86/mmu.rst
diff options
context:
space:
mode:
authorMingwei Zhang <mizhang@google.com>2023-09-12 21:45:52 +0300
committerSean Christopherson <seanjc@google.com>2023-09-27 23:29:32 +0300
commitc3204c406b6d4223022af26699bd3a5b71ba5fd8 (patch)
tree27361bb3e5f71c534d8c61895451cbef086048cc /Documentation/virt/kvm/x86/mmu.rst
parent6a713928ae1cb8aaa008b6ffb709fd9293614c89 (diff)
downloadlinux-c3204c406b6d4223022af26699bd3a5b71ba5fd8.tar.xz
KVM: Documentation: Add the missing description for mmu_valid_gen into kvm_mmu_page
Add the description for mmu_valid_gen into kvm_mmu_page description. mmu_valid_gen is used in shadow MMU for fast zapping. Update the doc to reflect that. Signed-off-by: Mingwei Zhang <mizhang@google.com> Reviewed-by: Kai Huang <kai.huang@intel.com> Link: https://lore.kernel.org/r/20230912184553.1887764-6-mizhang@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'Documentation/virt/kvm/x86/mmu.rst')
-rw-r--r--Documentation/virt/kvm/x86/mmu.rst10
1 files changed, 10 insertions, 0 deletions
diff --git a/Documentation/virt/kvm/x86/mmu.rst b/Documentation/virt/kvm/x86/mmu.rst
index 55d72383f6d6..d04729c180da 100644
--- a/Documentation/virt/kvm/x86/mmu.rst
+++ b/Documentation/virt/kvm/x86/mmu.rst
@@ -208,6 +208,16 @@ Shadow pages contain the following information:
The page is not backed by a guest page table, but its first entry
points to one. This is set if NPT uses 5-level page tables (host
CR4.LA57=1) and is shadowing L1's 4-level NPT (L1 CR4.LA57=0).
+ mmu_valid_gen:
+ The MMU generation of this page, used to fast zap of all MMU pages within a
+ VM without blocking vCPUs too long. Specifically, KVM updates the per-VM
+ valid MMU generation which causes the mismatch of mmu_valid_gen for each mmu
+ page. This makes all existing MMU pages obsolete. Obsolete pages can't be
+ used. Therefore, vCPUs must load a new, valid root before re-entering the
+ guest. The MMU generation is only ever '0' or '1'. Note, the TDP MMU doesn't
+ use this field as non-root TDP MMU pages are reachable only from their
+ owning root. Thus it suffices for TDP MMU to use role.invalid in root pages
+ to invalidate all MMU pages.
gfn:
Either the guest page table containing the translations shadowed by this
page, or the base page frame for linear translations. See role.direct.