![]() | ||||||||||
Messages in this thread |
On Tue, Mar 25, 2008 at 4:33 PM, Benjamin Herrenschmidt <benh@ozlabs.org> wrote: > On Sat, 2008-03-22 at 14:33 -0700, Linus Torvalds wrote: > > > > On Sat, 22 Mar 2008, Stefan Richter wrote: > > > > > > Can an MMIO region reside above 0x1'0000'0000 on x86-32? ... Apparently yes, > > > if CONFIG_RESOURCES_64BIT=y. > > > > Hmm. It would only work if PAE (HIGHMEM64G) is enabled too. > > > > And obviously the hardware has to have working 64-bit BAR's. > > On other platforms however, you can have mmio above 32 bits without > support for 64 bits BARs: the entire PCI bus mmio region can be mapped > up there. > > That happens for example with 4xx embedded PowerPC. We deal with it just > fine, provided that nothing tries to stick a resource value into an > unsigned long but uses resource_size_t instead. Unfortunately, it's a > common bug, I've fixing drivers regulary. > > It also appears that the iomap code on various archs is buggy too, > including the generic lib/iomap.c, thus pci_iomap is broken for archs > that can have 64 bits resources and use the version in lib/. > > The good news is that I have done a patch to fix it, which has been > in -mm for about a month: iomap-fix-64-bits-resources-on-32-bits.patch does it support if size is 4G above, like 256G? YH -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | |||||||||
| Last update: 2008-03-26 00:05 [W:0.438 / U:0.510 seconds] ©2003-2008 Jasper Spaans | ||||||||||