Patch 1 deletes the module parameter tdp_mmu and forces KVM to always use the TDP MMU when TDP hardware support is enabled. The rest of the patches are related cleanups that follow (although the kvm_faultin_pfn() cleanups at the end are only tangentially related at best). The TDP MMU was introduced in 5.10 and has been enabled by default since 5.15. At this point there are no known functionality gaps between the TDP MMU and the shadow MMU, and the TDP MMU uses less memory and scales better with the number of vCPUs. In other words, there is no good reason to disable the TDP MMU. Dropping the ability to disable the TDP MMU reduces the number of possible configurations that need to be tested to validate KVM (i.e. no need to test with tdp_mmu=N), and simplifies the code. David Matlack (9): KVM: x86/mmu: Always enable the TDP MMU when TDP is enabled KVM: x86/mmu: Drop kvm->arch.tdp_mmu_enabled KVM: x86/mmu: Consolidate mmu_seq calculations in kvm_faultin_pfn() KVM: x86/mmu: Rename __direct_map() to nonpaging_map() KVM: x86/mmu: Separate TDP and non-paging fault handling KVM: x86/mmu: Stop needlessly making MMU pages available for TDP MMU faults KVM: x86/mmu: Handle "error PFNs" in kvm_faultin_pfn() KVM: x86/mmu: Avoid memslot lookup during KVM_PFN_ERR_HWPOISON handling KVM: x86/mmu: Try to handle no-slot faults during kvm_faultin_pfn() .../admin-guide/kernel-parameters.txt | 3 +- arch/x86/include/asm/kvm_host.h | 9 - arch/x86/kvm/mmu.h | 8 +- arch/x86/kvm/mmu/mmu.c | 197 ++++++++++-------- arch/x86/kvm/mmu/mmu_internal.h | 1 + arch/x86/kvm/mmu/paging_tmpl.h | 10 +- arch/x86/kvm/mmu/tdp_mmu.c | 9 +- 7 files changed, 115 insertions(+), 122 deletions(-) base-commit: 93472b79715378a2386598d6632c654a2223267b -- 2.37.1.595.g718a3a8f04-goog