On 8/30/2024 3:46 AM, Edgecombe, Rick P wrote:
On Thu, 2024-08-29 at 21:25 +0800, Xiaoyao Li wrote:
On 8/13/2024 6:47 AM, Rick Edgecombe wrote:
+/*
+ * TD_PARAMS is provided as an input to TDH_MNG_INIT, the size of which is
1024B.
+ */
+struct td_params {
+ u64 attributes;
+ u64 xfam;
+ u16 max_vcpus;
+ u8 reserved0[6];
+
+ u64 eptp_controls;
+ u64 exec_controls;
TDX 1.5 renames 'exec_controls' to 'config_flags', maybe we need update
it to match TDX 1.5 since the minimum supported TDX module of linux
starts from 1.5.
Agreed.
Besides, TDX 1.5 defines more fields that was reserved in TDX 1.0, but
most of them are not used by current TDX enabling patches. If we update
TD_PARAMS to match with TDX 1.5, should we add them as well?
You mean config_flags or supported "features0"? For config_flags, it seems just
one is missing. I don't think we need to add it.
No. I meant NUM_L2_VMS, MSR_CONFIG_CTLS, IA32_ARCH_CAPABILITIES_CONFIG,
MRCONFIGSVN and MROWNERCONFIGSVN introduced in TD_PARAMS from TDX 1.5.
Only MSR_CONFIG_CTLS and IA32_ARCH_CAPABILITIES_CONFIG likely need
enabling for now since they relates to MSR_IA32_ARCH_CAPABILITIES
virtualization of TDs.
This leads to another topic that defining all the TDX structure in this
patch seems unfriendly for review. It seems better to put the
introduction of definition and its user in a single patch.
Yea.