cvs commit: src/sys/machine/vkernel/platform pmap.c

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Jan 11 02:26:12 PST 2007


dillon      2007/01/11 02:25:52 PST

DragonFly src repository

  Modified files:
    sys/machine/vkernel/platform pmap.c 
  Log:
  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
  testing.
  
  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
  same thing).
  
  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
  modifications.
  
  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


http://www.dragonflybsd.org/cvsweb/src/sys/machine/vkernel/platform/pmap.c.diff?r1=1.10&r2=1.11&f=u





More information about the Commits mailing list