IOMMU:
可以将一个设备访问地址转换为存储器地址,主要功能包括 DMA Remapping和Interrupt Ramapping
没有IOMMU虚拟机无法实现设备透传,因为没有IOMMU设备必须访问真是物理地址HPA,但是虚拟机可见的是GPA;二是如果让虚拟机填入HPA,相当于虚拟机可以直接访问物理地址,有安全隐患。对于设备的直接访问都会有VMM接管,这样就不会对 虚拟机暴露HPA。
有IOMMU虚机可以将GPA直接写入设备,当设备进行DMA传输时,设备请求GPA有IOMMU转换为HPA,进而DMA操作真实的物理空间。IMMU的映射关系由VMM维护,HPA对虚机不可见,保证安全,可以实现设备透传
见文章https://zhuanlan.zhihu.com/p/550698319
PCI设备和IOMMU和VFIO
最新推荐文章于 2024-05-03 17:02:25 发布
IOMMU通过DMARemapping和InterruptRamapping实现设备地址转换,确保虚拟机安全地使用GPA而非HPA。VMM接管设备访问,IOMMU在DMA传输时负责GPA到HPA的转换,保持HPA对虚拟机不可见,保障了设备透传过程中的安全性。
摘要由CSDN通过智能技术生成