1.. SPDX-License-Identifier: GPL-2.0 2 3=================================================================== 4TDX Guest API Documentation 5=================================================================== 6 71. General description 8====================== 9 10The TDX guest driver exposes IOCTL interfaces via the /dev/tdx-guest misc 11device to allow userspace to get certain TDX guest-specific details. 12 132. API description 14================== 15 16In this section, for each supported IOCTL, the following information is 17provided along with a generic description. 18 19:Input parameters: Parameters passed to the IOCTL and related details. 20:Output: Details about output data and return value (with details about 21 the non common error values). 22 232.1 TDX_CMD_GET_REPORT0 24----------------------- 25 26:Input parameters: struct tdx_report_req 27:Output: Upon successful execution, TDREPORT data is copied to 28 tdx_report_req.tdreport and return 0. Return -EINVAL for invalid 29 operands, -EIO on TDCALL failure or standard error number on other 30 common failures. 31 32The TDX_CMD_GET_REPORT0 IOCTL can be used by the attestation software to get 33the TDREPORT0 (a.k.a. TDREPORT subtype 0) from the TDX module using 34TDCALL[TDG.MR.REPORT]. 35 36A subtype index is added at the end of this IOCTL CMD to uniquely identify the 37subtype-specific TDREPORT request. Although the subtype option is mentioned in 38the TDX Module v1.0 specification, section titled "TDG.MR.REPORT", it is not 39currently used, and it expects this value to be 0. So to keep the IOCTL 40implementation simple, the subtype option was not included as part of the input 41ABI. However, in the future, if the TDX Module supports more than one subtype, 42a new IOCTL CMD will be created to handle it. To keep the IOCTL naming 43consistent, a subtype index is added as part of the IOCTL CMD. 44 45Reference 46--------- 47 48TDX reference material is collected here: 49 50https://www.intel.com/content/www/us/en/developer/articles/technical/intel-trust-domain-extensions.html 51 52The driver is based on TDX module specification v1.0 and TDX GHCI specification v1.0. 53