Source-Changes archive

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

CVS commit: src/sys/arch



Module Name:    src
Committed By:   bouyer
Date:           Wed Jan 23 19:46:46 UTC 2008

Modified Files:
        src/sys/arch/amd64/include: pmap.h
        src/sys/arch/i386/i386: bios32.c locore.S machdep.c
        src/sys/arch/i386/include: pmap.h pte.h types.h vmparam.h
        src/sys/arch/x86/include: pmap.h
        src/sys/arch/x86/x86: pmap.c
        src/sys/arch/xen/conf: files.compat
        src/sys/arch/xen/include: bus_private.h xenpmap.h
        src/sys/arch/xen/include/i386: hypercalls.h
        src/sys/arch/xen/include/xen3-public/arch-x86: xen-x86_32.h
        src/sys/arch/xen/x86: x86_xpmap.c
        src/sys/arch/xen/xen: if_xennet_xenbus.c
Added Files:
        src/sys/arch/i386/conf: INSTALL_XEN3PAE_DOMU XEN3PAE_DOMU

Log Message:
Merge the bouyer-xeni386 branch. This brings in PAE support to NetBSD xeni386
(domU only). PAE support is enabled by 'options PAE', see the new XEN3PAE_DOMU
and INSTALL_XEN3PAE_DOMU kernel config files.

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).


To generate a diff of this commit:
cvs rdiff -r1.20 -r1.21 src/sys/arch/amd64/include/pmap.h
cvs rdiff -r0 -r1.2 src/sys/arch/i386/conf/INSTALL_XEN3PAE_DOMU \
    src/sys/arch/i386/conf/XEN3PAE_DOMU
cvs rdiff -r1.19 -r1.20 src/sys/arch/i386/i386/bios32.c
cvs rdiff -r1.65 -r1.66 src/sys/arch/i386/i386/locore.S
cvs rdiff -r1.624 -r1.625 src/sys/arch/i386/i386/machdep.c
cvs rdiff -r1.101 -r1.102 src/sys/arch/i386/include/pmap.h
cvs rdiff -r1.16 -r1.17 src/sys/arch/i386/include/pte.h
cvs rdiff -r1.57 -r1.58 src/sys/arch/i386/include/types.h
cvs rdiff -r1.67 -r1.68 src/sys/arch/i386/include/vmparam.h
cvs rdiff -r1.11 -r1.12 src/sys/arch/x86/include/pmap.h
cvs rdiff -r1.41 -r1.42 src/sys/arch/x86/x86/pmap.c
cvs rdiff -r1.17 -r1.18 src/sys/arch/xen/conf/files.compat
cvs rdiff -r1.8 -r1.9 src/sys/arch/xen/include/bus_private.h
cvs rdiff -r1.18 -r1.19 src/sys/arch/xen/include/xenpmap.h
cvs rdiff -r1.2 -r1.3 src/sys/arch/xen/include/i386/hypercalls.h
cvs rdiff -r1.2 -r1.3 \
    src/sys/arch/xen/include/xen3-public/arch-x86/xen-x86_32.h
cvs rdiff -r1.5 -r1.6 src/sys/arch/xen/x86/x86_xpmap.c
cvs rdiff -r1.22 -r1.23 src/sys/arch/xen/xen/if_xennet_xenbus.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index