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 18:31:45 -0600 Message-ID: <54E3DD71.6070001@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> <54E3C21A.6080909@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <54E3C21A.6080909@amd.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 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