AMD-V 对中断的虚拟化有如下支持 : (3)中断截取 通过 VMCB.CONTROL 的 5 个控制位,物理的、虚拟的、NMI、SMI、INIT 类型的中断都可以被截取或不截取,以便于 VMM 来控制中断相关的行为。一般来说,固定的低优先级的虚拟中断可不被截取由客操作系统自己处理,高优先级的虚拟中断一般需要截取,以便 VMM 能快速的应答或通过 IER 关闭该中断以避免该中断延迟更低优先级的中断。 (4)事件注入 VMCB.CONTROL 提供一个 EVENTINJ 字段,在执行VMRUN 之前,VMM 通过设置该字段,向虚拟机注入一个异常或中断 . 被注入的事件完全在虚拟机的环境执行,就象完全发生在客操作系统中一样。被注入的事件是虚拟机返回“guest”模式后最先执行的代码,在 VMCB.SAVE 的 CS:RIP 字段指定的返回代码之前执行。 (5)扩展的 APIC 特征 增加了 IER 控制寄存器和 SEOI 寄存器。IER 可被 VMM软件用来控制 Local APIC 上 Pending 的中断,让某 Pending 中断不参与优先级的裁决,每个中断在 IER 中都有一个对应的控制位。SEOI 可被 VMM 软件用来结束中断的 Pending 状态,软件将需要结束的中断的向量号写入 SEOI 的 Vector 字段即可。
|