Re: [PATCH 14/25] KVM: TDX: initialize VM with TDX specific parameters
From: Edgecombe, Rick P
Date: Tue Oct 01 2024 - 16:45:22 EST
On Thu, 2024-09-05 at 12:31 +0300, Tony Lindgren wrote:
> > diff --git a/arch/x86/kvm/vmx/tdx.c b/arch/x86/kvm/vmx/tdx.c
> > index c00c73b2ad4c..dd6e3149ff5a 100644
> > --- a/arch/x86/kvm/vmx/tdx.c
> > +++ b/arch/x86/kvm/vmx/tdx.c
> > @@ -2476,8 +2476,14 @@ static int __tdx_td_init(struct kvm *kvm, struct
> > td_params *td_params,
> > * Return a hint to the user because it's sometimes hard
> > for the
> > * user to figure out which operand is invalid.
> > SEAMCALL status
> > * code includes which operand caused invalid operand
> > error.
> > + *
> > + * TDX_OPERAND_INVALID_CPUID_CONFIG contains more info
> > + * in rcx (i.e. leaf/sub-leaf), warn it to help figure
> > + * out the invalid CPUID config.
> > */
> > *seamcall_err = err;
> > + if (err == (TDX_OPERAND_INVALID |
> > TDX_OPERAND_ID_CPUID_CONFIG))
> > + pr_tdx_error_1(TDH_MNG_INIT, err, rcx);
> > ret = -EINVAL;
> > goto teardown;
Currently we filter by supported CPUID bits. But if we drop that filter and just
allow the TDX module to reject (based on discussion
https://lore.kernel.org/kvm/CABgObfbyd-a_bD-3fKmF3jVgrTiCDa3SHmrmugRji8BB-vs5GA@xxxxxxxxxxxxxx)
...then I guess this could be useful for userspace debugging. I'd say let's
leave this for a follow on patch. It's not critical for now.