LINUX.ORG.RU
ФорумAdmin

Проброс PCI


0

1

Делаю первый раз, так что не совсем понимаю правильно ли размышляю.

Есть KVM (ubuntu server 11.04) управляю через virsh.

#lspci
....
0d:04.0 FireWire (IEEE 1394): Agere Systems FW322/323 (rev 70)
....
<hostdev mode='subsystem' type='pci' managed='yes'>
   <source>
      <address bus='0x0d' slot='0x04' function='0x0'/>
   </source>
</hostdev>
# virsh create test.config
ошибка: Не удалось создать домен из test.config
ошибка: operation failed: failed to retrieve chardev info in qemu with 'info chardev'

Я как понимаю вот эти инструкции c сайта делает сам virt-manager

echo "8086 10b9" > /sys/bus/pci/drivers/pci-stub/new_id
echo 0000:01:00.0 > /sys/bus/pci/devices/0000:01:00.0/driver/unbind
echo 0000:01:00.0 > /sys/bus/pci/drivers/pci-stub/bind
или нет.

# dmesg | grep -e DMAR -e IOMMU
[    0.043196] DMAR: Host address width 39
[    0.043198] DMAR: DRHD base: 0x000000fbfff000 flags: 0x0
[    0.043206] IOMMU 0: reg_base_addr fbfff000 ver 1:0 cap c9008010e60262 ecap f0207a
[    0.043208] DMAR: DRHD base: 0x000000fbffe000 flags: 0x1
[    0.043215] IOMMU 1: reg_base_addr fbffe000 ver 1:0 cap c90780106f0462 ecap f020fe
[    0.043217] DMAR: RMRR base: 0x000000000ec000 end: 0x000000000effff
[    0.043219] DMAR: RMRR base: 0x000000bf7dc000 end: 0x000000bf7dbfff
[    0.043220] DMAR: ATSR flags: 0x0
[    0.043328] IOAPIC id 8 under DRHD base  0xfbffe000 IOMMU 1
[    0.043330] IOAPIC id 9 under DRHD base  0xfbffe000 IOMMU 1

Поясните пожалуйста

★★★★★

у тебя лишний уровень абстракции в лице virt-manager, попробуй сделать без него, а потом уже можно понять, где ошибка.

dimon555 ★★★★★ ()
Ответ на: комментарий от dimon555

syslog

Jun 27 21:20:50 adam kernel: [377435.782978] firewire_ohci 0000:0d:04.0: PCI INT A disabled
Jun 27 21:20:50 adam kernel: [377435.782982] firewire_ohci: Removed fw-ohci device.
Jun 27 21:20:50 adam kernel: [377435.783061] pci-stub 0000:0d:04.0: claimed by stub
Jun 27 21:20:51 adam kernel: [377436.041791] type=1400 audit(1309195251.052:63): apparmor="STATUS" operation="profile_load" name="libvirt-9c3b4b82-9ae2-c109-200e-821193a5543f" pid=17197 comm="apparmor_parser"
Jun 27 21:20:51 adam kernel: [377436.531584] device vnet1 entered promiscuous mode
Jun 27 21:20:51 adam kernel: [377436.533620] br0: port 3(vnet1) entering learning state
Jun 27 21:20:51 adam kernel: [377436.533626] br0: port 3(vnet1) entering learning state
Jun 27 21:20:51 adam libvirtd: 21:20:51.802: 1231: error : qemuMonitorCommandWithHandler:255 : cannot send monitor command 'info chardev': Connection reset by peer
Jun 27 21:20:51 adam libvirtd: 21:20:51.802: 1231: error : qemuMonitorTextGetPtyPaths:2001 : operation failed: failed to retrieve chardev info in qemu with 'info chardev'
Jun 27 21:20:52 adam kernel: [377437.013451] type=1400 audit(1309195252.022:64): apparmor="STATUS" operation="profile_remove" name="libvirt-9c3b4b82-9ae2-c109-200e-821193a5543f" pid=17248 comm="apparmor_parser"
Jun 27 21:20:52 adam kernel: [377437.034945] firewire_ohci 0000:0d:04.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
Jun 27 21:20:52 adam kernel: [377437.097984] firewire_ohci: Added fw-ohci device 0000:0d:04.0, OHCI v1.0, 8 IR + 8 IT contexts, quirks 0x0
Jun 27 21:20:52 adam kernel: [377437.151736] br0: port 3(vnet1) entering learning state
Jun 27 21:20:52 adam kernel: [377437.227948] device vnet1 left promiscuous mode
Jun 27 21:20:52 adam kernel: [377437.227953] br0: port 3(vnet1) entering disabled state
Jun 27 21:20:52 adam kernel: [377437.597788] firewire_core: created device fw0: GUID 001e8c0000350d8b, S400

