Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 May 2000 03:03:19 -0700
From:      Peter Wemm <peter@netplex.com.au>
To:        Doug Rabson <dfr@nlsystems.com>
Cc:        Matthew Dillon <dillon@apollo.backplane.com>, Martin Cracauer <cracauer@cons.org>, cvs-committers@freebsd.org, cvs-all@freebsd.org
Subject:   Re: cvs commit: src/sys/i386/i386 mem.c 
Message-ID:  <20000525100319.2ABD61CE1@overcee.netplex.com.au>
In-Reply-To: Message from Doug Rabson <dfr@nlsystems.com>  of "Thu, 25 May 2000 09:22:51 BST." <Pine.BSF.4.21.0005250921180.73457-100000@salmon.nlsystems.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Doug Rabson wrote:
> On Wed, 24 May 2000, Matthew Dillon wrote:
> 
> > 
> > :>   pmap_enter() masked off the page offset bits, pmap_kenter() did not.
> > :>   This (I believe) is the cause of the XFree86 startup and/or mptable(8)
> > :>   panics when programs were reading from /dev/mem at non-page-aligned
> > :>   offsets.  The offsets were being converted into random page flags in t
    he
> > :>   page tables. :-(   (including PG_PS = 4MB page size)
> > :
> > :Fixed it for me.
> > :
> > :Thanks!
> > :	Martin
> > 
> >     As a side note, the problem is one of design.  The original design, tha
    t
> >     is.  The pmap code has traditionally treated physical addresses and 
> >     page table entry fields interchangeably which means that it is very eas
    y
> >     to make a coding mistake when cleaning things up... and to miss the
> >     mistake when reviewing :-)
> 
> This also made it more difficult than it should have been to port the i386
> pmap to alpha which represents its ptes quite differently. Just getting
> rid of all the places it used 'unsigned' to hold a pte value was painful.

And I'll add that this use of unsigned all over pmap is also a major cause
of nightmares for PAE (36 bit addressing) support.  There are other problems
but the assumtions that pte's are integers is a messy one in PAE mode.

Cheers,
-Peter
--
Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au
"All of this is for nothing if we don't go to the stars" - JMS/B5



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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