[EMAIL PROTECTED] (Eric W. Biederman) writes: > Li-Ta Lo <[EMAIL PROTECTED]> writes: > > > Eric, > > > > You put a preprocessor warnning for 64MB MMIO Hole in > > the amdk8/northbridge.c. > > > > #warning "FIXME improve mtrr.c so we don't use up all of the mtrrs with > > a 64M MMIO hole" > > > > What exactly is it ? Is that for the AGP aperture (you call it > > IOMMU_APERTURE) ? > > No, although the IOMMU_APERATURE plays a role there. But this > was implemented before I implemented the IOMMU_APERATURE code > in misc_control.c
The IOMMU_APERATURE is just another large I/O region as far as that code is concerned. > Consider a machine with 4GB of RAM. Not all of the RAM can > be used as there are PCI I/O devices at the end of memory. > With just positive mtrrs you get: > > 2GB > 1GB > 512MB > 256MB > 128MB > 64MB > ------ This is where you exhaust all six BIOS mtrrs. > 32MB > 16MB > ------ All 8 mtrrs are exhausted. > > So we need to find a way to assign MTRRS. But still be able > to assign a write-combining area to the video frame buffer. > > The linux mtrr support does not know how to cope with overlapping > mtrrs. I forgot to mention the very elegant solution to this problem. At some simple power of 2 the Opteron memory is hoisted above 4G. The overlapping mtrrs do not need to be implemented. This is something I would like to play with but I have not yet had the chance. The meaning of that FIXME is that we are currently misplacing a noticeable chunk of memory on Opteron machines with 4GB of RAM. Eric _______________________________________________ Linuxbios mailing list [EMAIL PROTECTED] http://www.clustermatic.org/mailman/listinfo/linuxbios

