精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內(nèi)不再提示

SMMU VA->PA的轉(zhuǎn)換流程介紹

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

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

一筆輸入的transaction會經(jīng)過以下幾個邏輯步驟:

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

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

?索引到STE。

?如果STE啟用了stage2轉(zhuǎn)換,則STE包含stage2 translation table base。

?如果STE啟用了stage1轉(zhuǎn)換,則繼續(xù)索引CD。如果STE啟用了stage2轉(zhuǎn)換,則從IPA空間獲取CD,否則從PA空間獲取CD。

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

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

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

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

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

SMMU_S_CR0.SMMUEN

SMMU_S_GBPA

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

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

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





審核編輯:劉清

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

    關(guān)注

    31

    文章

    5317

    瀏覽量

    120008
  • STE
    STE
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    9203
  • cache技術(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

    1047

原文標題:SMMU VA->PA的轉(zhuǎn)換流程

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

收藏 人收藏

    評論

    相關(guān)推薦

    va_start和va_end使用詳解

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

    ARM系列之SMMU總線資料合集

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

    對硬件虛擬化及其相關(guān)邏輯進行羅列與理解

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

    多個設(shè)備是否可以共用一個SMMU StreamID?

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

    SMMU學習這一篇就夠了

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

    Arm CoreLink MMU?700系統(tǒng)內(nèi)存管理單元技術(shù)參考手冊

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

    ARM CORELINK?MMU-600AE系統(tǒng)內(nèi)存管理單元技術(shù)參考手冊

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

    ARM系統(tǒng)內(nèi)存管理單元架構(gòu)規(guī)范SMMU架構(gòu)2.0版

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

    synopsys&Mentor設(shè)計流程

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

    arm smmu的原理

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

    arm smmu的原理與smmu驅(qū)動iommu框架

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

    通過處理器中的MMU進行VA-PA轉(zhuǎn)換

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

    SMMU數(shù)據(jù)結(jié)構(gòu)格式

    就是SMMU Level 1 Stream Table Descriptor的數(shù)據(jù)格式,簡稱 **Level1 STD** 。
    的頭像 發(fā)表于 04-28 11:48 ?917次閱讀

    ARM SMMU Data structures概述

    ARM SMMU 是一種用于系統(tǒng)級內(nèi)存管理單元(MMU)的架構(gòu),它支持基于translation表中的地址映射和內(nèi)存屬性信息的地址轉(zhuǎn)換。
    的頭像 發(fā)表于 05-08 12:46 ?971次閱讀
    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是啥意思?
    的頭像 發(fā)表于 07-30 14:44 ?1849次閱讀