#instructions #guest #tdx #extension #trust #domain #supporting

tdx-guest

tdx-guest 提供 Intel® Trust Domain Extensions (Intel® TDX) 客户端 API 的 Rust 实现,支持 TDX 客户端特定的指令、结构和函数

8 个版本

0.1.7 2024 年 7 月 16 日
0.1.6 2024 年 7 月 16 日
0.1.5 2024 年 6 月 27 日
0.1.1 2024 年 5 月 22 日
0.1.0 2024 年 4 月 28 日

#728 in Rust 模式

Download history 152/week @ 2024-04-28 3/week @ 2024-05-05 129/week @ 2024-05-19 76/week @ 2024-05-26 373/week @ 2024-06-02 26/week @ 2024-06-09 3/week @ 2024-06-16 148/week @ 2024-06-23 17/week @ 2024-06-30 15/week @ 2024-07-07 940/week @ 2024-07-14 814/week @ 2024-07-21 700/week @ 2024-07-28 828/week @ 2024-08-04 899/week @ 2024-08-11

3,386 每月下载量
ostd 中使用

BSD-3-Clause

74KB
1.5K SLoC

OpenSSF Best Practices

介绍 tdx-guest

tdx-guest 提供 Intel® Trust Domain Extensions (Intel® TDX) 客户端 API 的 Rust 实现,支持 TDX 客户端特定的指令、结构和函数。

TDCALL 实现

叶号 规范中的名称 描述 是否实现 接口函数名称 TDX 版本
0 TDG.VP.VMCALL 调用宿主 VM 服务 请参阅 TDVMCALL 实现 1.0, 1.5
1 TDG.VP.INFO 获取 TD 执行环境信息 get_tdinfo 1.0, 1.5
2 TDG.MR.RTMR.EXTEND 扩展 TD 运行时测量寄存器 extend_rtmr 1.0, 1.5
3 TDG.VP.VEINFO.GET 获取最近 #VE 异常的虚拟化异常信息 get_veinfo 1.0, 1.5
4 TDG.MR.REPORT 创建 TD 的加密报告 get_report 1.0, 1.5
5 TDG.VP.CPUIDVE.SET 控制 CPUID 指令执行时 #VE 的交付 set_cpuidve 1.0, 1.5
6 TDG.MEM.PAGE.ACCEPT 将挂起的私有页面接受到 TD 中 accept_page 1.0, 1.5
7 TDG.VM.RD 读取 TD 范围元数据字段 read_td_metadata 1.0, 1.5
8 TDG.VM.WR 写入 TD 范围元数据字段 write_td_metadata 1.0, 1.5
9 TDG.VP.RD 读取 VCPU 范围元数据字段 - 1.5
10 TDG.VP.WR 写入 VCPU 范围元数据字段 - 1.5
11 TDG.SYS.RD 读取 TDX 模块全局范围元数据字段 - 1.5
12 TDG.SYS.RDALL 读取所有可读的 TDX 模块全局范围元数据字段 - 1.5
18 TDG.SERVTD.RD 读取目标 TD 元数据字段 read_servetd 1.5
20 TDG.SERVTD.WR 写入目标 TD 元数据字段 write_servetd 1.5
22 TDG.MR.VERIFYREPORT 验证当前平台生成的 TD 加密报告 verify_report 1.5
23 TDG.MEM.PAGE.ATTR.RD 读取 TD 私有页面的 GPA 映射和属性 read_page_attr 1.5
24 TDG.MEM.PAGE.ATTR.WR 写入私有页面的属性 write_page_attr 1.5
25 TDG.VP.ENTER 进入 L2 VCPU 操作 - 1.5
26 TDG.VP.INVEPT 使选定的 L2 VM 的缓存的 EPT 映射无效 - 1.5
27 TDG.VP.INVVPID 使 L2 VM 中选定页面的缓存的转换无效 - 1.5

TDVMCALL 实现

子函数号 规范中的子函数名称 是否实现 接口函数名称 TDX 版本
0x10000 获取TdVmCallInfo get_tdvmcall_info 1.0, 1.5
0x10001 映射GPA map_gpa 1.0, 1.5
0x10002 获取报价 get_quote 1.0, 1.5
0x10003 报告致命错误 - 1.0, 1.5
0x10004 设置事件通知中断 setup_event_notify_interrupt 1.0, 1.5
0x10005 服务 get_td_service 1.5
子函数编号位15:0 规范中的子函数名称 是否实现 接口函数名称 TDX 版本
10 指令.CPUID cpuid 1.0, 1.5
12 指令.HLT hlt 1.0, 1.5
30 指令.IO io_read, io_write 1.0, 1.5
31 指令.RDMSR rdmsr 1.0, 1.5
32 指令.WRMSR wrmsr 1.0, 1.5
48 #VE.RequestMMIO read_mmio, write_mmio 1.0, 1.5
54 指令.WBINVD 执行缓存操作 1.0, 1.5
65 指令.PCONFIG - 1.0, 1.5

依赖项

~15MB
~315K SLoC