Re: [Qemu-devel] Re: [RFC PATCH 4/7] ide: IOMMU support

Anthony Liguori
2010-07-15T12:42:38Z

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
>