Hi all,
I am running the latest Proxmox, version 3.3-139
I try to passthrough a pci device to my vm:
I add the hostpci command to my vm:
But the vm don't start
Have you any ideas?
I have enabled IOMMU in GRUB
dmesg on the proxmox server:
Here is my pveversion -v:
I am running the latest Proxmox, version 3.3-139
I try to passthrough a pci device to my vm:
Code:
03:00.0 Ethernet controller: Digium, Inc. Wildcard TDM410 4-port analog card (rev 11) Subsystem: Digium, Inc. Wildcard TDM410 4-port analog card
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin A routed to IRQ 16
Region 0: I/O ports at d000 [size=256]
Region 1: Memory at f7c20000 (32-bit, non-prefetchable) [size=1K]
Expansion ROM at dfb00000 [disabled] [size=128K]
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=100mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: pci-stub
Code:
# cat /etc/pve/qemu-server/101.conf
bootdisk: virtio0
cores: 1
ide2: none,media=cdrom
memory: 512
name: pbx
net0: virtio=A6:C9:BC:8B:9F:57,bridge=vmbr0
onboot: 1
ostype: l26
sockets: 1
virtio0: pve:vm-101-disk-1,size=10G
hostpci0: 03:00.0
But the vm don't start
Code:
# qm start 101
kvm: -device pci-assign,host=03:00.0,id=hostpci0,bus=pci.0,addr=0x10: PCI region 1 at address 0xf7c20000 has size 0x400, which is not a multiple of 4K. You might experience some performance hit due to that.
kvm: -device pci-assign,host=03:00.0,id=hostpci0,bus=pci.0,addr=0x10: Failed to assign irq for "hostpci0"
Perhaps you are assigning a device that shares an IRQ with another device?: Input/output error
kvm: -device pci-assign,host=03:00.0,id=hostpci0,bus=pci.0,addr=0x10: Device initialization failed.
kvm: -device pci-assign,host=03:00.0,id=hostpci0,bus=pci.0,addr=0x10: Device 'kvm-pci-assign' could not be initialized
start failed: command '/usr/bin/kvm -id 101 -chardev 'socket,id=qmp,path=/var/run/qemu-server/101.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -vnc unix:/var/run/qemu-server/101.vnc,x509,password -pidfile /var/run/qemu-server/101.pid -daemonize -name pbx -smp 'sockets=1,cores=1' -nodefaults -boot 'menu=on' -vga cirrus -cpu kvm64,+lahf_lm,+x2apic,+sep -k en-us -m 512 -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' -device'usb-tablet,id=tablet,bus=uhci.0,port=1' -device 'pci-assign,host=03:00.0,id=hostpci0,bus=pci.0,addr=0x10' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:61fde84539cb' -drive 'if=none,id=drive-ide2,media=cdrom,aio=native' -device'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200' -drive 'file=/dev/pve/vm-101-disk-1,if=none,id=drive-virtio0,aio=native,cache=none,detect-zeroes=on' -device 'virtio-blk-pci,drive=drive-virtio0,id=virtio0,bus=pci.0,addr=0xa,bootindex=100' -netdev 'type=tap,id=net0,ifname=tap101i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' -device 'virtio-net-pci,mac=A6:C9:BC:8B:9F:5 7,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300'' failed: exit code 1
Code:
Jan 11 01:39:56 ixi qm[4120]: <root@pam> starting task UPID:ixi:00001019:000062F1:54B1AA3C:qmstart:101:root@pam:Jan 11 01:39:56 ixi qm[4121]: start VM 101: UPID:ixi:00001019:000062F1:54B1AA3C:qmstart:101:root@pam:
Jan 11 01:39:57 ixi kernel: pci-stub 0000:03:00.0: restoring config space at offset 0x1 (was 0x2900000, writing 0x2900003)
Jan 11 01:39:57 ixi kernel: device tap101i0 entered promiscuous mode
Jan 11 01:39:57 ixi kernel: vmbr0: port 5(tap101i0) entering forwarding state
Jan 11 01:39:57 ixi kernel: pci-stub 0000:03:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
Jan 11 01:39:57 ixi kernel: pci-stub 0000:03:00.0: restoring config space at offset 0x1 (was 0x2900000, writing 0x2900003)
Jan 11 01:39:58 ixi kernel: assign device 0:3:0.0
Jan 11 01:39:58 ixi kernel: IRQ handler type mismatch for IRQ 16
Jan 11 01:39:58 ixi kernel: current handler: ehci_hcd:usb1
Jan 11 01:39:58 ixi kernel: Pid: 4128, comm: kvm veid: 0 Not tainted 2.6.32-34-pve #1
Jan 11 01:39:58 ixi kernel: Call Trace:
Jan 11 01:39:58 ixi kernel: [<ffffffff810f7a27>] ? __setup_irq+0x3e7/0x440
Jan 11 01:39:58 ixi kernel: [<ffffffffa0327c90>] ? kvm_assigned_dev_intr+0x0/0xf0 [kvm]
Jan 11 01:39:58 ixi kernel: [<ffffffff810f7b64>] ? request_threaded_irq+0xe4/0x1e0
Jan 11 01:39:58 ixi kernel: [<ffffffffa032d5cd>] ? kvm_vm_ioctl+0x100d/0x10f0 [kvm]
Jan 11 01:39:58 ixi kernel: [<ffffffff81461491>] ? pci_conf1_read+0xc1/0x120
Jan 11 01:39:58 ixi kernel: [<ffffffff81463203>] ? raw_pci_read+0x23/0x40
Jan 11 01:39:58 ixi kernel: [<ffffffff812ac47a>] ? pci_read_config+0x25a/0x280
Jan 11 01:39:58 ixi kernel: [<ffffffff811bcb9a>] ? vfs_ioctl+0x2a/0xa0
Jan 11 01:39:58 ixi kernel: [<ffffffff8122a886>] ? read+0x166/0x210
Jan 11 01:39:58 ixi kernel: [<ffffffff811bd1ce>] ? do_vfs_ioctl+0x7e/0x5a0
Jan 11 01:39:58 ixi kernel: [<ffffffff811a7156>] ? vfs_read+0x116/0x190
Jan 11 01:39:58 ixi kernel: [<ffffffff811bd73f>] ? sys_ioctl+0x4f/0x80
Jan 11 01:39:58 ixi kernel: [<ffffffff8100b182>] ? system_call_fastpath+0x16/0x1b
Jan 11 01:39:58 ixi kernel: deassign device 0:3:0.0
Jan 11 01:39:58 ixi kernel: pci-stub 0000:03:00.0: restoring config space at offset 0x1 (was 0x2900000, writing 0x2900003)
Jan 11 01:39:58 ixi kernel: pci-stub 0000:03:00.0: PCI INT A disabled
Jan 11 01:39:58 ixi kernel: vmbr0: port 5(tap101i0) entering disabled state
Jan 11 01:39:58 ixi qm[4121]: start failed: command '/usr/bin/kvm -id 101 -chardev 'socket,id=qmp,path=/var/run/qemu-server/101.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -vnc unix:/var/run/qemu-server/101.vnc,x509,password -pidfile /var/run/qemu-server/101.pid -daemonize -name pbx -smp 'sockets=1,cores=1' -nodefaults -boot 'menu=on' -vga cirrus -cpu kvm64,+lahf_lm,+x2apic,+sep -k en-us -m 512 -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' -device 'usb-tablet,id=tablet,bus=uhci.0,port=1' -device 'pci-assign,host=03:00.0,id=hostpci0,bus=pci.0,addr=0x10' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:61fde84539cb' -drive 'if=none,id=drive-ide2,media=cdrom,aio=native' -device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200' -drive 'file=/dev/pve/vm-101-disk-1,if=none,id=drive-virtio0,aio=native,cache=none,detect-zeroes=on' -device 'virtio-blk-pci,drive=drive-virtio0,id=virtio0,bus=pci.0,addr=0xa,bootindex=100' -netdev 'type=tap,id=net0,ifname=tap101i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' -device 'virtio-net-pci,mac=A6:C9:BC:8B:9F:57,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300'' failed: exit code 1
Jan 11 01:39:58 ixi qm[4120]: <root@pam> end task UPID:ixi:00001019:000062F1:54B1AA3C:qmstart:101:root@pam: start failed: command '/usr/bin/kvm -id 101 -chardev 'socket,id=qmp,path=/var/run/qemu-server/101.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -vnc unix:/var/run/qemu-server/101.vnc,x509,password -pidfile /var/run/qemu-server/101.pid -daemonize -name pbx -smp 'sockets=1,cores=1' -nodefaults -boot 'menu=on' -vga cirrus -cpu kvm64,+lahf_lm,+x2apic,+sep -k en-us -m 512 -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' -device 'usb-tablet,id=tablet,bus=uhci.0,port=1' -device 'pci-assign,host=03:00.0,id=hostpci0,bus=pci.0,addr=0x10' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:61fde84539cb' -drive 'if=none,id=drive-ide2,media=cdrom,aio=native' -device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200' -drive 'file=/dev/pve/vm-101-disk-1,if=none,id=drive-virtio0,aio=native,cache=none,detect-zeroes=on' -device 'virtio-blk-pci,drive=drive-virtio0,id=virtio0,bus=pci.0,addr=0xa,bootindex=100' -netdev 'type=tap,id=net0,ifname=tap101i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' -device 'virtio-net-pci,mac=A6:C9:BC:8B:9F:57,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300'' failed: exit code 1
I have enabled IOMMU in GRUB
dmesg on the proxmox server:
Code:
# dmesg | grep -e DMAR -e IOMMU
ACPI: DMAR 00000000d6268ea0 000B8 (v01 INTEL DQ77MK 0000003A INTL 00000001)
Intel-IOMMU: enabled
dmar: IOMMU 0: reg_base_addr fed90000 ver 1:0 cap c0000020e60262 ecap f0101a
dmar: IOMMU 1: reg_base_addr fed91000 ver 1:0 cap c9008020660262 ecap f0105a
IOMMU 0xfed90000: using Queued invalidation
IOMMU 0xfed91000: using Queued invalidation
IOMMU: Setting RMRR:
IOMMU: Setting identity map for device 0000:00:02.0 [0xd7800000 - 0xdfa00000]
IOMMU: Setting identity map for device 0000:00:1d.0 [0xd61f1000 - 0xd61fe000]
IOMMU: Setting identity map for device 0000:00:1a.0 [0xd61f1000 - 0xd61fe000]
IOMMU: Setting identity map for device 0000:00:14.0 [0xd61f1000 - 0xd61fe000]
IOMMU: Prepare 0-16MiB unity mapping for LPC
IOMMU: Setting identity map for device 0000:00:1f.0 [0x0 - 0x1000000]
Here is my pveversion -v:
Code:
proxmox-ve-2.6.32: 3.3-139 (running kernel: 2.6.32-34-pve)pve-manager: 3.3-5 (running version: 3.3-5/bfebec03)
pve-kernel-2.6.32-27-pve: 2.6.32-121
pve-kernel-2.6.32-19-pve: 2.6.32-96
pve-kernel-2.6.32-28-pve: 2.6.32-124
pve-kernel-2.6.32-34-pve: 2.6.32-140
pve-kernel-2.6.32-26-pve: 2.6.32-114
lvm2: 2.02.98-pve4
clvm: 2.02.98-pve4
corosync-pve: 1.4.7-1
openais-pve: 1.1.4-3
libqb0: 0.11.1-2
redhat-cluster-pve: 3.2.0-2
resource-agents-pve: 3.9.2-4
fence-agents-pve: 4.0.10-1
pve-cluster: 3.0-15
qemu-server: 3.3-3
pve-firmware: 1.1-3
libpve-common-perl: 3.0-19
libpve-access-control: 3.0-15
libpve-storage-perl: 3.0-25
pve-libspice-server1: 0.12.4-3
vncterm: 1.1-8
vzctl: 4.0-1pve6
vzprocps: 2.0.11-2
vzquota: 3.1-2
pve-qemu-kvm: 2.1-10
ksm-control-daemon: 1.1-1
glusterfs-client: 3.5.2-1