linux-如何在kvm中完成设备仿真
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux-如何在kvm中完成设备仿真,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1339字,纯文字阅读大概需要2分钟。
内容图文
![linux-如何在kvm中完成设备仿真](/upload/InfoBanner/zyjiaocheng/949/58c79cf6a1634305a028030a797c6ec1.jpg)
我知道qemu-kvm在KVM中进行设备仿真. qemu-kvm是否在主机的用户空间中执行?因此,当遇到踢动功能时,它会通过对系统管理程序的超级调用退出虚拟机,然后系统管理程序移交给
主机用户空间中的qemu-kvm.做完所需的下一步
事情,qemu-kvm过渡到管理程序,然后
系统管理程序返回到VM.所以这意味着有两个系统调用
从VM->超级管理程序和qemu-kvm->超级管理程序?这些步骤是
那发生了还是我错了?是否有关于的文件
这些东西,请给我链接.非常感谢你…
谢谢,
巴拉
解决方法:
我对KVM在x86架构上工作的部分更为熟悉,因此请尝试在KVM的x86实现中对此进行解释.
在x86架构中,KVM利用CPU的功能来分隔虚拟机管理程序和访客模式.用英特尔的术语来说,它们分别是VMX根模式和非根模式.
KVM使用VMLAUNCH指令触发VM条目(管理程序-> VM),所有来宾需要的信息均以内核模式填充在CPU的VMCS中.从qemu-kvm到kvm内核模块仅调用系统调用.
当来宾操作系统正在处理超出其权限的操作(例如访问物理硬件或发生中断)时,VM退出.之后,发出VM条目,CPU再次更改为非root用户模式以执行来宾代码.总之,VM退出(VM→管理程序)由硬件自动完成,并且相应的退出原因和信息将在VMCS中重新记录.然后,KVM检查VMCS以确定下一步.没有针对VM的系统调用->管理程序.
大多数设备仿真都基于用户空间,其中qemu-kvm可以利用现有的qemu代码.但是,某些设备直通技术(例如Intel VT-d)允许来宾直接通过IOMMU或其他设备访问硬件.这可以带来更强大的性能,尤其是在高速网络设备上.
如果要挖掘源代码,建议您首先关注位于linux / arch / x86 / kvm / vmx.c中的CPU虚拟化(Intel VT-x).英特尔软件开发人员指南也对VT进行了全面介绍.
内容总结
以上是互联网集市为您收集整理的linux-如何在kvm中完成设备仿真全部内容,希望文章能够帮你解决linux-如何在kvm中完成设备仿真所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。