ARM SMMU具有三种接口供软件使用

ARM

36人已加入

描述

SMMU具有三种接口供软件使用:

1. Memory-based data structures 用于将devices映射到用于地址转换的 translation tables。

2. Memory-based circular buffer queues.用于向SMMU发送命令的Command queue;用于从SMMU接收event/fault的Event queue;以及用于接收PCIe页面请求的 PRI queue

只有支持PRI services的SMMU才具有PRI queue,PRI queue允许处理来自devices的PRI请求。

3. 一组寄存器,其中一些Secure-only寄存器,用于特性支持上报的Read-only寄存器和SMMU全局配置寄存器。寄存器指示structures和queues的基址,提供特性支持上报,以及全局控制寄存器以启用queue processing和translation of traffic。

当支持security时,存在另一组寄存器,允许Secure software维护 Secure device structures,还存在相应的Secure Command queue和Secure Event queue。

在允许stage 1 translation的虚拟化场景中,guest OS具有完全相同的编程接口,并认为它控制着真实SMMU(stage 1-only),具有相同格式的Command、 Event和PRI queue(可选)以及in-memory data structures。

ARM SMMU架构提供了一个灵活且强大的内存管理单元实现框架,可以满足各种系统需求。它支持大量并发转换上下文,并提供了故障处理、日志记录功能。这些功能使SMMU成为支持PCI Express和其他潜在的大型I/O系统的理想选择。







审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分