上QQ阅读APP看书,第一时间看更新
2.1.3 AMD SVM
在AMD的SVM中,有很多东西与Intel VT-x类似。但是技术上略有不同,在SVM中也有两种模式:根模式和非根模式。此时,VMM运行在非根模式上,而客户机运行在根模式上。在非根模式上,一些敏感指令会引起“陷入”,即VM-Exit,而VMM调动某个客户机运行时,CPU会由根模式切换到非根模式,即VM-Entry。
在AMD中,引入了一个新的结构VMCB(Virtual Machine Control Block,虚拟机控制块),来更好地支持CPU的虚拟化。一个VMCB对应一个虚拟的CPU相关状态,例如,这个VMCB中包含退出领域,当VM-Exit发生时会读取里面的相关信息。
此外,AMD还增加了8个新指令操作码来支持SVM,VMM可以通过指令来配置VCMB映像CPU。例如,VMRUN指令会从VMCB中载入处理器状态,而VMSAVE指令会把处理器状态保存到VMCB中。