DMA 通道虚拟化是什么意思?

What does DMA Channel virtualization mean?

您好,我看到了 DMA 在 物理地址 上工作的文档。在那 DMA 控制器实际上是使用物理地址来访问 FIFO。在最近的讨论中提出了一个问题,即当我们为 DMA 实现驱动程序时,它是否适用于物理地址或虚拟地址。在讨论中,术语 DMA 通道虚拟化 也出现了。这与 虚拟寻址 本身有什么关系吗?或者 DMA 根本不使用虚拟寻址。

现在很多设备都带有 iommu。这允许 paltform 为外设总线创建一个虚拟地址 space。这可用于虚拟化,在不支持分散收集的情况下复制大量分散的内存页面时,对于 DMA 也很有用。