DragonFly commits List (threaded) for 2007-01
cvs commit: src/sys/machine/vkernel/platform pmap.c
dillon 2007/01/11 02:25:52 PST
DragonFly src repository
When removing a page directory, tell the real kernel to invalidate the
related segment. This may not be necessary and can be removed later after
The virtual kernel's pmap_track_modified() is dealing with independant
address spaces, don't return false hits on non-kernel pmaps.
When clearing the Modify bit, also clear the write bit to force a fault.
We have no other means of detecting when a page is modified. Note that
this may not be necessary in the vkernel implementation once the real
kernel implementation is fixed to properly set the Modify bit (by doing the
Invalidate the real kernel's pmap when clearing either the Write bit or
the Modify bit, instead of just the write bit, and clear both bits when
clearing either, again in order to force a page fault to detect page
Code cleanup - remove degenerate cases. e.g. pmap_changebit() was only
ever used to clear bits, rip out the set/clear functionality and just
make it pmap_clearbit().
Revision Changes Path
1.11 +80 -45 src/sys/machine/vkernel/platform/pmap.c