53 lines
2.0 KiB
ReStructuredText
53 lines
2.0 KiB
ReStructuredText
.. 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.
|