On 8/25/23 05:14, Kai Huang wrote: > +#define SEAMCALL_PRERR(__seamcall_func, __fn, __args, __seamcall_err_func) \ > +({ \ > + u64 ___sret = __SEAMCALL_PRERR(__seamcall_func, __fn, __args, \ > + __seamcall_err_func, pr_err); \ > + int ___ret; \ > + \ > + switch (___sret) { \ > + case TDX_SUCCESS: \ > + ___ret = 0; \ > + break; \ > + case TDX_SEAMCALL_VMFAILINVALID: \ > + pr_err("SEAMCALL failed: TDX module not loaded.\n"); \ > + ___ret = -ENODEV; \ > + break; \ > + case TDX_SEAMCALL_GP: \ > + pr_err("SEAMCALL failed: TDX disabled by BIOS.\n"); \ > + ___ret = -EOPNOTSUPP; \ > + break; \ > + case TDX_SEAMCALL_UD: \ > + pr_err("SEAMCALL failed: CPU not in VMX operation.\n"); \ > + ___ret = -EACCES; \ > + break; \ > + default: \ > + ___ret = -EIO; \ > + } \ > + ___ret; \ > +}) I have no clue where all of this came from or why it is necessary or why it has to be macros. I'm just utterly confused. I was really hoping to be able to run through this set and get it ready to be merged. But it seems to still be seeing a *LOT* of change. Should I wait another few weeks for this to settle down again?