cvs commit: src/sys/i386/i386 pmap.c

Alan Cox alc at
Tue Nov 15 05:54:55 GMT 2005

alc         2005-11-15 05:54:54 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_6)
    sys/i386/i386        pmap.c 
  MFC revision 1.525
    When support for 2MB/4MB pages was added in revision 1.148 an error was
    made in pmap_protect(): The pmap's resident count should not be reduced
    unless mappings are removed.
    The errant change to the pmap's resident count could result in a later
    pmap_remove() failing to remove any mappings if the errant change has set
    the pmap's resident count to zero.
  MFC revision 1.526
    Decouple the unrefing of a page table page from the removal of a pv entry.
    In other words, change pmap_remove_entry() such that it no longer unrefs
    the page table page.  Now, it only removes the pv entry.
  MFC revision 1.527
    Eliminate unneeded diagnostic code.
  MFC revision 1.528
    Eliminate unneeded diagnostic code.
    Eliminate an unused #include.  (Kernel stack allocation and deallocation
    long ago migrated to the machine-independent code.)
  MFC revision 1.529
    Simplify the page table page reference counting by pmap_enter()'s change of
    mapping case.
    Eliminate a stale comment from pmap_enter().
  MFC revision 1.530
    When pmap_allocpte() destroys a 2/4MB "superpage" mapping it does not
    reduce the pmap's resident count accordingly.  It should.
  MFC revision 1.532
    Eliminate unnecessary TLB invalidations by pmap_enter().  Specifically,
    eliminate TLB invalidations when permissions are relaxed, such as when a
    read-only mapping is changed to a read/write mapping.  Additionally,
    eliminate TLB invalidations when bits that are ignored by the hardware,
    such as PG_W ("wired mapping"), are changed.
  Revision   Changes    Path
  1.523.2.4  +44 -60    src/sys/i386/i386/pmap.c

More information about the cvs-src mailing list