From mboxrd@z Thu Jan 1 00:00:00 1970 From: Suravee Suthikulanit Subject: Re: [PATCH for-4.6 0/5] xen: arm: Parse PCI DT nodes' ranges and interrupt-map Date: Tue, 17 Feb 2015 16:35:06 -0600 Message-ID: <54E3C21A.6080909@amd.com> References: <1414144694.15687.31.camel@citrix.com> <54E168D6.6000502@amd.com> <54E1C2AA.3070504@linaro.org> <54E2AFCC.3090302@amd.com> <54E34592.2020803@linaro.org> <54E3472D.6030103@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <54E3472D.6030103@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Andrew Cooper , Julien Grall , Ian Campbell , Stefano Stabellini , xen-devel , Jan Beulich List-Id: xen-devel@lists.xenproject.org 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.