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 - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED] "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message