On Tue, 2014-02-18 at 07:37 -0700, Bjorn Helgaas wrote: > On Tue, Feb 18, 2014 at 6:59 AM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: > > On Tue, Feb 18, 2014 at 3:08 AM, Steven Newbury <steve@xxxxxxxxxxxxxxx> wrote: > > >> No, the only unusual option is I use pci=nocrs since the bios is > >> completely ignorant of support for 64bit BARs. > > > > Hi Steven, this is a tangent, but can you collect the complete dmesg > > log with "pci=nocrs" and let me know what happens when you *don't* use > > "pci=nocrs" (a complete dmesg log there would be useful too, but I > > don't know if you can boot without it)? I think Linux *should* be > > able to handle 64bit BARs even if the BIOS doesn't. > > > > Please post these as a separate thread so we don't muddle this > > conversation with Yinghai. > > Oh, never mind. I think I remember now. I think the problem is not > so much that the BIOS doesn't handle 64bit *BARs*, but that your BIOS > doesn't report 64bit host bridge *apertures*, and you want to use > space above 4G for a graphics card or something. > Yes, exactly. I should have stated it better. I need to push the on-board i965 up above 4G to make room for a radeon which is accessed through a 32 bit only bridge. The BIOS doesn't provide any functionality like this. The intel devs seemed a little surprised that the i965 actually worked stably in this configuration given known errata, but I've actually had no problems with this side of things. > That's not really anything we can fix in PCI because PCI doesn't > discover those apertures. Host bridge drivers like the generic ACPI > pci_root.c or the native amd_bus.c discover them. If those drivers > don't discover them, PCI can't just make them up. 32 bit only bridges must be getting pretty rare by now, and I presume any new hardware out there with a dockable PCI bus would provide 64 bit resource allocation for host bridge apertures when booting to a 64 bit OS? Maybe not? > > It might be nice if we had cleaner kernel options to say "assume a > host bridge window here" and "put this device here," so you didn't > have to use the big hammer of "pci=nocrs". It's sort of a pain to > figure out how to attach info like that to the correct device (there > might be several host bridges, so how do you specify which one you > care about?), but maybe it could be done. > That would be much better, even if it's only some way to say "ignore crs for *this* host bridge (and parents)", or "for host bridges to which *this* device is attached". -- 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