All of lore.kernel.org
 help / color / mirror / Atom feed
* RE: PCI Passthrough Problems/Questions
@ 2010-10-28 14:01 Nick Couchman
  2010-10-29  2:54 ` Weidong Han
  0 siblings, 1 reply; 19+ messages in thread
From: Nick Couchman @ 2010-10-28 14:01 UTC (permalink / raw)
  To: weidong.han; +Cc: xen-devel, konrad.wilk

[-- Attachment #1: Type: text/plain, Size: 1074 bytes --]

>>> "Han, Weidong"  10/27/10 10:38 PM >>>
> I don't want xend.log. I want xen log (xm dmesg or captured by serial port). And pls also post qemu log (/var/log/xen/dm-qemu-xxx.log).

Sorry about that, attached are the output from xm dmesg and the qemu-dm-XP.log file.

-Nick



--------
This e-mail may contain confidential and privileged material for the sole use of the intended recipient.  If this email is not intended for you, or you are not responsible for the delivery of this message to the intended recipient, please note that this message may contain SEAKR Engineering (SEAKR) Privileged/Proprietary Information.  In such a case, you are strictly prohibited from downloading, photocopying, distributing or otherwise using this message, its contents or attachments in any way.  If you have received this message in error, please notify us immediately by replying to this e-mail and delete the message from your mailbox.  Information contained in this message that does not relate to the business of SEAKR is neither endorsed by nor attributable to SEAKR.

[-- Attachment #2: xm-dmesg.log --]
[-- Type: application/octet-stream, Size: 16384 bytes --]

: ASIDs disabled.
(XEN) HVM: VMX enabled
(XEN) Intel VT-d Snoop Control not supported.
(XEN) Intel VT-d DMA Passthrough not supported.
(XEN) Intel VT-d Queued Invalidation not supported.
(XEN) Intel VT-d Interrupt Remapping not supported.
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) Total of 4 processors activated.
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using old ACK method
(XEN) checking TSC synchronization across 4 CPUs: passed.
(XEN) Platform timer is 14.318MHz HPET
(XEN) Allocated console ring of 16 KiB.
(XEN) Brought up 4 CPUs
(XEN) Created cpupool 0 with scheduler SMP Credit Scheduler (credit)
(XEN) *** LOADING DOMAIN 0 ***
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, lsb, paddr 0x2000 -> 0x8af000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000112000000->0000000114000000 (951968 pages to be allocated)
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff80002000->ffffffff808af000
(XEN)  Init. ramdisk: ffffffff808af000->ffffffff81e7a600
(XEN)  Phys-Mach map: ffffea0000000000->ffffea0000753500
(XEN)  Start info:    ffffffff81e7b000->ffffffff81e7b4b4
(XEN)  Page tables:   ffffffff81e7c000->ffffffff81e8f000
(XEN)  Boot stack:    ffffffff81e8f000->ffffffff81e90000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82000000
(XEN)  ENTRY ADDRESS: ffffffff80002000
(XEN) Dom0 has maximum 4 VCPUs
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 0[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:0.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 8<0>[VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 16[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:2.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 17[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:2.1
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 24[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:3.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 26[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:3.2
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 27[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:3.3
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 200[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:19.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 208[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:1a.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 209[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:1a.1
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 210[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:1a.2
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 215[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:1a.7
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 216[VT-D]iommu.c:1358: d0:PCIe: map bdf = 0:1b.0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 224<0>[VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 225<0>[VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 232[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:1d.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 233[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:1d.1
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 234[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:1d.2
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 239[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:1d.7
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 240<0>[VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 248[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:1f.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 250[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:1f.2
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 0, devfn: 251[VT-D]iommu.c:1368: d0:PCI: map bdf = 0:1f.3
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 1, devfn: 0<0>[VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 0[VT-D]iommu.c:1368: d0:PCI: map bdf = 2:0.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d0:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d0:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 1[VT-D]iommu.c:1368: d0:PCI: map bdf = 2:0.1
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d0:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d0:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:722: iommu_enable_translation: iommu->reg = ffff82c3fff55000
(XEN) [VT-D]iommu.c:722: iommu_enable_translation: iommu->reg = ffff82c3fff56000
(XEN) [VT-D]iommu.c:722: iommu_enable_translation: iommu->reg = ffff82c3fff57000
(XEN) [VT-D]iommu.c:722: iommu_enable_translation: iommu->reg = ffff82c3fff54000
(XEN) Scrubbing Free RAM: .done.
(XEN) Xen trace buffers: disabled
(XEN) Std. Loglevel: Errors and warnings
(XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 180kB init memory.
(XEN) [VT-D]iommu.c:1511: d0:PCI: unmap bdf = 2:0.0
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 0[VT-D]iommu.c:1368: d1:PCI: map bdf = 2:0.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d1:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d1:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1249: context_present: 2:0.0:pdev->domain=0 domain=1
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]io.c:300: d1: bind: m_gsi=16 g_gsi=36 device=5 intx=0
(XEN) [VT-D]iommu.c:1511: d0:PCI: unmap bdf = 2:0.1
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 1[VT-D]iommu.c:1368: d1:PCI: map bdf = 2:0.1
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d1:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d1:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]io.c:300: d1: bind: m_gsi=16 g_gsi=40 device=6 intx=0
(XEN) [VT-D]iommu.c:1511: d1:PCI: unmap bdf = 2:0.1
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 1[VT-D]iommu.c:1368: d0:PCI: map bdf = 2:0.1
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d0:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d0:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1511: d1:PCI: unmap bdf = 2:0.0
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 0[VT-D]iommu.c:1368: d0:PCI: map bdf = 2:0.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d0:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d0:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1249: context_present: 2:0.0:pdev->domain=1 domain=0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1511: d0:PCI: unmap bdf = 2:0.0
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 0[VT-D]iommu.c:1368: d2:PCI: map bdf = 2:0.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d2:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d2:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1249: context_present: 2:0.0:pdev->domain=0 domain=2
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]io.c:300: d2: bind: m_gsi=16 g_gsi=36 device=5 intx=0
(XEN) [VT-D]iommu.c:1511: d0:PCI: unmap bdf = 2:0.1
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 1[VT-D]iommu.c:1368: d2:PCI: map bdf = 2:0.1
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d2:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d2:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]io.c:300: d2: bind: m_gsi=16 g_gsi=40 device=6 intx=0
(XEN) [VT-D]iommu.c:1511: d2:PCI: unmap bdf = 2:0.1
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 1[VT-D]iommu.c:1368: d0:PCI: map bdf = 2:0.1
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d0:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d0:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1511: d2:PCI: unmap bdf = 2:0.0
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 0[VT-D]iommu.c:1368: d0:PCI: map bdf = 2:0.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d0:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d0:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1249: context_present: 2:0.0:pdev->domain=2 domain=0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1511: d0:PCI: unmap bdf = 2:0.0
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 0[VT-D]iommu.c:1368: d3:PCI: map bdf = 2:0.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d3:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d3:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1249: context_present: 2:0.0:pdev->domain=0 domain=3
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]io.c:300: d3: bind: m_gsi=16 g_gsi=36 device=5 intx=0
(XEN) [VT-D]iommu.c:1511: d0:PCI: unmap bdf = 2:0.1
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 1[VT-D]iommu.c:1368: d3:PCI: map bdf = 2:0.1
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d3:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d3:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]io.c:300: d3: bind: m_gsi=16 g_gsi=40 device=6 intx=0
(XEN) [VT-D]iommu.c:1511: d3:PCI: unmap bdf = 2:0.1
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 1[VT-D]iommu.c:1368: d0:PCI: map bdf = 2:0.1
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d0:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d0:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1511: d3:PCI: unmap bdf = 2:0.0
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 0[VT-D]iommu.c:1368: d0:PCI: map bdf = 2:0.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d0:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d0:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1249: context_present: 2:0.0:pdev->domain=3 domain=0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1511: d0:PCI: unmap bdf = 2:0.0
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 0[VT-D]iommu.c:1368: d4:PCI: map bdf = 2:0.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d4:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d4:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1249: context_present: 2:0.0:pdev->domain=0 domain=4
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]io.c:300: d4: bind: m_gsi=16 g_gsi=36 device=5 intx=0
(XEN) [VT-D]iommu.c:1511: d0:PCI: unmap bdf = 2:0.1
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 1[VT-D]iommu.c:1368: d4:PCI: map bdf = 2:0.1
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d4:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d4:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]io.c:300: d4: bind: m_gsi=16 g_gsi=40 device=6 intx=0
(XEN) [VT-D]iommu.c:1511: d4:PCI: unmap bdf = 2:0.1
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 1[VT-D]iommu.c:1368: d0:PCI: map bdf = 2:0.1
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d0:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d0:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1511: d4:PCI: unmap bdf = 2:0.0
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 0[VT-D]iommu.c:1368: d0:PCI: map bdf = 2:0.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d0:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d0:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1249: context_present: 2:0.0:pdev->domain=4 domain=0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1511: d0:PCI: unmap bdf = 2:0.0
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 0[VT-D]iommu.c:1368: d5:PCI: map bdf = 2:0.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d5:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d5:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1249: context_present: 2:0.0:pdev->domain=0 domain=5
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]io.c:300: d5: bind: m_gsi=16 g_gsi=36 device=5 intx=0
(XEN) [VT-D]iommu.c:1511: d0:PCI: unmap bdf = 2:0.1
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 1[VT-D]iommu.c:1368: d5:PCI: map bdf = 2:0.1
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d5:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d5:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]io.c:300: d5: bind: m_gsi=16 g_gsi=40 device=6 intx=0
(XEN) [VT-D]iommu.c:1511: d5:PCI: unmap bdf = 2:0.1
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 1[VT-D]iommu.c:1368: d0:PCI: map bdf = 2:0.1
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d0:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d0:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1415: Return value: 0
(XEN) [VT-D]iommu.c:1511: d5:PCI: unmap bdf = 2:0.0
(XEN) [VT-D]iommu.c:1340: bus: 2, devfn: 0[VT-D]iommu.c:1368: d0:PCI: map bdf = 2:0.0
(XEN) [VT-D]iommu.c:1371: domain_conext_mapping_one ret: 0
(XEN) [VT-D]iommu.c:1378: Upstream bridge for 1:0 is 2.
(XEN) [VT-D]iommu.c:1383: d0:PCI: map PCIe2PCI bdf = 1:0.0
(XEN) [VT-D]iommu.c:1394: d0:PCI: map secbus (2) with devfn 0
(XEN) [VT-D]iommu.c:1249: context_present: 2:0.0:pdev->domain=5 domain=0
(XEN) [VT-D]iommu.c:1415: Return value: 0

[-- Attachment #3: qemu-dm-XP.log --]
[-- Type: application/octet-stream, Size: 2817 bytes --]

domid: 5
config qemu network with xen bridge for  tap5.0 br0
Using file /dev/local/XP in read-write mode
Watching /local/domain/0/device-model/5/logdirty/cmd
Watching /local/domain/0/device-model/5/command
char device redirected to /dev/pts/1
qemu_map_cache_init nr_buckets = 10000 size 4194304
/usr/src/packages/BUILD/xen-4.0.1-testing/tools/ioemu-dir/hw/xen_blktap.c:715: Init blktap pipes
shared page at pfn feffd
buffered io page at pfn feffb
Guest uuid = 8f6bf60c-f931-d1a5-efda-cbbe66724cfa
Time offset set 0
populating video RAM at ff000000
do_xenmem_op_retry: cmd 6 count 400
mapping video RAM from ff000000
Register xen platform.
Done register platform.
platform_fixed_ioport: changed ro/rw state of ROM memory area. now is rw state.
xs_read(/local/domain/0/device-model/5/xen_extended_power_mgmt): read error
xs_read(): vncpasswd get error. /vm/8f6bf60c-f931-d1a5-efda-cbbe66724cfa/vncpasswd.
medium change watch on `hdc' (index: 1): 
I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
Log-dirty: no command yet.
I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
xs_read(/local/domain/5/log-throttling): read error
qemu: ignoring not-understood drive `/local/domain/5/log-throttling'
medium change watch on `/local/domain/5/log-throttling' - unknown device, ignored
dm-command: hot insert pass-through pci dev 
register_real_device: Assigning real physical device 02: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! 0x2:0x0.0x0
pt_register_regions: IO region registered (size=0x00000020 base_addr=0x0000dc81)
pt_register_regions: IO region registered (size=0x00001000 base_addr=0xf79fc000)
pt_register_regions: IO region registered (size=0x00000020 base_addr=0x0000dca1)
pt_register_regions: IO region registered (size=0x00001000 base_addr=0xf79fd000)
pci_intx: intx=1
register_real_device: Real physical device 02:00.0 registered successfuly!
IRQ type = INTx
dm-command: hot insert pass-through pci dev 
register_real_device: Assigning real physical device 02:00.1 ...
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! 0x2:0x0.0x1
pt_register_regions: IO region registered (size=0x00000020 base_addr=0x0000dcc1)
pt_register_regions: IO region registered (size=0x00001000 base_addr=0xf79fe000)
pt_register_regions: IO region registered (size=0x00000020 base_addr=0x0000dce1)
pt_register_regions: IO region registered (size=0x00001000 base_addr=0xf79ff000)
pci_intx: intx=1
register_real_device: Real physical device 02:00.1 registered successfuly!
IRQ type = INTx

