Re: [PATCH v2 00/15] TDX MMU refactors

From: Sean Christopherson

Date: Fri May 29 2026 - 18:50:19 EST


On Sat, 09 May 2026 15:52:01 +0800, Yan Zhao wrote:
> This is v2 of the TDX MMU refactor series, based on Rick's v1 [1], which
> was extracted from the discussion on Sean's DPAMT/Huge page combined series
> [0].
>
> v2 is rebased onto v7.1.0-rc2 and the v2 struct page to PFN conversion
> series. v1's first 4 cleanup patches are dropped from v2 and kept in the
> base (see "Base" section for details). The full stack is available at [6].
>
> [...]

Applied to kvm-x86 mmu, thanks! I gave a Rick and Yan a few Co-developed-by
attributions where they went waaaaay beyond just tweaking some of my patches
(or diffs).

Please take a look at the result. Based on the lack of bot complaints, I think
I got the important stuff right?

[01/15] KVM: TDX: Drop kvm_x86_ops.link_external_spt()
https://github.com/kvm-x86/linux/commit/12d595795de7
[02/15] KVM: TDX: Wrap mapping of leaf and non-leaf S-EPT entries into helpers
https://github.com/kvm-x86/linux/commit/176dcd88f4b4
[03/15] KVM: x86/mmu: Fold set_external_spte_present() into its sole caller
https://github.com/kvm-x86/linux/commit/78d23e299bba
[04/15] KVM: x86/mmu: Plumb param "old_spte" into kvm_x86_ops.set_external_spte()
https://github.com/kvm-x86/linux/commit/291bcb3a7583
[05/15] KVM: TDX: Move KVM_BUG_ON()s in __tdp_mmu_set_spte_atomic() to TDX code
https://github.com/kvm-x86/linux/commit/6b1280a738f9
[06/15] KVM: TDX: Move lockdep assert in __tdp_mmu_set_spte_atomic() to TDX code
https://github.com/kvm-x86/linux/commit/40342185fd2b
[07/15] KVM: x86/tdp_mmu: Morph !is_frozen_spte() check into a KVM_MMU_WARN_ON()
https://github.com/kvm-x86/linux/commit/c1d3af136fbf
[08/15] KVM: x86/mmu: Plumb "sp" _pointer_ into the TDP MMU's handle_changed_spte()
https://github.com/kvm-x86/linux/commit/c1ec7f368d85
[09/15] KVM: x86/tdp_mmu: Centrally propagate to-present/atomic zap updates to external PTEs
https://github.com/kvm-x86/linux/commit/28c77a037804
[10/15] KVM: x86/mmu: Drop KVM_BUG_ON() on shared lock to zap child external PTEs
https://github.com/kvm-x86/linux/commit/41367d77ee4e
[11/15] KVM: TDX: Hoist tdx_sept_remove_private_spte() above set_private_spte()
https://github.com/kvm-x86/linux/commit/c74893aa56f4
[12/15] KVM: TDX: Drop kvm_x86_ops.remove_external_spte()
https://github.com/kvm-x86/linux/commit/6eae9ce9461c
[13/15] KVM: TDX: Rename tdx_sept_remove_private_spte() to show it's for leaf SPTEs
https://github.com/kvm-x86/linux/commit/0cef26b537ff
[14/15] KVM: x86: Move error handling inside free_external_spt()
https://github.com/kvm-x86/linux/commit/b35bda696e44
[15/15] KVM: TDX: Move external page table freeing to TDX code
https://github.com/kvm-x86/linux/commit/110d4d263450

--
https://github.com/kvm-x86/linux/tree/next