Thanks very much.
I scanned the IO-mapping.txt, DMA-API.txt and DMA-mapping.txt as soon as I could and have got a main concept now.
As your mentioned, ULPs in OpenIB (e.g. SDP or IPoIB) are responsible for properly mapping and unmapping for DMA use. AFAIK, SDP is implemented with the IB native verbs. What about the kDAPL? In my opinion the kDAPL does not do the mapping and unmapping work. So it is the responsibility of the kernel applications using the kDAPL. Am I right?
On 12/17/05, Grant Grundler <[EMAIL PROTECTED]> wrote:
While IO-mapping.txt gives a nice introduction into the topic
of "bus addresses", the answer to the question lies in
Documentation/DMA-API.txt. IO devices can only use "bus addresses"
that are handed back by the interfaces described in DMA-API.txt.
For OpenIB, ULPs (e.g. SDP or IPoIB) are responsible for properly
mapping and unmapping for DMA use.
While many architectures don't use IOMMU (and thus have 1:1
between host physical:bus address), virtualization seems to be
forcing the issue in the "near" future. All DMA access will need
to be enforced to isolate virtualized guests. This is something
some platforms with IOMMUs enforce today (e.g. Sparc64, PPC64 and PA-RISC).
hth,
grant
--
Ian Jiang
[EMAIL PROTECTED]
Laboratory of Spatial Information Technology
Division of System Architecture
Institute of Computing Technology
Chinese Academy of Sciences
_______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
