On Wed, Dec 10, 2014 at 6:34 AM, Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> wrote: > My mutt hang, in case the mail isn't sent out, I resend it. > > On Wed, Dec 10, 2014 at 10:15:37PM +0800, Wei Yang wrote: >>On Tue, Dec 09, 2014 at 03:13:49PM -0800, Yinghai Lu wrote: >>>On Tue, Dec 9, 2014 at 1:53 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: >>>> On Tue, Dec 9, 2014 at 2:34 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote: >>>>> + list_for_each_entry(window, &bridge->windows, list) { >>>>> + res = window->res; >>>>> + if (resource_type(res) == IORESOURCE_MEM || >>>>> + res->end > 0xffffffff) { >>>>> + bridge->has_mem64_res = true; >>>> >>>> This is an interesting idea, but I think you're checking CPU addresses >>>> here, and you need to check PCI bus addresses. >>> >>>Looks like those IBM platforms have res > 4g, but pci bus address < 4g. >>>If we check pci bus address, and then we would break those platforms. >>> > > Hi, Yinghai > > I did some test with patch on my machine. It looks good. > > While as Bjorn mentioned, I think we could change it a little. The pci space > on our machine is like this: > > cpu address pci address > MEM 0x00003ff280000000..0x00003ff2fffeffff -> 0x00000000 8000 0000 > MEM64 0x00003d5000000000..0x00003d5fffffffff -> 0x00003d50 0000 0000 > > Each root bridge has two MMIO window. From this output we could see the pci > address for 64-bit window is above 4G. > > I did a little change on your code, like this > > list_for_each_entry(window, &bridge->windows, list) { > res = window->res; > if (resource_type(res) == IORESOURCE_MEM || > - res->end > 0xffffffff) { > + (res->end - window->offset) > 0xffffffff) { > bridge->has_mem64_res = true; > break; > } > } good, then we should change to compare region end. > > This also works on my machine. > > One more question, with this patch, do we still need previous patch for > Marek's problem? Only need this to make Marek's working. but does not help on Zermond's Thanks Yinghai -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html