2017-01-06 5 views
1

Hallo Ich habe Dokumente gesehen, in denen DMA arbeitet an der physikalischen Adressen. Der DMA-Controller verwendet tatsächlich die physikalische Adresse, um auf die FIFOs zuzugreifen. In einer kürzlichen Diskussion kam die Frage auf, ob wir, wenn wir einen Treiber für DMA implementieren, daran arbeiten, die physische Adresse oder die virtuelle Adresse zu verwenden. In der Diskussion kam auch der Begriff DMA Channel Virtualisierung auf. Hat das etwas mit virtuelle Adressierung als solche zu tun. oder DMA verwendet überhaupt keine virtuelle Adressierung.Was bedeutet die DMA-Channel-Virtualisierung?

Antwort

0

Viele Geräte in diesen Tagen kommen mit Iommu. Dies ermöglicht es der Plattform, einen virtuellen Adressraum für den Peripheriebus zu erzeugen. Dies kann für die Virtualisierung verwendet werden und ist auch nützlich für DMA, wenn ein großer Satz von verstreuten Speicherseiten kopiert wird, ohne die Scatter-Erfassung zu unterstützen.