Hi Paolo/Sean, This series contains patches to initialize TDX when loading KVM module. The main purpose of sending this out is to have a review and for the integration to kvm-coco-queue, but this series can also be applied to kvm/queue cleanly. v1 -> v2: - Add KVM_INTEL_TDX to guide KVM TDX code. (Sean) - Distinguish "TDX cannot be supported" vs "TDX fail to enable due to unexpected failure", and handle them differently. (Sean) - Update changelog accordingly - Remove useless comments around tdx_enable() and tdx_cpu_enable() (Sean). - Add SPDX-License-Identifier tag to vmx/tdx.h Btw: I kept the name tdx_bringup(), tdx_cleanup() but didn't change them to tdx_module_init() and tdx_module_exit() cause I feel KVM does more than "module" init/exit. We can change that if needed. v1: https://lore.kernel.org/kvm/cover.1730120881.git.kai.huang@xxxxxxxxx/T/ Kai Huang (3): KVM: VMX: Refactor VMX module init/exit functions KVM: Export hardware virtualization enabling/disabling functions KVM: VMX: Initialize TDX during KVM module load arch/x86/kvm/Kconfig | 10 +++ arch/x86/kvm/Makefile | 1 + arch/x86/kvm/vmx/main.c | 41 +++++++++++ arch/x86/kvm/vmx/tdx.c | 153 +++++++++++++++++++++++++++++++++++++++ arch/x86/kvm/vmx/tdx.h | 13 ++++ arch/x86/kvm/vmx/vmx.c | 23 +----- arch/x86/kvm/vmx/vmx.h | 3 + include/linux/kvm_host.h | 8 ++ virt/kvm/kvm_main.c | 18 +---- 9 files changed, 235 insertions(+), 35 deletions(-) create mode 100644 arch/x86/kvm/vmx/tdx.c create mode 100644 arch/x86/kvm/vmx/tdx.h base-commit: b1e0320c5a9fe875f56039ea43e183c59974d38a -- 2.46.2