1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #include <linux/linkage.h> 3 #include <asm/frame.h> 4 5 #include "tdxcall.S" 6 7 /* 8 * __seamcall() - Host-side interface function 9 * (the P-SEAMLDR or the TDX module). 10 * 11 * __seamcall() function ABI: 12 * 13 * @fn (RDI) - SEAMCALL Leaf number, moved 14 * @args (RSI) - struct tdx_module_args for i 15 * 16 * Only RCX/RDX/R8-R11 are used as input regis 17 * 18 * Return (via RAX) TDX_SEAMCALL_VMFAILINVALID 19 * fails, or the completion status of the SEAM 20 */ 21 SYM_FUNC_START(__seamcall) 22 TDX_MODULE_CALL host=1 23 SYM_FUNC_END(__seamcall) 24 25 /* 26 * __seamcall_ret() - Host-side interface func 27 * (the P-SEAMLDR or the TDX module), with sav 28 * the 'struct tdx_module_args' used as input. 29 * 30 * __seamcall_ret() function ABI: 31 * 32 * @fn (RDI) - SEAMCALL Leaf number, moved 33 * @args (RSI) - struct tdx_module_args for i 34 * 35 * Only RCX/RDX/R8-R11 are used as input/outpu 36 * 37 * Return (via RAX) TDX_SEAMCALL_VMFAILINVALID 38 * fails, or the completion status of the SEAM 39 */ 40 SYM_FUNC_START(__seamcall_ret) 41 TDX_MODULE_CALL host=1 ret=1 42 SYM_FUNC_END(__seamcall_ret) 43 44 /* 45 * __seamcall_saved_ret() - Host-side interfac 46 * (the P-SEAMLDR or the TDX module), with sav 47 * 'struct tdx_module_args' used as input. 48 * 49 * __seamcall_saved_ret() function ABI: 50 * 51 * @fn (RDI) - SEAMCALL Leaf number, moved 52 * @args (RSI) - struct tdx_module_args for i 53 * 54 * All registers in @args are used as input/ou 55 * 56 * Return (via RAX) TDX_SEAMCALL_VMFAILINVALID 57 * fails, or the completion status of the SEAM 58 */ 59 SYM_FUNC_START(__seamcall_saved_ret) 60 TDX_MODULE_CALL host=1 ret=1 saved=1 61 SYM_FUNC_END(__seamcall_saved_ret)
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.