什么是IOMMU

IOMMU:input/output memory management unit。

Device的IOMMU类似于CPU的MMU。


对IOMMU的支持主要有两个原因,一个是对老设备的支持,另外一个是对scatter/gather的支持。

现有的VMM必须使用模拟设备将来自客户操作系统的驱动程序路由到VMM。这样做是为了管理对共同内存空间的访问,并闲置对内核模式驱动程序的真实设备访问。AMD的IOMMU设计消除了这些限制,提供DMA地址转换、对设备读取和写入的权限检查。有了IOMMU,客户操作系统中一个未经修改的驱动程序可以直接访问它的目标设备,避免了通过VMM运行产生的开销以及设备模拟。VMM将能够利用IOMMU硬件从运行在客户操作系统上的软件对物理设备的更快速、更直接以及更安全的访问。

IOMMU还加入了对虚拟化的支持:DMA Remapping和Interrupt Remapping。


IOMMU需要CPU支持,并在主板中启用。

AMD has published a specification for IOMMU technology in the HyperTransport architecture.

Intel has published a specification for IOMMU technology as Virtualization Technology for Directed I/O, abbreviated VT-d.

如果是intel cpu, 在linux下通过命令“dmesg | grep -e DMAR -e IOMMU”查看是否打开IOMMU。

如果是AMD CPU,则执行命令:dmesg | grep AMD-Vi


  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值