TDX Guest API 文档¶
1. 一般描述¶
TDX 访客驱动程序通过 /dev/tdx-guest 杂项设备公开 IOCTL 接口,允许用户空间获取某些 TDX 访客特定的详细信息。
2. API 描述¶
在本节中,对于每个支持的 IOCTL,将提供以下信息以及通用描述。
- 输入参数:
传递给 IOCTL 的参数和相关详细信息。
- 输出:
有关输出数据和返回值(包含有关非通用错误值的详细信息)的详细信息。
2.1 TDX_CMD_GET_REPORT0¶
- 输入参数:
struct tdx_report_req
- 输出:
成功执行后,TDREPORT 数据将复制到 tdx_report_req.tdreport 并返回 0。对于无效的操作数,返回 -EINVAL;对于 TDCALL 失败,返回 -EIO;对于其他常见故障,返回标准错误号。
证明软件可以使用 TDX_CMD_GET_REPORT0 IOCTL,通过 TDCALL[TDG.MR.REPORT] 从 TDX 模块获取 TDREPORT0(也称为 TDREPORT 子类型 0)。
在此 IOCTL CMD 的末尾添加了一个子类型索引,以唯一标识特定于子类型的 TDREPORT 请求。尽管 TDX Module v1.0 规范中标题为“TDG.MR.REPORT”的部分提到了子类型选项,但当前未使用它,并且它期望此值为 0。因此,为了保持 IOCTL 实现的简单性,子类型选项未包含在输入 ABI 中。但是,将来,如果 TDX 模块支持多个子类型,则将创建一个新的 IOCTL CMD 来处理它。为了保持 IOCTL 命名的一致性,将子类型索引添加为 IOCTL CMD 的一部分。
参考¶
TDX 参考资料在此处收集
该驱动程序基于 TDX 模块规范 v1.0 和 TDX GHCI 规范 v1.0。