软件使用SMMUv3的stage1还是stage2地址转换

电子说

1.3w人已加入

描述

问题

SMMUv3硬件可以设计为:

只有stage1地址转换支持

只用stage2地址转换支持

既支持stage1又支持stage2

那软件怎么使用stage1和stage2的呢?

回答

这取决于软件的使用场景。

Linux Kernel

如果SMMUv3硬件只支持stage1或只支持stage2,那么支持的stage可以用于Linux的DMA-IOMMU和VFIO的场景。在Shared Virtual Address (SVA)场景下,必须使用stage1。因而,只支持stage2的SMMUv3 hardware无法使用在SVA场景。

如果SMMUv3硬件既支持stage1又支持stage2,下表展示了不同场景下stage的使用情况:

dma

DMA IOMMU mapping

dma

VFIO

dma

SVA

dma

Xen

当在Xen上使用SMMUv3实现设备pass through时,仅限于使用stage2。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分