* 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).