On Tue, Jun 28, 2005 at 09:53:26AM -0400, Dan Malek wrote: > > On Jun 28, 2005, at 2:30 AM, Benjamin Herrenschmidt wrote: > > >You should consider 8Mb pages the way we do BATs yes, > > It's always been considered, just never fully implemented :-) > > >Note that I'll soon send the patch I told you about that makes the > >virtual address picked by io_block_mapping() dynamic, so we no longer > >have to do crappy assumptions all over the place :) > > Whatever, I'll never use it that way and no one else should either.
Why not? AFAICS the idea is to have the virtual mappings dynamic and not static - this is the _whole_ point of ioremap() instead of io_block_mapping(), isnt it? I fail to see any practical arguments against it... > All of the io_block_mapping() calls should be used to set these 8M > mapped IO spaces, everyone should use ioremap() to map them, > and ioremap() has to be modified to find them for the 8xx. What do you mean "everyone should use ioremap() to map them"? Once the physical->virtual mapping for device IO space are set with io_block_mapping() (or with ioremap() for dynamic virtual addresses), why would you want to ioremap() the physical address again??? PS: I've had a quick try at converting the IMMAP to use ioremap instead (and have that dynamic virtual address stored in a pointer), changed drivers to use that pointer instead of hardcoded "IMMAP". Didnt work immediately :) Its not that the idea?
