hubertf's NetBSD Blog
Send interesting links to hubert at feyrer dot de!
 
[20080124] 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 distributions.

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, XEN3PAE_DOMU and INSTALL_XEN3PAE_DOMU, which have PAE-support enabled, and which are expected to show up in daily builds soonish.

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/pte.h and src/sys/arch/i386/include/pmap.h, btw -- see Manuel's mails to port-xen for more information.

[Tags: , ]


Disclaimer: All opinion expressed here is purely my own. No responsibility is taken for anything.

Access count: 35107510
Copyright (c) Hubert Feyrer