[RFC/PATCH v2] powerpc: add ioremap_early() function for mapping IO regions before MMU_init()

Kumar Gala galak at kernel.crashing.org
Fri Aug 15 02:24:08 EST 2008


>> what happens if we run out of bats?
>
> Then it returns NULL and the caller must handle it.  The board port
> maintainer needs understand the board/CPU/SoC and not depend on more
> BATs than are available.  They also need to understand that there is a
> tradeoff between BATs for IO and BATs for RAM.  If the board port uses
> up all the BATs for IO, then RAM above 256MB ends up getting mapped
> with PTEs and there is a performance hit.  My expectation is that only
> platform code will use this facility.  Device drivers should continue
> to use ioremap() and will gain the benefit of the BATs if platform
> code already set them up.  I can add some text to the documentation to
> describe this.
>
> I'm not going to make any attempt to fallback to PTEs for IO when
> there isn't enough BATs.  Doing so adds an order of magnitude more
> complexity.

that's fine.. I just didn't look at setbat() to see it errors out.

Also can we get rid of LOAD_BAT in head_32.S?

- k



More information about the Linuxppc-dev mailing list