NetBSD Xen/i386 got PAE support (and why this is good)
A 32bit CPU can normally address 2^32 bytes, which is about 4GB RAM.
As that's not
enough for everyone any more today, one possible solution is to move
to more address bits, which is what 64bit CPUs are for. Another alternative
is to add some fancy magic to do paging/banking, which 16-bit Intel CPUs used
"back then" when Protected Mode was still a topic. Today, address space
beyond 4GB RAM can be addressed using the
Physical Address Extension (PAE)
on Intel (and compatible) CPUs.
So far, NetBSD never got PAE-support, as its amd64-port worked early and
very well, so people with demand for more than 4GB ram usually moved to
an appropriate hardware platform, and called it good. One case where PAE
support was an issue is Xen, though: Linux usually has
PAE enabled these days with Xen3 Dom0s, and DomUs running on a
PAE-enabled Dom0 also have to support PAE. As a consequence, it was
not easily possible to use NetBSD DomUs with contemporary Linux/Xen
Thanks to long-term NetBSD/Xen-hacker Manuel Bouyer, this
has changed now: Manuel has added support for PAE to the
NetBSD/Xen port, and he has merged the corresponding CVS
branch to NetBSD-current now. There are separate kernels,
INSTALL_XEN3PAE_DOMU, which have PAE-support enabled,
and which are expected to show up in
While this work does not add PAE support for NetBSD/i386 in general,
it brings it a big step forward, and it may just be a matter of time
until NetBSD/i386 also gets PAE support.
Implementation details can be found in
src/sys/arch/i386/include/pmap.h, btw -- see Manuel's
for more information.
[Tags: pae, xen]