proxmox iommu pci-e passthrough problem

V

vibe

Guest
I tried to assign a ati radeon 5870 to one virtual machine with proxmox 2.1. But it says ->

Failed to assign device "hostpci0" : Operation not permitted
kvm: -device pci-assign,host=01:00.0,id=hostpci0,bus=pci.0,addr=0x10: Device 'pci-assign' could not be initialized

I have done almost by these instructions, proxmox kernel seemed to support iommu and passthrough with default kernel so going with default kernel ->
http://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM#VT-d_device_hotplug

dmesg shows like it should ->

AMD-Vi: Enabling IOMMU at 0000:00:00.2 cap 0x40
AMD-Vi: Lazy IO/TLB flushing enabled
AMD-Vi: Initialized for Passthrough Mode

More output with lspci ->

00:00.0 0600: 1002:5a14 (rev 02)
00:00.2 0806: 1002:5a23
00:02.0 0604: 1002:5a16
00:04.0 0604: 1002:5a18
00:05.0 0604: 1002:5a19
00:0b.0 0604: 1002:5a1f
00:0c.0 0604: 1002:5a20
00:0d.0 0604: 1002:5a1e
00:11.0 0106: 1002:4391 (rev 40)
00:12.0 0c03: 1002:4397
00:12.2 0c03: 1002:4396
00:13.0 0c03: 1002:4397
00:13.2 0c03: 1002:4396
00:14.0 0c05: 1002:4385 (rev 42)
00:14.2 0403: 1002:4383 (rev 40)
00:14.3 0601: 1002:439d (rev 40)
00:14.4 0604: 1002:4384 (rev 40)
00:14.5 0c03: 1002:4399
00:15.0 0604: 1002:43a0
00:15.1 0604: 1002:43a1
00:16.0 0c03: 1002:4397
00:16.2 0c03: 1002:4396
00:18.0 0600: 1022:1200
00:18.1 0600: 1022:1201
00:18.2 0600: 1022:1202
00:18.3 0600: 1022:1203
00:18.4 0600: 1022:1204
01:00.0 0300: 1002:6898
01:00.1 0403: 1002:aa50
02:00.0 0101: 197b:2362 (rev 10)
03:00.0 0101: 197b:2362 (rev 10)
04:00.0 0300: 1002:6898
04:00.1 0403: 1002:aa50
05:00.0 0300: 1002:6898
05:00.1 0403: 1002:aa50
06:00.0 0300: 1002:6898
06:00.1 0403: 1002:aa50
07:07.0 0c00: 1106:3044 (rev c0)
08:00.0 0300: 1002:6898
08:00.1 0403: 1002:aa50
09:00.0 0200: 10ec:8168 (rev 06)


00:00.0 Host bridge [0600]: Advanced Micro Devices [AMD] nee ATI RD890 PCI to PCI bridge (external gfx0 port B) [1002:5a14] (rev 02)
00:00.2 IOMMU [0806]: Advanced Micro Devices [AMD] nee ATI RD990 I/O Memory Management Unit (IOMMU) [1002:5a23]
00:02.0 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI RD890 PCI to PCI bridge (PCI express gpp port B) [1002:5a16]
00:04.0 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI RD890 PCI to PCI bridge (PCI express gpp port D) [1002:5a18]
00:05.0 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI RD890 PCI to PCI bridge (PCI express gpp port E) [1002:5a19]
00:0b.0 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI RD890 PCI to PCI bridge (NB-SB link) [1002:5a1f]
00:0c.0 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI Device [1002:5a20]
00:0d.0 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI RD890 PCI to PCI bridge (external gfx1 port B) [1002:5a1e]
00:11.0 SATA controller [0106]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] [1002:4391] (rev 40)
00:12.0 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller [1002:4397]
00:12.2 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396]
00:13.0 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller [1002:4397]
00:13.2 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396]
00:14.0 SMBus [0c05]: Advanced Micro Devices [AMD] nee ATI SBx00 SMBus Controller [1002:4385] (rev 42)
00:14.2 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) [1002:4383] (rev 40)
00:14.3 ISA bridge [0601]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 LPC host controller [1002:439d] (rev 40)
00:14.4 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI SBx00 PCI to PCI Bridge [1002:4384] (rev 40)
00:14.5 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI2 Controller [1002:4399]
00:15.0 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0) [1002:43a0]
00:15.1 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI SB700/SB800/SB900 PCI to PCI bridge (PCIE port 1) [1002:43a1]
00:16.0 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller [1002:4397]
00:16.2 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396]
00:18.0 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor HyperTransport Configuration [1022:1200]
00:18.1 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor Address Map [1022:1201]
00:18.2 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor DRAM Controller [1022:1202]
00:18.3 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor Miscellaneous Control [1022:1203]
00:18.4 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor Link Control [1022:1204]
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Cypress XT [Radeon HD 5870] [1002:6898]
01:00.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI Cypress HDMI Audio [Radeon HD 5800 Series] [1002:aa50]
02:00.0 IDE interface [0101]: JMicron Technology Corp. JMB362 SATA Controller [197b:2362] (rev 10)
03:00.0 IDE interface [0101]: JMicron Technology Corp. JMB362 SATA Controller [197b:2362] (rev 10)
04:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Cypress XT [Radeon HD 5870] [1002:6898]
04:00.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI Cypress HDMI Audio [Radeon HD 5800 Series] [1002:aa50]
05:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Cypress XT [Radeon HD 5870] [1002:6898]
05:00.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI Cypress HDMI Audio [Radeon HD 5800 Series] [1002:aa50]
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Cypress XT [Radeon HD 5870] [1002:6898]
06:00.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI Cypress HDMI Audio [Radeon HD 5800 Series] [1002:aa50]
07:07.0 FireWire (IEEE 1394) [0c00]: VIA Technologies, Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller [1106:3044] (rev c0)
08:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Cypress XT [Radeon HD 5870] [1002:6898]
08:00.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI Cypress HDMI Audio [Radeon HD 5800 Series] [1002:aa50]
09:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 06)


-[0000:00]-+-00.0
+-00.2
+-02.0-[01]--+-00.0
| \-00.1
+-04.0-[02]----00.0
+-05.0-[03]----00.0
+-0b.0-[04]--+-00.0
| \-00.1
+-0c.0-[05]--+-00.0
| \-00.1
+-0d.0-[06]--+-00.0
| \-00.1
+-11.0
+-12.0
+-12.2
+-13.0
+-13.2
+-14.0
+-14.2
+-14.3
+-14.4-[07]----07.0
+-14.5
+-15.0-[08]--+-00.0
| \-00.1
+-15.1-[09]----00.0
+-16.0
+-16.2
+-18.0
+-18.1
+-18.2
+-18.3
\-18.4

Ideas whats wrong?
 
Try with:

# qm set <VMID> -hostpci0 01:00.0

Then start the VM (use 'qm showcmd <VMID>' to get the full command line)
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!