[Sysadmins] Проброс PCI-устройтва в KVM-гостя

Васюк Максим vaksim на gmail.com
Чт Мар 13 17:04:45 MSK 2014


Привет всем!

Реально-ли пропбросить PCI устройство в KVM-гостя без IOMMU?
Судя по интернету в этом направлении все не однозначно.

Поднял asterisk в домене, хотел ему отдать USB устройство и воткнуть 
туда 3g модемы, а тут такая засада. Кто использовал такую связку 
отзовитесь, пожалуйста! Неужели придется выносить это дело на отдельную 
машину или еще хуже в хост?

-------------------------------------------------------
Пробовал следующее!

Предварительно поправил qemu.conf:
relaxed_acs_check = 1

И отвязал устройство от хоста:
echo 0000:00:1a.0 > /sys/bus/pci/drivers/ehci-pci/unbind

lspci
----
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset 
Family USB Enhanced Host Controller #2 (rev 05)
----

lspci -vn
00:1a.0 0c03: 8086:1c2d (rev 05) (prog-if 20 [EHCI])
     Subsystem: 1458:5006
     Flags: bus master, medium devsel, latency 0, IRQ 18
     Memory at fbffe000 (32-bit, non-prefetchable) [size=1K]
     Capabilities: [50] Power Management version 2
     Capabilities: [58] Debug port: BAR=1 offset=00a0
     Capabilities: [98] PCI Advanced Features
     Kernel driver in use: ehci-pci

Кусок из конфига гостя:
     <hostdev mode='subsystem' type='pci' managed='yes'>
       <source>
         <address domain='0x0000' bus='0x00' slot='0x1a' function='0x0'/>
       </source>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x06' 
function='0x0'/>
     </hostdev>


Логи гостя при попытке запуска:
qemu-kvm: -device 
pci-assign,host=00:1a.0,id=hostdev0,configfd=23,bus=pci.0,addr=0x6: PCI 
region 0 at address 0xfbffe000 has size 0x400, which is not a multi

qemu-kvm: -device 
pci-assign,host=00:1a.0,id=hostdev0,configfd=23,bus=pci.0,addr=0x6: No 
IOMMU found.  Unable to assign device "hostdev0"

qemu-kvm: -device 
pci-assign,host=00:1a.0,id=hostdev0,configfd=23,bus=pci.0,addr=0x6: 
Device 'kvm-pci-assign' could not be initialized



Подробная информация о списке рассылки Sysadmins