DragonFly commits List (threaded) for 2007-01
DragonFly BSD
DragonFly commits List (threaded) for 2007-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

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


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 11 Jan 2007 02:25:52 -0800 (PST)

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



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