Группа IOMMU
Определение
Группа IOMMU — набор устройств, который IOMMU может изолировать от остальных как единое целое. В VFIO группа является минимальной границей безопасного владения устройствами.
Также ищут: IOMMU group · группа изоляции IOMMU
Зачем это знать
В одной IOMMU-группе могут оказаться несколько функций или устройств за общим мостом. Поэтому адрес нужной платы сам по себе не доказывает, что её можно передать отдельно: сначала проверяют весь состав группы и то, кто владеет каждым устройством.
Что подтверждено
IOMMU-группа — набор устройств, который можно изолировать от всех остальных устройств системы.
Граница применимости: Linux VFIO 6.12, определение IOMMU group. Группа отражает доступную системе гранулярность изоляции.
VFIO использует IOMMU-группу как единицу владения устройствами, потому что изоляция может быть крупнее одного устройства.
Граница применимости: Linux VFIO 6.12, legacy group model. Интерфейс cdev меняет API, но не отменяет групповую семантику изоляции.
Несколько функций или устройств могут попасть в одну IOMMU-группу из-за свойств многофункционального устройства, мостов, ACS и общей топологии.
Граница применимости: Примеры Linux VFIO 6.12 объясняют возможные причины. Состав конкретной группы нужно читать на конкретной системе.
В legacy-интерфейсе VFIO группа с несколькими устройствами становится доступной для операций только после того, как все её устройства освобождены от обычных host-драйверов: привязаны к VFIO или отвязаны.
Граница применимости: Linux VFIO 6.12, VFIO Usage Example. Конкретный драйвер и допустимый способ подготовки зависят от устройства.
VFIO device cdev в Linux 6.12 всё ещё подчиняется семантике IOMMU-группы: у группы может быть только один владелец DMA.
Граница применимости: Linux VFIO 6.12, VFIO Device cdev. Это описание текущей модели Linux 6.12, а не обещание поведения будущих версий.
Что проверить
- Найдите IOMMU-группу целевого PCIe-устройства.
- Перечислите все функции и устройства внутри этой группы.
- Проверьте, какой драйвер владеет каждым устройством до проброса.
- Не обещайте независимый проброс одной функции, пока граница группы не проверена.
Первоисточники
- VFIO - “Virtual Function I/O”
Проверены назначение VFIO, роль IOMMU, границы IOMMU-групп, legacy group interface и device cdev. Документ описывает Linux 6.12; поведение других ОС и гипервизоров отдельно не подтверждается.
Связанные понятия
Курсы по теме
Следующий шаг
Сформулируйте задачу и уточните требования к своей системе.
Подготовить состав проектаОткроется черновик вопроса. Отправьте его, когда будете готовы.