On 07/15/2010 05:33 AM, Paul Brook wrote:
Depending how the we decide to handle IOMMU invalidation, it may also be
necessary to augment the memory_map API to allow the system to request a
mapping be revoked. However this issue is not specific to the IOMMU
implementation. Such bugs are already present on any system that allows
dynamic reconfiguration of the address space, e.g. by changing PCI BARs.
That's why the memory_map API today does not allow mappings to persist
after trips back to the main loop.
Sure it does. If you can't combine zero-copy memory access with asynchronous
IO then IMO it's fairly useless. See e.g. dma-helpers.c
DMA's a very special case. DMA is performed asynchronously to the
execution of the CPU so you generally can't make any guarantees about
what state the transaction is in until it's completed. That gives us a
fair bit of wiggle room when dealing with a DMA operation to a region of
physical memory where the physical memory mapping is altered in some way
during the transaction.
However, that is not true in the general case.
Regards,
Anthony Liguori
Paul
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html