【发布时间】:2019-02-21 07:57:58
【问题描述】:
我的理解是,如果一个 PCI 设备想要做 DMA RW,并且 IOMMU 被启用,驱动程序应该通过 pci_map_page 将 CPU PA 映射到一个 DMA 地址(对于非相干),然后 PCI 设备可以使用这个 DMA 地址和IOMMU 会将 DMA 地址转换为 CPU PA。
我的问题是:
- 驱动程序是否可以为给定设备禁用 IOMMU?
- 如果有人通过 bios 禁用 IOMMU,是否意味着任何 CPU PA 都可以直接 DMA RW?
【问题讨论】:
标签: linux linux-kernel pci