KVM will need to read bunch of TDX module metadata fields to create and run TDX guests. In the long term, other in-kernel TDX users, e.g., VT-d also likely will need to read metadata. This series provides common APIs in the TDX host code so that KVM can use. This series has been sent out together with the v19 KVM TDX patchset, and actually received one minor comment from Juergen [1](thanks!), which I fixed in this series. Now I am sending out this series separately to reduce the size of the KVM TDX patchset. Paolo and Sean are doing similar things [2][3]. [1]: https://lore.kernel.org/kvm/cover.1708933498.git.isaku.yamahata@xxxxxxxxx/T/#mbe96ac2b6560897083afdbe1db446a75a724e4e9 [2]: https://lore.kernel.org/kvm/20240227232100.478238-21-pbonzini@xxxxxxxxxx/T/ [3]: https://lore.kernel.org/kvm/20240228024147.41573-16-seanjc@xxxxxxxxxx/T/ Kai Huang (5): x86/virt/tdx: Rename _offset to _member for TD_SYSINFO_MAP() macro x86/virt/tdx: Move TDMR metadata fields map table to local variable x86/virt/tdx: Unbind global metadata read with 'struct tdx_tdmr_sysinfo' x86/virt/tdx: Support global metadata read for all element sizes x86/virt/tdx: Export global metadata read infrastructure arch/x86/include/asm/tdx.h | 22 ++++++++++ arch/x86/virt/vmx/tdx/tdx.c | 84 +++++++++++++++++++++---------------- arch/x86/virt/vmx/tdx/tdx.h | 2 - 3 files changed, 71 insertions(+), 37 deletions(-) base-commit: 5bdd181821b2c65b074cfad07d7c7d5d3cfe20bf -- 2.43.2