[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