Subject: Re: x86-32 PAE
To: None <port-i386@NetBSD.org>
From: Matthias Scheler <firstname.lastname@example.org>
Date: 07/05/2005 19:08:24
In article <Pine.LNX.email@example.com>,
"Edward B. Dreger" <firstname.lastname@example.org> 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
> I don't understand Thomas Thai's point #2 in
> 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).
Matthias Scheler http://scheler.de/~matthias/