[-- Attachment #4: 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] 19+ messages in thread
[parent not found: <4CC8A62602000099000BAA42@collaborate.seakr.com>]
* PCI Passthrough Problems/Questions
@ 2010-10-25 16:35 Nick Couchman
  2010-10-25 17:40 ` Konrad Rzeszutek Wilk
  0 siblings, 1 reply; 19+ messages in thread
From: Nick Couchman @ 2010-10-25 16:35 UTC (permalink / raw)
  To: xen-devel

This is a message I posted to xen-users without getting any good leads...I'm hoping someone on the devel list has some ideas as to what might be going on here.

I've asked a couple of these questions, already, but haven't really had
any response, so I thought I'd try, again, and try to provide a little
more detail.  I need to pass through a PCIe 4-port Serial card.  I've
done this successfully multiple times with different serial cards, but
the current one, a PCIe Perle quad-port RJ45, is causing some problems.
I believe the problem stems from the fact that the card is a PCI card
and that Perle just built a PCIe-PCI bridge so that they could reuse an
existing PCI design.  The following three PCI devices are all on the
same card:

# lspci
...
01:00.0 PCI bridge: PLX Technology, Inc. PEX8112 x1 Lane PCI
Express-to-PCI Bridge (rev aa)
02:00.0 Serial controller: Perle Systems Ltd Device 0331
02:00.1 Bridge: Perle Systems Ltd Device 0331

I've tried various combinations of hiding 01:00.0, 02:00.0, and/or
02:00.1 from dom0 and passing those through.  First, if I try all three,
I put the following in my dom0 kernel arguments:

pciback.hide=(01:00.0)(02:00.0)(02:00.1)

Before someone suggests that maybe I have my kernel arguments wrong,
this is a SuSE kernel, so it is not pvops, and that is the correct
syntax - I can add other PCI(e) devices on the same exact host (like a
graphics card) and pass those through without any problem at all.  So
syntax is correct.  After I boot with these arguments, I check the dmesg
output for pciback messages:

# dmesg|grep pciback
[    0.000000] Command line: root=/dev/local/dom0 resume=/dev/local/swap
pciback.hide=(01:00.0)(02:00.0)(02:00.1) splash=silent quiet showopts
[    0.000000] Kernel command line: root=/dev/local/dom0
resume=/dev/local/swap pciback.hide=(01:00.0)(02:00.0)(02:00.1)
splash=silent quiet showopts
[    3.646529] pciback 0000:01:00.0: seizing device
[    3.646536] pciback 0000:02:00.0: seizing device
[    3.646540] pciback 0000:02:00.1: seizing device
[    3.646594] pciback 0000:02:00.1: PCI INT A -> GSI 16 (level, low) ->
IRQ 16
[    3.646599] pciback 0000:02:00.1: PCI INT A disabled
[    3.646637] pciback 0000:02:00.0: PCI INT A -> GSI 16 (level, low) ->
IRQ 16
[    3.646642] pciback 0000:02:00.0: PCI INT A disabled

So, everything points to the devices having been removed from dom0's
visibility and placed under the control of pciback.  A check with "xm"
confirms this:

# xm pci-list-assignable-devices
0000:02:00.0
0000:02:00.1
0000:01:00.0

Next, I set up the pci pass through in my HVM domU configuration.  By
the way, VTd is enabled and working fine - xm dmesg shows it as enabled,
and, as already mentioned, I can forward through other PCI(e) devices
without problem.  I set the following in my domU configuration:

pci=['01:00.0','02:00.0','02:00.1']

and then I try to start the domU:

# xm start XP
Error: pci: PCI Backend and pci-stub don't own device 0000:01:00.0
Usage: xm start <DomainName>

???  Ummm, actually, the device is owned by pciback, so why is Xen
telling me it's not??  I can confirm via lspci -v:

# lspci -v
...
01:00.0 PCI bridge: PLX Technology, Inc. PEX8112 x1 Lane PCI
Express-to-PCI Bridge (rev aa) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Memory at d0000000 (64-bit, prefetchable) [size=64K]
	Bus: primary=01, secondary=02, subordinate=02, sec-latency=64
	I/O behind bridge: 0000d000-0000dfff
	Memory behind bridge: fe500000-fe5fffff
	Capabilities: [40] Power Management version 2
	Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [60] Express PCI/PCI-X Bridge, MSI 00
	Capabilities: [100] Power Budgeting <?>
	Kernel driver in use: pciback

Any hints on this particular part of the problem would be appreciated.
My next step was to leave this one out and just try forwarding through
02:00.0 and 02:00.1.  However, when I modify the domU configuration and
remove the 01:00.0 device and try to start the domU:

# xm start XP
Error: Failed to assign device to IOMMU
(0000:02:00.0@100,msitranslate=1,power_mgmt=0)
Usage: xm start <DomainName>

I've been able to find very, very little useful information on this
particular error - most of the issues are with trying to forward through
one or two of the devices on a card to one domU and the others to
another or not at all - splitting the devices on a card between domains.
I'm not really trying to do this, but I suspect that there's some sort
of tie between the PCIe-PCI bridge device (01:00.0) and the actual
serial card (02:00.0) that is causing Xen to need to have both those
devices present in the same domain.  Of course, because of the problems
I'm having forwarding the bridge through, that's not really working for
me.

Environment:
Xen: 4.0.0 (4.0.0_21091_06-0.1)
Kernel: 2.6.34.7 (2.6.34.7-0.4-xen, not pvops)
Hardware: Dell Optiplex 780

Any help, hints, information, would be greatly appreciated!

-Nick




--------
This e-mail may contain confidential and privileged material for the sole use of the intended recipient.  If this email is not intended for you, or you are not responsible for the delivery of this message to the intended recipient, please note that this message may contain SEAKR Engineering (SEAKR) Privileged/Proprietary Information.  In such a case, you are strictly prohibited from downloading, photocopying, distributing or otherwise using this message, its contents or attachments in any way.  If you have received this message in error, please notify us immediately by replying to this e-mail and delete the message from your mailbox.  Information contained in this message that does not relate to the business of SEAKR is neither endorsed by nor attributable to SEAKR.

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

end of thread, other threads:[~2010-11-03 14:54 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-28 14:01 PCI Passthrough Problems/Questions Nick Couchman
2010-10-29  2:54 ` Weidong Han
2010-10-29 18:52   ` Nick Couchman
2010-11-02  3:30     ` Weidong Han
2010-11-02 19:07       ` Nick Couchman
2010-11-03  1:01         ` Weidong Han
2010-11-03 14:54           ` Nick Couchman
     [not found] <4CC8A62602000099000BAA42@collaborate.seakr.com>
2010-10-28  4:37 ` Han, Weidong
  -- strict thread matches above, loose matches on Subject: below --
2010-10-25 16:35 Nick Couchman
2010-10-25 17:40 ` Konrad Rzeszutek Wilk
2010-10-25 18:33   ` Nick Couchman
2010-10-25 18:48     ` Konrad Rzeszutek Wilk
2010-10-25 18:50       ` Nick Couchman
2010-10-25 19:07         ` Konrad Rzeszutek Wilk
2010-10-25 19:45           ` Nick Couchman
2010-10-25 20:11           ` Nick Couchman
2010-10-27  6:40           ` Weidong Han
2010-10-27 15:07             ` Nick Couchman
2010-10-28  2:31               ` Weidong Han

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.