VMCS研究总结

本文主要探讨了VMCS在Intel VT-x中的角色,它是一个关键的数据结构,用于硬件虚拟化。内容涉及VMCS的组成、KVM中的分配与初始化过程,以及如何配置重要域。VMCS的详细布局对程序员透明,可通过VMWRITE和VMREAD指令访问。

VMCS是Intel VT-x中一个很重要的数据结构,它占用一个page大小,由VMM分配,但是硬件是需要读写的,有点类似于页表。vmcs的各个域在manual中有说明,但是每个域在vmcs页中的具体位置是不知道的,程序员不用关心,只需要用相应的VMWRITE和VMREAD指令去访问。这样做的好处是,vmcs页中结构的具体layout可以透明的进行变动。

下面从三个方面总结一下:

       一是vmcs组成部分;

       二是kvm中vmcs分配与初始化路径;

       三是kvm配置vmcs中一些重要的域。

首先来看vmcs组成部分,这个可以参考"IA32 Intel Architecture Software Developer's Manual Volume 3B System Programming Guide",这里简单总结一下:


* 1. Guest State Area
 * 2. Host State Area
 * 3. VM Execution Control Fields
    * 3.1 32bit pin-based exec ctrl
    * 3.2 32bit cpu-based exec ctrl
    * 3.3 32bit cpu-based secondary exec ctrl
    * 3.4 32bit exeception bitmap
    * 3.5 64bit physical addr of I/O bitmaps A and B(each is 4KB in size)
    * 3.6 64bit TSC-offset
    * 3.7 controls for APIC access
* 4. VM-Exit Control Fields
   * 4.1 32bit VM-Exit Controls
 &nb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值