Re: [RFC PATCH v5 027/104] KVM: TDX: initialize VM with TDX specific parameters

From: Xiaoyao Li
Date: Wed Apr 06 2022 - 12:26:36 EST


On 4/5/2022 9:01 PM, Paolo Bonzini wrote:
On 3/31/22 06:55, Kai Huang wrote:
+struct kvm_tdx_init_vm {
+    __u32 max_vcpus;
+    __u32 tsc_khz;
+    __u64 attributes;
+    __u64 cpuid;
Is it better to append all CPUIDs directly into this structure, perhaps at end
of this structure, to make it more consistent with TD_PARAMS?

Also, I think somewhere in commit message or comments we should explain why
CPUIDs are passed here (why existing KVM_SET_CUPID2 is not sufficient).


Indeed, it would be easier to use the existing cpuid data in struct kvm_vcpu, because right now there is no way to ensure that they are consistent.

Why is KVM_SET_CPUID2 not enough?  Are there any modifications done by KVM that affect the measurement?

Then we get the situation that KVM_TDX_INIT_VM must be called after 1 vcpu is created. It seems illogical that it has chance to fail the VM scope initialization after 1 vcpu is successfully created.

Thanks,

Paolo