From owner-freebsd-current Thu Jan 31 18:17:56 2002 Delivered-To: freebsd-current@freebsd.org Received: from rwcrmhc53.attbi.com (rwcrmhc53.attbi.com [204.127.198.39]) by hub.freebsd.org (Postfix) with ESMTP id 0DE3937B404; Thu, 31 Jan 2002 18:17:49 -0800 (PST) Received: from peter3.wemm.org ([12.232.27.13]) by rwcrmhc53.attbi.com (InterMail vM.4.01.03.27 201-229-121-127-20010626) with ESMTP id <20020201021748.OHHG10199.rwcrmhc53.attbi.com@peter3.wemm.org>; Fri, 1 Feb 2002 02:17:48 +0000 Received: from overcee.wemm.org (overcee.wemm.org [10.0.0.3]) by peter3.wemm.org (8.11.0/8.11.0) with ESMTP id g112Hls57876; Thu, 31 Jan 2002 18:17:47 -0800 (PST) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by overcee.wemm.org (Postfix) with ESMTP id A50863809; Thu, 31 Jan 2002 18:17:47 -0800 (PST) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: Terry Lambert Cc: "Cameron, Frank" , "'Kenneth Culver'" , David Malone , "'freebsd-bugs@freebsd.org'" , "'freebsd-current@freebsd.org'" Subject: Re: AMD AGP Bug In-Reply-To: <3C59E050.6564C115@mindspring.com> Date: Thu, 31 Jan 2002 18:17:47 -0800 From: Peter Wemm Message-Id: <20020201021747.A50863809@overcee.wemm.org> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Terry Lambert wrote: > "Cameron, Frank" wrote: > > From what was posted on the linux-kernel list the problem is the OS > > doing the wrong thing not the hardware. I originally asked the > > question (albeit not worded as clearly as I should have) because if > > Microsoft and Linux programmers made the same mistake, might > > FreeBSD have also. > > No. FreeBSD does not make active use of 4M pages for anything > other than the initial kernel text and data, which is obvious, > if you look at /sys/i386/machdep.c. Actually, it is obvious if you actually do look at the pmap.c that we *do* use 4MB pages for device mappings. /* * This code maps large physical mmap regions into the * processor address space. Note that some shortcuts * are taken, but the code works. */ if (pseflag && (object->type == OBJT_DEVICE) && ((addr & (NBPDR - 1)) == 0) && ((size & (NBPDR - 1)) == 0)) { ... for(i = 0; i < npdes; i++) { pmap->pm_pdir[ptepindex] = ptepa | PG_U | PG_RW | PG_V | PG_PS; ptepa += NBPDR; ptepindex += 1; } ... Even doing a simple grep for the 4MB page flag (PG_PS) and using a little initiative would have shown this. 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 freebsd-current" in the body of the message