- 前言
- 基本概念
- 架构
- 工作关系
- MSR Register
- VMXON Region
- VMCS Region
- 技术
- Intel EPT
- 影子页表
- EPT
- Intel VMX 指令集
- Intel EPT
- 架构
- 测试环境
- 宿主机
- 虚拟机
- 代码分析
- 目录
- 用户态部分
- 内核模块
- 一些数据结构
- 模块初始化
- ioctl - PROBE
- ioctl - PEACH_RUN
- init_ept
- handle_vmexit
- 总结
前言
之前在看VMX相关的东西的时候基本都是从比较抽象的文档入手,对于概念的理解还是比较模糊的。而且像kvm这种项目太大了,硬看下去会花很多时间在边边角角的点上。偶然看到Github上有个阿里云大佬开源了一个非常小巧的虚拟机实现—— Peach,虽然没有什么实际作用(指VM Monitor特别简单,而且完全没有实现外围设备),但是可以让人迅速对Intel VMX技术有清晰的概念。作者还同时在自己的微信公众号发布了讲解如何实现该实例的文章,但是99块的门槛有点夸张了