From owner-cvs-all Thu May 25 3: 3:38 2000 Delivered-To: cvs-all@freebsd.org Received: from overcee.netplex.com.au (peter1.yahoo.com [208.48.107.4]) by hub.freebsd.org (Postfix) with ESMTP id 9140937BD50; Thu, 25 May 2000 03:03:20 -0700 (PDT) (envelope-from peter@netplex.com.au) Received: from netplex.com.au (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id 2ABD61CE1; Thu, 25 May 2000 03:03:19 -0700 (PDT) (envelope-from peter@netplex.com.au) X-Mailer: exmh version 2.1.1 10/15/1999 To: Doug Rabson Cc: Matthew Dillon , Martin Cracauer , cvs-committers@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/i386/i386 mem.c In-Reply-To: Message from Doug Rabson of "Thu, 25 May 2000 09:22:51 BST." Date: Thu, 25 May 2000 03:03:19 -0700 From: Peter Wemm Message-Id: <20000525100319.2ABD61CE1@overcee.netplex.com.au> Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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