mbox series

[v2,0/3] KVM: VMX: Initialize TDX when loading KVM module

Message ID cover.1731664295.git.kai.huang@intel.com (mailing list archive)
Headers show
Series KVM: VMX: Initialize TDX when loading KVM module | expand

Message

Kai Huang Nov. 15, 2024, 9:52 a.m. UTC
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@intel.com/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