QNX Hypervisor 2.2 用户手册2.4 DMA设备控制(smmuman)
Posted 高桐@BILL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QNX Hypervisor 2.2 用户手册2.4 DMA设备控制(smmuman)相关的知识,希望对你有一定的参考价值。
写在前面
hypervisor使用IOMMU/SMMU 管理器(smmuman)以确保没有直通设备可以访问没有授权的host-physical内存。
IOMMU/SMMU管理器(smmuman)不是一个QNX Hypervisor组件。它是QNX Neutrino OS组件。为了方便Hypervisor 用户的理解,这里简单描述下。
2021年2月,BlackBerry正式发布QNX Hypervisor 2.2版本,该版本基于QNX Neutrino实时操作系统(RTOS)7.1。
QNX Hypervisor是基于Type-1(直接运行于裸机)、实时优先级的微内核管理程序,符合IEC 61508 SIL-3(用于工业安全),IEC 62304(用于医疗设备软件)和ISO 26262 ASIL-D(用于汽车安全)等标准。
一、DMA设备和IOMMU/SMMU
一个非cpu启动的读写请求就是来自DMA(Direct Memory Access)设备的读和写。(如GPU,网卡,声卡)一个IOMMU(ARM架构上的SMMU)是一个为非CPU启动的读写提供转换和访问控制的硬件/固件组件。类似于转换和访问控制的第二阶段页表提供CPU启动的读写。
二、smmuman的责任
SMMU管理器(smmuman)与IOMMU和SMMU在支持的硬件平台上协同工作,以:
- 为无CPU启动的读写管理guest-physical内存到host-physical的内存转换和访问。
- 确保没有非直通设备可以访问其映射的(允许的)host-physical内存之外
以上是关于QNX Hypervisor 2.2 用户手册2.4 DMA设备控制(smmuman)的主要内容,如果未能解决你的问题,请参考以下文章
[QNX Hypervisor 2.2用户手册]5.3 关闭QNX Hypervisor
[QNX Hypervisor 2.2用户手册]5.3 关闭QNX Hypervisor
[QNX Hypervisor 2.2用户手册]9.20 vdev