From: Anthony L. <ali...@us...> - 2008-04-16 19:55:23
|
Blue Swirl wrote: > On 4/16/08, Anthony Liguori <ali...@us...> wrote: > >> This patch introduces a DMA API and plumbs support through the DMA layer. We >> use a mostly opaque structure, IOVector to represent a scatter/gather list of >> physical memory. Associated with each IOVector is a read/write function and >> an opaque pointer. This allows arbitrary transformation/mapping of the >> data while providing an easy mechanism to short-cut the zero-copy case >> in the block/net backends. >> > > This looks much better also for Sparc uses. I converted pcnet to use > the IOVectors (see patch), it does not work yet but looks doable. > Excellent! > IMHO the read/write functions should be a property of the bus so that > they are hidden from the device, for pcnet it does not matter as we > have to do the swapping anyway. > For an IOMMU that has a per-device mapping, the read/write functions have to operate on a per-device basis. Regards, Anthony Liguori |