虚拟化 - 4.0 简体中文

QDMA Subsystem for PCI Express v4.0 产品指南 (PG302)

Document ID
PG302
Release Date
2022-05-20
Version
4.0 简体中文

QDMA 可实现 SR-IOV 直通虚拟化,其中适配器会公开一个独立的虚拟功能 (VF) 以供虚拟机 (VM) 使用。可以选择为物理功能 (PF) 提供完整访问 QDMA 寄存器和资源的特权,但仅限 VF 才能实现逐队列指针更新寄存器和中断。VF 驱动程序必须通过邮箱与附加到 PF 的驱动程序进行通信,以进行配置、资源分配和异常处理。QDMA 可实现功能级别复位 (FLR),在 VM 上支持操作系统进行器件复位,且不会对平台其余部分造成干扰。

表 1. 特权级访问
类型 注释
队列上下文/其它控制寄存器 用于上下文访问的寄存器仅限由 PF(全部 4 个 PF)进行控制。
状态和统计数据寄存器 主要是仅限 PF 的寄存器。VF 需要与 PF 驱动程序协调以进行错误处理。VF 需要通过邮箱与附加到 PF 的驱动程序进行通信。
数据路径寄存器 PF 和 VF 都必须能直接写入数据路径中涉及的寄存器,而无需穿过虚拟机管理器。VF 或 PF 可使用自有 BAR 空间为与功能关联的队列直接完成 H2C/C2H 描述符提取的指针更新。针对不属于功能的队列执行的任何指针更新都将被丢弃,并记录错误。
其它保护建议 开启 IOMMU 以保护来自 VM 的错误存储器访问。
PF 驱动程序和 VF 驱动程序通信 VF 驱动程序需与 PF 驱动程序通信,以请求具有全局影响的操作。此通信通道需要该功能来传递报文和生成中断。此通信通道会为每个 VF 使用一组硬件邮箱。