[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Failure: passthrough of 2 PCIe devices


  • To: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Dietmar Hahn <dietmar.hahn@xxxxxxxxxxxxxx>
  • Date: Mon, 13 Dec 2010 15:23:42 +0100
  • Delivery-date: Mon, 13 Dec 2010 06:24:43 -0800
  • Domainkey-signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns; h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV: Received:Received:From:To:Subject:Date:User-Agent: X-KMail-Markup:MIME-Version:Content-Type: Content-Transfer-Encoding:Message-Id; b=Ik0/ViQiHGpgJongXTy1pbRnJhebgpaxbl5ZyADeGKk5pYclrGgwzOgk qYtIa6ZzOLjLmHNZ2YpBbtlunZIk1lOYuu1Y0EiplZwzv9KKud2+n69Rt m2nGiJmb1ptfwwMovHoo/0ZYoZIONOozicnK5zBSa8nGFBdvIeMjRLtD3 bobRkPxmW6m0dAvEeTJ3RXfaC7+QQ+B0X1yiKqlCNnKajBCEQeLQGf2nH MKusAlC+pTQsAEC9aLaRNKGxbBDi6;
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Hi list,

I did some tests with passthrough of 2 PCIe devices to a Windows 7 HVM and both

failed to work.

# lspci

...

00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05)

10:00.0 Network controller: Intel Corporation Centrino Advanced-N 6200 (rev 35)

...

In the qemu log I found the following messages:

register_real_device: Assigning real physical device 00:1b.0 ...

register_real_device: Enable MSI translation via per device option

register_real_device: Disable power management

pt_iomul_init: Error: pt_iomul_init: No such device: setup io multiplexing failed! 0x0:0x1b.0x0

pt_register_regions: IO region registered (size=0x00004000 base_addr=0xf2720004)

pt_msi_setup: pt_msi_setup requested pirq = 0

pt_msi_setup: msi mapped with pirq 0

pci_intx: intx=1

register_real_device: Real physical device 00:1b.0 registered successfuly!

IRQ type = MSI-INTx

vcpu-set: watch node error.

xs_read(/local/domain/3/log-throttling): read error

qemu: ignoring not-understood drive `/local/domain/3/log-throttling'

medium change watch on `/local/domain/3/log-throttling' - unknown device, ignored

dm-command: hot insert pass-through pci dev

register_real_device: Assigning real physical device 10:00.0 ...

register_real_device: Enable MSI translation via per device option

register_real_device: Disable power management

pt_iomul_init: Error: pt_iomul_init: No such device: setup io multiplexing failed! 0x10:0x0.0x0

pt_register_regions: IO region registered (size=0x00002000 base_addr=0xf2400004)

pt_msi_setup: pt_msi_setup requested pirq = 0

pt_msi_setup: msi mapped with pirq 0

pci_intx: intx=1

register_real_device: Real physical device 10:00.0 registered successfuly!

On the xen serial console I saw:

...

(XEN) [VT-D]io.c:327: d3: unbind: m_gsi=0 g_gsi=36 device=5 intx=0

(XEN) [VT-D]io.c:386: d3 unmap: m_irq=0 device=5 intx=0

(XEN) [VT-D]io.c:303: d3: bind: m_gsi=17 g_gsi=36 device=5 intx=0

(XEN) domctl.c:920:d0 pt_irq_create_bind failed!

(XEN) irq.c:1590: dom3: forcing unbind of pirq 0

In xen-4.0 (SLES11-SP1) all went fine.

I saw some added code in tools/ioemu-remote/hw/pt-msi.c function pt_msi_setup()

in xen-unstable:

gvec = dev->msi->data & 0xFF;

if (!gvec) {

/* if gvec is 0, the guest is asking for a particular pirq that

* is passed as dest_id */

pirq = (dev->msi->addr_hi & 0xffffff00) |

((dev->msi->addr_lo >> MSI_TARGET_CPU_SHIFT) & 0xff);

PT_LOG("pt_msi_setup requested pirq = %d\n", pirq);

}

If I remove this code the device 00:1b.0 gets pirq 37 and 00:10.0 gets pirq 36.

Now at least device 00:10.0 (WLAN) works. The audio device is still another problem.

Is this a already seen problem after all these msi discussions on the list?

Thanks!

Dietmar.

--

Company details: http://ts.fujitsu.com/imprint.html

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.