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

Reply via email to