Date: Mon, 9 Aug 2004 20:44:41 +0000 (UTC) From: Marcel Moolenaar <marcel@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/ia64/ia64 pmap.c src/sys/ia64/include pte.h Message-ID: <200408092044.i79KifUN077984@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200408092044.i79KifUN077984>