0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

冬至子 来源:修志龙_ZenonXiu 作者:修志龙_ZenonXiu 2023-05-23 17:28 次阅读

问题

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

image.png

VFIO

image.png

SVA

image.png

Xen

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

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

    关注

    4

    文章

    590

    浏览量

    27325
  • dma
    dma
    +关注

    关注

    3

    文章

    558

    浏览量

    100368
收藏 人收藏

    评论

    相关推荐

    鸿蒙Stage模型--概述

    Stage模型:HarmonyOS 3.1 Develper Preview版本开始新增的模型,是目前主推且会长期演进的模型。在该模型中,由于提供了AbilityStage、WindowStage等
    的头像 发表于 01-29 13:59 1207次阅读
    鸿蒙<b class='flag-5'>Stage</b>模型--概述

    Stage 模型深入解读

    设备的迁移和协同机制。本文为大家详细介绍 Stage 模型。 一、Stage 模型概念 应用开发模型是运行在不同 OS 上的抽象结构。OS 通过这种抽象结构,把应用开发的基础设施封装在 OS 内部。开发者通过使用应用开发模型,复用 OS 基础设施的能力,达到高效开发应用的
    的头像 发表于 02-18 09:28 1065次阅读
    <b class='flag-5'>Stage</b> 模型深入解读

    鸿蒙OS开发案例:【Stage模型卡片】

    本示例展示了Stage模型卡片提供方的创建与使用。
    的头像 发表于 04-09 17:13 930次阅读
    鸿蒙OS开发案例:【<b class='flag-5'>Stage</b>模型卡片】

    Buck Power Stage

    Buck Power Stage
    发表于 08-14 12:59

    Boost Power Stage

    Boost Power Stage
    发表于 08-14 13:00

    AD7147只出STAGE0的数值,其他stage的寄存器输出均为0

    的值均为0。针对AD7147芯片手册重新配置了一遍AD7147,结果还是依旧,很迷惑。求高手解决!配置描述:寄存器2配置:stage0--CIN0(+)stage1--CIN1
    发表于 04-18 20:01

    嵌入式系统 Boot Loader技术内幕

    都分为 stage1stage2 两大部分。依赖于 CPU 体系结构的代码,比如设备初始化代码等,通常都放在 stage1 中,而且通常都用汇编语言来实现,以达到短小精悍的目的。而 s
    发表于 08-13 22:15

    ARMv8 MMU translation stages与相关寄存器介绍

    ;0 stage 1,其它的stage1stage2都是只支持1个VA ranges。对于支持1
    发表于 12-30 16:35

    Stage模型深入解读

    2Stage模型能力特点 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次阅读
    two-<b class='flag-5'>stage</b> transformer-coupled

    m3 line stage left channel cir

    m3 line stage left channel circuit
    发表于 09-08 21:48 2077次阅读
    m<b class='flag-5'>3</b> line <b class='flag-5'>stage</b> left channel cir

    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模型,该模型重新定义了应用开发的能力边界,从应用开发模型的角度,支持多窗口
    的头像 发表于 03-16 13:35 858次阅读

    arm架构的虚拟化是什么

    为了支持虚拟化,Armv8-A支持两步地址转换,也就是文档常提到的Stage2translation。Stage2转换允许hyperviso
    发表于 08-07 14:14 1909次阅读
    arm架构的虚拟化是什么