The last warnings on tdx-tdp-mmu.rst are caused by missing blank line padding at lists on "concurrent" sections. Add the padding. Fixes: 7af4efe3263854 ("KVM: x86: design documentation on TDX support of x86 KVM TDP MMU") Signed-off-by: Bagas Sanjaya <bagasdotme@xxxxxxxxx> --- Documentation/virt/kvm/tdx-tdp-mmu.rst | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Documentation/virt/kvm/tdx-tdp-mmu.rst b/Documentation/virt/kvm/tdx-tdp-mmu.rst index c403e14fb223aa..f2170c154e18c3 100644 --- a/Documentation/virt/kvm/tdx-tdp-mmu.rst +++ b/Documentation/virt/kvm/tdx-tdp-mmu.rst @@ -418,8 +418,10 @@ Concurrent zapping 2. freeze the EPT entry (atomically set the value to REMOVED_SPTE) If other vcpu froze the entry, restart page fault. 3. TLB shootdown + * send IPI to remote vcpus * TLB flush (local and remote) + For each entry update, TLB shootdown is needed because of the concurrency. 4. atomically set the EPT entry to the final value @@ -429,6 +431,7 @@ Concurrent populating --------------------- In the case of populating the non-present EPT entry, atomically update the EPT entry. + 1. read lock 2. atomically update the EPT entry If other vcpu frozen the entry or updated the entry, restart page fault. @@ -436,6 +439,7 @@ entry. In the case of updating the present EPT entry (e.g. page migration), the operation is split into two. Zapping the entry and populating the entry. + 1. read lock 2. zap the EPT entry. follow the concurrent zapping case. 3. populate the non-present EPT entry. @@ -451,7 +455,6 @@ In this case, the TLB shootdown is batched into one. 3. TLB shootdown 4. write unlock - For Secure EPT, TDX SEAMCALLs are needed in addition to updating the mirrored EPT entry. @@ -462,9 +465,11 @@ Add a hook for TDX SEAMCALLs at the step of the TLB shootdown. 1. read lock 2. freeze the EPT entry(set the value to REMOVED_SPTE) 3. TLB shootdown via a hook + * TLB.MEM.RANGE.BLOCK() * TLB.MEM.TRACK() * send IPI to remote vcpus + 4. set the EPT entry to the final value 5. read unlock @@ -477,7 +482,9 @@ condition. A hook can be added. 1. read lock 2. freeze the EPT entry 3. hook + * TDH_MEM_SEPT_ADD() for non-leaf or TDH_MEM_PAGE_AUG() for leaf. + 4. set the EPT entry to the final value 5. read unlock -- An old man doll... just what I always wanted! - Clara