niXforums Forum Index
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   PreferencesPreferences   Log in to check your private messagesLog in to check your private messages   Log inLog in 
·  nixdoc.net ·  man pages ·  Linux HOWTOs ·  FreeBSD Tips ·  Forums
navigation Forum index » *nix » BSD » FreeBSD » mail-lists » Architecture
On the coming demise of debug.mpsafevm and pmap_page_protect()
Post new topic   Reply to topic Page 1 of 1 [1 Post] View previous topic :: View next topic
Author Message
Alan Cox
*nix forums beginner


Joined: 25 May 2004
Posts: 4

PostPosted: Wed Jul 19, 2006 7:11 pm    Post subject: On the coming demise of debug.mpsafevm and pmap_page_protect() Reply with quote

In the coming days, I am planning on removing debug.mpsafevm and
pmap_page_protect() from the virtual memory system.

As for debug.mpsafevm, all of the architectures in CVS have it enabled
by default, some for over two years. The only impact should be on the
nascent MIPS port.

As for pmap_page_protect(), the proposed commit message follows.

Add pmap_clear_write() to the interface between the virtual memory
system's machine-dependent and machine-independent layers. Once
pmap_clear_write() is implemented on all of our supported
architectures, I intend to replace all calls to pmap_page_protect() by
calls to pmap_clear_write(). Why? Both the use and implementation of
pmap_page_protect() in our source tree has subtle errors,
specifically, the management of execute permission is broken on some
architectures. The "prot" argument to pmap_page_protect() should
behave differently from the "prot" argument to other pmap functions.
Instead of meaning, "give the specified access rights to all of the
physical page's mappings," it means "don't take away the specified
access rights from all of the physical page's mappings, but do take
away the ones that aren't specified." However, owing to our i386
legacy, i.e., no support for no-execute rights, all but one invocation
of pmap_page_protect() specifies VM_PROT_READ only, when the intent
is, in fact, to remove only write permission. Consequently, a
faithful implementation of pmap_page_protect(), e.g., ia64, would
remove execute permission as well as write permission. On the other
hand, some architectures that support execute permission have
basically ignored whether or not VM_PROT_EXECUTE is passed to
pmap_page_protect(), e.g., amd64 and sparc64. This change represents
the first step in replacing pmap_page_protect() by the less subtle
pmap_clear_write() that is already implemented on amd64, i386, and
sparc64.

Discussed with: grehan@ and marcel@

_______________________________________________
freebsd-arch@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
Back to top
Google

Back to top
Display posts from previous:   
Post new topic   Reply to topic Page 1 of 1 [1 Post] View previous topic :: View next topic
The time now is Thu Dec 04, 2008 1:46 am | All times are GMT
navigation Forum index » *nix » BSD » FreeBSD » mail-lists » Architecture
Jump to:  

Similar Topics
Topic Author Forum Replies Last Post
No new posts debug won't work in Komodo 1.1. jtpryan@gmail.com Perl 0 Mon Jul 17, 2006 11:36 am
No new posts FAQ 3.5 How do I debug my Perl programs? PerlFAQ Server Perl 0 Sat Jul 15, 2006 7:03 pm
No new posts Squid won't debug John Oliver Squid 5 Wed Jul 05, 2006 9:14 pm
No new posts Malformed utf8; where's the null byte coming from? bill_mckinnon@interloper. Perl 6 Wed Jun 28, 2006 8:31 pm
No new posts Solaris 10 6/06 with ZFS coming MONDAY! Scott Howard Solaris 8 Fri Jun 23, 2006 2:30 pm

Property Search | 2008 Air Jordan Release Dates | Per Insurance | Loans | Mortgages
Copyright © 2004-2005 DeniX Solutions SRL
 
Other DeniX Solutions sites: Unix/Linux blog |  electronics forum |  medicine forum |  science forum | 
Privacy Policy


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1096s ][ Queries: 16 (0.0427s) ][ GZIP on - Debug on ]