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

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

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

ARM SMMU Data structures概述

芯片驗證工程師 ? 來源:芯片驗證工程師 ? 2023-05-08 12:46 ? 次閱讀

ARM SMMU 是一種用于系統(tǒng)級內(nèi)存管理單元(MMU)的架構,它支持基于translation表中的地址映射和內(nèi)存屬性信息的地址轉(zhuǎn)換。

SMMU使用一組內(nèi)存中的data structures來獲取進一步translation需要的數(shù)據(jù)。

初始root structure(Stream Table)的base addresses在寄存器中保存。

884e89ae-ed55-11ed-90ce-dac502259ad0.jpg

一個Stream table entry (STE)包含stage 2 translation table的基指針,也可以包含stage 1 configuration structures(Context descriptor,其中包含stage 1)的基指針。

Context descriptor (CD)用于stage 1 translation

Stream table entry用于stage 2 translation。

因此,SMMU使用了兩組不同的structures:

? Configuration structures,它們將事務的StreamID映射到translation table base pointers、configuration和context,這些是訪問translation tables時需要用到的。

? Translation table structures,它們用于分別對stage 1(VA到IPA)和stage 2(IPA到PA)的地址進行轉(zhuǎn)換。

SMMU處理一個輸入事務的第一步是找到該事務所需的配置STE(由其StreamID和可選的SubstreamID標識)。從概念上講,一個STE描述了一個client device的配置,指明它是否需要進行stage 1或stage 2 translation或兩者都需要。

多個devices可以與一個Virtual Machine關聯(lián),因此多個STE可以共享相同的stage 2 Translation table。

多個devices(嚴格地說,是streams)可能共享相同的stage 1配置,因此多個STE可以共享相同的CD。

最后,使用該配置來找到Translation table structures。

審核編輯:湯梓紅

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

    關注

    134

    文章

    8967

    瀏覽量

    365039
  • 內(nèi)存
    +關注

    關注

    8

    文章

    2903

    瀏覽量

    73538
  • 指針
    +關注

    關注

    1

    文章

    475

    瀏覽量

    70457
  • 內(nèi)存管理

    關注

    0

    文章

    167

    瀏覽量

    14099
  • MMU
    MMU
    +關注

    關注

    0

    文章

    91

    瀏覽量

    18167

原文標題:ARM SMMU Data structures概述

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

收藏 人收藏

    評論

    相關推薦

    Algorithms and Data Structures The Science of Computing

    Algorithms and Data Structures The Science of Computing - Douglas Baldwin
    發(fā)表于 03-28 16:29

    ARM系列之SMMU總線資料合集

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

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

    ;__iommu_probe_device->arm_smmu_probe_device->arm_smmu_insert_masterarm_smmu_insert_master將這些
    發(fā)表于 11-07 15:36

    SMMU學習這一篇就夠了

    前言最近朋友圈、微信群( ARM-Trustzone-TEE-AT)掀起一陣學習SMMU的熱潮,作為一名安全領域的渣渣 ,勢必要蹭一蹭這個“熱點”,也學習一下吧,反正早晚都要學,因為它和安全的關系
    發(fā)表于 02-23 17:11

    RK3588 ubunutu pcie虛擬化的SMMU配置在哪里修改呢?

    信息:  2. DTS配置  2.1 SMMU配置  compatible = “arm,smmu-v3”;
    發(fā)表于 03-13 14:32

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

    ARM系統(tǒng)MMU(SMMU)體系結構為存儲器管理單元(MMU)實施提供了靈活的實施框架,具有多個實施定義的選項。 該體系結構可用于系統(tǒng)級的MMU。 它基于轉(zhuǎn)換表中保存的地址映射和內(nèi)存屬性信息,支持從
    發(fā)表于 08-12 06:25

    Proteus在MCS&ARM中的應用之Data_Sorting

    【好程序系列】Proteus在MCS&ARM中的應用之Data Sorting
    發(fā)表于 01-19 17:10 ?8次下載

    ARM720T DATA

    ARM720T DATA
    發(fā)表于 10-25 14:07 ?5次下載
    <b class='flag-5'>ARM</b>720T <b class='flag-5'>DATA</b>

    arm smmu的原理

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

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

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

    SMMU數(shù)據(jù)結構格式

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

    ARM SMMU具有三種接口供軟件使用

    Memory-based data structures 用于將devices映射到用于地址轉(zhuǎn)換的 translation tables。
    發(fā)表于 05-08 09:18 ?461次閱讀

    ARM SMMU Data structure之Context Descriptors

    是否進行stage 1 translation,獲取stage 1 translation tables的配置。
    的頭像 發(fā)表于 05-11 09:10 ?821次閱讀
    <b class='flag-5'>ARM</b> <b class='flag-5'>SMMU</b> <b class='flag-5'>Data</b> structure之Context Descriptors

    ARM SMMU Data structures之Stream Table

    incoming transaction的StreamID可以找到一個STE。SMMU支持兩種Stream table格式,格式由Stream table base registers設置。
    的頭像 發(fā)表于 05-11 09:22 ?1135次閱讀
    <b class='flag-5'>ARM</b> <b class='flag-5'>SMMU</b> <b class='flag-5'>Data</b> <b class='flag-5'>structures</b>之Stream Table

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

    如果SMMU全局禁用(例如,剛結束復位SMMU_CR0.SMMUEN == 0),則transaction將通過SMMU而不進行任何地址轉(zhuǎn)換。
    的頭像 發(fā)表于 05-15 10:07 ?798次閱讀
    <b class='flag-5'>SMMU</b> VA-&gt;PA的轉(zhuǎn)換流程介紹