Re: [PATCHv2 01/12] x86/tdx: Consolidate TDX error handling
From: Sean Christopherson
Date: Wed Jun 25 2025 - 17:27:36 EST
On Wed, Jun 25, 2025, Rick P Edgecombe wrote:
> On Wed, 2025-06-25 at 10:58 -0700, Dave Hansen wrote:
> > > --- a/arch/x86/kvm/vmx/tdx.c
> > > +++ b/arch/x86/kvm/vmx/tdx.c
> > > @@ -202,12 +202,6 @@ static DEFINE_MUTEX(tdx_lock);
> > >
> > > static atomic_t nr_configured_hkid;
> > >
> > > -static bool tdx_operand_busy(u64 err)
> > > -{
> > > - return (err & TDX_SEAMCALL_STATUS_MASK) == TDX_OPERAND_BUSY;
> > > -}
> > > -
> > > -
> >
> > Isaku, this one was yours (along with the whitespace damage). What do
> > you think of this patch?
>
> I think this actually got added by Paolo, suggested by Binbin. I like these
> added helpers a lot. KVM code is often open coded for bitwise stuff, but since
> Paolo added tdx_operand_busy(), I like the idea of following the pattern more
> broadly. I'm on the fence about tdx_status() though.
Can we turn them into macros that make it super obvious they are checking if the
error code *is* xyz? E.g.
#define IS_TDX_ERR_OPERAND_BUSY
#define IS_TDX_ERR_OPERAND_INVALID
#define IS_TDX_ERR_NO_ENTROPY
#define IS_TDX_ERR_SW_ERROR
As is, it's not at all clear that things like tdx_success() are simply checks,
as opposed to commands.