With the kernel option ''xen-pciback.hide=(00:14.2) xen-pciback.permissive'', Xen-4.2.0-rc3 is unable to pass through my onboard Intel HDA audio adapter to a Windows7 guest. I tried doing the same in KVM and it worked immediately without issue. On the guest, I get a "High Definition Audio Controller" with the correct vendor/device ID, and an error of "This device cannot start. (Code 10)". I''ve tried a bunch of combinations, including late binding to pciback, with no luck. Has anyone seen this before? It seems to be the only thing that won''t work.. secondary passthrough of my AMD HD6850 in Xen works great (but not in KVM unfortunately), as does passing through the USB controllers. There''s another google hit for a guy with a similar problem, but it turned out he was using pci-stub instead of pciback (which, as the below info shows, I am not). Thanks for your time, Jason Relevant info: [jason@virt-host ~]$ dmesg | grep ''14\.2'' ... [ 3.863511] pciback 0000:00:14.2: seizing device [ 5.081737] xen-pciback: backend is vpci [ 239.702436] xen-pciback: vpci: 0000:00:14.2: assign to virtual slot 0 [jason@virt-host ~]$ cat /var/log/xen/qemu-dm-Windows7.log ... dm-command: hot insert pass-through pci dev register_real_device: Assigning real physical device 00:14.2 ... register_real_device: Disable MSI translation via per device option register_real_device: Disable power management pt_iomul_init: Error: pt_iomul_init can''t open file /dev/xen/pci_iomul: No such file or directory: 0x0:0x14.0x2 pt_register_regions: IO region registered (size=0x00004000 base_addr=0xfeb00004) pci_intx: intx=1 register_real_device: Real physical device 00:14.2 registered successfuly! IRQ type = INTx ... [jason@virt-host ~]$ lspci -tv -[0000:00]-+-00.0 ATI Technologies Inc RD890 PCI to PCI bridge (external gfx0 port B) +-00.2 ATI Technologies Inc Device 5a23 +-02.0-[01]--+-00.0 ATI Technologies Inc Barts XT [ATI Radeon HD 6800 Series] | \-00.1 ATI Technologies Inc Barts HDMI Audio [Radeon HD 6800 Series] +-04.0-[02]----00.0 Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller +-07.0-[03]----00.0 ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller +-11.0 ATI Technologies Inc SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] +-12.0 ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller +-12.2 ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller +-13.0 ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller +-13.2 ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller +-14.0 ATI Technologies Inc SBx00 SMBus Controller +-14.2 ATI Technologies Inc SBx00 Azalia (Intel HDA) +-14.3 ATI Technologies Inc SB7x0/SB8x0/SB9x0 LPC host controller +-14.4-[04]-- +-14.5 ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI2 Controller +-16.0 ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller +-16.2 ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller +-18.0 Advanced Micro Devices [AMD] Family 10h Processor HyperTransport Configuration +-18.1 Advanced Micro Devices [AMD] Family 10h Processor Address Map +-18.2 Advanced Micro Devices [AMD] Family 10h Processor DRAM Controller +-18.3 Advanced Micro Devices [AMD] Family 10h Processor Miscellaneous Control \-18.4 Advanced Micro Devices [AMD] Family 10h Processor Link Control [jason@virt-host ~]$ lspci -kn | grep -A2 ''14\.2'' 00:14.2 0403: 1002:4383 (rev 40) Subsystem: 1043:8444 Kernel driver in use: pciback
Jason O''Brien
2012-Sep-15 17:48 UTC
Re: Can''t pass through onboard Intel HDA, works in KVM
On Sat, Sep 1, 2012 at 7:54 PM, Jason O''Brien <jason23@umbc.edu> wrote:> With the kernel option ''xen-pciback.hide=(00:14.2) > xen-pciback.permissive'', Xen-4.2.0-rc3 is unable to pass through my > onboard Intel HDA audio adapter to a Windows7 guest. I tried doing the > same in KVM and it worked immediately without issue. On the guest, I > get a "High Definition Audio Controller" with the correct > vendor/device ID, and an error of "This device cannot start. (Code > 10)". I''ve tried a bunch of combinations, including late binding to > pciback, with no luck. > > Has anyone seen this before? It seems to be the only thing that won''t > work.. secondary passthrough of my AMD HD6850 in Xen works great (but > not in KVM unfortunately), as does passing through the USB > controllers. There''s another google hit for a guy with a similar > problem, but it turned out he was using pci-stub instead of pciback > (which, as the below info shows, I am not). > > Thanks for your time, > Jason >I went ahead and tested this on kernel 3.4.6 (vs 3.5.2, which is what I was running) and it works fine, so this is likely a PCI passthrough regression in kernel 3.5. The patch on the xen-devel thread didn''t do the trick for me, I''ll give reverting the questionable commit a try.