就是SMMU Level 1 Stream Table Descriptor的數(shù)據(jù)格式,簡稱 Level1 STD 。
-
**[4:0] Span(跨度) **
描述Level2 STE數(shù)組的大小和L2Ptr的有效性。
如上圖,當(dāng)
-
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) 的范圍內(nèi),即它必須保持在Stream table split point的范圍內(nèi)。
傳入事務(wù)StreamID所對應(yīng)的STD Span如果設(shè)置為
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或物理地址的行為是會上報異常的。
所有導(dǎo)致 Stream table lookup未到達有效STE的事務(wù)都會終止,上報異常并可以記錄事件 C_BAD_STREAMID (根據(jù)SMMU_(S_)CR2.RECINVSID設(shè)置)
當(dāng)L1STD更改時, non-leaf CMD_CFGI_STE是使L1STD條目失效所需的最小范圍invalidate命令。根據(jù)更改情況,也可能需要其他STE失效,例如:
-
STD
+關(guān)注
關(guān)注
0文章
36瀏覽量
14531 -
數(shù)據(jù)格式
+關(guān)注
關(guān)注
0文章
31瀏覽量
9038
發(fā)布評論請先 登錄
數(shù)據(jù)結(jié)構(gòu)
大話數(shù)據(jù)結(jié)構(gòu)pdf下載
數(shù)據(jù)結(jié)構(gòu)鏈表的基本操作
數(shù)據(jù)結(jié)構(gòu)教程,下載

什么是數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)與算法
數(shù)據(jù)結(jié)構(gòu)是什么_數(shù)據(jù)結(jié)構(gòu)有什么用

為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)?數(shù)據(jù)結(jié)構(gòu)的應(yīng)用詳細資料概述免費下載

什么是數(shù)據(jù)結(jié)構(gòu)?為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)?數(shù)據(jù)結(jié)構(gòu)的應(yīng)用實例分析

arm smmu的原理

SMMU數(shù)據(jù)結(jié)構(gòu)格式之Stream Table Entry...V和Config介紹

SMMU數(shù)據(jù)結(jié)構(gòu)格式之Level 1 Stream Table Descriptor介紹

NetApp的數(shù)據(jù)結(jié)構(gòu)是如何演變的

epoll的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)

評論