On 3/30/08, Anthony Liguori <address@hidden> wrote:
This patch introduces a PCI DMA API and some generic code to support other DMA
APIs. Two types are introduced: PhysIOVector and IOVector. A DMA API
maps a PhysIOVector, which is composed of target_phys_addr_t, into an IOVector,
which is composed of void *.
This looks like it wouldn't scale to handle the Sparc systems. There
we want to make more translation steps from DVMA addresses to physical
in DMA controller and IOMMU and only in the final stage to void *. To
handle this, probably there should be an opaque parameter and some way
to register the translation function. Otherwise the API looks OK.