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

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

3天内不再提示

SMMU数据结构格式

jf_78858299 来源:芯片验证工程师 作者: 验证哥布林 2023-04-28 11:48 次阅读

就是SMMU Level 1 Stream Table Descriptor的数据格式,简称 Level1 STD

  • **[4:0] Span(跨度) **

    描述Level2 STE数组的大小和L2Ptr的有效性。

    如上图,当

  • Span为0,表明该STD是无效的,需要上报异常。

  • Span为1-11,表明该STD底下的Level STE包含2^(Span-1)个STEs

Span为12-31,Reserved,也需要上报异常。

Span必须在0到 (SMMU_STRTAB_BASE_CFG.SPLIT + 1) 的范围内,即它必须保持在Stream table split point的范围内。

传入事务StreamID所对应的STD Span如果设置为

Span == 0

Span == Reserved value

Span out of bounds value given the split point

select a valid Level 1 descriptor but are outside of the level 2 range

都会视为无效。

  • [51:6] L2Ptr

指向Level-2 STE的起始位置。L2Ptr[N:0]被SMMU视为0,其中

N == 5 + (Span - 1)

因此,SMMU将Level-2 STE的起始地址对齐到其大小。在SMMUv3.0中, L2Ptr [51:48]是RES0。超出OAS或物理地址的行为是会上报异常的。

所有导致 Stream table lookup未到达有效STE的事务都会终止,上报异常并可以记录事件 C_BAD_STREAMID (根据SMMU_(S_)CR2.RECINVSID设置)

当L1STD更改时, non-leaf CMD_CFGI_STE是使L1STD条目失效所需的最小范围invalidate命令。根据更改情况,也可能需要其他STE失效,例如:

  • 将Span == 0的inactive L1STD更改为non-zero active Span(引入新的部分Level-2 STE)仅需要使L1STD失效。
  • 将Span != 0的active L1STD更改为inactive L1STD需要使L1STD以及受影响的缓存的STE失效。需要多个non-leaf CMD_CFGI_STE命令或更广泛的命令,如CMD_CFGI_STE_RANGE或CMD_CFGI_ALL。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STD
    STD
    +关注

    关注

    0

    文章

    35

    浏览量

    14238
  • 数据格式
    +关注

    关注

    0

    文章

    26

    浏览量

    8806
收藏 人收藏

    评论

    相关推荐

    什么是数据结构(Data Structrue)

    什么是数据结构(Data Structrue) 一 名词术语数据:描述客观事物的数字,字符以及一切能够输入到计算机中,并且能够被计算机程序处理的符号的集合。数据元素:数据这个
    发表于 02-09 17:17

    数据结构

    1.数据结构的概念 所谓数据结构是指由某一数据对象及该对象中所有数据成员之间的关系组成的集合。成员之间的关系有很多种,最常见的是前后件关系。 2.
    发表于 03-04 14:13

    大话数据结构pdf下载

    大话数据结构是一本很值得初学者看的编程书籍,用简单的语言然人深刻的理解数据结构,强烈程序员推荐下载收藏,下面是部分内容预览: 完整的pdf格式电子书下载: 《大话数据结构》.pdf
    发表于 07-04 00:33

    常见的数据结构

    `数据结构在实际应用中非常常见,现在各种算法基本都牵涉到数据结构,因此,掌握数据结构算是软件工程师的必备技能。一、什么是数据结构数据结构,直
    发表于 05-10 07:58

    数据结构链表的基本操作

    嵌入式学习基础-数据结构链表的基本操作链表节点采用结构体的方式进行定义,下面是最基础的定义只有一个数据data,*pNext用于指向下一个节点(若为尾节点则指向NULL)。//链表节点struct
    发表于 12-22 08:05

    数据结构教程,下载

    1. 数据结构的基本概念 2. 算法与数据结构3. C语言的数据类型及其算法描述要点4. 学习算法与数据结构的意义与方法
    发表于 05-14 17:22 0次下载
    <b class='flag-5'>数据结构</b>教程,下载

    什么是数据结构

    什么是数据结构 1、数据类型和数据结构·数据值:atomic data value: 不可再分解。如3、2、5等。nonatomicdata value: 可以再分解,其成分称为
    发表于 08-13 13:56 1559次阅读

    数据结构在游戏编写中的应用

    在游戏的编写中,不可避免的出现很多应用数据结构的地方,有些简单的游戏,只是由几个 数据结构 的组合,所以说,数据结构在游戏编程中扮演着很重要的角色。 本文主要讲述数据
    发表于 07-25 16:26 0次下载

    数据结构与算法

    全国C语言考试公共基础知识点——数据结构与算法,该资料包含了有关数据结构与算法的全部知识点。
    发表于 03-30 14:27 0次下载

    数据结构

    数据结构PPT教程
    发表于 02-27 16:43 0次下载

    数据结构是什么_数据结构有什么用

    数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高
    发表于 11-17 14:45 1.6w次阅读
    <b class='flag-5'>数据结构</b>是什么_<b class='flag-5'>数据结构</b>有什么用

    什么是数据结构?为什么要学习数据结构数据结构的应用实例分析

    本文档的主要内容详细介绍的是什么是数据结构?为什么要学习数据结构数据结构的应用实例分析包括了:数据结构在串口通信当中的应用,数据结构在按键
    发表于 09-26 15:45 14次下载
    什么是<b class='flag-5'>数据结构</b>?为什么要学习<b class='flag-5'>数据结构</b>?<b class='flag-5'>数据结构</b>的应用实例分析

    arm smmu的原理

    的作用就是替设备将dma请求的地址,翻译成设备真正能用的物理地址,但是当smmu bypass的时候,设备也可以直接使用物理地址来进行dma; 1.2: smmu数据结构 smmu
    的头像 发表于 10-09 10:43 3283次阅读
    arm <b class='flag-5'>smmu</b>的原理

    SMMU数据结构格式之Stream Table Entry...V和Config介绍

    更新一个valid STE时需要非常小心,因为此时SMMU可能会访问这个STE数据,这其中存在着“竞争race”。
    的头像 发表于 05-04 10:15 799次阅读
    <b class='flag-5'>SMMU</b><b class='flag-5'>数据结构</b><b class='flag-5'>格式</b>之Stream Table Entry...V和Config介绍

    SMMU数据结构格式之Level 1 Stream Table Descriptor介绍

    上图就是SMMU Level 1 Stream Table Descriptor的数据格式,简称Level1 STD。
    的头像 发表于 05-06 14:44 537次阅读
    <b class='flag-5'>SMMU</b><b class='flag-5'>数据结构</b><b class='flag-5'>格式</b>之Level 1 Stream Table Descriptor介绍