VFIO IOMMU简介
1 没有vIOMMU时
在没有使能vIOMMU时,在Guest中设备使用的是GPA(Guest物理地址),通过VFIO在物理IOMMU中建立起GPA到HPA(Host物理地址)的映射,当设备访问GPA时IOMMU将GPA转换成对HPA的访问。
更详细的例子可以看如下所示:
这里更详细描述步骤:
(1)在Guest中vCPU进行IO请求;
(2)分配DMA buffer,建立DMA映射(GPA->HPA);
(3)设备使用GPA进行虚拟DMA请求;
(4)最终设备使用GPA访问到IOMMU;
(5)IOMMU将GPA转化为HPA,并最终通过HPA访问到内存
2 存在vIOMMU时
在使能vIOMMU时,在Guest中设备使用IOVA通过vIOMMU转化到GPA,此为stage1转换,虽然由vIOMMU实现,但其实还是在物理IOMMU中;GPA由VFIO转化为HPA,此为stage2转换,这也是在物理IOMMU中。
VFIO IOMMU简介相关推荐
- Linux驱动:VFIO概述(vfio/iommu/device passthrough)
<ARM SMMU原理与IOMMU技术("VT-d" DMA.I/O虚拟化.内存虚拟化)> <提升KVM异构虚拟机启动效率:透传(pass-through).DM ...
- vfio概述(vfio/iommu/device passthrough)
文章目录 1.IOMMU 1.1 IOMMU功能简介 1.2 IOMMU作用 1.3 IOMMU工作原理 1.4 Source Identifier 2.VFIO 2.1 概念介绍 2.2 使用示例 ...
- linux开启IOMMU方法
一.IOMMU简介 IOMMU:input/output memory management unit. 连接DMA io bus和主存,完成从设备虚拟地址到物理地址的映射. 提供对故障设备的内存保护 ...
- VFIO - 将 DMA 映射暴露给用户态
<ARM SMMU原理与IOMMU技术("VT-d" DMA.I/O虚拟化.内存虚拟化)> <提升KVM异构虚拟机启动效率:透传(pass-through).DM ...
- Linux内核:VFIO Mediated Device(vfio-mdev)内核文档(翻译)
<ARM SMMU原理与IOMMU技术("VT-d" DMA.I/O虚拟化.内存虚拟化)> <提升KVM异构虚拟机启动效率:透传(pass-through).DM ...
- Linux内核:VFIO 内核文档 (实例,API,bus驱动API)
<ARM SMMU原理与IOMMU技术("VT-d" DMA.I/O虚拟化.内存虚拟化)> <提升KVM异构虚拟机启动效率:透传(pass-through).DM ...
- dpdk:vfio-pci模式下iommu(N+Y)-Huge配置-numa配置
DPDK大内存页Hugepages配置: Hugepages是DPDK用于提升性能的重要手段. 通过使用Hugepages,可以降低内存页数,减少TLB页表数量,增加TLB hit率. 在Linux上 ...
- 中国 Open Source Summit 演讲提案征集
PART ONE 概 述 2021 年中国 Open Source Summit 提案征集(CFP)现已启动.我们建议您通读左侧菜单的每个选项卡,获取有关要求及提案提交方式的信息.准备提交提案时,请点 ...
- Linux阅码场 - Linux内核月报(2020年06月)
关于Linux内核月报 Linux阅码场 Linux阅码场内核月报栏目,是汇总当月Linux内核社区最重要的一线开发动态,方便读者们更容易跟踪Linux内核的最前沿发展动向. 限于篇幅,只会对最新技术 ...
- 转:Virtual Function I/O
VFIO - "Virtual Function I/O" [1] Many modern system now provide DMA and interrupt remappi ...
最新文章
- IT圈,他的牙如此不同
- android调小边框距离,RecyclerView Item 的分割线 距边框距离问题总结
- jquery配合.NET实现点击指定绑定数据并且能够一键下载
- 多线程执行CPU过高问题
- GeoServer地图开发解决方案(三):部署地图数据篇
- html动画加载效果,CSS3 实现 Loading(加载)动画效果
- 美国团购巨头是怎样衰落的
- 关于vue自定义事件中,传递参数的一点理解
- 使用Spider提取数据(爬取起点中文网)
- Android Kotlin关于新增本地数据库对象表字段问题
- dsp2812 pmsm foc之中断初始化
- 【学习笔记】生物数据库の初步了解
- 文件夹重命名导致软件图标不显示问题解决
- JavaScript 事件
- KUKA库卡机器人零点失效维修案例
- Matlab学习手记——牛顿型信頼域法求解无约束问题
- 固态硬盘与机械硬盘是否应该一起使用
- 百度地图详解使用,显示自己的当前位置BaiduMap
- c++笔记(超详细超完整)
- FTDI通用转USB芯片简述