吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SMMU VA->PA的轉換流程介紹

芯片驗證工程師 ? 來源:芯片驗證工程師 ? 2023-05-15 10:07 ? 次閱讀

47140728-f153-11ed-90ce-dac502259ad0.png

一筆輸入的transaction會經過以下幾個邏輯步驟:

1. 如果SMMU全局禁用(例如,剛結束復位SMMU_CR0.SMMUEN == 0),則transaction將通過SMMU而不進行任何地址轉換。全局屬性,例如 memory type或Shareability,可能從SMMU的SMMU_GBPA寄存器應用,或者SMMU_GBPA寄存器可以配置為abort所有transactions

2. 如果SMMU沒有全局禁用或者全局bypass,則首先確定VA->PA轉換的配置:

?索引到STE。

?如果STE啟用了stage2轉換,則STE包含stage2 translation table base。

?如果STE啟用了stage1轉換,則繼續索引CD。如果STE啟用了stage2轉換,則從IPA空間獲取CD,否則從PA空間獲取CD。

3. 如果配置有效(STE+CD),則執行VA->PA轉換。

?如果配置了stage1轉換,則CD包含一個translation table base,否則bypass stage1轉換,并將輸入地址直接提供給stage2。

?如果配置了stage2轉換,則STE包含一個translation table base用于stage2(輸入可能是VA,也可能是stage1的輸出IPA)。如果沒有配置stage2,則輸入就會直接作為輸出地址(bypass)。

4. 具有有效配置且在VA->PA轉換過程中未發生fault的transaction將輸出地址以及memory attributes。

上面步驟展示了Non-secure stream transaction 處理的流程,如果支持 Secure stream,則流程也是類似的。過程中使用到的寄存器有所區別:

SMMU_S_CR0.SMMUEN

SMMU_S_GBPA

實現可能會根據需要cache這些步驟中的任何數據。此外,在處理過程中的幾個stage可能會發生 fault。如果transaction未能找到有效配置,則會

terminated with an abort, and an event might be recorded。

如果transaction進展到transaction(已經找到了有效的配置),則fault可能出現在transaction的任一stage。如果發生了fault,其后的行為取決于使用的CD和STE的配置,確定是否terminated或者stalled。





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5363

    瀏覽量

    121196
  • STE
    STE
    +關注

    關注

    0

    文章

    8

    瀏覽量

    9284
  • cache技術
    +關注

    關注

    0

    文章

    41

    瀏覽量

    1087

原文標題:SMMU VA->PA的轉換流程

