On Wed, 2009-07-15 at 00:38 -0600, Grant Grundler wrote: > On Fri, Jul 10, 2009 at 11:18:21AM -0500, James Bottomley wrote: > > On Fri, 2009-07-10 at 11:55 -0400, John David Anglin wrote: > ... > > > Your comment would explain why I > > > don't see this on c3750. Could this affect PA8700? > > > > In theory it would affect every box running a 64 bit kernel. > > Yes, regarding corrupting bit-44 but not U-bit. > > IIRC, only pa880 and pa8900 pay attention to the U-bit. > I thought all the previous CPUs ignored U-bit. Um, no, almost all pa chips use it ... it's the way we make coherent memory on the very old 710 and similar systems: use an ordinary kmalloc and turn off caching in the map. The 715 class systems with the oldest pa chips don't respect the U bit ... these are the ones we have to pull the driver cache flushing tricks on to get them working. We also use the U bit for ioremaps. > > We > > actually set PAGE_NO_CACHE on ioremaps(), so it's spreading out from the > > PCI device space. > > Yes - but only ZX1 chipset (e.g. rp3440 and C8000) uses IO space that > is outside of F-space. F-space is hardwired to be uncachable by the CPU. OK, so we don't really use the concept of F-Space in the linux kernel virtual memory map on parisc linux. What we do is map the whole of memory into the virtual address space, but none of the I/O space. the readX/writeX macros actually go via absolute accesses. Because the kernel virtual addresses are offset mapped from the absolute addresses, we do get a hole in the virtual map corresponding to F-Space (simply because there's no accessible memory there) but we're actually able to fill that hole later with virtual mappings if we choose. The net result is that I/O devices aren't mapped into the kernel at all until we call ioremap. If a device uses readX/writeX only, it never actually gets an appearance in our virtual space because we simply use absolute accesses to get the data to and from the device. If it really needs a remapped area, we use ioremap, then it does appear in our virtual map, and we set the U bit on the mapping. James -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html