Разделение группы IOMMU для PCIe Passthrough

Я пытаюсь перенести мою видеокарту на виртуальную машину, используя kvm и libvirt. Я получаю сообщение об ошибке, когда пытаюсь пройти карту без привязки карты Ethernet, которая, кажется, находится в той же группе IOMMU, к драйверу vfio-pci.

Я хотел бы использовать этот порт Ethernet на хосте, поэтому мне интересно, могу ли я разделить группу IOMMU. Ссылка на эти вещи, кажется, это сообщение в блоге, которое упоминает в нижней части, что

Более новые ядра, чем использованные в этом примере, разделят эту группу IOMMU, так как была добавлена ​​поддержка для раскрытия возможностей изоляции этого чипсета, даже если он не поддерживает PCIe ACS напрямую.

Но я нахожусь на ядре 4.10, и этот пост в блоге с 2014 года, поэтому мне интересно, были ли какие-либо новые разработки в космосе.

Мой основной вопрос: могу ли я узнать, что группа IOMMU является делимой, и если да, то как я могу ее разделить?

1 ответ

Решение

Я не смог найти ни одного собственного метода разбиения группы IOMMU: если он разделяемый, он будет разделен при загрузке

Тем не менее, есть патч, который отменяет размещение IOMMU

этот поток приведет вас к этому патчу, который успешно собирается на ядре 4.8, которое по умолчанию поставляется с ubuntu 16.10.

После применения этого патча и сборки нового ядра мои группы IOMMU были разделены, и проход работает как я хочу. Обратите внимание, что теоретически возможно утечка DMA через устройства, но я никогда не слышал о том, что это происходит, и это работает для меня безупречно.

Другие вопросы по тегам