Messages in this thread Patch in this message | | | From | "Huang, Kai" <> | Subject | Re: [PATCH v12 05/22] x86/virt/tdx: Add SEAMCALL infrastructure | Date | Wed, 28 Jun 2023 03:34:05 +0000 |
| |
On Wed, 2023-06-28 at 11:09 +0800, Chao Gao wrote: > > +/* > > + * Wrapper of __seamcall() to convert SEAMCALL leaf function error code > > + * to kernel error code. @seamcall_ret and @out contain the SEAMCALL > > + * leaf function return code and the additional output respectively if > > + * not NULL. > > + */ > > +static int __always_unused seamcall(u64 fn, u64 rcx, u64 rdx, u64 r8, u64 > > r9, > > + u64 *seamcall_ret, > > + struct tdx_module_output *out) > > +{ > > + u64 sret; > > + int cpu; > > + > > + /* Need a stable CPU id for printing error message */ > > + cpu = get_cpu(); > > + sret = __seamcall(fn, rcx, rdx, r8, r9, out); > > + put_cpu(); > > + > > + /* Save SEAMCALL return code if the caller wants it */ > > + if (seamcall_ret) > > + *seamcall_ret = sret; > > Hi Kai, > > All callers in this series pass NULL for seamcall_ret. I am no sure if > you keep it intentionally.
In this series all the callers doesn't need seamcall_ret.
> > > + > > + switch (sret) { > > + case 0: > > + /* SEAMCALL was successful */ > > Nit: if you add > > #define TDX_SUCCESS 0 > > and do > > case TDX_SUCCESS: > return 0; > > then the code becomes self-explanatory. i.e., you can drop the comment.
If using this, I ended up with below:
--- a/arch/x86/include/asm/tdx.h +++ b/arch/x86/include/asm/tdx.h @@ -23,6 +23,8 @@ #define TDX_SEAMCALL_GP (TDX_SW_ERROR | X86_TRAP_GP) #define TDX_SEAMCALL_UD (TDX_SW_ERROR | X86_TRAP_UD) +#define TDX_SUCCESS 0 +
Hi Kirill/Dave/David,
Are you happy with this?
| |