> That won't work, because PCI_BASE_ADDRESS_MEM_TYPE_64 controls how > many bits need to be written back to the BAR. If we changed that > to PCI_BASE_ADDRESS_MEM_TYPE_32, we wouldn't clear the high 32-bits > of the BAR. > > > ... and that would be an X server issue!). > > Of course, fixing the X server to *handle* 64-bit BARs is the correct > solution. I've no idea how involved that is, but I have a sneeking > suspicion that it uses that damned CARD32 datatype for everything.
A lot more than X needs to be fixed to handle 64-bit BARs btw. There's a whole load of places in drivers/pci/* where we just puke if we see a value >4G being assigned. Now, there is some hope that the new X with libpciaccess can cope with that, and even if it is broken, it would be much easier to fix, as X in that case is no longer trying to bypass the kernel, but instead uses proper kernel interfaces to map device resources. That used to be Xorg pci-rework branch, though it might have been merged in the trunk by now. Ben. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/