Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

bouyer-xeni386 merge



Hi,
unless someone objects I'm going to merge the bouyer-xeni386 branch to
HEAD soon (possibly in 2 or 3 days, definitively before friday).
Xen kernels from the branch runs stable, as is an i386 GENERIC.
I'll test amd64 GENERIC tomorow morning.

The code in this branch brings in PAE support to NetBSD xeni386 (domU only)
2 new kernel configs (XEN3PAE_DOMU and INSTALL_XEN3PAE_DOMU). If there's
interest in dom0 PAE support I'll look at it, but I'm not sure what it
would brings over amd64, and there may be issues with userland tools
accessing the hardware (mostly the X server I guess). PAE support is
enbaled by 'options PAE'.

See the comments in arch/i386/include/{pte.h,pmap.h} to see how it works.
In short, we still handle it as a 2-level MMU, with the second level page
directory being 4 pages in size. pmap switching is done by switching the
L2 pages in the L3 entries, instead of loading %cr3. This is almost required
by Xen, which handle the last L2 page (the one mapping 0xc0000000 - 0xffffffff)
in a very special way. But this approach should also work for native PAE
support if ever supported (in fact, the pmap should almost suport native
PAE, what's missing is bootstrap code in locore.S).

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--



Home | Main Index | Thread Index | Old Index