[RFC/PATCH v2] powerpc: add ioremap_early() function for mapping IO regions before MMU_init()
Grant Likely
grant.likely at secretlab.ca
Fri Aug 15 02:43:22 EST 2008
On Thu, Aug 14, 2008 at 10:24 AM, Kumar Gala <galak at kernel.crashing.org> 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.
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
More information about the Linuxppc-dev
mailing list