DMA重定向硬件一般位于Root Complex中,Root-Complex是PCIe系统中引入的概念,它将CPU、内存子系统和PCIe子系连接起来。如下图所示:

而Root Complex则经常被集成到CPU芯片上、MCH(Memory Controller Hub)上或者是IOH(I/O hub)上。
DMA重定向硬件将来自于I/O子系统的内存访问请求分为两类:
- 不带地址空间ID的请求(Request without Process Address Space Identifier,即Request-without_PASID),相当于GPA(Guest Physical Address),这是一般Endpoint设备发出的内存访问请求,这类请求通常会表明该请求的类型(读、写或原子操作),DMA目标的地址、大小和发起请求的源设备的ID。
- 带有地址空间ID的请求(Request with Process Address Space Identifier,即Request-with-PASID),相当于GVA(Guest Virtual Address),能够发出这类请求的源PCI设备需要拥有virtual address capability,该请求带有额外的信息用于定位目标地址空间和一些其他信息。
不同虚拟机之间的隔离是通过防止分配到其他虚拟机的资源(CPU、I/O设备)访问到本
本文介绍了Intel VT-d技术中的DMA重定向,讲解了如何通过Root Complex进行内存访问请求分类,并阐述了DMA重定向硬件如何处理不带和带地址空间ID的请求,实现不同虚拟机之间的隔离。通过分页机制和EPT,将I/O设备的请求转化为主机物理地址,确保安全高效的内存访问。此外,还涉及了VT-d硬件配置、地址转换页表的建立和使用,以及硬件加速缓存的角色。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



