Re: [PATCH v10 016/108] KVM: TDX: create/destroy VM structure

From: Isaku Yamahata
Date: Thu Nov 17 2022 - 12:48:37 EST


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>