Mdev 与厂商迁移驱动
1. Mediated device
Mdev让 parent driver把物理设备切成软件管理实例:
1 | physical parent |
隔离由 parent driver实现,不是 IOMMU自动完成。
2. Sysfs
Parent注册 supported types,用户向 create写 UUID;实例目录可 remove。Available instances和类型属性由 parent提供。
3. Mdev bus
mdev_core.c管理 parent/type/device生命周期;mdev_driver.c管理 mdev driver匹配和 probe/remove。
4. VFIO
具体 parent/mdev driver提供 region、IRQ、DMA、reset和 migration行为。只有注册一个 mdev对象并不自动生成完整设备模型。
5. 厂商 VFIO PCI
本树:
- mlx5 VFIO PCI;
- HiSilicon accelerator VFIO PCI。
它们基于 vfio-pci core增加 migration、state transfer和 dirty tracking,绑定范围由 PCI ID和硬件能力限定。
6. Migration
Vendor driver负责:
- freeze/quiesce;
-保存 device state;
-导出 migration data;
-恢复;
-版本/firmware兼容;
-dirty DMA报告。
7. 安全
Parent必须保证各实例:
-DMA隔离;
-MMIO/register过滤;
-IRQ隔离;
-资源配额;
-reset互不影响;
-迁移数据验证。
实现缺陷可跨 VM泄露。
8. RK3588
主树中未发现为 Rockchip NPU/VPU/GPU/ISP实现的 mdev parent。CONFIG_VFIO_MDEV即使开启也不会自动产生可用 mediated device。
9. GPU概念
Mdev不等于 SR-IOV;SR-IOV由硬件 PF创建 VF。也不应把任何 GPU切分能力泛称“GPU SR-IOV类”,具体隔离机制必须按 driver确认。
正在加载留言…