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

[Xen-devel] FC-HBA assigned to guest domain does not work.



I assigned FC-HBA to guest domain, but it did not work.

FC-HBA seems to write its internal memory which is mapped to host
memory space via pci transaction. But there is no mapping in IOMMU's
page table, so that page fault occurs in IOMMU.

I think that MMIO resource mapped via p2m table should be mapped via
IOMMU's page table too. In other word, XEN_DOMCTL_memory_mapping
hypercall should update not only p2m table, but also IOMMU's page table.

What do you think about this?
Does anyone see the same issue?


/var/log/message on guest linux:

Aug 28 11:53:28 localhost kernel: Emulex LightPulse Fibre Channel SCSI driver 
8.2.0.22
Aug 28 11:53:28 localhost kernel: Copyright(c) 2004-2008 Emulex.  All rights 
reserved.
Aug 28 11:53:28 localhost kernel: GSI 16 sharing vector 0xA9 and IRQ 16
Aug 28 11:53:28 localhost kernel: ACPI: PCI Interrupt 0000:00:06.0[A] -> GSI 
40(level, low) -> IRQ 169
Aug 28 11:53:28 localhost kernel: scsi0 :  on PCI bus 00 device 30 irq 169
Aug 28 11:53:28 localhost kernel: lpfc 0000:00:06.0: 0:0453 Adapter failed to 
init, mbxCmd xb READ_CONFIG, mbxStatus x0
Aug 28 11:53:28 localhost kernel: ACPI: PCI interrupt for device 0000:00:06.0 
disabled


lspci output on guest linux:

00:06.0 Fibre Channel: Emulex Corporation Zephyr LightPulse Fibre Channel Host 
Adapter (rev 02)
        Subsystem: Emulex Corporation Zephyr LightPulse Fibre Channel Host 
Adapter
        Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort+ >SERR- <PERR-
        Interrupt: pin A routed to IRQ 169
        Region 0: Memory at f3041000 (64-bit, non-prefetchable) [disabled] 
[size=4K]
                            ^^^^^^^^
        Region 2: Memory at f3042000 (64-bit, non-prefetchable) [disabled] 
[size=4K]
        Region 4: I/O ports at c100 [disabled] [size=256]
        Expansion ROM at f3000000 [disabled] [size=256K]


xm dmesg output on dom0 linux:

(XEN) [VT-D]iommu.c:775: iommu_page_fault: iommu->reg = ffff828bfff58000
(XEN) [VT-D]iommu.c:747: iommu_fault_status: Primary Pending Fault
(XEN) [VT-D]iommu.c:729: iommu_fault:DMA Write: 7:0.0 addr f3041000 REASON 5
                                                           ^^^^^^^^
iommu->reg = ffff828bfff58000
(XEN) print_vtd_entries: iommu = ffff8300d6e01780 bdf = 7:0:0 gmfn = f3041
(XEN)     root_entry = ffff83021fdf2000
(XEN)     root_entry[7] = 217de9001
(XEN)     context = ffff830217de9000
(XEN)     context[0] = 201_2155d1001
(XEN)     l3 = ffff8302155d1000
(XEN)     l3_index = 3
(XEN)     l3[3] = 1d802a003
(XEN)     l2 = ffff8301d802a000
(XEN)     l2_index = 198
(XEN)     l2[198] = 0
(XEN)     l2[198] not present

Thanks,

--
Yuji Shimada


_______________________________________________
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®.