1 个不稳定版本
0.1.0 | 2019年10月12日 |
---|
#7 在 #vmm
每月 22 次下载
用于 libvmm
9KB
181 行
库 VMM
在 Rust 中构建库 VMM 的实验。不清楚最终结果会是什么。
许可证
- Apache 许可证2.0版本 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
新接触 Rust 吗?!
安装项目依赖项
$ ./scripts/install-deps
- 注销并重新登录以使组修改生效。
如何运行单元测试
$ cd src/testing
$ make
待办事项
- 基本的 VMCS 处理支持。
- 添加第一个单元测试。
- 添加基本的 EPT 页表处理。
- 添加管理 MSR 和 IO 位图的支持。
- 添加跳过指令的支持。
- VMLaunch/VMResume 支持。
- 添加基本的 VMCS 验证代码。
- 迁移 kvm-unit-tests 测试。
- 迁移 KVM 内核自测。
- 添加 NMI 支持。
- 添加对 SGX 虚拟化的支持。
- 添加针对推测性攻击的处理器疯狂缓解措施。
- 添加 MCE 处理。
- 添加对 VPID 的支持。
- MONITOR & MWAIT + APERF/MPERF 模拟。
- 添加 CPUID 模拟。
- 添加 PLE 支持。
- 添加 TSC 缩放支持。
- 添加 VMCS 遮影支持。
- 添加抢占定时器支持。
- 添加 PML 支持。
- 指令模拟。
- 创建一个用于测试的库操作系统。
- 添加对请求中断窗口的支持。
- 添加对入口中断设置的 support。
- 添加对管理 IOMMU 页表的支持。
- 添加对硬件已发布中断的支持。
- 添加对 APICv 的支持。
- 添加对 SVM 的支持。
- 添加对非 root 客户端模式代码的更好支持。
- 扩展 (${}/src/x86_64/instructions/vmcs.rs) 中的 VMCS 验证检查。
- 26.2 VMX 控制和主机状态。
- 26.2.1 VMX 控制。
- 26.2.1.2 VM 退出控制验证。
- 26.2.1.3 VM 进入控制验证。
- 26.2.2 主机控制和 MSR。
- 26.2.3 主机段和描述符表。
- 26.2.4 地址空间大小。
- 26.2.1 VMX 控制。
- 26.3 客户端状态。
- 26.2 VMX 控制和主机状态。
依赖关系
~1.5MB
~34K SLoC