| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- .. SPDX-License-Identifier: GPL-2.0
- ===================================================================
- TDX Guest API Documentation
- ===================================================================
- 1. General description
- ======================
- The TDX guest driver exposes IOCTL interfaces via the /dev/tdx-guest misc
- device to allow userspace to get certain TDX guest-specific details.
- 2. API description
- ==================
- In this section, for each supported IOCTL, the following information is
- provided along with a generic description.
- :Input parameters: Parameters passed to the IOCTL and related details.
- :Output: Details about output data and return value (with details about
- the non common error values).
- 2.1 TDX_CMD_GET_REPORT0
- -----------------------
- :Input parameters: struct tdx_report_req
- :Output: Upon successful execution, TDREPORT data is copied to
- tdx_report_req.tdreport and return 0. Return -EINVAL for invalid
- operands, -EIO on TDCALL failure or standard error number on other
- common failures.
- The TDX_CMD_GET_REPORT0 IOCTL can be used by the attestation software to get
- the TDREPORT0 (a.k.a. TDREPORT subtype 0) from the TDX module using
- TDCALL[TDG.MR.REPORT].
- A subtype index is added at the end of this IOCTL CMD to uniquely identify the
- subtype-specific TDREPORT request. Although the subtype option is mentioned in
- the TDX Module v1.0 specification, section titled "TDG.MR.REPORT", it is not
- currently used, and it expects this value to be 0. So to keep the IOCTL
- implementation simple, the subtype option was not included as part of the input
- ABI. However, in the future, if the TDX Module supports more than one subtype,
- a new IOCTL CMD will be created to handle it. To keep the IOCTL naming
- consistent, a subtype index is added as part of the IOCTL CMD.
- Reference
- ---------
- TDX reference material is collected here:
- https://www.intel.com/content/www/us/en/developer/articles/technical/intel-trust-domain-extensions.html
- The driver is based on TDX module specification v1.0 and TDX GHCI specification v1.0.
|