Делаю проброс видеокарты в QEMU, нужно изменить группы IOMMU, т.к. видеокарта NVIDIA с аудио подсистемой оказались в одной группе с процессором. С этой целью устанавливаю ACS патч для ядра. Изолировал пробрасываемую видеокарту, драйвер vfio-pci связан с ней.
IOMMU Group 0:
00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller [8086:0150] (rev 09)
IOMMU Group 1:
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port [8086:0151] (rev 09)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106 [GeForce GTX 1060 3GB] [10de:1c02] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation GP106 High Definition Audio Controller [10de:10f1] (rev a1)
IOMMU Group 2:
00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller [8086:0152] (rev 09)
IOMMU Group 3:
00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04)
IOMMU Group 4:
00:1a.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 [8086:1c2d] (rev 05)
IOMMU Group 5:
00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 05)
IOMMU Group 6:
00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b5)
00:1c.5 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev b5)
03:00.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev 30)
04:01.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8100/8101L/8139 PCI Fast Ethernet Adapter [10ec:8139] (rev 10)
IOMMU Group 7:
00:1d.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 [8086:1c26] (rev 05)
IOMMU Group 8:
00:1f.0 ISA bridge [0601]: Intel Corporation H61 Express Chipset LPC Controller [8086:1c5c] (rev 05)
00:1f.2 IDE interface [0101]: Intel Corporation 6 Series/C200 Series Chipset Family Desktop SATA Controller (IDE mode, ports 0-3) [8086:1c00] (rev 05)
00:1f.3 SMBus [0c05]: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller [8086:1c22] (rev 05)
00:1f.5 IDE interface [0101]: Intel Corporation 6 Series/C200 Series Chipset Family Desktop SATA Controller (IDE mode, ports 4-5) [8086:1c08] (rev 05)
Далее делаю по следующей инструкции:
git clone https://aur.archlinux.org/linux-vfio.git
cd linux-vfio
sudo nano /etc/makepkg.conf
locate #MAKEFLAGS=, change to MAKEFLAGS="-j$(nproc)"
CTRL+O, CTRL+X
makepkg -si
sudo nano /etc/default/grub
add pcie_acs_override=downstream same place as enabling iommu GRUB_CMDLINE_LINUX_DEFAULT=
CTRL+O, CTRL+X
sudo grub-mkconfig -o /boot/grub/grub.cfg
reboot
Setup is 15420 bytes (padded to 15872 bytes).
System is 8740 kB
CRC f0dc13b6
Kernel: arch/x86/boot/bzImage is ready (#2)
make[1]: выход из каталога «/home/waitmar/acs/build/linux-vfio/src/archlinux-linux»
make[2]: вход в каталог «/home/waitmar/acs/build/linux-vfio/src/archlinux-linux»
m2c -o arch/x86/crypto/aegis128-aesni.o arch/x86/crypto/aegis128-aesni.mod
make[2]: m2c: Нет такого файла или каталога
make[2]: *** [<встроенное>: arch/x86/crypto/aegis128-aesni.o] Ошибка 127
make[2]: выход из каталога «/home/waitmar/acs/build/linux-vfio/src/archlinux-linux»
make[1]: *** [scripts/Makefile.modpost:117: __modpost] Ошибка 2
make[1]: выход из каталога «/home/waitmar/acs/build/linux-vfio/src/archlinux-linux»
make: *** [Makefile:1388: modules] Ошибка 2
==> ОШИБКА: Произошел сбой в build().
Прерывание...