Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Aug 2009 17:42:52 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/i386/i386 pmap.c src/sys/i386/include pmap.h
Message-ID:  <200908311743.n7VHhG8M023028@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
jhb         2009-08-31 17:42:52 UTC

  FreeBSD src repository

  Modified files:
    sys/i386/i386        pmap.c 
    sys/i386/include     pmap.h 
  Log:
  SVN rev 196705 on 2009-08-31 17:42:52Z by jhb
  
  Improve pmap_change_attr() so that it is able to demote a large (2/4MB)
  page into 4KB pages as needed.  This should be fairly rare in practice
  on i386.  This includes merging the following changes from the amd64 pmap:
  180430, 180485, 180845, 181043, 181077, and 196318.
  - Add basic support for changing attributes on PDEs to pmap_change_attr()
    similar to the support in the initial version of pmap_change_attr() on
    amd64 including inlines for pmap_pde_attr() and pmap_pte_attr().
  - Extend pmap_demote_pde() to include the ability to instantiate a new page
    table page where none existed before.
  - Enhance pmap_change_attr().  Use pmap_demote_pde() to demote a 2/4MB page
    mapping to 4KB page mappings when the specified attribute change only
    applies to a portion of the 2/4MB page.  Previously, in such cases,
    pmap_change_attr() gave up and returned an error.
  - Correct a critical accounting error in pmap_demote_pde().
  
  Reviewed by:    alc
  MFC after:      3 days
  
  Revision  Changes    Path
  1.647     +177 -52   src/sys/i386/i386/pmap.c
  1.141     +4 -0      src/sys/i386/include/pmap.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908311743.n7VHhG8M023028>