Messages in this thread | | | From | "Huang, Kai" <> | Subject | Re: [PATCH v4 07/12] x86/tdx: Make TDX_HYPERCALL asm similar to TDX_MODULE_CALL | Date | Sat, 26 Aug 2023 04:59:33 +0000 |
| |
On Sat, 2023-08-26 at 00:50 +0000, Huang, Kai wrote: > On Sat, 2023-08-26 at 02:35 +0300, kirill.shutemov@linux.intel.com wrote: > > On Tue, Aug 15, 2023 at 11:02:01PM +1200, Kai Huang wrote: > > > + /* > > > + * Failure of __tdcall_hypercall() indicates a failure of the TDVMCALL > > > + * mechanism itself and that something has gone horribly wrong with > > > + * the TDX module. __tdx_hypercall_failed() never returns. > > > + */ > > > + if (__tdcall_hypercall(TDG_VP_VMCALL, &margs)) > > > + __tdx_hypercall_failed(); > > > > Do we even need __tdx_hypercall_failed() anymore? Just call panic() > > directly, no? > > > > __tdx_hypercall() is currently annotated with 'noinstr' (which is also the > behaviour of the old code). We need it otherwise we will get build warning like > below: > > https://lore.kernel.org/lkml/a23ce8fd289141cea3a1b4f3dace221dca847238.camel@intel.com/T/#m205b29ce3e33983ec6be733c2afffbfd5cb653ff
Forgot to say, __tdx_hypercall() is a common code shared by the compressed code, which also has it's own version of __tdx_hypercall_failed(). We need such wrapper anyway because compressed code calls error() while the main kernel calls panic().
| |