文章出處:【微信號:芯片驗證工程師,微信公眾號:芯片驗證工程師】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    va_start和va_end使用詳解

    本文主要介紹va_start和va_end的使用及原理。  在以前的一篇帖子Format MessageBox 詳解中曾使用到va_start和va
    發表于 02-10 10:38

    ARM系列之SMMU總線資料合集

    SMMU的高級功能上篇我們介紹SMMU的基本結構和用法,本篇講一下SMMU的高級功能。在ARM64體系結構中,SMMU幾乎可以放在總線互
    發表于 04-11 15:58

    對硬件虛擬化及其相關邏輯進行羅列與理解

    Memory空間時,獲取到其虛擬地址,同時在Memory內建立頁表,也就是VA-&;gt;PA的映射關系;釋放Memory空間時,則對應為刪除頁表關系。為加快地址轉換流程,MMU
    發表于 07-04 15:48

    多個設備是否可以共用一個SMMU StreamID?

    ;__iommu_probe_device->arm_smmu_probe_device-&;gt;arm_smmu_inser
    發表于 11-07 15:36

    SMMU學習這一篇就夠了

    預留連續的memory,如果Master需要很多memory,可以通過SMMU把一些非連續的PA映射到連續的VA,例如給DMA,VPU,DPU使用。32位轉換成64位 現在很多系統是6
    發表于 02-23 17:11

    Arm CoreLink MMU?700系統內存管理單元技術參考手冊

    ?700可以執行: ?將輸入虛擬地址(VA轉換為輸出物理地址(PA)或中間物理地址(IPA)的第1階段轉換?將輸入IPA轉換為輸出
    發表于 08-08 07:44

    ARM CORELINK?MMU-600AE系統內存管理單元技術參考手冊

    的階段。MMU-600AE可以執行以下操作: ·階段1轉換,將輸入虛擬地址(VA)轉換為輸出物理地址(PA)或中間物理地址(IPA)。 ·階段2翻譯,將輸入IPA
    發表于 08-09 06:28

    ARM系統內存管理單元架構規范SMMU架構2.0版

    : ·操作系統為其自身的內存訪問以及在其下運行的應用程序的訪問定義轉換表。 它這樣做是因為它認為它將處理器使用的虛擬地址(VA)映射到物理內存系統中的物理地址(PA)。 但是,它實際上定義了中間物理地址(IPA)內存映射中的地址
    發表于 08-12 06:25

    synopsys&Mentor設計流程

    synopsys & Mentor 設計流程免費下載。
    發表于 07-08 11:37 ?72次下載

    arm smmu的原理

    1: arm smmu的原理 1.1: smmu 基本知識 如上圖所示,smmu 的作用和mmu 類似,mmu作用是替cpu翻譯頁表將進程的虛擬地址轉換成cpu可以識別的物理地址。同理
    的頭像 發表于 10-09 10:43 ?4545次閱讀
    arm <b class='flag-5'>smmu</b>的原理

    arm smmu的原理與smmu驅動iommu框架

    如上圖所示,smmu 的作用和mmu 類似,mmu作用是替cpu翻譯頁表將進程的虛擬地址轉換成cpu可以識別的物理地址。同理,smmu的作用就是替設備將dma請求的地址,翻譯成設備真正能用的物理地址,但是當
    的頭像 發表于 10-09 10:48 ?6391次閱讀
    arm <b class='flag-5'>smmu</b>的原理與<b class='flag-5'>smmu</b>驅動iommu框架

    通過處理器中的MMU進行VA-PA轉換

    操作系統內核將每個應用程序的指令和數據放在物理內存中,但是應用程序并不是直接通過物理地址讀寫這些指令和數據。簡單來說,就是通過MMU進行VA-PA轉換,這讓程序設計變得簡單很多。
    的頭像 發表于 07-28 18:06 ?2214次閱讀
    通過處理器中的MMU進行<b class='flag-5'>VA-PA</b><b class='flag-5'>轉換</b>

    SMMU數據結構格式

    就是SMMU Level 1 Stream Table Descriptor的數據格式,簡稱 **Level1 STD** 。
    的頭像 發表于 04-28 11:48 ?1015次閱讀

    ARM SMMU Data structures概述

    ARM SMMU 是一種用于系統級內存管理單元(MMU)的架構,它支持基于translation表中的地址映射和內存屬性信息的地址轉換
    的頭像 發表于 05-08 12:46 ?1067次閱讀
    ARM <b class='flag-5'>SMMU</b> Data structures概述

    你使用shell腳本中的2&amp;gt;&amp;amp;1了嗎?

    run_cmax &gt; ./starrc_cmax.logs 2&gt;&amp;1中的 2&gt;&amp;1是啥意思?
    的頭像 發表于 07-30 14:44 ?1999次閱讀
    绥芬河市| 免费百家乐官网在线| 任我赢百家乐官网软件| tt娱乐城备用网| 皇冠足球投注| 真人百家乐免费开户送钱| 百家乐官网大小是什么| 百家乐必赢法冯耘| 百家乐官网椅子| bet365备用器下载| 现金百家乐人气最高| 成武县| 大发888更名网址622| 网上百家乐真实吗| 百家乐官网分析仪有真的吗| k7娱乐城| 嘉兴太阳城大酒店| 金公主百家乐现金网| 金博士百家乐官网娱乐城| 宾利娱乐城| 大发888玩哪个能赢钱| 澳门百家乐然后赢| 赌场百家乐官网的玩法技巧和规则| 百家乐网上赌场| 属羊的和属猪的做生意| 网上百家乐官网哪里好| 十堰市| 明升国际网址| 皇冠正网| 真人娱乐场| 德州扑克教程| 做生意门朝东好吗| 送58百家乐官网的玩法技巧和规则 | 盈得利百家乐娱乐城| 娱乐百家乐官网下载| 玩百家乐官网凤凰娱乐城| 游戏百家乐官网押发| 娱乐城源码| 德州扑克怎么比大小| 百家乐赔率计算| 百家乐博赌场娱乐网规则|