问题
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 IOMMU mapping
VFIO
SVA
Xen
当在Xen上使用SMMUv3实现设备pass through时,仅限于使用stage2。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
Linux系统
+关注
关注
4文章
590浏览量
27325 -
dma
+关注
关注
3文章
558浏览量
100368
发布评论请先 登录
相关推荐
鸿蒙Stage模型--概述
Stage模型:HarmonyOS 3.1 Develper Preview版本开始新增的模型,是目前主推且会长期演进的模型。在该模型中,由于提供了AbilityStage、WindowStage等
Stage 模型深入解读
设备的迁移和协同机制。本文为大家详细介绍 Stage 模型。 一、Stage 模型概念 应用开发模型是运行在不同 OS 上的抽象结构。OS 通过这种抽象结构,把应用开发的基础设施封装在 OS 内部。开发者通过使用应用开发模型,复用 OS 基础设施的能力,达到高效开发应用的
AD7147只出STAGE0的数值,其他stage的寄存器输出均为0
的值均为0。针对AD7147芯片手册重新配置了一遍AD7147,结果还是依旧,很迷惑。求高手解决!配置描述:寄存器2配置:stage0--CIN0(+)stage1--CIN1
发表于 04-18 20:01
嵌入式系统 Boot Loader技术内幕
都分为 stage1 和 stage2 两大部分。依赖于 CPU 体系结构的代码,比如设备初始化代码等,通常都放在 stage1 中,而且通常都用汇编语言来实现,以达到短小精悍的目的。而 s
发表于 08-13 22:15
ARMv8 MMU translation stages与相关寄存器介绍
;0 stage 1,其它的stage1或stage2都是只支持1个VA ranges。对于支持1
发表于 12-30 16:35
Stage模型深入解读
2、Stage模型能力特点
Stage模型能力示意图
Stage模型的设计,是为了提供给开发者一个更好的开发方式,更好的适用于多设备、分布式场景。
发表于 03-15 10:32
vivi boot loader的实现
vivi boot loader的实现
说明:本文文字结构照抄” 嵌入式系统 Boot Loader 技术内幕, 詹荣开一文,以vivi中head.S作为stage1, main()作为stage2,解释了VIVI for SMDK2410 (based on
发表于 02-09 15:40
•25次下载
two-stage transformer-coupled
two-stage transformer-coupled amplifier双通道变压器耦合放大器电路图
发表于 09-29 21:52
•1474次阅读
GRUB源代码分析
其实总体上我们可以把grub看成一个minios,他有shell,支持script,有文件系统我们可以把stage1,stage1.5看成一个bootloader,而stage2则是一个os,只不过这个os是专门load其他os
发表于 04-03 20:35
•44次下载
Stage模型深入解读
作者:sunbingxin 应用框架架构师 HarmonyOS 3.1版本(API 9)推出了全新应用开发模型-Stage模型,该模型重新定义了应用开发的能力边界,从应用开发模型的角度,支持多窗口
arm架构的虚拟化是什么
为了支持虚拟化,Armv8-A支持两步地址转换,也就是文档常提到的Stage2translation。Stage2转换允许hyperviso
发表于 08-07 14:14
•1909次阅读
评论