* 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* Re: Failure: passthrough of 2 PCIe devices
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
1 sibling, 0 replies; 3+ messages in thread
From: Sander Eikelenboom @ 2010-12-13 16:58 UTC (permalink / raw)
To: Dietmar Hahn; +Cc: Ian Jackson, Stefano Stabellini
Hi Dietmar,
I can confirm i'm having the same issue, after outcommenting changeset 7420:d93b3cb4cebe from qemu-xen-unstable.hg makes it get a pirq other than 0 again.
Added some debug info as well:
gvec = dev->msi->data & 0xFF;
+ PT_LOG("SEIK: %s 0x%02lX %d \n",__FUNCTION__,dev->msi->data,gvec);
+ PT_LOG("SEIK: %s 0x%02lX 0x%02lX \n",__FUNCTION__,dev->msi->addr_hi,dev->msi->addr_lo);
- if (!gvec) {
+ if (0) {
This results in:
dm-command: hot insert pass-through pci dev
register_real_device: Assigning real physical device 05: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 can't open file /dev/xen/pci_iomul: No such file or directory: 0x5:0x0.0x0
pt_register_regions: IO region registered (size=0x10000000 base_addr=0xb000000c)
pt_register_regions: IO region registered (size=0x00010000 base_addr=0xf9be0004)
pt_register_regions: IO region registered (size=0x00000100 base_addr=0x0000b001)
pt_register_regions: Expansion ROM registered (size=0x00020000 base_addr=0xf9bc0000)
pt_msi_setup: SEIK: pt_msi_setup 0x00 0
pt_msi_setup: SEIK: pt_msi_setup 0x00 0x00
pt_msi_setup: msi mapped with pirq 57
pci_intx: intx=1
register_real_device: Real physical device 05:00.0 registered successfuly!
IRQ type = MSI-INTx
--
Sander
> 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.
--
Best regards,
Sander mailto:linux@eikelenboom.it
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: Failure: passthrough of 2 PCIe devices - regression of "QEMU passthrough: support PV on HVM MSI remapping"
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 ` Konrad Rzeszutek Wilk
1 sibling, 0 replies; 3+ messages in thread
From: Konrad Rzeszutek Wilk @ 2010-12-14 15:44 UTC (permalink / raw)
To: Dietmar Hahn, stefano.stabellini; +Cc: xen-devel@lists.xensource.com
> (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:
Hmmm, that is Stefano's code (git log -p hw/pt-msi.c)
Lets ask him.
>
> 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@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.