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

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

3天内不再提示

ARM SMMU Data structures概述

芯片验证工程师 来源:芯片验证工程师 2023-05-08 12:46 次阅读

ARM SMMU 是一种用于系统级内存管理单元(MMU)的架构,它支持基于translation表中的地址映射和内存属性信息的地址转换。

SMMU使用一组内存中的data structures来获取进一步translation需要的数据。

初始root structure(Stream Table)的base addresses在寄存器中保存。

884e89ae-ed55-11ed-90ce-dac502259ad0.jpg

一个Stream table entry (STE)包含stage 2 translation table的基指针,也可以包含stage 1 configuration structures(Context descriptor,其中包含stage 1)的基指针。

Context descriptor (CD)用于stage 1 translation

Stream table entry用于stage 2 translation。

因此,SMMU使用了两组不同的structures:

• Configuration structures,它们将事务的StreamID映射到translation table base pointers、configuration和context,这些是访问translation tables时需要用到的。

• Translation table structures,它们用于分别对stage 1(VA到IPA)和stage 2(IPA到PA)的地址进行转换。

SMMU处理一个输入事务的第一步是找到该事务所需的配置STE(由其StreamID和可选的SubstreamID标识)。从概念上讲,一个STE描述了一个client device的配置,指明它是否需要进行stage 1或stage 2 translation或两者都需要。

多个devices可以与一个Virtual Machine关联,因此多个STE可以共享相同的stage 2 Translation table。

多个devices(严格地说,是streams)可能共享相同的stage 1配置,因此多个STE可以共享相同的CD。

最后,使用该配置来找到Translation table structures。

审核编辑:汤梓红

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

    关注

    134

    文章

    9043

    浏览量

    366738
  • 内存
    +关注

    关注

    8

    文章

    2997

    浏览量

    73872
  • 指针
    +关注

    关注

    1

    文章

    479

    浏览量

    70506
  • 内存管理
    +关注

    关注

    0

    文章

    168

    浏览量

    14123
  • MMU
    MMU
    +关注

    关注

    0

    文章

    91

    浏览量

    18263

原文标题:ARM SMMU Data structures概述

文章出处:【微信号:芯片验证工程师,微信公众号:芯片验证工程师】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Algorithms and Data Structures The Science of Computing

    Algorithms and Data Structures The Science of Computing - Douglas Baldwin
    发表于 03-28 16:29

    ARM系列之SMMU总线资料合集

    SMMU的高级功能上篇我们介绍了SMMU的基本结构和用法,本篇讲一下SMMU的高级功能。在ARM64体系结构中,SMMU几乎可以放在总线互
    发表于 04-11 15:58

    多个设备是否可以共用一个SMMU StreamID?

    ;__iommu_probe_device->arm_smmu_probe_device->arm_smmu_insert_masterarm_smmu_insert_master将这些
    发表于 11-07 15:36

    SMMU学习这一篇就够了

    前言最近朋友圈、微信群( ARM-Trustzone-TEE-AT)掀起一阵学习SMMU的热潮,作为一名安全领域的渣渣 ,势必要蹭一蹭这个“热点”,也学习一下吧,反正早晚都要学,因为它和安全的关系
    发表于 02-23 17:11

    RK3588 ubunutu pcie虚拟化的SMMU配置在哪里修改呢?

    信息:  2. DTS配置  2.1 SMMU配置  compatible = “armsmmu-v3”;
    发表于 03-13 14:32

    ARM系统内存管理单元架构规范SMMU架构2.0版

    ARM系统MMU(SMMU)体系结构为存储器管理单元(MMU)实施提供了灵活的实施框架,具有多个实施定义的选项。 该体系结构可用于系统级的MMU。 它基于转换表中保存的地址映射和内存属性信息,支持从
    发表于 08-12 06:25

    Proteus在MCS&ARM中的应用之Data_Sorting

    【好程序系列】Proteus在MCS&ARM中的应用之Data Sorting
    发表于 01-19 17:10 8次下载

    ARM720T DATA

    ARM720T DATA
    发表于 10-25 14:07 5次下载
    <b class='flag-5'>ARM</b>720T <b class='flag-5'>DATA</b>

    arm smmu的原理

    1: arm smmu的原理 1.1: smmu 基本知识 如上图所示,smmu 的作用和mmu 类似,mmu作用是替cpu翻译页表将进程的虚拟地址转换成cpu可以识别的物理地址。同理
    的头像 发表于 10-09 10:43 4299次阅读
    <b class='flag-5'>arm</b> <b class='flag-5'>smmu</b>的原理

    arm smmu的原理与smmu驱动iommu框架

    如上图所示,smmu 的作用和mmu 类似,mmu作用是替cpu翻译页表将进程的虚拟地址转换成cpu可以识别的物理地址。同理,smmu的作用就是替设备将dma请求的地址,翻译成设备真正能用的物理地址,但是当smmu bypass
    的头像 发表于 10-09 10:48 6093次阅读
    <b class='flag-5'>arm</b> <b class='flag-5'>smmu</b>的原理与<b class='flag-5'>smmu</b>驱动iommu框架

    SMMU数据结构格式

    就是SMMU Level 1 Stream Table Descriptor的数据格式,简称 **Level1 STD** 。
    的头像 发表于 04-28 11:48 915次阅读

    ARM SMMU具有三种接口供软件使用

    Memory-based data structures 用于将devices映射到用于地址转换的 translation tables。
    发表于 05-08 09:18 538次阅读

    ARM SMMU Data structure之Context Descriptors

    是否进行stage 1 translation,获取stage 1 translation tables的配置。
    的头像 发表于 05-11 09:10 919次阅读
    <b class='flag-5'>ARM</b> <b class='flag-5'>SMMU</b> <b class='flag-5'>Data</b> structure之Context Descriptors

    ARM SMMU Data structures之Stream Table

    incoming transaction的StreamID可以找到一个STE。SMMU支持两种Stream table格式,格式由Stream table base registers设置。
    的头像 发表于 05-11 09:22 1274次阅读
    <b class='flag-5'>ARM</b> <b class='flag-5'>SMMU</b> <b class='flag-5'>Data</b> <b class='flag-5'>structures</b>之Stream Table

    SMMU VA-&gt;PA的转换流程介绍

    如果SMMU全局禁用(例如,刚结束复位SMMU_CR0.SMMUEN == 0),则transaction将通过SMMU而不进行任何地址转换。
    的头像 发表于 05-15 10:07 911次阅读
    <b class='flag-5'>SMMU</b> VA-&gt;PA的转换流程介绍