Всем привет.
Начну с простого: не удается пробросить видеокарту hd6990 на госта.
Из железа Asus CROSSHAIR IV FORMULA с процессором Phenom II в биосе необходимая настройка произведена.
стоит Arch с ядром pf:
# lspci -nnk
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890 Northbridge only single slot PCI-e GFX Hydra part (rev 02)
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD/ATI] RD890S/RD990 I/O Memory Management Unit (IOMMU)
00:02.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GFX port 0)
00:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 0)
00:05.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 1)
00:06.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 2)
00:07.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 3)
00:0b.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD990 PCI to PCI bridge (PCI Express GFX2 port 0)
00:11.0 SATA controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (rev 40)
00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 SMBus Controller (rev 42)
00:14.1 IDE interface: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 IDE Controller (rev 40)
00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 Azalia (Intel HDA) (rev 40)
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 LPC host controller (rev 40)
00:14.4 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 PCI to PCI Bridge (rev 40)
00:14.5 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
00:16.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:16.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Address Map
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Link Control
02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cayman XT [Radeon HD 6970]
02:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Cayman/Antilles HDMI Audio [Radeon HD 6900 Series]
03:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)
04:00.0 Ethernet controller: Marvell Technology Group Ltd. Yukon Optima 88E8059 [PCIe Gigabit Ethernet Controller with AVB] (rev 11)
05:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6315 Series Firewire Controller (rev 01)
06:00.0 SATA controller: JMicron Technology Corp. JMB363 SATA/IDE Controller (rev 03)
06:00.1 IDE interface: JMicron Technology Corp. JMB363 SATA/IDE Controller (rev 03)
07:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Pitcairn XT [Radeon HD 7870 GHz Edition]
07:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series]
02:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cayman XT [Radeon HD 6970] [1002:6718]
Subsystem: Micro-Star International Co., Ltd. [MSI] Device [1462:2470]
Kernel driver in use: vfio-pci
Kernel modules: radeon
02:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Cayman/Antilles HDMI Audio [Radeon HD 6900 Series] [1002:aa80]
Subsystem: Micro-Star International Co., Ltd. [MSI] Device [1462:aa80]
Kernel driver in use: vfio-pci
Kernel modules: snd_hda_intel
07:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Pitcairn XT [Radeon HD 7870 GHz Edition] [1002:6818]
Subsystem: XFX Pine Group Inc. Device [1682:3252]
Kernel driver in use: radeon
Kernel modules: radeon
07:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series] [1002:aab0]
Subsystem: XFX Pine Group Inc. Device [1682:aab0]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
Я хочу заметить, что у меня 6990, но показывает 6970
Предыстория:
Я провел достаточно много за чтением мануалов, изначально делал по мануалу
https://bbs.archlinux.org/viewtopic.php?id=162768 о котором все знают.
В тот момент так же стоял арч, с ядром вроде 4.2 (полгода назад было).
В тот момент это делалось впервые, у меня вроде как получилось (во всяком случае на втором мониторе, подключенным к проброшенной видеокарте загорелась загрузка гостевой винды).
Но, так и не удалось включить поддержку iommu на материнке (пришлось использовать опцию, что сильно бьет по производительности)
vfio_iommu_type1.allow_unsafe_interrupts=1
Сейчас я решил вернуться к этому, но требуется ваша помощь.
Повторяя свои действия в прошлом, делал все по мануалу(напомню ссылку):
https://bbs.archlinux.org/viewtopic.php?id=162768
В процессе тестирования проброса видеокарточки, по мануалу запустил qemu, но госта я на втором мониторе не увидел, как и не услышал характерного шума вентиляторов видеокарты. Т.е. проброс не удался.
Итак, прежде всего хотелось бы включить нормальную поддержку iommu на материнской плате, но:
[ 0.105264] AMD-Vi: DEV_SPECIAL(HPET[0]) devid: 00:14.0
[ 0.105265] AMD-Vi: DEV_SPECIAL(IOAPIC[7]) devid: 00:00.1
[ 0.105266] [Firmware Bug]: AMD-Vi: IOAPIC[6] not in IVRS table
[ 0.105272] [Firmware Bug]: AMD-Vi: No southbridge IOAPIC found
[ 0.105273] AMD-Vi: Disabling interrupt remapping
[ 2.485092] AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40
[ 2.485220] AMD-Vi: Lazy IO/TLB flushing enabled
Почитав об этой проблеме, добавил в загрузку
ivrs_ioapic[6]=00:14.0
В итоге ядро грузит с множественным сообщением:
Event logged [ INVALID_DEVICE_REQUEST device=00:14.1 adress=*********** flags=0x0a00
Вместо звезд фигурирует некий адресс в памяти, каждый раз разный. Таких сообщений 12
Дальше естественно не находятся жесткие диски и система не грузится. Гуглеж выдал некоторые результаты, я пробовал подставлять этот несчастный 00:14.1 в таблицу, но безрезультатно.
Первый важный вопрос - есть ли тут владельцы моей материнской платы(я их где-то видел на лоре)? Как до них достучаться, ибо у них вроде как проброс удавался.
Далее, я полез в глубокие мануалы, начав с
https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF#Isolating_the_GPU
опробовал два способа, как результат у меня якобы заработало, во всяком тестовый qemu запустился, но снова проброс не удался с обоими способами из мануала (vfio-pci, pci-stub). =)
Вообщем на текущий момент я уже не знаю, куда копать.
PS планирую с чистого qemu пересесть на libvirt в качестве гуи, стоит ли или лучше и дальше использовать qemu? Вроде как libvirt любит сразу «съедать» оперативку под госта
Спасибо всем, кто откликнется