VFIO нельзя использовать для контроллера памяти

Я пытаюсь настроить прошивку PCI моего аудиоустройства в QEMU / KVM. Аудиоустройство находится в группе 9 вместе с другими тремя устройствами:

IOMMU Group 9 00:1f.0 ISA bridge [0601]: Intel Corporation Device [8086:9d4e] (rev 21) IOMMU Group 9 00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-LP PMC [8086:9d21] (rev 21) IOMMU Group 9 00:1f.3 Audio device [0403]: Intel Corporation Device [8086:9d71] (rev 21) IOMMU Group 9 00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-LP SMBus [8086:9d23] (rev 21) 

Итак, я изменил свой /etc/modprobe.d/vfio с устройствами, которые я хочу подключить:

 00:1f.0 0601: 8086:9d4e (rev 21) 00:1f.2 0580: 8086:9d21 (rev 21) 00:1f.3 0403: 8086:9d71 (rev 21) 00:1f.4 0c05: 8086:9d23 (rev 21) 

Таким образом, файл читает

 options vfio-pci ids=8086:9d4e,8086:9d21,8086:9d71,8086:9d23 

Кроме того, чтобы заряжать их во время загрузки, я модифицировал mkinitcpio чтобы он vfio vfio_iommu_type1 vfio_pci vfio_virqfd

И это сработало:

 $ dmesg | grep vfio [ 0.746712] vfio_pci: add [8086:9d4e[ffff:ffff]] class 0x000000/00000000 [ 0.746715] vfio_pci: add [8086:9d21[ffff:ffff]] class 0x000000/00000000 [ 0.762942] vfio_pci: add [8086:9d71[ffff:ffff]] class 0x000000/00000000 [ 0.762968] vfio_pci: add [8086:9d23[ffff:ffff]] class 0x000000/00000000 

Однако по какой-то причине контроллер памяти продолжает использовать intel_pmc_core ядра intel_pmc_core вместо vfio-pci , поскольку все остальные

 $ lspci -k -s 00:1f 00:1f.0 ISA bridge: Intel Corporation Device 9d4e (rev 21) Subsystem: Hewlett-Packard Company Device 827e Kernel driver in use: vfio-pci 00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21) Subsystem: Hewlett-Packard Company Device 827e Kernel driver in use: intel_pmc_core 00:1f.3 Audio device: Intel Corporation Device 9d71 (rev 21) Subsystem: Hewlett-Packard Company Device 827e Kernel driver in use: vfio-pci Kernel modules: snd_hda_intel, snd_soc_skl 00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21) Subsystem: Hewlett-Packard Company Device 827e Kernel driver in use: vfio-pci Kernel modules: i2c_i801 

Итак, qemu жалуется, что не вся группа IOMMU прошла мимо:

 $ qemu-system-x86_64 -hda /home/janus/qemu/win10qemu.img -enable-kvm -device vfio-pci,host=0000:00:1f.0 -device vfio-pci,host=0000:00:1f.2 -device vfio-pci,host=0000:00:1f.3 -device vfio-pci,host=0000:00:1f.4 qemu-system-x86_64: -device vfio-pci,host=0000:00:1f.0: vfio error: 0000:00:1f.0: group 9 is not viable Please ensure all devices within the iommu_group are bound to their vfio bus driver. 

Что я делаю неправильно?

One Solution collect form web for “VFIO нельзя использовать для контроллера памяти”

Ответ кажется: конечно, я не могу передать контроллер памяти на виртуальную машину. А поскольку Audio Card находится в той же группе IOMMU, что и контроллер памяти, я не смогу передать ее VM.

  • Почему ядро ​​не запускает init?
  • протоколирование и отладка виртуальных машин qemu
  • Создание / dev / net / tun доступно для qemu?
  • Производительность диска Qemu для Windows 10
  • Загрузка изображения GRUB2 непосредственно в QEMU
  • Прямой доступ к видеокарте QEMU (или видеовыход QEMU без X11)
  • Эмуляция RaspberryPi с использованием QEMU
  • QEMU Гостевая графическая установка Deb9 не может получить ответ DHCP во время установки
  • Управление командной строкой qemu
  • Qemu: никакая файловая система не может монтировать root (не может монтировать крыши)
  • Как отправить мышь и клавиатуру в гостевую систему Virt-Manager
  • Interesting Posts

    Можно ли сделать файл .tar.gz непосредственно из stdin? Или, мне нужно, чтобы смонтировать вместе уже gzipped файлы

    Как сохранить журналы с удаленных клиентов в другой файл?

    NetBSD 7.0.2 не выполняет проверку имени хоста при использовании DHCP

    Почему не будет ссылка OpenCL с gcc после установки драйвера fglrx и приложения sdk amd?

    shell – использование expr "таблицы умножения"

    Загрузилась командная строка grub2 вместо ubuntu os

    Предварительная настройка целевого каталога GNU Stow по умолчанию

    Получить числа, соответствующие шаблону, из вывода ls?

    Почему у некоторых пакетов Debian есть суффикс «+ deb7u2»?

    Передача аргументов с кавычками и двойными значениями в сценарий bash

    сравнение двух файлов по строкам

    Принудительный диск на / dev / sdX

    Использование mintty в качестве терминала по умолчанию для Cygwin и оболочки по умолчанию как bash

    Терминальная команда, чтобы узнать, является ли сервер виртуальным или физическим

    Есть ли способ ждать завершения загрузки

    Linux и Unix - лучшая ОС в мире.