Anthony Liguori 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 enables zero-copy IO to be preformed without introducing assumptions of
> phys_ram_base. This API is at the PCI device level to enable support of
> per-device IOMMU remapping.
>
>
> +
> +typedef struct IOVector
> +{
> + int num;
> + struct IOVectorElement {
> + void *base;
> + size_t len;
> + } sg[0];
> +} IOVector;
> +
>
Can we use 'struct iovec' for the element type (with accessors for
setting base+len, and reading base or len, so we can substitute the
Windows version for that platform)? That will allow using the vector
without additional translation or casts.
--
error compiling committee.c: too many arguments to function
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
kvm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel