On Mon, Nov 14, 2022 at 04:06:10PM -0800, Sagi Shahar <sagis@xxxxxxxxxx> wrote: > > +int tdx_vm_init(struct kvm *kvm) > > +{ > > + struct kvm_tdx *kvm_tdx = to_kvm_tdx(kvm); > > + cpumask_var_t packages; > > + int ret, i; > > + u64 err; > > + > > + ret = tdx_keyid_alloc(); > > Can we skip the hkid allocation at such an early stage? > This makes intra-host migration more complicated as the hkid of the > destination VM is already allocated before we have a chance to migrate > the state from the source VM. > > I remember you had an internal version that already did that in > https://github.com/intel/tdx/blob/552dd80c48f67ca01bcdd10667e0c11efd375177/arch/x86/kvm/vmx/tdx.c#L508 With the patch of "KVM: TDX: initialize VM with TDX specific parameters", the allocation code is split out into its own code with KVM_TDX_INIT_VM. I think that's what you want. -- Isaku Yamahata <isaku.yamahata@xxxxxxxxx>