Subject: Re: x86-32 PAE
To: None <port-i386@NetBSD.org>
From: Matthias Scheler <tron@zhadum.de>
List: port-i386
Date: 07/05/2005 19:08:24
In article <Pine.LNX.4.62.0507041711350.5016@pop.ict1.everquick.net>,
	"Edward B. Dreger" <eddy+public+spam@noc.everquick.net> writes:
> Re device drivers that require 32-bit addressing:  What about a 
> MALLOC(9) flag signalling "must be below 4 GB"?

IIUC that should be handle by machine depende part of the PCI bus
implementation automatically.

> I don't understand Thomas Thai's point #2 in
> 
>  	http://mail-index.netbsd.org/port-i386/2004/03/23/0004.html
> 
> Could someone please elaborate/explain?

1.) Even with PAE a IA32 CPU cannot address more than 4GB at the same time.
2.) The kernel is even more limitted, it can only address 1GB (not sure about
    the actual number) of memory at the same time because rest of the
    address space is occupied by the application.
3.) Because of the massive amount of physical memory (in Thomas's case 24GB)
    the code sizing the vnode table (or various other similar data structures)
    might try to use so much memory for it that the 1GB of address space for
    the kernel might get exhausted. This is actually a big problem which
    also causes problem under Solaris x86 (not x86_64) on machine with
    large amount of physical memory (4GB or more).

	Kind regards

-- 
Matthias Scheler                                  http://scheler.de/~matthias/