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简介相关推荐

  1. Linux驱动:VFIO概述(vfio/iommu/device passthrough)

    <ARM SMMU原理与IOMMU技术("VT-d" DMA.I/O虚拟化.内存虚拟化)> <提升KVM异构虚拟机启动效率:透传(pass-through).DM ...

  2. 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 使用示例 ...

  3. linux开启IOMMU方法

    一.IOMMU简介 IOMMU:input/output memory management unit. 连接DMA io bus和主存,完成从设备虚拟地址到物理地址的映射. 提供对故障设备的内存保护 ...

  4. VFIO - 将 DMA 映射暴露给用户态

    <ARM SMMU原理与IOMMU技术("VT-d" DMA.I/O虚拟化.内存虚拟化)> <提升KVM异构虚拟机启动效率:透传(pass-through).DM ...

  5. Linux内核:VFIO Mediated Device(vfio-mdev)内核文档(翻译)

    <ARM SMMU原理与IOMMU技术("VT-d" DMA.I/O虚拟化.内存虚拟化)> <提升KVM异构虚拟机启动效率:透传(pass-through).DM ...

  6. Linux内核:VFIO 内核文档 (实例,API,bus驱动API)

    <ARM SMMU原理与IOMMU技术("VT-d" DMA.I/O虚拟化.内存虚拟化)> <提升KVM异构虚拟机启动效率:透传(pass-through).DM ...

  7. dpdk:vfio-pci模式下iommu(N+Y)-Huge配置-numa配置

    DPDK大内存页Hugepages配置: Hugepages是DPDK用于提升性能的重要手段. 通过使用Hugepages,可以降低内存页数,减少TLB页表数量,增加TLB hit率. 在Linux上 ...

  8. 中国 Open Source Summit 演讲提案征集

    PART ONE 概 述 2021 年中国 Open Source Summit 提案征集(CFP)现已启动.我们建议您通读左侧菜单的每个选项卡,获取有关要求及提案提交方式的信息.准备提交提案时,请点 ...

  9. Linux阅码场 - Linux内核月报(2020年06月)

    关于Linux内核月报 Linux阅码场 Linux阅码场内核月报栏目,是汇总当月Linux内核社区最重要的一线开发动态,方便读者们更容易跟踪Linux内核的最前沿发展动向. 限于篇幅,只会对最新技术 ...

  10. 转:Virtual Function I/O

    VFIO - "Virtual Function I/O" [1] Many modern system now provide DMA and interrupt remappi ...

最新文章

  1. IT圈,他的牙如此不同
  2. android调小边框距离,RecyclerView Item 的分割线 距边框距离问题总结
  3. jquery配合.NET实现点击指定绑定数据并且能够一键下载
  4. 多线程执行CPU过高问题
  5. GeoServer地图开发解决方案(三):部署地图数据篇
  6. html动画加载效果,CSS3 实现 Loading(加载)动画效果
  7. 美国团购巨头是怎样衰落的
  8. 关于vue自定义事件中,传递参数的一点理解
  9. 使用Spider提取数据(爬取起点中文网)
  10. Android Kotlin关于新增本地数据库对象表字段问题
  11. dsp2812 pmsm foc之中断初始化
  12. 【学习笔记】生物数据库の初步了解
  13. 文件夹重命名导致软件图标不显示问题解决
  14. JavaScript 事件
  15. KUKA库卡机器人零点失效维修案例
  16. Matlab学习手记——牛顿型信頼域法求解无约束问题
  17. 固态硬盘与机械硬盘是否应该一起使用
  18. 百度地图详解使用,显示自己的当前位置BaiduMap
  19. c++笔记(超详细超完整)
  20. FTDI通用转USB芯片简述

热门文章

  1. java pdf 分页_java操作PDF文件,可支持分页、合并、图片转PDF等
  2. 合并报表软件系统_报表难题统统扫除!
  3. (连载)用python在excel中对财务报表项目进行提取和计算
  4. 【离散数学】容斥原理
  5. android 开机动画制作
  6. 软件评测师该如何自学?如何指定计划?
  7. 个人博客网站可以通过写系列连载文章来吸引用户
  8. XP 上金山词霸 占CPU 特别大的问题
  9. Win10安装动易5.9故障记录
  10. VFP开眼看世界的第一眼,就是学会真正的BS开发,走错一步费三年