![]() | |||||||||||||
Messages in this thread |
Christoph Raisch writes: > ioremap maps 4k pages on 4k kernels and on 64k pages on 64k kernels. So far > the theory. > > This is true for memory. And for I/O. :) ioremap updates the (Linux) page tables that map the vmalloc/ioremap area, and that is at page granularity. So there is in fact no difference in the end result in the page tables whether you ask to map a small amount inside a page, or the whole page. > On POWER the ebus memory is mapped by H_ENTER. > The hypervisor checks for 4k page size on H_ENTER, reason see above. The next part of the story is that the low-level MMU code on System-P (pSeries) machines only does the H_ENTER when you access an I/O mapping. It does H_ENTER for 4k pages for non-cacheable mappings, and it only does the H_ENTER for the 4k subpages of a 64k page that the kernel actually accesses. So Roland is correct in his comment about how ioremap is called. Regards, Paul. - 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: 2006-11-09 21:55 [from the cache] ©2003-2008 | |||||||||||||