From owner-cvs-all Thu May 25 1:17:24 2000 Delivered-To: cvs-all@freebsd.org Received: from anchor-post-34.mail.demon.net (anchor-post-34.mail.demon.net [194.217.242.92]) by hub.freebsd.org (Postfix) with ESMTP id 4B37037B5DD; Thu, 25 May 2000 01:17:12 -0700 (PDT) (envelope-from dfr@nlsystems.com) Received: from nlsys.demon.co.uk ([158.152.125.33] helo=herring.nlsystems.com) by anchor-post-34.mail.demon.net with esmtp (Exim 2.12 #1) id 12uspK-000BQx-0Y; Thu, 25 May 2000 09:17:10 +0100 Received: from salmon.nlsystems.com (salmon.nlsystems.com [10.0.0.3]) by herring.nlsystems.com (8.9.3/8.8.8) with ESMTP id JAA35671; Thu, 25 May 2000 09:23:50 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Thu, 25 May 2000 09:22:51 +0100 (BST) From: Doug Rabson To: Matthew Dillon Cc: Martin Cracauer , Peter Wemm , cvs-committers@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/i386/i386 mem.c In-Reply-To: <200005241745.KAA76140@apollo.backplane.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 the > :> 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, that > is. The pmap code has traditionally treated physical addresses and > page table entry fields interchangeably which means that it is very easy > 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. -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 20 8442 9037 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message