处理器虚拟化——VMX

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

处理器虚拟化——VMX
Intel提供3个层⾯的虚拟化技术(Intel Virtualization Technology)
1.基于处理器的虚拟化技术(Intel VT-X) 全称为 Virtualization Technology for x86
2.基于PCI总线域设备实现的I/O虚拟化技术(Intel VT-D) 全称为Virtualization Technology for Directed I/O
3.基于⽹络的虚拟化技术(Intel VT-C) 全称为Virtualization Technology for Connectify
VT 是对资源的虚拟化管理的结果
在CPU端的虚拟化⾥实现了VMX(Virtual-Machine Extensions,虚拟机扩展)架构
包含两种⾓⾊环境 VMM(Virtual Machine Monitor,虚拟机监管者)host
VM(Virtual Machine,虚拟机)guest
guest端软件访问的资源受到VMM的监管
VMM通过EPT(Extend Page Table,扩展页表)来实现“guest端物理地址到Host端物理地址”的转化
使得Guest访问到其他的物理区域
在开启EPT机制下会产⽣两个地址概念:GPA(Guest Physical Address) 和 HPA(Host Physical Address)
HPA 真正的物理地址
在VMX架构下⾄少需要实现⼀个“VMXON region” 以及 “VMCS region”的物理区域
VMXON区域对应于VMM VMM使⽤VMXON区域对⼀些数据进⾏记录和维护
每个VM需要对应⾃⼰的VMCS(VIrtual Machine Structure 虚拟机控制结构)
VMM使⽤VMCS来配置VM的运⾏环境以及控制VM的运⾏
检测VMX⽀持
VMX⽀持检测CPUID.01H:ECX[5].VMX位来确定是否⽀持VMX架构 1表⽰⽀持
开启VMX进⼊允许
要开启VMX operation模式必须先开启CR4.VMXE控制位 1表⽰开启
VMX root operation模式处理器的CPL(Current Privilege Level) 必须为0 VMM运⾏的环境
VMX non-root operation VM运⾏的环境
root ----------> non root VM-entry
non-root ---------> root VM-exit
导致VM exit发⽣的三⼤类途径如下。

1) 执⾏⽆条件引发VM exit的指令。

包括CPUID,GETSEC,INVD与XSETBV指令以及所有的VMX指令(除了VMFUNC指令)
2) 遇到⽆条件引发VM exit的未被阻塞的事件。

例如,INT信号,SIPI消息等。

3) 遇到VMM设置引发VM exit的条件,包括执⾏某些指令或者遇到某些事件发⽣。

相关文档
最新文档