cvs commit: src/sys/ia64/ia64 pmap.c src/sys/ia64/include pte.h

Marcel Moolenaar marcel at FreeBSD.org
Mon Aug 9 13:44:42 PDT 2004


marcel      2004-08-09 20:44:41 UTC

  FreeBSD src repository

  Modified files:
    sys/ia64/ia64        pmap.c 
    sys/ia64/include     pte.h 
  Log:
  Better preserve the original protection for the mappings we maintain.
  The hardware always gives read access for privilege level 0, which
  means that we cannot use the hardware access rights and privilege
  level in the PTE to test whether there's a change in protection.  So,
  we save the original vm_prot_t in the PTE as well.
  Add pmap_pte_prot() to set the proper access rights and privilege
  level on the PTE given a pmap and the requested protection.
  
  The above allows us to compare the protection in pmap_extract_and_hold()
  which was missing. While in pmap_extract_and_hold(), add pmap locking.
  
  While here, clean up most (i.e. all but one) PTE macros we inherited
  from alpha. They were either unused, used inconsistently, badly named
  or simply weren't beneficial. We save the wired and managed state of
  the PTE in distinct (bit) fields.
  
  While in pte.h, s/u_int64_t/uint64_t/g
  
  pmap locking obtained from: alc@
  feedback & review by: alc@
  
  Revision  Changes    Path
  1.146     +92 -171   src/sys/ia64/ia64/pmap.c
  1.3       +46 -49    src/sys/ia64/include/pte.h


More information about the cvs-src mailing list