petav ★★★★★ ()
Ответ на: syslog от petav

Вот так на сетевую карту реагирует

Jun 27 21:31:13 adam kernel: [378049.601582] r8169 0000:0a:00.0: PCI INT A disabled
Jun 27 21:31:13 adam kernel: [378049.601671] pci-stub 0000:0a:00.0: claimed by stub
Jun 27 21:31:13 adam kernel: [378050.271168] type=1400 audit(1309195873.900:67): apparmor="STATUS" operation="profile_load" name="libvirt-aa58aac5-cb66-aa4e-c69b-88e0763410bf" pid=17803 comm="apparmor_parser"
Jun 27 21:31:14 adam kernel: [378050.824719] device vnet1 entered promiscuous mode
Jun 27 21:31:14 adam kernel: [378050.827221] br0: port 3(vnet1) entering learning state
Jun 27 21:31:14 adam kernel: [378050.827226] br0: port 3(vnet1) entering learning state
Jun 27 21:31:14 adam libvirtd: 21:31:14.677: 1226: error : qemuMonitorCommandWithHandler:255 : cannot send monitor command 'info chardev': Connection reset by peer
Jun 27 21:31:14 adam libvirtd: 21:31:14.677: 1226: error : qemuMonitorTextGetPtyPaths:2001 : operation failed: failed to retrieve chardev info in qemu with 'info chardev'
Jun 27 21:31:14 adam kernel: [378051.303139] type=1400 audit(1309195874.930:68): apparmor="STATUS" operation="profile_remove" name="libvirt-aa58aac5-cb66-aa4e-c69b-88e0763410bf" pid=17861 comm="apparmor_parser"
Jun 27 21:31:15 adam kernel: [378051.434153] br0: port 3(vnet1) entering learning state
Jun 27 21:31:15 adam kernel: [378051.510351] device vnet1 left promiscuous mode
Jun 27 21:31:15 adam kernel: [378051.510355] br0: port 3(vnet1) entering disabled state
Jun 27 21:31:15 adam kernel: [378051.707403] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
Jun 27 21:31:15 adam kernel: [378051.707424] r8169 0000:0a:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
Jun 27 21:31:15 adam kernel: [378051.707866] r8169 0000:0a:00.0: setting latency timer to 64
Jun 27 21:31:15 adam kernel: [378051.707931] r8169 0000:0a:00.0: irq 109 for MSI/MSI-X
Jun 27 21:31:15 adam kernel: [378051.709020] r8169 0000:0a:00.0: eth1: RTL8168c/8111c at 0xffffc90012614000, 20:cf:30:e2:8f:46, XID 1c4000c0 IRQ 109
Jun 27 21:31:15 adam init: ssh main process (17764) terminated with status 255
Jun 27 21:31:23 adam ntpdate[17903]: adjust time server 91.189.94.4 offset -0.000156 sec

petav ★★★★★ ()
Ответ на: syslog от petav

Re: syslog

Jun 27 21:20:51 adam libvirtd: 21:20:51.802: 1231: error : qemuMonitorCommandWithHandler:255 : cannot send monitor command 'info chardev': Connection reset by peer
Jun 27 21:20:51 adam libvirtd: 21:20:51.802: 1231: error : qemuMonitorTextGetPtyPaths:2001 : operation failed: failed to retrieve chardev info in qemu with 'info chardev'

а вот это о чём вообще?

dimon555 ★★★★★ ()
Ответ на: Re: syslog от dimon555

Это в вывод попало когда я домен запускал. Я не знаю. Времени не хватает более глубоко повозится

petav ★★★★★ ()

Если пробрасываешь pci устройство, то надо указывать pci bridge к которому оно подключено. pcie устройство таким недостатком не обладает.

free_serj ★★ ()
Ответ на: комментарий от petav

Думаю да, хотя как-то много уровней получается. Лично у меня получалось пробросить pcie устройство, pci не пробовал, т.к. встроенное видео к единственному pci мосту подключено.

