All of lore.kernel.org
 help / color / mirror / Atom feed
* Failure: passthrough of 2 PCIe devices
@ 2010-12-13 14:23 Dietmar Hahn
  2010-12-13 16:58 ` Sander Eikelenboom
  2010-12-14 15:44 ` Failure: passthrough of 2 PCIe devices - regression of "QEMU passthrough: support PV on HVM MSI remapping" Konrad Rzeszutek Wilk
  0 siblings, 2 replies; 3+ messages in thread
From: Dietmar Hahn @ 2010-12-13 14:23 UTC (permalink / raw)
  To: xen-devel@lists.xensource.com


[-- Attachment #1.1: Type: text/plain, Size: 2834 bytes --]

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

[-- Attachment #1.2: Type: text/html, Size: 13205 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-12-14 15:44 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-13 14:23 Failure: passthrough of 2 PCIe devices Dietmar Hahn
2010-12-13 16:58 ` Sander Eikelenboom
2010-12-14 15:44 ` Failure: passthrough of 2 PCIe devices - regression of "QEMU passthrough: support PV on HVM MSI remapping" Konrad Rzeszutek Wilk

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.