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