Source-Changes archive

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

CVS commit: [jym-xensuspend] src/sys/arch



Module Name:    src
Committed By:   jym
Date:           Fri Jul 24 11:30:29 UTC 2009

Modified Files:
        src/sys/arch/x86/include [jym-xensuspend]: pmap.h
        src/sys/arch/x86/x86 [jym-xensuspend]: pmap.c
        src/sys/arch/xen/include [jym-xensuspend]: xenpmap.h
        src/sys/arch/xen/x86 [jym-xensuspend]: x86_xpmap.c
        src/sys/arch/xen/xen [jym-xensuspend]: xen_machdep.c xencons.c

Log Message:
- rework the page pinning API, so that now a function is provided for
each level of indirection encountered during virtual memory translations. Update
pmap accordingly. Pinning looks cleaner that way, and it offers the possibility
to pin lower level pages if necessary (NetBSD does not do it currently).

- some fixes and comments to explain how page validation/invalidation take
place during save/restore/migrate under Xen. L2 shadow entries from PAE are now
handled, so basically, suspend/resume works with PAE.

- fixes an issue reported by Christoph (cegger@) for xencons suspend/resume
in dom0.

TODO:

- PAE save/restore is currently limited to single-user only, multi-user
support requires modifications in PAE pmap that should be discussed first. See
the comments about the L2 shadow pages cached in pmap_pdp_cache in this commit.

- grant table bug is still there; do not use the kernels of this branch
to test suspend/resume, unless you want to experience bad crashes in dom0,
and push the big red button.

Now there is light at the end of the tunnel :)

Note: XEN2 kernels will neither build nor work with this branch.


To generate a diff of this commit:
cvs rdiff -u -r1.21.2.3 -r1.21.2.4 src/sys/arch/x86/include/pmap.h
cvs rdiff -u -r1.77.2.4 -r1.77.2.5 src/sys/arch/x86/x86/pmap.c
cvs rdiff -u -r1.21.8.2 -r1.21.8.3 src/sys/arch/xen/include/xenpmap.h
cvs rdiff -u -r1.12.4.4 -r1.12.4.5 src/sys/arch/xen/x86/x86_xpmap.c
cvs rdiff -u -r1.4.12.3 -r1.4.12.4 src/sys/arch/xen/xen/xen_machdep.c
cvs rdiff -u -r1.31.2.3 -r1.31.2.4 src/sys/arch/xen/xen/xencons.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