返回首页
ZVM关键支撑技术:DMA隔离
01 概述
为满足高速外设直通(如PCIe、USB等外设)的DMA安全需求,ZVM通过ARM SMMUv3配置访问策略(即哪个设备可访问哪些内存地址),实现对设备DMA行为的设备级隔离。ZVM DMA隔离技术的实现架构如图1所示。
图1. ZVM DMA隔离技术架构
02 为什么需要DMA隔离?
外设DMA不经过CPU直接访问内存,若缺乏有效的DMA访问控制,外设可能越权访问其他OS或ZVM的内存,造成跨OS数据泄露、内存破坏甚至导致虚拟化底座崩溃。因此需要对外设DMA访问范围进行严格控制,确保外设只能访问所属OS授权的内存区域,实现不同OS之间以及OS与ZVM之间的DMA隔离。
03 ZVM DMA隔离技术实现
- (1) DMA映射和配置:DMA映射请求来自客户OS和ZVM自身的外设DMA需求,ZVM据此建立"设备→可访问内存区域"的隔离策略(图1的①②)。
- (2) 异常拦截与上报:针对驱动程序配置错误等导致的非法DMA访问,SMMU捕获异常DMA请求并上报ZVM处置(图1的③)。ZVM默认记录日志并丢弃该请求,同时支持按场景采取设备隔离、通知客户OS或终止客户OS等措施。
04 总结
ZVM通过DMA隔离技术实现外设DMA的安全直通,是嵌入式虚拟化实时操作系统中网卡、GPU、NPU及USB等高速外设安全隔离、保障原生性能的基础。