free_serj ★★ ()
Ответ на: комментарий от free_serj

Забыл включить поддержку в ядре

# dmesg | grep -e DMAR -e IOMMU
[    0.000000] ACPI: DMAR 00000000bf7980c0 00138 (v01    AMI  OEMDMAR 00000001 MSFT 00000097)
[    0.000000] Intel-IOMMU: enabled
[    0.045990] DMAR: Host address width 39
[    0.045992] DMAR: DRHD base: 0x000000fbfff000 flags: 0x0
[    0.046001] IOMMU 0: reg_base_addr fbfff000 ver 1:0 cap c9008010e60262 ecap f0207a
[    0.046003] DMAR: DRHD base: 0x000000fbffe000 flags: 0x1
[    0.046010] IOMMU 1: reg_base_addr fbffe000 ver 1:0 cap c90780106f0462 ecap f020fe
[    0.046012] DMAR: RMRR base: 0x000000000ec000 end: 0x000000000effff
[    0.046013] DMAR: RMRR base: 0x000000bf7dc000 end: 0x000000bf7dbfff
[    0.046015] DMAR: ATSR flags: 0x0
[    0.046123] IOAPIC id 8 under DRHD base  0xfbffe000 IOMMU 1
[    0.046125] IOAPIC id 9 under DRHD base  0xfbffe000 IOMMU 1
[    1.853448] IOMMU 0 0xfbfff000: using Queued invalidation
[    1.853450] IOMMU 1 0xfbffe000: using Queued invalidation
[    1.853461] Your BIOS is broken; DMA routed to ISOCH DMAR unit but no TLB space.
[    1.853515] IOMMU: hardware identity mapping for device 0000:00:1b.0
[    1.853529] IOMMU: Setting RMRR:
[    1.853540] IOMMU: Setting identity map for device 0000:00:1d.0 [0xbf7dc000 - 0xbf7dc000]
[    1.853571] IOMMU: Setting identity map for device 0000:00:1d.1 [0xbf7dc000 - 0xbf7dc000]
[    1.853595] IOMMU: Setting identity map for device 0000:00:1d.2 [0xbf7dc000 - 0xbf7dc000]
[    1.853619] IOMMU: Setting identity map for device 0000:00:1d.7 [0xbf7dc000 - 0xbf7dc000]
[    1.853645] IOMMU: Setting identity map for device 0000:00:1a.0 [0xbf7dc000 - 0xbf7dc000]
[    1.853669] IOMMU: Setting identity map for device 0000:00:1a.1 [0xbf7dc000 - 0xbf7dc000]
[    1.853693] IOMMU: Setting identity map for device 0000:00:1a.2 [0xbf7dc000 - 0xbf7dc000]
[    1.853720] IOMMU: Setting identity map for device 0000:00:1a.7 [0xbf7dc000 - 0xbf7dc000]
[    1.853737] IOMMU: Setting identity map for device 0000:00:1d.0 [0xec000 - 0xf0000]
[    1.853748] IOMMU: Setting identity map for device 0000:00:1d.1 [0xec000 - 0xf0000]
[    1.853760] IOMMU: Setting identity map for device 0000:00:1d.2 [0xec000 - 0xf0000]
[    1.853771] IOMMU: Setting identity map for device 0000:00:1d.7 [0xec000 - 0xf0000]
[    1.853782] IOMMU: Setting identity map for device 0000:00:1a.0 [0xec000 - 0xf0000]
[    1.853794] IOMMU: Setting identity map for device 0000:00:1a.1 [0xec000 - 0xf0000]
[    1.853805] IOMMU: Setting identity map for device 0000:00:1a.2 [0xec000 - 0xf0000]
[    1.853816] IOMMU: Setting identity map for device 0000:00:1a.7 [0xec000 - 0xf0000]
[    1.853829] IOMMU: Prepare 0-16MiB unity mapping for LPC
[    1.853838] IOMMU: Setting identity map for device 0000:00:1f.0 [0x0 - 0x1000000]

Опять Bios кривой, вторая плата Asus c такой ерундой. Как-то вот эту тему поднимал. Засада.

petav ★★★★★ ()
Ответ на: Забыл включить поддержку в ядре от petav

У меня кстати тоже ASUS, только не с интелом, а амд. Работает как минимум проброс PCIe устройств(пробовал встроенную сетевую которая через pcie подключена). Плата ASUS KCMA-D8.

free_serj ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.