From owner-cvs-all Wed May 24 10:45:47 2000 Delivered-To: cvs-all@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id 7CCB737BD00; Wed, 24 May 2000 10:45:37 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.3/8.9.1) id KAA76140; Wed, 24 May 2000 10:45:33 -0700 (PDT) (envelope-from dillon) Date: Wed, 24 May 2000 10:45:33 -0700 (PDT) From: Matthew Dillon Message-Id: <200005241745.KAA76140@apollo.backplane.com> To: Martin Cracauer Cc: Peter Wemm , cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/i386/i386 mem.c References: <200005241422.HAA63818@freefall.freebsd.org> <20000524194159.A74787@cons.org> Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG :> 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 :-) -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message