[PATCH v2 00/13] x86/virt/tdx: Add SEAMCALL wrappers for KVM

Paolo Bonzini
2025-01-01T07:50:09Z

This is a completed version of Rick's RFC series at
https://lore.kernel.org/r/20241203010317.827803-1-rick.p.edgecombe@intel.com/.
Due to EPANETTONE I didn't use the latest RFC, which is fixed here.

As in the patches that I sent ten minutes ago, I took all the "Add
SEAMCALL wrappers" patches from the various TDX parts and placed them
in a single series, so that they can be reviewed and provided in a topic
branch by Dave.

I will rebase kvm-coco-queue on top of these, but I almost definitely
will not manage to finish and push the result before getting the first
NMIs from the rest of the family. In the meanwhile, this gives people
time to review while I'm not available.

Paolo

Isaku Yamahata (6):
x86/virt/tdx: Add SEAMCALL wrapper tdh_mem_sept_add() to add SEPT
pages
x86/virt/tdx: Add SEAMCALL wrappers to add TD private pages
x86/virt/tdx: Add SEAMCALL wrappers to manage TDX TLB tracking
x86/virt/tdx: Add SEAMCALL wrappers to remove a TD private page
x86/virt/tdx: Add SEAMCALL wrappers for TD measurement of initial
contents
x86/virt/tdx: Add tdx_guest_keyid_alloc/free() to alloc and free TDX
guest KeyID

Kai Huang (1):
x86/virt/tdx: Read essential global metadata for KVM

Rick Edgecombe (6):
x86/virt/tdx: Add SEAMCALL wrappers for TDX KeyID management
x86/virt/tdx: Add SEAMCALL wrappers for TDX TD creation
x86/virt/tdx: Add SEAMCALL wrappers for TDX vCPU creation
x86/virt/tdx: Add SEAMCALL wrappers for TDX page cache management
x86/virt/tdx: Add SEAMCALL wrappers for TDX VM/vCPU field access
x86/virt/tdx: Add SEAMCALL wrappers for TDX flush operations

Yuan Yao (1):
[WORKAROUND] x86/virt/tdx: Retry seamcall when TDX_OPERAND_BUSY with
operand SEPT

arch/x86/include/asm/tdx.h | 50 +++
arch/x86/virt/vmx/tdx/tdx.c | 432 ++++++++++++++++++++
arch/x86/virt/vmx/tdx/tdx.h | 46 ++-
arch/x86/virt/vmx/tdx/tdx_global_metadata.c | 50 +++
arch/x86/virt/vmx/tdx/tdx_global_metadata.h | 19 +
5 files changed, 590 insertions(+), 7 deletions(-)

--
2.43.5