Subject: Re: 4MB pages?
To: Jason R Thorpe <>
From: Ignatios Souvatzis <>
List: tech-kern
Date: 09/07/2000 10:11:10
On Wed, Sep 06, 2000 at 11:11:48PM -0700, Jason R Thorpe wrote:
> On Thu, Sep 07, 2000 at 06:56:39AM +0200, Ignatios Souvatzis wrote:
>  > PowerPC using BATs, size is 2^n bytes, where n is 17...28.
>  > 
>  > However, those are a limited resource; only 4 sets for
>  > data and 4 for instructions are implemented in hardware.
>  > The pmap currently only uses them to map most of (kernel) accesses 1:1.
> Actually, the PowerPC port's use of BATs is quite clever.  There is a
> pool of free BATs that are used to essentially map the entire physical
> address space 1:1 using a `spill' handler .. i.e. like a different TLB
> miss handler that treats the BATs like a really big TLB.
> Took me a while to figure that out :-)

I was wiser... before even trying that, I asked ws for an explanation ;-)

Still, when amigappc is really working, it will need about one
low-mem cache-inhibited region for low-address i/o (0..0xff ffff), one for
your favourite fastmem address area (say, 0x800 000..0xfff ffff), one more
cache-inhibited for your graphics card (typically at 0x4000 0000 ...
0x4fff ffff) and one to map the exception vector region (0xfff0 0000 ...
0xffff ffff), so we will happen to run without any bat fault traps happening
in kernel mode. I assume other machines will work similarly, so every use
of BAT for userland will add to the exception load.

Hm... OTOH, while X is running, nobody but userland will touch that (!&@!
monster framebuffers anyway...

 * Progress (n.): The process through which Usenet has evolved from
   smart people in front of dumb terminals to dumb people in front of
   smart terminals.  -- (obscurity)