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