就是SMMU Level 1 Stream Table Descriptor的數(shù)據(jù)格式,簡(jiǎn)稱 Level1 STD 。
-
**[4:0] Span(跨度) **
描述Level2 STE數(shù)組的大小和L2Ptr的有效性。
如上圖,當(dāng)
-
Span為0,表明該STD是無(wú)效的,需要上報(bào)異常。
-
Span為1-11,表明該STD底下的Level STE包含2^(Span-1)個(gè)STEs
Span為12-31,Reserved,也需要上報(bào)異常。
Span必須在0到 (SMMU_STRTAB_BASE_CFG.SPLIT + 1) 的范圍內(nèi),即它必須保持在Stream table split point的范圍內(nèi)。
傳入事務(wù)StreamID所對(duì)應(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
都會(huì)視為無(wú)效。
- [51:6] L2Ptr
指向Level-2 STE的起始位置。L2Ptr[N:0]被SMMU視為0,其中
N == 5 + (Span - 1)
因此,SMMU將Level-2 STE的起始地址對(duì)齊到其大小。在SMMUv3.0中, L2Ptr [51:48]是RES0。超出OAS或物理地址的行為是會(huì)上報(bào)異常的。
所有導(dǎo)致 Stream table lookup未到達(dá)有效STE的事務(wù)都會(huì)終止,上報(bào)異常并可以記錄事件 C_BAD_STREAMID (根據(jù)SMMU_(S_)CR2.RECINVSID設(shè)置)
當(dāng)L1STD更改時(shí), non-leaf CMD_CFGI_STE是使L1STD條目失效所需的最小范圍invalidate命令。根據(jù)更改情況,也可能需要其他STE失效,例如:
-
STD
+關(guān)注
關(guān)注
0文章
39瀏覽量
14717 -
數(shù)據(jù)格式
+關(guān)注
關(guān)注
0文章
31瀏覽量
9191
發(fā)布評(píng)論請(qǐng)先 登錄
數(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)用詳細(xì)資料概述免費(fèi)下載
什么是數(shù)據(jù)結(jié)構(gòu)?為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)?數(shù)據(jù)結(jié)構(gòu)的應(yīng)用實(shí)例分析
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)
SMMU數(shù)據(jù)結(jié)構(gòu)格式
評(píng)論