Linux Kernel: vfio
IOMMU
Добавить параметр загрузки ядра intel_iommu=on, для amd аналогичного параметра нет
Обновить конфигурацию GRUB2
Автозагрузка модуля
cat << OEF >> /etc/modules-load.d/vfio.conf vfio vfio_iommu_type1 vfio_pci vfio_virqfd OEF
Автозахвать устройства
echo "options vfio-pci ids=10de:0a65,10de:0be3" > /etc/modprobe.d/vfio.conf
echo "options vfio-pci ids=144d:a808" > /etc/modprobe.d/vfio.conf
Если при попытке запуска вирт.машины команда dmesg | grep -e DMAR -e IOMMU выводит сообщение "No interrupt remapping support", то дополнительно следует внести следующее:
echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" >> /etc/modprobe.d/vfio.conf
cat /sys/module/vfio_iommu_type1/parameters/allow_unsafe_interrupts
Ручное связывание устройства с vfio
lspci -nnk
01:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 [144d:a808] Subsystem: Samsung Electronics Co Ltd SSD 970 EVO/PRO [144d:a801] Kernel driver in use: nvme
echo 0000:01:00.0 > /sys/bus/pci/drivers/nvme/unbind
echo "144d a808" > /sys/bus/pci/drivers/vfio-pci/new_id
01:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 [144d:a808] Subsystem: Samsung Electronics Co Ltd SSD 970 EVO/PRO [144d:a801] Kernel driver in use: vfio-pci