免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2079 | 回复: 2
打印 上一主题 下一主题

[其他] vmx_init()初始化问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-15 15:00 |只看该作者 |倒序浏览
  在看kvm的源码时,一上来就有下面的疑问:为什么在vmx_init()中要禁止MSF_FS_BASE等?而且这些选项都是什么意思?
代码如下:
  1. vmx_disable_intercept_for_msr(MSR_FS_BASE, false);
  2.         vmx_disable_intercept_for_msr(MSR_GS_BASE, false);
  3.         vmx_disable_intercept_for_msr(MSR_KERNEL_GS_BASE, true);
  4.         vmx_disable_intercept_for_msr(MSR_IA32_SYSENTER_CS, false);
  5.         vmx_disable_intercept_for_msr(MSR_IA32_SYSENTER_ESP, false);
  6.         vmx_disable_intercept_for_msr(MSR_IA32_SYSENTER_EIP, false);
复制代码
知道的大侠,普及一下,多谢!

论坛徽章:
0
2 [报告]
发表于 2013-05-15 16:33 |只看该作者
对这些寄存器的访问都是属于特权级指令操作,因为对这些寄存器的访问有可能改变整个系统的行为。
正常情况下,hypervisor都会拦截虚拟机的这类操作。
上面的代码顾名思义就是不要要禁止对应的拦截功能了。

论坛徽章:
0
3 [报告]
发表于 2013-05-20 11:03 |只看该作者
多谢!回复 2# leil


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP