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

From: Sagi Shahar
Date: Thu Nov 17 2022 - 18:46:15 EST


On Thu, Nov 17, 2022 at 9:48 AM Isaku Yamahata <isaku.yamahata@xxxxxxxxx> wrote:
>
> 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.

Right, I missed that. Thanks.

> --
> Isaku Yamahata <isaku.yamahata@xxxxxxxxx>