On Aug 14, 2008, at 11:43 AM, Grant Likely wrote:
On Thu, Aug 14, 2008 at 10:24 AM, Kumar Gala <[EMAIL PROTECTED]
> wrote:
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?
Mostly. It is still needed for BAT0 when setting up RAM, but the rest
of it can be dumped.
Can we not do BAT0 in C code?
- k
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev