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

Re: [Xen-devel] [PATCH for-4.6 0/5] xen: arm: Parse PCI DT nodes' ranges and interrupt-map



On 2/17/2015 4:35 PM, Suravee Suthikulanit wrote:
On 2/17/2015 7:50 AM, Andrew Cooper wrote:
On 17/02/15 13:43, Julien Grall wrote:
(CC Jan and Andrew)

Hi Suravee,

On 17/02/15 03:04, Suravee Suthikulanit wrote:
By the way, looking at the output of "xl dmesg", I saw the following
message:

(XEN) DOM0: PCI host bridge /smb/pcie@f0000000 ranges:
(XEN) DOM0:    IO 0xefff0000..0xefffffff -> 0x00000000
(XEN) DOM0:   MEM 0x40000000..0xbfffffff -> 0x40000000
(XEN) DOM0:   MEM 0x100000000..0x7fffffffff -> 0x100000000
(XEN) DOM0: pci-host-generic f0000000.pcie: PCI host bridge to bus
0000:00
(XEN) DOM0: pci_bus 0000:00: root bus resource [bus 00-7f]
(XEN) DOM0: pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
(XEN) DOM0: pci_bus 0000:00: root bus resource [mem
0x40000000-0xbfffffff]
(XEN) DOM0: pci_bus 0000:00: root bus resource [mem
0x100000000-0x7fffffffff]
(XEN) DOM0: pci 0000:00:00.0: of_irq_parse_pci() failed with rc=-19
(XEN) do_physdev_op 16 cmd=25: not implemented yet
(XEN) do_physdev_op 16 cmd=15: not implemented yet
(XEN) DOM0: pci 0000:00:00.0: Failed to add - passthrough or MSI/MSI-X
might fail!
(XEN) DOM0: pci 0000:00:02.0: of_irq_parse_pci() failed with rc=-19
(XEN) do_physdev_op 16 cmd=15: not implemented yet
(XEN) DOM0: pci 0000:00:02.0: Failed to add - passthrough or MSI/MSI-X
might fail!
(XEN) do_physdev_op 16 cmd=15: not implemented yet
(XEN) DOM0: pci 0000:00:02.1: Failed to add - passthrough or MSI/MSI-X
might fail!
(XEN) do_physdev_op 16 cmd=15: not implemented yet
(XEN) DOM0: pci 0000:01:00.0: Failed to add - passthrough or MSI/MSI-X
might fail!
(XEN) DOM0: pci 0000:01:00.1: of_irq_parse_pci() failed with rc=-22
(XEN) do_physdev_op 16 cmd=15: not implemented yet
(XEN) DOM0: pci 0000:01:00.1: Failed to add - passthrough or MSI/MSI-X
might fail!

IIUC, This is because xen_add_device() failed, and it seems to be
related to some hyper call not implemented. Not sure what is "cmd=15".
Any ideas?
There is 2 commands not implemented in the log:
    * cmd 15: PHYSDEVOP_manage_pci_add
    * cmd 25: PHYSDEVOP_pci_device_add

Linux fallbacks on the former because the later is not implemented.

AFAICT, PHYSDEVOP_manage_pci_add should not be implemented for ARM
because it doesn't support segment. I suspect that it's kept for legacy
on older Xen x86. Maybe Jan or Andrew have more input on this?

It needs to be kept for backwards compatibility in x86.

All new code should use PHYSDEVOP_pci_device_add.

~Andrew


Ok, now that I look at the arch/arm/physdev.c, I don't think the code
for supporting any of the PHYSDEVOP_xxx is there.  That's probably why
Xen complains. In contrast, arch/x86/physdev.c has most PHYSDEVOP_xxx
already supported.

My question is, are we supposed to be adding code to put the support in
here?

Thanks,

Suravee.

My guess is yes, and that would mean we need to enable building drivers/pci.c when building arm code, which then open up a can of worms with re-factoring MSI support code from x86 and etc.

Suravee


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.