TDX 訪客 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 模組 v1.0 規範中“TDG.MR.REPORT”一節中有所提及,但目前尚未使用,並且期望此值為 0。因此,為保持 IOCTL 實現的簡潔性,子型別選項未作為輸入 ABI 的一部分包含在內。然而,如果未來 TDX 模組支援多個子型別,將建立一個新的 IOCTL CMD 來處理。為保持 IOCTL 命名的一致性,子型別索引已作為 IOCTL CMD 的一部分新增。
參考¶
TDX 參考資料收集於此
該驅動程式基於 TDX 模組規範 v1.0 和 TDX GHCI 規範 v1.0。