ARMSMMUDatastructures概述-当前热文

2023-05-18 13:02:29    来源 : 面包芯语

ARM SMMU 是一种用于系统级内存管理单元(MMU)的架构,它支持基于translation表中的地址映射和内存属性信息的地址转换。

SMMU使用一组内存中的data structures来获取进一步translation需要的数据。

一个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)的地址进行转换。

SMMU处理一个输入事务的第一步是找到该事务所需的配置STE(由其StreamID和可选的SubstreamID标识)。从概念上讲,一个STE描述了一个client device的配置,指明它是否需要进行stage 1或stage 2 translation或两者都需要。

多个devices可以与一个Virtual Machine关联,因此多个STE可以共享相同的stage 2 Translation table。

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

最后,使用该配置来找到Translation table structures。

标签:

相关推荐

x 广告

如有意见请与我们联系 邮箱:8 97 180 9 @qq.com

豫ICP备2021032478号-31

Copyright ©  2015-2022 元宇宙版权所有