Lu Baolu writes: > On Mon, Apr 28, 2008 at 7:06 PM, James Carlson <[EMAIL PROTECTED]> > wrote: > > It'd be interesting to know, though, what sort of 'porting issue' > > _not_ involving DMA would require physically contiguous memory. > > > Sometimes, we do need to allocate physically contiguous memory. For example, > > utilizing IOMMU on x64 system need to manipulate a page table tree. Each of > the > > page tables should be 4k physically contiguous.
A page-sized and aligned block is always going to be contiguous. There's no way to be non-contiguous within a page (unless I'm misunderstanding something about the request). Also, I'd expect that the IOMMU configuration itself would be an OS issue, and not the responsibility of some leaf driver. The distinction would be that as part of the OS, it may well be acceptable and reasonable to use undocumented VM or memory management interfaces to do whatever you need to do, while such things in an ordinary driver would likely represent a problem. But I can understand (as the other poster responded) having to export a particular API. Not knowing what the API consumer really intends to do with the memory seems unfortunate, but I can see how that'd happen. -- James Carlson, Solaris Networking <[EMAIL PROTECTED]> Sun Microsystems / 35 Network Drive 71.232W Vox +1 781 442 2084 MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677 _______________________________________________ opensolaris-code mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/opensolaris-code
