Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 May 2000 10:45:33 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Martin Cracauer <cracauer@cons.org>
Cc:        Peter Wemm <peter@FreeBSD.ORG>, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG
Subject:   Re: cvs commit: src/sys/i386/i386 mem.c
Message-ID:  <200005241745.KAA76140@apollo.backplane.com>
References:  <200005241422.HAA63818@freefall.freebsd.org> <20000524194159.A74787@cons.org>

next in thread | previous in thread | raw e-mail | index | archive | help

:>   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




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